开发物体识别桌、_【课程总结】AR系统开发“秘籍”大揭秘!
導讀:AR技術飛速發展,被廣泛應用于游戲、醫療、旅游、電商等行業。那么對于AR系統的整體設計和應用是如何操作的呢?商湯泰坦公開課第006期聯合“SLAM技術及應用”暑期學校與研討會共同推出“移動增強現實系統的設計與應用案例解析”&“AR應用開發”線上公開課。由浙江大學-商湯三維視覺聯合實驗室章國鋒教授和商湯科技研究總監盛崇山對AR系統的設計和應用進行了整體的解讀。
AR系統整體框架包括“輸入數據—三維注冊—虛實融合”三大部分。
第
1
則
-THE FIRST-
輸入信息
輸入的數據不同,處理的方式也會有很大的區別。目前,可輸入的數據十分多樣化,例如:
IMU 數據
?Time stamp
?Acceleration
?Angular velocity
圖像數據、深度數據
?Time stamp
?Exposure time
?RGB
?Depth
校正數據
?Camera 校正參數 (Pinhole Model)
?Projection: fx fy cx, cy
?Distortion: k1, k2, k3, k4
IMU 校正參數
?Bias, Scale, Misalignment
?Noise, Bias noise
外參
?Rotation, Translation
?Time offset
第
2
則
-THE SECOND-
三維注冊與重建
三維注冊與重建是AR系統的基礎組件。
三維注冊不僅包括恢復相機相對于場景的位姿,而且還包括對物體的識別和位姿恢復。前者一般采用SLAM技術,包含相機跟蹤、地圖構建和更新、回路檢測和閉合、重定位等模塊。
三維重建具體包含物體和場景的三維重建,對于實現高品質的AR效果來說非常重要。
關鍵詞
SLAM
具體來說,SLAM技術中的相機跟蹤,一般包括特征提取與匹配,以及相機位姿估計。為了實時性的需要,特征跟蹤一般要放在前臺線程。
但是如果有IMU數據的話,情況將會有所不同。我們可以直接通過積分得到位姿,特征提取與匹配可以放到后臺線程執行,以相對較低的頻率(如10Hz) 矯正IMU和相機的狀態。
地圖的創建和更新一般需要實現以下功能:
加入新的關鍵幀或刪除舊的關鍵幀
優化關鍵幀的位姿和地圖點的三維
三角化出新的三維點云
保證比較頻繁、快速的地圖優化局部優化:
局部優化:滑動窗口:優化當前幀相鄰關鍵幀和三維點
全局優化:更好地消除累積誤差
? ?5. 在線刪除關鍵幀和三維點,避免系統資源開銷太大
一般用詞袋技術或者在線建詞匯樹或KD-Tree的方式進行回路檢測和閉合。我們可以檢測當前幀的圖像是不是跟之前的某一幀圖像(一般是關鍵幀)存在相同的內容,檢測到回路之后,再通過集束調整或位姿圖優化來消除誤差累積,實現回路的閉合。
跟蹤難免會失敗,當跟蹤失敗之后需要快速地恢復相機的位姿,也就是要進行重定位。常見的策略有:
PTAM :通過度量當前幀和關鍵幀的縮略圖的相似度來進行重定位
ORB-SLAM :通過提取 ORB 特征并借助預先構建詞袋字典樹來進行快速的候選幀選取和特征匹配
基于深度學習的重定位?:對光照變化有更好的容忍度
關鍵詞
三維物體識別與跟蹤
根據物體的類型不同,可以分為平面標志物和三維物體的識別與跟蹤。一般需要進行特征提取,然后進行特征匹配:
特征點法
? 二進制描述子代替 SIFT 描述子
? 近似最近鄰匹配方法 如 k d 樹 加速匹配
紋理較豐富的三維物體
?借助特征點匹配來建立所提取的特征點與數據庫中的特征點(有三維位置)的對應關系
弱紋理物體
? 利用顏色先驗模型來計算跟蹤對象的前景背景的概率圖,進而利用前背景的區域性先驗信息估算出跟蹤對象的區域信息。
根據不同的物體類型,所采用的算法也會有差別:
物體檢測識別
? 平面標志的檢測識別:圖像檢索技術( 詞袋技術、 VLAD)
? 三維物體:紋理豐富 (詞袋技術 )、 紋理較弱(深度學習)
物體位姿估計與跟蹤
? 紋理豐富的三維物體:特征點匹配得到2D-3D點匹配 通過 PnP 計算相對位姿
? 缺乏紋理的三維物體:物體識別估計初始位姿迭代優化目標函數(對齊三維物體投影邊和圖像邊緣)跟蹤求解
? 平面標志物:單應性矩陣分解得到位姿
關鍵詞
三維重建
三維重建包括多平面重建和稠密幾何重建。多平面重建適用于簡單的水平和垂直平面的重建,采用稀疏點云即可完成。
而對于復雜的情況,則需要稠密幾何重建,包括運用多視圖實時深度估計、在線漸增式稠密三維點云拓展以及在線稠密網格結構生成。
第
3
則
-THE THIRD-
虛實融合
為了使虛擬物體模能夠和真實場景無縫的融合,我們需要進行光照估計、真實感繪制、遮擋處理以及陰影投射等處理。
關鍵詞
光照估計
根據場景的平均亮度計算環境光來更好的測算場景亮度。
對于全局光估計,則需要計算出用于表達全局光信息的球諧系數,然后根據球諧系數來估計光照亮度信息
關鍵詞
遮擋信息處理
基于三維重建的遮擋處理需要繪制三維重建出的網格深度;繪制場景中的其他用于增強現實的虛擬模型。對于人像摳圖的遮擋處理則更加復雜,不僅需要人像摳圖還需要人的深度估計。
關鍵詞
陰影繪制
平面陰影投射需要把虛擬物體繪制到shadow map中。繪制物體放置所在的虛擬平面,采用shadow map算法,陰影內的輸出陰影顏色,陰影外的采用全透明繪制。
復雜陰影投射則稍有不同,把虛擬物體繪制到shadow map中,繪制重建出的網格,采用shadow map算法,陰影內的輸出陰影顏色,陰影外的采用全透明繪制。
目前,AR+教育,AR+游戲、AR+旅游、AR+工業已經全面“開花”,推動多種行業發展。
第
4
則
-THE FOURTH-
SenseTime SenseAR
以商湯科技為核心,聯合若干戰略合作伙伴推出的SenseAR 開發平臺致力于提供一整套 AR 解決方案,包括 AR 底層驅動引擎、AR 內容創作工具鏈和 AR 硬件裝置推薦,為各行各業的商家和用戶提供 AR 服務,促進AR生態的發展,從而讓更多用戶享受到AR為生活和工作帶來的便利。
可以實現以下基本功能:
運動跟蹤:讓手機可以理解和跟蹤它相對于現實世界的位置。
環境理解:讓手機可以檢測各類表面(例如地面、咖啡桌或墻壁等水平、垂直和傾斜表面)的大小和位置。
光照估計:讓手機可以估測環境當前的光照條件。
三維重建:稠密網格實時重建,遮擋碰撞。
人物:手勢等。
其他:圖像識別跟蹤、多人互動等。
利用該平臺進行6DOF跟蹤&平面檢測流程如下:
平臺結構如下:
其中最為重要的是SDK(包括:C/Java/Unity3D版本。)SDK封裝了Camera、IMU數據的獲取,支持RGB、RGBD、IMU、多視頻流等。ARServer內部采用多算法框架,根據SDK端的配置,啟動相關的算法。以下為SDK結構:
關鍵詞
SenseTime SenseAR功能案例
課上列舉出圖像識別與跟蹤、手勢識別與跟蹤、稠密網格實時重建、多人互動&AR云四種功能案例。
具體以圖像識別與跟蹤為例,SenseAR平臺提供圖像識別與跟蹤功能,借助該功能可以構建在用戶環境中響應2D圖像的AR應用。開發者只需要提供一組參考圖像,在相機預覽中檢測到圖像時,SenseAR會實時輸出這些圖像的物理位置,利用這些信息可以添加自定義的AR效果。
其中數據載入三種方式:
圖片
pattern文件
spk包文件
算法配置:
?識別列表:
SenseTime SenseAR應用開發成本低,并且集成到了Unity3D的ARFoundation中 ,不需要額外的開發就能支持SenseAR支持的平臺;融合 AI 技術, 不僅能提供可靠的 6DoF 跟蹤定位和三維結構恢復, 而且能對人體、物體和場景進行檢測、識別和理解,深度滿足各種 AI+AR 應用的需求。
如果你想要進行更多AR領域開發,歡迎使用SenseAR開發者網站:
http://openar.sensetime.com
全部課件
http://www.cad.zju.edu.cn/home/gfzhang/download/2019-SLAM-Summer-School-slides.zip
商湯泰坦公開課
關注我們? 不再迷路
▼點擊閱讀原文 即可發表你的評論!
總結
以上是生活随笔為你收集整理的开发物体识别桌、_【课程总结】AR系统开发“秘籍”大揭秘!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PS专业做倒影的插件送给你PS倒影插件
- 下一篇: 安卓平板不刷机也能变Windows安卓平