-
Notifications
You must be signed in to change notification settings - Fork 0
grape_bunch_detection
이 문서는 포도송이 탐지 실험의 출발점을 설명하는 문서다. 이후 비교 결과는 아래 순서로 읽으면 흐름이 자연스럽다.
- 초기 빠른 검증: OpenCV bbox, Grounding DINO
- 확인된 핵심 문제: 드론 이미지에서 small object 누락과 큰 박스 문제
- 실험 결론: 범용 탐지 모델만으로는 부족했고, 포도송이 특화 데이터 기반 재학습이 필요했음
- 다음 단계: YOLO baseline 비교, Grounding DINO 비교, 재학습 실험으로 확장
수확량을 측정하려면 결국 포도송이를 얼마나 안정적으로 찾을 수 있는지가 먼저 해결되어야 합니다.
처음에는 빠르게 가능성을 보기 위해 OpenCV 기반 bbox 검출과 Grounding DINO 같은 범용 탐지 모델을 적용해 봤습니다. 목표는 "지금 가진 데이터와 환경에서 기본 탐지가 어느 정도 가능한가"를 확인하는 것이었습니다.
- text prompt 기반으로 빠르게 객체 탐지 가능성을 확인할 수 있다.
- 별도 학습 없이도 바로 테스트할 수 있어 초기 검증 비용이 낮다.
- 탐지가 어느 정도 된다면 이후 라벨링 기준을 잡거나 파인튜닝 전 비교 기준선으로 활용할 수 있다.
- 포도송이처럼 작은 객체가 많은 환경에서는 기본 설정만으로 누락이 많을 수 있다.
- text prompt 품질과 threshold 설정에 따라 결과 편차가 커질 수 있다.
- 실제 운영 단계에서는 추론 비용과 처리 속도가 부담이 될 수 있다.
- 박스가 크게 잡히면 개수 기반 수확량 측정에는 바로 쓰기 어렵다.
드론 이미지에서는 포도송이가 작고 밀집되어 있어 단순 bbox 방식으로는 객체 위치를 제대로 분리하기 어려웠습니다. 이 한계를 확인하는 것이 중요했던 이유는, 탐지 누락이 그대로 수확량 추정 오차로 이어질 수 있기 때문입니다.
| 원본 Image 결과 | bbox |
|---|---|
![]() |
![]() |
- 완전 엉망
Text prompt 기반으로 빠르게 bbox 탐지를 확인했다. 탐지가 어느 정도 가능하다면 이후 라벨링 기준을 잡고 YOLO 파인튜닝 테스트로 이어갈 수 있다고 보고 진행했다.
- 모델 추론 2.4GB 사용 (Grounding Dino base 모델 사용)
| 구분 | Single Image 결과 | Tiled Image 결과 |
|---|---|---|
| thr=0.20 txt=0.15 | ![]() |
![]() |
| thr=0.25 txt=0.20 | ![]() |
![]() |
| thr=0.30 txt=0.25 | ![]() |
![]() |
| thr=0.20 txt=0.15 | ![]() |
![]() |
- 노란색 동그라미 부분처럼 실제로 중요한 포도송이가 누락되는 경우가 있었다.
- 드론 이미지 특성상 포도송이가 작게 보이기 때문에 일반 탐지 설정으로는 작은 객체를 안정적으로 잡기 어려웠다.
- 반대로 크게 박스 처리되는 경우도 있어서, 개별 포도송이 수를 세거나 분포를 보는 데에는 한계가 있었다.
- 이 문제는 단순 시각화의 문제가 아니라 이후 수확량 측정 정확도와 직접 연결되는 문제라고 판단했다.
| 기술 | 왜 고려했는가 | 장점 | 한계 |
|---|---|---|---|
| OpenCV 기반 bbox | 가장 빠르게 아이디어를 검증할 수 있어서 | 구현이 단순하고 가볍다 | 실제 객체 의미를 이해하지 못해 정밀 탐지에 약하다 |
| Grounding DINO | 학습 없이 범용 탐지를 빠르게 확인하기 위해 | zero-shot에 가까운 빠른 검증 가능 | small object 환경에서 누락과 큰 박스 문제가 있다 |
| YOLO 계열 | 운영 단계에서 속도와 실용성이 좋아서 | 빠르고 배포 친화적이다 | 성능 확보를 위해 라벨링과 학습 데이터가 필요하다 |
| SAHI + detector | small object detection 개선 가능성 때문에 | 작은 객체 탐지 성능을 높일 수 있다 | 처리량 증가와 후처리 복잡도가 있다 |
이 비교를 통해 현재 단계에서는 Grounding DINO가 "빠른 가능성 확인"에는 적합하지만, 최종 운영 모델로 바로 가져가기에는 부족하다고 판단했습니다.
- 이미지를 격자로 나눠 tile 크기 단위로 다시 본다.
- 원본 한 장에서 놓치던 작은 물체를 상대적으로 크게 보이게 만들어 탐지 가능성을 높일 수 있다.
- 수확량 측정을 위해 개별 포도송이를 세야 하는 상황과도 잘 맞는 접근이다.
- 슬라이딩 윈도우 방식으로 small object detection 분야에서 자주 쓰인다.
- 처리량이 많아지고 overlap 처리에 따라 결과가 많이 달라질 수 있어 설정의 영향이 크다.
- bbox 좌표가 윈도우 경계에 따라 달라질 수 있어 후처리 기준도 함께 고민해야 한다.
- 둘 다 작은 객체를 더 잘 보기 위한 접근이라는 공통점이 있다.
- 타일링은 구현이 단순하고 빠르게 테스트하기 좋다.
- SAHI는 더 체계적인 small object detection 접근이 가능하지만 설정과 후처리가 더 복잡하다.
- 따라서 현재는 빠른 검증용 타일링과 정교한 비교용 SAHI를 함께 보는 것이 적절하다고 판단했다.
- 이 실험을 통해 범용 탐지 모델을 바로 적용하는 것만으로는 부족하다는 점을 확인했다.
- 따라서 다음 단계는 small object detection 최적화와 포도송이 특화 데이터셋 기반 파인튜닝 검토로 이어진다.
- 이 과정이 안정화되어야 병해충 탐지와 수확량 측정을 함께 신뢰할 수 있는 구조로 갈 수 있다.
- YOLO Model Comparison Summary: 이전 YOLO 계열 실험 전체를 해석하는 기준 문서
- YOLO Baseline Top3 비교 요약: 실제로 후속 비교 대상으로 좁혀진 YOLO baseline 정리
- Grounding DINO vs YOLO Top3 비교 요약: Grounding DINO와 YOLO Top3를 같은 test set에서 비교한 문서
- SAM3 vs Fine-tuned YOLO on Drone Imagery: SAM3 zero-shot과 fine-tuned YOLO를 정량 비교한 문서
Deepvisions | AI Engineer 2026.03 ~ 재직중
2026.05 ~ | @ Deepvisions 캠퍼스 CCTV 4대 · 자전거 OCR + 차량 공회전 다중 신호
2026.04 ~ | @ Deepvisions 포도밭 침입 탐지 (5종 multi-class · 라즈베리파이 4 실시간)
2026.03 ~ | @ Deepvisions 드론 이미지 기반 객체 탐지 + GSD calibration + 수확량 예측
- 프로젝트 메인
- 관련 연구 종합 + 한계 (2026-05) ← 최신
- 수확량 close-up 4장 + 3-Model (2026-05-19)
- 드론 포도 수확량 예측 — 파이프라인 (2026-05)
- 드론 포도송이 탐지 — 학습 변천사 (2026-04)
- SAM3 vs Fine-tuned YOLO
- Grounding DINO vs YOLO Top3 비교 요약
- YOLO Baseline Top3 비교 요약
- YOLO Model Comparison Summary
- 포도 탐지를 위한 데이터 수집
- 포도 수확량 측정을 위한 Object Detection
2025.03 ~ 2025.08 | 카카오테크부트캠프 | ✅ 종료 AI 기반 데스크테리어 추천 서비스
- Name: Woody (이동재)
- Focus: Vision AI, LLM Integration, Backend Engineering
- GitHub: @ehdwo0427
- Email: ehdwo0427@naver.com
- 포트폴리오 : 포트폴리오






