๐Ÿ’ป 155

[์ปดํ“จํ„ฐ ๋น„์ „] Image Segmentation

Image Segmentation ์ธ๊ฐ„์€ ์™ผ์ชฝ ์‚ฌ์ง„๋งŒ ๋ด๋„, ์ด๋ฏธ์ง€๋ฅผ ๊ตฌ์—ญ๋ณ„๋กœ ๋‚˜๋ˆ”๊ณผ ๋™์‹œ์— ๋ฐฐ๊ฒฝ, ๋ถ๊ทน๊ณฐ, ๋น™ํŒ, ๋ˆˆ๋ฐญ์„ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์ปดํ“จํ„ฐ๋Š” ๋จผ์ € ์˜์ƒ์„ ๋ถ„ํ• ํ•˜๋Š” ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ์•ผ ํ•œ๋‹ค. ๋ถ„ํ• ํ•œ ๊ฐ๊ฐ์„ segmentation์ด๋ผ๊ณ  ํ•˜๋ฉฐ ๋‹ค์Œ ์กฐ๊ฑด์„ ๋งŒ์กฑ์‹œ์ผœ์•ผ ํ•œ๋‹ค. ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜ ๋ผ๋ฆฌ ๊ฒน์ณ์„  ์•ˆ ๋œ๋‹ค. ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜๋“ค์ด ์ด๋ฏธ์ง€ ์ „์ฒด๋ฅผ ๋ฎ์–ด์•ผ ํ•œ๋‹ค. ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜ ์•ˆ์— ์žˆ๋Š” ํ”ฝ์…€๋“ค์€ ๋น„์Šทํ•œ ์†์„ฑ์„ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค. ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜ ๋ผ๋ฆฌ๋Š” ์†์„ฑ์ด ๊ตฌ๋ณ„๋˜์–ด์•ผ ํ•œ๋‹ค. ์ด๊ฒƒ์€ ๊ต‰์žฅํžˆ ๋ณต์žกํ•œ ๋ฌธ์ œ์ด๋‹ค. ์ด๋ฏธ์ง€์—๋Š” ๋‹ค์–‘ํ•œ ์ƒ‰์ƒ๊ณผ ์„ฑ๋ถ„์ด ์กด์žฌํ•˜๊ธฐ ๋–„๋ฌธ์ด๋‹ค. ๋” ์‹ฌ๊ฐํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์˜ ์˜ˆ์‹œ๊ฐ€ ์œ„ ์‚ฌ์ง„์ด๋‹ค. ์™ผ์ชฝ ์‚ฌ์ง„์€ ์˜ค๋ฅธ์ชฝ ์‚ฌ์ง„์˜ ์˜ค๋ฆฌ์™€ ๊ฐ•๋ฌผ์˜ ๊ฒฝ๊ณ„๋ถ€๋ถ„์„ ํ™•๋Œ€ํ•ด ๋†“์€ ๊ฒƒ์ด๋‹ค. ์‚ฌ์‹ค ์™ผ์ชฝ ๊ทธ๋ฆผ๋งŒ ๋ณด๊ณ ์„œ๋Š” ์˜ค๋ฆฌ์™€ ๊ฐ•๋ฌผ์˜ ๊ฒฝ..

[์ปดํ“จํ„ฐ ๋น„์ „] Optical Flow

FRUC (Frame Rate Up Conversion) ๋™์˜์ƒ์€ ์ด๋ฏธ์ง€์˜ ์—ฐ์†์ด๋‹ค. ์šฐ๋ฆฌ๋‚˜๋ผ ๋ฐฉ์†ก๊ตญ์€ 1์ดˆ์— 60์žฅ์˜ ์ด๋ฏธ์ง€๋ฅผ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋Š”, 60Hz์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์†ก์ถœํ•œ๋‹ค. ์• ์ดˆ์— 60Hz์ธ ์˜์ƒ๋“ค์€ ๊ทธ๋Œ€๋กœ ๋‚ด๋ณด๋‚ด๋ฉด ๋˜๊ฒ ์ง€๋งŒ, ๋ณดํ†ต ํ•ด์™ธ ์˜ํ™”๋Š” 24Hz์ธ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ, 24Hz : 60Hz = 2 : 5, 2์žฅ์„ 5์žฅ์œผ๋กœ ๋Š˜๋ ค์„œ ๋‚ด๋ณด๋‚ด๊ฒŒ ๋œ๋‹ค. 'A B'๋ฅผ 'A A A B B'๋กœ ๋‚ด๋ณด๋‚ด๋Š” ๊ฒƒ์ด๋‹ค. ๋ฐฉ์†ก๊ตญ์—์„œ๋Š” ์–ด๋–ป๊ฒŒ๋“  60Hz๋ฅผ ๋งŒ๋“ค์–ด ๋‚ด๋ณด๋‚ธ๋‹ค ์น˜๊ณ , ์—ฌ๊ธฐ์— 1์ดˆ์— 120์žฅ์„ ๋ณด์—ฌ์ฃผ๋Š” TV๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•ด๋ณด์ž. TV๊ฐ€ 1์ดˆ์— 120์žฅ์„ ๋ณด์—ฌ์ฃผ๋ ค๋ฉด ์˜์ƒ์˜ ์ž์—ฐ์Šค๋Ÿฌ์›€์„ ์œ„ํ•ด์„œ 60์žฅ์˜ ์˜์ƒ ์‚ฌ์ด์‚ฌ์ด์— ์ ์ ˆํ•œ ์ด๋ฏธ์ง€๋ฅผ ๋ผ์›Œ๋„ฃ์–ด์•ผ ํ•œ๋‹ค. ์ด ๋•Œ ์–ด๋–ค ์ด๋ฏธ์ง€๋ฅผ ๋ผ์›Œ ๋„ฃ์„์ง€๋ฅผ ๊ณ„์‚ฐํ•ด๋ณด์ž๋Š”๊ฒŒ, FRUC์ด..

[์ปดํ“จํ„ฐ ๋น„์ „] Lucas-Kanade Alignment

ํŠน์ง• ๋งค์นญ (Feature Matching) ์‚ฌ์‹ค ์šฐ๋ฆฌ๋Š” ์•„์ฃผ ๊ณ ๋„๋กœ ํ•™์Šต๋œ ๋‡Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์™ผ์ชฝ ์œ„์˜ ๋ˆˆ ๊ทธ๋ฆผ์„ ์–ด๋””์— ์˜ฌ๋ ค๋†“์•„์•ผ ํ•  ์ง€ ์ง๊ด€์ ์œผ๋กœ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์ปดํ“จํ„ฐ๋Š” ๊ทธ์ € ํ”ฝ์…€๊ฐ’์„ ๋ชจ๋‹ˆํ„ฐ์— ๋„์šธ ๋ฟ ํ•ด๋‹น ์‚ฌ์ง„์ด ์–ด๋–ค ์‚ฌ์ง„์ธ์ง€ ์ „ํ˜€ ์•Œ ๋ฐฉ๋„๊ฐ€ ์—†๋‹ค. ์ปดํ“จํ„ฐ๋Š” ์ด ๋ˆˆ์„ ์˜ฌ๋ ค๋†“์„ ๋ฐฉ๋ฒ•์„ ์–ด๋–ป๊ฒŒ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ์„๊นŒ? Template Matching ๋ˆˆ์„ ํ•œ ์นธ ํ•œ ์นธ ์˜ฎ๊ธฐ๋ฉฐ, ํ•ด๋‹น ๋ฒ”์œ„์˜ ํ”ฝ์…€ ๊ฐ’๊ณผ ์ผ์น˜ํ•˜๋Š”์ง€ ๋น„๊ตํ•ด๋ณธ๋‹ค. ์—ฐ์‚ฐ๋Ÿ‰์ด ๋งŽ๊ณ , ๋ณ€ํ˜•์— ์ทจ์•ฝํ•˜๋‹ค. Pyramid Template Matching ์ด๋ฏธ์ง€๋ฅผ ์ถ•์†Œ(lower resolution)ํ•ด์„œ ๋ณธ ๋‹ค์Œ, ์ ์  resolution์„ ์˜ฌ๋ ค๊ฐ€๋ฉฐ ๋งค์นญํ•ด๋ณธ๋‹ค ์—ฐ์‚ฐ๋Ÿ‰์„ ์ค„์ผ ์ˆ˜ ์žˆ์œผ๋‚˜, ์—ฌ์ „ํžˆ ๋ณ€ํ˜•์— ์ทจ์•ฝํ•˜๋‹ค. Model Refinement ..

[์ปดํ“จํ„ฐ๋น„์ „] ์—”ํŠธ๋กœํ”ผ?

[์ •๋ณด์ด๋ก ] ์ •๋ณด๋Ÿ‰๊ณผ ์—”ํŠธ๋กœํ”ผ์˜ ์˜๋ฏธ ์ •๋ณด์ด๋ก ์€ ์‹ ํ˜ธ์— ์กด์žฌํ•˜๋Š” ์ •๋ณด์˜ ์–‘์„ ์ธก์ •ํ•˜๋Š” ์ด๋ก ์ด๋‹ค. ์ •๋ณด์ด๋ก ์˜ ํ•ต์‹ฌ์€ ์ž˜ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š” ์‚ฌ๊ฑด์€ ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ์‚ฌ๊ฑด๋ณด๋‹ค ์ •๋ณด๋Ÿ‰์ด ๋งŽ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. โ–ถ ์ •๋ณด๋Ÿ‰์ด๋ž€? ์šฐ์„  ์ •๋ณด์ด๋ก ์—์„œ bskyvision.com ์ •๋ณด์ด๋ก ์—์„œ ์ •๋ณด๋Ÿ‰์ด๋ž€ '๋†€๋žŒ์˜ ์ •๋„'๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ๋†€๋žŒ์˜ ์ •๋„๋ผ๋Š” ๊ฒƒ์€ ๋ชจ๋‘๊ฐ€ ์•Œ๋งŒํ•œ ์ •๋ณด๊ฐ€ ์•„๋‹ˆ๋ผ ์ƒˆ๋กญ๊ณ  ํŠน์ดํ•ด์„œ ์‚ฌ๋žŒ๋“ค๋กœ ํ•˜์—ฌ๊ธˆ ๋†€๋žŒ์„ ์ผ์œผํ‚ค๋Š” ์ •๋„๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์‹์ƒํ•œ ์ •๋ณด์ผ์ˆ˜๋ก ์ •๋ณด๋Ÿ‰์ด ์ ๊ณ , ๋†€๋ผ์›€์„ ์ฃผ๋Š” ์ •๋ณด์ผ์ˆ˜๋ก ์ •๋ณด๋Ÿ‰์ด ํฌ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ํŠน์ • ๊ฒฐ๊ณผ์™€ ๊ด€๋ จ๋œ ์ •๋ณด๋Ÿ‰๋ณด๋‹ค ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๊ฒฐ๊ณผ๋“ค์˜ ํ‰๊ท  ์ •๋ณด๋Ÿ‰์— ๋” ํฐ ๊ด€์‹ฌ์„ ๊ฐ–๋Š”๋‹ค. ์—”ํŠธ๋กœํ”ผ๊ฐ€ ๋ฐ”๋กœ ์ •๋ณด๋Ÿ‰์˜ ๊ธฐ๋Œ“๊ฐ’(ํ‰๊ท )์„ ์˜๋ฏธํ•œ๋‹ค. ์—”ํŠธ๋กœํ”ผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ณ„์‚ฐํ•œ๋‹ค. ์—”ํŠธ๋กœํ”ผ๋Š” ํ‰๊ท  ๋†€๋žŒ์˜ ์ •๋„ ..

[์ปดํ“จํ„ฐ๋น„์ „] HoG (Histogram of Gradient)

Histogram of Gradient (HoG) ์–ด๋–ป๊ฒŒ edge๋ฅผ ๊ฒ€์ถœ ํ•  ์ˆ˜ ์žˆ์„๊นŒ? ํ”ฝ์…€์˜ ๋ณ€ํ™”๋Ÿ‰์ด ๊ฐ€์žฅ ํฐ ์ด์›ƒ($k=1$)์„ ๊ณ ๋ คํ•  ๊ฒฝ์šฐ ์•„๋ž˜์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๋ณ€ํ™”๋Ÿ‰์ด threshold์ด์ƒ์ธ ๊ฒƒ๋งŒ ๊ณ ๋ ค ํ•  ๊ฒฝ์šฐ edge๋ฅผ ๊ฒ€์ถœ ํ•  ์ˆ˜ ์žˆ์Œ Histogram of Gradient Histogra donghwa-kim.github.io

[ํŒŒ์ด์ฌ] ๋ฐฐ์—ด ์ธ๋ฑ์‹ฑ

ํŒŒ์ด์ฌ ๋ฐฐ์—ด ์ธ๋ฑ์‹ฑ 7. Numpy array ์ธ๋ฑ์‹ฑ( ๊ธฐ๋ณธ์ธ๋ฑ์‹ฑ, boolean์ธ๋ฑ์‹ฑ(๋งˆ์Šคํฌ)) array indexing ๋„˜ํŒŒ์ด์˜ ๊ฝƒ์ด๋ผ๊ณ  ํ•˜๋Š” ์ธ๋ฑ์‹ฑ์€, ์„ฑ๋ถ„์„ ์ถ”์ถœํ•  ๋•Œ ํ•„์š”ํ•œ ๊ฒƒ์ด๋‹ค. ๋จผ์ € ๋„˜ํŒŒ์ด๋ฅผ importํ•˜๊ณ , array๋ฅผ ํ•˜๋‚˜ ๋งŒ๋“ค์–ด์ง„๋‹ค. index๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, [5]๋Š”ํ•ด์„œ 6ํ–‰or 6์—ด์œผ๋กœ ํ•ด์„ํ•œ nittaku.tistory.com ์ธ๋ฑ์Šค์— ์Œ์ˆ˜? Python ๋ฆฌ์ŠคํŠธ ์ธ๋ฑ์‹ฑ & ์Šฌ๋ผ์ด์‹ฑ์— ์Œ์˜ ๊ฐ’(๋งˆ์ด๋„ˆ์Šค) ์‚ฌ์šฉํ•ด ๋ณด๊ธฐ Python, Pandas๋ฅผ Excel๋ณด๋‹ค ์‚ฌ๋ž‘ํ•˜๋Š” ์ง์žฅ์ธ์„ ์œ„ํ•œ ๋ธ”๋กœ๊ทธ emilkwak.github.io

[์˜์ƒ์ฒ˜๋ฆฌ] ์ปจ๋ฒŒ๋ฃจ์…˜ vs ๊ต์ฐจ์ƒ๊ด€

Convolution vs Cross-correlation ํ•ฉ์„ฑ๊ณฑconvolution ํ˜น์€ ์ฝ˜๋ณผ๋ฃจ์…˜ ์‹ ๊ฒฝ๋ง์€ ์ฃผ๋กœ ์‹œ๊ฐ ๋ถ„์•ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋„๋ฆฌ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์œ„ํ‚คํ”ผ๋””์•„์˜ ํ•ฉ์„ฑ๊ณฑ ์ •์˜๋ฅผ ๋ณด๋ฉด “ํ•˜๋‚˜์˜ ํ•จ์ˆ˜์™€ ๋˜ ๋‹ค๋ฅธ ํ•จ์ˆ˜๋ฅผ ๋ฐ˜์ „ ์ด๋™ํ•œ ๊ฐ’์„ ๊ณฑํ•œ ๋‹ค์Œ, ๊ตฌ๊ฐ„ tensorflow.blog ์ปจ๋ฒŒ๋ฃจ์…˜(Convolution) : ๊ต์ฐจ์ƒ๊ด€์„ ์˜์ƒ์ฒ˜๋ฆฌ ๋ถ„์•ผ์—์„œ ๊ด€์Šต์ ์œผ๋กœ ์ด๋ฅด๋Š” ๋ง ๊ต์ฐจ์ƒ๊ด€(Cross-Correlation) : ํ•„ํ„ฐ์˜ ๊ฐ’๊ณผ ๋งค์นญ๋˜๋Š” ๊ทธ ์ž๋ฆฌ์˜ ๊ฐ’์„ ๊ณฑํ•ด์„œ ๋”ํ•จ

[์›น] ์šฐ์ˆ˜ ๋””์ž์ธ ์ฐธ๊ณ 

๋””๋น„์ปท - ์›น๋””์ž์ธ ๋ฒค์น˜๋งˆํ‚น ๋ฐ ์šฐ์ˆ˜ ์›น์‚ฌ์ดํŠธ ๋ชจ์Œ ๋””๋น„์ปท์€ ์‹ ๊ทœ ์˜คํ”ˆํ•œ ๊ตญ๋‚ด์™ธ ์›น์‚ฌ์ดํŠธ๋ฅผ ์†Œ๊ฐœ ํ‰๊ฐ€ํ•˜๋Š” ์›น๋””์ž์ด๋„ˆ ์ปค๋ฎค๋‹ˆํ‹ฐ์ž…๋‹ˆ๋‹ค. www.dbcut.com

๐Ÿ’ป/์›น 2021.04.15

[ํŒŒ์ด์ฌ] ์ด๋ฏธ์ง€ ๊ฒน์ณ ๋ณด์ด๊ธฐ

์ฝ”๋“œํ† ๋ง‰ hit = cv2.resize(result, dsize=(WIDTH, HEIGHT), interpolation=cv2.INTER_NEAREST_EXACT) map = cv2.imread('img/map.png', 1) map = cv2.resize(background, dsize=(WIDTH, HEIGHT)) # ํ‚ค ์ž…๋ ฅ์ด ์žˆ์„ ๋•Œ ๋งˆ๋‹ค 0.2์”ฉ ๋” ๊ฐ•ํ•˜๊ฒŒ ๋ธ”๋ Œ๋“œ a = 0.0 while(a