一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于Pipeline的并行视频结构化推理方法及系统与流程

2022-05-18 08:06:39 来源:中国专利 TAG:

基于pipeline的并行视频结构化推理方法及系统
技术领域
1.本发明涉及人工智能视觉分析技术领域,具体地说是基于pipeline的并行视频结构化推理方法及系统。


背景技术:

2.随着人工智能的快速发展以及国家对于安防领域的重视,智能视觉技术作为安防领域的核心技术也得到了快速的发展,而视频结构化也是智能视觉研究领域的重点方向。视频结构化是指根据视频画面中呈现出的人、车、物、颜色、数字及其他属性特征,经过推理解析建立视频结构大数据平台。
3.视频结构化推理解析是需要将视频画面中符合要求的行人、车辆解析出来,并将结果发到下级服务。但是已有框架并没有提供带有并行合并pipeline结果属性的element,在视频结构化推理中只能串行解析每个模型获取对应信息。这样串行链式解析就会导致解析效率低。
4.串行链式解析导致视频结构化推理解析效率低,无法满足pipeline解析的并行处理,是需要解决的技术问题。


技术实现要素:

5.本发明的技术任务是针对以上不足,提供基于pipeline的并行视频结构化推理方法及系统,来解决串行链式解析导致视频结构化推理解析效率低,无法满足pipeline解析的并行处理的问题。
6.第一方面,本发明的基于pipeline的并行视频结构化推理方法,包括如下步骤:
7.将pipeline拆分为主pipeline和分支pipeline,所述主pipeline共多个且并行运行,所述分支pipeline包括行人检测分支pipeline和车辆检测分支pipeline;
8.配置并初始化主pipeline,所述主pipeline用于以获取的视频流为输入,对视频流进行解码分帧得到多帧图片,并以行人和车辆为目标,对每帧图片进行目标检测以及目标跟踪抓拍,输出行人车辆推理结果以及行人图片和车辆图片;
9.配置并初始化行人检测分支pipeline和车辆检测分支pipeline,所述行人检测分支pipeline用于以行人图片为输入,对行人进行属性分析和特征提取,得到行人分析结果,所述车辆检测分支pipeline用于以车辆图片为输入,多车辆进行属性分析和特征提取,得到车辆分析结果,并用于将行人分析结果和车辆分析结果返回主pipeline,所述主pipeline用于将所述行人分析结果和车辆分析结果汇集为最终结果并返回下级服务;
10.通过主pipeline对获取的视频流进行行人和车辆的检测分析,得到行人图片和车辆图片;
11.以行人图片为输入,通过行人检测分支pipeline对行人进行属性分析和特征提取,得到行人分析结果,并以车辆图片为输入,通过车辆检测分支pipeline对车辆进行属性分析和特征提取,得到车辆分析结果;
12.通过主pipeline对行人车辆推理结果以及行人分析结果和车辆分析结果进行汇总,得到最终结果,并将最终结果返回下级服务。
13.作为优选,所述主pipeline中配置有行人车辆检测模型,所述行人车辆检测模型为基于深度学习构建的神经网络模型,用于以图片为输入,对行人和车辆进行推理分类,得到目标名称和目标位置坐标,并得到行人图片和车辆图片,所述目标包括行人和车辆;
14.所述行人检测分支pipeline中配置有行人检测模型,所述行人检测模型为基于深度学习构建的神经网络模型,用于以行人图片为输入,对行人进行属性分析和特征提取,得到行人分析结果;
15.所述车辆检测分支pipeline中配置有车辆检测模型,所述车辆检测模型为基于深度学习构建的神经网络模型,用于以车辆图片为输入,对车辆进行属性分析和特征提取,得到车辆分析结果;
16.通过服务器显存的大小以及主pipeline和分支pipeline中模型的大小计算出可并行的主pipeline个数,所述主pipeline个数计算公式为:
[0017][0018]
其中,xm表示服务器显存的大小,xd表示主pipeline和分支pipeline中模型的大小,所述模型包括行人车辆检测模型、行人检测模型以及车辆检测模型;num为向下取整获取整数结果。
[0019]
作为优选,所述主pipeline包括如下模块:
[0020]
视频流输入模块,所述视频流输入模块用于通过视频监控点和码流类型完成开流,获取视频源的rtsp流;
[0021]
视频解码分帧模块,所述视频码分帧模块与所述视频流输入模块交互,用于对视频流进行分帧,得到多帧图片;
[0022]
检测推理模块,所述检测推理模块与所述视频解码分帧模块交互,配置有行人车辆检测模型,所述行人车辆检测模型为基于深度学习构建的神经网络模型,用于通过行人车辆检测模型对输入的图片进行行人和车辆的推理分类,得到目标名称和目标位置坐标,并得到行人图片和车辆图片,所述目标包括行人和车辆;
[0023]
跟踪模块,所述跟踪模块用于利用iou计算方法跟踪区域中的某个目标,跟踪规则为第一次出现检测区域中的目标或者跟丢后再次出现在区域中的目标进行跟踪抓拍,所述目标包括行人和车辆;
[0024]
返回结果模块,所述返回结果模块与所述检测推理模块交互,用于对行人图片和车辆图片进行抠图处理,将抠图后的行人图片发送至行人检测分支pipeline,将抠图后的车辆图片发送至车辆检测分支pipeline;用于获取行人分析结果和车辆分析结果,将行人车辆推理结果以及行人分析结果和车辆分析结果汇总为最终结果并返回下级服务。
[0025]
作为优选,所述行人检测分支pipeline包括:
[0026]
图片源输入模块,所述图片源输入模块用于从主pipeline中获取行人图片;
[0027]
行人属性及特征提取模块,所述行人属性及特征提取模块与所述图片源输入模块交互,配置有行人检测模型,所述行人检测模型为基于深度学习构建的神经网络模型,用于通过行人检测模块对行人图片进行属性分析和特征提取,得到行人分析结果;
[0028]
结果返回模块,所述结果返回模块与所述行人属性及特征提取模块交互,用于将行人分析结果返回主pipeline。
[0029]
作为优选,所述行人检测模型用于对行人性别、年龄、是否戴口罩以及是否戴眼镜进行属性检测,获取行人的特征值,得到行人分析结果。
[0030]
作为优选,所述车辆检测分支pipeline中配置有如下模块:
[0031]
图片源输入模块,所述图片源输入模块用于从主pipeline中获取车辆图片;
[0032]
解码预处理模块,所述解码预处理模块用于对车辆图片进行解码预处理,通过对车辆图片进行图像剪裁和归一化处理,输出满足统一标准的车辆图片;
[0033]
车辆属性分析和特征提取模块,所述车辆属性分析和特征提取模块中配置有车辆分析模型,所述车辆分析模型为基于深度学习构建的神经网络模型,用于通过所述车辆分析模型对车辆图片进行车辆属性分析和提取,输出车辆分析结果;
[0034]
返回结果模块,所述返回结果模块用于将车辆分析结果分返回主pipeline。
[0035]
作为优选,所述车辆分析模型用于对车辆品牌进行属性识别,并用于对车牌进行属性识别,获取对应的特征值,得到车辆分析结果,通过对车辆进行识别获得车辆信息,所述车辆信息包括车辆颜色、车前物品、主驾是否打电话、主驾是否系安全带、副驾是否系安全带、车辆品牌、车辆型号、车辆年款以及车辆类型,通过对车牌进行识别获得车牌信息,所述车牌信息包括车牌号码和车牌位置坐标。
[0036]
第二方面,本发明的基于pipeline的并行视频结构化推理系统,其特征在于包括:
[0037]
pipeline拆分模块,所述pipeline拆分模块用于将pipeline拆分为主pipeline和分支pipeline,所述分支pipeline包括行人检测分支pipeline和车辆检测分支pipeline;
[0038]
分支pipeline配置模块,所述分支pipeline配置模块用于配置并初始化主pipeline、行人检测分支pipeline和车辆检测分支pipeline,所述主pipeline共多个且并行运行,用于以获取的视频流为输入,对视频流进行解码分帧得到多帧图片,并以行人和车辆为目标,对每帧图片进行目标检测以及目标跟踪抓拍,输出行人车辆推理结果以及行人图片和车辆图片,所述行人车辆推理结果包括目标名称和目标位置坐标,所述目标包括行人和车辆;所述行人检测分支pipeline用于以行人图片为输入,对行人进行属性分析和特征提取,得到行人分析结果;所述车辆检测分支pipeline用于以车辆图片为输入,多车辆进行属性分析和特征提取,得到车辆分析结果,并用于将行人分析结果和车辆分析结果返回主pipeline,所述主pipeline用于将所述行人车辆推理结果以及行人分析结果和车辆分析结果汇集为最终结果,并返回下级服务;
[0039]
推理模块,所述推理模块用于通过主pipeline对获取的视频流进行行人和车辆的检测分析,得到行人图片和车辆图片;用于以行人图片为输入、通过行人检测分支pipeline对行人进行属性分析和特征提取,得到行人分析结果,用于以车辆图片为输入、通过车辆检测分支pipeline对车辆进行属性分析和特征提取,得到车辆分析结果;并用于通过主pipeline对行人车辆推理结果以及行人分析结果和车辆分析结果进行汇总,得到最终结果,并将最终结果返回下级服务。
[0040]
作为优选,所述主pipeline包括如下模块:
[0041]
视频流输入模块,所述视频流输入模块用于通过视频监控点和码流类型完成开流,获取视频源的rtsp流;
[0042]
视频解码分帧模块,所述视频码分帧模块与所述视频流输入模块交互,用于对视频流进行分帧,得到多帧图片;
[0043]
检测推理模块,所述检测推理模块与所述视频解码分帧模块交互,配置有行人车辆检测模型,所述行人车辆检测模型为基于深度学习构建的神经网络模型,用于通过行人车辆检测模型对输入的图片进行行人和车辆的推理分类,得到行人车辆推理结果以及行人图片和车辆图片;
[0044]
跟踪模块,所述跟踪模块用于利用iou计算方法跟踪区域中的某个目标,跟踪规则为第一次出现检测区域中的目标或者跟丢后再次出现在区域中的目标进行跟踪抓拍,所述目标包括行人和车辆;
[0045]
返回结果模块,所述返回结果模块与所述检测推理模块交互,用于对行人图片和车辆图片进行抠图处理,将抠图后的行人图片发送至行人检测分支pipeline,将抠图后的车辆图片发送至车辆检测分支pipeline;用于获取行人分析结果和车辆分析结果,将行人分析结果和车辆分析结果汇总为最终结果并返回下级服务;
[0046]
所述行人检测分支pipeline包括:
[0047]
图片源输入模块,所述图片源输入模块用于从主pipeline中获取行人图片;
[0048]
行人属性及特征提取模块,所述行人属性及特征提取模块与所述图片源输入模块交互,配置有行人检测模型,所述行人检测模型为基于深度学习构建的神经网络模型,用于通过行人检测模块对行人图片进行属性分析和特征提取,得到行人分析结果;
[0049]
结果返回模块,所述结果返回模块与所述行人属性及特征提取模块交互,用于将行人分析结果返回主pipeline;
[0050]
所述行人检测模型用于对行人性别、年龄、是否戴口罩以及是否戴眼镜进行属性检测,获取行人的特征值,得到行人分析结果;
[0051]
所述车辆检测分支pipeline中配置有如下模块:
[0052]
图片源输入模块,所述图片源输入模块用于从主pipeline中获取车辆图片;
[0053]
解码预处理模块,所述解码预处理模块用于对车辆图片进行解码预处理,通过对车辆图片进行图像剪裁和归一化处理,输出满足统一标准的车辆图片;
[0054]
车辆属性分析和特征提取模块,所述车辆属性分析和特征提取模块中配置有车辆分析模型,所述车辆分析模型为基于深度学习构建的神经网络模型,用于通过所述车辆分析模型对车辆图片进行车辆属性分析和提取提取,输出车辆分析结果;
[0055]
返回结果模块,所述返回结果模块用于将车辆分析结果分返回主pipeline;
[0056]
所述车辆分析模型用于对车辆品牌进行属性识别,并用于对车牌进行属性识别,获取对应的特征值,得到车辆分析结果,通过对车辆进行识别获得车辆信息,所述车辆信息包括车辆颜色、车前物品、主驾是否打电话、主驾是否系安全带、副驾是否系安全带、车辆品牌、车辆型号、车辆年款以及车辆类型,通过对车牌进行识别获得车牌信息,所述车牌信息包括车牌号码和车牌位置坐标。
[0057]
作为优选,所述pipeline拆分模块用于通过服务器显存的大小以及主pipeline和分支pipeline中模型的大小计算出可并行的主pipeline个数,所述主pipeline个数计算公式为:
[0058][0059]
其中,xm表示服务器显存的大小,xd表示主pipeline和分支pipeline中模型的大小,所述模型包括行人车辆检测模型、行人检测模型以及车辆检测模型;num为向下取整获取整数结果。
[0060]
本发明的基于pipeline的并行视频结构化推理方法及系统具有以下优点:
[0061]
1、通过拆分pipeline的方法并行处理行人与车辆检测,主pipeline调用分支pipeline的推理结果将最终结果返回到下级服务,该过程并行处理提高了解析效率,通过拆分pipeline,使得不同分支pipeline可灵活组合与扩充,提高了算法服务的灵活性,便于并行编排;
[0062]
2、通过服务器显存大小和深度学习训练出的模型大小计算出可并行的主pipeline个数,多个主pipeline并行运行,提高了算法效率,并对主pipeline个数进行了精准计算,提供了适配的主pipeline,避免了不必要的资源浪费;
[0063]
3、住并只初始化一个行人pipeline分支和一个车辆pipeline分支减少了初始化pipeline加载模型占用的gpu资源,极大的节约了资源。
附图说明
[0064]
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0065]
下面结合附图对本发明进一步说明。
[0066]
图1为实施例1基于pipeline的并行视频结构化推理方法的工作原理框图。
具体实施方式
[0067]
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。
[0068]
本发明实施例提供基于pipeline的并行视频结构化推理方法及系统,用于解决串行链式解析导致视频结构化推理解析效率低,无法满足pipeline解析的并行处理的技术问题。
[0069]
实施例1:
[0070]
本发明基于pipeline的并行视频结构化推理方法,包括如下步骤:
[0071]
s100、将pipeline拆分为主pipeline和分支pipeline,所述主pipeline共多个且并行运行,所述分支pipeline包括行人检测分支pipeline和车辆检测分支pipeline;
[0072]
s200、配置并初始化主pipeline,所述主pipeline用于以获取的视频流为输入,对视频流进行解码分帧得到多帧图片,并以行人和车辆为目标,对每帧图片进行目标检测以及目标跟踪抓拍,输出行人图片和车辆图片;
[0073]
配置并初始化行人检测分支pipeline和车辆检测分支pipeline,所述行人检测分
支pipeline用于以行人图片为输入,对行人进行属性分析和特征提取,得到行人分析结果,所述车辆检测分支pipeline用于以车辆图片为输入,多车辆进行属性分析和特征提取,得到车辆分析结果,并用于将行人分析结果和车辆分析结果返回主pipeline,所述主pipeline用于将所述行人分析结果和车辆分析结果汇集为最终结果并返回下级服务;
[0074]
s300、通过主pipeline对获取的视频流进行行人和车辆的检测分析,得到行人图片和车辆图片;
[0075]
s400、以行人图片为输入,通过行人检测分支pipeline对行人进行属性分析和特征提取,得到行人分析结果,并以车辆图片为输入,通过车辆检测分支pipeline对车辆进行属性分析和特征提取,得到车辆分析结果;
[0076]
s500、通过主pipeline对行人分析结果和车辆分析结果进行汇总,得到最终结果,并将最终结果返回下级服务。
[0077]
本实施例中,主pipeline中配置有行人车辆检测模型,行人车辆检测模型为基于深度学习构建的神经网络模型,用于以图片为输入,对行人和车辆进行推理分类,得到行人图片和车辆图片;行人检测分支pipeline中配置有行人检测模型,行人检测模型为基于深度学习构建的神经网络模型,用于以行人图片为输入,对行人进行属性分析和特征提取,得到行人分析结果;车辆检测分支pipeline中配置有车辆检测模型,车辆检测模型为基于深度学习构建的神经网络模型,用于以车辆图片为输入,对车辆进行属性分析和特征提取,得到车辆分析结果。
[0078]
在步骤s100中将pipeline拆分成不同的pipeline分支,进行行人和车辆的并行处理,其中,主pipeline共多个且并行处理,行人检测分支pipeline和车辆检测分支pipeline各一个,在拆分时需要确定主pipeline的个数。
[0079]
本实施例中,根据服务器提供的显存大小xm以及深度学习训练出的模型大小xd,那么可以计算出并行的主pipeline个数为:
[0080][0081]
num为向下取整获取整数结果。根据计算结果初始化并行的主pipeline个数。其中每个主pipeline继承自管理多个element的bin容器,为服务提供一个总线用于传输消息。当pipeline中没有数据时,各element处于等待状态,直到出现待处理数据便处于工作状态。初始化主pipeline的同时在分别初始化一个行人pipeline分支和一个车辆pipeline分支,行人pipeline分支和车辆pipeline分支并行处理行人和车辆目标。
[0082]
主pipeline包括的构成元素包括如下模块:视频流输入模块、视频解码分帧模块、检测推理模块、跟踪模块以及返回结果模块。
[0083]
视频流输入模块用于通过视频监控点和码流类型完成开流,获取视频源的rtsp流。视频码分帧模块利用探针实现硬件解码功能,将传统的缓冲区通过硬件缓冲区id由一个element传递到另一个element,用于对视频流进行分帧,得到多帧图片。
[0084]
检测推理模块与视频解码分帧模块交互,配置有行人车辆检测模型,行人车辆检测模型为基于深度学习构建的神经网络模型,用于通过行人车辆检测模型对输入的图片进行行人和车辆的推理分类,得到目标名称和目标位置坐标,目标包括行人和车辆,并得到行人图片和车辆图片。
[0085]
跟踪模块,跟踪模块用于利用iou计算方法跟踪区域中的某个目标,跟踪规则为第一次出现检测区域中的目标或者跟丢后再次出现在区域中的目标进行跟踪抓拍,所述目标包括行人和车辆。
[0086]
返回结果模块与检测推理模块交互,用于对行人图片和车辆图片进行抠图处理以缩小图片,将抠图后的行人图片发送至行人检测分支pipeline,将抠图后的车辆图片发送至车辆检测分支pipeline;用于获取行人分析结果和车辆分析结果,将行人车辆推理结果以及行人分析结果和车辆分析结果汇总为最终结果并返回下级服务。
[0087]
行人检测分支pipeline包括图片源输入模块、行人属性及特征提取模块以及结果返回模块,图片源输入模块用于从主pipeline中获取行人图片;行人属性及特征提取模块与所述图片源输入模块交互,配置有行人检测模型,行人检测模型为基于深度学习构建的神经网络模型,用于通过行人检测模块对行人图片进行属性分析和特征提取,得到行人分析结果;结果返回模块与所述行人属性及特征提取模块交互,用于将行人分析结果返回主pipeline。行人检测模型用于对行人性别、年龄、是否戴口罩以及是否戴眼镜进行属性检测,获取行人的特征值,得到行人分析结果。
[0088]
该行人检测分支pipeline作为图片处理pipeline同步返回检测数据,图片源输入模块为主pipeline检测到的行人通过抠图得到的小图,经过图片预处理加载到pipeline的数据源元件。行人属性及特征提取模块主要对行人性别、年龄、是否戴口罩、是否戴眼镜等属性检测,获取该行人的特征值。返回结果模块主要返回缓存中检测到的行人属性和特征值检测结果。该过程只对特定的图片目标检测处理,简化的处理过程。
[0089]
车辆检测分支pipeline中配置有如下模块:图片源输入模块、解码预处理模块、车辆属性分析和特征提取模块以及返回结果模块,图片源输入模块用于从主pipeline中获取车辆图片;解码预处理模块用于对车辆图片进行解码预处理,通过对车辆图片进行图像剪裁和归一化处理,输出满足统一标准的车辆图片;车辆属性分析和特征提取模块中配置有车辆分析模型,车辆分析模型为基于深度学习构建的神经网络模型,用于通过车辆分析模型对车辆图片进行车辆属性分析和提取,输出车辆分析结果;返回结果模块用于将车辆分析结果分返回主pipeline。
[0090]
车辆检测分支pipeline输入源为主pipeline检测到的车辆通过抠图获取到的小图,经过图片预处理裁剪、归一化成标准大小的图片加载到车辆检测pipeline的数据源元件。车辆属性分析和特征提取模块中涉及到多模型处理,将车辆品牌和属性识别推理作为一次推理,车牌检测、识别作为二次推理。车辆品牌/属性识别模型获取车辆信息和车牌信息,车辆信息包括车辆颜色、车前物品、主驾是否打电话、主驾是否系安全带、副驾是否系安全带、、车辆品牌、车辆型号、车辆年款以及车辆类型等信息,车牌信息包括车牌号码、车牌位置坐标等信息。车牌检测、识别通过读取配置参数gie-unique-id和class_ids跳过pipeline中的element来过滤模型数据。车牌检测过程中将检测的车牌抠图再贴图到原图上,该过程利用的是发到车辆分支pipeline的车辆小图,这样就避免了以往对大图中多个车辆的车牌抠图贴图图片大小限制问题。
[0091]
本实施例中主pipeline和分支pipeline中元素配合将结构化视频解码分帧获取待解析图片,然后进行行人/车辆推理检测、跟踪处理,将满足条件的目标在进行行人属性(如年龄、性别、附属物(是否戴眼镜、口罩))提取,然后再进行车辆属性、车辆颜色、车牌识
别等特征提取。
[0092]
在实际应用中,主pipeline异步返回视频检测结果,并在返回结果模块调用同步图片检测任务。主pipeline将检测到的行人小图作为输入源发送到行人检测pipeline分支,将检测到的车辆小图作为输入源发送到车辆检测pipeline分支。行人检测分支通过图片推理同步返回行人属性、行人特征结果。车辆检测分支通过推理后将车辆品牌、车辆属性、检测到的车牌位置坐标等信息同步返回到图片检测任务。
[0093]
本实施例的方法实现了pipeline并行处理视频流,将pipeline拆分成不同的pipeline分支,进行行人和车辆的并行处理。由于目前框架没有提供能够实现pipeline并行处理行人和车辆的element,以往的基于pipeline的视频解析只能通过跳过element实现不同模型的串行解析,主要过程是先将结构化视频解码分帧获取待解析图片,然后进行行人/车辆推理检测、跟踪处理,将满足条件的目标在进行行人属性(如年龄、性别、附属物(是否戴眼镜、口罩))提取,然后再进行车辆属性、车辆颜色、车牌识别等特征提取,最终将各个模块的处理放在同一个pipeline管道中,其中pipeline中图片使用同一块内存传递解析。本发明通过拆分pipeline的方式简化了pipeline组织结构,将行人属性检测和车辆属性检测分别放在分支pipeline中,最后主pipeline通过调用分支pipeline的检测结果,实现pipeline并行处理的目的。
[0094]
该方法简化了视频结构化检测结构,对于行人检测模型和车辆检测模型只需创建一次,减少了模型加载占用gpu资源,通过读取配置文件的参数可以过滤不需要检测的模型类别和模型数据,便于编排。
[0095]
实施例2:
[0096]
本发明基于pipeline的并行视频结构化推理系统,包括pipeline拆分模块、分支pipeline配置模块以及推理模块。
[0097]
pipeline拆分模块用于将pipeline拆分为主pipeline和分支pipeline,分支pipeline包括行人检测分支pipeline和车辆检测分支pipeline。
[0098]
分支pipeline配置模块用于配置并初始化主pipeline、行人检测分支pipeline和车辆检测分支pipeline,主pipeline共多个且并行运行,用于以获取的视频流为输入,对视频流进行解码分帧得到多帧图片,并以行人和车辆为目标,对每帧图片进行目标检测以及目标跟踪抓拍,输出行人车辆推理结果以及行人车辆推理结果以及行人图片和车辆图片,行人车辆推理结果包括目标名称和目标位置坐标,目标包括行人和车辆;行人检测分支pipeline用于以行人图片为输入,对行人进行属性分析和特征提取,得到行人分析结果;车辆检测分支pipeline用于以车辆图片为输入,多车辆进行属性分析和特征提取,得到车辆分析结果,并用于将行人分析结果和车辆分析结果返回主pipeline,主pipeline用于将行人车辆推理结果以及行人分析结果和车辆分析结果汇集为最终结果,并返回下级服务。
[0099]
推理模块用于通过主pipeline对获取的视频流进行行人和车辆的检测分析,得到行人图片和车辆图片;用于以行人图片为输入、通过行人检测分支pipeline对行人进行属性分析和特征提取,得到行人分析结果,用于以车辆图片为输入、通过车辆检测分支pipeline对车辆进行属性分析和特征提取,得到车辆分析结果;并用于通过主pipeline对行人车辆推理结果以及行人分析结果和车辆分析结果进行汇总,得到最终结果,并将最终结果返回下级服务。
[0100]
本实施例中,主pipeline包括的构成元素包括如下模块:视频流输入模块、视频解码分帧模块、检测推理模块、跟踪模块以及返回结果模块。
[0101]
视频流输入模块用于通过视频监控点和码流类型完成开流,获取视频源的rtsp流。视频码分帧模块利用探针实现硬件解码功能,将传统的缓冲区通过硬件缓冲区id由一个element传递到另一个element,用于对视频流进行分帧,得到多帧图片。
[0102]
检测推理模块与视频解码分帧模块交互,配置有行人车辆检测模型,行人车辆检测模型为基于深度学习构建的神经网络模型,用于通过行人车辆检测模型对输入的图片进行行人和车辆的推理分类,得到目标名称和目标位置坐标,目标包括行人和车辆,并得到行人图片和车辆图片。
[0103]
跟踪模块,跟踪模块用于利用iou计算方法跟踪区域中的某个目标,跟踪规则为第一次出现检测区域中的目标或者跟丢后再次出现在区域中的目标进行跟踪抓拍,所述目标包括行人和车辆。
[0104]
返回结果模块与检测推理模块交互,用于对行人图片和车辆图片进行抠图处理,将抠图后的行人图片发送至行人检测分支pipeline,将抠图后的车辆图片发送至车辆检测分支pipeline;用于获取行人分析结果和车辆分析结果,将行人车辆推理结果以及行人分析结果和车辆分析结果汇总为最终结果并返回下级服务。
[0105]
行人检测分支pipeline包括图片源输入模块、行人属性及特征提取模块以及结果返回模块,图片源输入模块用于从主pipeline中获取行人图片;行人属性及特征提取模块与所述图片源输入模块交互,配置有行人检测模型,行人检测模型为基于深度学习构建的神经网络模型,用于通过行人检测模块对行人图片进行属性分析和特征提取,得到行人分析结果;结果返回模块与所述行人属性及特征提取模块交互,用于将行人分析结果返回主pipeline。行人检测模型用于对行人性别、年龄、是否戴口罩以及是否戴眼镜进行属性检测,获取行人的特征值,得到行人分析结果。
[0106]
该行人检测分支pipeline作为图片处理pipeline同步返回检测数据,图片源输入模块为主pipeline检测到的行人通过抠图得到的小图,经过图片预处理加载到pipeline的数据源元件。行人属性及特征提取模块主要对行人性别、年龄、是否戴口罩、是否戴眼镜等属性检测,获取该行人的特征值。返回结果模块主要返回缓存中检测到的行人属性和特征值检测结果。该过程只对特定的图片目标检测处理,简化的处理过程。
[0107]
车辆检测分支pipeline中配置有如下模块:图片源输入模块、解码预处理模块、车辆属性分析和特征提取模块以及返回结果模块,图片源输入模块用于从主pipeline中获取车辆图片;解码预处理模块用于对车辆图片进行解码预处理,通过对车辆图片进行图像剪裁和归一化处理,输出满足统一标准的车辆图片;车辆属性分析和特征提取模块中配置有车辆分析模型,车辆分析模型为基于深度学习构建的神经网络模型,用于通过车辆分析模型对车辆图片进行车辆属性分析和提取,输出车辆分析结果;返回结果模块用于将车辆分析结果分返回主pipeline。
[0108]
车辆检测分支pipeline输入源为主pipeline检测到的车辆通过抠图获取到的小图,经过图片预处理裁剪、归一化成标准大小的图片加载到车辆检测pipeline的数据源元件。车辆属性分析和特征提取模块中涉及到多模型处理,将车辆品牌和属性识别推理作为一次推理,车牌检测、识别作为二次推理。车辆品牌/属性识别模型获取车辆信息和车牌信
息,车辆信息包括车辆颜色、车前物品、主驾是否打电话、主驾是否系安全带副驾是否系安全带、车辆品牌、车辆型号、车辆年款以及车辆类型等信息,车牌信息包括车牌号码、车牌位置坐标等信息。车牌检测、识别通过读取配置参数gie-unique-id和class_ids跳过pipeline中的element来过滤模型数据。车牌检测过程中将检测的车牌抠图再贴图到原图上,该过程利用的是发到车辆分支pipeline的车辆小图,这样就避免了以往对大图中多个车辆的车牌抠图贴图图片大小限制问题。
[0109]
本实施例可执行实施例1公开的方法,主pipeline和分支pipeline中元素配合将结构化视频解码分帧获取待解析图片,然后进行行人/车辆推理检测、跟踪处理,将满足条件的目标在进行行人属性(如年龄、性别、附属物(是否戴眼镜、口罩))提取,然后再进行车辆属性、车辆颜色、车牌识别等特征提取。
[0110]
上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献