得益于人工智能,機器學(xué)習和計算機視覺(jué)等融合技術(shù)的進(jìn)步,機器人每天都能看到,分析和做出更像人類(lèi)的決策。開(kāi)發(fā)此類(lèi)機器視覺(jué)分析邏輯涉及實(shí)現解決方案,這些解決方案可以確定對象的方向,處理移動(dòng)的對象并執行導航。而解決方案的基礎是始于兩項重要任務(wù):
一、預處理通過(guò)傳感器從現實(shí)世界收集的數據,以使各個(gè)子系統將其變?yōu)楦捎玫臓顟B(tài)
二、執行特征檢測以從數據中提取視覺(jué)特征,例如角,邊等。
這些系統到位后,可以繼續使用更高級別的機器人視覺(jué)功能,即:對象檢測和分類(lèi)以及對象跟蹤和導航。
檢測物體和方向
由于視點(diǎn)的變化,不同尺寸的圖像和動(dòng)態(tài)照明條件,物體檢測和分類(lèi)在傳統上一直具有挑戰性??梢蕴峁椭囊环N解決方案是,使用經(jīng)過(guò)訓練以檢測和分類(lèi)對象的神經(jīng)網(wǎng)絡(luò )。
一種流行的方法是使用卷積神經(jīng)網(wǎng)絡(luò )(CNN),其中圖像的一小部分以稱(chēng)為“滑動(dòng)窗口”的過(guò)程被饋送到網(wǎng)絡(luò )中。另一個(gè)任務(wù)是確定對象的方向,這對于對象交互和導航都很重要。這里的主要挑戰是確定對象或機器人本身在3D世界空間中的方向。一種流行的方法是應用單應性算法(例如線(xiàn)性最小二乘法求解器,隨機采樣和共識(RANSAC))以及最小二乘方中值來(lái)計算2D圖像幀之間的點(diǎn)。一旦檢測到對象,就可以為它們分配元數據,例如ID,邊界框等,這些元數據可以在對象檢測和導航期間使用。
可以檢測和識別物體和人
識別出周?chē)h(huán)境的物體和方面后,機器人需要對其進(jìn)行跟蹤。由于對象可以移動(dòng),并且機器人的視口會(huì )隨著(zhù)導航而變化,因此開(kāi)發(fā)人員將需要一種機制來(lái)隨時(shí)間推移以及跨攝像機和其他傳感器捕獲的幀跟蹤這些元素。由于此機制必須足夠快才能運行每個(gè)幀,因此多年來(lái),已經(jīng)設計了許多算法,這些算法以不同的方式解決該問(wèn)題。
例如,質(zhì)心跟蹤會(huì )計算跨幀的已標識對象周?chē)倪吔缈虻闹行狞c(diǎn),然后在假定對象每幀僅移動(dòng)一定距離的假設下計算該點(diǎn)變化時(shí)該點(diǎn)之間的距離。另一種方法是使用卡爾曼濾波器,該濾波器使用一段時(shí)間內的統計數據來(lái)預測對象的位置。
替代地,均值漂移算法是一種基本上找到幀的子區域內圖像的某些方面(例如,顏色直方圖)的均值的方法。然后,通過(guò)尋求最大化特征的相似性,在下一幀中尋找相同的描述。這使它能夠解決諸如比例,方向等變化,并最終跟蹤對象的位置。
由于這些技術(shù)僅需要跟蹤原始特征的子集,因此它們通??梢愿咝页晒Φ靥幚碇T如方向或遮擋等變化,從而使它們對于機器人視覺(jué)處理非常有效。
但是對象并不是唯一需要跟蹤的東西。機器人本身應該能夠成功地導航其環(huán)境,這就是同步定位和地圖(SLAM)出現的地方。SLAM試圖估算機器人的位置并得出環(huán)境圖??梢允褂迷S多算法(例如卡爾曼濾波器)來(lái)實(shí)現。SLAM通常通過(guò)融合來(lái)自多個(gè)傳感器的數據來(lái)實(shí)現,并且當涉及視覺(jué)數據時(shí),該過(guò)程通常稱(chēng)為視覺(jué)慣性同時(shí)定位和映射(VISLAM)。
應用來(lái)自多個(gè)傳感器的多個(gè)過(guò)濾器以收集跟蹤信息。當然,SLAM只能達到機器人可以感知的水平,因此開(kāi)發(fā)人員應選擇高質(zhì)量的相機和傳感器,并找到確保其不受數據捕獲影響的方法。從安全角度考慮,開(kāi)發(fā)人員還應設計故障保險柜,以防萬(wàn)一無(wú)法獲取數據(例如,攝像機被遮蓋)。
下一代利用計算機視覺(jué)和機器學(xué)習技術(shù)的機器人,具有“查看”周?chē)h(huán)境,“分析”動(dòng)態(tài)場(chǎng)景或變化的條件以及“做出決定”的能力,因此更加先進(jìn)。這將要求開(kāi)發(fā)人員精通用于對象檢測和分類(lèi)以及對象跟蹤和導航的高級機器人視覺(jué)功能和工具。