周愛平,張 濱,蘭 超,王明慧,孫旭輝,馬曉靜
(1.濱州黃河河務(wù)局,山東 濱州 256600;2.山東恒泰工程集團(tuán)有限公司,山東 濱州 256600;3.山東大學(xué)海洋研究院,山東 青島 266200)
我國人口密集,河流縱橫交錯,很多城市建造在河流沿岸地區(qū),這為城市居民用水和城市景觀綠化提供了便利,但是也對人員安全帶來一定影響。兒童或者醉酒人員長時(shí)間在河岸邊或河灘嬉戲很容易發(fā)生安全事故,因此必須加強(qiáng)對河流的安全管控力度,規(guī)范河流安全巡查。河流巡檢的主要對象包括沙灘、人工岸線,這些地方受豐水期和枯水期影響,是河流巡檢的重點(diǎn)區(qū)域。如今人工巡檢已經(jīng)較少大面積使用;而隨著對河流巡檢的實(shí)時(shí)性和分辨精度要求的提升,現(xiàn)有的衛(wèi)星巡檢和航空巡檢發(fā)揮作用也越發(fā)受限。近年來,無人機(jī)巡檢在電力、森林、管道等多領(lǐng)域逐步推廣應(yīng)用,成為衛(wèi)星遙感巡視和航空巡檢之外的可靠補(bǔ)充巡檢方案。
基于無人機(jī)的河灘巡檢可實(shí)現(xiàn)在自由視角下對巡檢視野的智能化分析、風(fēng)險(xiǎn)預(yù)警和及時(shí)響應(yīng)。具備安全預(yù)警能力的巡檢系統(tǒng)需要解決視野中目標(biāo)像素小、尺度變化大、檢測背景復(fù)雜等問題,目標(biāo)檢出準(zhǔn)確率是實(shí)現(xiàn)可靠巡檢的關(guān)鍵。因此無人機(jī)視角的目標(biāo)檢測算法在本系統(tǒng)中占有相當(dāng)重要的位置。
無人機(jī)圖像中目標(biāo)檢測屬于自然圖像目標(biāo)檢測,一些學(xué)者開始嘗試?yán)脙?yōu)秀的自然圖像目標(biāo)檢測方法對無人機(jī)影像中的目標(biāo)進(jìn)行檢測。Wang X[1]等人嘗試將一些具有代表性的卷積神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò)運(yùn)行在斯坦福無人機(jī)數(shù)據(jù)集上測試其效果,最終得出RetinaNet檢測器展現(xiàn)出最快和最準(zhǔn)確的檢測性能;Yakoub Bazi[2]在其文章中提出一種新的卷積支持向量機(jī),此網(wǎng)絡(luò)在擁有有限訓(xùn)練樣本的數(shù)據(jù)集中依舊表現(xiàn)良好,并在多個車輛數(shù)據(jù)集中進(jìn)行測試時(shí)得到接近最好卷積網(wǎng)絡(luò)的檢測效果;Dimitrios Meimetis[3]等提出將DeepSORT與YOLO檢測相結(jié)合的方法,在數(shù)據(jù)集和各種實(shí)地飛行視頻中對車輛和行人實(shí)現(xiàn)多重跟蹤。
小目標(biāo)的定義主要有兩種:第1種是絕對小的目標(biāo),其像素值不超過32×32時(shí),此物體即可被看作是小目標(biāo);第2種是相對小目標(biāo),當(dāng)目標(biāo)尺寸小于圖像尺寸的0.1時(shí)可以被看作相對小目標(biāo)[4]。而無人機(jī)視野中目標(biāo)又存在多尺度和小像素的特點(diǎn),所以該類檢測算法發(fā)展早期代表性算法有YOLO、Faster R-CNN等,只使用主干網(wǎng)絡(luò)最后一層特征進(jìn)行目標(biāo)檢測,造成網(wǎng)絡(luò)檢測小目標(biāo)能力較弱;劉穎[5]等人提出的SSD中首次使用多尺度預(yù)測方法,改善小目標(biāo)檢測性能。在機(jī)器學(xué)習(xí)目標(biāo)檢測中,圖像金字塔是構(gòu)建多尺度特征的主流方法,通過對圖片的多尺度縮放來提取不同尺度特征,然后在每個分辨率圖像上分別利用基于滑動窗口的方法進(jìn)行目標(biāo)檢測,以求檢測出低層特征中的小目標(biāo),MTCNN就是利用這一思想首先構(gòu)造圖像金字塔,從而檢測出不同分辨率的人臉目標(biāo)[6];而隨著深度學(xué)習(xí)的發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)逐漸替代圖像金字塔的方式。Fu[7]等學(xué)者認(rèn)為SSD用于小目標(biāo)檢測的特征層含有的語義不豐富,導(dǎo)致誤檢和漏檢,因此于2017年提出DSSD使用ResNet-101代替VGG16作為特征提取網(wǎng)絡(luò),并將高層特征的語義信息融入底層特征,提高底層特征的表達(dá)能力;Liu[8]等又提出FPN網(wǎng)絡(luò),它實(shí)現(xiàn)了不同尺度的信息提取,提升了小目標(biāo)的檢測性能,2018年提出的PANet[9]網(wǎng)絡(luò)在此基礎(chǔ)上又進(jìn)一步融合高層和低層的語義信息并將其應(yīng)用于目標(biāo)檢測中,而在此之后學(xué)者們又陸續(xù)提出ASFF[10]、AugFPN[11]網(wǎng)絡(luò)從不同角度對FPN結(jié)構(gòu)進(jìn)行改進(jìn);SNIP[12]提出在訓(xùn)練中只對和ImageNet數(shù)據(jù)集中目標(biāo)尺度相近的ROI區(qū)域計(jì)算梯度,并利用圖像金字塔得到多尺度高分辨率目標(biāo)信息;TridentNet[13]針對尺度變化問題,通過控制空洞卷積參數(shù)來控制感受野大小,并通過卷積層信息融合來提高算法檢測精度。
本文訓(xùn)練所需要的河灘-人員數(shù)據(jù)集主要由兩部分組成:人員目標(biāo)檢測數(shù)據(jù)集和河岸場景數(shù)據(jù)集。其中人員目標(biāo)檢測數(shù)據(jù)集主要用于River-YOLO訓(xùn)練,河岸場景數(shù)據(jù)集則主要用于DeepLabV3+模型進(jìn)行河岸場景分割訓(xùn)練。而本文最終的目的是實(shí)現(xiàn)河岸人員安全檢測,因此數(shù)據(jù)集存在一定的重疊。
河岸地貌場景特殊,在不同天氣和光照條件下亮度和顏色均所差異。為了防止過擬合和提升網(wǎng)絡(luò)的泛化能力,對河道圖像進(jìn)行數(shù)據(jù)增強(qiáng)操作。本文取不同季節(jié)、天氣條件下黃河河岸視頻36個,用Labelme進(jìn)行數(shù)據(jù)集標(biāo)注,然后通過旋轉(zhuǎn)、裁剪、椒鹽噪聲、高斯噪聲、調(diào)節(jié)亮度和對比度等方式進(jìn)行了數(shù)據(jù)集擴(kuò)充。樣本增廣完成后,將9000幀圖像用于訓(xùn)練,2250幀圖像作為驗(yàn)證集,剩余的2250幀圖像作為測試集。河流地貌分割數(shù)據(jù)集如圖1所示。
圖1 河流地貌分割數(shù)據(jù)集
無人機(jī)視角目標(biāo)檢測數(shù)據(jù)集與普通行人檢測數(shù)據(jù)集有顯著差異。無人機(jī)俯拍圖像的目標(biāo)像素小、信息少,背景復(fù)雜,且可能有抖動和光照變化。因此,需要構(gòu)建專門針對無人機(jī)視角的數(shù)據(jù)集,以訓(xùn)練適應(yīng)這些特殊場景的目標(biāo)檢測模型。
本文采用的人員檢測數(shù)據(jù)集除了1.1中包含的河岸行人視頻幀以外,還加入了Okutama-Action數(shù)據(jù)集進(jìn)行數(shù)據(jù)集擴(kuò)充。從而搭建了無人機(jī)視角下的人員目標(biāo)檢測數(shù)據(jù)集。其中數(shù)據(jù)集部分圖像如圖2所示。
圖2 新增河灘人員數(shù)據(jù)集
DeepLabV3+是Chen、Zhu等[14]在2018年提出的一種基于DeepLabV3的改進(jìn)算法,通過將原有的DeepLabV3結(jié)構(gòu)作為編碼模塊,在此基礎(chǔ)上添加了一個簡單有效的解碼模塊。自從DeepLabV3+語義分割網(wǎng)絡(luò)被提出后,憑借其出色的圖像分割效果,經(jīng)常被用于高精度的圖像分割[15],目前已經(jīng)成為非常熱門的分割網(wǎng)絡(luò)之一。DeepLabV3+的結(jié)構(gòu)如圖3所示。
圖3 DeepLabV3+網(wǎng)絡(luò)結(jié)構(gòu)
2.1.1改進(jìn)DeepLabV3+網(wǎng)絡(luò)結(jié)構(gòu)
DeepLabV3+語義分割網(wǎng)絡(luò)能夠達(dá)到較高的精度,但它使用修改后的aligned Xception主干網(wǎng)絡(luò)由于網(wǎng)絡(luò)層數(shù)多,參數(shù)量大,且特征提取后在ASPP模塊中進(jìn)行卷積操作,參數(shù)量大,模型復(fù)雜度高,增加了網(wǎng)絡(luò)訓(xùn)練的難度,網(wǎng)絡(luò)訓(xùn)練速度較慢,收斂性較差。為了提高網(wǎng)絡(luò)分割能力和訓(xùn)練效率,本文針對DeepLabV3+網(wǎng)絡(luò)結(jié)構(gòu)做了三點(diǎn)改進(jìn),如圖4所示為改進(jìn)后的DeepLabV3+網(wǎng)絡(luò)結(jié)構(gòu)。
圖4 改進(jìn)后的DeepLabV3+網(wǎng)絡(luò)結(jié)構(gòu)
2.1.2改進(jìn)的主干特征提取網(wǎng)絡(luò)
在編碼模塊,將用于特征提取的Xception網(wǎng)絡(luò)改為較輕量級的MobileNetV2網(wǎng)絡(luò),與Xception網(wǎng)絡(luò)相比,MobileNetV2網(wǎng)絡(luò)的參數(shù)更少,模型結(jié)構(gòu)更簡單,網(wǎng)絡(luò)訓(xùn)練速度更快。
2.1.3D-ASPP模塊
通過在ASPP模塊上引入深度可分離空洞卷積,減少計(jì)算和模型的復(fù)雜度,從而構(gòu)建出D-ASPP模塊。如圖5所示,首先將經(jīng)過MobileNetV2網(wǎng)絡(luò)特征提取后的深層特征輸入到D-ASPP模塊中,經(jīng)過一個1×1擴(kuò)張率為1、3×3的擴(kuò)張率分別為6、12、18的深度可分離空洞卷積和全局平均池化5條支路。
圖5 D-ASPP模塊
2.1.4CA注意力機(jī)制
為了增強(qiáng)圖像深層特征的表示能力,在MobileNetV2特征提取網(wǎng)絡(luò)提取的淺層特征和D-ASPP模塊之后,加入CA注意力機(jī)制以提高模型的分割精度。CA注意力機(jī)制(CoordAttention)首先使用兩個一維全局平均池化操作,將通道注意力分解為兩個沿不同方向進(jìn)行聚合的特征編碼過程,形成具有兩個獨(dú)立方向感知的特征圖;然后對特征圖進(jìn)行編碼形成一對具備位置敏感和方向感知的特征圖;最后兩個特征圖通過乘法可以互補(bǔ)地應(yīng)用于輸入特征圖中以強(qiáng)調(diào)對感興趣目標(biāo)的表示。
在訓(xùn)練DeepLabV3+模型時(shí),首先選取采集的無人機(jī)視頻數(shù)據(jù)中包含河岸和河水的圖片作為訓(xùn)練集,并使用lableme軟件標(biāo)識出河水區(qū)域,然后將標(biāo)識后的數(shù)據(jù)集送入DeepLabV3+模型進(jìn)行訓(xùn)練,當(dāng)反饋的模型誤差值不再降低,模型收斂時(shí)停止訓(xùn)練,此時(shí)訓(xùn)練好的模型即可用于預(yù)測無人機(jī)視頻圖像中的河水區(qū)域。
2.2.1River-YOLO算法設(shè)計(jì)
YOLOv7[16]作為目前YOLO系列的最新作品,其具有檢測速度快、準(zhǔn)確度高、易于訓(xùn)練和部署等特點(diǎn),比同體積(FPS)的YOLOv5快120%,在實(shí)時(shí)目標(biāo)檢測領(lǐng)域中獨(dú)占鰲頭,但在深度卷積神經(jīng)網(wǎng)絡(luò)中計(jì)算量大,且在進(jìn)行特征計(jì)算時(shí),卷積神經(jīng)網(wǎng)絡(luò)對特征的關(guān)注度較為分散。因此本文針對巡檢任務(wù)需求,在算法實(shí)時(shí)性、精度和魯棒性方面做出針對性的改進(jìn),使其具備更加優(yōu)異的性能,符合無人機(jī)河岸巡檢系統(tǒng)設(shè)計(jì)要求。改進(jìn)的YOLOv7的網(wǎng)絡(luò)模型如圖6所示。
圖6 改進(jìn)后的YOLOv7網(wǎng)絡(luò)模型
2.2.2基于GhostNet的主干網(wǎng)絡(luò)改進(jìn)
通過將主干網(wǎng)絡(luò)替換為較輕量級的GhostNet網(wǎng)絡(luò),降低了計(jì)算量并提高了算法的實(shí)時(shí)性,同時(shí)保持了對特征的識別性能。GhostNet的核心思想是采用一種分階段的卷積計(jì)算模塊,利用線性卷積在非線性卷積特征圖的基礎(chǔ)上獲取更多特征圖,從而消除冗余特征,實(shí)現(xiàn)了輕量級模型的目標(biāo)。
GhostNet的工作方式是首先使用少量的普通卷積核來提取特征信息,并減少輸出通道數(shù)。接著,通過線性變換和恒等映射來增強(qiáng)特征。最后,將特征信息進(jìn)行拼接,生成相應(yīng)的特征圖。
GhostBottleneck模塊與ResNet中的基本殘差塊相類似。它由兩個Ghost模型堆疊而成,其中第1個Ghost模型主要用于增加通道數(shù),而第2個Ghost模型則用于減少通道數(shù)量。這種堆疊的結(jié)構(gòu)有助于更好地優(yōu)化特征提取和降低計(jì)算復(fù)雜性,從而提高GhostNet的性能。
2.2.3NAM注意力機(jī)制的特征融合網(wǎng)絡(luò)
為了降低非顯著的特征的權(quán)重,提高在復(fù)雜光照條件、人員像素小等情況時(shí)的檢測精度,在網(wǎng)絡(luò)模型的頸部加入了4個NAM注意力機(jī)制,使得權(quán)重計(jì)算更加合理,有效提高算法的檢測精度,抵消因主干特征提取網(wǎng)絡(luò)模型參數(shù)量減少而導(dǎo)致的檢測精度下降問題。本文在CBAM注意力機(jī)制基礎(chǔ)上進(jìn)行集成,并對通道和空間注意力子模塊重新設(shè)計(jì),最后將其嵌入主干網(wǎng)絡(luò)提取的3個有效特征圖末尾。
對于通道注意力子模塊(CAM),通過BN中的比例因子來計(jì)算通道方差,如式(1):
(1)
式中,μβ—均值;σβ—標(biāo)準(zhǔn)差;γ、β—可訓(xùn)練的尺度和位移。Mc—CAM的輸出特征,如式(2):
(2)
式中,γi—通道的縮放因子,權(quán)重由Wγ獲得。同樣的,將BN的比例因子也應(yīng)用于空間注意力子模塊(SAM),用來衡量像素的重要程度,在SAM中被命名為像素歸一化(Pixel Normalization),SAM的輸出特征Ms如式(3):
(3)
式中,λi—縮放因子,權(quán)重由Wλ獲得。
2.2.4基于SIoU的損失函數(shù)改進(jìn)
根據(jù)坐標(biāo)損失函數(shù)計(jì)算公式,當(dāng)預(yù)測框的長寬比和真實(shí)框的長寬比相同時(shí),長寬比的對比項(xiàng)v為0,沒有起到作用,CIoU損失函數(shù)無法得到穩(wěn)定表達(dá),且會導(dǎo)致訓(xùn)練過程中預(yù)測框的漂移問題,降低模型訓(xùn)練速度。因此采用SIoU函數(shù)替換原來的CIoU損失函數(shù)。將回歸之間的角度成本納入考慮范圍,通過向量角對距離重新進(jìn)行定義,降低損失函數(shù)的總自由度。
SIoU損失函數(shù)由角度成本、距離成本、形狀成本和IoU成本組成,其定義分別如下:
(1)角度成本。角度成本的計(jì)算公式如式(4):
(4)
式中,Ch—預(yù)測框和真實(shí)框的高度差值;σ—預(yù)測框和真實(shí)框的距離。
(2)距離成本。距離成本代表預(yù)測框和真實(shí)框的距離,根據(jù)角度成本對距離成本重新定義如式(5):
(5)
式中,A(ax,ay)—預(yù)測框;B(bx,by)—真實(shí)框;Cx、Cy—預(yù)測框和真實(shí)框組成的最小外接矩形的長和寬。
(3)形狀成本。形狀成本的定義如式(6):
Ω=∑t=w,h(1-e-wt)θ
(6)
式中,(wa,ha)—預(yù)測框的寬和高;(wb,h,)—真實(shí)框的寬和高,θ—控制對形狀成本的關(guān)注程度。
(4)IoU成本。IoU成本的定義如式(7):
(7)
綜上所述,最終SIoU損失函數(shù)定義如式(8):
(8)
通過加入角度成本,在減少長寬比的對比項(xiàng)為0的概率的同時(shí),使得坐標(biāo)損失函數(shù)收斂更平穩(wěn),改善回歸精度,提高了模型預(yù)測的準(zhǔn)確性和預(yù)測速度。
綜上所述,本文通過分析現(xiàn)有方法存在的問題,根據(jù)河岸巡檢系統(tǒng)需求對YOLOv7算法進(jìn)行針對性的改進(jìn),降低計(jì)算量并提高算法實(shí)時(shí)性;通過在頸部添加NAM注意力機(jī)制來有效提高算法的檢測精度,抵消因主干網(wǎng)絡(luò)模型參數(shù)量減少而導(dǎo)致的檢測精度下降問題;最后采用SIoU函數(shù)替換原來的CIoU損失函數(shù),提高算法的魯棒性和實(shí)用性。
本文提出的改進(jìn)DeepLabV3+網(wǎng)絡(luò)效果如圖7所示。
圖7 DeepLabV3+分割效果對比
由圖7可知,在分割邊緣部分,改進(jìn)前的DeepLabV3+模型識別輪廓不夠精細(xì),部分像素的分割結(jié)果較差,如河段1改進(jìn)后的邊緣部分較改進(jìn)前包含了更多的河水區(qū)域,河段2改進(jìn)前出現(xiàn)了將部分邊緣河岸判定為河水的情況,而本文改進(jìn)的DeepLabV3+模型識別輪廓更加貼近河岸線,同時(shí)分割邊緣更為光滑,證明了改進(jìn)的DeepLabV3+網(wǎng)絡(luò)模型在分割效果和準(zhǔn)確率方面都有了一定的提升。
由表1可知,本文改進(jìn)后的DeepLabV3+模型的分割速度比改進(jìn)前快了0.09s,極大地提高了分割速度。同時(shí)改進(jìn)后的模型其召回率、平均像素精度和平均交并比分別達(dá)到了97.83%、98.47%和97.11%,比改進(jìn)前的DeepLabV3+模型分別提高了0.35,0.29和0.57個百分點(diǎn)。綜上,改進(jìn)后的模型表現(xiàn)較好,在檢測精度上有一定提升的情況下顯著提高了分割速度,在應(yīng)用于河岸場景實(shí)時(shí)檢測時(shí)更具優(yōu)勢。
表1 DeepLabV3+分割結(jié)果對比
表2 不同算法在River-person數(shù)據(jù)集運(yùn)行效果對比
為驗(yàn)證本文設(shè)計(jì)的River-YOLO(以下簡稱:Ours)檢測效果,本文將其與MobileNet-SSD、YOLOv5、YOLOv7經(jīng)典檢測算法進(jìn)行對比,主要從檢測準(zhǔn)確率、模型大小和運(yùn)行速度等方面進(jìn)行分析。
可以看出,本文設(shè)計(jì)的River-YOLO的mAP最高,達(dá)到了90.3%,具有最高的識別準(zhǔn)確率,同時(shí)FPS作為評價(jià)目標(biāo)檢測速度的指標(biāo),證明了該算法完全滿足河岸巡檢系統(tǒng)對于實(shí)時(shí)性的需求,相比于MobileNet-SSD、YOLOv5算法,無論在精確度或者是實(shí)時(shí)性上都具有更優(yōu)秀的表現(xiàn)。而原YOLOv7算法在檢測精度上與River-YOLO相比差距不大,但本文通過針對性的改進(jìn)進(jìn)一步提高了原算法的實(shí)時(shí)性,使得River-YOLO算法在保證具有較高檢測速度的同時(shí),能夠有效平衡了檢測速度與精度。實(shí)驗(yàn)證明River-YOLO算法更適合部署于軟件平臺進(jìn)行安全檢測,具有實(shí)際應(yīng)用意義。
在獲得不同算法性能對比后,本文從小像素目標(biāo)檢測、光照與尺度變化的角度對River-YOLO、MobileNet-SSD、YOLOv5和YOLOv7算法進(jìn)行測試。
(1)小像素目標(biāo)檢測
無人機(jī)視角下的人員像素一般較小,而目標(biāo)檢測算法針對小像素的檢測難度較大。因此算法測試中,在選取河岸周邊典型場景后,首先針對小像素目標(biāo)檢測進(jìn)行對比。
如圖8所示,River-YOLO算法在面對小像素目標(biāo)檢測時(shí)仍能夠準(zhǔn)確識別出圖像中的人員,YOLOv7表現(xiàn)同樣出色,MobileNet-SSD和YOLOv5均有不同程度的漏檢情況出現(xiàn)。
圖8 小像素目標(biāo)檢測
(2)光照與尺度變化
在無人機(jī)巡檢過程中,由于飛行距離、相機(jī)轉(zhuǎn)動等經(jīng)常會面對光照與尺度變化所帶來的干擾,同時(shí)水面反射同樣會造成一定程度的影響。光照與尺度變化如圖9所示。
圖9 光照與尺度變化
通過對比圖8—9后發(fā)現(xiàn),在光照和尺度發(fā)生變化后,尤其是視頻圖像較近時(shí),River-YOLO、YOLOv7和YOLOv5均表現(xiàn)出色,MobileNet-SSD在面對樹木遮擋時(shí)檢出率較低,只能檢測出較為清晰的目標(biāo)。
綜上,本文所設(shè)計(jì)的River-YOLO算法在灘區(qū)人員預(yù)警方面有明顯優(yōu)勢,驗(yàn)證了改進(jìn)算法的有效性。
本文針對河流巡檢中的人員安全預(yù)警算法進(jìn)行研究。首先,采用基于DeepLabV3+的河灘場景分割算法進(jìn)行河水區(qū)和其他區(qū)域的劃分;然后,針對人員檢測像素小、尺度變化大的特點(diǎn),設(shè)計(jì)River-YOLO目標(biāo)檢測算法,采用GhostNet網(wǎng)絡(luò)減小YOLOv7網(wǎng)絡(luò)模型,并用Nam注意力機(jī)制和SIoU損失函數(shù)提高網(wǎng)絡(luò)預(yù)測精度,在算法實(shí)時(shí)性、精度和魯棒性方面作出有效平衡,并將改進(jìn)后的算法和MoblieNet-SSD、YOLO等經(jīng)典算法進(jìn)行對比,本算法表現(xiàn)出更優(yōu)越的性能;最后通過在巡檢視頻中對DeepLabV3+和River-YOLO進(jìn)行安全檢測的效果進(jìn)行分析,本文提出的安全預(yù)警思路具有良好的檢測效果。