一种LBP改进的图片相似判定方法与流程

文档序号:14474693阅读:444来源:国知局
一种LBP改进的图片相似判定方法与流程

本发明涉及图像处理领域,特别涉及一种lbp改进的图片相似判定方法。



背景技术:

lbp(localbinarypattern,局部二值模式)是一种用来描述图像局部纹理特征的算子;原始的lbp算子定义为在3*3的窗口内,以窗口中心像素为阈值,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0。这样,3*3邻域内的8个点经比较可产生8位二进制数(通常转换为十进制数即lbp码,共256种),即得到该窗口中心像素点的lbp值,并用这个值来反映该区域的纹理信息。如图1所示。

基本的lbp算子的最大缺陷在于它只覆盖了一个固定半径范围内的小区域,这显然不能满足不同尺寸和频率纹理的需要。

圆形lbp算子:为了适应不同尺度的纹理特征,并达到灰度和旋转不变性的要求,ojala等对lbp算子进行了改进,将3×3邻域扩展到任意邻域,并用圆形邻域代替了正方形邻域,改进后的lbp算子允许在半径为r的圆形邻域内有任意多个像素点。从而得到了诸如半径为r的圆形区域内含有p个采样点的lbp算子,图2所示。

lbp旋转不变模式:从lbp的定义可以看出,lbp算子是灰度不变的,但却不是旋转不变的。图像的旋转就会得到不同的lbp值。

maenpaa等人又将lbp算子进行了扩展,提出了具有旋转不变性的lbp算子,即不断旋转圆形邻域得到一系列初始定义的lbp值,取其最小值作为该邻域的lbp值。

图3给出了求取旋转不变的lbp的过程示意图,图中算子下方的数字表示该算子对应的lbp值,图中所示的8种lbp模式,经过旋转不变的处理,最终得到的具有旋转不变性的lbp值为15。也就是说,图中的8种lbp模式对应的旋转不变的lbp模式都是00001111。

lbp等价模式:一个lbp算子可以产生不同的二进制模式,对于半径为r的圆形区域内含有p个采样点的lbp算子将会产生p2种模式。很显然,随着邻域集内采样点数的增加,二进制模式的种类是急剧增加的。例如:5×5邻域内20个采样点,有220=1,048,576种二进制模式。如此多的二值模式无论对于纹理的提取还是对于纹理的识别、分类及信息的存取都是不利的。同时,过多的模式种类对于纹理的表达是不利的。例如,将lbp算子用于纹理分类或人脸识别时,常采用lbp模式的统计直方图来表达图像的信息,而较多的模式种类将使得数据量过大,且直方图过于稀疏。因此,需要对原始的lbp模式进行降维,使得数据量减少的情况下能最好的代表图像的信息。

为了解决二进制模式过多的问题,提高统计性,ojala提出了采用一种“等价模式”(uniformpattern)来对lbp算子的模式种类进行降维。在实际图像中,绝大多数lbp模式最多只包含两次从1到0或从0到1的跳变。因此,ojala将“等价模式”定义为:当某个lbp所对应的循环二进制数从0到1或从1到0最多有两次跳变时,该lbp所对应的二进制就称为一个等价模式类。如00000000(0次跳变),00000111(只含一次从0到1的跳变),10001111(先由1跳到0,再由0跳到1,共两次跳变)都是等价模式类。除等价模式类以外的模式都归为另一类,称为混合模式类,例如10010111(共四次跳变)。

通过这样的改进,二进制模式的种类大大减少,而不会丢失任何信息。模式数量由原来的2p种减少为p(p-1)+2种,其中p表示邻域集内的采样点数。对于3×3邻域内8个采样点来说,二进制模式由原始的256种减少为58种,这使得特征向量的维数更少,并且可以减少高频噪声带来的影响。

由上述综述可得知:变形之后的lbp很适合人脸及人物运动的判断,但是lbp的计算量庞大,没有效率优势,很难适应互联网海量图片相似的判断。

申请人在专利申请名称“基于lbp的图片相似判定方法”,在lbp方法之前,先压缩图片,调整像素灰度,之后做dct变换,得到最简信息,然后进行lbp,之后摒弃了传统的直方图判断方法,而是采用lbp均值散列的方法,得到更多细节;但是由于是压缩之后的全图片一同做lbp,计算量仍显庞大,此外,机器人判断之后需要人工精确判断,因此,前期只需要一个大概的判断即可,要求是:不漏掉相似图片即可,也就是说,可以多找出涉嫌相似的图片,至于是否真的相似,可以人工判断;经验证明,100张图片之内,人工判断效率是很高的。



技术实现要素:

为了克服上述现有技术的不足,本发明提供了一种lbp改进的图片相似判定方法。

本发明提供的一种lbp改进的图片相似判定方法,包括以下步骤:

第一步,压缩图片尺寸

将图片压缩至64*64像素;

第二步,将压缩图片灰度化

将压缩图片降至64级灰度;

第三步,提取对角线灰度

第四步,dct变换

将对角线的每个像素进行dct变换;

第五步,计算对角线像素点的lbp值

对于每个对角线像素的dct值与相邻的8个像素的dct值进行比较,若周围像素值大于中心像dct值,则该像素点的位置被标记为1,否则为0;3*3邻域内的8个点经比较可产生8位二进制数,即得到该中心像dct值的lbp值;

第六步,建立lbp的散列

计算对角线lbp的均值,每个lbp值与均值对比,大于或等于记为1,小于记为0;采用一致性散列,得到15位基于lbp的散列值;

第七步,对比判定

将不同图片的lbp的散列值进行对比,小于或等于2,则判断近似。

有益效果:本发明仅对比对角线上的lbp均值(仅计算对角线以及相邻像素点的lbp即可),并形成15为散列值,与64位散列相比节省4倍的计算量。

附图说明

图1是lbp方法原理图。

图2是圆形lbp方法原理图。

图3是求取旋转不变的lbp的过程示意图。

图4是原始图谱与lbp图谱。

具体实施方式

实施例:

第一步,压缩图片尺寸

将图片压缩至64*64像素;

第二步,将压缩图片灰度化

将压缩图片降至64级灰度;

第三步,提取对角线灰度

第四步,dct变换

将对角线的每个像素进行dct变换;

第五步,计算对角线像素点的lbp值

对于每个对角线像素的dct值与相邻的8个像素的dct值进行比较,若周围像素值大于中心像dct值,则该像素点的位置被标记为1,否则为0;3*3邻域内的8个点经比较可产生8位二进制数,即得到该中心像dct值的lbp值;

第六步,建立lbp的散列

计算对角线lbp的均值,每个lbp值与均值对比,大于或等于记为1,小于记为0;采用一致性散列,得到15位基于lbp的散列值;

第七步,对比判定

将不同图片的lbp的散列值进行对比,小于或等于2,则判断近似。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1