0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

從零開(kāi)始:入門(mén)雙目視覺(jué)你需要了解的知識(shí)

3D視覺(jué)工坊 ? 來(lái)源:3D視覺(jué)工坊 ? 2023-06-06 14:35 ? 次閱讀

雙目立體視覺(jué)是計(jì)算機(jī)視覺(jué)中的一個(gè)重要領(lǐng)域,它利用兩個(gè)相機(jī)拍攝同一場(chǎng)景的不同視角的圖像,通過(guò)計(jì)算圖像之間的對(duì)應(yīng)關(guān)系,恢復(fù)出場(chǎng)景的三維結(jié)構(gòu)信息。雙目立體視覺(jué)的基本步驟包括雙目標(biāo)定、立體校正、立體匹配和三維重建。本文將介紹這些步驟,幫助你學(xué)會(huì)從雙目標(biāo)定到立體匹配的基本流程。

2fb19958-042f-11ee-90ce-dac502259ad0.png

雙目相機(jī)標(biāo)定

雙目標(biāo)定是指確定兩個(gè)相機(jī)之間的幾何關(guān)系,包括內(nèi)參矩陣、外參矩陣和基礎(chǔ)矩陣。內(nèi)參矩陣描述了相機(jī)的內(nèi)部參數(shù),如焦距、主點(diǎn)坐標(biāo)和畸變系數(shù)。外參矩陣描述了相機(jī)的外部參數(shù),如旋轉(zhuǎn)矩陣和平移向量?;A(chǔ)矩陣描述了兩個(gè)圖像平面之間的對(duì)極幾何關(guān)系,即任意一點(diǎn)在一個(gè)圖像平面上的投影與另一個(gè)圖像平面上的對(duì)應(yīng)點(diǎn)所在的直線滿足一個(gè)線性方程。

雙目標(biāo)定的方法有很多,常用的是基于棋盤(pán)格圖案的張氏標(biāo)定法,它利用多幅不同角度拍攝的棋盤(pán)格圖像,通過(guò)提取角點(diǎn)坐標(biāo)和求解最小二乘問(wèn)題,得到兩個(gè)相機(jī)的內(nèi)參矩陣和外參矩陣,進(jìn)而計(jì)算出基礎(chǔ)矩陣。

2fbd7b38-042f-11ee-90ce-dac502259ad0.png

tip:除了傳統(tǒng)的標(biāo)定方法的張正友標(biāo)定法,還有什么標(biāo)定方法?

傳統(tǒng)的標(biāo)定方法:除了張正友標(biāo)定法還包括椎體標(biāo)定法、光柵板標(biāo)定法、點(diǎn)追蹤標(biāo)定法等,這些方法通常需要事先準(zhǔn)備一些特定的標(biāo)定物體和設(shè)備,采集一定數(shù)量的標(biāo)定圖像或者對(duì)標(biāo)定物體進(jìn)行特殊處理,然后通過(guò)求解投影矩陣和外參矩陣等參數(shù),計(jì)算出相機(jī)的內(nèi)部參數(shù)和外部參數(shù)。

自標(biāo)定方法:也稱(chēng)為自標(biāo)定技術(shù)或自動(dòng)標(biāo)定技術(shù),它是一種無(wú)需特定標(biāo)定物體和設(shè)備,通過(guò)對(duì)場(chǎng)景中的特征點(diǎn)或輪廓線進(jìn)行跟蹤、匹配和分析,利用統(tǒng)計(jì)學(xué)或優(yōu)化算法實(shí)現(xiàn)相機(jī)標(biāo)定的方法。這種方法與傳統(tǒng)標(biāo)定方法相比,具有更高的自動(dòng)化程度和更廣泛的適應(yīng)性,但在精度和穩(wěn)定性上稍有不足。

基于主動(dòng)視覺(jué)的標(biāo)定方法:主要包括基于結(jié)構(gòu)光的方法和基于視覺(jué)后處理的方法。前者是通過(guò)光源和被測(cè)物體之間的互動(dòng)關(guān)系,實(shí)現(xiàn)對(duì)相機(jī)內(nèi)部參數(shù)和外部參數(shù)的標(biāo)定;后者則是利用數(shù)字圖像處理技術(shù)進(jìn)行后處理,從而提高標(biāo)定結(jié)果的精度和可靠性。這些方法因其高精度、高速度、無(wú)需接觸、非侵入性等優(yōu)點(diǎn),在各種工業(yè)自動(dòng)化、機(jī)器人視覺(jué)等領(lǐng)域都有廣泛應(yīng)用。但是標(biāo)定過(guò)程復(fù)雜,設(shè)備成本高昂。

去畸變

2fcd1264-042f-11ee-90ce-dac502259ad0.png

標(biāo)定板法是最常用的一種方法,它可以根據(jù)標(biāo)定板上的特征點(diǎn)計(jì)算出相機(jī)的畸變參數(shù),然后通過(guò)畸變參數(shù)對(duì)圖像進(jìn)行畸變校正。自適應(yīng)分類(lèi)法是一種基于圖像邊緣的方法,它可以通過(guò)檢測(cè)圖像邊緣來(lái)估計(jì)畸變參數(shù),然后對(duì)圖像進(jìn)行畸變校正。以圖像邊緣為基礎(chǔ)的方法是一種基于圖像邊緣的方法,它可以通過(guò)檢測(cè)圖像邊緣來(lái)估計(jì)畸變參數(shù),然后對(duì)圖像進(jìn)行畸變校正。以特征點(diǎn)為基礎(chǔ)的方法是一種基于特征點(diǎn)匹配的方法,它可以通過(guò)匹配特征點(diǎn)來(lái)估計(jì)畸變參數(shù),然后對(duì)圖像進(jìn)行畸變校正。以直線為基礎(chǔ)的方法是一種基于直線匹配的方法,它可以通過(guò)匹配直線來(lái)估計(jì)畸變參數(shù),然后對(duì)圖像進(jìn)行畸變校正。

tip:假如已經(jīng)通過(guò)張正友標(biāo)定獲取了相機(jī)的內(nèi)外參數(shù),接下來(lái)去畸變都可以使用什么算法?

如果已經(jīng)獲取了相機(jī)的內(nèi)部參數(shù)和外部參數(shù),可以使用 OpenCV 庫(kù)中提供的 undistort() 函數(shù)對(duì)圖像進(jìn)行去畸變處理。在這種情況下,對(duì)于常見(jiàn)的徑向畸變,undistort() 函數(shù)在默認(rèn)情況下使用張正友畸變模型進(jìn)行去畸變處理。具體實(shí)現(xiàn)過(guò)程如下:

根據(jù)所給的相機(jī)內(nèi)部參數(shù)和外部參數(shù),計(jì)算出投影矩陣 Q,即將相機(jī)坐標(biāo)系下的三維點(diǎn)轉(zhuǎn)換到像素坐標(biāo)系下的映射矩陣。

根據(jù) Q 矩陣和畸變系數(shù),計(jì)算出相機(jī)坐標(biāo)系下的徑向畸變和切向畸變的校正系數(shù)。

通過(guò)校正系數(shù)對(duì)輸入的圖像進(jìn)行去畸變處理。

2fd47572-042f-11ee-90ce-dac502259ad0.png

極線校正(立體校正)

在雙目視覺(jué)中,極線校正是一項(xiàng)關(guān)鍵的預(yù)處理步驟,極線校正的主要目標(biāo)是將左右圖像的極線對(duì)齊,并且使對(duì)應(yīng)的像素在同一行上。這樣,當(dāng)進(jìn)行立體匹配時(shí),我們只需要在一條極線上搜索對(duì)應(yīng)像素,而無(wú)需在整個(gè)圖像上進(jìn)行搜索。這極大地降低了計(jì)算復(fù)雜度,并提高了匹配的效率。

2fdf6ac2-042f-11ee-90ce-dac502259ad0.png

tip:有沒(méi)有不需要極線校正的立體匹配算法?極線校正是立體匹配必須要提前進(jìn)行的步驟嗎?

事實(shí)上,并不一定需要進(jìn)行極線校正才能進(jìn)行立體匹配。以下幾種算法可以在無(wú)需進(jìn)行極線校正的情況下進(jìn)行立體匹配:

基于特征的匹配算法:這類(lèi)算法利用圖像中的特征點(diǎn)(如SIFT,SURF等)進(jìn)行匹配,在匹配過(guò)程中可以抵消一定角度的視角變化,無(wú)需極線校正。代表算法有SIFT立體匹配、SURF立體匹配等。

基于區(qū)塊的匹配算法:這類(lèi)算法將圖像分割成多個(gè)區(qū)塊,然后在兩個(gè)圖像中的對(duì)應(yīng)區(qū)塊中尋找最相似的區(qū)塊進(jìn)行匹配。匹配過(guò)程中也可以抵消一定的視角變化,無(wú)需極線校正。代表算法有區(qū)塊匹配算法等。

基于光流的匹配算法:這類(lèi)算法通過(guò)計(jì)算兩個(gè)圖像之間的光流場(chǎng)來(lái)尋找匹配,光流計(jì)算過(guò)程可以抵消一定視角變化,所以也無(wú)需進(jìn)行極線校正。代表算法有Lucas-Kanade光流算法等。

基于深度學(xué)習(xí)的匹配算法:這類(lèi)算法利用深度學(xué)習(xí)網(wǎng)絡(luò)對(duì)立體圖像對(duì)進(jìn)行端到端的學(xué)習(xí)和匹配,網(wǎng)絡(luò)在訓(xùn)練過(guò)程中可以學(xué)習(xí)視角變化,所以也無(wú)需進(jìn)行極線校正。代表算法有PBC-Net等。

所以,總的來(lái)說(shuō),盡管極線校正可以簡(jiǎn)化立體匹配的難度,但并不是立體匹配一定要提前進(jìn)行的步驟。使用上述幾種算法都可以在無(wú)需進(jìn)行極線校正的情況下實(shí)現(xiàn)立體匹配。

立體匹配

立體匹配是指尋找兩個(gè)圖像中相同物體或場(chǎng)景的對(duì)應(yīng)點(diǎn),從而計(jì)算出它們之間的視差。視差是指同一物體在兩個(gè)圖像中投影點(diǎn)之間的水平距離,它與物體到相機(jī)的距離成反比,因此可以用來(lái)估計(jì)物體的深度。

立體匹配的方法有很多,以下是一些常見(jiàn)的立體匹配算法:

基于塊匹配的算法:這是一種經(jīng)典的立體匹配算法,它將圖像分成小的塊,然后在兩個(gè)攝像機(jī)圖像中搜索具有最小差異的塊對(duì)應(yīng)區(qū)域。常見(jiàn)的塊匹配算法包括貪婪匹配算法(例如最小絕對(duì)差異、最小均方差)和自適應(yīng)窗口匹配算法(例如自適應(yīng)支持窗口)。

基于特征匹配的算法:這些算法使用圖像中的特征點(diǎn)或特征描述符來(lái)進(jìn)行匹配。特征點(diǎn)可以是角點(diǎn)、邊緣點(diǎn)或其他具有顯著性的圖像點(diǎn)。常見(jiàn)的特征匹配算法包括尺度不變特征變換(SIFT)、加速穩(wěn)健特征(SURF)和特征點(diǎn)匹配算法(例如RANSAC)。

基于能量?jī)?yōu)化的算法:這些算法將立體匹配問(wèn)題建模為能量最小化問(wèn)題。通過(guò)定義能量函數(shù)和約束條件,可以使用動(dòng)態(tài)規(guī)劃、圖割(graph cut)或消息傳遞等方法來(lái)求解最優(yōu)匹配。常見(jiàn)的能量?jī)?yōu)化算法包括圖割算法、Belief Propagation算法和Semi-Global Matching(SGM)算法。

深度圖生成

視差圖是由兩個(gè)不同位置的相機(jī)所拍攝到的兩張圖像組成的。深度圖則是通過(guò)視差圖來(lái)計(jì)算出物體所處的深度。以下是幾種生成深度圖的算法:

基線三角化:通過(guò)已知的相機(jī)位置和視差圖的像素坐標(biāo)之間的關(guān)系,使用三角化方法計(jì)算出物體深度。

統(tǒng)計(jì)學(xué)方法:通過(guò)對(duì)大量的視差數(shù)據(jù)進(jìn)行簡(jiǎn)單統(tǒng)計(jì),去除誤差和離群點(diǎn)得到物體深度。

基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的方法:使用卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練模型,對(duì)輸入的視差圖進(jìn)行處理,得到物體的深度圖。

基于深度學(xué)習(xí)和立體視覺(jué)的融合方法:將深度卷積神經(jīng)網(wǎng)絡(luò)(DCNN)和立體視覺(jué)算法結(jié)合起來(lái)進(jìn)行深度圖生成,提高深度圖的精度和魯棒性。

tip:深度圖和視差圖有什么區(qū)別?

視差圖指存儲(chǔ)立體校正后單視圖所有像素視差值的二維圖像,是左圖和右圖對(duì)應(yīng)點(diǎn)的x差值,單位一般是像素單位。深度圖是在視差圖基礎(chǔ)上生成的圖像,它的像素值表示場(chǎng)景中各點(diǎn)到相機(jī)的距離。深度圖是一種單通道灰度圖像,其中像素值越小表示物體距離相機(jī)越近,像素值越大表示物體距離相機(jī)越遠(yuǎn)。深度圖可以用于計(jì)算物體的三維坐標(biāo),也可用于機(jī)器視覺(jué)和計(jì)算機(jī)圖形學(xué)中的三維重建、虛擬現(xiàn)實(shí)等領(lǐng)域。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    42

    文章

    4717

    瀏覽量

    100007
  • 矩陣
    +關(guān)注

    關(guān)注

    0

    文章

    417

    瀏覽量

    34413
  • 視覺(jué)
    +關(guān)注

    關(guān)注

    1

    文章

    144

    瀏覽量

    23773

原文標(biāo)題:從零開(kāi)始:入門(mén)雙目視覺(jué)你需要了解的知識(shí)

文章出處:【微信號(hào):3D視覺(jué)工坊,微信公眾號(hào):3D視覺(jué)工坊】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于SoC的雙目視覺(jué)ADAS解決方案

    相比于單目視覺(jué)雙目視覺(jué)(Stereo Vision)的關(guān)鍵區(qū)別在于可以利用雙攝像頭從不同角度對(duì)同一目標(biāo)成像,從而獲取視差信息,推算目標(biāo)距離。
    發(fā)表于 11-05 03:46 ?3196次閱讀

    鉅芯發(fā)布業(yè)內(nèi)首顆智能雙目視覺(jué)芯片

    據(jù)麥姆斯咨詢報(bào)道,物聯(lián)網(wǎng)及雙目視覺(jué)專(zhuān)家鉅芯發(fā)布了一款智能雙目立體視覺(jué)系統(tǒng),以及業(yè)內(nèi)首顆智能雙目立體視覺(jué)芯片eagleye100。
    的頭像 發(fā)表于 10-26 10:26 ?1w次閱讀

    【W(wǎng)RTnode2R申請(qǐng)】雙目視覺(jué)隨動(dòng)平臺(tái)

    申請(qǐng)理由:之前用wrtnode的u***接雙攝像頭外加一個(gè)么mcu實(shí)現(xiàn)過(guò)一個(gè)一個(gè)雙目視覺(jué)隨動(dòng)平臺(tái),這樣太麻煩了,希望能用這個(gè)來(lái)實(shí)現(xiàn)一個(gè)更簡(jiǎn)單的解決方案。項(xiàng)目描述:u***接雙攝像頭,mcu控制云臺(tái)。通過(guò)WIFI將雙目視覺(jué)傳遞到手機(jī)進(jìn)行顯示,同時(shí)將手機(jī)的角度信息返回,控制云
    發(fā)表于 09-10 11:25

    從零開(kāi)始入門(mén)IT編程之路

    的束縛,也能遂心應(yīng)手的走上編程這條不歸路!  如何從零開(kāi)始入門(mén)IT編程之路:  一、首先來(lái)了解什么是編程?  編程廣義上來(lái)說(shuō)就是編寫(xiě)計(jì)算機(jī)可執(zhí)行的指令(集合)  二、編程領(lǐng)域的知識(shí)有什
    發(fā)表于 07-06 10:31

    基于SoC的雙目視覺(jué)ADAS解決方案

    和帶寬能夠支持對(duì)雙路高達(dá)1080p@30fps圖像信號(hào)的實(shí)時(shí)處理,保證了雙路圖像信號(hào)的質(zhì)量和一致性。在雙目視覺(jué)ADAS應(yīng)用中,最大的挑戰(zhàn)來(lái)自于對(duì)兩路圖像進(jìn)行立體匹配和三維重構(gòu)所需要的巨大運(yùn)算量。以FCW
    發(fā)表于 08-12 15:15

    如何從零開(kāi)始入門(mén)FPGA?

    求教論壇的大神,如何從零開(kāi)始入門(mén)FPGA?對(duì)Xilinx平臺(tái)的開(kāi)發(fā)比較感興趣,不知道有什么開(kāi)發(fā)板推薦?除了開(kāi)發(fā)板,還需要什么配套硬件?
    發(fā)表于 07-16 12:57

    LabVIEW雙目視覺(jué) 【轉(zhuǎn)載】

    ` 本帖最后由 sszx2007 于 2020-3-2 17:04 編輯 LabVIEW雙目視覺(jué)原創(chuàng) 張冬斌 LabVIEW逆向工程高級(jí)編程 轉(zhuǎn)載至:https
    發(fā)表于 03-02 17:03

    JAVA從零開(kāi)始學(xué)習(xí)知識(shí)整理

    JAVA從零開(kāi)始學(xué)習(xí)知識(shí)整理——MySql——day05—【hqC】
    發(fā)表于 06-14 16:15

    基于神經(jīng)網(wǎng)絡(luò)的雙目視覺(jué)傳感器建模

    根據(jù)雙目視覺(jué)傳感器的工作原理, 分析了影響測(cè)量精度的因素, 表明雙目視覺(jué)傳感器的物體空間坐標(biāo)與圖像坐標(biāo)之間存在復(fù)雜的非線性映射關(guān)系, 其數(shù)學(xué)模型無(wú)法用解析式精確地加以
    發(fā)表于 07-10 15:53 ?11次下載

    從零開(kāi)始學(xué)電路基礎(chǔ)

    從零開(kāi)始學(xué)電路基礎(chǔ) 電路基礎(chǔ)是學(xué)習(xí)電子技術(shù)的起步知識(shí)。本書(shū)就是為使初學(xué)者從零開(kāi)始,快速掌握電路基礎(chǔ)知識(shí)而編寫(xiě)的。與傳統(tǒng)的電路基礎(chǔ)教材不同的是,本書(shū)擯棄了
    發(fā)表于 03-15 16:12 ?0次下載

    雙目視覺(jué)立體匹配算法研究

    雙日視覺(jué)是計(jì)算機(jī)視覺(jué)領(lǐng)域的一個(gè)重要組成部分。雙目視覺(jué)研究中的關(guān)鍵技術(shù)攝像機(jī)標(biāo)定和立體匹配一直是研究的熱點(diǎn)。本文由兩部分組成,分別對(duì)雙目視覺(jué)的算法和未標(biāo)定圖
    發(fā)表于 08-14 16:41 ?0次下載

    雙目視覺(jué)傳感器的現(xiàn)場(chǎng)標(biāo)定技術(shù)

    本文以遺視投影變換為依據(jù),針對(duì)多視覺(jué)傳感器檢測(cè)系統(tǒng)中的雙目視覺(jué)傳感器,建立了雙目視覺(jué)傳感器測(cè)量空間三維坐標(biāo)的模型.事先確定攝像機(jī)的部分不易變化的參數(shù),其它參數(shù)在攝
    發(fā)表于 03-02 16:02 ?15次下載
    <b class='flag-5'>雙目視覺(jué)</b>傳感器的現(xiàn)場(chǎng)標(biāo)定技術(shù)

    一種基于圖像處理的雙目視覺(jué)校準(zhǔn)方法

    雙目視覺(jué)是利用機(jī)器視覺(jué)進(jìn)行障礙物檢測(cè)的研究熱點(diǎn)。針對(duì)雙目視頻不同步,導(dǎo)致立體匹配不精準(zhǔn)的問(wèn)題,提出了一種基于圖像處理的雙目校準(zhǔn)算法。算法首先根據(jù)道路的先驗(yàn)特征模型,建立
    發(fā)表于 12-18 16:26 ?34次下載

    雙目視覺(jué)簡(jiǎn)介及算法一般流程

    1.1. 雙目視覺(jué)簡(jiǎn)介 雙目視覺(jué)廣泛應(yīng)用在機(jī)器人導(dǎo)航,精密工業(yè)測(cè)量、物體識(shí)別、虛擬現(xiàn)實(shí)、場(chǎng)景重建,勘測(cè)領(lǐng)域。 什么是雙目視覺(jué)? 雙目視覺(jué)是模擬人類(lèi)
    的頭像 發(fā)表于 10-23 09:51 ?1.2w次閱讀
    <b class='flag-5'>雙目視覺(jué)</b>簡(jiǎn)介及算法一般流程

    雙目立體視覺(jué)是什么?單目視覺(jué)雙目立體視覺(jué)的區(qū)別?

    雙目更多的是基于物理測(cè)量,而單目視覺(jué)則是基于邏輯推理,通過(guò)大量的數(shù)據(jù)訓(xùn)練,先識(shí)別出目標(biāo),再根據(jù)目標(biāo)的大小和高度估算距離。因此,單目視覺(jué)的漏檢率高于雙目立體
    發(fā)表于 08-17 09:40 ?3189次閱讀
    <b class='flag-5'>雙目</b>立體<b class='flag-5'>視覺(jué)</b>是什么?單<b class='flag-5'>目視覺(jué)</b>與<b class='flag-5'>雙目</b>立體<b class='flag-5'>視覺(jué)</b>的區(qū)別?