CenterNet
Objects as Points
anchor-free系列的目标检测算法,只检测目标中心位置,无需采用NMS
1、主干网络
采用Hourglass Networks [1](还有resnet18 with up conv layer,以及DLA-34),这是一个用于人体姿态检测的网络,网络结构如图,
特点是类似一个沙漏结构,两头大,中间小,右边特征需要左边特征融合。几个网络特点是输入512*512,输出128*128

2、输出
输出包括三部分
hm(heatmap):128*128*80(类别),heat中最大点的位置代表了检测目标的中心点,
wh:128*128*2,输出对应位置上的heigt和width
reg:128*128*2,输出对应中心点的偏移
3、训练
(1)训练时标签,以目标中心形成一个高斯分布

(2)损失函数
损失函数包括三部分
logistic regression with focal loss:N是keypoints个数, α and β是focal loss的超参。
当标签Y=1时,如果exsy example时,损失就小,反之就大;如果Y=0时。相较于focal loss,
多了一个惩罚项
,这个惩罚项的意义在于,对于负样本,当距离中心点较近时,
这个值比较小,反之比较大。即对很接近负样本的样本 ,loss比重降低,不是那么负的样本,loss比重升高。
【2】认为其处理了正负样本的不平衡。

中心偏移损失

size损失(h,w不经过标准化)

其中 
4、推理
分为3个部分
(1)pre_process
输入图片,给出图片的中心点,尺度(可多尺度测试),输出的长宽
meta = {'c': c, 's': s,
'out_height': inp_height // self.opt.down_ratio,
'out_width': inp_width // self.opt.down_ratio}
(2)process 输出
output = self.model(images)[-1]
hm = output['hm'].sigmoid_()
wh = output['wh']
reg = output['reg'] if self.opt.reg_offset else None
将输出做一个解码
dets = ctdet_decode(hm, wh, reg=reg, cat_spec_wh=self.opt.cat_spec_wh, K=self.opt.K)
在128*128个中心点中,只输出top100个中心点
detections = torch.cat([bboxes, scores, clses], dim=2)# 1*100*6
(3) post-process
最后又做了放射变换,但没看明白为什么要做这个
【1】Stacked hourglass networks for human pose estimation
【2】https://zhuanlan.zhihu.com/p/66048276
CenterNet的更多相关文章
- 论文阅读笔记五十一:CenterNet: Keypoint Triplets for Object Detection(CVPR2019)
论文链接:https://arxiv.org/abs/1904.08189 github:https://github.com/Duankaiwen/CenterNet 摘要 目标检测中,基于关键点的 ...
- 论文阅读 | CenterNet:Object Detection with Keypoint Triplets
相关链接 论文地址:https://arxiv.org/abs/1904.08189 代码链接:https://github.com/Duankaiwen/CenterNet 概述 CenterNet ...
- 【目标检测】关于如何在 PyTorch1.x + Cuda10 + Ubuntu18.0 运行 CenterNet 源码
这几天一直在尝试运行CenterNet的源码,但是出现各种问题,本已经打算放弃,中午吃完饭又不甘心,打算重新安装环境再来一遍,没想到竟然成功了.所以,坚持下去,黑夜过后便是黎明. 注意:gcc/g++ ...
- 【论文阅读】Objects as Points 又名 CenterNet | 目标检测
目录 Abstract Instruction 分析 CenterNet 的Loss公式 第一部分:\(L_k\) 第二部分:\(L_{size}\) 第三部分:\(L_{off}\) Abstrac ...
- zz扔掉anchor!真正的CenterNet——Objects as Points论文解读
首发于深度学习那些事 已关注写文章 扔掉anchor!真正的CenterNet——Objects as Points论文解读 OLDPAN 不明觉厉的人工智障程序员 关注他 JustDoIT 等 ...
- centernet 相关
1.下代码 git clone https://github.com/Duankaiwen/CenterNet.git 2.
- CenterNet算法笔记(目标检测论文)
论文名称:CenterNet: Keypoint Triplets for Object Detectiontection 论文链接:https://arxiv.org/abs/1904.08189 ...
- win10 + cuda10.0 + pytorch1.2 + CenterNet 环境搭建
心血来潮,想跑个 CenterNet 检测瞅瞅...麻蛋,有非官方层 一.下载好 CenterNet 源码 https://github.com/xingyizhou/CenterNet 二.注意你需 ...
- anchor-free : CornerNet 和 CenterNet 简要笔记
CornerNethourglass network -> prediction module = corner pooling -> heatmaps + embedding + off ...
- CPNDet:粗暴地给CenterNet加入two-stage精调,更快更强 | ECCV 2020
本文为CenterNet作者发表的,论文提出anchor-free/two-stage目标检测算法CPN,使用关键点提取候选框再使用两阶段分类器进行预测.论文整体思路很简单,但CPN的准确率和推理速度 ...
随机推荐
- fstab中使用设备的uuid
设备定位的方法有: 设备名称, 如:/dev/sda1, 随着linux内核加载模块顺序在每次启动的时候可能会不同, 在插拔U盘/移动硬盘的时候, 设备分配到的名称可能不同,这样fs映射就会失败 因此 ...
- pandas中根据列的值选取多行数据
# 选取等于某些值的行记录 用 == df.loc[df['column_name'] == some_value] # 选取某列是否是某一类型的数值 用 isin df.loc[df['column ...
- EMQTT测试--安装与测试 (windows)
我下载的是windows版 安装 参考http://emqtt.com/docs/install.html 将下载的压缩包解压,我解压到了D盘 命令行窗口,cd到程序目录 控制台模式启动: .\bin ...
- Linux日志筛选命令
(1)Linux目录操作命令 cd ..退出当前目录,返回上一级目录:cd / 退出当前目录,返回根目录: mkdir命令用于创建一个新的目录:rmdir命令功能删除指定的空目录. (2)Linux筛 ...
- 使用Nginx做WebSockets代理教程
WebSocket 协议提供了一种创建支持客户端和服务端实时双向通信Web应用程序的方法.作为HTML5规范的一部分,WebSockets简化了开发Web实时通信程 序的难度.目前主流的浏览器都支持W ...
- 如何利用Nginx的缓冲、缓存优化提升性能
使用缓冲释放后端服务器 反向代理的一个问题是代理大量用户时会增加服务器进程的性能冲击影响.在大多数情况下,可以很大程度上能通过利用Nginx的缓冲和缓存功能减轻. 当代理到另一台服务器,两个不同的连接 ...
- JMeter接口测试印象篇(win10)
参考博文1:https://www.cnblogs.com/suim1218/p/9257369.html 参考博文2:https://blog.csdn.net/u011541946/article ...
- 【ABAP系列】SAP ABAP7.40新语法简介第一篇
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP7.40新语法简 ...
- MySQL各种函数/语法
@limit pos,len select * from table limit 5,10 只显示查出结果的6-15行 ---------------------------------------- ...
- magento下载地址
https://download.magentochina.org/magento/2/ https://www.magentochina.org/blog/download-install-mage ...