본문 바로가기
Python/Computer Vision

[파이썬, Python] Computer Vision - Object Detection(객체 탐지)

by coding-choonsik 2023. 9. 4.
728x90
반응형
SMALL

1. Object Detection(객체 탐지)

 

1-1. 컴퓨터 비전의 Task 비교

  • Image Classification: 이미지에 있는 개체 범주 목록 생성
  • Single-Object Localization: 이미지에 있는 개체 범주 목록과 각 개체의 한 인스턴스의 위치에 배율을 나타내는 bounding box 생성
  • Object detection: 각 개체 범주의 모든 인스턴스의 위치와 배율을 나타내는 축 정렬 경계 상자와 함께 이미지에 있는 개체 범주 목록 생성
  • Object Detection = Multi-labeled Classification + Bounding Box Regression
  • https://machinelearningmastery.com/object-recognition-with-deep-learning/

 

 

1-2. Object Detection 논문 흐름도

 

🤔 빨간 글씨의 모델의 특징들을 자세히 알아보자. 

 


2. 전통적인 Object Detection

  • 기법 소개
  • Sliding Window 기법
    • 이미지를 가로 질러 고정된 크기의 window를 여러 배율로 슬라이드 하는 것
    • 각 단계에서 window가 중지되고 일부 feature를 계산한 다음 해당 영역에 개체가 포함되어 있는지 여부를 확인함
    •  
  • Selective Search(SS)
    • 색상, 질감 및 모양과 같은 다양한 하위 수준 이미지 기능을 결합하여 이미지 영역의 계측적 그룹을 만드는 방식으로 작동
    • 이미지를 여러 개의 작은 영역으로 과도하게 분할한 다음 색상, 질감 또는 기타 기능의 유사성에 따라 영역을 재귀적으로 병합
    • 이미지 영역 계층 구조를 사용하여 개체 제안을 생성 -> 서로 다른 배율과 해상도의 영역을 결합하여 전체 이미지를 덮는 후보 개체 위치 집합을 만들어 수행
    • 머신러닝 알고리즘 또는 기타 기준을 사용하여 개체를 포함할 가능성에 따라 점수를 매김

3. Two-stage 모델

  • 탐색 영역을 찾는 Region Proposal과 해당 영역을 분류하는 Detection 두 가지 과정이 순차적으로 수행되는 방법론
  • 첫 번째 단계에서 객체가 있을 가능성이 높은 영역을 빠르게 찾아내고, 두 번째 단계에서는 정확한 객체 검출을 위해 해당 영역을 더 세밀하게 처리하는 것
  • 위치를 찾는 문제(Localization)
    • 하나의 이미지 안에서 물체가 있을법한 위치를 찾아 나열하는 과정에 대한 정보를 제안
  • 분류 문제(Classification)
    • 각각의 위치에 대해 class를 분류
    • 이미지 내의 사물에 존재하는 bounding box를 예측하는 regression 사용

 

3-1. R-CNN

  • Selective Search를 이용해 2,000개의 RoI를 추출
  • 각 RoI에 대하여 동일한 크기의 입력 이미지로 변경
  • 이미지를 CNN에 넣어서 벡터 이미지를 추출
  • 해당 feature를 SVM에 넣어 class 분류 결과를 얻음
  • 입력 이미지에 대해 CPU 기반의 Selective Search를 진행하므로 많은 시간이 소요

 

 

3-2. Fast R-CNN

  • 동일한 Region proposal을 이용하지만 이미지를 한번만 CNN에 넣어 Feature Map을 생성
  • Region Proposal: 물체가 있을 법한 위치를 찾는 방법
  • 입력 이미지에 대해 CPU 기반의 Selective Search를 진행하므로 많은 시간이 소요

 

 

3-3. Faster R-CNN

  • 병목에 해당하던 Region proposal 작업을 GPU에서 수행함(속도 개선)
  • RPN 적용
  • RPN(Region Proposal Network)
    • 슬라이딩 윈도우를 거쳐 각 위치에 대해 Regression과 Classification을 수행
    • 전체 class에 대한 결과가 아닌 물체가 있는지 없는지에 대한 여부만 output으로 알려줌
    • Regression layer는 bounding box가 위치를 잘 예측할 수 있도록 도와줌

 

728x90
반응형
LIST