식물 병 AI 모델·데이터셋 리서치
작성자: plant-ai-researcher
작성일: 2026-05-15
연관 문서: _workspace/00_scope.md
- 온디바이스 식물 병 진단은 “조건부 가능” 수준에 도달해 있다. 경량 CNN(MobileNetV3, EfficientNet-Lite, MobileViT-XS)을 PlantVillage·PlantDoc 기반으로 파인튜닝하면 5
15 MB 크기·40100 ms 추론으로 모바일에서 충분히 돌릴 수 있다. - 그러나 “실험실 99% → 현실 30~70%” 의 정확도 격차가 가장 큰 리스크다. PlantVillage만으로 학습한 모델은 흑/회색 배경 편향(background bias) 때문에 사용자 카메라 이미지에서 무너진다 (재현 가능 사례: 99% → 31%).
- 즉시 활용 가능한 자원: TensorFlow Hub의 CropNet(카사바 한정), HuggingFace의
linkanjarad/mobilenet_v2_1.0_224-plant-disease-identification(PlantVillage 38클래스, 정확도 0.7858),Daksh159/plant-disease-mobilenetv2(95% val, Apache-2.0). 한국 가정용 관엽식물 특화 공개 모델은 사실상 없음. - 권장 전략: (1) MobileNetV3-Small 또는 EfficientNet-Lite0를 백본으로 사용, (2) PlantVillage + PlantDoc + PlantSeg(in-the-wild) + AI-Hub 시설작물 데이터를 혼합해 도메인 갭 해소, (3) Top-5 정확도 80% 목표는 현실적으로 달성 가능하나 “Top-1 95%+” 마케팅은 위험.
1. 주요 데이터셋 비교
섹션 제목: “1. 주요 데이터셋 비교”| 데이터셋 | 이미지 수 | 식물 종 | 병/클래스 수 | 환경 | 라이선스 | 한계 |
|---|---|---|---|---|---|---|
| PlantVillage | 54,303 | 14 | 38 (병+건강) | 실험실(단색 배경, 분리된 잎) | 학술 무료 / 상업 사용은 별도 확인 필요 (CC BY 표기 사례 다수) | 배경 편향 — 배경 픽셀 8개만으로도 49% 정확도. 실사용 시 31%까지 하락 |
| PlantDoc | 2,569 (분류) / 2,482 (검출, 8,595 객체) | 13 | 30 / 29 | 현실(자연 배경, 다양한 조명) | Apache-2.0 (GitHub repo) | 작음. 종/병 커버리지 좁음. PlantVillage 보완용으로 적합 |
| PlantSeg (2024) | 11,400+ | 34 | 115 disease × segmentation mask | In-the-wild (실 환경) | 학술 공개 (Scientific Data 2025) | 분류가 아닌 segmentation 라벨 중심, 학습 비용 큼 |
| iNaturalist 2021 (Plants) | 2.7M (전체, 식물 부분 비율 큼) | 10K (전체 종, 식물 다수) | 종 식별 라벨만 (질병 라벨 없음) | 실 환경(스마트폰 사진) | CC BY-NC 등 다양 | 질병 라벨이 없어 식물 종 식별 보조용으로만 사용 |
| CCMT | 24,881 | 6 (cashew, cassava, maize, tomato 등) | 22 | 현실(가나 농경지) | Open access | 아프리카 작물 중심, 한국 가정 식물과 종 mismatch |
| DLCPD-25 (2025) | 221,943 | 23 | 203 (병해충+건강) | 혼합(온라인 + 야외 수집) | 학술 공개 (MDPI Sensors) | 신규로 검증 적음, 라이선스 사용 조건 확인 필요 |
| CropNet (Cassava) | 9,430 | 1 (카사바) | 5 + unknown | 실 환경 | Apache-2.0 (TF Hub) | 단일 작물만 |
| AI-Hub 시설작물 (한국) | 토마토·장미 등 약 30,000+ | 10 (시설원예작물) | 다수 (역병, 시들음병, 황화 등) | 시설 농가 환경 | 한국지능정보사회진흥원, 비상업/연구 우선 (앱 상업 사용 시 별도 협의 필수) | 가정용 관엽식물 미커버. 농가 시설 위주 |
| AI-Hub 시설작물 딸기 (71451) | 별도 공개 | 1 (딸기) | 질병 다수 | 시설 | 동일 (AI-Hub 약관) | 종 한정 |
| 농촌진흥청/농사로 | 비공식 (검색 기반) | 한국 재배 작물 31종 | 병해충 182종 | 카메라/제보 사진 | 공공데이터 — 앱 사용 시 사전 협의 권장 | API/덤프 형태 공개 제한적 |
핵심 인사이트:
- 가정용 관엽식물(몬스테라, 스킨답서스, 아레카야자 등) 전용 공개 데이터셋은 거의 없음. 커스텀 데이터 수집이 필요.
- 가장 현실적인 학습 조합: PlantVillage(베이스 라인) + PlantDoc(현실 환경 보정) + 자체 수집(가정 식물 보강).
- 한국 작물 활용은 AI-Hub가 가장 강력하나, 시설농가 환경이므로 가정 환경과 추가 도메인 갭 존재.
2. 모델 아키텍처 비교
섹션 제목: “2. 모델 아키텍처 비교”2.1 경량 모델 스펙 (ImageNet 기준)
섹션 제목: “2.1 경량 모델 스펙 (ImageNet 기준)”| 모델 | 파라미터(M) | 모델 크기 (float / int8) | Top-1 (ImageNet) | 모바일 적합성 |
|---|---|---|---|---|
| MobileNetV2 1.0×224 | 3.5 | ~14 MB / ~3.5 MB | 71.8% | 매우 좋음 (검증된 baseline) |
| MobileNetV3-Small | 2.5 | ~10 MB / ~2.5 MB | 67.4% | 최고 (저전력) |
| MobileNetV3-Large | 5.4 | ~21 MB / ~5 MB | 75.2% | 좋음 |
| EfficientNet-Lite0 | 4.7 | ~18 MB / ~5.4 MB | 75.1% (float), 74.4% (int8) | 매우 좋음 (양자화 후 4× 작아짐) |
| EfficientNet-Lite4 | 13.0 | ~50 MB / ~13 MB | 80.4% | 중상위 폰만 권장 |
| SqueezeNet 1.1 | 1.2 | ~5 MB | 58.2% | 크기 최소화, 정확도 낮음 |
| MobileViT-XS | 2.3 | ~9 MB | 74.8% | CNN+ViT 하이브리드, 42~100 ms |
| MobilePlantViT (2025) | 0.69 | <4 MB | 99%+ on PlantVillage | 신규 연구 (검증 더 필요) |
2.2 식물 병 분류 정확도 (도메인 특화 파인튜닝 후)
섹션 제목: “2.2 식물 병 분류 정확도 (도메인 특화 파인튜닝 후)”| 모델 (백본) | 데이터셋 | 정확도 | 출처 |
|---|---|---|---|
| MobileNetV3-Small (개선 LDL-MobileNetV3S) | 감자잎 질병 | 94.89% | Frontiers Plant Sci 2025 |
| MobileNetV3-Small (양자화) | PlantVillage 일부 | 99.50% (test) | Nature Sci Reports 2025 |
| MobileNetV3 + 전이학습 | 오렌지/포칸 잎 | 92.1% | 학술 논문 |
| EfficientNet-B0 | 감자잎 질병 | 93.23% | 학술 논문 |
| EfficientNet-B1 | 일반 식물 질병 | 94.7% | 학술 논문 |
| EfficientNet-B3 | 감귤 황롱병 | 99.58% (test) | 학술 논문 |
| RTR_Lite_MobileNetV2 | PlantVillage | ResNet101/EfficientNetV2/ViT_B_16/ShuffleNetV2/MobileNetV2 모두 능가 | ScienceDirect 2025 |
| MobileViT-XS (Hybrid) | 토착작물 병해충 | 97.3% (42 ms 추론, 4.8 MB) | arXiv 2512.11871 |
| MobilePlantViT | PlantVillage | 99%+ (0.69M param) | arXiv 2503.16628 |
| SWIN Transformer (in-the-wild) | 실 환경 데이터 | 88% (CNN baseline 53% 대비) | Frontiers 2025 |
해석:
- PlantVillage 같은 깨끗한 데이터셋에서는 거의 모든 경량 모델이 90~99%에 수렴. 의미 없는 비교가 됨.
- “실 환경(in-the-wild)” 테스트가 진짜 차별점. CNN 53% vs SWIN/ViT 계열 88% 격차는 매우 의미 있는 신호.
- MobileViT-XS / MobilePlantViT는 모바일 + 정확도 양립의 최신 옵션. 앱 MVP의 1순위 후보.
3. 공개 Pre-trained 모델 (즉시 활용 가능)
섹션 제목: “3. 공개 Pre-trained 모델 (즉시 활용 가능)”3.1 HuggingFace Hub
섹션 제목: “3.1 HuggingFace Hub”| 모델 | 백본 | 클래스 | 정확도 | 라이선스 | 링크 |
|---|---|---|---|---|---|
linkanjarad/mobilenet_v2_1.0_224-plant-disease-identification | MobileNetV2 1.0×224 | PlantVillage 38 | 0.7858 (eval) | “other” (확인 필요) | https://huggingface.co/linkanjarad/mobilenet_v2_1.0_224-plant-disease-identification |
Daksh159/plant-disease-mobilenetv2 | MobileNetV2 | 38 | 95% (val) | Apache-2.0 | https://huggingface.co/Daksh159/plant-disease-mobilenetv2 |
A2H0H0R1/mobilenet_v2_1.0_224-plant-disease-new | MobileNetV2 | 38 | (미공개) | (확인 필요) | https://huggingface.co/A2H0H0R1/mobilenet_v2_1.0_224-plant-disease-new |
Diginsa/Plant-Disease-Detection-Project | MobileNet 계열 | (확인 필요) | (미공개) | (확인 필요) | https://huggingface.co/Diginsa/Plant-Disease-Detection-Project |
ombhojane/healthyPlantsModel | (확인 필요) | 건강/질병 이진 분류 | (미공개) | (확인 필요) | https://huggingface.co/ombhojane/healthyPlantsModel |
3.2 TensorFlow Hub / TFLite
섹션 제목: “3.2 TensorFlow Hub / TFLite”| 모델 | 종 | 클래스 | 라이선스 | 비고 |
|---|---|---|---|---|
| CropNet Cassava V1 | 카사바 1종 | 6 (5 disease + unknown) | Apache-2.0 | TFLite 변환 완비. ML Kit 통합 가이드 있음. https://tfhub.dev/google/cropnet/classifier/cassava_disease_V1/2 |
| CropNet On-device 튜토리얼 | 일반 PlantVillage 활용 | 38 | Apache-2.0 | TF Hub의 cropnet_on_device 가이드로 직접 파인튜닝 가능 |
3.3 GitHub 오픈소스
섹션 제목: “3.3 GitHub 오픈소스”spMohanty/PlantVillage-Dataset: 원본 PlantVillage 데이터셋 미러pratikkayal/PlantDoc-Dataset: PlantDoc 분류 데이터셋pratikkayal/PlantDoc-Object-Detection-Dataset: 검출 버전rpnugroho/cassava-disease-tflite: 카사바 TFLite Android 예제root458/Plant-Disease-Detector: Flutter 앱 예제 (TFLite + PlantVillage 기반)AhmAshraf1/PlanTech-AI: TF 기반 5클래스(Healthy/Powdery/Rust/Slug/Spot) 분류
3.4 상용 API (참고용, 온디바이스 아님)
섹션 제목: “3.4 상용 API (참고용, 온디바이스 아님)”- Pl@ntNet API: 78,304 종, 무료 티어 있음. 클라우드 전용 — 오프라인 불가.
- Plant.id / Plant.health (Kindwise): 가정 식물·질병 전문, 9/10 Top-3 정확도. 클라우드 API 위주이나 Kindwise Router(라우팅 분류기) 만 오픈소스 경량 모델 제공.
- PictureThis: 식물 식별 98% 자체 주장, 질병 ID 정확도는 75% 수준 (240케이스 비교 테스트, plantdoctor.app 2025). 식별은 서버 사이드이며 오프라인 미지원.
4. 정확도·한계 분석
섹션 제목: “4. 정확도·한계 분석”4.1 실험실 vs 실사용 환경 정확도 격차
섹션 제목: “4.1 실험실 vs 실사용 환경 정확도 격차”| 환경 | 일반 보고 정확도 |
|---|---|
| 실험실 (PlantVillage 같은 단색 배경) | 95–99% |
| 현장 배포 (실제 농가 카메라) | 70–85% |
| 극단 사례 (ResNet-50 cross-domain) | 31% (PlantVillage 99% → 다른 데이터셋 31% 하락) |
| 잎 1장만 단순 배경 픽셀로 학습 | 49% (배경 편향 증명) |
원인:
- 배경 편향(background bias): PlantVillage 잎이 단색 천 위에 놓여있어 모델이 배경 분포를 클래스로 학습.
- 조명 변화: 자연광·실내조명 변화에 취약. PlantVillage는 통제된 광원.
- 객체 다양성: 줄기·다른 잎과 함께 찍힌 사진을 본 적 없음.
- 카메라 차이: 스마트폰 노이즈·HDR·압축이 학습 분포 외.
완화 기법 (논문 보고):
- 배경 재합성(background recomposition): 9.9~23.6% 정확도 향상.
- 도메인 어댑테이션 (Unsupervised): lab→field 격차 절반 이상 회복.
- ViT / SWIN 계열: 같은 in-the-wild 데이터에서 CNN 53% → SWIN 88%. 강건성 우수.
- 혼합 학습 데이터: PlantVillage + PlantDoc + PlantSeg 혼합 시 generalization 개선.
4.2 기타 한계
섹션 제목: “4.2 기타 한계”- 조기 병 감지: 대부분 모델은 증상이 명확해진 후만 식별. 잠복기·초기 증상은 90% 이상 모델이 실패하는 영역.
- 복합 감염: 한 잎에 두 가지 병이 있을 때 멀티라벨 분류는 거의 보고 없음. 대부분 단일 라벨 가정.
- 지역/계절 차이: 같은 병이라도 지역별 발현 양상이 다른데 데이터셋이 한쪽 지역에 치우침 (대부분 미국·인도).
- 가정 관엽식물: PlantVillage·PlantDoc 모두 농업 작물(사과, 토마토, 감자 등) 위주. 몬스테라·스킨답서스·고무나무 같은 인기 가정 식물은 거의 미커버.
5. 온디바이스 추천 모델 (앱 MVP 기준)
섹션 제목: “5. 온디바이스 추천 모델 (앱 MVP 기준)”5.1 1순위: EfficientNet-Lite0 (양자화)
섹션 제목: “5.1 1순위: EfficientNet-Lite0 (양자화)”- 사유: 모델 크기 ~5.4 MB(int8), Top-1 74.4% 유지, TFLite 변환 검증 완료, Apache-2.0 라이선스 친화적.
- 추론 시간: 중급 Android(스냅드래곤 7시리즈) 기준 30~60 ms 추정.
- 변환 경로: PyTorch/TF → ONNX → TFLite → CoreML(via
coremltools). 모두 검증된 파이프라인.
5.2 2순위: MobileNetV3-Small (개선판 LDL-MobileNetV3S 참조)
섹션 제목: “5.2 2순위: MobileNetV3-Small (개선판 LDL-MobileNetV3S 참조)”- 사유: 2.5M 파라미터, ~2.5 MB(int8), 저가형 폰 + 배터리 친화. Google 공식 + Apple Core ML Tools 모두 지원.
- 약점: PlantVillage 외 일반화 성능은 EfficientNet-Lite0보다 약간 떨어짐.
5.3 3순위 (연구 트랙): MobileViT-XS 또는 MobilePlantViT
섹션 제목: “5.3 3순위 (연구 트랙): MobileViT-XS 또는 MobilePlantViT”- 사유: 실 환경 정확도가 압도적으로 우수(SWIN 사례 참고). 4.8 MB / 42 ms는 충분히 실용적.
- 약점: TFLite/CoreML 변환 시 attention 연산 일부 fallback 가능성 —
ml-framework-researcher와 변환 호환성 확인 필요. - 참고 논문: arXiv 2503.16628 (MobilePlantViT), arXiv 2512.11871 (Hybrid CNN-MobileViT).
5.4 부적합 후보
섹션 제목: “5.4 부적합 후보”- ResNet-50/EfficientNet-B3 이상: 100 MB 이상, 모바일 사용 사례 거의 없음.
- SqueezeNet: 모델은 작지만 정확도 부족 (식물 병처럼 subtle 텍스처 분류에 부적합).
- 클라우드 API(Pl@ntNet, Plant.id): 스코프(
오프라인 동작) 위반.
6. ml-framework-researcher에게 공유할 핵심 정보
섹션 제목: “6. ml-framework-researcher에게 공유할 핵심 정보”발견한 모델 형식 호환성:
- TFLite 변환 완료된 사례: CropNet Cassava (공식), HuggingFace의
linkanjarad/mobilenet_v2_1.0_224-plant-disease-identification(Keras/PyTorch SavedModel 형태로 변환 가능),root458/Plant-Disease-Detector(Flutter 예제 포함). - CoreML 변환 가능성: MobileNetV2/V3, EfficientNet-Lite 모두
coremltools공식 지원. MobileViT는 ViT 어텐션 연산 일부가 CoreML에서 fallback될 수 있음 — iOS 16+의 Core ML 4 이상에서 검증 필요. - HuggingFace → TFLite 경로:
transformersMobileNetV2 모델은tf.saved_model으로 export →TFLiteConverter로 변환 가능. 38 클래스 PlantVillage 모델 즉시 활용 가능. - 양자화 권장 사양: INT8 post-training quantization (대표 데이터셋 500~1000장 보정 필요). 정확도 손실
12%p 수준.
7. report-synthesizer를 위한 핵심 결론
섹션 제목: “7. report-synthesizer를 위한 핵심 결론”- 데이터셋·모델 자체는 존재: PlantVillage(38클래스 대표), PlantDoc(현실 환경), HuggingFace의 다수 pre-trained MobileNetV2 모델, TF Hub의 CropNet 등.
- 실사용 격차가 진짜 리스크: PlantVillage만으로 학습 시 99% → 현장 30
70%. MVP에서 “Top-5 80%“는 가능하나, 사용자가 카메라로 자유롭게 찍은 사진의 Top-1 정확도는 5070%로 보수적으로 기대. - 한국 가정 식물 커버리지 부족: AI-Hub 시설작물·농촌진흥청 데이터는 농가 작물 위주이며 몬스테라·스킨답서스 같은 인기 관엽식물은 없음. MVP 이후 자체 데이터 수집 필수.
- 최적 모델 선택: EfficientNet-Lite0(int8) → MobileNetV3-Small → MobileViT-XS 순서로 PoC 권장.
- 라이선스 안전: Apache-2.0 모델(
Daksh159,CropNet)은 상업 사용 가능. PlantVillage 원본 이미지는 학술 사용 우선 — 상업 앱 학습에 직접 사용하려면 IEEE DataPort 라이선스 조항 별도 검토 필요.
데이터셋
섹션 제목: “데이터셋”- PlantVillage Dataset (Kaggle) — 54,303 이미지, 14 식물 종, 38 클래스
- PlantVillage on TensorFlow Datasets
- spMohanty/PlantVillage-Dataset (GitHub) — 원본 미러
- PlantVillage on IEEE DataPort — 라이선스 정보
- PlantDoc-Dataset (GitHub) — 2,569 이미지, 13 종, 30 클래스 (CoDS-COMAD 2020)
- PlantDoc Object Detection (Roboflow)
- PlantSeg arXiv 2409.04038 — In-the-wild segmentation 데이터셋 (34 식물, 115 disease)
- PlantSeg Scientific Data 2025
- Uncovering bias in PlantVillage dataset (arXiv 2206.04374) — 배경 편향 증명 논문
- Bridging Lab-to-Field gap (ScienceDirect 2025) — 도메인 어댑테이션
- CCMT: Dataset for crop pest and disease detection
- DLCPD-25 (MDPI Sensors) — 221,943 이미지, 23 작물, 203 클래스
- AI-Hub 시설작물 질병진단 데이터셋
- AI-Hub 시설작물 딸기
- 농사로 작목별 병해충 정보
- PlantInfoCMS (Sensors 2023) — 한국 PlantInfoCMS, 32 작물 / 185 병해충
- iNaturalist 2021 dataset (식별 라벨만)
모델 아키텍처·벤치마크
섹션 제목: “모델 아키텍처·벤치마크”- MobileNetV3 paper (arXiv 1905.02244)
- EfficientNet paper (arXiv 1905.11946)
- EfficientNet-Lite TensorFlow blog — float Top-1 75.1%, int8 74.4%, 4× 압축
- EfficientNet-Lite (tensorflow/tpu)
- MobilePlantViT (arXiv 2503.16628) — 0.69M params, 99%+ PlantVillage
- Hybrid CNN-MobileViT (arXiv 2512.11871) — 97.3% / 42 ms / 4.8 MB
- PMVT: lightweight ViT for plant disease (Frontiers 2023)
- LDL-MobileNetV3S (Frontiers 2025) — 94.89% 감자
- Optimised MobileNet (Nature Sci Reports 2025)
- Mobile-Friendly Deep Learning for Plant Disease (arXiv 2508.10817)
- RTR_Lite_MobileNetV2 (ScienceDirect 2025)
- Plant disease classification in the wild (Frontiers 2025) — SWIN 88% vs CNN 53%
Pre-trained 모델
섹션 제목: “Pre-trained 모델”- linkanjarad/mobilenet_v2_1.0_224-plant-disease-identification (HuggingFace)
- Daksh159/plant-disease-mobilenetv2 (HuggingFace) — Apache-2.0
- Diginsa/Plant-Disease-Detection-Project (HuggingFace)
- CropNet Cassava V1 (TF Hub)
- CropNet on-device fine-tuning tutorial
- rpnugroho/cassava-disease-tflite (GitHub)
- root458/Plant-Disease-Detector (GitHub) — Flutter + TFLite
상용 서비스 (참고)
섹션 제목: “상용 서비스 (참고)”- Pl@ntNet API docs — 78,304 종, 클라우드 전용
- Plant.id / Plant.health (Kindwise)
- PictureThis
- Best Plant Disease ID Apps 2025 — 240 cases tested (Plant Doctor blog) — PictureThis 질병 정확도 75%