在实战中学AI-车流量统计项目-开篇

在日常工作以及互联网上,经常有人问,该如何做好一个AI项目?为啥我的模型效果一直不行?AI看似那么牛,为啥时常犯傻?我该在项目上怎么用好AI这个工具?工作这么多年,听到过新毕业的小白同学在问;也有资深的产品以及技术大咖在问;甚至很多不了解AI但想引入AI到他们业务流中的“老板们”也想知道。

作为一个在这个行业里摸爬滚打了八、九年的老油条,有一些自己的看法,想分享给大家,也想从大家那里获取到一些不一样的理解。以前零零碎碎写过一些文章,也获得过一些同学的认可,回过头来看,却是有些太琐碎,也不系统,不太利于自己的沉淀,也不利于别人系统的了解AI的落地过程。大家工作过的都知道,在实战中学习和积累的是最快的,所以寻思着,是不是可以向大家展示一下,作为一个技术同学,实际落地一个AI项目是什么样的一个过程,这样大家了解的更系统,我自己也可以通过咀嚼下过往,理解的更深刻。

基于上面的考虑,寻思着可以出个这样的系列,作为第一个项目,希望能涵盖AI落地的基础路径,理解成本也没那么高,就选择了一个常规的安防场景-车流量统计。下面让我们以一个算法工程师的角度,看如何研发一套可用的车流量统计算法系统。

需求分析

车流量即单位时间内通过某路段或交通点的车辆数目。在交通规划中,车流量的统计数据是设计道路、制定交通政策和评估交通项目效果的重要依据。通过对车流量的监测和分析,有关部门可以了解道路的拥堵状况,从而采取相应的措施。本项目的输入为道路上监控摄像头的视频流数据,输出为统计时间段内的车流量均值。

车流量的定义

任何一个算法项目,需求定义清楚是可以进行后面研发的基础,所以,首先要确认什么叫“车流量”,这部分的定义不是上面的那种名词解释,而是面向计算机可以理解的了的定义。定义好问题,也是算法工程师非常重要的技能。

这个项目关注场景为安放在道路中间的摄像头,视野可涵盖正向(即迎着摄像头方向)和反向(即顺着摄像头方向)行驶的车辆,需分别统计客户指定时间段内,正向和反向主路上车流量均值。在关注行驶方向上定义与道路垂直的横截线,越过该线的车辆即计数,并用于统计车流量。

性能指标要求

车流量统计值与真实偏差5%以内;处理效率为单服务器同时处理10路数据。

数据输入输出

系统对接前端管理平台,输入数据为前端摄像头采集的RTSP流,分辨率为1080P,帧率25FPS;统计开始信号;统计结束信号;触发车流量统计的横截线;均由管理平台下发。系统输出统计时间段内的平均车流量,反馈管理平台。

系统部署平台

ubuntu20.04服务器,搭配3080显卡,16核 单核3.6G Hz CPU处理器。

方案选型

算法方案选型

本项目适用目标跟踪后提取轨迹线,利用轨迹线与道路横截线的相对关系统计车流量。在

  1. 视觉识别算法方面,该场景关注的车辆属于常规的目标,使用YOLOv11做目标检测,ByteTrack做目标跟踪,即可满足需求。

  2. 业务算法方面,车辆跟踪后以车尾边的中心点形成轨迹线,判断轨迹线是否跨越横截线,跨越哪条横截线,即对应行驶方向的车流数量加一。

系统方案选型
  1. 算法工程化方面,采用 TensorRT 量化推理实现模型的前向推理加速。多路数据同时接入,多batch推理后再拆分跟踪的方式实现资源的最大化利用,提升算法运行效率。

  2. 视频流数据接入方面,采用ffmpeg库执行多路数据的实时解码。

  3. 指令数据接入方面,使用gRPC做数据通讯交互。

系统部署方案选型

选用docker作为系统部署的载体,系统部署后,以一个常驻的服务形式存在,开机自启,启动后即可实时响应管理平台的指令调度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值