侯貴洋,趙桂杰,王璐瑤
(1. 天津工業(yè)大學電子信息工程學院通信工程系,天津 300387;2. 天津工業(yè)大學大學電子信息工程學院電信系,天津 300387;3. 天津工業(yè)大學機械工程學院機電系,天津 300387)
果蔬采摘是果蔬生產(chǎn)過程中最為耗時、耗力、實效性強的生產(chǎn)環(huán)節(jié)之一,所需投入的勞動力約占整個生產(chǎn)種植過程的40%-50%。隨著社會發(fā)展,特別是工業(yè)化發(fā)展進程使得農(nóng)業(yè)勞動力逐漸減少,農(nóng)業(yè)勞動力成本逐漸增加[1]。依靠人工勞作的生產(chǎn)形式已不能滿足現(xiàn)代農(nóng)業(yè)發(fā)展的需求。依靠機器人、智能化裝備開展農(nóng)業(yè)生產(chǎn)成為現(xiàn)代農(nóng)業(yè)發(fā)展的迫切需要。針對人工采摘草莓帶來的問題以及我國草莓種植面積的迅速推廣,為實現(xiàn)草莓采摘的智能化、機械化,我們設計了智能草莓采摘系統(tǒng),而其中最為核心的一部分即為草莓的圖像識別系統(tǒng)。國內(nèi)外對果實圖像識別這方面進行了大量的研究,但是仍然有很多問題存在,比如果實的識別率、定位精度不高,考慮到這個問題我們采用了顏色識別和特征識別相結合的方法,在特征識別時我們加入卷積神經(jīng)網(wǎng)絡來輔助Harr級聯(lián)分類器來識別草莓的特征點進而找到草莓的位置,然后通過顏色識別判斷草莓的成熟度,判斷是否采摘[2]。
一般來說機器視覺技術[3]分為圖像采集、圖像處理、特性提取以及判決和控制幾個部分,在識別草莓的過程中我們采用了顏色識別和特征識別相結合的方法,圖像通過攝像頭采集后分為兩條路徑,一條路徑為通過之前訓練的Harr級聯(lián)數(shù)據(jù)去找出圖像的草莓,并記錄下每個草莓的質心坐標,也就是我們所說的特征識別[3]。另一條路徑則為根據(jù)從攝像頭獲取的圖像,進行圖像處理與分割之后轉換成hsv設定空間閾值,根據(jù)閾值構建掩膜[4]然后進行開運算、閉運算,最后進行自適應閾值處理找到輪廓并標記。兩種方法進行比對得到最終的檢測結果,最終結果誤差很小,具有極高的正確率。下圖中左側為特征識別流程,右側為顏色識別流程,最終兩種識別結果進行比對以得到最終的檢測結果。
圖1 草莓檢測與識別流程圖Fig.1 Flow chart of strawberry detection and recognition
1.1.1訓練級聯(lián)分類器
在正式進行圖像識別草莓之前我們需要訓練出屬于草莓果實特有特征的 Harr級聯(lián)數(shù)據(jù),這些數(shù)據(jù)中包含草莓特有的特征向量,我們采用的是opencv自帶的opencv_traincascade.exe的訓練程序用于訓練出我們所需要的 Harr級聯(lián)數(shù)據(jù)。通過提供給訓練器提供大量的正樣本(含有草莓的圖片)和大量的負樣本數(shù)據(jù)(不含有草莓的圖片)電腦通過訓練程序自己訓練找出草莓本身所特有的特征并就錄下來,成為若干個弱分類器,最終所有的弱分類器組成一個強分類器,具有很高的識別率[5]。
訓練級聯(lián)分類器用了 10000個正樣本(包含草莓的圖片),30000個負樣本(不包含草莓的圖片),每級分類器的錯誤率小于30%時進入下一級,一共訓練了20級,最終錯誤率為0.001%,訓練出的級聯(lián)分類器通過驗證集驗證,草莓的識別與定位正確率達到 85%以上。這樣的正確率還遠遠達不到實際生產(chǎn)的要求,因此我們加入了卷積神經(jīng)網(wǎng)絡來輔助級聯(lián)分類器對目標物草莓進行判斷,加入卷積神經(jīng)網(wǎng)絡后我們草莓識別的正確率能達到 92%以上。此外卷積神經(jīng)網(wǎng)絡[6]還能在后續(xù)的采摘過程中進行強化學習,從而進一步的提高草莓識別率。
圖2 訓練所用正樣本圖Fig.2 Positive sample diagram for training
圖3 訓練所用負樣本圖Fig.3 Negative sample diagram for training
上圖中每幅圖片均為含有草莓的圖片,我們選用了10000個包含草莓的圖片用作正樣本。
上圖中每幅圖片均為不含草莓的照片,為了在識別草莓的過程中能夠盡量消除周圍環(huán)境以及不成熟草莓等因素的影響,我們選取的很多負樣本都和草莓周圍種植環(huán)境相似。
經(jīng)過上述一系列步驟,我們可以較好的對草莓進行特征識別,效果如圖4所示。
1.2.1圖像分割
圖4 特征識別結果圖Fig.4 Diagram of feature recognition result
大部分草莓處于采摘期時,表面顏色與背景顏色存在較大差異,而同一品種果實表面顏色相近。體現(xiàn)在色彩空間中,果實表面顏色和背景顏色存在著不同的分布特性。根據(jù)這一特性,本研究應用了一種基于色彩空間,適用于果實目標提取的圖像分割算法??焖俣行У陌阉麖谋尘爸刑崛〕鰜淼姆椒ㄊ鞘褂瞄撝捣指罘椒╗7]。本研究的對象為成熟草莓,在圖像上成熟草莓呈現(xiàn)紅色,背景大部分是綠色的枝葉,還有少部分是介于黃色和紅色之間的枯萎枝葉。利用兩者的顏色差異,采用簡單的閾值,就可以把水果從背景中分離出來。
1.2.2轉換閾值、構建掩膜
由于 RGB圖像無法用單一的參數(shù)對圖像進行分割,RGB圖像轉換為灰度圖像再進行分割,這樣做的代價就是大大的損失的圖像的色彩特征。但是如果將RGB圖像轉化到HSV空間,卻可以直接給綠色劃定一個定義區(qū)間了,即 H(色調)的區(qū)間。在HSV色彩空間內(nèi)進行草木、樹木圖像的分割,通過設定綠色區(qū)間的 H(色調)的門限值,提取圖像中綠色的像素點,從而實現(xiàn)分割。HSV3分量之間的相關性遠遠小于RGB色彩空間中3分量的聯(lián)系。顏色作為綠色植物的重要特征可以作為草木、樹木圖像分割的重要依據(jù)。當綠色植物所處的周圍環(huán)境的色調與植物色調差別較大時,通過把RGB模型轉換到 HSV模型,經(jīng)H分割,可以得到比較理想的分割圖像和算法,簡單快捷[8]。所以我們選擇在HSV顏色空間下進行處理。RGB模型轉化到 HSV模型的算法如下
圖5 攝像頭獲取的圖像Fig.5 Image obtained by the camera
上式中H代表色調,S代表飽和度,V代表明度。將RGB模型轉換到HSV模型后,轉換閾值構建掩膜圖像如圖6所示
圖6 根據(jù)閾值構建掩膜圖像Fig.6 Building mask image based on threshold
1.2.3去噪、自適應閾值處理
分割后的圖像中仍有許多像素被誤判。這些被誤判像素可分為兩類:一是背景區(qū)域被誤判為目標;另一類是目標由于光照等原因被誤判為背景。第一類誤判在視覺上表現(xiàn)為散點的噪聲,均散落于草莓區(qū)域以外。這些噪聲與分割后被判為草莓的像素分別形成多個單連通區(qū),噪聲區(qū)域的面積相比于草莓部分的面積要小很多。解決這個問題可以用中值濾波處理。第二類誤判在分割后的圖像上的目標內(nèi)部表現(xiàn)為一些黑洞。對于這后者和前者中黑洞較小的情況,使用形態(tài)學閉運算處理可以得到很好的改善“但當黑洞是由原圖上一些明亮的光斑造成的話通常面積較大,形態(tài)學運算難以產(chǎn)生效果。解決這個問題的方法就是對閉運算后的圖像進行孔洞填充,如果還有散點,再濾波處理即可[9]。在這里我們采用高斯濾波,高斯濾波是一種線性平滑濾波,適用于消除高斯噪聲,廣泛應用于圖像處理的減噪過程。通俗的講,高斯濾波就是對整幅圖像進行加權平均的過程,每一個像素點的值,都由其本身和鄰域內(nèi)的其他像素值經(jīng)過加權平均后得到。高斯濾波的具體操作是:用一個模板(或稱卷積、掩模)掃描圖像中的每一個像素,用模板確定的鄰域內(nèi)像素的加權平均灰度值去替代模板中心像素點的值。
圖7 去噪處理后圖像Fig.7 Image after de-noising
圖8 自適應閾值處理后圖像Fig. 8 Image after adaptive threshold processing
1.2.4尋找輪廓并標記
質心的確定:質心是標示目標位置的重要參數(shù),在二維圖像中質心坐標可以根據(jù)目標區(qū)域點的坐標來計算。對于目標區(qū)域點的集合(,)x yη,其質心坐標(,)x y為
式中,N是目標區(qū)域點的個數(shù)。在獲取質心的時候要經(jīng)過篩選,比如形狀,大小等。
圖9 最終標記圖像Fig.9 Final markup image
通過兩條路徑的草莓識別得到的草莓質心的坐標,判斷兩個質心的坐標如果在規(guī)定誤差范圍內(nèi)則判斷該物體是要成熟的草莓需要采摘。如果在誤差范圍外則說明兩個草莓挨得太近可能發(fā)生重疊或識別出現(xiàn)問題。
上圖中左側圖片為動態(tài)圖片,隨著采摘平臺上攝像頭的移動左側圖像也會不斷變化,在采摘的過程中隨著采摘結構逐漸靠近果實,圖片中果實的形狀也會不斷變大,反之變小。右側圖片為靜態(tài)圖片,是攝像頭起始所獲取的圖像[10]。
圖的左下方顯示在 HSV色彩空間中設定的閾值,在圖中也可以正確顯示出待采摘目標的個數(shù)。圖中的x和y代表像素點的值,一定程度上反映了待采摘草莓形狀的大小。上位機系統(tǒng)通過串口將控制信息(上移、下移、左移、右移、回原點、停止運動等)發(fā)送至下位機控制系統(tǒng)中[11]。
圖10 草莓輔助采摘監(jiān)視平臺圖Fig.10 Diagram of strawberry assisted picking monitoring platform