【Paper Reading】CenterNet:Keypoint Triplets for Object Detection
背景
首先是借鉴Corner Net 表述了一下基于Anchor方法的不足:
- anchor的大小/比例需要人工来确认
- anchor并没有完全和gt的bbox对齐,不利于分类任务。
但是CornerNet也有自己的缺点
- CornerNet 只预测了top-left和bottom-right 两个点,并没有关注整体的信息,因此缺少一些全局的信息
- 上述的点导致它对边界过于敏感,经常会预测一些错误的bbox。
为了解决该问题,作者提出了Triplet的关键点预测。他follow了top-left和bottom-right的预测,此外增加了中心点的预测。
具体来说,为了使得中心点的预测更加准确,作者提出了Center Pooling的层用来在水平和垂直两个维度进行特征的聚合。使得每个位置的点都可以尽可能的感知到全局的信息。
此外,作者还提出了cascade corner pooling layer来取代原有的corner pooling layer。
作者也从指标的角度量化了上面提到的CornerNet比较容易出现False Positive的情况,如下图所示。作者展示了在不同IoU阈值下 False Discovery Rate。注意这里为什么没有用mAP,mAP是否有缺点?
- 框的增加,在recall不变的情况下,precision的下降不会导致mAP的下降。=>因此需要关注PR曲线的分数
- mAP是分类别计算的,每个类别都是按照分数排序来计算的,说明每个类别的分数阈值可能会不同,不能用同一个阈值在适应不同的类别。

方法
CenterNet的网络结构如下图所示

整个网络的推理流程如下所示:
- 选择top-k个中心点根据他们的分数
- 根据对应的offset将其还原到对应的输入图像中
- 根据tl-br构成的bbox,判断每个bbox内部的中心区域是否包括上述的中心点。
3.1 N个tl的点和N个br 的点,组合形成N*N个bbox
3.2 如果tl和br的embedding相似度小于阈值,则将对应的bbox剔除,否则保留。 - 如果中心点在bbox中,则用三者分数(tl、br和center)的平均来表示bbox的置信度。
那么这里涉及到一个问题,那就是如何计算每个bbox的中心区域。作者这里认为大的bbox应该使用小的中心区域,避免precision过低。小的bbox应该使用大的中心区域,避免recall过低。因此这里作者提出了scale-aware的中心区域计算方法,详情如下所示,其中针对大物体,n选择5,针对小物体,n选择3。


上述介绍了推理的整体流程,那么我们在从内部逐步解析一下关键的结构,我们分别从center pooling、cascade corner pooling和loss来进行介绍。
center pooling
center pooling的示意图如下图所示。具体来说就是针对每个位置,我们计算其水平和垂直方向的max response,然后想加得到该位置的表征,我们认为这样的表征是包括了全局信息。简化版本的计算如下所示,其中 f , f 3 ∈ R H × W × C f,f_3 \in R^{H \times W \times C} f,f3∈RH×W×C
f1 = np.max(f, axis=0)
f2 = np.max(f, axis=1)
f3 = f1[None, :, :] + f2[:, None, :]

cascaded corner pooling
示意图如下所示

loss
损失函数的定义如下所示。整体上分为三大部分。
-
L d e t c o 、 L d e t c e L_{det}^{co}、L_{det}^{ce} Ldetco、Ldetce表示的corner 和 center两个heatmap组成的loss,这里采用的是focal loss。
-
L p u l l c o 、 L p u s h c o L_{pull}^{co}、L_{push}^{co} Lpullco、Lpushco是让属于同一个物体的corner embedding尽可能相似,属于不同物体的embedding尽可能远离。
-
L o f f c o 、 L o f f c e L_{off}^{co}、L_{off}^{ce} Loffco、Loffce 表示预测corner 和 center在原图上的offset,这里采用的是l1-loss。

-
QA1:GT是如何计算的?
相关文章:
【Paper Reading】CenterNet:Keypoint Triplets for Object Detection
背景 首先是借鉴Corner Net 表述了一下基于Anchor方法的不足: anchor的大小/比例需要人工来确认anchor并没有完全和gt的bbox对齐,不利于分类任务。 但是CornerNet也有自己的缺点 CornerNet 只预测了top-left和bottom-right 两个点,并没有…...
【BASH】回顾与知识点梳理(三)
【BASH】回顾与知识点梳理 三 三. 命令别名与历史命令3.1 命令别名设定: alias, unalias3.2 历史命令:history同一账号同时多次登入的 history 写入问题无法记录时间 该系列目录 --> 【BASH】回顾与知识点梳理(目录) 三. 命令…...
C#设计模式之---单例模式
单例模式(Singleton) 单例模式,属于创建类型的一种常用的软件设计模式。通过单例模式的方法创建的类在当前进程中只有一个实例。 1)普通单例模式 using System; namespace SingletonPattern {/// /// 单例模式(非线程安全)/// …...
Git工具安装
Git 工具安装 1. 下载Git安装包2. 安装Git工具3. 简单的使用配置用户名 1. 下载Git安装包 打开官网 https://git-scm.com/downloads点击下载 2. 安装Git工具 右击以管理员身份运行  或者产生输出波 形 ( 输出比较和 PWM) 等。 使用定时器预分频器和 RCC 时钟控制器预分频器,脉冲长度和波形 周…...
基本数据类型与包装数据类型的使用标准
Reference:《阿里巴巴Java开发手册》 【强制】所有的 POJO 类属性必须使用包装数据类型。【强制】RPC 方法的返回值和参数必须使用包装数据类型。【推荐】所有的局部变量使用基本数据类型。 比如我们如果自定义了一个Student类,其中有一个属性是成绩score,如果用Integer而不用…...
小研究 - 基于 SpringBoot 微服务架构下前后端分离的 MVVM 模型(二)
本文主要以SpringBoot微服务架构为基础,提出了前后端分离的MVVM模型,并对其进行了详细的分析以及研究,以此为相关领域的工作人员提供一定的技术性参考。 目录 4 SpringBoot 4.1 技术发展 4.2 技术特征 4.3 SpringBoot项目构建 4.4 目录结…...
ArmSoM-W3之RK3588安装Qt+opencv+采集摄像头画面
1. 简介 场景:在RK3588上做qt开发工作 RK3588安装Qtopencv采集摄像头画面 2. 环境介绍 这里使用了OpenCV所带的库函数捕获摄像头的视频图像。 硬件环境: ArmSoM-RK3588开发板、(MIPI-DSI)摄像头 软件版本: OS&…...
基于长短期神经网络的风速预测,基于LSTM的风速预测
目录 背影 摘要 LSTM的基本定义 LSTM实现的步骤 基于长短期神经网络LSTM的风速预测 完整代码: https://download.csdn.net/download/abc991835105/88171311 效果图 结果分析 展望 参考论文 背影 风速预测是一种比较难的预测,随机性比较大,长短期神经网络是一种改进党的RNN…...
Mybatis引出的一系列问题-spring多数据源配置
在日常开发中我们都是以单个数据库进行开发,在小型项目中是完全能够满足需求的。但是,当我们牵扯到像淘宝、京东这样的大型项目的时候,单个数据库就难以承受用户的CRUD操作。那么此时,我们就需要使用多个数据源进行读写分离的操作…...
Vue-组件二次封装
本次对el-input进行简单封装进行演示 封装很简单,就给激活样式的边框(主要是功能) 本次封装主要使用到vue自带的几个对象 $attrs:获取绑定在组件上的所有属性$listeners: 获取绑定在组件上的所有函数方法$slots: 获取应用在组件内的所有插槽 …...
[C++]02.选择结构与循环结构
02.选择结构与循环结构 一.程序流程结构1.选择结构1.1.if语句1.2.三目运算符1.3.switch语句 2.循环结构2.1.while语句2.2.do-while语句2.3.for语句2.4.break语句2.5.continue语句2.6.goto语句 一.程序流程结构 C/C支持的最基本的运行结构: 顺序结构, 选择结构, 循环结构顺序结…...
C语言案例 按序输出多个整数-03
难度2复杂度3 题目:输入多个整数,按从小到大的顺序输出 步骤一:定义程序的目标 编写一个C程序,随机输入整数,按照从小到大的顺序输出 步骤二:程序设计 整个C程序由三大模块组成,第一个模块使…...
如何获取vivado IP列表
TCL命令如下: set fid [open "vivado_included_ip_[version -short].csv" w] puts $fid "Name;Version" set ip_catalog [get_ipdefs *] foreach ip $ip_catalog{ set ipname [get_property DISPLAY_NAME [get_ipdefs $ip]]set iplib [get_p…...
计算机网络的定义和分类
计算机网络的定义和分类 计算机网络的定义 计算机网络的精确定义并未统一计算机网络最简单的定义是:一些互相连接的、自治的计算机的集合 互连:指计算机之间可以通过有线或无线的方式进行数据通信自治:是指独立的计算机,它有自己的硬件和软件ÿ…...
【css】超过文本显示省略号
显示省略号的前提:必须有指定宽度 一、单行文本超出部分显示省略号 属性取值解释overflowhidden当内容超过盒子宽度, 隐藏溢出部分white-spacenowrap让文字在一行内显示, 不换行text-overflowellipsis如果溢出的内容是文字, 就用省略号代替 .one-line{overflow:h…...
Java 8 中使用 Stream 遍历树形结构
在实际开发中,我们经常会开发菜单,树形结构,数据库一般就使用父id来表示,为了降低数据库的查询压力,我们可以使用Java8中的Stream流一次性把数据查出来,然后通过流式处理,我们一起来看看&#x…...
网络安全防火墙体验实验
网络拓扑 实验操作: 1、cloud配置 2、防火墙配置 [USG6000V1]int GigabitEthernet 0/0/0 [USG6000V1-GigabitEthernet0/0/0]ip add 192.168.200.100 24 打开防火墙的所有服务 [USG6000V1-GigabitEthernet0/0/0]service-manage all permit 3、进入图形化界面配置…...
YOLOv5引入FasterNet主干网络,目标检测速度提升明显
目录 一、背景介绍1.1 目标检测算法简介1.2 YOLOv5简介及发展历程 二、主干网络选择的重要性2.1 主干网络在目标检测中的作用2.2 YOLOv5使用的默认主干网络 三、FasterNet简介与原理解析3.1 FasterNet概述3.2 FasterNet的网络结构3.2.1 基础网络模块3.2.2 快速特征融合模块3.2.…...
一键部署雪女-斗罗大陆-造相Z-Turbo:小白也能轻松生成动漫女神
一键部署雪女-斗罗大陆-造相Z-Turbo:小白也能轻松生成动漫女神 1. 镜像简介与核心功能 1.1 什么是雪女-斗罗大陆-造相Z-Turbo 雪女-斗罗大陆-造相Z-Turbo是一款基于Xinference部署的文生图AI模型服务,专门用于生成斗罗大陆中雪女角色的高质量动漫图像…...
解锁Unity游戏定制潜能:MelonLoader全方位应用指南
解锁Unity游戏定制潜能:MelonLoader全方位应用指南 【免费下载链接】MelonLoader The Worlds First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono 项目地址: https://gitcode.com/gh_mirrors/me/MelonLoader 副标题ÿ…...
【仅限头部金融科技团队内部流通】FastAPI 2.0 AI流式响应安全加固方案:防内存溢出、防连接耗尽、防Token泄露(含OWASP ASVS v4.0合规对照表)
第一章:FastAPI 2.0 AI流式响应安全加固方案全景概览FastAPI 2.0 引入了对 Server-Sent Events(SSE)与异步生成器的原生增强支持,使大语言模型(LLM)的流式响应(如 token-by-token 输出ÿ…...
Omni-Vision Sanctuary在嵌入式边缘设备上的轻量化部署思考
Omni-Vision Sanctuary在嵌入式边缘设备上的轻量化部署思考 1. 嵌入式视觉的挑战与机遇 在智能摄像头、工业质检设备、无人机等嵌入式场景中,视觉模型的部署一直面临特殊挑战。传统方案要么性能不足,要么功耗过高,难以平衡实时性与能效比。…...
MinerU智能文档理解镜像:财务报表自动识别实战体验
MinerU智能文档理解镜像:财务报表自动识别实战体验 1. 引言:财务文档处理的痛点与机遇 在财务工作中,我们经常需要处理各种格式的财务报表——PDF扫描件、Excel截图、纸质文档照片等。传统的手工录入方式不仅效率低下,还容易出错…...
S2-Pro+C语言教学系统:代码逻辑讲解与典型错误自动纠正
S2-ProC语言教学系统:代码逻辑讲解与典型错误自动纠正 1. 智能编程助教初体验 第一次看到S2-Pro在C语言教学中的应用效果时,确实让人眼前一亮。想象一下,当学生提交一段指针运算代码后,系统不仅能指出错误,还能像经验…...
量子密钥分发系统的工程实践(四):基于FPGA的后处理核心模块剖析
1. FPGA在QKD后处理中的核心作用 量子密钥分发(QKD)系统的后处理环节就像一位严谨的会计,需要把原始账本(量子信号)整理成无可争议的最终报表(安全密钥)。而FPGA在这个过程中的角色,…...
Dism++深度解析:Windows系统管理与优化专业指南
Dism深度解析:Windows系统管理与优化专业指南 【免费下载链接】Dism-Multi-language Dism Multi-language Support & BUG Report 项目地址: https://gitcode.com/gh_mirrors/di/Dism-Multi-language Dism作为一款功能强大的开源Windows系统管理工具&…...
Axelspace 太空公司牵头联合体入选日本太空战略基金项目 “提升下一代地球观测卫星能力技术”
—— 通过卫星星座与航空器开展特定排放源二氧化碳排放与吸收监测,打造气候解决方案,开拓全新市场机遇 Axelspace 太空公司、明星电气株式会社、全日空控股株式会社及 JIJ 株式会社联合宣布,各方共同申报的技术研发项目成功入选日本宇宙航空…...
浅谈MIKE URBAN转SWMM的方法
01 前言近期有群友咨询MIKE URBAN怎么转换成SWMM的INP文件格式,其实这个是很简单的,前提是你对两个软件格式足够熟悉,另一方面,很多年前SWMM就开发了inpPNS软件。可以利用这个软件便可实现转换,小编抽时间给大家分享下…...
