李成成 張曉玲
(1.江蘇理工學院機械工程學院 常州 213000)(2.江蘇理工學院電信學院 常州 213000)
目標檢測[1~2]與定位是計算機視覺系統的關鍵技術之一,如對象跟蹤、定位,三維重建[3]等,目標檢測效果將影響后續工作的進展。目前已有諸多的目標檢測算法,針對黑暗場景中傳統障礙物的檢測方法,如超聲波[4]無法反應特定區域的障礙特征,且單個超聲波設備無法獲取全局的距離信息;雙目立體視覺[5]技術無法提取有效的特征紋理實現特征匹配;結構光適用于在紋理不明顯的環境中通過光柵[6~8]獲取特征紋理,由于解相位算法[9~11]處理消耗時間相比其他算法較長。因此,進行暗環境中障礙物目標檢測并提取障礙物區域具有較高的理論意義和應用價值。
文獻[12]采用舵機結合超聲波傳感器檢測障礙物實現避障,但只是單純的避障功能,沒有更多探測障礙物的形狀和位置。文獻[13]通過偏振光特性對高反光目標三維重建,對于無反光黑暗場景中的目標重建無法適用。文獻[14]結合光柵和立體視覺的優點進行三維重建,由于通過全局重建然后再判斷障礙物導致非實時性的工作。文獻[15]使用脈沖激光雷達探測障礙物,范圍和精度都優于超聲波且可以對障礙物成像,適用于復雜環境,但是只完成了數據采集,并沒有對障礙物進行定位分析以及重建。
實驗中采用線激光模擬光柵投射,提出一種基于直方圖極值選擇的局部障礙物檢測方法。針對暗環境中紋理差異很不明顯的特點,首先統計灰度直方圖提取較明顯區域,找到局部極大極小值。然后用全局極大值與原點處極大值之間的范圍檢測輪廓。最后檢測出障礙物的區域后,通過檢測的線激光間距與樣本線激光間距匹配,便實現了檢測障礙物并得到障礙物距離信息,進一步可以得出障礙物高度信息。
在線激光實時掃描過程中,首先通過攝像頭獲取含有線激光條紋的原始圖像,預處理圖像。障礙物在圖像中由于線激光條紋的作用,在暗環境中無法準確確定此灰度值。根據極值算法得出最佳分割閾值,用于障礙物區域的粗提取,最后由形態學處理和輪廓篩選做精提取。算法流程如圖1所示。

圖1 障礙物輪廓提取流程圖
根據所拍攝圖像的特征,障礙物的顏色特征比周圍場景都趨向于黑色,實際障礙圖如圖2。

圖2 暗環境線激光采集障礙物圖
將原始圖像預處理后分析了障礙物上的灰度信息與其他灰度信息的差異,然而根據經驗值無法將障礙物輪廓分離出來,因此需要尋找精確的閾值來判斷。通過統計灰度直方圖[16]得出每一個灰度值的概率。為提高輪廓檢測的效率,對二值化圖像形態學處理[17](開操作)。然后將面積和周長作為篩選條件,最后得到障礙物在圖像中的位置和大小信息。
直方圖統計是圖像分割算法中的一個非常重要的步驟。圖像的灰度值是離散變量,因此直方圖表示的是離散的概率分布。為了計算某一集中區域的灰度值概率分部,需要將直方圖每一個灰度的概率統計,并根據直方圖特征計算該障礙物明顯特征范圍,獲取極大極小值方法如式(1)。

方程中s(i)代表局部極大值,根據i位置前后的大小比較代替擬合求導。同理h(i)代表局部最小值,將統計數據歸一化處理提高處理效率。T的標準是為了去除部分灰度概率過低的部分。T的選取標準為

式中T的選取影響對障礙物區域的準確判斷。以最小值為標準,對比局部極大和極小和的平均值,可以避免對T的錯誤選取,致使無法識別障礙物。對兩種不同大小的障礙物的灰度直方圖的提取如圖3所示。

圖3 灰度直方圖極值提取
圖3可以看出針對兩幅不同的圖像統計出來的直方圖,局部最大值位置依次往左觀察,發現經過一個峰谷便是一個峰頂,根據這個差值作為標準進行下一步工作的篩選,得到二值圖。
確定了直方圖的各個極值后,根據s(i)-s(i-1)的結果,將小于s(i)大于s(i)-s(i-1)區域的灰度值全部置為255,其余全部置0,然后形態學處理,形態學開運算再閉運算,最后輪廓檢測。形態學處理二值化如圖4,輪廓檢測篩選結果如圖5。

圖4 形態學開閉操作二值化

圖5 障礙物截取結果
可以發現二值化后的圖形障礙物的形狀基本出現,由于激光條紋的作用無法將激光位置的空余填補,兩幅圖均有空洞。有如下兩種方法處理這種情況:1)二次形態學操作;2)輪廓條件篩選。結果選擇第二種方法,因二次形態學處理并無明顯變化。
最小二乘法的原則是以“殘差平方和最小”確定直線位置。用最小二乘法除了計算比較方便外,得到的估計量還具有優良特性。算法法流程如圖6。

圖6 線激光條紋間距計算流程
線條紋激光擬合直線最小二乘的約束函數為

式(3)中K即檢測出來的直線,其斜率絕對值不超過0.02即認為是水平直線。然后將直線根據最小二乘公式得出直線方程yi=axi+b。將每個樣本圖像的線激光條紋像素間距計算出來后,與相對應的實際距離構成若干組觀察值,進行第二次數據擬合。最后拍攝任意一張線激光圖像,根據擬合結果計算障礙物的距離,同時可以計算除去障礙物后的背景距離,兩者之差為物體高度。
上述兩節已經描述了整個實驗的算法流程,通過圖像的采集和數據樣本計算,與現實的結果對比分析,可以很好地描述障礙物信息。實驗設備是等距排列的五個激光發射器,圖像處理數據庫為OpenCV。
步驟一:70cm開始,投射線激光至樣本平面,確保線激光水平,逐漸減小距離,每隔2cm拍攝一張,相機與激光設備盡量水平。
步驟二:計算每張圖片線激光像素間距,同時記錄對應的距離。共15張圖像,15組數據。
以40cm和42cm獲取的樣本圖片為例,結果如圖7。

圖7 線激光擬合結果
兩張圖片僅憑肉眼發現不出差異,但是根據擬合的結果可以看出,每條直線都滿足約束函數,接近于水平,當在40cm獲取的圖片時,圖像中線激光擬合的五條直線方程結果如圖7所示。
以下是40cm采樣圖中相鄰兩直線的像素間距L1=231,L2=234,L3=215,L4=219。其間距誤差最大為15個像素點,這個誤差值不到0.3%,可忽略不計。部分數據如表1。

表1 數據采集部分結果
實驗中用全部數據做最小二乘多項式擬合,擬合結果如圖8。

圖8 二次多項式擬合
通過計算,均方根誤差RMSE為0.6291,證明二次擬合離散程度很小,損失函數也達到最小。根據得到的方程就可以用于測量。結果為y=0.00142x2-1.077x+238.2。
在實際測量過程中,只需最小二乘擬合線激光,然后與完成的樣本間距匹配,最后利用擬合方程計算,兩者結果對比分析。實驗結果如表2。
通過對比發現,利用最小二乘的方法更為準確,因為拍攝圖本身存在誤差。而且障礙物越大,直線檢測效果越好,誤差越小。

表2 實驗結果與誤差
為尋找障礙物表面的激光,通過分析灰度直方圖分離障礙物的算法,計算樣本與實際的偏差,將兩者進行最小二乘擬合處理,然后實驗精確地擬合了線激光條紋,利用數學方法補償了硬件設備帶來的誤差。其中直方圖的分析與統計是算法中的基礎,在紋理變化不明顯的圖像中且檢測規則的障礙物較為實用。