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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

從零開始:入門雙目視覺你需要了解的知識

3D視覺工坊 ? 來源:3D視覺工坊 ? 2023-06-06 14:35 ? 次閱讀

雙目立體視覺是計算機視覺中的一個重要領域,它利用兩個相機拍攝同一場景的不同視角的圖像,通過計算圖像之間的對應關系,恢復出場景的三維結構信息。雙目立體視覺的基本步驟包括雙目標定、立體校正、立體匹配和三維重建。本文將介紹這些步驟,幫助你學會從雙目標定到立體匹配的基本流程。

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

雙目相機標定

雙目標定是指確定兩個相機之間的幾何關系,包括內參矩陣、外參矩陣和基礎矩陣。內參矩陣描述了相機的內部參數,如焦距、主點坐標和畸變系數。外參矩陣描述了相機的外部參數,如旋轉矩陣和平移向量。基礎矩陣描述了兩個圖像平面之間的對極幾何關系,即任意一點在一個圖像平面上的投影與另一個圖像平面上的對應點所在的直線滿足一個線性方程。

雙目標定的方法有很多,常用的是基于棋盤格圖案的張氏標定法,它利用多幅不同角度拍攝的棋盤格圖像,通過提取角點坐標和求解最小二乘問題,得到兩個相機的內參矩陣和外參矩陣,進而計算出基礎矩陣。

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

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

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

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

基于主動視覺的標定方法:主要包括基于結構光的方法和基于視覺后處理的方法。前者是通過光源和被測物體之間的互動關系,實現對相機內部參數和外部參數的標定;后者則是利用數字圖像處理技術進行后處理,從而提高標定結果的精度和可靠性。這些方法因其高精度、高速度、無需接觸、非侵入性等優(yōu)點,在各種工業(yè)自動化、機器人視覺等領域都有廣泛應用。但是標定過程復雜,設備成本高昂。

去畸變

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

標定板法是最常用的一種方法,它可以根據標定板上的特征點計算出相機的畸變參數,然后通過畸變參數對圖像進行畸變校正。自適應分類法是一種基于圖像邊緣的方法,它可以通過檢測圖像邊緣來估計畸變參數,然后對圖像進行畸變校正。以圖像邊緣為基礎的方法是一種基于圖像邊緣的方法,它可以通過檢測圖像邊緣來估計畸變參數,然后對圖像進行畸變校正。以特征點為基礎的方法是一種基于特征點匹配的方法,它可以通過匹配特征點來估計畸變參數,然后對圖像進行畸變校正。以直線為基礎的方法是一種基于直線匹配的方法,它可以通過匹配直線來估計畸變參數,然后對圖像進行畸變校正。

tip:假如已經通過張正友標定獲取了相機的內外參數,接下來去畸變都可以使用什么算法?

如果已經獲取了相機的內部參數和外部參數,可以使用 OpenCV 庫中提供的 undistort() 函數對圖像進行去畸變處理。在這種情況下,對于常見的徑向畸變,undistort() 函數在默認情況下使用張正友畸變模型進行去畸變處理。具體實現過程如下:

根據所給的相機內部參數和外部參數,計算出投影矩陣 Q,即將相機坐標系下的三維點轉換到像素坐標系下的映射矩陣。

根據 Q 矩陣和畸變系數,計算出相機坐標系下的徑向畸變和切向畸變的校正系數。

通過校正系數對輸入的圖像進行去畸變處理。

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

極線校正(立體校正)

在雙目視覺中,極線校正是一項關鍵的預處理步驟,極線校正的主要目標是將左右圖像的極線對齊,并且使對應的像素在同一行上。這樣,當進行立體匹配時,我們只需要在一條極線上搜索對應像素,而無需在整個圖像上進行搜索。這極大地降低了計算復雜度,并提高了匹配的效率。

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

tip:有沒有不需要極線校正的立體匹配算法?極線校正是立體匹配必須要提前進行的步驟嗎?

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

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

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

基于光流的匹配算法:這類算法通過計算兩個圖像之間的光流場來尋找匹配,光流計算過程可以抵消一定視角變化,所以也無需進行極線校正。代表算法有Lucas-Kanade光流算法等。

基于深度學習的匹配算法:這類算法利用深度學習網絡對立體圖像對進行端到端的學習和匹配,網絡在訓練過程中可以學習視角變化,所以也無需進行極線校正。代表算法有PBC-Net等。

所以,總的來說,盡管極線校正可以簡化立體匹配的難度,但并不是立體匹配一定要提前進行的步驟。使用上述幾種算法都可以在無需進行極線校正的情況下實現立體匹配。

立體匹配

立體匹配是指尋找兩個圖像中相同物體或場景的對應點,從而計算出它們之間的視差。視差是指同一物體在兩個圖像中投影點之間的水平距離,它與物體到相機的距離成反比,因此可以用來估計物體的深度。

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

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

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

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

深度圖生成

視差圖是由兩個不同位置的相機所拍攝到的兩張圖像組成的。深度圖則是通過視差圖來計算出物體所處的深度。以下是幾種生成深度圖的算法:

基線三角化:通過已知的相機位置和視差圖的像素坐標之間的關系,使用三角化方法計算出物體深度。

統(tǒng)計學方法:通過對大量的視差數據進行簡單統(tǒng)計,去除誤差和離群點得到物體深度。

基于卷積神經網絡(CNN)的方法:使用卷積神經網絡訓練模型,對輸入的視差圖進行處理,得到物體的深度圖。

基于深度學習和立體視覺的融合方法:將深度卷積神經網絡(DCNN)和立體視覺算法結合起來進行深度圖生成,提高深度圖的精度和魯棒性。

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

視差圖指存儲立體校正后單視圖所有像素視差值的二維圖像,是左圖和右圖對應點的x差值,單位一般是像素單位。深度圖是在視差圖基礎上生成的圖像,它的像素值表示場景中各點到相機的距離。深度圖是一種單通道灰度圖像,其中像素值越小表示物體距離相機越近,像素值越大表示物體距離相機越遠。深度圖可以用于計算物體的三維坐標,也可用于機器視覺和計算機圖形學中的三維重建、虛擬現實等領域。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 神經網絡
    +關注

    關注

    42

    文章

    4726

    瀏覽量

    100318
  • 矩陣
    +關注

    關注

    0

    文章

    418

    瀏覽量

    34453
  • 視覺
    +關注

    關注

    1

    文章

    145

    瀏覽量

    23833

原文標題:從零開始:入門雙目視覺你需要了解的知識

文章出處:【微信號:3D視覺工坊,微信公眾號:3D視覺工坊】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于SoC的雙目視覺ADAS解決方案

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

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

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

    【WRTnode2R申請】雙目視覺隨動平臺

    申請理由:之前用wrtnode的u***接雙攝像頭外加一個么mcu實現過一個一個雙目視覺隨動平臺,這樣太麻煩了,希望能用這個來實現一個更簡單的解決方案。項目描述:u***接雙攝像頭,mcu控制云臺。通過WIFI將雙目視覺傳遞到手機進行顯示,同時將手機的角度信息返回,控制云
    發(fā)表于 09-10 11:25

    從零開始入門IT編程之路

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

    基于SoC的雙目視覺ADAS解決方案

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

    如何從零開始入門FPGA?

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

    LabVIEW雙目視覺 【轉載】

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

    JAVA從零開始學習知識整理

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

    基于神經網絡的雙目視覺傳感器建模

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

    從零開始學電路基礎

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

    雙目視覺立體匹配算法研究

    雙日視覺是計算機視覺領域的一個重要組成部分。雙目視覺研究中的關鍵技術攝像機標定和立體匹配一直是研究的熱點。本文由兩部分組成,分別對雙目視覺的算法和未標定圖
    發(fā)表于 08-14 16:41 ?0次下載

    雙目視覺傳感器的現場標定技術

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

    一種基于圖像處理的雙目視覺校準方法

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

    雙目視覺簡介及算法一般流程

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

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

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