최종 프로젝트

Chapter.9 최종 실전 자동화 프로젝트 (2)

devjjun 2026. 6. 25. 20:44

TIL(Today I Learned)


1️⃣이미지 데이터와 불량 검출 3회차

이미지 분류 vs Object Detection

  • 이미지 분류: 이미지가 어떤 객체인가?
  • Object Detection: 어디에 어떤 객체가 있는가?
    • Object Detection의 특징
      • 전처리
      • 특징 추출
      • 분류

R-CNN 계열(2-stage) vs YOLO(1-stage) 비교 

R-CNN

  1. 이미지를 영역 제안(Region Proposal)을 통해 여러 개의 작은 후보로 나눈다
  2. 후보 각각을 CNN에 입력해 특징을 추출한다
  3. 추출된 특징 벡터를 분류기(SVM)에 입력에 객첼를 분류한다.
  4. Bounding Box Regression을 통해 위치를 보정한다.
Region Proposal  + CNN = 객체탐지

 

YOLO(you only look once)

  • 이미지를 단 한번만 호출하고, 동시에 각 영역에 가중치를 부여함
  • 실시간 영상에 특화됨 

YOLO 주요 아이디어

  1. 이미지 입력 및 CNN 처리하여 특징 추출 및 정보 생성
  2. Bouncing Box 및 클래스 예측을 통해 객체 위치 및 클래스 예측
  3. Non-Maximum Suppression(NMS)을 통해 중복된 박스 제거 및 최종 객체 결정

R-CNN vs YOLO 비교표

항목 R-CNN 계열 YOLO
구조 Region Proposal 단계 + CNN 탐지 단계(2-stage) 단일 CNN 구조(1-stage)
Region Proposal Selective Search 사용 → 매우 느림 Region Proposal 단계 없음
복잡도 Region Proposal 단계와 CNN 단계에서 연산 반복 → 연산량 증가 CNN Forward Pass 한 번에 해결
속도 매우 느림 → 실시간 탐지 불가 매우 빠름 → 실시간 탐지 가능 (FPS > 30)
성능 높은 정확도 정확도는 조금 떨어짐 (하지만 속도는 빠름)
활용 분야 정밀한 객체 탐지 ( 의료) 실시간 탐지 (영상)

YOLO 개념 

바운딩 박스: 최종 객체 검출 영역 

  • 객체가 존재하는 위치를 나타내는 직사각형 상자
  • (x, y, w, h)로 경계 상자를 예측

ROI(region of interesting): 관심있는 지역 

  • 분석하고자 하는 특정 영역을 의미
  • 이미지에서 전체가 아닌 특정 부분만 선택해서 처리할 때 사용

IOU

  • 예측한 Bounding Box와 실제 객체의 Bounding Box 간 겹치는 정도를 나타내는 지표

NMS: Non Maximum Suppression

  • YOLO는 같은 객체에 대해 여러 개의 Bounding Box를 출력할 수 있다.
  • NMS는 겹치는 박스 중 신뢰도가 가장 높은 것만 선택하고 나머지는 제거

YOLO의 구조 

  • 입력 이미지 448 x 448 x 3 (RGB) 크기에 맞춰 변환한 뒤, CNN에 입력합니다.
  • 이미지를 7x7 크기의 그리드 셀로 나눔 (총 49개 셀)
  • 각 그리드셀에서 다음 정보를 출력→ 총 30개 :
    • Bounding Box 2개 → 각 Box당 5개 값 (x, y, w, h, c)
    • 클래스 확률 (20개) → VOC 데이터셋 기준 클래스 수 0 0.7 1 0.1

💡 느낀점

이번 내용을 통해 이미지 분류와 객체 탐지의 차이를 명확하게 이해할 수 있었다. 특히 R-CNN과 YOLO의 구조적 차이와 장단점을 비교하면서, 정확도가 중요한 분야와 실시간 처리가 중요한 분야에 따라 적절한 모델을 선택해야 한다는 점이 인상적이었다. 또한 Bounding Box, IoU, NMS와 같은 객체 탐지의 핵심 개념을 배우며 YOLO가 객체를 탐지하는 과정을 구체적으로 이해할 수 있었다. 최종 프로젝트 데이터에서도 산업 현장에서 불량검출 같은 기술을 활용하는 방안으로도 고민해볼 예정이다.