文章目录

  • 1. idea
  • 2. 网络结果
    • 2.1 hm分支
    • 2.2 wh分支
    • 2.3 reg分支
  • 3. 数据+loss
  • 4. 推理
  • 结果
  • reference

摘要:
centernet是单阶段的目标检测网络,采用高斯图来表示目标,速度很快,比YOLOV3更快,效果方面没有对比过。网上也没有具体的对比。

这篇通过读代码的方式来解读centernet,先来张图:

1. idea

文章主要用高斯分布来表示目标,就是一个目标用高斯分布来覆盖,目标中心点的值越大。

2. 网络结果

2.1 hm分支


整个网络主要有bone net特征提取网络和输出部分组成,网络结果如上图所示,特征提取网络就不细讲了。用高斯分布来表示目标,网络第三个分支/hm输出部分网络如下:

nn.Sequential(    nn.Conv2d(64, 256, kernel_size=3, padding=1, bias=True),nn.ReLU(inplace=True),nn.Conv2d(256, classes, kernel_size=final_kernel, stride=1, padding=final_kernel // 2, bias=True))

其实就是一个conv2d(64,256),relu(),conv2d(256,1),最后的输出为n_category×128×128,一个类别一个通道,其中每个点的值表示:是目标的概率有多大。上图是只有一个类别的情况。

2.2 wh分支

网络定义为:

nn.Sequential(    nn.Conv2d(64, 256, kernel_size=3, padding=1, bias=True),nn.ReLU(inplace=True),nn.Conv2d(256, 2, kernel_size=final_kernel, stride=1, padding=final_kernel // 2, bias=True))

分支最后输出:2×128×128,所有类别用共同的预测宽度w和高度h。

2.3 reg分支

网络定义为:

nn.Sequential(    nn.Conv2d(64, 256, kernel_size=3, padding=1, bias=True),nn.ReLU(inplace=True),nn.Conv2d(256, 2, kernel_size=final_kernel, stride=1, padding=final_kernel // 2, bias=True))

分支输出:2×128×128,每个点的两个值表示,当前index为目标时hm输出位置的偏差,所有类别用共同的w,h预测值。

总结: 整个网络还是很好理解的。


3. 数据+loss

  1. 分类误差
    采用的focalloss,target是一个n_cat×128×128的矩阵,每一个channel表示一个类别,128×128的每个值是用高斯分布覆盖目标处理出来的。
  2. 尺寸误差
    target是:(2×n_category)×128×128矩阵,用L1_loss。
  3. 中心点修正误差
    target是:(2×n_category)×128×128矩阵,用L1_loss。

4. 推理

  1. 网络前向传播
output = self.model(images)[-1]
hm = output['hm'].sigmoid_()
wh = output['wh']
reg = output['reg']

就是正常的前向,hm的输出要经过sigmoid。

  1. 对hm用max_pool2d(3*3)进行滤波
hmax = nn.functional.max_pool2d(heat, (kernel, kernel), stride=1, padding=pad)
  1. 根据hm的值筛选出前100
scores, inds, clses, ys, xs = _topk(heat, K=K)
  1. 对结果进行一些后处理,比如中点+reg等

结果

reference

  1. 【论文笔记】CenterNet:Objects as Points
  2. centernet源码

看代码解读CenterNet :Objects as Points相关推荐

  1. centernet: objects as points

    轻松掌握 MMDetection 中常用算法(七):CenterNet - 知乎文@ 0000070 摘要 在大家的千呼万唤中,MMDetection 支持 CenterNet 了!! CenterN ...

  2. CenterNet:Objects as Points论文阅读笔记

    CenterNet论文阅读笔记 (一)Title (二)Summary (三)Research Objective (四)Problem Statement (五)Method 5.1 Loss Fu ...

  3. 论文精读——CenterNet :Objects as Points

    论文精读--CenterNet :Objects as Points 论文地址:https://arxiv.org/pdf/1904.07850.pdf 机构:UT Austin,UC Berkele ...

  4. CenterNet :Objects as Points 详解

                                                              论文题目:Objects as Points                     ...

  5. CenterNet:Objects as Points代码解析(九):通过高斯函数画热点图

    原理参考https://zhuanlan.zhihu.com/p/96856635 确定高斯半径 def gaussian_radius(det_size, min_overlap=0.7):heig ...

  6. EMANet:Expectation-Maximization Attention Networks for Semantic Segmentation论文解读和代码解读

    官方项目地址:含论文和代码 来自北大才子 立夏之光的 ICCV Oral ,理论很漂亮.属于Non local方式 Updated on 2020.1.6 最近一直有人私信我,这个attention ...

  7. CenterNet:Objects as Points论文学习笔记+代码复现(demo+训练数据)【检测部分】

    目录 1.关键部分Heatmap了解 2.Centernet论文细节: 3.尝试复现CneterNet--INSTALL.md安装: 4.尝试复现CneterNet--跑跑demo.py: 5.尝试复 ...

  8. 目标检测系列(八)——CenterNet:Objects as points

    文章目录 摘要 1. 引言 2. 相关工作 3. 准备阶段 4. objects as points 目标即点 4.1 3D检测 5. 实施细节 7. 总结 8. 代码 8.1 训练 8.2 测试 摘 ...

  9. 狗都能看懂的CenterNet讲解及代码复现

    文章目录 前言 网络结构 Backbone 数据读取 Loss计算 模型预测 预测结果后处理 预测框转换 训练 tensorboard 可能会出现的现象 总结 论文: https://arxiv.or ...

最新文章

  1. 如何做一个听话的 “输入框”
  2. 【Linux学习九】负载均衡
  3. Zend_Db_Table详解
  4. OpenGL HDR渲染
  5. 大四中软实习笔记201303011文件
  6. linux info命令详解,Linux info 命令简介
  7. 2009年南京辞职当日
  8. 金万维异速联服务器重装,金万维异速联服务器配置说明.doc
  9. 业务系统安全工程在阿里的实践|阿里巴巴DevOps实践指南
  10. MD5 JS实现加密
  11. 大连英语培训商务英语百家外语当今社会学习商务英语的重要性
  12. 【Lighthouse教程】Win10远程连接同步代码
  13. 兴趣题:猴子吃桃问题
  14. 图神经网络在推荐系统的应用!
  15. idea重启端口占用问题
  16. 【网络安全】细分领域总览
  17. 启动修复无法修复计算机win10,win10系统使用“sfc /scannow”修复系统提示Windows资源保护无法启动修复服务怎么办...
  18. NovalIDE自动补全插件介绍。
  19. 安卓和php接口数据传输加密,安卓与PHP间的RSA(openssl)交互加密的坑
  20. 计算光学和计算机科学与技术,光学计算会是未来发展方向吗?

热门文章

  1. gis连接表格到数据库失败_arcgis连接到数据库失败,常规功能故障
  2. 七大云架构设计在线绘图工具
  3. Scikit-Learn机器学习(knn算法)
  4. 【CTF WriteUp】UTCTF 2020部分题解
  5. 差异数据的对比和整理
  6. Neo4j登录报错Neo4j Server shutdown initiated by request解决
  7. 五年级上册计算机工作总结,小学五年级信息技术上册教学工作总结范文
  8. c++的一些小知识点
  9. 鸿蒙比安卓流畅,华为鸿蒙系统首升用户体验:流畅得不像话,专属应用体积超小!...
  10. jsp未正确拼写字 mysql_江西26个英文字母的正确拼写方式