陳 芳,張廣群,崔坤鵬,汪杭軍
(1.浙江農林大學 信息工程學院,浙江 臨安 311300;2.浙江農林大學 天目學院,浙江 臨安 311300)
目前,植物的識別普遍是通過人工來完成的。然而地球上植物資源非常豐富,僅為人們所知的開花植物就多達幾十萬種。面對種類如此繁多的植物,如果僅僅依靠人工的方法往往無法正確地完成識別的任務,并且這種人工識別的方式效率也比較低。因此,人們就把計算機技術引入到對植物識別的研究之中。植物的根、莖、葉、花、果實和種子,都可以作為識別的特征。但是,在計算機植物識別和分類系統(tǒng)中,植物的葉片通常被作為首選,因為與其他的識別特征相比,大多數(shù)的葉片都具有二維結構,更容易使用計算機的圖像技術進行處理。對于植物的自動識別的研究,國內外許多學者都做出了大量的工作。國外早期的葉片分類主要基于形狀的全局幾何描述。例如,在20世紀80年代如Ingrouille等[1]利用27種葉形特征,使用主分量分析方法對橡樹進行了分類研究[1]。Abbasi等[2]通過提取葉片輪廓的曲率尺度空間(curvature scale space,CCS)圖像,使用多尺度分析技術對40種菊花的400幅圖像進行測試,獲得了較好的效果[2]。Im等[3]人用曲率法找到葉片頂點,在2個層次上用多邊形逼近葉片外形,并對葉片進行歸一化處理。通過對14種植物葉片的測試,識別精度相當不錯。Wang等[4]提出了應用多項特征作為葉片特征,包括取葉片的縱橫軸比、面積凹凸比、矩形度、球狀性、周長凹凸比、偏心率和形狀參數(shù)8項幾何描述因子以及7項輪廓的Hu不變矩作為葉片特征。這些研究主要是基于形狀的全局幾何描述方法對葉片進行分類。近年來也有學者提出了紋理的方法。2007年,王路等[5]使用Gabor濾波器在4個方向和4個尺度上對葉片的灰度圖像進行處理,得到96個紋理特征,然后對9種植物葉片的測試結果表明,識別的平均正確率達到94.4%。張蕾[6]用二維離散小波變換對葉片圖像進行分解,得到72個紋理特征,對15種植物葉片進行測試實驗后也取得了不錯的效果。通過基于植物葉片的計算機識別研究中,我們可以發(fā)現(xiàn),不同的學者都提出了植物葉片的不同特征,包括幾何特征和紋理特征來進行植物種類的分類和識別任務。但是在嵌入式系統(tǒng)上如何開展葉片的識別工作卻很少。本研究將利用嵌入式設備靈活、方便的特點,結合嵌入式技術和圖像處理技術,通過提取葉片相對穩(wěn)定的形狀特征實現(xiàn)對植物種類的識別分類研究。整個過程包括葉片圖像獲取、圖像預處理、特征提取、分類識別等4個階段。最后對9種植物的45幅葉片圖像的進行了實驗,結果表明,該方法可以比較準確地實現(xiàn)對植物的種類的識別分類。
本系統(tǒng)的硬件平臺采用UP-NETARM2410-S實驗開發(fā)板,三星ARM9 S3C2410為核心板。Arm板上操作系統(tǒng)采用嵌入式Linux,內核版本為2.6.18。同時利用Qt 4.5跨平臺應用程序和用戶界面框架技術來設計GUI。系統(tǒng)總體框架如圖1所示。
植物自動識別系統(tǒng)首先利用攝像頭獲取植物的葉片圖像,然后再對葉片的圖像進行預處理,接著進一步提取到葉片的輪廓信息,然后根據(jù)提取到的輪廓進行葉片特征的提取,最后通過實現(xiàn)訓練好的樣本特征數(shù)據(jù)集進行匹配,進而完成識別過程。
植物自動識別系統(tǒng)的硬件設計在整個系統(tǒng)設計中是一個重要的環(huán)節(jié),也是系統(tǒng)軟件設計的基礎。系統(tǒng)的硬件框圖如圖2所示。
圖1 系統(tǒng)總體框架圖Figure 1 System of overall framework chart
圖2 系統(tǒng)硬件框圖Figure 2 System of hardware diagram
植物自動識別系統(tǒng)使用32位三星ARM9 S3C2410處理器為核心板,系統(tǒng)界面采用博創(chuàng)有觸摸功能的8英寸640×480 TFT真彩LCD屏幕;FLASH使用64 M NAND FALASH方式啟動系統(tǒng)。與此同時,還擴展了一個OV511攝像頭模塊,方便地實現(xiàn)人員與控制系統(tǒng)之間人性化交互,完全滿足時下的應用需求。
以下主要介紹圖像預處理、特征提取、葉片識別這3個過程在系統(tǒng)中的設計與實現(xiàn)的過程和方法。結合源碼進行分析,本次開發(fā)主要用到了OpenCV中一些基本的葉片圖像預處理函數(shù),以及一些基本的輪廓特征提取函數(shù)。
1.4.1 葉片圖像預處理 完整的葉片圖像識別的流程如圖3所示,樣本葉片預處理效果圖如圖4所示。在葉片圖像預處理環(huán)節(jié),主要經(jīng)過了閾值分割、形態(tài)學處理和輪廓提取3個步驟。①閾值分割。為了便于葉片輪廓的提取以及形狀特征的計算,需要我們利用閾值分割的方法把圖像中葉片和它的背景區(qū)分開來。然而,植物葉片由于種類不同,導致顏色深淺不一,因此,在轉成灰度圖像后難以用一個統(tǒng)一的特征值進行分割。我們使用的方法是先把圖片灰度化,然后再根據(jù)圖片整體閾值的分析來確定圖片最適合的閾值,最后根據(jù)這個閾值對圖片進行二值化處理。其方法相對應以下3行代碼。
圖3 葉片圖像識別流程圖Figure 3 Flow char to leaf image recognition
圖4 預處理流程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)學處理。二值化完成分割工作以后,我們發(fā)現(xiàn),采集到的植物樣本中有些已遭到蟲子的噬咬,出現(xiàn)小的孔洞,這樣影響了葉片輪廓的提取,因此在圖像二值化以后需要進一步進行圖像預處理操作。于是,我們采用數(shù)學形態(tài)學當中的閉操作,即先膨脹操作,然后腐蝕操作。經(jīng)過若干次反復這樣的處理以后,葉片內的小孔洞就可以消除。同時我們發(fā)現(xiàn)葉柄的長度不一致對形狀特征的提取也會有一定的影響,進而影響識別率。因此必須消除葉片的葉柄。這里我們使用形態(tài)學中的開操作,先閉操作,然后開操作,便可以去除葉柄。具體過程如下所示:
voidContour::GetBackImage(IplImage*src,IplImage*src_back)
{
cvCvtColor(src,src,CV_RGB2GRAY); //灰度化
IplImage*tmp=cvCreateImage(cvGetSize(src),IPL_DEPTH_8U,3); //創(chuàng)建結構元素
IplConvKernel*element=cvCreateStructuringElementEx(2,2,0,0,CV_SHAPE_ELLIPSE,0);
//用該結構對源圖象進行數(shù)學形態(tài)學的開操作后,估計背景亮度
cvErode(src,tmp,element,9);
//使用任意結構元素腐蝕圖像
cvDilate(tmp,src_back,element,9);
//使用任意結構元素膨脹圖像
}
③輪廓提取。經(jīng)過閾值分割和形態(tài)學處理2個步驟,我們得到了樣本葉片的初步輪廓值,然后用輪廓逼近的方法反復計算,最終提取到較精確的外部輪廓參數(shù)。具體過程如下:
void Contour::FindIplImageCount()
{
GetBackImage(_src,src_back);
CvMemStorage*storage=cvCreateMemStorage(0); //提取輪廓需要的儲存容量0為默認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);
//二值圖,得到輪廓存儲,輪廓指針序列,header_size,提取模式,逼近方法
CvScalar externalColor;//保存顏色值
CvScalar holeColor; //畫輪廓
}
1.4.2 葉片圖像特征提取 通常,植物葉片的形狀特征、顏色特征和紋理特征都可以用來作為識別植物葉片的圖像特征。然而,根據(jù)植物分類的理論,葉片的形狀特征是判斷葉片所屬種類的最直接和最有效的依據(jù)[7]。因此,我們提取葉片的幾何形狀特征用于葉片分類。由于不同的植物種類的葉片形狀不盡相同,即使是種類相同的植物,它的葉片的大小比例也可能不一樣。因此一般的植物葉片的絕對值特征,如葉片的周長、面積、縱軸長、橫軸長等都不太適合作為分類的依據(jù)。于是我們的方法是利用葉片輪廓的形狀描述計算的8個相對值特征:凸包面積、凸包周長、球狀性、圓形度、形狀參數(shù)、面積凹凸比、周長凹凸比和偏心率[8]。首先,得到預先需要的凸包面積、凸包周長,然后計算如下的一些特征值:①面積(area convexity)凹凸比是葉片面積和葉片凸包面積的比值:A1=B/C,其中:A1值表示面積凹凸比(area converxity),B值表示葉片面積(area),C值表示葉片凸包面積(converx area)。②周長(perimeter convexity)凹凸比是葉片周長和葉片凸包周長的比值:A2=D/E,其中:A2值表示周長凹凸比(perimeter converxity),D值表示葉片周長(perimeter),E值表示葉片凸包周長(converx perimeter)。③球狀性(sphericity)是葉片面積與葉片凸包周長的計算值:A3=(4πB)/E2,其中:A3值表示球狀性(sphericity),B值表示葉片面積(area),E值表示葉片凸包面積(converx area)。④偏心率(eccentricity)是葉片自身長軸和短軸的比值:A4=L1/L2,其中: A4值表示偏心率(eccentricity),L1值表示葉片自身長軸(axislengthlong),L2值表示葉片自身短軸(AxisLengthshort)。⑤形狀參數(shù)(form factor)是葉片面積和周長的計算值: A5=(4πB)/D2,其中:A5值表示形狀參數(shù)(form factor),B值表示葉片面積(area),D值表示葉片凸包面積(converx area)。⑥圓形度(circularity)是葉片內切圓半徑與外切圓半徑的比值。A6=R1/R2,其中: A6表示圓形度(cricularity),R1表示葉片內切圓半徑(inscribde circle),R2值表示葉片外切圓半徑(excircle)。表1為龍爪槐Sophora japonica葉片樣本的幾何特征值。
1.4.3 葉片識別 葉片識別模塊主要采用歐式距離計算待識別圖片與數(shù)據(jù)庫中各植物樣本之間的相似度,然后采用最近鄰分類器進行識別。葉片分類識別的流程如圖5所示。首先選擇植物的樣本,提取特征后形成特征數(shù)據(jù)存儲到樣本庫中。待識別的植物同樣提取特征后,采用最近鄰分類器,與樣本庫中的數(shù)據(jù)進行比較,最后得到葉片識別結果。
圖5 葉片分類識別Figure 5 Leaves classification and recognition
表1 龍爪槐樣本的幾何特征值Table 1 Characteristic value of sample leaves
實驗采集了銀杏Ginkgo biloba,樟樹Cinnamomum camphora,無患子Sapindus saponaria等9種樹葉,每種樹葉選取5片樣本進行測試。實驗按照圖3的分類識別方法。結果表明:利用植物葉片的形狀特征進行植物識別的平均正確識別率為82%?;灸軌驅崿F(xiàn)計算機對對這9種植物葉片的識別。
下面以銀杏葉片樣本測試為例說明系統(tǒng)的運行過程。首先系統(tǒng)硬件設備連接完畢,模塊接口正確,連線無誤;啟動程序,攝像頭對葉片進行拍攝,獲取圖像,如圖6A所示;其次,系統(tǒng)對葉片進行預處理,輪廓提取,特征提取,獲得識別效果如圖6B,最終顯示識別的效果(圖6C)。
圖6 系統(tǒng)運行效果Figure 6 Effect of the system
葉片對于研究植物具有著非常重要的意義。目前,人們對于植物的識別基本上都是通過肉眼去觀察,一直缺少著相應的儀器,同時也缺乏必要的精確度與準確度。本研究對于嵌入式植物葉片識別系統(tǒng)的研究,希望通過這個系統(tǒng)能夠在農業(yè)和林業(yè)的研究上起到一定的推動作用,同時也希望能有越來越多的人能夠通過該系統(tǒng)對更多的植物有新的認識。同時,本研究還存在一些需要改進的地方:①地球上植物的種類有45萬種之多,而目前只是單純地實現(xiàn)了對9種差距較大的植物葉片的識別,下一步需要建立更大的數(shù)據(jù)庫,以實現(xiàn)對更多植物種類的識別;②植物種類的增加,特征類似的植物葉片之間會無法區(qū)分,所以需要尋找更有效的特征來進行識別;③數(shù)據(jù)的增加必然引起計算量的增加,本身在嵌入式設備上資源有限,對效率的要求較高,因此,需要對算法進行優(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)絡大植物種類識別[J].吉林大學學報:理學版,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]張蕾.基于葉片特征大計算機自動植物種類識別研究[D].長春: 東北師范大學,2007.ZHANG Lei.The Research Of Computer-aided Plant Species Identificantion Based on Leaf Feature[D].Changchun:Northeast Normal University,2007.
[7]朱榮勝,陳慶山,楊佳,等.大豆葉片的特征提取方法研究[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]王曉峰,黃德雙,杜吉祥,等.葉片圖像特征提取與識別技術的研究[J].計算機工程與應用,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]中科院自動化所自由軟件協(xié)會.OpenCV 參考手冊[R/OL].2009-10-24[2012-01-20].http://www.opencv.org.cn/index.php.
[11]王敬軒,馮全,王宇通,等.基于圖像識別技術的豆科牧草分類研究[J].草地學報,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]闞江明,王怡萱,楊曉微,等.基于葉片圖像的植物識別方法[J].科技導報,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]張寧,劉文萍.基于圖像分析的植物葉片識別技術綜述[J].計算機應用研究,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.