▶️25

[영상] 전이학습으로 이미지 분류 실습

Day 3: YOLO 객체 탐지

학습 목표

전이학습의 Fine-tuning과 Feature Extraction 두 방식의 차이와 선택 기준을 설명할 수 있다 YOLOv8 객체 탐지와 이미지 분류 태스크의 출력 형식 차이를 구분할 수 있다 불량 탐지에서 바운딩 박스 좌표계(YOLO 포맷)를 읽고 쓸 수 있다 mAP@50과 mAP@50-95의 차이를 IoU 개념과 연결해 설명할 수 있다

영상 핵심 정리 — 전이학습으로 이미지 분류

Fine-tuning vs Feature Extraction

방식학습 레이어데이터 필요학습 시간추천
Feature Extraction헤드만100~500장짧음도메인 유사
Fine-tuning (일부)후반 레이어500~2000장중간제조 텍스처
Full Fine-tuning전체5000장+도메인 차이 큼

YOLO 좌표 포맷

# YOLO 라벨 예시 (scratch 클래스=1)
1 0.512 0.334 0.087 0.043
│   │     │     │     └── h (높이/이미지높이)
│   │     │     └──────── w (너비/이미지너비)
│   │     └────────────── cy (중심y/이미지높이)
│   └──────────────────── cx (중심x/이미지너비)
└──────────────────────── class_id

# 픽셀 복원 (640×640)
cx_px = 0.512 × 640 = 328
w_px  = 0.087 × 640 =  56

mAP 지표

mAP@50     = IoU 0.5 기준 AP 평균
             (위치 GT와 50% 이상 겹치면 정답)
mAP@50-95  = IoU 0.5, 0.55, ..., 0.95 각 AP 평균
             (더 정밀한 위치 예측 요구)

제조 불량 검사:
  → 위치보다 '탐지 여부' 중요 → mAP@50 우선
  → 크기·위치 정밀 측정 시 mAP@50-95

전이학습 코드 패턴

import torchvision.models as models
import torch.nn as nn

model = models.resnet50(pretrained=True)
for param in model.parameters():
    param.requires_grad = False  # 백본 동결
model.fc = nn.Linear(2048, 3)

함정 주의: pretrained=True 없이 학습하면 처음부터 수렴해야 해서 수천 장 필요. 제조 데이터 수집 비용 고려하면 전이학습은 필수.

다음 task와의 연결

다음 reading에서 YOLOv8 mAP, Precision, Recall 평가 지표를 다룬다.

AI로 학습하기 — 꿀팁
mAP@50 vs mAP@50-95 평가 기준 검증AI 학습 팁

제조 외관검사 모델의 mAP@50과 mAP@50-95 지표가 현장 불량 탐지 품질을 올바로 반영하는지 AI로 검증하고, YOLO 좌표 정규화 포맷 오류가 가져오는 결과를 점검하세요.

제조 불량 탐지 모델의 평가 지표로 mAP@50과 mAP@50-95를 사용할 때 어느 지표가 더 중요한지 검증해줘. IoU 0.5와 0.5~0.95 구간 평균의 차이, Feature Extraction(백본 동결+헤드만 학습)과 Full Fine-tuning 중 어느 전략이 소량 제조 불량 데이터에 더 적합한지, YOLO 좌표 포맷(cx, cy, w, h 0~1 정규화)이 잘못됐을 때 탐지 결과에 어떤 오류가 생기는지도 보여줘.
이 팁이 도움이 됐나요?
핵심 포인트
  • Feature Extraction: 백본 동결 + 헤드만 학습, Fine-tuning: 전체 학습
  • YOLO 좌표 포맷: cx, cy, w, h 모두 이미지 크기로 정규화된 0~1
  • mAP@50은 IoU 0.5 기준, mAP@50-95는 0.5~0.95 10개 평균
  • 탐지는 위치+클래스, 분류는 클래스만