基于深度学习的公交客流统计解决方案简介


客流统计系统是用机器代替人工,对公交车每个站点和每条线路的上、下车辆的人数进行实时的自动统计,同时将数据发送到后端的系统管理平台进行存储,分析数据并形成数据报表。由此,监控中心能即时了解到每辆车的载客状况、各站点的拥挤程度等数据。利用这些数据可以优化公交线路、分析与预测公交客流的实时动态、决策和调控公交的调度,在使城市交通更加智能化的同时也为城市建设规划更加人性化、民众出行更便利做出贡献。

1 平台总体框架

如图1所示,客流统计平台由四个部分组成,包括升级管理平台、客流统计数据平台、终端升级管理程序及客流统计程序。下面简要介绍数据汇总平台及升级管理平台,最后重点介绍客流统计终端相关技术及实现方案。

图 1 客流统计平台的总体架构

2 客流统计数据平台

客流统计数据平台接收终端客流统计程序的计数结果,并对数据进行汇总及分析,并通过WEB的方式展示给客户。为了满足客流计数算法的快速学习迭代,平台支持调取终端视频,将调取的视频进行作为数据样本,对模型进行迭代优化,保证模型的适应能力,提高计数精度。

3 升级管理平台

为保证终端程序的正常运行,并进行无值守升级,平台配套了升级管理平台,升级管理平台由两部分组成,包括升级管理后台及终端升级管理程序,升级管理后台负责设置并查看终端的运行情况,终端升级管理程序负责终端程序版本管理,配置管理,客流统计程序监控,重要事件报送等相关功能,满足了终端程序升级及监控的需求,保障了终端程序的正常运行,满足程序及模型快速变更的需求。

4 客流统计终端

终端模块以IMX6Q 的CPU为计算核心,采用VPU,IPU作为辅助,结合多级流水,多线程并行等优化方法,同时对算法进行了深度优化,对目标检测模型进行深度裁剪,最终在以IMX6Q为核心的设备上实现了基于深度学习的客流计数算法。

4.1 硬件平台环境

终端设备使用IMX6Q为核心,搭配基础组件组成核心构件。此外,还包括多路视频采集、GPIO控制输入、外部存储、4G无线网络、Wifi无线网络及CAN总线输出等扩展设备。
--2
图 2 终端的硬件环境

4.2 技术要点及方案简介

--3
图 3 硬件平台计算流程

4.2.1 硬件加速要点

  • IPU 图像处理加速;
  • VPU 视频编码解码加速;
  • NEON 加速,提高并行度;
  • 循环展开,充分利用寄存器,合理安排数据存取;
  • 数据Cache 优化,提高Cache命中,降低Cache冲突;

4.2.2 工程方法加速要点

4.2.2.1 多线程并行加速

客流计数程序不使用任何的临时线程,避免了线程的反复创建及销毁带来的性能损失。设计中主要包括如下三类线程:

  • 计算线程池,完成核心计算,自主设计线程池,借鉴了GPU线程组的思想进行数据缓存划分,有效地降低了Cache冲突;
  • 工作线程,工作线程属于数据驱动类线程,无数据休眠,有数据则工作,极大地降低了CPU的耗费;
  • 任务线程,任务线程靠定时器进行驱动,用于定时处理等任务。使用操作系统提供的定时机制,此处采用Linux timerfd + epoll事件驱动模型进行实现,具有极高的性能。
4.2.2.2 多级流水高度并行

整体流程划分为视频采集、图像预处理、目标检测、目标跟踪及结果输出(包括统计结果及视频输出)等阶段,各阶段使用典型的生产者消费者模式进行并行处理,巧妙地设计数据交互方式,满足数据交互需求。
使用多级流水,可以减低IO操作的等待时间,将同步操作转换为异步操作,充分利用CPU资源,使用多级流水操作几乎可以消除IO带来的延迟影响,实现数据采集及结果保存零消耗,极大地提高了单位时间内数据处理的吞吐量。

4.2.3 算法实现优化要点

参考并集中测试并分析了开源的神经网络库加速方案,如OpenBlas、NNPACK及NCNN, 使用NEON、多线程并行、数据CACHE优化等方法重构如下操作:

  • Depthwise Convolution 优化;
  • Pooling Operation 优化;
  • Batch Normalization 优化;
  • 1x1 Convolution 优化;
  • 网络输入优化;
  • 网络输出优化;
  • 目标追踪优化。

通过优化后的算法相比普通的实现方式性能提高15到20倍,除使用上述的并行优化外,还有大量的计算过程优化,如合并操作,将batch norm 和conv进行合并,也使用了参数优化,计算展开,空间换时间,中间参数缓存等优化方法。

4.2.4 模型优化加速要点

4.2.4.1 模型重构
  • 按需设计网络输入及输出宽度;
  • 按需设计网络深度;
  • 使用Depthwise Convolution卷积优化卷积;
  • 剔除池化层,使用s2卷积进行替换。
4.2.4.2 模型训练及调整
  • 根据训练结果调整目标损失参数及正则化参数,优化模型训练;
  • 对训练后的模型进行量化或压缩。
  • 最终模型整体复杂度降低了30倍,目标检测AP达到0.87;

4.3 技术特点及重要指标

  • 检测性能,单路视频每秒16帧,双路视频每路8帧;
  • 计数精度,单路视频实测平均精度可达95%;双路视频可达90%;
  • 支持多路视频并行检测,目前从性能上考虑,支持两路;
  • 支持无值守升级及运行监控;
  • 支持视频调取,可以快速迭代优化模型;
  • 支持多种结果输出方式,包括平台汇总报送,CAN总线输出;
  • 成本低廉,使用传统摄像头,如果需要支持夜晚,需摄像头支持夜晚成像功能才可,目前模型已经覆盖夜晚场景;
  • 适应度高,满足不同天气,不同气候,不同季节,不同地域的场景需求;


转载请注明:Damone 的博客,飞飞 » 基于深度学习的公交客流统计解决方案简介

分享到:
主题颜色面板