论文部分内容阅读
随着硬件技术的发展、通信能力的提高以及人工智能研究的深入,视频监控技术在实际应用中弥补了人眼观测无法 24 小时持续工作、易疲劳等诸多缺点,在国土安全、犯罪预防、交通控制、事故预测和检测等方面均有广泛应用。尤其在中大型安防系统中,视频监控常常需要覆盖多个节点,汇总多个节点信息进行处理控制,对准确性和实时性有较高要求。因此,设计一个硬件、算法、软件相互配合的稳定实时系统具有较大挑战性和实际应用价值。本文以大规模视频监控系统为背景,基于多核处理器的硬件平台,着重研究实时多任务系统的任务拆分与模块化设计,对模块进行具体实现,并从各个方面考虑优化,以达到实时性和稳定性要求。
本文首先结合DARTS、NRL设计方法对系统进行并行任务拆分、模块化设计,发挥多核处理器性能,达到实时性目标。自顶而下构建层次化模型,采用流水线设计将顺序任务并行化,使用缓冲区解决流水线中数据冲突、处理速度不匹配的问题。最后使用有限状态机保证子系统的状态闭环。
模块化的设计使得系统具有可重用性。本文根据模块低耦合、高内聚的特性,划分为视频采集模块、图像处理模块、网络通信模块与显示交互模块。采用高效的前沿算法实现目标检测与跟踪,并针对算法在当前应用场景下的问题进行改进。采用较为健壮且具有一定并发处理能力的通信框架,并对TCP协议进行应用层再封装,以保证通信的可靠性。在显示交互模块建立功能-线程对应模型,根据时间分离的特点最终以两个上位机软件完成显示交互功能。
实时系统的优化可自上而下划分为三个层次。首先是架构优化,针对当前系统的性能瓶颈——带宽问题,更改数据流向,使得带宽压力分散,选择效率更高的I/O复用模型,提高系统的并发能力。为了进一步提高运行效率,设计多级缓存结构并优化数据同步方式。其次是算法优化,选择复杂度较低的算法结合当前背景进行改进,替换复杂度较高的算法,另一方面从逻辑上进行策略优化,减少操作次数。在代码层面上对代码进行梳理,利用技巧提升代码的容错与速度。
系统测试是检验系统是否满足预定需求及性能水平的关键环节。根据软件测试分类,分别对本文的实时系统进行功能测试和性能测试。根据系统需求列出测试项目,在真实场景下逐一进行测试。测试证明本系统能够保证20FPS的帧率处理视频序列,在单个监控点下对200m范围的运动目标进行实时告警和主动跟踪,并汇总多个节点信息到上位机软件进行显示和交互,实测接入五十个站点后稳定运行7×24小时,告警响应时间与控制响应时间均在120ms内,使得主观上无滞后感受。在模拟每秒20次告警,并发3000个站点的高压情况下无滞后反应,有较好的并发处理能力。是一个实时性的、具有良好并发处理能力的、可以稳定运行的系统。
本文首先结合DARTS、NRL设计方法对系统进行并行任务拆分、模块化设计,发挥多核处理器性能,达到实时性目标。自顶而下构建层次化模型,采用流水线设计将顺序任务并行化,使用缓冲区解决流水线中数据冲突、处理速度不匹配的问题。最后使用有限状态机保证子系统的状态闭环。
模块化的设计使得系统具有可重用性。本文根据模块低耦合、高内聚的特性,划分为视频采集模块、图像处理模块、网络通信模块与显示交互模块。采用高效的前沿算法实现目标检测与跟踪,并针对算法在当前应用场景下的问题进行改进。采用较为健壮且具有一定并发处理能力的通信框架,并对TCP协议进行应用层再封装,以保证通信的可靠性。在显示交互模块建立功能-线程对应模型,根据时间分离的特点最终以两个上位机软件完成显示交互功能。
实时系统的优化可自上而下划分为三个层次。首先是架构优化,针对当前系统的性能瓶颈——带宽问题,更改数据流向,使得带宽压力分散,选择效率更高的I/O复用模型,提高系统的并发能力。为了进一步提高运行效率,设计多级缓存结构并优化数据同步方式。其次是算法优化,选择复杂度较低的算法结合当前背景进行改进,替换复杂度较高的算法,另一方面从逻辑上进行策略优化,减少操作次数。在代码层面上对代码进行梳理,利用技巧提升代码的容错与速度。
系统测试是检验系统是否满足预定需求及性能水平的关键环节。根据软件测试分类,分别对本文的实时系统进行功能测试和性能测试。根据系统需求列出测试项目,在真实场景下逐一进行测试。测试证明本系统能够保证20FPS的帧率处理视频序列,在单个监控点下对200m范围的运动目标进行实时告警和主动跟踪,并汇总多个节点信息到上位机软件进行显示和交互,实测接入五十个站点后稳定运行7×24小时,告警响应时间与控制响应时间均在120ms内,使得主观上无滞后感受。在模拟每秒20次告警,并发3000个站点的高压情况下无滞后反应,有较好的并发处理能力。是一个实时性的、具有良好并发处理能力的、可以稳定运行的系统。