论文部分内容阅读
当前我国城市人口数量急剧膨胀,大中型城市交通拥堵的情况日益严重,而鼓励市民乘坐公交可以有效缓解交通拥堵。通过现有的公交电子站牌只能知道下辆车还有几站到达,而无法知道车内拥挤程度,同时也就无法为人们选择是否乘坐这辆车提供依据。因此,对于自动乘客计数系统的研究就显得十分重要。传统人流量统计方法为红外检测、压力检测等,但是公交上下车环境复杂,此类方法并不能很好的胜任乘客检测计数工作。基于视频图像处理的方法对改善传统计数方法的低准确性有着重要意义,嵌入式系统、处理器等的迅速发展,为通过在公交车上安装摄像头进行视频采集,配合嵌入式系统进行数据处理,进而完成车上人数的统计工作提供了可能。本文针对实验室前人已开发的人头检测计数算法,设计并实现了一种基于ARM+FPGA的嵌入式公交乘客计数硬件系统,主要内容如下:分析实验室前人已开发的人头检测计数算法,根据算法中图像预处理部分运算量较大,处理时间较长的实际情况,确定了本文的硬件架构为ARM+FPGA,FPGA模块进行视频图像采集,并充分发挥其快速运算的能力,对图像预处理部分进行硬件并行加速,ARM模块则对FPGA加速处理后的数据进行后续处理。针对已有的ARM核心板接口,自主设计开发了一块ARM底板,该底板仅拥有运行人头检测计数算法所必要的接口。实验结果表明,本文所开发的ARM底板结合已有的ARM核心板,能够满足运行人头检测计数算法所必须的要求,达到预期效果,同时对市场上功能繁杂、价格昂贵的开发板进行了裁剪,节约了生产成本。使用千兆以太网口完成了FPGA模块与ARM模块之间的数据传输。在FPGA模块中为预处理过的图像数据添加以太网帧头、IP包头、UDP包头,实现了数据的封装与发送,在ARM模块使用Socket API与OpenCV实现了图像数据的接收与还原,最后将整个系统连接起来,实现了人头检测计数功能。实验结果表明,FPGA模块能够按照以太网数据格式封装并发送出图像预处理后的数据,且ARM模块能够成功接收来自FPGA模块的数据,并将数据还原为一帧图像,同时ARM模块对还原后的图像进行了后续处理,实现了人头检测计数功能,平均计数准确率为78.2%,能够大致反映公交拥挤程度,具有一定实用价值。