纹理特征是图像重要的底层特征之一,在图像的分类和识别中有重要作用[1]。纹理特征通过描述像素在邻域空间的分布规律来表示对应的物体表面特征,并不依赖独立的像素点而存在,是对局部多个像素点的统计计算而得到的特征[2]。
常用的纹理特征的表示方法有:灰度共生矩阵、分型理论、小波理论和马尔可夫随机场等[3]。灰度共生矩阵通过利用不同像素点之间的灰度值联合概率密度表示图像纹理特征;分形理论通过把图像的空间信息和灰度信息有机地结合起来,提供了一种基于参数化的纹理特性描述方法,能够较准确地表达纹理特征[4];小波理论的多分辨率特性,可以得到图像在不同尺度下的纹理结构特征,这种方法更符合人眼的视觉处理方式并且小波理论对噪声的鲁棒性较好;马尔可夫随机场利用一致性的建模方法能够描述图像相邻像素之间的上下文约束关系这一特性,来实现对图像纹理的提取。但是以上几种方法的计算复杂度较大,很难处理边缘模糊并且光照条件多样的图像[5]。
在Ojala等[6]利用局部二值模式(Local Binary Pattern,LBP)算法实现对纹理特征的提取之后,LBP算法凭借其原理相对简单、计算复杂度低,同时融合纹理结构特征和统计特征的优点在纹理分析领域得到了广泛的应用[7-8]。在LBP算法的基础上,很多学者提出了不同的改进算法,比如:局部三值模式(Local Ternary Pattern,LTP)[9]、局部相位量化(Local Phase Quantization,LPQ)[10]、局部Gabor二值模式(Local Gabor Binary Pattern,LGBP)、抗噪局部二值模式(Noise-Resistant Local Binary Pattern,NRLBP)、完备局部二值模式(Completed Local Binary Pattern,CLBP)[11]和成对旋转不变共生局部二值模式(Pairwise Rotation Invariant Co-occurrence Local Binary Pattern,PRICoLBP)[12-13]等。其中PRICoLBP算法凭借成对共生特性能够描述更加复杂的纹理结构和高阶特征信息的优势[14-16],相比LBP算法具有较强的识别能力。但是这种算法得到的特征维度过大,光照鲁棒性差,旋转不变性较差。为此,本文在原有算法的基础上引入CLBP特征,使提取的图像特征维度由1180维降低到300维,并且 CLBP特征对光照的稳定性要优于LBP特征。像素点的梯度会随着图像旋转而发生变化,原算法根据梯度计算出的相关共生点对随之变化;本文算法通过最大化和最小化像素点的二值序列得到相关共生点对,共生点对不会因图像旋转变化而改变,故能够提取具有特定关系像素点对的纹理特征。
1 局部二值模式算法 1.1 LBP特征局部二值模式特征通过比较中心像素点与邻域像素点的灰度值大小的差别,来表示中心像素点的局部纹理结构信息。其数学描述如下:
$\begin{align} & LB{{P}_{N,R}}=\sum\limits_{i=0}^{N-1}{{{2}^{i}}s\left( {{g}_{i}}-{{g}_{c}} \right);} \\ & s\left( x \right)=\left\{ \begin{array}{*{35}{l}} 1,x\ge 0 \\ 0,\text{ 其他} \\ \end{array} \right. \\ \end{align}$ | (1) |
其中:gi(i=1,2,…,N)表示以gc为中心的邻域像素点的灰度值;R为邻域半径。
1.2 CLBP特征完备局部二值模式从灰度值大小关系特征(CLBP-Sign,CLBP_S)、灰度值差值幅值特征(CLBP-Magnitudes,CLBP_M)和像素点灰度值与全局平均灰度值的大小关系特征(CLBP-Center,CLBP_C)这三个角度描述像素点的纹理特征,最大化提取了单个像素点的图像灰度纹理信息。CLBP特征的数学描述如下:
$\begin{align} & CLBP\_{{S}_{N,R}}=\sum\limits_{i=0}^{N-1}{{{2}^{i}}s\left( {{g}_{i}}-{{g}_{c}} \right);} \\ & s\left( x \right)=\left\{ \begin{array}{*{35}{l}} 1, x\ge 0 \\ 0, 其他 \\ \end{array} \right. \\ \end{align}$ | (2) |
$\begin{align} & CLBP\_{{M}_{N,R}}=\sum\limits_{i=0}^{N-1}{{{2}^{i}}t\left( {{m}_{N}},c \right)}; \\ & t\left( x,c \right)=\left\{ \begin{matrix} 1, x\ge c \\ 0, x\,<c \\ \end{matrix} \right. \\ \end{align}$ | (3) |
$\begin{align} & CLBP\_{{C}_{N,R}}=t\left( {{g}_{c}},{{c}_{I}} \right); \\ & t\left( x,c \right)=\left\{ \begin{matrix} 1, x\ge c \\ 0, x\,<c \\ \end{matrix} \right. \\ \end{align}$ | (4) |
其中:mN表示中心像素点和邻域像素点差值的大小;c代表局部图像中mN的均值;cI表示全局灰度均值,其他参数见式(1)。
1.3 成对旋转不变共生LBP特征PRICoLBP特征通过计算图像中像素点A梯度方向,得到图像中像素点A的共生特征点B和点C,然后利用(A,B)和(A,C)两个点对的LBP特征共同表示在A点处不同方向上较大尺度的局部图像纹理结构信息,此外(A,B)和(A,C)两个点对之间的相对角度还能够描述高阶特征信息,因此PRICoLBP特征在处理具有较大纹理结构的图像时具有较好的识别能力。PRICoLBP算法的数学描述如下:
$PRICoLBP\left( A,B \right)={{\left[ f(A),f(B) \right]}_{co}}$ | (5) |
$f\left( A \right)=LB{{P}^{riu2}}\left( A \right)$ | (6) |
$f\left( B \right)=LB{{P}^{ru}}\left( B,i\left( A \right) \right)$ | (7) |
$i\left( A \right)=arg\underset{i\hat{I}\{0,n-1\}}{\mathop{max}}\,\left\{ ROR\left( LB{{P}_{n}}_{,r}\left( A \right),i \right) \right\}$ | (8) |
$B=a*g\left( A \right)+b*n\left( A \right)+A$ | (9) |
其中:LBPriu2是一致旋转不变模式;LBPru是一致模式;i(A)是最大化A点的LBP二值序列得到的序列起始点; LBPru(B,i(A))是以i(A)为起始点的二值序列;g(A)和n(A)分别表示A点的单位梯度方向和单位法线方向;a和b表示的是模板值分别取(0,3)和(3,0);A代表点A在图像中的坐标位置。
2 改进的PRICoLBP算法现针对PRICoLBP算法旋转不变性较差、特征维度过大、光照鲁棒性差的缺陷提出一种融合CLBP_S/M算法的改进PRICoLBP算法。在PRICoLBP算法中,共生点对的选取与图像的梯度方向有关,而根据图像梯度的定义[17]可知,图像旋转时得到的梯度方向会发生变化,得到的共生点对会随之变化,最终提取的纹理特征信息会随之发生变化。本文算法通过分别最大化和最小化中心像素点的二值序列构建新的坐标系,而图像发生旋转变化时,该坐标系会随之旋转,在该坐标系下得到的共生点对与中心像素点的相对位置关系不会因为图像旋转变化而改变。由于 CLBP_M特征提取的是图像中心像素点与邻域像素点灰度值差值信息,对于光照变化具有较强的鲁棒性,而CLBP_S特征与LBP特征提取的是相同的特征信息,故CLBP_S/M特征比LBP特征具有更好的光照稳定性并且能够提取更丰富的纹理信息。此外,相比PRICoLBP的1180维特征(10×59×2),本文算法的特征维度只有300维(10×10×3),不需要进行后续的主成分分析(Principle Component Analysis,PCA)降维处理。
2.1 共生点对的选取本文算法通过分别最大化和最小化中心像素点的二值序列值得到两个相关的邻域像素坐标点,以中心像素点和计算得到的两个邻域像素坐标点构建坐标系,在新的坐标系中计算共生点对的坐标位置。从图 1本文算法的编码示意图可以看出,图像旋转时,A点的最大化和最小化二值序列对应的像素点坐标位置与A点坐标位置的相对距离不变,因此计算得到的共生点B和共生点C这两点的位置与A点的位置关系保持不变,故通过统计A点,B点和C点这三个点的纹理特征得到的纹理信息不会随图像的旋转发生变化。
${{A}_{i}}=arg\underset{i\hat{I}\{0,n-1\}}{\mathop{max}}\,\left\{ ROR\left( LB{{P}_{n}}_{,r}\left( A \right),i \right) \right\}$ | (10) |
${{B}_{i}}=arg\underset{i\hat{I}\{0,n-1\}}{\mathop{min}}\,\left\{ ROR\left( LB{{P}_{n}}_{,r}\left( A \right),i \right) \right\}$ | (11) |
$B=a*{{X}_{max}}\left( A \right)+b*{{Y}_{min}}\left( A \right)+A$ | (12) |
$C=b*{{X}_{max}}\left( A \right)+a*{{Y}_{min}}\left( A \right)+A$ | (13) |
其中:Ai为最大化A点的二值序列得到的坐标点位置;Bi为最小化A点的二值序列得到的坐标点位置;Xmax(A)为通过A点和Ai计算得到的坐标方向;Ymin(A)为通过A点和Bi计算得到的坐标方向;其他参见式(9)。
2.2 像素点的特征提取文献[11]指出在LBP算法中,除了灰度值大小关系特征,灰度差值幅值特征对于提高LBP算法识别率有重要作用,因此将这两种特征级联起来作为目标像素点的特征能够增强算法的识别能力。本文算法特征提取的具体数学描述如下:
$PRICoLBP\left( A,B,\left. C \right) \right.={{\left[ f\left( A \right),f\left( B \right),f\left( C \right) \right]}_{co}}$ | (14) |
$f\left( A \right)=CLBP\_S/M\left( A \right)$ | (15) |
$f\left( B \right)=CLBP\_S/M\left( B,i\left( A \right) \right)$ | (16) |
$f\left( C \right)=CLBP\_S/M\left( C,i\left( A \right) \right)$ | (17) |
本文算法的具体计算流程如下:
1) 最值化A点的二值序列,找出最大值序列和最小值序列对应的像素点在图像中的坐标位置。
2) 计算图像中每个像素点在不同模板值下的两个共生点B和C。
3) 根据式(6)得到i(A),然后分别计算这三个像素点的CLBP_S和CLBP_M后,将得到的二进制码值放入对应的坐标系中进行统计归类。其数学描述如下:
$H\left( x,y,n \right)=H\left( x,y,n \right)+M\left( T \right)$ | (18) |
其中:T表示像素点的坐标;M(T)表示图像中在T点处的梯度幅值;n的取值为(1,2,3)。
4) 将得到的直方图送入分类器中进行分类训练。
3 实验数据选取与实验结果分析 3.1 实验参数和实验数据的选取本文分别选取了Brodatz、CUReT、Outex和KTH_TIPS数据库提供的纹理图像特征验证本文算法的可行性与有效性。其中:LBP模式都为一致旋转不变模式;邻域像素点数目为8;邻域半径为1。在LTP和NRLBP中区间值为3。每次实验重复100次,每个图库中的训练样本随机选取。本文利用χ2核支持向量机(Support Vector Machine,SVM)的方法用于分类,文献[18]指出使用一对多的SVM训练策略得到的识别率要优于一对一的SVM训练策略,因此本文中使用一对多的SVM训练策略。
Brodatz数据库共有112张不同的图像,现将每张图片裁剪成8张,随机选取4张作训练,剩余作测试,Brodatz数据库中部分图像如图 2所示。CUReT数据库有61类共5612张图片,此数据库中大部分图像的纹理结构较小并且不同类别的图像因拍摄角度和光照条件的变化在视觉上表现出很大的相似性,故该图库对算法的光照稳定性和旋转不变性要求较高,现在随机选取46张作训练,剩余46张图片作测试,CUReT数据库中部分图像如图 3所示。
在Outex数据库中选取编号为Outex_TC_00010(TC10),Outex_TC_00012(TC12)和Outex_TC_00014(TC14)图库进行实验,在TC10图库中有24类共4320张图片,每类图片在9个拍摄角度下各有20张,光照条件一致。TC12图库中有三种光照条件,分别是Inca、Horizon和TL84,其中除Inca光照条件下每类图片只有一个拍摄角度共20张,其余两种光照条件下的图片有9个拍摄角度,现随机选取20张图片作训练,剩余图片作测试。TC14图库中共有68类共4080张图片,每类图片在Inca、Horizon和TL84共三种光照条件下各20张,现随机选取30张图片作训练,剩余图片作测试。Outex数据库中部分图像如图 4所示。
KTH_TIPS数据库共有10类810张图像,每类图像的光照条件、拍摄角度和尺度不同,随机选取40张作训练,剩余作测试,图 5中的6幅图像都是orange_peel在不同光照、不同拍摄角度、不同尺度下的图像。
由表 1和表 2可以看出,在Brodatz数据库和Outex数据库中融合PRICoLBP算法和CLBP_S/M/C算法的PRICoLBP/CLBP_S/M/C算法识别率高于本文算法和其他LBP算法,而在KTH_TIPS数据库中,PRICoLBP/CLBP_S/M/C算法的识别率明显低于其他LBP算法,通过对三类图库中图像类型的分析可知,PRICoLBP/CLBP_S/M/C算法不适合处理多尺度的图像,而本文算法在处理多尺度的图像时具有较高识别率。
对于图像光照条件不变的Brodatz数据库和Outex(TC10,TC12)数据库,本文算法的识别率比PRICoLBP/CLBP_S/M/C算法的识别率降低了0.15个百分点和0.03个百分点。对于仅有光照变化的Outex(TC14)数据库,本文算法的识别率比PRICoLBP/CLBP_S/M/C算法的识别率降低了0.92个百分点。但是对于光照条件和拍摄角度都发生变化的CUReT数据库,本文算法的识别率比PRICoLBP/CLBP_S/M/C算法的识别率增加了0.8个百分点。对于具有多尺度特性的KTH_TIPS数据库,PRICoLBP/CLBP_S/M/C算法的识别率出现异常下降的现象,对于出现这种现象的原因有待进一步分析。由本文算法和PRICoLBP/CLBP_S/M/C算法在处理不同图像时识别率的波动可以看出,本文算法具有较好的普适性,此外本文算法的特征维度为300维,相比PRICoLBP/CLBP_S/M/C算法的特征维度(1380维),具有较低的计算维度。
由表 1可以看出:在图像拍摄角度相同条件下,对于光照条件不变的Brodatz数据库,本文算法的识别率相比PRICoLBP算法提高了0.17个百分点,对于光照条件变化的Outex(TC14)数据库,本文算法的识别率相比PRICoLBP算法提高了2.65个百分点;而对于拍摄角度和光照均发生变化的KTH_TIPS数据库,本文算法的识别率相比PRICoLBP算法提高了2.04个百分点。表 1实验结果验证了本文算法比原有算法对光照具有更好的鲁棒性。
由表 2可以看出,在三种不同的光照条件下,当数据库中图像的旋转角度发生变化时本文算法的识别率相比PRICoLBP算法均有提高;在Outex(TC10,TC12)数据库中,本文算法的平均识别率相比PRICoLBP算法有0.24个百分点的提升,表明本文算法相比于原有算法具有较好的旋转不变性。
对CUReT数据库的实验进一步验证了本文算法对光照条件不同和旋转角度变化的鲁棒性,从表 3中可以看出本文算法的识别率相比PRICoLBP算法有2.39个百分点的提升,并且本文算法在该数据库中的识别率高于其他LBP算法的识别率。
PRICoLBP算法仅考虑多方向纹理特征的提取,并且因其对共生点的选取方式使算法的旋转不变性较差。本文算法在增强对旋转变化的稳定性的同时,还融合了更多的像素纹理信息以提高算法的识别能力,有效提高了PRICoLBP算法对旋转角度和光照条件变化的鲁棒性。
由于数据库中图像纹理结构组成成分单一,图像中无噪点,而实际中图像纹理结构组成成分多样,还包含各种噪点。因此,下一步的研究工作是,提高算法对纹理结构复杂图像的识别能力,以及如何增强算法的抗噪性。
[1] | 翟俊海, 赵文秀, 王熙照. 图像特征提取研究[J]. 河北大学学报(自然科学版), 2009, 29 (1) : 106-112. ( ZHAI J H, ZHAO W X, WANG X Z. Research on the image feature extraction[J]. Journal of Hebei University (Natural Science Edition), 2009, 29 (1) : 106-112. ) |
[2] | 刘丽, 匡纲要. 图像纹理特征提取方法综述[J]. 中国图象图形学报, 2009, 14 (4) : 622-635. ( LIU L, KUANG G Y. Overview of image textural feature extraction methods[J]. Journal of Image and Graphics, 2009, 14 (4) : 622-635. ) |
[3] | 李春利, 沈鲁娟. 基于改进LBP算子的纹理图像分类方法[J]. 计算机工程与设计, 2016, 37 (1) : 232-236. ( LI C L, SHEN L J. Texture image classification method based on improved LBP operator[J]. Computer Engineering and Design, 2016, 37 (1) : 232-236. ) |
[4] | 刘豪, 杨永全, 郭仙草, 等. 用于纹理特征提取的改进的LBP算法[J]. 计算机工程与应用, 2014, 50 (6) : 182-185. ( LIU H, YANG Y Q, GUO X C, et al. Improved LBP used for texture feature extraction[J]. Computer Engineering and Applications, 2014, 50 (6) : 182-185. ) |
[5] | 曹家梓, 宋爱国. 基于马尔可夫随机场的纹理图像分割方法研究[J]. 仪器仪表学报, 2015, 36 (4) : 776-786. ( CAO J Z, SONG A G. Research on the texture image segmentation method based on Markov random field[J]. Chinese Journal of Scientific Instrument, 2015, 36 (4) : 776-786. ) |
[6] | OJALA T, PIETIKÁINEN M, HAWOOD D. A comparative study of texture measure with classification based on featured distributions[J]. Pattern Recognition, 1996, 29 (1) : 51-59. doi: 10.1016/0031-3203(95)00067-4 |
[7] | ZHANG L, CHU R F, XIANG S M, et al. Face detection based on multi-block LBP representation[C]//ICB'07:Proceedings of the 2007 International Conference on Advances in Biometrics, LNCS 4642. Berlin:Springer-Verlag, 2007:11-18. |
[8] | SONG C Y, YANG F J, LI P J. Rotation invariant texture measured by local binary pattern for remote sensing image classification[C]//ETCS2010:Proceedings of the 2010 Second International Workshop On Education Technology and Computer Science. Washington, DC:IEEE Computer Society, 2010, 3(3):3-6. |
[9] | TAN X Y, TRIGGS B. Enhanced local texture feature sets for face recognition under difficult lighting conditions[J]. IEEE Transactions on Image Processing, 2010, 19 (6) : 1635-1650. doi: 10.1109/TIP.2010.2042645 |
[10] | OJANSIVU V, HEIKKILÄJ. Blur insensitive texture classification using local phase quantization[C]//ICISP'08:Proceedings of the 3rd International Conference on Image and Signal Processing, LNCS 5099. Berlin:Springer-Verlag, 2008:236-243. |
[11] | ZHAO Y, HUANG D S, JIA W. Completed local binary count for rotation invariant texture classification[J]. IEEE Transactions on Image Processing, 2012, 21 (10) : 4492-4497. doi: 10.1109/TIP.2012.2204271 |
[12] | QI X B, XIAO R, LI C G, et al. Pairwise rotation invariant co-occurrence local binary pattern[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2014, 36 (11) : 2199-2213. doi: 10.1109/TPAMI.2014.2316826 |
[13] | QI X B, LU Y, CHEN S F, et al. Spatial co-occurrence of local intensity order for face recognition[C]//ICMEW 2013:Proceedings of the 2013 International Conference on Multimedia and Expo Workshops. Piscataway, NJ:IEEE, 2013:1-6. |
[14] | YUAN J S, YANG M, WU Y. Mining discriminative co-occurrence patterns for visual recognition[C]//CVPR 2011:Proceedings of the 2011 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, NJ:IEEE, 2011:2777-2784. |
[15] | ZHANG Y, JIA Z, CHEN T. Image retrieval with geometry-preserving visual phrases[C]//CVPR 2011:Proceedings of the 2011 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, NJ:IEEE, 2011:809-816. |
[16] | 刘丽, 谢毓湘, 魏迎梅, 等. 局部二进制模式方法综述[J]. 中国图象图形学报, 2014, 19 (12) : 1696-1720. ( LIU L, XIE Y X, WEI Y M. Survey of local binary pattern method[J]. Journal of Image and Graphics, 2014, 19 (12) : 1696-1720. ) |
[17] | RAFAEL C G, RICHARD E W. Digital Image Processing[M]. Beijing: Publishing House of Electronics Industr, 2011 : 454 -455. |
[18] | AKATA Z, PERRONNIN F, HARCHAOUI Z, et al. Good practice in large-scale learning for image classification[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2014, 36 (3) : 507-520. doi: 10.1109/TPAMI.2013.146 |