曾偉豪 何建輝 湯明新 趙江林
摘 ?要:隨著計算機和信息科學技術(shù)發(fā)展程度的越來越高,人工智能的技術(shù)也逐漸進入各行各業(yè)的應(yīng)用中,其中的圖像識別技術(shù)應(yīng)用尤為廣泛。不論是在解放勞動力,實時監(jiān)測或是輔助信息處理等方面的效率以及質(zhì)量都有出色的成果。文章為基于水下仿生魚的智能識別系統(tǒng),該系統(tǒng)主要通過仿生魚攝像頭采集的圖像信息,前端小程序獲取圖片信息,后端識別模型訓練及數(shù)據(jù)匹配分類進行水下魚種類的識別。文章制作了由10種每類約500張魚類圖像的訓練數(shù)據(jù)集,分割其1/10圖像作為測試集可得準確率約在85%以上。
關(guān)鍵詞:圖像識別;卷積神經(jīng)網(wǎng)絡(luò);vgg16
中圖分類號:TP242 ? ? ? ?文獻標志碼:A ? ? ? ? 文章編號:2095-2945(2020)25-0048-02
Abstract: With the development of computer and information science and technology, artificial intelligence technology, especially the application of image recognition technology, has gradually entered the application of all aspects of life. Both in the liberation of labor, real-time monitoring or auxiliary information processing efficiency and quality of outstanding results. This paper is an intelligent recognition system based on underwater bionic fish. The system mainly USES the image information collected by the bionic fish camera, the image information acquired by the front-end small program, the back-end recognition model training and data matching classification to identify the underwater fish species. In this paper, a training data set of about 500 fish images for each of 10 species was made, and the accuracy of 1/10 of the images as a test set could be more than 85%.
Keywords: image recognition; convolution neural network; vgg16
引言
現(xiàn)今,隨著全球人口的增長,中國已經(jīng)成為了世界上最大的海水養(yǎng)殖大國,養(yǎng)殖面積和產(chǎn)量均占世界的60%,是世界海洋食物養(yǎng)殖的主力軍。水下養(yǎng)殖業(yè)以及一系列水下作業(yè)逐漸離不開了水下機器人的輔助。[1]隨著人工智能技術(shù)的快速發(fā)展,基于人工智能的水下監(jiān)測技術(shù)也逐漸成為了研究熱點。由于水下養(yǎng)殖區(qū)域范圍大,人工進行監(jiān)測所消費人工和經(jīng)濟成本較高且效率低下,攜帶設(shè)備的長時間水下作業(yè)也提高了潛水員的作業(yè)難度。受水下暗流和深度等影響,水下潛水員的安全性也得不到保障。
利用水下仿生魚系統(tǒng),通過攝像頭和WiFi實時對水下的魚群進行拍攝識別,并將識別結(jié)果傳輸?shù)接脩舻氖謾C小程序端,可達到水下監(jiān)測魚群種類、生長情況、物種豐富度的監(jiān)測,對于養(yǎng)殖捕撈、提高養(yǎng)殖生產(chǎn)率和防止物種入侵有著極為良好的效果。
1 系統(tǒng)整體架構(gòu)(圖1)
該識別系統(tǒng)主要由魚類識別模型和分類模塊組成。
識別模型由爬取訓練數(shù)據(jù)集、圖像預處理模塊和vgg16模型架構(gòu)組成,具有提取圖像特征、更新網(wǎng)絡(luò)權(quán)值、形成和保存模型網(wǎng)絡(luò)的功能。訓練時優(yōu)先使用gpu處理器,是作為整個識別功能的中心紐帶。
分類模塊主要將前端小程序獲取的圖像與模型相匹配,依照網(wǎng)絡(luò)各層權(quán)重值計算結(jié)果,并將其歸為與其值最為接近的魚類分類。再將其分類結(jié)果通過服務(wù)器返回給前端小程序顯示。
2 識別系統(tǒng)的軟件實現(xiàn)
2.1 vgg16模型搭建
Vgg模型是由牛津大學于2014年首次提出的,vgg的卷積神經(jīng)網(wǎng)絡(luò)模型擁有簡潔和實用的優(yōu)勢并在之后的各個領(lǐng)域被廣泛使用。Vgg16是由13個卷積層,5個最大下采樣層和3個全連接層疊加而成。網(wǎng)絡(luò)輸入一張的圖像,經(jīng)過卷積核的卷積和最大池化操作后拉伸為一維向量,放入三層全連接層中進行權(quán)值計算。層與層之間插入激活函數(shù)ReLu對卷積圖像輸入矩陣中的負值修正為0,防止在網(wǎng)絡(luò)反向傳播的過程中過小的數(shù)值的導數(shù)逐層累計導致靠近輸入層的權(quán)值更新受到影響,稱為梯度消失。[2]同時在層與層中插入dropout進行參數(shù)限制,在機器學習中過擬合是常見的現(xiàn)象,具體表現(xiàn)為在訓練集中表現(xiàn)好,而在測試集中容易出現(xiàn)結(jié)果較為偏頗,設(shè)置概率p=0.5暫時丟失部分神經(jīng)元以防止數(shù)據(jù)過擬合造成的樣本外預測值誤差過大。在初始的cnn中,權(quán)重值是隨機的,過濾器(卷積核)對于圖像的特征選取也是非常不穩(wěn)定的。于是就需要反向傳播這一過程。通過前一數(shù)據(jù)與后一數(shù)據(jù)的預測誤差反向傳遞更新迭代各層的權(quán)重值。
2.2 系統(tǒng)編譯環(huán)境及模塊配置
整個識別模型程序是通過window10系統(tǒng)下的vscode編寫的,使用前需要安裝anaconda環(huán)境管理器。安裝時的安裝目錄與圖像庫和代碼腳本應(yīng)相同防止報錯和方便文件查閱。在編譯文件中導入PIL圖像處理庫,機器學習庫pytorch以及torchvision并保持版本相對應(yīng)。官網(wǎng)下載庫文件時可采用換源提升下載效率。
2.3 系統(tǒng)實現(xiàn)過程
用戶通過手機小程序和WiFi連接通信對仿生魚進行操作,通過控制仿生魚的運動對水下各個位置進行水下水質(zhì)信息數(shù)據(jù)獲取和目標魚群進行拍攝,拍攝后的圖像通過上傳至服務(wù)器的方式,并由后端模型獲取圖像信息并放入訓練完成的vgg16識別模型中進行特征提取,結(jié)果分類,并將所得結(jié)果實時傳遞給手機小程序端顯示。
3 模型分類結(jié)果
圖2、圖3是鯰魚和青魚圖像的識別測試結(jié)果。在模型訓練的過程中根據(jù)圖像輸入得到全連接層的權(quán)重和各類訓練圖像的識別值,識別時圖像經(jīng)過卷積、池化和激活函數(shù)的操作并將其拉伸為一維向量,與全連接層中各個權(quán)重值進行加權(quán)求和得到最終預測值,并將其歸類為與其最為接近的識別值類,得到識別結(jié)果。
在水體污染程度大或圖像較為模糊的情況下得到的結(jié)果較為不準確,水底光照條件較差時可開啟前照燈后進行補光拍攝保證預測分類結(jié)果準確性。通過提高訓練集數(shù)據(jù)量的方式也能較為有效地提升模型的準確率。
4 結(jié)束語
本文對于圖像識別中的vgg模型組成原理進行描述,同時對機器人水下識別技術(shù)所具備的優(yōu)勢進行淺談。識別系統(tǒng)通過與前端小程序的結(jié)合,可實現(xiàn)對水下環(huán)境的實時拍攝、數(shù)據(jù)傳輸以及實時識別,操作方便快捷,數(shù)據(jù)顯示一目了然。其作用同時可遷移應(yīng)用于海上救助、近海搜索、魚群捕撈、水環(huán)境監(jiān)測以及非法捕撈監(jiān)測等,對水下資源的保護以及獲取有積極作用。
參考文獻:
[1]吳俊雄.人工智能中圖像識別技術(shù)的發(fā)展與應(yīng)用研究[J].信息與電腦(理論版),2020,32(04):137-139.
[2]左羽,陶倩,吳戀,等.基于卷積神經(jīng)網(wǎng)絡(luò)的植物圖像分類方法研究[J].物聯(lián)網(wǎng)技術(shù),2020,10(03):72-75.
[3]李道亮,包建華.水產(chǎn)養(yǎng)殖水下作業(yè)機器人關(guān)鍵技術(shù)研究進展[J].農(nóng)業(yè)工程學報,2018,34(16):1-9.