การปรับเทียบกล้อง / รุ่นกล้องรูเข็มและการหาตำแหน่งแบบ 3 มิติ


10

ฉันมีกล้องสอบเทียบและมีพารามิเตอร์ที่แท้จริง ฉันยังมีพารามิเตอร์ภายนอกที่เกี่ยวข้องกับจุด (กำเนิดโลก) บนพื้นผิวภาพถ่ายในโลกแห่งความจริง จุดนี้ฉันได้ตั้งค่าเป็นจุดกำเนิดในพิกัดโลกแห่งความจริง [0,0,0] ด้วยค่าปกติ [0,0,1]

จากพารามิเตอร์ภายนอกเหล่านี้ฉันสามารถหาตำแหน่งและการหมุนของกล้องในพิกัดโลกระนาบ 3 มิติได้ที่นี่: http://en.wikipedia.org/wiki/Camera_resectioning

ตอนนี้ฉันมีจุดที่สองซึ่งฉันได้ดึงพิกัดภาพสำหรับ [x, y] ฉันจะรับตำแหน่ง 3 มิติของจุดนี้ในระบบพิกัดโลกได้อย่างไร

ฉันคิดว่าสัญชาตญาณตรงนี้คือฉันต้องติดตามรังสีที่ไปจากศูนย์กลางออปติคัลของกล้อง (ซึ่งตอนนี้ฉันมีตำแหน่ง 3D ตามที่อธิบายไว้ข้างต้น) ผ่านระนาบภาพ [x, y] ของกล้องแล้ว ผ่านระนาบโลกแห่งความจริงของฉันที่ฉันกำหนดไว้ที่ด้านบน

ตอนนี้ฉันสามารถตัดกันพิกัดโลก 3 มิติด้วยระนาบเนื่องจากฉันรู้ว่าปกติและชี้ไปที่ระนาบนั้น สิ่งที่ฉันไม่ได้รับคือวิธีหาตำแหน่ง 3d และทิศทางเมื่อออกจากระนาบภาพเป็นพิกเซล มันเป็นการเปลี่ยนแปลงผ่านระบบพิกัดที่ทำให้ฉันสับสน


ตรวจสอบคำตอบนี้มันอาจช่วยได้ หากคุณคิดว่าจะมีอะไรที่จะสามารถทำให้เสร็จสมบูรณ์ได้โปรดบอกฉัน dsp.stackexchange.com/a/2737/1473
Jav_Rock

คำตอบ:


6

หากคุณมี extrinsics แล้วมันง่ายมาก การมี extrinsics ก็เหมือนกับการมี "camera pose" และเหมือนกับการมี homography ตรวจสอบโพสต์นี้ใน stackoverflow

คุณมี extrinsics หรือที่เรียกว่ากล้องถ่ายรูปซึ่งอธิบายว่าเป็นการแปลและการหมุน:

Pose=[R|t]=[R11R12R13txR21R22R23tyR31R32R33tz]

คุณสามารถรับHomographyจากPoseด้วยวิธีนี้:

H=1tz[R1xR2xtxR1yR2ytyR1zR2ztz]

จากนั้นคุณสามารถฉายจุด 2D ของคุณเป็นจุด 3D ที่สอดคล้องกันโดยคูณ Homography ด้วยคะแนน:

p2D=[xy1]เพิ่มเพื่อให้เป็นเนื้อเดียวกันz=1

p3D=Hp2D

p=p/p(z) ทำให้คะแนนเป็นปกติ


คุณหมายถึงอะไรโดย p (z) ที่นี่
Belal Homaidan

3

คุณมีสองตัวเลือกใช้การฉายด้านหลังหรือการฉายภาพระหว่างระนาบสองระนาบ (homography)

ด้วยการฉายภาพด้านหลังคุณจะใช้การหลอกกล้องของคุณเมทริกซ์และคูณผลลัพธ์ด้วยการนำเสนอจุดภาพที่เหมือนกันของคุณ:P

P=K[RRC]Xreprojected=P+x

ตอนนี้คุณมีเส้น 3 มิติซึ่งเดินทางรางกล้องศูนย์และจุด{X} หากคุณต้องการคุณสามารถแปลงเป็นงานนำเสนอได้ง่ายขึ้น ยกตัวอย่างเช่นมีจุดและทิศทางเวกเตอร์ (อย่าลืมทำให้ค่าพิกัดที่เป็นเนื้อเดียวกันเช่นนี้เป็นตัวประกอบสเกลก่อนการคำนวณจริง):X V = ω [ X Y Z 1 ] T ω = 1CXV=ω[XYZ1]Tω=1

u=XreprojectedCv=uuL(t)=C+tv

หากคุณมีระนาบ คุณสามารถแก้สมการได้สำหรับเสื้อΠ=[π1π2π3π4]T,π1X+π2Y+π3Z+π4=0L(t)=Πt

หากคุณตัดสินใจที่จะใช้ homography คุณจะต้องคำนวณเมทริกซ์ homographyซึ่งถูกกำหนดเป็นการฉายภาพระหว่างระนาบที่ถ่ายและระนาบของเซ็นเซอร์กล้อง:3×3H

Xplane=[XY01]Tx=PXplane=H[XY1]T

ตอนนี้ถ้าคุณรู้ : x

Xplane=H1x

หากคุณไม่คำนวณขณะปรับเทียบกล้อง (อาจใช้การแปลงแบบเส้นตรงโดยตรง DLT) คุณสามารถใช้สูตรต่อไปนี้:H

H=R+1dTNT

ที่ไหนเป็น dinstance ของกล้องจากเครื่องบินและ{C} (Ma, Soatto, Kosecká, Sastry - คำเชิญถึงภาพสามมิติจากภาพไปเป็นแบบจำลองทางเรขาคณิต, หน้า 132)dT=RC


2

คุณไม่สามารถรู้ตำแหน่ง 3 มิติของจุดที่สอง มันอาจเป็นจุดใด ๆ บนแสงจากศูนย์กลางของกล้องจนถึงระยะอนันต์

คุณสามารถทำสิ่งต่อไปนี้:

  • สร้างพื้นที่ 3 มิติที่กำหนดไว้ล่วงหน้าซึ่งคล้ายกับฉากชีวิตจริง
  • รับจุดภาพมากขึ้นจากมุมที่ต่างกันโดยใช้จุดตัดของรังสีจากมุมที่แตกต่างกันคุณสามารถรับจุดประมาณ 3 มิติได้

รอก่อน. ฉันสามารถหาจุดโลก 3 มิติที่ 3d ray ตัดพื้นผิวระนาบได้ไหม? เมื่อฉันรู้ว่าพิกัดโลก 3 มิติและโลก 3 มิติปกติของเครื่องบินลำนั้น ..... จุด 3 มิติที่ฉันพยายามค้นหาคือจุดที่มันตัดกับพื้นผิวระนาบที่ !! (ขออภัยฉันรู้สึกว่าคำอธิบายของฉันไม่ดีพอ)
Cheetah

คุณหมายถึงอะไรกับพื้นผิวภาพถ่าย? ระนาบภาพหรือระนาบของพิกัดโลกเป็นศูนย์? ในกรณีหลังคุณสามารถคำนวณจุดตัดได้ แต่นั่นหมายความว่าฉาก 3 มิติของคุณไม่ใช่ 3d แต่เป็น 2d :) (เพราะมันเป็นระนาบ)
Geerten

ใช่ขอโทษที่ไม่ได้เกิดขึ้นกับฉัน ฉันเข้าใจสิ่งที่คุณพูดมันไม่สมเหตุสมผลกับฉันจริงๆ ใช่แล้วฉากของฉันคือ "2d" เพราะฉันมีระนาบภาพและฉันมีระนาบโลกแห่งความจริงซึ่งกำเนิดโลกแห่งความจริง [0,0,0] อยู่บนและมีโลกแห่งความเป็นจริงตามปกติ [0,0, 1] ดังนั้นทุกจุดที่อยู่บนระนาบโลกแห่งความจริงนี้อยู่ในรูปของ [x, y, 0] ฉันรู้ว่าฉันสามารถคำนวณทางแยกได้แม้ว่า ax + by + cz + d = 0 แต่นี่คือสิ่งที่ฉันมีปัญหา (จะยังคงอยู่ในความคิดเห็นต่อไป)
Cheetah

ฉันมีรังสีที่เริ่มต้นที่ศูนย์กล้องของฉัน / แหล่งกำเนิดซึ่งฉันมีโลกแห่งความจริง [x, y, z] สำหรับและโลกแห่งความจริงปกติ [nx, ny, nz] ฉันต้องยิงรังสีออกจากจุดนี้ซึ่งตัดระนาบภาพที่ [u, v] แล้วตัดระนาบโลกแห่งความจริงที่ [x, y, 0] (นี่คือ x, y ที่ฉันอยากได้) สิ่งที่ฉันมีปัญหาคือบิตแรก, จุดตัดกับระนาบภาพ ฉันไม่เห็นว่าฉันจะทำอย่างไร
Cheetah

คุณอาจต้องการดู: en.wikipedia.org/wiki/Line-plane_intersection
Geerten
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.