[Computer Vision] Object Detection을 정리해 보자

2025. 4. 12. 01:13·Computer Vision1/Basic

이 글은 많이 사용되지만 컴퓨터 비전분야에 객체 참지(Object Detction)이 무엇인지 정확하게 정리해보고 어떻게 사용되는지 알아보기 위해 정리하고 작성하여 보았다.

 

객체 탐지 (Object Detection)?

Computer Vision에서 다루는 Task들의 카테고리를 확인해보면 크게 다음과 같이 3가지로 구분될 수 있다.

1) 객체 검출(Object Detection), 2) 객체 인식(Object Recognition), 3) 객체 추적(Object Tracking)

그 중에서 객체 검출, 분류, 위치 지정까지 포함하는 태스크를 객체 검출(Object Detection)이라고 부르는데

기본적으로 Classificion과 box localization을 합친 테스크이다. + 여러 객체에 대해서
 

  • 객체 탐지는 자율주행, 소비자 분석, 안전 공사 모니터링 등 다양한 분야에 응용 가능
  • CCTV 감시 시스템에도 객체 탐지 기술을 사용하여 사고 감시
  • 의료 분야에서는 위고 표시판을 통해 환자 상태를 모니터링
  • 스포츠 경기 분석을 통해 경기 흐름과 양상을 분석

Object Detection의 Input과 Output

 
Input: H x W x C ( 이미지 ) 

Output : 객체 탐지 모델은 입력된 이미지에서 클래스 인덱스와 객체의 위치 정보를 출력한다. (클래스 인덱스 & 바운딩 박스)

  • 클래스 인덱스는 객체의 분류 정보를 포함한다.
  • 객체의 위치 정보는 좌표와 길이 정보로 구성되며, 사각형을 그리거나 숫자로 표현할 수 있음
  • 객체 탐지 모델은 클래스 인덱스와 객체의 위치 정보를 모두 출력함
  • 하지만 모델에 따라 바운딩박스 그리는 방법이 다를 수 있음

 

대표적인 방식으로는 (xmin, ymin, xmax, ymax), (center_x, center_y, width, height)

뭐 어떤 방식이든 숫자 4개로 객체 위치를 정의 가능하다.

성능 평가 지표

Confusion Matrix

*이거 항상 헷갈려서 쓸 때 마다 찾아본다 .

  • True Positive (TP): 객체 있다고 맞게 예측
  • False Positive (FP): 객체 있다고 했지만 틀림 (배경/다른 객체)
  • False Negative (FN): 객체 있는데 못 잡음
  • True Negative (TN): 배경이라고 맞게 예측

여기서 포인트는 Classification 모델은 맞으면 T 틀리면 F가 명확한데 바운딩 박스는 이걸로 어떻게 이걸 찾았다, 못찾았다 할지가 애매 그래서 필요한게 IOU

IOU (Intersection over Union)

  • IOU = 교집합 / 합집합
  • 예측 박스와 실제 박스가 얼마나 겹치는지 측정
  • 보통 IOU ≥ 0.5 → 정답으로 인정 (threshold에 따라 엄격도 조절)

Precision & Recall

 

  • Precision (정밀도) = TP / (TP + FP) *예측 기준
    → 예측한 것 중 얼마나 맞았는가?
  • Recall (재현율) = TP / (TP + FN) *정답 기준
    → 실제 객체 중 얼마나 맞췄는가?
  • 몰랐는데 두 지표는 Trade-off 관계이다 (Precision ↑ → Recall ↓)

이유는 정밀도를 높이려면 예측을 보수적으로 조금만 하면됨 (확실한 Object 만) 재현율을 높이려면 많이 예측하면 높아진다.

그래서 또 필요한게 AP 평균정밀도이다.

 

Average Precision (AP)

Recall과 Precison 둘 다 커야한다는 지표

  • PR Curve: x축 Recall, y축 Precision으로 그래프를 그린다.
  • AP = PR Curve 아래 면적(AUC)

 

*튀어나온 Fluctuation 부분은 인터폴레이션 해버리고 계산!

+ mAP는 각 클래스에대한 AP의 평균, mAP50, 70?(뒤에 숫자 50은 iou의 Threshold)

 

- 참고 정보

논문이나 프로젝트를 하게 되면 특정 도메인에 대한 이미지를 보통 사용하지만 일반화 성능을 생각하다보면 데이터셋이 필요한 경우가 있다. 알고 있는 유명한 데이터셋이지만 혹시 까먹을 수 있으니 참고 하자

데이터셋

  • COCO: 80개 클래스, 대규모 (대표적 벤치마크)
  • Pascal VOC: 20개 클래스, 역사적 데이터셋
  • ImageNet Detection: ImageNet의 Detection 버전
  • KITTI: 자율주행 특화

주요 라이브러리

  • MMDetection (PyTorch 기반 toolbox)
  • Detectron2 (Meta, RCNN 계열 포함)
  • YOLO 계열 (v1~v12) → 실시간성 강점
  • SSD (Single Shot Multibox Detector)
  • EfficientDet (EfficientNet 백본 기반)

Detector?

 

이건 참고만 하는데 요즘의 Transformer나 다른 형태의 Foundation 모델들이 나오고 있어서 그래도 기초가 되는 부분이니 참고!

이전에 정리해 놓은 글이 있으니 이 포스팅을 보면 되겠다.

2024.12.27 - [Computer Vision1/Computer Vision] - [Object Detection] 1-Stage vs. 2-Stage Object Detection 아키텍처 비교

 

[Object Detection] 1-Stage vs. 2-Stage Object Detection 아키텍처 비교

Object Detection detector 객체 탐지(Object Detection) 시스템에서 이미지나 비디오 내의 객체를 식별하고 위치를 추정하는 알고리즘 또는 모델을 의미합니다. 객체 탐지에서 detector는 특정 객체가 이미지

c0mputermaster.tistory.com

 

'Computer Vision > Basic' 카테고리의 다른 글

[CV 기초] #7 딥러닝 비전  (3) 2024.04.19
[CV 기초] #6 영역 특징  (4) 2024.04.06
[CV 기초] #5 영상 분할  (6) 2024.04.06
[CV 기초] #4 에지 검출  (5) 2024.03.26
[CV 기초] #3 모폴로지와 컨볼루션  (4) 2024.03.26
'Computer Vision1/Basic' 카테고리의 다른 글
  • [CV 기초] #7 딥러닝 비전
  • [CV 기초] #6 영역 특징
  • [CV 기초] #5 영상 분할
  • [CV 기초] #4 에지 검출
임승택
임승택
"Hello, I am Lim Seungtaek, a computer engineering student. Nice to meet you!"
  • Lim's Technology
    임승택
    임승택
    "Welcome to Lim's Technology!"
  • 누적 조회수
    총 회
    구독하기
    • 분류 전체보기 (102)
      • Blog (10)
      • Computer Vision (44)
        • Computer Vision (4)
        • Paper reviews (24)
        • Project (8)
        • Basic (8)
      • LLM (8)
        • Paper reviews (3)
        • Project (3)
        • Basic (2)
      • Data Analysis (11)
        • Basic (8)
        • Project (3)
      • Computer Graphics (2)
        • Basic (2)
      • Robotics (5)
        • Paper reviews (3)
        • Basic (2)
      • Technology Notes (15)
      • Memo (5)
  • 인기 글

  • 최근 댓글

  • 최근 글

임승택
[Computer Vision] Object Detection을 정리해 보자
상단으로

티스토리툴바