我是靠谱客的博主 彪壮香氛,最近开发中收集的这篇文章主要介绍使用OpenCV实现模板匹配(基于linemod算法),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

转自|牙牙的无为生活

opencv自带linemod算子
https://github.com/opencv/opencv_contrib/blob/4.x/modules/rgbd/src/linemod.cpp
https://github.com/opencv/opencv_contrib/blob/4.x/modules/rgbd/samples/linemod.cpp

已知物体模型,从不同方向提取RGBD特征,处理生成模板与实际图像每个位置进行匹配,匹配成功得到目标的位姿信息。

  • 2011Linemod经典鼻祖论文:Multimodaltemplates for real-time detection of texture-less objects in heavily clutteredscenes(Linemod)

  • 2012改进Linemod:Gradient Response Maps for Real-Time Detection of Texture-Less Objects

图片

左:可辨别的图像梯度主要在轮廓上找到。梯度位置粉红色显示

中:深度传感器获取的表面法向量

右:2D图像梯度和3D表面法线的组合->增加鲁棒性

视觉提示的互补性:梯度通常在物体轮廓上找到,而在物体内部找到曲面法线

  • 研究方向与问题:复杂背景下3D物体的实时检测与定位

  • 依据:采用彩色图像的梯度信息结合物体表面的法向特征作为模板匹配

  • 算法场景:复杂场景、无纹理、多模板

  • 应用:opencv封装((参考2中有函数解释)),基于ros的object recognition kitchen中有配套的模型生成图像的程序、ICP后处理的教程跟代码

算法流程:

(1)概念性

  • 一个模板是一个特征点序列(多模态时为多个序列),特征点彼此不能太近且要有足够的代表性。

  • 输入RGBD数据

(2)计算梯度方向

  • 以彩色梯度为例,先进行7*7的高斯模糊,然后利用Sobel算子计算梯度,继而在每个像素点求解出了梯度方向以及幅值,只有超过一定阈值的梯度才会被保留;

  • 接着在3*3的领域内统计梯度的方向,数量超过5的梯度方向才会被采用;

  • 此处梯度方向都是无符号的,只取上一半,Opencv实现的代码里分为8个方向(量化为5)。这种提取特征的方式对于梯度起到了主成分提取和放大的效果。

  • 经过训练生成文件信息。

图片

(3)方向扩散

  • 对被搜索图像(原图)也要进行梯度的计算,并且对梯度的方向做方向的拓展。

  • 继而利用模板进行滑窗匹配时就有了一定的容错度,匹配容错。

图片

(4)预处理响应图

  • 制作查找表,算法匹配速度快;

  • 针对n(=8)个方向和方向扩散图逐个像素进行匹配,匹配的结果是距离最近方向角度的余弦值;

  • 值得注意的是,虽然这里有八个方向,但是夹角只有五种情况(算的直线夹角而非射线),故而匹配的结果只有五种;

  • 响应图是被搜索图(原图)各个位置下对应扩展方向的二进制表示,模板图像共有5个方向,那么相应生成5张响应图Response Maps,利用模板进行匹配,可以直接调用对应方向在对应像素的结果,避免了滑窗时重复的计算。

图片

(5)线性存储

  • 避免重复计算,加速计算

图片

(6)扩展深度图

图片

实际应用中的问题

  • 遮挡场景无法处理

改进与优化

  • linemod存在两个问题,一个对尺度变化敏感,一个遮挡情况下效果变差。【3】改进详见6D pose(见方法3)。

参考

  • 【1】linemod算法小结 linemod算法小结_朱铭德的博客-CSDN博客_linemod

  • 【2】Linemod;理解 Linemod;理解_一只会走路的鱼的博客-CSDN博客_linemod

  • 【3】linemod算法 linemod算法《Gradient Response Maps for Real-TimeDetection of Textureless Objects》_穿拖鞋的都是大佬-CSDN博客

  • 【4】linemod - 知乎

  • 【5】https://github.com/meiqua/shape_based_matching

最后

以上就是彪壮香氛为你收集整理的使用OpenCV实现模板匹配(基于linemod算法)的全部内容,希望文章能够帮你解决使用OpenCV实现模板匹配(基于linemod算法)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部