基于BAG—OF—FEATURES算法的三维表面纹理光照方向估计
2014-01-03董军宇杨占宾
董军宇 杨占宾
【摘要】本文设计出基于Bag-of-features算法针对纹理阴影特征进行分类训练,然后通过基于Haar特征的Active Basis模型对测试纹理与已知光照方向的训练集纹理进行匹配,从而确定测试纹理光照方向tilt角度(光源向量在平面坐标系x-y平面上的投影与x轴的正向夹角)的判断方法。
【关键字】三维表面纹理,光照方向,Bag-of-featu res,SIFT,Active Basis
【中图分类号】TP391.41 【文献标识码】A 【文章编号】1672-5158(201 3)04-0421-01
一、引言
三维表面纹理表面结构通常蕴含更为丰富的物体表面信息,凹凸不平的纹理表面使得物体对光照反映出迥然不同的反射特性,不同的光照条件乃至光照方向的改变都使得物体表面呈现出多种不同的形态。在计算机视觉和感知领域中,三维表面纹理的这种特性也使得对三维表面纹理所处光照条件以及光照方向的估计判断具有重要的实际意义。
二、Bag-of-features模型
Bag-of-features算法的思想和步骤可以简要描述如下:(1)检测图像中包含的图像块并生成指定的描述算子。检测图像块的方法有很多,一般可以分为随机采样法,密集采样法和基于特征点的块提取方法。基于特征点的图提取算法常用的有DoG(Difference nfGanssian)、LoG(Laplacian of Ganssian)、Harris-Laplace等。常用的特征描述算子有sIFr,GLOH等,本文将采用SIFT作为特征描述符;(2)在描述子空间内进行聚类,以聚类质心的集合形成每幅图像所对应的码书;(3)对每一幅图像,建立特征点的频度向量直方图,对该向量根据需要进行归一化或加权操作。
我们采用K-means聚类方法对图像中每个被SIFT特征描述符所表示的图像块组成的集合进行聚类以后,提取每个类聚的中心作为码字,这些码字的集合就可以被称为一幅图像所对应的码书。为了分类方便,我们通常需要将所得的码书进行格式转换(例如,将码书转换为频率直方图或者加权频率直方图);并且为了适应分类器使得分类结果更加稳定还要做进一步的归一化操作。码书本身的大小对于图像描述的稳定性也有一定的影响。如果码书向量维度过大,也就意味这聚类中心比较多,对图像的描述更加细致,从而导致码书计算的复杂度相对较高且更容易受到图像本身质量(比如噪声)的影响;如果码书向量维度过小,则容易漏掉图像所含的信息,不足以完整描述图像特征。所以码书的计算方法以及大小的选择应该同时考虑到算法效率以及图像本身的情况。
可应用于Bag-of-features算法的分类方法大致可分为以下两类:一种是生成模型,包括朴素贝叶斯分类其(NaYve Bayes)、分级贝叶斯模型(Hierarchical Bayesian),分级贝叶斯模型又包括PLSA(Probabilisticlatent semantic analysis,基于概率的潜在语义分析)和LDA(LinearDiscfiminant Analysis,线性判别分析)等;另一种是判决模型,一般包括SVM(Support Vector Machine,支持向量机),AdaBoost以及最近邻法(Nearest neighbor)等。在实验过程中,我们采用SVM作为Bag-of-features算法的分类器。
三、基于Haar特征的Active Basi s模型简介
原始的Active Basis虽然能够很好的提取物体边缘特征,但是由于Gabor滤波器设计本身的计算复杂度就比较高,所有算法的整体时间效率因此降低。Junyu Dong et al.在此建模方法的基础上进一步做了改进以适用于纹理图像的边缘特征提取,他们采用计算效率较高且实现简单的Haar特征作为边缘提取特征代替Gabor滤波。为了方便计算Haar特征矩形的特征值,Junyu Dong et al.还提出了使用多角度积分图索引的方法提高计算速度,并且优化其特征边缘,提出一种新的Haar特征变形一
Active Haar。
模型的训练过程包含以下三个步骤:
(一)对于每一幅纹理图像,从图像左上角开始滤波,分别计算每个base的Haar响应;
(二)从滤波结果中中提取Haar响应值最大的,作为第一个备选base,计算从左上角重新开始,继续滤波(由于Active base允许沿法向量方向变换其位置,并可自由旋转一定角度,因此,当第一个base被选中后,与相关的active base将被重置,以避免在后续的建模过程中重复选中);
(三)重复步骤(2),直到算法选择了算法指定数量的base,结束。
四、实验过程及结果
我们首先通过Bag-of-features算法构建数据库中可以唯一描述纹理特性的码书和图像块频率直方图;然后依据此直方图向量集通过SVM分类算法对已知光照方向的训练集纹理进行分类,同时对测试集纹理预测其在训练集中所属分类;匹配成功的纹理将通过基于Haar特征的Active Basis进行纹理光照信息提取,构造测试纹理和与其对应的训练集同类纹理的base直方图;最后通过base直方图匹配确定测试纹理图像的光照方向。
本实验所涉及的纹理数据均来自Photex数据库。根据我们所获得的实验结果显示,本方法在测试纹理所属分类在训练集中一定存在时能够获得很好的结果,总的光照方向估计准确率达到87.4%。在实验二中,我们取15组纹理中的同一幅纹理在不同光照下产生的一组纹理作为测试集,其他14组纹理作为训练集。在与实验一相同的实验条件下,计算其光照方向估计的准确率达到70.25%。
五、总结与展望
本文提出的方法不仅有效提高了三维表面纹理光照方向判断的准确率,而且针对判断失误的情形,尤其是当测试纹理所属分类不在训练集中出现时,仍然可以得到较高的估计准确率,为日后针对此问题的研究提供判断依据和研究资料。同时,实验证明采用SIFT特征作为图像块描述符的Bag-of-features算法能够有效描述三维表面纹理所包含的边缘信息以及较粗糙纹理的大块阴影信息。从而与基于Haar特征的Active Basis相结合提高判断准确度。
虽然本文所使用的方法,通过精确训练带光照训练集纹理,达到较高的光照估计准确度,但是仍然依靠于具有丰富分类信息的训练集。在保证训练集纹理种类健全的基础上能够得到更高的估计精度。除此之外,良好的训练算法和纹理特征能够有效提高其运算速度和估计准确率。因此未来应加大对三维表面纹理光照方向相关的内在特征的研究,推导出更好的更高效的训练分类方法。最好的方法是不依靠训练即可推导出其光照方向角度。而对于估计失败的纹理特例分析也将为未来的研究提供重要的实践支持。