田志超,劉玉萍,李 娟,朱學(xué)巖
(1.青島農(nóng)業(yè)大學(xué)機(jī)電工程學(xué)院,山東青島 266109;2.青島農(nóng)業(yè)大學(xué)校醫(yī)院,山東青島 266109)
枸杞有著極高的藥用和食用價(jià)值,深受大眾的喜愛(ài)。枸杞皮薄易損,外形小、數(shù)量多并且生長(zhǎng)密集,使得枸杞的采摘成為整個(gè)生產(chǎn)過(guò)程中最費(fèi)時(shí)費(fèi)力的環(huán)節(jié)。近年來(lái),人工采摘的效率低、成本高以及勞動(dòng)力不足等問(wèn)題越來(lái)越凸顯出來(lái),種植者對(duì)自動(dòng)化作業(yè)的需求越來(lái)越迫切。因此,研究枸杞果實(shí)、枝條的機(jī)器識(shí)別方法并實(shí)現(xiàn)自動(dòng)化采迫在眉睫。
目前機(jī)器視覺(jué)已被廣泛應(yīng)用于國(guó)防工業(yè)、醫(yī)療科技[1]、水下圖像識(shí)別[23]、尺寸測(cè)量[4]以及果蔬識(shí)別與分類[57]等領(lǐng)域。然而在枸杞的識(shí)別與采摘領(lǐng)域相關(guān)研究較少,目前已有的成果多是針對(duì)外部缺陷的檢測(cè)以及產(chǎn)地的識(shí)別研究等,例如,文[7]通過(guò)提取枸杞的大小、形狀、色澤等信息實(shí)現(xiàn)了枸杞的無(wú)損檢測(cè)與分級(jí);文[8]提出一種基于形態(tài)學(xué)邊緣檢測(cè)的枸杞外部缺陷識(shí)別方法;文[9]基于機(jī)器視覺(jué)對(duì)枸杞產(chǎn)地進(jìn)行了識(shí)別研究等等。此外,對(duì)枝條的識(shí)別研究也非常少見(jiàn),現(xiàn)有研究的識(shí)別目標(biāo)一般是具有較高硬度的枝條,例如,文[10]采用半閾值分割以及邊緣檢測(cè)的方法識(shí)別出樹(shù)干圖像,提出一種可以分割復(fù)雜背景下樹(shù)干圖像的方法,初步實(shí)現(xiàn)了樹(shù)干圖像的計(jì)算機(jī)自動(dòng)識(shí)別;文[11]等通過(guò)亮度轉(zhuǎn)換和閾值分割完成枇杷枝條框架的提取。以我們的知識(shí),目前還沒(méi)有見(jiàn)到針對(duì)較軟枝條進(jìn)行枝條識(shí)別的報(bào)道,更沒(méi)有見(jiàn)到針對(duì)枸杞采摘進(jìn)行枸杞枝條識(shí)別研究的報(bào)道。本文旨在此方面進(jìn)行嘗試,目的是為了定位枝條的首端坐標(biāo),從而實(shí)枸杞的機(jī)械采摘。
本文使用佳能Powershot SX60 HS數(shù)碼相機(jī)進(jìn)行圖像采集,采集地為青海省海西州都蘭縣的枸杞種植基地,圖像的類型為jpeg格式,為了便于處理,將圖像的分辨率設(shè)為640*480,硬件設(shè)備為聯(lián)想電腦win10系統(tǒng),基于OpenCV 2.4.9視覺(jué)庫(kù)在Visual Studio2010開(kāi)發(fā)環(huán)境上對(duì)采集的圖像進(jìn)行調(diào)試和處理。
為了達(dá)到枝條可識(shí)別的目的,本研究針對(duì)枝條受遮擋情況的不同采取不同的處理方式,識(shí)別整體流程如圖1所示。
圖1 整體流程圖
顏色處理模型種類也很多,目前常用的顏色模型主要包括 RGB[12-13]、YCbCr[14]、HIS[15]、HSV[16]、Lab[17]等 模型。為了增強(qiáng)目標(biāo)與背景之間的顏色特征差異,目前多數(shù)研究方法都是使用某個(gè)顏色模型各顏色分量的組合 (多為線性組合)作為顏色特征進(jìn)行圖像分割等處理,根據(jù)不同的情況選用不同的顏色分量和不同的組合方式。通過(guò)分析、調(diào)試和綜合對(duì)比,本文最終選用了相對(duì)簡(jiǎn)單且可行性較強(qiáng)的RGB顏色模型來(lái)對(duì)枸杞枝條圖像進(jìn)行處理。
選取的枸杞樹(shù)原始圖像如圖2(a)所示。為了改善由于光照強(qiáng)度和遮擋等所造成的亮、暗程度分布不均的問(wèn)題,增強(qiáng)局部逆光條件下圖像的亮度而不會(huì)對(duì)整體亮度有所影響,本文采用直方圖均衡化進(jìn)行圖像增強(qiáng)。增強(qiáng)前后效果如圖2所示。
圖2(b)和圖2(c)兩個(gè)直方圖的橫坐標(biāo)為灰度級(jí),縱坐標(biāo)為像素?cái)?shù)目。由圖2可以看出,均衡化后直方圖的分布更加均勻,增強(qiáng)了整個(gè)圖像的對(duì)比度,降低了順光逆光條件下亮度對(duì)圖像分割的影響。
為了分析枸杞圖像中各部分顏色特征,尋找適當(dāng)?shù)膮^(qū)分關(guān)系更好的進(jìn)行圖像分割,需要對(duì)圖片中涉及到的果實(shí)、枝條、樹(shù)葉等各部分的顏色特征進(jìn)行獲取和分析,各顏色分量的強(qiáng)度值如表1所示。
圖2 直方圖分析
表1 RGB各分量的強(qiáng)度值
通過(guò)表1的數(shù)據(jù)可知,果實(shí)的R通道值最大,B通道值最小,明顯區(qū)別于其它背景,可以很容易的將果實(shí)分割。而其它部分背景,則很難通過(guò)初始的顏色空間分量進(jìn)行圖像分割,此時(shí)可以將多個(gè)顏色分量進(jìn)行組合 (加權(quán)或者和差運(yùn)算)以增強(qiáng)待提取的目標(biāo)與背景之間的特征差異,以找到合適的區(qū)分點(diǎn)進(jìn)而實(shí)現(xiàn)圖像分割。由于外界環(huán)境和選擇的對(duì)象不同,使用組合的方式也大不相同,本文的圖像主要涉及到枸杞果實(shí)、枝條、樹(shù)葉、天空等,通過(guò)分析表1數(shù)據(jù),我們可以得出以下結(jié)論:
(1)枸杞枝條的圖像特征大部分滿足R-G>0,可以作為分離枝條與背景的標(biāo)準(zhǔn)之一。
(2)枸杞果實(shí)圖像特征滿足R遠(yuǎn)大于G與B通道的值??梢酝ㄟ^(guò)R-B,2R-G-B,R-G等對(duì)圖像進(jìn)行閾值分割來(lái)獲取果實(shí)輪廓。
(3)樹(shù)葉顏色特征為G分量大于R和B分量,利用2G-R-B進(jìn)行分割。
對(duì)以上公式中出現(xiàn)的R-G、R-B以及2R-G-B3種組合方式的色差值進(jìn)行詳細(xì)分析,如表2所示。
表2 RGB各分量組合的測(cè)定數(shù)據(jù)
由表2的數(shù)據(jù)可以看出,在R-G色差下天空、樹(shù)葉和白云都是負(fù)值,而枝條和果實(shí)為正值,并且枝條和果實(shí)的色差值相差很大,可以很好的將背景與目標(biāo)分割開(kāi)來(lái);R-B色差下枝條和樹(shù)葉區(qū)分不是很明顯,且因?yàn)楣庹諒?qiáng)度的影響導(dǎo)致暗處顏色不明顯的枝條無(wú)法識(shí)別出;2R-G-B色差下的識(shí)別效果則跟R-G色差下的分離數(shù)據(jù)特征基本類似,在此不在贅述。
圖1為盤拉銅管在加熱溫度為460℃時(shí),保溫時(shí)間分別為30 ~ 45min條件下退火銅管的顯微組織形貌。
枝條識(shí)別過(guò)程中,密集生長(zhǎng)的枸杞果實(shí)會(huì)影響對(duì)枝條的識(shí)別效果,可以考慮先對(duì)果實(shí)進(jìn)行提取和去除。同時(shí),提取果實(shí)也利于后續(xù)對(duì)枝條的識(shí)別與定位。因此,對(duì)果實(shí)的識(shí)別與提取是不可或缺的一步,通過(guò)比較上文的幾種分割方式,本設(shè)計(jì)最終選取計(jì)算相對(duì)簡(jiǎn)單并且操作容易實(shí)現(xiàn)的R-G方式來(lái)完成對(duì)果實(shí)的提取和去除。果實(shí)提取和消除的效果分別如圖3(a)和3(b)所示。
圖3 去果實(shí)過(guò)程
對(duì)輸入圖像到輸出圖像K進(jìn)行如下變換,即進(jìn)行閾值分割:
通過(guò)對(duì)不同顏色空間提取并分析所得數(shù)據(jù)發(fā)現(xiàn),目標(biāo)和背景所對(duì)應(yīng)的分量像素值在圖像中的不同區(qū)域是不一樣的,因此只使用單個(gè)閾值很難將目標(biāo)與背景分開(kāi)。這時(shí)可以對(duì)不同區(qū)域采用不同的閾值來(lái)進(jìn)行分割,從而達(dá)到更好的分割效果。通過(guò)對(duì)RGB、HIS、YCrCb3種不用顏色空間下的枸杞枝條進(jìn)行提取,雖然HSI和YCrCb方式都能檢測(cè)出枝條的輪廓,但是圖像中依然夾雜著樹(shù)葉、天空、白云等大量噪聲。此外。HSI方式明顯噪聲比較多,而另外兩種方式在去除噪聲方面明顯突出。經(jīng)反復(fù)實(shí)驗(yàn)發(fā)現(xiàn),將Cb分量提取出來(lái)進(jìn)行直方圖均衡化后與其它兩個(gè)分量合并,轉(zhuǎn)回RGB顏色空間,再對(duì)RGB空間的組合通道進(jìn)行閾值分割效果最好。經(jīng)過(guò)實(shí)驗(yàn)比對(duì),最終采用R-G>25或R-G<-4進(jìn)行閾值分割,通過(guò)膨脹、腐蝕運(yùn)算,能夠去除部分樹(shù)葉、天空等背景噪聲;對(duì)于仍有未完全分離的部分果實(shí)的邊緣輪廓和細(xì)小的外界噪聲,可以通過(guò)中值濾波和形態(tài)學(xué)處理來(lái)進(jìn)一步對(duì)圖像進(jìn)行優(yōu)化,效果如圖4所示。
自然條件下生長(zhǎng)的枸杞總會(huì)有許多枝條受到果實(shí)和樹(shù)葉的遮擋,會(huì)導(dǎo)致獲取圖像中的枝條出現(xiàn)間斷。機(jī)械手對(duì)枸杞果實(shí)的采摘主要是通過(guò)定位枝條輪廓的首端坐標(biāo)來(lái)進(jìn)行抓取采摘的,遮擋所帶來(lái)的間斷會(huì)將圖像中同一根枝條輪廓分成若干,這樣以來(lái)每一個(gè)輪廓都會(huì)對(duì)應(yīng)一個(gè)首端坐標(biāo),采摘時(shí)機(jī)械手就可能會(huì)對(duì)同一根枝條進(jìn)行重復(fù)采摘。對(duì)枝條的非合理性間斷進(jìn)行修復(fù)可以很好地解決這個(gè)問(wèn)題,提高采摘的效率。
在修復(fù)前需要盡可能多的去除干擾,尤其是圖像中的小面積區(qū)域,去除小面積輪廓區(qū)域后的結(jié)果如圖5所示。
圖5 去除小面積輪廓
圖6 霍夫線變換修復(fù)枝條
本設(shè)計(jì)采用累計(jì)概率霍夫變換來(lái)實(shí)現(xiàn)對(duì)間斷枝條的修復(fù)。累計(jì)概率霍夫變換是對(duì)邊緣點(diǎn)進(jìn)行概率性的選取,執(zhí)行效率高,通過(guò)定義最小直線的長(zhǎng)度和兩線段之間最大間隙的距離,跟設(shè)定閾值進(jìn)行比較來(lái)判定是否是一條直線并進(jìn)行連接,從而獲得相對(duì)完整的枝條。
下面將枝條的檢測(cè)與修復(fù)分為以下兩種情況:
(1)單根枝條之間存在著間斷,如圖5,這種情況最好的修復(fù)方法之一就是通過(guò)霍夫線變換來(lái)實(shí)現(xiàn)同一枝條上間斷的連接,修復(fù)結(jié)果圖如圖6所示.
枸杞枝條的擬合可以分為直線擬合和曲線擬合兩種方式。最小二乘法直線擬合是通過(guò)提取所有果實(shí)的質(zhì)心坐標(biāo),根據(jù)擬合公式求出斜率和截距,進(jìn)而求出直線方程,然后通過(guò)畫線函數(shù)將此直線畫出。Open CV中的line函數(shù)是通過(guò)兩個(gè)坐標(biāo)點(diǎn)來(lái)進(jìn)行畫線的,用直線方程將直線的頂點(diǎn)坐標(biāo)表示出來(lái),兩端分別與所求平方和的均值坐標(biāo)進(jìn)行相連即可定位出此處的首端枝條。
直線擬合的公式如下:
其中:y:所有果實(shí)質(zhì)心縱坐標(biāo)的平均值;x:所有果實(shí)質(zhì)心橫坐標(biāo)的平均值;k:擬合直線的斜率;n:果實(shí)的個(gè)數(shù);b:擬合直線截距。
直線擬合的結(jié)果如圖8所示。由圖可以看出,擬合出的線條與原枝條位置基本吻合。
圖7 枝條首端完全遮擋
圖8 直線擬合
圖9 曲線擬合
此外,最小二乘法多項(xiàng)式曲線擬合是常見(jiàn)的曲線擬合方法,在實(shí)際生活中有著廣泛的應(yīng)用。根據(jù)給定的m個(gè)點(diǎn),并不要求這條曲線精確地經(jīng)過(guò)這些點(diǎn),而是要求曲線y=f(x)的近似曲線y=φ(x)。按偏差平方和最小的原則選取擬合曲線,并且采取二項(xiàng)式方程為擬合曲線,擬合結(jié)果如圖9所示。
要想實(shí)現(xiàn)對(duì)果實(shí)的精準(zhǔn)采摘,就需要提取出枝條的首端坐標(biāo)以及長(zhǎng)度,這樣采摘時(shí)機(jī)械手前進(jìn)的距離就可以確定。本文提出一種質(zhì)心差值法來(lái)獲取枸杞枝條的首端坐標(biāo),現(xiàn)將處理過(guò)程分為三步:1)將修復(fù)后的枝條輪廓進(jìn)行提取,通過(guò)計(jì)算力矩來(lái)獲取各枝條的質(zhì)心坐標(biāo);2)遍歷所有枝條的輪廓并對(duì)其面積進(jìn)行比較,一般情況下面積最大的為枝干,提取枝干的質(zhì)心坐標(biāo);3)以枝干質(zhì)心坐標(biāo)為中心點(diǎn),計(jì)算每根枝條質(zhì)心與枝干質(zhì)心的橫坐標(biāo)之差,若差值為負(fù)值,則此枝條輪廓最左側(cè)邊緣坐標(biāo)為枝條的首端坐標(biāo),若差值為正值,則此枝條輪廓最右側(cè)邊緣坐標(biāo)為枝條的首端坐標(biāo)。對(duì)于比較極端枝條,如正好跟枝干質(zhì)心的橫坐標(biāo)重合,可以先不采取處理,在多角度識(shí)別采摘的過(guò)程中這種極端情況的問(wèn)題就迎刃而解了。實(shí)際上采摘枸杞果實(shí)時(shí)不可能僅對(duì)一個(gè)平面進(jìn)行識(shí)別就能將整棵枸杞樹(shù)全部識(shí)別、采摘完,而是需要從多個(gè)角度來(lái)采集圖像進(jìn)行識(shí)別采摘。
對(duì)于枝條直徑的測(cè)量,調(diào)用Open CV庫(kù)中的contour Area()和arch Length()函數(shù),可分別計(jì)算出各個(gè)輪廓的面積和周長(zhǎng)。因?yàn)槠矫嬷袑澢闹l進(jìn)行拉伸形狀近似于矩形,而矩形的寬度即可認(rèn)為是枝條截面的直徑。因此,設(shè)S為輪廓面積,C為輪廓的周長(zhǎng),L為長(zhǎng)度,J為截面直徑,通過(guò)面積和周長(zhǎng)公式列二元一次方程即可求出矩形的寬度,即枝條的直徑,公式如下:
獲取枝條的相關(guān)數(shù)據(jù),如圖10所示。
圖10 枝條數(shù)據(jù)
本文提出了一種基于機(jī)器視覺(jué)的枸杞枝條識(shí)別方法,實(shí)現(xiàn)了枸杞枝條的識(shí)別與被遮擋枝條修復(fù),在此基礎(chǔ)上提出了質(zhì)心差值法定位枝條首端坐標(biāo),為機(jī)械手準(zhǔn)確抓取枝條提供了必要條件,為實(shí)現(xiàn)枸杞的自動(dòng)化采摘提供了新的思路。但該研究還處于理論階段,枝條識(shí)別率受復(fù)雜環(huán)境的影響較大,因此,在本文的基礎(chǔ)上,可進(jìn)一步研究如何提高系統(tǒng)在復(fù)雜環(huán)境中的識(shí)別率等問(wèn)題。