[머신러닝] 고급 합성곱 신경망-2 (Advanced Convolutional Neural Network)

JunHyeok_Yoo·2022년 10월 16일
0

1-Stage Detectors(단 단계 탐지기들)

  • Region proposal과 Classification을 동시에 수행
  • 두 단계 탐지기(2-stage)에 비해 빠른 탐지속도, 상대적으로 낮은 정확도
  • YOLO, SSD

YOLO (You Only Look Once)

  1. 각 영상을 격자로 분할
  2. 서로 다른 크기와 모양을 가진 bbox를 추출
  3. 각 박스에 대한 물체 신뢰도와 클래스 확률들을 예측

쉽게 설명하자면 냅다 후보박스를 이미지에 가져다 놓고
물체 존재 여부, 정확한 bounding box를 생성한 다음 신뢰도를 추출한다.

즉 후보박스에 물체가 있다치고 박스를 만든 다음 신뢰도가 구린애들을 버려 물체가 있는 것 같은 박스에 대해서만 분류와 회귀를 진행한다.

YOLO 백본

기본 박스

  • 9개의 서로 다른 크기 모양의 기본박스들 사용 (예시)
  • 3개씩의 정사각형, 가로로 긴 직사각형, 세로로 긴 직사각형 (소,중,대)

YOLO 출력

YOLO는
S*S격자로 분할하여
B개의 서로다른 크기와 모양을 가진 기본박스
C개의 클래스 확률을 예측함

위 예시는 13*13격자로 분할하고 5개의 기본박스를 가지는 동시에 C개의 클래스 확률을 예측하는 YOLO출력이다. 즉 Network의 출력이다.

노란 상자에서 파란부분을 해석해보자면
13*13 격자에서 우측 상단의 cell이 가질 수 있는 기본박스는 총 B개 즉 5개 이다.
그리고 하나의 기본박스가 가질수 있는 값은
C개의 클래스 확률과 x,y,w,h인 박스 조정값, 신뢰도값(confidance,(물체가 있는지 없는지))이므로
총 C+5개의 값을 갖는다 그러므로 하나의 cell이 가질수 있는 값은 5*(20+5)로 총 125개 이고 이 cell이 총 169개 있으므로 YOLO는 총 169*125개의 출력값을 갖는다.

YOLO 전체 처리 과정


1. feature 추출기로 추출된 feature map사용
2. cell 마다의 value부여 (anchor box마다의 종합 점수)
3. threshold 실행
4. 신뢰도가 높은 bounding box추출 (threshold 결과물)
즉 4번에는 신뢰도가 낮은 bbox를 거른 상태이므로 신뢰도가 높은(object가 있을 확률이 높은) bbox만 남음 그러나 하나의 object를 감쌀 수 있는 bbox는 여러개 이므로 하나의 object를 여러개의 bbox가 감싸고 있는 상태일 것이다.
5. NMS
6. NMS결과 겹쳐져있는 box중 가장 신뢰도가 높은 박스와 일정정도 이상 겹치는 박스를 제거함

NMS (Non-Maximum Suppression)

  • 동일 물체에 겹쳐 있는 불필요한 많은 경계 상자(bbox)들을 제거
  • 확률이 가장 높은 상자와 일정 정도 이상 겹치는 나머지 상자들을 제거하는 방식

    왼쪽은 NMS가 수행되지 않아 겹치는 박스가 많다.
    오른쪽은 NMS 수행을 완료한 상태

SSD (Single Shot Multibox Detector)

  • multi-resolution feature map들에서 다양한 크기의 박스(bbox)들을 이용
  • 각 box에 대한 위치조정치(offset)와 물체 클래스(class) 예측

위 그림에서 점선들은 anchor box이다.
만약 동일한 격자에서 큰 object인 개를 잡으려면 큰 anchor box가 있어야하고
고양이를 잡으려면 작은 anchor box가 필요하다.

하지만 큰 object 작은 object를 효율적으로 인지하려면 더욱 많고 다양한 anchor box가 필요한데 anchor box의 증가는 연산의 증가로 부담스러운 작업이다. 그러므로 SSD는 Multi resolution(쪼개는 정도를 다양하게) 해주어서 적은 anchor box로 많은 object를 인지할 수 있게끔 해준다.

위 그림에서 가장 좌측은 resolution이 작아 즉 box가 작아 인식을 못하다가 우측으로 갈수록 점점 픽셀의 크기를 크게하여 object를 잡아내는 과정을 보인다. 즉 SSD는 여러가지 resolution마다 YOLO를 수행하는 것으로 볼 수 있다.

profile
just do it

0개의 댓글