1. 引言
本人眼的视觉注意机制使人类能够在复杂场景中实时定位图像中位置相对重要的信息,并以此来判定处理不同目标的优先级序列,这样可有效地缩小视觉处理的范围,进而极大地节约计算资源。因此,对人类的视觉注意机制进行研究并将其应用于计算机视觉和图像处理等领域具有非常重大的意义。如今,基于人类视觉注意机制的显著性区域检测技术得到了国内外研究学者的广泛关注,该方法已经成为计算机视觉领域中非常重要的研究课题,并成功地应用于图像裁剪,目标跟踪与识别以及缩略图生成等多个方面。
计算机视觉研究人员模拟视觉注意机制的初期往往采用自下而上的过程,这类模型被称为自下而上的显著性模型。如:Itti等人 [1] 模拟人脑视皮层神经细胞对颜色、亮度和方向特征的融合机制,并使用“中心–周边”原理建立了视觉显著性模型,有效地检测出了对比度明显的显著性区域。此模型计算过程简单,但对目标区域的检测不够准确。Yang C等人 [2] 基于图论模型对Itti模型加以改进,提出了GBVS (Saliency detection via graph-based)算法模型。其计算方法与Itti模型相似,图像颜色、亮度与方向等底层特征的提取方法相同。GBVS模型通过马尔可夫随机场计算特征显著图,能够从全局的角度较好地进行图像显著性检测,但其缺点是效率较低,无法辨识目标轮廓。侯晓迪等人 [3] 提出了一种SR (Spectral Residual)算法,该方法认为从图像的幅度谱中减去先验知识的幅度谱,剩下的就是显著部分的幅度谱,再通过频域空间变换就可得到目标显著图。此算法运算速度虽快,但精确度难以保证。Shen等人 [4] [5] 提出的LR (Low Rank)算法将高层先验统一到低秩的框架中,能够提取较多的显著特征,但其计算量较大,得到的显著图均匀性较差。总的来说,自下而上的显著性方法大都比较基础,运算速度较快,算法实现简单,但得到的显著性检测结果往往通过密集的亮点来表示显著性部分,因此无法显现出显著性物体的清晰轮廓。
另外一种显著性检测方法为自上而下的模型。主要根据具体任务通过对自下而上的检测结果进行形状、大小、特征数、阈值等调整而实现的 [6] 。例如:Achanta等人 [7] 提出的FT (Frequency tuned)算法就是将经过高斯低通滤波图像中的每个像素值和整幅图像的平均像素值之间的欧式距离作为该点的显著值,形成了一种基于全局对比的显著区域检测方法。Cheng等人 [8] 提出的RC (Region Contrast)算法则通过计算每个划分区域的显著性值,构建了基于局部对比度的显著性图。Dalal等人 [9] 提出了一种基于梯度直方图特征的人体检测方法。该方法使用梯度方向直方图信息来表达人体特征,并提取人体的外形信息和运动信息,进而组成了丰富的特征集。这几种自上向下的模型 [7] [8] [9] 均是通过图像的局部对比度特征进行显著特性分析,此类模型由于要提取多种特征,因此运算速度较慢,并且容易受到光照环境等客观因素的影响,使得目标检测的准确率大大降低。
近年来,许多研究者将机器学习等类方法应用于显著性检测方面并取得了较大进展。如杜玉龙等人 [10] [11] 根据人眼视觉原理,构建深度卷积神经网络模型(CNN)并结合超像素聚类方法获取图像区域特征,通过对特征进行学习实现了有效的显著性区域检测。Ying Tang等人 [12] 是利用机器学习和稀疏编码的高效性和鲁棒性进行显著性检测的。此类方法鲁棒性高,但运算速度慢。为此,Bing Yang等人 [13] [14] 将主成分分析法(PCA)运用到显著性检测中,该方法保留了机器学习的高效性,但是,当图像背景信息量较大时,难以有效的提取出仅代表显著目标的主成分信息,从而导致检测结果含有较大的背景噪声。
在显著性检测任务中,由于图像的复杂性,对于单一级别的检测方法得到的显著图是不明确的。为了减少图像复杂度的影响,Che等人 [15] 提出了HS (Hierarchical Saliency)算法。该方法通过对图像分层并计算分层显著图,有效地抑制了背景噪声对目标检测的干扰。李波等人 [15] [17] [18] 也利用了分层图像以及融合各层特征的方式对物体进行检测,都取得了比较好的检测效果。
基于上述分析,为了减弱冗余信息对检测结果的影响以及保留机器学习的高效性,本文提出了一种基于分层PCA技术的显著性目标检测算法,利用分层PCA技术将图像分成背景信息缺失程度不同的多层图像,使得每层图像都包含与其结构特征相匹配的显著目标信息,有效地突出了显著目标并减少了背景噪声,使得在提取主成分信息的过程中减少计算量并减弱背景信息对检测过程的干扰,有利于将目标与背景相分离,保留机器学习的高效性,增加算法的鲁棒性。
2. 算法描述
分层PCA显著性目标检测算法流程如图1所示。其基本处理过程为:首先,对原始图像进行分层,利用不同比特层包含的数据重构一幅图像,从而突出显著目标的信息。接着,为了融合多种特征,将原图的色彩结构转移到分层后的灰度图像中,使得每层图像都具有与原图像相对应的色彩结构。第三,运用PCA (principal component analysis)算法提取出各自的结构特征及颜色特征。第四,将两种差异特征相融合得到多幅显著图;最后,通过信息熵选择出最优结果。
2.1. 比特面图像分层原理
一幅8比特灰度图像,可以认为是8个1比特的平面组成,每个平面都包含与其相匹配的显著信息。
其中4个高阶比特平面,特别是最后两个比特平面,包含了显著目标的大多数信息。而低阶比特平面则在图像上贡献了更精细的灰度细节,这就意味着可以使用显著信息更多的比特层来构建原图,突出显著目标在整幅图像中所占的比重。因此,可以用不同的比特层信息来表示分层后的图像。其算法步骤为:
1) 将原图像转换为灰度图像并作为第一层图像。
2) 将第一层图像的最低有效比特层置零,得到一幅包含了七个比特层的图像作为第二层图像输出,接着对第二层图像的最低有效比特层置零作为第三层图像输出,以此类推,直到图像仅保留一个比特层。
3) 将得到的比特层数不同的二进制数据转换成十进制像素值,从而获得与比特层数相匹配的多层图像。
选择利用去除二进制某一比特层的方法实现图像分层,目的是产生多层以显著目标为主要信息的图像,减少背景信息的干扰。其操作结果如图2所示。
从图2可以看出,不同的比特平面层包含的图像信息大不相同,第八幅图像明显减少了显著物体所包含的信息,使得图像中的显著目标区域缺失。而其他图像由于缺失的比特层不同也在一定程度上减少了背景信息,突出了显著目标所包含的信息。
2.2. 彩色转换
基于比特面的图像分层是在灰度图像的基础上进行的,为了使分层图像保持原有的色彩特征,将原图像的色彩结构作为模具对分层后的灰度图像进行色彩转移。
在转换过程中,经常采用的技术是灰度级-彩色变换,意思就是对黑白图像上的每一个像素点,取得该点的灰度值并送入三个通道经过实施不同的变换,产生相应的R、G、B的亮度值,即所求彩色图像对应像素点的彩色值,这样不仅能够保留原图像中显著目标与背景的模式差异,也将两者的颜色进行了区分,增强了显著目标的对比度,使得检测更加方便可行。
Figure 2. The results of images layered
图2. 图像分层结果
本文采取了文献 [19] 的方法,实现步骤为:
1) 将原图像作为参考图像Io(original image),分层后的图像作为待处理图像Ig(gray image),将Ig扩展到三通道,并将扩展后的图像与Io分别转化到YCbCr空间(其中Y是指亮度分量,Cb指蓝色色度分量,而Cr指红色色度分量)。
2) 对Io构成的图像矩阵的每一列求最大值和最小值,假设图像的分辨率为n ´ m,用
来表示第m列的像素点,则矩阵中每一列的最大值和最小值我们可以表示为:
紧接着计算出两幅图像的最大值
,
和最小值
,
。
3) 对两幅图像进行归一化处理以得到重构的彩色图像模具 [14] :
(1)
(2)
4) 进行色彩映射转移,将Mark2中的像素值转移到对应的Mark1中的像素点上,使分层后的灰度图像具有与原图像相同的色彩结构。转换结果如图3所示。
3. 利用分层PCA生成显著图
不要主成分分析(PCA)是多元统计分析中用来分析数据的一种方法,它是用一种较少数量的特征对样本进行描述以达到降低特征空间维数的方法。本文所提出的算法是针对分层的显著目标包含的像素附近区域独特的结构和颜色特征作为主元成分参考,重构一幅融合两种特征的显著图。由于分层的结果,使得每层图像的集成模式和颜色模式均不同于其他图像,由上一小节内容可知,分层的图像中总是存在一
Figure 3. Rendering map by color conversion
图3. 色彩转换效果图
层背景信息减少而突出显著目标的图像,因此,通过计算每层图像的显著性,进而找出最接近真值的结果输出。实验结果图4所示,其中(a)~(h)分别代表其上方所对应的分层图像的显著图。算法的具体计算过程如下所述。
3.1. 提取结构特征
除为了提高结构特征计算的效率,本文提出了一种基于主成分分析(principal component analysis, PCA) 的结构特征计算方法 [20] 。
首先对彩色分层图像进行主成分分析,然后将每层图像分成大小为9 × 9的图像块,N表示分割后图像块的总个数。对于单层图像来讲,每一个以像素点i为中心的图像块用
表示,则平均图像块
可定义为 [20] :
(3)
接下来,我们沿着主成分方向计算出每一个图像块
与平均图像块
之间的距离
;并以此距离的大小来判定一个图像块是否具有显著的结构特征,每个图像块的位置坐标用其中心像素点
表示,平均图像块的位置用
表示。则
定义式如下 [20] :
(4)
其中,
是两个图像块之间的方差。
判决规则:
较大时,图像块具有显著特性,反之为普通图像块。从数学含义上讲,结构特征的提取归结为在PCA坐标系统中计算
的L1范数,因此,进一步定义结构特征
为 [20] :
(5)
Figure 4. Significantly map of layered image
图4. 分层图像显著图
式中:
为
在PCA坐标系下的坐标。
表示L1范数的运算符号。
3.2. 提取颜色特征
尽可能使用国际尽管结构特征的提取可以找出图像中最独特的图块,但并不是适用于所有图像。如图5所示:图中各个球体的结构特征相同,但颜色不同,这种情况下则认为颜色特征更特殊的为显著区域,因此颜色特征的提取必不可少。
这里,采用两个步骤来检测颜色差异的图像块。第一步:采用简单的线性迭代聚类超像素分割法将每层图片分隔成若干个图像块,然后再确定哪个图像块具有独特的颜色特征。第二步,把YCbCr颜色空间中该图像块与其他图像块的距离之和定义为该图像块的颜色差异。这里,用
表示第i个图像块在色彩空间中的位置,
表示第j个图像块的位置。从数学含义上讲,对图像块
提取颜色特征是在PCA坐标系统中计算它的L2范数。因此,我们把
的颜色特征
定义为 [20] :
(6)
上式中,
表示两个图块之间的距离。
表示L2范数的运算符号。M表示超像素分割后的图块总数。
3.3. 结构特征与颜色特征的显著性融合
对单一的图像结构特征或者颜色特征都无法有效地表征显著目标的所有信息。为了得到准确的显著目标,我们将各层图像的结构特征和颜色特征相结合来检测不同层图像的显著区域。这里,我们采用的融和特征规则通过式(7)得到:
(7)
之后,通过归一化将融合特征限制到[0,1]范围内。
由于视觉上显著像素往往是集群形式,它们一般对应于真实场景中的物体,为了进一步修正显著模型,人们通常采用中心先验的方法将目标区域放在近似中心处。基于中心先验的算法 [21] 通常以目标位于图像中心作为假设条件,通过用一个峰值位于中心的高斯函数定义中心先验权重,根据权重分布不同从而有层次地突出位于图像中心的目标显著值。这里,用不同阈值下的像素集表示不同的目标区域,阈值均匀分布在[0,1]区间(均匀的取10个阈值)。因此,中心先验计算过程如下;
1) 用融和特征映射D(pi)检测不同层的像素集,计算每个阈值结果的重心。
2) 每个重心放置一个δ设为10,000的高斯分布,计算各个阈值相应的高斯权重。
3) 在各层图像中心处增加一个权重为5的高斯分布,提高中心位置的权重。
用高斯权重映射
表示所有高斯分布的加权和,根据权重分配的差异给予不同的显著优先级。
因此,可以进一步定义显著性映射,将融合特征映射和高斯权重映射相结合,得到突出中心目标的融合显著图
,即:
(8)
3.4. 最优结果判决
经过特征融合可以得到检测结果不同的多幅显著图,运用一种判决方法,使得输出的图像噪声最小,信息量最多。
在信息论当中,熵是一个比较基础的概念,它代表了在随机事件当中的平均信息量。信息熵往往暗含着图像信号中前景与背景噪声的分布情况。一般情况下,若是一幅图像显著区域越明显,那么它在整幅图像的表现上就越突出,同时重复出现的背景区域也就抑制的较多。因此,显著区域在直方图上也就聚集在某一特定区域值里面,同时提供了较小的信息熵。基于这一事实,通常的规则为:最小的信息熵对应最佳的显著图。对于一幅图像信号X来说,其信息熵定义为:
(9)
在式中,
表示的是图像X在第i行第j列的像素灰度值,
意味着在图像X中,
发生的概率,Ens代表的是图像信息熵。
那么最佳尺度的显著图
可以表示为:
(10)
对分层PCA处理后的多层显著图计算信息熵,结果如下表所示:
表1中数据为图6所示各个图像的信息熵。利用上述信息熵判定规则对8层图像进行判决,选择信息熵最小的图像作为最优结果输出,由此得到背景信息最少的显著图也就是最终结果图。
4. 实验结果及分析
分别在MSRA-1000、ASD-1000、ESSCD-1000等数据集上对上面所提出的分层PCA显著性目标检测算法进行了测试,并与几种经典ITTI (IT)、GBVS (GB)、SR、LC、HS等进行了比较。所产生的结果分别由文献 [1] 、 [2] 、 [3] 、 [15] [22] 、作者主页所提供的原码或可执行软件在各个数据集上测试生成。CHS [23] 采用文献 [23] 作者主页提供的在ECCSD数据集上生成的原始数据。视觉对比结果如图7所示。此外,为了客观的评价检测结果,我们用准确率(PRE)、召回率(REC)和F-measure (FME)等性能参数各种算法进行了评估。准确率、召回率和F-measure定义式如公式(11)~(13)所示:
Table 1. Entropy of hierarchical image information
表1. 分层图像信息熵
Figure 6. Significantly figure of hierarchical PCA
图6. 分层PCA显著图
Figure 7. Results of algorithm contrast
图7. 算法结果对比图
(11)
(12)
(13)
其中,TP表示检测出的显著目标的像素个数,TN表示将背景正确划分为背景类的像素个数,FP表示提取出错误背景的像素个数,FN表示将显著目标错误划分为背景类的像素个数。
图8所示为在3个公共数据集上,不同显著性检测算法的PR 曲线,图9为图8所示各个算法结果的F-measure对比直方图。可以看出,由于数据集ESSCD图像识别率较高,HS,LC算法的准确率超过90%,但F-measure值较低。在较为复杂的MSAR数据集上,各个算法在一定程度上降低了召回率,并且IT、GB、LC等算法的F-measure值明显降低。在较为简单的ASD数据集上,GB算法的召回率较高,
Figure 8. P-R curve of different data sets
图8. 不同数据集P-R曲线
Figure 9. Contrast histogram of F-measure value
图9. F-measure值对比直方图
HS算法在准确率与F-measure值上有一定的优势。总体上,本文算法在不同数据集上的准确率均超过90%,并且平均F-measure值高于其他算法,检测效果稳定,鲁棒性较好。
5. 结论
本文提出了一种基于分层PCA技术的显著性目标检测算法。实验结果表明,所提出算法能够减少背景噪声干扰,有效的将背景与目标分离,在检测精度、召回率以及F-measure参数等方面具有一定优势,同时保留了机器学习方法在提升显著性检测效果方面的优良特性。因此,分层PCA显著性检测技术是一种有效的复杂背景下的目标检测方法。分层PCA算法无法同时对图像中的所有信息进行分析,当图像背景中的物体与目标对象拥有同等级的亮度及分辨率时,难以提取出完整的目标信息。因此,本文下一步的工作目标是针对这一问题进行研究,进一步提高整幅图像的信息利用率以得到更精确的显著目标信息。