본문 바로가기

AI 논문

[ 꼼꼼하게 논문 읽기 ] yolov7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors 2( 2022 )

728x90
반응형

 

저번 글에 이어서 시작합니다.

너무 길어져서 나눠서 쓰게 되었습니다.

저번 글이 궁금하신 분은 아래 링크를 눌러주세요

 

2022.07.11 - [AI 논문] - [ 꼼꼼하게 논문 읽기 ] yolov7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors 1( 2022 )

 

[ 꼼꼼하게 논문 읽기 ] yolov7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors 1( 20

안녕하세요! WH입니다. 오늘은 매우 따끈따근한 논문입니다. 22년 6월에 나온 논문이자, 코드로는 오늘 기준 7일 내에 나온 논문입니다. Abstract yolov7 은 알려진 모든 object detectors를 speed 와 accuracy

developer-wh.tistory.com

반응형

 

Trainable bag-of-freebies

  Planned re-parameterized convolution

  RepConv 가 VGG에서 excellent performance를 달성했지만, 저자들이 RepConv를 ResNet, DenseNet 그리고 다른 architecture에 직접 적용했을 때, accuracy가 상당히 감소했답니다. 저자들은 re-parameterized convolution이 different network 와 어떻게 합쳐져야하는 지를 분석하기 위해 gradient flow propagation paths를 사용했답니다. 저자들은 planned re-parameterized convolution을 그에 따라서 designed 했다고 합니다.

  RepConv는 3 x 3 convolution, 1 x 1 convolution 그리고 identity connection이 one convolutional layer에서 합쳐집니다. RepConv 와 different architectures의 combination과 corresponding performance를 분석한 후에, 저자들은 RepConv의 identity connection이 ResNet의 residual과 DenseNet의 concatenation을 파괴한다는 사실을 알게되었죠. identity connection은 different feature maps에 대해 gradients의 더 많은 diversity를 제공하죠. 위와 같은 이유로, 저자들은 identity connection이 없는 RepConv ( RepConVN )을 planned re-parameterized convolution의 architecture를 design하기 위해 사용합니다. 저자들이 생각하기에, residual 이나 concatenation을 가진 convolutional layer는 re-parameterized convolution으로 대체됩니다. 물론 identity connection은 없죠. Figure 4는 PlainNet과 ResNet에 사용된 "planned re-parameterized convolution" 의 예시를 보여줍니다. 아래 그림에서 확인해 보시죠.

complete planned re-parameterized convolution experiment 에 관해서 , ablation study session에서 보여주겠다고 하며 넘어갑니다. 

  Coarse for auxiliary and fine for lead loss

  Deep supervision은 deep networks training에 사용되는 technique인데요. main concept은 extra auxiliary head를 network의 middle layers에 추가하는 겁니다. 그리고 shallow network는 guide로써 assitant loss로 weights됩니다. ResNet 이나 DenseNet 같은 converge가 잘되는 architecture에서 조차, deep supervision은 many task에서 model의 성능을 상당히 향상시킬 수 있습니다. Figure 5에서는 deep supervision이 있고 / 없는 object detector를 각각 보여줍니다. 아래서 확인해 보시죠.

이 논문에서는, 저자들은 final output에 대한 responsible하는 head를 lead head라고 부르고 training에 assist하는데 사용되는 head를 auxiliary head라고 부르겠답니다. 

  다음으로는 label assignmetn 의 issue에 대해 다루겠다고 합니다. 과거에, deep network의 training에서는, label assignment는 given rules에 따라 ground truth와 generate hard label을 직접 처리했는데요. 그러나, 요즘은 example로 object detection을 고려해보면, 연구자들은 network에 의한 prediction output의 distribution과 quality를 사용합니다. 그리고 reliable soft label을 생성하는 some calculation과 optimization methods를 사용하기 위해 ground truth와 함께 고려합니다. 예를 들면, YOLO는 bounding box regression과 ground truth의 IoU를 soft label of objectness로 사용합니다. 이 논문에서는 ground truth와 함께 network prediction results를 고려하고 soft labels를 할당하는 mechanism을 label assiner라고 부른다네요.

  Deep supervision은 auxiliary head나 lead head의 circumstances에도 불구하고 target objectives에 대해 trained 될 필요가 있는데요. soft label assigner 관련된 기술들의 development 중에, 저자들은 new derivative issue를 우연히 발견했다고 합니다. ( " soft label을 auxiliary head와 lead head에 어떻게 할당해야하는 가? " ) 이제까지의 문헌이나 연구는 이 문제를 아직까지 다룬적이 없었다고 하네요. 가장 인기있는 method의 result는 Figure 5 ( c )에 나타나 있습니다. 그것은 auxiliary head와 lead head를 분리하는 겁니다. 그러고 나서, own prediction results와 ground truth로 label assignment 실행하는 데 사용하는 것이죠. 이 논문에서 proposed된 method는 lead head prediction에 의해 lead head와 auxiliary head 둘 다를 guides 하는 new label assignment인데요. 다른 말로 하면, lead head predition을 coarse-to-fine hierarchical labels 생성하는 guidance로써 사용합니다. 이 guidance는 auxiliary head와 lead head learning에 개별적으로 사용되죠. 이 two proposed deep supervision label assignment strategies는 Figure 5 ( d )와 ( e )에 각각 나타나 있습니다.

  Lead head guided label assigner

  lead head guided label assigner는 lead head의 prediction result와 ground truth에 기반해 계산됩니다. 그리고 soft label을 optimization process를 통해 생성하죠. soft labels의 set은 auxiliary head와 lead head 모두에 대해 target training model로 사용됩니다. 이렇게 하는 이유는 lead head는 상대적으로 strong learning capability를 가지고 있기 때문에, 그것으로부터 생성된 soft label은 source data와 target data 간의 dsitribution과 correlation의 more represatative 해야하기 때문이죠. 게다가, 이런 learning을 generalized residual learning의 한 종류로 볼 수 있다고 말하죠. shallower auxiliary head가 lead head가 학습한 information을 직접 학습할수 있도록 함으로써, lead head는 아직 학습되지 않은 residual information을 학습하는 데 집중할 수 있게 되죠.

  Coarse-to-fine lead head guided label assigner

  coarse-to-fine lead head guided label assigner는 lead head의 prediction result와 ground truth를 soft label을 생성하기 위해 사용하는데요. 그러나, 이 과정에서 저자들은 두 개의 다른 soft label의 set을 생성합니다. coarse label과 fine label인데요. fine label은 label assigner가 guided된 lead head에 의해 생성되는 soft label과 같고 coarse label은 positive sample assignment process의 constraints를 relaxing하는 방법으로 possitive target으로 다루기 위해 more grides를 허용함으로써 생성됩니다. 이렇게 하는 이유는 auxiliary head는 lead head 만큼 strong하지 않아서 학습하는데 필요한 정보를 잃지 않기 위해 저자들이 object detection task에서 auxiliary head의 recall을 최적화하는 데 초점을 맞추기 때문입니다. lead head의 output에 관해, 저자들은 final output으로써 high recall results로부터 high precision results를 제거할 수 있습니다. 그러나, 저자들은 coarse label의 additional weights 가 fine label의 것과 유사하다면, prediction에서 안좋은 성능을 보일 수 있다고 강조합니다. 따라서, 이런 extra coarse positive girds가 less impact를 갖도록 하기 위해, decoder에 restrictions를 추가합니다. 이는 extra coarse positive grids가 soft label을 perfectly 생성할수 없도록 하죠. 위의 mechanism은 fine label과 coarse label의 중요도가 learning process동안 dynamically adjusted 되도록합니다. 그리고 fine label의 optimizable upper bound가 coarse label보다 항상 높도록 만들죠.

  Other trainable bag-of-freebies

  이번 section에서 저자들은 trainable bag-of-freebies에 대해 목록화한다고 하는데요. 이 freebies는 training에서 사용한 tricks라고 하네요. 그러나 original concepts는 저자들이 제안한 것이 아니라고 합니다. training details는 Appendix에 자세히 설명되어 있다고 하네요. (1) Batch normalization in conv-bn-activation topology: 이 parts는 batch normalization latyer를 직접적으로 convolutional layer에 연결합니다. 이것의 목적은 batch normalization의 mean과 variance를 inference stage에 bias와 weight로 합치기 위함이죠. (2) YOLOR에 대한 명확한 knowledge는 convolution feature map 과 더불어 multiplication manner를 합칩니다. YOLOR의 implicit knowledge는 inference stage에서 pre-computing에 의해 vector로 simplified 될 수 있습니다. 이 vector는 previous나 subsequent convolutional layer의 bais와 weight에 합쳐질 수 있습니다. (3) EMA model : EMA는 mean teacher에 사용되는 technique입니다. 그리고 저자들의 system에서 저자들은 EMA model을 final inference model로 사용하죠.

 

이 뒤의 추가적인 부분은 생략하도록 하겠습니다.

뭐 자신들이 열심히 고려해서 디자인했다

성능이 최고다를 말하는 부분이고 궁굼하시면

한번 보는것도 나쁘지 않을거 같아요

그럼 다음에 뵐게요 그럼이만!

728x90
반응형