https://arxiv.org/abs/2212.07784
이 논문에서,
우리는 YOLO series를 능가할 수 있고
instance segmentation and rotated object detection과 같이 다양한 object recognition tasks에 확장할 수 있는
an efficient real-time object detector를 설계
more efficient model architecture를 얻기 위해서,
backbone and neck에서 compatible(호환 가능한) capacitiy를 가진 architecture를 탐구했다.
이 architecture는 large-kernel depth-wise convolution으로 이루어진 a basic building block으로 구성된다.
우리는 accuracy를 향상시키기 위해
dynamic label assignment에서 matching cost를 계산할 때, soft labels을 도입했다.
better training techniques와 함께,
결과적으로 RTMDet
라는 object detector는 NVIDIA 3090 GPU에서 300+FPS로 COCO에서 52.8% AP를 달성했다.
Optimal efficiency는 real-world perception in autonomous driving, robotics 등에서 primary pursuit(연구)이다.
YOLO series는 one-stage detectors의 accuracy and efficiency를 향상시키기 위해 model architecture와 training technique을 탐구해왔다.
이 연구에서,
우리는 YOLO series의 한계를 밀어내고
a new family of Real-Time Models for object Detection, named RTMDet
를 만드는 것에 집중했다.
이 매력적인 improvements는 주로
better representation with large-kernel depth-wise convolutions and better optimization with soft labels in the dynamic label assignments에서 비롯되었다.
Fig. 1에서 볼 수 있듯이,
RTMDet은 previous methods 보다 better parameter-accuracy trade-off를 달성한다.
Specifically,
real-time applications을 위해, 기존 연구는 주로 anchor-based or anchor-free one-stage detectors를 탐구했다.
model efficiency를 향상시키기 위해서,
efficient backbone networks and model scaling strategies and enhancement of multi-scale features을 handcrafted design or neural architecture search를 통해 탐구했다.
최근의 발전은 model deployment 이후 inference speed를 향상시키기 위해 model re-parameterization도 탐구한다.
본 논문에서는 more efficient object detector를 위해 large-kernel depth-wise convolutions로 구성된 a new basic building block을 제안한다.
- 이번 연구에서,
우리는RTMDet
라고 불리는 a new family of Real-Time Models for object Detection을 만들었다.
- RTMDet의 macro architecture는 전형적인 one-stage object detector이다. (Sec. 3.1)
- 우리는 backbone and neck의 basic building block에 large-kernel convolutions을 적용함으로써 model efficiency를 향상시키고,
model depth, width, and resolution을 적절하게 balance하였다. (Sec. 3.2)- 우리는 추가로 dynamic label assignment strategies에 soft labels을 적용하고,
model accuracy를 높이기 위해서 a better combination of data augmentations and optimization strategies를 적용했다. (Sec. 3.3)- RTMDet은 instance segmentation and rotated object detection tasks로 확장시킬 수 있는
versatile(다용도의) object recognition framework이다.
Fig. 2.에 있듯이,
the macro architecture of one-stage object detector를
backbone, neck, and head로 decompose했다.
backbone
:
최근 YOLO series는 일반적으로 CSPDarkNet을 backbone architecture로 사용한다.
CSPDarkNet은 4개의 stage로 되어있고,
각 stage는 몇가지 basic building block이 stack되어져있다. (Fig.3.a)
neck
:
neck은 backbone으로부터 multi-scale feature pyramid를 적용하고,
backbone과 동일한 basic building blocks을 사용하며,
bottom-up 및 top-down feature propagation을 통해 feature pyramid feature map을 향상시킨다
head
:
마지막으로,
detection head는 각 scale에 대한 feautre map에 기반하여
object bounding boxes and their categories를 predict한다.
the potential of the macro architecture를 제대로 활용하기 위해서,
우리는 more powerful basic building blocks을 연구했다.
그리고나서 architecture의 computation bottleneck을 조사하고 backbone과 neck의 depth, width, and resolution을 balance하였다.
backbone에서 large effective receptive field는
object detection and segmentation과 같은 dense prediction tasks에 유리하다.
이는 image context를 더 포괄적으로 capture하고 modeling하는 데에 도움이 된다.
하지만 previous attempts(e.g., dilated convolution and non-local blocks)에서는
computationally expensive하고, real-time object detection에서 pratical use하기에 제한이 있다.
최근 연구들은
the use of large-kernel convolutions을 재조명하면서,
depth-wise convolution을 통해 합리적인 computational cost로
receptive field를 확장시킬 수 있음을 보여줬다.
이러한 findings에 영감을 받아,
the effective receptive fields를 향상시키기 위해
CSPDarkNet의 basic building block에 depth-wise convolutions을 도입했다. (Fig. 3.b)
This approach는 more comprehensive contextual modeling을 가능하게 하고 accuracy를 크게 향상시킨다.
주목할 만한 점은,
최근의 real-time object detector들은
basic building block에서 re-parameterized(재구성된 ) convolutions을 탐구하고 있다. (Fig. 3.c&d)
re-parameterized convolutions은 inference 시 accuracy를 향상시키기 위한 free lunch로 사용되지만,
slower training speed and increased training memory와 같은 side effects를 유발한다.
또한,
model이 lower bits로 quantized된 후에 error gap이 증가하며,
이는 re-parameterizing optimizer와 quantization-aware training을 통한 compensation(보상)이 필요하다.
Large-kernel depth-wise convolution은
basic building block에 대한 re-parameterized convolution보다
training cost가 적고 model quantization 후 error gap이 적기 때문에
simple and more effective option이다.
parallel computation을 위해,
backbone stage의 block 수를 줄이고 block width를 확장하여 model capacity를 유지했다는데
이렇게 하면 왜 parallelization을 증가시키 수 있는 것인지 이해하지 못함...
backbone과 neck의 capacity를 유사하게 만든다해서 better computation-accuracy trade-off를 얻을 수 있는 것인가?
만약 그렇다면 왜 얻을 수 있는거지? 구체적인 설명과 가설을 얘기해줬다면 좋았을 것 같다.
(내 생각)
neck에서는 backbone에서와 달리 multi scale feature들에 대한 feature extraction이 진행된다.
구체적으로 neck에서는 high-quality(low resolution) feature map과 low-quality(high resolution) feature map이 fusion되어 더 중요한 feature extraction이 이루어진다.
따라서 backbone의 computation이 neck에 옮겨지는 것은 neck에서 더 중요한 feature extraction이 증가하는 것이기 때문에 accuracy가 증가할 수 있을 것 같다.
하지만 low resolution과 high resolution까지 다양한 크기의 feature map을 다루기 때문에 computation도 증가할 수 있을 것이다.
그래서 논문에서는 이 trade-off를 적절하게 하기 위해, backbone과 neck의 capacity를 유사하게 만들었다는 것으로 이해했다...
Real-time object detectors는 일반적으로 higher performance를 위해
model capacity를 향상시키기 위해 서로 다른 feature scales에 대해 개별 detection heads를 사용하는데,
이는 multiple scale에 거쳐 detection head를 공유하는 것과는 다르다.
우리는 이 논문에서 다양한 design choices를 비교하고,
head의 parameter 양을 줄이면서도 accuracy를 유지하기 위해
scale 간에 head의 parameter를 공유하되, 다른 BN layer를 통합했다.
BN은 또한 Group Normalization과 같은 다른 normalization layers보다 더 효율적인데,
이는 inference 시에 training 중에 계산된 statistics(통계)을 직접 사용하기 때문이다.
BN layer를 통합했다는게 무슨 말이지?
head parameter를 공유한 것처럼 BN layer도 공유했다는 말인가?
Figure 2. caption을 봤을 때, (BN) layers are used to predict the classification and regression results for (rotated) bounding box detection
라고 되어있으니 어떠한 task든 BN layer를 통합해서 사용했다는 의미인듯.
one-stage object detector를 train시키기 위해서,
각 scale의 dense prediction은
different label assignment strategies를 통해 GT bboxes와 match될 것이다.
최근 발전은 일반적으로
training loss와 일치하는 cost functions을 matching criterion으로 사용하는
dynamic label assignment strategies를 채택한다.
(DETR의 bipartite matching)
하지만, 우리는 their cost calculation은 몇가지 limitations을 갖는다는 것을 알아냈다.
(어떤 limitation이 있는지???)
그래서, 우리는 SimOTA에 기반한 dynamic soft label assignment strategy를 제안하고,
그것의 cost function은 다음과 같이 formulated된다.
(이해 어려움..)