杜云 曹世佳 賈科進(jìn) 王熙煚
摘 要:針對大蒜蒜種分級過程中蒜種易損壞、機(jī)器成本耗費大等問題,提出一種基于圖像處理的大蒜蒜種品質(zhì)無損分級方法。首先對采集到的大蒜蒜種圖像進(jìn)行灰度化、二值化等預(yù)處理得到二值化圖像。然后在農(nóng)業(yè)工作環(huán)境比較惡劣、存在不可避免的噪聲情況下,采用形態(tài)學(xué)處理二值化圖像,對圖像采用腐蝕算子進(jìn)行運算,消除噪聲,再對圖像采用膨脹算子進(jìn)行運算,得到無噪聲的二值化圖像。在此基礎(chǔ)上通過Canny算子進(jìn)行有效外輪廓提取并進(jìn)行旋轉(zhuǎn)矩形擬合,得到最小外接矩形。最小矩形的長和寬比例代替真實蒜種的長寬比作為大蒜蒜種品質(zhì)篩選的重要依據(jù)。實驗結(jié)果表明,算法可以無損地獲取蒜種長和寬的比例,實現(xiàn)大蒜蒜種品質(zhì)篩選,圖像處理過程時間平均為612 ms,滿足正常工作實時性要求,在大蒜蒜種品質(zhì)等級篩選中具有一定的應(yīng)用價值。
關(guān)鍵詞:圖像處理;無損分級;二值化;形態(tài)學(xué);矩形擬合
中圖分類號:TP29 文獻(xiàn)標(biāo)志碼:A
doi: 10.7535/hbgykj.2018yx05003[HJ2][HK]
文章編號:1008-1534(2018)05-0317-05
中國是大蒜產(chǎn)量大國,其種植區(qū)域和出口數(shù)量均達(dá)到世界前列[1-2]。大蒜具有抗菌、抗病毒、抗腫瘤、降血脂、提高機(jī)體免疫功能、降血糖、解毒等功效[3-4]。大蒜種植中影響大蒜產(chǎn)量的主要有2個因素:蒜尖朝上和種瓣大小。研究表明蒜種重量越大,大蒜的產(chǎn)量越高,兩者呈顯著正相關(guān)。如果種瓣質(zhì)量越大,則用種量也越大。從產(chǎn)量、產(chǎn)值等經(jīng)濟(jì)效益因素綜合考慮,以每瓣5.89 g的種瓣處理,其蒜頭凈產(chǎn)量、凈產(chǎn)值、總產(chǎn)值、甲級蒜率等4項指標(biāo)均居第1位,種瓣3. 89 g的處理其4項指標(biāo)次之[5]。因此,種瓣質(zhì)量以3. 89~5.89 g為宜。
長期以來,大蒜蒜種分級都是依靠人工挑選或平面篩選為主,生產(chǎn)效率低,分級不準(zhǔn)確,直接影響產(chǎn)量高、品質(zhì)好的大蒜良種的獲得。近幾年,也有采用分級滾筒機(jī)械設(shè)備,分別由小、中、大來依次分離篩出,以獲得較準(zhǔn)確的分級。但是這種機(jī)械設(shè)備容易損壞大蒜蒜種,且成本較高。由于蒜種密度是基本不變的,正常蒜種的長和寬的比例在一定范圍內(nèi)波動。如果種瓣過大、過小或者破損,其長寬比就會超出這一范圍,本文將種瓣的長寬比作為區(qū)分種瓣品質(zhì)的標(biāo)準(zhǔn),通過圖像處理方法達(dá)到無損、高效篩選種瓣品質(zhì)的目的[6]。
1 大蒜蒜種品質(zhì)無損分級過程
筆者設(shè)計的大蒜蒜種無損分級裝置的工作過程為未經(jīng)篩選的大蒜蒜種通過傳送帶到達(dá)攝像頭監(jiān)控區(qū)域,傳送帶由步進(jìn)電機(jī)控制。當(dāng)光電檢測器檢測到有蒜種通過時,觸發(fā)中斷信號,下位機(jī)將信號發(fā)送給上位機(jī),上位機(jī)開始進(jìn)行圖像處理。大蒜蒜種無損分級圖像處理流程如圖1所示。
上位機(jī)控制打開USB攝像頭,采集當(dāng)前原始圖像。首先對原始圖像進(jìn)行灰度化處理,設(shè)置閾值,通過圖像分割方法對灰度圖像進(jìn)行處理。由于傳送帶和蒜種不可避免地產(chǎn)生噪聲影響后續(xù)計算,因此采用圖像形態(tài)學(xué)處理技術(shù),對二值化圖像進(jìn)行開運算,得到?jīng)]有噪聲的二值化圖像。預(yù)處理后得到的圖像通過外輪廓擬合矩形得到蒜種長、寬,通過與系統(tǒng)已經(jīng)設(shè)定的標(biāo)準(zhǔn)蒜種長、寬和長寬比進(jìn)行對比并統(tǒng)計特征值。上位機(jī)將分析得出的分類結(jié)果傳給下位機(jī),下位機(jī)控制設(shè)備將不符合標(biāo)準(zhǔn)的蒜種淘汰。
2 種瓣的圖像采集及預(yù)處理
上位機(jī)通過攝像頭獲取當(dāng)前一幀圖像后,將當(dāng)前圖像作為最初原始圖像經(jīng)過灰度化和二值化算法預(yù)處理,得到非黑即白的二值化圖像。蒜種在傳送階段肯定會存在蒜種蒜皮、蒜皮碎屑或其他噪聲,對得到的二值化圖像產(chǎn)生影響,并且對后續(xù)擬合算法的準(zhǔn)確率產(chǎn)生很大干擾,擬合算法的準(zhǔn)確率將會降低。采用圖像形態(tài)學(xué)中開運算算法,對以上的噪聲干擾進(jìn)行處理,為擬合算法提供有利的基礎(chǔ)。
2.1 圖像灰度化及二值化
攝像頭獲取的為當(dāng)前彩色圖像,首先對其進(jìn)行灰度化處理,提高后續(xù)算法的精度,增強(qiáng)系統(tǒng)的綜合應(yīng)用實效。在灰度圖像中,用8位無符號數(shù)字來表示其中每個像素。采用著名的心理學(xué)公式把分為紅(R)、綠(G)、藍(lán)(B)的彩色圖像像素轉(zhuǎn)換為灰度像素[6]。
圖像分割是大蒜蒜種識別的重要步驟,可采用的方法有很多種。閾值分割法的計算模型簡單,運行速度較快,可以實時處理大蒜蒜種的圖像,故采用閾值分割法來處理圖像[7]。閾值分割法主要分為全局閾值分割和局部閾值分割2種方法。其中全局閾值分割方法主要有最大類間方差法(Otsu法)[8]、最小誤差法和最大熵法[9]。實驗中背景簡單,采用最大類間方差法 (Otsu法) 對圖像進(jìn)行二值化分割就可得到較佳的效果, 并且結(jié)合自身的算法自動獲得最佳的分割閾值, 減少由于人為選取閾值造成不必要的誤差。由式(1)得到轉(zhuǎn)換成的灰度圖f,灰度圖樣本灰度范圍為0~255,將灰度圖f進(jìn)行圖像分割,也就是由最大類間方法自動獲取閾值T,式(2)中f(i,j)代表圖像中在(i,j)位置的灰度值,g(i,j)代表二值化圖像中在(i,j)位置的像素值。當(dāng)f(i,j)大于等于閾值T時,g(i,j)設(shè)置為1;當(dāng)f(i,j)小于閾值T時,g(i,j)設(shè)置為0,得到非黑即白的像素點樣本g(i,j)[10]。即:
2.2 圖像形態(tài)學(xué)去噪處理
考慮到實際采集過程中大蒜蒜種圖像會遇到各種噪聲干擾,在圖像上產(chǎn)生不可預(yù)測的隨機(jī)噪聲,形成不需要的孤立像素點,對大蒜蒜種圖像區(qū)域分割、分析和判斷帶來不利影響。同時由于蒜種蒜皮尖角質(zhì)量幾乎可以忽略,且對矩形擬合產(chǎn)生干擾信息,為避免噪聲像素點和干擾信息造成圖像處理中不能正確反映大蒜蒜種信息的問題,故采用形態(tài)學(xué)處理技術(shù)開運算的方法對圖像去噪[11-12]。設(shè)圖像集合為f1,結(jié)構(gòu)元素為b。
對圖像進(jìn)行腐蝕運算,再進(jìn)行膨脹運算,稱為開運算[13]。在獲取到的原始圖像中,噪聲主要的表現(xiàn)方式為蒜尖和蒜皮碎屑。理論上若存在噪聲,噪聲會被誤認(rèn)為蒜種輪廓的一部分,直接影響最后擬合矩形的結(jié)果。通過腐蝕處理后,消除蒜尖和蒜皮碎屑等噪聲。但腐蝕處理在消除噪聲時,也會腐蝕蒜種本身的形狀,通過膨脹處理對蒜種恢復(fù)一部分原有的形狀,并將蒜種圖像中的孔洞消除,得到?jīng)]有噪聲干擾的二值化圖像。
3 種瓣輪廓的提取及矩形擬合
原始圖像經(jīng)過預(yù)處理后得到?jīng)]有噪聲干擾的二值化圖像,提取圖像中蒜種輪廓并進(jìn)行最小矩形擬合。擬合矩形的長與寬之比代替大蒜蒜種的長寬比并作為大蒜蒜種品質(zhì)篩選的判斷條件。
首先采用OpenCV中cv2.findContours函數(shù)尋找輪廓,cv2.findContours函數(shù)采用SUZUKI等[14]提出的提取輪廓算法。他提出2種算法:第1種算法是計算二值化圖像中外輪廓、孔邊界和它們之間的層次關(guān)系;第2種算法是按照第1種算法變形,只采集二值化圖像中最外層輪廓。
筆者只需要提取大蒜蒜種的外輪廓,故采用第2種算法。主要采用編碼的思想,二值化圖像是像素分別為0和1的圖像,用f(i,j)表示在(i,j)位置的像素值。當(dāng)進(jìn)行行掃描時,出現(xiàn)下列情況終止:
f(i,j-1)=0,f(i,j)=1;//f(i,j)是外邊界的初始點;
f(i,j)>=1,f(i,j+1)=0;//f(i,j)是外邊界的終點。
從初始點開始,對邊界上的像素進(jìn)行標(biāo)記。設(shè)置一個標(biāo)示符給新發(fā)現(xiàn)的邊界,叫做邊界序列號(number of the border),記作:NBD[14]。初始時NBD=1,當(dāng)找到一個新邊界后加1。在這個過程中,遇到f(i,j)=1,f(i,j+1)=0時,將f(p,q)置為-NBD,即此點就是最右邊界的終點。
通過開運算處理后得到?jīng)]有噪聲的蒜種二值化圖像,選用Canny算子處理圖像,得到僅包含邊界的二值化圖像,采用cv2.findContours函數(shù)獲取圖像中所有的NBD,并保存在返回值contours中,然后通過cv2.drawContours 函數(shù)根據(jù)返回值contours畫出外輪廓。
利用OpenCV的開源圖像處理函數(shù)可以方便地對輪廓進(jìn)行矩形擬合,通過函數(shù)cv2.minAreaRect返回一個Box2D結(jié)構(gòu)。在這個結(jié)構(gòu)中,包括最小矩形的中心點(x,y)、寬度、高度和旋轉(zhuǎn)角度,因此可以得到矩形的長寬比,通過矩形的長寬比判斷大蒜蒜種的品質(zhì)等級。通過cv2.cv.BoxPoints得到矩形的4個頂點坐標(biāo),再通過cv2.drawContours畫出擬合的旋轉(zhuǎn)矩形,至此,獲得大蒜蒜種外輪廓的最小擬合矩形。
4 實驗平臺搭建與算法驗證
基于圖像處理的大蒜蒜種品質(zhì)無損分級方法研究中,采用大量的大蒜蒜種進(jìn)行實驗。硬件主要采用樹莓派2代B型和一個普通的USB攝像頭進(jìn)行圖像采集,光源采用環(huán)形漫射光源。實驗環(huán)境為圖像處理軟件OpenCV運行于Linux系統(tǒng)中。
圖4是大蒜蒜種灰度化后的圖像。此時圖中彩色圖像已經(jīng)轉(zhuǎn)換為灰度圖像,為后續(xù)實驗提供有利的基礎(chǔ)。圖5是經(jīng)過圖像分割后得到的二值化圖像。采用最大類間方差法 (Otsu法) 并結(jié)合自身的算法自動獲得最佳的分割閾值[15]。根據(jù)式(2)得到二值化圖像,更容易獲取大蒜蒜種的輪廓。圖6是形態(tài)學(xué)開運算去噪處理后的圖像。此時可以看到圖5中出現(xiàn)噪聲,經(jīng)過先腐蝕后膨脹處理后,只留下大蒜蒜種外輪廓的二值化圖像,消除了矩形擬合時的干擾因素。圖7是大蒜蒜種輪廓圖像。它是根據(jù)cv2.findContours函數(shù)獲取大蒜蒜種的外輪廓,并將外輪廓通過cv2.drawContours函數(shù)在純黑底色的圖像上畫出。圖8是大蒜蒜種最小矩形擬合圖像。擬合出的矩形框緊緊包裹著蒜種輪廓,即可以通過它的長寬比得到大蒜蒜種的長寬比,也可以實現(xiàn)大蒜蒜種的品質(zhì)分級。
經(jīng)過多次實驗驗證,采用圖像處理方法可以準(zhǔn)確地對大蒜蒜種品質(zhì)進(jìn)行無損分級,實驗結(jié)果可靠。圖像預(yù)處理、形態(tài)學(xué)去噪和最小矩形擬合等圖像處理過程的綜合平均時間為612 ms,方便快速,滿足對大蒜蒜種品質(zhì)無損分級的實時性要求。
5 結(jié) 論
針對大蒜蒜種品質(zhì)等級問題,提出了一種基于最小矩形擬合的圖像處理方法。該方法由攝像頭采集的一幀圖像,經(jīng)過圖像灰度化、圖像分割和形態(tài)學(xué)開運算等預(yù)處理,然后提取大蒜蒜種輪廓,并擬合出最小外接矩形的長寬比作為判斷依據(jù),實現(xiàn)大蒜蒜種品質(zhì)分級。理論公式以及實驗結(jié)果證明了該方法可以快速、準(zhǔn)確地判斷出大蒜蒜種的等級,同時不會對大蒜蒜種產(chǎn)生機(jī)械損壞且滿足實時性的要求,成本低廉,可以推廣應(yīng)用。但是去噪方法對蒜種真實輪廓造成一定程度的干擾,且該系統(tǒng)不能同時進(jìn)行多個蒜種品質(zhì)分級,這將是下一步研究的重點。
參考文獻(xiàn)/References:
[1] 郭英芳. 大蒜種植機(jī)械中蒜瓣方向識別方法的研究[D]. 楊凌:西北農(nóng)林科技大學(xué), 2011.
GUO Yingfang. Research of the Recognition Method of Garlic Direction in Planting Machinery[D]. Yangling:Northwest A&F University, 2011.
[2] 肖小勇, 李崇光. 我國大蒜出口的“大國效應(yīng)”研究[J]. 國際貿(mào)易問題, 2013,20(8):61-71.
XIAO Xiaoyong, LI Chongguang. Study of “Power Effect” in Chinas garlic exports[J]. Journal of International Trade, 2013,20(8):61-71.
[3] 蘇美瓊, 楊柏崇, 成密紅,等. 大蒜的功效及綜合利用研究進(jìn)展[J]. 西北農(nóng)業(yè)學(xué)報, 2003, 12(4):151-156.
SU Meiqiong, YANG Baichong, CHENG Mihong, et al. Advance in researches of the efficacy and synthetic utilization of garlic[J]. Acta Agriculturae Boreali-occidentalis Sinica, 2003, 12(4):151-156.
[4] HOUSTON M. The role of nutrition and nutraceutical supplements in the treatment of hypertension[J]. World Journal of Cardiology, 2014,6(2):38-66.
[5] 劉艷芝, 宮欽濤, 徐祥文,等. 種瓣大小對大蒜產(chǎn)量及其商品性狀的影響[J]. 山東農(nóng)業(yè)科學(xué), 2011(6):49-51.
[6] 陳兵旗. 實用數(shù)字圖像處理與分析[M]. 北京: 中國農(nóng)業(yè)大學(xué)出版社, 2014.
[7] 章國紅, 辛斌杰. 圖像處理技術(shù)在紗線毛羽檢測方面的應(yīng)用[J]. 河北科技大學(xué)學(xué)報, 2016, 37(1):76-82.
ZHANG Guohong, XIN Binjie. Application of image processing technology in yarn hairiness detection[J]. Journal of Hebei University of Science and Technology, 2016, 37(1):76-82.
[8] 劉洪公, 王學(xué)軍, 李冰瑩,等. 基于卷積神經(jīng)網(wǎng)絡(luò)的橋梁裂縫檢測與識別[J]. 河北科技大學(xué)學(xué)報, 2016, 37(5):485-490.
LIU Honggong, WANG Xuejun, LI Bingying, et al. Detection and recognition of bridge crack based on convolutional neural network[J]. Journal of Hebei University of Science and Technology, 2016, 37(5):485-490.
[9] 汪文, 英紅, 馬驍. 路面裂縫圖像自動識別系統(tǒng)[J]. 冶金叢刊, 2017(2):18.
[10]嵇鐘玉, 龔麗農(nóng), 黃挺堅. 種子自動篩選系統(tǒng)軟件設(shè)計[J]. 農(nóng)機(jī)化研究, 2013(11):56-60.
JI Zhongyu, GONG Linong, HUANG Tingjian. Software design of automatic seed identify system[J]. Journal of Agricultural Mechanization Research,2013(11):56-60.
[11]劉東輝, 佟麗娜, 王家碩,等. 基于FPGA的瓶蓋邊緣在線視頻檢測裝置的設(shè)計[J]. 河北科技大學(xué)學(xué)報, 2015, 36(3):286-292.
LIU Donghui, TONG Lina, WANG Jiashuo, et al.Design of an online video edge detection device for bottle caps based on FPGA [J]. Journal of Hebei University of Science and Technology, 2015, 36(3):286-292.
[12]方珩, 辛斌杰, 劉曉霞,等. 一種新型紗線毛羽圖像特征識別算法的研究[J]. 河北科技大學(xué)學(xué)報, 2015, 36(1):63-72.
FANG Heng, XIN Binjie, LIU Xiaoxia, et al. Research of a novel method for measuring yarn hairiness based on image recognition[J]. Journal of Hebei University of Science and Technology, 2015, 36(1):63-72.
[13]萬金晶, 盧艷橋, 魏家馨,等. 基于投影特征提取的路面裂紋識別與檢測[J]. 軟件導(dǎo)刊, 2017, 16(2):125-127.
[14]SUZUKI S, BE K. Topological structural analysis of digitized binary images by border following[J]. Computer Vision, Graphics, and Image Processing, 1985, 30(1):32-46.
[15]劉文, 周旺平, 王國棟. 基于DSP的斜軸式太陽跟蹤系統(tǒng)[J]. 電子技術(shù)應(yīng)用, 2014, 40(5):24-27.
LIU Wen, ZHOU Wangping, WANG Guodong. Tilting axis solar tracking system based on DSP[J]. Application of Electronic Technique, 2014, 40(5):24-27.