YOLOX:SimOTA算法细节

SimOTA的思想是:以最小的代价cost得到最好的学习效果。

SimOTA首先进行预筛选,与FCOS类似,YOLOX有一个类似于FCOS中subbox的概念,称为fixed center area,也就是说,当样本点同时落入GT和fixed center area时,才会通过筛选,如下图所示,橙色√为通过筛选的样本点。下图引用自@太阳花的小绿豆。

YOLOX:SimOTA算法细节

计算prediction-gt对的匹配度,即这个对(pair)的cost,计算公式为:

YOLOX:SimOTA算法细节

其中λ为平衡系数,Lcls为gt和prediction之间的类别损失,Lreg为gt和prediction之间的回归损失。在代码中并未按这个公式计算,代码中的计算如下所示:

cost = (
            pair_wise_cls_loss
            + 3.0 * pair_wise_ious_loss
            + 100000.0 * (~is_in_boxes_and_center)
        )

然后开始构建矩阵,一个矩阵是筛选出的样本点与所有GT的cost矩阵,另一个矩阵时筛选出的样本点与所有GT的IoU矩阵,如下图所示:

YOLOX:SimOTA算法细节

IoU矩阵横向求和并向下取整后得到的值即为该GT所要分配的正样本数k,这种策略在OTA一文中称为dynamic k estimation。对于GT1而言,需要分配3个正样本,那么在cost矩阵中GT1一行中将cost由小到大排序后选择前三个样本点作为正样本,即样本点1、样本点6、样本点2。以此类推对GT2和GT3的正样本进行分配。

值得注意的一种特殊情况是:若某一个样本点被同时分配给了多个GT,比如样本点3倍同时分配给了GT2和GT3,那么这时候那个GT的cost小,就由哪个GT进行分配。

YOLOX论文链接:YOLOX: Exceeding YOLO Series in 2021​​​​​​​

OTA论文链接:OTA: Optimal Transport Assignment for Object Detection(孙剑大佬:想不到吧,YOLOX是我写的,OTA还是我写的)

Original: https://blog.csdn.net/weixin_44808161/article/details/125824386
Author: Taylor不想被展开
Title: YOLOX:SimOTA算法细节

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/650201/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球