CenterNet算法快速入门
目录
1 简介
2 网络结构
3 损失函数
3.1 heatmap loss(改造的Focal Loss)
3.2 长宽预测loss(L1损失函数)
3.3 中心点偏移值loss(L1损失函数)
4 扩展:关节点预测和3D任务
4.1 人体关节点预测
4.2 3D目标检测
1 简介
- 时间:2019年论文《Objects as Points》
- 特点:
- 不需要anchor、也不需要NMS,模型结构简单、速度快、精度高(比yolo3高4个点)!
- 只需少量修改head,就可以改造成3D目标检测和人体关节点检测。
2 网络结构
输入:3 x 512 x 512。
backbone:特征提取器(32倍下采样) + 反卷积(8倍上采样)。
head:3个分支进行预测,每个分支用2个卷积实现。
输出:
- 80 x 128 x 128:目标分类信息和中心点位置信息,每个类单独在一个热图中,热图中最亮的一些点就是坐标信息。
- 2 x 128 x 128:所有目标的w和h信息,一个预测w,另一个预测h。每个网格与热图中目标网格一一对应。
- 2 x 128 x 128:所有目标中心点的x和y偏移量信息。
3 损失函数
因为网络输出3个部分,所以损失函数也有3个部分:
- heatmap的loss(改造的Focal Loss)
- 目标长宽预测loss(L1损失)
- 目标中心点偏移值loss(L1损失)
以下参考:https://www.cnblogs.com/silence-cho/p/13955766.html
3.1 heatmap loss(改造的Focal Loss)
备注:一个目标正样本就一个,负样本指的是热图中心点附近的点。
关于热图,看一个官方源码中生成的一个高斯分布:
每个点的范围是0-1,而1则代表这个目标的中心点,也就是我们要预测要学习的点。
3.2 长宽预测loss(L1损失函数)
3.3 中心点偏移值loss(L1损失函数)
4 扩展:关节点预测和3D任务
4.1 人体关节点预测
这个问题,本质上,就相当于把人的每类肢体关节点,定义为一个类。
如下图,假如要识别一张图上,所有人的5个关节点,那么网络输出head定义如下:
输入:一张2D图像。
输出:
- 5 x 128 x 128:5个热图,每类关节点单独在一个热图中。
- 2 x 128 x 128:所有关节点的w和h信息。
- 2 x 128 x 128:所有关节点的x和y偏移量信息。
备注:也可以训练centernet直接检测85类目标(80个coco物体类+5个人体关节点类)。
4.2 3D目标检测
3D目标检测,需要在3D数据中,预测出目标(相对拍摄相机)的depth距离、目标的3D bbox框的长宽高信息、bbox的朝向信息。
输入:2D图(但标签包含2D图的3D信息,如自动驾驶KITTI数据集)
输出:
- class x 128 x 128:每类目标单独在一个热图中。
- 3 x 128 x 128:长、宽、高信息。
- 1 x 128 x 128:depth距离信息。
- 8 x 128 x 128:3D bbox的朝向信息。
效果类似如下:
具体方法参考:https://zhuanlan.zhihu.com/p/350610859
CenterNet算法快速入门相关推荐
- 算法快速入门-基于《算法图解》的算法入门教程(3)
目录 一.问题引入 二.图的介绍 三.广度优先搜索 四.实现图 五.实现算法 1.创建一个队列,用于检查要检查的结点 2.从队列中弹出一个结点 3.检查这个结点是不是原结点的邻居 a)是,则找到目 ...
- 【51单片机快速入门指南】4.3.4: MPU6050使用Madgwick AHRS算法实现六轴姿态融合获取四元数、欧拉角
目录 源码 Madgwick_6.c Madgwick_6.h 使用方法 测试程序 main.c 效果 STC89C516 32MHz Keil uVision V5.29.0.0 PK51 Prof ...
- 【51单片机快速入门指南】4.3.3: MPU6050使用Mahony AHRS算法实现六轴姿态融合获取四元数、欧拉角
目录 源码 Mahony_6.c Mahony_6.h 使用方法 测试程序 main.c 效果 STC89C516 32MHz Keil uVision V5.29.0.0 PK51 Prof.Dev ...
- 《算法笔记》2.3小节——C/C++快速入门-选择结构
<算法笔记>2.3小节--C/C++快速入门->选择结构 Contest100000567 - <算法笔记>2.3小节--C/C++快速入门->选择结构 Conte ...
- 算法基础、算法比赛快速入门(java)
想用Java快速入门算法?这篇文章你得看! 提示:本文章适合想要入门算法,并且想 "快速" 达到一定成果的同学们阅读~ 文章非常非常非常长(可能是你见过最长的算法基础篇章)!!! ...
- 处理Excel的Python算法_4.1_:数组导入和整理模块——Panda(快速入门)
索引 官方网站 QuickStart Pandas概览 数据结构 大小可变与数据复制 快速入门 生成对象 查看数据 选择 缺失值 运算 合并(Merge) 分组(Grouping) 重塑(Reshap ...
- 【推荐算法】点击率预估模型(CTR) 快速入门(赋源码)
CTR 快速入门 本项目主要使用 DeepCTR 进行CTR模型训练. 开源本项目,方便初学者快速进行CTR模型训练. [项目说明] 配置化运行,无需修改代码. 仅需提供训练数据,并通过简单的配置,即 ...
- 图文并茂!60页PPT《快速入门python数据分析路线》(附链接)
一个月不走弯路快速入门学python和python数据分析路线,呕心沥血加班加点做了2天,一共63页,该课件讲的都是路线中的核心知识,今天把该PPT分享给大家,能根据该课件提到的知识有针对性的学,做到 ...
- 一文快速入门分库分表中间件 Sharding-JDBC (必修课)
书接上文 <一文快速入门分库分表(必修课)>,这篇拖了好长的时间,本来计划在一周前就该写完的,结果家庭内部突然人事调整,领导层进行权利交接,随之宣布我正式当爹,紧接着家庭地位滑落至第三名, ...
最新文章
- Docker的安装和使用及其Docker容器间通信,云计算技术与应用实验报告
- Enable htaccess file work in Apache
- Estimathon
- 关于restful协议很多人的误解
- 生信入门-爱课程上的华中农业大学
- flask manage port_后端Python3+Flask结合Socket.io配合前端Vue2.0实现简单全双工在线客服系统...
- 小红书成立六周年内部信:月活用户量已经突破8500万
- 转https_这个PDF转图片技巧,不用1分钟就能快速上手
- @Autowired 与@Resource的区别
- mysql查询字段转型_mysql转型
- 10分钟就能搭建远程开发环境?你早点怎么不出现(#`n´)!
- 答应我,别再靠!= null走天下了可以吗?
- 迅雷上如何下载热映的电影大片~~
- 体检导检系统服务器系统,喜仕达体检中心导检系统
- Mbed TLS 编码规范
- 概率论与数理统计 | (16) 方差分析与一元线性回归
- Zoommy for mac(图片素材搜索下载软件)
- 自己的服务器进不去显示403,HTTP 403错误:含义和解决方法
- C++程序设计的技巧-Pimple的使用
- 如何在Oracle中检测和修复块损坏
热门文章
- Unable to preview the file. Please open a JS, CSS or HML file of the JS UI framework or a layout.xml
- List 为什么可以实例化ArrayList
- android studio 开发环境搭建
- -bash: fultter: command not found
- JDBC学习DayTwo
- 路由vue-router进阶
- 通过修改软链接升高 gcc 版本、降低 gcc 版本
- Numpy 多维数组变为常量、增加维度、元素复制、按块复制、横轴竖轴合并数组、连接数组
- [BZOJ1572][Usaco2009 Open]工作安排Job
- 前端解决跨域问题的8种方案(最新最全)