文/吳瑩瑩 宋愛環(huán) 王英俊 劉童 劉洪軍 賈世祥 岳峻 何乃葉 李志偉
作者單位:1.山東省海洋科學研究院 青島市海洋生物種質資源挖掘與利用工程實驗室 2.魯東大學 3.山東省農業(yè)交流合作中心
通過采集貝類樣本圖像建立貝類圖片樣本庫,并對庫內圖片進行預處理,使其適用于機器學習算法,然后利用深度學習的方法獲得每種貝類的外形特征,進而開展分類識別,識別準確率可達到80%以上。通過配套開發(fā)的貝類識別手機軟件,可將手機拍攝的貝類圖片上傳至服務器端,并在3秒鐘內將識別結果反饋給手機用戶,同時推送相關貝類科普知識。該技術的應用與推廣,對面向公眾開展水產科普與水生動物保護等工作大有裨益。
隨著大數(shù)據(jù)和人工智能的發(fā)展,計算機技術應用領域不斷拓展。運用計算機技術判別生物種類受到大眾的青睞,比如形色、花伴侶等識別陸地植物軟件,被大家廣為接受普遍應用。習近平總書記在2016年的“科技三會”上強調:“科技創(chuàng)新、科學普及是實現(xiàn)創(chuàng)新發(fā)展的兩翼,要把科學普及放在與科技創(chuàng)新同等重要的位置”。開展科普的手段很多,文字圖片、多媒體、人工智能交互等現(xiàn)代手段都可以實現(xiàn)富有成效的科學傳播。那么,海洋生物鑒別與水產科學知識普及除了傳統(tǒng)的方法外,可否通過更智能化的手段實現(xiàn)?我們選取海洋貝類作為首期研究對象,探索了基于計算機視覺的貝類智能化識別系統(tǒng)技術研發(fā)。
中國是世界貝類多樣性最豐富的國家之一,貝類形態(tài)千姿百態(tài),雖然每種貝類都有其獨特的殼型和殼色特征,但總體外形相似,普通人甚至專業(yè)人士僅通過肉眼觀察很難精確判別其種類,若通過實驗室鑒別,又耗時太長,不能實現(xiàn)實時認知。因此,本項目嘗試應用計算機視覺技術,研發(fā)貝類識別系統(tǒng)和手機APP,方便使用者隨時對身邊的貝類進行在線識別,并將“識貝、賞貝、愛貝”有機結合,激發(fā)大眾熱愛、保護海洋生物的意識,提升海洋文化素養(yǎng)。
貝類形貌特征識別技術是典型的圖像分析、圖像理解與分類問題,對這一問題的深入研究與解決涉及到模式識別、圖像處理與分析、計算機視覺、人工智能、人機交互、計算機圖形學等諸多學科的理論知識。本系統(tǒng)構建方法為:采集我國沿海常見貝類樣品,經預處理得到完整的貝殼;采集貝殼圖像建立貝類圖片數(shù)據(jù)庫;對圖片進行縮放、增強、去噪、分割等預處理使其適用于機器學習算法;利用深度神經網(wǎng)絡獲得每種貝類貝殼的特征,進而完成智能識別;開發(fā)手機APP,實現(xiàn)對貝類的實時在線識別(圖1)。
圖1 貝類識別系統(tǒng)識別流程圖
通過海邊采集、碼頭和市場采購等多種方式盡可能多的采集貝類樣品,在實驗室經過清洗、去肉等處理后,挑選完整的貝殼,并進行分類標注。
在不同的拍攝條件下采集貝殼圖像,如變換拍攝光照強度、拍攝背景、拍攝角度等,建立帶標注的貝殼圖像數(shù)據(jù)庫,如圖2。將建立的貝類圖片數(shù)據(jù)庫通過特征提取生成貝類圖像的訓練集,貝類圖像獲取算法流程圖如圖3所示。
圖2 部分不同拍攝條件下采集的貝殼圖像
圖3 貝類圖像獲取流程圖
本系統(tǒng)使用深度卷積神經網(wǎng)絡方法實現(xiàn)貝類圖像的分類識別。采取深度卷積神經網(wǎng)絡方法,對貝類圖像數(shù)據(jù)庫的數(shù)據(jù)量有一定要求,僅使用小規(guī)模數(shù)據(jù)訓練卷積神經網(wǎng)絡容易出現(xiàn)過擬合現(xiàn)象,難以實現(xiàn)較好的分類效果。但圖像采集存在一定難度,一是所收集貝殼樣本數(shù)量有限;二是采集貝類圖像數(shù)據(jù)是一個長期的過程,費時費力,難以在短期內獲取大量貝類圖像數(shù)據(jù);三是獲取貝類圖像的途徑較為單一,沒有相關可供研究的貝類圖像數(shù)據(jù)庫;四是由于貝類的食物屬性,網(wǎng)絡上爬取的相關圖片中以菜肴圖像居多,且多是有遮擋圖片或者一幅圖片中包含多個同種甚至不同種貝類,難以找到適用于本研究的貝類圖像。
因此,為了進一步增加訓練數(shù)據(jù),本程序使用卷積對抗生成網(wǎng)絡方法對采集的貝類圖像數(shù)據(jù)通過特征提取進行樣本重建,以達到貝類圖像數(shù)據(jù)擴增的目的。本系統(tǒng)建立的貝類數(shù)據(jù)庫圖像清晰并且貝類的輪廓、紋理等特征明顯,能夠根據(jù)輸入貝類圖像的特征產生與原始具有相似特征的貝類圖像,適用于圖片的擴增。圖4是圖像擴增結果。
圖4 擴增的圖像
使用深度網(wǎng)絡模型對數(shù)據(jù)庫內的貝類圖片進行特征獲取和識別。深度網(wǎng)絡模型對傳統(tǒng)網(wǎng)絡模型的層次結構進行了改進,通過加深網(wǎng)絡深度提高網(wǎng)絡的效果。其網(wǎng)絡結構如圖5所示,由多層結構組成,一般包括數(shù)據(jù)輸入層,隱藏層以及輸出層。輸入層實現(xiàn)對樣本數(shù)據(jù)的接收,隱藏層是深度學習網(wǎng)絡的核心部分,將輸入的樣本數(shù)據(jù)進行適量的數(shù)學運算,通過多次訓練調整參數(shù),獲得可視化樣本數(shù)據(jù),輸出層用來輸出操作后的樣本數(shù)據(jù)。
圖5 深度神經網(wǎng)絡的結構
本系統(tǒng)隨機選取貝類數(shù)據(jù)庫圖像數(shù)量的80%作為訓練集,選取剩余的20%作為測試集,實驗識別的準確率如圖6所示。
圖6 系統(tǒng)實驗結果
將本方法與經典的Lenet、AlexNet、ResNet進行對比,并分別隨機選取每個種類貝類圖像的80%作為訓練集,剩余20%作為測試集,分別對每類貝類圖像進行測試。對部分形貌特征近似的貝類測試結果如表1、表2所示。
表1 不同方法在訓練集上識別結果
表2 不同方法在測試集上識別結果
對比不同識別方法的結果可以看出,本文方法網(wǎng)絡整體識別準確率較高,在形貌特征區(qū)分度較高的貝類圖像識別上準確率可達到99%以上,在形貌特征相似的貝類圖像上的識別準確率也達到了95%以上,達到了預期效果。雖然ResNet網(wǎng)絡在形貌特征差異較大的貝類圖像識別上可以達到較高準確率,但是在形貌特征近似的貝類圖像識別上效果較差,尤其實際測試過程中識別結果遠達不到預期效果,并且在整體識別結果上與本文方法相比較差。
基于Framework7框架開發(fā)了貝類識別手機APP。
用戶通過軟件對貝類進行拍照,獲取的圖片在后臺進行預處理后自動上傳到云端服務器,由云端識別程序對圖片進行識別,并將識別結果在3s內回傳至手機APP。識別結果中會顯示3種與拍攝圖片相近的貝類,推送內容包括貝殼的圖片、形態(tài)介紹、習性和分布等科普知識。使用者可以根據(jù)所拍攝貝類的特征來判斷其具體屬于哪一種貝類,了解與之相關的信息。識別完成后點擊左上方的“首頁”按鈕,可以回到主界面,開始下一次的識別。
此款貝類智能化識別APP的開發(fā),為大眾識別海洋貝類提供了一種全新、便捷的途徑,也可為其他海洋生物的智能化識別提供借鑒。
目前圖片樣本庫包含76種海洋貝類的13萬余張圖片。經過測試,系統(tǒng)對76種貝類圖像的識別準確率在80%左右。項目組后續(xù)還將繼續(xù)擴大貝類樣品的收集范圍,計劃從山東沿海為主擴大到全國范圍;從貝類的種類和數(shù)量上進一步豐富貝類圖片數(shù)據(jù)庫,提高系統(tǒng)的識別率;繼續(xù)探索適于貝類圖像識別的函數(shù)和分析方法,從技術層面進一步提高識別準確率。