第一个被赋予公明身份的机器人_一文读懂机器人的“眼睛”
看過漫威電影的同學(xué)都知道,鋼鐵俠在裝甲里一眨眼,就通過眼球追蹤操控人機(jī)互動(dòng),集黑科技于一身的裝備簡直不要太炫酷。
如今,我們?cè)倩仡^看鋼鐵俠的AI識(shí)別系統(tǒng),不禁思考這背后的視覺技術(shù)。如何讓機(jī)器人像人類一樣獲取視覺能力?有請(qǐng)優(yōu)必選研究院副院長程駿為我們介紹今天的重要課題——機(jī)器視覺技術(shù)在服務(wù)機(jī)器人上的應(yīng)用。
什么是機(jī)器視覺技術(shù)
在講視覺技術(shù)應(yīng)用方案之前,我們首先弄清楚一個(gè)問題:什么是機(jī)器視覺技術(shù)?
我們都知道,機(jī)器人本身并不具有視覺感知能力,因此需要通過機(jī)器視覺技術(shù)賦予機(jī)器人一雙“眼睛”,讓機(jī)器人像人一樣具備檢測(cè)、判斷、識(shí)別等能力。
機(jī)器視覺技術(shù),就是指用計(jì)算機(jī)來模擬人的視覺功能,但這并不僅僅是人眼的簡單延伸,更重要的是具有人腦的一部分功能一一從客觀事物的圖像中提取信息,進(jìn)行處理并加以理解,最終用于實(shí)際檢測(cè)、測(cè)量和控制。
為什么要賦予機(jī)器人“視覺”
通過視覺感知世界是服務(wù)機(jī)器人必不可少的能力。
對(duì)于目標(biāo)物體,不僅要知道是什么,而且要知道在哪里;在自主導(dǎo)航過程中,機(jī)器人會(huì)遇到人、車、植物等影響行走的障礙物,目標(biāo)檢測(cè)可以作為導(dǎo)航避障的一種手段;看護(hù)類機(jī)器人,需要有跟隨看護(hù)人的功能,只有檢測(cè)并識(shí)別到了人,才能進(jìn)行跟隨以及進(jìn)一步交互…
更進(jìn)一步地說,服務(wù)機(jī)器人常用的視覺技術(shù)主要有三種 ▼
· 檢測(cè):將一張圖片中的所有目標(biāo)檢測(cè)出來,并輸出目標(biāo)的位置和大小,通常以bounding box的形式輸出結(jié)果。
· 識(shí)別:識(shí)別出圖像中的物體的種類或者人的身份。
· 跟蹤:通常講將各個(gè)視頻圖像序列中各個(gè)目標(biāo)之間的軌跡關(guān)聯(lián)起來,就形成了目標(biāo)跟蹤。
在實(shí)際應(yīng)用中常常需要應(yīng)用多個(gè)技術(shù)。比如,在物體識(shí)別中,服務(wù)機(jī)器人常常在檢測(cè)多種物體的同時(shí)也輸出被檢測(cè)到的物體的種類。而人臉識(shí)別則通過人臉檢測(cè)和人臉比對(duì)或者識(shí)別兩個(gè)主要步驟來完成。在人體姿態(tài)估計(jì)中,服務(wù)機(jī)器人則檢測(cè)來確定人體各個(gè)關(guān)節(jié)點(diǎn),并在檢測(cè)中利用各個(gè)關(guān)節(jié)點(diǎn)之間的相互關(guān)系來提高精度。
接下來,讓我們從3個(gè)方面看看視覺技術(shù)在服務(wù)機(jī)器人中的應(yīng)用:口罩佩戴識(shí)別、人體姿態(tài)估計(jì)、物體識(shí)別。
口罩佩戴識(shí)別
2020年初一場(chǎng)疫情,讓“戴口罩”模式徹底流行起來。針對(duì)這道“健康防線”,優(yōu)必選科技根據(jù)不同情況訓(xùn)練出了三類AI算法:佩戴口罩、未佩戴口罩、口罩沒戴好,協(xié)助疫情管控人員進(jìn)行監(jiān)測(cè)。
一般來說,口罩識(shí)別分三步進(jìn)行(讀入視頻圖像→人臉檢測(cè)跟蹤→口罩佩戴識(shí)別),在人臉檢測(cè)的基礎(chǔ)上,重新訓(xùn)練了分類模型來識(shí)別是否戴口罩。
當(dāng)落地到防疫機(jī)器人上,除了正常的視頻讀入與人臉檢測(cè)跟蹤外,我們還新增了姿態(tài)估計(jì)和語音提醒,當(dāng)檢測(cè)到口罩不規(guī)范戴法,機(jī)器人會(huì)及時(shí)發(fā)出語音提醒用戶戴好口罩。
劃重點(diǎn),為什么要加入姿態(tài)估計(jì)呢?因?yàn)樵诳谡肿R(shí)別的過程中,大多數(shù)需求是偏向正臉的,由于側(cè)臉口罩信息不全,容易造成誤識(shí),因此融入人臉姿態(tài)估計(jì),來抓住人臉軌跡中的正臉,實(shí)現(xiàn)口罩狀態(tài)的精準(zhǔn)判斷及推送。
在姿態(tài)精估上,優(yōu)必選科技自研適用于機(jī)器人端的輕量級(jí)神經(jīng)網(wǎng)絡(luò),結(jié)合關(guān)鍵點(diǎn)和姿態(tài)做出多層側(cè)臉過濾,從而優(yōu)化側(cè)臉誤報(bào)體驗(yàn),實(shí)現(xiàn)復(fù)雜場(chǎng)景下的人臉姿態(tài)精確估計(jì)。
但是在口罩識(shí)別的場(chǎng)景中,如果每一幀都要算精確的姿態(tài)估計(jì),在多人情況下,對(duì)計(jì)算的考驗(yàn)非常大。
為了避免這種情況,可以采用姿態(tài)粗估的方法。直觀地說,就是通過一種基于關(guān)鍵點(diǎn)位置信息的策略來判斷人臉正側(cè)。比如雙眼距離定義為d1,眼睛到嘴巴的距離定義為d2。當(dāng)正臉旋轉(zhuǎn)到側(cè)臉時(shí),容易發(fā)現(xiàn)d2基本不變,而d1卻在顯著減小。這樣就能通過姿態(tài)的粗估,抓取正臉的圖像。
除了姿態(tài)信息不全外,移動(dòng)端的人臉檢測(cè)也常常帶來很多誤檢,其中誤檢概率較高的情況有后腦勺、手、人臉檢測(cè)不全、衣服等。
為了改善誤檢的情況,設(shè)計(jì)了極其輕量的網(wǎng)絡(luò)來做人臉校準(zhǔn),通過對(duì)人臉的篩查,誤檢的過濾率可達(dá)99%以上,能有效規(guī)避誤檢帶來的誤報(bào)。同時(shí)加入人臉跟蹤,實(shí)現(xiàn)跟蹤去重推送,1個(gè)人只推送1個(gè)狀態(tài)。
人體姿態(tài)估計(jì)
這是幾十年來一直受到計(jì)算機(jī)視覺社區(qū)關(guān)注的重要問題,也是了解圖像和視頻中人物的關(guān)鍵步驟。人體姿態(tài)估計(jì),是指從單張RGB圖像中,精確地識(shí)別出多個(gè)人體的位置以及骨架上的稀疏的關(guān)鍵點(diǎn)位置。
· 2D姿態(tài)估計(jì):從RGB圖像估計(jì)每個(gè)關(guān)節(jié)的2D Pose(x,y)坐標(biāo)。
· 3D姿態(tài)估計(jì):從RGB圖像中估計(jì)每個(gè)關(guān)節(jié)的3D Pose(x,y,z)坐標(biāo)。
從廣義的角度看,人體姿態(tài)估計(jì)其實(shí)是基于視覺的人體活動(dòng)分析的技術(shù)之一,又分為全身、頭部和人手的研究方向。
有什么難點(diǎn)?比如強(qiáng)大的關(guān)節(jié),小而幾乎不可見的關(guān)節(jié),柔性的人體,各種衣物遮擋和燈光變化都使人體姿態(tài)估計(jì)面臨不少挑戰(zhàn):
· 人體是柔性的,人體任何一個(gè)部位的微小變化都會(huì)產(chǎn)生新的姿態(tài)。
· 關(guān)鍵點(diǎn)的可見性受衣著、姿態(tài)、視角影響很大。
· 圖像分辨率,較難識(shí)別遠(yuǎn)處人像的姿態(tài)。
· 面臨遮擋、光照的環(huán)境因素等影響。
其實(shí)在取名上,我們就已經(jīng)看到“估計(jì)”二字,所謂的估計(jì)就代表著有很多“不可見”的東西。在標(biāo)注方法上,學(xué)術(shù)界有不同的狀態(tài)說法(如下圖),這些在訓(xùn)練當(dāng)中都會(huì)有不同的策略去對(duì)待。
對(duì)于人體姿態(tài)估計(jì)的常見方法,近幾年比較火的是一些基于熱圖的方法。比如說像卷積姿態(tài)機(jī),通過不同的Stage,計(jì)算出不同的熱圖,然后從這些熱圖上拿到關(guān)鍵點(diǎn)。再通過后面的幾步Stage,把關(guān)鍵點(diǎn)關(guān)聯(lián)上。因?yàn)槿梭w關(guān)節(jié)點(diǎn)的相對(duì)位置是有一定固定關(guān)系的,通過這種關(guān)聯(lián)可以減少誤差。
圖片出自S. Wei, V. Ramakrishna, T. Kanade and Y. Sheikh, "Convolutional Pose Machines," 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas, NV, 2016, pp. 4724-4732, doi: 10.1109/CVPR.2016.511.那么,做好人體姿態(tài)估計(jì)分析有什么用呢?你可以在一段時(shí)間內(nèi)追蹤一個(gè)人姿態(tài)的變化,在動(dòng)作、手勢(shì)和步態(tài)識(shí)別上都有不同的應(yīng)用場(chǎng)景:
· 安防監(jiān)控:人的異常行為動(dòng)作檢測(cè)識(shí)別,如斗毆、駕駛打電話等。
· 娛樂:人形機(jī)器人動(dòng)作模仿、交互、動(dòng)作打分、體育視頻處理、控制游戲中人物動(dòng)作、AR。
· 教育:學(xué)生寫字、低頭、舉手等動(dòng)作識(shí)別。
· 服務(wù)類:特殊人群(老人、小孩、孕婦)體態(tài)分析,如摔倒等。
· 多任務(wù)學(xué)習(xí)(MTL)。
手勢(shì)識(shí)別行人檢測(cè)在教育機(jī)器人Yanshee上,我們將2D人體姿態(tài)估計(jì)與3D人體姿態(tài)估計(jì)應(yīng)用于動(dòng)作模仿。
通過Yanshee頭部RGB相機(jī)采集圖像發(fā)送給計(jì)算設(shè)備(云端或筆記本),利用跟蹤方法處理得到的2D或3D關(guān)鍵點(diǎn)信息,再將位置信息發(fā)送給運(yùn)動(dòng)控制模塊解算關(guān)節(jié)運(yùn)動(dòng)角度,進(jìn)而模仿人的運(yùn)動(dòng)。
Yanshee的仿人動(dòng)作模仿物體識(shí)別
我們的物體識(shí)別是基于檢測(cè)的,物體檢測(cè)和目標(biāo)檢測(cè)就是找出圖像中所有“感興趣目標(biāo)”,包括目標(biāo)定位和目標(biāo)分類兩個(gè)子任務(wù),同時(shí)確定的類別和位置。
由于目標(biāo)具有不同姿態(tài)、運(yùn)動(dòng)具有不規(guī)則性,傳感器的景深、分辨率、天氣、光照等條件和場(chǎng)景也呈現(xiàn)多樣性,攝像頭所拍出來的圖像千差萬別。
作為CV重要技術(shù),目標(biāo)檢測(cè)算法的結(jié)果直接影響后續(xù)的跟蹤、動(dòng)作識(shí)別和行為描述的效果。因此,目標(biāo)檢測(cè)這一基本任務(wù)仍然非常具有挑戰(zhàn)性,尤其是在機(jī)器人身上做目標(biāo)檢測(cè),存在很大的提升潛力和空間。
目前主流的目標(biāo)檢測(cè)算法主要是基于深度學(xué)習(xí)模型,方法從Two-Stage發(fā)展到One-Stage ,從Anchor based到Anchor Free檢測(cè)算法。
· Two-Stage目標(biāo)檢測(cè)算法
這類檢測(cè)算法將檢測(cè)問題劃分為兩個(gè)階段,第一個(gè)階段首先產(chǎn)生候選區(qū)域(Region Proposals),包含目標(biāo)大概的位置信息,然后第二個(gè)階段對(duì)候選區(qū)域進(jìn)行分類和位置精修,這類算法的典型代表有R-CNN,Fast R-CNN,FasterR-CNN等。
· One-Stage目標(biāo)檢測(cè)算法
這類檢測(cè)算法不需要Region Proposal階段,可以通過一個(gè)階段直接產(chǎn)生物體的類別概率和位置坐標(biāo)值,比較典型的算法有YOLO、SSD、CornerNet和CenterNet等。
以智能機(jī)器人悟空為例,在目標(biāo)檢測(cè)中就有非常多的需求。比如說通用的物體識(shí)別,將物體放置悟空面前,觸發(fā)關(guān)于物體內(nèi)容的進(jìn)一步語音交互;拖動(dòng)積木條進(jìn)行編程,通過對(duì)圖像主體的分類結(jié)果返回對(duì)應(yīng)的值,也就是當(dāng)識(shí)別到某樣?xùn)|西,才能做下一步的行動(dòng),觸發(fā)編程條件。
知乎視頻?www.zhihu.com通過物體檢測(cè)算法,悟空能夠檢測(cè)出包含水果花卉等多種生活中常見的物體。從算法層面,在CenterNet的基礎(chǔ)上,使用輕量級(jí)的網(wǎng)絡(luò)模型提取物體的特征,輸出物體的檢測(cè)框。與之前的物體檢測(cè)算法不同之處在于:該算法輸出一張物體中心熱力圖,通過對(duì)該熱力圖的分析處理,直接輸出待檢測(cè)的物體中心點(diǎn)以及物體的長和寬。
但是如果訓(xùn)練樣本不足、訓(xùn)練數(shù)據(jù)中樣本不夠豐富、訓(xùn)練樣本類別不均衡等,視覺上相近的物體也很容易誤識(shí)別。
那該怎么辦呢?比如針對(duì)難區(qū)分的蘋果和桃子,就可以利用預(yù)測(cè)置信度和后驗(yàn)概率來作后處理。設(shè)置一個(gè)閾值,當(dāng)?shù)谝活愂翘O果,且蘋果的預(yù)測(cè)置信度(confidence score)不夠大時(shí), 就在top3 score中找有沒有桃子,當(dāng)二者之間的預(yù)測(cè)置信度相差不大時(shí),我們就認(rèn)為該預(yù)測(cè)結(jié)果是桃子。
其實(shí)機(jī)器人身上可以應(yīng)用的視覺技術(shù),遠(yuǎn)不止于上面提到的幾個(gè)應(yīng)用,還有視覺導(dǎo)航、語義地圖、物體抓取、視頻分析等等……
相信結(jié)合深度學(xué)習(xí)算法和機(jī)器視覺技術(shù),機(jī)器人將更好地幫助人做更有價(jià)值的事情,為社會(huì)帶來持續(xù)不斷的動(dòng)能!
想了解防疫機(jī)器人背后的AI技術(shù),請(qǐng)戳下面鏈接:
在你的領(lǐng)域或者專業(yè)里,AI 可以帶來哪些革新與進(jìn)步??www.zhihu.com 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的第一个被赋予公明身份的机器人_一文读懂机器人的“眼睛”的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ps怎么对比原图快捷键_PS教程:P图前
- 下一篇: git获取本地版本号_Git使用小结