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