張潤芝 吳剛
(塔里木大學信息工程學院,新疆 阿拉爾 843300)
香梨的體尺參數一定程度上反映了香梨的等級,不同等級的香梨可分級定價銷售,提高香梨的經濟價值。因傳統的接觸式測量[1,2]存在效率低、不準確等諸多問題,非接觸式測量方法得到飛速發展。翟鵬[3]采集葡萄不同時期的果實圖像,利用機器視覺及圖像處理,計算了葡萄果實不同生長時期的表型參數。申愛敏等[4]利用圖像處理的方法,通過閾值分割得到了核桃仁的分割圖像,采用像素統計方法得到核桃仁的面積,實現了核桃仁大小分級。郭俊先等[5]通過分析提取蘋果RGB圖像中單色、波長差等信息,利用形態學方法處理圖像,提取了目標區域幾何、灰度和色調頻度等特征,采用多元線性和偏最小二乘回歸預測了蘋果的質量和糖度等指標。
為了實現快速準確獲取果實的體尺參數信息,本文以香梨作為研究對象,對基于RGB圖像的香梨體尺參數測量方法進行研究。采用圖像處理的方法和機器學習技術,獲取香梨果實的長、直徑、體積,使用Kinect相機獲取香梨的RGB圖像,通過興趣域選取、透視矯正、圖像分割等步驟獲取香梨果實的邊緣圖像,用最小外接矩形法得到香梨果實長和直徑的像素數,并和通過標定板計算出的像素實際大小相乘計算出長、直徑真實大小;利用SVR、決策樹回歸模型以香梨果實長、直徑為輸入,預測果實的體積。
通過Kinect采集的原始香梨RGB圖像不僅包含香梨果實,還包含標定板、背景等,過多的冗余信息會導致圖像分割的結果不理想,因為圖像處理技術對環境要求較高,故需要剔除冗余的背景,將注意力集中在有用信息上。使用MATLAB自帶的“getrect”函數可以選擇興趣域,使用“imcrop”函數截取興趣域。
由于Kinect在安裝時并不能完全豎直向下,所以拍攝得到的照片呈現在人們眼前時是失真的,此時就需要透視矯正,呈現出來的效果就是使圖像里存在的線條橫平豎直。透視矯正還有一個作用就是使后續檢測香梨表型參數時更加準確,因為Kinect不是豎直向下拍攝的,所以拍攝的標定板和香梨每個像素點所對應的實際大小是不一樣的,因此后續計算香梨長度、直徑等參數時誤差會增加。為簡化后續計算香梨長度、直徑的算法,若感興趣的區域只有A3紙所在的區域,減少背景對在此進行角點檢測。將興趣域選取和透視矯正同時進行。檢測到標定板A3紙的4個角點后,形成一個矩形框,對矩形框內的區域進行透視矯正并截取此區域內的圖像。
圖像分割的目的是將圖像中所需要的某部分整體分割出原圖像,常見的圖像分割方法有閾值分割法、區域分割法、邊緣分割法和直方圖法。其中,閾值分割法是根據灰度閾值將原灰度圖像分成若干個區域的技術,適用于欲分割區域和其他區域的灰度值差異較大。優點是計算簡單、效率高。邊緣分割法是根據物體和背景的灰度值突變和不連續來識別和分割的,通過不同的濾波器來檢測這種突變和不連續就構成了不同種類的邊緣檢測算法。
閾值分割方法中常用Otsu(最大類間方差法),通過聚類將灰度圖像分為2塊,香梨和背景的灰度值差別較大,適合使用Otsu方法進行圖像分割。
邊緣分割算法中常用Canny算子進行邊緣檢測,首先利用高斯濾波降低噪聲,防止虛假邊緣;計算圖像的梯度和梯度方向;對梯度圖像應用非極大值抑制;使用雙閾值處理和連通性分析來檢測與連接邊緣,最后填充最大連通塊的內部。
本文圖像分割使用Otsu算法和Canny算子,對比2種方法的效果,圖1為分割后的香梨圖像。圖1a可以看出,Otsu算法對香梨邊緣的識別較好,香梨頂端的凹陷更加明顯,但是香梨中間有孔洞,Canny算子對香梨邊緣的提取能力較弱,但是香梨中間沒有孔洞。雖然Canny算子對邊緣的處理能力稍弱,但對后續香梨尺寸參數的計算影響不大,為了減少后續的處理過程,選用Canny算子做邊緣分割并填充內部區域的方法。
現實世界里的事物被CCD相機拍攝生成圖像,圖像和真實物體存在映射關系,若想知道真實物體和圖片中物體的映射關系就需要知道像素點實際的大小。計算像素點實際大小有多種方案,如通過相機的外部參數、利用標定板等,為了方便實驗設計和實現,選擇利用標定板的方案計算像素點的大小。
實驗背景板選擇的A3紙,通過角點檢測和透視校正并裁剪后,A3紙和放置于A3上的香梨同步變換為相機豎直向下拍攝時所成的像。A3紙的大小已知,圖像的分辨率也已知,分別用A3紙的長、寬大小除以圖像長像素的個數、寬像素的個數,即可計算出圖像像素點所對應的實際大小,計算公式為式(1)。通過圖像分割已經得到A3紙圖像的分辨率,帶入式(1)得到像素長的實際大小為0.886mm,像素寬的實際大小為0.853mm。
(1)
式中,S表示單個像素所對應的實際面積大小;Pl表示在當前安裝高度和角度下A3紙圖像長的像素個數;Pw表示在當前安裝高度和角度下A3紙圖像寬的像素個數。
通過彩色圖像計算香梨的尺寸參數主要通過計算香梨尺寸像素的個數后與像素對應的實際大小相乘,計算出各尺寸參數的實際大小。如何計算香梨圖像尺寸參數的像素點個數是本節的重點。采用最小外接矩形法獲取香梨果實的長與最大直徑,而最小外接矩形是通過最小面積外接矩形和最小周長外接矩形2種方案求得。本文選擇最小面積外接矩形法,通過邊緣檢測找到香梨的邊緣區域生成一個外接矩形,記錄當前矩形的面積,然后旋轉一定的角度,重新生成外接矩形并記錄矩形面積,重復上述的步驟旋轉一圈后,比較各矩形面積的大小,選擇面積最小的矩形作為香梨的最小外接矩形,矩形的長即為香梨的長,矩形的寬為香梨的最大直徑。提取的香梨最小外接矩形。
相機安裝在600mm處向下拍攝,分別采集了25個香梨的彩色圖像,通過彩色圖像估測了香梨的長度,計算香梨長度的估測誤差,結果如表1所示。運用數值分析對預測值與真實值進行線性回歸,如表1所示為香梨長度的估測結果,通過計算得到R2(擬合度),其取值范圍為0~1,值越大說明擬合效果越好。另計算RMSE(均方根誤差)值,表示預測值與真實值之間的偏差,這個值越小說明測量方法的誤差越小。
估測香梨直徑的方法與估測長度的方法一致,真實值與估測結果如表1所示。運用最小二乘法對香梨直徑的估測值與真實值進行線性回歸分析,香梨長度的估測值和真實值相關性很好,R2為0.91。而RMSE為1.87mm,說明估測值的平均誤差不是很大,香梨直徑的估測值和真實值相關性較好,R2為0.71,而RMSE為1.94mm,說明估測值的平均誤差很小。香梨長與直徑的RMSE基本一致,說明估測值誤差的偏離程度一樣,但長度估測值的回歸性更好,因為像素點長寬的實際大小接近,但是香梨的長度要明顯大于香梨的直徑,香梨長度估測值的相對誤差要小于香梨直徑估測值的相對誤差,故香梨長度的估測值與真實值相關性更好。通過表1可以計算出,香梨長測量值的平均相對誤差為2.3%,香梨直徑測量值的平均相對誤差為3.1%,通過二者的平均誤差也反映出香梨長度測量值的回歸性要更好。

表1 香梨長與直徑測量值與真實值對比分析
香梨的體積與香梨的長和直徑呈正相關,但關系非常復雜,因此將香梨的長和直徑作為輸入建立香梨體積模型,對香梨的體積進行預估。
支持向量機(SupportVectorMachine,SVM)是一種經典的分類算法[6,7],通過尋求結構化風險最小來提高學習機泛化能力,實現經驗風險和置信范圍的最小化,從而達到在統計樣本數量較少的情況下,也能獲得良好的統計結果的目的。支持向量機最初用來解決二分類問題,即通過一個超平面把數據分為2類,使得2類樣本到該超平面的距離最大。在實際中,經常會遇到線性不可分的樣例,這種情況下經常將原始數據映射到高維空間從而實現數據可分,這種方法就是核函數。經過不斷的演變,支持向量機不僅局限于解決分類問題,擴展后的支持向量機可以解決回歸問題,這就是支持向量回歸(SupportVectorRegression,SVR)[8]。
本文采用MATLAB內置“fitrsvm”函數來訓練模型,隨機選取100個香梨作為訓練集,測量其真實的長、直徑作為輸入,測量真實體積作為labels(標簽),剩下25個香梨作為測試集。測試結果如圖2所示。

圖2 SVR模型的香梨體積預測結果
決策樹回歸模型是一種基于決策樹算法的回歸模型。其通過構建一棵決策樹來對輸入數據進行建模和預測。與分類問題中的決策樹類似,決策樹回歸模型也是一種基于樹形結構的模型,其中每個葉節點都對應著一個回歸函數,用于預測該葉節點上的樣本的輸出值。
在決策樹回歸模型中,決策樹的構建過程與分類問題中的決策樹算法類似,但是每個節點的劃分準則不再是信息增益或者基尼系數等分類準則,而是針對連續值的回歸準則,通常使用均方誤差(MSE)或平均絕對誤差(MAE)等作為劃分準則。具體來說,對于一個給定的節點,選擇一個特征和一個閾值,將數據集分為2部分,使得每部分數據的輸出值的方差盡量小,然后遞歸地對分裂后的子節點進行同樣的處理,直到滿足某個停止條件為止,如樹的深度達到預設的最大值或者節點包含的樣本數達到一個閾值等。
本文采用MATLAB內置“fitrtree”函數來訓練模型,隨機選取100個香梨作為訓練集,測量其真實的長、直徑作為輸入,測量真實體積作為labels(標簽),剩下25個香梨作為測試集。測試結果如圖3所示。
與基于SVR模型的香梨體積預估結果進行對比分析可以發現,決策樹回歸模型的預估體積的R2更大、RMSE更小,說明,基于決策樹回歸模型的香梨體積預估效果更好。
本文主要闡述了通過RGB圖像和機器學習獲取香梨的長度、直徑和體積的方法,通過實驗驗證該方法的準確度,并對實驗結果進行分析,主要內容如下。
原始圖像拍攝背景較為復雜,不利于后續圖像處理的進行,對原始圖像進行興趣域選取,去除雜亂的背景。
對興趣域內的圖像進行透視矯正,并截取A3紙內的圖像,透視矯正后的A3紙及其內部的區域可看作Kinect相機豎直向下拍攝得到的,針對透視矯正后的圖像利用Canny算子邊緣檢測并填充最大連通域內部分割出香梨果實的圖像。
對香梨果實圖像做最小外接矩形檢測,得到的最小外接矩形長即為香梨的長、矩形的寬為香梨的直徑,然后根據A3紙的大小和透視矯正后圖像的分辨率計算單個像素所對應的實際長寬大小,將香梨長度的像素個數和直徑的像素個數分別乘上像素實際長寬的大小就計算出香梨的長和直徑。實驗結果表明,Kinect安裝在600mm處時,香梨果實長測量值的R2為0.91,RMSE為1.87mm,平均相對誤差為2.3%,香梨果實的直徑測量值的R2為0.71,而RMSE為1.94mm,平均相對誤差為3.1%。
對比分析了基于SVR模型和決策樹回歸模型的香梨體積預估方法的效果,采用SVR模型香梨體積預估值的R2為0.45,RMSE為18.47mL,采用決策樹回歸模型香梨體積預估值的R2為0.75,RMSE為12.07mL,故決策樹回歸模型的香梨體積預估效果優于SVR模型。