Skip to content

deepvisions YOLO Model Comparison Summary

ehdwo0427 edited this page Apr 9, 2026 · 3 revisions

YOLO Model Comparison Summary

작성일: 2026-04-03

문서 역할

한눈에 보기

  • 평가 기준: 회사 자체 드론 데이터 61장, GT bbox 412개
  • 현재 복원 가능한 대표 baseline: yolov8m_img1280_fold4, yolov8m_img1792_fold1, yolov8s_img1536_fold4
  • 균형형 baseline: yolov8m_img1280_fold4
  • precision 강점: yolov8s_img1536_fold4
  • AP50-95 강점: yolov8m_img1792_fold1

왜 이 비교를 했는가

이번 문서는 YOLO 계열 모델을 여러 버전과 설정으로 학습했을 때, 회사 자체 드론 데이터 기준으로 어떤 차이가 나타나는지 전체적으로 확인하기 위해 정리한 문서다.

이 비교를 먼저 정리한 이유는 단순히 "가장 높은 점수 모델 1개를 고르기 위해서"만은 아니다. 실제로는 모델 크기, 입력 해상도, fold 차이 같은 요소가 결과에 어떤 영향을 주는지 한 번에 보고 싶었고, 그 과정을 통해 이후 어떤 방향으로 재학습을 이어가야 할지 판단 기준을 만들고 싶었다.

특히 드론 이미지 환경에서는 포도송이가 작고 밀집되어 있어, YOLO 계열 모델이 어떤 조건에서 잘하고 어떤 조건에서 놓치는지를 먼저 이해하는 것이 중요하다고 느꼈다. 그래서 이번 문서는 Top3만 요약하는 보고서라기보다, YOLO 학습 결과 전체를 읽기 위한 기준 문서에 가깝다.

실험 목적

이번 YOLO 비교에서 확인하고 싶었던 핵심은 다음과 같았다.

  • WGISD 기반 학습 모델이 회사 자체 드론 데이터에서도 어느 정도 일반화되는가
  • 모델 버전과 입력 해상도 차이가 탐지 성능에 어떤 영향을 주는가
  • precision, recall, AP50, AP50-95 중 어떤 지표를 더 중요하게 봐야 하는가
  • 이후 Top3 선정이나 Grounding DINO 비교를 위한 기준선을 만들 수 있는가

즉 이 문서는 "YOLO 계열 실험 전체를 먼저 훑어보는 문서"라고 보는 편이 맞다.

실험 데이터 구성

학습 데이터

  • WGISD 기반 데이터로 학습
  • 학습 방식: k-fold

이번 이전 실험은 고정된 train / val / test 분할로 학습한 실험이 아니라, WGISD 기반 데이터를 fold 단위로 나누어 학습한 방식이었다. 즉 현재 후속 실험처럼 하나의 고정된 train / valid / test 숫자를 기준으로 비교한 구조는 아니었다.

평가 데이터

  • 평가 데이터: 회사 자체 드론 촬영 데이터
  • test 이미지 수: 61
  • GT 박스 수: 412

train / val / test 수치에 대해

이전 YOLO 비교 실험은 k-fold 기반이어서 fold마다 train / val 구성이 달라진다. 그래서 현재 남아 있는 요약 기록 기준으로는 고정된 train / val / test 개수를 하나의 숫자로 적기보다, 아래처럼 이해하는 것이 더 정확하다.

항목 구성 방식
train WGISD의 각 fold 학습 분할 사용
val WGISD의 각 fold 검증 분할 사용
test 회사 자체 드론 데이터 61장, GT bbox 412개

추후 fold별 상세 로그를 다시 정리할 수 있으면, train / val 이미지 수와 fold별 성능도 별도 표로 보완할 예정이다.

YOLO 버전별 전체 비교

이 문서에서는 YOLO 계열 모델의 전체 학습 결과를 먼저 보고, 그 안에서 어떤 경향이 보이는지를 해석하는 데 초점을 둔다.

전체 비교표

현재 남아 있는 요약 기록 기준으로 정리 가능한 YOLO 비교 결과는 아래와 같다. 특히 이 표는 fold 전체 원본 로그를 완전히 복원한 표가 아니라, 후속 Top3 분석과 Grounding DINO 비교 문서에서 재확인된 핵심 baseline 기준표에 가깝다.

모델 입력 크기 Fold Precision Recall AP50 AP50-95 메모
yolov8m_img1280_fold4 1280 4 0.4749 0.1998 0.2358 0.0941 AP50 기준 최고, Top3 중 가장 균형적인 baseline
yolov8m_img1792_fold1 1792 1 0.3065 0.1845 0.2309 0.1074 AP50-95 기준 최고, 위치 정확도 관점에서 상대 강점
yolov8s_img1536_fold4 1536 4 0.5042 0.1529 0.2028 0.0907 Precision 기준 최고, 보수적으로 예측하는 성향

현재 남아 있는 기록상 이 표는 "YOLO 전체 결과를 읽는 기준표"이면서 동시에, 후속 실험에서 계속 참조한 대표 baseline 3개를 정리한 표라고 보는 편이 가장 정확하다.

모델별 그래프

전체 비교표로 숫자를 먼저 확인한 뒤, 그래프에서는 YOLO 버전별 차이가 얼마나 직관적으로 드러나는지 확인하는 용도로 배치하는 것이 좋다. 특히 precision, recall, AP50, AP50-95를 한 번에 비교할 수 있으면, 어떤 모델이 어떤 성향을 가지는지 빠르게 파악하기 좋다.

주요 지표 비교 그래프

YOLO 모델별 주요 지표 비교 그래프

그래프를 볼 때는 다음 관점으로 해석하면 좋다.

  • 어떤 모델이 전체적으로 균형적인지
  • precision이 높은 대신 recall이 낮은 모델이 있는지
  • 입력 해상도 변화가 실제 성능 차이로 이어졌는지
  • 같은 계열 안에서도 fold에 따라 변동 폭이 큰지

결과 Heatmap

heatmap은 숫자 표보다 전체 경향을 더 빠르게 보여준다. 모델별 강점과 약점이 색으로 드러나기 때문에, "어떤 지표에서 강하고 약한지"를 한눈에 보는 용도로 적합하다.

모델별 지표 Heatmap

YOLO 모델별 성능 heatmap

heatmap은 특히 아래 항목을 볼 때 유용하다.

  • 특정 모델이 한두 지표만 강한지
  • 전반적으로 고르게 나오는 모델이 있는지
  • 어느 모델부터 후속 분석 대상으로 삼는 것이 자연스러운지

이 결과에서 보고 싶었던 것

이번 비교에서 보고 싶었던 것은 단순한 순위가 아니라, YOLO 계열 모델이 전반적으로 어떤 성향을 보이는가였다.

예를 들어 다음 같은 질문을 염두에 두고 보는 것이 중요했다.

  • 모델이 커지면 항상 좋아지는가
  • 입력 해상도를 키우면 recall이 실제로 개선되는가
  • precision이 좋은 모델은 대신 많이 놓치고 있지는 않은가
  • AP50이 좋아 보여도 AP50-95까지 같이 좋아지는가

즉 이번 문서는 "어떤 YOLO가 1등인가"보다 "YOLO 계열 결과를 어떻게 읽어야 하는가"에 더 가까운 문서다.

지금 시점에서의 해석

이번 전체 비교를 통해 느낀 점은, YOLO 계열 안에서도 결과 차이가 단순하지 않다는 것이었다.

처음에는 가장 높은 점수 하나만 고르면 될 것 같았지만, 실제로는 precision이 높은 모델과 recall이 상대적으로 나은 모델, AP50-95에서 상대적으로 강점을 보이는 모델이 서로 다를 수 있다. 그래서 단순히 최고 점수 모델을 바로 선택하기보다, 우리 문제에서 무엇이 더 중요한지를 먼저 정해야 한다는 점이 더 분명해졌다.

특히 드론 이미지 기반 포도송이 탐지에서는 작은 객체 누락이 수확량 추정 오차로 이어질 수 있기 때문에, 개인적으로는 precision만 보기보다 recall과 실제 누락 패턴을 더 중요하게 봐야 한다고 생각하고 있다.

또 현재 결과는 전형적인 overfitting이나 underfitting으로 단정하기보다, 데이터 수와 도메인 적합성이 부족해 모델이 일반화 가능한 패턴을 충분히 배우지 못하고 있는 상태로 해석하는 편이 더 맞다고 본다.

즉 training loss 자체는 어느 정도 내려갈 수 있어도, 실제 평가 지표가 충분히 따라오지 않는다면 그것은 "과하게 외워서 망가졌다"기보다, small object 환경을 안정적으로 학습하기 위한 데이터 신호가 아직 부족하다는 쪽에 더 가깝다.

그래서 지금 단계에서는 모델 구조 차이만 보기보다, 데이터가 실제로 학습 가능한 형태로 충분했는지를 함께 봐야 한다고 느꼈다.

추가로 의심해볼 내용

현재 결과를 해석할 때는 아래 항목도 함께 의심해보는 것이 좋다.

  • 전체 데이터 수 자체가 적어, 모델이 포도송이의 다양한 패턴을 충분히 학습하지 못했을 가능성
  • WGISD와 회사 자체 드론 데이터 사이의 도메인 차이가 커서 일반화가 잘 안 됐을 가능성
  • 작은 객체 비율이 높아 일반 detection 설정만으로는 학습 신호가 약했을 가능성
  • 라벨 품질이나 bbox 기준이 완전히 일관되지 않아 학습이 흔들렸을 가능성
  • fold별 데이터 분포 차이 때문에 같은 모델도 결과가 크게 흔들렸을 가능성
  • 입력 해상도를 올려도 실제 유효 정보가 충분히 늘지 않아 기대만큼 recall이 오르지 않았을 가능성

이런 항목들은 단순히 "모델이 별로였다"는 결론으로 가기 전에 먼저 확인해야 할 부분이라고 본다.

이후에 중점적으로 볼 부분

다음 단계에서는 단순히 이전 결과보다 수치가 올랐는지만 보는 것이 아니라, 아래 항목을 더 중요하게 봐야 할 것 같다.

  • 우리 데이터 재학습 후 recall이 실제로 얼마나 개선되는지
  • precision을 크게 잃지 않으면서 AP50을 올릴 수 있는지
  • 누락되는 포도송이 패턴이 특정 촬영 각도나 배경에 몰려 있는지
  • 시각적으로 봤을 때 bbox 품질이 실제 카운팅 용도로 쓸 수 있을 정도인지
  • split이나 fold에 따라 결과가 과하게 흔들리지 않는지

다음 문서와의 역할 구분

이 문서는 YOLO 계열 전체 학습 결과를 보여주고, 왜 이런 비교를 했는지 설명하는 문서다.

권장 읽기 순서는 아래와 같다.

  1. 현재 문서: YOLO 전체 비교와 해석
  2. YOLO Baseline Top3 비교 요약: 후속 비교 대상으로 좁혀진 baseline 정리
  3. Grounding DINO vs YOLO Top3 비교 요약: 같은 test set 기준 계열 비교

결론

이번 YOLO Model Comparison Summary는 YOLO 버전별 전체 학습 결과를 한 번에 보여주고, 왜 이런 비교가 필요했는지 설명하기 위한 문서다.

신입 개발자의 시점에서 보면, 지금 단계는 "정답 모델 1개를 확정하는 단계"라기보다, YOLO 계열의 결과를 전체적으로 이해하고 이후 어떤 모델을 더 깊게 봐야 할지 판단 기준을 세우는 단계에 더 가깝다.

또 현재 결과는 overfitting이나 underfitting으로 바로 결론내리기보다, 데이터 수와 도메인 적합성이 부족해 충분한 학습 신호가 형성되지 않았을 가능성을 먼저 의심하는 편이 더 타당하다고 본다.

그래서 이 문서에서는 전체 비교표, 그래프, heatmap을 통해 YOLO 버전별 경향을 먼저 정리하고, 그 다음 단계로는 YOLO Top3를 추려 Grounding DINO와 비교하는 보고서로 이어가는 구성이 가장 적절하다고 판단했다.

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