๐Ÿ’ป ํ”„๋กœ์ ํŠธ

๐Ÿ’ป ํ”„๋กœ์ ํŠธ/๐Ÿงธ TOY-PROJECTS

[DeepLook] 5. ๋ฐฑ์—”๋“œ ์—ฐ๊ฒฐ

์ด์ „๊นŒ์ง€๋Š” ํ”„๋ก ํŠธ ์ชฝ ์ž‘์—…๋งŒ ๋งก์•„์„œ ํ•˜๊ณ , ๋ฐฑ์—”๋“œ๋Š” node js๋กœ ํ•œ๋ฒˆ ๋ง›๋ณธ ์ƒํƒœ์˜€๋Š”๋ฐ, ๊ฐ‘์ž‘์Šค๋ ˆ ์›น๊ณผ ๋ฐฑ์„ ์—ฐ๊ฒฐํ•ด์•ผ ํ•˜๋Š” ํƒœ์Šคํฌ๊ฐ€ ์ฃผ์–ด์กŒ๋‹ค. ์‹œ๊ฐ„์ด ์—†๊ณ , ๋ชจ๋ธ์ด ๊ทœ๋ชจ๊ฐ€ ์žˆ๋Š” ๋ชจ๋ธ์€ ์•„๋‹ˆ์–ด์„œ flask๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋‹ค. ๋” ์ž์„ธํ•œ ์ฝ”๋“œ๋ฅผ ๋ณด๊ณ  ์‹ถ์œผ๋ฉด ๊นƒํ—ˆ๋ธŒ๋ฅผ ์ฐธ๊ณ ํ•˜๊ธธ ๋ฐ”๋ž€๋‹ค. (์ข€ ๋‚œ์žกํ•  ์ˆ˜ ์žˆ์Œ ์ฃผ์˜) ๋ฐฑ์—”๋“œ ๋ชจ๋ธ๊ณผ ์—ฐ๊ฒฐ ์‹œ ๊ฑฐ์นœ ๋‹จ๊ณ„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค: pickle ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด ๋ชจ๋“  ์—ฐ์˜ˆ์ธ์˜ ์–ผ๊ตด ์ž„๋ฒ ๋”ฉ์„ ์ €์žฅํ•œ๋‹ค. client ์ธก์—์„œ post ์š”์ฒญ์„ ๋ณด๋ƒˆ์„ ๋•Œ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„ ์ž„๋ฒ ๋”ฉ์„ ์ถ”์ถœํ•œ๋‹ค. ์ถ”์ถœํ•œ ์ž„๋ฒ ๋”ฉ๊ณผ ๊ฐ€์žฅ ์œ ์‚ฌํ•œ ์ž„๋ฒ ๋”ฉ์„ pickle ํŒŒ์ผ๋กœ๋ถ€ํ„ฐ ๋กœ๋”ฉํ•œ๋‹ค. ์ถ”์ถœ๋œ ์–ผ๊ตด ์ž„๋ฒ ๋”ฉ๊ณผ ์‚ฌ์ „ ํ•™์Šต๋œ ์ž„๋ฒ ๋”ฉ ๊ฐ„์˜ ์œ ์‚ฌ๋„๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค. ๊ฐ€์žฅ ์œ ์‚ฌํ•œ ์œ ๋ช…์ธ์˜ ์ด๋‹ˆ์…œ๊ณผ ์œ ์‚ฌ๋„๋ฅผ JSON ํ˜•์‹์œผ๋กœ..

๐Ÿ’ป ํ”„๋กœ์ ํŠธ/๐Ÿงธ TOY-PROJECTS

[DeepLook] 4. ๋ชจ๋ธ ์„ ์ • ๋ฐ ํ•™์Šต

์‚ฌ์ง„ ์ „์ฒ˜๋ฆฌ ์ดํ›„, ๋ชจ๋ธ์„ ์„ ์ •ํ•˜๊ณ  ํ•™์Šต์‹œํ‚ค๋Š” ๊ณผ์ •์„ ๊ฑฐ์ณค๋‹ค. ๋ชจ๋ธ์˜ ํ›„๋ณด๋Š” ResNet, EfficientNet, Arcface๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ, ๊ฐ€์žฅ ์–ผ๊ตด ์œ ์‚ฌ๋„ ๋ถ€๋ถ„์—์„œ ํฐ ์„ฑ๋Šฅ์„ ๋ณด์ด๋Š” Arcface ๋ชจ๋ธ์„ ์„ ์ •ํ–ˆ๋‹ค. ๋” ์ž์„ธํ•œ ๊ณผ์ •์€ ์ฝ”๋žฉ์„ ํ†ตํ•ด ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. 1. CSV ํŒŒ์ผ ์ƒ์„ฑ ์šฐ์„  ์ „์ฒ˜๋ฆฌ๋œ ์‚ฌ์ง„๋“ค์˜ ์ด๋ฆ„(์ด๋ฆ„_์ˆœ๋ฒˆ ํ˜•ํƒœ)๊ณผ ํ•ด๋‹น ์ธ๋ฌผ๋“ค์ด label ๋œ csv ํŒŒ์ผ์„ ์ƒ์„ฑํ–ˆ๋‹ค. 2. Train, Test dataset ๋ถ„๋ฆฌ ํ•ญ๋ชฉ๋ณ„๋กœ 70%๋Š” train, 30%๋Š” test์˜ ๋ฐ์ดํ„ฐ์…‹์œผ๋กœ ๋ถ„๋ฆฌํ–ˆ๋‹ค. # ์ด๋‹ˆ์…œ์„ ํ•˜๋‚˜์˜ ๋ฐฐ์—ด๋กœ ๋ชจ์œผ๊ธฐ class_name_list = [] tmp=df.copy() for initial in tmp['class']: if initial not in class_name..

๐Ÿ’ป ํ”„๋กœ์ ํŠธ/๐Ÿงธ TOY-PROJECTS

[DeepLook] 3. ์ „์ฒ˜๋ฆฌ (haar-cascade ์•Œ๊ณ ๋ฆฌ์ฆ˜)

์ง€๋‚œ๋ฒˆ์— ํฌ๋กค๋งํ•œ ์ด๋ฏธ์ง€๋“ค์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ „์ฒ˜๋ฆฌ ์ž‘์—…์„ ์ง„ํ–‰ํ–ˆ๋‹ค. ๋ชจ๋ธ์— ํ•™์Šต์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ธ๋ฌผ์˜ ์‚ฌ์ง„ ์ค‘ ์–ผ๊ตด๋งŒ crop ๋œ ์ƒํƒœ๋ฅผ ํ•™์Šต์‹œ์ผœ์•ผ ํ–ˆ๋Š”๋ฐ, ์ด ๋ถ€๋ถ„์— ๋Œ€ํ•ด ์ฐพ์•„๋ณด๋‹ˆ haar cascade classifier ๋ผ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์žˆ์—ˆ๋‹ค. 1. Haar Cascade Classifier ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€? ๊ฐ„๋‹จํ•˜๊ฒŒ ์š”์•ฝํ•˜์ž๋ฉด, haar cascade classifier ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ฒ€์ถœํ•  ๋Œ€์ƒ์ด ๋˜๋Š” ๋ฌผ์ฒด๊ฐ€ ์žˆ๋Š” ์ด๋ฏธ์ง€ (Positive Image)์™€ ์—†๋Š” ์ด๋ฏธ์ง€(Negative Image)๋ฅผ ์ตœ๋Œ€ํ•œ ๋งŽ์ด ํ™œ์šฉํ•ด์„œ ๋‹ค๋‹จ๊ณ„ ํ•จ์ˆ˜๋ฅผ ํ›ˆ๋ จ์‹œํ‚ค๋Š” ๊ธฐ๊ณ„ํ•™์Šต ๋ฐฉ์‹์ด๋‹ค. ํ•ด๋‹น ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์œ ์‚ฌ ํ•˜๋ฅด ํŠน์ง• (haar-like features)๊ณผ ์บ์Šค์ผ€์ด๋“œ ๋ถ„๋ฅ˜๊ธฐ (cascade classifier)๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. 1. ์œ ์‚ฌ..

๐Ÿ’ป ํ”„๋กœ์ ํŠธ/๐Ÿงธ TOY-PROJECTS

[DeepLook] 2. AI ์ž‘์—… ์„ค๊ณ„ ๊ณผ์ • / ํฌ๋กค๋ง

1. ์„ค๊ณ„ ๊ณผ์ • ์šฐ์„  ๋ชจ๋“  ๋‹ฎ์€๊ผด๋กœ ๋‚˜์˜ค๋Š” ์ธ๋ฌผ์„ ๋ชจ๋“  ์—ฐ์˜ˆ์ธ์œผ๋กœ ํ•˜๊ธฐ์—๋Š” ๋„ˆ๋ฌด ๊ด‘๋ฒ”์œ„ํ•˜๋‹ค๊ณ  ์ƒ๊ฐ๋˜์–ด, ๋‹น์‹œ ์œ ํ–‰ํ•œ ๋“œ๋ผ๋งˆ์ธ '๋” ๊ธ€๋กœ๋ฆฌ'์˜ ๋“ฑ์žฅ์ธ๋ฌผ๋กœ๋งŒ ์„ค์ •ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ์ƒ๊ฐํ•ด ๋ณธ ์ž‘์—… ์ˆœ์„œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค: ๋”๊ธ€๋กœ๋ฆฌ ๋“ฑ์žฅ์ธ๋ฌผ์˜ ์‚ฌ์ง„ ํฌ๋กค๋ง ์‚ฌ์ง„ ์ „์ฒ˜๋ฆฌ ์ž‘์—… ๋ฐ data augmentation ๋ชจ๋ธ ์„ ์ • ๋ชจ๋ธ ํ•™์Šต ํ…Œ์ŠคํŠธ ๋ฐ ์›น ์—ฐ๊ฒฐ 2. ํฌ๋กค๋ง ๋ฌผ๋ก  ๋งŽ์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๊ณต๊ฐœ๋œ ์˜คํ”ˆ์†Œ์Šค๋“ค์ด ์žˆ์—ˆ์ง€๋งŒ, ํฌ๋กค๋Ÿฌ๋„ ์ง์ ‘ ๊ตฌํ˜„ํ•ด ๋ณด๊ณ  ์‹ถ์—ˆ๋‹ค. (๋งŽ์€ ๋ฆฌ์†Œ์Šค๊ฐ€ ๋“œ๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ˆ๊นŒ..) ํ˜„์žฌ ์šฐ๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ๊ฒƒ์€ ๋“ฑ์žฅ์ธ๋ฌผ๋“ค์˜ ์ด๋ฏธ์ง€์ด๊ธฐ ๋•Œ๋ฌธ์—, ๊ตฌ๊ธ€ ์ด๋ฏธ์ง€ ์‚ฌ์ดํŠธ (https://www.google.co.kr/imghp?hl=ko)์„ ๊ธฐ์ค€์œผ๋กœ ํฌ๋กค๋งํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋‹ค. ์šฐ์„  ์ตœ์ข…์ ์œผ๋กœ ๊ตฌํ˜„ํ•œ ์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค: from..

์žฅ์˜์ค€
'๐Ÿ’ป ํ”„๋กœ์ ํŠธ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (3 Page)