Py学习  »  Python

卧槽!出了一个Python实时目标跟踪系统神器!

CVer • 2 年前 • 274 次点击  

在当下自动驾驶、智慧城市、安防等领域对车辆、行人、飞行器等快速移动的物体进行实时跟踪及分析的需求可谓比比皆是, 但单纯的目标检测算法只能输出目标的定位+分类,无法对移动的目标具体的运动行为及特征进行分析,因此在具体的车辆行为分析、交通违章判别、嫌疑犯追踪、飞行器监管等场景,目标追踪发挥着不可替代的作用。

视频引用公开数据集[1][2][3][4]


但实际目标追踪的项目落地,往往面临被检目标多、相互遮挡、图像扭曲变形、背景杂乱、视角差异大、目标小且运动速度快等产业实际技术难题。

那如何快速实现高性能的目标跟踪任务呢?一个相对完善的目标跟踪任务实现, 往往需要融合目标检测、行人重识别、轨迹融合等多项技术能力,并对上述产业实际的技术难点,分别进行长时间深度优化,同时考虑跨镜头、多类别、小目标跟踪以及轻量化部署等实际业务诉求。

难么?别急,近日在GitHub社区发布的一个开源目标跟踪系统—PP-Tracking就能使开发者快速用Python完成一个高性能的目标跟踪任务,并实现服务器侧轻量化上线。

它的具体结构图如下:

关于详细的结构详解,可以前往具体项目链接查看:

https://github.com/PaddlePaddle/paddledetection

当然,如果你觉得项目确实实用,支持开源最好的方式就是点亮Star星标支持一下

本文作者也确实详细研究了一下这个项目,总结了它的一些特点,有耐心的老铁可以接着往下看:


1

功能丰富效果佳

PP-Tracking内置DeepSORT[6]、JDE[7]与FairMOT[8]三种主流高精度多目标跟踪模型,并针对产业痛点、结合实际落地场景进行一系列拓展和优化,覆盖多类别跟踪、跨镜跟踪、流量统计等功能与应用,可谓是精度、性能、功能丰富样样俱全~

  • 单镜头跟踪

单镜头下的单类别目标跟踪是指在单个镜头下,对于同一种类别的多个目标进行连续跟踪,是跟踪任务的基础。针对该任务,PP-Tracking基于端到端的One Shot高精模型FairMOT[8],替换为更轻量的骨干网络HRNetV2-W18,采用多种Tricks,如Sync_BN与EMA,保持性能的同时大幅提高了精度,并且扩大训练数据集,减小输入尺寸,最终实现服务端轻量化模型在权威数据集MOT17上精度达到MOTA 65.3,在NVIDIA Jetson NX上速度达到23.3FPS,GPU上速度可达到60FPS!同时,针对对精度要求较高的场景,PP-Tracking还提供了精度高达MOTA75.3的高精版跟踪模型~

视频引用公开数据集[3]


  • 多类别跟踪

PP-Tracking不仅高性能地实现了单镜头下的单类别目标跟踪,更针对多种不同类别的目标跟踪场景,增强了特征匹配模块以适配不同类别的跟踪任务,实现跟踪类别覆盖人、自行车、小轿车、卡车、公交、三轮车等上十种目标,精准实现多种不同种类物体的同时跟踪。

视频引用公开数据集[2]


  • 跨镜头跟踪

安防场景常常会涉及在多个镜头下对于目标物体的持续跟踪。当目标从一个镜头切换到另一个镜头,往往会出现目标跟丢的情况,这时,一个效果好速度快的跨镜头跟踪算法就必不可少了!PP-Tracking中提供的跨镜头跟踪能力基于DeepSORT[6]算法,采用了百度自研的轻量级模型PP-PicoDet和PP-LCNet分别作为检测模型和ReID模型,配合轨迹融合算法,保持高性能的同时也兼顾了高准确度,实现在多个镜头下紧跟目标,无论镜头如何切换、场景如何变换,也能准确跟踪目标的效果。

视频引用公开数据集[2]


  • 流量监测

与此同时,针对智慧城市中的高频场景—人/车流量监测,PP-Tracking也提供了完整的解决方案,应用服务器端轻量级版FairMOT[8]模型预测得到目标轨迹与ID信息,实现动态人流/车流的实时去重计数并支持自定义流量统计时间间隔

为了满足不同业务场景下的需求,如商场进出口人流监测、高速路口车流量监测等,PP-Tracking更是提供了出入口两侧流量统计方式~

视频引用公开数据集[2]


2

复杂场景覆盖全

  • 行人、车辆跟踪

智慧交通中,行人和车辆的场景尤为广泛,因此PP-Tracking针对行人和车辆,提供对应的预训练模型,大幅降低开发成本,节省训练时间和数据成本,实现业务场景直接推理,算法即应用的效果!不仅如此,PP-Tracking支持显示目标轨迹,更直观地辅助实现高效的路径规划分析。

视频引用公开数据集[2]


  • 人头跟踪

不仅如此,除了在日常跟踪任务中拥有极强的通用性,针对实际业务中常常出现目标遮挡严重等问题,PP-Tracking也进行了一系列优化,提供了基于FairMOT[8]训练的人头跟踪模型,并在Head Tracking 2021数据集榜单位居榜首,助力PP-Tracking灵活适配各类行人场景。

视频引用公开数据集[5]


  • 小目标跟踪

针对小目标出现在大尺幅图中的产业常见难题场景,PP-Tracking进行了一系列的优化,提供专门针对小目标跟踪的预训练模型,实现在特殊场景,如无人机等航拍场景下,也能达到较为精准的效果~

视频引用公开数据集[2]


3

两种使用模式,训练推理灵活掌握

为了满足不同的开发需求,PP-Tracking支持两种使用方式,无论是想通过代码调用/训练模型,进行快速推理部署,还是想要零代码直接上手使用功能,PP-Tracking通通满足你!

  • API代码调用:API简洁易用,支持模型调用、训练与推理部署,最大程度降低开发成本的前提下,灵活适配各类场景与任务。

  • 可视化开发界面:支持单镜头下的单、多目标跟踪,并覆盖小目标、人/车流量统计等复杂场景及应用,无需任何开发,即可直接体验功能,便于集成于各类硬件。

更贴心的是,PP-Tracking支持Python、C++两种部署语言,同时提供使用飞桨原生推理库Paddle Inference和飞桨服务化推理框架Paddle Serving的保姆级部署教程,真正意义上打通从训练、推理到部署的全流程。


4

产业场景快速融合

这么厉害的实时跟踪系统在实际落地中的表现如何呢?接下来,让我们看看PP-Tracking的实际业务落地效果吧~

以人流量计数为例,在上海音智达公司的实际业务中,使用PP-Tracking中的服务端轻量化版FairMOT[8],结合人流量计数功能,快速实现商圈出入口的实时人流量去重计数。

视频引用公开数据集[3]


被应用于自动驾驶、安防、交通、城市等多种领域的目标跟踪你学会了么?想要深入了解案例细节?掌握跟踪的应用?快报名直播课程吧!


深入直播讲解

为了让开发者们更深入的了解PP-Tracking这套多功能的跟踪系统,解决产业应用难点以及掌握产业实践的核心能力,飞桨团队精心准备了为期四天的直播课程!

11月23日-26日19:00-20:00,百度资深高工将深入解读通用目标检测的基础理论与实践、超轻人体关键点模型的理论及应用,并全方位解析实时跟踪系统,对各类痛难点解决方案进行手把手拆解,更有直播现场为大家答疑解惑,还在等什么!抓紧扫码上车吧!


扫码报名直播课,加入技术交流群

精彩内容抢先看


图片数据引用说明

[1] Yu F, Chen H, Wang X, et al. Bdd100k: A diverse driving dataset for heterogeneous multitask learning[C]//Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2020: 2636-2645.

[2] Zhu P, Wen L, Du D, et al. Vision meets drones: Past, present and future[J]. arXiv preprint arXiv:2001.06303, 2020.

[3] Milan A, Leal-Taixé L, Reid I, et al. MOT16: A benchmark for multi-object tracking[J]. arXiv preprint arXiv:1603.00831, 2016.

[4] Bai H, Cheng W, Chu P, et al. GMOT-40: A Benchmark for Generic Multiple Object Tracking[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021: 6719-6728.

[5] Sundararaman R, De Almeida Braga C, Marchand E, et al. Tracking Pedestrian Heads in Dense Crowd[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021: 3865-3875.


模型引用说明

[6] DeepSORT: Veeramani B, Raymond J W, Chanda P. DeepSort: deep convolutional networks for sorting haploid maize seeds[J]. BMC bioinformatics, 2018, 19(9): 1-9.

[7] JDE: Wang Z, Zheng L, Liu Y, et al. Towards real-time multi-object tracking[C]//Computer Vision–ECCV 2020: 16th European Conference, Glasgow, UK, August 23–28, 2020, Proceedings, Part XI 16. Springer International Publishing, 2020: 107-122.

[8] FairMOT: Zhang Y, Wang C, Wang X, et al. Fairmot: On the fairness of detection and re-identification in multiple object tracking[J]. International Journal of Computer Vision, 2021: 1-19.

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/123510
 
274 次点击