我是靠谱客的博主 任性鸭子,最近开发中收集的这篇文章主要介绍AI应用,如何提升跟踪性能(推理速度和准确率),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我们在进行深度学习yolov5实时流处理过程中,经常遇到一个难题,如何实现满帧25fps实时计算,如果采用GPU中tensorrt来加速的话,是可以实现,但是如何在一张GPU卡上,跑至少10路以上2560*1440视频呢,这是一个比较棘手的问题,也是大家一直寻找的突破点,其实这个问题很好解决,在实际处理中,我们并不处理25帧,我们采用跳帧的方式,只处理其中25/5部分,那么没有进行推理的帧的物体框怎么判断呢?
关键问题如下:
1、如何预测没有经过推理的图片的物体框。
2、如何预测推理后却没有检测到上一帧出现的物体
3、如何解决车辆、人物在等待区没动,检测框却一直在抖动的问题?

解决了这三个问题,那么可以说就解决了困扰你的一大心患。

这个问题我们在实际项目中已经解决了,在一张英伟达T4显卡上轻松跑15路2560*1440的视频。

除了上述三个问题还要附带解决视频前处理和后处理的问题:
前处理:拉流->解码->颜色空间转化
后处理:颜色空间转化->编码->推流

在前处理中 拉流->解码->颜色空间转化 这三步必须实时25fps处理,后处理中 颜色空间转化->编码->推流 这个只有当有人观看流的时候才处理,这样就能大大降低GPU压力。

1、如何预测没有经过推理的图片的物体框。
这个可以换个描述:我们隔5帧检测一张,那么两个检测后的帧之间有4帧没有检测,I k0 k1 k2 k3 I,我们只要将某特定物体的开始位置和结束位置连接起来,划分为5等分,就可以将中间的4帧给补全了。

2、如何预测推理后却没有检测到上一帧出现的物体。
这个主要是为了解决跟踪的连续性,我们知道如果跟踪中断,很容易造成计数不准,那么如何提高跟踪的连续性呢。
我们通过一个数组来保存某个特定物体的检测位置,当在中途发现某一帧没有检测到该物体,且判断该物体没有出界,我们可以结果光流的检测结果进行推断,这样结合IOU,就可以推荐丢失的三四帧数据,如果连续五帧没有检测到,可以判断该物体消失,就可以删除该物体的数据了。
3、如何解决车辆、人物在等待区没动,检测框却一直在抖动的问题?

4、如何确定两张连续图片中同一个物体?也就是轨迹跟踪
采用光流来计算下一张图片中物体出现的位置,然后当下一张图片获取后,遍历做IOU,如果预测框与实际图片中检测的框无限接近,那么说明这就是同一个物体,也就是同一个ID,如此实现了物体追踪。

光流算法有传统算法和英伟达的深度学习算法,但是光流的深度学习算法目前来看发展比较难,因为没有法子标注,目前采用unity等动画方式模拟标注进行训练,但是效果不好,因为在实际的环境中,噪声很多,与纯粹的模拟环境差距很大。

英伟达3.0传统光流算法有全局光流,可以计算相机的速度,如此可以解决相机的抖动,位置变化的问题。

参考:
目标检测算法(二)——具体原理以及实现

光流法(optical flow)简介

最后

以上就是任性鸭子为你收集整理的AI应用,如何提升跟踪性能(推理速度和准确率)的全部内容,希望文章能够帮你解决AI应用,如何提升跟踪性能(推理速度和准确率)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部