2020. 1. 14. 13:14ㆍPapers/Object Detection
3333333Training-Time-Friendly Network for Real-Time Object Detection
Zili Liu, Tu Zheng, Guodong Xu, Zheng Yang, Haifeng Liu, Deng Cai
Accepted to AAAI2020
Computer Vision and Pattern Recognition (cs.CV); Machine Learning (cs.LG); Image and Video Processing (eess.IV)
Abstract
- 현대 객체 검출기는 짧은 학습 시간, 빠른 추론 속도, 높은 정확도를 동시에 달성하길 원한다.
- 이를 달성하기 위해서 Training-Time-Friendly Network(TTFNet)을 제안한다.
- 해당 모델의 특징으로는 가벼운-헤드, 단일 stage, 그리고 Anchor-free 디자인 이다.
- 라벨링된 박스들로부터의 더 많은 훈련 샘플을 인코딩하면 배치 크기를 증가시키는 것과 유사한 역할을 수행하며, 이는 learning rate를 높이고 훈련과정을 과속화한다.
- 학습 샘플들을 인코딩하기 위한 Gaussian Kerenl을 소개한다.
- 또한 정보 활용도를 높이기 위해 초기 샘플 가중치를 설계한다.
- MS COCO 데이터셋의 실험에 따르면 TTFNet은 학습 시간, 추론 속도 및 정확도의 균형을 유지하는데 큰 이점이 있다.
- SOTA 성능을 유지하면서 기존의 실시간 탐지기와 비교하여 학습 시간을 7배 이상 단축했다.
- 또한 TTFNet-18 및 TTFNet-53의 초고속 버전은(학습시간이 짧은 버전) 각각 훈련 시간의 1/10 미만으로 SSD300 및 YOLOv3보다 성능이 우수하다. (요즘 모델의 경우에는 직접 학습하기에 너무 큰 모델들이 존재하기 때문에 직접 돌려보기에는 어려운 단점들이 존재했지만 해당 논문의 모델을 통해서 이러한 부분을 해결할 수 있다.)
Introduction
- 객체 검출기의 정확도, 추론 속도 및 학습 시간은 광범위하게 관련되어 있으며 지속적으로 개선되었다.
- 직관적으로, 추론 속도가 빠른 검출기는 훈련 시간이 짧아야한다.
- 하지만 실제로 대부분의 실시간 탐지기는 비 실시간 탐지기보다 훈련 시간이 더 오래 걸린다.
- 높은 정확도의 검출기는 크게 두 가지 유형 중 하나로 분류될 수 있다. 이러한 검출기는 추론 속도가 느리고 훈련 시간이 많이 소요된다.
- 첫번째 유형의 네트워크는 일반적으로 무거운 검출 헤드 또는 복잡한 후처리에 의존한다.
- 이러한 디자인은 정확도 향상 및 빠른 수렴에 도움이 되지만 추론 속도가 크게 느려진다. (무거운 검출 헤드와 복잡한 후처리에 의해)
- 따라서 이 유형의 네트워크는 일반적으로 실시간 응용 프로그램에 적합하지 않다.
- 추론 속도를 높이기 위해 연구자들은 정확도를 유지하면서 탐지 헤드와 후처리를 단순화하려고 노력했다.
- CenterNet이라는 최근 연구에서 추론 시간이 더 짧아졌다. backbone 네트워크에서 소비하는 시간과 거의 같도록 탐지 헤드와 후처리를 단순화 하였다.
- 그러나 이러한 모든 네트워크에는 필연적으로 오랜 교육 시간이 필요하다.
- 이러한 네트워크는 단순화로 인해 훈련하기가 어렵기 때문에 데이터 호가대 및 긴 훈련 일정에 크게 의존한다.
- 예를 들어, CenterNet은 MS COCO데이터셋 기준으로 학습하는데 140 epochs이 필요하다.
- 반대로, 첫번째 유형의 네트워크는 일반적으로 12 epoch만을 필요로 한다.
- 따라서 이러한 문제점을 해결하기 위해서 실시간 객체 성능의 SOTA를 보유하면서도 짧은 훈련 시간을 가질 수 있도록 초점을 맞춘다.
- 이전 연구에 따르면 배치 크기가 더 크면 더 큰 learning rate를 사용할 수 있다.
- 라벨이 달린 상자에서 더 많은 훈련샘플을 인코딩하는 것은 배치 크기를 늘리는 것과 유사하다.
- 특징을 인코딩하고 손실을 계산하는데 소요되는 시간은 특징 추출 시간에 비해 무시할 수 있을 정도로 빠르기 때문에 기본적으로 추가 검사 없이 더 빠른 수렴을 안전하게 얻을 수 있다.
- 반대로, 크기 회기(size regression)을 위해 객체 중심에만 집중하는 CenterNet은 객체 중심 근처의 정보를 활용할 기회를 잃는다.
- 이 디자인은 실험에 따라 느린 수렴의 주요 원인으로 확인되었다.
- 훈련 시간을 단축하기 위해 Gaussian kernel을 사용하여 위치화 및 회귀에 대한 훈렴 샘플을 인코딩하는 새로운 접근법을 제안한다.
- 네트워크가 라벨이 되어있는 상자를 더 잘 사용하여 더 많은 지도 신호를 생성할 수 있으므로 더 빠른 수렴을 위한 전제 조건을 제공한다.
- 구체적으로, 객체 중심 주변의 하위 영역은 kernel을 통해 구성되며 이 영역에 밀집된 훈련 샘플을 추출한다.
- 또한 Gaussian 확률은 회귀 샘플의 가중치로 처리되어 객체 중심 근처에서 해당 샘플을 강조한다.
- 또한 큰 상자에서 제공하는 추가 정보를 활용하고 작은 상자에서 제공한 정보를 유지하기 위해 적절한 정규화를 적용한다.
- 해당 방식은 FPN과 같은 다른 구성 요소 없이도 모호하고 저품질 샘플을 줄일 수 있다.
- 또한 결과를 수정하는데 도움이되는 오프셋 예측이 필요하지 않으므로 효과적이고 통일되며 직관적이다.
- 가벼운-헤드, 단일 스테이지 및 anchor-free 디자인과 함께 이 논문은 학습 시간, 추론 속도 및 정확도 사이에서 균형이 잘 맞는 최초의 물체 탐지기를 제공한다.
- Dataset : MS COCO / GPU = 8개의 GTX 1080Ti
- TTFNet-18은 1.8시간의 학습을 통해 25.9 mAP / 112 FPS를 달성할 수 있다.
- TTFNet-53은 3.1시간의 학습을 통해 32.9 mAP / 155 FPS를 덜성할 수 있다.
- 이와 같은 특징을 활용하면 한정된 컴퓨팅 자원일때도 충분히 활용할 수 있다.
- 장기 교육 버전의 경우에는 보다 높은 성능을 얻을 수 있다.
- 이러한 성능은 다른 SOTA 물체 탐지기와 비교했을 때 매우 경쟁력이 있다.
Motivation
-
기존의 가중치 업데이트는 다음과 같이 정의 할 수 있다.
- $w_{t+1}=w_t {\eta}{1 \over n} \sum_{x{\in}B}\nabla(x,w_t)$ (1)
- 여기서 $w$ 는 network의 weight, $B$는 학습 셋으로부터 샘플된 mini-batch, $n=|B|$는 mini-batch의 크기, $\eta$는 learning rate 그리고 $l(x,w)$는 라벨링된 이미지 $x$에 대한 loss 계산이다.
-
이미지 $x$는 다수의 라벨링된 박스들을 포함할수도 있으며, 이러한 박스들은 학습 샘플들($s{\in}S_x$)로부터 인코딩 될 수 있다.
-
$m_x=|S_x|$는 이미지 $x$에서 모든 박스들로부터 생성된 샘플의 수를 나타낸다.
-
그러므로 (1)번 식을 다음과 같이 표현할 수 있다.
-
$w_{t+1}=w_t-{\eta}{1 \over n}\sum_{x{\in}B}{1 \over m_x}\sum_{s{\in}S_x}{\nabla}l(s,w_t)$ (2)
-
동일한 mini-batch로부터 기존의 방식(1)보다 (2)의 방식이 많은 정보량을 학습할 수 있다. 만약 mini-batch의 크기와 encoding된 이미지의 수가 같다고 생각한다면 (1)의 방식과 (2)의 방식은 약 제곱만큼의 정보의 차이가 존재한다고 볼 수 있다.
-
대부분의 검출기보다 몇 배 더 빠른 CenterNet은 오랜 학습 시간으로 어려움을 겪는다.
-
학습에서 복잡한 data augmentation을 사용한다.
-
augmentation은 안정적인 정확도 향상을 주지만, 이는 느린 수렴을 일으킨다.
-
수렴 속도에 미치는 영향을 배제하기 위해, learning rate를 높이고 augmentation을 제거해보았다.
-
Figure 1을 보면 큰 learning rate는 CenterNet의 빠른 수렴에 도움을 주지 않으며, augmentation을 제거하는 것은 나쁜 성능으로 이어진다.
-
위의 결론에 따르면, CenterNet은 훈련 중 객체의 중심에서 단일 회귀 샘플을 인코딩하기 때문이다.
-
이러한 설계로 인해 CenterNet은 data augmentation 및 긴 학습 일정에 크게 의존하여 비효율적인 학습 시간으로 이어진다.
-
학습 시간을 줄이면서 네트워크의 data augmentation에 대한 의존도를 줄이려면 회기 샘플을 인코딩하는 더 나은 전략이 필요하다고 가정한다.
Our approach
Background
-
CenterNet은 중앙 위치화 및 크기 회귀 두 부분으로 구성되어 객체 검출을 다룬다.
-
위치화를 위해 CornerNet에서와 같이 Gaussian Kerenl을 채택하여 히트맵을 생성하여 네트워크가 객체 중심 근처에서 더 높은 활성화를 생성할 수 있다.
-
회귀를 위해 객체 중심의 픽셀을 훈련 샘플로 정의하고 객체의 높이와 너비를 직접 예측한다.
-
도한 출력 stride으로인한 이산화 오류를 복구 할 오프셋을 예측한다.
-
네트워크가 추론하여 객체 중심 근처에서 더 높은 활성화를 생성할 수 있기 때문에 시간이 많이 걸리는 NMS는 다른 구성 요소로 대체될 수 있다.
-
NMS에 대한 필요성을 없애기 위해 중심 위치화를 위한 유사한 전략을 채택한다.
-
특히 CenterNet에서 고려하지 않는 전략이 차선책이므로 Gaussian Kernel에서 상자의 종횡비를 추가로 고려한다.
-
크기 회귀와 관련하여 주류 접근 방식은 전체 상자 또는 상자의 하위 사각형 영역의 픽셀을 훈련 샘플로 처리한다.
-
해당 논문에서는 Gaussian 영역의 모든 픽셀을 훈련 샘플로 취급할 것을 제안한다.
-
또한, 더 나은 정보 활용을 위해 객체 크기 및 Gaussian 확률로 계산된 가중치가 이러한 샘플에 적용된다.
Gaussian Kernel for Training
- 이미지가 입력으로 제공되면 네트워크에서 특징 ${\widehat{H}}{\in}R^{N{\times}C{\times}{H \over r}{\times}{W \over r}}$ 및 ${\widehat{S}}{\in}R^{N{\times}4{\times}{H \over r}{\times}{W \over r}}$를 예측한다. 4 = $x,y,w,h$의 정보
- 전자는 물체 중심이 존재할 수 있는 위치를 나타내는데 사용되고 후자는 물체 크기와 관련된 정보를 얻는데 사용된다.
- $N,C,H,W,r$은 배치 크기, 범주 수, 입력 이미지의 높이와 너비 및 출력의 stride를 의미한다.
- 여기서 $C=80$ 그리고 $r=4$로 설정한다.
- Gaussian Kernel은 우리의 접근 방식에서 위치화와 회귀에 모두 사용되며, $\alpha$및 $\beta$는 각각 정의하여 커널 크기를 제어한다.
Object Localization
-
$m$번째 라벨 상자는 $c_m$번째 범주에 속하며, 특징 맵 스케일에 선형으로 맵핑된다.
-
그런 다음 2D Gaussian Kernel $𝐾_𝑚 (𝑥,𝑦)=exp(-{{(𝑥−𝑥_0 )^2}\over{2𝜎_𝑥^2 }}-{{(𝑦−𝑦_0 )^2}\over{2𝜎_𝑦^2 }})$, 여기서 $𝜎_𝑥={{𝛼𝑤}\over 6},𝜎_𝑦={{𝛼ℎ}\over 6}$이다.
-
마지막으로, 요소 별 최대 값을 $H_m$으로 적용하여 $H$의 $c_m$번째 채널을 업데이트한다.
-
생성된 $H_m$는 매개 변수 $\alpha$, 중심 위치 $(x_0,y_0)_m$ 및 상자 크기 $(h,w)_m$에 의해 결정된다.
-
$([{x \over r}],[y \over r])$을 사용하여 CenterNet에서와 같이 중심의 픽셀에 있게 한다.
-
$\alpha=0.54$로 설정한다.
-
$\alpha_f$그리고 $beta_f$는 focal loss의 파라미터이다.
-
$M$은 라벨링된 박스의 수이며, $\alpha_f=2$그리고 $beta_f=4$로 설정한다.
Size Regression
- 특징 맵 스케일에서 $m$번째 라벨링된 상자가 주어지면 다른 Gaussian Kernel이 $S_m=R^{1{\times}{H \over r}{\times}{W \over r}}$를 생성하기 위해 채택된다.
- kernel의 크기는 위에서 언급한 것 처럼 $\beta$로 제어된다.
- kernel와 $\beta$가 같은 경우 동일한 kernel을 사용하여 계산을 저장할 수 있다.
- $S_m$의 0이 아닌 부분은 Figure 3과 같이 Gaussian-area $A_m$이라 불린다.
- $A_m$은 항상 $m$ 상자 안에 있기 때문에 나머지 용지에도 하위 영역이라 한다.
- 하위 영역의 각 픽셀은 회귀 샘플로 처리된다.
- Gaussian Area$A_m$ 영역과 출력 보폭 $r$에 픽셀 $(i,j)$이 주어지면 회귀 타겟은 $(ir,jr)$에서 4 변의 거리로 정의되며 이는 $(w_l,h_t,w_r,h_b)^m_ij$로 표현할 수 있다.
- $\widehat{x_1}=ir-\widehat{W_l}s, \widehat{y_1}=jr-\widehat{h_t}s$
- $\widehat{x_2}=ir+\widehat{W_r}s, \widehat{y_1}=jr-\widehat{h_b}s$ (5)
- $s = 16$으로 고정되어 있는 값이다.
- 예측 상자 $(x_1,y_1,x_2,y_2)$는 특징 맵 스케일이 아니라 이미지 스케일이다.
- 만약 하위 영역에 픽셀이 포함되어 있지 않다면 학습 중에서 픽셀이 무시된다.
- 픽셀이 여러 하위 영역 (모호한 샘플)에 포함되어 있으면 학습 대상이 더 작은 영역의 객체로 설정된다.
- 이러한 모든 샘플에 대해 (5)와 같이 예측된 박스와 해당 라벨링이 된 샘플 박스를 디코딩하고 손실 계산에 GIoU를 사용한다.
- $N_reg$는 회기 샘플의 수
- $L_reg={1 \over N_reg}\sum_{(i,j){\in}A_m}\text{GIoU}(\widehat{B_ij},B_m){\times}W_ij$ (6)
- $\widehat{B_ij}$은 $(\widehat{x_1},\widehat{y_1},\widehat{x_2},\widehat{y_2})$박스를 디코딩한 것이며, $B_m=(x_1,y_1,x_2,y_2)_m$은 이미지 스케일에서의 m번째 라벨링된 박스와 일치한다.
- $W_ij$는 각 샘플의 loss 균형을 맞추기 위해서 사용하는 weight값이다.
- 개체의 대규모 분산으로 인해 큰 개체는 수천 개의 샘플을 생성하는 반면 작은 개체는 소수의 샘플만 생성할 수 있다.
- 모든 샘플에서 발생하는 손실을 정규화한 후 작은 물체로 인한 손실을 무시할 수 있어 작은 물체의 검출 성능이 저하된다.
- 그러므로 $W_ij$가 굉장히 중요한 역할을 한다.
- $(i,j)$이 $m$번째 라벨링된 상자의 하위 영역 $A_m$안에 있다고 가정하면 다음과 같다.
- 여기서 $G_m(i,j)$는 $(i,j)$에서의 Gaussian 확률이고 $a_m$는 큰 물체에 포함된 작은 라벨 정보의 영역이며 작은 물체의 영역을 보존한다.
- 또한 이러한 샘플을 물체 중심 근처에 강조하여 애매 모호한 품질의 샘플이 미치는 영향을 줄인다.
Total Loss
- $L = w_loc L_loc + w_reg L_reg$ 여기서 $w_loc = 1.0$,$w_reg = 5.0$이다.
Overall Design
- backbone model로 resnet과 darknet을 사용한다.
- 원래 이미지의 1/4 크기로 backbone 후 up-sampled를 통하여 추출한다. MDCN (Modulated Deformable Convolution) 과 up-sample layer로 구현된다.
- 그런 다음 업 샘플링 된 기능은 서로 다른 목표를 위해 두 개의 헤드를 별도로 거치게됩니다.
- 국소화 헤드는 물체 중심 근처의 해당 위치에서 높은 활성화를 생성하는 반면 회귀 헤드는 해당 위치에서 상자의 4면까지의 거리를 직접 예측합니다.
- 객체 맵은 피쳐 맵에서 로컬 최대 값에 해당하므로 2D 최대 풀링을 통해 최대 값이 아닌 값을 안전하게 억제 할 수 있습니다.
- 그런 다음 회귀 결과를 수집하기 위해 극대값의 위치를 사용합니다.
- 최종적으로, 검출 결과가 달성 될 수있다.
- 우리의 접근 방식은 대형 및 중형 객체에 포함 된 주석 정보를 효율적으로 사용하지만 정보가 거의없는 소형 객체에 대한 프로모션은 제한됩니다.
- 짧은 교육 일정으로 작은 물체에 대한 감지 성능을 향상시키기 위해 고해상도지만 낮은 수준의 기능을 도입하는 바로 가기 연결을 추가합니다.
- 바로 가기 연결은 백본의 2, 3 및 4 단계에서 제공되는 기능을 소개하며 각 연결은 3X3 회선 레이어로 구현됩니다.
- 단계 2, 3 및 4의 계층 수는 3, 2 및 1로 설정되며 ReLU는 짧은 연결에서 마지막 계층을 제외하고 각 계층을 따릅니다.
Experiments
Conclusion
- 우리는 경험적으로 더 많은 훈련 샘플이 학습 속도를 높이고 가우스 커널을 사용하여 훈련하는 새로운 방법을 제안 함을 보여줍니다.
- 교육 시간, 추론 속도 및 정확도의 균형을 유지하기위한 효율적인 솔루션으로, 교육 시간에 민감한 작업에 더 많은 잠재력과 가능성을 제공 할 수 있습니다.