周 軍,郭俊先,張 靜,姜彥武,艾力·哈斯木,蔡 建
(新疆農業大學機電工程學院,烏魯木齊 830052)
【研究意義】目前對核桃仁分級技術的研究仍處于起步階段,我國核桃仁分級仍主要靠人工進行分揀,這種方法不僅過程繁瑣、效率低,容易受人為主觀因素影響,不能保證分級的客觀性和標準化。為了實現對核桃仁大小、顏色的快速檢測、分選,判別核桃仁級別,采用機器視覺技術構建核桃仁RGB圖像采集系統,研究不同尺寸大小與顏色核桃仁的光學特性和成像特點,分析確定每一級別核桃仁的特征值,建立較優的核桃仁特征提取方法、分級方法、分選算法、識別模型,為該領域設備的研發奠定研究基礎。【前人研究進展】劉建軍等[1]基于機器視覺并結合行業標準,給出山核桃分級的方法,適用于山核桃的在線檢測;chen等[2]運用機器視覺圖像統計我國35個品種的核桃的自身物理參數,結合SSR標記為核桃品種的識別和種植資源的優化提供參考;方建軍等[3]設計了一套基于機器視覺的板栗實時分級系統,其依據是板栗的尺寸大小,準確率等達到98%,但是系統的圖像處理速度未能滿足在線分級要求;劉仕良等[4]采用MER的方法提取板栗的長短徑和長寬比作為分級標準,對運動狀態下的板栗基于機器視覺進行分級研究,其分級精度為95.33%,分級速率為40~50 nuts/s;季雪嬌等[5]運用圖像處理技術提取白色背景下的蟲害板栗和正常板栗的輪廓邊緣特征,將正常輪廓與蟲害板栗輪廓對比,若后者小于前者則識別為蟲孔,此種方法簡單、快捷;韓志忠等[6]根據花生仁的機器視覺圖像識別花生的品種和品質,統計分析了48個品種的6個等級,提取總共49個特征量,并建立準確度達97%以上的仿真平臺;展慧[7]基于機器視覺對板栗正常果和缺陷果進行分級研究,依據其著色分為三級,建立3×12×3的BP神經網絡,其驗證識別率為91.67%。【本研究切入點】劉軍等[8]采集新疆多個品種核桃RGB圖像,設計一種自適應雙閾值的Otsu法,快速、準確地分割出缺陷區域,周竹等[9]設計了基于V型平面鏡的機器視覺系統獲取馬鈴薯三面圖像,用于馬鈴薯分級特征的建立分級正確率可達到91.0%;張塔烺等[10]提出了一種基于機器視覺與山核桃圖像特征的山核桃頭尾檢測方法。前人都利用機器視覺技術進行農產品的檢測分級研究,但大多停留在靜態農產品個體圖像檢測上[11],特別是國內,對于農產品動態分級的研究尚欠缺,且針對核桃仁的顏色與完整度的自動分級系統尚未建立。目前核桃仁的分級主要還是依靠人工分級的方式進行,勞動強度大,分級效率較低。針對核桃仁進行自動分級進行研究。【擬解決的關鍵問題】研究核桃仁分選方法,確定獲得核桃仁等級數據,滿足識別速度快,表征的信息量最大,準確度高、穩定性好的要求;分析核桃仁動態分級處理適用于實際工廠化生產,設計分級準確、設備簡單可靠的核桃仁動態分級方法。
購于新疆烏魯木齊市北園春市場的核桃,選擇市面上常見的新新2號核桃品種150個為分級試驗對象。根據試驗需求對建立機器視覺系統的主要硬件選擇如下:①輸送臺(浙江乾錦輸送設備有限公司2 m輸送臺)②自制光源箱③相機(大恒MER-030-120U彩色相機)、鏡頭(日本CBC株式會社生產M0814-MP2)④光源型號(LTS-2BR35030)⑤一字型噴氣嘴⑥聯想ThinkCentre E75電腦⑦變頻器⑧電磁閥(FESTO公司生產MHE2-M1H-3/2G-M7)⑨單片機(STC89C52RC商業級)、定時器擴展芯片(日本NEC D8253C-2)、通訊轉換器(KOB品牌,USB2.0轉RS-485/422)。針對核桃仁的自動分級試驗,采用機器視覺系統裝置結構。圖1

1.輸送臺 2.光源箱 3.相機 4.光源 5.噴氣嘴 6.計算機 7.變頻器 8.電磁閥 9.下位機控制單元
1. transmission table, 2. light source box 3. camera 4. light source 5. jet nozzle 6. computer 7. converter 8. electromagnetic valve 9. lower machine control unit
圖1 核桃仁分級試驗裝置
Fig.1 Walnut kernel grading test device
1.2.1 顏色特征提取
首先將圖像RGB空間轉換為符合人眼對顏色主觀認識的HSV顏色空間,并主要在HSV顏色空間進行顏色特征的提取。HSV顏色空間模型,即用H(色調)、S(飽和度)和V(明度)表征顏色。圖2
顏色直方圖描述不同色彩在圖像中所占的比例,具有圖像縮放和旋轉不變性,即對于核桃仁動態分級下位置不一致時具有良好的魯棒性。由圖2知,色調分布在0°到360°的圓上。將色調等間隔量化為180等份(bin),分別隨機選取淡黃色仁,淡琥珀色仁以及等外仁各10個,作色調直方圖,其縱坐標為對應色調區間像素所占的頻率,從直方圖中可以看出各等級核桃仁的色調主要分布在0~30內,即紅色到黃色(0°到60°)的范圍,則可以提取0~30共31個色調頻率作為一部份色調特征,組成基于顏色直方圖的從bin0到bin30的31個色調特征。圖3
顏色矩是一種簡單有效的顏色特征表示方法。由于圖像的顏色信息主要分布在低階矩中,所以其一階矩(均值)、二階矩(方差)和三階矩(偏度)足以表達圖像顏色分布。為減小光源變化對圖像特征提取的影響,選擇圖像的色調H和飽和度S,分別計算其三個低階矩Hμ、Hv、Hs和Sμ、Sv、Ss組成表達顏色分布的6個特征。
結合基于色調直方圖的31個顏色特征和基于顏色矩的6個特征,共提取與核桃仁圖像顏色有關的37個特征作為核桃仁顏色分級的原始特征。圖4

圖2 HSV顏色空間模型
Fig.2 HSV color space model

圖3 不同等級核桃仁色調
Fig.3 Hue histogram of different grades of walnut

圖4 核桃仁形狀特征
Fig.4 Shape characteristics of walnut kernel
1.2.2 完整度特征提取
分析不同完整度核桃仁的特點,選取兩個特征表征核桃仁完整度的差異,分別是核桃仁輪廓面積與其最小外接圓面積的比值以及輪廓最小外界矩形長寬比。為避免相機高度對核桃仁數據的影響,故暫不采用直接提取面積的方式判斷完整度。
其中輪廓最小外接矩形由OpenCV中minAreaRec函數求得,研究表明,核桃仁輪廓最小外接矩形長寬比為:
式中:l:核桃仁輪廓最小外接矩形長;
W:核桃仁輪廓最小外接矩形寬;
核桃仁輪廓面積與其最小外接圓輪廓面積之比為:
式中:S:核桃仁輪廓面積;
R2:核桃仁最小外接圓;
Hu矩為圖像的幾何不變矩[12],是利用二階和三階中心矩構造的7個矩,它們在圖像平移、旋轉和比例變化時保持不變,可用于輪廓形狀識別。結合K1、K2,則可構成與核桃仁形狀相關的9個特征用于辨別核桃仁的完整度。圖4
1.2.3 分級處理動作試驗
基于前期核桃仁圖像分級方法研究,要實現核桃仁的動態分級,需要確定分級動作,為簡化分級機械設備,保證分級效率,研究采用氣吹的方式對核桃仁進行分級,使用藍色(背景色)輸送帶輸送核桃仁,并采用STC89C52單片機控制氣動電磁閥完成分級動作。由于核桃仁屬于相對較小的被測物體,且形狀不規則,采用光電傳感器來測量被測物體的位置存在不可靠的問題。故此次設計直接在攝像機下通過追蹤獲得被測目標的位置,待不同等級的核桃仁到達預定分級位置,上位機發送等級信號控制氣動電磁閥完成分級。
1.2.4 核桃仁動態分級流程設計
核桃仁分級方法為,系統在核桃仁輪廓入口處檢測到完整輪廓即確定追蹤目標,目標追蹤中心到達位置l則提取核桃仁圖像進行特征提取、分級并繼續追蹤其位置,待核桃仁到達相應分級位置即發送等級信號,控制電磁閥完成分級動作。圖5
對基于CamShift算法的核桃仁目標追蹤需要解決的問題是,確定包含所追蹤核桃仁目標區域的窗口以及色調直方圖。動態分級情況下要實現對每個進入相機視場的核桃仁追蹤,就需要計算機自動判斷進入視場的核桃仁,并初始化包含該核桃仁的搜索窗口,提取搜索窗口內的色調直方圖用于在視頻序列中追蹤此核桃仁。根據核桃仁在傳送帶上運動的實際情況,攝像機拍攝視頻時還未有核桃仁處于視場中,輸送設備啟動后,核桃仁依次進入相機視場,繪出各線程基本流程。圖6

圖5 核桃仁分級方法示意
Fig.5 Schematic diagram of walnut kernel classification

圖6 圖像處理、追蹤、分級流程
Fig.6 Image processing, tracking, and classification flow chart
通過人工分級,取不同等級核桃仁樣本各30個,通過以上圖像處理與特征提取方式得到30×5個樣本特征的數據。對于OpenCV和Matlab,它們對圖像特征處理函數的輸入量均為矩陣,且多數函數要求矩陣的每一行(Row)為一個樣本,每一列(Col)為一個特征,則由所有樣本的特征數據可得到用于特征選擇與模型訓練的訓練矩陣150(Row)×46(Col),列出Col代表的特征。表1
mRMR(最大相關最小冗余)算法是一種在保證最大相關性的同時,又去除冗余特征的方法[13-14]。算法利用互信息[15]衡量特征子集中特征與特征之間、特征與類別之間的相關度,互信息是兩個隨機變量統計相關性的測度,可以看成是一個隨機變量中包含的關于另一個隨機變量的信息量,或者是一個隨機變量由于已知另一個隨機變量而減少的不確定性,mRMR可有效減少特征向量中的冗余特征。使用基于mRMR的MID、MIQ兩種算法對訓練樣本矩陣進行特征選擇,取算法選擇的前15個特征。表2
表1 特征與列號對照
Table 1 Comparison Table of feature and column number

列 ColumnCol1Col2Col3…Col9Col10…Col12Col13…Col15Col16…Col46特征 FeaturesK1K2I1…I7Hμ Hv HsSμ Sv Ssbin0…bin30
表2 MID、MIQ特征選擇結果
Table 2 Results of MID and MIQ feature selection

MID301263122427232925286223216MIQ30126272449228232925163631
經mRMR的MID和MIQ特征選擇算法對特征重要性做了排序,但不能確定使用特征個數和種類以便達到分類速度快、準確率高的效果,因此分別對選擇后的特征采用序列向前選擇(SFS,屬于啟發式搜索)的方法選擇訓練集,即依據表2中特征重要性由高到低,從30號特征開始依次加入一個特征,組成訓練集,分別送入決策樹[16-17]、樸素貝葉斯(Bayes)[18-20]、支持向量機(SVM)[21-23]三個分類器中進行訓練,生成相應模型。
另取不同等級核桃仁各30個作為測試樣本,使用上述得到的3個模型對這批測試樣本的靜態圖像作分級測試,對MID算法選擇的特征序列,其測試效果為,橫坐標為加入的特征,縱坐標為分級正確率,可以看到SVM在使用11個特征后分級正確率達到最大值85.33%,決策樹在使用3個特征后正確率達到最大值96.00%,樸素貝葉斯在使用3個特征后正確率達到最大值97.33%。圖7
對MIQ算法選擇的特征序列,其測試效果為,由于選擇的前3個特征相同,決策樹與樸素貝葉斯效果與MID算法一致,但對于使用較多特征的支持向量機,在使用5個特征后即達到最大正確率85.33%。圖8

圖7 mRAR MID 算法特征選擇序列測試結果
Fig.7 Test results of feature selection sequences for mrar mid algorithm

圖8 mRMR MIQ 算法特征選擇序列測試結果
Fig.8 Test results of feature selection sequences for mRMR MIQ algorithm
用ReliefF算法[24-25]篩選的特征集作為樣本訓練數據(特征按照算法排好的順序組成訓練矩陣),使用OpenCV決策樹類進行特征選擇時,使用CvDtree: getVarImportance()函數計算特征的重要性。去除重要性為0的特征,留下3個重要特征為:K1、bin19和bin17。用這3個特征重新訓練決策樹、SVM和樸素貝葉斯模型,列出對測試樣本進行訓練的效果。表3
表3 選擇特征測試效果
Table 3 Decision tree selection feature test results

分類器Classifier決策樹Decision tree支持向量機SVM樸素貝葉斯Naive Bayes正確率Correct rate93.33%80.67%94.67%
在靜態樣本圖像下,通過對不同特征選擇算法的測試可知,幾種特征選擇算法對重要特征的選擇很接近,且樸素貝葉斯分類器的效果均要好于其它兩個分類器,支持向量機的分類效果最差。若使用支持向量機分類,當選用最少5個特征bin19、K1、bin15、bin16和bin13訓練分類器時,分類正確率達到最大為85.33%;若使用決策樹分類,當選用3個特征bin19、K1和bin15訓練分類器時,分類正確率達到最大為96.00%;若使用樸素貝葉斯分類,當選用3個特征bin19、K1和bin15訓練分類器時,分類正確率達到最大為97.33%。
試驗可選擇特征bin19、K1和bin15,并利用分類效果最佳的樸素貝葉斯分類方法對核桃仁進行分級,列出不同等級的分類效果。表4
表4 樸素貝葉斯模型分級效果
Table 4 Classification effect of naive Bayes model

人工分類等級Artificial classification level樣本數Sample number特征數Characteristic number模型預測數Model predictive number正確率Correct rate(%)白頭路 White first grade3032893.33白二路 White second grade30330100.00淺頭路 Yellow first grade3032893.33淺二路 Yellow second grade30330100.00等外 Off grade30330100.00合計 Total150314697.33
試驗設計的動態分級方法中,在計算機擁有足夠的圖像處理分級時間的基礎上,核桃仁的分級速度則主要與輸送帶的運行速度和兩個待分級核桃仁之間的距離有關。將所編寫軟件在Release(發布)版本(相對于調試(Debug)版本,Release版本經優化,速度較快)下進行編譯,對核桃仁運動圖像序列進行分級測試,發現其對每一幀圖像的處理時間均低于0.03 s,可以滿足動態分級要求。
隨機取20個核桃仁,啟動電動機并調節運行頻率使輸送帶運行速度約為0.25 m/s(高速下對相機幀率要求較高,當速度更快時,相機拍攝的圖像質量較差),在輸送帶上放置核桃仁使每個核桃仁的中心在運動方向上的距離保持大約6 cm(此距離的設置以不影響輪廓提取和兩個相鄰等級核桃仁分級為準),從第1個核桃仁進入相機視場開始計時,到最后一個核桃仁分級結束停止計時,計時時間為4.53 s。研究表明,此系統對核桃仁的分級速度可達到4.4個/s。
分別取各等級核桃仁各30個共150個核桃仁,空壓機氣壓為0.5 MPa左右(試驗用空壓機工作時,氣壓穩定于一個范圍內,最低為0.4 MPa,最高為0.6 MPa),調節電動機運行頻率使輸送帶運行速度為0.25 m/s,在保證核桃仁可以吹掉且不影響相鄰核桃仁分級的前提下,單片機定時器延時時間越小,空壓機氣壓下降越慢,空壓機啟動頻率越低、越節能,從0.01 s(需大于電磁閥開啟速度0.007 s)開始遞增,分別測試核桃仁吹掉的效果,當延時時間最小為0.03 s時,可以保證核桃仁被完全吹掉,統一設置定時器延時時間為0.03 s,并采用Release發布版圖像處理分級軟件,對圖像動態采集和處理分級系統以及下位機分級執行機構進行分級測試,試驗以人工分級的核桃仁進入系統后,能夠實現在其到達指定分級位置處時,氣嘴可正確完成吹氣動作為準。表5
表5 動態分級效果
Table 5 Dynamic grading effect

人工分類等級Artificial classification level樣本數Sample number動態分級數Dynamic classification number正確率Correct rate(%)白頭路 White first grade302583.33白二路 White second grade302480.00淺頭路 Yellow first grade302686.67淺二路 Yellow second grade302376.67等外 Off grade302480.00合計 Total15012281.33
在靜態下運用樸素貝葉斯模型分級處理,當選用3個特征bin19、K1和bin15訓練分類器時,分類正確率達到最大為97.33%;而當核桃仁在輸送帶上運輸處于動態分級時,分類正確率只能達到81.33%,動態分級效果較靜態分級效果差。由于核桃仁運動過程中獲取圖像的質量比靜態下模糊,且速度較快的情況下,采集到的圖像會產生拖影,對核桃仁的分級造成一定影響;分級動作依靠氣吹方式完成,氣壓的穩定性、氣流的直線性、噴氣嘴的形狀等會造成執行機構的分級誤差較大;在動態條件下,輸送帶運行過程中整機有震動和電磁干擾,相機采集圖像時效果差,圖像有較多噪點。
今后研究針對核桃仁圖像信息獲取不全面的問題,增加適合于核桃仁翻面的機械裝置,獲取核桃仁雙面圖像,使核桃仁分級更加準確可靠;在四分仁分級后部添加振動式篩網分級裝置,將碎仁和米仁納入核桃仁完整度分級中,實現核桃仁的完整標準分級;增加核桃仁單粒化入料設備和分級后回收裝置,實現核桃仁的完全自動化分級;完善核桃仁多線程分級程序,提高核桃仁分級的速度,實現核桃仁分級設備的穩定、高效使用。
工業相機在線采集核桃仁圖像,運用編程技術進行圖像處理,利用mRMR特征選擇算法篩選原始特征集并對特征的重要性進行排列,最后通過對支持向量機、決策樹和樸素貝葉斯三種機器學習算法進行模型訓練和測試,得出在使用特征bin19、K1和bin15訓練樸素貝葉斯分類器時,分類正確率達到最大為97.33%的結論。利用機器視覺技術設計基于CamShift算法的核桃仁自動追蹤方法和動態分級流程,運用構建的核桃仁自動分級系統在動態條件對150個核桃仁進行分級測試,總體正確率為81.33%。基于機器視覺研究出的核桃仁特征提取與分級方法、核桃仁動態分級處理動作的方法可以完成對核桃顏色和完整度的分級任務,但在在線動態條件下分級效果比靜態條件時的效果差,此方法離實際生產應用還有距離。