盧言
(瓦房店市高級中學(xué),遼寧大連,116300)
目前,海參,海膽等海產(chǎn)品的捕撈很大依賴于潛水員人工捕撈。但是,近年來潛水員在工作時遇難的報(bào)道屢見不鮮,究其原因還是潛水員的水下工作環(huán)境十分惡劣,險象迭生。潛水員在水下長時間工作還容易患上諸如氣體栓塞、減壓病等疾病,甚至危及生命。而且人工捕撈還存在效率較低,成本高昂等諸多弊端。
為實(shí)現(xiàn)水下物體的自動化捕撈,一款可提高海產(chǎn)品捕撈自動化程度的智能水下目標(biāo)檢測識別系統(tǒng)應(yīng)運(yùn)而生。該系統(tǒng)具有如下優(yōu)點(diǎn):
①可以大幅減少潛水員的工作量,降低潛水員罹患職業(yè)病的風(fēng)險。
②有助于提高捕撈自動化程度,降低捕撈成本。
③大大提升水下捕撈工作的效率。
圖1 基于單片機(jī)的智能水下目標(biāo)檢測識別系統(tǒng)的總體框架圖
本文設(shè)計(jì)了一款智能水下目標(biāo)檢測識別系統(tǒng),該智能水下目標(biāo)識別系統(tǒng)以jetson tx2為主控核心,通過電腦控制水下目標(biāo)檢測識別系統(tǒng),實(shí)現(xiàn)水下目標(biāo)物體的檢測和識別,在漁業(yè)捕撈領(lǐng)域有重大應(yīng)用前景。該系統(tǒng)到達(dá)水下指定區(qū)域時,通過電腦開啟水下目標(biāo)檢測識別系統(tǒng)的GPS模塊、圖像識別模塊以及雙目攝像頭。圖像識別模塊開啟后,系統(tǒng)將通過雙目攝像頭采集到的圖像進(jìn)行檢測與識別,并通過GPS模塊返回目標(biāo)海產(chǎn)品的位置,然后通過socket模塊將被識別的海產(chǎn)品的位置,數(shù)量,深度等信息傳輸至電腦,今后也可以通過在jetson tx2的GPIO增加吸泵或機(jī)械臂等裝置。該智能水下目標(biāo)檢測識別系統(tǒng)可以檢測并識別水下海產(chǎn)品,并提供海產(chǎn)品位置等有效信息,這對今后提升海產(chǎn)品捕撈的自動化程度有重要意義。
jetson 2是基于 NVIDIA Pascal? 架構(gòu)的 AI 單模塊超級計(jì)算機(jī),具有體積小、功耗低(7.5W)、計(jì)算能力強(qiáng)大等諸多優(yōu)點(diǎn)。本文以搭載ubuntu系統(tǒng)的jetson tx2為主控核心,控制各模塊協(xié)同工作。其環(huán)境搭建過程如下:
(1)前往英偉達(dá)官網(wǎng)下載ubuntu,至jetson tx2的SD卡上。下載地址:http://www.geforce.cn/drivers。
(2)配置環(huán)境
①安裝依賴庫。
②安裝BLAS。BLAS (Basic Linear Algebra Subprograms)是一個基本線性代數(shù)庫。
③安裝opencv。opencv的全稱是:Open Source Computer Vision Library。它是一個跨平臺計(jì)算機(jī)視覺庫,基于BSD許可(開源)發(fā)行,它實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺方面的很多通用算法。
④安裝CUDA。CUDA(Compute Unified Device Architecture),是由英偉達(dá)推出的運(yùn)算平臺。 通過CUDA可以大大提升訓(xùn)練速度。
⑤安裝cuDNN。
⑥安裝 caffe。Caffe(Convolutional Architecture for Fast Feature Embedding)。是一種常用的深度學(xué)習(xí)框架,主要應(yīng)用在視頻、圖像處理方面的應(yīng)用上。具有清晰,可讀性高,學(xué)習(xí)快速等優(yōu)點(diǎn)。
GPIO(General Purpose Input Output),又稱總線擴(kuò)展器,它能夠提供額外的控制和監(jiān)視功能。具有低功耗,低成本,布線簡單等諸多優(yōu)點(diǎn)。
2.3.1 MYNTEYE雙目攝像頭
雙目攝像頭利用仿生學(xué)原理,通過標(biāo)定后的雙攝像頭得到同步曝光圖像,然后計(jì)算獲取的二維圖像像素點(diǎn)的第三維深度信息。采用MYNTEYE雙目攝像頭,可以使捕撈工作更加精確,高效。MYNTEYE雙目攝像頭內(nèi)置IMJ并配備2顆彩色圖像采集攝像頭,可以提供高達(dá)1280x720的深度分辨率,最高幀率可達(dá)80fps,識別深度可達(dá)10m+。并且可以無需依賴終端計(jì)算,直接輸出深度圖像, 其內(nèi)置兩顆紅外(IR)探測器,可以有效增加對水下目標(biāo)的識別精度。并具有精度高,成本低等優(yōu)點(diǎn)。在本系統(tǒng)中,MYNTEYE雙目攝像頭將圖像、深度信息保存至jetson tx2,圖像識別模塊對圖像中的物體進(jìn)行檢測并識別。
2.3.2 GPS模塊SKG10B
GPS模塊就是一個集成了RF射頻芯片、基帶芯片、核心CPU,再加上相關(guān)外圍電路而構(gòu)成的集成電路。GPS模塊工作時,接收機(jī)精確的計(jì)算出它所收到信號發(fā)射和被接收時間的差值,再乘以光速從而得到接收器與衛(wèi)星的距離,接收三顆衛(wèi)星的信號后,利用三維坐標(biāo)距離公式可以得出接收器的位置,但是衛(wèi)星與接收器的時鐘往往不同步,導(dǎo)致定位誤差較大,所以引入第四個未知數(shù)-鐘差,使定位精度大大提升。以上就是GPS定位的基本原理。
本系統(tǒng)采用的GPS模塊SKG10B的工作電壓為3.0-4.2V,功耗為50mW,定位精度為3米,最大更新頻率為10Hz,具有高靈敏度、低功耗、小型化等諸多優(yōu)點(diǎn)。安裝該GPS模塊后,不僅可以返回水下目標(biāo)的位置信息,還可以通過電腦實(shí)時監(jiān)控水下目標(biāo)檢測識別系統(tǒng)的位置,防止因突發(fā)狀況導(dǎo)致水下目標(biāo)檢測識別系統(tǒng)遺失。
socket是兩個節(jié)點(diǎn)之間的數(shù)據(jù)傳輸,通常屬于C/S架構(gòu),兩者基于TCP協(xié)議進(jìn)行雙向連接。
如圖2所示,TCP的連接需要三次握手。第一次握手:客戶端發(fā)出連接請求,此時客戶端向服務(wù)器發(fā)出SNY J包。第二次握手:服務(wù)器接收到連接請求,即接收到SYN J 包,此時服務(wù)器向客戶端發(fā)出SYN K ,ACK J+1包進(jìn)行應(yīng)答。第三次握手:客戶端接收到應(yīng)答,即收到SYN K ,ACK J+1包,客戶端向服務(wù)器發(fā)出SYN K包進(jìn)行確認(rèn)。三次握手完成,連接建立。
圖2 socket通信的三次握手協(xié)議
在本文設(shè)計(jì)的系統(tǒng)中,水下目標(biāo)檢測識別系統(tǒng)通過socket通信與電腦實(shí)現(xiàn)信息傳送,這樣,可以在電腦實(shí)時監(jiān)測水下目標(biāo)檢測識別系統(tǒng)位置和水下目標(biāo)的位置信息。
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,簡稱CNN),是一種前饋神經(jīng)網(wǎng)絡(luò),可以進(jìn)行大型圖像的處理。CNN的最大特點(diǎn)就是權(quán)值共享,權(quán)值共享網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)點(diǎn)是可以使圖像可以直接作為網(wǎng)絡(luò)的輸入,避免了傳統(tǒng)識別算法中復(fù)雜的特征提取和數(shù)據(jù)重建過程,從而降低了網(wǎng)絡(luò)模型的復(fù)雜度,減少了權(quán)值的數(shù)量,該優(yōu)點(diǎn)在網(wǎng)絡(luò)的輸入是多維圖像時表現(xiàn)更為明顯。
圖3 卷積神經(jīng)網(wǎng)絡(luò)的工作過程
卷積神經(jīng)網(wǎng)絡(luò)的工作過程如圖3所示,具體步驟分為輸入層(InputImage)→卷積層(Convolution)→采樣層(Pooling)→全連接層→參數(shù)求解。CNN的輸入層一般為一個n維矩陣,可以是圖像、向量化后的文本等等。卷積層的作用是濾波、去噪、找特征,不同卷積核做卷積會得到一系列feature map并作為下一層的輸入,卷積的過程大致可以理解為用一個3x3卷積核在一個5x5輸入層上進(jìn)行有效填充,并得到一個3x3隱藏層,權(quán)值為卷積核且所有隱藏層共享該權(quán)值。通過卷積后,參數(shù)數(shù)量雖然大幅減少,但是參數(shù)依然很多,容易出現(xiàn)過擬合或者欠擬合等問題。下采樣可以有效解決該問題,常用采樣有兩種,一種是Max-Pooling,即將Pooling窗口中的最大值作為采樣值,另一種Mean-Pooling,即將Pooling窗口中的所有值相加取平均,平均值作為采樣值。全連接層是輸出層和前面若干層的過渡層,用來組織生成特定節(jié)點(diǎn)數(shù)的輸出層。
圖4 Faster R-CNN
RPN的全稱是(Region Proposal Network),它是一個全連接的卷積網(wǎng)絡(luò),通過end-to-end的方式訓(xùn)出來高質(zhì)量的region proposal,然后將Faster R-CNN訓(xùn)練好的卷積特征和Fast R-CNN共享,從而完成對目標(biāo)的檢測。Faster R-CNN(如圖4所示)相對于其他算法檢測速度大幅提高,原因是它設(shè)計(jì)了提取候選區(qū)域的網(wǎng)絡(luò)RPN,代替了費(fèi)時的選擇性搜索。Faster R-CNN的步驟大體為:
①對整張圖片輸進(jìn)CNN,得到feature map。
②卷積特征輸入到RPN,得到候選框的特征信息。
③對候選框中提取出的特征,使用分類器判別是否屬于一個特定類 。
④對于屬于某一特征的候選框,用回歸器進(jìn)一步調(diào)整其位置。
本文設(shè)計(jì)的智能水下目標(biāo)檢測識別系統(tǒng)可以準(zhǔn)確快速識別水下目標(biāo)。在海產(chǎn)品捕撈領(lǐng)域,該系統(tǒng)可以高效的識別水下海產(chǎn)品,為自動化捕撈提供大量有效信息。也可以通過增加吸泵、機(jī)械臂等裝置替代潛水員完成海產(chǎn)品捕撈工作,這樣不僅可以大幅降低捕撈成本、提高捕撈效率,還可以降低潛水員因長時間工作罹患職業(yè)病的風(fēng)險。