? ? ? 注:以下相機(jī)內(nèi)參與外參介紹除來自網(wǎng)絡(luò)整理外全部來自于《視覺SLAM十四講從理論到實(shí)踐 ?第2版》中的第5講:相機(jī)與圖像,為了方便查看,我將每節(jié)合并到了一幅圖像中
? ? ? 相機(jī)與攝像機(jī)區(qū)別:相機(jī)著重于拍攝靜態(tài)圖像,光學(xué)變焦不大;攝像機(jī)著重于拍攝動(dòng)態(tài)視頻,光學(xué)變焦比較大。
? ? ? 相機(jī)的傳感器(CCD, 光學(xué)鏡頭)是有許多像素點(diǎn)按照矩陣的形式排列而成,分辨率就是以水平方向和垂直方向的像素來表示的。分辨率越高,成像后的圖像像素?cái)?shù)就越高,圖像就越清晰。傳感器尺寸越大,一定程度上表示相機(jī)可容納像素個(gè)數(shù)越多,成像的畫幅越大。
? ? ? 像元尺寸:就是每個(gè)像素的面積。單個(gè)像素面積小,單位面積內(nèi)的像素?cái)?shù)量多,相機(jī)的分辨率高。
? ? ? 像素深度:是指每個(gè)像素用多少比特位表示。通常,每個(gè)像素的比特位數(shù)多,表達(dá)圖像細(xì)節(jié)的能力強(qiáng),這個(gè)像素的顏色值更加豐富、分的更細(xì),顏色深度就更深。一般像素深度有1位、8位、16位、24位和32位。
? ? ? 曝光:指在攝影過程中進(jìn)入鏡頭照射在感光元件上的光量。曝光時(shí)間:傳感器將光信號(hào)轉(zhuǎn)換為電信號(hào)形成一幀圖像,每個(gè)像元接受光信號(hào)的過程叫曝光,所花費(fèi)的時(shí)間叫曝光時(shí)間,也叫快門速度。曝光補(bǔ)償:是一種曝光控制方式,如果環(huán)境光源偏暗,即可增加曝光值以突顯畫面的清晰度。曝光補(bǔ)償就是有意識(shí)地變更相機(jī)自動(dòng)演算出的"合適"曝光參數(shù),讓照片更明亮或者更昏暗的拍攝手法。
? ? ? 在圖像測(cè)量過程以及機(jī)器視覺應(yīng)用中,為確定空間物體表面某點(diǎn)的三維幾何位置與其在圖像中對(duì)應(yīng)點(diǎn)之間的相互關(guān)系,必須建立相機(jī)成像的幾何模型,這些幾何模型參數(shù)就是相機(jī)參數(shù)。求解相機(jī)參數(shù)的過程稱為相機(jī)標(biāo)定。
? ? ? 三維世界中的一個(gè)物體反射或發(fā)出的光線,穿過相機(jī)光心后,投影在相機(jī)的成像平面上。相機(jī)的感光器件接收到光線后,產(chǎn)生測(cè)量值,就得到了像素,形成了我們見到的照片。
? ? ? 相機(jī)將三維世界中的坐標(biāo)點(diǎn)(單位為米)映射到二維圖像平面(單位為像素)的過程能夠用一個(gè)幾何模型進(jìn)行描述。這個(gè)模型有很多種,其中最簡(jiǎn)單的稱為針孔模型。針孔模型是很常用而且有效的模型,它描述了一束光線通過針孔之后,在針孔背面投影成像的關(guān)系。同時(shí),由于相機(jī)鏡頭上的透鏡的存在,使得光線投影到成像平面的過程中會(huì)產(chǎn)生畸變。因此,我們使用針孔和畸變兩個(gè)模型來描述整個(gè)投影過程。這兩個(gè)模型能夠把外部的三維點(diǎn)投影到相機(jī)內(nèi)部成像平面,構(gòu)成相機(jī)的內(nèi)參數(shù)。
? ? ? 齊次坐標(biāo)是將一個(gè)原本是N維的向量用一個(gè)N+1維向量來表示.
? ? ? 通常認(rèn)為,相機(jī)的內(nèi)參(Camera Intrinsics)在出廠之后是固定的,不會(huì)在使用過程中發(fā)生變化。
? ? ? 內(nèi)參包括:焦距(fx, fy)、主點(diǎn)坐標(biāo)(cx, cy)、畸變參數(shù)。
? ? ? 內(nèi)參作用:把坐標(biāo)從相機(jī)坐標(biāo)系轉(zhuǎn)換到像素坐標(biāo)系中。
? ? ? 外參作用:把坐標(biāo)從世界坐標(biāo)系轉(zhuǎn)換到相機(jī)坐標(biāo)系中。相機(jī)外參隨著世界坐標(biāo)系與相機(jī)坐標(biāo)系的相對(duì)位置而變。
? ? ? 外參:相機(jī)的旋轉(zhuǎn)、平移(相機(jī)的位姿由它的旋轉(zhuǎn)矩陣R和平移向量t來描述),用于描述在靜態(tài)場(chǎng)景下相機(jī)的運(yùn)動(dòng),或者在相機(jī)固定時(shí),運(yùn)動(dòng)物體的剛性運(yùn)動(dòng)。相比于不變的內(nèi)參,外參會(huì)隨著相機(jī)運(yùn)動(dòng)發(fā)生改變。旋轉(zhuǎn)矩陣R為3*3,平移向量t為3*1; R,t組合成3*4的矩陣。?
? ? ? 由透鏡形狀引起的畸變(Distortion, 也叫失真)稱為徑向畸變,參數(shù)包括:k1, k2, k3;
? ? ? 由于透鏡和成像面不能嚴(yán)格平行,會(huì)引入切向畸變,參數(shù)包括:p1, p2;
? ? ? 相機(jī)成像過程涉及到四個(gè)坐標(biāo)系的轉(zhuǎn)換:世界坐標(biāo)系、相機(jī)坐標(biāo)系、圖像坐標(biāo)系(歸一化坐標(biāo)系)、像素坐標(biāo)系。
? ? ? 在instant-ngp中可通過colmap2nerf.py求相機(jī)的內(nèi)參和外參,運(yùn)算后生成的transforms.json部分內(nèi)容如下:
{
"camera_angle_x": 0.6797143901096673,
"camera_angle_y": 0.6796103976473696,
"fl_x": 1131.2978259257525,
"fl_y": 1131.4850184079994,
"k1": 0.010915222368470609,
"k2": -0.9233170001378709,
"k3": 0,
"k4": 0,
"p1": 0.011664713007717898,
"p2": -0.004849750483773029,
"is_fisheye": false,
"cx": 445.86115401855534,
"cy": 382.96655347583277,
"w": 800.0,
"h": 800.0,
"aabb_scale": 4,
"frames": [
{
"file_path": "./train/r_16.png",
"sharpness": 695.979090625,
"transform_matrix": [
[
-0.6656617785641908,
0.007151776858681357,
0.7462193033207263,
2.8758118623856377
],
[
0.7251107079754902,
-0.23014046936711052,
0.6490376148874708,
2.7371395609739637
],
[
0.17637703291159618,
0.9731311404169232,
0.14800988417722724,
0.6687713985786954
],
[
0.0,
0.0,
0.0,
1.0
]
]
},
{
"file_path": "./train/r_23.png",
? ? ? 其中:
? ? ? (1).camera_angle_x, camera_angle_y: 水平、垂直視角;鏡頭的焦距決定了視角的大小;在colmap2nerf.py中,由焦距求視角的公式為:
camera_angle_x = math.atan(w / (fl_x * 2)) * 2
camera_angle_y = math.atan(h / (fl_y * 2)) * 2
? ? ? (2).fl_x, fl_y: 焦距,若沒有給出可通過水平或垂直視角計(jì)算出,在nerf_loader.cu中的公式為:文章來源:http://www.zghlxwxcb.cn/news/detail-484244.html
fl_x = 0.5f * (float)w / tanf(0.5f * camera_angle_x);
fl_y = 0.5f * (float)h / tanf(0.5f * camera_angle_y);
? ? ? (3).k1,k2,k3,k4: 徑向畸變參數(shù);
? ? ? (4).p1,p2: 切向畸變參數(shù);
? ? ? (5).is_fisheye: 是否是魚眼相機(jī)模型;
? ? ? (6).cx,cy: 主點(diǎn)坐標(biāo);
? ? ? (7).w,h: 分辨率,圖像寬、高;
? ? ? (8).aabb_scale: 對(duì)于在單元立方體(unit cube)外部有可見背景的自然場(chǎng)景,有必要將參數(shù)aabb_scale設(shè)置為2的冪,最大為128;
? ? ? (9).transform_matrix: 外參.文章來源地址http://www.zghlxwxcb.cn/news/detail-484244.html
到了這里,關(guān)于相機(jī)的內(nèi)參和外參介紹的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!