首先使用CenterNet训练自己的检测数据集,可以检测人、动物、鱼大等多种自定义类别,然后再把训练好的预训练模型传入deepsort算法进行多目标跟踪。试验结果表明centernet精度和速度方面都具有更好的优势。
目标检测系列: 目标检测(object detection)系列(一) R-CNN:CNN目标检测的开山之作 目标检测(object detection)系列(二) SPP-Net:让卷积计算可以共享 目标检测(object detection)系列(三) Fast R-CNN:end-to-end的愉快训练 目标检测(object detection)系列(四) Faster R-CNN:有RPN的Fast R-CNN 目标检测(object detection)系列(五) YOLO:目标检测的另一种打开方式 目标检测(object detection)系列(六) SSD:兼顾效率和准确性 目标检测(object detection)系列(七) R-FCN:位置敏感的Faster R-CNN 目标检测(object detection)系列(八) YOLOv2:更好,更快,更强 目标检测(object detection)系列(九) YOLOv3:取百家所长成一家之言 目标检测(object detection)系列(十) FPN:用特征金字塔引入多尺度 目标检测(object detection)系列(十一) RetinaNet:one-stage检测器巅峰之作 目标检测(object detection)系列(十二) CornerNet:anchor free的开端 目标检测(object detection)系列(十三) CenterNet:no Anchor,no NMS 目标检测(object detection)系列(十四) FCOS:用图像分割处理目标检测
CenterNet的论文是《Objects as Points》,其实从名字就可以很直观的看出,CenterNet是将目标检测问题看做对于目标中心点的检测,它是继CornerNet之后的又一个Anchor-free方法,它们之间也有比较多的相似之处,区别在于CornerNet是找目标的角点,而CenterNet是找目标的中心点。
最近anchor free的目标检测方法很多,尤其是centernet,在我心中是真正的anchor free + nms free方法,这篇centernet对应的是"Objects as Points",不是另外一篇"CenterNet- Keypoint Triplets for Object Detection"。作者xinyi zhou也是之前ExtremeNet的作者。
在当前时代,目标检测主要有两类:top-down的检测方法和bottom-up的检测方法。人们认为bottom-up的方法可能耗时较长,并且会引入更多的误检现象,而top-down的方法由于其在实践中的有效性逐渐演变为主流方法。
【导语】前段时间纯粹为了论文凑字数做的一个工作,本文不对CenterNet原理进行详细解读,如果对CenterNet原理不了解,建议简单读一下原论文然后对照本文代码理解(对原版CenterNet目标检测代码进行了极大程度精简)。
前面介绍了CornerNet和ExtremeNet,今天要介绍的是CVPR 2019一篇大名鼎鼎的Anchor-Free目标检测论文《CenterNet: Keypoint Triplets for Object Detection》,这篇论文由中科院,牛津大学以及华为诺亚方舟实验室联合提出。是One-Stage目标检测算法中精度最高的算法。值得注意的是CenterNet是在之前介绍的CornerNet上进行了改进,CornerNet我们已经介绍过了,可以去看往期文章。本论文的地址以及官方代码地址见附录。
代码:https://github.com/xingyizhou/CenterNet2
CenterNet(Objects as points)已经有一段时间了,之前这篇文章-【目标检测Anchor-Free】CVPR 2019 Object as Points(CenterNet)中讲解了CenterNet的原理,可以回顾一下。
论文地址:https://arxiv.org/pdf/2006.15507.pdf
现在目标检测器很少能同时实现训练时间短,推理速度快,精度高。为了达到平衡,作者就提出了Train-Friendly Network(TTFNet)。作者从light-head, single-stage, and anchor-free设计开始,这使得推理速度更快。然后作者重点缩短训练时间。
要知道衡量目标检测最重要的两个性能就是 精度和速度,特指 mAP 和 FPS。其实现在很多论文要么强调 mAP 很高,要么就是强调 mAP 和 FPS 之间 Trade-off 有多好。
论文: CenterNet: Keypoint Triplets for Object Detection
本文改进了CenterNet,实现了快速服装检测。主要方法是将语义关键点分组和作者提出的后处理技术结合获得了更高的精度,在DeepFashion2的验证集上,边界框检测任务精度为0.735 mAP,特征点检测任务精度为0.591 mAP。
Faster RCNN [1] 及其变体自提出以来一直是主流目标检测架构之一。由于其模型的 capacity 大,以及对 proposal 有预先处理等方面的优势,这些模型在减轻物体姿态(角度)、光照和旋转等问题方面都表现的十分出色。通过适当的 anchor 设置和训练策略,也可以有效地检测到微小和带有遮挡的物体。总体来说,这种方法有两个阶段,即 proposal 和 detection(图 1)。第二阶段筛选和校准第一阶段提出的 Region of Interests(RoIs)。proposal 阶段使用的是 region proposal network (RPN) 来尽可能多的覆盖到 True Positives(TP),detection 阶段的检测通常则是使用一些卷积和全连接层来保留第一阶段找到的 TP 同时消除第一阶段引入的 False Positives(FP)。
我们介绍一篇很好的 one-stage 目标检测论文:CenterNet: Keypoint Triplets for Object Detection,该论文是由 中科院,牛津大学以及华为诺亚方舟实验室联合提出。截至目前,据我们所知,CenterNet 应该是 one-stage 目标检测方法中性能最好的方法。
A Simple Baseline for Multi-Object Tracking是一个online的多目标跟踪(MOT)算法,基于TBD(Traking-by-Detection)的策略,FairMOT主要就是基于JDE做的改进,可以简单的理解为,FairMOT是将JDE的YOLOv3的主干,改成了CenterNet,也就是将检测的方法由Anchor-base换成了Anchor-free,然后同样在已有检测模型上加了了embeeding分支,模型输出检测的结果和embeeding,提供给后续的assiciation使用。 当然这样替换是有道理的,下面我们从原理的部分分析下为什么要这样做。
笔者构了一版centernet(objects as points)的代码,并加入了蒸馏,多模型蒸馏,转caffe,转onnx,转tensorRT,把后处理也做到了网络前向当中,对落地非常的友好。
论文认为当前的anchor-based方法虽然性能很高,但需要枚举所有目标可能出现的位置以及尺寸,实际上是很浪费的。为此,论文提出了简单且高效的CenterNet,将目标表示为其中心点,再通过中心点特征回归目标的尺寸。
论文地址:https://arxiv.org/pdf/2005.09973.pdf
早期目标检测研究以anchor-based为主,设定初始anchor,预测anchor的修正值,分为two-stage目标检测与one-stage目标检测,分别以Faster R-CNN和SSD作为代表。后来,有研究者觉得初始anchor的设定对准确率的影响很大,而且很难找到完美的预设anchor,于是开始不断得研究anchor-free目标检测算法,意在去掉预设anchor的环节,让网络自行学习anchor的位置与形状,在速度和准确率上面都有很不错的表现。anchor-free目标检测算法分为两种,一种是DenseBox为代表的Dense Prediction类型,密集地预测的框的相对位置,另一种则是以CornerNet为代表的Keypoint-bsaed Detection类型,以检测目标关键点为主。
前天发了一个推文【目标检测Anchor-Free】CVPR 2019 CenterNet,讲解的是CenterNet: Keypoint Triplets for Object Detection这篇论文,今天要讲的这篇论文全名是Object as Points。这篇论文提出的网络也被叫作CenterNet,和前面介绍的CenterNet重名了,注意加以区别。论文原文见附录。
此文章作为存档文章,caffe虽然不是c++版本运行CenterNet的最优方式,但也是一种选择。这里仅仅是记录,承接利用Caffe推理CenterNet(上篇)。
《FairMOT:A Simple Baseline for Multi-Object Tracking》是一个online的多目标跟踪(MOT)算法,基于TBD(Traking-by-Detection)的策略,FairMOT主要就是基于JDE做的改进,可以简单的理解为,FairMOT是将JDE的YOLOv3的主干,改成了CenterNet,也就是将检测的方法由Anchor-base换成了Anchor-free,然后同样在已有检测模型上加了了embeeding分支,模型输出检测的结果和embeeding,提供给后续的assiciation使用。 当然这样替换是有道理的,下面我们从原理的部分分析下为什么要这样做。
不论是在学校里还是在公司中,远程登录服务器调试是一件很平常的事情。通过服务器,我们有很多种方式进行开发,喜欢极客风的可以直接通过Vim在服务器中进行开发,配合各种插件在开发效率上还是很高的;另一种就是利用IDE远程连接服务器进行调试,这样可以借助一些IDE的强大功能,提升自己的开发效率(Pycharm、VSCODE)。
笔者很喜欢CenterNet极简的网络结构,CenterNet只通过FCN(全卷积)的方法实现了对于目标的检测与分类,无需anchor与nms等复杂的操作高效的同时精度也不差。同时也可以很将此结构简单的修改就可以应用到人体姿态估计与三维目标检测之中。
目标检测系列: 目标检测(object detection)系列(一) R-CNN:CNN目标检测的开山之作 目标检测(object detection)系列(二) SPP-Net:让卷积计算可以共享 目标检测(object detection)系列(三) Fast R-CNN:end-to-end的愉快训练 目标检测(object detection)系列(四) Faster R-CNN:有RPN的Fast R-CNN 目标检测(object detection)系列(五) YOLO:目标检测的另一种打开方式 目标检测(object detection)系列(六) SSD:兼顾效率和准确性 目标检测(object detection)系列(七) R-FCN:位置敏感的Faster R-CNN 目标检测(object detection)系列(八) YOLOv2:更好,更快,更强 目标检测(object detection)系列(九) YOLOv3:取百家所长成一家之言 目标检测(object detection)系列(十) FPN:用特征金字塔引入多尺度 目标检测(object detection)系列(十一) RetinaNet:one-stage检测器巅峰之作 目标检测(object detection)系列(十二) CornerNet:anchor free的开端 目标检测(object detection)系列(十三) CenterNet:no Anchor,no NMS 目标检测(object detection)系列(十四) FCOS:用图像分割处理目标检测 目标检测扩展系列: 目标检测(object detection)扩展系列(一) Selective Search:选择性搜索算法 目标检测(object detection)扩展系列(二) OHEM:在线难例挖掘 目标检测(object detection)扩展系列(三) Faster R-CNN,YOLO,SSD,YOLOv2,YOLOv3在损失函数上的区别
论文地址:https://arxiv.org/pdf/2201.02314.pdf
Anchor-free 的检测算法可分为anchor-point的算法和key-point的算法。Anchor-point 检测器通过预测目标中心点,边框距中心点的距离或目标宽高来检测目标,本质上和anchor-based算法相似,此类算法有FCOS,CenterNet等;而key-point方法是通过检测目标的边界点(如:角点),再将边界点组合成目标的检测框,典型的此类算法包括CornerNet, RepPoints等。
本文主要解读CenterNet如何加载数据,并将标注信息转化为CenterNet规定的高斯分布的形式。
最近3d目标检测领域出了一篇新作,思路简单,却在nuScenes榜单上高居第二。正式讲解它之前,先附上文章和代码地址:
作者:arlencai,腾讯 WXG 应用研究员 微信“扫一扫”识物已上线一段时间,在公司内外均受到极大的关注。相比于行内相关竞品的“拍”,“扫一扫”识物的特点在于“扫”,带来更为便捷的用户体验。“扫”离不开高效的移动端物体检测,本文将为你揭秘。 一、背景 “扫”是“扫一扫”识物的亮点,带来更为便捷的用户体验。相比于“拍”的交互方式,“扫”的难点在于如何自动地选择包含物体的图像帧,这离不开高效的移动端物体检测。 二、问题 “扫一扫”识物是一种面向开放环境的通用物体检测——复杂多样的物体形态要求模型具有
近年来,目标检测取得了显著进展,尤其是随着深度学习的快速发展。目标检测器(如Faster R-CNN,YOLO,和SSD)在自然图像数据集(如MS COCO,Pascal VOC)上取得了卓越成果。然而,它们在航拍图像上的表现,在准确性和效率方面尚未达到满意水平。
原论文名为《Objects as Points》,有没有觉得这种简单的名字特别霸气,比什么"基于xxxx的xxxx的xxxx论文"帅气多了哈。
在新冠疫情在全球持续蔓延的背景下,来自意大利摩德纳大学的研究者们结合计算机视觉技术以及传染病预测模型设计了一种可以实时运行的多场景人员感染风险估计系统。
代码注释在:https://github.com/pprp/SimpleCVReproduction/tree/master/CenterNet
CenterNet中主要提供了三个骨干网络ResNet-18(ResNet-101), DLA-34, Hourglass-104,本文从结构和代码对hourglass进行讲解。
为了解决这些问题,作者提出了YOLC(You Only Look Clusters),这是一个高效且有效的框架,建立在 Anchor-Free 点目标检测器CenterNet之上。为了克服大规模图像和不均匀物体分布带来的挑战,作者引入了一个局部尺度模块(LSM),该模块自适应搜索聚类区域进行放大以实现精确检测。 此外,作者使用高斯Wasserstein距离(GWD)修改回归损失,以获得高质量的边界框。在检测Head中采用了可变形卷积和细化方法,以增强小物体的检测。作者在两个空中图像数据集上进行了大量实验,包括Visdrone2019和UAVDT,以证明YOLC的有效性和优越性。
本文主要记录用Anchor Free的思想来解决上述目标跟踪状态估计中存在的问题。目前比较主流的都是基于FCOS和CenterNet两种无锚框方式展开的。
目标检测在视频监控、自动驾驶汽车、目标/人跟踪等领域得到了广泛的应用。在本文中,我们将了解目标检测的基础知识,并回顾一些最常用的算法和一些全新的方法。
本文带领大家重温 Objects as Points 一文,其于2019年4月发布于arXiv,谷歌学术显示目前已有403次引用,Github代码仓库已有5.2K星标,无论在工业界和学术界均有巨大影响力。
题目:《RTM3D: Real-time Monocular 3D Detection from Object Keypoints for Autonomous Driving》
假设我们已经训练好了一个CenterNet模型。这里我拿ResNet50作为例子。
“扫”是“扫一扫”识物的亮点,带来更为便捷的用户体验。相比于“拍”的交互方式,“扫”的难点在于如何自动地选择包含物体的图像帧,这离不开高效的移动端物体检测。
WACV2021的一篇文章,将CenterNet的方案用到了旋转物体的检测中,设计了一种精巧的旋转框表达方式,免去了设计anchor麻烦,效果也非常好,而且代码也开源了。
领取专属 10元无门槛券
手把手带您无忧上云