文章目录
前言
DETR提出了基于Query的端到端目标检测算法,把目标检测看成了一个集合预测问题,大大简化了模型的训练和部署。(详见DETR的学习与分析)其中,DETR模型实现的创新点之一就是基于集合的目标函数,那么具体来说这个目标函数是如何设计的呢?二分图匹配、匈牙利算法、一对一匹配都是什么意思?
1. 二分图匹配问题
DETR模型最后的输出是一个固定的集合,即不论输入图片中包含多少目标,最后都会输出N个框(一般N远大于图片中的目标数目)。问题来了,一张图片中Ground Truth(真值)的bounding box(边界框)可能只有几个,那么如何匹配预测框与Ground Truth框呢?
作者将这个问题转化为了二分图匹配的问题。
例子:有abc三个工人,去干xyz三种工作,由于每个工人各有所长,所以完成每种工作的开销不同,如何分配工人做这三种工作,可以使开销最小?
最优二分图匹配即最后可以找到一个唯一的解,能够给每个人对应分配最擅长的工作,使得开销最小。

2.匈牙利算法
对于上述问题,可以直接暴力穷举,遍历所有可能,找出其中最小开支,但是算法的复杂度会很高。而匈牙利算法则是可以用较低的复杂度解决

DETR通过将目标检测转化为二分图匹配问题,利用匈牙利算法找到最佳框匹配,降低了复杂度。线性_sum_assignment函数用于计算最小成本匹配,其中cost_matrix包含了分类和定位loss。这种方法避免了NMS后处理,直接得到一对一匹配,简化了目标检测模型的训练和部署。
最低0.47元/天 解锁文章
1171

被折叠的 条评论
为什么被折叠?



