日本无码免费高清在线|成人日本在线观看高清|A级片免费视频操逼欧美|全裸美女搞黄色大片网站|免费成人a片视频|久久无码福利成人激情久久|国产视频一二国产在线v|av女主播在线观看|五月激情影音先锋|亚洲一区天堂av

  • 手機(jī)站
  • 小程序

    汽車測(cè)試網(wǎng)

  • 公眾號(hào)
    • 汽車測(cè)試網(wǎng)

    • 在線課堂

    • 電車測(cè)試

自動(dòng)駕駛中的立體視覺

2021-12-06 09:02:39·  來源:汽車ECU開發(fā)  
 
如今,自動(dòng)駕駛的立體視覺變得越來越流行。計(jì)算機(jī)視覺領(lǐng)域在過去十年中發(fā)展迅猛,尤其是基于深度學(xué)習(xí)的障礙物檢測(cè)和計(jì)算機(jī)視覺領(lǐng)域。YOLO 或 RetinaNet 等障礙物
如今,自動(dòng)駕駛的立體視覺變得越來越流行。計(jì)算機(jī)視覺領(lǐng)域在過去十年中發(fā)展迅猛,尤其是基于深度學(xué)習(xí)的障礙物檢測(cè)和計(jì)算機(jī)視覺領(lǐng)域。
YOLO 或 RetinaNet 等障礙物檢測(cè)算法提供 2D 邊界框,使用邊界框給出圖像中障礙物的位置。今天,大多數(shù)物體檢測(cè)算法都是基于單目RGB相機(jī),無法返回每個(gè)障礙物的距離。
為了返回每個(gè)障礙物的距離,工程師們將相機(jī)與激光雷達(dá)(光探測(cè)和測(cè)距)傳感器融合,利用激光返回深度信息和傳感器融合技術(shù)融合計(jì)算機(jī)視覺和激光雷達(dá)的輸出。
這種方法的問題是使用了昂貴的激光雷達(dá)。工程師巧妙地利用對(duì)齊兩個(gè)攝像頭并使用幾何形狀來定義每個(gè)障礙物的距離:我們稱之為偽激光雷達(dá)。



圖1 單眼與立體視覺
偽激光雷達(dá)利用幾何圖形來構(gòu)建深度地圖,并將其與目標(biāo)檢測(cè)相結(jié)合,以獲得三維距離。

實(shí)現(xiàn)深度估計(jì)的五個(gè)步驟:

通過兩個(gè)攝像頭,我們可以獲得物體的距離。這是三角測(cè)量的原理,也是立體視覺背后的核心幾何。下面是它的工作原理:
1、立體校準(zhǔn)-檢索相機(jī)的關(guān)鍵參數(shù);
2、對(duì)極幾何-定義我們?cè)O(shè)置的三維幾何;
3、視差圖- 計(jì)算視差圖;
4、深度貼圖- 計(jì)算深度貼圖;
5、障礙物距離估計(jì)- 在 3D 中查找對(duì)象,并與深度圖匹配。
在本文中,我們將學(xué)習(xí)如何執(zhí)行這 5 個(gè)步驟來構(gòu)建 3D 對(duì)象檢測(cè)算法,目標(biāo)是對(duì)于每個(gè)對(duì)象,我們可以估計(jì) X、Y、Z 位置。
01.立體校準(zhǔn)—內(nèi)部和外部校準(zhǔn)

當(dāng)你在網(wǎng)上看任何圖片時(shí),很可能相機(jī)已經(jīng)被校準(zhǔn)過了。每個(gè)相機(jī)都需要校準(zhǔn)。校準(zhǔn)是指將具有[X,Y,Z]坐標(biāo)的3D點(diǎn)轉(zhuǎn)換為具有[X,Y]坐標(biāo)的2D像素。

這一步的輸出很簡(jiǎn)單:我們需要相機(jī)的內(nèi)在參數(shù)和外在參數(shù)。這些將在稍后用于檢索距離。

圖像是如何產(chǎn)生的?

當(dāng)前相機(jī)使用針孔成像原理,用一個(gè)針孔讓少量的光線穿過相機(jī),從而獲得清晰的圖像。


相機(jī)還可以使用鏡頭來變焦,獲得更好的清晰度。如你所見,鏡頭位于距離傳感器f的位置。這個(gè)距離f稱為焦距。


前面提到相機(jī)校準(zhǔn)的目標(biāo)是找到合適的內(nèi)部和外部參數(shù)。我還說過,校準(zhǔn)的目的是幫助我們?nèi)∫粋€(gè)3D Point,并將其轉(zhuǎn)換為Pixel,從而創(chuàng)建一個(gè)圖像。
因此,以下是相機(jī)校準(zhǔn)在一張圖像中的工作方式:


相機(jī)校準(zhǔn)過程
外部校準(zhǔn)
外部校準(zhǔn)是從世界坐標(biāo)到相機(jī)坐標(biāo)的轉(zhuǎn)換。我們通常說“這是一個(gè)特定坐標(biāo)系中的 3D 點(diǎn)。如果我們從相機(jī)框架看,這個(gè)點(diǎn)的坐標(biāo)是什么?”。世界中的一個(gè)點(diǎn)被旋轉(zhuǎn)到相機(jī)框架,然后轉(zhuǎn)換到相機(jī)位置。外部參數(shù)稱為 R(旋轉(zhuǎn)矩陣)和 T(平移矩陣)。
公式如下:


外部校準(zhǔn)公式

內(nèi)部校準(zhǔn)

內(nèi)部校準(zhǔn)是從相機(jī)坐標(biāo)到像素坐標(biāo)的轉(zhuǎn)換。一旦我們有了 3D 點(diǎn),我們就會(huì)使用內(nèi)在參數(shù)將這個(gè) 3D 點(diǎn)轉(zhuǎn)換為像素,內(nèi)在參數(shù)是我們稱為 K 的矩陣。
這是世界坐標(biāo)到圖像轉(zhuǎn)換的公式:

K為本征矩陣。它由f,焦距和(u,v)光學(xué)中心組成:這些都是內(nèi)在參數(shù)。

最終公式:


所以,我們現(xiàn)在知道,給定世界上的一個(gè)點(diǎn),我們可以使用外部校準(zhǔn)將其轉(zhuǎn)換為相機(jī)幀,然后使用內(nèi)部校準(zhǔn)將其轉(zhuǎn)換為像素。
這是我們使用的最終公式:

你可以注意到,外部矩陣已經(jīng)被修改了,這是因?yàn)榫仃嚦朔ㄐ枰仃囆螤顏砥ヅ?,因此我們轉(zhuǎn)向了齊次坐標(biāo)。
接下來,讓我們看看它如何與 OpenCV 配合使用。

相機(jī)校準(zhǔn):立體視覺和 OpenCV

通常,我們使用一個(gè)棋盤和自動(dòng)算法來執(zhí)行它。我們告訴算法棋盤上的一個(gè)點(diǎn)(例如:0,0,0)對(duì)應(yīng)于圖像中的一個(gè)像素(例如:545,343)。

校準(zhǔn)示例
為此,我們必須用相機(jī)拍攝棋盤,獲取一些圖像,校準(zhǔn)算法通過最小化最小二乘法的損失來確定相機(jī)的校準(zhǔn)矩陣。
通常,為了消除圖像失真,需要進(jìn)行校準(zhǔn)。針孔相機(jī)模型包括一個(gè)失真,“ GoPro 效應(yīng)”。為了得到校正后的圖像,需要進(jìn)行校準(zhǔn)?;兛梢允菑较虻模部梢允乔邢虻?。校準(zhǔn)有助于消除圖像的扭曲。


圖像校準(zhǔn)
在校準(zhǔn)過程的最后,你有兩個(gè)校正圖像的參數(shù)K, R,和T:


極性幾何——立體視覺
02.極性幾何—立體視覺
立體視覺是基于兩幅圖像尋找深度信息。我們的眼睛就像兩臺(tái)相機(jī)。他們從不同的角度獲取圖像,計(jì)算兩個(gè)視角之間的差異,并建立一個(gè)距離估計(jì)。
在一個(gè)立體視覺系統(tǒng)中的兩個(gè)攝像頭,一般在同一高度對(duì)齊。那么,我們?nèi)绾问褂迷O(shè)置和幾何設(shè)計(jì)一個(gè)系統(tǒng)?
立體相機(jī)如何估計(jì)深度?
假設(shè)你有兩個(gè)相機(jī),其 Y 軸和 Z 軸坐標(biāo)一致,唯一的區(qū)別就是它們的 X 值。
現(xiàn)在兩個(gè)相機(jī) CL (相機(jī)左)和 CR (相機(jī)右)看著一個(gè)障礙 O 。通過處理幾何關(guān)系,我們可以計(jì)算障礙物的距離。


相機(jī)與障礙物的幾何關(guān)系
我們的目標(biāo)是O點(diǎn)的估計(jì)Z軸坐標(biāo)值,即O點(diǎn)的距離(表示圖像中的任何像素)。
  • X 是對(duì)齊軸
  • Y是高度
  • Z 是深度
  • xL 對(duì)應(yīng)于左側(cè)攝像機(jī)圖像中的點(diǎn)。右側(cè)圖像的 xR 相同
  • b 是兩個(gè)相機(jī)X軸上的距離。
根據(jù)上述參數(shù),我們可以用相似三角形得到這張圖中的兩個(gè)方程。


對(duì)于左側(cè)相機(jī):


對(duì)于右側(cè)相機(jī):

當(dāng)我們進(jìn)行數(shù)學(xué)運(yùn)算后,我們可以快速得到 Z,甚至可以推導(dǎo)出 X 和 Y。


03.立體視差和映射
什么是視差?
視差是同一 3D 點(diǎn)在 2 個(gè)不同相機(jī)角度的圖像位置差異。

具體來說,如果我取左邊圖像的側(cè)視鏡像素(300,175);其在右邊的圖像像素位置位(250,175)。
在本例中,xL=300 且 xR=250。視差為 xL-xR;或者是 50 像素。它是通過相同的算法估算出來的。


為每個(gè)像素計(jì)算視差,你會(huì)得到一個(gè)視差圖!正如下圖所示,近距離的物體比遠(yuǎn)距離的物體要亮,遠(yuǎn)距離的物體用深色表示。我們已經(jīng)有了一種深度信息了。


立體匹配
為什么是“對(duì)極幾何”?
為了計(jì)算視差,我們必須找到左側(cè)圖像中的每個(gè)像素并將其與右側(cè)圖像中的每個(gè)像素匹配。這稱為立體匹配。
為了解決這個(gè)問題——
在左側(cè)圖像中取一個(gè)像素,要在右側(cè)圖像中找到對(duì)應(yīng)的像素,只需在極線上搜索。而不需要進(jìn)行2D搜索,點(diǎn)應(yīng)該位于這條線上,搜索范圍縮小到1D。


在上面的例子中,通過校準(zhǔn)和校正后,左右兩側(cè)相機(jī)在相同的高度上。我們只進(jìn)行一維搜索。
對(duì)級(jí)搜索可以通過許多不同的方式進(jìn)行:局部方法、全球方法、半全球方法、深度學(xué)習(xí)。OpenCV 的基本功能可以解決這個(gè)問題,但不如當(dāng)前的深度學(xué)習(xí)方法精確。
04.立體視覺—從視差到深度圖
我們有兩個(gè)視差圖,它基本上告訴我們兩幅圖像之間像素的移動(dòng)。對(duì)于每個(gè)攝像機(jī),我們還有一個(gè)投影矩陣:P _ left 和 P _ right 。
為了估計(jì)深度,我們需要估計(jì) K , R 和 t 。
根據(jù)公式:
深度圖
現(xiàn)在可以生成深度圖了。
深度圖使用另一幅圖像和視差圖告訴我們圖像中每個(gè)像素的距離。
過程如下:
分享到:
 
反對(duì) 0 舉報(bào) 0 收藏 0 評(píng)論 0
滬ICP備11026917號(hào)-25