Skip to content

Drone Yield Prediction Pipeline 2026 05

ehdwo0427 edited this page May 7, 2026 · 1 revision

드론 포도 수확량 예측 — 파이프라인 구축 (2026-05)

작성일: 2026-05-08

문서 역할

드론 이미지 → 송이별 무게 추정 → 밭 단위 수확량(kg) 예측. detection plateau에서 segmentation·합성·GSD 환산 axis로 전환한 변천사.

어디서 들어와서 어디로 이어지나

순서 문서 가져오는 것
1 포도밭 병해충 탐지 및 수확량 예측 프로젝트 동기
2 Drone Detection Progression 2026-04 detection plateau 결론
3 이 문서 (Yield Pipeline) detection 이후 → 수확량 예측 end-to-end

한눈에 보기

항목
출발점 detection mAP50-95 = 0.286 plateau (4-way fair chain 검증 완료)
목적 bbox만으론 무게 추정 불가 → segmentation + 면적 + GSD → kg
현재 단계 end-to-end PoC 완료, 무게 GT calibration 대기
검증 이미지 Gemini AI 측면 시점 + drone test 29장
주요 axis YOLO det / SAM3 mask / wire/post 검출 / 합성 데이터 / HSV color filter

최종 파이프라인 (목표)

drone img
   ├─ Post detector (SAM3 text)            → 기둥 픽셀 길이
   │      └─→ 알려진 실측 (3m, 1.5m)        → GSD (mm/px)
   │
   ├─ Bunch detector (YOLO + SAM3 mask)    → 송이 bbox + mask
   │      └─→ mask area (px²) × GSD²       → 실측 면적 (cm²)
   │
   ├─ HSV color filter                     → grape vs leaf 분류
   │
   └─→ Weight estimator (면적 → g)         → 합산 → 이미지 yield (kg)

Phase 1.1 — Bunch + Mask (✅ 완료)

YOLO mixed-best detection → SAM3 box prompt → mask. 후처리 4단계 누적:

  1. bbox NMS (IoU 0.5)
  2. Mask clip to bbox + 20% margin — SAM3 leak 방지
  3. Mask-IoU NMS (IoU 0.5) — 모양 기반 dupe
  4. Pixel-argmax overlap resolve — 인접 송이 픽셀 분배

결과 (drone test 29장)

단계 total bunches median area
YOLO 원본 395
+ bbox NMS 335 2233 px²
+ mask NMS + clip 325 2433 px²

Before / After — Overlap 시각화 개선

Before After
random color, alpha edge 어색 distinct color (golden HSV) + boundary contour + #id 라벨

Phase 1.1 mask + bunch_id (밀집 케이스) 32 송이 밀집 케이스 — bunch별 distinct color + boundary contour로 인접 송이 분리


Phase 1.2 — Wire / Post Detection (GSD reference)

Wire 검출 — 3 알고리즘 시도

시도 drone test 29장 합격률 (CV<10%)
(a) Hough 기본 0/18 (0%)
(b) LSD only 8/20 (40%)
(c) LSD + RANSAC spacing filter 9/20 (45%)

→ 영상처리 단독으론 한계. Wire는 fallback 위치, post가 primary.

Post 검출 — SAM3 text prompt

SAM3.set_text_prompt("wooden post") zero-shot. 좌·우 기둥 자동 검출 + fragment 합치기. 학습 없이 안정적.


Phase 1.3 — End-to-End Yield (단일 이미지 PoC)

테스트: Gemini AI vineyard (3m × 1.5m 가정)

Step 결과
Post detection 좌·우 기둥 2개 자동
GSD 수평 3000mm / 2104px = 1.43 mm/px
GSD 수직 1500mm / 1426px = 1.05 mm/px
Perspective ratio 0.74 (수직 26% 압축)
Bunch detection 79 raw → 53 (NMS·argmax 후)
HSV 분류 grape 34 / leaf 18 / unc 1
Yield (grape only) 2.26 kg (avg 67 g/송이)

Before / After — Conf threshold + HSV filter

Before (conf 0.20, no HSV) After (conf 0.05 + HSV)
31 detection 모두 합산 (잎 outlier 포함) grape만 합산, leaf 자동 제외
3.91 kg (잎 outlier로 부풀림) 2.26 kg (정상 wine grape avg)
뒷 라인 송이 누락 conf 낮춰 catch

Phase 1.4 — Detector 비교 (3 variants × 2 도메인)

Variant 학습 도메인
(a) yolov8m mixed-best drone top-down (학습)
(b) yolo11m fair-chain 동상
(c) SAM3 text "grape bunch" 일반 web (CLIP 학습)

결과 — Image type별 winner 다름

AI 측면 시점 (Gemini)

Variant grape leaf leaf%
yolov8m 34 18 34%
yolo11m 49 21 28%
SAM3 text 39 1 2.5%

진짜 drone (top-down)

Variant grape leaf leaf%
yolov8m 38 4 9%
yolo11m 34 4 10%
SAM3 text 20 3 13%

핵심 결론

Image type 최적 detector 이유
측면 / ground-level SAM3 text 송이 전체 모양 보임 → CLIP 학습 분포 (web) 에 가까움
드론 top-down YOLO (학습한 거) drone domain specialized

시점·도메인이 결정 요인. 학습 도메인 = inference 도메인이어야 정확.

3 variants on AI 측면 시점 (Gemini) AI 측면 시점에서 SAM3 text가 leaf 거의 없음 (1/40, 2.5%) — winner는 SAM3 text

3 variants on 진짜 drone top-down 같은 3 variants가 drone top-down에서는 winner 뒤집힘 — yolov8m이 송이 가장 많이 잡음 (38), SAM3 text는 절반만 catch (20)


Phase A — Synthetic Vineyard (학습 데이터 augmentation)

빈 vineyard tile (40장, 8K → 4분할) + 송이 RGBA library (drone 추출 328개) → 합성.

v1 vs v2 비교

항목 v1 (random + alpha) v2 (wire-aware + Poisson)
위치 완전 random (하늘/땅에도) wire 위 매달림 (LSD 활용)
Blending alpha (가장자리 도드라짐) Poisson seamlessClone (색·톤 자연)
합성 이미지 120 120
총 송이 paste 912 944

Before — v1 (random + alpha)

Phase A v1 — random position, alpha blending 송이가 하늘·땅에도 random 출현, alpha 가장자리 도드라짐

After — v2 (wire-aware + Poisson)

Phase A v2 — wire-aware + Poisson 송이가 wire 라인 (노랑) 근처에 매달림, Poisson으로 색·톤 자연


Phase B — Diffusion 합성 (시도, 보류)

Paint by Example (SD v1.4 기반) PoC. 결론: 수확량 예측 paradigm에선 copy-paste가 더 적합.

이유:

  • size/품종 통제가 photo-realism보다 결정적
  • copy-paste는 GSD 검증 가능 (size 우리가 알고 있음)
  • detection 학습엔 다양성이 photo-realism보다 critical
  • Diffusion은 demo / Phase 3 production polish 단계에

핵심 발견

1. Detection plateau 후 axis 전환의 가치

+0.005 짜내는 것보다 segmentation·면적·무게 회귀 axis 진입이 본질에 가까움.

2. SAM3 vs YOLO — 도메인 specialization이 결정

  • YOLO ⭐ drone top-down (specialized)
  • SAM3 ⭐ ground-level 측면 (web 학습 분포)
  • 어느 게 좋냐 X, 어느 시점이냐가 답

3. Overlap 처리는 4단계 누적

단일 NMS로 안 됨. bbox NMS · mask-IoU NMS · clip · pixel-argmax 모두 다른 종류 문제.

4. AI 합성 이미지로 검증 시 주의

AI 깨끗함이 detection 정확도를 inflate. 진짜 production 데이터로 cross-check 필수.

5. 합성 데이터: copy-paste vs diffusion

수확량 paradigm엔 copy-paste 적합 (size 통제 + GSD 검증). Diffusion은 demo 단계에.

6. HSV color filter는 final layer로 효과적

YOLO/SAM3 false positive (잎/배경)를 색 분포로 reject. 학습 비용 0.


미해결 / 다음 단계

항목 상태
무게 회귀 모델 학습 ❌ 농가 측정 GT 50-100쌍 필요 (Phase 2)
Bucket classifier (S/M/L/XL) scaffold만, GT 도착 후 학습
Berry counting Phase 1 보류, Phase 2 ablation
단일 시점 occlusion 보정 가시 비율 (50-70%) 추정 → ×1.5-2 곱셈
다른 품종 일반화 calibration 별도 필요

회고

잘했다고 생각하는 것

  1. Detection plateau 인정하고 axis 전환
  2. 후처리 4단계 누적 — 단일 fix로 안 풀림 인정
  3. crop variant 도입 — full image SAM3 leak trade-off 받아들임
  4. 3 variant 비교 — 한 모델에 매몰되지 않음
  5. AI + drone 둘 다 검증 — AI만으로 결론 내릴 함정 회피

다시 결정하고 싶은 것

  1. Wire detection에 시간 너무 투자 (45% 합격률에서 일찍 학습형 결정)
  2. SAM3 box format 가정 (실제 [x1,y1,x2,y2] pixel, 디버깅에 시간 소비)
  3. AI 이미지 결과만으로 SAM3 text가 best라고 결론 낼 뻔 — drone에서 정반대

일반화 학습 체크리스트

다음에 비슷한 vision pipeline 구축한다면:

  1. 학습 도메인 = inference 도메인 일치 확인
  2. 항상 2-3개 variant 비교 (도메인별 winner 다름)
  3. Foundation model zero-shot baseline 먼저
  4. Metric plateau에서 axis 전환 가능성 항상 검토
  5. Synthetic data: copy-paste 먼저, diffusion 나중
  6. NMS는 단일이 아니라 단계 누적
  7. Color/HSV 후처리는 final layer
  8. Hyperparameter sweep + 시각화 grid (한 페이지 비교)

Woody's AI Backend Engineering Log


💼 About

Deepvisions | AI Engineer 2026.03 ~ 재직중


🚀 Projects (최신순)

CCTV 자전거 경로 & 공회전 탐지 — 한동대학교 리빙랩

2026.05 ~ | @ Deepvisions 캠퍼스 CCTV 4대 · 자전거 OCR + 차량 공회전 다중 신호

야생동물 탐지 — RPi 엣지 배포

2026.04 ~ | @ Deepvisions 포도밭 침입 탐지 (5종 multi-class · 라즈베리파이 4 실시간)

포도밭 병해충 탐지 및 수확량 예측

2026.03 ~ | @ Deepvisions 드론 이미지 기반 객체 탐지 + GSD calibration + 수확량 예측


📦 종료된 프로젝트

OnTheTop

2025.03 ~ 2025.08 | 카카오테크부트캠프 | ✅ 종료 AI 기반 데스크테리어 추천 서비스


AI Notes


About

Clone this wiki locally