์ „์ฒด ๊ธ€ 129

2nd EPOCH DATATHON ์ตœ์šฐ์ˆ˜์ƒ

๋ฐ์ดํ„ฐ๋ถ„์„ ๋™์•„๋ฆฌ EPOCH์—์„œ '๋‹น์‹ ์„ ์œ„ํ•œ 3์ƒ‰ ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜' ์ด๋ผ๋Š” ์ฃผ์ œ๋กœ ์‚ฌ์šฉ์ž ๋งž์ถคํ˜• ๋…์„œ ๊ฒฝํ—˜์„ ์œ„ํ•ด ์Šคํ…Œ๋””์…€๋Ÿฌ, ๋ผ์ด์ง•์Šคํƒ€, ์ˆจ์€ ์ฑ… ์„ธ ๊ฐˆ๋ž˜๋กœ ์ฑ…์„ ์ถ”์ฒœํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ธ “Book Prism” ์„ ๊ฐœ๋ฐœํ•˜์—ฌ ์ตœ์šฐ์ˆ˜์ƒ์„ ์ˆ˜์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.๊ณต๊ณต๋„์„œ๊ด€๋ฐ์ดํ„ฐ์…‹์„ ์ „์ฒ˜๋ฆฌํ•˜์—ฌ ์ด์šฉ ๋ฐ ๋ถ„์„ํ–ˆ๊ณ , K-BERT๋ชจ๋ธ์„ ํ™œ์šฉํ•ด ์ฑ… ์ถ”์ฒœ ๊ธฐ๋Šฅ์— ์ ‘๋ชฉํ–ˆ์Šต๋‹ˆ๋‹ค.์ž์„ธํ•œ ๋‚ด์šฉ์€ 'ํ”„๋กœ์ ํŠธ>ํŒ€ํ”„๋กœ์ ํŠธ' ์นดํ…Œ๊ณ ๋ฆฌ์— ๊ธฐ์žฌํ•ด ๋†“์•˜์Šต๋‹ˆ๋‹ค.

[์กธ์—…ํ”„๋กœ์ ํŠธ] handDoc ์ˆ˜์–ด ์ธ์‹ ๋ชจ๋ธ ๊ตฌ์ถ• ํŠœํ† ๋ฆฌ์–ผ : MediaPipe → BiLSTM ํ•™์Šต๊นŒ์ง€ ์ „ ๊ณผ์ •

์ดํ™”์—ฌ์ž๋Œ€ํ•™๊ต ์บก์Šคํ†ค์กธ์—…ํ”„๋กœ์ ํŠธ๋กœ ์ง„ํ–‰ํ•œ handDoc ์„œ๋น„์Šค์—์„œ ์ œ๊ฐ€ ๋‹ด๋‹นํ•œ ์ˆ˜์–ด ์ธ์‹(Sign-to-Text) AI ๋ชจ๋ธ ๊ตฌ์ถ• ๊ณผ์ • ์ „์ฒด๋ฅผ ํŠœํ† ๋ฆฌ์–ผ๋กœ ์ •๋ฆฌํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฌ๋‚˜ ์‰ฝ๊ฒŒ ๋”ฐ๋ผํ•  ์ˆ˜ ์žˆ๋„๋ก ์‰ฝ๊ฒŒ ํ’€์–ด ์ •๋ฆฌํ•ด๋ดค์–ด์š”~~ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ → ์ „์ฒ˜๋ฆฌ → ์ฆ๊ฐ• → ๋ชจ๋ธ ํ•™์Šต → ํ‰๊ฐ€๊นŒ์ง€ ์ „ ๋‹จ๊ณ„๋ฅผ ์ƒ์„ธํžˆ ์„ค๋ช…ํ•˜์˜€์œผ๋‹ˆ, ์ด ๊ธ€๋งŒ ๋”ฐ๋ผ์˜ค๋ฉด ๋‹น์‹ ๋„ ์ˆ˜์–ด์ธ์‹๋ชจ๋ธ์„ ์‰ฝ๊ฒŒ ํ•™์Šต์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ต๋‹ˆ๋‹ค~!!(ํŽธ์˜์ƒ ~๋‹ค ์ฒด๋กœ ์ง„ํ–‰ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.)1. ํ”„๋กœ์ ํŠธ์—์„œ ์ˆ˜์–ด ์ธ์‹ ๋ชจ๋ธ์ด ํ•„์š”ํ•œ ์ด์œ  ์šฐ์„  ์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐ„๋‹จํžˆ ์„ค๋ช…ํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. (์ž์„ธํ•œ ๊ธฐํš๋‚ด์šฉ์€ 'handDoc ๊ธฐํš' ๊ธ€์„ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”! ^^) handDoc์€ ์ฒญ๊ฐ์žฅ์• ์ธ ํ™˜์ž์˜ ๋น„๋Œ€๋ฉด/๋Œ€๋ฉด ์ง„๋ฃŒ๋ฅผ ์ง€์›ํ•˜๋Š” ์„œ๋น„์Šค์ด๋ฉฐ, ๊ทธ ํ•ต์‹ฌ ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์‚ฌ์šฉ์ž์˜ ์ˆ˜..

์ˆ˜๋ฃŒ์ฆ

๋ฐ์ดํ„ฐ์‚ฌ์ด์–ธ์Šค ์—ฐํ•ฉ๋™์•„๋ฆฌ EPOCH 3๊ธฐ ์ˆ˜๋ฃŒ์ฆ์ž…๋‹ˆ๋‹ค.์ง„ํ–‰ํ–ˆ๋˜ ๋ฐ์ดํ„ฐ๋ถ„์„ ํŒ€ํ”„๋กœ์ ํŠธ 2๊ฐ€์ง€(๋ฐค์ƒ˜๋ฐ์ดํ„ฐํ†ค K-bert๊ธฐ๋ฐ˜ ๊ณต๊ณต๋„์„œ๊ด€๋ฐ์ดํ„ฐ ํ™œ์šฉ ํ”„๋กœ์ ํŠธ, yolo๊ธฐ๋ฐ˜ ์‚ฌ์ง„๋ถ„๋ฆฌ ํ”„๋กœ์ ํŠธ)๋Š” ํ”„๋กœ์ ํŠธ ์นดํ…Œ๊ณ ๋ฆฌ์— ์ž์„ธํžˆ ๊ธฐ์žฌํ•ด๋†“์•˜์Šต๋‹ˆ๋‹ค.

[์กธ์—…ํ”„๋กœ์ ํŠธ] handDoc ๋ฐฐํฌ ํ™˜๊ฒฝ ๊ตฌ์ถ• ์ •๋ฆฌ (AWS EC2 + Docker + Nginx + FastAPI + Spring Boot) + ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…

handDoc ์กธ์—…ํ”„๋กœ์ ํŠธ์˜ ์‹ค์ œ ๋ฐฐํฌ ํ™˜๊ฒฝ ๊ตฌ์„ฑ ๊ณผ์ •์„ ์ •๋ฆฌํ•ด๋ณด๊ฒ ๋‹ค. ํ˜„์žฌ ๋‚˜์˜ ๋“œ๋ฆผ์žก์ธ ํด๋ผ์šฐ๋“œ ์—”์ง€๋‹ˆ์–ด์™€ ๊ด€๋ จํ•˜์—ฌ ๋ฐฐํฌ๋ฅผ ๋งŽ์ด ๋งก์•„๋ณด๊ณ  ์‹ถ์—ˆ๊ณ , ๊ทธ ๊ฒฐ๊ณผ AWS IaaS ํ™˜๊ฒฝ์—์„œ 1๋ฒˆ, NCP ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํ™˜๊ฒฝ์—์„œ 1๋ฒˆ์œผ๋กœ ์ด ๋‘ ๋ฒˆ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ๋ฐฐํฌํ•ด๋ณด๋Š” ๊ฒฝํ—˜์„ ํ–ˆ๋‹ค. FE๋„ ๋ฐฐํฌ๋ฅผ ๋งก์•„, Vercel๋กœ ๋ฐฐํฌํ–ˆ์œผ๋ฉฐ, ์ดํ›„ ์—ฌ๋ ฅ์ด ๋˜๋ฉด AWS S3 + CloudFront ๊ธฐ๋ฐ˜์œผ๋กœ ์ •์  ํ˜ธ์ŠคํŒ…๋„ ๊ตฌํ˜„ํ•ด๋ณผ ๊ณ„ํš์ด๋‹ค. ์„œ๋น„์Šค๋Š” React(Vercel) + Spring Boot + FastAPI + Nginx + RDS(MySQL) + MongoDB Atlas๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ๋ชจ๋“  ๋ฐฑ์—”๋“œ, AI ์„œ๋ฒ„๋Š” ๋‹จ์ผ EC2(t3.micro) ์œ„์—์„œ Docker ๊ธฐ๋ฐ˜์œผ๋กœ ์šด์˜ํ•œ๋‹ค. AI๊นŒ์ง€ ํ•˜๋ ค๋ฉด ์ธ์Šค..

[์กธ์—…ํ”„๋กœ์ ํŠธ] handDoc BE ERD ๋ฐ API ์„ค๊ณ„

๋ณธ ๊ธ€์—์„œ๋Š” handDoc ์„œ๋น„์Šค์—์„œ์˜ API ๊ตฌํ˜„ ๊ณผ์ •์„ ์ •๋ฆฌํ•ด๋ณด๊ฒ ๋‹ค. ์˜ˆ์•ฝ ์ƒ์„ฑ → ์˜ˆ์•ฝ ์กฐํšŒ → ์˜์‚ฌ ์ˆ˜๋ฝ → Telemed ์—ฐ๋™๊นŒ์ง€ ์ด์–ด์ง€๋Š” ์ „์ฒด ํ๋ฆ„์„ ๊ธฐ์ค€์œผ๋กœ ์„ค๋ช…ํ•œ๋‹ค. 1. ๋กœ์ปฌ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์„ฑ handDoc ๋ฐฑ์—”๋“œ๋Š” ๋ชจ๋“  ํŒ€์›์ด ๋™์ผํ•œ ํ™˜๊ฒฝ์—์„œ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋„๋ก Docker ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.1) ํ•„์š” ๋„๊ตฌ ์„ค์น˜IntelliJ IDEADocker Desktop (๋กœ์ปฌ ์‹คํ–‰ ์‹œ ํ•ญ์ƒ ์ผœ๋‘ฌ์•ผ ํ•จ)2) ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ํด๋ก git clone https://github.com/handdoc/backend.git 3) ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ (docker-compose) ๋ ˆํฌ์ง€ํ† ๋ฆฌ์—๋Š” docker-compose.yml์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ, MySQL, Redis ๋“ฑ ํ•„์š”ํ•œ ๋ชจ๋“  ๋กœ์ปฌ ํ™˜๊ฒฝ์„ ์ž๋™์œผ๋กœ ๋„์šฐ..

[์กธ์—…ํ”„๋กœ์ ํŠธ] handDoc AI ๋ชจ๋ธ(์ˆ˜์–ด์ธ์‹/์Œ์„ฑ๊ต์ •) ๊ตฌ์ถ• ๊ณผ์ •

handDoc ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์ˆ˜์–ด์ธ์‹๋ชจ๋ธ, ์Œ์„ฑ๊ต์ •๋ชจ๋ธ 2๊ฐ€์ง€ ์ข…๋ฅ˜์˜ AI๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค. ์ˆ˜์–ด์ธ์‹๋ชจ๋ธ์ธ Bi-LSTM์€ ๋ฐ์ดํ„ฐ์…‹์„ ์ง์ ‘ ๊ตฌ์ถ•ํ•˜์—ฌ ๋”ฅ๋Ÿฌ๋‹ ํ•™์Šต์‹œ์ผฐ์œผ๋ฉฐ, ์ฒญ๊ฐ์žฅ์• ์ธ์˜ ๋ถ€์ •ํ™•ํ•œ ์Œ์„ฑ์„ ์ธ์‹ํ•˜์—ฌ ๊ต์ •ํ•˜๋Š” ๋ชจ๋ธ์ธ Whisper์€ ํŒŒ์ธํŠœ๋‹ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์˜€๋‹ค. 1. ๋”ฅ๋Ÿฌ๋‹ ๊ธฐ๋ฐ˜ ์ˆ˜์–ด์ธ์‹๋ชจ๋ธ(1) ๊ฐœ์š” handDoc ์„œ๋น„์Šค์—์„œ๋Š” ์ˆ˜์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ฒญ๊ฐ์žฅ์• ์ธ ํ™˜์ž๊ฐ€ ์ž์‹ ์˜ ์ˆ˜์–ด๋ฅผ ์‹ค์‹œ๊ฐ„ ํ…์ŠคํŠธ๋กœ ๋ณ€ํ™˜ํ•ด ์˜์‚ฌ์—๊ฒŒ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์–ด ์ธ์‹ ๋ชจ๋ธ์„ ๊ตฌ์ถ•ํ–ˆ๋‹ค. Google MediaPipe Holistic์œผ๋กœ ์ƒ๋ฐ˜์‹  keypoint๋ฅผ ์ถ”์ถœํ•˜๊ณ , ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ 1D-CNN / LSTM / CNN+LSTM / BiLSTM ๋„ค ๊ฐ€์ง€ ๋ชจ๋ธ์„ ๊ฐ๊ฐ ํ•™์Šตํ–ˆ๋‹ค. ๊ทธ์ค‘ Validation Accuracy 98.9%๋ฅผ ..

[์กธ์—…ํ”„๋กœ์ ํŠธ] handDoc_ ์„œ๋น„์Šค ํ•ต์‹ฌ ๊ธฐ๋Šฅ๊ณผ ์ „์ฒด ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„

1. ํ•ต์‹ฌ ๊ธฐ๋Šฅ handDoc ์„œ๋น„์Šค์˜ ์ฃผ์š” ๊ธฐ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์ฃผ์š”๊ธฐ๋Šฅ์„ ์ž์„ธํžˆ ํ’€์–ด ์จ ๋ณด์ž๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. (1) ๋Œ€๋ฉด ์ง„๋ฃŒ ํ™˜๊ฒฝ์—์„œ์˜ ํ™œ์šฉ 1-1. ํ™˜์ž์˜ ์ˆ˜์–ด ์ธ์‹ ๋ฐ ๋ฒˆ์—ญ: ํ™˜์ž๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์ˆ˜์–ด๊ฐ€ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ…์ŠคํŠธ ๋ณ€ํ™˜๋˜์–ด ์˜์‚ฌ๊ฐ€ ์ฆ‰์‹œ ํ™•์ธ ๊ฐ€๋Šฅ 1-2. ์˜์‚ฌ ์Œ์„ฑ ์ž๋ง‰ํ™”: ์˜์‚ฌ์˜ ์Œ์„ฑ์ด ์ž๋ง‰ํ™”๋˜์–ด ํ™˜์ž์—๊ฒŒ ์ œ๊ณต 1-3. ์ง„๋ฃŒ ์ข…๋ฃŒ ํ›„ ์š”์•ฝ ์ œ๊ณต: ์ง„๋ฃŒ๊ฐ€ ์™„๋ฃŒ๋œ ์ดํ›„, ๋Œ€ํ™” ๋‚ด์—ญ๊ณผ ํ•จ๊ป˜ ์š”์•ฝ ์ œ๊ณต. (2) ๋น„๋Œ€๋ฉด ์ง„๋ฃŒ ํ™˜๊ฒฝ์—์„œ์˜ ํ™œ์šฉ ๋น„๋Œ€๋ฉด ์ง„๋ฃŒ์—์„œ๋Š” ๋Œ€๋ฉด ์ง„๋ฃŒ ํ™˜๊ฒฝ์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์— ๋”ํ•ด, ํ™˜์ž์˜ ์ƒํƒœ์™€ ์˜์‚ฌ์†Œํ†ต ๋ฐฉ์‹์— ๋”ฐ๋ผ ๋งž์ถคํ˜• ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. ํ™˜์ž๋Š” ์ง„๋ฃŒ ์‹ ์ฒญ ๋‹จ๊ณ„์—์„œ ์ˆ˜์–ด ์‚ฌ์šฉ ์—ฌ๋ถ€ ๋ฐ ๋ฐœํ™” ๊ฐ€๋Šฅ ์—ฌ๋ถ€๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด์— ๋”ฐ๋ผ ์ง„๋ฃŒ ๋ฐฉ์‹..

[์กธ์—…ํ”„๋กœ์ ํŠธ] ์ฒญ๊ฐ์žฅ์• ์ธ ๋Œ€์ƒ ์ง„๋ฃŒ ํ”Œ๋žซํผ, handDoc ๊ธฐํš

์ดํ™”์—ฌ์ž๋Œ€ํ•™๊ต 1๋…„์น˜ ์บก์Šคํ†ค ์กธ์—…ํ”„๋กœ์ ํŠธ๋กœ '์ฒญ๊ฐ์žฅ์• ์ธ ๋Œ€์ƒ ์ˆ˜์–ด, ์Œ์„ฑ์„ ํ…์ŠคํŠธ๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๋Œ€๋ฉด/๋น„๋Œ€๋ฉด ์ง„๋ฃŒ ์„œ๋น„์Šค' ์ธ handDoc์„ ๊ฐœ๋ฐœํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. 3์ธํŒ€ ๊ตฌ์„ฑ์ด๋ฉฐ, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์—ญํ• ์„ ๋ถ„๋‹ดํ–ˆ๋‹ค. ๋ฐฐ๊ฒฝ ๋ณด๊ฑด๋ณต์ง€๋ถ€์— ๋”ฐ๋ฅด๋ฉด, 2024๋…„ ๋ง ๊ธฐ์ค€ ์šฐ๋ฆฌ๋‚˜๋ผ ๋“ฑ๋ก ์žฅ์• ์ธ ์•ฝ 263๋งŒ๋ช… ์ค‘ 16.3%๊ฐ€ ์ฒญ๊ฐ์žฅ์• ์ธ์ด๋‹ค. ๊ทธ ์ค‘ ์ˆ˜์–ด๋ฅผ ์ฃผ๋œ ์˜์‚ฌ์†Œํ†ต ๋ฐฉ๋ฒ•์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์ฒญ๊ฐ์žฅ์• ์ธ์€ 30.1%์— ํ•ด๋‹นํ•œ๋‹ค. ๋˜, ๊ตญ๋ฆฝ๊ตญ์–ด์› 2023๋…„ ํ•œ๊ตญ์ˆ˜์–ด ํ™œ์šฉ ์กฐ์‚ฌ์— ๋”ฐ๋ฅด๋ฉด, ์ฒญ๊ฐ์žฅ์• ์ธ์ด ์ˆ˜์–ดํ†ต์—ญ ์„œ๋น„์Šค๊ฐ€ ๊ฐ€์žฅ ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ์˜์—ญ์ด ์˜๋ฃŒ๊ธฐ๊ด€์ด 83.0%๋กœ ๊ฐ€์žฅ ๋†’๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ตญํšŒ·๋ณต์ง€๋ถ€ ์ž๋ฃŒ ๋ถ„์„ ๋ณด๋„์— ๋”ฐ๋ฅด๋ฉด, 2021๋…„ 8์›” ๊ธฐ์ค€ ์ˆ˜์–ดํ†ต์—ญ์‚ฌ๊ฐ€ ์ƒ์ฃผํ•˜๋Š” ์˜๋ฃŒ๊ธฐ๊ด€์€ 2๊ฐœ์†Œ์— ๋ถˆ๊ณผํ•˜๋‹ค. ํ•œํŽธ, ์ฝ”๋กœ๋‚˜19 ..