OTA
OTA 的目的是为了更好分配目标检测正样本
什么是 OTA ?
- 经典的目标检测标签分配策略分为静态分配和动态分配,其中静态分配利用 IOU 阈值来确定,但是存在;动态分配利用预测置信度来动态分配,但是因为不能利用全局信息而会导致锚点分配模糊的问题 OTA 通过比较目标之间的相似度,将相似的目标分配到同一个检测器中,从而提高检测器的性能
- 一个好的分配策略应该摆脱为每个目标单独寻优的做法,而是从全局最优出发。OTA 将最优传输理论应用到目标检测的标签分配上,进而利用现成的 Sinkhorn-Knopp 迭代快速高效地求解
OTA 的实现步骤?
- OTA 的任务是将所有的 anchor 分配到 gt 或者 background 上,并且定义:(1)对于每对 anchor-gt pair,cost 为 pair-wise cls loss 和 pair-wise reg loss 的加权和;对于每对 anchor-background pair,cost 为 pair-wise cls loss。分配的目标是使得 cost 最小
- 求解思路:首先构建 anchor* (num_gt+background) 的代价矩阵,然后使用 Sinkhorn-Knopp 算法求解
什么是 SimOTA ?
- SimOTA 可以理解为 OTA 在目标检测领域的优化算法,直接在 anchor* (num_gt+background) 的代价矩阵应用 Sinkhorn-Knopp 算法代价太大
什么是最优传输问题?
- 最优传输理论是一种数学框架,用于解决如何以最小的成本将一个概率分布转移到另一个概率分布的问题。Sinkhorn-Knopp 算法与最优传输理论有着密切的关系,它是求解最优传输问题中的一种迭代算法
- 最优传输理论描述为 “供需关系” 的形式,假定在一个区域内有 m 个供应商和 n 个需求方。第 i 个供应商有 个单元的货物,第 j 个需求方需要 单元的货物。从供应商 i 到需求者 j 的单位货物的运输成本为 。最优传输问题的目标是找到一个最优传输方案使得供应商的所有货物可以以最低的运输成本运输给需求方
- Sinkhorn-Knopp 算法的关键在于它的迭代过程中,不断更新源域和目标域的概率分布,同时保证这些概率分布的熵(一种衡量分布随机性的物理量)最大化。这个特性使得 Sinkhorn-Knopp 算法特别适合求解那些需要加入熵正则化的最优传输问题
什么是 Sinkhorn-Knopp?
- Sinkhorn-Knopp 算法是一种求解最优传输问题的迭代算法。它的主要原理是通过不断迭代更新源域和目标域的概率分布,使得两个概率分布之间的距离最小化
- 1)初始化源域和目标域的概率分布
- 2)计算源域和目标域之间的代价矩阵
- 3)使用 Sinkhorn-Knopp 算法进行迭代更新
- 4)当满足收敛条件时,输出最优传输矩阵