SIFT 、Hog 、LBP 了解
SIFT、HOG、LBP,这三者都属于局部特征。
一、三者原理上的区别
1.SIFT:Scale-Invariant Feature Taransform,尺度不变特征变换。
- 尺度空间的极值检测:搜索所有尺度空间上的图像,通过高斯微分函数来识别潜在的对尺度和旋转鲁棒性较强的点。
- 特征点定位:在每个候选位置上,通过一个拟合精细模型(尺度空间DoG函数进行曲线拟合)来确定位置尺度,关键点的选取依据他们的稳定程度。
- 特征方向赋值:基于图像局部的梯度方向,分配给每个关键点位置一个或多个方向,后续的所有操作都是对于关键点的方向、尺度和位置进行变换,从而提供这些特征的不变性。
- 特征点描述:在每个特征点周围的领域内,在选定的尺度上测量图像的局部梯度,计算块内梯度直方图,生成具有独特性的向量。
2.HOG:Histogram of Oriented Gradient,方向梯度直方图。
- 颜色空间归一化:为了减少光照因素的影响, 首先需要将整个图像归一化。因为颜色信息作用不大,通常先转化为灰度图。
- 梯度计算:计算图像横坐标和纵坐标方向的梯度,并据此计算每个像素位置的梯度方向值;求导操作不仅能捕获轮廓,还能进一步弱化光照的影响。
- 梯度方向直方图:将图像分成若干个cell,对cell内每个像素用梯度方向在直方图中进行加权投影(映射到固定的角度范围),就可以得到这个cell的梯度直方图。
- 将每几个cell组成一个block(例如3*3个cell/block),一个block内所有cell的特征descriptor串联起来便得到该block的HOG特征descriptor。
- 组成特征:将图像image内的所有block的HOG特征descriptor串联起来就可以得到该image(你要检测的目标)的HOG特征descriptor。
3.LBP:Local Binary Pattern,局部二值模式。
原始的LBP算子定义在像素3*3的邻域内,以邻域中心像素为阈值,相邻的8个像素的灰度值与邻域中心的像素值进行比较,若周围像素大于中心像素值,则该像素点的位置被标记为1,否则为0。这样,3*3邻域内的8个点经过比较可产生8位二进制数,将这8位二进制数依次排列形成一个二进制数字,这个二进制数字就是中心像素的LBP值,LBP值共有28种可能,因此LBP值有256种。中心像素的LBP值反映了该像素周围区域的纹理信息。
二、三者的优缺点及适用范围
参考文献:
1.【SIFT特征详解】
2.【LBP特征原理及代码实现】
9/1/2017 5:29:04 PM
作者:盛淮南
链接:https://www.zhihu.com/question/45833619/answer/223930439
来源:知乎