3D Transformations(๋ณ€ํ™˜):: Geometry of Image Formation

Published by onesixx on

https://darkpgmr.tistory.com/81

3D ๋ณ€ํ™˜ (3D Transformations)

์ปดํ“จํ„ฐ ๋น„์ „์—์„œ ๊ด€์‹ฌ์žˆ๋Š” 3D ๋ณ€ํ™˜์€ ํšŒ์ „๊ณผ ํ‰ํ–‰์ด๋™ ๋ฟ์ž…๋‹ˆ๋‹ค (์ฆ‰, rigid ๋ณ€ํ™˜).
ํ•˜๋Š˜์— ๋–  ์žˆ๋Š” ๋น„ํ–‰๊ธฐ๊ฐ€ ๊ฐ‘์ž๊ธฐ ์ปค์ง€๊ฑฐ๋‚˜ ๋กœ๋ณดํŠธ๋กœ ๋ณ€์‹ ํ•˜๋Š” ๊ฒƒ ๋“ฑ์€ ๊ด€์‹ฌ์‚ฌํ•ญ์ด ์•„๋‹™๋‹ˆ๋‹ค.

4.1 ๋ณ€ํ™˜ ํ–‰๋ ฌ

3์ฐจ์› ๊ณต๊ฐ„์˜ ์  (X, Y, Z)๋ฅผ X์ถ•, Y์ถ•, Z์ถ•์„ ์ค‘์‹ฌ์œผ๋กœ ฮธ ๋ผ๋””์•ˆ(radian) ํšŒ์ „์‹œํ‚ค๋Š” ํ–‰๋ ฌ์„
๊ฐ๊ฐ Rx(ฮธ), Ry(ฮธ), Rz(ฮธ)๋ผ ํ•˜๋ฉด ์ด๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

์ด ๋•Œ, ํšŒ์ „๋ฐฉํ–ฅ์€ ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๊ฐ ์ถ•์— ๋Œ€ํ•ด ๋ฐ˜์‹œ๊ณ„ ๋ฐฉํ–ฅ์ด๋‹ค
(์˜ค๋ฅธ์† ์ฃผ๋จน์„ ๋ง์•„์ฅ๊ณ  ์—„์ง€๋ฅผ ๋“ค์—ˆ์„ ๋•Œ ์—„์ง€ ๋ฐฉํ–ฅ์ด ํšŒ์ „์ถ• ๋ฐฉํ–ฅ, ๋ง์•„์ฅ” ์†๊ฐ€๋ฝ ๋ฐฉํ–ฅ์ด ํšŒ์ „๋ฐฉํ–ฅ).

 — (1)

 — (2)

 — (3)

์ด์ œ ์œ„ 3๊ฐœ์˜ ๊ธฐ๋ณธ ํšŒ์ „๋ณ€ํ™˜์„ ์กฐํ•ฉํ•˜๋ฉด ์ž„์˜์˜ 3D ํšŒ์ „์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

 — (4)

์ขŒํ‘œ์ถ•์ด ์•„๋‹Œ ์ž„์˜์˜ ๋‹จ์œ„๋ฒกํ„ฐ u = (ux, uy, uz)์„ ํšŒ์ „์ถ•์œผ๋กœ ํ•œ ํšŒ์ „๋ณ€ํ™˜ ํ–‰๋ ฌ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค
(๋‹จ, ux2 + uy2 + uz2 = 1)

— (5)

ํšŒ์ „๋ณ€ํ™˜ R, ํ‰ํ–‰์ด๋™ t = [tx, ty, tz]T๋ฅผ ์ด์šฉํ•œ ์ผ๋ฐ˜์ ์ธ 3D ๋ณ€ํ™˜์‹(rigid ๋ณ€ํ™˜)์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 — (6)

2D ๋ณ€ํ™˜๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, 3D ๋ณ€ํ™˜์—์„œ๋„ homogeneous ์ขŒํ‘œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํšŒ์ „๋ณ€ํ™˜๊ณผ ํ‰ํ–‰์ด๋™์„ ํ•˜๋‚˜์˜ ๋ณ€ํ™˜ํ–‰๋ ฌ๋กœ ์ฆ‰, ์„ ํ˜•๋ณ€ํ™˜ ํ˜•ํƒœ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

 — (7)

์ฐธ๊ณ ๋กœ, ์œ„ํ‚คํ”ผ๋””์•„์— ๋ณด๋ฉด ์–ด๋–ค ํ–‰๋ ฌ R์ด ํšŒ์ „๋ณ€ํ™˜์ด ๋˜๊ธฐ ์œ„ํ•œ ํ•„์š”์ถฉ๋ถ„ ์กฐ๊ฑด์€ RT = R-1, det(R) = 1 ์ด๋ผ ํ•œ๋‹ค.

4.2 ๋ณ€ํ™˜๊ด€๊ณ„ ๊ตฌํ•˜๊ธฐ

์˜ˆ๋ฅผ ๋“ค์–ด 3D ๊ณต๊ฐ„์—์„œ ๋น„ํ–‰๊ธฐ ํ•œ๋Œ€๊ฐ€ ๋งˆ์Œ๋Œ€๋กœ ์ด๋™ํ•œ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ, ๋น„ํ–‰๊ธฐ ๋™์„ ์˜ ์ž„์˜์˜ ๋‘ ์ง€์  ์‚ฌ์ด์˜ ๋ณ€ํ™˜๊ด€๊ณ„๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด ๋ชฉ์ ์ž…๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์ด ๋ณ€ํ™˜๊ด€๊ณ„๋Š” ํšŒ์ „๋ณ€ํ™˜๊ณผ ํ‰ํ–‰์ด๋™๋งŒ์œผ๋กœ ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋จผ์ € ๋‘ ๋ฒกํ„ฐ ์‚ฌ์ด์˜ ํšŒ์ „๋ณ€ํ™˜์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ํ‰ํ–‰์ด๋™์„ ํฌํ•จํ•œ ๋ณ€ํ™˜๊นŒ์ง€ ๊ตฌํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

4.2.1 ํšŒ์ „๋ณ€ํ™˜ ๊ตฌํ•˜๊ธฐ

ํฌ๊ธฐ๊ฐ€ ๊ฐ™์€ ์ž„์˜์˜ ๋‘ ๋ฒกํ„ฐ u = [x, y, z]Tu‘ = [x’, y’, z’]T๊ฐ€ ์žˆ์„ ๋•Œ, u์„ u‘๋กœ ์ด๋™์‹œํ‚ค๋Š” ํšŒ์ „๋ณ€ํ™˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 — (8)

 — (9)

 — (10)

 — (11)

ฮธ๋Š” ๋‘ ๋ฒกํ„ฐ uu‘ ์‚ฌ์ด์˜ ์‚ฌ์ž‡๊ฐ์ด๋ฉฐ ๋ฒกํ„ฐ์˜ ๋‚ด์ ์„ ์ด์šฉํ•˜๋ฉด ์†์‰ฝ๊ฒŒ ๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํšŒ์ „์ถ•์ด ๋ฌธ์ œ์ธ๋ฐ, ํšŒ์ „์ถ•์€ ๋‘ ๋ฒกํ„ฐ uu‘์— ์˜ํ•ด ๊ฒฐ์ •๋˜๋Š” ํ‰๋ฉด์— ์ˆ˜์ง์ธ ๋ฒกํ„ฐ ์ฆ‰, ๋ฒกํ„ฐ์˜ ์™ธ์ ์„ ์ด์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๊ตฌํ•œ ํšŒ์ „๊ฐ ฮธ์™€ ํšŒ์ „์ถ• ๋‹จ์œ„๋ฒกํ„ฐ v๋ฅผ ์•ž์„œ ์‹ (5)์— ๋Œ€์ž…ํ•˜๋ฉด ์›ํ•˜๋Š” ํšŒ์ „๋ณ€ํ™˜ ํ–‰๋ ฌ์„ ๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โ˜ž ๋ฒกํ„ฐ์˜ ๊ฐœ๋… ๋ฐ ๋ฐฑํ„ฐ์˜ ๋‚ด์ , ์™ธ์ ์€ ์•Œ์•„๋‘๋ฉด ์—ฌ๋Ÿฌ๋ชจ๋กœ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ, ๋ฒกํ„ฐ์˜ ์™ธ์ ์€ http://blog.naver.com/mindo1103/90103361104 ๊ธ€์„ ์ฐธ์กฐํ•˜๋ฉด ์ž˜ ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์•ž ๊ธ€์—์„œ๋„ ์„ค๋ช…ํ–ˆ์ง€๋งŒ ๋ฒกํ„ฐ์˜ ์™ธ์  u1 ร— u2 ๋ž€ ๋‘ ๋ฒกํ„ฐ u1, u2์— ์˜ํ•ด ๊ฒฐ์ •๋˜๋Š” ํ‰๋ฉด์— ์ˆ˜์ง์ด๋ฉด์„œ(์˜ค๋ฅธ์† ๋ฐฉํ–ฅ) ๊ทธ ํฌ๊ธฐ๊ฐ€ u1, u2๋ฅผ ๋‘ ๋ณ€์œผ๋กœ ํ•˜๋Š” ํ‰ํ–‰์‚ฌ๋ณ€ํ˜•์˜ ๋ฉด์ ๊ณผ ๊ฐ™์€ ๋ฒกํ„ฐ๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค

4.2.2 Rigid ๋ณ€ํ™˜ ๊ตฌํ•˜๊ธฐ

์ด์ œ ํšŒ์ „๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํ‰ํ–‰์ด๋™๊นŒ์ง€ ํฌํ•จํ•œ ๋ฌธ์ œ๋กœ ํ™•๋Œ€ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

3์ฐจ์› ๊ณต๊ฐ„์—์„œ ์–ด๋–ค ๋ฌผ์ฒด์˜ ์œ„์น˜ ๋ฐ ๋ฐฉํ–ฅ์„ ์œ ์ผํ•˜๊ฒŒ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ตœ์†Œ ๋ช‡ ๊ฐœ์˜ ์ ์ด ํ•„์š”ํ• ๊นŒ์š”?

๋ฌผ์ฒด ์œ„์˜ 3๊ฐœ์˜ ์ ๋งŒ ์žˆ์œผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ 3์ฐจ์› ๊ณต๊ฐ„์—์„œ ์›€์ง์ด๋Š” ๋ฌผ์ฒด์˜ ์œ„์น˜๊ด€๊ณ„๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” 3๊ฐœ์˜ ๋งค์นญ์Œ๋งŒ ์žˆ์œผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์ฆ‰, 3D์—์„œ rigid ๋ณ€ํ™˜์„ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๋งค์นญ์Œ์˜ ๊ฐœ์ˆ˜๋Š” 3๊ฐœ์ž…๋‹ˆ๋‹ค.

์œ„ ๋น„ํ–‰๊ธฐ ๊ทธ๋ฆผ์„ ์˜ˆ๋กœ ๋“ค์–ด rigid ๋ณ€ํ™˜์„ ๊ตฌํ•˜๋Š” ๊ณผ์ •์„ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์œ„์น˜ A์—์„œ์˜ ๋น„ํ–‰๊ธฐ ์ƒ์˜ ์ž„์˜์˜ ์ ์„ (x, y, z), ์œ„์น˜ A’์—์„œ์˜ ๋Œ€์‘๋˜๋Š” ์ ์„ (x’, y’, z’)๋ผ ํ•  ๋•Œ, ์ฃผ์–ด์ง„ 3๊ฐœ์˜ ๋งค์นญ์Œ p1-p1′, p2-p2′, p3-p3’๋ฅผ ์ด์šฉํ•˜์—ฌ (x, y, z)์—์„œ (x’, y’, z’)๋กœ์˜ rigid ๋ณ€ํ™˜๊ด€๊ณ„๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด ๋ชฉ์ ์ž…๋‹ˆ๋‹ค (pi = (xi,yi,zi), pj’=(xj’,yj’,zj’)).

๊ณผ์ •์„ ๊ฐ„๋žตํžˆ ๋ง๋กœ ์„ค๋ช…ํ•˜๋ฉด 1) p1์ด ์›์ ์ด ๋˜๋„๋ก A๋ฅผ ํ‰ํ–‰์ด๋™ ์‹œํ‚จ ํ›„, 2) A’์˜ ๋ฐฉํ–ฅ๊ณผ ์ผ์น˜๋˜๋„๋ก ํšŒ์ „์‹œ์ผœ์„œ, 3) p1’๊นŒ์ง€ ํ‰ํ–‰์ด๋™์‹œํ‚จ๋‹ค ์ž…๋‹ˆ๋‹ค.

๊ฒฐ๊ตญ ๊ด€๊ฑด์€ ํšŒ์ „๋ณ€ํ™˜์ธ๋ฐ, ๋‘ ๋ฌผ์ฒด๋ฅผ ์ผ์น˜์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ด 2๋ฒˆ์˜ ํšŒ์ „์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋จผ์ € ๋ฒกํ„ฐ p1p2๊ฐ€ ๋ฒกํ„ฐ p1’p2’๊ฐ€ ๋˜๋„๋ก ํšŒ์ „์‹œํ‚จ ํ›„ (R1), p3์™€ p3’์ด ์ผ์น˜๋˜๋„๋ก ํ•œ๋ฒˆ ๋” ํšŒ์ „์„ ์‹œํ‚ต๋‹ˆ๋‹ค (R2).

 — (12)

R1์€ 4.2.1 ํšŒ์ „๋ณ€ํ™˜ ๊ตฌํ•˜๊ธฐ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ๋ฌธ์ œ๋Š” R2๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์ธ๋ฐ, ์ด๊ฑธ ๊ตฌํ•˜๋Š” ๊ฒŒ ์‰ฝ์ง€๊ฐ€ ์•Š๋„ค์š”.. ์ด๋ฆฌ ์ €๋ฆฌ ๊ถ๋ฆฌ๋ฅผ ํ•ด ๋ดค์ง€๋งŒ ๊ฐ„๊ฒฐํ•œ ๋ฐฉ๋ฒ•์€ ๋ฐœ๊ฒฌํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ์ œ๊ฐ€ ํ‘ผ ๋ฐฉ๋ฒ•์„ ๊ฐ„๋žตํžˆ ์„ค๋ช…ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋จผ์ € R1๊นŒ์ง€ ์ ์šฉํ•˜๋ฉด ๋ฒกํ„ฐ R1*p1p2์™€ ๋ฒกํ„ฐ p1’p2’๊ฐ€ ์ผ์น˜๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์œผ๋กœ ๋ฒกํ„ฐ R1*p1p3๋ฅผ ํšŒ์ „์‹œ์ผœ์„œ p1’p3’์ด ๋˜๋„๋ก ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํšŒ์ „์ถ•์€ R1*p1p2์ธ๋ฐ ํšŒ์ „๊ฐ์ด ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ๋ฒกํ„ฐ R1*p1p3์™€ ๋ฒกํ„ฐ p1’p3′ ์‚ฌ์ž‡๊ฐ์„ ๊ตฌํ•˜๋Š” ๊ฒƒ์€ ๋ฐ”๋žŒ์งํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‘ ๋ฒกํ„ฐ๋ฅผ R1*p1p2์— ์ˆ˜์ง์ธ ํ‰๋ฉด์— projection ์‹œํ‚จ ํ›„ ์‚ฌ์ž‡๊ฐ์„ ๊ตฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. projection์„ ์ง์ ‘ ๊ตฌํ•˜๋Š” ๊ฒƒ์€ ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์— R1*p1p2 & R1*p1p3์— ์˜ํ•ด ๊ฒฐ์ •๋˜๋Š” ํ‰๋ฉด์— ์ˆ˜์ง์ธ ๋ฒกํ„ฐ(๋ฒ•์„ ๋ฒกํ„ฐ)์™€ R1*p1p2 & p1’p3’์— ์˜ํ•ด ๊ฒฐ์ •๋˜๋Š” ํ‰๋ฉด์— ์ˆ˜์ง์ธ ๋ฒ•์„ ๋ฒกํ„ฐ๋ฅผ ๊ตฌํ•ด์„œ ๋‘ ๋ฒ•์„ ๋ฒกํ„ฐ๊ฐ€ ์ผ์น˜๋˜๋„๋ก ํšŒ์ „์„ ์‹œํ‚ค๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, R2๋Š” (R1*p1p2)ร—(R1*p1p3)๋ฅผ (R1*p1p2)ร—p1’p3’๋กœ ํšŒ์ „์‹œํ‚ค๋Š” ํ–‰๋ ฌ์ž…๋‹ˆ๋‹ค.

โ˜ž ์ด์ƒ์œผ๋กœ 3D ๊ณต๊ฐ„์—์„œ ๋ฌผ์ฒด์˜ ์ž„์˜์˜ ๋ณ€ํ™˜๊ด€๊ณ„๋ฅผ 3๊ฐœ์˜ ๋งค์นญ์Œ์„ ์ด์šฉํ•˜์—ฌ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์—ฌ๊ธฐ์„œ ์„ค๋ช…ํ•œ ๋ฐฉ๋ฒ•์€ ๋‚˜๋ฆ„ ๊ตฌํ•ด๋ณธ ๋ฐฉ๋ฒ•์ด๊ธฐ ๋•Œ๋ฌธ์— ๋” ์ข‹์€ ๋ฐฉ๋ฒ•์ด ์žˆ์„ ๊ฑฐ๋ผ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค (์ง€๊ธˆ์€ ๋ชจ๋ฅด์ง€๋งŒ). ํŠนํžˆ ์—ฌ๊ธฐ์„œ ์„ค๋ช…ํ•œ ๋ฐฉ๋ฒ•์€ ๋งค์นญ์Œ์ด 3๊ฐœ์ธ ๊ฒฝ์šฐ์—๋งŒ ์ ์šฉ๊ฐ€๋Šฅํ•˜๋ฉฐ ๋งค์นญ์Œ์ด 3๊ฐœ ์ด์ƒ์ธ ๊ฒฝ์šฐ๊นŒ์ง€๋Š” ํ™•์žฅ์ด ์•ˆ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋‹ค์ˆ˜์˜ (3๊ฐœ ์ด์ƒ) ๋งค์นญ์Œ์— ๋Œ€ํ•ด ์ด๋“ค์„ ๊ฐ€์žฅ ์ž˜ ๊ทผ์‚ฌํ•˜๋Š” ๋ณ€ํ™˜์„ ๊ตฌํ•  ๋•Œ์—๋Š” ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์ด ํ•„์š”ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

4.3 ์ขŒํ‘œ์ถ• ๋ณ€ํ™˜

๋งˆ์ง€๋ง‰์œผ๋กœ 3D ๊ณต๊ฐ„์—์„œ ์ขŒํ‘œ์ถ• ๋ณ€ํ™˜ ํ–‰๋ ฌ์„ ์‚ดํŽด๋ณด๊ณ  ๊ธ€์„ ๋งˆ๋ฌด๋ฆฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

[์˜์ƒ์ฒ˜๋ฆฌ] – [์ปดํ“จํ„ฐ ๋น„์ „์—์„œ์˜ Geometry #1] ์ขŒํ‘œ๊ณ„ ์—์„œ ์„ค๋ช…ํ–ˆ๋˜ ์›”๋“œ ์ขŒํ‘œ๊ณ„์™€ ์นด๋ฉ”๋ผ ์ขŒํ‘œ๊ณ„ ์‚ฌ์ด์˜ ๋ณ€ํ™˜์ด ์ขŒํ‘œ์ถ• ๋ณ€ํ™˜์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

์›”๋“œ์ขŒํ‘œ๊ณ„ ์ƒ์—์„œ ์นด๋ฉ”๋ผ ์ดˆ์ (์นด๋ฉ”๋ผ ์ขŒํ‘œ๊ณ„์˜ ์›์ )์˜ ์ขŒํ‘œ๋ฅผ (Fx, Fy, Fz), ์›”๋“œ์ขŒํ‘œ๊ณ„์˜ ์ขŒํ‘œ์ถ•์„ ์นด๋ฉ”๋ผ ์ขŒํ‘œ๊ณ„ ์ขŒํ‘œ์ถ•์œผ๋กœ ํšŒ์ „์‹œํ‚ค๋Š” ํ–‰๋ ฌ์„ R์ด๋ผ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด ๋•Œ, ์›”๋“œ ์ขŒํ‘œ๊ณ„์˜ ์  (X, Y, Z)์„ ์นด๋ฉ”๋ผ ์ขŒํ‘œ๊ณ„๋กœ ๋ดค์„ ๋•Œ์˜ ์ขŒํ‘œ (Xc, Yc, Zc)๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌํ•ด์ง‘๋‹ˆ๋‹ค.

 — (13)

ํšŒ์ „๋ณ€ํ™˜ ํ–‰๋ ฌ์˜ ๊ฒฝ์šฐ RTR = I ์ฆ‰, R-1 = RT๊ฐ€ ์„ฑ๋ฆฝํ•˜๋ฏ€๋กœ ์œ„ ์‹์€ ์•„๋ž˜์™€ ๊ฐ™์ด ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 — (14)

์นด๋ฉ”๋ผ ์ขŒํ‘œ๊ณ„ ์ƒ์˜ ์ ์„ ์›”๋“œ ์ขŒํ‘œ๊ณ„๋กœ ๋ฐ”๊ฟ€ ๋•Œ์—๋„ ์œ„ ์‹์„ ์—ญ์œผ๋กœ ์ด์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์‹ค์ œ๋กœ R์„ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ๋Š” [์˜์ƒ์ฒ˜๋ฆฌ] – 3D ์ขŒํ‘œ๊ณ„ ๋ณ€ํ™˜ ๋ฐฉ๋ฒ• (์˜ˆ: ์›”๋“œ์ขŒํ‘œ๊ณ„ – ์นด๋ฉ”๋ผ ์ขŒํ‘œ๊ณ„) ๊ธ€์„ ์ฐธ์กฐํ•˜๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

by ๋‹คํฌ ํ”„๋กœ๊ทธ๋ž˜๋จธ

(3D ๋น„์ „ geometry ๋งˆ์ง€๋ง‰ 6๋ฒˆ์งธ ํŒŒํŠธ epipolar geometry์ž…๋‹ˆ๋‹ค)

6์žฅ epipolar geometry๋ฅผ ๋งˆ์ง€๋ง‰์œผ๋กœ ‘์˜์ƒ geometry’ ๊ธ€์„ ๋งˆ๋ฌด๋ฆฌํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

6. Epipolar Geometry

Epipolar geometry๋Š” ์Šคํ…Œ๋ ˆ์˜ค ๋น„์ „(stereo vision) ์ฆ‰, 2-view ๋น„์ „์—์„œ์˜ ๊ธฐํ•˜๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์ฆ‰, Epipolar geometry๋Š” ๋™์ผํ•œ ์‚ฌ๋ฌผ ๋˜๋Š” ์žฅ๋ฉด์— ๋Œ€ํ•œ ์˜์ƒ์„ ์„œ๋กœ ๋‹ค๋ฅธ ๋‘ ์ง€์ ์—์„œ ํš๋“ํ–ˆ์„ ๋•Œ, ์˜์ƒ A์™€ ์˜์ƒ B์˜ ๋งค์นญ์Œ๋“ค ์‚ฌ์ด์˜ ๊ธฐํ•˜ํ•™์  ๊ด€๊ณ„๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

<๊ทธ๋ฆผ 1>

6.1 ์šฉ์–ด ๋ฐ ๊ธฐ๋ณธ ๊ฐœ๋…

<๊ทธ๋ฆผ 1>๊ณผ ๊ฐ™์ด 3์ฐจ์› ๊ณต๊ฐ„์ƒ์˜ ํ•œ ์  P๊ฐ€ ์˜์ƒ A์—์„œ๋Š” p์— ํˆฌ์˜๋˜๊ณ , ์˜์ƒ B์—์„œ๋Š” p’์— ํˆฌ์˜๋๋‹ค๊ณ  ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด ๋•Œ, ๋‘ ์นด๋ฉ”๋ผ ์›์ ์„ ์ž‡๋Š” ์„ ๊ณผ ์ด๋ฏธ์ง€ ํ‰๋ฉด์ด ๋งŒ๋‚˜๋Š” ์  e, e’์„ epipole์ด๋ผ ๋ถ€๋ฅด๊ณ  ํˆฌ์˜์ ๊ณผ epipole์„ ์ž‡๋Š” ์ง์„  ll‘์„ epiline (๋˜๋Š” epipolar line)์ด๋ผ ๋ถ€๋ฆ…๋‹ˆ๋‹ค. Epiline์€ 3์ฐจ์›์˜ ์  P์™€ ๋‘ ์นด๋ฉ”๋ผ ์›์ ์„ ์ž‡๋Š” ํ‰๋ฉด(epipolar plane)๊ณผ ์ด๋ฏธ์ง€ ํ‰๋ฉด๊ณผ์˜ ๊ต์„ ์œผ๋กœ๋„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‘ ์นด๋ฉ”๋ผ ์œ„์น˜ ์‚ฌ์ด์˜ ๊ธฐํ•˜ํ•™์  ๊ด€๊ณ„ [R|t]๋ฅผ ์•Œ๊ณ  ์žˆ๊ณ  ์˜์ƒ A์—์„œ์˜ ์˜์ƒ์ขŒํ‘œ p๋ฅผ ์•Œ๊ณ  ์žˆ์„ ๋•Œ, ์˜์ƒ B์—์„œ ๋Œ€์‘๋˜๋Š” ์  p’์˜ ์ขŒํ‘œ๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ์ƒ๊ฐํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด ๋•Œ, ์  P๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ(depth) ์ •๋ณด๋ฅผ ๋ชจ๋ฅธ๋‹ค๋ฉด ์˜์ƒ์ขŒํ‘œ p๋กœ๋ถ€ํ„ฐ ํˆฌ์˜๋˜๊ธฐ ์ „์˜ 3์ฐจ์› ์ขŒํ‘œ P๋ฅผ ๋ณต์›ํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์  P๊ฐ€ ์˜์ƒ B์— ํˆฌ์˜๋œ ์ขŒํ‘œ p’ ๋˜ํ•œ ์œ ์ผํ•˜๊ฒŒ ๊ฒฐ์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์  P๋Š” A ์นด๋ฉ”๋ผ์˜ ์›์ ๊ณผ p๋ฅผ ์ž‡๋Š” ์ง์„ (ray) ์ƒ์— ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด ์ง์„ ์„ ์˜์ƒ B์— ํˆฌ์˜์‹œํ‚ค๋ฉด ์  p’์ด ์ด ํˆฌ์˜๋œ ์ง์„  ์œ„์— ์žˆ์Œ์€ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํˆฌ์˜๋œ ์ง์„ ์ด ๋ฐ”๋กœ epiline l’ ์ž…๋‹ˆ๋‹ค.

์ •๋ฆฌํ•˜๋ฉด, ‘A์˜ ์˜์ƒ์ขŒํ‘œ p๋กœ๋ถ€ํ„ฐ ๋Œ€์‘๋˜๋Š” B์˜ ์˜์ƒ์ขŒํ‘œ p’์„ ์œ ์ผํ•˜๊ฒŒ ๊ฒฐ์ •ํ•  ์ˆ˜๋Š” ์—†์ง€๋งŒ p’์ด ์ง€๋‚˜๋Š” ์ง์„ ์ธ epiline l’์€ ์œ ์ผํ•˜๊ฒŒ ๊ฒฐ์ •ํ• ์ˆ˜ ์žˆ๋‹ค’ ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•œ ์˜์ƒ์ขŒํ‘œ๋กœ๋ถ€ํ„ฐ ๋‹ค๋ฅธ ์˜์ƒ์—์„œ์˜ ๋Œ€์‘๋˜๋Š” epiline์„ ๊ณ„์‚ฐํ•ด์ฃผ๋Š” ๋ณ€ํ™˜ํ–‰๋ ฌ์ด Fundamental Matrix, Essential Matrix ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์„œ๋กœ ๋‹ค๋ฅธ ๋‘ ์‹œ์ ์—์„œ ์ฐ์€ ์˜์ƒ์ขŒํ‘œ๋“ค ์‚ฌ์ด์—๋Š” Fundamental Matrix, Essential Matrix๋ฅผ ๋งค๊ฐœ๋กœ ํ•˜๋Š” ์–ด๋–ค ๋ณ€ํ™˜ ๊ด€๊ณ„๊ฐ€ ์„ฑ๋ฆฝํ•˜๋Š”๋ฐ, Epipolar Geometry์—์„œ๋Š” ์ด ๋ณ€ํ™˜๊ด€๊ณ„๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์—ฌ๋Ÿฌ ๊ธฐํ•˜ํ•™์  ๋ฌธ์ œ๋ฅผ ํ’€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

6.2 Essential Matrix

์œ„ <๊ทธ๋ฆผ 1>๊ณผ ๊ฐ™์ด 3D ๊ณต๊ฐ„์ƒ์˜ ํ•œ ์  P๊ฐ€ ์˜์ƒ A์—์„œ๋Š” p์— ํˆฌ์˜๋˜๊ณ , ์˜์ƒ B์—์„œ๋Š” p’์— ํˆฌ์˜๋๋‹ค๊ณ  ํ•˜๋ฉด ๋‘ ์˜์ƒ ์ขŒํ‘œ p์™€ p’ ์‚ฌ์ด์—๋Š” ๋‹ค์Œ ๊ด€๊ณ„๋ฅผ ๋งŒ์กฑํ•˜๋Š” ํ–‰๋ ฌ์ด ํ•ญ์ƒ ์กด์žฌํ•œ๋‹ค๋Š” ๊ฒƒ์ด epipolar geometry์˜ ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค (๋‹จ, p, p’์€ normalized ์ด๋ฏธ์ง€ ํ‰๋ฉด์—์„œ์˜ homogeneous ์ขŒํ‘œ์ž„).

 — (1)

 — (2)

์ฆ‰, ์ž„์˜์˜ ๋‘ ์ง€์ ์—์„œ ์ฐ์€ ์˜์ƒ์˜ ๋งค์นญ์ ๋“ค์€ ํ•ญ์ƒ ์‹ (1)์„ ํ†ตํ•ด ๊ด€๊ณ„์ง€์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด ๋•Œ ์‹ (1)์„ epipolar constraint (๋˜๋Š” essential constraint), ์ด 3ร—3 ํ–‰๋ ฌ E๋ฅผ Essential Matrix๋ผ ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

Essential Matrix E๊ฐ€ ํ•ญ์ƒ ์กด์žฌํ•˜๋Š” ์ด์œ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ž„์˜์˜ ๋‘ ์นด๋ฉ”๋ผ ์ขŒํ‘œ์ถ• ์‚ฌ์ด์˜ ๊ด€๊ณ„๋Š” ํšŒ์ „, ํ‰ํ–‰์ด๋™์— ์˜ํ•ด ๊ด€๊ณ„์ง€์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‘ ์นด๋ฉ”๋ผ ์ขŒํ‘œ์ถ• ์‚ฌ์ด์˜ 3 ร— 3 ํšŒ์ „ํ–‰๋ ฌ์„ R, 3 ร— 1 ํ‰ํ–‰์ด๋™ ๋ฒกํ„ฐ๋ฅผ t๋ผ ํ–ˆ์„ ๋•Œ, ์™ธ๋ถ€ ๊ณต๊ฐ„์ƒ์˜ ํ•œ ์ ์„ ๋‘ ์นด๋ฉ”๋ผ ์ขŒํ‘œ๊ณ„์—์„œ ๋ดค์„ ๋•Œ์˜ ๊ด€๊ณ„๋ฅผ

 — (3)

์™€ ๊ฐ™์ด ์žก์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (๋‹จ, P๋Š” ์™ธ๋ถ€ ๊ณต๊ฐ„ ์ƒ์˜ ์ ์„ A ์นด๋ฉ”๋ผ ์ขŒํ‘œ๊ณ„์—์„œ ๋ดค์„ ๋•Œ์˜ 3์ฐจ์› ์ขŒํ‘œ, P’์€ B ์นด๋ฉ”๋ผ ์ขŒํ‘œ๊ณ„์—์„œ ๋ดค์„ ๋•Œ์˜ 3์ฐจ์› ์ขŒํ‘œ).

์ด ๋•Œ, essential matrix E๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์žก์œผ๋ฉด

 — (4)

์•„๋ž˜์˜ ์‹ (5)๊ฐ€ ๋งŒ์กฑ๋จ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹จ, ์‹ (4)์—์„œ [t]x๋Š” ๋ฒกํ„ฐ t์™€์˜ ๋ฒกํ„ฐ ์™ธ์ (outer product)์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, [t]xR์€ t์™€ R๊ณผ์˜ ์™ธ์ ์„ ์˜๋ฏธํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ๋จผ์ € R๋กœ ํšŒ์ „์„ ์‹œํ‚จ ํ›„ ๋‹ค์Œ์— t์™€ ์™ธ์ ์„ ์‹œํ‚ค๋Š” ์ผ๋ จ์˜ ๋ณ€ํ™˜์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, Ep = [t]xRp = t ร— (Rp) ์ž…๋‹ˆ๋‹ค.

 — (5)

 — (6)

์‹ (5)์˜ ์ขŒ๋ณ€์— E = [t]xR์„ ๋Œ€์ž…ํ•ด ๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•ญ์ƒ 0์ด ๋‚˜์˜ด์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 — (7)

์ด์ œ ์‹ (5)์˜ ์นด๋ฉ”๋ผ ์ขŒํ‘œ๋ฅผ ์ •๊ทœ ์ด๋ฏธ์ง€ ์ขŒํ‘œ๋กœ ๋ฐ”๊พธ๋ฉด ์‹ (1)์ด ์„ฑ๋ฆฝํ•จ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 — (8)

6.3 Fundamental Matrix

์•ž์„œ ์„ค๋ช…ํ•œ Essential Matrix๋Š” ์ •๊ทœํ™”๋œ ์ด๋ฏธ์ง€ ํ‰๋ฉด์—์„œ์˜ ๋งค์นญ ์Œ๋“ค ์‚ฌ์ด์˜ ๊ธฐํ•˜ํ•™์  ๊ด€๊ณ„๋ฅผ ์„ค๋ช…ํ•˜๋Š” ํ–‰๋ ฌ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์นด๋ฉ”๋ผ ๋‚ด๋ถ€ ํŒŒ๋ผ๋ฏธํ„ฐ ํ–‰๋ ฌ์ธ K๊ฐ€ ์ œ๊ฑฐ๋œ ์ขŒํ‘œ๊ณ„์—์„œ์˜ ๋ณ€ํ™˜๊ด€๊ณ„์ž…๋‹ˆ๋‹ค.

๋ฐ˜๋ฉด fundamental matrix๋Š” ์นด๋ฉ”๋ผ ํŒŒ๋ผ๋ฏธํ„ฐ๊นŒ์ง€ ํฌํ•จํ•œ ๋‘ ์ด๋ฏธ์ง€์˜ ์‹ค์ œ ํ”ฝ์…€(pixel) ์ขŒํ‘œ ์‚ฌ์ด์˜ ๊ธฐํ•˜ํ•™์  ๊ด€๊ณ„๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ํ–‰๋ ฌ์ž…๋‹ˆ๋‹ค.

์ž„์˜์˜ ๋‘ ์ด๋ฏธ์ง€ A, B์— ๋Œ€ํ•˜์—ฌ, ๋งค์นญ๋˜๋Š” ํ”ฝ์…€ ์ขŒํ‘œ pimg, pimg‘ ์‚ฌ์ด์—๋Š” ํ•ญ์ƒ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ด€๊ณ„๋ฅผ ๋งŒ์กฑํ•˜๋Š” ํ–‰๋ ฌ F๊ฐ€ ์กด์žฌํ•˜๊ณ , ์ด๋Ÿฌํ•œ ํ–‰๋ ฌ F๋ฅผ fundamental matrix๋ผ ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

 — (9)

 — (10)

์ด ๋•Œ, ์ด๋ฏธ์ง€ A์— ๋Œ€ํ•œ ์นด๋ฉ”๋ผ ๋‚ด๋ถ€ ํŒŒ๋ผ๋ฏธํ„ฐ ํ–‰๋ ฌ์„ K, ์ด๋ฏธ์ง€ B์— ๋Œ€ํ•œ ์นด๋ฉ”๋ผ ํ–‰๋ ฌ์„ K’, ์ด๋ฏธ์ง€ A, B ์‚ฌ์ด์˜ essential matrix๋ฅผ E๋ผ ํ•˜๋ฉด fundamental matrix F๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.

 — (11)

 — (12)

๋งŒ์ผ ์ด๋ฏธ์ง€ A, B๋ฅผ ๋™์ผํ•œ ์นด๋ฉ”๋ผ๋กœ ์ดฌ์˜ํ–ˆ๋‹ค๋ฉด ์นด๋ฉ”๋ผ ํ–‰๋ ฌ(K)์ด ๋™์ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹ (11), ์‹ (12)๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ข€๋” ๋‹จ์ˆœํ™”๋ฉ๋‹ˆ๋‹ค.

 — (13)

 — (14)

[๋ถ€์—ฐ์„ค๋ช…]

์•ž์„œ [์ปดํ“จํ„ฐ ๋น„์ „์—์„œ์˜ Geometry #1] ์ขŒํ‘œ๊ณ„์—์„œ ์„ค๋ช…ํ•œ ๋ฐ”์™€ ๊ฐ™์ด ์ด๋ฏธ์ง€ ํ”ฝ์…€์ขŒํ‘œ pimg์™€ normalized ์ขŒํ‘œ p ์‚ฌ์ด์—๋Š” camera matrix K์— ๋Œ€ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ณ€ํ™˜๊ด€๊ณ„๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

 — (15)

 — (16)

๋”ฐ๋ผ์„œ ์ด๋ฏธ์ง€ A์˜ ์นด๋ฉ”๋ผ ํŒŒ๋ผ๋ฏธํ„ฐ ํ–‰๋ ฌ์„ K, ์ด๋ฏธ์ง€ B์˜ ์นด๋ฉ”๋ผ ํŒŒ๋ผ๋ฏธํ„ฐ ํ–‰๋ ฌ์„ K’๋ผ ๋†“์œผ๋ฉด ๋‹ค์Œ ๊ด€๊ณ„๊ฐ€ ์„ฑ๋ฆฝํ•ฉ๋‹ˆ๋‹ค.

 — (17)

์ด์ œ ์‹ (17)๋ฅผ ์‹ (1)์— ๋Œ€์ž…ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด fundamental matrix๊ฐ€ ๊ตฌํ•ด์ง์„(์กด์žฌํ•จ์„) ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 — (18)

6.4 Epipolar Geometry

epipolar geometry์—์„œ ๋‹ค๋ฃจ๋Š” ๊ฒƒ์€ ํฌ๊ฒŒ ๋‘๊ฐ€์ง€์ธ๋ฐ ํ•˜๋‚˜๋Š” epipolar constraint์ด๊ณ  ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” triangulation์ž…๋‹ˆ๋‹ค.

6.4.1 epipolar constraint

epipolar constraint๋Š” ๋‘ ์ด๋ฏธ์ง€ ํ‰๋ฉด ์‚ฌ์ด์˜ ๊ธฐํ•˜ํ•™์  ๊ด€๊ณ„์— ๋”ฐ๋ฅธ constrain(์ œ์•ฝ)์ธ๋ฐ ๋ฐ”๋กœ ์‹ (1)์ด epipolar constraint๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

๋‘ ์ด๋ฏธ์ง€๊ฐ€ ์ฃผ์–ด์ง€๊ณ  ๋Œ€์‘๋˜๋Š” ๋งค์นญ ์Œ๋“ค์„ ์•Œ๊ณ  ์žˆ์„ ๋•Œ, ๋งŒ์ผ ์นด๋ฉ”๋ผ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋ชจ๋ฅธ๋‹ค๋ฉด fundametal matrix F๋ฅผ ์ง์ ‘ ๊ตฌํ•ด์•ผ ํ•˜๋Š”๋ฐ F๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ตœ์†Œ 7์Œ์˜ ๋งค์นญ์ ๋“ค์„ ํ•„์š”๋กœ ํ•ฉ๋‹ˆ๋‹ค.

๋‹จ, ์—ฌ๊ธฐ์„œ ์ฃผ์˜ํ•ด์•ผ ํ•  ์ ์€ F์˜ ์Šค์ผ€์ผ(scale)๊นŒ์ง€๋Š” ๊ฒฐ์ •ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค (E๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค). ์Šค์ผ€์ผ์„ ๊ฒฐ์ •ํ• ์ˆ˜ ์—†๋‹ค ํ•จ์€ ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๋ฌผ์ฒด์™€ ์นด๋ฉ”๋ผ๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ณต๊ฐ„ ์ „์ฒด๋ฅผ ํ™•๋Œ€ํ•˜๊ฑฐ๋‚˜ ์ถ•์†Œํ•ด๋„ ๋™์ผํ•œ ์ด๋ฏธ์ง€๋ฅผ ์–ป๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฏธ์ง€๋งŒ ๊ฐ€์ง€๊ณ ๋Š” ์Šค์ผ€์ผ์„ ์•Œ ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค (๊ฐ€๊นŒ์ด์— ์žˆ๋Š” ์ž‘์€ ๋ฌผ์ฒด๋ฅผ ์ฐ๊ฑฐ๋‚˜ ๋ฉ€๋ฆฌ ์žˆ๋Š” ํฐ ๋ฌผ์ฒด๋ฅผ ์ฐ์–ด๋„ ๊ฐ™์€ ์˜์ƒ์„ ์–ป์„ ์ˆ˜ ์žˆ์Œ์„ ์ƒ๊ธฐํ•˜๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค).

<๊ทธ๋ฆผ 2> ์Šค์ผ€์ผ ๋ฌธ์ œ

๋งŒ์ผ ์นด๋ฉ”๋ผ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์•Œ๊ณ  ์žˆ๋‹ค๋ฉด Essential matrix E๋งŒ ๊ตฌํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. Essential matrix E๋ฅผ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ณดํ†ต 5์Œ์˜ ๋งค์นญ์ ์„ ํ•„์š”๋กœ ํ•ฉ๋‹ˆ๋‹ค๋งŒ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋”ฐ๋ผ์„œ๋Š” 8 ์Œ์˜ ๋งค์นญ์ ์„ ํ•„์š”๋กœ ํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๊ณ , ์–ด๋–ค ๊ฒฝ์šฐ์—๋Š” 3์Œ, 2์Œ, ์‹ฌ์ง€์–ด๋Š” 1์Œ์˜ ๋งค์นญ์ ๋งŒ์„ ํ•„์š”๋กœ ํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

โ˜ž E๋Š” R, t๋กœ ๊ตฌ์„ฑ๋˜๋Š”๋ฐ ํšŒ์ „๋ณ€ํ™˜ R์ด 3 ์ž์œ ๋„, ์Šค์ผ€์ผ์„ ๋ฌด์‹œํ•œ ํ‰ํ–‰์ด๋™ t๊ฐ€ 2 ์ž์œ ๋„, ๋„ํ•ฉ 5 ์ž์œ ๋„์ด๋ฏ€๋กœ 5์Œ์˜ ๋งค์นญ์ ์„ ํ•„์š”๋กœ ํ•จ.

Essential ํ–‰๋ ฌ์„ ๊ตฌํ•  ๋•Œ ๋ช‡ ์Œ์˜ ๋งค์นญ์ ๋“ค์„ ํ•„์š”๋กœ ํ•˜๋Š๋ƒ์— ๋”ฐ๋ผ์„œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ 8-point ์•Œ๊ณ ๋ฆฌ์ฆ˜, 5-point ์•Œ๊ณ ๋ฆฌ์ฆ˜, …, 1-point ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋“ฑ๊ณผ ๊ฐ™์ด ๋ถ€๋ฆ…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 3-point ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ E๋ฅผ ๊ตฌํ•  ๋•Œ 3์Œ์˜ ๋งค์นญ์ ์„ ์ด์šฉํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ง€์นญํ•ฉ๋‹ˆ๋‹ค.

3-point ์•Œ๊ณ ๋ฆฌ์ฆ˜, 2-point ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋“ฑ๊ณผ ๊ฐ™์ด ์›๋ž˜ ์š”๊ตฌ๋˜๋Š” ๋งค์นญ์Œ(5์Œ)๋ณด๋‹ค ์ ์€ ์ˆ˜์˜ ๋งค์นญ์Œ์„ ์ด์šฉํ•˜์—ฌ E๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ์ด์œ ๋Š” E์— ์ถ”๊ฐ€์ ์ธ constraint๋ฅผ ๊ฐ€ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹ฌ๋ฆฌ๋Š” ์ž๋™์ฐจ์— ์žฅ์ฐฉ๋œ ์นด๋ฉ”๋ผ๋กœ ์ดฌ์˜ํ•œ ์˜์ƒ๋“ค ์‚ฌ์ด์—๋Š” ์šฐ๋ฆฌ๊ฐ€ ์†์œผ๋กœ ์นด๋ฉ”๋ผ๋ฅผ ๋“ค๊ณ  ๋ง˜๋Œ€๋กœ ์ฐ์€ ์˜์ƒ๊ณผ๋Š” ๋ถ„๋ช…ํžˆ ๋‹ค๋ฅธ ์–ด๋–ค ์ถ”๊ฐ€์ ์ธ constraint๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค (์ง€๋ฉด๊ณผ์˜ ๋†’์ด๊ฐ€ ๊ณ ์ •๋œ ์ , ์ž๋™์ฐจ์˜ pitch์™€ roll์˜ ๋ณ€ํ™”๊ฐ€ ๊ฑฐ์˜ ์—†๋Š” ์  ๋“ฑ). ์—ฌ๊ธฐ์— ์ถ”๊ฐ€์ ์œผ๋กœ ์ž๋™์ฐจ์˜ ๋ชจ์…˜์„ ์›์šด๋™ ๋˜๋Š” ์ง์„ ์šด๋™์œผ๋กœ ๋ชจ๋ธ๋งํ•˜๊ฒŒ ๋˜๋ฉด ํ›จ์”ฌ ์ ์€ ์ˆ˜์˜ ๋งค์นญ์Œ๋งŒ์œผ๋กœ E๋ฅผ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

Epipolar geometry์—์„œ essential ํ–‰๋ ฌ์ด ์ค‘์š”ํ•œ ์ด์œ ๋Š” E๋ฅผ ์•Œ๋ฉด ์ด๋กœ๋ถ€ํ„ฐ ๋‘ ์นด๋ฉ”๋ผ A, B ์‚ฌ์ด์˜ ๋˜๋Š” ๋‘ ์‹œ์  ์‚ฌ์ด์˜ ํšŒ์ „, ํ‰ํ–‰์ด๋™ ๊ด€๊ณ„๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์‹ค์ œ ๊ณ„์‚ฐ ๊ณผ์ •์— ๋Œ€ํ•ด์„œ๋Š” ์œ„ํ‚คํ”ผ๋””์•„๋ฅผ ์ฐธ์กฐํ•˜๊ธฐ ๋ฐ”๋ผ๋ฉฐ opencv ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด๋„ [R|t] ๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

6.4.2 triangulation

๋งˆ์ง€๋ง‰์œผ๋กœ triangulation (์‚ผ๊ฐ์ธก๋Ÿ‰๋ฒ•)์€ ๋‘ ์ด๋ฏธ์ง€ ํ‰๋ฉด ์‚ฌ์ด์˜ ๊ธฐํ•˜ํ•™์  ๊ด€๊ณ„๊ฐ€ ์ฃผ์–ด์ง€๊ณ  (์ฆ‰, E ๋˜๋Š” F๊ฐ€ ์ฃผ์–ด์ง€๊ณ ), ๋‘ ์ด๋ฏธ์ง€ ํ‰๋ฉด์ƒ์˜ ๋งค์นญ์Œ p, p’์ด ์ฃผ์–ด์ง€๋ฉด ์ด๋กœ๋ถ€ํ„ฐ ์›๋ž˜์˜ 3D ๊ณต๊ฐ„์ขŒํ‘œ P๋ฅผ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์Šคํ…Œ๋ ˆ์˜ค ๋น„์ „์—์„œ ๊ฑฐ๋ฆฌ(depth)๋ฅผ ๊ตฌํ•  ๋•Œ ํ•˜๋Š” ์ผ์ž…๋‹ˆ๋‹ค. ๊ณ„์‚ฐ๊ณผ์ • ๋ฐ ์ˆ˜์‹ ๋“ฑ์€ ์œ„ํ‚คํ”ผ๋””์•„๋ฅผ ์ฐธ์กฐํ•˜๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

6.5 OpenCV ๊ด€๋ จ ํ•จ์ˆ˜

์•„๋ž˜ ๋ชฉ๋ก์˜ ํ•จ์ˆ˜์ค‘ ํšŒ์ƒ‰์œผ๋กœ ์Œ์˜์ฒ˜๋ฆฌํ•œ ํ•จ์ˆ˜๋“ค์€ opencv ๋ฒ„์ „ 3.0๋ถ€ํ„ฐ ํฌํ•จ๋  ์˜ˆ์ •์ด๋ผ ํ•ฉ๋‹ˆ๋‹ค.

  • findFundamentalMat(): ๋‘ ์ด๋ฏธ์ง€ ์‚ฌ์ด์˜ fundamental matrix๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ๋ฐ˜ํ™˜. ์ž…๋ ฅ์œผ๋กœ๋Š” 8์Œ ์ด์ƒ์˜ ๋งค์นญ ์ด๋ฏธ์ง€ ์ขŒํ‘œ์Œ์„ ์ž…๋ ฅ
  • findEssentialMat(): ๋‘ ์ด๋ฏธ์ง€ ์‚ฌ์ด์˜ essential matrix๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ๋ฐ˜ํ™˜. ์ž…๋ ฅํ•  ๋‚ด์šฉ์€ 5์Œ ์ด์ƒ์˜ ๋งค์นญ ์ด๋ฏธ์ง€ ์ขŒํ‘œ์Œ๊ณผ ์นด๋ฉ”๋ผ ํŒŒ๋ผ๋ฏธํ„ฐ(์ดˆ์ ๊ฑฐ๋ฆฌ, ์ฃผ์ ). ๋‚ด๋ถ€์ ์œผ๋กœ 5-point ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉ. ์ด๋ฏธ์ง€ ์ขŒํ‘œ๋กœ๋Š” normalized ์ขŒํ‘œ๊ฐ€ ์•„๋‹Œ ํ”ฝ์…€ ์ขŒํ‘œ๋ฅผ ์ž…๋ ฅ (ํ˜„์žฌ ๋ฏธ๊ตฌํ˜„)
  • decomposeEssentialMat(): ์ž…๋ ฅ essential matrix๋กœ๋ถ€ํ„ฐ ํšŒ์ „๋ณ€ํ™˜ R, ํ‰ํ–‰์ด๋™ t๋ฅผ ์ถ”์ถœํ•ด ์คŒ. ๊ฐ€๋Šฅํ•œ 4๊ฐ€์ง€ ์กฐํ•ฉ์˜ [R|t]๋ฅผ ๋ฐ˜ํ™˜ (ํ˜„์žฌ ๋ฏธ๊ตฌํ˜„)
  • recoverPose(): ์ž…๋ ฅ๋œ essential matrix์™€ ๋‘ ์ด๋ฏธ์ง€์—์„œ์˜ ๋งค์นญ์Œ์œผ๋กœ๋ถ€ํ„ฐ ๋‘ ์ด๋ฏธ์ง€์˜ ์ƒ๋Œ€์ ์ธ [R|t] ๊ด€๊ณ„๋ฅผ ์ถ”์ถœํ•ด ์คŒ. decomposeEssentialMat()์ด [R|t]๋ฅผ ์œ ์ผํ•˜๊ฒŒ ๊ฒฐ์ •ํ•˜์ง€ ๋ชปํ•˜๊ณ  ํ•ด๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐ˜๋ฉด, recoverPose()๋Š” ๋ถ€๊ฐ€์ ์ธ ๊ธฐํ•˜ํ•™์  ์กฐ๊ฑด ๊ฒ€์‚ฌ๋ฅผ ํ†ตํ•ด [R|t]๋ฅผ ์œ ์ผํ•˜๊ฒŒ ๊ฒฐ์ •ํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•ด ์คŒ (ํ˜„์žฌ ๋ฏธ๊ตฌํ˜„)

6.6 ์ฐธ๊ณ  ์ž๋ฃŒ

์œ„ํ‚คํ”ผ๋””์•„ epipolar geometry

์œ„ํ‚คํ”ผ๋””์•„ essential matrix

์œ„ํ‚คํ”ผ๋””์•„ fundamental matrix

โ˜ž ์ด์ƒ์œผ๋กœ ์ปดํ“จํ„ฐ ๋น„์ „์—์„œ์˜ geometry ์‹œ๋ฆฌ์ฆˆ๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ƒ๊ฐ๋ณด๋‹ค ๊ธ€์ด ๊ธธ์–ด์กŒ๊ณ  ์‹œ๊ฐ„๋„ ๋งŽ์ด ๊ฑธ๋ ธ๋„ค์š”. ์Šคํ…Œ๋ ˆ์˜ค ๋น„์ „์ชฝ์ด ์•„์ง๋„ ์ˆ™์ œ์ด๊ธด ํ•˜์ง€๋งŒ ์ด๋ฒˆ ๊ธ€๋“ค์„ ์ •๋ฆฌํ•˜๋ฉด์„œ ๊ฐœ์ธ์ ์œผ๋กœ imaging geometry์— ๋Œ€ํ•œ ๊ฐœ๋…์ด ๋งŽ์ด ์ •๋ฆฌ๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธ€์„ ์ฝ๋Š” ๋ถ„๋“ค์—๊ฒŒ๋„ ๋„์›€์ด ๋˜์—ˆ์œผ๋ฉด ์ข‹๊ฒ ๋„ค์š”.

โ˜ž ์ตœ๊ทผ ์˜์ƒ๊ธฐํ•˜ํ•™์— ๋Œ€ํ•œ ์ „๋ฐ˜์ ์ธ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์„ ์˜ฌ๋ ธ๋Š”๋ฐ ์ด๊ฒƒ๋„ ๊ฐ™์ด ์ฐธ์กฐํ•˜๋ฉด ์ข‹์„๋“ฏ ์‹ถ์Šต๋‹ˆ๋‹ค -> [์˜์ƒ์ฒ˜๋ฆฌ] – Extrinsic Camera Calibration – ์นด๋ฉ”๋ผ์˜ ์œ„์น˜ ๋ฐ ์ž์„ธ ํŒŒ์•…

(2014.5.7์ผ์ž๋กœ ์ตœ์ข… ์ˆ˜์ •๋จ)

by ๋‹คํฌ ํ”„๋กœ๊ทธ๋ž˜๋จธ

Categories: vision

onesixx

Blog Owner

Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x