普通手機攝像頭能獲得深度信息嗎?
普通的手機攝像頭,通過演算法獲得深度信息,比如判斷人臉和攝像頭距離。
一般有兩種方法:機器學習或者是Structure from Motion(運動恢復結構)。
機器學習的方法一般是通過Supervised Learning的方法來學習二維圖像到三維結構的mapping。程序拿到一張未知3D結構的2D圖然後會根據之前習得的先驗知識來infer這張圖的3D結構。
Structure from Motion是根據對同一物體不同視角的2D圖像重建出3D結構的演算法。最基本的演算法是通過找到不同視角里物體上相同的關鍵點(keypoint)建立一個超定組(overdetermined system),然後用秩為3的SVD分解來找到這些點在三維空間里的位置。這個方法有兩個最大的缺點:
1. 相機需要提前通過checkerboard校準來獲取參數。2. 沒有辦法重構出高密度三維結構,因為自然物體上可靠的關鍵點一般都很少。現在有些Structure from motion屬於Uncalibrated stereo vision,泛指任何不通過雙目成像原理進行3D重建的演算法。Steve Seitz有一篇很著名的論文就是用在網上爬(crawl)下來的從不同角度拍攝的羅馬斗獸場的照片來重建出羅馬斗獸場的3D結構。
普通的手機攝像頭是無法做到的。不過可以參見前段時間微軟的一個工作,通過改造把普通攝像頭變身深度相機:Learning to be a depth camera for close-range human capture and interaction
我覺得樓上都沒有回答到樓主的重點,樓主想判斷人臉和攝像頭的距離,這SFM可以做到,但需要有每張照片的三維位置,手機難道用弱爆了的GPS定位嗎?這米級的定位精度不可能做到人臉和攝像頭的距離這樣的精度範圍。
手機只有雙攝像頭是可以做到的,因為雙攝像頭已經標定好距離和姿態,是剛性雙攝,可以獲得深度信息,這種方法是能做到深度測距,但普通手機不是都有雙攝像頭。
可以 但要平移滑動攝像頭 上面已經說的挺詳細了 推薦個代碼 前幾年ptam演算法 效果不錯 可對立體空間建模 還有在ar方面應用展示
可以。對同一景物用至少兩個角度各拍一張就可以。
推薦閱讀:
※機器視覺怎樣開始學?halcon與c++還是c#搭配好?
※機器視覺與嵌入式如何結合?
※當前,在圖像處理領域,哪個方向比較火?或者比較好做?
※GitHub 上有哪些比較好的計算機視覺/機器視覺的項目?
※MXNet 的代碼要怎麼讀?