姚潤璐,桂詠雯,黃秋桂
(南京農業大學 信息科學與技術學院,江蘇 南京 210095)
基于機器視覺的淡水魚品種識別*
姚潤璐,桂詠雯,黃秋桂
(南京農業大學 信息科學與技術學院,江蘇 南京210095)
在我國的淡水魚加工產業里,淡水魚的識別加工主要依靠人工,這必然將耗費大量的人力和物力。針對這類現象,研究設計了以白魚、鯽魚、桂魚和鳊魚為研究對象,采用數字圖像處理技術和BP網絡神經實現的淡水魚自動識別系統。首先對采集得到的圖像進行預處理,得到摳除背景的彩色魚圖像;接著分割魚體,得到魚背、魚肚圖像,進行紋理特征提取和形態特征提取;最后使用BP神經網絡進行識別。實現了專門識別淡水魚的軟件,采用了25條學習樣本和28條識別樣本,最終識別率達到75%。
圖像處理;淡水魚品種識別;BP神經網絡
我國是世界淡水魚養殖、生產大國,淡水魚作為主要動物蛋白質來源之一,在我國人民的日常飲食中占有極大的比例,不論是在江南魚米之鄉還是在中西部地區,魚因為它的極高營養價值獲得了廣大人民的喜愛。但目前我國淡水魚的加工處理工業機械化程度較低、技術含量不高,浪費了大量的人力物力,在很大程度上阻礙了我國淡水漁業的發展。加工處理前識別處理是保證淡水魚加工質量及其商品價值的重要環節,故為了提高淡水魚的附加價值、擴大淡水魚的銷售市場,基于機器視覺的淡水魚品種識別必成為淡水魚前處理環節中的重要一步。目前基于機器視覺對于農產品的品種識別也是一個研究熱點。國內外也做出了一些相關研究內容,并取得了很好的效果[1-6]。
本識別系統中選取了四類淡水魚品種進行識別,分別是白魚、鳊魚、桂魚以及鯽魚[7],如圖1~4所示。所用平臺是VS,用C#語言編寫。

圖1 白魚圖片

圖2 鳊魚圖片

圖3 桂魚圖片

圖4 鯽魚圖片
對獲得的原始魚圖片做一些簡單的預處理操作,使其特征更為明顯,便于以后的操作。預處理步驟如圖5所示。

圖5 圖像預處理技術路線圖
為了將圖像與背景進行分離,本次實驗中采用了最佳閾值法先對原始圖像進行處理,得到基于S分量的閾值分割之后的二值圖像。其中S分量代表的是圖像的飽和度。因為經研究發現在S分量上進行分割是效果最好的[8]。
處理函數如下:

其中f(x,y)是圖像的像素點的值,g(x,y)是經過處理后的像素點的值。當系統中選取T值為0.428時,有較好的分割效果,如圖6所示。
在得到了二值圖像的基礎上,采用了Canny邊緣檢測,效果較為明顯。具體效果如圖7所示。

圖6 閾值分割之后

圖7 邊緣檢測之后
在得到邊緣檢測過的目標圖像后,為了得到目標物體的輪廓圖,需要將其內部的點全部掏空,僅保留邊界點。所以其主要工作就是對邊緣檢測后的圖像進行一系列的數學形態操作,將內部的點都置為白色,背景為黑色。具體操作流程為:Canny邊緣檢測后的圖像→腐蝕處理→填充→開運算→得到魚體。圖像開運算一般用來消除小物體及纖細點處分離物體,平滑較大物體邊界。區域填充操作實現了填充二值圖像中的空洞區域,刪除了沒有連接到邊界的局部極小值。執行數學形態操作后的效果圖像如圖8~10所示[8]。

圖8 腐蝕運算后

圖9 填充之后

圖10 開運算之后
經上述處理后,已經得到目標圖像填充操作后的圖像,則只需將填充操作后的圖像與剪裁好的彩色圖像進行邏輯運算,使黑色的背景仍為黑色,白色的目標變為彩色目標圖像,得到還原魚體后的圖像。去除背景后得到的圖像效果如圖11所示。

圖11 得到魚體
大部分淡水魚的魚肚和魚背皮膚紋理差異很大,本識別系統自動剪切魚肚和魚背皮膚各1塊 。具體方法如下。首先,通過掃描摳除背景后的魚圖像,計算魚的寬度并保存至數組,通過比較定位魚體最寬位置處直線,以該直線中點為矩形塊中心點,剪切出像素為300×150的魚肚皮膚圖片;然后以該直線底端20%處為中心點,剪切出像素為300×150的魚背皮膚圖片,如圖12所示。

圖12 分割魚體

圖13 魚的特征部位
在模式識別的很多案例中,形態特征往往是很簡單直觀的重要特征。它用于描述事物的集中特征性,而與灰度等無關。本項目就魚的二值圖像進行了形態特征的提取,選取了以下幾個形態特征進行研究:魚尾的似圓度、魚尾的占空比、魚的復雜度(形狀參數)、魚的最小外接矩形的長寬比及Hu Jing定義的7個不變矩特征值。接著對圖13中各部分進行處理。
3.2.1HSV顏色特征
對分割得到的魚背和魚肚的紋理圖進行HSV分量的提取,并且得到HSV的一階矩陣。獲得二次統計量,在此基礎上提取H,S,V分量特征。
3.2.2灰度共生矩陣
灰度共生矩陣是一種通過研究灰度的空間相關特性來描述紋理的常用方法,在模式識別有很好的效果。提取四種特征值:能量、對比度、相關、熵,它們是僅有的不相關的特征,不僅便于計算而且還具有較高的分類精度。同時,為了減少計算量,提高程序運行效率,要將普通的灰度圖像減少為8階的灰度級數,再計算灰度共生矩陣[8-10]。
BP神經網絡是一種按誤差逆傳播算法訓練的多層前饋網絡,是目前應用最廣泛的神經網絡模型之一。BP神經網絡模型拓撲結構如圖14所示。

圖14 BP神經網絡拓撲結構

識別結果如圖15所示。

圖15 識別結果
目前已大致實現預期的功能,但有如下幾個問題:
(1)魚的紋理特征提取特征數少。沒有LBP紋理特征,因為當時在提取這一數值時,最終得到的不是數據而是一張處理過后的圖片,知識點儲備不足,無法提取出特征信息,所以也缺少了這一類特征數據。
(2)用于機器學習和機器識別的圖像效果不佳且圖像量太少。圖像拍攝不一,光線、背景、清晰度等都造成數據的不準確性,有些圖像被淘汰,導致最后用于機器識別的圖像太少。
(3)識別正確率不高。由于特征數據不足,本系統的識別準確率仍然不夠高,但目前基本能夠識別淡水魚的種類,在擴充特征數據和樣本量后本系統的準確率將進一步提高。
通過分析反思認為,可以有如下改進:
(1)提高圖像拍攝統一度。
(2)增大圖像庫。
(3)增加特征提取種類。
與MATLAB平臺仿真不同的是,目前已經運用C#語言編寫,實現了功能較為完備的專門識別淡水魚品種的軟件。本系統基本實現了魚的背景摳除、魚體分割、特征提取和種類識別,且識別效果較好。但仍存在一些問題,如方法不夠創新。如要得到更高的識別率,可以在紋理特征提取部分再加上LBP紋理特征提取,在BP神經網絡之前進行粒子群特征尋優。在神經網絡部分也可以進行優化,日后有待改進。
[1] 陳述平,朱文慧.全球能源和糧食價格高漲中國淡水魚常規養殖品種面臨的挑戰[J].飼料廣角,2008(15) :40-41.
[2] 張志強,牛智有,趙思明.基于機器視覺技術的淡水魚品種識別[J].農業工程學報,2011(11):388-392.
[3] ZION B,SHKLYAR A,KARPLUS I. Sorting fish by computer vision[J].Computers and Electronics in Agriculture,1999(23):175-187.
[4] STORBECK F,DAAN B. Fish species recognition using computer vision and a neural network[J]. Fisheries Research,2001(51):11-15.
[5] WHITE D J,SVELLINGEN C,STRACHAN N J C. Automated measurement of species and length of fish by computer vision[J].Fisheries Research,2006(80):203-210.
[6] Hu Jing.Fish species classification by color,texture and multi-class support vector machine using computer vision[J].Computers and Electronics in Agriculture,2012(88):133-140.
[7] 謝忠紅,郭小清,程碧云,等.基于多特征的淡水魚種類識別研究[J].揚州大學學報(農業與生命科學版),2016,37(3):71-77.
[8] 俞朝暉,于濤,龐也馳.數字圖像處理與工程應用實踐.第一版[M].北京:中國鐵道出版社,2012.
[9] 萬鵬,潘海兵,宗力,等.基于機器視覺技術淡水魚品種在線識別裝置設計[J].食品與機械,2012(6):164-167.
[10] 張錚,任淑霞.數字圖像處理與機器視覺.第二版[M].北京:人民郵電出版社,2014.
[11] 蔡楚華,蘭誠棟,陳康杰.深度學習最佳深度的確定[J].微型機與應用,2017,36(9):57-59,66.
[12] 陳國良.遺傳算法及其應用[M].北京:人民郵電出版社,1996.
[13] 梁軍,程燦.改進的粒子群算法[J].計算機工程與設計,2008,29(11):2893-2896.
Recognition of freshwater fish species based on machine vision
Yao Runlu,Gui Yongwen,Huang Qiugui
(School of Information Science and Technology,Nanjing Agricultural University,Nanjing 210095,China)
In the freshwater fish processing industry of our courtry,the identification and processing of freshwater fish mainly rely on human resources,which will inevitably consume a lot of labour power and material resources. For this phenomenon,we researched and designed a scheme using digital image processing technology and BP neural network to realize the recognition,using white fish,crucian carp,bream and mandarin fish as the research objects. Firstly,the collected images are pre processed to get the color fish image without background. Then we split the fish images to obtain fish maw and fish back,in order to extract texture features and extract morphological features. Finally the BP neural network is used to recognize the image.In this project,we implement a software specifically for identifying freshwater fish. We adopt 25 learning samples and 28 identification samples. The final recognition rate is 75%.
image processing; freshwater fish; BP neural network
江蘇省大學生創新創業項目(201610307012Y)
TP391
A
10.19358/j.issn.1674-7720.2017.24.011
姚潤璐,桂詠雯,黃秋桂.基于機器視覺的淡水魚品種識別J.微型機與應用,2017,36(24):37-39.
2017-06-22)
姚潤璐(1996-),女,本科,主要研究方向:計算科學與技術。
桂詠雯(1996-),女,本科,主要研究方向:計算科學與技術。
黃秋桂(1995-),女,本科,主要研究方向:網絡工程。