楊秀霞,王晨蕾,張 毅,于 浩,姜子劼
(海軍航空大學, 山東 煙臺 264000)
隨著無人機(unmanned aerial vehicle,UAV)領域的開放,UAV避障研究日益受到重視,然而當前對于UAV避障技術的研究主要集中在測距技術和以路徑規劃算法為基礎的避障策略,而較少關注UAV飛行過程中的障礙物檢測識別。圖像邊緣檢測算法利用圖像感知處理外界信息,進而準確獲取障礙物的大小、形狀等邊緣信息,輔以一定的測距手段,可以為生成避障策略提供足量依據,從而有效促進UAV自主防碰撞技術的發展與應用。
圖像邊緣通常是指圖像紋理、顏色發生躍變的像素點的集合,是圖像特征信息的集中體現。傳統的邊緣檢測算法主要基于形態學[1-2]和微分算子[3-6],然而基于形態學的算法結構元素單一,易造成輪廓移位與合并且計算復雜度大;基于微分算子的算法受噪聲影響較大,低灰度值邊緣點易丟失。
近年來,卷積神經網絡[7-10]在邊緣檢測領域取得了重要突破。石昌友[11]等采用多個子神經網絡分別學習同一圖像在不同尺度下的邊緣知識;王鑫[12]等基于VGG16網絡,利用邊緣差異圖和注意力機制提取圖像邊緣特征。但上述方法仍存在邊緣線條粗,噪聲較多等問題。此外,隨著網絡層數的加深,會出現梯度爆炸或消失現象,導致邊緣檢測的準確率下降。ResNet網絡[13]通過引入殘差結構保證網絡性能,但仍存在參數過多、檢測效率低等缺點。
針對上述問題,提出了一種基于八向差分算子的多尺度ResNet18殘差網絡邊緣檢測算法,用于UAV自主飛行過程中的障礙物探測,主要包括以下3個過程:① 提取輸入圖像的語義特征,輸出特征圖。考慮到網絡參數數量對特征提取速度的影響,用深度可分離卷積改進ResNet18網絡,實現網絡參數的降維,提高網絡訓練效率;② 基于八向差分算子確定特征圖的邊緣像素點,獲得初步邊緣信息。在對像素點二值化分類時,一般人為根據經驗設計閾值,魯棒性較差,因此提出一種綜合考慮固定閾值和局部邊緣點均值的自適應閾值方法,能夠有效抑制噪聲;③ 為解決小目標邊緣缺失的問題,設計了以包含豐富語義信息的頂層特征圖為指導的多尺度特征融合結構,在頂層直接輸出大目標邊緣信息,對于所占像素點數量較少的小目標則融合低層細節特征進一步細化邊緣。實驗證明本文方法能夠兼顧檢測效率和精度。
本文中以ResNet18殘差網絡為基礎網絡框架,以八向差分算子為邊緣檢測算子,設計了一種多尺度邊緣檢測算法,網絡總體結構如圖1所示。該網絡主要包含引入深度可分離卷積的特征提取模塊、基于八向差分算子的邊緣檢測模塊以及針對小目標邊緣信息的多尺度特征融合模塊,本節將逐一闡述各模塊設計思路及原理。

圖1 網絡總體結構
在邊緣檢測過程中,卷積核的作用相當于濾波器,卷積方式的改變直接影響特征提取效果[14]。然而隨著網絡層次加深,常規卷積操作的參數呈現數量級式的增長,使得網絡訓練效率逐漸降低,引入深度可分離卷積可有效緩解上述問題。常規卷積操作的本質是實現圖像在空間維度和通道(深度)維度的耦合,而深度可分離卷積通過解耦,使網絡在保證邊緣檢測準確率的基礎上對參數進行有效降維。
在圖2所示的常規卷積中,假設輸入圖像的分辨率為h×h,卷積層中有N個k×k濾波器,則輸出特征圖的尺寸outputsize和參數數量NSTD分別為

圖2 常規卷積
NSTD=outputsize×outputsize×3×N
(2)
式中:padding為填充;stride為步長。
深度可分離卷積將常規卷積解耦成針對通道維度的深度卷積和針對空間維度的逐點卷積,從而實現參數的降維。如圖3(a)所示,濾波器逐通道對輸入圖像進行深度卷積運算,其參數數量為:
Ndepth=outputsize×outputsize×3
(3)
深度卷積未考慮特征圖的空間位置信息,因此要通過如圖3(b)所示的逐點卷積在相應位置疊加不同通道的特征信息,逐點卷積的參數數量為:
Npoint=1×1×3×N
(4)
因此深度可分離卷積與常規卷積間參數數量的比值為:

(5)
由式(7)可知,引入深度可分離卷積可有效降低計算復雜度。網絡引入深度可分離卷積后,殘差結構的參數量由原來4.23×106降至0.32×106,網絡總參數量由原來的14.69×106降至9.68×106。
輸入圖像經過深度可分離卷積獲取特征圖后根據八向差分算子計算特征圖中目標物的邊緣像素點。由于八向差分算子用于邊緣檢測時,灰度閾值的設定很大程度上會影響檢測效果,因此采用自適應閾值方法對八向差分算子進行改進。
除邊界外,在3×3的鄰域范圍內,圖中任一像素點都有左、右、上、下、左上、左下、右上、右下8個方向的相鄰像素。設圖像的像素值函數為g(x,y),則圖中任意像素點(x,y)的八向差分值為其八鄰域像素點與它的差值:
Δlg=g(x,y-1)-g(x,y)
Δrg=g(x,y+1)-g(x,y)
Δug=g(x-1,y)-g(x,y)
Δdg=g(x+1,y)-g(x,y)
Δlug=g(x-1,y-1)-g(x,y)
Δldg=g(x+1,y-1)-g(x,y)
Δrug=g(x-1,y+1)-g(x,y)
Δrdg=g(x+1,y+1)-g(x,y)
(6)
將八鄰域像素差的絕對值取平均,可得該點的像素值為:
g(x,y)=(|Δlg|+|Δrg|+|Δug|+|Δdg|+|Δlug|+
|Δldg|+|Δrug|+|Δrdg|)÷8
(7)
傳統的八向差分算法大多將圖像中像素點的平均值設定為閾值,或者根據經驗設計固定閾值,閾值設置較為粗糙,魯棒性較差,因此本節提出一種綜合考慮固定閾值和局部邊緣點均值的自適應閾值方法改進八向差分算子,抑制噪聲干擾。
對于邊緣點的確定如式(8)所示,通過比較像素的八向差分值與設定的閾值二值化邊緣點:
式中:g(x,y)為像素點(x,y)的八向差分值,由式(7)計算得出;T為判定邊緣點的自適應閾值。本節綜合考慮固定閾值和局部邊緣點的均值,得到自適應閾值T為:
T=max(M×K+N×gmax(x,y),gave(x,y))
(9)
式中:gmax(x,y)為像素最大值;gave(x,y)為圖像3×3窗口局部均值;M、N為經試驗確定的常值系數,本文中取M=0.5,N=0.2;K為通過最大類間方差法[15]對圖像像素二值化分類得到的最佳閾值。
最大類間方差法根據像素的灰度級對特征圖進行閾值分割,能夠有效抑制噪聲,極大提高目標與背景的分割效果。最大類間方差法根據灰度閾值K將圖像分為目標區域E0和背景區域E1兩個部分,E0表示灰度級在[0,1,…,K-1]范圍內的像素點的集合,E1表示灰度級在[K,K+1,…,L]范圍內的像素點的集合。則任一像素點落在這2個區域的概率分別為:
式中,qi表示圖中所有灰度級為i的像素點出現的概率,i∈[0,1,…,L]。
因此目標區域和背景區域的平均灰度分別為:
圖像的總平均灰度為:
區域間的類間方差為:
ω0ω1(μ1-μ0)2
(15)

傳統的邊緣檢測方法通過多層卷積網絡的特征提取,得到了高度集中的語義特征,但是空間細節信息丟失嚴重,不利于小目標的邊緣檢測。針對上述問題,引入多尺度特征融合模塊,通過在語義信息更凝練的高層特征圖上疊加低層特征圖中包含的豐富細節信息,進一步細化小目標邊緣信息。
多尺度特征融合模塊如圖4所示,由左、中、右三條路徑組成。左側自下而上的路徑利用低(L)、中(M)、高(H)3個卷積模塊逐層提取圖像語義特征;右側自上而下的路徑,通過上采樣放大高層特征,輸出與相鄰卷積階段相同尺度的特征圖;中間橫向連接1×1的卷積核得到與相鄰階段特征圖相同的通道數,實現跨通道的特征整合。在統一相鄰特征圖尺度和通道數的基礎上,對特征信息進行像素級的疊加融合,輸出融合多尺度信息的特征圖P1~P3。最后通過八向差分算子計算邊緣像素點并通過級聯方式輸出最終邊緣信息。

圖4 多尺度特征融合結構
邊緣檢測問題本質上是像素點的二值化分類問題,故采用準確率(Accuracy)來量化邊緣檢測的性能,計算式為:
其中:TP為正確分類的邊緣點;TN為正確分類的非邊緣點;FP為誤分類的非邊緣點;FN為漏分類的真實邊緣點。
圖5給出了采用本文算法與常用的自適應閾值算法的平均峰值信噪比(PSNR)值,定量評估本文改進的自適應閾值方法排除噪聲干擾的能力。由圖5可知使用本文算法的平均PSNR值相對較大,閾值設置更合理,抗噪效果更好。

圖5 自適應閾值算法比較
如圖6所示,圖6(b)為固定低閾值的邊緣檢測圖,圖6(c)為固定高閾值的邊緣檢測圖,圖6(d)為改進的自適應閾值的邊緣檢測圖。由圖6可知,采用自適應閾值算法假邊緣顯著減少且邊緣連續性更好。

圖6 自適應閾值算法比較不同閾值的邊緣檢測效果Fig.6 Edge detection effects of different thresholds
如表1所示,在網絡的不同層級添加多尺度特征融合結構,邊緣檢測的準確率會相應改變。其中H、M、L分別表示多尺度特征融合結構位于Resnet18殘差網絡第一、第二、第三個殘差塊后,即高、中、低層的特征圖位置(見圖4)。從表中可以看出,多尺度特征融合結構對高層特征的融合作用較低層更為突出,并且當在3個深度可分離卷積模塊后均添加該結構時,邊緣檢測的準確率最高。因此,本在H、M、L層均設置了該結構。

表1 多尺度特征融合結構數量與位置對準確率的影響
各單一尺度下以及融合尺度的邊緣檢測效果如圖7所示。從其中可以看出,單一尺度下的邊緣檢測存在不同程度的噪聲問題,且小尺度下噪聲問題更突出。相比之下,融合3個尺度后,噪聲問題得到了一定抑制,從而得到了檢測精度更高的邊緣檢測結果。

圖7 多尺度融合邊緣檢測效果
為測試改進網絡的性能,在KITTI自動駕駛目標檢測數據集和UAV實飛采集到的視頻幀數據集中對改進前后的ResNet18網絡和MobileNet網絡模型做對比實驗。仿真實驗環境為:Pyhton 3.7,2.42 GHz主頻的Inter Core i5處理器,以及Win10操作系統,采用Adam優化器。
改進前后的ResNet18網絡和MobileNet網絡邊緣檢測的準確率如圖8所示。由圖可知,傳統的ResNet18網絡迭代 2 100次后準確率約為92.55%,MobileNet網絡迭代1 717次準確率約為76.34%,最終穩定在83.33%,而改進后的ResNet18網絡迭代1 344次后準確率可達96.47%,不僅收斂速度更快,且準確率分別提高了4.23%和13.14%。

圖8 網絡準確率對比
3種網絡模型的性能參數如表2所示。在使用準確率量化邊緣檢測性能的同時加入以每秒處理幀數(fps)為單位的在線處理時間作為衡量指標。由表可知,相比傳統的ResNet18網絡,改進后的ResNet18網絡參數量減少了5.01×106,處理時間提升了4 fps。輕量化MobileNet網絡由于參數量較少,雖然處理圖像速度相對更快,但檢測效果不佳。結果表明,改進后的網絡能夠較好地平衡邊緣檢測準確率和處理速度。

表2 定量評估網絡性能
使用本文算法與其他3種常用算法對KITTI數據集和UAV實飛采集到的視頻幀數據集中圖像的邊緣檢測結果分別如圖9和圖10所示。由圖可知,本文算法的邊緣連續性更強,對小目標的檢測效果更佳,且噪聲更少;Canny算子的檢測效果噪聲較多;Sobel算子和灰度矩亞像素的檢測效果較差,邊緣不連續且噪聲較多。

圖10 本文算法與其他常用算法在UAV實飛數據集中的邊緣檢測效果對比
針對傳統邊緣檢測算法邊緣檢測速度慢、邊緣信息缺失、抗噪性能差等問題,提出了一種以ResNet18殘差網絡為基礎網絡框架,以八向差分算子為邊緣檢測算子的多尺度邊緣檢測算法,主要結論如下:
1) 借鑒深度可分離卷積的思想改進ResNet18殘差網絡,實現了網絡參數的有效降維,使算法快速收斂。
2) 引入了自適應閾值算法,提高目標與背景的分割效果,有效抑制噪聲干擾。
3) 提出了多尺度特征融合結構,將不同尺度下的特征信息進行融合,克服了低層空間細節易丟失的缺點。
4) 由改進后的邊緣檢測算法與傳統邊緣檢測算法仿真對比可知,相比傳統ResNet18網絡,改進后的邊緣檢測算法準確率提升了4.23%,參數量降低了5.01×106,處理速度提高了4 fps,有效縮短了檢測時間,得到更準確的邊緣輪廓,更有利于UAV避障過程中的障礙物識別。