๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿš— Major Study (Bachelor)/๐ŸŸช Computer Vision

์ปดํ“จํ„ฐ ๋น„์ „ | How to find Edge pixel, Sobel operation, Hough Transform Algorithm

by UKHYUN22 2022. 10. 5.
728x90

 

Edge Pixel ์ด๋ผ๋Š” ๊ฒƒ์€ ํ”ฝ์…€์˜ Intensity Level์ด ์ด๋ฏธ์ง€์—์„œ ๊ธ‰๊ฒฉํ•˜๊ฒŒ ๋ณ€ํ•˜๋Š” ๋ถ€๋ถ„์„ ์˜๋ฏธํ•œ๋‹ค. ์™ผ์ชฝ ๋นจ๊ฐ„์ƒ‰ ๋ฐ•์Šค๋ฅผ ์˜ˆ์‹œ๋กœ ๋ณด๋ฉด ์˜ค๋ฅธ์ชฝ Intensity Level ๊ทธ๋ž˜ํ”„๊ฐ€ ๊ธ‰๊ฒฉํ•˜๊ฒŒ ๋ณ€ํ•˜๋Š” ๋ถ€๋ถ„์˜ ํ”ฝ์…€์ด Edge Pixel์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

๊ทธ๋ ‡๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ Edge๋ฅผ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ์„๊นŒ? ์ฒซ ๋ฒˆ์งธ ํŽธ์ฐจ ๊ฐ’์ด Edge๋ฅผ ๊ฒ€์ถœํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ์ด ๋œ๋‹ค.

 

 

๋งŒ์ผ 2์ฐจ์› ์ด๋ฏธ์ง€๋ผ๋ฉด ํŽธ์ฐจ๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•ด์•ผ ํ• ๊นŒ? X์ถ•๊ณผ Y์ถ•์— ๋Œ€ํ•œ ํŽธ์ฐจ๋ฅผ ๋‚˜๋ˆ ์„œ ์ƒ๊ฐ์„ ํ•ด์•ผ ํ•  ๊ฒƒ์ด๋‹ค. gx๊ฐ€ ๋งค์šฐ ํฌ๊ณ  gy๊ฐ€ ๋งค์šฐ ์ž‘์€ ๊ฒฝ์šฐ๋ผ๋ฉด Edge pixel์„ ์–ด๋–ป๊ฒŒ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์„๊นŒ? ์ด๋•Œ๋Š” Magnitute๋ฅผ ๊ตฌํ•ด์•ผ ํ•œ๋‹ค. Magnitute๊ฐ€ ํฐ ๊ฒฝ์šฐ ํ•ด๋‹น ํ”ฝ์…€์ด Edge์ผ ๊ฒฝ์šฐ์˜ ํ™•๋ฅ ์ด ๋†’์•„์ง€๊ฒŒ ๋  ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ? (์ด ๋ถ€๋ถ„์€ ์ข€ ๋” ๊ณต๋ถ€ํ•ด๋ด์•ผ ํ•  ๋“ฏ...)

 

 

Edge๋ฅผ ๊ฐ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋จผ์ € Image Smoothing์„ ์ง„ํ–‰ํ•ด์•ผ ํ•œ๋‹ค. ๋จผ์ € Noise๋ฅผ ์ œ๊ฑฐํ•ด์•ผ ํŽธ์ฐจ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ํ™•์‹คํ•˜๊ฒŒ ์–ป์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. 

 

 

 

Sobel operators๋ผ๋Š” ๊ฒƒ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณผ ๊ฒƒ์ด๋‹ค. 2์ฐจ์›์˜ ๊ฒฝ์šฐ x์ถ•๊ณผ y์ถ•์— ๋Œ€ํ•œ ํŽธ์ฐจ๋ฅผ ๊ฐ๊ฐ ๊ตฌํ•ด์•ผ ํ•œ๋‹ค. Partial Derivative substraction์„ ์ง„ํ–‰ํ•ด์•ผ ํ•˜๋Š”๋ฐ  x์ถ•์˜ ๊ฒฝ์šฐ ์ž์‹ ์˜ ํ”ฝ์…€ ์˜ค๋ฅธ์ชฝ์— ์žˆ๋Š” ํ”ฝ์…€์˜ ๊ฐ’๊ณผ ํ•ด๋‹น ํ”ฝ์…€์˜ ์ฐจ์ด๋ฅผ Xใ…œใ„ฑ์— ๋Œ€ํ•œ Partial Derivative๋กœ ์„ ์ •ํ•˜๊ณ  Y์ถ•๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ง„ํ–‰ํ•˜๋ฉด ํ•ด๋‹น ํ”ฝ์…€์˜ ๊ฐ ์ถ•์— ๋Œ€ํ•œ Derivative๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ค๋ฅธ์ชฝ ์‚ฌ์ง„์— Sobel์ด๋ผ๊ณ  ์จ์žˆ๋Š” ๊ฒƒ์„ ํ•œ ๋ฒˆ ์‚ดํŽด๋ณด์ž. ์™ผ์ชฝ ์‚ฌ์ง„์˜ ๊ฒฝ์šฐ 0์˜ ๊ฐ’์ด ๊ฐ€๋กœ๋กœ ๋Š˜์–ด์ ธ ์žˆ์œผ๋ฏ€๋กœ ์ด๋Š” Gy์— ๋Œ€ํ•œ ํŽธ์ฐจ๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•œ Sobel Filter์— ํ•ด๋‹นํ•œ๋‹ค. ์˜ค๋ฅธ์ชฝ ์‚ฌ์ง„์˜ ๊ฒฝ์šฐ 0์˜ ๊ฐ’์ด ์„ธ๋กœ๋กœ ๋Š˜์–ด์ ธ ์žˆ์œผ๋ฏ€๋กœ ์ด๋Š” Gx์— ๋Œ€ํ•œ ํŽธ์ฐจ๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•œ Sobel Filter์— ํ•ด๋‹นํ•œ๋‹ค.

 

 

 

X์— ๋Œ€ํ•œ ํŽธ์ฐจ์™€ Y์— ๋Œ€ํ•œ ํŽธ์ฐจ๋ฅผ ๊ฐ๊ฐ ๋น„๊ตํ•ด๋ณด๋ฉด ์ง๊ด€์ ์œผ๋กœ ์–ด๋–ค ๋Š๋‚Œ์ธ์ง€ ์•Œ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. Magnitude๋ฅผ ๊ตฌํ•˜๋ฉด X์ถ•๊ณผ Y์ถ•์— ๋Œ€ํ•œ ํŽธ์ฐจ๋ฅผ ๋ชจ๋‘ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋”์šฑ ๊นŠ๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

5x5 Average Filter๋ฅผ ์‚ฌ์šฉํ•ด์„œ Noise๋ฅผ ๋จผ์ € ์ œ๊ฑฐํ•œ ํ›„ Edge Pixel์„ ๊ฒ€์ถœํ•œ ๊ฒฐ๊ณผ์ด๋‹ค. ํ™•์‹คํžˆ Noise๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  Edge๋ฅผ ๊ฒ€์ถœํ•˜๋Š” ๊ฒƒ์ด ๋”์šฑ ๋” ์ข‹์€ ๊ฒฐ๊ณผ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

 

Threshold๋ฅผ ์ ์šฉํ•˜๋ฉด Binary Image๋กœ ์–ป์–ด๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

 

 

์ฒซ ๋ฒˆ์งธ๋กœ, Gaussian Filter๋ฅผ ์‚ฌ์šฉํ•ด์„œ Image์˜ Noise๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค.

๋‘ ๋ฒˆ์งธ๋กœ, Sobel Mask๋ฅผ ์‚ฌ์šฉํ•ด์„œ Gradient์˜ Magnitute๋ฅผ ๊ตฌํ•œ๋‹ค.

์„ธ ๋ฒˆ์งธ๋กœ, NMS ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด์„œ Gradient Magnitute ์ค‘ ์ตœ๋Œ“๊ฐ’์— ํ•ด๋‹นํ•˜๋Š” ๋ถ€๋ถ„์„ ์ฐพ์•„๋‚ธ๋‹ค. 

 

๋„ค ๋ฒˆ์งธ๋กœ, Double Threshold ๋ฅผ ์ ์šฉ์‹œํ‚จ๋‹ค. High Threshold์™€ Low Threshold๋ฅผ ์ ์šฉ์‹œํ‚จ๋‹ค. High Threshold์˜ ๊ฒฝ์šฐ ํ•ด๋‹น ๊ฐ’๋ณด๋‹ค ๋†’์€ ๊ฐ’์„ ๊ฐ€์ง„๋‹ค๋ฉด Edge๊ฐ€ ๋˜๊ณ  Low Threshold๋ณด๋‹ค ์ž‘์€ ๊ฐ’์„ ๊ฐ€์ง„๋‹ค๋ฉด Non-edge๋กœ ํŒ๋ณ„ํ•˜์—ฌ 0์˜ ๊ฐ’์„ ๋„ฃ๊ฒŒ ๋œ๋‹ค. ๋‘ Threshold ์‚ฌ์ด์˜ ๊ฐ’์„ ๊ฐ€์ง„๋‹ค๋ฉด Undetermined ์ƒํƒœ๊ฐ€ ๋˜๊ณ  ์ด๋•Œ๋Š” Connectivity Analysis๋ฅผ ์ง„ํ–‰ํ•ด์•ผ ํ•œ๋‹ค. ์ด ๋ถ„์„์€ ์ธ์ ‘ํ•œ ํ”ฝ์…€์ด Edge์ธ์ง€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ณผ์ •์œผ๋กœ ํ•œ ๋ฒˆ ๋” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ ์šฉ๋˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ Low์™€ High์˜ Threshold ๊ฐ’์„ ์ ์ ˆํ•˜๊ฒŒ ์„ค์ •์„ ํ•ด์•ผ ํ•œ๋‹ค.

 

Hough Transform์˜ ๊ฐœ๋…์„ ์‚ดํŽด๋ณด์ž. ์ผ๋‹จ (a,b) ๋ผ๋Š” Edge Pixel์ด ๊ฒ€์ถœ๋˜์—ˆ์œผ๋ฉด ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์กฐํ•ฉ์„ ์ฐพ์•„๋‚ธ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ฐพ์•„๋‚ธ ์กฐํ•ฉ ์ค‘์— ์ค‘๋ณต์œผ๋กœ ์‚ฌ์šฉ๋œ Line์„ Input Image์— ์ ์šฉ์‹œํ‚ค๋Š” ๋ฐฉ์‹์„ ์˜๋ฏธํ•œ๋‹ค.

 

Hough Transform ํ•จ์ˆ˜๋ฅผ ์‚ดํŽด ๋ณด๋ฉด ์Ž„ํƒ€์™€ ๋กœ์šฐ์— ๋Œ€ํ•œ ๊ฐ’์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. ํ•ด๋‹น ๊ฐ’์— Cos๊ณผ Sin ์„ ์ ์šฉ์‹œํ‚ค๋ฉด ํ•ด๋‹น ํ”ฝ์…€์˜ ์ขŒํ‘œ๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด ์žˆ๋‹ค.

 

 

์ฒซ ๋ฒˆ์งธ๋กœ, Binary Edge Image ๊ตฌใ…‘ ํ•œ๋‹ค.

๋‘ ๋ฒˆ์งธ๋กœ, Row์™€ Theta ํ‰๋ฉด์— ํ”ฝ์…€์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฐ’๋“ค์„ ๋Œ€์ž…ํ•œ๋‹ค.

์„ธ ๋ฒˆ์งธ๋กœ, ๋†’์€ Concentration์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” Pixel์„ ์„ ์ •ํ•œ๋‹ค.

 

 

 

Circle๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.. ์ƒ๊ฐํ•ด๋ณด์ž ใ…Ž