陳衛(wèi)東, 謝曉東, 岑 強, 陳娜蘭, 朱奇光
(1.燕山大學(xué) 信息科學(xué)與工程學(xué)院,河北 秦皇島 066004;2.燕山大學(xué) 河北省特種光纖與光纖傳感重點實驗室,河北 秦皇島 066004)
由于光在水中的傳播特性,水下圖像常常受到吸收和散射等因素的干擾,因此出現(xiàn)了低對比度、低亮度、高色偏以及畫面失真模糊等問題[1]。這給水下光學(xué)場景中的目標(biāo)檢測帶來了極大的挑戰(zhàn)。
傳統(tǒng)目標(biāo)檢測算法難以適應(yīng)水下目標(biāo)檢測的任務(wù)需求[2],而目前基于深度學(xué)習(xí)的目標(biāo)檢測算法在水下環(huán)境中得到了快速發(fā)展[3]。Li X等[4]將更快速的基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)(Faster RCNN)用于水下目標(biāo)檢測任務(wù),實時幀率達(dá)到了9.8幀/s。Zhang J等[5]將改進(jìn)后的單次多邊框檢測(SSD)算法用于水下目標(biāo)檢測任務(wù),在原本算法的基礎(chǔ)上引入了注意力模塊和多尺度融合,提高了算法的準(zhǔn)確率。Sung M S等[6]將You only look once(YOLO)算法用于水下目標(biāo)檢測任務(wù),在NOAA數(shù)據(jù)集上分類的準(zhǔn)確率達(dá)到了93%。Cai K W等[7]提出了一種專門用于水下目標(biāo)檢測任務(wù)的改進(jìn)版YOLOv3算法,研究團隊選擇MobileNet作為網(wǎng)絡(luò)的骨干網(wǎng)絡(luò),為了提升算法性能從ImageNet數(shù)據(jù)集中選取16種魚類圖片構(gòu)建新的數(shù)據(jù)集并進(jìn)行預(yù)訓(xùn)練,經(jīng)過充分的實驗和驗證成功地提升了算法的檢測準(zhǔn)確度和速度。Chen L Y等[8]將改進(jìn)后的YOLOv4檢測網(wǎng)絡(luò)成功應(yīng)用于水下場景,通過替換反卷積結(jié)構(gòu)為上采樣,并采用深度可分離卷積的方法,有效提升了模型的準(zhǔn)確性和速度,同時降低了對硬件性能的要求,特別適用于水下數(shù)據(jù)集不足的情況。Yeh C H等[9]通過隨機裁剪的數(shù)據(jù)增強技術(shù),對水下圖像數(shù)據(jù)集進(jìn)行了有效的處理,從某一圖像中提取出物體,并對其顏色和尺度進(jìn)行隨機調(diào)整,然后將其隨機粘貼到新的水下背景中,生成一張全新的光學(xué)圖像。Liu H等[10]提出了一種水下數(shù)據(jù)增強方法,該方法能夠?qū)⒛繕?biāo)對象轉(zhuǎn)換到8種不同的背景下,這不僅豐富了水下數(shù)據(jù)集,還增強了算法在不同水域環(huán)境下的適應(yīng)能力。Zeng L C等[11]提出了一種對抗性遮擋網(wǎng)絡(luò),通過與Faster RCNN進(jìn)行聯(lián)合訓(xùn)練,有效地避免了網(wǎng)絡(luò)過度擬合并生成固定特征,在水下數(shù)據(jù)集上,這項技術(shù)使平均準(zhǔn)確率(mAP)提高了4.2%。
針對水下生物群落的生活習(xí)性導(dǎo)致它們在光學(xué)圖像中相互重疊的問題,LIN W H等[12]提出了一種名為RoIMix數(shù)據(jù)增強方法,該方法通過按照一定比例融合來自不同圖像中提取的建議框,生成新的樣本。通過對這些新樣本進(jìn)行訓(xùn)練,能夠增強網(wǎng)絡(luò)對于重疊目標(biāo)的檢測性能。此外,為了解決水下目標(biāo)檢測中小目標(biāo)檢出率低的問題,Chen L Y等[13]提出了一種名為SWIPNet的新型網(wǎng)絡(luò)架構(gòu),該架構(gòu)由高分辨率和語義豐富的超特征圖組成,可以顯著提高小目標(biāo)的檢測精度。Peng F等[14]提出了一種名為快捷特征金字塔S-FPN的方法,通過引入快捷連接改進(jìn)了現(xiàn)有多尺度特征融合策略,該方法可以使底層卷積網(wǎng)絡(luò)的空間位置特征和上層語義特征相互補充,從而彌補了多次操作后可能丟失的信息,提高了檢測性能。另外,高美靜等[15]提出了一種改進(jìn)的Faster RCNN水母檢測與識別算法,構(gòu)建了包含7種水母的數(shù)據(jù)集,并在殘差網(wǎng)絡(luò)中引入了膨脹卷積,以提高水母檢測的精度。
綜上所述,當(dāng)前水下目標(biāo)檢測主要是通過改進(jìn)基于錨框的目標(biāo)檢測算法來適應(yīng)水下環(huán)境。然而,錨框的大小對性能有很大影響,需要不斷進(jìn)行測試和調(diào)整以與數(shù)據(jù)集匹配[15]。由于無錨框目標(biāo)檢測算法的快速發(fā)展,設(shè)計一種無需調(diào)整錨框的水下目標(biāo)檢測算法已成為研究的主要方向。
本文提出了一種基于改進(jìn)全卷積單階段目標(biāo)檢測(fully convolutional one-stage object detection,FCOS)算法的水下目標(biāo)檢測算法。該算法使用經(jīng)過深度可變形卷積優(yōu)化后的ResNet-50作為骨干網(wǎng)絡(luò),以提取更加豐富的物體特征。提取到的特征經(jīng)過神經(jīng)架構(gòu)搜索(neural architecture search,NAS)得到的神經(jīng)架構(gòu)搜索-特征金字塔(neural architecture search-feature pyramid networks,NAS-FPN)結(jié)構(gòu)融合網(wǎng)絡(luò)中的深層和淺層信息,并通過NAS得到的NAS-Head進(jìn)行分類和邊界框回歸。損失函數(shù)采用CIoU Loss,以提高坐標(biāo)回歸的準(zhǔn)確性。該模型可以提取更多的特征信息,并且對提取到的特征的利用程度更高,從而提高了目標(biāo)檢測的準(zhǔn)確率。
2.1.1 改進(jìn)算法原理
本文引入可變形卷積(deformation convolution,DCN)方法[17]。該方法的核心思想是通過學(xué)習(xí)自適應(yīng)的卷積核形狀,以更好地適應(yīng)物體的形態(tài)變化。傳統(tǒng)卷積操作使用固定形狀的卷積核,這在處理具有形變的目標(biāo)時可能存在一些限制。然而,通過引入可變形卷積操作,能夠使卷積核在空間維度上自由地進(jìn)行形狀變化,從而增強網(wǎng)絡(luò)對目標(biāo)的適應(yīng)能力。這種能力使得網(wǎng)絡(luò)能夠更好地應(yīng)對目標(biāo)的形態(tài)變化。DCN的示意圖如圖1所示。
圖1 DCN示意圖Fig.1 Schematic diagram of deformable convolution
圖1中,在DCN層中每個位置的特征點通過學(xué)習(xí)獲得一個偏移量,該偏移量用于指導(dǎo)卷積核在輸入特征圖上的采樣位置。這一方法使得卷積核不再受限于固定的采樣位置,而能夠根據(jù)輸入數(shù)據(jù)的局部結(jié)構(gòu)自適應(yīng)地進(jìn)行采樣。引入可變形卷積層有效地捕捉到目標(biāo)的形狀變化,從而提高了網(wǎng)絡(luò)對目標(biāo)的定位和識別能力。
2.1.2 改進(jìn)后骨干網(wǎng)絡(luò)結(jié)構(gòu)
表格給出改進(jìn)后算法所使用的骨干網(wǎng)絡(luò)結(jié)構(gòu),并給出算法每層的類型以及輸出特征圖的尺度信息。改進(jìn)后的骨干網(wǎng)絡(luò)對卷積層使用了DCN代替普通的卷積。DCN能夠自適應(yīng)地調(diào)整卷積核的形狀,更好地適應(yīng)目標(biāo)區(qū)域的形狀和結(jié)構(gòu),從而提高模型的感受野和分類精度。通過全局平均池化層將卷積特征圖降維,然后使用一個全連接層將其映射到類別數(shù)目的維度并使用Softmax函數(shù)進(jìn)行分類。
表1 改進(jìn)后骨干網(wǎng)絡(luò)結(jié)構(gòu)Tab.1 Improved backbone network structure
FCOS網(wǎng)絡(luò)的構(gòu)建過程包括以下幾個步驟:首先,通過backbone從輸入圖片中提取特征;接著,使用特征金字塔網(wǎng)絡(luò)(feature pyramid networks,FPN)將多尺度特征進(jìn)行融合;最后,通過檢測頭(head)分支進(jìn)行分類、回歸和中心度預(yù)測,從而得到最終的目標(biāo)檢測結(jié)果。然而,當(dāng)前的FCOS網(wǎng)絡(luò)結(jié)構(gòu)中,大部分參數(shù)的選擇都是基于作者經(jīng)驗進(jìn)行調(diào)整的,這意味著模型的構(gòu)建過程需要大量的人力資源來進(jìn)行手動調(diào)整,為解決這一問題,本文引入了NAS的方法。通過設(shè)定一個架構(gòu)搜索空間,在模型訓(xùn)練的同時,控制器會嘗試搜索空間中的各種結(jié)構(gòu)。通過反復(fù)實驗,控制器能夠?qū)W習(xí)生成更好的架構(gòu)。圖2展示了NAS-FCOS結(jié)構(gòu)的示意圖,其中需要進(jìn)行搜索的部分包括NAS-FPN和NAS-Head結(jié)構(gòu)[18]。
圖2中虛線部分展示了NAS-FPN結(jié)構(gòu)的示意圖。C2~C5是原圖經(jīng)過卷積后得到4種不同尺度的特征圖,NAS-FPN結(jié)構(gòu)對C2~C5進(jìn)行重組得到P3~P5特征圖,將P5經(jīng)過卷積后得到P6和P7。P3~P7經(jīng)過NAS-Head操作后得到Y(jié)1~Y5,Y1~Y5是檢測網(wǎng)絡(luò)結(jié)構(gòu)最終輸出結(jié)果,進(jìn)行分類、回歸和中心度預(yù)測。NAS-FPN通過將基本塊重復(fù)7次來構(gòu)建,其中最后3個基本塊P3~P5的輸出作為FPN結(jié)構(gòu)的輸出。為了允許信息在所有層之間進(jìn)行共享,如果某些層的輸出在后續(xù)塊中沒有被采樣得到,并且這些層的輸出不屬于最后3個輸出層P3~P5,那么這些輸出將通過逐元素相加的方式合并到最終的結(jié)果中。如果與最終結(jié)果的分辨率不匹配,則會使用雙線性插值對較小特征進(jìn)行上采樣。圖3給出了訓(xùn)練后得到的具有最佳效果的結(jié)構(gòu)圖,其中Dconv3×3表示卷積核為3×3的DCN操作。Skip Connection為跳躍連接操作。Concat為特征融合操作。這樣的設(shè)計可使NAS-FPN能夠有效地利用多尺度特征信息,提升目標(biāo)檢測的性能。
圖3 NAS-FPN結(jié)構(gòu)圖Fig.3 NAS-FPN structure diagram
檢測網(wǎng)絡(luò)的改進(jìn)方式與特征融合的改進(jìn)方法類似,圖4為NAS-Head結(jié)構(gòu)示意圖。Head模塊將FPN中的每個特征映射到相應(yīng)的輸出。為了探索頭部的潛力并擴展生成的順序搜索空間,NAS-Head被定義為一個由6個基本操作組成的序列。Head輸出部分的Center-ness反映特征圖每個點距離目標(biāo)中心的遠(yuǎn)近程度,Classification輸出每個類別的預(yù)測值,Regression反映特征圖每個點距離目標(biāo)4條邊框的距離。與FPN結(jié)構(gòu)中的候選操作相比,頭部搜索空間有兩個細(xì)微差別。首先,在頭部采樣池中添加了標(biāo)準(zhǔn)卷積模塊包括Conv1×1和Conv3×3;其次,為了考慮到頭部需要在不同級別之間共享權(quán)重的情況,將頭部操作采樣池中的所有Batch Normalization層替換為Group Normalization層。Batch Normalization在權(quán)重共享時會失效。
圖4 NAS-Head結(jié)構(gòu)示意圖Fig.4 NAS-Head structure diagram
為了增加更大的靈活性并了解預(yù)測頭中權(quán)重共享的效果,進(jìn)一步添加了一個索引i作為預(yù)測頭開始共享權(quán)重的位置。在圖4中使用獨立搜索部分和共享搜索部分展示。對于階段i之前的每一層,Head將為每個FPN輸出級別創(chuàng)建獨立的權(quán)重集。對于階段i之后的每一層,它將使用全局權(quán)重進(jìn)行共享。考慮到頭部的獨立部分是擴展FPN分支,頭部的共享部分是具有自適應(yīng)長度,可以進(jìn)一步平衡每個單獨的FPN分支的工作量,以提取特定于級別的特征和跨所有級別共享的預(yù)測頭。最終,經(jīng)過搜索后得到網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。
圖5 檢測分支結(jié)構(gòu)圖Fig.5 Detection branch structure diagram
在水下目標(biāo)檢測任務(wù)中,經(jīng)過NAS方法搜索得到的架構(gòu)表現(xiàn)出超越人工設(shè)計水平的性能。
在目標(biāo)檢測中衡量目標(biāo)框重疊度的指標(biāo)非常重要。最初使用的指標(biāo)是IoU Loss,它是根據(jù)目標(biāo)框之間的交集和并集計算的,具有較好的性能。IoU Loss的表達(dá)為
(1)
然而,隨著目標(biāo)檢測技術(shù)的不斷發(fā)展,研究者們發(fā)現(xiàn)IoU Loss仍然存在一些問題,比如對于不完整的目標(biāo)框,它可能會給出錯誤的損失值。為了解決上述問題提出了一系列改進(jìn)的損失函數(shù)。首先是GIoU Loss,它在計算交集和并集時考慮了目標(biāo)框的形狀信息,從而算法可以更準(zhǔn)確地衡量重疊度,使得擬合的邊界框更加精確。GIoU Loss的表達(dá)式為
(2)
式中:B表示預(yù)測框;Bgt表示真實框,gt表示真值;C表示真實框和預(yù)測框的最小閉包矩形面積。
DIoU Loss損失函數(shù)不僅考慮了目標(biāo)框之間的形狀信息,還引入了距離項,以更好地解決目標(biāo)框不完整的問題。DIoU Loss的表達(dá)式為
(3)
式中:b為預(yù)測框的中心點位置;bgt為真實框的中心點位置;d為預(yù)測框和真實框之間的歐氏距離。
IoU Loss作為目標(biāo)檢測任務(wù)中邊界框回歸損失起到了非常好的效果,但尚存在一些問題,而CIoU Loss經(jīng)過優(yōu)化,效果在IoU Loss的基礎(chǔ)上有了很大提升[20]。CIoU Loss的表達(dá)式為
(4)
(5)
(6)
CIoU Loss相比IoU Loss解決了檢測框與目標(biāo)框不重合的問題,同時考慮到了邊界框中心點的信息,以及邊界框?qū)捀弑鹊某叨刃畔?使算法學(xué)習(xí)到的信息更加準(zhǔn)確。
本文設(shè)計了一系列實驗來評估改進(jìn)部分對模型檢測效果的影響。硬件配置采用CPU為12th Gen Intel?CoreTMi9-12900KF,GPU為2塊GeForce GTX 3090Ti。
采用了DUO數(shù)據(jù)集進(jìn)行實驗評估。該數(shù)據(jù)集是基于URCP數(shù)據(jù)的一系列數(shù)據(jù)進(jìn)行收集,并經(jīng)過刪除相似圖片和重新標(biāo)注的處理。訓(xùn)練集總共包括7 782幅圖片,其中6 671幅用于訓(xùn)練和1 111幅用于測試。數(shù)據(jù)集中的目標(biāo)總數(shù)為74 515個,其中海參、海膽、扇貝和海星的數(shù)量分別為7 887、50 156、1 924和14 548個。整個數(shù)據(jù)集呈現(xiàn)明顯的長尾分布,這是因為不同海產(chǎn)品的經(jīng)濟效益不同,導(dǎo)致它們的種類數(shù)量存在差異。
本文改進(jìn)后的算法對FCOS算法在水下環(huán)境的檢測效果有較大的提升,并針對以下3個模塊進(jìn)行了改進(jìn)。首先,使用了DCN模塊來改進(jìn)骨干網(wǎng)絡(luò)的性能;其次,采用NAS模塊改進(jìn)了特征融合網(wǎng)絡(luò)和檢測網(wǎng)絡(luò)的結(jié)構(gòu);最后,采用了CIoU Loss模塊作為改進(jìn)的損失函數(shù)。
為了驗證每個改進(jìn)模塊對檢測效果的影響,本文設(shè)計了消融實驗。實驗使用DUO數(shù)據(jù)集進(jìn)行訓(xùn)練?;鶞?zhǔn)算法采用了FCOS算法,其骨干網(wǎng)絡(luò)為ResNet50,損失函數(shù)為IoU Loss。為了保證實驗結(jié)果的準(zhǔn)確性,采用相同的訓(xùn)練策略。具體而言,將輸入圖片的尺寸設(shè)置為1 333×800 Pixels,批量大小設(shè)置為12,訓(xùn)練輪數(shù)設(shè)置為24。在第16輪和第22輪,學(xué)習(xí)率被衰減為原來的1/10。
表2為訓(xùn)練上述消融實驗后得到的結(jié)果。mAP為平均準(zhǔn)確率,mAR為平均召回率,APsmall和ARsmall為像素小于322的小物體的準(zhǔn)確率和召回率,APmedium和ARmedium像素大于322小于962的中物體的準(zhǔn)確率和召回率,APlarge和ARlarge為像素大于962的大物體的準(zhǔn)確率和召回率。mAP和mAR這2種指標(biāo)對模型檢測效果的判斷最為直觀明確,指標(biāo)的數(shù)值越高代表模型的檢測效果越好。
表2 改進(jìn)算法的消融實驗Tab.2 Ablation experiment of improved algorithm (%)
從表2中可以看出,使用DCN改進(jìn)了骨干網(wǎng)絡(luò),使訓(xùn)練出的模型的mAP提高了1.2%,mAR提高了1.1%;此外,對于小物體的檢測效果提升較為顯著,APsmall提高了2.3%;另一方面,使用NAS改進(jìn)了特征融合網(wǎng)絡(luò),使訓(xùn)練出的模型的mAP提高了0.8%,mAR提高了1.1%,但對于小物體的檢測效果下降了2.5%;最后,使用CIoU Loss改進(jìn)損失函數(shù)部分,使訓(xùn)練出的模型的mAP提高了0.2%,mAR提高了0.3%。綜合以上改進(jìn)方法,使用所有這些方法訓(xùn)練出的模型的mAP提高了1.8%,mAR提高了2.2%。
為了更好地觀察改進(jìn)后算法的損失函數(shù)變化情況,本文給出本文算法與IoU Loss訓(xùn)練時的損失值的變化曲線,如圖6所示。
圖6 2種算法的損失函數(shù)曲線Fig.6 The loss function curves for two algorithms
由圖6的結(jié)果可以發(fā)現(xiàn):在兩種情況下?lián)p失函數(shù)趨勢基本相同;然而,相比使用IoU Loss時的情況,本文算法表現(xiàn)出更快的收斂速度,并且一直保持較低的損失值。這證實了本文算法的損失函數(shù)能夠更好地擬合數(shù)據(jù)集中的數(shù)據(jù)。
本文分別對FCOS,Faster RCNN,Deformable DETR以及本文算法這4種算法進(jìn)行檢測,每種實驗的檢測速度(FPS)值通過檢測全部測試集中的圖片得出。統(tǒng)計4種算法的FPS檢測值結(jié)果見表3,可以看出本文算法的檢測速度相比改進(jìn)前下降了5.0%,但基本滿足實時檢測要求。
表3 4種網(wǎng)絡(luò)FPS值結(jié)果Tab.3 Results of FPS values for four types of networks
將輸入的圖片尺寸設(shè)置為1 333×800 Pixels,batch_size設(shè)置為12,epoch設(shè)置為24,并在第16輪和22輪將學(xué)習(xí)率衰減為原來的1/10。評價指標(biāo)選取了mAP和mAR。表4對比了本文算法與FCOS算法、主流的二階段目標(biāo)檢測算法Faster RCNN,以及最新的基于transformer的目標(biāo)檢測算法Deformable DETR之間的檢測效果。由表可以看出:本文改進(jìn)后的FCOS結(jié)構(gòu)mAP提高了1.8%,mAR提高了2.2%;同時相比結(jié)構(gòu)更加復(fù)雜的Faster RCNN算法的mAP提高了0.8%、mAR提高了4.9%;比Deformable DETR算法的mAP提高了2.3%、mAR提高了2.8%。
表4 本文算法與主流算法的mAP與mAR對比Tab.4 Comparison of mAP and mAR between the proposed algorithm and mainstream algorithms (%)
檢測效果的可視化對比是評估檢測算法優(yōu)劣的重要步驟。圖7展示了3種算法在海膽、海參和海星目標(biāo)檢測上的效果可視化圖。
為了方便對比,圖7(a)顯示了原始圖像的標(biāo)注信息;圖7(b)展示了FCOS算法的檢測結(jié)果;圖7(c)展示了Deformable DETR算法的檢測結(jié)果;圖7(d)展示了本文算法的檢測結(jié)果。目標(biāo)的標(biāo)注位于標(biāo)注框的左上角,在標(biāo)注左側(cè)是物體的類別名稱,右側(cè)是物體的置信度。置信度越接近1,說明預(yù)測的精度越高。
從圖7可以觀察到,本文算法在各種物體的預(yù)測中顯示出較高的置信度,明顯高于其他網(wǎng)絡(luò),表明本文算法具有最高的預(yù)測精度。此外,需要關(guān)注圖7(d)中紅色橢圓所標(biāo)注的位置,FCOS算法未能檢測出該位置的海參,而Deformable DETR算法在該位置檢測到2個標(biāo)注框,但目標(biāo)的置信度僅為0.32;相比之下,本文算法不僅成功檢測到了該位置的海參,而且目標(biāo)的置信度高達(dá)0.96。這證明了改進(jìn)算法能夠檢測到其他算法可能無法捕捉到的目標(biāo),具有高準(zhǔn)確率和高召回率的優(yōu)勢,實現(xiàn)了本文提出的改進(jìn)算法的目標(biāo)。
本文提出了一種基于改進(jìn)FCOS的水下目標(biāo)檢測算法,對FCOS算法進(jìn)行優(yōu)化提高了檢測的準(zhǔn)確性。首先,引入了DCN模塊,增強網(wǎng)絡(luò)的特征提取能力;其次,采用NAS技術(shù)對特征融合網(wǎng)絡(luò)和檢測網(wǎng)絡(luò)進(jìn)行了搜索,優(yōu)化模型對提取到特征的利用能力;最后,引入CIoU Loss作為新的損失函數(shù),提高坐標(biāo)回歸的準(zhǔn)確率。算法評價結(jié)果也表明:本文方法較FCOS算法、Faster RCNN算法、Deformable DETR算法的平均準(zhǔn)確率mAP分別提高了1.8%、0.8%和2.3%;平均召回率mAR分別提高了2.2%、4.9%和2.3%;Loss損失函數(shù)收斂值更優(yōu),對水下目標(biāo)檢測領(lǐng)域發(fā)展具有一定參考價值。