張明華 龍 騰 宋 巍 黃冬梅,2 梅海彬 賀 琪,3
(1.上海海洋大學信息學院, 上海 201306; 2.上海電力大學電子與信息工程學院, 上海 200090;3.大洋漁業資源可持續開發教育部重點實驗室, 上海 201306)
在水產養殖和海洋捕撈方面,需要對魚類進行目標檢測[1]。隨著深度學習的應用廣泛,利用深度學習對魚類進行目標檢測逐步成為目前的研究熱點。在水下魚類目標檢測中引入深度學習方法,可以節省大量人力物力,提高工作效率。對魚類的養殖、魚類行為的研究、魚類活動能力的評估也有著重要的研究意義[2-6]。
目前,一些較為成熟的目標檢測方法并不能很好地適用于夜晚水下環境。這是由于夜晚水下環境光照不均,水下光線散射及水體對光線的吸收導致圖像場景陰暗、模糊不清,影響了魚類目標檢測效果[7]。LI等[8]使用Faster R-CNN,對水中小型魚類進行檢測,精度達到89.95%。SUNG等[9]將YOLO網絡模型用于白天水下環境,對魚類進行目標檢測,得到較好的檢測精度。以上方法的實驗環境均在光線較好、圖像清晰的條件下進行,而在光照不均、噪聲過大、拍攝質量不高的夜晚水下環境中,目標檢測效果并不理想。
Cascade R-CNN[10]由Faster R-CNN[11]改進而來,是一種多階段目標檢測模型,通過級聯的方式設置不同的IoU閾值,對檢測目標進行多次校正,使其在圖像質量較差的環境中,依舊保持較高的檢測精度。
對于夜晚水下環境圖像質量較差的問題,可以通過圖像增強的方法予以改善。目前主流的圖像增強算法包括多尺度Retinex(Multi-scale Retinex,MSR)[12]和具有色彩保護的多尺度Retinex(Multi-scale Retinex with color restoration,MSRCR)[13],雖然可以有效地提高圖像的整體質量,但在增強夜晚水下圖像時,會過度增強背景色彩,產生光暈。MSRCP[14]算法可以使夜晚環境的背景色彩保持一致,并增強前景的色彩。
本文提出一種基于改進Cascade R-CNN目標檢測模型和MSRCP圖像增強的夜晚水下魚類目標檢測方法,以實現對夜晚水下魚類的精準檢測。通過MSRCP圖像增強算法,有效提高夜晚水下場景圖像的色彩質量。通過結合軟化非極大值抑制算法(Soft non-maximum suppression,Soft-NMS)[15]以及DetNASNet主干網絡,在出現目標物體重疊的情況時去除重復的候選框,并利用更加高效的目標檢測主干網絡提高檢測效率。
本文方法的總體流程圖如圖1所示。針對夜晚水下環境的視頻數據,首先根據時間間隔,截取出相應的夜晚水下魚類圖像。對截取的原始圖像進行MSRCP圖像增強,將增強后的圖像用于DetNASNet主干網絡進行搜索訓練,得到其網絡結構,并進行特征提取。然后將提取出的特征信息輸入Cascade R-CNN模型,并且使用Soft-NMS算法優化其中的區域生成網絡(Region proposal networks,RPN)[16],最后得到夜晚水下魚類目標檢測結果。
針對夜晚水下魚類圖像光照不均、圖像模糊的問題,本文使用MSRCP算法對原始圖像進行色彩增強。該算法是把強度圖像作為原始圖像,保證原始圖像的背景色彩,對圖像前景進行增強。強度圖像的獲取公式為
(1)
式中Int——強度圖像
IR——原始圖像的R通道值
IG——原始圖像的G通道值
IB——原始圖像的B通道值
為了使增強后圖像的背景色彩與原始圖像一致,求得放大因子A,計算公式為
(2)
其中
B=Max(IRi+IGi+IBi)
(3)
式中B——色度
Inti——單通道強度圖像
i——像素索引序號
分別對R、G、B3個通道利用放大因子A進行色彩調整,從而得到增強后的圖像。計算公式為
R(x,y)=AI(R,G,B)(x,y)
(4)
式中I(R,G,B)(x,y)——圖像在坐標(x,y)處的RGB特征圖
R(x,y)——增強后圖像
與MSRCR算法相比,MSRCP直接對RGB空間進行處理,不僅可以保持原圖的背景色彩,而且可以有效地克服顏色失真的問題。
本文基于Cascade R-CNN目標檢測模型,對其中的模塊進行改進,改進后的具體架構如圖2所示。
首先,將原始圖像使用MSRCP算法進行圖像增強,之后輸入DetNASNet主干網絡進行訓練,得到其網絡結構。圖2中的Conv為DetNASNet構成的網絡,用于特征提取,將提取的特征信息輸入Soft-NMS算法優化的RPN中進行回歸和分類,得到類別標簽C0和檢測邊框回歸坐標B0。然后,將B0和主干網絡提取出的特征信息經過ROI Pooling池化后繼續輸入到交并比(Intersection over union,IoU)閾值為0.5的RPN網絡中,得到類別標簽C1和檢測邊框回歸坐標B1。之后RPN網絡IoU閾值分別取0.6和0.7,最終得到類別標簽C3和檢測邊框回歸坐標B3,即檢測目標的類別和位置。
1.2.1Cascade R-CNN目標檢測模型
Cascade R-CNN由Faster R-CNN改進而來,Faster R-CNN對圖像中所有的RPN進行打分,需要主動挑選重疊度閾值判定正負樣本。通過設定IoU閾值,使正樣本與原目標吻合,得到檢測結果。但設置較高的IoU閾值,會造成正樣本數量不足、訓練結果過擬合。設置較低的IoU閾值,雖然可以獲得較多的正樣本,利于模型的訓練,但會在檢測時造成較多的偽檢。
Cascade R-CNN采用級聯的方式,前一個檢測模型的輸出作為后一個檢測模型的輸入,而且越往后檢測模型的IoU閾值越大。通過設定不同大小的IoU閾值,多個專用回歸量針對不同階段重采樣進行優化,從而提高檢測精度。本文在改進Cascade R-CNN模型中,參照文獻[10],分別設置0.5、0.6、0.7共3種不同的閾值,從而使每個階段都產生最優的結果。
1.2.2DetNASNet主干網絡
DetNASNet是一種基于神經網絡搜索方法的目標檢測模型主干網絡。常規的目標檢測模型往往使用已經設計好的神經網絡架構作為主干網絡,但對于不同場景中的目標檢測任務,使用單一主干網絡往往無法獲得最優檢測效果。對于特殊場景中的目標檢測任務,則需要通過人工設計的方法完善網絡架構,才能使得目標檢測方法適應該場景,而人工設計網絡架構,則需要相關人員對網絡架構十分精通,并且還需要長時間訓練和調試才可使用。DetNAS使用網絡架構搜索(Network architecture search,NAS)[17]來設計目標檢測的主干網絡,可以對目標檢測主干網進行搜索,利用強大的搜索空間,在有限的復雜度下獲得較高的準確率,節省了人工設計網絡框架的工作。
DetNASNet網絡架構主要由ShuffleNet[18]單元組成,當前目標檢測主流的VGG、ResNet等網絡框架往往在卷積層使用一個固定大小的卷積核對圖像進行卷積,而ShuffleNet單元采用卷積層組來替換原本的卷積,并且在卷積層后添加一個通信通道,使得各個不同的卷積結果得以通信,可以大幅度降低卷積帶來的運算量。并且最后把取得的特征信息進行連接。這樣不僅可以提高網絡訓練的精度,也可以降低網絡整體的計算量與所需要的參數數量。
1.2.3Soft-NMS算法
目標檢測算法在檢測過程中,通常會在目標附近產生較多候選框。本文將RPN網絡原本使用的非極大值抑制NMS算法替換成Soft-NMS算法用于優化候選框。NMS[19]是一種通過臨近最大值挑選候選框的算法,其核心思想是對重復度較高的候選框打分,只保留分數最高的候選框。然而,當兩個目標物體距離較近,或在圖像中有較大重疊部分時,該算法也會剔除候選框,使得檢測精度有所降低。
Soft-NMS算法基于NMS算法改進而來,使用小分數進行權重打分,避免了打分為0的情況。分為線性加權和高斯加權兩種,本文采用高斯加權改進的Soft-NMS算法,計算公式為
(5)
式中IoU——交并比
Si——當前檢測框的得分
Nt——IoU閾值
M——權重最高的框
bi——檢測中產生的檢測框
D——最終檢測結果集合
σ——高斯函數懲罰系數
在高斯加權中,采用高斯函數懲罰,越接近高斯分布中心,懲罰力度越大,得分權重就越低。
為了對參數進行敏感分析,在訓練數據集上通過改變參數值來觀察查準率的變化。經過研究,Soft-NMS的參數σ在0.4~0.7范圍內有較高的性能,超出該范圍,查準率明顯降低。因此本文設定σ為0.5。
為了驗證本文方法的有效性,使用實際拍攝的水下視頻作為數據集。固定高分辨率攝像機進行拍攝,拍攝時將白燈打開作為照明。由于在相鄰幾幀圖像中目標運動不會變化太大,無需對每一幀都進行截取。本文采取每隔1 s截取一次圖像,這樣既保證了檢測的精確率,也不影響數據集的完整性,同時加快了數據集的制作速度。水下視頻共計180 min,11.1 GB,轉換成圖像后打亂順序,共截取10 800幅圖像,分辨率約為720像素×270像素。將9 000幅水下魚類圖像當作訓練集,其他1 800幅水下魚類圖像當作測試集。并使用LabImage對圖像中的魚類進行標注,制作成實驗所需要的XML格式。
實驗考慮了視頻中不同場景條件下截取的圖像。算法的運行環境是Intel(R) Core(TM) i7-9700 CPU 3.00 GHz處理器,NIVDIA RTX-2070_8GB GDDR6顯卡16GB_DDR4內存,編譯環境為OpenCV+Pytorch。
選取計算精度(Accuracy)、查準率(Precision)、查全率(Recall)、F1值以及平均檢測時間作為檢測性能指標。
為了說明MSRCP圖像增強算法在夜晚水下環境中的有效性,本文對比目前較為主流的圖像增強算法MSR、MSRCR以及LIME(Low-light image enhancement)算法[20]。原始圖像如圖3所示。表1為不同算法在不同參數設置下的圖像增強結果。
從表1可以看出,由于夜晚水下環境的特殊性,MSR算法和MSRCR算法在增強時,會使圖像整體色彩增強,導致最終增強后的圖像紋理、色彩模糊不清。LIME算法增強效果較好,還原了水下豐富的色彩,但對背景色彩也進行了增強。在后續的目標檢測中,由于背景有較多的雜色,反而會降低檢測精度。而MSRCP算法,由于其保留了夜晚環境的背景色彩,只增強了其中前景物體的色彩飽和度,不會影響夜晚水下的背景色,使得魚類目標更加清晰,色彩更加鮮艷,為后續的目標檢測提供了良好的基礎。

表1 不同算法圖像增強結果Tab.1 Image enhancement results of different algorithms
除了主觀評價外,本文還選用以下6個客觀評價指標進行評價:
(1)峰值信噪比(PSNR):表明增強后的圖像相對于真實正常光照圖像的失真程度,其值越大,說明增強后的圖像質量越高,即失真越少。
(2)結構相似性(SSIM):一種衡量兩幅圖像相似度的指標,其值越大表明增強后的圖像與真實正常光照圖像的結構特征越相似。
(3)色階映射圖像質量評價系數(TMQI):源于SSIM,是衡量增強圖像的色彩與原始圖像色彩一致性的指標。TMQI值越大,圖像質量越好。
(4)自然圖像質量評價指標(NIQE):一種基于空間自然場景統計(Natural scene statistics,NSS)模型構建的質量感知統計特征集合。NIQE值越低說明圖像質量越高,越符合人眼的主觀評價標準。
(5)基于塊的對比度質量指數(PCQI):一種基于局部塊的客觀質量評估方法,它能夠生成局部對比度質量圖。PCQI值越高,增強后的圖像對比度越大,圖像質量更好。
(6)亮度順序誤差(LOE):一種基于相對亮度順序來衡量圖像的自然程度的評估方法。相對亮度順序可以用來表示光照的方向和光照的變化程度。LOE值越低,則亮度誤差越小。
相比于主觀評價,這6種客觀評價具有操作簡單、成本低、易于解析和實現等優點。并且參考多個評價結果,可以更客觀地分析圖像增強后的質量。評價結果如表2所示。并參考主觀評價結果,選出其中效果最好的圖像增強算法,為后續目標檢測實驗提供較高質量的數據。

表2 圖像增強評價結果Tab.2 Image enhancement evaluation results
從表2中可以看出,MSRCP算法在水下魚類增強圖像的PSNR、SSIM、PCQI、TMQI和NIQE這5種客觀評價指標上均優于其他算法。
參考以上主觀評價以及客觀評價指標結果,本文使用MSRCP算法作為后續實驗的圖像增強方法,并使用增強效果較好的參數Color:2.00、Contrast:2.00、Sharpness:2.00。
本文網絡結構的參數設置為:方差0.1、均值0、Dropout 0.5、偏置0.1、初始學習率0.01。圖4為本文方法在數據集上訓練時的驗證損失及訓練損失函數變化曲線。可以看出,本文方法在數據集上的收斂速度較快,整體迭代次數達到20左右時,驗證損失和訓練損失達到一個較低的水平,說明網絡模型訓練良好,能夠有效進行目標檢測。
為驗證本文方法的效果,將本文方法與Cascade R-CNN模型進行對比。另外,還與Faster R-CNN、SSD和YOLO v3進行對比,并采用不同的主干網絡進行對比。表3為實驗獲得的目標檢測結果。
從表3可以看出,在DetNASNet主干網絡下,本文所使用的方法查準率為95.81%,查全率為93.13%,比Cascade R-CNN方法在ResNet-101網絡下的查準率高11.57個百分點。

表3 水下魚類目標檢測結果Tab.3 Underwater fish object detection results
同樣采取本文的圖像增強和候選框優化算法,對比ResNet-101主干網絡,在使用DetNASNet主干網絡時,檢測效率也有明顯提升,檢測時間節省了56 ms。
在ResNet-101主干網絡下,單獨使用MSRCP圖像增強算法對輸入圖像數據進行處理后,查準率比Cascade R-CNN方法提高了6.15個百分點,查全率提高了6.35個百分點。
在ResNet-101主干網絡下,單獨使用Soft-NMS算法對Cascade R-CNN模型進行改進時,查準率比Cascade R-CNN方法提高了5.44個百分點,查全率提高了4.74個百分點。
可以看出在分別使用兩種優化方法時,對夜晚水下魚類目標檢測精度都有一定的提高。而本文方法的查準率比Cascade R-CNN方法提高了11.57個百分點,查全率提高了11.72個百分點。
本文使用目前主流的目標檢測方法Faster R-CNN、SSD以及YOLO v3進行對比實驗,從實驗結果可以看出,本文方法在準確率和效率方面都有明顯提高。
圖5~7為不同情況下目標檢測的實際效果。
圖5b顯示了只采用MSRCP圖像增強算法后的目標檢測結果。可以看出,圖像中的魚類更加清晰,色彩更加鮮艷。在沒有使用圖像增強的原始圖像中,部分夜晚水中的魚類無法檢測到,對于增強后的圖像,目標檢測的準確率更高。
由圖6可以看出,在未使用Soft-NMS候選框優化算法時,無法全部將候選框重疊的魚類正確地進行檢測,而經過Soft-NMS算法優化后,可以更加準確地檢測出檢測框重復較多的重疊魚類。
圖7為Cascade R-CNN和本文方法檢測結果。對比Cascade R-CNN和本文方法的檢測結果可以看出,本文方法處理后圖像色彩有了明顯提升,圖中的魚類也更加清晰,檢測精度明顯提高。
(1)提出了一種基于改進Cascade R-CNN目標檢測模型和MSRCP圖像增強的夜晚水下魚類目標檢測方法。利用MSRCP圖像增強算法,解決了由于光照條件的突變或漸變,夜晚水下魚類圖像不清晰、辨識度不高的問題。利用Cascade R-CNN模型,實現了對水下魚類目標的精準檢測。通過DetNASNet主干網絡提高網絡訓練精度,降低了網絡整體的計算量。Soft-NMS候選框優化算法解決了在目標檢測過程中,魚類目標重疊所產生的檢測框不準確的問題。
(2)本文方法比Cascade R-CNN方法或者單獨使用MSRCP算法和Soft-NMS算法目標檢測精度更高。與其他目標檢測方法相比,本文方法在檢測精度和檢測時間方面性能更優。