【文章解读】FreeAnchor: Learning to Match Anchors for Visual Object Detection

[FreeAnchor]FreeAnchor: Learning to Match Anchors for Visual Object Detection[NeurlPS 2019] paper:https://arxiv.org/pdf/1909.02466.pdf code:https://github.com/zhangxiaosong18/FreeAnchor33rd 文章目录1. Motivation2. Contribution 1. Motivation 2. Contribution 阅读详情

一、简介

     这些年已经有不少基于深度学习的目标检测的文章了,从最开始的Anchor based 到后来的 Anchor Free。但是解读这篇文章,主要是由于他的出发点比较新颖---Free Anchor。

     虽然叫Free Anchor,但是依然是Anchor based的方法,只不过他打破了一直以来的Anchor分配机制。

二、回顾Anchor分配机制

    

       上图是来自于SSD的分析,对于不同尺度大小的feature map,每个pixel都会负责预测k个框,这个k就是预先设置好的Anchor数量,图中的虚线框也就是anchor。

        以前,在进行对于所有预测出来的结果box,进行loss计算的时候,会将anchor+偏移=结构box,与groundtruth进行比对,这个比对的过程就是利用IoU,只要预测框与目标物体的框IoU达到了一定阈值,那么这个框就算是正样本,当然如果一个anchor与多个目标物体都达到了阈值怎么办?直接选IoU最大的就好了!

        其他的都是负样本~~~,当然训练过程中会设置正负样本的比例,因为通常负样本会很多!

        这个方式,看似非常的合理,并且一直沿用至今,实际应用中也是非常有效的!但是这个方式毕竟也是经验式的!

        大家可以看下面这例子:

                          

        看完这两张图,想必大家不说也懂我想说什么了!!!!!嗯~~~~,词穷~~~~!因为现实世界中很多的目标物体,并不是规则,比如月亮,他们是偏心的!这也就导致了越是中心的点的feature 越是背景!无法代表这个目标,红色框与绿色框虽然IoU很高,如果按照传统方式判定为正样本!显然不好!

三、回到文章中来

       在文章中,把传统的Anchor分配方式称之为“IoU restriction”!文章对于传统方式给出了两方面的评价:1、并不是所有的目标物体都是规则的,很多时候物体是偏心的,瘦长的!或者说物体会被遮挡,比如图像中猫挡住了笔记本电脑,导致了笔记本电脑属于偏心的目标!2、On the other hand, it is infeasible to match proper anchors/features for objects using IoU when multiple objects come together.我感觉这句话有点重复吧,总之就是说传统的方式不灵活!毕竟对于不灵活,不智能的点进行优化,基本上都能提升效果!

     文章提出了自己的方法,并且把这个方式和损失函数联系起来,从而可以优化!和损失函数联系起来的方式叫“极大似然估计”,添加上负号和log,就得到了可以最小化的损失!

 

        上图中,上半部分是传统的anchor分配方式,基于这种方式无论这个pixel位置是否包含了“有效特征”,只要IoU达到了就是正样本!在计算损失函数的时候,就比必须带上它!这个时候,基本上我们也就发现问题了:引入了基于背景特征的正样本!强行让背景信息预测!

       这个公式就是传统的训练损失,A是anchor的集合,A_代表饿了没有配上正样本的那些,因此就是负样本。B代表了label中的目标全体,Cij则是0,1值,用于表示第i个目标和第j个anchor配上了。分类用BCE损失,回归用SoomthL1.

      在本文中,利用极大似然的想法来建立损失函数:因此上面的损失函数就可以转换为如下公式:

 四、文章核心       

     上面的公式中,“类别”和“回归”这两部分是分开计算的!本文的以思想就是,一个pixel位置是否能够预测box,应该具有两个特点:“能够拥有高的分类置信度” 以及 “框的IoU也高”。

        引入这两个公式,对应了常会用到的:召回率 与 精度,两个指标。对于召回率而言,需要为每个目标都能提供至少一个anchor,并且基于这个anchor的两类特性都应该接近对应的label。对于精度而言,“classify the anchors of poor localization into the background class”

        

       这个部分代表了,第j个anchor与所有的目标b都没有配对上的概率,这个概率的计算来自以上的计算方式,1-能配上的最大概率。当然,想要在网络模型中计算,就要建立一些公式来实现:

                                          

到这里,也就基本上知道这个网络需要优化的目标函数的计算方式了:

五、最最最核心部分到了

      损失函数,需要把极大似然换成最小化的形式。

      那么如果只是简单的使用max来完成,Free Anchor,显然大家会觉得有点敷衍!!!而且效果肯定也不太行,原因如下:训练初期,所有的anchor置信度都很低,那么这个时候选一个max的?有没有意义?(我觉得这应该也是可以的,现实一种随机,或者平均?有没有大佬说一说?)

       处于上面这个原因,作者提出了一种替代直接使用max的方法:

                 

     这个函数,一开始会是一种平均策略,随着训练的加深,anchor们的,置信度开始出现差异,最终是一个max。因此进一步优化后的损失函数如下,加入了两个权重和focal loss:

   Ai怎么来的呢?就是对于bi这个目标,利用IoU,从anchor们中选择top n个,就形成了一个A i 子集。文中原话如下:

六、效果对比

 

【AI视野·今日CV 计算机视觉论文速览 第155期】Fri, 6 Sep 2019 AI视野·今日CS.CV 计算机视觉论文速览 --关键点检测 --时尚图像合成 --领域知识软迁移 --视频测高度 --图像文字标注评测 阅读详情

相关推荐

浅析 FreeAnchor 目标检测算法

anchor-free 的方法能够在精度上媲美 anchor-based 的方法,最大的贡献应该归功于 FPN,其次归于 Focal Loss。在每个位置只预测一个框的情况下,FPN 的结构对尺度起到了很好的弥补,FocalLoss 则是对中心区域的预测有很大帮助。 ...

weixin_42108090的博客 1276

FreeAnchor: Learning to Match Anchors for Visual Object Detection论文详解

问题 在基于anchor的目标检测算法中,训练时,通常通过anchor和真实object 框之间的IoU来决定该anchor是否用来预测object (包括类别和位置),通常IoU超过某一阈值则认为该anchor为正例(即作为预测object ),小于某一阈值则认为该anchor为背景。本文的思想就是通过修改loss函数去除人工参与指定anchor的过程,使网络能够自主学习选择哪个anchor和真...

Suan2014的博客 1545

FreeAnchor:Learning to match anchors for visual object detection论文翻译.doc

FreeAnchor:Learning to match anchors for visual object detection论文翻译

FreeAnchor:令anchor自由匹配标签的策略

前言 本文将要介绍一种为训练样本分配标签的策略,这种策略称作 FreeAnchor,注意不是 anchor free 哦!FreeAnchor 是用于 anchor-based 体系下的策略,那么它到底free在哪里呢?anchor还能玩起freestyle? 是这样的,FreeAnchor 指的是在训练过程中让anchor能够根据模型当前的表现来自由匹配标签,而非基于硬性规则为anchor分配标签。 什么叫基于硬性规则?最常见的就是基于IoU的规则,即当anchor和某个gt box的IoU超过预设

soaring_casia的专栏 1277

FreeAnchor:Learning to match anchors for visual object detecti翻译.pdf

FreeAnchor:Learning to match anchors for visual object detecti翻译.pdf

震坤行:企业 MRO 物料标准化革新之路

那产生这些问题的原因是什么呢?要想解决此问题,企业高层必须下定决心对历史数据进行梳理,并善于利用信息技术,融合企业管理的流程机制,建立起一套适合企业发展的物料标准化管理体系,循序渐进,逐步规避由物料不规范带来的管理问题,最终使得这套标准化体系能够满足企业多元化业务发展需要。国内某电子制造头部企业原先内部物料无对应分类,仅有物料编码,给企业对采购、领料的过程中造成极大的不变,基于震坤行的目录结构,预测物料对应的分类,预测准确率达到80%以上,再辅以人工校正,最终搭建起一套标准的目录体系,如图2.2所示。

carson99的博客 420

FreeAnchor: Learning to Match Anchors for Visual Object Detection阅读

摘要 现在基于CNN的算法都是使用IOU对目标分配Anchor,我们提出一种方法打破了IOU的限制,允许自由的分配Anchor。我们的方法,称为自由锚(FreeAnchor),将手工锚分配升级为“自由”锚匹配。 FreeAnchor的目标是学习最能分类和定位的特征。FreeAnchor可以和基于CNN的检测器随意融合。 介绍 为了使用有限卷积特征表示具有各种外观,纵横比和空间布局的物体,大...

p1048052071的博客 3284

深入解析 ReDoc:从零构建高性能 API 文档的终极指南

ReDoc 是一个强大的开源工具,用于将 OpenAPI 规范转换为高质量、响应式的 API 文档。本文详细介绍了如何使用 ReDoc 构建和自定义 API 文档,包括如何编写支持 OpenAPI 的 API 注解、配置 HTML 页面以加载文档,以及如何利用 ReDoc 的高级功能进行定制。通过实例代码,您将学会如何灵活地展示 API 文档,提升用户体验。无论是初学者还是经验丰富的开发者,都能从本文中获得实用的技巧与方案,帮助快速搭建符合需求的 API 文档界面。

楠搏万的博客 4621

FreeAnchor 原理与代码解析

论文FreeAnchor: Learning to Match Anchors for Visual Object Detection 官方代码https://github.com/zhangxiaosong18/FreeAnchor 作者指出IoU-based label assignment对于acentric, slinder, crowded objects,其正负样本的分配可能效果不好。比如以下图的月亮为例,其中绿框是gt box,红框是anchor,在基于IoU的规则下可...

00000cj的博客 1124

从零到一:高通Memory QMVS测试环境搭建的避坑指南

本文详细介绍了高通Memory QMVS测试环境搭建的全流程避坑指南,涵盖硬件选择、软件配置、QMVS核心组件安装及测试执行技巧。重点解析了adb工具配置、QPST日志抓取等关键步骤,帮助工程师高效搭建稳定测试环境,避免常见兼容性和稳定性问题。

weixin_29251567的博客 555

UE4_用户控件_6_通过控件蓝图内部变量来修改进度条的值

发现控件类图类的引用和用户控类引用不兼容,修改变量类型。我们需要添加到视口,同时设置输入模式。创建按钮的点击事件,当点击时调用角色的自定义事件clearwidget。可以了,但是没有退出控件,没有鼠标,所以改进一下。

Growthofnotes的博客 1236

论文阅读:FreeAnchor: Learning to Match Anchors for Visual Object Detection

文章目录1、论文总述2、手工设计的基于IOU的anchor分配的不合理3、anchor与GT匹配时的3个准则4、一种可以借鉴的性能对比方式 1、论文总述 本篇论文并不是anchor-free检测模型,是在RetinaNet的基础上进行改进,原先的正负样本分配都是根据手工设计的anchor与GT的IOU,作者认为这样不好,就想自适应的选择anchor作为正样本,具体做法:从IOU值较高的许多anchor中,让网络自己选择正样本(free anchor是这个意思),这块好像是用的最大似然估计做的,该过程从每个对

j879159541的博客 376

深入解析DDR5 RFM机制:从JESD79-5标准到硬件实现

本文深入解析了DDR5内存标准中的关键机制——RFM(Refresh Management)。文章从JESD79-5标准出发,详细阐述了RFM如何通过RAA计数器实现从被动定时到主动响应的智能刷新管理,并探讨了其硬件实现细节、命令调度挑战及系统级设计考量,为芯片设计工程师优化DDR5内存子系统性能与可靠性提供了实践指导。

fff88的博客 486

Consistent Optimization for Single-Shot Object Detection - 你的anchor用对了吗?

论文名称:Consistent Optimization for Single-Shot Object Detection 作者:Tao Kong & fuchun Sun & Huaping Liu & Yuning Jiang & Jianbo Shi 论文链接:https://arxiv.org/abs/1901.06563 作者解读:https://zhu...

小菜鸟的AI之路 2651

PX4实战(十):PX4导航模块(Navigator)详解

本文将对 PX4 固件 v1.14.3 版本中的 Navigator(导航)模块进行详尽的技术剖析。作为飞行控制栈中的高层决策核心,Navigator 模块承担着将抽象的任务指令转化为具象的底层控制设定点的关键职责。本文基于对 src/modules/navigator 目录下源代码的深究研究与架构反推,详细阐述了该模块的文件组织结构、基于状态机的控制逻辑、uORB 异步通讯机制、核心任务模式(Mission)与返航模式(RTL)的实现细节,以及地理围栏(Geofence)与任务可行性检查(Feasibil

PX4-SLAM-PNC 666

NPU性能榨取手把手教程:RK3588上YOLOv5s多线程部署与120FPS极限探索

RK3588 YOLOv5s多线程部署优化指南 本教程深入解析RK3588芯片上YOLOv5s模型的高性能多线程部署方案。RK3588作为瑞芯微旗舰AIoT芯片,内置三核NPU(6TOPS算力)和硬件加速器(RGA/VPU),为AI推理提供强大支持。通过线程池技术,我们将视频处理的读取、推理、后处理等环节解耦并行,显著提升系统吞吐量。教程详细介绍了从PyTorch到RKNN格式的模型转换流程、INT8量化方法,以及基于RKNN C++ SDK的YOLOv5推理核心实现,帮助开发者最大化发挥RK3588的AI

LXY_LOVE36的博客 973

《FreeAnchor: Learning to Match Anchors for Visual Object Detection》笔记

Introduction 在目标检测中,从图片上预测出一些region proposals,这些region proposals会与预先设置好的anchors进行匹配,匹配的方式是nms,超过给定IoU阈值就匹配,否则不匹配。这种通过IoU指标进行匹配有缺点:在空间上对齐的region proposal,从它提取出来的特征不一定能够很好地预测object的类别和位置。论文给出了例子,对于长条形状的...

qq_24548569的博客 2075

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

如何掌握FreeAnchor:智能目标检测的完整指南与终极实践

探索FreeAnchor:智能目标检测的新纪元!FreeAnchor是一个基于深度学习的创新目标检测框架,它通过"学习匹配锚点"的方式彻底改变了传统目标检测方法。这项在NeurIPS 2019上发表的技术突破,为计算机视觉领域带来了革命性的进步。 ## 🚀 什么是FreeAnchor目标检测? FreeAnchor是一种先进的**目标检测算法**,它通过"学习匹配锚点"机制替代传统的手工锚点

gitblog_00062的博客 543

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

华硕笔记本性能调校全面升级:G-Helper极致体验终极指南

还在为笔记本性能与续航难以兼得而烦恼吗?你的华硕设备其实蕴藏着巨大的优化潜力!今天我要向你介绍一款革命性的开源工具——G-Helper,它将彻底改变你对笔记本性能管理的认知,让硬件调校变得前所未有的简单高效。 ## 技术突破亮点:重新定义硬件控制体验 G-Helper不仅仅是一个替代品,而是对传统笔记本控制软件的一次彻底革新。这个轻量级工具专为华硕笔记本设计,支持ROG Zephyrus、Fl

gitblog_00800的博客 975

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

【目标检测】37、FreeAnchor | 让网络学习如何进行 Anchor Assignment

训练早期,由于所有参数都是随机初始化而来,所以所有 anchor 的置信度都比较低,而得分较高的 anchor 越有利于模型的训练,所以,作者使用了 Mean-max 函数,来选择 anchor。Anchor-based 方法的 label assignment,一般使用 IoU 来实现,大于某个阈值的 anchor 为正样本,小于某个阈值的 anchor 为负样本,每个 anchor 的 assignment 是独立的,但手工选取的参数肯定不是最优的。在训练过程中,似然估计也就变成了 loss 函数。

呆呆的猫的博客 893

深度学习(11)之Anchor-Free详解

在生成目标候选框阶段,排名top-k的左上角和右下角角点被从heatmaps中选择出来,然后,计算一对角点间的嵌入向量的距离,如果距离小于预设的阈值,就认为这两个点属于同一个物体,就会根据这两个角点生成一个bounding box,同时,根据两个角点的得分计算一个平均分数作为该bounding box的得分。然后在预测的时候,如果top-left的corner和bottom-right的corner的embedding值特别接近,比如一个是1.2另一个是1.3,那么这两个很有可能属于一个目标;

yohnyang的博客 9542

FreeAnchor:抛弃单一的IoU匹配,更自由的anchor匹配方法 | NIPS 2019

论文抛弃以往根据IoU硬性指定anchor和GT匹配关系的方法,提出FreeAnchor方法来进行更自由的匹配,该方法将目标检测的训练定义为最大似然估计(MLE)过程,端到端地同时学习目标分类、目标检测以及匹配关系,从实验来看,效果十分显著   来源:晓飞的算法工程笔记 公众号 论文: FreeAnchor: Learning to Match Anchors for Visual Object Detection 论文地址:https://arxiv.org/abs/1909.02466v1 论文.

晓飞的算法工程笔记 890

目标检测汇总——新思路,新方法(持续更新)

(2019.09.11)FreeAnchor: Learning to Match Anchors for Visual Object Detection 新一代通用物体检测方法FreeAnchor NeurIPS 2019 论文链接 https://arxiv.org/pdf/1909.02466.pdf 开源代码 https://github.com/zhangxiaosong...

zhuzizhong的博客 1124

FreeAnchor: Learning to Match Anchors for Visual Object Detection论文翻译阅读 - 2019NIPS

FreeAnchor: Learning to Match Anchors for Visual Object Detection论文翻译阅读 目录:FreeAnchor: Learning to Match Anchors for Visual Object Detection论文翻译阅读一、Abstract二、IntroductionContributions三、The Proposed Approach3.1 Detector Training as Maximum Likelihood Estima

深度检测的博客 688
上一篇: 【文章阅读】The Devil is in the Decoder【计算机视觉中的上采样方式-6种】
下一篇: Pytorch 在训练NLP相关模型中的一些BUG
Jie Ou
博客等级 码龄10年 176粉丝 111原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值