[OTA]Optimal Transport Assignment for Object Detection(CVPR. 2021)_ot problem-程序员宅基地

技术标签: 学习  

image-20210616112043293

1. Motivation

  • DeTR [3] examines the idea of global optimal matching. But the Hungarian algo- rithm they adopted can only work in a one-to-one assign- ment manner.

  • One-to-Many 的方法。

    So far, for the CNN based detectors in one-to-many scenarios, a global optimal assigning strategy remains uncharted.

  • Label Assignment

    To train the detector, defining cls and reg targets for each anchor is a necessary procedure, which is called label assignment in object detection.

  • Such static strategies ignore a fact that for objects with different sizes, shapes or occlusion condition, the appropriate posi- tive/negative (pos/neg) division boundaries may vary.

文中认为对于ambiguous anchors的制定是非常重要的。

  • Hence the assignment for ambiguous anchors is non-trivial and requires further information beyond the local view.

要将独立的最优分配转化为全局的最优分配。

  • Thus a better assigning strategy should get rid of the convention of pursuing optimal assignment for each gt independently and turn to the ideology of global optimum, in other words, finding the global high confidence assignment for all gts in an image.
image-20210713165434512

2. Contribution

相比于DETR的one-to–one Label Assignment,本文认为One-to-Many的Lbael Assignment同样可以对训练有帮助,也可以将制定带有global view的labels。

OT将anchor看做demander,将gt看做supplier。每一个gt供应positive label的数量看做为“每一个gt需要多少个positive anchor来完成训练过程,更好的收敛“。

OTA分别要求anchor与gt以及anchor与background pair-wise的loss,其中anchor与gt pair的transportation cost是cls和reg的loss,而anchor与background的pair-wise loss 只需要计算cls loss就好。

  • To achieve the global optimal assigning result under the one-to-many situation, we propose to formulate label as-signment as an Optimal Transport (OT) problem – a special form of Linear Programming (LP) in Optimization Theory.

  • we define each gt as a supplier who supplies a certain number of labels, and define each anchor as a de- mander who needs one unit label.

  • In this context, the number of positive labels each gt supplies can be interpreted as “how many positive anchors that gt needs for better convergence during the training process”.

  • The unit transportation cost between each anchor-gt pair is defined as the weighted summation of their pair-wise cls and reg losses.

  • The cost between background and a certain anchor is defined as their pair-wise classification loss only.

  • OTA also achieves the SOTA performance among one-stage detectors on a crowded pedestrian detection dataset named CrowdHu- man [35], showing OTA’s generalization ability on different detection benchmarks

3.Method

image-20210713213411549

3.1. Optimal Transport

  • Transporting cost for each unit of good from supplier i to demander j is denoted by c i j c_{ij} cij
  • We thus address this issue by a fast iterative solution, named Sinkhorn-Knopp
image-20210713203036483

3.2 OT for Label Assignment

m gt targets and n anchors. 根据one-to-many的关系,一个supplier有多个unit(一个unit对应一个demander),一个demander(anchor)值对应一个supplier(gt)。

  • we view each gt as a supplier who holds k units of positive labels ( s i = k s_i=k si=k, i = 1, 2, …, m)。
  • each anchor as a demander who needs one unit of label(i.e. d j = 1 d_j = 1 dj=1, j= 1,2,…, n)。

c f g c^{fg} cfg前景cost的公式如下所示:(one unit)

image-20210713204429004

其中,Lcls和Lreg分别是cross entropy loss 和 IoU Loss(也可以被其他常用损失函数取代)。α是平衡参数。

对于 c b g c^{bg} cbg背景cost的公式如下所示:

image-20210713205441722

negative labels的数量为 n − m × k n-m\times k nm×k m × k m \times k m×k表示gt共有的所有units,而n表示anchor的个数,由于每一个unit就对应一个anchor(demander)。因此剩余的数量就要分配为negative labels。

c b g ∈ R 1 ×

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43823854/article/details/118728717

智能推荐

linux kernel 之 工作队列_kernel队列-程序员宅基地

文章浏览阅读2.3k次。1. 什么是workqueueLinux中的Workqueue机制就是为了简化内核线程的创建。通过调用workqueue的接口就能创建内核线程。并且可以根据当前系统CPU的个数创建线程的数量,使得线程处理的事务能够并行化。workqueue是内核中实现简单而有效的机制,他显然简化了内核daemon的创建,方便了用户的编程.工作队列(workqueue)是另外一种将工作推后执行的形式.工_kernel队列

API:什么是API?API与interface的区别-程序员宅基地

文章浏览阅读4.4k次。  我们都知道,API就是接口,那是什么鬼呢?  1.什么是API?api接口开发,其实和平时开发逻辑差不多;但是也有略微差异;平时使用mvc开发网站的思路一般是都 由控制器 去 调用模型,模型返回数据,再由控制器把数据放到视图中,展现给用户;api开发是:使用控制器 去调用模型,模型返回数据,在有控制器 输出 json格式字符串 或者 XML 字符串,不用考虑视图,..._api和interface

vue 自定义Loading组件配合axios中使用_vue.prototype.$loading 在axios怎么取-程序员宅基地

文章浏览阅读527次。1.在components中创建Loading文件夹,然后在Loading中新建loading.vue文件<template> <div v-if="loading" class="shade"> <div class="sk-wave"> <div class="sk-rect sk-rect1"></div> <div class="sk-rect sk-rect2"></d_vue.prototype.$loading 在axios怎么取

Postman文件导入YAPI报错:解析数据为空_yapi导入数据时解析数据为空-程序员宅基地

文章浏览阅读672次,点赞4次,收藏3次。导出的postman V2转成V1。_yapi导入数据时解析数据为空

邮件发送与接收,支持163邮箱、outlook邮箱、exchange邮箱_. 集成&自动化中配置发送邮件节点,发件人邮箱账号支持哪些邮箱类型-程序员宅基地

文章浏览阅读2.5k次。邮件发送与接收,支持163邮箱、outlook邮箱、exchange邮箱依赖的jar包邮件收发公共服务层实现package com.example.demo.service.impl;import com.example.demo.model.EmailMessageBO;import com.example.demo.model.EmailSendBO;import com.example.demo.model.FileBean;import com.example.demo.serv_. 集成&自动化中配置发送邮件节点,发件人邮箱账号支持哪些邮箱类型

CUDA 纹理内存_纹理内存 cuda-程序员宅基地

文章浏览阅读519次。1、概述  纹理存储器中的数据以一维、二维或者三维数组的形式存储在显存中,可以通过缓存加速访问,并且可以声明大小比常数存储器要大的多。  在kernel中访问纹理存储器的操作称为纹理拾取(texture fetching)。将显存中的数据与纹理参照系关联的操作,称为将数据与纹理绑定(texture binding).  显存中可以绑定到纹理的数据有两种,分别是普通的线性存储_纹理内存 cuda

随便推点

C语言练习(函数指针)计算器的实现-程序员宅基地

文章浏览阅读230次,点赞11次,收藏8次。小小练习

机器人系统开发ros2-基础学习16-使用 rosdep 管理依赖关系

它是一个元包管理器,它使用自己的系统知识和依赖关系来查找要安装在特定平台上的适当包。rosdep通过检索本地计算机上的中央索引来工作,这样它就不必在每次运行时访问网络(在 Debian/Ubuntu 上,它的配置存储在/etc/ros/rosdep/sources.list.d/20-default.list)。上,还有另一个名称类似的软件包,称为python3-rosdep2.如果安装了该软件包,请确保在安装之前将其删除python3-rosdep。这是推荐的获取方式rosdep。

一次违法网站的渗透经历

这种情况为我们的渗透测试提供了一个有利的条件,因为我们可以利用这种关联性来尝试在用户资产网站上发现的漏洞或弱点来渗透目标网站。3. 利用关联性进行攻击:如果在用户资产网站上发现了可利用的漏洞或弱点,尝试利用这些漏洞或弱点来攻击目标网站。1. 识别目标网站和用户资产网站的关联性:通过网络扫描工具或手动查找,确认它们是否使用相同的IP地址范围或者是否有其他关联性,比如共享相同的网络设备或服务。通过利用用户资产网站和目标网站的关联性,我们可以更有效地发现和利用目标网站的安全漏洞,提高攻击成功的可能性。

R语言数据纵向合并rbind函数实战(以及rbind.fill函数合并两个数据列不同的dataframe)-程序员宅基地

文章浏览阅读35次。R语言数据纵向合并rbind函数实战(以及rbind.fill函数合并两个数据列不同的dataframe)

从IoTDB的发展回顾时序数据库演进史

面向工业物联网时代,以 IoTDB 为代表的时序数据库加速发展。时序数据的主要产生来源之一是设备与传感器,具有监测点多、采样频率高、存储数据量大等多类不同于其他数据类型的特性,从而导致数据库在实现高通量写入、存储成本、实时查询等多个维度存在管理难点。针对这些特性与难点,专门针对时序数据管理构建的时序数据库也在逐步成熟。以 IoTDB 为代表的国产时序数据库面向工业物联网时代,时序数据的主要应用场景...

vue3插槽的name和v-slot的研究

在父组件的template需要些v-slot/#,没写不生效,而在父组件下,而没被template包含的默认放在template且含有#default。slot可以分为具名插槽和默认,默认插槽name是default。