Anchor free系列网络之YOLOX源码逐行讲解篇--解耦Head的搭建及分析
Posted @会飞的毛毛虫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Anchor free系列网络之YOLOX源码逐行讲解篇--解耦Head的搭建及分析相关的知识,希望对你有一定的参考价值。
整个YOLOX源码的学习一定要按照以下顺序才能整体串起来:Backbone->FPN->Head->->数据读入源码->数据增强源码->loss计算源码->simOTA源码->demo.py脚本->train.py脚本。而该系列博文也遵循该顺序来逐行分析代码。注意是逐行,包括python语法,tensor维度和逐行代码的作用及应用。其实网络结构本没有任何神秘的地方,都是一些模块堆叠起来的,你完全可以没有任何理由的修改任何一个模块。看完这个系列后自己完全可以随便的去对任何网络结构做手脚,而不仅仅局限于一个调参者。
本篇讲的是YOLOX中解耦Head的搭建,在这之前一定先要看前面几篇博文,否则本篇会有很多内容看不明白。
上图是YOLOX整个解耦头的网络结构图。黄色字体为代码中的中间变量,方便理解。维度则是当采用yolox_s网络时整个网络的输出特征维度,并默认检测类别有8个。首先要明白什么是解耦头:解耦头就是将分类和检测任务分开单独进行。分类任务和回归任务在原理上是完全不一样的,将其分开进行预测,对结果的准确度是有提高的,实时证明也确实是这样的。解
以上是关于Anchor free系列网络之YOLOX源码逐行讲解篇--解耦Head的搭建及分析的主要内容,如果未能解决你的问题,请参考以下文章
Anchor free系列网络之YOLOX源码逐行讲解篇--coco数据载入及分布式训练
YOLOX 解读与 YOLOv5 匹敌的 anchor-free 目标检测器!