3D視覺應(yīng)用開發(fā)--機(jī)器人3D互動四大技術(shù)難點(diǎn)分析
點(diǎn)擊上方“小白學(xué)視覺”,選擇加"星標(biāo)"或“置頂”
重磅干貨,第一時(shí)間送達(dá)
先回顧一下需要達(dá)成的應(yīng)用場景:簡單說就是利用3D視覺傳感技術(shù)實(shí)現(xiàn)人與機(jī)器之間的投球互動。玩家從“準(zhǔn)備區(qū)”投出皮球,經(jīng)過約半秒時(shí)間穿過飛行區(qū),到達(dá)回球平面時(shí),機(jī)械手對準(zhǔn)來球?qū)⑵渫苹亍H缦聢D所示:

咋一看,這個(gè)功能并不復(fù)雜,但實(shí)現(xiàn)起來非常有挑戰(zhàn)性。我們先理一下方案的大致思路:用3D視覺傳感器(即深度相機(jī))對球進(jìn)行跟蹤定位,然后通過圖像處理盡快的預(yù)測出球抵達(dá)回球平面時(shí)的具體位置,并發(fā)送給機(jī)器人控制器,再由控制器發(fā)出運(yùn)動指令,機(jī)械臂執(zhí)行到指定位置回?fù)羟颉?/span>
有小伙伴可能會問了,為什么要預(yù)測位置,我們不能在球抵達(dá)平面時(shí),直接從圖像中計(jì)算出實(shí)際位置嗎?顯然是不行的,因?yàn)闀r(shí)間上來不及。圖像傳輸,圖像處理,機(jī)械運(yùn)動都需要時(shí)間,這幾部分加起來大約 210毫秒,如果等球到了再判斷,黃花菜都涼了。所以只能提前根據(jù)球進(jìn)入飛行區(qū)的初始6幀的深度圖,計(jì)算出球在每一幀的位置,再根據(jù)這6個(gè)位置擬合拋物線,從而得到球抵達(dá)回球平面時(shí)的具體位置和時(shí)間。所以切記,這部分計(jì)算能快盡量快,時(shí)間就是生命線!

初步估計(jì),球飛行時(shí)間約400550ms,扣除6幀飛拍所需的180ms,剩余220370ms,可用于視覺系統(tǒng)處理和機(jī)器人響應(yīng)(需要約210ms,剛剛夠),能給到各個(gè)環(huán)節(jié)的時(shí)間是很緊張的,如果某個(gè)環(huán)節(jié)稍微入不敷出,這個(gè)功能就實(shí)現(xiàn)不了。所以,第一個(gè)挑戰(zhàn)就是如何保證實(shí)時(shí)性。
挑戰(zhàn)二,就是上邊提到的位置預(yù)測誤差。這個(gè)預(yù)測位置如果不夠準(zhǔn)確的話,機(jī)器人回?fù)羟驎?。仔?xì)分析的話,這個(gè)誤差的構(gòu)成因素有很多。這里主要列舉:像素精度,標(biāo)定誤差,圓擬合誤差,拋物線擬合誤差,時(shí)間誤差。
像素精度,是指每一個(gè)像素代表的實(shí)際尺寸。比如,當(dāng)VGA分辨率(640480)對應(yīng)的區(qū)間大小為 21.5米,那么每個(gè)像素的實(shí)際尺寸就是3.1mm。這個(gè)尺寸如果越大,從圖像中計(jì)算的位置誤差也就越大。
標(biāo)定誤差,是指每一個(gè)像素映射到實(shí)際空間中的坐標(biāo)時(shí),會偏離實(shí)際值。一方面,坐標(biāo)轉(zhuǎn)換矩陣不一定很準(zhǔn)確,而且,每個(gè)相機(jī)的個(gè)體之間有差異;另一方面,現(xiàn)場的相機(jī)安裝有時(shí)會有輕微松動異位,那么轉(zhuǎn)換矩陣就實(shí)效了。
擬合誤差。由于球的快速運(yùn)動產(chǎn)生拖影(見圖),造成圓擬合后的球心位置有誤差;另外,由于點(diǎn)云數(shù)據(jù)丟失,球的成像會出現(xiàn)孔洞,這給圓擬合算法帶來挑戰(zhàn)。

拋物線擬合誤差。在我們利用6幀的球心位置來擬合一條拋物線時(shí),由于理論幾何模型與實(shí)際有差異,會帶來額外的定位誤差,且該誤差有可能很大。
時(shí)間誤差。即便預(yù)測到的位置非常準(zhǔn)確,但如果抵達(dá)時(shí)間預(yù)測得不準(zhǔn),會導(dǎo)致機(jī)械臂擊球節(jié)奏的丟失,也無法滿足功能。這個(gè)誤差的誘因可能是圖像傳輸和圖像處理的耗時(shí)不穩(wěn)定,也可能是拋物線模型不準(zhǔn)確。
挑戰(zhàn)三,圖像處理算法。圖像處理包括圖像去背景噪聲,圓擬合。如果背景噪聲不能去除干凈的話,會造成把背景物體識別為球的情況。但也不能去除的太“狠”,造成球像素的受損,也會影響定位準(zhǔn)確性。圓擬合可以采用2D平面擬合,或者3D球面擬合;前者魯棒性和定位能力差一些,后者會比較耗時(shí)。
挑戰(zhàn)四,機(jī)器人運(yùn)動控制、路徑規(guī)劃。一方面要足夠塊,另一方面要根據(jù)來球的速度矢量,設(shè)計(jì)好機(jī)械臂出擊的方向和力道,使得回?fù)羟虻男Ч顑?yōu)。
綜上所述,這四大挑戰(zhàn)決定了這個(gè)應(yīng)用研發(fā)的難度不小,因?yàn)樗皇菃渭兊睦碚撗芯浚且獙?shí)現(xiàn)一個(gè)工程,就必然受到時(shí)間和空間上的強(qiáng)約束。但我們不畏懼困難,要相信辦法總比困難多 后續(xù)幾篇筆記會介紹些應(yīng)對方法。
來源:3D視覺開發(fā)者社區(qū)
鏈接:https://developer.orbbec.com.cn/forum_plate_module_details.html
交流群
歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計(jì)算攝影、檢測、分割、識別、醫(yī)學(xué)影像、GAN、算法競賽等微信群(以后會逐漸細(xì)分),請掃描下面微信號加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三?+?上海交大?+?視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進(jìn)入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~
