✔ 1. 용어 정리
Classification
- 주어진 이미지 안의 물체가 무엇인지 알아내는 것
- 한 가지 물체를 찾기 때문에 가장 큰 물체를 알아내려고 한다
- 가장 단순한 딥러닝 형태
Localization
- 주어진 이미지 안의 물체가 어느 위치에 있는지 찾아내는 것
- 주로 Bounding Box라는 사각형 형태로 위치를 나타낸다
- 물체의 위치가 담긴 사각형을 (min_x, min_y, max_x, max_y)로 나타내거나 (min_x, min_y, width, height)로 나타낸다.
Object Detection
- 주어진 이미지 안의 물체가 무엇인지, 어디에 있는지 모두 알아내는 것
- 하나의 물체만 대상으로 할 수도 있지만, 보통 여러 물체를 찾아낸다.
- 만 위 이미지처럼 강아지가가 두 마리인 경우 강아지1, 강아지2처럼 두 강아지를 구분하기도 하고 구분하지 않기도 한다.
Semantic Segmentation
- 주어진 이미지 안의 물체의 영역을 알아내는 것
- 사각형으로 나타내는 Localization이나 Detection과는 다르다. 실제 영역을 표현해야 하기 때문에 사각형으로 나타낼 수 없다. 공처럼 둥근 물체는 둥글게 파악하고, 강아지/고양이도 각각 그 모습 그대로 파악한다.
- 이렇게 표현된 영역을 Object Mask라고 부르는데 원본 이미지와 같은 크기의 데이터에 모든 값을 0으로 초기화 한 후, 물체가 있는 좌표의 데이터만 1, 2, ... 등으로 mask를 씌우기 때문에 그렇게 부른다.
- Semantic Segmentation은 강아지가 두 마리인 경우 두 강아지를 별도로 구분하지 않는다.
Instance Segmentation
- Semantic Segmentation과 동일한 역할을 하지만 강아지가 두 마리인 경우 두 강아지를 별도로 구분
- 강아지1, 강아지2는 서로 다르게 mask 된다.
✔ 2. 바운딩 박스(Bounding Box)
바운딩 박스(Bounding box)
: 이미지 내에서 물체의 위치를 사각형으로 감싼 형태의 도형으로 정의하고 이를 꼭짓점의 좌표로 표현하는 방식
2개의 점을 표현하는 방식은 두 가지가 있다
- 전체 이미지의 좌측 상단을 원점으로 정의하고 바운딩 박스의 좌상단 좌표와 우하단 좌표 두 가지 좌표로 표현하는 방식
- 이미지 내의 절대 좌표로 정의하지 않고 바운딩 박스의 폭과 높이로 정의하는 방식. 이 경우 좌측 상단의 점에 대한 상대적인 위치로 물체의 위치를 정의할 수 있다
✔ 3. Intersection over Union
바운딩 박스가 있을 때 만든 localization 모델이 인식한 결과를 평가하기 위한 지표로 IoU(Intersection over Union) 를 사용한다.
IoU(Intersection over Union)
- 이렇게 면적의 절대적인 값에 영향을 받지 않도록 두 개 박스의 차이를 상대적으로 평가하기 위한 방법
- 영문 그대로, 교차하는 영역을 합친 영역으로 나눈 값
- 위의 그림에서 보면, 빨간색 영역은 예측(prediction)과 정답(ground truth)의 교집합인 영역이고, 회색영역이 합집합인 영역일 때, IoU는 빨간 영역을 회색 영역으로 나눠준 값이다.
- 정답과 예측값의 영역이 일치하는 경우는 IoU=1
✔ 4. Localization
<Target Label>
localization을 위해 박스의 위치를 표현할 output 노드 4개를 convolution layer로 구성된 백본 네트워크 다음에 추가해야 한다.
이를 위한 라벨은 위와 같다.
맨 위에 Pc는 물체가 있을 확률, 밑에 3개의 c는 각각 클래스 1,2,3에 속할 확률이다.
p가 0일 경우는 배경이 경우이다. 필요에 따라서는 c와 p를 분리하여 다른 활성화 함수를 적용하고 손실을 계산할 수 있다
그리고 여기에 우리가 원하는 바운딩 박스를 정의하기 위한 4개의 노드가 추가된다. 여기서는 바운딩 박스 좌측 상단의 점의 위치와 바운딩 박스의 폭과 높이로 박스를 표현했다. 따라서 , 는 좌측 상단의 점을 표현하는 x축과 y축의 좌표이고 와 는 바운딩 박스의 높이와 폭이 된다.
https://www.youtube.com/watch?time_continue=1&v=GSwYGkTfOKk&feature=emb_logo
'AIFFEL > GoingDeeper-CV' 카테고리의 다른 글
[AIFFEL/GoingDeeper] Object Detection Architecture (1) | 2022.04.22 |
---|---|
[AIFFEL/GoingDeeper] Object Detection (0) | 2022.04.20 |
[AIFFEL/GoingDeeper] CAM(Class Activation Map) (0) | 2022.04.20 |
[AIFFEL/GoingDeeper] OCR - Text recognition (0) | 2022.04.13 |
[AIFFEL/GoingDeeper] OCR - Text detection (0) | 2022.04.13 |