基于OpenCV的显著图绘制

小白学视觉

共 1635字,需浏览 4分钟

 · 2020-10-23

点击上方小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

显着性是图像的突出部分,我们的大脑会特别关注这个部分。上图突出了我们在看到一个场景或图像时会注意到的部分。例如,大家有没有曾经在看广告的时候被一些特别的内容吸引,为此我们还特意停下来多看了一会儿?这就是广告的显着性,即使让我们可以一眼看到广告,也会被他吸引。

01.安装OpenCV


首先,您需要安装OpenCV库。如果已经安装了pip,则可以通过运行以下命令来完成。

> pipinstall opencv-python> pip install opencv-contrib-python

我们可以通过以下命令验证安装是否成功。

> pythonPython 3.6.3 (v3.6.3:2c5fed8, Oct 3 2017, 18:11:49)Type "help", "copyright", "credits" or "license" for more information.>> import cv2>> cv2.saliency

02.静态显著性检测


有很多种检测显着性的方法。OpenCV中,为显着性检测提供的算法分为三类:

显着图

我们将讨论静态显着性。静态显着性检测算法使用允许检测非动态图像的显着对象的不同图像特征。OpenCV中已经实现了两种算法,即频谱残留算法和精细算法。

03.光谱残留

该算法分析了输入图像的对数谱,提取了图像在光谱域中的光谱残差,并提出了一种构造显着图的快速方法,该显着图建议了原型物体的位置。

相似性意味着冗余。对于旨在最小化冗余视觉信息的系统,它必须意识到输入刺激的统计相似性。因此,在可以观察到很大形状相似性的不同对数谱中,值得我们注意的是跳出平滑曲线的信息。我们认为,频谱中的统计奇异性可能是图像中出现异常对象的异常区域的原因。

而且,如果绘制显著图,我们可以得到下面的输出图像。

光谱残留

参考:Hou, Xiaodi, and Liqing Zhang. “Saliency detection: A spectral residual approach.” Computer Vision and Pattern Recognition, 2007. CVPR‘07. IEEE Conference on. IEEE, 2007

04.细粒

人眼的视网膜由神经节细胞组成。有两种类型的神经节细胞,在中心和偏心。中心位于黑暗背景包围的明亮区域。偏心对明亮背景包围的黑暗区域做出反应。该算法根据中心上和中心外的差异计算显着性。

中心神经节细胞和中心神经节细胞及其在视觉显着性计算模型上的近似值

在我们的示例中,通过使用积分图像有效地实现中心圆度差,演示了一种以原始图像分辨率实时生成视觉显着性的细粒度特征图的方法。

而且,如果绘制显着图,大家将在下面得到输出图像。

04.参考文献

B. Wang and P. Dudek “A Fast Self-tuning Background Subtraction Algorithm”, in proc of IEEE Workshop on Change Detection, 2014


交流群


欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~


浏览 33
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报