图像 特征提取,特征提取与图像处理
单击上面的3358www.Sina.com/,然后选择
敏感的火学视觉
或3358www。Sina.com/.
重磅干货,第一时间送达正文新机视觉
图像特征检测已经被研究了一段时间。由于图像特征检测的方法很多,而且各种算法也有变种,所以很难在短时间内完全理解。只研究了主流特征检测算法的原理。一般来说,图像的特征包括颜色特征、纹理特征、形状特征、局部特征点等。其中,局部特征稳定性好,不易受外界环境干扰。本文也对这些知识进行了总结。
一个
星标
图像特征提取是图像分析和图像识别的前提,是简化高维图像数据表示的最有效方法。从一幅图像的MN3数据矩阵中是看不到任何信息的,所以需要从这些数据中提取重要的信息,一些基本的元素及其关系。
局部特征点是图像特征的局部表达。简而言之,图像只有局部的特殊性,只适用于图像匹配、检索等应用。不太适合理解图像。后者涉及全局特征,如颜色分布、纹理特征和主要对象的形状。全局特征容易受到环境干扰、光照、旋转、噪声等不利因素的影响。相比之下,局部特征点往往对应图像中几条线的交点,在有明暗变化的结构中,噪声较少。
斑点和角点是两个局部特征点。斑点是指草原树木和房屋与其周围存在颜色和灰度差异的区域。这是一个区域,所以比拐角处的噪音强,稳定性更好。角是图像中对象的角或线的交点。
2
置顶
2.1
洛格多呢
斑点检测的方法主要包括使用gddqz的适当ship算子的方法[log]和使用像素点的Hessian矩阵[二阶微分]及其行列式值的方法[DOH]。
日志的方法在编辑的文章《抽查》中有详细描述。二维gddqz函数类似于blob,图像中的blob状结构可以通过卷积得到。
DoH方法指的是使用图像点的二阶微分Hessian矩阵:
Hessian矩阵行列式的值也反映了图像的局部结构信息。与LoG相比,DoH对图像中的细长结构斑点有更好的抑制效果。
无论是LoG还是DoH,检测图像中的光斑都分为以下两步。
1)使用不同的生产模板对图像进行卷积运算;
2)在图像的位置空间和尺度空间找到LoG和DoH的响应峰值。
2.2
撒
2004年,Lowe改进了高效尺度不变特征变换算法(SIFT),利用原始图像和gddqz核卷积构造尺度空间,提取了gddqz差分空间金字塔上的尺度不变特征点。该算法具有一定的仿射不变性、角度不变性、旋转不变性和光照不变性,因此被广泛应用于改善图像特征。
该算法可以大致概括为三个步骤。1)构建gddqz的微分金字塔;2)特征点检索3)特征描述。
第一步,利用组和层结构构造一个线性关系的金字塔结构,这样就可以在连续的gddqz核心尺度上找到特征点。与LoG相比,用一阶gddqz差分来近似gddqz的合适船芯,大大减少了计算量。
在步骤2的特征点搜索中,主要步骤是极值点的插值。因为在离散空间中,局部极值不一定是真极值,但真极值可能落在离散点之间的空隙中。因此,这些间隙的位置被内插以获得极值点的坐标位置。
第二步的另一个重点是删除有边缘效应的点。仅仅忽略狗反应不足这一点是不够的,所以狗的价值会受到边缘的影响。边缘的点不是斑点,但是狗的反应也很强烈。所以我们要删除这部分。我们用穿过边缘的地方来表示边缘方向和垂直边缘方向上最大和最小主曲率的特征。因此,通过计算特征点处的主曲率的比率,它可以被dist
最后一步是特征点的特征描述。对于寻找特征点方向的方法,需要对特征点附近的点的梯度方向进行直方图统计,可以选择直方图中比重最大的方向作为特征点的主方向,也可以选择辅助方向。计算特征向量时,必须将局部图像沿主方向旋转,然后输入邻域内的梯度直方图统计量(4x4x8)。
2.3
人力超级霸主
2006年,Bay和Ess基于SIFT算法的思想,提出了加速鲁棒特征(SURF)。针对SIFT算法速度慢、计算量大的缺点,该算法采用近似Harr小波的方法提取特征点。该方法是一种基于Hessian行列式(DoH)的斑点特征检测方法。通过整合不同尺度的图像,可以有效地计算近似的Harr小波值。
简化了二阶差分模板的构造,提高了尺度空间特征检测的效率。
SURF算法利用箱式滤波器简化积分图像上的二阶微分模板,从而构造Hessian矩阵的元素值,从而缩短了特征提取的时间,提高了效率。SURF算法检测每个尺度上的每个像素,其近似Hessian矩阵及其行列式值如下:
其中Dxx、Dxy和Dyy是通过箱式滤波器获得的近似卷积值。如果c(x,y,)大于设定的阈值,则确定该像素点为关键词。然后,类似于SIFT算法,在以关键点为中心的333像素邻域内进行非极大值抑制。最后通过散斑特征插值完成SURF特征点的精确定位。
SURF特征点的描述也充分利用了积分图,利用两个方向的Harr小波模板计算梯度,然后用一个扇区统计邻域内点的梯度方向,从而得到特征点的主要方向。
三
角点检测的原理与举例
角点检测的方法有很多种,其中有代表性的有Harris算法和FAST算法。
我写过博文描述这两种算法的原理。哈里斯角点和快速特征点检测。
3.1Harris角点特征提取
哈里斯角点检测是一种基于图像灰度的一阶导数矩阵检测方法。该检测器的主要思想是局部自相似性/自相关性,即局部窗口中的图像块与在所有方向上轻微运动后的窗口中的图像块之间的相似性。
在像素附近,导数矩阵描述了数据信号的变化。假设块区域在像素的邻域中以任何方向移动,如果强度剧烈变化,则变化的像素是角点。将22哈里斯矩阵定义为:
其中Cx和Cy分别是点x=(x,Y)的强度信息在xx和Y方向的一阶导数,(x,Y)是对应位置的权重。通过计算哈里斯矩阵的角点响应值D来判断是否是角点。计算公式为:
Det和trace是行列式和trace的运算符,m是常数,取值为0.04~0.06。当角点的响应值大于设定的阈值并且是角点邻域内的局部最大值时,该角点被视为角点。
3.2FAST角点特征提取
基于加速分割测试的快速算法可以快速提取角点特征。该算法基于在一个以像素点P为圆心、半径为3个像素的离散Bresenllam圆上,在给定阈值T的条件下,如果该圆上有n个连续像素的灰度值大于或小于I (p) t,则判断候选点P是否为角点
根据上面的定义,我们可以用一种快速的方法来完成检测,而不需要比较圆周上的所有点。首先比较上下左右四点的像素值。至少有三个点的像素灰度值大于I(p) t或小于I (p) t,那么P就是候选点。然后,做一个完整的判断。
为了加快算法的检测速度,可以使用机器学习ID3贪婪算法来构建决策树。这里需要说明的是,Elmar和Gregory在2010年提出了自适应通用加速分割检测(AGAST)算法。通过将快速算法中的ID3决策树转化为二叉树,可以动态、高效地生成决策树
可以注意到,在两种角点检测算法中,我们没有提到像SIFT或SURF这样的特征点的描述。事实上,一旦检测到特征点,无论是斑点还是角点的描述方法都是一样的。你可以选择你认为最有效的特征描述符。
特征描述是实现图像匹配和图像搜索的必要步骤。到目前为止,人们已经研究了各种特征描述符,其中浮点特征描述符和二进制帽子串特征描述符是比较有代表性的。
像SIFT和SURF算法这样由梯度统计直方图描述的描述符属于浮点特征描述符。但是它们计算复杂,效率低,所以后来出现了很多新的特征描述算法,比如BRIEF。后来很多二进制字符串描述符ORB,BRISK,FREAK等。得到了改进。
二进制字符串特征描述子
BRJEF算法的主要思想是:在特征点周围的邻域中选取若干像素对,比较这些像素对的灰度值,并将比较结果组合成一个二进制串来描述特征点。最后,使用汉明距离计算特征描述符是否匹配。
4.1 BRIEF算法
BRISK算法在特征点检测中没有使用快速特征点检测,而是使用稳定性更强的AGAST算法。在特征描述符的构造上,BRISK算法采用简单的像素灰度值比较,得到级联的二进制位串来描述每个特征点,与BRIEF一致。在BRISK算法中,采用邻域采样方式,即以特征点为中心构造多个半径不同的离散Bresenham同心圆,然后在每个同心圆上获得N个间距相同的采样点。
因为这种邻域采样模式在采样时会有图像灰度混叠的效果,所以BRISK算法首先用gddqz对图像进行平滑。并且所使用的gddqz函数的标准偏差i与各个同心圆上的点间距成比例。
假设在(N2)个采样点中随机选取一对采样点(pi,pj),其平滑后的灰度值分别为I(pi,i)和I(pj,j),则两点之间的局部梯度为:
假设由所有采样点对组成的集合被标记为A,则
那么,由短距离采样点组成的集合S和由长距离采样点组成的集合L是:
其中,距离阈值通常设置如下
Max=9.75, min=13.67,其中为特征点的尺度。
由于长距离采样点对包含更多特征点的角度信息,并且局部梯度相互抵消,因此特征点在集合L中的特征模式方向可以计算如下:
然后,采样模式围绕特征点旋转角度=arctan2(gy,gx),然后特征描述子具有旋转不变性。
最后,在旋转后的短距离采样点集S中,比较所有特征点对(Pi,pj)的灰度值,最终形成一个512位的二进制字符串描述符。
4.2 BRISK算法
ORB算法使用FAST检测特征点,然后使用BREIF描述特征点。但是我们知道BRIEF没有特征点方向的概念,所以ORB在BRIEF的基础上引入了方向的计算方法,在点对的选取上使用了贪婪搜索算法,挑出一些可区分的点对来描述二进制串。ORB算法的详细描述可以参考:ORB特征点检测。
4.3 ORB算法
快速视网膜关键点,即快速视网膜关键点。
根据视网膜原理进行点对点采样。中心越密集,离中心越远越稀少。并由粗到细构造描述符,穷追猛打,贪婪地寻找关联度不大的。42个感受野,1000对点的组合,找第512个就行了。这512对被分成4组。前128对相关性较小,可以代表粗略的信息,后面的越来越精细。匹配的时候可以看前16个字节,也就是代表精确信息的部分。如果距离小于某个阈值,继续,否则,不用往下看。
五
4.4 FREAK算法
图像匹配的研究目标是准确判断两幅图像之间的相似性。图像之间的相似性的定义随着不同的应用需求而变化。例如,在对象检索系统中(找到亚伯拉罕林肯的脸的图像),我们认为同一对象的不同图像是相似的。然而,在对象类别检索系统(找出包含人脸的图像)中,我们认为同一类别的对象是相似的。
这里局部特征点的应用主要表现在第一个相似性,也就是说我们需要设计一个图像匹配算法来判断两幅图像是否是同一物体或场景的图像。理想的图像匹配算法应该认为同一物体的两幅图像之间的相似度很高,而不同物体的两幅图像之间的相似度很低,如下图所示。
由于成像时光照、环境、角度的不一致,我们得到的同一物体的图像是不一样的。就像上图中两辆车的影像一样,角度不同导致成像不同。我们不能直接通过对比图像来判断车是不是同一种。必须提取特征点,然后进行匹配。
图像中会存在哪些变换?一般来说,包括光照变化和几何变化。光照变化是图像中全局或局部的颜色变化,而几何变化有很多种,如平移、旋转、缩放、仿射变换、投影变换等。所以我们在研究局部特征点的时候,要求特征点对这些变化是稳定的,同时要有很强的唯一性,这样图像才能区别于其他类型的图像,即类间距离小,类间距离大。
应用之图像匹配
End
在“下载1:OpenCV-Contrib扩展模块中文版教程
”微信官方账号后台,回复:敏感的火学视觉
扩展模块中文教程
下载全网首个中文版OpenCV扩展模块教程,涵盖,
等20多个章节。
扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理
在“下载2:Python视觉实战项目52讲
”微信官方账号后台,回复:敏感的火学视觉
Python视觉实战项目
下载包括,
在内的31个视觉实用项目,帮助快校计算机视觉。
图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别
在“下载3:OpenCV实战项目20讲
”微信官方账号后台,回复:敏感的火学视觉
OpenCV实战项目20讲
,可以基于,
下载20个20
,实现OpenCV的高级学习。
交换组
欢迎加入读者微信官方账号,与同行交流。目前有SLAM、3D视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群。(以后会逐步细分)。请扫描以下微信号添加群。备注:“昵称学校/公司的研究方向”,例如:“pldzxc上海交大视野SLAM”。请按格式备注,否则不能通过。添加成功后,会根据研究方向邀请你进入相关微信群。OpenCV
在群里发广告,不然就请你出群。谢谢理解~