Object Detection

2022. 8. 14. 17:55AI study

컴퓨터 비전 테스크는 Classification, Semantic Segmentaiton, Object Detection, Instance Segmentation등이 있다

 

그 중 Object Detection은 이미지 안에 있는 물체를 구분하여

 

  • 1) 물체가 무엇인지 클레스를 분류하고,
  • 2) 이미지에서 물체 좌표를 얻는다. 보통 좌상, 우하(x1, y1), (x2, y2) 좌표를 얻는다

즉, Object Detection은 Classification + Localization이다 또한 위 두 과업을 하기 위해 Multitask Loss가 필요하다

 

방법론

1. Two stage Model

 

R-CNN(2015, Girshick) -> Fast R-CNN -> Faster R-CNN(Object Detection) -> Mask R-CNN (Instatnce Segmetation), Pytamid Network 등

 

Stage1 : RoI(Region of Interrest), 즉 물체가 있을지도 모르는 위치의 후보 영역을 제안하는 부분, selective search 또는 RPN(Region Proposal Network) 등을 이용함

 

Stagae2: 주어진 ROI들에 대해 클래스를 분류하고, bbox를 회귀하는 단계이다

 

  • R-CNN계열로 불림, Region proposal 을 이용해 feature를 추출함
  • Region proposal은 Selective Search라는 알고리즘으로 찾아냄
  • 속도가 느린대신, 성능이 좋다

2 One Stage Model

 

- SSD, YOLO(+v2, v3, v4), RetinaNet 등

- Region proposal 단계를 건너뛰고 입력 이미지 전체를 바로 네트워크에 넣어 한번에 클래스와 bbox를 찾아낸다

  • 이미지를 리사이즈한 후, 모델에 바로 넣어서 클래스 분류, bbox 회귀를 진행
  • 속도가 빨라서 실시간 사용이 가능
    • 성능이 Two stage Model에 비해 떨어지지만, 점점 연구진행이 활발히 되어 최근에는 성능을 능가함
    •  

Instance Segemtation

- 여기서는 Mask R-CNN 모델을 사용한다(pretrained)

- Mask R-CNN은 Instance Segmentation이 가능한, 즉 Object detection을 포함하고 객체별 segmentation도 가능한 모델

  • Segmentation

 

  • Mask R-CNN