石 銳,劉 輝,朱 鑫,劉晶淼,賈慶宇
1.重慶大學(xué) 計(jì)算機(jī)學(xué)院,重慶 400044
2.中國(guó)氣象局 沈陽(yáng)大氣環(huán)境研究所,沈陽(yáng) 110016
環(huán)境因素對(duì)于植物的生長(zhǎng)有著很大的影響,根系形態(tài)是反映植物生長(zhǎng)狀況的重要特征,因此研究植物根系形態(tài)對(duì)于研究環(huán)境因素對(duì)植物生長(zhǎng)的影響具有重大意義。對(duì)于根系的研究,文獻(xiàn)[1]采用由人工取根、洗根、稱(chēng)重的方法,不僅浪費(fèi)時(shí)間、人力和物力,而且易造成根部損壞,精確度不高。隨著數(shù)字圖像技術(shù)的發(fā)展,人們已經(jīng)開(kāi)始將數(shù)字圖像處理技術(shù)應(yīng)用在根系形態(tài)的研究中,并且取得了一定成果。
為獲取根系的形態(tài)參數(shù),研究者需要對(duì)每條根及分支進(jìn)行相應(yīng)參數(shù)計(jì)算,但是在該項(xiàng)目研究的根系圖像中存在大量根系雜亂交錯(cuò)的現(xiàn)象。因此要獲得精確的根部動(dòng)態(tài)生長(zhǎng)的形態(tài)參數(shù),須對(duì)圖像中交叉的根、主根和側(cè)根進(jìn)行分離。在分離交叉物體的研究中,雖然已經(jīng)有些方法取得了一定成果,比如粘連細(xì)胞的分離[2],人們利用分水嶺算法、距離變換等方法實(shí)現(xiàn)了細(xì)胞的分離,其中,分水嶺算法用于分割圓形或者類(lèi)圓形結(jié)構(gòu)的重疊、粘連目標(biāo)效果不錯(cuò),但是對(duì)于樹(shù)根這種寬度不均勻且形狀彎曲不定的目標(biāo),就無(wú)能為力了。此外也有人研究過(guò)交叉纖維的分離,余承健[3]提出的分離方法過(guò)程繁瑣,只檢測(cè)交叉部分,無(wú)法解決根系分叉的情況,孟榮愛(ài)等[4]提出了一種新型方法,也只能分離只有一個(gè)交叉點(diǎn)的物體,而且效率不高。
本文在前人研究的基礎(chǔ)上,針對(duì)根系圖像的形態(tài)特征,將形態(tài)學(xué)和距離變換相結(jié)合提出一種新的有效的分離方法,大量實(shí)現(xiàn)證明,既避免了分水嶺算法的過(guò)分割現(xiàn)象,也在精確度和效率上得到了提高。
項(xiàng)目中圖像的獲取是通過(guò)使用接觸式圖像傳感器(CIS)將其置入插進(jìn)土壤的透明玻璃管中,通過(guò)操作CIS設(shè)備即可得到沿玻璃管壁一周的根部圖像(如圖1,根據(jù)項(xiàng)目需求圖像分辨率為600 dpi,實(shí)際圖像大小為4 100像素×415像素,為方便展示截取500像素×415像素大小進(jìn)行分析)。由圖中可見(jiàn),曝光度不均勻造成了背景土壤顆粒的干擾和其他噪聲,鑒于圖像的分離需要在二值化的輪廓清晰的根系圖上進(jìn)行,因此需要對(duì)圖像進(jìn)行根系分割。
對(duì)根系原圖像進(jìn)行全局閾值二值化處理,利用OTSU分割技術(shù)[5]將完整根系和沙粒、土壤等背景分離,輔以人工交互處理圖像已達(dá)到更好的效果,如圖1(b)和(d)分別為得到的圖(a)和(c)根系二值圖。
圖1 原始的根系圖及其二值圖(分辨率為200 dpi)
首先給出幾個(gè)概念:
(1)抑制
圖像中一個(gè)目標(biāo)被另一個(gè)目標(biāo)覆蓋的現(xiàn)象,這里的“一個(gè)目標(biāo)”稱(chēng)為被抑制對(duì)象,“另一個(gè)目標(biāo)”稱(chēng)為抑制元素,用數(shù)學(xué)邏輯表示該運(yùn)算如下:
1Δ 0→1,1Δ 1→0,0Δ 1→0,0 Δ 0→0
其中,1代表目標(biāo)像素值,0代表背景像素值,Δ代表抑制運(yùn)算。
(2)影響區(qū)骨架
給定一個(gè)連通成分,影響區(qū)[6]定義為二值圖像中比其他連通成分更接近于給定連通成分的像素點(diǎn)集。因此,在二值圖像的連通集及其影響區(qū)之間存在一一對(duì)應(yīng)關(guān)系,影響區(qū)的邊界定義為影響區(qū)骨架。假定X表示二值圖像或圖像平面的像素集合,K1,K2,…,Kn為X的連通成分,則
連通成分Ki的影響區(qū)IZ是圖像平面像素中比X中其他連通成分更接近的像素點(diǎn)集:
實(shí)際應(yīng)用中,二值圖像的影響區(qū)IZ通常被當(dāng)做標(biāo)記圖像使用,每個(gè)標(biāo)記區(qū)域?qū)?yīng)于輸入二值圖像連通成分的影響區(qū)。
影響區(qū)骨架或SKIZ定義為不屬于任何影響區(qū)的點(diǎn)集:
影響區(qū)骨架等價(jià)于影響區(qū)邊界。
為了分離交叉的根系,可以考慮查找根系邊緣圖的交叉點(diǎn),然后在交叉點(diǎn)之間進(jìn)行連線(xiàn),即可分離交叉的根系。根據(jù)交叉區(qū)域的交叉方式不同,連線(xiàn)方式可分為:一種是圖2(a)中的鄰接交叉,僅有兩個(gè)點(diǎn),用一條線(xiàn)段連接起來(lái)即可;另一種是圖2(b)中的相互交叉,四個(gè)點(diǎn)可以相鄰連接,也可以對(duì)角連接。至此,要解決的就是配對(duì)問(wèn)題,即判斷哪兩個(gè)點(diǎn)或者四個(gè)點(diǎn)屬于同一個(gè)交叉區(qū)域,余承健提出了該問(wèn)題的解決方法,但是該方法的精確度不高,且效果不佳,存在很多后續(xù)問(wèn)題。
圖2 連線(xiàn)方式
如果換一種思路,假設(shè)根系已經(jīng)完成分離,此時(shí)成為假分離,那么圖中每一個(gè)連通區(qū)域都是一條沒(méi)有分叉或交叉的獨(dú)立的根,根據(jù)影響區(qū)骨架(歐式距離變換)的意義,每條根都有一個(gè)影響區(qū),且所有的影響區(qū)構(gòu)成了整個(gè)圖像,此時(shí)成為影響區(qū)圖像,該圖像的骨架也是分離影響區(qū)的邊緣,更是分離交叉根的邊緣。因此,如果得到根系的假分離圖或者近似假分離圖,問(wèn)題就迎刃而解了。
圖像的骨架是簡(jiǎn)化原始圖像目標(biāo)的信息,但是保留了原目標(biāo)的同倫結(jié)構(gòu)。鑒于此,將根系的骨架圖像的假分離圖像作為上述提到的假分離圖有異曲同工之妙。接下來(lái)就是分離交叉處,考慮到非單一像素的目標(biāo)交叉骨架化后并不止交叉于一個(gè)點(diǎn),如圖2(c)所示,另外由形態(tài)學(xué)的膨脹運(yùn)算可知,兩個(gè)近距離的目標(biāo)通過(guò)一定程度的膨脹會(huì)連接在一起,成為一個(gè)目標(biāo)。因此,可以將骨架交叉點(diǎn)作為單獨(dú)的目標(biāo),設(shè)計(jì)合適的結(jié)構(gòu)元素進(jìn)行膨脹,使相近的交叉點(diǎn)連接在一起,從而得出真實(shí)的交叉點(diǎn)。然后采用上述的概念定義1,除去骨架圖中交叉部分,得到分離的骨架圖。此時(shí)分離的骨架圖與上述提到的假分離圖中,各個(gè)連通分量是一一對(duì)應(yīng)的,因此可以利用距離變換完成交叉根系的分離。
算法流程如圖3所示。
圖3 分離算法流程圖
具體步驟如下:
步驟1預(yù)處理。為了減小圖像凹凸不平的邊緣和根系內(nèi)部的空洞對(duì)分離效果的影響,需要做圖像高斯平滑和孔洞填充操作。
步驟2根系圖像骨架化。通過(guò)對(duì)比文獻(xiàn)[7]中提到的基于形態(tài)學(xué)的擊中擊不中算法和中軸變換方法的實(shí)驗(yàn)效果,選定中軸變換進(jìn)行根系圖像骨架化,獲得連續(xù)的單像素骨架圖。
步驟3求交叉點(diǎn)。對(duì)骨架圖進(jìn)行掃描,采用文獻(xiàn)[8]中改進(jìn)的交叉點(diǎn)搜索方法求得交叉點(diǎn)。
步驟4選用半徑為3的圓盤(pán)結(jié)構(gòu)對(duì)交叉點(diǎn)進(jìn)行膨脹,將骨架化中的交叉部分抑制,得到分離的根系骨架圖。
步驟5對(duì)抑制后的圖像求影響區(qū)邊界。該步驟采用基于歐式距離變換[9-10]標(biāo)記的方法實(shí)現(xiàn)。歐式距離變換是計(jì)算并標(biāo)識(shí)空間點(diǎn)(對(duì)目標(biāo)點(diǎn))距離的過(guò)程,將二值圖像轉(zhuǎn)換為灰度值為歐式距離的灰度圖,本文也是通過(guò)計(jì)算背景點(diǎn)對(duì)每個(gè)已標(biāo)記的連通域的距離,但是標(biāo)記方法不同,將背景中距離連通域i比其他所有連通域近的點(diǎn)集P(i)定義為屬于連通域i,對(duì)P(i)中的所有點(diǎn)標(biāo)記灰度值i,此時(shí)的標(biāo)記圖像被分成了N塊(假設(shè)有N個(gè)連通區(qū)域),最后采用自適應(yīng)雙閾值,以及對(duì)邊緣敏感的Canny算子[11]求出該標(biāo)記圖像的邊緣,便是影響區(qū)邊界。
其中,歐氏距離變換是基于一種線(xiàn)性時(shí)間的算法[12]實(shí)現(xiàn)的。算法將一幅二值圖像看作一個(gè)二維矩陣,先以矩陣的列為單位,求出每列中距離每個(gè)背景點(diǎn)最近的目標(biāo)點(diǎn)并記錄在Sd中,然后以行為單位,針對(duì)每行的所有背景點(diǎn),按照逐步構(gòu)造Voronoi圖[13]的方法求出距離每個(gè)背景點(diǎn)最近的目標(biāo)點(diǎn)。在構(gòu)造第d行的Voronoi圖時(shí),采用兩層循環(huán)實(shí)現(xiàn),外層循環(huán)從Sd中取出屬于背景點(diǎn)i的目標(biāo)點(diǎn)Fv,內(nèi)層循環(huán)判斷并去掉不可分割行d的Fv,其中判斷條件為,假設(shè)u、v、w是三個(gè)目標(biāo)點(diǎn),滿(mǎn)足條件ud<vd<wd,uv的中垂線(xiàn)與vw的中垂線(xiàn)分別與行d交于點(diǎn)x、y,若x的縱坐標(biāo)大于y的縱坐標(biāo),則v點(diǎn)不能分割行d。
步驟6對(duì)原二值圖像與影響區(qū)邊界做抑制,分離完成。
根系交叉分離的實(shí)驗(yàn)是在Windows XP操作系統(tǒng),MATLAB R2012a的軟件環(huán)境下進(jìn)行的,采用30張植物根系的圖片作為實(shí)驗(yàn)數(shù)據(jù),現(xiàn)僅選取原根部圖像(a)和圖像(b)的部分根系進(jìn)行實(shí)驗(yàn)結(jié)果展示。
以圖1(b)中截取的部分根系圖4為例,首先求出其骨架,查找交叉點(diǎn)并膨脹,不同幅度的膨脹得到的分離根不同。如圖5中四幅圖片分別為膨脹次數(shù)pz為2、4、6、9得到的結(jié)果,可知隨著膨脹次數(shù)的增加,交叉處多個(gè)交叉點(diǎn)合并,但是也不可避免地造成了相鄰根的斷裂。因此選擇合適的膨脹次數(shù),既能保證交叉處完全分離,又能保證原根的連接性,后續(xù)的實(shí)驗(yàn)選用膨脹次數(shù)為6進(jìn)行。
圖4 交叉的根系及其骨架化
圖5 膨脹次數(shù)分別為2、4、6、9的結(jié)果圖
其次采用距離變換標(biāo)記得到影響區(qū)邊界,如圖6,圖中的每一個(gè)封閉的區(qū)域代表每條根所在的影響區(qū);最后的分離圖為圖7。
圖6 影響區(qū)骨架
圖7 分離的根系
為進(jìn)一步說(shuō)明本文算法的效果,本文還采用幾種不同的算法對(duì)圖像中的部分根系進(jìn)行分離和比較,如圖8。
圖8 不同算法對(duì)圖像的部分根系進(jìn)行分離比較
圖8中,(a)、(e)作為分離圖像;效果圖(c)、(g)采用的是由Srisang等人[14]提出的基于幾何學(xué)的算法進(jìn)行分離,可以看出圖(c)基本沒(méi)有分離,圖(g)只分離了互相交叉的部分,分支處沒(méi)有分離。該方法只分離有四個(gè)交叉點(diǎn)的物體,不適用于分叉過(guò)多的根系圖像。
另外一種分離方法是由Madian等人[15]提出的利用圖像輪廓的興趣點(diǎn)建立假設(shè)的方法,假設(shè)分離線(xiàn)的端點(diǎn)在空間上的距離小于其沿輪廓產(chǎn)生的長(zhǎng)度,得到的效果圖為圖8(d)、(h)。由圖可見(jiàn),其分離效果和本文算法的效果相差不大。這種方法需要對(duì)圖像的各個(gè)興趣點(diǎn)的所有組合對(duì)求其沿輪廓的距離,算法復(fù)雜性太高,尤其對(duì)于拓?fù)湫院軓?qiáng)的根系網(wǎng),所需存儲(chǔ)空間大。
根據(jù)項(xiàng)目要求,提出的算法可以實(shí)現(xiàn)在交叉部分和根的分支完成分離,得到單獨(dú)的根段,完成分割。根系分離的標(biāo)準(zhǔn)定義為:對(duì)二值圖像骨架化,求得每一個(gè)分叉點(diǎn)的分叉數(shù)之和numofbranch和端點(diǎn)數(shù)numofend,理想情況下得到的根段數(shù)為:
式(2)為分離準(zhǔn)確率的計(jì)算方法,當(dāng)precision>1則說(shuō)明過(guò)分離,precision越接近1說(shuō)明算法精度越高。
針對(duì)同一大?。?00像素×415像素),相同形狀特征的根系圖像,根據(jù)以上計(jì)算方法得到本文算法與其他算法分離結(jié)果的對(duì)比,如表1。
表1 幾種算法分離效果對(duì)比
由表1可知,本文提出的算法準(zhǔn)確率能達(dá)到94.1%,和基于假設(shè)的算法不相上下,但是運(yùn)行速度快了15.865倍;基于幾何學(xué)的算法與本文算法在運(yùn)行時(shí)間上差不多,但是它不能分離主根和側(cè)根相接的情況而這種情況又是占大多數(shù),因此分離效果不好。
本文算法仍存在一些不足需要改進(jìn):算法是對(duì)整張圖片進(jìn)行操作,沒(méi)有考慮圖像中存在不用參與分離的孤立的根段,這會(huì)增加處理過(guò)程的復(fù)雜度,在以后的工作中可以考慮先將圖像中單獨(dú)的根段先分離,提高算法執(zhí)行效率。另外,交叉點(diǎn)膨脹的幅度需要人為控制,不適于圖9(a)中的根系過(guò)于粗而分叉又過(guò)細(xì)的圖像,否則容易產(chǎn)生圖9(b)的這種塊狀,需要在以后的工作中進(jìn)行改進(jìn)。
圖9 粗根的分離結(jié)果
針對(duì)交叉根系圖像,在原有的交叉重疊物體分離方法的基礎(chǔ)上,提出基于形態(tài)學(xué)和距離標(biāo)記變換結(jié)合的算法,充分利用了形態(tài)學(xué)的膨脹運(yùn)算和距離變換的標(biāo)記思想,將根系在交叉處進(jìn)行分離。通過(guò)以上實(shí)驗(yàn)驗(yàn)證,本文算法能夠快速準(zhǔn)確地實(shí)現(xiàn)交叉根系的分離,為根系圖像的形態(tài)參數(shù)分析和計(jì)算提供有效的方法策略。由于根系的特殊形態(tài),該算法還可以廣泛應(yīng)用在條狀物體的交叉分離操作中。
[1]Pearcy R,Ehleringer J,Mooney H,et al.Plant physiological ecology[M].New York:Chapman and Hall,1989:1-9.
[2]游迎榮,范影樂(lè),龐全.基于距離變換的粘連細(xì)胞分割方法[J].計(jì)算機(jī)工程與應(yīng)用,2005,41(20):206-208.
[3]余承健.纖維檢測(cè)中交叉圖像的分離方法[J].電腦知識(shí)與技術(shù),2006(7).
[4]孟榮愛(ài),周長(zhǎng)劍,邱書(shū)波.紙漿纖維交叉分離的一種新型算法[J].紙和造紙,2011,30(8):67-70.
[5]胡敏,李梅,汪榮貴.改進(jìn)的Otsu算法在圖像分割中的應(yīng)用[J].電子測(cè)量與儀器學(xué)報(bào),2010,24(5):443-449.
[6]Soille P,王小鵬.形態(tài)學(xué)圖像分析原理與應(yīng)用[M].2版.北京:清華大學(xué)出版社,2008:125-127.
[7]江萍,徐曉冰,方敏.基于形態(tài)學(xué)骨架提取算法的研究及其實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2003,23(S1):136-137.
[8]張華,葉海建,王彥,等.改進(jìn)的二值圖像的交叉點(diǎn)掃描檢測(cè)算法[J].自動(dòng)化技術(shù)與應(yīng)用,2009,28(3):48-49.
[9]阮秋琦,阮宇智.數(shù)字圖像處理[M].2版.北京:電子工業(yè)出版社,2004:51-54.
[10]陸宗騏.C/C++圖像處理編程[M].北京:清華大學(xué)出版社,2005:200-320.
[11]李牧,閆繼紅,李戈,等.自適應(yīng)Canny算子邊緣檢測(cè)技術(shù)[J].哈爾濱工程大學(xué)學(xué)報(bào),2007,28(9):1002-1007.
[12]Calvin M,Qi R,Raghavan V.A linear time algorithm for computing exact euclidean distance transforms of binary images in arbitrary dimensions[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2003,25(2):265-270.
[13]劉金義,劉爽.Voronoi圖應(yīng)用綜述[J].工程圖學(xué)學(xué)報(bào),2004(2):125-132.
[14]Srisang W,Jaroensutasinee K,Jaroensutasinee M.Segmentation of overlapping chromosome images using computational geometry[J].Walailak J Sci&Tech,2006,3(2):181-194.
[15]Madian N,Jayanthi K B.Overlapped chromosome segmentation and separation of touching chromosome for automated chromosome classification[C]//Proceedings of IEEE Annual International Conference on Engineering in Medicine and Biology Society(EMBC),Aug 28,2012:5392-5395.