盧言
(瓦房店市高級中學,遼寧大連,116300)
目前,海參,海膽等海產品的捕撈很大依賴于潛水員人工捕撈。但是,近年來潛水員在工作時遇難的報道屢見不鮮,究其原因還是潛水員的水下工作環境十分惡劣,險象迭生。潛水員在水下長時間工作還容易患上諸如氣體栓塞、減壓病等疾病,甚至危及生命。而且人工捕撈還存在效率較低,成本高昂等諸多弊端。
為實現水下物體的自動化捕撈,一款可提高海產品捕撈自動化程度的智能水下目標檢測識別系統應運而生。該系統具有如下優點:
①可以大幅減少潛水員的工作量,降低潛水員罹患職業病的風險。
②有助于提高捕撈自動化程度,降低捕撈成本。
③大大提升水下捕撈工作的效率。

圖1 基于單片機的智能水下目標檢測識別系統的總體框架圖
本文設計了一款智能水下目標檢測識別系統,該智能水下目標識別系統以jetson tx2為主控核心,通過電腦控制水下目標檢測識別系統,實現水下目標物體的檢測和識別,在漁業捕撈領域有重大應用前景。該系統到達水下指定區域時,通過電腦開啟水下目標檢測識別系統的GPS模塊、圖像識別模塊以及雙目攝像頭。圖像識別模塊開啟后,系統將通過雙目攝像頭采集到的圖像進行檢測與識別,并通過GPS模塊返回目標海產品的位置,然后通過socket模塊將被識別的海產品的位置,數量,深度等信息傳輸至電腦,今后也可以通過在jetson tx2的GPIO增加吸泵或機械臂等裝置。該智能水下目標檢測識別系統可以檢測并識別水下海產品,并提供海產品位置等有效信息,這對今后提升海產品捕撈的自動化程度有重要意義。
jetson 2是基于 NVIDIA Pascal? 架構的 AI 單模塊超級計算機,具有體積小、功耗低(7.5W)、計算能力強大等諸多優點。本文以搭載ubuntu系統的jetson tx2為主控核心,控制各模塊協同工作。其環境搭建過程如下:
(1)前往英偉達官網下載ubuntu,至jetson tx2的SD卡上。下載地址:http://www.geforce.cn/drivers。
(2)配置環境
①安裝依賴庫。
②安裝BLAS。BLAS (Basic Linear Algebra Subprograms)是一個基本線性代數庫。
③安裝opencv。opencv的全稱是:Open Source Computer Vision Library。它是一個跨平臺計算機視覺庫,基于BSD許可(開源)發行,它實現了圖像處理和計算機視覺方面的很多通用算法。
④安裝CUDA。CUDA(Compute Unified Device Architecture),是由英偉達推出的運算平臺。 通過CUDA可以大大提升訓練速度。
⑤安裝cuDNN。
⑥安裝 caffe。Caffe(Convolutional Architecture for Fast Feature Embedding)。是一種常用的深度學習框架,主要應用在視頻、圖像處理方面的應用上。具有清晰,可讀性高,學習快速等優點。
GPIO(General Purpose Input Output),又稱總線擴展器,它能夠提供額外的控制和監視功能。具有低功耗,低成本,布線簡單等諸多優點。
2.3.1 MYNTEYE雙目攝像頭
雙目攝像頭利用仿生學原理,通過標定后的雙攝像頭得到同步曝光圖像,然后計算獲取的二維圖像像素點的第三維深度信息。采用MYNTEYE雙目攝像頭,可以使捕撈工作更加精確,高效。MYNTEYE雙目攝像頭內置IMJ并配備2顆彩色圖像采集攝像頭,可以提供高達1280x720的深度分辨率,最高幀率可達80fps,識別深度可達10m+。并且可以無需依賴終端計算,直接輸出深度圖像, 其內置兩顆紅外(IR)探測器,可以有效增加對水下目標的識別精度。并具有精度高,成本低等優點。在本系統中,MYNTEYE雙目攝像頭將圖像、深度信息保存至jetson tx2,圖像識別模塊對圖像中的物體進行檢測并識別。
2.3.2 GPS模塊SKG10B
GPS模塊就是一個集成了RF射頻芯片、基帶芯片、核心CPU,再加上相關外圍電路而構成的集成電路。GPS模塊工作時,接收機精確的計算出它所收到信號發射和被接收時間的差值,再乘以光速從而得到接收器與衛星的距離,接收三顆衛星的信號后,利用三維坐標距離公式可以得出接收器的位置,但是衛星與接收器的時鐘往往不同步,導致定位誤差較大,所以引入第四個未知數-鐘差,使定位精度大大提升。以上就是GPS定位的基本原理。
本系統采用的GPS模塊SKG10B的工作電壓為3.0-4.2V,功耗為50mW,定位精度為3米,最大更新頻率為10Hz,具有高靈敏度、低功耗、小型化等諸多優點。安裝該GPS模塊后,不僅可以返回水下目標的位置信息,還可以通過電腦實時監控水下目標檢測識別系統的位置,防止因突發狀況導致水下目標檢測識別系統遺失。
socket是兩個節點之間的數據傳輸,通常屬于C/S架構,兩者基于TCP協議進行雙向連接。
如圖2所示,TCP的連接需要三次握手。第一次握手:客戶端發出連接請求,此時客戶端向服務器發出SNY J包。第二次握手:服務器接收到連接請求,即接收到SYN J 包,此時服務器向客戶端發出SYN K ,ACK J+1包進行應答。第三次握手:客戶端接收到應答,即收到SYN K ,ACK J+1包,客戶端向服務器發出SYN K包進行確認。三次握手完成,連接建立。

圖2 socket通信的三次握手協議
在本文設計的系統中,水下目標檢測識別系統通過socket通信與電腦實現信息傳送,這樣,可以在電腦實時監測水下目標檢測識別系統位置和水下目標的位置信息。
卷積神經網絡(Convolutional Neural Network,簡稱CNN),是一種前饋神經網絡,可以進行大型圖像的處理。CNN的最大特點就是權值共享,權值共享網絡結構的優點是可以使圖像可以直接作為網絡的輸入,避免了傳統識別算法中復雜的特征提取和數據重建過程,從而降低了網絡模型的復雜度,減少了權值的數量,該優點在網絡的輸入是多維圖像時表現更為明顯。

圖3 卷積神經網絡的工作過程
卷積神經網絡的工作過程如圖3所示,具體步驟分為輸入層(InputImage)→卷積層(Convolution)→采樣層(Pooling)→全連接層→參數求解。CNN的輸入層一般為一個n維矩陣,可以是圖像、向量化后的文本等等。卷積層的作用是濾波、去噪、找特征,不同卷積核做卷積會得到一系列feature map并作為下一層的輸入,卷積的過程大致可以理解為用一個3x3卷積核在一個5x5輸入層上進行有效填充,并得到一個3x3隱藏層,權值為卷積核且所有隱藏層共享該權值。通過卷積后,參數數量雖然大幅減少,但是參數依然很多,容易出現過擬合或者欠擬合等問題。下采樣可以有效解決該問題,常用采樣有兩種,一種是Max-Pooling,即將Pooling窗口中的最大值作為采樣值,另一種Mean-Pooling,即將Pooling窗口中的所有值相加取平均,平均值作為采樣值。全連接層是輸出層和前面若干層的過渡層,用來組織生成特定節點數的輸出層。

圖4 Faster R-CNN
RPN的全稱是(Region Proposal Network),它是一個全連接的卷積網絡,通過end-to-end的方式訓出來高質量的region proposal,然后將Faster R-CNN訓練好的卷積特征和Fast R-CNN共享,從而完成對目標的檢測。Faster R-CNN(如圖4所示)相對于其他算法檢測速度大幅提高,原因是它設計了提取候選區域的網絡RPN,代替了費時的選擇性搜索。Faster R-CNN的步驟大體為:
①對整張圖片輸進CNN,得到feature map。
②卷積特征輸入到RPN,得到候選框的特征信息。
③對候選框中提取出的特征,使用分類器判別是否屬于一個特定類 。
④對于屬于某一特征的候選框,用回歸器進一步調整其位置。
本文設計的智能水下目標檢測識別系統可以準確快速識別水下目標。在海產品捕撈領域,該系統可以高效的識別水下海產品,為自動化捕撈提供大量有效信息。也可以通過增加吸泵、機械臂等裝置替代潛水員完成海產品捕撈工作,這樣不僅可以大幅降低捕撈成本、提高捕撈效率,還可以降低潛水員因長時間工作罹患職業病的風險。