IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> Corner Proposal Network 论文阅读(2020ECCV) -> 正文阅读

[人工智能]Corner Proposal Network 论文阅读(2020ECCV)

Introduction

引言

介绍了anchor base 和 anchor free 与one stage 和 two stage ,然后说通常认为的anchor base 有低召回的问题,anchor free 对于极端的size 和 aspact ratio 的样本也能够能好的定位。

这里anchor free 也分为两种也有区别。一种是基于keypoint 的方法,另一种是基于分割的方法对每一个位置都进行边界预测。keypoint的方法不受这种奇怪size的影响如corner net ,center net ,但是后者比如fcos,border net 这些事预测边界,遇到size很奇怪的(长宽比10:1)回归也会有困难。

但是通常认为one stage 会生成很多false positives,所以需要two stage 增加一个独立的分类器区分正负样本。所以提出了一个 anchor free 的 two stage 的 network.

问题

就是说这个经典的Corner net,存在一个严重的问题,之前是通过distance embeding 层生成所有的点对,然后这些点对的位置都为一个object,那么就会生成特别多的错误正样本。

方法

two stage,先使用对应的feature进行提取proposals,然后二阶段分类器进行proposals的错误正例去除,剩下的就每一个点对就对应一个object,再多类分类。跟这个rpn的感觉是一样的,但是是anchor free的。

Motivation

就上述讨论了anchor base 的低召回问题后,采用了召回率高的anchor free,但是随之而来的就是高召回低准确率的问题。作者对比了corner net 与 center net 发现center net 添加了一个中心点的过滤而去除了一些false positive,但是显然的是并不能完全去除完所有的错误正例。

Idea

提出了一种two stage的famework,backbone是hourglass,一阶段先通过Corner net 生成 corner point 以及对应的proposals,二阶段通过专门的分类器去除false positive 和多分类回归。

One stage

首先使用与Corner一致的方法两个heat map 分别生成左上角和右下角角点以及对应的类别,然后ground-truth的角点使用高斯函数分散成一个区域,通过focal loss计算定位误差,在通过feature生成offset loss。

但是列举了一下Cornet 原论文中 distance embedding 问题,比如:

1.并没有证明该embedding的可学习性(learnable)

2.只是将训练中不属于同一物体的点在embdding层上给不同的值以达到分离效果,但是对于没有见过的场景,比如将几张训练图片拼接在一块的时候,之前在对应分开图片上表现效果很好的该方法也会直接崩掉(暂时还是不太知道怎么去理解这句话?,yolov4中有对应的训练方法,估计是作者用了但是效果很差)

所以,直接丢弃该embedding层,采用two stage,那么对于该第一层只是用了一些简单的条件判断,比如是属于同一类,以及左上角x,y小于右下角这种筛选去除一部分点对,剩下所有满足条件的点对都是这个stage的输出proposals。

Two stage

因为一阶段给出的proposals 还有很多,文章中说大概有2500个,所以二阶段又两个步骤,第一个步骤是通过一个二值分类器进行前后景分类,再多类分类。

第一步如上图中间部分,使用高分辨率(channel为32)的特征层直接通过RoiAlign将proposal从特征层中到77大小的roi,然后直接使用77的卷积获得对应proposal的分数。这个分数拿来做二值分类。跟匹配最大iou的ground truth框框如果大于0.7算做正例,不然算作负例。然后Focal loss 计算损失,这里的focal loss也是作者自己提出的一种损失函数,跟原focal loss 不太一样,Loss 函数如下。

Pm表示第m个proposal是正例。

第二步就是拿到第一步中的正例,之前one stage部分其实已经有了角点的分类,但是说这不一定就是准确的,因为之前分类缺少ROI的信息,corner之前的分类也就是角点位置特征去分的类。所以就需要iou大于0.7的proposal再做多类分类。同样的,如上图第三层,在分辨率低的特征图上(语义信息高一点)去roialign的特征拿去分类,分类损失如下。

Qm,c表示第m个proposal是对应第c个类别。

最终的loss(前两个是一阶段的,对应corner net里边的去掉embedding的损失,后两个是二阶段的)

推理部分

这里作者说了一下实际推理的时候,因为预测分数pm,qm.c都趋向于0,所以iou那个阈值取的是0.2使得保留更多的proposal。

然后就是因为有两次多类分类的类和分数,一次是corner,一次是两个corner对应的proposal的分数。这两个类有可能相同也有可能不同,但是最终的类别是按照proposal的。分数的话,对于两个角点的平均值分数为s1,proposal的分数为s2,两次分类共同决定最后的结果,但是如果某个分数大于0.5就加中他的比重,例如最终的分数Sc=(S1+0.5)(S2+0.5)(if s1>0.5 s1+0.5:s1)再归一化到(0,1)。

然后就是取最高分数top100,再nms得到结果。

Experiments

跟各个主流算法对比,在anchor free中获得map sota

二阶段的消融实验,两次分类。?

因为是从corner net 和center net 的问题中来的,对标一下motivation中解决average false posotives.

?

Speed

这也算作者一个体现论文很好的实验,在精度和速度上做了很好的trade-off,作者原话:

This indicates that two-stage detectors are not necessarily slow

Conclusion

提出了一个二阶段的,anchor-free的目标检测网络,使用提取keypoint的方式提取出proposals,使用二阶段二值分类过滤错误正例,再对剩下的框进行分类得到结果。在召回率和准确率上都有提高,同时也对速度和精度做了很好的tradeoff。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-04-01 23:22:47  更:2022-04-01 23:24:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/9 0:19:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码