車金慶 王帆 呂繼東 馬正華
摘要:針對蘋果采摘機器人重疊果實識別誤差較大的問題,設計了一種分離識別方法。首先在蘋果圖像分割獲取其二值果實區(qū)域的基礎上,基于橫、縱投影圖實現(xiàn)重疊形態(tài)果實的判別,而后基于邊緣曲線通過SUSAN算法檢測果實輪廓_上的角點,再通過迭代腐蝕和瓶頸準則挑選重疊果實的分離點,并采用Bresenham算法連接分離點實現(xiàn)重疊果實的分離。提取分離果實邊緣曲線的有效輪廓后,通過改進的隨機Hough算法擬合果實圓心及半徑。最后選擇15幅重疊果實區(qū)域二值圖像,通過不同角點檢測計算結(jié)果的比較,驗證了SUSAN算法相比于其他角點檢測方法更為有效;通過改進的隨機Hough算法識別11幅圖像中的21個果實,其圓心相對誤差平均值、半徑相對誤差平均值和相對偏差平均值分別為6.90%、4.12%和6.07%,比傳統(tǒng)Hough算法分別低4.03、2.75、1.14個百分點,說明改進的隨機Hough算法得到的擬合圓更接近實際蘋果果實區(qū)域。
關鍵詞:蘋果;重疊果實;目標識別;圖像處理
中圖分類號:TP391.4
文獻標識碼:A
文章編號:1000-4440(2019)02-0469-07
自然生長條件下果實通常會存在重疊遮擋現(xiàn)象,此類果實的識別是采摘機器人實用化的關鍵問題[1]。重疊遮擋生長形態(tài)的果實識別方法不同于無遮擋形態(tài)果實以及其他生長形態(tài)的果實,在識別之前應對其形態(tài)進行判別確認,而后進行識別。尹建軍等[2]提出了基于形態(tài)重建的受控標記分水嶺算法搜索靠攏或重疊生長狀態(tài)的番茄分界線的方法,實現(xiàn)了不同生長狀態(tài)下多目標番茄圖像的自動分割。但由于環(huán)境的非結(jié)構(gòu)性,分水嶺算法會出現(xiàn)標記失效,且沒有相關量化試驗數(shù)據(jù)驗證其分割效果。謝忠紅等[3]以重疊形態(tài)的桃果實為研究對象,提出了一種基于凹點搜索的快速定位和檢測重疊果實目標的方法,在剔除誤識別和識別丟失后其定位誤差低于7%。徐越等[4]、王丹丹等[5]在去除遮擋蘋果果實的非真實輪廓段以及非光滑輪廓段后,利用保留下來的真實果實輪廓進行目標參數(shù)的估計及其定位,而后綜合利用K-means算法、數(shù)學形態(tài)學和Spline樣條插值技術,將重疊蘋果果實區(qū)域的凹點檢測轉(zhuǎn)換為凹區(qū)域的凸點檢測問題,簡化了凹點檢測的復雜度,平均定位誤差14.15%;同時他們還通過融合K-means與Ncut算法研究了遮擋雙重疊蘋果目標的分割與重建,提高了分割目標與真實目標的重合度,但計算較為復雜。李立君等[6]則提出了一種基于改進凸殼理論的遮擋油茶果定位檢測算法,對于枝葉遮擋重疊油茶果的分割誤差為8.71%。羅陸鋒等[7]提出了一種雙串疊貼葡萄目標識別方法,識別精準度為87.63%~96.12%。本研究在以往相關研究的基礎上,針對紅、黃、綠3種顏色重疊蘋果果實,首先對其重疊形態(tài)進行判定,而后通過角點檢測、分離點匹配連接實現(xiàn)重疊果實的分離,再基于分離后果實的有效輪廓通過改進的隨機Hough變換實現(xiàn)重疊蘋果果實的識別。
1 材料與方法
圖像采集與試驗
試驗圖像從江蘇省徐州市豐縣蘋果種植示范區(qū)自然環(huán)境下拍攝,數(shù)碼相機型號為CanonDIGITALIXUS 200 IS,蘋果品種為紅富士、金元帥、王林。采集的圖像包括不同光線下果實圖像,圖像原分辨率為4000x3000像素。從中抽選15幅圖像進行角點檢測算法性能對比,基于11幅圖像中21個果實的定位誤差指標評判識別效果。圖像試驗在MatlabR2013a軟件平臺上進行。平臺計算機硬件配置為:處理器Intel(R)Core(TM)2 Duo CPU@ 2.40 GHz,內(nèi)存2G。
1.2 圖像分割
從所采集的圖像中基于分割算法獲取果實區(qū)域。由于紅色蘋果果實以及枝葉與其背景之間具有較大的顏色差別,為此選擇基于顏色特征的果實區(qū)域獲取方法。通過研究比較發(fā)現(xiàn)采用基于R-G色差因子的OTSU動態(tài)閾值分割方法[8]可獲得較好的分割效果。而對于黃色、綠色蘋果圖像,采用多區(qū)域提取而后合并的圖像分割方法[9]獲取果實區(qū)域。
分割后的圖像中常有孤立的小點、毛刺和小孔洞。為了減少這些噪聲對后續(xù)工作的影響,以鄰域標記法對圖像中的連通區(qū)域進行標記并統(tǒng)計總數(shù),將小于最大連通區(qū)域1/12的小區(qū)域去除,通過漫水填充算法填補分割區(qū)域中的孔洞。最后將圖像劃分為果實和背景2個部分。圖1為經(jīng)過上述操作獲取的蘋果果實區(qū)域二值圖像。
1.3 重疊果實形態(tài)判定
果實形態(tài)的判定主要是對重疊形態(tài)果實區(qū)域的判定,以便后續(xù)針對此生長形態(tài)的果實進行進一步處理。首先對上述分割獲得的果實區(qū)域以水平最小外接矩形框定,然后計算各個框定區(qū)域內(nèi)果實圖像的歐式距離圖(圖2);基于對圖像連通果實區(qū)域生成的距離圖進行橫向和縱向投影,獲取橫、縱向投影圖(圖3);最后基于橫、縱向投影圖中的峰點數(shù)量判別是否為重疊形態(tài)果實。只要任一投影圖中的最大峰點數(shù)量多于2,即可認為該區(qū)域果實為重疊形態(tài)果實。從圖3中可以看出,投影圖最大峰點數(shù)為2,由此可以判定圖像中的果實為重疊形態(tài)的果實。
1.4 重疊區(qū)域角點檢測
由于生長狀態(tài)、光照度不同,分割出的果實區(qū)域形狀不規(guī)則。這時如果直接對邊緣曲線上的點進行兩兩匹配尋找分離點,計算量大且不穩(wěn)定。為此首先根據(jù)重疊果實區(qū)域的邊界曲線尋找角點作為后續(xù)分離點匹配的預選點組。通過Canny算子獲取邊界曲線。Canny算子相對于其他算子,例如Roberts算子、Sobel算子和Prewitt算子等,檢測出來的邊緣線較細,邊緣連接程度較佳,且目標細節(jié)表現(xiàn)明晰、完整,更容易檢測出真正的弱邊緣[10]。
采用SUSAN角點檢測算法在獲得的邊緣輪廓上尋找角點。SUSAN算法根據(jù)像素灰度,運用一個圓形模型檢測與像素點相關的局部區(qū)域,該局部區(qū)域被定義為USAN區(qū)域,是指圓形模板中與中心像素亮度相同或相似的像素所組成的區(qū)域。SUSAN角點檢測就是根據(jù)不同位置時USAN區(qū)域面積判斷當前像素點是否為區(qū)域角點。具體過程如下:用5x5圓形模板掃描檢測區(qū)域。為了避免檢測結(jié)果受亮度影響,采用式(1)計算模板內(nèi)像素點響應的相似度值。
公式
式中,c是相似度函數(shù),(x,y)為模板內(nèi)任意像素點的坐標f(x,y)為相應的灰度值,(xo,y,)為模板中心像素點的坐標,f(xo,yo)為中心像素點的灰度值。計算相應USAN區(qū)域的面積。USAN區(qū)域的面積,就是模板內(nèi)所有像素點對應的相似度值的總和,可以表示為:
公式
設置固定閾值g,采用USAN區(qū)域面積與固定閾值比較,根據(jù)式(3)獲得初始角點R。式(3)中,g為3/4模板的像元數(shù)量。
公式
去除偽角點。計算USAN區(qū)域重心與模板中心之間的距離,如果距離較小則該模板中心是偽角點。若模板中心與USAN區(qū)域重心之間的連線所經(jīng)過的像素點全部屬于該USAN區(qū)域,則該模板中心即為符合要求的角點(圖4)。
1.5 分離點匹配
分離點匹配即找出能夠作為分離重疊果實的角點,而能夠作為分離點的角點必須在果實區(qū)域中軸線兩端,且所在局部曲線的曲率變化較大。通過迭代腐蝕的方法,獲取重疊果實區(qū)域里每個果實的中心,連接之后構(gòu)成中軸線,然后將檢測的角點基于瓶頸準則進行兩兩匹配。迭代腐蝕法是將迭代算法與腐蝕算法結(jié)合對圖像進行形態(tài)學處理的組合方法。具體是指每次操作都將二值圖像腐蝕1層,每次迭代用1次4鄰域結(jié)構(gòu)元和1次8鄰域結(jié)構(gòu)元腐蝕上一次迭代腐蝕操作后得到的連通區(qū)域,直到再經(jīng)過一次迭代腐蝕操作連通區(qū)域個數(shù)為0,也就是只保留最中間的區(qū)域。在上述過程中考慮到迭代腐蝕算法可能會造成連通區(qū)域的減少,需要每次迭代腐蝕結(jié)束后恢復消失的連通區(qū)域并且重新標記連通區(qū)域。
采用SUSAN算法保留了局部曲率變化較大的點作為預選角點,使瓶頸點定位效率提高,準確性更高,減少了計算量。用A和B表示重疊區(qū)域邊緣曲線上的角點,瓶頸準則可用式(4)表示:
公式
式(4)中,dist(A,B)表示A、B兩點間歐式距離,length表示邊緣曲線的距離。由于邊緣曲線閉合,根據(jù)順、逆時針方向計算,會有2個不同的值,即length(A,B)和length(B,A),瓶頸準則公式中選取較小的曲線距離。選擇E(A,B)值最小時的A°、B*點作為瓶頸點。
圖5a中0,、0203分別表示迭代腐蝕得到的3個白色區(qū)域的質(zhì)心,002、0203即為所作中軸線,A、A、B、B、B、C是SUSAN算法檢測出的角點?;谄款i準則選定的分離點見圖5b,去除了一些無效角點。
1.6 分離點連接
分離點匹配后,要將重疊果實分離,還需要作出分離線。采用Bresenham算法[11]連接所匹配的分離點。Bresenham算法是計算機圖形學領域使用最廣泛的直線生成方法,不僅速度快、效果好,而且理論上證明它是目前同類各種算法中最優(yōu)的。通過該算法作出分離線后,將分離線像素取反,與果實區(qū)域的二值圖像進行與運算,即可將重疊果實區(qū)域分離(圖6)。
1.7 果實識別
由于果實目標區(qū)域的特殊性,分割得到的果實區(qū)域不是完整規(guī)則的圓形,采用傳統(tǒng)擬合方法則會導致擬合圓的區(qū)域相對于實際果實目標區(qū)域過大或過小,為果實的識別定位帶來較大的誤差,不利于機器人采摘。為此先提取各個分離果實區(qū)域的有效圓弧輪廓,然后基于所提取的有效圓弧輪廓,采用改進的隨機Hough變換方法重建圓形輪廓和圓心。
有效輪廓是指果實區(qū)域邊緣上曲率相同的圓弧曲線。由于分割的果實區(qū)域邊緣曲線較復雜,直接從邊緣曲線上提取有效輪廓的計算量較大。為了減少計算量,通過果實的凸殼圖像來提取有效輪廓。有效圓弧輪廓的相鄰凸殼頂點形成的直線斜率變化較小,接近擬合圓的圓弧;無效輪廓上相鄰凸殼頂點形成的直線斜率存在突變或者有較大間距[12]。提取果實區(qū)域有效輪廓的方法如下:(1)以逆時針方向跟蹤凸殼頂點,按照檢測順序排序并確定各個頂點的位置。(2)根據(jù)序號大小計算相鄰頂點間距(D)和所有頂點間距的平均值(T)。若T<D,則認為兩頂點間線段為無效輪廓并去除;反之則該線段作為預選有效輪廓。(3)計算預選有效輪廓的線段斜率(h),并計算相鄰預選有效輪廓線段斜率的絕對差值(S)和所有斜率絕對差值的均值(T)。(4)若相鄰預選有效輪廓線段的絕對差值(S)符合0<S<T,則該相鄰的兩段線段為有效輪廓,否則為無效輪廓,并去除。圖7b即為在圖7a凸殼圖基礎Hough變換是圖像特征檢測和識別中常用的一種方法,其主要優(yōu)點是對圖像中的噪聲點不敏感,可有效地濾除噪聲以提高檢測結(jié)果的可信度。主要缺點是存儲空間大,運算時間長[13,14]隨機Hough方法在圖像空間隨機選取不共線的3個特征點映射成參數(shù)空間的1個點,是多到1的映射,從而避免了傳統(tǒng)Hough變換1到多映射的龐大計算量。本研究基于上述提取的有效輪廓,采用改進的隨機Hough變換擬合果實區(qū)域。具體方法如下:將單個果實的有效輪郭等分成E份,按逆時針方向從各等份有效輪廓中任選一點作為特征點,確定特征點的位置,并按逆時針方向排序。按照序號以步長S提取相應的特征點,每3個點作為一組,設為P(x,y1)、P2(x2,y2)P3(x3,y3)。利用式(5)計算出每組特征點相應的圓心坐標0(x,y),同時該圓心坐標對應的累加器A(x,y)加1。
公式
式中,k、kz分別是弦PP2、P2P3的斜率。
若S<E/3,則步長S加1,并重復步驟(2),否則繼續(xù)步驟(4)。當A(x,y)值大于設定閾值T,時,求出A(x,y)對應的所有圓心坐標的平均值0。(xa,y。),即為擬合圓圓心坐標。利用擬合圓圓心坐標和相應的特征點組,用式(6)計算各個特征點組相應的半徑r,同時將r對應的累加器B(r)加1。
公式
式中,x;y;分別是有效輪廓上的第i個點的橫縱坐標。
當B(r)的值大于設定閾值T,時,求出B(r)對應的所有預選半徑的平均值[B。(r。)],即為擬合圓的半徑。圖8a為提取的有效輪廓以及在此基礎上的擬合圓,圖8b則是擬合圓在果實圖像中實際區(qū)域的效果圖。
2 結(jié)果與分析
為了說明SUSAN角點檢測算法的有效性,選擇15幅圖像中的重疊果實區(qū)域二值圖像,分別使用CSS曲率尺度空間角點檢測、Harris角點檢測、SUSAN角點檢測算法進行計算。從表1中可知,相比于CSS算法和Harris算法,SUSAN算法檢測得到的正確角點數(shù)較多,丟失角點個數(shù)和偽角點個數(shù)較少。
機器人采摘果實時,其采摘質(zhì)量不僅與果實形狀有關,也與果實形狀的中心和果實的大小有關。為了驗證所設計方法的有效性,用相對偏差(v)[13]圓心相對誤差(CRE)和半徑相對誤差(RRE)作為評價識別效果的指標。
公式
式中,L是果實形狀的中心與擬合圓圓心的距離,S,是果實實際區(qū)域的面積。
公式
式(8)、(9)中,L是果實形狀的中心與擬合圓圓心的距離,RealR是果實圖像的半徑,CalR是擬合圓的半徑。3個誤差值越小,表示擬合圓越接近果實實際區(qū)域。
表2中列出了圖像中21個果實的實際面積、形狀的中心坐標及半徑、改進的隨機Hough算法計算的擬合圓心和半徑、常規(guī)Hough算法計算的擬合圓心和半徑。表3是采用改進的隨機Hough算法與傳統(tǒng)Hough算法以表2中的數(shù)據(jù)計算得出的圓心誤差和圓心距離,以及利用式(7)、(8)、(9)計算得出的圓心相對誤差、半徑相對誤差和相對偏差。試驗中圓心距離是指坐標差值對應的直線距離,圓心誤差是指擬合圓圓心與果實形狀的中心的坐標差值。
從表2、表3可以看出,改進的隨機Hough算法得到的圓心與實際圓心的距離較小,因而圓心相對誤差較小;改進的隨機Hough算法得到的擬合圓半徑更接近果實實際半徑,因而半徑相對誤差也較小。改進的隨機Hough算法得到的圓心相對誤差、半徑相對誤差和相對偏差平均值分別為6.90%、4.12%和6.07%,常規(guī)Hough算法得到的這3個指標的平均值分別為10.93%、6.87%和7.21%。與改進的隨機Hough算法誤差平均值相比,常規(guī)Hough算法的圓心相對誤差平均值高4.03個百分點,半徑相對誤差平均值高2.75個百分點,相對偏差平均值高1.14個百分點,說明改進的隨機Hough算法得到的擬合圓更接近果實區(qū)域。
3結(jié)論
為了蘋果采摘機器人能夠準確識別重疊狀態(tài)下的果實目標,本研究設計了重疊蘋果果實的分離識別方法。首先研究了重疊形態(tài)果實的判別方法;而后通過角點檢測、分離點匹配連接,分離重疊形態(tài)果實,在提取分離果實的有效圓弧輪廓后,通過改進的隨機Hough變換方法識別分離后的果實。最后通過試驗驗證了本方法的有效性。本方法對于其他重疊果蔬圖像的識別也有一定的借鑒意義。
參考文獻:
[1]宋懷波,張傳棟,潘景朋,等.基于凸殼的重疊蘋果目標分割與重建算法[J].農(nóng)業(yè)工程學報,2013,29(3):163-168.
[2]尹建軍,毛罕平,王新忠,等.不同生長狀態(tài)下多目標番茄圖像的自動分割方法[J].農(nóng)業(yè)工程學報,2006,22(10):149-153.
[3]謝忠紅,姬長英,郭小清,等.基于凹點搜索的重疊果實定位檢測算法研究[J].農(nóng)業(yè)機械學報,2011,42(12):191-196.
[4]徐越,李盈慧,宋懷波,等.基于Snake模型與角點檢測的雙果重疊蘋果目標分割方法[J].農(nóng)業(yè)工程學報,2015,31(1):196-203.
[5]王丹丹,徐越,宋懷波,等.融合K-means與Ncut算法的無遮擋雙重疊蘋果目標分割與重建[J].農(nóng)業(yè)工程學報,2015,31(10):227-234.
[6]李立君,陽涵疆.基于改進凸殼理論的遮擋油茶果定位檢測算法[J].農(nóng)業(yè)機械學報,2016,47(12):285-292.
[7]羅陸鋒,鄒湘軍,王成琳,等.基于輪廓分析的雙串疊貼葡萄目標識別方法[J].農(nóng)業(yè)機械學報,2017,48(6):15-22.
[8]馬正華,申根榮,呂繼東.基于極限腐蝕的重疊蘋果果實分割方法[J].江蘇農(nóng)業(yè)學報,2017,33(6):1372-1378.
[9]王帆,呂繼東,申根榮,等.基于CLAHE和開閉運算的綠色蘋果圖像分割[J].計算機測量與控制,2017,25(2):141-145.
[10]田光兆,姬長英,王海青,等.基于MATLAB的若干蘋果邊緣檢測方法及其特性的對比研究[J].科學技術與工程,2010,10(16):3873-3877.
[11]劉坤,呂曉琪,谷宇,等.快速數(shù)字影像重建的2維/3維醫(yī)學圖像配準[J].中國圖象圖形學報,2016,21(1):69-77.
[12]王鑫,胡洋洋,楊慧中.基于迭代腐蝕的粘連細胞圖像分割研究[J].南京理工大學學報,2016,40(3):286-289.
[13]丁幼春,王書茂.基于RHT的多圓檢測改進算法[J].中國農(nóng)業(yè)大學學報,2008,13(4):121-125.
[14]馮養(yǎng)杰,林小竹.基于改進Hough變換的指針式儀表自動識別方法研究[J].北京印刷學院學報,2015,23(4):62-66.