IoU threshold에 따라 다르게 학습되었을 때 결과가 다르다
Input IoU가 높을수록 높은 IoU threshold 에서 학습된 model이 더 좋은 결과를 낸다.
IoU와 AP의 관계
IoU threshold에 따라 다르게 학습되었을 때 결과가 다르다.
전반적인 AP의 경우 IoU threshold 0.5로 학습된 model이 성능이 가장 좋다.
그러나 AP의 IoU threshold가 높아질수록 (ex. AP70, AP90) IoU threshold가 0.6, 0.7로 학습된 model의 성능이 좋음.
결론
학습되는 IoU에 따라 대응 가능한 IoU 박스가 다르다.
그래프와 같이 high quality detection을 수행하기 위해선 IoU threshold를 높여 학습할 필요가 있음
단, 성능이 하락하는 문제가 존재하기 때문에, 이를 해결하기 위해 Cascade RCNN을 제안하였다.
Bbox pooling을 반복 수행할 시 성능 향상되는 것을 증명 (Iterative)
IOU threshold가 다른 Classifier가 반복될 때 성능 향상 증명 (Integral)
Fastern RCNN과는 다르게 IOU threshold가 다른 Classifier C1, C2, C3를 학습한다.
Loss의 경우 각각 C1, C2, C3의 classifier loss를 합
Inference 시, C1, C2, C3의 confidence 를 평균 냄
큰 성능 향상은 없음
IOU threshold가 다른 RoI head를 cascade로 쌓을 시 성능 향상 증명 (Cascade)
여러 개의 RoI head (H1, H2, h3)를 학습
이 때 Head 별로 IOU threshold를 다르게 설정
C3, B3가 최종 결과
Deformable Convolutional Networks (DCN)
CNN의 단점 : 일정한 패턴을 지닌 convolution neural networks는 geometric transformations에 한계를 지닌다. 이를 Geometric augmentation나, Geometric invariant feature engineering로 해결하였다.
Geometric augmentation
Geometric invariant feature engineering
하지만 이 과정들은 휴리스틱하게 이루어지기 때문에, 사람이 인지하지 못하는 패턴에 대응할 수 없다.
이렇기 때문에 Deformable convolution이 등장하였다.
Deformable convolution은 일반 convolution에 y(p0)=∑pn∈Rw(pn)⋅x(p0+pn)을 대신, 바뀐 위치로부터의 변화량을 포함시킨다. y(p0)=∑pn∈Rw(pn)⋅x(p0+pn+Δpn)
종합적으로 DCN은 일정한 패턴을 지닌 convolution neural networks는 geometric transformations에 한계를 파악하여, 일정한 패턴이 아니라 offset을 학습시켜 위치를 유동적으로 변화하도록 설계한 모델이다.
Transformer
self attention
Attention (Q,K,V)=softmax(dkQKT)V
multi-head attention같은 경우에는, concat하는 방식을 통해 self attention이 이루어진다.
VIT(vision transformer)
1) Flatten 3D to 2D (Patch 단위로 나누기) p = patch의 크기 N=HW/P2
Reshape image x∈RH×W×C→xp∈RH×(P2×C)
2) Learnable한 embedding 처리
𝐸 라는 matrix를 이용해서 학습을 가능하게 변형한다.
3) Add class embedding, position embedding
앞서 만들어진 embedding 값에 class embedding 을 추가한다. ([CLS]Token)
이미지의 위치 따라 학습하기 위해 position embedding 추가한다.
4) Transformer
5) Predict
Class embedding vector 값을 MLP head에 입력시켜 최종 결과를 추출
VIT의 단점
ViT의 실험부분을 보면 굉장히 많은양의 Data를 학습하여야 성능이 나옴
Transformer 특성상 computational cost 큼
일반적인 backbone으로 사용하기 어려움
End-to-End Object Detection with Transformer
Transformer를 처음으로 Object Detection에 적용하고, 기존의 Object Detection의 hand-crafted post process 단계를 transformer를 이용해 없앴다.