ํ”ผ๋“œ๋กœ ๋Œ์•„๊ฐ€๊ธฐ
๐ŸŒฟ Plant Disease Detection System
Dev.toDev.to
AI/ML

MobileNetV2 ๊ธฐ๋ฐ˜ 38์ข… ์งˆ๋ณ‘ ํƒ์ง€ ๋ฐ 84% ์ •ํ™•๋„ ๋‹ฌ์„ฑ

๐ŸŒฟ Plant Disease Detection System

Somnath Das2026๋…„ 5์›” 5์ผ3๋ถ„intermediate

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)์˜ ๋ถ„๋ฆฌ ๊ด€๋ฆฌ๋ฅผ ํ†ตํ•œ ์œ ์ง€๋ณด์ˆ˜์„ฑ ํ™•๋ณด

์›๋ฌธ ์ฝ๊ธฐ