본문 바로가기
공부하는 중~~/인공지능

[RetinaNet] RetinaNet 개념 정리 (추가중)

by 임대추 2020. 10. 23.

안녕하세요 대추입니다.

요즘 공부할게 너무 많아서 일관성있는 포스팅이 어렵네요 그냥 그때그때 올리고 싶은 내용 포스팅하려합니다.

딥러닝쪽이 재미있어 공부를 하고있는데 다 해석없이 영어로 원문단어 그대로 박아넣고 글쓴이가 이해한건지조차 의심이 되게 포스팅한 사람들이 많아 천천히 누가봐도 알 수 있게 공부를 하는 과정을 포스팅 하려합니다.

 

 

저번에 개념 정리를 했던 VGGNet처럼 CNN 이지만 다른 것을 하는 모델이다

Classfication, Localization 예시

 VGGNet은 이미지를 넣으면 개!, 고양이! 라고 물체를 분류하는 분류(Classification)를 해주는 모델이다. 반면에 RetinaNet은 박스(Bounding Box)를 그려주는 지역성(Localization)을 나타내주는 모델로 이전에 잠깐 포스팅 했던 Yolo 모델과 같은 역할을 한다. 사실 내부를 들여다보면 다르다고 할 수 있다.

위의 사진을 보면 첫 번째 사진이 VGGNet 결과물이고  2, 3번째 사진이 RetinaNet, Yolo의 결과물이라고 생각하면 된다. 

 

One-stage, Two-stage

 지역성을 나타내는 객체 탐지(Object Detection)에서도 종류가 나뉘는데 Yolo, SSD 같은 모델을 One-stage Detector이라고 하고 ResNet과 같은 모델을 Two-stage Detector라고 한다. 왜 One-stage, Two-stage라고 불리는지는 아래에 간단히 정리 하겠다.

One-stage Detector - 객체가 있을만한 곳을 찾는 과정(Region Proposal)과  분류(Classification)가  동시에 이루어짐

Two-stage Detector - 객체가 있을만한 곳을 찾는 과정(Region Proposal), 분류(Classfication)가 각각 두 단계로 이루어짐

단계가 적은 것은 빠르고 단계가 많은 것보다 성능이 부족할 것이라는 것을 상식적으로 생각할 것이다. 맞다 Two-stage가 성능이 10~40% 가까이 좋다. 하지만 속도가 느리고 연산량이 더 많다. 한 단계에 두가지 과정을 넣으면서 성능도 챙길수 있지 않을까? 라는 생각으로 전문가들이 만든 모델이 오늘 개념 정리를 하고자 하는 RetinaNet이다.

 

RetinaNet의 등장과정

 RetinaNet이 등장한 이유가 무엇일까? 그 이유를 알기 위해서는 one-stage, two-stage에 대해 조금 더 자세하게 알아야할 필요가 있다. 위에서 잠깐 언급했던 것처럼 각 스테이지를 진행하는 단계만 다를 뿐 같은 일을 한다. 물체의 위치를 찾는 것과 물체를 분류하는 것이다. 

 

 

작성중.....

 

 

반응형

댓글