MobileNetV2 ๊ธฐ๋ฐ 38์ข ์ง๋ณ ํ์ง ๋ฐ 84% ์ ํ๋ ๋ฌ์ฑ
๐ฟ Plant Disease Detection System
AI ์์ฝ
Context
๋์๋ฌผ ์ง๋ณ์ ์ ์ํ ์ง๋จ์ ํตํ ์๋ฌผ ์์ค ๋ฐฉ์ง๋ฅผ ์ํ ์ค์๊ฐ ํ์ง ์์คํ ํ์์ฑ ์ฆ๋. ๋๊ท๋ชจ ์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ๋ฉด์ ๋ชจ๋ฐ์ผ ๋ฐ ์น ํ๊ฒฝ์์ ๊ตฌ๋ ๊ฐ๋ฅํ ๊ฒฝ๋ AI ๋ชจ๋ธ์ ํ์์ฑ ๋๋.
Technical Solution
- Transfer Learning ๊ธฐ๋ฐ MobileNetV2 ์ํคํ ์ฒ ์ฑํ์ ํตํ ๋ชจ๋ธ ๊ฒฝ๋ํ ๋ฐ ํ์ต ํจ์จ์ฑ ํ๋ณด
- TensorFlow 2.15 ํ๋ ์์ํฌ ๊ธฐ๋ฐ์ CNN ๋ชจ๋ธ ์ค๊ณ๋ก 224x224 ์ ๋ ฅ ์ฌ์ด์ฆ์ ์ด๋ฏธ์ง ๋ถ์ ์ต์ ํ
- Django REST Framework๋ฅผ ํ์ฉํ API ๊ณ์ธต ์ค๊ณ๋ก Mobile App๊ณผ์ ์ ์ฐํ ๋ฐ์ดํฐ ์ฐ๋ ๊ตฌ์กฐ ๊ตฌ์ถ
- Data Augmentation ๊ธฐ๋ฒ ์ ์ฉ์ ํตํ PlantVillage ๋ฐ์ดํฐ์ ์ ๋ชจ๋ธ ์ผ๋ฐํ ์ฑ๋ฅ ํฅ์
- CSRF ๋ณดํธ ๋ฐ ์ ๋ ฅ๊ฐ Sanitization ์ ์ฉ์ ํตํ ๋ณด์์ฑ์ด ๊ฐํ๋ ์ด๋ฏธ์ง ์ ๋ก๋ ํ์ดํ๋ผ์ธ ์ค๊ณ
Impact
- 38๊ฐ ์ง๋ณ ํด๋์ค์ ๋ํด ์ต๋ 84%์ ์์ธก ์ ํ๋ ๋ฌ์ฑ
- ๋ชจ๋ธ ํฌ๊ธฐ๋ฅผ ์ฝ 13MB ์์ค์ผ๋ก ์ต์ ํํ์ฌ 4GB RAM์ ์ ์ฌ์ ํ๊ฒฝ์์๋ ๊ตฌ๋ ๊ฐ๋ฅ
- 54K ์ด์์ ์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ฅผ ํตํ ํ์ต ๋ฐ์ดํฐ์ ํ๋ณด
Key Takeaway
์์ง ํ๊ฒฝ์ด๋ ์ ์ฌ์ ์ธํ๋ผ๋ฅผ ๊ณ ๋ คํ ์๋น์ค ์ค๊ณ ์ MobileNet๊ณผ ๊ฐ์ ๊ฒฝ๋ ์ํคํ ์ฒ์ Transfer Learning์ ์กฐํฉ์ด ์คํจ์ฑ ์๋ ๋์์์ ์ ์ฆ.
์ค์ฒ ํฌ์ธํธ
1. ์ ํ๋ ์ปดํจํ ์์ ํ๊ฒฝ์์ MobileNetV2 ๋ฑ ๊ฒฝ๋ CNN ๋ชจ๋ธ ๊ฒํ
2. ์ธ๋ถ ์ฑ ์ฐ๋์ ๊ณ ๋ คํ REST API ๊ธฐ๋ฐ์ ๋น๋๊ธฐ ์์ธก ์ธํฐํ์ด์ค ์ค๊ณ
3. ๋ชจ๋ธ ์ฑ๋ฅ ์ต์ ํ๋ฅผ ์ํ Input Size ํ์คํ(224x224) ๋ฐ Data Augmentation ์ ๋ต ์๋ฆฝ
4. ๋ชจ๋ธ ํ์ผ(.h5)๊ณผ ํด๋์ค ๋งคํ ์ ๋ณด(.json)์ ๋ถ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ํตํ ์ ์ง๋ณด์์ฑ ํ๋ณด