[Computer Vision] Image Warping - Transformation

2023. 5. 30. 23:52
๐Ÿง‘๐Ÿป‍๐Ÿ’ป์šฉ์–ด ์ •๋ฆฌ

Computer vision
Image Warping
Non-Linear Transformation
Homogeneous coordinates
scaling
rotation
shearing
translation
matrix composition
Euclidean
similarity
rigid
Affine

 

์ด์ „ ์‹œ๊ฐ„์—๋Š” scaling, shear, rotation ๋“ฑ linear transformation์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค.

 

์ด๋ฒˆ์—๋Š” non-linear transformation์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

Image Warping

 

๋จผ์ € 2D translation์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

์ด๊ฒƒ์€ non-linear transformation์ž…๋‹ˆ๋‹ค.

 

์œ„ ์‚ฌ์ง„์— ๋Œ€ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฐ”๋€Œ๋Š” ์œ„์น˜๋ฅผ x', y'์œผ๋กœ ์ƒ๊ฐํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ์›๋ž˜ x ์ขŒํ‘œ์— ๋Œ€ํ•ด t_x๋งŒํผ ์ด๋™์‹œํ‚ค๊ธฐ ์œ„ํ•ด t_x๋ฅผ ๋”ํ•ด์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 



์ด๊ฒƒ์€ [x' y'] = [x y] + [t_x t_y]์™€ ๊ฐ™์€ ์—ฐ์‚ฐ์„ ๊ฑฐ์ณ์•ผ matrix ํ˜•ํƒœ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ด๊ฒƒ์€ linear ์—ฐ์‚ฐ์ด ์•„๋‹™๋‹ˆ๋‹ค.

 

M์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์—†๊ธฐ์— 2D Transformation์ด ์„ฑ๋ฆฝํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

 

 

 

 

Homogeneous coordinates

 

๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” Homogeneous coordinates๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

 

์šฐ์„  2D point์— ์˜๋ฏธ์—†๋Š” ๊ฐ’ 1์„ ๋ถ™์—ฌ์„œ 3D vector๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

 

 

๋‹ค์‹œ ์ด ๊ทธ๋ฆผ์œผ๋กœ ๋Œ์•„์˜ต์‹œ๋‹ค.

 

๊ทธ๋Ÿผ ์–ด๋–ป๊ฒŒ ํ‘œํ˜„ํ•ด๋ณผ ์ˆ˜ ์žˆ์„๊นŒ์š”?

 

 

 

 

์œ„์™€ ๊ฐ™์ด [x y] ๋ฅผ [x y 1]๋กœ ์ฐจ์›์„ ๋ฐ”๊ฟ”์คฌ์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋Ÿผ ์œ„์™€ ๊ฐ™์ด ํ–‰๋ ฌ M์„ ์„ค์ •ํ•ด์ค๋‹ˆ๋‹ค.

 

 

๊ทธ๋ฆฌ๊ณ  ๊ณฑ์…ˆ์„ ํ•ด๋ด…๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๊ฐ€ ์•„๊นŒ ์ฒ˜์Œ์— ์ƒ๊ฐํ•œ ์‹์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

2์ฐจ์›์˜ ์„ธ๊ณ„์—์„œ๋Š” ๋ง์…ˆ์œผ๋กœ ํ–ˆ์–ด์•ผ ํ–ˆ์ง€๋งŒ,

 

Homogeneous coordinates๋ฅผ ํ†ตํ•ด 3์ฐจ์›์˜ ์„ธ๊ณ„๋กœ ๋Š˜๋ฆผ์œผ๋กœ์จ ํ–‰๋ ฌ๊ณฑ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜๊ฐ€ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

 

 

์ด๋ ‡๊ฒŒ 3 x 3์œผ๋กœ translation์„ ํ–ˆ์Šต๋‹ˆ๋‹ค.

 

๊ทธ ์šฐ๋ฆฌ๊ฐ€ ์•ž์— 2 x 2๋กœ ํ•ด๊ฒฐํ–ˆ๋˜ ๊ฒƒ๋“ค๋„ 3 x 3 ์œผ๋กœ ํ•ด๊ฒฐ์ด ๋˜์–ด์•ผ ์˜๋ฏธ๊ฐ€ ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

๋‚˜๋จธ์ง€ ์›๋ž˜์˜ scaling, rotation, shearing์€ 2 X 2์— ๋‚˜๋จธ์ง€๋Š” ๋˜‘๊ฐ™์ด ํ•ด์ฃผ๋ฉด ๋˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

๊ทธ๋ ‡๋‹ค๋ฉด ๊ตณ์ด ์™œ ํ–‰๋ ฌ๊ณฑ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ ค๊ณ  ํ•˜๋Š” ๊ฒƒ์ผ๊นŒ์š”?

 

์šฐ๋ฆฌ๊ฐ€ ํ•˜๋Š” ๋ณ€ํ™˜์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€์— ํ•ด๋‹น๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ด๋™ ์‹œํ‚ค๋ฉฐ ํšŒ์ „๋„ ์‹œํ‚ค๊ณ , ๋˜ ํฌ๊ธฐ๋„ ๋ฐ”๊พธ๋Š” ๋“ฑ์˜ ๋ณ€ํ™˜์„ ํ•ด์ค„ ์ˆ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

์ด๋Ÿฌํ•œ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ณ€ํ™˜๋„ ํ–‰๋ ฌ์˜ ๊ณฑ์œผ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ‘œํ˜„ํ•ด์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ๋ณ€ํ•œ์„ ์œ„ํ•œ ํ–‰๋ ฌ๋ผ๋ฆฌ์˜ ๊ณฑ์„ ๋จผ์ € ํ•˜๊ณ  ๊ณฑํ•ด์ค˜๋„ ์ƒ๊ด€์ด ์—†์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋Ÿฐ๋ฐ ์šฐ๋ฆฌ๊ฐ€ ๋‹ค๋ฃจ๋Š” ์‚ฌ์ด์ฆˆ์— ๋”ฐ๋ผ์„œ p' = M * p์—์„œ p์˜ ๊ฐœ์ˆ˜๋Š” ์ฒœ์ฐจ๋งŒ๋ณ„์ž…๋‹ˆ๋‹ค.

 

๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” M3 M2 M1 * p์— ๋Œ€ํ•ด์„œ M * p๋กœ ํ•œ ๋ฒˆ์— ํ–‰๋ ฌ ์—ฐ์‚ฐ ํ›„,

 

M์„ ๋ฏธ๋ฆฌ ๊ตฌํ•ด๋†“๊ณ  ์ด๊ฒƒ์„ ๋ชจ๋“  Pixel p์— ๋Œ€ํ•ด ์ ์šฉ์‹œ์ผœ์ฃผ๋ฉด p'์„ ์–ป์„ ์ˆ˜๊ฐ€ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

 

๊ทธ๋ž˜์„œ ์ง€๊ธˆ translation์€ linearํ•˜์ง€ ์•Š๊ธฐ์—, ๋ถ€๋“์ดํ•˜๊ฒŒ 3 x 3์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๊ธฐ์— ์ฐจ์›์„ ์›๋ž˜ ๊ฒƒ์—์„œ ํ•˜๋‚˜ ๋Š˜๋ ค์„œ ํ‘œํ˜„ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ๋„ ์•Œ์•„๋‘์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

๊ทธ๋ž˜์„œ ์ด M3 M2 M1์„ ๋‹ค ๊ณฑํ•ด์„œ ํ•˜๋‚˜์˜ M์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ์ด๊ฒƒ ์ž์ฒด๋งŒ ๋ณด๋ฉด ์˜๋ฏธ ๋ชจ๋ฅผ M์ด ๋‚˜์˜ค๊ฒŒ ๋˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

 

 

 

๊ทธ๋Ÿฐ๋ฐ ์—ฌ๊ธฐ์„œ ์ˆœ์„œ๊ฐ€ ์ค‘์š”ํ• ๊นŒ์š”?

 

์–ด๋–ค ๋ณ€ํ™˜์„ ๋จผ์ € ํ•ด์ฃผ๋Š” ๊ฒƒ์ด, ์ฆ‰ ์ˆœ์„œ์— ์˜ํ–ฅ์„ ๋ฐ›์„์ง€ ๋ง์ž…๋‹ˆ๋‹ค.

 

๊ทธ๋ž˜์„œ ์ˆ˜์‹์ด๋‚˜ ๊ทธ๋ฆผ์ด๋‚˜ ํ•œ ๋ฒˆ ํ•ด๋ณด๋ฉด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

 

 

 

 

 

๊ทธ๋ž˜์„œ ์ง€๊ธˆ๊นŒ์ง€ ์—„์ฒญ ๊ธฐ์ดˆ์ ์ธ ๋ณ€ํ™˜์— ๋Œ€ํ•ด์„œ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค.

 

์ด๋Ÿฐ ๊ฒƒ๋“ค์ด ์œ„์™€ ๊ฐ™์ด ์ถฉ๋ถ„ํžˆ ์กฐํ•ฉ์ด ๋˜์–ด ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

๊ทธ๋ž˜์„œ ์œ„์™€ ๊ฐ™์€ ์ด๋ฆ„ ๋ถ™์—ฌ์ง„ ๋ณ€ํ™˜๋“ค์ด ์œ„์—์„œ ๋งํ•œ ์—ฌ๋Ÿฌ ๋ณ€ํ™˜๋“ค์˜ ์กฐํ•ฉ์ด ๋˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

 

 

Euclidean or rigid transformation์ด๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

ํšŒ์ „๊ณผ ์ด๋™์„ ํ•ฉ์นœ ๊ฒƒ์„ ์œ„์™€๊ฐ™์ด Euclidean transformation์ด๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

 

 

๊ทธ๋ž˜์„œ ์šฐ์„  ์œ„ r1 ~ r6๋ฅผ ๊ฒฐ์ •ํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

์šฐ์„  ๊ฐ๋„์— ๋Œ€ํ•œ ์„ธํƒ€ ๊ฐ’์— ๋Œ€ํ•ด ์•„๋ž˜ ์ˆ˜์‹๊ณผ ๊ฐ™์ด ํ‘œํ˜„ํ•ด์ค„ ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

r1 ~ r6๋Š” ์ด 6๊ฐœ์˜ parameter์ด์ง€๋งŒ, ์œ„ ์ˆ˜์‹์ฒ˜๋Ÿผ ์„ธํƒ€๋ฅผ ๋„์ž…ํ•˜์—ฌ parameter๋ฅผ ์ด 3๊ฐœ๋กœ ์ค„์ผ ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋ž˜์„œ ๊ฐ rotation์— ๋Œ€ํ•œ ํ–‰๋ ฌ, translation์— ๋Œ€ํ•œ ํ–‰๋ ฌ ๊ฐ๊ฐ์˜ ๊ฒƒ์— ๋Œ€ํ•ด ๊ณฑ์…ˆ์„ ํ†ตํ•ด ์œ„ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์™€์•ผํ•ฉ๋‹ˆ๋‹ค.

 

๊ทธ๋ ‡๋‹ค๋ฉด, ์šฐ์„  ์œ„์™€ ๊ฐ™์ด ์„ธํƒ€๋ฅผ ์ด์šฉํ•œ ์‹์€ ๋งž์Šต๋‹ˆ๋‹ค.

๋งŒ์ผ, ์—ฌ๊ธฐ์„œ ํฌ๊ธฐ ๋ณ€ํ™˜์ด ์ด๋ฃจ์–ด์ง„๋‹ค๋ฉด,

 

์ด๊ฒƒ์ด similarity transformation์ž…๋‹ˆ๋‹ค.

 

s๋งŒํผ ํ‚ค์›Œ์ค€๋‹ค๋ฉด s๋ฅผ ์œ„ ๋„ค๋ชจ ๊ฐ๊ฐ์˜ element์— ๊ณฑํ•ด์ฃผ๋ฉด ๋˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

์ด ๊ฒฝ์šฐ๋Š” ์„ธํƒ€, s, r3, r6๋กœ ๋ฏธ์ง€์ˆ˜๊ฐ€ 4๊ฐœ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

 

 

affine transform์˜ ๊ฒฝ์šฐ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด a1 ~ a6๋กœ ๋‹จ์ˆœํ•˜๊ฒŒ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ ์žˆ๋Š” ๊ฐ’๋“ค์„ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‚ด๊ฐ€ ๋ณ€ํ™˜ํ•˜๊ณ ์ž ํ•˜๋Š” Transformation ์— ๋”ฐ๋ผ ๊ณฑํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ์ˆ˜์น˜์— ๋”ฐ๋ผ ์œ„ ๊ฐ’์— ๊ฐ’์„ ๋„ฃ์–ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

 

์—ฌ๊ธฐ์„œ,

 

์ผ Affine์—์„œ shearing์„ ์ œ์™ธํ•˜๋ฉด similarity๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋Ÿฐ๋ฐ ์ด ๋˜ํ•œ Affine์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

 

๊ทธ๋ž˜์„œ Affine์ด ๋” ๋„“์€ ๋ฒ”์œ„์ด๊ณ  ๊ทธ ์•ˆ์— Similarity๊ฐ€ ์กด์žฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

์ฆ‰, Similarity์— ํ•ด๋‹น๋˜๋Š” ๋ณ€ํ™˜๋„ Affine์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋ ‡๋‹ค๋ฉด Euclidian๋„ Similarity ์•ˆ์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” ๊ฑฐ๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๊ฒ ์ฃ .

 

 

์šฐ๋ฆฌ๊ฐ€ ๋ฐฐ์šด ๊ฒƒ ์ค‘, scaling, shearing, rotation, translation ์ค‘ ์ด ์ค‘์— ์•„๋ฌด๊ฑฐ๋‚˜ ํ•ด๋„ Affine์ด๋ผ๊ณ  ๋งํ•  ์ˆ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

๊ทธ๋ž˜์„œ Affine Transformation์€ linear transformation๊ณผ linear transformation์ด ์•„๋‹Œ Translations ๊ณผ์˜ ์กฐํ•ฉ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์œ„์—์„œ ๋งํ•œ ๊ฒƒ๊ณผ ๊ฐ™์ด, ์ด ์ค‘์— ๋ช‡ ๊ฐœ๊ฐ€ ๋น ์ ธ๋„ Affine transform์ด๊ณ , ๋‹ค ํฌํ•จ๋˜์–ด๋„ Affine transform์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

 

 

 

BELATED ARTICLES

more