王紅雨, 尹午榮, 汪 梁, 胡江顥, 喬文超
(上海交通大學 儀器科學與工程系, 上海 200240)
隨著無人機(UAV)在生活中的應用越來越廣泛,對無人機安全性能的要求也越來越高.為了保證無人機的安全作業,以超聲波、紅外線、激光、視覺等為基礎的避障技術是當前的研究熱點[1-3].文獻[1]利用激光掃描儀進行無人機避障,雖然可以獲得良好的避障效果,但因成本過高而無法大規模應用.視覺避障技術利用攝像頭獲取無人機周邊環境中大量的障礙物信息,可以為無人機避障及路徑規劃提供充分的依據,并且成本較低,因此具有較大的優勢.文獻[2]通過雙目立體視覺技術獲取無人機前方場景的深度圖進行無人機避障.無人機正常飛行時僅測量圖像中央一小塊區域的距離,一旦發現障礙物再進行全局測距,從而引導無人機向深度圖中景深較遠的方向飛行.這種方法實時性較強,但沒有充分利用視覺避障的優勢.從本質上而言,攝像頭等同于一個測距傳感器,雖然它拍攝到了前方場景中的全部障礙物,但由于缺少相應的算法識別,兩個攝像頭僅用于測量距離,并未進行目標識別,導致無人機不能實時地感知障礙物的分布情況.目前,無人機避障技術的研究重點為測距技術和避障路徑規劃算法,在智能感知障礙物方面尚未受到廣泛關注,而圖像邊緣提取算法在這方面具有很大的優勢.通過提取圖像邊緣信息準確地獲取障礙物的大小、形狀及方位,再輔以一定的測距手段,即可為避障路徑規劃算法提供可靠的判斷依據.
高實時性的圖像邊緣提取算法主要利用Sobel算子、Laplace算子、Canny算子等檢測算子[4-7]來提取邊緣特征.這些檢測算子,具有計算量小、計算速度快的優點,實時性很強,但對光照和噪聲比較敏感,在光照條件較差和有噪聲污染的情況下對圖像邊緣的檢測效果較差.
除了檢測算子之外,模糊集理論也可用于圖像邊緣提取[8-11].然而,該方法在帶來良好的邊緣提取效果的同時需要耗費大量的計算時間,難以應用于無人機避障的高實時性場景.本文提出一種基于HSV (Hue, Saturation, Value) 顏色空間的快速邊緣提取算法,通過模糊集理論改進局部二值模式(LBP)算子對像素點局部紋理特征的描述,并用Hausdorff距離確定邊緣點,最后用矩形框圈出障礙物輪廓.在保證邊緣提取效果良好的同時提高實時性,并增強了無人機障礙物檢測的能力.

圖1 I-LBP算子整體結構Fig.1 Structure of the I-LBP operator
障礙物檢測的第一步是提取圖像邊緣信息,運用數學方法描述具有邊緣特征的像素點.圖1所示為改進型LBP(I-LBP)算子的整體結構.
I-LBP算子處理的基礎數據是HSV顏色空間[12-13]中的色相值數據,而非經典LBP算子處理的是灰度值數據.為了便于模糊推理,首先需要進行數據修正與預處理.然后,通過模糊推理得到改進的紋理特征描述,由于該特征為8維向量,為了便于之后利用Hausdorff距離確定邊緣特征,需要將其降維成3維向量(每一維分別表示色相值的差異性、連續性和奇異性).
LBP算子[14-15]的計算公式為
(1)

(2)
式中:LBP(xI,yI)為像素點I的LBP碼;s(x)為符號函數;iI為像素點I的灰度值;ik為像素點I在p個連通區域中像素點k的灰度值,如在8連通區域中,p=8,從左上角按順時針方向依次為i0~i7.
雖然LBP算子可以很好地描述圖像的局部紋理特征,但簡單的二值化處理會導致圖像信息的缺失.傳統的LBP算子只能獲取8連通區域中ik與iI的大小關系,而無法獲取ik與iI的量化差異大小.基于LBP算子,將計算灰度值改為計算色相值,并對簡單的二值化處理進行擴展,將LBP算子中僅表示色相值大小關系的1和0轉換為用于量化色相值差異大小的[0,10]區間內的數據.
受噪聲污染的HSV圖像局部細節圖如圖2所示.將像素點1記為一般點,即沒有被噪聲污染,也不是圖像中的邊緣像素點;將像素點2記為邊緣點,它是圖像中具有邊緣特征的像素點;將像素點3記為噪聲點,表明該像素點受到了噪聲污染.

圖2 圖像局部細節圖Fig.2 Local details of the image
令dk=|hk-hI|(k=0,1,…,p-1),dk為像素點I周圍8連通區域中像素點k的色相值,hI為像素點I的色相值.若像素點I為一般點,則dk均較小;若I為邊緣點,則約有1/2的dk較大;若I為噪聲點,則dk均較大.
為了減小噪聲干擾,用像素點I附近的8連通區域對像素點的色相值進行修正.如圖3所示,區域內的像素點依次編號為0~7.

圖3 像素點I附近8連通區域的像素編號Fig.3 The numbers of the pixels within 8-connected regions near pixel I
修正算法過程如下:
(1) 計算區塊內像素點0~7及I的色相值均值;
(2) 求出d0~d7;
(3) 找出d0~d7色相值最小的像素點,并用該像素點的色相值代替像素點I的色相值.
該算法的本質是提取區塊內出現頻率最高的色相值以達到不失真和濾波的目的.對像素點I及其8連通區域內的每個像素點的色相值均需使用上述算法進行修正.雖然利用區塊修正的色相值在一定程度上會使邊緣特征模糊化,降低圖像邊緣部分的高頻成分,導致提取出的邊緣粒子較粗,但其應用于障礙物檢測時,由于最重要的指標是邊緣的連續性,故這一缺陷并不影響檢測效果.
色相值的本質為色彩在色相環上的位置所成的角度,即[0°,360°].色相之間的差異不是簡單的色相值相減,而是在色相環上由一個色相變為另一個色相所需要的最小角度,故色相之間的最大差異實際為180°,例如:0°和200°的差異為160°而不是200°.所以,dk用于表示色相差異大小時要進行預處理,其計算公式可表示為
(3)

采用模糊推理中的if-then-else機制設定以下4條規則.其中:PB代表大;PM代表中;PMB代表偏大; PS代表小.輸入Din的論域為[0°,180°],輸出Dout的論域為[0,10].
規則1如果Din為PB,則Dout為PB.
規則2如果Din為PM,則Dout為PM.
規則3如果Din為PMB,則Dout為PMB.
規則4如果Din為PS,則Dout為PS.
隸屬度函數使用梯形隸屬函數,其表達式為

(4)
式中:Y為輸出;X為輸入;a,b,c,d為常數,且滿足a≤b≤c≤d.通過選取合適的數值,Din和Dout的隸屬度函數(μX,μY)分別如圖4所示.常數a,b,c,d的取值如表1所示.
根據模糊推理的4條規則以及輸入輸出各自的隸屬度函數,可以得出輸入輸出曲線,如圖5所示.
表1 不同輸入輸出的常數取值
Tab.1 The values of the constants with different inputs and outputs

輸入輸出項目abcd輸入 PS00510 PM5153545 PMB35457585 PB7585180180輸出 PS0013 PM1.52.545 PMB456.57.5 PB681010

圖4 輸入輸出的隸屬度曲線Fig.4 The membership curves of different inputs and outputs

圖5 輸入輸出曲線Fig.5 Function curve of input and output
由于輸入輸出曲線可以近似為分段函數,所以將模糊推理系統得出的輸入輸出曲線以分段函數的形式來擬合可以極大地減小計算量,提高系統的實時性.擬合后的分段函數表達式為

(5)
每個像素點的LBP特征經過模糊推理系統后可以轉換為一個8維向量Dout,但過高的維數會增加計算量.因此,在確定邊緣特征前,先要對圖像中存在的大量數據樣本進行降維.
定義:當數據樣本降維為3維向量時,記為V.樣本V的第1維數據表征8連通區域中色相值的差異性.Dout中的每一維代表色相值的差異大小,將Dout中每一個值的和作為V的第1維數據.該維數據的值越大,表征Dout中差異較大的色相值越多.第1維數據中數值最大的是噪聲點,數值較大的是邊緣點,數值較小的是一般點.通常認為若一個像素點是邊緣點,那么這個點經過模糊推理得到的8維輸出向量Dout中,有4個數值較大,理論上Dout中較大的數值為5,一共4個,合計為20.然而,僅僅靠這一數據得出的結果可靠性較差,基于8連通區域中像素點之間的分布特征,分別加入第2維和第3維數據來提高算子的可靠性.

圖6 僅使用第1維數據會被誤判的一般點Fig.6 The general point misjudged by only the first dimension

(6)
k=0,1,…,6
(7)
k=7


(8)
k=0,1,…,7
(9)

圖7 僅使用第1和第2維數據會被誤判的一般點附近被噪聲污染的一般點Fig.7 The general point misjudged by the first and second dimension

I-LBP算子的LBP特征將傳統的LBP算子計算結果(0~255之間的數字)由1維值改進為3維向量V,且具備旋轉不變性,可以識別不同方向的邊緣特征.結合上述對V的每一維數據的分析,理論上3維向量V=[20 2 0].
為了確定哪些特征屬于邊緣特征,本文利用 Hausdorff 距離對圖像像素點的LBP特征與邊緣LBP特征進行匹配.
模糊C均值(FCM)是一種典型的無監督模糊聚類算法.在樣本的分類過程中不需要人為干預,且在化分多類目標方面具有明顯的優勢[16].
為了使FCM算法適合本文的數據樣本,將樣本V的第2維和第3維數據的權重設為10,以使3維數據處于同一數量級,從而增加區分度.通過FCM算法分類,最終確定的邊緣LBP特征為[19.32 24.36 1.41].該特征基本符合上述理論分析.
Hausdorff距離描述的是2個點集的相似性.設有2個點集A={a1,a2,…,aN}和B={b1,b2,…,bJ},A和B之間的Hausdorff距離[17-18]表達式為
(10)
式中:‖·‖為距離范數.在Euclidean空間中,點集A和B可以看成2個圖形輪廓,Hausdorff距離則度量了2個輪廓間的最大不匹配度.
借鑒Hausdorff距離的定義,將Hausdorff距離對于空間中輪廓間的度量轉化為對于空間中像素點之間的度量.數據集A為圖像中像素點的LBP特征集合,集合中的每個元素均為3維向量,數據集A代表3維空間中的一個點集;數據集B為邊緣LBP特征,僅包含1個元素,代表3維空間中的一個固定點.選取閾值為15,將點集A中Hausdorff距離H<15的點篩選出來作為邊緣點.為了方便后續的框選障礙物輪廓步驟,新生成1幅二值圖像供框選算法處理,二值圖像與原圖像大小相同,所有像素點的值初始化為0.每找到1個邊緣點,就將二值圖像中相應位置的值修改為1.
經過邊緣提取的障礙物輪廓往往是不規則的圖形,選取矩形框圈選障礙物輪廓,得到其在圖像中的位置和大小信息.框選算法過程如下:
(1) 以圖像左上角作為圖像坐標原點,寬度方向為x軸,高度方向為y軸.
(2) 提取一個輪廓中坐標的最大、最小值xmax,xmin,ymax,ymin.如果輪廓位于圖像邊界且被邊界切斷,則將圖像邊界視為該輪廓的一部分.
(3) 將(xmin,ymin)和(xmax,ymax)2個點作為矩形的對角點,則矩形可被唯一確定為包含障礙物輪廓的最小矩形.同時,計算矩形的寬度Wr=xmax-xmin,高度Hr=ymax-ymin以及面積Sr=WrHr.
(4) 不保存面積過小的矩形數據,認為該矩形是檢測過程中出現的誤檢或是距離特別遠的物體,故無需考慮.
(5) 重復步驟(2)~(4),找出下一個矩形,并判斷該矩形是否被之前找出的矩形所包含,互相包含的矩形只保留面積最大的矩形,即僅提取最大面積的外輪廓.
(6) 重復步驟(5),直至所有矩形都被找到.
基于輪廓框選障礙物,與目標跟蹤不同,避障時不對特定的障礙物進行跟蹤,而是將出現在圖像中的物體均視為障礙物,因此沒有嚴格的前景和背景之分.當無人機飛行速度變化較大、圖像變化不穩定時,一旦檢測到前方有距離較近的障礙物(使用超聲波、毫米波雷達或雙目攝像頭輔助測距),避障算法會控制無人機進入避障模式,根據當前的障礙物分布情況規劃避障路徑,使無人機飛行進入穩定狀態.此時的圖像變化及障礙物檢測情況均不會發生太大的變化.
在MATLAB r2017a平臺上對算法進行仿真實驗驗證.PC機CPU為i5-4430@3.0GHz,內存為8 GB.
以分辨率為512像素×512像素的Lena圖像作為實驗對象,加入密度為 0.01 的椒鹽噪聲.I-LBP算子與 Sobel算子、Roberts算子、Laplace算子和Canny算子的檢測效果對比如圖8所示.

圖8 I-LBP算子與其他算子的檢測結果對比Fig.8 Comparison of I-LBP operator with other operators
由圖8可知:I-LBP算子對噪聲的抑制能力更強;Laplace算子和Canny算子對噪聲的抑制能力最差;Sobel算子和Roberts算子具有一定的噪聲抑制能力,然而其邊緣信息提取不完整.
在傍晚光照條件較差的情況下,拍攝1張分辨率為720像素×540像素的石碑圖片.I-LBP算子與Sobel算子、Roberts算子、Laplace算子和Canny算子的檢測效果對比如圖9所示.
由圖9可見:在光照條件較差的情況下,I-LBP算子的檢測效果較好;Sobel算子、Roberts算子檢測效果類似,只能檢測出圖中最為明顯的3個目標,且輪廓斷裂較嚴重;Laplace算子和Canny算子噪聲太多,無法順利提取輪廓.此外,I-LBP算子還具有較高的實時性,處理分辨率為720像素×540像素的圖片平均耗時100 ms,可以滿足無人機避障的實時性要求.
使用結構相似性(SSIM)指標對邊緣信息的提取效果進行量化,其量化指標對比結果如表2所示.由表2可知,I-LBP算子的SSIM指標優于其他算子.另外,當圖像加噪后,I-LBP算子的SSIM指標降低幅度最小,所以,I-LBP算子具有良好的穩健性.
I-LBP算子對部分典型場景的障礙物框選實驗如圖10所示.前兩幅圖為在正常光照下拍攝的場景,后兩幅為在傍晚弱光照條件下拍攝的場景,圖片分辨率為720像素×540像素.由圖10可見:I-LBP算子可以在正常光照條件下識別出圖中的全部障礙物;在光照條件較差的傍晚也可以識別出絕大多數的障礙物.以I-LBP算子為基礎的邊緣提取算法可以為障礙物框選提供重要依據,達到無人機避障對障礙物的高實時性檢測要求.

表2 不同算法檢測結果的結構相似性指標Tab.2 SSIM of different algorithms

圖9 光照條件較差時I-LBP算子與其他算子的檢測結果對比Fig.9 Comparison of I-LBP operator with other operators under extreme illumination conditions

圖10 障礙物框選效果Fig.10 Results of obstacle selection
本文提出了一種基于HSV顏色空間的快速邊緣提取算法,用模糊集理論改進LBP算子對像素點局部紋理特征的描述;用Hausdorff距離確定邊緣點;用矩形框圈選障礙物輪廓.I-LBP算子可以在光照條件較差和高噪聲污染的環境下,提取邊緣信息,且具有較高的穩健性,可以有效地提升無人機避障系統對于光照條件的適應性,同時降低攝像頭成本.此外,I-LBP算子還具有較高的實時性,處理分辨率為720像素×540像素的圖片平均耗時100 ms,可以滿足無人機避障的實時性要求.
I-LBP算子所提取的圖像邊緣連續性較好,但邊緣粒子較粗.為提高I-LBP算子的適用范圍,在今后的工作中將進一步研究邊緣信息的細化問題.