본문 바로가기
모르는 용어 정리

YOLO란? YOLO version 1, one-stage, two-stage 정리

by orangecode 2022. 12. 29.
728x90
YOLO
You Only Look Once

Unified, Real-Time Object Detection

 

YOLO 이전 R-CNN 모델 : Two-stage Faster R-CNN

YOLO 이전의 DETECTION MODEL은 통합되지 않은 Two-stage Faster R-CNN이 주로 사용되었다고 합니다.

 

Two-stage Faster R-CNN구조는  객체가 어디있는지 탐지하는 Localization 기능과 Bounding-box로 객체를 Detect하는 기능 2가지를 따로 구현한 뒤에, 2가지 기능을 합해서 Detection generator를 수행할 수 있었습니다. 

 

 

 

YOLO : One-stage Retina Net

YOLO는 Localization과 Detection 기능 2가지를 한번에 수행할 수 있는 1-stage 입니다.

 

 

 

yolo v1을 사용하게 되면,  OUTPUT으로 3차원 TENSOR인 Feature Map을 뽑아주게 된다.

 

3차원 Feature Map에 있는 1개의 cell을 쭉 뽑아내면 2차원 vector 값을 뽑아낼 수 있는데, 아래 그림과 같다

tensor 1칸의 cell 표현

1 box per one grid cell은 grid 1개에 2개의 box를 그렸을 때 볼 수 있는 cell 구조이다.

 

1 번째 box, 2번째 box의 정보로 class Probabilities에서 해당 객체는 무엇이라고 결정하는 classify 해준다.

 

YOLO V1
 Grid 1

box-Coordinates =  n개
Grid 2

box-Coordinates = n개
Grid 3

box-Coordinates = n개
Grid 4

box-Coordinates = n개

 

image 파일 1장을 grid 4개로 나누고 각 grid 마다 2개씩 box-Coorinates로 객체를 찾아 x, y, w, h 값을 구하고

각각 Box-Coorinates에서 얼마나 어떤 class의 객체에 가까운지 Confiedent %로 나타내게 된다.

 

2개의  Box-Coorinates에서 Confiedent한 결과를 가지고 객체가 무엇인지 분류하게 된다.

 

YOLO : NMS
Non Maximum Supperession

 

YOLO V1을 실행하면서, 각각의 GRID에서 객체를 찾는 Bounding-BOX의 위치를 가장 적절하게 놓아줄 수 있는 알고리즘이 필요하다.

 

객체를 인식하지 못하는 장소에 Bounding-Box가 위치하게 되면 전혀 의미없는 알고리즘이 만들어질 수 있다.

 

객체는 찾는 Bounding-Box의 최적점을 찾는 알고리즘을 Non Maximum Suppression : NMS 라고 부른다.

 

"Non-max suppression is the final step of object detection algorithms and is used to select the most appropriate bounding box for the object"

 

번역하면 NMS는 객체 감지 알고리즘의 마지막 단계이며, 객체에 가장 Bounding-Box를 찾는 데 사용된다.

 

NMS 실행 과정

1. 객관성 점수가 가장 높은 Bounding-Box를 선택한다.

Bounding-BOX 위에 있는 정확도가 가장 높은 박스를 선택한다.

 

2. 상자들의 IOU(Intersection over union)을 다른 Bounding-BOX와 비교한다.

 

3. 겹치는 Bounding-Box 들 중 IOU가 낮은 상자(IOU < 50%)를 제거한다.

 

4. Bounding-Box 제거 후 높은 점수로 이동한다.

 

5. 마지막 2~4단계를 반복해서 Bounding-BOX를 제거해주고 마지막 OUTPUT 결과를 가져온다

 

최종결과물은 2개의 객체를 DETECT한 Bounding-Box의 거리가 분리되어 있고 가장 높은 점수를 가지고 있는 Bounding-Box만 남게 된다.

 

 

 

반응형

댓글