王大明,何逸霏,李華英,茍于江,何輝波
(西南大學工程技術學院,重慶市,400715)
柑橘是世界第一大類水果作物,同時也是排名第三的貿易農產品。我國是世界上主要的柑橘貿易、生產大國[1-3],國內柑橘產業種植規模持續增長,種植面積從1990年的1 061.2 khm2增長到2019年的2 617.3 khm2,2020年我國柑橘總產量高達51 220 kt[4-5]。
當前我國大部分地區的柑橘采摘方式仍以手工采摘為主,整個采摘過程不僅效率低且勞動強度大,所以研發柑橘采摘機器人具有很高的實用價值[6-7]。近年來,國內外學者對水果圖像處理做了大量的研究[8-11]。Lu等[8]利用顏色信息和圖像輪廓對樹冠內不同光6照下的柑橘進行研究,通過融合色差信息和歸一化RGB模型提出了一種初步的分割方法。趙德安等[10]通過對蘋果圖像進行分割、去噪和確定最小半徑等方式,實現了對重疊果實的快速跟蹤識別。柑橘圖像的識別作為柑橘采摘機器人視覺系統最為核心的部分,必須保證機器人能夠正確完成對柑橘的檢測。為了滿足這一要求,本文對柑橘圖像的預處理[12]、圖像分割、形狀特征提取以及Hough變換進行了研究。首先對顏色空間進行選取,其次圖像進行增強處理量作為柑橘的顏色特征,最后通過最大類間差法完成對柑橘圖像的分割。綜合比較Sobel、LOG、Canny等算子,確定最優方案完成對邊緣的檢測以及其邊緣特征的提取。
為了應對柑橘在自然條件下的復雜生長環境,本文選擇應用較為廣泛的HSV顏色空間來對柑橘圖像進行處理。首先通過對柑橘圖像增強、去噪,完成對圖像的預處理,然后依據果樹枝葉與成熟柑橘顏色信息的不同,將圖像進行分割得到目標圖像[13],對柑橘特征的提取使用不同邊緣檢測算子,然后選取合適的腐蝕和膨脹結構元素對目標圖像進行形態學處理并結合Hough變換完成對柑橘的檢測識別,如圖1所示。

圖1 柑橘識別流程圖Fig. 1 Flow chart of citrus image recognition
HSV是為一種比較直觀的顏色模型,在HSV顏色空間中,它的三個顏色分量之間保持相互獨立,尤其是亮度改變并不會對其色調產生影響,這個特性就使得它在圖像處理過程中對顏色及亮度的處理十分適合。圖2(b)為柑橘的H分量的圖像,可以看出柑橘果實呈現深黑色且背景較暗,不能很好地區分柑橘果實與背景;柑橘的S分量的圖像如圖2(c)所示,圖中柑橘果實呈現為較大的白色區域,可以看出它和背景之間存在著較大的差異;圖2(d)為柑橘的V分量圖像,雖然顯示效果較好,但是其受到光照影響較大,當光照很強或者很暗的時候,對于柑橘圖像的區分就會產生困難。

(a) HSV圖像

(b) H分量的圖像

(c) S分量的圖像

(d) V分量的圖像圖2 柑橘不同分量的圖像Fig. 2 Images of citrus’ different components
S分量的圖能夠將柑橘果實從背景圖像中較好地區分出來。相比于其他分量的圖像來說S分量不受圖像的色彩信息影響,而其飽和度和色彩分量也更為接近人對色彩的感受。因此,選擇HSV顏色空間中的S分量值作為柑橘識別的顏色特征,并在后續圖像處理過程中對S分量值進行一系列的處理。
圖像預處理操作的目的是消除圖像中無關的信息,恢復真實有用的信息,增強相關信息的可檢測性和最大限度地簡化數據,提高特征抽取、圖像分割、匹配識別的可靠性[14]。本文主要用到的預處理操作有直方圖均衡化和中值濾波,分別用來對柑橘圖像進行增強和去噪。經過直方圖均衡化的圖像如圖3所示。可以看出圖像在經過直方圖均衡化處理過后整個圖像的對比度有顯著提升,說明直方圖均衡化可以有效提高圖像品質,為后續的圖像分割及邊緣檢測提供保證。

(a) 灰度圖

(b) 直方圖均衡化后的圖像圖3 直方圖均衡化處理Fig. 3 Histogram equalization
首先通過對柑橘圖像進行加噪聲處理,加噪處理后的圖像如圖4(a)所示,其次再對加噪的圖像進行中值濾波處理,經過處理過后的圖像如圖4(b)所示。可以看出,模糊的加噪圖像經過中值濾波處理后,擁有較好的分辨率,能夠滿足對柑橘圖像的降噪要求。

(a) 加噪處理過后的圖像

(b) 中值濾波后的圖像圖4 濾波處理Fig. 4 Filter processing
要應用基于閾值分割法中的最大類間差法對圖像進行分析,將目標特征提取出來。最大類間方差法充分考慮了圖像灰度及其像素領域之間的關系,把目標與背景之差為最大方差時的閾值作為分割閾值。其最大的優點:不需要人為設置很多參數,就能夠自動選取最佳的閾值。
若柑橘圖像中的像素數為ni,灰度級以及灰度范圍為[0,L-1][15],則總的像素為
(1)
各個灰度值出現的概率
(2)
對于Pi,有
(3)
將圖像中所有像素用初始閾值T分成A0和A1兩類,定義灰度值在[0,T-1]的像素為A0,[T,L-1]的像素為A1,由此可以得到在區域A0和A1的計算公式為
(4)
(5)
兩個區域A0和A1的平均灰度分別為
(6)
(7)
整幅圖像的平均灰度
(8)
經最大間差法處理過后的圖像如圖5所示。

圖5 最大類間差法Fig. 5 Otsu threshold segmentation image
對分割后的圖像進行邊緣檢測是為了獲取圖像中的目標輪廓。為了便于確定后續柑橘識別的最優方案。分別采用Roberts、Sobel、Prewitt、LOG以及Canny算子對圖像分割后的柑橘圖像進行處理,結果如圖6所示。

(a) Roberts算子處理

(b) Sobel算子處理

(c) Prewitt算子處理

(d) LOG算子處理

(e) Canny算子處理圖6 五種算子的邊緣檢測Fig. 6 Edge detection of five operators
通過對比以上幾種邊緣檢測算子檢測到的圖像,發現Roberts算子提取的柑橘圖像邊緣較粗且存在不同的缺失,柑橘的定位精度也不夠高;Sobel算子和Prewitt算子都有著較高的定位精度;LOG算子提取出的圖像定位精度較為完整,但是圖像內部相對于其他算子來說有較多的干擾元素;Canny算子提取的圖像具有較好的邊緣完整性以及連續性。為了便于后續柑橘識別和確定最優方案。本文選定了Sobel、LOG和Canny三種算子作為柑橘圖像邊緣提取方法對柑橘進行邊緣檢測。
通過邊緣算子處理后可以得到柑橘圖像的輪廓,但是圖像中仍然存在許多的噪聲干擾,這會對后續的識別造成一定的影響,降低柑橘的識別率。因此,需要選擇合適的腐蝕和膨脹結構處理單元。本文在經過多次試驗后,確定了有效的數學形態學處理方案。這個方案采用先腐蝕后膨脹的處理方式,腐蝕的結構元素為4×4鄰閾元素,膨脹結構元素為3×3鄰閾元素,腐蝕10次,膨脹10次。最后,采用開運算去除圖像中的細小結構并對孔洞進行填充[16]。處理以后得到的結果如圖7所示。

圖7 數學形態學處理過后的圖像Fig. 7 Image processed by mathematical morphology
經過10次的膨脹腐蝕以及開運算處理以后,柑橘圖像的噪聲點已經很少,能夠較好完成對柑橘輪廓邊緣的提取,有利于提高柑橘的識別率。
完成對圖像的預處理操作以后,通過Hough變換對柑橘的圖像進行識別,將圖像中某些具有特定形狀的邊緣輪廓連接起來,從而形成平滑的邊緣[17-19]。柑橘的輪廓特征為橢圓形,較為接近圓形,因此采用Hough變化圓檢測來實現對柑橘的識別。
試驗分為三組進行測試,每組共100張照片,且均含背光、向光兩種類型,每組中背光、向光的照片數量隨機分布。第一組采用單個無枝葉遮擋的柑橘果實進行采集;第二組采用單個有枝葉遮擋柑橘果實進行采集;第三組采用多個柑橘果實重疊的照片進行采集。柑橘果實照片均采用魅藍note6進行拍攝。為了防止無關因素對試驗結果的影響,將每一張圖片設置為同樣的參數,具體圖像參數設置如表1所示。

表1 圖像參數設定Tab. 1 Image parameter setting
表1中半徑的大小都是根據采集得到的圖片像素確定的,每一張圖片的像素均為1 944×2 592。
分別用Sobel、LOG和Canny三種邊緣檢測算子下的Hough變換來對單個無枝葉遮擋果實進行識別,從而確定最優的柑橘識別算法,試驗結果如表2所示。

表2 單果無枝葉遮擋試驗結果Tab. 2 Results of the single-fruit no-branch-shade test
通過表2中的數據可以看出Sobel算子和Hough變換圓檢測的方案識別時間雖然不是三組之中最快的,但是其與LOG算子與Hough變換的差距只有0.109 4 s,且Sobel算子和Hough變換圓檢測的成功識別率高達97%,明顯優于其他兩種方案,同時在試驗過程中發現無論柑橘是處于向光環境還是背光環境,均能夠被正確地識別。由此說明,使用該方案無論是向光還是背光,環境對柑橘識別算法的使用影響不大。向光和背光環境下的柑橘識別結果如圖8所示。

(a) 向光環境

(b) 背光環境圖8 單個無枝葉遮擋的柑橘識別Fig. 8 Experimental results of citrus recognition
自然環境中,單個無枝葉遮擋的柑橘果實是一種較為理想的狀態,然而柑橘的采摘環境是非常復雜的,會出現柑橘果實被枝葉遮擋以及多個果實重疊的現象。為了研究上文所確定的最優算法,對復雜情況下的柑橘圖像識別的成功率進行了兩組試驗。隨機采用100張向光、背光的單個有枝葉遮擋柑橘果實進行試驗,結果如表3所示,識別結果如圖9所示。可以看出,對單個有枝葉遮擋的柑橘識別成功率為90%。

表3 單果有枝葉遮擋試驗結果Tab. 3 Results of single fruit with branch and leaf shading test

(a) 向光環境

(b) 背光環境圖9 單個有枝葉遮擋的柑橘識別Fig. 9 Identification of a single citrus shaded by branches and leaves
隨機采用100張向光、背光的多個柑橘果實重疊的照片進行識別,每張圖片至少含有2個以上的柑橘果實,并且存在大量枝葉遮擋的情況。對這100張圖片中的柑橘果實數量進行人工統計,柑橘果實的總數為326個。試驗結果如表4所示,識別的結果如圖10所示。可以看出,在多個柑橘果實重疊且有枝葉遮擋的條件下,該算法識別成功率達80.6%。

表4 多果實重疊有枝葉遮擋試驗結果Tab. 4 Multiple fruit overlap with branch and leaf shading test results

(a) 三個柑橘

(b) 兩個柑橘圖10 多個柑橘的識別圖像Fig. 10 Recognition images of multiple citrus
綜合以上三組試驗結果,分析部分柑橘果實圖像識別失敗的原因,由于柑橘并非絕對意義上的圓形,同時又存在枝葉遮擋以及多個果實重疊的現象,導致提取的目標特征并非圓形。因此,在利用Hough圓檢測的時候會存在著錯誤識別的情況。
本文針對柑橘采摘機器人的圖像識別算法進行了設計,通過選取HSV顏色空間中的S通道分量作為柑橘的顏色特征以降低光強對柑橘識別的影響。同時,分別采用Sobel、LOG以及Canny三種不同邊緣檢測算子結合Hough變換對算法進行設計,最終由試驗結果比較得出柑橘識別算法的最優方案。
1) 試驗結果顯示基于Sobel算子下的Hough變換對單個無枝葉遮擋柑橘識別的成功率最優,高達97%,該算法能夠有效完成單個無枝葉遮擋的柑橘果實的識別。
2) 同等條件下對單個有枝葉遮擋的柑橘識別成功率為90%,考慮到枝葉對柑橘果實的遮擋會對圖像識別產生一定影響,但仍然具有較好的識別效果。
3) 在多個柑橘果實重疊且有枝葉遮擋的條件下,該算法識別成功率達80.6%,在一定程度上能夠對多個重疊柑橘果實進行有效的識別,識別率降低的原因可能是柑橘果實重疊以及枝葉的遮擋造成圖像的圓形特征被破壞,導致識別率成功率下降。