余佳恩,馬國軍,任永恒,王亞軍
(江蘇科技大學電子信息學院,江蘇鎮(zhèn)江 212003)
室內(nèi)機器人在移動過程中,需要感知周圍環(huán)境,以進行目標檢測和路徑規(guī)劃。常用的傳感器有激光雷達、超聲波和紅外傳感器等,為獲得較多的信息,視覺傳感器也廣泛應用于機器人目標檢測。
機器人目標檢測方法是將提取的目標圖像特征轉(zhuǎn)化為特征向量,利用分類器進行分類[1-2],同時用滑動窗口對目標定位,找到與目標特征最相似的位置。
隨著人工智能技術的不斷發(fā)展,基于深度學習的目標檢測算法逐步被應用,并成為研究熱點?;趨^(qū)域建議的算法先對可能存在的目標區(qū)域進行大量的建議,構成候選目標,然后進行識別,得到檢測結果,如Faster R-CNN 系列檢測算法[3-4],但該類算法存在處理數(shù)據(jù)速度慢,對候選區(qū)域進行處理時有大量的重復計算等問題。基于回歸學習的檢測算法能夠一步完成檢測過程,如YOLO 在去除區(qū)域建議的過程中[5],直接利用卷積神經(jīng)網(wǎng)絡(Convolutional Neural Networks,CNN)對整幅圖像進行處理,預測出目標的位置和類別,該方法雖然提高了運算速度,增加了實時性,但其定位的準確性較低[6]。
基于此,文中設計并研究了基于MobileNet-SSD模型的目標檢測方法,并且輸出機器人到目標障礙物的距離。該方法使用MobileNet 網(wǎng)絡作為SSD 的基礎網(wǎng)絡進行特征提取,將檢測到的目標投影到深度圖中,同時計算包圍盒內(nèi)的深度平均值作為障礙物到機器人的距離。
文中融合計算機視覺和深度學習的方法,進行機器人障礙物目標全自動檢測,并得到距離信息,為機器人避障、路徑規(guī)劃提供基礎。
目前,為得到較高的準確率,CNN 的深度逐漸增加,復雜度逐漸增強[7]。但是,硬件資源的限制使得巨大且復雜網(wǎng)絡模型在嵌入式設備上無法實際應用。針對CNN 存在的問題,Google 于2017 年發(fā)布了MobileNet 卷積神經(jīng)網(wǎng)絡模型[8]。
MobileNet 采用深度可分離卷積[9]代替普通卷積,為每個輸入通道提供單獨的濾波器,使用點卷積結合所有輸出的深度卷積,使計算量大大減小,標準卷積分解為可分離卷積的示意如圖1 所示。
圖1 普通卷積和深度可分離卷積
針對R-CNN 系列檢測算法處理數(shù)據(jù)速度慢,YOLO 類算法定位準確率低的問題,文獻[10]提出了SDD 算法。與兩階段目標檢測算法相比,SSD 采用端到端的方法和金字塔式的多尺度特征層,具有實時性好、結果準確的特點。
SSD 算法以VGG16 為基礎網(wǎng)絡,通過增加4 個卷積層獲得更多的特征圖。通過多尺度特征信息和待檢測圖像的大小信息,生成候選框位置和置信度。在輸出層,利用非極大值抑制算法((Non-Maximum Suppression,NMS)去掉無效的候選框,將候選框和標注框進行匹配,從而得到目標的信息,包括位置、類別和置信度[11-13]。
SDD 由基礎網(wǎng)絡和輔助網(wǎng)絡組成。輔助網(wǎng)絡在VGG-16 的基礎上增加用于目標檢測的卷積層,其目標檢測步驟如下:
Step1:初始化,載入模型進行網(wǎng)絡訓練;
Step2:提取部分圖像區(qū)域,構造候選框;
Step3:計算置信度,置信度值越大,準確性越高;
Step4:輸出置信度和物體在圖像中的位置。
利用RGB 相機獲取場景的彩色圖像,利用MobileNet-SSD 進行障礙物檢測并構建目標包圍盒;然后,利用左右兩個紅外相機獲取場景的深度圖像,將RGB 彩色圖像和深度圖像融合配準,得到RGBD圖像數(shù)據(jù);最后,將目標包圍盒投影到深度圖中,并輸出目標的類別和距離。具體流程如圖2 所示。
圖2 MobileNet-SSD目標檢測流程圖
圖像配準是將多個傳感器從不同視角獲得的多幅圖像,在同一場景下尋找?guī)缀紊系膶P系。
圖像配準可分為基于區(qū)域的配準和基于特征的配準兩種方法[14]?;趨^(qū)域的配準方法[15]由事先定義好尺寸的窗口來進行相關性估計。比較典型的算法有相關算法、傅里葉算法和互信息算法。
基于特征的配準方法[16]是對不同圖像中提取的特征,如點、線特征進行關聯(lián),因而對圖像的旋轉(zhuǎn)、平移和尺度變換等具有不變性。
在深度圖像配準中,由3D 相機獲得的圖像包括深度圖像和彩色圖像。由于深度相機和彩色相機的位置不同,因而需要通過配準,將深度圖像坐標系轉(zhuǎn)換到彩色圖像坐標系下,使得深度圖像和彩色圖像融合,得到配準深度圖像。
設3D 相機的左側(cè)相機為深度相機,右側(cè)相機為彩色相機,深度圖像配準到彩色圖像的過程由式(1)描述:
其中,W′為變換矩陣,(uL,vL,zL)T為深度圖像的像素坐標,(uR,vR,zR)T為彩色圖像的像素坐標。
變換矩陣W′的構造過程如下:
1)構造深度相機坐標系到圖像坐標系的變換,由攝像機標定原理可知,相機坐標到圖像坐標的變換為:
于是,圖像坐標系到相機坐標系的變換為:
其中,LR為雙目相機標定的左側(cè)相機內(nèi)參矩陣。
2)同理,構造右側(cè)相機坐標系到圖像坐標系的變換:
其中,RR為雙目相機標定的右側(cè)相機內(nèi)參矩陣。
3)左側(cè)相機坐標系到右側(cè)相機坐標系變換為:
其中,M為兩個相機光心的外參矩陣。
4)左側(cè)圖像坐標轉(zhuǎn)換到右側(cè)圖像坐標系,并左乘RR矩陣得到:
此時,根據(jù)深度圖像和彩色圖像中像素的坐標,可以得到配準深度圖像中的像素坐標。
研究中的軟硬件實驗平臺為PC 端,操作系統(tǒng)為Ubuntu16.04,計算機配置為Intel 酷睿4 核CPU,內(nèi)存為8 GB,框架使用TensorFlow 深度學習框架,使用的視覺相機是Intel RealSense D435i。
Intel RealSense D435i 可用于室內(nèi)外的視覺檢測與導航,最大測距為10 m,與光照、場景、校正有關。圖像傳感器采用全局快門,每個像素大小為3 μm ×3 μm,深度相機最小測距為0.105 m,視場深度為(87°±3°)×(58°±1°)×(95°±3°),深度輸出分辨率最大為1 280×720,幀率為90 f/s,RGB 相機最大分辨率為1 920×1 080,RGB幀率為30 f/s,RGB傳感器視場FOV(H×12 V×D)為69.4°×42.5°×77°(±3°),長寬高為90 mm×25 mm×25 mm,所用接口為USB 接口,采用Vision Processor Board 及Intel Real Sense Vision Processor D4。文中實驗示意圖如圖3 所示。
圖3 實驗示意圖
紅外光發(fā)射器將紅外結構光投射到場景中,紅外接收部分主要有左右兩個紅外相機,用于接收被物體反射的紅外光,并采集場景內(nèi)物體的空間信息;RGB 相機用于獲取彩色圖像。
實驗中,在D435i 前方放置目標,獲取彩色圖像和深度圖像,并配準對齊,融合到一幅圖像中,利用MobileNet-SSD 模型定位場景中的目標,構建包圍盒,通過深度圖像計算機器人到目標之間的距離。實驗中測到的距離為105.1 cm,實驗結果如圖4 所示。
圖4 實驗結果圖
對于機器人移動過程中的障礙物檢測,為了判斷目標障礙物的類別與距離,研究融合深度學習和視覺感知的障礙物檢測技術,利用Intel RealSense D435i 深度相機獲取場景信息,基于深度學習MobileNet 和SSD 網(wǎng)絡提取場景中的目標并輸出目標類別和距離,為機器人障礙物檢測提供新的方法。