多路监控视频人工智能分析的处理方法及系统技术方案

技术编号:20050144 阅读:31 留言:0更新日期:2019-01-09 05:55
本发明专利技术涉及人工智能技术领域,公开了一种多路监控视频人工智能分析的处理方法和系统,其中方法包括:将多路监控视频流读入系统缓存中;根据每D帧抽取一帧,对读入的监控视频流进行下抽取处理;针对下抽取处理后的监控视频流,将每M帧图像封装成为一个Batch;将每J个批处理传输给同一个GPU服务器进行处理;将GPU的运算结果传输给数据库服务器,并给每一路监控视频流分配一个逻辑端口。本发明专利技术能够有效地提高GPU的处理效率,而且能够快速定位故障的监控视频流,从而实现系统的可维可测。

【技术实现步骤摘要】
多路监控视频人工智能分析的处理方法及系统
本专利技术实施方式涉及人工智能
,尤其涉及一种多路监控视频人工智能分析的处理方法及系统。
技术介绍
在一些应用场合,比如安防领域,传统的视频监控系统并不具备自主分析的能力,需要采用一些深度学习算法对传统的监控视频进行分析。在许多时候,监控视频多达成百上千路(每一路表示一个监控摄像头的监控视频流),实际中是需要采用服务器计算集群提供算力上的支持。在这种情况下,设计一种合理的、适用于大规模视频监控的软硬件架构,既能够得到合理的架构,也能在同等硬件配置下监控更多的视频,从而才能有效降低硬件成本,提高性价比。对于深度学习的运算主要采用GPU实现的,GPU里面常用的技术指标主要有CUDA核数量、显存大小、读取速度等。因此,充分利用显卡的显存、带宽提高运算速度,是设计高性能架构需要重点考虑的。在业界已有的方案中,考虑的是将每路视频直接输出到GPU显卡直接进行处理,再将输出的视频,通过网络连接传输到数据库服务器。专利技术人发现现有技术中至少存在如下问题:1.将单路视频直接传输到GPU服务器处理,无法充分利用显存和CUDA处理器的处理能力,GPU利用率不高;2.系统设计需要满足可维可测。如果进行大规模视频监控网络,需要具备GPU处理完毕后,传输给数据库服务器。但是,如果出现故障,数据库服务器需要无法直接检测定位出故障,导致难以维护和测量。应该注意,上面对技术背景的介绍只是为了方便对本专利技术的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本专利技术的
技术介绍
部分进行了阐述而认为上述技术方案为本领域技术人员所公知。
技术实现思路
本专利技术实施方式的目的在于提供一种多路监控视频人工智能分析的处理方法和系统,能够有效地提高GPU的处理效率,而且能够快速定位故障的监控视频流,从而实现系统的可维可测。为解决上述技术问题,本专利技术的实施方式提供了一种多路监控视频人工智能分析的处理方法,包括以下步骤:将多路监控视频流读入系统缓存中;根据每D帧抽取一帧,对读入的监控视频流进行下抽取处理;针对下抽取处理后的监控视频流,将每M帧图像封装成为一个Batch;将每J个批处理传输给同一个GPU服务器进行处理;将GPU的运算结果传输给数据库服务器,并给每一路监控视频流分配一个逻辑端口。本专利技术的实施方式还提供了一种多路监控视频人工智能分析的处理系统,包括:任务调度服务器,用于读入多路监控视频流,根据每D帧抽取一帧,对监控视频流进行下抽取处理,并针对下抽取处理后的监控视频流,将每M帧图像封装成为一个Batch;多GPU并行计算服务器,包括多个GPU,用于并行接收来自任务调度服务器的Batch,其中每一个GPU服务器接收J个批处理;数据库服务器,用于接收来自多GPU并行计算服务器的运算结果,并给每一路监控视频流分配一个逻辑端口。本专利技术实施方式相对于现有技术而言,在软件架构上,配合不同硬件服务器的功能分工,采用了:多路监控视频流分别降帧、封装多个batch、多batch并行异步处理,服务器端口与不同路视频映射传输实现可维可测的目的。在硬件架构上,提出了一种适用于多路视频监控的组织形式,分为任务调度服务器,多GPU并行计算服务器和数据库服务器,分工处理监控问题,如此容易定位问题,和模块化开发,做到各个功能模块高内聚低耦合。另外,本专利技术实施例中,根据每D帧抽取一帧,对读入的多路监控视频流进行D倍降帧的下抽取处理,经过下抽取处理后的监控视频流的帧数为:监控视频视频流帧数÷D;针对下抽取处理后的监控视频流的帧数,每M帧图像封装成为一个批处理,则所述监控视频流中Batch的数量为:(监控视频视频流帧数÷D)÷M。如此,减少了需要处理的每一路监控视频的帧数,在服务器处理能力固定的基础上,能够处理更多路监控视频。另外,将Batch的图像类型指定为计算统一设备体系结构CUDA类型,采用多路并行及异步传输的方式将Batch传输给多GPU,其中每J个批处理传输给同一个GPU服务器进行处理。通常视频处理中,有一部分运算在CPU上,有一部分在GPU上。如果按照完全一个循环做完,再做下一个循环,则会造成CPU计算时,GPU闲置,而GPU运算时,CPU闲置。采用异步的方式执行不同Batch的计算。通常是采用多线程或者进程的方式相互独立的进行各Batch各自的计算,若干个batch异步的进行CPU和GPU的计算,让计算机自动调度运算,使得总能有任务在CPU和GPU中运行,从而能够充分利用CPU和GPU的处理能力。另外,将多GPU运算结果通过TCP/IP协议传输给数据库服务器,选取空余的逻辑端口,将监控视频流的视频编号和逻辑端口的端口号一一映射。如此,能够确保当数据库服务器端显示异常时,能够快速定位出问题。附图说明一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。图1是本专利技术提供的多路监控视频人工智能分析的处理方法的流程示意图;图2是本专利技术提供的多路监控视频人工智能分析的处理方法的运行示意图;图3是本专利技术提供的多路监控视频人工智能分析的处理系统的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本专利技术各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。本专利技术的第一实施方式涉及一种支持多路监控视频人工智能分析的处理方法,具体流程如图1所示。步骤1:将多路监控视频流读入系统缓存中;步骤2:根据每D帧抽取一帧,对读入的监控视频流进行下抽取处理;步骤3:将下抽取后的监控视频流,根据每M帧图像封装成为一个Batch;步骤4:将每J个批处理传输给同一个GPU服务器进行处理;步骤5:将GPU的运算结果传输给数据库服务器,并给每一路监控视频流分配一个逻辑端口。本专利技术的第二实施方式对多路监控视频人工智能分析的处理方法进行了详述,具体流程如图2所示。针对上述的步骤1,将多路监控视频流读入调度服务器的系统缓存中,以高速缓存该多路监控视频流。针对上述的步骤2,监控视频流通常是30fps和25fps,即每秒25帧或者30帧的一组图片集合。对于用于安防应用的监控视频流,通常并不需要对每帧都做检测处理。根据每D帧抽取一帧,对读入的监控视频流进行下抽取,经过下抽取处理后的监控视频流的帧数为:监控视频视频流帧数÷D。比如下抽取率是D=5时,得到是编号为1、6、11、16…..的帧保留下来,这样原来监控视频流就完成了5倍的下抽取。如此,减少了需要处理的单路监控视频流的帧数,在服务器处理能力固定的基础上,可以处理多路监控视频流。因为对多路监控视频流进行D倍降帧处理。例如原来服务器的处理能力是一个GPU每秒处理5帧图片,而在本专利技术实施例中,要求每路监控视频流每秒处理一帧就可以了,所以可以通过D=5倍降帧,使得每路监控视频流是每秒实际输出1帧图像,从而提高了服务器对多路监控视频流的实际处理能力本文档来自技高网
...

【技术保护点】
1.一种支持多路监控视频人工智能分析的处理方法,其特征在于,包括:将多路监控视频流读入系统缓存中;根据每D帧抽取一帧,对读入的监控视频流进行下抽取处理;针对下抽取处理后的监控视频流,将每M帧图像封装成为一个批处理Batch;将每J个批处理传输给同一个图形处理器GPU服务器进行处理;将GPU的运算结果传输给数据库服务器,并给每一路监控视频流分配一个逻辑端口。

【技术特征摘要】
1.一种支持多路监控视频人工智能分析的处理方法,其特征在于,包括:将多路监控视频流读入系统缓存中;根据每D帧抽取一帧,对读入的监控视频流进行下抽取处理;针对下抽取处理后的监控视频流,将每M帧图像封装成为一个批处理Batch;将每J个批处理传输给同一个图形处理器GPU服务器进行处理;将GPU的运算结果传输给数据库服务器,并给每一路监控视频流分配一个逻辑端口。2.根据权利要求1所述的支持多路监控视频人工智能分析的处理方法,其特征在于,所述根据每D帧抽取一帧,对读入的监控视频流进行下抽取处理,具体包括:预先设置D,其中D为正整数;根据每D帧抽取一帧,对读入的多路监控视频流进行D倍降帧的下抽取处理,经过下抽取处理后的监控视频流的帧数为:监控视频视频流帧数÷D。3.根据权利要求2所述的支持多路监控视频人工智能分析的处理方法,其特征在于,所述针对下抽取处理后的监控视频流,将每M帧图像封装成为一个批处理,具体包括:针对下抽取处理后的监控视频流的帧数,每M帧图像封装成为一个批处理,则所述监控视频流中Batch的数量为:(监控视频视频流帧数÷D)÷M。4.根据权利要求1~3中任一项所述的支持多路监控视频人工智能分析的处理方法,其特征在于,所述将每J个批处理传输给同一个GPU服务器进行处理,具体包括:将Batch的图像类型指定为计算统一设备体系结构CUDA类型,采用多路并行及异步传输的方式将Batch传输给多GPU,其中每J个批处理传输给同一个GPU服务器进行处理。5.根据权利要求4中所述的支持多路监控视频人工智能分析的处理方法,其特征在于,所述方法还包括:预先设置M和J,其中M和J为正整数;所述M和J取值的依据为:单张图片的大小×M×J小于系统显卡的显存的大小。6.根据权利要求5所述的支持多路监控视频人工智能分...

【专利技术属性】
技术研发人员:陈海波
申请(专利权)人:深兰科技上海有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1