콘텐츠로 이동

식물 병 AI 모델·데이터셋 리서치

작성자: plant-ai-researcher 작성일: 2026-05-15 연관 문서: _workspace/00_scope.md


  • 온디바이스 식물 병 진단은 “조건부 가능” 수준에 도달해 있다. 경량 CNN(MobileNetV3, EfficientNet-Lite, MobileViT-XS)을 PlantVillage·PlantDoc 기반으로 파인튜닝하면 515 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%+” 마케팅은 위험.

데이터셋이미지 수식물 종병/클래스 수환경라이선스한계
PlantVillage54,3031438 (병+건강)실험실(단색 배경, 분리된 잎)학술 무료 / 상업 사용은 별도 확인 필요 (CC BY 표기 사례 다수)배경 편향 — 배경 픽셀 8개만으로도 49% 정확도. 실사용 시 31%까지 하락
PlantDoc2,569 (분류) / 2,482 (검출, 8,595 객체)1330 / 29현실(자연 배경, 다양한 조명)Apache-2.0 (GitHub repo)작음. 종/병 커버리지 좁음. PlantVillage 보완용으로 적합
PlantSeg (2024)11,400+34115 disease × segmentation maskIn-the-wild (실 환경)학술 공개 (Scientific Data 2025)분류가 아닌 segmentation 라벨 중심, 학습 비용 큼
iNaturalist 2021 (Plants)2.7M (전체, 식물 부분 비율 큼)10K (전체 종, 식물 다수)종 식별 라벨만 (질병 라벨 없음)실 환경(스마트폰 사진)CC BY-NC 등 다양질병 라벨이 없어 식물 종 식별 보조용으로만 사용
CCMT24,8816 (cashew, cassava, maize, tomato 등)22현실(가나 농경지)Open access아프리카 작물 중심, 한국 가정 식물과 종 mismatch
DLCPD-25 (2025)221,94323203 (병해충+건강)혼합(온라인 + 야외 수집)학술 공개 (MDPI Sensors)신규로 검증 적음, 라이선스 사용 조건 확인 필요
CropNet (Cassava)9,4301 (카사바)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.1 경량 모델 스펙 (ImageNet 기준)

섹션 제목: “2.1 경량 모델 스펙 (ImageNet 기준)”
모델파라미터(M)모델 크기 (float / int8)Top-1 (ImageNet)모바일 적합성
MobileNetV2 1.0×2243.5~14 MB / ~3.5 MB71.8%매우 좋음 (검증된 baseline)
MobileNetV3-Small2.5~10 MB / ~2.5 MB67.4%최고 (저전력)
MobileNetV3-Large5.4~21 MB / ~5 MB75.2%좋음
EfficientNet-Lite04.7~18 MB / ~5.4 MB75.1% (float), 74.4% (int8)매우 좋음 (양자화 후 4× 작아짐)
EfficientNet-Lite413.0~50 MB / ~13 MB80.4%중상위 폰만 권장
SqueezeNet 1.11.2~5 MB58.2%크기 최소화, 정확도 낮음
MobileViT-XS2.3~9 MB74.8%CNN+ViT 하이브리드, 42~100 ms
MobilePlantViT (2025)0.69<4 MB99%+ 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_MobileNetV2PlantVillageResNet101/EfficientNetV2/ViT_B_16/ShuffleNetV2/MobileNetV2 모두 능가ScienceDirect 2025
MobileViT-XS (Hybrid)토착작물 병해충97.3% (42 ms 추론, 4.8 MB)arXiv 2512.11871
MobilePlantViTPlantVillage99%+ (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 모델 (즉시 활용 가능)”
모델백본클래스정확도라이선스링크
linkanjarad/mobilenet_v2_1.0_224-plant-disease-identificationMobileNetV2 1.0×224PlantVillage 380.7858 (eval)“other” (확인 필요)https://huggingface.co/linkanjarad/mobilenet_v2_1.0_224-plant-disease-identification
Daksh159/plant-disease-mobilenetv2MobileNetV23895% (val)Apache-2.0https://huggingface.co/Daksh159/plant-disease-mobilenetv2
A2H0H0R1/mobilenet_v2_1.0_224-plant-disease-newMobileNetV238(미공개)(확인 필요)https://huggingface.co/A2H0H0R1/mobilenet_v2_1.0_224-plant-disease-new
Diginsa/Plant-Disease-Detection-ProjectMobileNet 계열(확인 필요)(미공개)(확인 필요)https://huggingface.co/Diginsa/Plant-Disease-Detection-Project
ombhojane/healthyPlantsModel(확인 필요)건강/질병 이진 분류(미공개)(확인 필요)https://huggingface.co/ombhojane/healthyPlantsModel
모델클래스라이선스비고
CropNet Cassava V1카사바 1종6 (5 disease + unknown)Apache-2.0TFLite 변환 완비. ML Kit 통합 가이드 있음. https://tfhub.dev/google/cropnet/classifier/cassava_disease_V1/2
CropNet On-device 튜토리얼일반 PlantVillage 활용38Apache-2.0TF Hub의 cropnet_on_device 가이드로 직접 파인튜닝 가능
  • 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.1 실험실 vs 실사용 환경 정확도 격차

섹션 제목: “4.1 실험실 vs 실사용 환경 정확도 격차”
환경일반 보고 정확도
실험실 (PlantVillage 같은 단색 배경)95–99%
현장 배포 (실제 농가 카메라)70–85%
극단 사례 (ResNet-50 cross-domain)31% (PlantVillage 99% → 다른 데이터셋 31% 하락)
잎 1장만 단순 배경 픽셀로 학습49% (배경 편향 증명)

원인:

  1. 배경 편향(background bias): PlantVillage 잎이 단색 천 위에 놓여있어 모델이 배경 분포를 클래스로 학습.
  2. 조명 변화: 자연광·실내조명 변화에 취약. PlantVillage는 통제된 광원.
  3. 객체 다양성: 줄기·다른 잎과 함께 찍힌 사진을 본 적 없음.
  4. 카메라 차이: 스마트폰 노이즈·HDR·압축이 학습 분포 외.

완화 기법 (논문 보고):

  • 배경 재합성(background recomposition): 9.9~23.6% 정확도 향상.
  • 도메인 어댑테이션 (Unsupervised): lab→field 격차 절반 이상 회복.
  • ViT / SWIN 계열: 같은 in-the-wild 데이터에서 CNN 53% → SWIN 88%. 강건성 우수.
  • 혼합 학습 데이터: PlantVillage + PlantDoc + PlantSeg 혼합 시 generalization 개선.
  • 조기 병 감지: 대부분 모델은 증상이 명확해진 후만 식별. 잠복기·초기 증상은 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).
  • 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 경로: transformers MobileNetV2 모델은 tf.saved_model 으로 export → TFLiteConverter 로 변환 가능. 38 클래스 PlantVillage 모델 즉시 활용 가능.
  • 양자화 권장 사양: INT8 post-training quantization (대표 데이터셋 500~1000장 보정 필요). 정확도 손실 12%p 수준.

7. report-synthesizer를 위한 핵심 결론

섹션 제목: “7. report-synthesizer를 위한 핵심 결론”
  1. 데이터셋·모델 자체는 존재: PlantVillage(38클래스 대표), PlantDoc(현실 환경), HuggingFace의 다수 pre-trained MobileNetV2 모델, TF Hub의 CropNet 등.
  2. 실사용 격차가 진짜 리스크: PlantVillage만으로 학습 시 99% → 현장 3070%. MVP에서 “Top-5 80%“는 가능하나, 사용자가 카메라로 자유롭게 찍은 사진의 Top-1 정확도는 5070%로 보수적으로 기대.
  3. 한국 가정 식물 커버리지 부족: AI-Hub 시설작물·농촌진흥청 데이터는 농가 작물 위주이며 몬스테라·스킨답서스 같은 인기 관엽식물은 없음. MVP 이후 자체 데이터 수집 필수.
  4. 최적 모델 선택: EfficientNet-Lite0(int8) → MobileNetV3-Small → MobileViT-XS 순서로 PoC 권장.
  5. 라이선스 안전: Apache-2.0 모델(Daksh159, CropNet)은 상업 사용 가능. PlantVillage 원본 이미지는 학술 사용 우선 — 상업 앱 학습에 직접 사용하려면 IEEE DataPort 라이선스 조항 별도 검토 필요.