0
本文作者: AI研習(xí)社-譯站 | 2019-01-21 10:51 |
本文為 AI 研習(xí)社編譯的技術(shù)博客,原標題 :
Tutorial: Stereo 3D reconstruction with openCV using an iPhone camera. Part I.
作者 | Omar Padierna
翻譯 | yaya牙牙
校對 | Disillusion 審核 | 醬番梨 整理 | 菠蘿妹
原文鏈接:
https://medium.com/@omar.ps16/stereo-3d-reconstruction-with-opencv-using-an-iphone-camera-part-i-c013907d1ab5
教程:使用iPhone相機和openCV來完成3D重建
(第一部分)
本篇教程由三段內(nèi)容組成,這是第二部分和第三部分的鏈接。
我注意到其他大多數(shù)關(guān)于三維重建的教程都讓人感覺少了點東西。誠然,這些教程都非常的棒,但它們有些是支離破碎的,要么對理論方面過于深究,或者兩者兼而有之。
更糟糕的是,他們使用專門的數(shù)據(jù)集(例如Tsukuba),這就造成對一些數(shù)據(jù)集之外的東西的時候使用這些算法的時候會有點問題。(因為參數(shù)微調(diào))
我相信關(guān)于三維重建(廣義的計算機視覺)的很酷的事情就是重建你周圍的世界,而不是其他人的世界(比如數(shù)據(jù)集中的世界)。本教程將嘗試幫助你用OpenCV的力量重新創(chuàng)造你自己的世界。
簡單的說,本教程帶你通過使用你自己的手機攝像頭和圖片實現(xiàn)從零開始到點云。讓我們開始吧。
為了避免寫一篇非常長的文章,本教程分為三個部分
第一部分(理論和需求):簡要概述了立體三維重建所需的步驟
第二部分(相機校正):包括用代碼校正你相機的基礎(chǔ)知識
第三部分(視差圖和點云):介紹了重建圖片基礎(chǔ)知識利用前面用代碼標定過的相機。
如果你很忙或者想直接跳到實際的代碼部分,可以直接進入我的GitHub。
重建周圍的世界有很多的方法但最終他們都需要一張準確的深度圖。
深度圖中的每一個像素都表示的是深度信息(而不是顏色信息)。它一般都是用灰度圖的形式展現(xiàn)出來。
Tsukuba 數(shù)據(jù)集的深度圖。由OpenCV提供
如同前面提到的得到一張深度圖有很多種方法而這些方法都依賴于所使用的傳感器。一種傳感器可以是簡單的相機(從現(xiàn)在起本文我們將其稱為RGB相機)但它也可以是其他的傳感器比如激光雷達,紅外線或者它們的組合。
傳感器的類型將會決定深度圖的精確程度。根據(jù)精確度從大到小排列依次是激光雷達>紅外線>相機。深度圖也可以著色以更好的顯示深度。
Kinect相機自拍圖
根據(jù)所使用的傳感器類型,實際獲取深度圖所需的步驟或多或少。例如,Kinect攝像頭使用紅外傳感器和RGB相機相結(jié)合,這樣你馬上就能得到一張深度圖(因為它是由紅外傳感器處理的信息)。
但是如果你除了手機攝像頭什么都沒有呢?在這種情況下你需要做立體重建。立體重建和大腦、眼睛理解深度的原理是一樣的。
它的要旨在于從兩個不同的角度看同一幅畫,在兩幅畫中尋找相同的東西,并根據(jù)位置的不同推斷深度。這叫做立體匹配。
為了做立體匹配,兩張圖片必須具有完全相同的特性。換言之,這兩張不應(yīng)該有任何的失真。這是一個問題,因為大多數(shù)的相機中的鏡頭都會導(dǎo)致了畸變。這意味著,為了精確的進行立體匹配,就需要知道攝像機的光學(xué)中心和焦距。
在大多數(shù)情況下,這些信息將是未知的(尤其是對于你的手機攝像頭),這就是立體三維匹配需要以下的步驟的原因:
1.相機校正:利用一組圖片推斷相機的光學(xué)中心和焦距。
2.圖像畸變:消除重建所用圖像中的鏡頭畸變。
3.特征匹配:在兩張圖片之間查找相似的特征并構(gòu)建深度圖
4.重投影點:使用深度映射將像素重投影到三維空間中
5.建立點云:生成一個新的文件,這個文件包含了三維空間中的點,以便可視化。
6.構(gòu)建網(wǎng)格來得到實際的三維模型(不在本教程范圍之內(nèi),但很快會出現(xiàn)在不同的教程中。
步驟1只需要執(zhí)行一次,除非你更換攝像頭。
而第2-5步在你每次得到一對新的圖片都需要執(zhí)行一次,差不多就是這樣了。
實際的數(shù)學(xué)理論(為什么)要復(fù)雜的多,但在本教程之后會變得更容易理解,因為在本文結(jié)束時你將有一個實例讓你可以進行各種實驗。
在下一部分,我們將會探討如何實際校準手機攝像頭,以及一些校正的最佳操作,屆時再見。
想要繼續(xù)查看該篇文章相關(guān)鏈接和參考文獻?
長按鏈接點擊打開或點擊【教程:使用iPhone相機和openCV來完成3D重建(第一部分)】:
https://ai.yanxishe.com/page/TextTranslation/1412
AI研習(xí)社每日更新精彩內(nèi)容,觀看更多精彩內(nèi)容:雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)
等你來譯:
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。