AI深度 | 3D人臉識別和雙目結構光慣導

文/紐豪斯
發佈/AI智道
一文看盡雙目攝像、結構光、ToF和激光雷達技術;一文深入瞭解小覓智能、奧比中光、華捷艾米、的盧深視、Pico和鐳神智能;AI賦能2大趨勢、4大核心技術。

前言
紐豪斯剛剛完成《AI深度(上) | 3D人臉識別和結構光》,發表到公衆號AI智道受到了廣泛的關注,讀者的反饋很多,有的讀者評價說“技術理論部分講的很清楚、趨勢判斷也很準確”,有的讀者評論關於雙目攝像機的典型代表選用的不正確,原因是“雙目攝像頭現在都是要求有瞳間距,而且兩個攝像頭之間是越遠越準確。”好吧,紐豪斯承認,在AI深度相機的學習道路上,我剛剛上路7天,現學現賣。有一位郭姓讀者留言道“第一個視派爾的模組似乎沒有雙目測距,看圖片只是一個IR和一個RGB而已”,看來紐豪斯是碰到專業讀者了。
於是紐豪斯趕快諮詢了專業人士,也找到了專業論文,在“AI深度(上)”、“AI深度(下)”完成之後趕快補一篇“AI深度(續)”,這讓紐豪斯想到了“狗尾續貂”這個成語,前兩篇文章不一定是“狗尾”,但這一篇一定是貂皮大衣。

專業人士
紐豪斯找到的專業人士名叫Leo,美國斯坦福大學機械工程博士和計算機碩士雙學位,向紐豪斯提供了一篇專業的論文《IMU Integrated Structured-Light Stereo Depth Camera for Mobile Robot Navigation and Obstacle Detection》(爲機器人導航和避障而打造的的小覓雙目結構光慣導深度相機),當然作者正是Leo本人,讓我們一起來領略一下雙目結構光慣導技術。
Leo認爲傳統的雙目屬於被動的雙目,而另外一種是主動雙目。被動雙目如果同時打兩個結構光的斑點的話會發生干涉和光污染的問題,但主動雙目就沒有這樣的問題。這篇文章主要是基於Leo的論文完成的,感謝Leo。

AI深度雙目技術背景
在動物世界中,人類從肉體上來說並不是最強大的物種,如果赤手空拳,相信最強大的人也很難和猛獸進行搏擊,絲毫不佔優勢,但在地球的生活環境中看,現實中還不存在人類無法戰勝的獸類,因爲人和其它動物的最大區別在於人有智慧,語言是人類最強大的工具,因爲語言是有能力的,在西方國家很多人都相信世界是由話語(Word)創造的。
人和動物的最大區別主要在於語言,那麼人和機器之間最大的區別是什麼?這正是人工智能(AI)所要研究的核心問題。人的眼睛能夠獲得三維的信息,可以準確的認識這個世界,沒有複雜的算法、延遲、分辨率,而機器認識這個世界只能通過傳感器來認識,用攝像機(相機)模仿人的眼睛是最好的一種方式,這種技術被稱之爲計算機視覺,也被稱之爲人工智能。
人工智能的字面含義就是模仿人感知世界的能力,主要就包括計算機視覺、語音(識別)和文字(OCR)識別三種。
目前市面上大多數的計算機視覺技術主要應用於人臉識別,由於視頻監控的發展趨勢和基礎,50多年的發展都是基於RGB監控攝像機的(用專業術語來講就是2D攝像機),也就是說大家常見的攝像機所拍攝到的視頻(實際上是每秒25幀的畫面)是平面圖像的,沒有深度,從而造成機器理解世界產生了巨大的限制,而每個健全的人擁有兩個眼睛(雙目),故而市面上出現了深度相機(攝像機)採用雙目架構,使得機器(姑且稱之爲計算機)獲得三維視覺能力(深度圖像),由此視頻監控系統進入3D人臉識別世界,而這是大多數人臉識別獨角獸不具備的能力。
深度攝像機大行其道必定會成爲一種趨勢。

立體視覺
立體視覺又稱距離知覺或立體知覺。是個體對同一物體的凹凸或對不同物體的遠近的反映。視網膜是一個兩維的平面,人不僅能感知平面物體,還能感知三維空間中的物體。深度知覺是通過雙目視覺實現的。
計算機立體視覺和人眼有類似之處,一般而言,計算機立體視覺,尤其和以仿生學爲基礎的雙目立體視覺由如下幾部分組成:
(1) 圖像獲取。包括場景領域、計時、時間(照明和陰影)、成像形態(包括特殊的遮蓋)、分辨率、視野 (field of view, FOV)、攝像機的相對位置。場景的複雜程度受如下因素的影響:遮掩、人工物體(直的邊界,平的表面) 、均勻的紋理區域、含有重複結構的區域。
(2) 攝像機模型。就是對立體攝像機組的重要的幾何與物理特徵的表示形式,它作爲一個計算模型,根據對應點的視差信息,用於計算對應點所代表的空間點的位置。攝像機模型除了提供圖像上對應點空間與實際場景空間之間的映射關係外,還可以用於約束尋找對應點時的搜索空間,從而降低匹配算法的複雜性,減小誤匹配率。
(3) 特徵抽取。
(4) 圖像匹配。
(5) 深度計算。立體視覺的關鍵在於左右眼圖像中相同特徵的匹配,一旦精確的對應點建立起來,距離的計算相對而言只是一個簡單的三角計算而已。
總之,提高深度計算精度的途徑有三條,各自涉及了一些附加的計算量:半象素精度估計、 加長基線長、內插。

深度檢測主要技術方法

在《AI深度(上) | 3D人臉識別和結構光》中,紐豪斯就提到深度相機分爲雙目、ToF、結構光和激光雷達四種。雙目跟結構光一樣,都是使用三角測量法根據物體匹配點的視差反算物體距離,只是雙目是用自然光,而結構光是用主動光發射特定圖案的條紋或散斑。ToF 是通過給目標連續發送光脈衝,然後用傳感器接收從物體返回的光,通過探測光脈衝的飛行(往返)時間來得到目標物距離。

小覓雙目結構光深度慣導相機
接下來就是紐豪斯要補充完善的雙目攝像機的代表產品:小覓智能雙目結構光深度慣導相機。
在這裏插入圖片描述
雙目+結構光+慣導的三項融合而成的新型深度相機。從前文對三類視覺深度相機的分析可以看出,ToF和結構光都屬於主動光,容易受可見光和物體表面干擾,所以更適合室內和短距離的應用場景,而純雙目適合室內外,測量距離範圍大,相差計算方法精度更高魯棒性更好,缺點是在無紋理的物體(像是白牆)和在全黑情況下不可行。基於此,小覓智能將雙目和結構光的優點結合起來,用雙目的相差計算方法加上紅外的結構光對黑暗和無紋理的情況作輔助,提出了“視覺+結構光+慣性導航”融合的雙目結構光深度慣導相機方案。
在這裏插入圖片描述
(a). 左目的圖像, (b). 右目的圖像, ©. 計算出來的深度圖(用僞彩色表示深度,由近到遠的顏色是從紅到藍)

採用雙目結構光是考慮到傳統的單目結構光容易受光照的影響,在室外環境下,如果是晴天,激光器發出的編碼光斑容易太陽光淹沒掉,只有在陰天情況下勉強能用。而雙目在室內外的情況下都可以使用,使用結構光可以在黑暗情況下和室內缺乏紋理的情況下,用紅外結構光照明物體,並且在物體的表面投射出人造的紋理,同時還是使用雙目的匹配方法,因爲雙目的匹配方法魯棒性更高,而且可以做到亞像素,這樣其抗環境干擾能力、可靠性更強,深度圖質量有更大提升空間。
純雙目(左)和雙目結構光(右)@黑暗環境
純雙目(左)和雙目結構光(右)@無紋理環境
此外,結構光方案中的激光器壽命較短,難以滿足7×24小時的長時間工作要求,其長時間連續工作很容易損壞。因爲單目鏡頭和激光器需要進行精確的標定,一旦損壞,替換激光器時重新進行兩者的標定是非常困難的,所以往往導致整個模塊都要一起被換掉。而使用雙目結構光的方式,其標定與激光器無關,替換起來就比較簡單。
關於雙目的算法複雜度和計算量,隨着半導體的發展這也得到了解決。小覓對雙目的算法進行了硬件加速,可以利用GPU的大規模並行計算來實施,也有用FPGA將算法硬化,同時還和芯片設計廠商進行合作,將雙目匹配的算法做到專有芯片ASIC中,這樣可以實現高分辨率(720P)、高幀率(30fps、甚至60fps)的深度計算。
在此基礎上,小覓還在雙目結構光深度相機的基礎上再加上了位移加速度傳感器(IMU),並將其信號和雙目的視頻信號做了同步,以滿足雙目視覺慣導(SLAM)的需求。
普及一下,SLAM (Simultaneous Localization and Mapping),也稱爲CML (Concurrent Mapping and Localization), 即時定位與地圖構建,或併發建圖與定位。問題可以描述爲:將一個機器人放入未知環境中的未知位置,是否有辦法讓機器人一邊移動一邊逐步描繪出此環境完全的地圖,所謂完全的地圖(a consistent map)是指不受障礙行進到房間可進入的每個角落。

雙目視覺慣導SLAM
雙目視覺慣導里程計(Stereo VIO)和之前SLAM最大的不同在於兩點:首先,VIO在硬件上需要傳感器的融合,包括相機和六軸陀螺儀,相機產生圖片,六軸陀螺儀產生加速度和角速度。相機相對準但相對慢,六軸陀螺儀的原始加速度如果拿來直接積分會在很短的時間飄走(zero-drift),但六軸陀螺儀的頻率很高,至少有200Hz。
圖 | 六軸陀螺儀
使用IMU對相機在快門動作期間內估計相機的運動,但是由於CMOS相機的快門時間戳和 IMU 的時間戳的同步比較困難 ,且相機的時間戳不太準確 (自動曝光時間每幀都可能變化,時間戳是在曝光前,曝光中,還是曝光後)。傳感器融合是一個趨勢,也或者說是一個妥協的結果。主要的原因還是由於單一的傳感器不能適用所有的場景,所以通過多個傳感器的融合達到理想的定位效果。

雙目視覺+IMU的融合方案
視覺傳感器在大多數紋理豐富的場景中效果很好,但是對旋轉不敏感,IMU長時間使用有非常大的累積誤差,但是在短時間內,其相對位移數據又有很高的精度,所以當視覺傳感器失效時,融合IMU數據,能夠提高定位的精度。
對於短時間內的快速運動,IMU能夠提供一些較好的估計。這正是相機的弱點。當運動過快時,(捲簾快門的)相機會出現運動模糊 (小覓的雙目採用全局快門),或者兩幀之間重疊區域太少以至於無法進行特徵匹配,所以純視覺SLAM需要加大視角以應對快速的運動。而有了IMU,即使在相機數據無效的那段時間內,也能保持一個較好的位姿估計,這是純視覺SLAM無法做到的。
相比於IMU,相機數據基本不會有漂移。如果相機放在原地固定不動,那麼(在靜態場景下)視覺SLAM的位姿估計也是固定不動的。所以,相機數據可以有效地估計並修正IMU讀數中的漂移,使得在慢速運動後的位姿估計依然有效。
當圖像發生變化時,本質上沒法知道是相機自身發生了運動,還是外界條件發生了變化,所以純視覺SLAM難以處理動態的障礙物。而IMU能夠感受到自己的運動信息,從某種程度上減輕動態物體的影響。
作爲基於視覺識別技術的3D傳感器,雙目結構光深度慣導相機適用於室內外雙重環境,可以應對室外強光環境,識別距離可達30到50米,完全黑暗的室內環境亦可工作。此外,紅外主動結構光,可以讓雙目攝像頭完美解決了室內白牆和無紋理物體的難題。“雙目+IMU”的慣性導航方案,可爲VSLAM的應用提供精準的互補數據,並且相較其他單一方案擁有更高精度和魯棒性。
基於“視覺+結構光+慣性導航”方案,在陌生環境中,搭載了雙目結構光深度慣導相機的移動機器人就可以在自主行走的過程中實時三維重建現場環境的地圖,也可實現三維立體避障,充分認知所處環境,讓每一移動機器人擁有了一雙超人的眼睛。

總結
最後再對三種深度技術進行一個總結,作爲下篇總結的補充。

  • TOF原理是傳感器發出經調製的近紅外光,遇物體後反射,通過計算光線發射和反射時間差或相位差來換算被拍攝物體的距離。
  • 結構光(Structured Light)技術則要相對複雜一些,該技術將編碼的光柵或線光源等投射到被測物上,根據它們產生的畸變來解調出被測物的三維信息。
  • 雙目視覺則是和人眼一樣用兩個普通攝像頭以視差的方式來計算被測物距離。三種方式各有優缺點,在現有技術條件下各有應用場景。

孰優孰劣,尚待時間檢驗,還有技術的發展。

參考文獻:
L. Pang,“IMU Integrated Structured-Light Stereo Depth Camera for Mobile Robot Navigation and Obstacle Detection”
P. J. Besl, “Active, Optical Range Imaging Sensors”, Machine Vision and Applications (1988) 1:127-152
D. Van Nieuwenhove, W. Van der Tempel, R. Grrotjans, M. Kuijk, “Time-of-flight Optical Ranging Sensor based on a Current Assisted Photonic Demodulator”, Proceedings Symposium, IEEE/LEOS Benelux Chapter, 2006, Eindhoven.
M. Hansard, S. Lee, O. Choi, R. Horaud, “Time-of-Flight Cameras: Principles, Methods and Applications”, Springer Brief in Computer Science, 2012.
A.P.P Jongenelen, D. G. Bailey, A.D. Payne, A.A. Dorrington, D.A. Carnegie, Analysis of Errors in ToF Range Imaging with Dual-Frequency Modulation, IEEE Transactions on Instrumentation and Measurement, Vo. 60, No. 5, May 2011, SSN 0018-9456.
J. Geng, “Structured-Light 3D Surface Imaging: a Tutorial”, Advances in Optics and Photonics 3, 128-160 (2011).
J. Kravanja, et al, “Robust Depth Image Acquisition Using Modulated Pattern Projection and Probabilistic Graphical Models”, Sensors 2016, 16, 1740; doi:10.3390/s16101740
L. Pang, “3D reconstruction of the material surface shape from stereo images of electron micrographs”, Microscopy: Image Acquisition and Processing III, 1996

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章