基于自适应特征和离散余弦变换的视觉显著性检测方法与流程

文档序号:12124083阅读:319来源:国知局

本发明涉及视觉显著性检测的技术领域,特别是指一种基于自适应特征和离散余弦变换的视觉显著性检测方法。



背景技术:

在“互联网+”蓬勃发展的背景下,能够迅速从图像等数据中获取更多有效信息的技术显得十分重要。视觉显著性检测的实质是模拟人类的视觉注意功能,从一个复杂的场景检测出容易引起观察者注意的图像区域,从计算机视觉的角度来看,这种能力可以为海量图像或视频数据的处理节省计算资源。

在视觉显著性检测过程中,特征提取作为重要的环节之一,对最终的检测结果具有较大影响。现阶段特征提取方法中默认每一个子特征具有相同的地位,并不涉及每个子特征在整体特征中的重要性,但是每个子特征在视觉显著性检测过程中发挥的作用并不尽相同,现有的特征提取方法未考虑到这一点,这影响了视觉显著性检测准确率的提高。



技术实现要素:

为了解决上述技术问题,本发明提出基于自适应特征和离散余弦变换的视觉显著性检测方法,能够对各类输入图像进行显著性检测,具有很高的检测正确率。

本发明的思想在于:(1)根据输入图像的原始数据学习出滤波器模板,利用该模板对图像进行滤波,得到特征矩阵,然后再对图像的子特征进行自适应处理,将各子特征的重要性进行量化,得到自适应特征矩阵;(2)对自适应特征矩阵进行离散余弦变换,求其符号信息后进行离散余弦反变换,得到初始的视觉显著性图像;(3)对初始的视觉显著性图像进行后处理:亮度值平方和高斯模糊,得到最终的视觉显著性检测结果。

为了达到上述目的,本发明的技术方案是:基于自适应特征和离散余弦变换的视觉显著性检测方法,其步骤如下:

步骤一:自适应特征提取:

步骤1:预处理:

1)图像缩放:

对大小为k×g的原始图像进行等比例缩放,缩放比例为a,缩放后的图像大小为ak×ag,其中,k、g均是非负整数,0<a<1,ak=round(k×a),ag=round(k×g),round(·)代表四舍五入运算;

2)图像分块:

从图像的左上角到右下角的顺次采用b×b的滑动窗口截取b×b的图像块,任意图像块都与水平和垂直方向的相邻图像块之间有50%的区域重叠,与±45°方向的相邻图像块之间有25%的区域重叠;将所有截取的图像块转换成列向量,并按照截取的次序组合成一个图像块向量矩阵,标记为X=[x1,x2,...xN]∈Cm×N

其中,C代表自然数集合,xi,i∈[1,N]代表第i个图像块对应的列向量,N是图像块的个数,m是xi,i∈[1,N]的维数,m=b×b×c,c为图像通道数,b≥4,且b为偶数;

步骤2:特征提取:

1)滤波器模板组的学习:

将图像块矢量矩阵X作为训练样本集,则滤波器模板组T可通过求解如下目标函数最小化问题得到:

其中,T=[t1,t2,...tn]∈Rm×n,R代表实数集合;n代表滤波器模板组T中基向量的个数;αi是计算过程中的一个中间变量,初值通过随机数设定;||·||1和||·||2分别代表1范数和2范数运算,λ是一个用于平衡误差和稀疏性的折衷参数;

2)获取特征矩阵:

对任意一个图像块xi通过计算图像块向量xi和滤波器模板组T中各个基向量的卷积得到图像块xi的特征向量fi

fi=xi**T (2)

其中,**代表卷积运算,fi∈Rn;所有图像块对应的特征向量联合组成图像的特征矩阵:F=[f1,f2...,fN];

步骤3:子特征自适应处理:

将特征矩阵F进行转置得到转置矩阵F′:

F′=FT=[f1,f2...,fN]T=[f′1,f′2,…f′n]∈RN×n (3)

其中,f′j,j∈[1,n]为自适应特征矩阵F的第j个子特征向量;

计算每个子特征向量f′j的1范数可得矩阵Z:

Z=[z1,z2,…zn]=[||f′1||1,||f′2||1,…||f′n||1]∈R1×n (4)

对矩阵Z进行1范数的单位化处理可得矩阵P:

P=[p1,p2…pn]=Z/||Z||1∈R1×n (5);

定义阈值函数TH(pj),j∈[1,n]为:

其中,I(pj)=pjlogpj

对于矩阵P中的任意一个向量pj,j∈[1,n],若TH(pj)>0,则保留pj不变,若TH(pj)≤0,则令pj=0;处理后的矩阵P标记为矩阵P′,将矩阵P′进行1范数归一化处理得到矩阵A:

A=[a1,a2,…an]=P′/||P′||1∈R1×n (7);

可得输入图像的自适应特征矩阵Fa

Fa=[af1,af2,…afN]=[ATοf1,ATοf2,…ATοfN]∈Rn×N (8)

其中,afi为第i个图像块xi的自适应特征向量,AT∈Rn代表矩阵A的转置,ο代表矩阵之间的点对点相乘运算;

步骤4:获取像素级自适应特征矩阵

由于在图像分块时相邻图像块之间有区域重叠,同一像素点会被多个图像块所包含,单个像素的自适应特征通过计算所有包含该像素的图像块的自适应特征的均值得出:

其中,af(x,y)∈Rn代表坐标为(x,y)的像素点的自适应特征向量;l代表所有包含像素点(x,y)的图像块的个数;afq,q∈[1,l]代表第q个包含像素点(x,y)的图像块的自适应特征;

将所有像素点的自适应特征向量组合在一起可以得到整幅图像的像素级自适应特征矩阵Fap;由于缩放后的图像大小为ak×ag,每个像素点的自适应特征向量是n维的列向量,因此Fap是大小为ak×ag×n的三维矩阵;

步骤二:基于自适应特征的离散余弦变换:

像素级自适应特征矩阵Fap可拆分出n个ak×ag的二维矩阵,可视为n个分辨率ak×ag的特征图像的组合,标记第j个特征图像为Yj∈Rak×ag,j∈[1,n],对特征图像Yj进行离散余弦变换得到余弦图像Yjc∈Rak×ag,j∈[1,n]:

Yjc=COS(Yj) (10)

其中,COS(·)代表离散余弦变换;

获取余弦图像Yjc的符号图像Yjf∈Rak×ag,j∈[1,n]:

Yjf=FLAG(Yjc) (11)

其中,FLAG(·)代表取符号操作;

对符号图像Yjf进行离散余弦反变换得到余弦反图像Sj∈Rak×ag,j∈[1,n]:

Sj=ICOS(Yjf) (12)

其中,ICOS(·)代表离散余弦反变换;

对所有余弦反图像Sj∈Rak×ag,j∈[1,n]进行求和:

其中,S为初始的视觉显著性图像,分辨率为ak×ag;

步骤三:获取视觉显著性检测结果:

步骤1:亮度值平方:

对初始的视觉显著性图像S的亮度值进行平方:

S′=S°S (14)

其中,°代表两个矩阵的点对点相乘运算,S′∈Rak×al是亮度值平方后的图像;

步骤2:高斯模糊:

对亮度值平方后的图像S′进行高斯模糊得到模糊后的图像Sgm∈Rak×ag

Sgm=S′**gm (15)

其中,gm代表高斯模板;

将模糊后的图像Sgm缩放回输入图像的原始尺寸k×g,并将所有像素点的灰度值进行四舍五入取整,得到最终的视觉显著性图像SM∈Ck×g,SM为输入图像的视觉显著性检测结果。

所述高斯模板使用的高斯核标准差σ为图像宽度的0.03倍,即:σ=0.03ak;高斯模板为正方形,其边长d约为标准差的3倍,即:d≈3σ,近似的原则为:选取最接近的奇数。

所述缩放比例为a=0.14,图像块xi的大小为8×8,滤波器模板组T中基向量的个数n=300,图像块之间的重叠率为50%。

本发明的有益效果:避免了现有特征提取方法不能区分各子特征的重要性的弊端,能够自适应的量化出每个子特征在总体特征中的作用,从而进一步提高视觉显著性检测的准确率。本发明运算量小、检测效率高,同时又具有很高的检测正确率,得到的视觉显著性图像将促使后续的物体识别和目标跟踪,在安防、交通、生产管理等各应用领域中发挥重大作用,如:场景理解、物体识别,目标跟踪等都具有重要意义。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,一种基于自适应特征和离散余弦变换的视觉显著性检测方法,用于实施的硬件环境是:Intel(R)Core(TM)i5CPU 3.2G计算机、8GB内存、1G显卡,运行的软件环境是:Matlab R2014a和Windows 7。本发明所选取的原始图像为一幅分辨率为681*511的彩色图片,如图1左上所示。

一种基于自适应特征和离散余弦变换的视觉显著性检测方法,具体实施如下:

一、自适应特征提取:

1、预处理:

1)图像缩放:对大小为k×g的原始图像进行等比例缩放,缩放比例为a,缩放后的图像大小为ak×ag,其中,k、g均是非负整数,0<a<1,ak=round(k×a),ag=round(k×g),round(·)代表四舍五入运算。

为了保障算法的运算效率,需要对图像进行适当比例的缩放。如图1左上部分所示为已经黑白处理的彩色图像,原始图像的分辨率为:681×511,缩放比例为0.14,图像缩放后的大小为:95×72。

2)图像分块:从图像的左上角到右下角的顺次采用b×b的滑动窗口截取b×b的图像块,任意图像块都与水平和垂直方向的相邻图像块之间有50%的区域重叠,与±45°方向的相邻图像块之间有25%的区域重叠;将所有截取的图像块转换成列向量,并按照截取的次序组合成一个图像块向量矩阵,标记为X=[x1,x2,...xN]∈Cm×N。其中,C代表自然数集合,xi,i∈[1,N]代表第i个图像块对应的列向量,N是图像块的个数,m是xi,i∈[1,N]的维数,m=b×b×c,c为图像通道数,b≥4,且b为偶数。例如:若输入图像是RGB彩色图像,则c=3,若为灰度图像,则c=1。

采用8×8的滑动窗口对缩放后图像进行重叠分块。采用8×8的滑动窗口从图像的左上角顺次滑动到右下角:从第一行最左侧开始,每次向右滑动移动4个像素,滑动窗口每到一处就获取一个窗口所在区域的8×8彩色图像块;缩放后图像的宽度为95个像素,95/4-1=22.75,获取22个图像块之后,第一行剩余3个像素,因此第一行最后一次只移动3个像素,第一行总计获取23个8×8彩色图像块;将滑动窗口向下移动4个像素,从图像最左侧开始第二行的滑动,方法与第一行相同,以此类推,直到图像的右下角;缩放后图像的高度为72个像素,72/4-1=17,滑动窗口总计截取17行的图像块,23×17=391,即:总计获取391个8×8彩色图像块。由于在水平和垂直方向每次都只移动4个像素,因此,任意图像块都与水平和垂直方向的相邻图像块之间有50%的区域重叠,与±45°方向的相邻图像块之间有25%的区域重叠。

将每个8×8彩色图像块转换成列向量。每个彩色图像块都包括R、G、B三个通道,每个通道可转化成一个8×8=64维的列向量,按照R、G、B的顺序将3个64维的列向量拼接成一个64×3=192维的列向量。

将所有图像块转换成的列向量拼接得到图像块向量矩阵:将图像块转换成的列向量,按从图像的左上角到右下角的顺序组合成一个图像块向量矩阵,标记为X=[x1,x2,...x391]∈C192×391。其中,C代表自然数集合,xi∈R192,i∈[1,391]代表第i个图像块对应的列向量(后续也以xi直接代表第i个图像块)。

2、自适应特征提取:

1)滤波器模板组的学习:

将上一步得到的图像块矢量矩阵X作为训练样本集,则滤波器模板组T=[t1,t2,...tn]∈R192×n可通过求解如下目标函数最小化问题得到:

其中,R代表实数集合,n代表滤波器模板组T中基向量的个数,设定为300;||·||1和||·||2分别代表1范数和2范数运算;αi是计算过程中的一个中间变量,其初值通过随机数设定。式1的求解通过SPArse Modeling Software(http://spams-devel.gforge.inria.fr/downloads.html)中的mexTrainDL函数来实现。

2)获取特征矩阵:

滤波器模板组T确定之后,任意图像块xi的特征向量fi可以通过计算xi和滤波器模板组T中各基向量的卷积来得到:

fi=xi**T (2)

其中,**代表卷积运算,图像块xi对应的特征向量fi∈R300,i∈[1,391]。所有图像块对应的特征向量fi组成特征矩阵:F=[f1,f2...,f391]∈R300×391,F即为图1中输入图像的特征矩阵。

3、子特征自适应处理:

将特征矩阵F进行转置得到转置矩阵F′:

F′=FT=[f1,f2...,f391]T=[f′1,f′2,…f′300]∈R391×300 (3)

其中,f′j,j∈[1,300]为特征矩阵F的第j个子特征向量。计算子特征向量f′j,j∈[1,300]的1范数可得矩阵Z:

Z=[z1,z2,…z300]=[||f′1||1,||f′2||1,…||f′300||1]∈R1×300 (4)

对矩阵Z进行1范数的单位化处理可得矩阵P:

P=[p1,p2…p300]=Z/||Z||1∈R1×300 (5)

定义阈值函数TH(pj),j∈[1,300]为:

其中,I(pj)=pjlogpj。对于矩阵P中的任意一个pj,j∈[1,300],若TH(pj)>0,则保留pj不变,若TH(pj)≤0,则令pj=0。经此处理后的矩阵P,标记为矩阵P′,将矩阵P′进行1范数归一化处理得到矩阵A:

A=[a1,a2,…a300]=P′/||P′||1∈R1×300 (7)

此时可得输入图像的自适应特征矩阵Fa

其中,afi为第i个图像块xii∈[1,391]的自适应特征向量,AT∈R300代表矩阵A的转置矩阵,代表矩阵之间的点对点乘机运算。

4、获取像素级自适应特征矩阵

由于在图像分块时相邻图像块之间有区域重叠,同一像素点会被多个图像块所包含。因此,单个像素的自适应特征需通过计算所有包含该像素的图像块的自适应特征的均值得出:

其中,af(x,y)∈R300代表坐标为(x,y)的像素点的自适应特征向量;l代表所有包含像素点(x,y)的图像块的个数,若图像块位于图像的四个顶点,则l=3,若图像块位于图像除四个顶点之外的边界处,则l=5,在其它位置,l=8。afq,q∈[1,l]代表第q个包含像素点(x,y)的图像块的自适应特征。

将所有像素点的自适应特征向量组合在一起,可以得到整幅图像的像素级自适应特征矩阵,标记为Fap。由于缩放后的图像大小为95×72,每个像素点的自适应特征向量是300维的列向量,因此Fap是大小为95×72×300的三维矩阵。

二、基于自适应特征的离散余弦变换:

像素级自适应特征矩阵Fap可拆分出300个95×72的二维矩阵,也可视为300个分辨率95×72的特征图像的组合,标记第j个特征图像为Yj∈R95×72,j∈[1,300],对特征图像Yj进行离散余弦变换得到余弦图像Yjc∈R95×72,j∈[1,300]:

Yjc=COS(Yj) (10)

其中,COS(·)代表离散余弦变换。

获取余弦图像Yjc的符号图像Yjf∈R95×72,j∈[1,300]:

Yjf=FLAG(Yjc) (11)

其中,FLAG(·)代表取符号操作。

对符号图像Yjf进行离散余弦反变换得到余弦反图像Sj∈R95×72,j∈[1,300]:

Sj=ICOS(Yjf) (12)

其中,ICOS(·)代表离散余弦反变换。

对所有余弦反图像Sj∈R95×72,j∈[1,300]进行求和:

其中,S为初始的视觉显著性图像,分辨率为95×72。

三、获取视觉显著性检测结果:

1)亮度值平方:

对初始的视觉显著性检测图像S的亮度值进行平方:

其中,代表两个矩阵的点对点相乘运算,即:两个相同大小矩阵的相同位置元素的相乘,S′∈R95×72是处理后的图像。

2)高斯模糊处理:

为了获得更好的检测效果,对亮度值平方后的图像S′进行高斯模糊得到模糊后的图像Sgm∈R95×72

Sgm=S′**gm (15)

其中,gm代表高斯模板。

高斯模板gm使用的高斯核标准差σ为图像宽度的0.03倍,即:σ=0.03×95=2.85。高斯模板gm为正方形,其边长d约为标准差的4倍,即:d=2.85×4=11.4≈11,近似的原则为:选取最接近的奇数。

将模糊后的图像Sgm缩放回输入图像的原始尺寸681×511,得到最终的视觉显著性图像标记为SM,SM即为最终的视觉显著性图像,如图1最下方所示,该图就是图1左上角输入图像的视觉显著性检测结果。

本发明的方法可获得92.13%的检测正确率。其中,检测正确率定义为正确检测的显著性区域大小与总的显著性区域大小之比。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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