社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

CVer • 3 年前 • 427 次点击  

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

视频引用公开数据集[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
 
427 次点击