<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          基于Python進行相機校準

          共 2460字,需瀏覽 5分鐘

           ·

          2020-09-25 20:16

          點擊上方AI算法與圖像處理”,選擇加"星標"或“置頂”

          重磅干貨,第一時間送達

          來源:小白學視覺
          相機校準的目的是找到相機的內(nèi)在和外在參數(shù)。

          總覽

          為了校準相機,我們對3D對象(例如圖案立方體)成像,并使用3D對象與其2d圖像之間的3D-2D點對應關(guān)系來查找相機參數(shù)。

          我們需要找到兩組參數(shù):內(nèi)在參數(shù)和外在參數(shù)。固有參數(shù)是攝像機內(nèi)部的那些參數(shù),例如焦距,主要點等,而固有參數(shù)是規(guī)定攝像機相對于攝像機的位置t(平移矢量)和方向R(旋轉(zhuǎn)矩陣)的參數(shù)。外部坐標系(通常稱為世界坐標系)。在第一部分中,我們將僅計算內(nèi)部參數(shù)(假設(shè)外部參數(shù)是已知的),而在第二部分中,我們將共同計算內(nèi)部參數(shù)和外部參數(shù)。

          內(nèi)部參數(shù)計算

          我們使用的校準對象是魔方。

          我們對立方體進行成像,如下圖所示。然后,我們獲得許多3D-2D點對應關(guān)系。在這一部分中,我們已經(jīng)計算了點對應關(guān)系,您要做的就是從它們中計算出固有參數(shù)。3D-2D對應關(guān)系在數(shù)據(jù)文件“ pt_corres.mat”中給出。該文件包含“ pts_2D”,2D點和“ cam_pts_3D”以及所有對應的3D點。現(xiàn)在,我們必須找到K矩陣

          K矩陣

          使3D與2D點相關(guān)的矩陣K是具有以下形狀的上三角矩陣。

          其中αx,αy表示以x和y像素尺寸表示的焦距,px和py是主要點,s是偏斜參數(shù)。

          2D點(x,y)與相應3D點(X,Y,Z)之間的關(guān)系由下式給出

          1. x =αx(X / Z)+ s(Y / Z)+ px

          2. y =αy(Y / Z)+ py

          內(nèi)部和外部參數(shù)計算

          在上一部分中,我們假設(shè)已知外部參數(shù),然后計算了內(nèi)部參數(shù),即假設(shè)我們知道了相機坐標系中的3D點對應關(guān)系。但是這種情況很少發(fā)生。幾乎總是我們僅在世界坐標系中知道3D點的對應關(guān)系,因此我們需要估算內(nèi)在和外在參數(shù)。但是在此之前,我們需要獲取3D-2D點對應關(guān)系。如圖1所示,相對于世界坐標系描述了3D點。該圖顯示了世界坐標系的x,y和z軸以及一些示例3D點,它們是正方形的角。有28點。

          1. 世界坐標系中的3D點在rubik_3D_pts.mat中提供,圖像上相應的2D點在rubik_2D_pts.mat中提供

          2. 接下來,我們要計算相機投影矩陣P = K [R t],其中K是內(nèi)部/本征校準矩陣,R是旋轉(zhuǎn)矩陣,用于指定相機坐標系與世界坐標系的方向,而t是轉(zhuǎn)換向量,可以確定攝影機中心在世界坐標系中的位置。

          3. 為了計算P,我們使用“直接線性變換(DLT)”。DLT是要理解的重要算法,下面將對其進行詳細說明。

          離散線性變換(DLT)

          離散線性變換(DLT)是一種簡單的線性算法,用于從相應的3空間和圖像實體估計攝像機投影矩陣P。相機矩陣的這種計算稱為切除。最簡單的這種對應關(guān)系是在未知相機映射下的3D點X及其圖像x之間。給定足夠多的這種對應關(guān)系,可以確定相機矩陣。

          算法

          假設(shè)給出了3D點和2D圖像點之間的許多點對應關(guān)系。相機矩陣是一個3x4矩陣,它通過xi = P.Xi將點關(guān)聯(lián)起來。對于每個對應關(guān)系Xi xi xi,我們得到三個方程,其中兩個線性獨立,在下面進行描述
          步驟
          1. 從一組n個點對應關(guān)系中,我們通過為每個對應關(guān)系堆疊以上形式的方程式來獲得2nx12矩陣A
          2. 獲得A的SVD。對應于最小奇異值的單位奇異向量是解p。具體來說,如果A = UDVT,D對角線帶有對角線正項,并按對角線降序排列,則p是V的最后一列
          3. 獲得p并以矩陣形式寫入以獲得矩陣P

          通過解方程組Ap = 0來計算投影矩陣P,其中p是包含矩陣P項的向量。


          計算P所需的最小點對應數(shù)量

          3×4矩陣P具有12個元素,但比例是任意的,因此具有11個自由度。由于每個點的對應關(guān)系都有2個方程,因此至少需要5.5個對應關(guān)系才能求解P。0.5表示從第六個點開始僅使用一個方程,即我們選擇x坐標或y-第六個圖像點的坐標。

          在此最小數(shù)量的對應關(guān)系下,該解決方案是精確的,并且可以通過求解Ap = 0來獲得,其中A在這種情況下為11x12矩陣。

          如果數(shù)據(jù)不精確,則給出n≥6個點對應關(guān)系,那么將沒有精確的解決方案,我們通過最小化代數(shù)或幾何誤差來解決。

          從投影矩陣P獲得參數(shù)K,R和t

          通過RQ分解將P分解為K,R,t。它涉及計算分解A = RQ,其中Q為unit /正交,R為上三角。

          驗證計算參數(shù)的準確性

          為此,我們將計算重新投影誤差,該誤差是對2D點與通過使用計算出的相機參數(shù)投影3D點而獲得的2D點之間距離的度量。

          該圖以橙色顯示了原始2D點,并以綠色顯示了重新投影的點。可以看出,重新投影的點與實際點非常匹配。

          參考文獻

          [1] R. Hartley and A. Zissermann, Multiview geometry, 2nd edition, Cambridge University Press.

          [2] Z. Zhang. A flexible new technique for camera calibration. IEEE Transactions on Pattern Analysis and Machine Intelligence, 22(11):1330–1334, 2000.

          有關(guān)詳細代碼,請訪問https://github.com/sreenithy/Camera-Calibration


          下載1:OpenCV黑魔法


          AI算法與圖像處公眾號后臺回復:OpenCV黑魔法,即可下載小編精心編寫整理的計算機視覺趣味實戰(zhàn)教程


          下載2 CVPR2020

          AI算法與圖像處公眾號后臺回復:CVPR2020即可下載1467篇CVPR?2020論文
          個人微信(如果沒有備注不拉群!
          請注明:地區(qū)+學校/企業(yè)+研究方向+昵稱


          覺得有趣就點亮在看吧


          瀏覽 48
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  外网成人网站 | 非洲婬乱a一级毛片多女 | 日韩久久精品 | 豆花a在线观看 | 国产精品久久久久久久久久久久久免费看 |