久久天天躁狠狠躁夜夜躁,国产精品入口福利,97久久精品人人爽人人爽蜜臀 ,中文字幕国产精品一区二区

當(dāng)前位置首頁 > 教育資訊

Model我們最常見的投影模型-針孔相機(jī)的成像原理

更新時(shí)間:2024-02-15 文章作者:佚名 信息來源:網(wǎng)絡(luò)整理 閱讀次數(shù):

模型84Z物理好資源網(wǎng)(原物理ok網(wǎng))

我們最常見的投影模型描述了針孔相機(jī)成像原理。從上圖可以基于相似三角形得出結(jié)論84Z物理好資源網(wǎng)(原物理ok網(wǎng))

frac{X_c}{Z_c} = frac{u-c_x}{f}tag{1}\84Z物理好資源網(wǎng)(原物理ok網(wǎng))

其中 c_x 是圖像中光軸的 x 坐標(biāo)。 如果相機(jī)的光軸與感光元件完全對(duì)齊,則c_x = frac{1}{2}W,W為圖像的寬度(像素)84Z物理好資源網(wǎng)(原物理ok網(wǎng))

當(dāng)我們最常見的將三維點(diǎn)投影到像素坐標(biāo)系中時(shí),可以直接使用下面的公式,它對(duì)應(yīng)的是針孔相機(jī)模型。84Z物理好資源網(wǎng)(原物理ok網(wǎng))

begin{}u \v \ 1\ end{} = begin{} f_x \ 0 \ c_x\ 0 \ f_y \ c_y\ 0 \ 0 \ 1\ end{} begin{} X_c \Y_c\Z_cend{} tag{2}\84Z物理好資源網(wǎng)(原物理ok網(wǎng))

p=KP標(biāo)簽{3}\84Z物理好資源網(wǎng)(原物理ok網(wǎng))

其中P為相機(jī)坐標(biāo)系中的三維點(diǎn),K為相機(jī)內(nèi)參,p為像素坐標(biāo)系中的坐標(biāo)。84Z物理好資源網(wǎng)(原物理ok網(wǎng))

實(shí)際計(jì)算時(shí)上面的公式也可以寫成下面的公式84Z物理好資源網(wǎng)(原物理ok網(wǎng))

{ begin{align} &u=frac{}{Z_c} + c_x\ &v=frac{}{Z_c} + c_y end{align}tag{4}\84Z物理好資源網(wǎng)(原物理ok網(wǎng))

如果我們加上將世界坐標(biāo)系的點(diǎn)轉(zhuǎn)移到相機(jī)坐標(biāo)系的過程,上面的投影過程就變成了84Z物理好資源網(wǎng)(原物理ok網(wǎng))

p=K[R|t]P_wtag{5}\84Z物理好資源網(wǎng)(原物理ok網(wǎng))

總結(jié)84Z物理好資源網(wǎng)(原物理ok網(wǎng))

這部分可以直接參考:鏈接包含畸變模型。 稍后將介紹失真模型。84Z物理好資源網(wǎng)(原物理ok網(wǎng))

不同相機(jī)型號(hào)84Z物理好資源網(wǎng)(原物理ok網(wǎng))

以上就是針孔相機(jī)的成像過程。 需要注意的一點(diǎn)是,對(duì)于相機(jī)坐標(biāo)系中的點(diǎn)P,無論如何延伸,在圖片上的成像點(diǎn)都是同一個(gè)點(diǎn)。 也就是說,對(duì)于一個(gè)三維點(diǎn),乘以一個(gè)系數(shù),上述模型中的成像點(diǎn)保持不變。 這一點(diǎn)對(duì)于后面了解其他相機(jī)型號(hào)其實(shí)特別重要。84Z物理好資源網(wǎng)(原物理ok網(wǎng))

什么是相機(jī)型號(hào)84Z物理好資源網(wǎng)(原物理ok網(wǎng))

一句話總結(jié):相機(jī)模型從數(shù)學(xué)上描述了現(xiàn)實(shí)世界中的三維點(diǎn)與圖像中的像素坐標(biāo)之間的映射關(guān)系。84Z物理好資源網(wǎng)(原物理ok網(wǎng))

經(jīng)典成像模型84Z物理好資源網(wǎng)(原物理ok網(wǎng))

由于成像模型是用來描述真實(shí)相機(jī)鏡頭的投影關(guān)系的,因此理論與現(xiàn)實(shí)之間不可避免地存在差距。 因此,研究人員設(shè)計(jì)了不同的成像模型來描述不同鏡頭的投影關(guān)系。 真實(shí)的物理鏡頭也可以基于這些數(shù)學(xué)模型進(jìn)行設(shè)計(jì)。 其實(shí)只要成像角度比鏡頭稍大一點(diǎn)(可以想象為魚眼鏡頭),如果還是用簡(jiǎn)單的針孔模型來描述,偏差就會(huì)很大,所以需要不同的相機(jī)模型來描述它。84Z物理好資源網(wǎng)(原物理ok網(wǎng))

經(jīng)典成像模型的第一步是首先將三維坐標(biāo)點(diǎn)投影到單位球體(Unit)上。 有時(shí)這個(gè)單位球體也稱為84Z物理好資源網(wǎng)(原物理ok網(wǎng))

P_s=frac{P_c}{||P_c||}=[frac{X_c}{||P_c||},frac{Y_c}{||P_c||},frac{Z_c}{|| P_c||}]\84Z物理好資源網(wǎng)(原物理ok網(wǎng))

資料來源:DSO:與84Z物理好資源網(wǎng)(原物理ok網(wǎng))

這部分的經(jīng)典論文是::The Wrong Model84Z物理好資源網(wǎng)(原物理ok網(wǎng))

參考:錯(cuò)誤的模型; 首先將三維點(diǎn)投影到單位球面上。 其在圖像上的成像點(diǎn)與圖像y軸之間的角度保持不變。 它與圖像上原點(diǎn)的距離是角度 α 的函數(shù)。84Z物理好資源網(wǎng)(原物理ok網(wǎng))

q=sqrt{(X_s^2+Y_s^2)}\ alpha=atan(q,Z_s)\ beta=atan(Y_s,X_s)tag{6}\84Z物理好資源網(wǎng)(原物理ok網(wǎng))

上圖中的點(diǎn)P=[X_s,Y_s,Z_s]就是三維點(diǎn)投影到單位圓上后的點(diǎn)。 當(dāng)該點(diǎn)投影到圖像上時(shí),與圖像x軸的角度保持不變。 它到圖像中心的距離是anglealpharho(alpha)的函數(shù),這個(gè)函數(shù)的不同形式對(duì)應(yīng)著不同的經(jīng)典成像模型84Z物理好資源網(wǎng)(原物理ok網(wǎng))

經(jīng)典成像模型的成像功能84Z物理好資源網(wǎng)(原物理ok網(wǎng))

上圖來自于84Z物理好資源網(wǎng)(原物理ok網(wǎng))

本文直觀地列出了五種經(jīng)典投影模型的投影函數(shù)。 與上面的表示法略有不同,上面引用的論文的表達(dá)方式更加統(tǒng)一,但不太直觀。 上圖中的θ可以看作是式(6)中β角為0時(shí)退化的α角。因此,無論是從博文還是論文《The Wrong Model》中,我們都可以推導(dǎo)出如下的成像方程:五款經(jīng)典相機(jī)型號(hào)。 這里我們?nèi)匀挥谜撐闹械谋硎觯篢he Wrong Model 來描述。84Z物理好資源網(wǎng)(原物理ok網(wǎng))

rho(alpha)=k tan(alpha), ( ) rho(alpha)=k tan(frac{alpha}{2}), ( ) rho(alpha )=k alpha, ( ) rho(alpha)=k sin(alpha), (正弦律 ) rho(alpha)=k sin(frac{alpha} {2}),(等實(shí)體角度)不同成像模型的半徑投影方程函數(shù)圖84Z物理好資源網(wǎng)(原物理ok網(wǎng))

:為什么錯(cuò)誤的模型可以投影到單位球體上84Z物理好資源網(wǎng)(原物理ok網(wǎng))

無論是小孔成像模型還是其他模型,都可以看作是首先將世界的點(diǎn)縮放到單位球。 這是可能的原因是,在從相機(jī)的光學(xué)中心發(fā)出的線上,線上的所有點(diǎn)都被投影到相同的像素值。 也就是說,我們做投影的時(shí)候,按一個(gè)常數(shù)縮放的結(jié)果是一樣的。 教程中對(duì)此進(jìn)行了描述:84Z物理好資源網(wǎng)(原物理ok網(wǎng))

因此,對(duì)于 k≠0,一個(gè)點(diǎn)的所有 k*Ph 都指向同一點(diǎn) Ph。其中的一個(gè)是,在 a 下,所有 Ph 都指向同一點(diǎn)。 這就是這樣做的原因,因?yàn)檠刂粭l射線,所有的射線都指向同一個(gè)圖像點(diǎn),例如,沿著上面模型的圖像中的紅色射線,所有的射線都指向同一個(gè)圖像。 這也是模型中的比例 s。 概括84Z物理好資源網(wǎng)(原物理ok網(wǎng))

如果你想對(duì)這部分有更全面(但很基礎(chǔ))的了解,可以按照以下順序閱讀:84Z物理好資源網(wǎng)(原物理ok網(wǎng))

:錯(cuò)誤(用更多的函數(shù)圖來描繪不同投影方程的距離差異、成像角度差異等) 鏡頭(用實(shí)際圖片展示不同投影模型的成像效果) 相機(jī)的畸變84Z物理好資源網(wǎng)(原物理ok網(wǎng))

不同的相機(jī)型號(hào)對(duì)應(yīng)不同類型的物理鏡頭,但在實(shí)際的物理鏡頭中不可能完美對(duì)應(yīng)某個(gè)相機(jī)型號(hào)。 這里的不完善之處包括鏡頭本身的安裝誤差和成像模型本身的表達(dá)限制。 事實(shí)上,鏡頭制造商的主要工作之一就是設(shè)計(jì)和生產(chǎn)盡可能接近相機(jī)型號(hào)的鏡頭。84Z物理好資源網(wǎng)(原物理ok網(wǎng))

因此,成像模型與真實(shí)鏡頭成像之間的差異稱為畸變。 失真也可以通過一定的數(shù)學(xué)函數(shù)來描述。 可以簡(jiǎn)單的理解,畸變就是在完美的相機(jī)成像模型中間插入一個(gè)函數(shù),使得最終的像素坐標(biāo)與利用相機(jī)投影關(guān)系得到的坐標(biāo)不一致。84Z物理好資源網(wǎng)(原物理ok網(wǎng))

但需要注意的是,實(shí)際代碼中“失真”一詞的含義并不是消除成像模型與真實(shí)物理成像過程之間的特定差距。 用于消除失真的代碼實(shí)際上校正了圖片的成像過程以使用透視。 ( ) 模型的圖像。 也就是說,圖像去除畸變后,圖像的投影函數(shù)僅用透視投影的四個(gè)參數(shù)(fx,fy,cx,cy)來表示。84Z物理好資源網(wǎng)(原物理ok網(wǎng))

以透視投影鏡頭中出現(xiàn)的徑向畸變模型為例,本文中的公式(4)實(shí)際上會(huì)變?yōu)?span style="display:none">84Z物理好資源網(wǎng)(原物理ok網(wǎng))

begin{} u\v\ end{} = begin{} f_x g_1(x',y';omega) + c_x\ f_y g_2(x',y';omega) + c_y end{}tag{7}\84Z物理好資源網(wǎng)(原物理ok網(wǎng))

84Z物理好資源網(wǎng)(原物理ok網(wǎng))

begin{} x'\y'\ end{} = begin{} X_c/Z_c\ Y_c/Z_c end{}tag{8}\84Z物理好資源網(wǎng)(原物理ok網(wǎng))

式(7)中的函數(shù)g(cdot,cdot;omega)描述了畸變模型。 可以看出:給出了最經(jīng)典的畸變模型之一。84Z物理好資源網(wǎng)(原物理ok網(wǎng))

總結(jié)84Z物理好資源網(wǎng)(原物理ok網(wǎng))

嚴(yán)格來說(不知道對(duì)不對(duì)),畸變這個(gè)詞應(yīng)該描述的是實(shí)際情況不可能完美,所以沒有一個(gè)相機(jī)模型能夠完美地描述物理鏡頭。 這里的實(shí)際誤差稱為失真。84Z物理好資源網(wǎng)(原物理ok網(wǎng))

但是當(dāng)使用或者其他工具庫(kù)去畸變的時(shí)候,意思就是我們用一個(gè)高階函數(shù)來擬合相機(jī)和小孔成像相機(jī)之間的間隙,然后用優(yōu)化的方法來使用這個(gè)高階函數(shù)的系數(shù)。階函數(shù)(畸變參數(shù))將圖像轉(zhuǎn)換為使用針孔成像過程成像的圖片。84Z物理好資源網(wǎng)(原物理ok網(wǎng))

也就是說,去除畸變后,你可以認(rèn)為該圖片就是利用針孔成像模型成像的圖片。84Z物理好資源網(wǎng)(原物理ok網(wǎng))

全景相機(jī)( )-CMei型號(hào)84Z物理好資源網(wǎng)(原物理ok網(wǎng))

上面提到的不同相機(jī)型號(hào)已經(jīng)有很多成像模型,理論上可以成像水平角度大于180度的圖像。 后來,不同的研究人員提出了不同的全景相機(jī)模型來模擬全景相機(jī)的成像過程。84Z物理好資源網(wǎng)(原物理ok網(wǎng))

:通過鏡片實(shí)現(xiàn)小孔成像原理,主要是折射; :使用標(biāo)準(zhǔn)相機(jī)加遮罩; :通過多個(gè)攝像頭重疊視野;84Z物理好資源網(wǎng)(原物理ok網(wǎng))

實(shí)現(xiàn)了兩個(gè)成像模型的標(biāo)定小孔成像原理,即84Z物理好資源網(wǎng)(原物理ok網(wǎng))

CMei 的 View Point from Grids,位于 cv:: 命名空間84Z物理好資源網(wǎng)(原物理ok網(wǎng))

和 cv:: 命名空間中的模型 和 for 、廣角和魚眼84Z物理好資源網(wǎng)(原物理ok網(wǎng))

這里我們以CMei模型為例。 投影過程如下圖所示。84Z物理好資源網(wǎng)(原物理ok網(wǎng))

代碼示例1:針孔相機(jī)去畸變(模型)84Z物理好資源網(wǎng)(原物理ok網(wǎng))

# undistort image
h,  w = img.shape[:2]
newcameramtx, roi = cv2.getOptimalNewCameraMatrix(K, distortions, (w,h), alpha, (w,h))
undistorted_img = cv2.undistort(img, K, distortions, None, newcameramtx)
x, y, w, h = roi
undistorted_img = undistorted_img[y:y+h, x:x+w]
# undistort image points
if points2d.ndim == 2:
    points2d = points2d[:, None, :]
undistorted_points = cv2.undistortPoints(points2d, K, distortions, P=K)
undistorted_points = undistorted_points.reshape(-1, 2)
84Z物理好資源網(wǎng)(原物理ok網(wǎng))

代碼示例 2:全向鏡頭去畸變 ( )84Z物理好資源網(wǎng)(原物理ok網(wǎng))

# undistort image
if newK:
        K_new = np.zeros((3,3), np.float64)
        h,w = img.shape[:2]
        K_new[0, 0] = w/4
        K_new[0, 2] = w/2
        K_new[1, 1] = h/4
        K_new[1, 2] = h/2
        K_new[2, 2] = 1.0
else:
        K_new = None
undistorted_img = cv2.omnidir.undistortImage(
img, K, distortions, Xi, cv2.omnidir.RECTIFY_PERSPECTIVE, Knew=K_new)
# undistort image points
if points2d.ndim == 2:
    points2d = points2d[:, None, :]
undistorted_points = cv2.omnidir.undistortPoints(points2d, K, distortions, Xi, None)
undistorted_points = undistorted_points.squeeze()
f0 = K_new[0,0]
f1 = K_new[1,1]
c0 = K_new[0,2]
c1 = K_new[1,2]
undistorted_points[:, 0] = f0* undistorted_points[:, 0] + c0
undistorted_points[:, 1] = f1 * undistorted_points[:, 1] + c1
84Z物理好資源網(wǎng)(原物理ok網(wǎng))

一個(gè)坑84Z物理好資源網(wǎng)(原物理ok網(wǎng))

舊版本的cv2::::有bug,請(qǐng)參考這個(gè)issue。 Space尚未成為官方穩(wěn)定接口,因此它被維護(hù)在--包中。 最新的軟件包 (4.6.x) 已修復(fù)錯(cuò)誤。 請(qǐng)務(wù)必檢查是否存在該錯(cuò)誤! ! ! !84Z物理好資源網(wǎng)(原物理ok網(wǎng))

代碼示例三:魚眼相機(jī)去畸變( )84Z物理好資源網(wǎng)(原物理ok網(wǎng))

這部分接口還沒有使用過。 用完之后我會(huì)補(bǔ)上的。84Z物理好資源網(wǎng)(原物理ok網(wǎng))

相機(jī)標(biāo)定方法張正友標(biāo)定方法也是使用的算法。中文解釋原文其他信息84Z物理好資源網(wǎng)(原物理ok網(wǎng))

這個(gè)CSDN專欄的投影模型系列文章看起來很專業(yè)、很系統(tǒng),但我還沒讀過。84Z物理好資源網(wǎng)(原物理ok網(wǎng))

::: 有一篇文章從模型、廣角、魚眼三個(gè)方面簡(jiǎn)單介紹了相機(jī)View Point的統(tǒng)一投影模型:The Wrong Model相機(jī)底層84Z物理好資源網(wǎng)(原物理ok網(wǎng))

發(fā)表評(píng)論

統(tǒng)計(jì)代碼放這里
主站蜘蛛池模板: 临沭县| 和静县| 建水县| 红安县| 平原县| 宝应县| 青川县| 南雄市| 中超| 池州市| 兰坪| 兴城市| 丰台区| 金平| 诏安县| 西城区| 广汉市| 若尔盖县| 资溪县| 财经| 拜城县| 高州市| 额尔古纳市| 鹤壁市| 宁蒗| 饶阳县| 合川市| 灵寿县| 松滋市| 独山县| 江津市| 澎湖县| 兰西县| 和平县| 遵义县| 昭平县| 安乡县| 海林市| 汉阴县| 峨眉山市| 布尔津县|