๋ฐ˜์‘ํ˜•

๊ด‘ ์‚ผ๊ฐ๋ฒ•์ด ์‚ฌ์šฉ๋˜๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์•„๋ž˜ ๊ธ€์„ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”.

[3D] ๊ด‘ ์‚ผ๊ฐ๋ฒ• ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜

 

[3D] ๊ด‘ ์‚ผ๊ฐ๋ฒ• ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜

๋จธ์‹  ๋น„์ „์—์„œ 3D ์Šค์บ”์„ ์œ„ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ๊ณต์ดˆ์ (Confocal), ๊ตฌ์กฐ๊ด‘(Structured Light), ๊ด‘ ์‚ผ๊ฐ๋ฒ•(Triangulation Method) ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ค‘์—์„œ๋„ ๊ด‘ ์‚ผ๊ฐ๋ฒ•์ด ๋Œ€ํ‘œ์ ์œผ๋กœ ๋งŽ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋น„๊ต์  ์‰ฌ์šด ๊ตฌ..

luckygg.tistory.com

๊ด‘ ์‚ผ๊ฐ๋ฒ•(Triangulation method)์€ ์–ด๋–ค ์›๋ฆฌ์ผ๊นŒ์š”? ๊ทธ๋ฆฌ๊ณ  ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์–ด๋–ป๊ฒŒ ์ค€๋น„ํ•ด์•ผ ํ• ๊นŒ์š”? ๋จผ์ € ๊ตฌ์„ฑํ’ˆ์€ ํฌ๊ฒŒ ์นด๋ฉ”๋ผ, ๋ ˆ์ด์ €, ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ด๋ ‡๊ฒŒ ์„ธ ๊ฐ€์ง€์ด๊ณ , ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์„ฑํ’ˆ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

โ‘  3D ์นด๋ฉ”๋ผ + (๋ณด๋“œ) + ๋ ˆ์ด์ €
์นด๋ฉ”๋ผ์—์„œ 3D ๋ฐ์ดํ„ฐ๋ฅผ PC๋กœ ์ถœ๋ ฅํ•˜๋Š” ๊ตฌ์„ฑ์ž…๋‹ˆ๋‹ค. 3D ์ƒ์„ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์นด๋ฉ”๋ผ FPGA์— ํƒ‘์žฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

โ‘ก ์ผ๋ฐ˜ ์นด๋ฉ”๋ผ + 3D ๋ณด๋“œ + ๋ ˆ์ด์ €
๋ณด๋“œ์—์„œ 3D ๋ฐ์ดํ„ฐ๋ฅผ PC๋กœ ์ถœ๋ ฅํ•˜๋Š” ๊ตฌ์„ฑ์ž…๋‹ˆ๋‹ค. 3D ์ƒ์„ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋ณด๋“œ FPGA์— ํƒ‘์žฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

โ‘ข ์ผ๋ฐ˜ ์นด๋ฉ”๋ผ + (๋ณด๋“œ) + ๋ ˆ์ด์ € + ์•Œ๊ณ ๋ฆฌ์ฆ˜
๋ ˆ์ด์ € ํ”„๋กœํŒŒ์ผ์ด ์ดฌ์ƒ๋œ ์ผ๋ฐ˜ ์˜์ƒ์„ ๋ชจ๋‘ ์–ป์€ ํ›„ PC์—์„œ 3D ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

โ€ป ์—ฌ๊ธฐ์„œ ์–ธ๊ธ‰๋œ 3D ๋ฐ์ดํ„ฐ๋Š” PCD(Point Cloud Data)๊ฐ€ ์•„๋‹Œ, Depth Map ํ˜น์€ Range Map์ž…๋‹ˆ๋‹ค.

์œ„ ๊ตฌ์„ฑ ๋ฐฉ์‹์— ๋”ฐ๋ผ ์ œ์•ฝ์กฐ๊ฑด์ด ๋‹ฌ๋ผ์ง€๋Š”๋ฐ, ์ง€์›๋˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค์˜ ํ•œ๊ณ„๋ผ๋“ ๊ฐ€ ์ฒ˜๋ฆฌ ์†๋„๊ฐ€ ๋Œ€ํ‘œ์ ์ž…๋‹ˆ๋‹ค. ๋ณดํ†ต 3D ์นด๋ฉ”๋ผ๋Š” GigE ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€, 3D ๋ณด๋“œ์˜ ๊ฒฝ์šฐ CoaXPress ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์ฃผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ œํ’ˆ๋งˆ๋‹ค ๋น„์Šทํ•˜์ง€๋งŒ ์–ผ๋งˆ๋‚˜ ์ •ํ™•ํ•œ ์œ„์น˜๋ฅผ ์ถœ๋ ฅ์‹œํ‚ค๋Š”์ง€๊ฐ€ ์ œ์ผ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. Euresys์‚ฌ์˜ Open eVision Easy3D Software๋Š” 3D ๋ฐ์ดํ„ฐ ์ƒ์„ฑ์— ๊ด€ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ž, ๊ทธ๋Ÿผ ๊ด‘ ์‚ผ๊ฐ๋ฒ•์€ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ผ๊นŒ์š”?

์œ„ ๊ทธ๋ฆผ์€ ๊ด‘ ์‚ผ๊ฐ๋ฒ•์„ ๋ณด์—ฌ์ฃผ๋Š” ๋Œ€ํ‘œ์ ์ธ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค. ๋ ˆ์ด์ €๋Š” ๋ฌผ์ฒด์™€์˜ ์ˆ˜์ง์ธ ์œ„์น˜์— ์žˆ๊ณ  ์นด๋ฉ”๋ผ์™€๋Š” ํŠน์ • ๊ฐ๋„(θ)๋ฅผ ์ด๋ฃจ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฌผ์ฒด๊ฐ€ ํ•œ ์ชฝ ๋ฐฉํ–ฅ์œผ๋กœ ์›€์ง์ด๋ฉด, ์นด๋ฉ”๋ผ๋Š” ๋ ˆ์ด์ €์— ๋ฐ˜์‚ฌ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ทจ๋“ํ•˜์—ฌ 3D ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋งˆ์น˜ ๋ณตํ•ฉ๊ธฐ์— ์žˆ๋Š” ์Šค์บ๋„ˆ๊ฐ€ A4์šฉ์ง€ ๋‚ด์šฉ์„ ๋ณต์‚ฌํ•˜๋“ฏ์ด ์›€์ง์ž…๋‹ˆ๋‹ค.

๋Œ€์ถฉ ๊ฐ์ด ์˜ค์‹œ๋‚˜์š”? ์‹ค์ œ ์˜ˆ์‹œ๋ฅผ ๋ณด์—ฌ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

์•„๋ž˜ ์‚ฌ์ง„์€ Automation Technology์‚ฌ์˜ C5-2040CS23-100์ด๋ผ๋Š” ์ œํ’ˆ์ž…๋‹ˆ๋‹ค. (๋งจ ์œ„์—์„œ ์„ค๋ช…ํ•œ โ‘  ๊ตฌ์„ฑ ๋ฐฉ์‹์ด ํ•˜๋‚˜์˜ ์Šค์บ๋„ˆ ํ˜•ํƒœ๋กœ ํŒ๋งค๋˜๋Š” ์ œํ’ˆ์ž…๋‹ˆ๋‹ค.)

ํ™”์‚ดํ‘œ๋Š” ๋ฌผ์ฒด๊ฐ€ ์›€์ง์ด๋Š” ๋ฐฉํ–ฅ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. 

์•„๋ž˜ ๊ทธ๋ฆผ์€ ์œ„ ์‚ฌ์ง„์—์„œ ์Šค์บ๋„ˆ๊ฐ€ ๋ณด๊ณ ์žˆ๋Š” ๋ชจ์Šต์ž…๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ AOI(Area Of Interest)์„ค์ •ํ•˜์—ฌ ์ถœ๋ ฅํ•œ 2D Grayscale์ด๋ฏธ์ง€์ž…๋‹ˆ๋‹ค. (Automation Technology์‚ฌ์—์„œ ์ œ๊ณตํ•˜๋Š” 3DExplorerํ”„๋กœ๊ทธ๋žจ์—์„œ ์˜์ƒ ์ทจ๋“์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.)

์ด๋ ‡๊ฒŒ ๋ ˆ์ด์ € ๋ผ์ธ์ด ํˆฌ์˜๋œ 2D Grayscale์ด๋ฏธ์ง€๋ฅผ ์—ฌ๋Ÿฌ ํ”„๋ ˆ์ž„์„ ํš๋“ํ•˜๊ณ , ๊ฐ ํ”„๋ ˆ์ž„ ๋งˆ๋‹ค์˜ Peak Position ๋ฐ์ดํ„ฐ๋“ค์„ ์ถ”์ถœํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ Peak Position์ด๋ž€, ๊ฐ ์—ด(column) pixel ๊ธฐ์ค€์œผ๋กœ ๊ฐ€์žฅ ์ •ํ™•ํ•œ ์œ„์น˜๋ฅผ ์˜๋ฏธํ•˜์—ฌ ์ด๋ฅผ ์œ„ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋ณดํ†ต 'Peak Detection'์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์ œ์กฐ์‚ฌ๋งˆ๋‹ค ์ œ๊ณตํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์†๋„ ๋ฐ ์ •ํ™•๋„๊ฐ€ ๋‹ค๋ฅด๋ฉฐ, ๋…ธ์ด์ฆˆ ์ œ๊ฑฐ๋ฅผ ์œ„ํ•ด ์ถ”๊ฐ€๋กœ ํ•„ํ„ฐ(filter)๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์•„๋ž˜ ๊ทธ๋ฆผ์€ ํŠน์ • ์—ด์—์„œ Peak Position์„ ์ทจ๋“ํ•˜๊ธฐ ์œ„ํ•ด Intensity ๊ทธ๋ž˜ํ”„๋กœ ๋ณ€ํ™˜ํ•œ ๋ชจ์Šต์ž…๋‹ˆ๋‹ค.

Intensity ๊ทธ๋ž˜ํ”„๋กœ ๋ณ€ํ™˜ํ•˜๋ฉด ๊ฐ€์šฐ์‹œ์•ˆ ๊ทธ๋ž˜ํ”„ ํ˜•ํƒœ๊ฐ€ ์–ป์–ด์ง‘๋‹ˆ๋‹ค. ๋งŒ์•ฝ, ๋‚œ๋ฐ˜์‚ฌ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋‹ค๋ฉด ๊ฐ€์šฐ์‹œ์•ˆ ๊ทธ๋ž˜ํ”„ ์—ฌ๋Ÿฌ๊ฐœ๊ฐ€ ๊ฒน์ณ๋ณด์ด๋“ฏ ๋‚˜์˜ฌ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฐ ํ•„ํ„ฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ค„์—ฌ์ฃผ๋Š” ๊ฒƒ์ด ์ •ํ™•ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์–ป๋Š”๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ๋Œ€ํ‘œ์ ์ธ Peak Detection ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ๋Š” ๋ฌด๊ฒŒ์ค‘์‹ฌ(Center of Gravity)์ด ์žˆ์Šต๋‹ˆ๋‹ค. (๋ณดํ†ต ๊ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ˆ˜์‹์€ ์ œ์กฐ์‚ฌ์—์„œ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.)

์ œ์กฐ์‚ฌ๋งˆ๋‹ค ๋‹ค๋ฅด์ง€๋งŒ, Automation Technology๋Š” Maximum, Threshold, FIR-Peak๋ผ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ถ”๊ฐ€๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋งˆ๋‹ค Sub-pixel ์ •๋„๊ฐ€ ๋‹ค๋ฅด๊ธฐ๋„ ํ•˜๋ฉฐ, ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ ํƒํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์ž, ์„ค๋ช…์ด ๊ธธ์–ด์กŒ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ๋ฌผ์ฒด๋ฅผ ์Šค์บ”ํ•˜์—ฌ ์–ป์€ Range Map์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด Range Map์€ 16bit grayscale์ด๋ฉฐ, SDK์—์„œ Calibration ๋ฐ์ดํ„ฐ์™€ ๊ณ„์‚ฐํ•˜์—ฌ PCD(Point Cloud Data)๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ 3D Rendering์ด ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค.

์ด ๋ฐ์ดํ„ฐ๋ฅผ Point Cloud๋กœ ๋ณ€ํ™˜ํ•˜๋ฉด ์•„๋ž˜ ์ฒ˜๋Ÿผ ๋ณด์—ฌ์ง‘๋‹ˆ๋‹ค. ์•„๋ž˜ Tool์€ Automation Technology์—์„œ ์ œ๊ณตํ•˜๋Š” cxShow3d ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜•

'Machine Vision > 3D' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[3D] ๊ด‘ ์‚ผ๊ฐ๋ฒ• ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜  (0) 2019.04.28