楊眉,魏鴻磊,華順剛
(1.大連海洋大學(xué) 漁業(yè)工程技術(shù)研究所,遼寧 大連116023;2.大連理工大學(xué) 機(jī)械工程學(xué)院,遼寧 大連116024)
扇貝是一種養(yǎng)殖規(guī)模較大的重要經(jīng)濟(jì)貝類,在生產(chǎn)和銷售過程中需要按品質(zhì)進(jìn)行分選。目前,分選工作主要由人工完成,工作環(huán)境惡劣、勞動強度高、分選效率低[1],也有部分企業(yè)采用滾筒篩結(jié)構(gòu)的分選設(shè)備,但在分選過程中易造成扇貝因殼體互插而死亡,損耗量很大。采用計算機(jī)視覺輔助下的機(jī)器人自動分揀,具有損耗小、效率高的優(yōu)點,是實現(xiàn)扇貝自動分揀的可行方向[2]?;跈C(jī)器視覺技術(shù)可排除雜物干擾,實現(xiàn)對扇貝的準(zhǔn)確分級和定位,是采用計算機(jī)視覺機(jī)器人對扇貝進(jìn)行分選的基礎(chǔ)。
機(jī)器視覺技術(shù)已廣泛應(yīng)用于水產(chǎn)養(yǎng)殖領(lǐng)域。目前主要集中在對魚類的監(jiān)控領(lǐng)域:張志強等[3]根據(jù)圖像顏色特征值、魚體的各部分比例值和魚體長度等信息可識別4種魚類;湯一平等[4]根據(jù)魚類游動區(qū)域的大小來監(jiān)測水質(zhì);王文靜等[5]利用圖像處理技術(shù)測量圖像中魚的面積,估計魚質(zhì)量;徐建瑜等[6-7]在不同濃度氨應(yīng)激條件下研究了羅非魚的行為并建立了不同環(huán)境下魚體色明暗程度量化視覺系統(tǒng);王穎等[8]通過模板匹配實現(xiàn)了對魚類的識別。在其他海洋生物的研究中機(jī)器視覺也有較多應(yīng)用:郭顯久等[9]根據(jù)形態(tài)學(xué)的開運算實現(xiàn)了海洋微藻數(shù)量的自動統(tǒng)計;馬先英等[10]利用圖像識別技術(shù)設(shè)計了一套海參自動分級與計數(shù)系統(tǒng)。機(jī)器視覺在貝類的分析和識別中也有報道,郭常有等[2]應(yīng)用圖像處理技術(shù)根據(jù)扇貝所占面積的大小實現(xiàn)扇貝尺寸的估計和定位,但該方法較簡單,不適用于存在雜物干擾等復(fù)雜情況下扇貝的識別、分級和定位。
在目標(biāo)識別方面,應(yīng)用較廣泛的是圖像的HU不變矩[11]分類特征,可以排除物體移動、旋轉(zhuǎn)和縮放的干擾,但圖像不變矩特征的計算量較大,圖像處理速度慢,影響機(jī)器視覺應(yīng)用的實時性要求。本研究中,通過對包含復(fù)雜背景視頻的扇貝圖像提取扇貝平均半徑和絕對平均誤差為分類特征,并利用神經(jīng)網(wǎng)絡(luò)的優(yōu)良性能對扇貝進(jìn)行識別和分級。實驗證明,本方法具有計算量小、精度高的優(yōu)點。
如何提取待識別對象的特征是目標(biāo)識別問題的關(guān)鍵。實驗發(fā)現(xiàn),扇貝圖像的RGB 特征與石塊等干擾物差別不大,其灰度圖的像素值與干擾物無明顯差別,但形狀有明顯差別,因此,本研究中提取目標(biāo)物的輪廓邊界,從輪廓邊界中提取分類特征。
由于RGB圖像包含顏色因子,實際提取特征過程較為復(fù)雜。為減小計算量和存儲量,將RGB圖像轉(zhuǎn)換為灰度圖像,并采用canny 算子提取圖像中目標(biāo)物的邊緣。應(yīng)用canny 算子提取灰度圖像邊緣的原理是通過計算圖像的梯度直方圖,并將像素點個數(shù)沿梯度遞增方向累計,將累積和為總個數(shù)80%處的梯度值設(shè)為高閾值th,高閾值的40%梯度值設(shè)為低閾值tl,將梯度直方圖中梯度大于高閾值th的點標(biāo)記為邊緣點,梯度值小于低閾值tl的點視為背景點,梯度值介于tl和th的點,若其8-連通鄰域中存在已經(jīng)標(biāo)記的邊緣點,記為邊緣點,否則視為背景點。結(jié)果發(fā)現(xiàn),利用自動選取的閾值使得噪聲邊界過多,為在保留有效邊界的同時減少噪聲,將高閾值設(shè)定為0.4,低閾值設(shè)定為0.1,提取效果較理想,提取結(jié)果如圖1所示。
圖1 自動提取及調(diào)整閾值后提取邊界線的對比圖Fig.1 Comparative images of boundary line extracted by automatically and the adjusted threshold
用8-連通鄰域追蹤算法搜索邊界線中的連續(xù)點,并檢查邊界線的像素數(shù)量,將像素數(shù)量小于200 的曲線視為噪聲加以刪除,從而提取出可能的扇貝邊緣線進(jìn)行識別,以減少計算量。對檢測到的每一條輪廓線分別按如下步驟提取特征。
(1)找出曲線上所有邊界點的中心坐標(biāo):
(2)求出曲線上所有點到中心點的平均距離D:
(3)對每個待測目標(biāo)計算平均距離D 的絕對平均誤差k:
部分扇貝和邊界圖像如圖2所示,對應(yīng)的平均邊界距離及其絕對平均誤差和提取數(shù)據(jù)耗時如表1所示。
圖2 扇貝及其輪廓圖Fig.2 Images and contours of a scallop
神經(jīng)網(wǎng)絡(luò)(Back propagation network,BP)簡稱BP 網(wǎng)絡(luò),廣泛應(yīng)用于非線性建模、函數(shù)逼近、模式分類、數(shù)據(jù)壓縮等方面,能學(xué)習(xí)和存貯大量的輸入輸出模式映射關(guān)系。BP 網(wǎng)絡(luò)的基本思想是梯度下降法,采用梯度搜索技術(shù),使網(wǎng)絡(luò)的實際輸出值與期望輸出值的誤差均方值為最小。
BP是一種多層網(wǎng)絡(luò),它包括輸入層(input)、隱層(hide layer)和輸出層(output layer)。BP 網(wǎng)絡(luò)的學(xué)習(xí)算法由信息的正向傳播和誤差的反向傳播兩部分組成,輸入層各神經(jīng)元從外界接收輸入信息,并傳遞給隱層各神經(jīng)元,經(jīng)隱層信息處理和變換后,傳遞給輸出層輸出結(jié)果,即為一次完整的信息正向傳播,如圖3所示。每層神經(jīng)元(節(jié)點)的狀態(tài)只影響下一層神經(jīng)元的狀態(tài),為滿足信息變換能力的需求,隱層可設(shè)計為單層或者多層的結(jié)構(gòu)。如果在輸出層不能得到期望的輸出,則轉(zhuǎn)至反向傳播。將誤差信號(理想輸出與實際輸出之差)按連接通路反向計算,按照特定的誤差梯度下降法調(diào)整各層神經(jīng)元權(quán)值,使誤差信號減小,直至達(dá)到預(yù)先設(shè)定的程度或次數(shù)。
表1 樣本的特征值Tab.1 Feature values of scallop samples
圖3 BP 人工神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.3 The diagram of BP artificial neural network
采用三層結(jié)構(gòu),輸入層為2 個神經(jīng)元,中間層為10 個神經(jīng)元,輸出層為1 個神經(jīng)元。輸入層到隱含層的傳遞函數(shù)為雙曲正切函數(shù):
隱含層到輸出層的傳遞函數(shù)設(shè)為線性函數(shù):
雙曲正切激活函數(shù)將范圍為(-∞,+∞)的輸入映射為范圍為(-1,+1)的隱含層輸出。線性激活函數(shù)把輸出層的輸入直接輸出。利用Levenberg-Marquardt 算法對網(wǎng)絡(luò)進(jìn)行訓(xùn)練。
BP 網(wǎng)絡(luò)學(xué)習(xí)算法與計算步驟如下:
(1)初始化。置所有的加權(quán)系數(shù)為最小的隨機(jī)數(shù)。
(2)提供訓(xùn)練集。給出順序賦值的輸入向量x1,x2,…,xN和期望的輸出向量t1,t2,…,tN。
(3)計算實際輸出。計算隱含層、輸出層各神經(jīng)元的輸出。
(4)按下式計算期望輸出與實際輸出的誤差,即
(5)調(diào)整輸出層的加權(quán)系數(shù)wki,即
(6)調(diào)整隱含層的加權(quán)系數(shù)wij,即
(7)返回計算(3)步,直到誤差滿足要求為止。
用圖2所示的8 個扇貝圖像和8 個石塊組成訓(xùn)練集,共16 個訓(xùn)練樣本。用平均距離D 值和絕對平均誤差k 值作為神經(jīng)網(wǎng)絡(luò)輸入,對于石塊的期望輸出設(shè)定為0,較小扇貝期望輸出設(shè)定為1,中等大小扇貝期望輸出設(shè)定為2,較大扇貝期望輸出設(shè)定為3。
將訓(xùn)練樣本送入設(shè)置好的BP 網(wǎng)絡(luò)中進(jìn)行訓(xùn)練學(xué)習(xí),經(jīng)過10次訓(xùn)練就達(dá)到了0.0001 的誤差要求。訓(xùn)練過程如圖4所示。
為測試網(wǎng)絡(luò)的性能,分別進(jìn)行了兩組實驗。實驗1:用大量實際捕撈出的扇貝和石塊圖像依本研究提出的特征提取方法對網(wǎng)絡(luò)進(jìn)行測試,并依據(jù)對輸出結(jié)果進(jìn)行四舍五入得到的整數(shù)進(jìn)行判別。部分測試圖像如圖5所示,提取數(shù)據(jù)和耗時如表2所示。為證明本研究中提取特征的有效性,將其與HU 不變矩特征方法做對比。提取圖像以HU不變矩作為神經(jīng)網(wǎng)絡(luò)的輸入值,用同樣的方法訓(xùn)練網(wǎng)絡(luò),再次對上述樣本進(jìn)行識別,提取的特征值和計算耗時如表3所示。將依據(jù)兩種特征提取方法訓(xùn)練網(wǎng)絡(luò)的識別結(jié)果及實際判斷結(jié)果進(jìn)行對比,結(jié)果如表4所示。
圖4 神經(jīng)網(wǎng)絡(luò)訓(xùn)練誤差曲線Fig.4 The error curve of BP artificial neural network training
圖5 實驗1 部分測試圖像Fig.5 Some of the test images in experiment 1
對比實驗結(jié)果表明,兩種特征提取方法在實驗結(jié)果上差異不大,對以上測試圖的識別準(zhǔn)確率均達(dá)到了100%。但從表2和表3可見,應(yīng)用本研究中的方法提取特征顯著減少了計算時間,僅為用HU不變矩法提取特征耗時的20%,滿足實際應(yīng)用的要求。
表2 用本研究方法提取特征值Tab.2 The extracted characteristic values of this text
表3 用HU 不變矩法提取特征值Tab.3 The characteristic values of HU invariant moments
實驗2:將包含多個目標(biāo)物的復(fù)雜圖像,采用canny 算子提取目標(biāo)物的邊緣,并用8-連通鄰域追蹤算法搜索邊界線,并將每一條閉合曲線分別標(biāo)號,其中包括了物體實際輪廓和噪聲產(chǎn)生的輪廓線。計算得出這些目標(biāo)物的D和k,并輸入網(wǎng)絡(luò)進(jìn)行識別分類,將識別出的扇貝在其灰度圖上標(biāo)出。經(jīng)過大量實驗證明,神經(jīng)網(wǎng)絡(luò)分類器可實現(xiàn)各種復(fù)雜情況下扇貝的正確分類,部分結(jié)果如圖6所示。
以上實驗結(jié)果表明,本研究中提出的特征提取方法及神經(jīng)網(wǎng)絡(luò)分類器可以準(zhǔn)確實現(xiàn)對扇貝的識別與分級,且實時性效果良好,滿足實際應(yīng)用要求。
為實現(xiàn)機(jī)器視覺技術(shù)在扇貝分選實際生產(chǎn)中的應(yīng)用,本研究中以提取目標(biāo)物邊界到中心點的平均距離和距離的絕對平均誤差作為特征信息,訓(xùn)練BP 網(wǎng)絡(luò),從而實現(xiàn)對扇貝圖像自動識別和分級。實驗結(jié)果表明,該方法具有計算量小、精度高的優(yōu)點。下一步將研究更魯棒的分類特征,以適應(yīng)實際生產(chǎn)環(huán)境下經(jīng)常發(fā)生的較大畸變或相互遮擋等情況下的正確識別和分類。
表4 神經(jīng)網(wǎng)絡(luò)識別結(jié)果比較Tab.4 Comparison of neural network recognition
圖6 實驗2 中的部分測試圖像Fig.6 Some of the test images in experiment 2
[1]徐皓,張建化.我國水產(chǎn)養(yǎng)殖工程學(xué)科發(fā)展報告[J].漁業(yè)現(xiàn)代化,2009,36(3):1-6.
[2]郭常有,曹廣斌,韓世成,等.基于圖像處理技術(shù)的扇貝尺寸及位置自動識別[J].大連海洋大學(xué)學(xué)報,2012,27(6):578-582.
[3]張志強,牛智有,趙思明.基于機(jī)器視覺技術(shù)的淡水魚品種識別[J].農(nóng)業(yè)工程學(xué)報,2011,27(11):388-392.
[4]湯一平,尤思思,葉永杰,等.基于機(jī)器視覺的生物式水質(zhì)監(jiān)測儀的開發(fā)[J].工業(yè)控制計算機(jī),2006,19(6):64-66.
[5]王文靜,徐建瑜,呂志敏,等.基于機(jī)器視覺的水下鲆鰈魚類質(zhì)量估計[J].農(nóng)業(yè)工程學(xué)報,2012,28(16):153-157.
[6]徐建瑜,姜雄暉,劉鷹.基于計算機(jī)視覺的魚體色明暗程度量化方法[J].農(nóng)機(jī)化研究,2006(6):140-142.
[7]徐建瑜,劉鷹,崔紹榮,等.計算機(jī)視覺技術(shù)在魚類應(yīng)激狀態(tài)監(jiān)測中的應(yīng)用研究[J].漁業(yè)現(xiàn)代化,2008,35(3):15-18.
[8]王穎,張旗,趙國庫,等.基于形變校正的形狀識別方法[J].計算機(jī)工程與設(shè)計,2011,32(11):3789-3792.
[9]郭顯久,張國勝,耿春云.基于圖像處理技術(shù)的海洋微藻數(shù)量統(tǒng)計方法[J].大連海洋大學(xué)學(xué)報,2012,27(4):368-372.
[10]馬先英,李明,熊文超,等.基于圖像識別技術(shù)的海參分級與計數(shù)設(shè)備的設(shè)計[J].大連水產(chǎn)學(xué)院學(xué)報,2009,24(6):549-552.
[11]許紅平.基于不變矩理論的字符串圖像識別方法研究[J].浙江工業(yè)大學(xué)學(xué)報,2007,35(2):210-213.