论文杂记 | ||
---|---|---|
上一篇 | 主目录 | 下一篇 |
本论文是传统方法进行图像检索的论文之一,是基于内容的图像检索(Content-Based Image Retrieval,CBIR)。从关键词中可以看到本文使用到的主要算法。
关键词:经典LBP算法、LBP直方图、LBP旋转不变编码、ELBPri描述符,Harris算法,LBP伪灰度图,欧氏距离
论文《增强旋转不变LBP算法及其在图像检索中的应用》下载地址
或者联系博主获取,邮箱:[email protected]
局部二值模 式(Local Binary Pattern,LBP)是一 种 描 述纹理特征的经典方法,该方法通过计算目标像素与其邻域内的像素之间的灰度差异来描述图像的局部纹理特征。
原始的LBP算子定义在3*3的窗口内,以窗口中心像素为阈值,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0。3X3 邻域内的8个点可以产生8Bit的无符号数,转化为十进制数即得到该窗口的LBP值,并用这个值来反映该区域的纹理信息。
纹理特征在图像信息提取中的地位:
纹理特征是图像或图像局部区域所描述的景物的表面性质。与其他特征相比,纹 理 特 征 包 含 更 多 的图像信息。
为了 使 经 典 LBP特征适于描述不同尺度和不同频率的纹理信息,Ojala等[12]将3×3邻域扩展到任意邻域,并用 圆形窗口代替正 方 形 窗 口。改 进 后 的 LBP描述 符 在 半 径 为 R的圆形邻域内拥有多个采样像素点。
左一LBP的右上标1代表半径是2,右下标8表示采样点的个数是8个
左一LBP的右上标2代表半径是2,右下标16表示采样点的个数是16个(网格交点处有采样点。。)
其他同理
采样点位置(xp,yp)的计算:
对于给定的中心点(xc,yc),其邻域像素位置为(xp,yp),p∈P,(xp,yp)用如下公式[12]计算:
其中,R 是窗口半径,p是采集的中心像素点周围的第p 个像素,P 是采集的中心像素点周围的像素点个数。
【采样的点P(xp,yp)是落在圆圈上的?】
以(Xc,Yc)为坐标原点,Xp2+Yp2=R2
求每个采样点的过程:
由于式子计算出的坐标不一定在图像上,因此采用 双线性插值 (建议学习,见1.2)来计算采样点。也就是说,当采样点的P(xp,yp)坐标刚好与原图中的某点X(x,y)重合时,P点的灰度值或RGB的值就是原图中点X的值;如果采样点的x,y坐标没有与原图中的x,y重合时,就需要用到双线性插值法求P点的灰度值或RGB值。注:图像的像素点是离散型变量,当由上式计算出的P(xp,yp)有一个不是整形数字,那么P点就没与原图中某像素重合,此时使用双线性插值法求P点的灰度值或RGB值
为满足旋转不变性,不断旋转圆形邻域的起始像素点,可以得到一系列 LBP 值,取其中的最小值作为该邻域的 LBP值。
白色为1,黑色为0
共有8位二进制数
LBP值的集合={240,120,60,30,15,135,195}
该邻域的LBP值为15
起始点:
240中顺时针方向第一个白色的点,二进制编码为11110000,即128+64+32+16+0+0+0+0=240
…
195中顺时针方向第三个白色的点,二进制编码为11000011,即128+64+0+0+0+0+2+1=195
【思考】
参考博文: 双线性插值 (建议学习)
主要思想总结如下:
我们知道,图像的像素点是离散型变量,当要对图像进行放大或缩小时,使用到了如下公式:
srcX=dstX * (srcWidth / dstWidth)
srcY=dstY * (srcHeight / dstHeight)
#src原图,dst目标图
【举个例子】
原图5X5,缩小成3X3。以图坐上角为坐标原点(0,0),往右是x轴正向,往下是y轴正向。
以上是缩小的例子,放大图像类似
相关知识在上文《基于KNN有向复杂网络的图像轮廓识别》1.4节 中已有涉及,不再赘述。
略
增强 LBP纹理描述符即ELBPri的算法步骤如下:
总体思想,重要
1.在灰度图像中提取 Harris角点
2.以角点 为 采 样 中 心,在 角 点 周 围n 像 素 范 围 内采样(n=5)
3.计算采样范围内图像区域的旋转不变 LBP 值(对每个像素点),采样范围外图像区域的像素点的 LBP值置为0
4.统计图像的ELBPri直方图,并将其作为 ELBPri描述符的特征矢量
5.比 较 图 片 间 LBP 直方图的相似性并排序
原始的 LBP算法中并没有采样的过程,而是直接采取遍历图像的方式。遍历图像虽然可以得到完整的纹理特征,但需要遍历图像中的每个像素点,并计算每个像素点的 LBP值,耗时巨大,并且这将使得整个 CBIR 图像特征数据库的数据急剧增多。为减少数据库的数据量,本 文 采 用 Harris角点提取算法对原图片进行采样。图像像素点中距离角点小于或等于n像素的所有像素点为有效区域,大于n像素的为无效区域。如图5所示,以n=5为例,黑色圆点为角点,斜线覆盖的像素点构成有效区域,其他像素点为无效区域。将 无 效 区域在 LBP伪灰度图像中 的 LBP值置 为0,保 留 有 效 区 域,即完成了采样过程。采样过程定义如下:
其中,Ae 表示有效 区 域,Ai 表示 无 效 区 域,D 表示 像 素 点 与最近角点的距离。
对原图像进行采样,可以极大地降低下一步用旋转不变LBP算法描述图像时的工作 量,并剔除无效区域对图像检索的影响,增强了图像检索的鲁棒性。
利用 旋 转 不 变 LBP描述符的编码方法对采样后的图片进行编码,获得原图像的 ELBPri伪灰度图像
ELBPri伪灰度图像的形式化定义为:
其中,(x,y)∈Ae,(x,y)是有效区域像素点坐标。Gx,y∈{0,1,…,Q}是图像所有 微 模 式 的 LBP值集 合,Q 是图 像 最 大 的LBP值(参数P=8,R=2时,Q=36)。
【伪灰度图像和编码】
在用Harris采取特征样点后(此时得到的图像上好多个点Xi),与这些点距离小于D(=5)的为有效区域,其他无效区域的所有像素点的LBP值为0。对在有效区域内的所有点:使用1.1.3圆形LBP算法在有效区域所有像素点的邻域内得到多个采样像素点(不一定在图像上,则使用1.2双线性插值法),求这些点的灰度值,跟邻域中心点比较,大的为1,小的为0。使用1.1.4旋转不变LBP求得的最小LBP值作为以该像素点为中心邻域的LBP值(有效区域内每个像素点都有以该像素点为中心的邻域,对应有一个邻域LBP值)。在原图像上用求得的每个像素邻域的LBP值作为该像素新的灰度值,即获得原图像的 ELBPri伪灰度图像 。这幅伪灰度图像的LBP值的某种集合方式作为这个图像的编码。
【参数P=8,R=2时,Q=36?】
为啥???见1.1.4-3
1)保 留 LBP描述符的部分微模式,并使 LBP具有 了 旋转不变性。ELBPri算法没有从压缩微模式数量的角度改进算法,而是在提取描述子之前加了采样过程,这样既保留了部分微模式和描述符的旋转不变性,又提高了算法的效率。
2)计 算 量 小,效 率 高。ELBPri算法 借 助 于 Harris角点提取算法标定出纹理信息丰富的区域,在提取描述子前添加了采样过程,降低了生成 LBP伪灰度图时的计算量和需要存储的数据量,提高了算法的效率。
3)突出纹理信息丰富区域的纹理信息,去除部分噪声,鲁棒性高。纹理信息丰富区域的角点数量多,ELBPri算法的采样过程突出了纹理信息丰富的区域。同时,纹理信息简单、噪声点等区域在采样过程中被滤去。