文章信息
- 刘子豪, 祁亨年, 张广群, 汪杭军
- Liu Zihao, Qi Hengnian, Zhang Guangqun, Wang Hangjun
- 基于横切面微观构造图像的木材识别方法
- Wood Identification Method Based on Microstructure Images in Cross-Section
- 林业科学, 2013, 49(11): 116-121
- Scientia Silvae Sinicae, 2013, 49(11): 116-121.
- DOI: 10.11707/j.1001-7488.20131116
-
文章历史
- 收稿日期:2012-12-19
- 修回日期:2013-06-21
-
作者相关文章
2. 浙江农林大学天目学院 临安 311300
2. Tianmu College, Zhejiang A & F University Lin'an 311300
为了防止名贵家具造假、木材流通中非法交易行为,以及鉴别古树名木年份的需要,基于木材微观图像的计算机识别技术应运而生。近几年来越来越多的专家和学者将计算机视觉技术应用于木材微观图像的分类中,并取得了一些可喜的成就。
基于视觉的木材识别领域可分为2个研究方向:一是基于图像分割的木材识别,它通过提取图像中的木材语义特征来识别木材的树种(刘镇波,2004;王秀华,2005;管雪梅,2006;黄慧,2006);二是基于图像纹理的木材识别。目前图像分割技术在国际上还是一个难题,近几年来越来越多的学者对利用木材图像的整体纹理信息来判别树种产生了很大的兴趣。比如,何涛等(2009)将两方向二维PCA算法运用到木材体视图数据库中,这种木材图像获取途径比微观图像采集具有更大的便捷性;方益明等(2010)利用傅里叶变换对木材图像进行处理得到一组傅里叶变换功率谱图后,再利用独立成分分析算法提取功率谱图的整体特征,用SVM在一定程度上实现树种鉴别;汪杭军等(2011)采用主成分分析方法(PCA),通过提取“特征树”特征后,利用最近邻(KNN)和支持向量机(SVM)分别进行了针叶材分类的研究。
上面介绍的基于纹理特征的木材图像识别研究是基于PCA的特征提取方法。作为一种经典的特征提取和降维方法,PCA需要很大的存储空间且计算复杂,而核主成分分析(KPCA)方法可以将低维的数据空间映射到高维数据空间,在此空间中利用PCA提取样本的非线性特征,找出数据之间的关联性。
在分类器上,SVM对于不同数据样本的分类需要优化设置参数,且速度较慢。Freund和Schapire在1995年基于PAC(probably approximately correct)理论提出一种可以把若干弱分类器集合成强分类器的分类算法———AdaBoost(Freund et al.,1997),克服了Boosting需要提前知道每次训练中弱学习算法对训练样本的正确率的下限和精确度不高的缺陷。该分类器广泛应用于人脸识别(Yang et al.,2005)、红外目标检测(吴燕茹等,2011)等,并有了一些扩展。Lienhart等(2002)对4种AdaBoost算法(Discrete AdaBoost,Real AdaBoost,Gentle AdaBoost和Logit AdaBoost)进行了性能对比,并得出GentleAdaBoost算法在基于CART树的分类器下性能要高于其他几种算法。
基于以上分析,本文采用KPCA将木材样本映射到高维空间,再使用PCA对高维空间数据降维和特征提取后,通过Gentle AdaBoost分类器对待测试样本进行分类。结果表明,本方法可以实现对木材树种的有效分类。
1 材料与方法 1.1 试验材料本试验的木材样本取自浙江农林大学木材标本馆。选取青杨(Populus cathayana)、云杉(Piceaasperata)(早材)、云杉(晚材)、鹅掌楸(Liriodendron chinensis)、桤木(Alnus cremastogyne)、凹叶厚朴(Magnolia officinalis subsp. biloba)、大叶锥(Castanopsis megaphylla)、枫香(Liquidambarformosana)、红淡比(Cleyera japonica)、红豆杉(Taxuschinensis)、华南青皮木(Schoepfia chinensis)、金钱松(Pseudolarix amabilis)、落叶松(Larix gmelinii)(早材)、落叶松(晚材)、麻栎(Quercus acutissima)、栗(Castanea mollissima)、米槠(Castanopsis carlesii)、东北杨(Populus girinensis)、山核桃(Carya cathayensis)、树参(Dendropanax dentiger)、檀香(Santalum album)、巴比亚檀香(Santalum papuanum)、百日青(Podocarpus neriifolius)和紫弹树(Celtis biondii)24种木材样本,并采用OLYMPUS BX51显微镜和DP70数码显微成像系统采集显微图像。
将所得到的原始图像按照一定的比例进行截取,要求截取区域尽量不要靠近轮界线,可含少量木射线,但不含断裂、树脂道等其他组织或较大杂质,然后缩放至200×200像素统一大小的子区域,并将上一步获得的200×200像素子区域图像转换为256级灰度图像。试验用到的24种木材样本共包括1 248幅图像,每个树种类别中的样本数量并不相等。测试试验中,K-折交叉检验是常用的数据集检验方法,可以确保样本集均匀分布且试验样本的推广误差降到最低。但是该检验方法样本选择方式是随机的,不能确保每个类中的样本均匀分布于每次选择的样本中。Zeng等(1999)提出了DBSCV(distributionbalancedstratified cross-validation)方法,克服了子样本中各类别分配不均的情况,使选择子样本中类别数所占的比例与总体数据中每个类所占的比例相同,从而确保训练和测试数据的代表性,保证了试验结果的可靠、准确。本试验采用10-折的DBSCV检验方法,共做10次试验,最后的准确率是10次重复试验的均值。
1.2 基于KPCA木材特征提取核方法(Scholkopf et al.,1999)是解决非线性模式分析问题的一种有效途径,而核主成分分析(KPCA)作为其中比较有代表性的算法受到广泛重视。它的基本原理是通过非线性函数把输入空间映射到高维空间,在特征空间中进行数据处理。其关键在于通过引入核函数,把非线性变换后的特征空间内积运算转换为原始空间的核函数计算,从而大大简化计算量。因此可将KPCA作为提取木材微观图像特征的方法,将低维的图像数据空间映射到高维数据空间,在此空间中利用PCA对提取样本进行非线性特征提取高阶特征。具体过程如图 1所示。
假设有M个Rd空间中的木材样本图像x1,x2,…,xM,有非线性映射φ,将每个样本依次投影到高维特征空间Φ中(Rd维数远小于Φ),该过程表示为:
$ \begin{align} & ({{x}_{1}},{{x}_{2}},\cdots {{x}_{m}})\in \xrightarrow{\varphi } \\ & [\Phi ({{x}_{1}}),\Phi ({{x}_{2}}),\cdots \Phi ({{x}_{m}})]\in \Phi . \ \end{align} $ | (1) |
在满足Φ空间中数据中心化条件$\sum\limits_{j = 1}^M \varphi ({x_j}) = 0$后,特征空间中的协方差矩阵为:
$ C = \frac{1}{M}\sum\limits_{j = 1}^M {\Phi ({x_j})\Phi {{({x_j})}^T}} 。 $ | (2) |
其特征值λ和特征向量v,则有:
$ {C_v} = \lambda v。 $ | (3) |
考虑把v表示为Φ空间中所有特征向量Φ(x1),Φ(x2),…,Φ(xM)所张成的空间:
$ v = \sum\limits_{i = 1}^M {{\alpha _i}\Phi ({x_i})} 。 $ | (4) |
其中αi为特征系数,将式(2)和式(4)代入式(3),则有:
$ \begin{array}{l} \left[ {\frac{1}{M}\sum\limits_{j = 1}^M {\Phi ({x_j})\Phi {{({x_j})}^T}} } \right]\left[ {\sum\limits_{i = 1}^M {{\alpha _i}\Phi ({x_i})} } \right] = \\ \lambda \left[ {\sum\limits_{i = 1}^M {{\alpha _i}\Phi ({x_i})} } \right]。 \end{array} $ | (5) |
式(5)两边右乘Φ(xi),则有:
$ \begin{array}{l} \left[ {\frac{1}{M}\sum\limits_{j = 1}^M {\Phi ({x_j})\Phi {{({x_j})}^T}} } \right]\left[ {\sum\limits_{i = 1}^M {{\alpha _i}\Phi ({x_i})\Phi ({x_i})} } \right] = \\ \lambda \left[ {\sum\limits_{i = 1}^M {{\alpha _i}\Phi ({x_i})\Phi ({x_i})} } \right]。 \end{array} $ | (6) |
根据Mercer准则(Lienhart et al.,2003),定义M×M的核矩阵K,其中每个元素为:
$ {K_{ij}} = [\varphi ({x_i}) \bullet \varphi ({x_j})]。 $ | (7) |
其中“•”为向量内积。把式(7)代入式(6)后可简化为:
$ M\lambda K\alpha = {K^2}\alpha 。 $ | (8) |
由于核矩阵K非退化,式(8)两边同时乘以K-1后可简化为:
$ M\lambda \alpha = K\alpha 。 $ | (9) |
使用PCA方法求解式(9)得到特征值由大到小排列: λ1 ≥ λ2 ≥…≥λr,其对应的特征向量为α1,α2,…,αr,保留较大特征值所对应的特征向量,张成一个高维“特征树”空间:
$ {U_p} = ({\alpha _1},{\alpha _2}, \cdots ,{\alpha _t}),(t < r)。 $ | (10) |
每幅木材微观图像可以投影到由式(10)张成的子空间,并对应于子空间中的一点。同样,式(10)可以计算测试样本yi在该特征空间上的投影系数:
$ {W_i} = U_p^T({y_i} - m)。 $ | (11) |
其中,m表示所有训练样本的均值。这样一幅图像通过投影到子空间,利用式(11)得到的系数正交化后可得到KPCA子空间系数作为木材图像识别依据:
$ {W_{kpca}} = ({W_1},{W_2}, \cdots ,{W_t})。 $ | (12) |
该式即为木材图像所对应KPCA特征。
1.3 Gentle AdaBoost分类算法常用的AdaBoost算法有Real AdaBoost,DiscreteAdaBoost,Logit AdaBoost和Gentle AdaBoost(Friedman et al.,2000)。其中,Discrete AdaBoost要求输出结果限制定在二值范围之内,Real AdaBoost将要求放宽到实值,而对于Logit AdaBoost和GentleAdBoost却没有固定要求。同时试验结果表明,Gentle AdaBoost通常可以取得更好的效果,常用于集成分类中。其具体过程如图 2所示。
Gentle AdaBoost方法分类过程如下:
1)设有n个样本,每个样本对应的标签之间的关系可以记为:(x1,y1),(x2,y2),…,(xn,yn),其中yi ∈ {-1,1},yi=1表示为类别归属为y1的类别,yi=-1表示为类别归属为yi ≠ 1的类别。
2)初始化: wi=1/n(i=1,2,…,n)和H(x)=0;
3)for m=1:M
A.计算弱分类器: fm(x)=Pm(y=1|x)-Pm(y=-1|x),其中${P_m} = (y = 1|x) = \frac{{\sum\limits_{{y_i} = 1} {{w_i}} }}{{\sum\limits_{{y_i} = 1} {{w_i}} + \sum\limits_{{y_i} = - 1} {{w_i}} }}$和${P_m} = (y = - 1|x) = \frac{{\sum\limits_{{y_i} = - 1} {{w_i}} }}{{\sum\limits_{{y_i} = 1} {{w_i}} + \sum\limits_{{y_i} = - 1} {{w_i}} }}$表示当前权值下正负样本的概率。
B. H(x)=H(x)+fm(x);
C.权重更新: wi=wi•exp[-yi•fm(xi)](i=1,2,…,n);
D.权值归一化: ${w_i} = {w_i}/\sum\limits_{i = 1}^n {{w_i}} $;
4)生成强分类器:$sign[H(x)] = sign[\sum\limits_{m = 1}^M {{f_m}(x)} ]$(其中sign表示符号函数),利用M个弱分类器生成一个强分类器,增强样本分类能力。
2 结果与分析 2.1 算法识别率和时间比较为了提高木材图像识别算法效率,首先对木材数据库中每幅微观图像截取92×112像素尺寸大小;然后分别采用PCA,FisherTrees子空间方法来对比KPCA算法;另外,采用FDA,SVM分类器来对比Gentle AdaBoost算法,采用对比试验的方法来检验本文算法性能。其中,KPCA方法选取多项式核函数作为其核函数: K(i,j)=[a(x•y)+b]d,其中设置a=1,b=1,d=0.7,训练次数T=100。在3.0 GHz CPU/2G内存下采用MATLAB 2011b进行仿真试验。采用libsvm-3.12工具箱实现SVM训练与测试算法,其中SVM分类器选择线性核函数,惩罚因子设置为100,核函数参数σ=0. 01。使用1.2节KPCA算法和1.3节中Gentle AdaBoost分类算法,分别得出PCA,FisherTrees,KPCA与FDA,SVM,Gentle AdaBoost算法的识别率和运行时间,具体结果如表 1所示。
从表 1可以看出,不同分类和特征提取算法的性能差异很大,识别率在50%~90.13%之间变化,而分类错误样本数量从12变化到62。KPCA与Gentle AdaBoost组合方式的识别效果要优于其他方法,其中最高可达到90.13%。对于Gentle AdaBoost分类器,PCA和FisherTrees忽略了隐藏在数据之间高于二阶的相互映射关系,而KPCA可将低维数据空间映射到高维数据空间,把隐藏的高维信息显现出来,从而可以获得有效的木材特征信息。而KPCA在Gentle AdaBoost中表现出了较高的识别率。对于3种特征提取算法,只有PCA在SVM中的识别率好于在Gentle AdaBoost分类器中的效果,这是因为SVM会寻找对分类间隔贡献最大的特征维并赋予其不同的权值。从这点来看,它符合PCA特征空间的特性,但SVM运行所用的平均时间几乎是Gentle AdaBoost的3倍多,可见AdaBoost算法时间效率很高,对于KPCA与Gentle AdaBoost算法结合具有优越性。
接下来考察正确识别的样本图像和错误识别的样本图像,以分析算法和样本的特点。从表 1可看到,KPCA+Gentle AdaBoost的识别率是最高的,但仍有10%左右的错误率。图 3显示了分类正确的部分木材样本,而图 4列出了分类错误的样本。
从图 3和图 4可以看出,针叶材和阔叶材的不同对分类识别率具有较大的影响。在分类正确的样本中,针叶材样本占了相当大的比例;而在分类错误的样本中,则全部是阔叶材样本。这可以从针叶材和阔叶材的显微构造来解释:针叶材主要由管胞组成,它在显微图像上的整体形态和排列方式都呈现一定的规律。通过KPCA提取的识别特征,可以很好地捕捉到这些特征,具有大小和排列相似的管胞所形成的特征会归为同一个类别。然而对于阔叶材,情况则不同。从图 4可以看出,由于图像截图的不同,主要的木材细胞组织,例如导管、木射线和轴向薄壁组织,即使在同一树种中,其大小、分布也存在着较大差异,而且其中细胞含有的杂质、图像的噪声等因素也会影响最终的识别结果。因此,针对阔叶材的特点,如何采取改进措施是进一步提高整个木材识别效果的一条途径。
2.2 图像尺寸与识别率的关系为了获得不同的图像尺寸,采用Matlab的imresize函数,获得木材数据库样本图像对应的16×16、32×32、64×64和100×100共4种分辨率的图像数据库,然后用不同的特征提取方法和分类算法得到ROC曲线图,如图 5~7所示。
ROC曲线对于算法好坏的判断标准就是曲线的位置与X轴、Y轴所围成的面积大小。从图 5~7可以看出,随着图像尺寸由16×16变为100×100,不同算法的识别率均有一定程度的提高。这也说明了分辨率高的图像所含识别的有效信息多,从而在其上的识别效果就好。对于SVM与FDA分类器,它们对大尺寸图像的分类识别较佳,通常是在100×100时,其识别效果达到最优。但是这样的结果对于Gentle AdaBoost分类器来说则不一定是最好的。在KPCA与Gentle AdaBoost相结合的情况下,当图像的尺寸为16×16时,样本的误识率是最少的。因此,采用本文的方法,可以选择合理的图像分辨率进行特征提取和分类操作,以获得快速、准确的木材识别结果。
3 结论本文提出了一种基于KPCA+Gentle AdaBoost木材识别算法,克服了仅使用子空间特征提取方法分类效果不佳的问题。通过提取KPCA特征,生成高维空间后,利用PCA方法对高维空间中的数据进行特征提取,并采用交叉验证得到如下结果:
1)总体上来看,Gentle AdaBoost分类器的分类效果要好于SVM分类器。
2)KPCA方法可以获得隐藏在数据内部的高阶信息,对于KPCA+Gentle AdaBoost的合成方法能够达到最好的识别效果。
3)Gentle AdaBoost采用小比例尺寸的图像即可获得较好的分类效果,而对于SVM和FDA却需要大尺寸比例的图像。
4)在同等情况下,针叶材的分类正确率高于阔叶材的分类正确率。
综上所述,由核主成分分析(KPCA)方法提取的特征具有较强空间描述能力,结合分类能力强的AdaBoost,能够获得较好的木材树种识别效果。
[1] | 方益明, 郑红平, 冯海林. 2011. 基于傅里叶变换和独立成分分析的木材显微图像特征提取与识别.浙江农林大学学报, 27(6): 826-830. |
[2] | 管雪梅. 2006.基于计算机视觉技术的木材细胞图像分割的研究.哈尔滨:东北林业大学硕士学位论文.(1) |
[3] | 何 涛,张世禄,汪杭军. 2009.基于两方向二维主成分分析木材识别的研究.林业机械与木工设备,37(10): 13-14.(1) |
[4] | 黄 慧.2006. 基于木材组织构造的数字图像处理系统研究.南京: 南京林业大学硕士学位论文.(1) |
[5] | 刘镇波. 2004.木材显微图像特征参数提取与树种判别方法研究. 哈尔滨:东北林业大学硕士学位论文.(1) |
[6] | 汪杭军, 汪碧辉. 2011. 一种新的针叶材自动识别方法. 林业科学, 47(10): 141-145.(1) |
[7] | 王秀华. 2005. 木材横切面构造特征计算机视觉分析与树种分类识别研究. 哈尔滨: 东北林业大学硕士学位论文.(1) |
[8] | 吴燕茹, 程咏梅, 赵永强,等.2011.利用KPCA特征提取的Adaboost红外目标检测. 红外与激光工程,40(2):339-343.(1) |
[9] | Freund Y, Schapire R E. 1997. A decision-theoretic generalization of on-line learning and an application to boosting. Journal of Computer and System Sciences, 13(55): 119-139.(1) |
[10] | Friedman J, Hastie T, Tibshirani R. 2000. Additive logistic regression:a statistical view of boosting. Annals of Statistics, 28(2):337-407.(1) |
[11] | Lienhart R, Kuranov A, Pisarevsky V. 2002. Empirical analysis of detection cascades of boosted classifiers for rapid object detection. MRL Technical Report.(1) |
[12] | Lienhart R, Maydt J. 2003. Empirical analysis of detection cascades of boosted classifiers for rapid object detection. Pattern Recognition, 2781:297-304.(1) |
[13] | Scholkopf B, Smola A, Muller K R. 1998. Nonlinear component analysis as a kernel eigenvalue problem. Neural Computation, 10(5): 1299-1319. |
[14] | Scholkopf B, Mika S, Burges C J C. 1999. Input space versus feature space in kernel-based methods. IEEE Trans on Neural Networks, 10(5): 1001-1016.(1) |
[15] | Yang P, Shan S, Chen X. 2005. AdaBoost gabor fisher classifier for face recognition. IEEE Trans Image Processing, 17(7):278-291.(1) |
[16] | Zeng X, Martinez T R. 1999. Distribution-balanced stratified cross-validation for accuracy estimation. Journal of Experimental & Theoretical Artifical Intelligence, 12(1):1-12.(1) |