立體匹配基礎(chǔ):視差圖、深度圖、點(diǎn)云新機(jī)器視覺關(guān)注共 1634字,需瀏覽 4分鐘 ·2022-06-08 19:31 作者丨李迎松@知乎來源丨h(huán)ttps://zhuanlan.zhihu.com/p/522285892編輯丨3D視覺工坊本篇是比較簡單的基礎(chǔ)概念,剛?cè)腴T的朋友可能是需要的。視差圖點(diǎn)云首先,我們要介紹下這三個(gè)概念。視差(disparity)深度(depth)深度D等于像素在該視圖相機(jī)坐標(biāo)系下Z坐標(biāo),是空間單位。深度并不特在校正后的圖像對(duì)里使用,而是任意圖像都可獲取深度圖。視差圖(disparity map)視差圖指存儲(chǔ)立體校正后單視圖所有像素視差值的二維圖像。1. 視差圖是一張二維圖像,和原圖等大小2. 視差圖每個(gè)位置保存的以像素為單位的該位置像素的視差值3. 以左視圖視差圖為例,在像素位置p的視差值等于該像素在右圖上的匹配點(diǎn)的列坐標(biāo)減去其在左圖上的列坐標(biāo)深度圖(depth map)深度圖指存儲(chǔ)單視圖所有像素的深度值的二維圖像,是空間單位,比如毫米。1. 深度圖是一張二維圖像,和原圖等大小,也就和視差圖等大小2. 深度圖每個(gè)位置保存的是該位置像素的深度值3. 深度值就是相機(jī)坐標(biāo)系下的Z坐標(biāo)值點(diǎn)云(point cloud)其次,為什么會(huì)有視差圖和深度圖呢?我們知道,立體匹配一般是指逐像素的稠密匹配,這意味著每個(gè)像素都會(huì)得到一個(gè)視差值(包括無效值),如何存儲(chǔ)這些視差值呢,顯然以二維圖的方式存儲(chǔ)是很合適的,最大的兩點(diǎn)優(yōu)勢是一方面可以通過像素坐標(biāo)快速的在二維圖中找到對(duì)應(yīng)位置的視差值,而且和圖像一樣是有序的,鄰域檢索、視差濾波等將會(huì)變得非常方便;另一方面是可以直觀的通過觀察視差圖和原圖的對(duì)比,對(duì)視差圖的質(zhì)量有初步的判定。而深度圖的意義則是以更少的存儲(chǔ)空間、有序的表達(dá)圖像匹配的三維成果。更少的存儲(chǔ)空間是因?yàn)橹槐4媪艘粋€(gè)深度值,而不是三維點(diǎn)云的三個(gè)坐標(biāo)值,而深度值是可以結(jié)合像素坐標(biāo)計(jì)算三維點(diǎn)坐標(biāo)值的。有序是因?yàn)樯疃葓D和原圖像素是一一對(duì)應(yīng)的,所以原圖的鄰域信息完全繼承到了深度圖里。這就是視差圖和深度圖的意義,視差圖是立體匹配算法的產(chǎn)出,而深度圖則是立體匹配到點(diǎn)云生成的中間橋梁。視差圖和深度圖中間,有著一對(duì)一的轉(zhuǎn)換公式:常見問答:問:為什么我從.png格式的視差圖里讀取到的視差值和真實(shí)值有很大差異?答:我們要先搞清楚,視差圖是如何存儲(chǔ)的。通常而言,我們是把二維視差圖以圖像格式存儲(chǔ),常見的格式有png、tif、pfm等,但這些圖像格式存儲(chǔ)的數(shù)據(jù)類型是有區(qū)別的,其中png只能存儲(chǔ)整數(shù),而tif和pfm則可以存儲(chǔ)小數(shù)。而顯然準(zhǔn)確的視差值必然是浮點(diǎn)型的小數(shù),所以存儲(chǔ)為tif和pfm可以原值無損存儲(chǔ),而存儲(chǔ)為png必然會(huì)損失精度,所以有的代碼比如opencv會(huì)把得到的浮點(diǎn)型視差值乘以16倍取整,存儲(chǔ)到png里,這樣存儲(chǔ)視差值的精度變?yōu)?/16,對(duì)于這種情況我們在讀取png后要先除以16才是真實(shí)視差值,且視差會(huì)有階梯分層現(xiàn)象。那有同學(xué)就問,既然這樣為什么要存儲(chǔ)png呢?是因?yàn)槟壳爸髁鞯膱D像軟件,不支持直接看浮點(diǎn)格式的tif和pfm,存儲(chǔ)為png可以更好的觀看視差圖,當(dāng)然要是實(shí)際生產(chǎn)使用,是必然不建議存儲(chǔ)為png的,用來查看視差結(jié)果是可以的。還有人會(huì)直接把視差值拉伸或者壓縮到0~255,存儲(chǔ)到png或bmp等存儲(chǔ)整數(shù)的格式中,這樣的視差圖只能用來觀看視差效果,沒有其他作用,比如我的代碼里的存儲(chǔ)方式。問:極線像對(duì)下的深度圖和原圖的深度圖是一樣的嗎?如何轉(zhuǎn)換?答:不一樣,因?yàn)樯疃葓D是在視圖所在的相機(jī)坐標(biāo)系下的,所以和相機(jī)坐標(biāo)系強(qiáng)掛鉤,極限校正后的左視圖和原始的左視圖是不一樣的相機(jī)坐標(biāo)系,所以它們的深度圖是不一樣的。1. 對(duì)于極線像對(duì)左視圖某像素p,通過單應(yīng)變換H轉(zhuǎn)換到原左視圖上,得到原圖上的像素坐標(biāo)q。2. 將p的相機(jī)坐標(biāo)系坐標(biāo)通過一個(gè)旋轉(zhuǎn)R變換到原左視圖的相機(jī)坐標(biāo)系坐標(biāo),得到q的深度。3. H和R在極線校正步驟可以獲取(極線校正的必然產(chǎn)出)。本文僅做學(xué)術(shù)分享,如有侵權(quán),請聯(lián)系刪文。—THE END— 瀏覽 211點(diǎn)贊 評(píng)論 收藏 分享 手機(jī)掃一掃分享分享 舉報(bào) 評(píng)論圖片表情視頻評(píng)價(jià)全部評(píng)論推薦 ?實(shí)戰(zhàn) | 在真實(shí)場景實(shí)現(xiàn)雙目立體匹配獲取深度圖目標(biāo)檢測與深度學(xué)習(xí)0視差視差0視差視差0圖點(diǎn)科技圖點(diǎn)科技0視差之見本書是齊澤克最重要的理論作品,齊澤克把它視為自己的代表作(magnumopus),在這部著作中,他把從深度圖到點(diǎn)云的構(gòu)建方式小白學(xué)視覺0易點(diǎn)云易點(diǎn)云0點(diǎn)云環(huán)宇點(diǎn)云環(huán)宇0慧點(diǎn)云慧點(diǎn)云0知點(diǎn)云知點(diǎn)云0點(diǎn)贊 評(píng)論 收藏 分享 手機(jī)掃一掃分享分享 舉報(bào)