代金坤,羅玉濤,梁偉強
(1.華南理工大學機械與汽車工程學院,廣州 510640; 2.廣汽集團汽車工程研究院,廣州 510640)
視覺傳感器具有提取信息量大、信息完整、價格便宜等優點,故成為獲取周圍環境信息的重要手段之一。由于圖像存在深度缺失以及背景環境干擾等問題,通過單目攝像頭對物體進行準確測距的方法一直是視覺研究的難點之一,目前主流的檢測方法有:使用運動圖像中的多個匹配點對物體深度進行估測[1-5];通過尋找穩定參照物的方法獲得距離信息[6-7];通過固定攝像頭位姿狀態下的物體距離檢測方法[8-10];通過卷積神經網絡檢測物體在圖片中的大概尺寸,結合先驗信息進行估測[11-13]。這些方法都有一定的可行性,但都存在精度低、適用性窄、容易受環境干擾以及步驟繁瑣等問題。利用卷積神經網絡預先提取所測物體位置,再經過圖像分割得到所測物體信息的方法,減少了由于外界環境的影響而帶來的誤差,具有更好的適用性、可靠性和抗干擾能力。
針對單目物體測距中深度缺失、背景干擾與前景分割困難等問題,提出了一種基于幾何測距模型的物體測距方法。首先,使用卷積神經網絡對物體進行標記并定位物體在圖片中的位置,為了提高訓練效率與準確率,在此利用遷移學習的方法,使用Tiny-YOLOv2網絡模型加載已訓練完成的權重,對需識別的物體進行訓練與檢測,之后根據訓練結果對網絡模型進行改進,并對其參數進行調整,獲得更為適合于當前環境下的物體檢測卷積模型。然后,提出了一種通過物體分類、邊緣檢測和邊緣擬合技術獲得物體數值信息的方法,該方法能精確提取物體的圖像信息,并轉化為數值信息。最后,建立了一種基于空間幾何理論的測距模型,結合在圖像中提取的物體數據信息和物體尺寸的先驗信息實現了物體的距離測量。
直接在原始圖像上進行物體的分割與數值化,存在物體提取困難以及計算量過大等問題,故先使用卷積神經網絡模型在壓縮尺寸后的圖像上對物體進行檢測與定位,得到物體的位置后再從原始圖像中將物體裁剪出來進一步處理。本文中使用遷移學習的方法,在已有的模型和通用數據庫訓練得到的權重下,加入自己的數據集,可快速得到理想權重,極大地節約了時間與成本。
目前基于深度學習的主流目標檢測算法主要有以R-CNN[14-16]系列(R-CNN、Fast R-CNN、Faster RCNN)為代表的算法,和以SSD[17]、YOLO[18-20]系列(YOLOv1,YOLOv2,YOLOv3,Tiny-YOLO)為代表的算法。一般情況下,R-CNN系列算法精度比SSD、YOLO系列算法高,但SSD、YOLO系列算法速度更快。SSD、YOLO系列算法在經過改進后精度已有很大的提升,已接近甚至超越了R-CNN系列算法。本文中基于YOLOv2模型的簡化版本Tiny-YOLOv2進行目標檢測,提高了訓練速度與處理效率。
本文中的數據集數據較少、物體種類不多,且識別目標較小,基于通用物體識別的Tiny-YOLOv2網絡并不能表現出最優的檢測效果,故在此對原網絡模型進行改進。由于Tiny-YOLOv2本身即為簡化版本,網絡結構已達到效率最高,故在此保留原網絡層數,而將第13層的卷積層由Conv3*1024改為Conv3*512,將最后一層卷積層由Conv1*425改為Conv1*50,具體情況如表1所示,以此來進一步提高物體的檢測準確率與檢測效率。

表1 改進前后網格對比
利用265張訓練集圖片數據進行訓練,60張測試集圖片進行測試,共檢測識別了5種不同的物體,分別為門牌、逃生通道燈、車牌和兩種常見提示牌,在同一電腦配置下,通過原網絡和改進網絡進行訓練,在其余參數設置相同的情況下,原網絡在迭代次數為400次時損失函數不再下降,改進網絡在迭代次數為1 100次時損失函數不再下降,改進網絡訓練情況部分識別結果如圖1所示,原網絡訓練情況在這里不做描述,訓練集損失函數對比如圖2所示。
基于遷移學習優勢,原網絡和改進網絡的訓練效率都有較大幅度提升,改進網絡由于網絡模型發生改變導致部分權重需重組,所以訓練時間更長,但是改進網絡最終的平均損失率要低于原網絡。
由表2可知,由于樣本總量較小,導致兩種網絡在測試集的識別率都較低,但相對來說改進網絡的識別率仍有顯著的提升。同時,在訓練集的識別率與檢測速度上改進網絡皆優于原網絡。

圖1 部分識別結果

圖2 損失函數對比

表2 網絡對比
此步驟的主要目的是從第1.2節中裁剪出來的圖片中獲取物體的數值信息,即不僅要將物體分割提取,并且要將提取到的物體邊界進行數值化,物體由于射影定理,在圖片上的形狀為多邊形,而對于多邊形而言,只要得到邊緣頂點坐標即確定了多邊形的全部數值信息。在此提出了一種通過物體分類、邊緣檢測和邊緣擬合獲得物體數值信息的方法。
因為不同的物體在紋路和顏色方面有些許差異,使用通用的檢測參數與檢測方法并不能獲得最優的效果。故該方法首先通過上文中物體檢測獲得的物體標簽信息將物體進行分類,根據不同的物體種類設置不同的檢測參數與檢測流程,以此來獲得最優檢測效果。主要變動的參數包括:邊緣檢測閾值、色彩空間提取的RGB顏色范圍、Hough直線檢測線段閾值。主要的檢測流程包括:中值濾波消去噪聲、使用Canny函數進行邊緣檢測、使用色彩空間過濾顏色、使用OSTU算法進行圖像二值化處理、使用Hough變換檢測直線,以此得到物體的邊緣信息,具體參數如表3所示。

表3 主要方法與主要參數
通過滑動窗口的二次多項式擬合算法可有效提取與擬合多邊形邊緣,為提高擬合效果,在此對算法進行改進,加入了k、l1、l2、r1、r2感興趣區域的參數,具體過程如下。
首先,統計圖片某部分的每列像素之和,以左右兩邊的感興趣區域為范圍搜尋像素值和的最大值作為滑動窗口的起始點。

式中:Pij為圖像的像素矩陣P第i行、第j列的值;m、n為圖像的像素寬度與高度;hj為每列像素之和;Bl、Br為滑動窗口的左右初始點;k、l1、l2、r1、r2為感興趣區域的參數。
根據式(1)獲得初始點之后,算法根據一個矩形面積向上生長,根據矩形中像素最大值確定生長方向以及下一個初始點,以此迭代,最后通過多項式擬合方法對每一個矩形的中心點進行擬合,最終得到邊界信息,設矩陣4個頂點坐標分別為(w1,h1)、(w1,h2)、(w2,h2)和(w2,h1),迭代過程如式(2)所示。

式中:N為矩形內像素之和;cj為矩形內每列像素之和;Bc為滑動窗口的迭代后的初始點。
由于多邊形邊界分布在圖像邊緣部分,以此為據對算法參數進行設置,增加了滑動窗口在圖像邊緣部分的搜索力度,并在寬度和高度方向上各使用一次。在已知圖像尺寸m、n的情況下,通過對算法參數的反復調整,得到最優的擬合方法,參數設置如表4所示,最終效果如圖3所示。

表4 參數設置

圖3 檢測示例
根據擬合結果可得數條直線,求解相鄰直線的交點,即可得到多邊形的頂點坐標信息(u,v)。

如圖3所示,通過該方法能準確地提取各類物體的邊緣信息并進行數值擬合,得到物體的頂點坐標信息,整體上則取得了較好的效果。
在此提出了一種結合物體尺寸的先驗信息進行測距的幾何測距模型,通過建立攝像機小孔成像模型來確定空間目標三維立體信息與圖像二維成像點面之間的對應關系[21-22],并通過第2章中獲得的物體數值信息與先驗信息,得到物體的距離。小孔成像模型示意圖如圖4所示。

式中:K為相機的內參數矩陣;fx、fy分別為x、y軸方向的放大系數;cx、cy為物理成像坐標系和像素坐標系之間的位移量。
通過第2章中物體提取與數值化的方法,得到

圖4 小孔成像模型
物體在像素平面內的多點坐標(ui,vi)。通過式 (4),得到含有未知數Z的物體在相機坐標系下的三維坐標。

根據立體幾何學,在空間中任意不共線的3點構成一個平面,在此已知相機坐標系下4點之間的相互關系,則可構建以下關系:

觀察式(11)左邊第3項,在實際應用中由于物體在空間中的位姿對Z值的影響較小,可認為Zi≈Zj成立,故在此做近似處理,由基本不等式a+b≥可將式(11)化簡:

由于物體始終在相機前方,故在此Zi≥0恒成立。令xi=,在此以矩形的求解過程舉例,將其分割為兩個三角形進行求解。

觀察得知,該方程組為超定方程組,在存在測量誤差的情況下,該方程組一般而言沒有解,所以使用最小二乘法求其近似解,通過最小二乘原理,將式(14)轉化為如下矩陣進行求解。


對矩陣方程進行求解,即可得到各個頂點的Z軸信息再通過式(16)求距離信息。將各點距離信息求均值,得到物體中心點的距離信息,至此測距完成。

為驗證所采用方法在實際應用中的準確度與抗干擾能力,通過采集多組實際場景信息對方法進行驗證。本文中使用darkflow模塊對卷積神經網絡模型進行修改和調用,使用numpy庫對幾何模型中的矩陣運算進行優化。
攝像頭使用的物理感光元件為索尼公司的IMX498傳感器,傳感器尺寸為1/2.8英寸,長寬比例4∶3,攝像頭實際焦距為3.5 mm。分析該方法的過程發現,檢測的精度主要與物體在圖片中的像素尺寸和位姿有關,與物體實際距離的遠近無關,即只要物體在圖像中存在合理的尺寸與位姿,物體的實際距離并不會影響該方法的測量精度,故在此采集了1~4 m范圍內的圖像數據作方法的驗證。通過該攝像頭檢測3類大小不同的物體,分別在1、2、3、4 m處各個不同的位置進行圖片采集與檢測,經過篩選后得到總計42張不同距離和角度的圖像,部分圖像如圖5所示。
對每組圖像中的物體進行距離測量,測量結果如圖6所示。
測量結果表明,該測量方法的精確度較高,在4 m以內88%以上的測量值誤差不超過0.2 m。測量誤差并沒有隨著距離的增加而有較大變化,而是穩定在一個固定的區間范圍內。

圖5 部分圖像

圖6 測量結果
基于遷移學習的方法改進了Tiny-YOLOv2網絡模型,將原網絡的檢測效率與測試集準確率提高了1.5幀與11%。通過該檢測網絡得到了被測物體的標簽信息與在圖像中的位置信息,將物體從原圖像中進行裁剪用于下一步處理。
提出了一種檢測物體邊界數值信息的方法,該方法通過檢測到的標簽信息對物體進行分類,對不同種類的物體通過不同的閾值參數信息與不同的圖像處理組合方法進行邊緣檢測及邊緣擬合,獲得準確的物體數值信息。
建立了一種檢測物體距離的幾何測量模型,該模型結合物體尺寸的先驗信息與得到的物體在圖像中的數值信息,對物體進行準確的測距。通過試驗證明,該測量方法的精確度較高,在4 m以內88%以上的測量值誤差不超過0.2 m,同時測量誤差并沒有隨著距離的增加而有較大變化,而是穩定在一個固定的區間范圍內。