1. Backbone
컴퓨터 비전에서 Backbone이란 이미지에서 중요한 Feature을 잘 추출할 수 있도록 훈련된 모델로서, 주어진 비전 태스크를 잘 수행할 수 있는 압축된 Visual Feature을 산출하는 목적을 가진 모델이다.
여기서 말하는 Visual Feature이란 단어 그대로 어떠한 이미지의 특정 정보를 나타내는 단어이다.
이러한 Backbone 모델은 여러 layer로 구성되어 있는데, 다양한 visual을 feature을 추출하기 위해 각기 다른 level의 레이어 구조를 이용하기도 한다.
2. Decoder
앞서 말했듯이 backbone 모델은 이러한 visual feature을 추출하는 것이 목적이기 때문에 이것만으로는 우리가 원하는 task를 수행할 수 없다. 이때 `Decoder`이라는 것을 결합하여 압축된 feature을 태스크의 출력형태로 만드는 과정을 수행한다.
따라서 각 task에 맞는 Decoder을 사용해야한다.(이러한 백본과 디코더 사이에 최근에는 encoder을 이용하는 경우도 있다.)
2-1. Classification
Classification task를 하기 위해서는 decoder에서 visual feature을 이용해 n개의 클래스중 어느 클래스에 가까운지 점수 혹은 확률을 출력하는 역할을 하게 된다.
이 Classification decoder은 Fully connected layer과 Softmax로 구성되어 있으며, 백본에서 나온 feature을 fc layer을 통과하여 압축된 정보를 추출하고 이를 softmax를 통해서 각 클래스의 확률을 추출하게 되는 것이다. Softmax는 입력받은 값을 모두 [0,1] 사이로 정규화시켜 주는 함수를 의미한다.
2-2.Detection
Detection task는 특정 이미지에서 특정 객체를 탐지하는 task로 디코더에서 해당 객체의 위치를 박스로 표시하고, 어떤 객체일지 확률을 출력해 주는 역할을 하게 된다. 즉 좌표를 예측하고, 어떤 값일지 분류하게 된다.
2-3. Segmentation
마지막으로 segmentation은 특정 객체의 영역을 구분해 주는 taks로 해당 객체의 영역을 픽셀단위로 출력해 주는 역할을 한다.
즉 수행하려는 task에 따라 backbone 모델은 같을 수 있지만, Decoder의 구조는 다르게 구성해야 한다.
'ML & DL > Computer vision' 카테고리의 다른 글
VGGNet (0) | 2024.01.30 |
---|---|
AlexNet (0) | 2024.01.30 |
Contour Detection (0) | 2024.01.29 |
Morphological Transform (0) | 2024.01.29 |
DeepLabV3plus (0) | 2023.10.26 |