張俊龍 曾國蓀 覃如符
摘 要:針對(duì)海底環(huán)境惡劣、海底觀測(cè)視頻品質(zhì)差導(dǎo)致視頻中的海洋魚類識(shí)別難的問題,提出一種基于深度學(xué)習(xí)的海洋魚類識(shí)別方法。首先,將海底觀測(cè)視頻分解為圖片,由于海底觀測(cè)視頻中存在較大比例的空白數(shù)據(jù),使用背景差分法過濾不包含魚類的圖片,縮短處理全部數(shù)據(jù)的時(shí)間;然后,考慮到海底拍攝環(huán)境亮度低、場景模糊的實(shí)際情況,對(duì)圖片基于暗通道先驗(yàn)算法進(jìn)行預(yù)處理提高品質(zhì);最后,以卷積神經(jīng)網(wǎng)絡(luò)(CNN)為基礎(chǔ)構(gòu)建深度學(xué)習(xí)模型,并且提出了權(quán)重化特征的卷積過程,提高模型的魯棒性。實(shí)驗(yàn)結(jié)果表明:面對(duì)較差品質(zhì)的海底觀測(cè)視頻圖片,在深度學(xué)習(xí)模型結(jié)構(gòu)相同的條件下,與普通卷積神經(jīng)網(wǎng)絡(luò)模型相比,使用權(quán)重化卷積作為隱層并且加入預(yù)處理過程后,對(duì)海洋魚類識(shí)別準(zhǔn)確率的提升幅度達(dá)到23%,有助于實(shí)現(xiàn)對(duì)海底觀測(cè)視頻圖片中海洋魚類的精準(zhǔn)識(shí)別。
關(guān)鍵詞:海底觀測(cè);視頻圖片;圖片品質(zhì);深度學(xué)習(xí);魚類識(shí)別
中圖分類號(hào): TP391.4
文獻(xiàn)標(biāo)志碼:A
Abstract: As it is hard to recognize marine fishes occurred in submarine observation videos due to the bad undersea environment and low quality of the video, a recognition method based on deep learning was proposed. Firstly, the video was split into pictures, and as this type of video contains a large proportion of useless data, a background subtraction algorithm was used to filter the pictures without fish to save the time of processing all data. Then, considering the undersea environment is blurring with low bright, based on the dark channel prior algorithm, the pictures were preprocessed to improve their quality before recognition. Finally, a recognition deep learning model based on Convolutional Neural Network (CNN) was consructed with weighted convolution process to improve the robustness of the model. The experimental results show that, facing submarine observation video frames with poor quality, compared with traditional CNN, the method with preprocessing and weighted convolution as hidden layer can increase the recognition accuracy by 23%, contributing to the recognition of marine fishes in submarine observation video.
Key words: submarine observation; video picture; picture quality; deep learning; fish recognition
0 引言
近年來,世界各國對(duì)于海洋權(quán)益、海洋資源的重視程度與日俱增,海洋資源中重要的一項(xiàng)就是漁業(yè)資源,目前我國的漁業(yè)資源呈衰退趨勢(shì)[1],對(duì)代表性海洋魚類的習(xí)性或分布狀況的研究對(duì)于指導(dǎo)海洋捕撈業(yè)可持續(xù)發(fā)展、保護(hù)海洋生態(tài)平衡有著重要的意義。
對(duì)于海洋魚類的分布情況,傳統(tǒng)的研究方法以出海捕撈為主,使用延繩釣探捕、拖網(wǎng)探捕等常用海洋捕撈技術(shù)。隨著科技的進(jìn)步,不僅漁具等硬件設(shè)備有了很大的改善[2],而且伴隨著自動(dòng)化技術(shù)的應(yīng)用,捕撈的效率也有了很大提升。這種傳統(tǒng)調(diào)研方式固然有效,但是對(duì)于相關(guān)科研人員來說,調(diào)研過程耗時(shí)耗力,一旦出海就會(huì)對(duì)研究進(jìn)度造成較大影響;并且由于調(diào)研過程耗費(fèi)資源太多,不能頻繁實(shí)施,研究人員大多數(shù)情況下只能在歷史調(diào)研數(shù)據(jù)的基礎(chǔ)上作研究,這會(huì)影響研究成果的質(zhì)量。針對(duì)上述問題,國家于“十二五”期間提出將全面推動(dòng)國家海底觀測(cè)平臺(tái)的建設(shè),其中就包括通過部署水下攝像器材來實(shí)時(shí)監(jiān)控關(guān)鍵海洋生物的重要任務(wù),這樣就可以通過分析觀測(cè)視頻來代替出海調(diào)研,而且保證了獲得數(shù)據(jù)的實(shí)時(shí)性,能夠極大地提高科研人員的研究效率。傳統(tǒng)的魚類識(shí)別研究多基于聲吶系統(tǒng),對(duì)魚體回波信號(hào)進(jìn)行處理分析,從聲學(xué)信號(hào)中提取適于分類的特征,如許楓等[3]的工作,但是這類方法已不適用于當(dāng)前的視頻數(shù)據(jù)。由于利用水下攝像器材觀測(cè)魚類(特別是海洋魚類)的工作是最近幾年才開始推進(jìn)的,因此關(guān)于識(shí)別視頻中魚類的研究較少,且研究對(duì)象多以環(huán)境條件好的淡水養(yǎng)殖場景下的淡水魚為主。張志強(qiáng)等[4]提取魚類圖像中的各個(gè)顏色分量及長短軸之比作為分類特征,該方法提取的特征過于一般化,只適用于識(shí)別類別單一的淡水魚。姚潤璐等[5]則從圖像中分割出魚背、魚尾等部位的圖像塊,以此為基礎(chǔ)提取相關(guān)性更強(qiáng)的特征;該方法提取的特征與魚類相關(guān)性較強(qiáng),但是提取過程較為復(fù)雜,需要人工制定魚類各個(gè)部位的匹配規(guī)則才能分割出對(duì)應(yīng)圖像塊, 同樣不適用于分析海量數(shù)據(jù)。林明旺[6]利用特征提取能力強(qiáng)大、可以充分利用海量數(shù)據(jù)的深度學(xué)習(xí)來識(shí)別魚類圖像;但是僅僅構(gòu)建了一個(gè)卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)模型,沒有結(jié)合實(shí)際應(yīng)用環(huán)境考慮拍攝環(huán)境的特點(diǎn)、數(shù)據(jù)本身的特點(diǎn)等因素。
綜上所述,過于泛化的特征質(zhì)量低下,過于精確的特征提取過程困難,而能夠充分利用海量數(shù)據(jù)、自動(dòng)提取高質(zhì)量的特征的深度學(xué)習(xí)方法是目前最佳的解決方案。本文使用深度學(xué)習(xí)模型作為分類模型。同時(shí),現(xiàn)有工作研究的主要是淡水魚類,且不關(guān)心魚類圖像的拍攝環(huán)境等影響因素,在本文的應(yīng)用場景中,針對(duì)海底環(huán)境惡劣導(dǎo)致拍攝圖像品質(zhì)差的問題,本文還將采用預(yù)處理方法降低環(huán)境因素對(duì)識(shí)別結(jié)果的影響。
1 海底觀測(cè)視頻魚類識(shí)別系統(tǒng)
1.1 系統(tǒng)功能
海底觀測(cè)平臺(tái)的系統(tǒng)結(jié)構(gòu)如圖1所示:位于海面以下的水下接駁器統(tǒng)一接收來自各個(gè)傳感器的采集數(shù)據(jù),包括水下攝像器材采集的視頻數(shù)據(jù),然后將數(shù)據(jù)傳輸至位于陸地上的岸基站;岸基站接收并緩存所有來自海底的數(shù)據(jù),按約定的協(xié)議和規(guī)則轉(zhuǎn)發(fā)給大數(shù)據(jù)中心;大數(shù)據(jù)中心由多個(gè)子系統(tǒng)構(gòu)成,負(fù)責(zé)對(duì)不同類型數(shù)據(jù)的轉(zhuǎn)化、存儲(chǔ)、處理、分析,其中包括本文將要研究的海洋魚類識(shí)別系統(tǒng),負(fù)責(zé)對(duì)海底觀測(cè)視頻的處理分析。本文對(duì)視頻的處理過程以圖片為單位,在接收到海底觀測(cè)視頻數(shù)據(jù)后首先將視頻分解成幀,然后針對(duì)每一幀進(jìn)行必要的預(yù)處理,使其能夠滿足識(shí)別過程對(duì)于圖片質(zhì)量的需求,之后使用基于深度學(xué)習(xí)的方法對(duì)圖片進(jìn)行識(shí)別。此外,基于魚類在海洋中分布稀疏這一基本事實(shí),為了簡化分析,本文假設(shè)一張圖片中至多存在一條魚類。
1.2 海底觀測(cè)視頻數(shù)據(jù)特征
海底觀測(cè)視頻拍攝于海洋中,視頻分辨率為1280×720,即寬W=1280、高H=720,幀率為50fps。由于本文對(duì)視頻的處理分析以圖片為單位,采用開源計(jì)算機(jī)視覺工具軟件OpenCV來讀取視頻數(shù)據(jù),并且將其分解為圖片,每一張圖片的本質(zhì)是1280×720的彩色圖像。
在計(jì)算機(jī)中,圖像的本質(zhì)是W×H個(gè)像素點(diǎn)構(gòu)成的像素點(diǎn)陣,每個(gè)像素點(diǎn)的灰度值決定了該點(diǎn)的顏色,對(duì)應(yīng)的計(jì)算機(jī)內(nèi)部表示就是一個(gè)H行W列的矩陣。在本文中,用一個(gè)矩陣I720×1280表示一張圖片,矩陣中每個(gè)元素pi, j的值代表位于(i, j)位置的像素點(diǎn)的灰度值。在本文中,圖片為彩色,像素點(diǎn)的灰度值由3個(gè)字節(jié)表示,從高位到低位的每個(gè)字節(jié)分別對(duì)應(yīng)了紅、綠、藍(lán)三個(gè)顏色通道,每個(gè)字節(jié)稱為一個(gè)“灰度單元”。由于下文將以灰度單元為單位對(duì)圖片進(jìn)行處理,因此,將pi, j視為長度為3的數(shù)組,即pi, j[k](k=1, 2, 3),pi, j[k]表示其中一個(gè)灰度單元。
2 視頻圖片的預(yù)處理
2.1 過濾空白數(shù)據(jù)
通常,海底觀測(cè)視頻中存在較大比例的沒有魚類的空白數(shù)據(jù),對(duì)空白數(shù)據(jù)的識(shí)別浪費(fèi)時(shí)間和計(jì)算資源,因此有必要使用計(jì)算量小、速度快的算法對(duì)這些沒用的、無價(jià)值的空白數(shù)據(jù)先行過濾。本文采用背景差分法[7],選取一空白圖片作為參考圖片,對(duì)應(yīng)矩陣I*,對(duì)于之后待處理的每一張圖片,對(duì)應(yīng)矩陣I,都計(jì)算與參考圖片之間的差分d=∑1280i=1∑720j=1∑3k=1pi, j[k]-p*i, j[k], 若d不超過指定閾值τ,則判斷為空白圖像并丟棄,否則保留。顯然,該方法過濾效果的關(guān)鍵在于閾值τ的選擇,若τ取值過低則會(huì)導(dǎo)致錯(cuò)誤地保留了空白數(shù)據(jù),即假陽性錯(cuò)誤;反之,則會(huì)導(dǎo)致錯(cuò)誤地丟棄了有效數(shù)據(jù),即假陰性錯(cuò)誤。
一方面,時(shí)長1s的有效視頻段就可以分解為50張有效圖片,有效圖片有著足量的冗余,對(duì)假陰性錯(cuò)誤的容忍度較高;另一方面,為了提高對(duì)海量數(shù)據(jù)的處理速度,要盡可能減少需要識(shí)別的圖片的數(shù)量,所以對(duì)假陽性錯(cuò)誤的容忍度較低。因此,本文將使用較高的閾值。對(duì)于空白參考圖片,選取100張不包含魚類的空白圖片,對(duì)應(yīng)的矩陣為I1, I2,…,I100,進(jìn)行平均計(jì)算,即p*i, j[k]=1100∑100l=1pli, j[k]。同樣,使用了100張包含完整魚類的圖片分別與參考幀計(jì)算差分d,以平均值作為τ值,即τ=1100∑100i=1di。顯然,使用這樣的τ值會(huì)使得一部分包含不完整魚類的有效圖片也被過濾掉,但是這種假陰性錯(cuò)誤是可以容忍的。因?yàn)閷?duì)每一張圖片過濾的時(shí)間遠(yuǎn)小于接下來的處理過程的時(shí)間總和,所以先對(duì)空白數(shù)據(jù)進(jìn)行過濾,可以大大縮短處理全部數(shù)據(jù)的時(shí)間。
2.2 提高圖片品質(zhì)的預(yù)處理
海底觀測(cè)視頻拍攝于海底,拍攝環(huán)境光照條件差、整體亮度低,水中雜質(zhì)對(duì)光的散射作用也會(huì)使畫面模糊不清,這些因素都會(huì)影響識(shí)別的效果。因此,本文先使用提高亮度、提高清晰度這兩步預(yù)處理方法,盡可能消除亮度低和模糊帶來的影響。
對(duì)于提高亮度的方法,本文選擇伽馬校正法[8],使用指數(shù)函數(shù)調(diào)整每個(gè)灰度單元,計(jì)算公式如下:
2.3 海洋魚類圖片數(shù)據(jù)的收集
本文擬采用深度學(xué)習(xí)方法開展對(duì)圖片中海洋魚類的識(shí)別工作,采用有監(jiān)督學(xué)習(xí)的方式訓(xùn)練深度學(xué)習(xí)模型。然而,目前我國海底觀測(cè)平臺(tái)項(xiàng)目剛剛起步,還沒有積累下來有效的、可用的、真實(shí)的海洋生物圖片數(shù)據(jù)。因此,為了獲取海量的學(xué)習(xí)訓(xùn)練數(shù)據(jù),本文使用爬蟲技術(shù),從互聯(lián)網(wǎng)上搜索下載海洋魚類的圖片數(shù)據(jù),從而解決學(xué)習(xí)訓(xùn)練數(shù)據(jù)“從無到有”的問題。理論上,所有海洋中的魚類都可作為識(shí)別對(duì)象,本文以東海常見魚類作為識(shí)別對(duì)象,也可以推廣至其他海域的魚類。綜合文獻(xiàn)[10]和文獻(xiàn)[11]的調(diào)研結(jié)果,東海中常見的魚類共有30種左右,為了簡化下文的論述,不妨選取其中10類作為本文的識(shí)別對(duì)象:海鰻、帶魚、龍頭魚、鮐魚、馬鮫、魣、馬面鲀、棕斑腹刺鲀、黃條鰤、短尾大眼鯛。本文以Google Images為目標(biāo)網(wǎng)站,使用網(wǎng)站提供的應(yīng)用程序接口(Application Programming Interface, API)進(jìn)行爬取。
搜索結(jié)果中存在內(nèi)容上無關(guān)的或重復(fù)的圖片,在剔除這些無用數(shù)據(jù)后,最終保證每種魚類收集700張有效圖片。此外,還收集了700張其他魚類的圖片,這是為了使模型在無法確定圖片中的魚類屬于上述10個(gè)類別時(shí),也能合理地將其識(shí)別為“其他”類別。
3 基于深度學(xué)習(xí)的海洋魚類識(shí)別
3.1 卷積神經(jīng)網(wǎng)絡(luò)
自深度學(xué)習(xí)被廣泛研究以來,應(yīng)對(duì)不同任務(wù)的不同結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)模型層出不窮,其中CNN適用于圖像處理,它模仿了人類大腦皮層中的視覺細(xì)胞,使用卷積核對(duì)圖像進(jìn)行卷積[12]。使用N個(gè)卷積核意味著提取N種特征,得到N個(gè)特征圖層。CNN還具有參數(shù)共享的特點(diǎn),其參數(shù)量僅與卷積核尺度K和數(shù)量N有關(guān),參數(shù)總個(gè)數(shù)為N×(K×K+1)。CNN的特點(diǎn)決定了它非常適合應(yīng)用到圖像處理的任務(wù)中,本文將以CNN為基礎(chǔ)搭建深度學(xué)習(xí)模型。
3.2 海洋魚類識(shí)別深度學(xué)習(xí)模型
3.2.1 模型的輸入與輸出
在構(gòu)建具體的模型結(jié)構(gòu)前,有必要明確模型的輸入與輸出。本文圖像的分辨率為1280×720,為了使模型中間結(jié)果的數(shù)據(jù)格式更為規(guī)整,這里將圖像統(tǒng)一縮放為1024×1024的分辨率,于是模型輸入實(shí)質(zhì)便是表示圖像的1024×1024的矩陣I,意味著模型的輸入層有1024×1024個(gè)變量,每個(gè)變量對(duì)應(yīng)矩陣I中的一個(gè)元素pi, j。
對(duì)于模型的輸出,常用的分類器有支持向量機(jī)(Support Vector Machine, SVM)、Softmax等,本文選擇適合多分類任務(wù)的softmax分類器。因?yàn)楸疚闹杏?1個(gè)類別:10個(gè)魚類、1個(gè)其他類,因此,Softmax分類器將讀入一個(gè)11維的向量v,通常v是模型最后一層全連接的輸出。之后,使用公式ci=evi∑11j=1evj 計(jì)算同樣是11維的結(jié)果向量c。c中每個(gè)分量,滿足ci>0,且∑11i=1ci=1,符合概率分布的定義,其中每一個(gè)分量ci的含義是模型“判斷”輸入圖像的類別是第i類的概率。令第1類為其他類,令第2類至第11類分別為:海鰻、帶魚、龍頭魚、鮐魚、馬鮫、魣、馬面鲀、棕斑腹刺鲀、黃條鰤、短尾大眼鯛。顯然,c中的最大分量對(duì)應(yīng)的類別就是預(yù)測(cè)類別。舉例來說,假設(shè)結(jié)果向量c=(0.00,1.00,0.00,…,0.00),其中最大概率為c2=1.00,于是預(yù)測(cè)類別就是第2類海鰻。
3.2.2 權(quán)重化特征的卷積
在圖片輸入深度學(xué)習(xí)模型前,雖然已通過預(yù)處理提高了圖片品質(zhì),但是由于真實(shí)情況難以預(yù)測(cè),實(shí)際環(huán)境可能很極端,導(dǎo)致視頻圖片品質(zhì)很差,預(yù)處理方法不足以將圖片品質(zhì)提高到對(duì)識(shí)別結(jié)果沒有影響的水平,因此,有必要增強(qiáng)深度學(xué)習(xí)模型本身的魯棒性。
在卷積中,使用卷積核提取特征,這些特征可以是與魚類相關(guān)的特征,如:魚鰭的位置、魚鰭的個(gè)數(shù)、魚尾的形狀、體色等;也可以是與魚類無關(guān)的特征,如:背景顏色、環(huán)境亮度等。通常,每一種特征對(duì)分類結(jié)果都有貢獻(xiàn),貢獻(xiàn)的強(qiáng)弱是在模型的訓(xùn)練過程中通過優(yōu)化每一個(gè)參數(shù)的參數(shù)值而自發(fā)確定的。本文對(duì)卷積過程加以改進(jìn),進(jìn)一步提高極端環(huán)境下關(guān)鍵特征的貢獻(xiàn),抑制非關(guān)鍵特征的貢獻(xiàn),放大二者貢獻(xiàn)度之間的差距,提高極端環(huán)境下卷積結(jié)果的質(zhì)量,從而提高模型對(duì)極端環(huán)境的魯棒性。主要思想是對(duì)提取到的特征賦以權(quán)重,具體做法如下:當(dāng)對(duì)輸入數(shù)據(jù)卷積得到特征圖層之后,先基于特征圖層生成特征權(quán)重,再將特征圖層與對(duì)應(yīng)的特征權(quán)重相乘后作為輸出。這樣一來,在訓(xùn)練過程中,模型可以不斷學(xué)習(xí),直至為每個(gè)特征生成最為合適的權(quán)重。假設(shè)輸入是M個(gè)特征圖層,本質(zhì)是M個(gè)W×H的矩陣。經(jīng)N個(gè)卷積核卷積后得到N個(gè)特征圖層,本質(zhì)是N個(gè)W×H的矩陣。使用全局平均池化(取每個(gè)特征圖層中所有數(shù)值的平均值作為輸出)得到池化結(jié)果,本質(zhì)是N維向量。然后經(jīng)過2層N個(gè)神經(jīng)元的全連接,對(duì)池化結(jié)果進(jìn)行充分的非線性化映射,最終得到N個(gè)特征權(quán)重,本質(zhì)是N維向量。將N個(gè)特征權(quán)重與N個(gè)特征圖層一一對(duì)應(yīng)相乘,即可實(shí)現(xiàn)特征權(quán)重化。整個(gè)過程如圖2所示。
其中的關(guān)鍵是2層全連接,它們基于特征圖層的池化結(jié)果生成對(duì)應(yīng)的特征權(quán)重。在訓(xùn)練過程中,它們將通過調(diào)整神經(jīng)元中的參數(shù),為不同的特征生成合適的權(quán)重,于是隨著層數(shù)的增加,非關(guān)鍵特征的貢獻(xiàn)會(huì)越來越弱,直至對(duì)分類結(jié)果沒有任何影響。但是,全連接會(huì)引入大量參數(shù),大大增加整個(gè)模型的訓(xùn)練計(jì)算量,因此,本文將混合使用卷積與權(quán)重化特征的卷積。
3.2.3 模型的結(jié)構(gòu)
確定了模型的輸入與輸出后,就可以確定模型結(jié)構(gòu)。模型結(jié)構(gòu)如圖3所示,使用圓角矩形表示一層神經(jīng)網(wǎng)絡(luò),類型標(biāo)注在圓角矩形下方,關(guān)鍵參數(shù)標(biāo)注在圓角矩形上方。使用Conv表示卷積,使用Conv*表示權(quán)重化特征的卷積,使用FC表示全連接,使用Max Pool表示最大值池化。對(duì)于輸入、輸出,關(guān)鍵參數(shù)D表示數(shù)據(jù)的維度;對(duì)于卷積,關(guān)鍵參數(shù)K表示卷積核尺度,N表示卷積核數(shù)量,S表示卷積核移動(dòng)步長;對(duì)于權(quán)重化特征的卷積,關(guān)鍵參數(shù)及含義均與卷積相同;對(duì)于全連接,關(guān)鍵參數(shù)N表示神經(jīng)元個(gè)數(shù);對(duì)于最大值池化,關(guān)鍵參數(shù)K表示池化核尺度,S表示池化核移動(dòng)步長。
3.2.4 損失函數(shù)與參數(shù)更新方法
模型學(xué)習(xí)的過程是根據(jù)反饋不斷更新參數(shù)的過程,反饋是通過損失函數(shù)來量化的,更新參數(shù)的依據(jù)是損失函數(shù)在對(duì)應(yīng)參數(shù)上的偏導(dǎo)數(shù)。
本文使用Softmax分類器,輸出為11維的結(jié)果向量c。為了計(jì)算預(yù)測(cè)值與真實(shí)值之間的差異,要將每張訓(xùn)練圖片對(duì)應(yīng)的真實(shí)類別轉(zhuǎn)換成11維的向量t,其中對(duì)應(yīng)真實(shí)類別的分量值為1,其余分量值為0。對(duì)于損失函數(shù),使用的是交叉熵?fù)p失函數(shù),該函數(shù)衡量的是兩個(gè)概率分布之間的差異,計(jì)算公式如下:
4 實(shí)驗(yàn)結(jié)果及分析
實(shí)驗(yàn)時(shí),使用的計(jì)算機(jī)為Dell PowerEdge 6850,其中CPU為3.00GHz dual-core 64 bit Intel Xeon,內(nèi)存為32GB。軟件方面,預(yù)處理階段的相關(guān)程序使用Python語言配合開源的計(jì)算機(jī)視覺庫OpenCV完成編寫。深度學(xué)習(xí)模型使用Tensorflow[14]開源框架面向Python語言的應(yīng)用程序接口來完成模型的構(gòu)建、訓(xùn)練與使用各個(gè)過程的相關(guān)程序編寫。
4.1 預(yù)處理實(shí)驗(yàn)分析
以原始圖片與經(jīng)預(yù)處理后提升品質(zhì)的圖片為一組,本文共選擇了3組圖片,展示預(yù)處理方法對(duì)圖片品質(zhì)的提升效果。取式(1)中的參數(shù)γ為0.65,處理結(jié)果如圖4所示。圖4(a)從左到右對(duì)應(yīng)的原始圖片品質(zhì)逐漸變差,從圖4(b)可以看出,本文的預(yù)處理方法可以比較有效地提高圖片的亮度以及清晰度,但是面對(duì)品質(zhì)極差的圖片(最右圖片示例),預(yù)處理方法效果有限,無法將其品質(zhì)提高到魚類各項(xiàng)關(guān)鍵特征都清晰的程度。
4.2 權(quán)重化卷積實(shí)驗(yàn)分析
本文按照?qǐng)D5所示的模型結(jié)構(gòu)構(gòu)建深度學(xué)習(xí)模型model1;同時(shí),保持圖5中各個(gè)參數(shù)不變,將所有的權(quán)重化卷積層都換為普通卷積層,得到對(duì)照模型model2。
對(duì)于收集到的每個(gè)類別700張的海洋魚類圖片數(shù)據(jù)集,按照8∶2的比例劃分為訓(xùn)練數(shù)據(jù)集(560張)與測(cè)試數(shù)據(jù)集(140張)。不過這樣的訓(xùn)練數(shù)據(jù)量難以滿足需要海量數(shù)據(jù)的深度學(xué)習(xí)模型,面對(duì)訓(xùn)練數(shù)據(jù)不足的現(xiàn)實(shí)情況,本文對(duì)model1與model2均使用遷移學(xué)習(xí)[15]的方法,先將模型在ImageNet數(shù)據(jù)集[16](約120萬張圖片)上訓(xùn)練得到中間模型,然后以中間模型的參數(shù)值為初始值,在魚類圖片訓(xùn)練集上訓(xùn)練,得到最終的模型參數(shù)值。在魚類圖片訓(xùn)練集上訓(xùn)練時(shí),兩個(gè)模型都取如下訓(xùn)練參數(shù)值:學(xué)習(xí)率r=0.001,動(dòng)量m=0.9。訓(xùn)練過程結(jié)束后,兩個(gè)模型在測(cè)試集上得到的準(zhǔn)確率如表1所示。
4.3 識(shí)別結(jié)果展示與分析
表2展示了10種魚類較差品質(zhì)圖片(如圖5)的識(shí)別結(jié)果。較差品質(zhì)圖片亮度很低且場景十分模糊,從示例圖片上可以明顯看出,魚類特征已被嚴(yán)重破壞,即使是人也需要反復(fù)觀察才能區(qū)分形態(tài)相似的不同魚類。在這樣惡劣的條件下,模型出現(xiàn)了明顯的分類錯(cuò)誤,將1號(hào)海鰻的圖片分類為帶魚,并且所有結(jié)果向量中的最大概率都比較低,平均在0.76左右。這是因?yàn)檩^差品質(zhì)圖片中的部分關(guān)鍵特征遭到了破壞,即使經(jīng)過了預(yù)處理也難以恢復(fù),使得形態(tài)相似的魚類之間尤其難以分辨。本實(shí)驗(yàn)表明,本文提出的方法能夠基本有效地識(shí)別較差品質(zhì)的圖片;但是也同時(shí)說明了本文方法存在不足,基于暗通道先驗(yàn)算法的預(yù)處理過程性能欠佳,面對(duì)極差品質(zhì)圖片時(shí),難以將圖片品質(zhì)提高至對(duì)分類結(jié)果沒有影響的程度。當(dāng)然,從另一方面來說,深度學(xué)習(xí)模型對(duì)極差品質(zhì)圖片的魯棒性也有待提高。
5 結(jié)語
海底觀測(cè)視頻存在大量空白數(shù)據(jù),并且亮度低、場景模糊,導(dǎo)致視頻圖片品質(zhì)差,直接使用深度學(xué)習(xí)方法識(shí)別視頻中的海洋魚類效果不好。本文提出了過濾空白數(shù)據(jù)、預(yù)處理提高圖片品質(zhì)、魯棒性強(qiáng)的深度學(xué)習(xí)模型結(jié)構(gòu)等方法,實(shí)現(xiàn)對(duì)較差品質(zhì)圖片的準(zhǔn)確識(shí)別。對(duì)于空白數(shù)據(jù),使用背景差分法過濾,根據(jù)應(yīng)用場景對(duì)錯(cuò)誤丟棄有效數(shù)據(jù)容忍度高的特點(diǎn),選用了較高的閾值,大大縮短了處理全部數(shù)據(jù)的耗時(shí)。針對(duì)亮度低和場景模糊的問題,在預(yù)處理時(shí)首先使用伽馬校正法提高了圖片的亮度,然后參考基于暗通道先驗(yàn)算法的去霧研究針對(duì)水下環(huán)境的特點(diǎn)作了改進(jìn),提高了圖片的清晰度。由于目前還沒有積累下來有效、真實(shí)的海洋生物圖片數(shù)據(jù),本文使用爬蟲技術(shù),從互聯(lián)網(wǎng)上收集了海洋魚類圖片數(shù)據(jù)集。在構(gòu)建深度學(xué)習(xí)模型時(shí),提出了權(quán)重化特征的卷積,激活關(guān)鍵特征、抑制非關(guān)鍵特征,提高了模型的魯棒性。從實(shí)驗(yàn)結(jié)果可以看出,本文所提方法能以高達(dá)90%的準(zhǔn)確率識(shí)別較差品質(zhì)的圖片,驗(yàn)證了該方法的有效性。然而,本文的方法還存在不足,其中的關(guān)鍵在于海底環(huán)境的特殊性,提高圖片品質(zhì)的預(yù)處理方法還沒有完全結(jié)合海底環(huán)境的特點(diǎn),提高圖片品質(zhì)的能力有限。下一步的研究工作將是深入分析、挖掘海底環(huán)境的特點(diǎn),提出針對(duì)性更強(qiáng)的、更有效的預(yù)處理方法。
參考文獻(xiàn):
[1] 李繼龍,曹坤,丁放,等.基于漁獲物統(tǒng)計(jì)的中國近海魚類營養(yǎng)級(jí)結(jié)構(gòu)變換及其與捕撈作業(yè)的關(guān)系[J].中國水產(chǎn)科學(xué),2017,24(1):109-119. (LI J L, CAO K, DING F, et al. Changes in trophic-level structure of the main fish species caught by China and their relationship with fishing method[J]. Journal of Fishery Sciences of China, 2017, 24(1): 109-119.)
[2] 岳冬冬,王魯民,張勛,等.我國海洋捕撈裝備與技術(shù)發(fā)展趨勢(shì)研究[J].中國農(nóng)業(yè)科技導(dǎo)報(bào),2013,15(6):20-26. (YUE D D, WANG L M, ZHANG X, et al. The development trends of marine fishing equipment and technology in China [J]. Journal of Agricultural Science and Technology, 2013, 15(6): 20-26.)
[3] 許楓,張喬,張純,等.Walsh變換對(duì)魚類特征識(shí)別的研究[J].應(yīng)用聲學(xué),2015,34(5):465-470. (XU F, ZHANG Q, ZHANG C,et al. Walsh transform for fish identification [J]. Applied Acoustics, 2015, 34(5): 465-470.)
[4] 張志強(qiáng),牛智有,趙思明.基于機(jī)器視覺技術(shù)的淡水魚品種識(shí)別[J].農(nóng)業(yè)工程學(xué)報(bào),2011,27(11):388-392. (ZHANG Z Q, NIU Z Y, ZHAO S M. Identification of freshwater fish species based on computer vision [J]. Transactions of the Chinese Society of Agricultural Engineering, 2011, 27(11): 388-392.)
[5] 姚潤璐,桂詠雯,黃秋桂.基于機(jī)器視覺的淡水魚品種識(shí)別[J].微型機(jī)與應(yīng)用,2017,36(24):37-39. (YAO R L, GUI Y W, HUANG Q G. Recognition of freshwater fish species based on machine vision [J]. Microcomputer and Applications, 2017, 36(24): 37-39.)已經(jīng)更改刊名
[6] 林明旺.深度學(xué)習(xí)在魚類圖像識(shí)別與分類中的應(yīng)用[J].數(shù)字技術(shù)與應(yīng)用,2017,63(4):96-97. (LIN M W. Application of deep learning in fish image recognition and classification [J]. Digital Technology and Application, 2017, 63(4): 96-97.)
[7] 沈瑜,王新新.基于背景減法和幀間差分法的視頻運(yùn)動(dòng)目標(biāo)檢測(cè)方法[J].自動(dòng)化與儀器儀表,2017(4):122-124. (SHEN Y, WANG X X. Video moving target detection method based on background subtraction and interframe difference method[J]. Automation and Instrumentation, 2017(4): 122-124.)
[8] 蔣明敏.基于FPGA的LCD伽馬校正研究[D].南京:南京林業(yè)大學(xué),2016:25-27. (JIANG M M. Research on LCD Gamma correction based on FPGA[D]. Nanjing: Nanjing Forestry University, 2016: 25-28.)
[9] HE K, SUN J, TANG X. Single image haze removal using dark channel prior[J]. IEEE transactions on Pattern Analysis and Machine Intelligence, 2011, 33(12): 2341-2353.
[10] 張波,唐啟升,金顯仕.東海高營養(yǎng)層次魚類功能群及其主要種類[J].中國水產(chǎn)科學(xué),2007,14(6):939-949. (ZHANG B, TANG Q S, JIN X S. Functional groups of fish assemblages and their major species at high trophic level in the East China Sea [J]. Journal of Fishery Sciences of China, 2007, 14(6): 939-949.)
[11] 宋超,侯俊利,趙峰,等.春、秋季東海大橋海上風(fēng)電場水域魚類群落結(jié)構(gòu)[J].海洋科學(xué),2017,41(6):34-40. (SONG C, HOU J L, ZHAO F, et al. Fish community structure in the offshore wind farm of Donghai Bridge in spring and autumn[J]. Ocean Science, 2017, 41(6): 34-40.)
[12] RAWAT W, WANG Z. Deep convolutional neural networks for image classification: a comprehensive review [J]. Neural Computation, 2017, 29(9): 2352-2449.
[13] SUTSKEVER I, MARTENS J, DAHL G, et al. On the importance of initialization and momentum in deep learning [C]// ICML13 Proceedings of the 30th International Conference on Machine Learning: Vol. 28. Atlanta, GA: JMLR, 2013: Ⅲ-1139-Ⅲ-1147.
[14] ABADI M, BARHAM P, CHEN J, et al. TensorFlow: a system for large-scale machine learning [C]// OSDI16Proceedings of the 12th USENIX Conference on Operating Systems Design and Implementation. Berkeley, CA: USENIX Association, 2016: 265-283.
[15] 李彥冬,郝宗波,雷航.卷積神經(jīng)網(wǎng)絡(luò)研究綜述[J].計(jì)算機(jī)應(yīng)用,2016,36(9):2508-2515. (LI Y D, HAO Z B, LEI H. Survey of convolutional neural network [J]. Journal of Computer Applications, 2016, 36(9): 2508-2515.)
[16] DENG J, DONG W, SOCHER R, et al. ImageNet: a large-scale hierarchical image database [C]// Proceedings of the 2009 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2009: 248-255.