Data Mavericks

CV(Deep learning) (1) - Object Detection의 이해 본문

Computer Vision/Deep Learning

CV(Deep learning) (1) - Object Detection의 이해

권동동 2023. 7. 5. 15:15

1. Object Detection – Deep learning 기반으로 발전

Object Detection은 디지털 이미지에서 특정 클래스를 감지하는 데 사용되는 Computer vision 작업입니다. 

즉, "어디에 어떠한 객체가 있다" 입니다.

 

위 그래프에서 Object Detection의 성능이 2012년까지는 성능이 조금씩 향상하다가 2013년부터 Deep Learning이 사용하며 성능이 급향상된 모습을 확인할 수 있습니다.


2. Localization, Detection, Segmentation

  • Classification : 분류( 이미지가 무엇인지 구분)
  • Localization : 하나의 image에 하나의 object를 boundiong box로 지정
  • Detection : 하나의 image에 여러개의 object를 boundiong box로 지정
  • Segmentation : Pixel-level로 Objent Detection을 수행

3. Object Detection

Object Detection은 컴퓨터 비전 기술의 한 분야로, 이미지나 비디오에서 특정 객체의 위치와 클래스를 탐지하는 작업입니다.


3.1. Object Detection History

 

2012년 딥러닝(AlexNet)이 나온 이후 빠르게 발전하면서 2가지 방식의 detector으로 나누어졌으며

속도가 빠른 One-stage detection과 정확도가 높은 Two-stage detection이 있습니다.

  • One-stage detection 실시간으로 object를 찾고 detect => 실시간에 유리

 객체의 위치와 클래스를 동시에 탐지하는 방식으로, 객체에 대한 Bounding Box를 예측하고 분류하는 단일 네트워크를 사용,  이러한 방식은 속도가 빠르고 간단한 구조를 가지고 있어서 실시간 환경에서 유용

 

  • Two-stage detection bounding box를 예측하여 object를 찾고 detect =>  정확도가 높음

 정확도에 중점, 초기에는 객체가 있을것으로 예상되는 영역을 찾는 단계를 거치고 예상된 영역에서 실제 객체를 탐지하고 분류하는 단계를 수행,  상대적으로 처리 속도가 느림


3.2. Object Detection의 주요 구성 요소

  1.  영역 추정(Region Proposal) : 객체가 있을 간으성이 있는 영역을 제안하는 단계
  2.  Deep Learning 네트웍 구성 : 객체 탐지를 위한 딥러닝 네트워크 구성
  3.  기타 요소 : IOU와 NMS를 사용하여 겹치는 경계 상자 처리, mAP를 통해 객체 탐지 모델의 성능 측정, Anchor box를 사용하여 다양한 크기와 모양의 객체를 예측

3.3. 일반적인 Object Detection 모델

  • Backbone (ResNet): 객체 탐지 모델의 핵심 구성 요소로, 입력 이미지에서 특성을 추출하는 역할을 합니다. 
  • Neck (Feature Pyramid Network): 객체 탐지에서 다양한 스케일의 특성을 통합하기 위한 구성 요소
  • Head (Classification, Bounding Box Regression):  백본 네트워크와 넥 구조에서 추출된 특성을 입력으로 받아 객체의 클래스와 경계 상자를 예측

 


4. Object Localization

image에서 특정 object의 위치를 정확하게 파악하는 작업

원본 이미지 -> feature을 추출 -> image의 다양한 위치에서 추출된 feature들로 구성 -> 추출된 feature을 활용하여 object의 클래스를 분류하는 신경망 계층 -> 각  클래스에 대한 점수를 나타냄

x1,y2로 Bounding Box의 위치 표시하고 x2와 y2로 Bounding Box의 너비와 높이를 표현


5. Sliding Window

Window를 왼쪽 상단부터 오른쪽 하단으로 이동시키면서 Object를 Detection하는 방식

Window안에 object가 다 들어가지 않아 detection을 못할 수도 있음

 

해결책

아래 그림처럼

object를 detection하기 위해 방식 추가

  • Object Detection의 초기 기법
  • Object가 없는 영역도 슬라이딩 함 + 여러 형태의 WIndow, Scale을 가진 이미지 스캔 & 검출 -> 수행 시간 증가, 성능은 낮음

6. Region Proposal

영역 추정 방식


6.1.  Object가 있을 만한 후보 영역을 찾자

Region Proposal은 Object Detection에서 객체가 존재할 가능성이 있는 영역을 추론하는 과정입니다. 이를 통해 후속 처리 단계에서 객체를 정확하게 탐지

 

대표적인 Region Proposal 기법으로는 Selective Search, R-CNN, Fast R-CNN, Faster R-CNN가 있음


6.2. Selective Search  (Region Proposal의 대표적인 방법)

빠른 Detection과 높은 Recall 예측 성능을 동시에 만족하는 알고리즘

  1. 개별 Segment된 모든 부분들을 Bounding box로 만들어서 Region Proposal 리스트로 추가
  2. 컬러, 무늬(Texture), 크기(Size), 형태(Shape)에 따라 유사도가 비슷한 Segment들을 그룹핑함
  3. 다시 1번 Step Region Proposal 리스트 추가, 2번 Step 유사도가 비슷한 Segment들 그룹핑을 계속 반복 하면서 Region Proposal을 수행

 


📢  이 글은 권철민님의 [개정판] 딥러닝 컴퓨터 비전 완벽 가이드 - 인프런 강의를 바탕으로 정리한 내용입니다.

 

📢  해당 글은 교육적인 목적으로 작성되었으며 영리 목적이 없음을 밝힙니다. 법률적인 문제가 있을 경우 메일을 보내주시면 수정하도록 하겠습니다.

 

📢 이메일 : do5431@naver.com