陳 芳,張廣群,崔坤鵬,汪杭軍
(1.浙江農(nóng)林大學(xué) 信息工程學(xué)院,浙江 臨安 311300;2.浙江農(nóng)林大學(xué) 天目學(xué)院,浙江 臨安 311300)
目前,植物的識(shí)別普遍是通過(guò)人工來(lái)完成的。然而地球上植物資源非常豐富,僅為人們所知的開(kāi)花植物就多達(dá)幾十萬(wàn)種。面對(duì)種類(lèi)如此繁多的植物,如果僅僅依靠人工的方法往往無(wú)法正確地完成識(shí)別的任務(wù),并且這種人工識(shí)別的方式效率也比較低。因此,人們就把計(jì)算機(jī)技術(shù)引入到對(duì)植物識(shí)別的研究之中。植物的根、莖、葉、花、果實(shí)和種子,都可以作為識(shí)別的特征。但是,在計(jì)算機(jī)植物識(shí)別和分類(lèi)系統(tǒng)中,植物的葉片通常被作為首選,因?yàn)榕c其他的識(shí)別特征相比,大多數(shù)的葉片都具有二維結(jié)構(gòu),更容易使用計(jì)算機(jī)的圖像技術(shù)進(jìn)行處理。對(duì)于植物的自動(dòng)識(shí)別的研究,國(guó)內(nèi)外許多學(xué)者都做出了大量的工作。國(guó)外早期的葉片分類(lèi)主要基于形狀的全局幾何描述。例如,在20世紀(jì)80年代如Ingrouille等[1]利用27種葉形特征,使用主分量分析方法對(duì)橡樹(shù)進(jìn)行了分類(lèi)研究[1]。Abbasi等[2]通過(guò)提取葉片輪廓的曲率尺度空間(curvature scale space,CCS)圖像,使用多尺度分析技術(shù)對(duì)40種菊花的400幅圖像進(jìn)行測(cè)試,獲得了較好的效果[2]。Im等[3]人用曲率法找到葉片頂點(diǎn),在2個(gè)層次上用多邊形逼近葉片外形,并對(duì)葉片進(jìn)行歸一化處理。通過(guò)對(duì)14種植物葉片的測(cè)試,識(shí)別精度相當(dāng)不錯(cuò)。Wang等[4]提出了應(yīng)用多項(xiàng)特征作為葉片特征,包括取葉片的縱橫軸比、面積凹凸比、矩形度、球狀性、周長(zhǎng)凹凸比、偏心率和形狀參數(shù)8項(xiàng)幾何描述因子以及7項(xiàng)輪廓的Hu不變矩作為葉片特征。這些研究主要是基于形狀的全局幾何描述方法對(duì)葉片進(jìn)行分類(lèi)。近年來(lái)也有學(xué)者提出了紋理的方法。2007年,王路等[5]使用Gabor濾波器在4個(gè)方向和4個(gè)尺度上對(duì)葉片的灰度圖像進(jìn)行處理,得到96個(gè)紋理特征,然后對(duì)9種植物葉片的測(cè)試結(jié)果表明,識(shí)別的平均正確率達(dá)到94.4%。張蕾[6]用二維離散小波變換對(duì)葉片圖像進(jìn)行分解,得到72個(gè)紋理特征,對(duì)15種植物葉片進(jìn)行測(cè)試實(shí)驗(yàn)后也取得了不錯(cuò)的效果。通過(guò)基于植物葉片的計(jì)算機(jī)識(shí)別研究中,我們可以發(fā)現(xiàn),不同的學(xué)者都提出了植物葉片的不同特征,包括幾何特征和紋理特征來(lái)進(jìn)行植物種類(lèi)的分類(lèi)和識(shí)別任務(wù)。但是在嵌入式系統(tǒng)上如何開(kāi)展葉片的識(shí)別工作卻很少。本研究將利用嵌入式設(shè)備靈活、方便的特點(diǎn),結(jié)合嵌入式技術(shù)和圖像處理技術(shù),通過(guò)提取葉片相對(duì)穩(wěn)定的形狀特征實(shí)現(xiàn)對(duì)植物種類(lèi)的識(shí)別分類(lèi)研究。整個(gè)過(guò)程包括葉片圖像獲取、圖像預(yù)處理、特征提取、分類(lèi)識(shí)別等4個(gè)階段。最后對(duì)9種植物的45幅葉片圖像的進(jìn)行了實(shí)驗(yàn),結(jié)果表明,該方法可以比較準(zhǔn)確地實(shí)現(xiàn)對(duì)植物的種類(lèi)的識(shí)別分類(lèi)。
本系統(tǒng)的硬件平臺(tái)采用UP-NETARM2410-S實(shí)驗(yàn)開(kāi)發(fā)板,三星ARM9 S3C2410為核心板。Arm板上操作系統(tǒng)采用嵌入式Linux,內(nèi)核版本為2.6.18。同時(shí)利用Qt 4.5跨平臺(tái)應(yīng)用程序和用戶界面框架技術(shù)來(lái)設(shè)計(jì)GUI。系統(tǒng)總體框架如圖1所示。
植物自動(dòng)識(shí)別系統(tǒng)首先利用攝像頭獲取植物的葉片圖像,然后再對(duì)葉片的圖像進(jìn)行預(yù)處理,接著進(jìn)一步提取到葉片的輪廓信息,然后根據(jù)提取到的輪廓進(jìn)行葉片特征的提取,最后通過(guò)實(shí)現(xiàn)訓(xùn)練好的樣本特征數(shù)據(jù)集進(jìn)行匹配,進(jìn)而完成識(shí)別過(guò)程。
植物自動(dòng)識(shí)別系統(tǒng)的硬件設(shè)計(jì)在整個(gè)系統(tǒng)設(shè)計(jì)中是一個(gè)重要的環(huán)節(jié),也是系統(tǒng)軟件設(shè)計(jì)的基礎(chǔ)。系統(tǒng)的硬件框圖如圖2所示。

圖1 系統(tǒng)總體框架圖Figure 1 System of overall framework chart

圖2 系統(tǒng)硬件框圖Figure 2 System of hardware diagram
植物自動(dòng)識(shí)別系統(tǒng)使用32位三星ARM9 S3C2410處理器為核心板,系統(tǒng)界面采用博創(chuàng)有觸摸功能的8英寸640×480 TFT真彩LCD屏幕;FLASH使用64 M NAND FALASH方式啟動(dòng)系統(tǒng)。與此同時(shí),還擴(kuò)展了一個(gè)OV511攝像頭模塊,方便地實(shí)現(xiàn)人員與控制系統(tǒng)之間人性化交互,完全滿足時(shí)下的應(yīng)用需求。
以下主要介紹圖像預(yù)處理、特征提取、葉片識(shí)別這3個(gè)過(guò)程在系統(tǒng)中的設(shè)計(jì)與實(shí)現(xiàn)的過(guò)程和方法。結(jié)合源碼進(jìn)行分析,本次開(kāi)發(fā)主要用到了OpenCV中一些基本的葉片圖像預(yù)處理函數(shù),以及一些基本的輪廓特征提取函數(shù)。
1.4.1 葉片圖像預(yù)處理 完整的葉片圖像識(shí)別的流程如圖3所示,樣本葉片預(yù)處理效果圖如圖4所示。在葉片圖像預(yù)處理環(huán)節(jié),主要經(jīng)過(guò)了閾值分割、形態(tài)學(xué)處理和輪廓提取3個(gè)步驟。①閾值分割。為了便于葉片輪廓的提取以及形狀特征的計(jì)算,需要我們利用閾值分割的方法把圖像中葉片和它的背景區(qū)分開(kāi)來(lái)。然而,植物葉片由于種類(lèi)不同,導(dǎo)致顏色深淺不一,因此,在轉(zhuǎn)成灰度圖像后難以用一個(gè)統(tǒng)一的特征值進(jìn)行分割。我們使用的方法是先把圖片灰度化,然后再根據(jù)圖片整體閾值的分析來(lái)確定圖片最適合的閾值,最后根據(jù)這個(gè)閾值對(duì)圖片進(jìn)行二值化處理。其方法相對(duì)應(yīng)以下3行代碼。

圖3 葉片圖像識(shí)別流程圖Figure 3 Flow char to leaf image recognition

圖4 預(yù)處理流程Figure 4 Flow char of pretreatment
cvSmooth(src_back,src_back,CV_GAUSSIAN,3,1,0); //平滑處理
cvCvtColor(src_back,temp,CV_RGB2GRAY); //灰度化
cvThreshold(temp,temp,GetThreshold(ProOfGrey),255,CV_THRESH_TOZERO_INV);
//二值化處理
②形態(tài)學(xué)處理。二值化完成分割工作以后,我們發(fā)現(xiàn),采集到的植物樣本中有些已遭到蟲(chóng)子的噬咬,出現(xiàn)小的孔洞,這樣影響了葉片輪廓的提取,因此在圖像二值化以后需要進(jìn)一步進(jìn)行圖像預(yù)處理操作。于是,我們采用數(shù)學(xué)形態(tài)學(xué)當(dāng)中的閉操作,即先膨脹操作,然后腐蝕操作。經(jīng)過(guò)若干次反復(fù)這樣的處理以后,葉片內(nèi)的小孔洞就可以消除。同時(shí)我們發(fā)現(xiàn)葉柄的長(zhǎng)度不一致對(duì)形狀特征的提取也會(huì)有一定的影響,進(jìn)而影響識(shí)別率。因此必須消除葉片的葉柄。這里我們使用形態(tài)學(xué)中的開(kāi)操作,先閉操作,然后開(kāi)操作,便可以去除葉柄。具體過(guò)程如下所示:
voidContour::GetBackImage(IplImage*src,IplImage*src_back)
{
cvCvtColor(src,src,CV_RGB2GRAY); //灰度化
IplImage*tmp=cvCreateImage(cvGetSize(src),IPL_DEPTH_8U,3); //創(chuàng)建結(jié)構(gòu)元素
IplConvKernel*element=cvCreateStructuringElementEx(2,2,0,0,CV_SHAPE_ELLIPSE,0);
//用該結(jié)構(gòu)對(duì)源圖象進(jìn)行數(shù)學(xué)形態(tài)學(xué)的開(kāi)操作后,估計(jì)背景亮度
cvErode(src,tmp,element,9);
//使用任意結(jié)構(gòu)元素腐蝕圖像
cvDilate(tmp,src_back,element,9);
//使用任意結(jié)構(gòu)元素膨脹圖像
}
③輪廓提取。經(jīng)過(guò)閾值分割和形態(tài)學(xué)處理2個(gè)步驟,我們得到了樣本葉片的初步輪廓值,然后用輪廓逼近的方法反復(fù)計(jì)算,最終提取到較精確的外部輪廓參數(shù)。具體過(guò)程如下:
void Contour::FindIplImageCount()
{
GetBackImage(_src,src_back);
CvMemStorage*storage=cvCreateMemStorage(0); //提取輪廓需要的儲(chǔ)存容量0為默認(rèn)64KB
CvSeq*pcontour=0;//提取輪廓的序列指針
IplImage*temp=cvCreateImage(cvGetSize(src_back),src_back->depth,1);
cvSmooth(src_back,src_back,CV_GAUSSIAN,3,1,0); //平滑處理
cvCvtColor(src_back,temp,CV_RGB2GRAY); //灰度化
Getprobability(temp); //獲得求閾值的概率表
ProBorder(temp); //邊界處理
//ImageAdjust(temp,temp,0,0.32,0.2,0.58,3.5);
cvThreshold(temp,temp,GetThreshold(ProOfGrey),255,CV_THRESH_TOZERO_INV);
int contoursNum=0;//輪廓數(shù)量
//int mode=CV_RETR_LIST;
int mode=CV_RETR_EXTERNAL;//提取最外層輪廓
contoursNum=cvFindContours(temp,storage,& pcontour,sizeof(CvContour),mode,CV_CHAIN_APPROX_NONE);
//二值圖,得到輪廓存儲(chǔ),輪廓指針序列,header_size,提取模式,逼近方法
CvScalar externalColor;//保存顏色值
CvScalar holeColor; //畫(huà)輪廓
}
1.4.2 葉片圖像特征提取 通常,植物葉片的形狀特征、顏色特征和紋理特征都可以用來(lái)作為識(shí)別植物葉片的圖像特征。然而,根據(jù)植物分類(lèi)的理論,葉片的形狀特征是判斷葉片所屬種類(lèi)的最直接和最有效的依據(jù)[7]。因此,我們提取葉片的幾何形狀特征用于葉片分類(lèi)。由于不同的植物種類(lèi)的葉片形狀不盡相同,即使是種類(lèi)相同的植物,它的葉片的大小比例也可能不一樣。因此一般的植物葉片的絕對(duì)值特征,如葉片的周長(zhǎng)、面積、縱軸長(zhǎng)、橫軸長(zhǎng)等都不太適合作為分類(lèi)的依據(jù)。于是我們的方法是利用葉片輪廓的形狀描述計(jì)算的8個(gè)相對(duì)值特征:凸包面積、凸包周長(zhǎng)、球狀性、圓形度、形狀參數(shù)、面積凹凸比、周長(zhǎng)凹凸比和偏心率[8]。首先,得到預(yù)先需要的凸包面積、凸包周長(zhǎng),然后計(jì)算如下的一些特征值:①面積(area convexity)凹凸比是葉片面積和葉片凸包面積的比值:A1=B/C,其中:A1值表示面積凹凸比(area converxity),B值表示葉片面積(area),C值表示葉片凸包面積(converx area)。②周長(zhǎng)(perimeter convexity)凹凸比是葉片周長(zhǎng)和葉片凸包周長(zhǎng)的比值:A2=D/E,其中:A2值表示周長(zhǎng)凹凸比(perimeter converxity),D值表示葉片周長(zhǎng)(perimeter),E值表示葉片凸包周長(zhǎng)(converx perimeter)。③球狀性(sphericity)是葉片面積與葉片凸包周長(zhǎng)的計(jì)算值:A3=(4πB)/E2,其中:A3值表示球狀性(sphericity),B值表示葉片面積(area),E值表示葉片凸包面積(converx area)。④偏心率(eccentricity)是葉片自身長(zhǎng)軸和短軸的比值:A4=L1/L2,其中: A4值表示偏心率(eccentricity),L1值表示葉片自身長(zhǎng)軸(axislengthlong),L2值表示葉片自身短軸(AxisLengthshort)。⑤形狀參數(shù)(form factor)是葉片面積和周長(zhǎng)的計(jì)算值: A5=(4πB)/D2,其中:A5值表示形狀參數(shù)(form factor),B值表示葉片面積(area),D值表示葉片凸包面積(converx area)。⑥圓形度(circularity)是葉片內(nèi)切圓半徑與外切圓半徑的比值。A6=R1/R2,其中: A6表示圓形度(cricularity),R1表示葉片內(nèi)切圓半徑(inscribde circle),R2值表示葉片外切圓半徑(excircle)。表1為龍爪槐Sophora japonica葉片樣本的幾何特征值。
1.4.3 葉片識(shí)別 葉片識(shí)別模塊主要采用歐式距離計(jì)算待識(shí)別圖片與數(shù)據(jù)庫(kù)中各植物樣本之間的相似度,然后采用最近鄰分類(lèi)器進(jìn)行識(shí)別。葉片分類(lèi)識(shí)別的流程如圖5所示。首先選擇植物的樣本,提取特征后形成特征數(shù)據(jù)存儲(chǔ)到樣本庫(kù)中。待識(shí)別的植物同樣提取特征后,采用最近鄰分類(lèi)器,與樣本庫(kù)中的數(shù)據(jù)進(jìn)行比較,最后得到葉片識(shí)別結(jié)果。

圖5 葉片分類(lèi)識(shí)別Figure 5 Leaves classification and recognition

表1 龍爪槐樣本的幾何特征值Table 1 Characteristic value of sample leaves
實(shí)驗(yàn)采集了銀杏Ginkgo biloba,樟樹(shù)Cinnamomum camphora,無(wú)患子Sapindus saponaria等9種樹(shù)葉,每種樹(shù)葉選取5片樣本進(jìn)行測(cè)試。實(shí)驗(yàn)按照?qǐng)D3的分類(lèi)識(shí)別方法。結(jié)果表明:利用植物葉片的形狀特征進(jìn)行植物識(shí)別的平均正確識(shí)別率為82%。基本能夠?qū)崿F(xiàn)計(jì)算機(jī)對(duì)對(duì)這9種植物葉片的識(shí)別。
下面以銀杏葉片樣本測(cè)試為例說(shuō)明系統(tǒng)的運(yùn)行過(guò)程。首先系統(tǒng)硬件設(shè)備連接完畢,模塊接口正確,連線無(wú)誤;啟動(dòng)程序,攝像頭對(duì)葉片進(jìn)行拍攝,獲取圖像,如圖6A所示;其次,系統(tǒng)對(duì)葉片進(jìn)行預(yù)處理,輪廓提取,特征提取,獲得識(shí)別效果如圖6B,最終顯示識(shí)別的效果(圖6C)。

圖6 系統(tǒng)運(yùn)行效果Figure 6 Effect of the system
葉片對(duì)于研究植物具有著非常重要的意義。目前,人們對(duì)于植物的識(shí)別基本上都是通過(guò)肉眼去觀察,一直缺少著相應(yīng)的儀器,同時(shí)也缺乏必要的精確度與準(zhǔn)確度。本研究對(duì)于嵌入式植物葉片識(shí)別系統(tǒng)的研究,希望通過(guò)這個(gè)系統(tǒng)能夠在農(nóng)業(yè)和林業(yè)的研究上起到一定的推動(dòng)作用,同時(shí)也希望能有越來(lái)越多的人能夠通過(guò)該系統(tǒng)對(duì)更多的植物有新的認(rèn)識(shí)。同時(shí),本研究還存在一些需要改進(jìn)的地方:①地球上植物的種類(lèi)有45萬(wàn)種之多,而目前只是單純地實(shí)現(xiàn)了對(duì)9種差距較大的植物葉片的識(shí)別,下一步需要建立更大的數(shù)據(jù)庫(kù),以實(shí)現(xiàn)對(duì)更多植物種類(lèi)的識(shí)別;②植物種類(lèi)的增加,特征類(lèi)似的植物葉片之間會(huì)無(wú)法區(qū)分,所以需要尋找更有效的特征來(lái)進(jìn)行識(shí)別;③數(shù)據(jù)的增加必然引起計(jì)算量的增加,本身在嵌入式設(shè)備上資源有限,對(duì)效率的要求較高,因此,需要對(duì)算法進(jìn)行優(yōu)化。
[1]INGROUILLE M J,LAIRD S M.A quantitative approach to oak variability in some north London woodlands [J].Lond Nat,1986,65: 35-46.
[2]ABBASI S,MOKHTARIAN F.Reliable classification of chrysanthemum leaves through curvature [M]//[n.s.].Pro-ceedings of the First International Conference on Scale-space Theory in Computer Vision.London: Springer Verlag,1997:284-295.
[3]IM C,NISHIDA H,KUNII T.Recognizing plant species by leaf shapes: A case study of the Acerfamily [M]//[n.s.]Fourteenth International Conference on Pattern Recog-nition.Brisbane: IEEE Computer Society Press,1998: 1171-1173.
[4]WANG Xiaofeng,DU Jixiang,ZHANG Guojun.Recognition of leaf images based on shape features using a hypersphere classifier [M]//[n.s.].Advances in Intelligent Computing.Berlin/: Springer,2005: 87-96.
[5]王路,張蕾,周彥軍,等.基于LVQ神經(jīng)網(wǎng)絡(luò)大植物種類(lèi)識(shí)別[J].吉林大學(xué)學(xué)報(bào):理學(xué)版,2007,45(3):421-426.WANG Lu,ZHANG Lei,ZHOU Yanjun,et al.Computer-aided plant species identification based on LVQ neuralnet work [J].J Jilin Univ Sci Ed,2007,45 (3): 421-426.
[6]張蕾.基于葉片特征大計(jì)算機(jī)自動(dòng)植物種類(lèi)識(shí)別研究[D].長(zhǎng)春: 東北師范大學(xué),2007.ZHANG Lei.The Research Of Computer-aided Plant Species Identificantion Based on Leaf Feature[D].Changchun:Northeast Normal University,2007.
[7]朱榮勝,陳慶山,楊佳,等.大豆葉片的特征提取方法研究[J].農(nóng)機(jī)化研究,2010(5): 15-16.ZHU Rongsheng,CHEN Qingshan,YANG Jia,et al.Research on feature extraction about soybean leaf [J].J Agric Mech Res,2010 (5): 15-16.
[8]王曉峰,黃德雙,杜吉祥,等.葉片圖像特征提取與識(shí)別技術(shù)的研究[J].計(jì)算機(jī)工程與應(yīng)用,2006,42(3):192-193.WANG Xiaofeng,WANG Deshuang,DU Jixiang,et al.Feature extraction and recognition for leaf images [J].Compr Eng Appl,2006,42 (3): 192-193.
[9]DIGIA O.Qt Online Reference Documentation[R/OL].2005-12-15[2012-01-20].http://doc.qt.nokia.com.
[10]中科院自動(dòng)化所自由軟件協(xié)會(huì).OpenCV 參考手冊(cè)[R/OL].2009-10-24[2012-01-20].http://www.opencv.org.cn/index.php.
[11]王敬軒,馮全,王宇通,等.基于圖像識(shí)別技術(shù)的豆科牧草分類(lèi)研究[J].草地學(xué)報(bào),2010,18(1):37-41.WANG Jingxuan,F(xiàn)ENG Quan,WANG Yutong,et al.Study on classification for Leguminous forage based on image recognition technology [J].Acta Agrestia Sin,2010,18 (1): 37-41.
[12]闞江明,王怡萱,楊曉微,等.基于葉片圖像的植物識(shí)別方法[J].科技導(dǎo)報(bào),2010,28(23): 81-85.KAN Jiangming,WANG Yixuan,YANG Xiaowei,et al.Plant recognition method based on leaf images [J].Sci & Technol Rev,2010,28 (23): 81-85.
[13]張寧,劉文萍.基于圖像分析的植物葉片識(shí)別技術(shù)綜述[J].計(jì)算機(jī)應(yīng)用研究,2011,28(11):4002-4007.ZHANG Ning,LIU Wenping.Plant leaf recognition technology based on image analysis [J].Appl Res Comp,2011,28(11): 4002-4007.