论文部分内容阅读
视频监控随着智慧城市的建设被广泛应用于各行各业,监控视频系统的规模越来越大,监控摄像头的分辨率也越来越清晰,视频数据量猛烈增长。为了从大规模监控视频数据中挖掘更多有价值的信息,辅助监控人员实现智能视频监控,越来越多的视频分析算法被引入使用,更加重了监控视频系统的计算负载。面对海量视频数据和各种复杂的视频分析,如何将视频分析算法灵活地耦合在高效的视频数据处理平台成为一个重要的挑战。另一方面,在当下数据爆炸的时代,分布式技术成为近年来的一个技术热点。Hadoop、Spark等分布式技术的出现,为解决海量数据处理和存储问题提供了有效地解决方案。针对上述监控视频领域出现的问题,本文设计了基于分布式的监控视频数据并行化处理的平台。主要研究内容包括:在平台架构设计上,该平台主要由消息中心模块、分析计算模块和存储模块三个部分组成。为了解决监控视频系统中存在的视频处理算法与系统物理资源耦合度高等问题,本文采用Kafka消息队列作为消息中心模块负责视频数据的采集以及对中间结果数据进行缓存,作为中间件将平台中不同的视频分析模块进行解耦,提高平台的灵活性。为了满足对大规模视频数据近实时性处理的需求,本文采用Spark分布式计算引擎作为分析计算模块负责视频数据的高效、并行视频分析计算。在视频数据并行化处理方面,为了更好的实现视频分析算法的并行化计算,本文基于分布式数据并行化处理的思想,将视频分析算法分为帧间相关和帧间无关两类。并提出一种基于重复帧的数据划分读取策略,对这两类算法在进行Kafka分区存储和Spark拉取数据时,设计了一种定制化数据存取策略。实现视频数据基于本文提出的分布式平台高度并行化处理。最后,基于本文设计的平台通过案例应用进行性能测试评估。测试结果表明,本文提出的平台具备处理大规模数据的能力,运算速度快,并且能够在分布式集群上灵活地耦合各种视频分析算法,具有良好的可扩展性和灵活性,为后期平台扩展和管理带来了便利。