一种推理加速及同步方法和系统与流程

未命名 08-05 阅读:103 评论:0


1.本发明属于物联网技术领域,具体涉及一种推理加速及同步方法和系统。


背景技术:

2.随着科技的发展,人工智能在计算机领域内,得到了愈加广泛的重视。人工智能为了充分挖掘ai技术的优势,模型设计复杂度日渐提升,包括模型深度,宽度以及结构复杂度等各个维度,计算量的增大使得ai推理性能瓶颈日益凸显,尤其是实时性的业务需求对推理速度要求更高。为了追求最佳推理性能,往往需要手动进行逐个优化,涉及的开发,部署和沟通成本都很高,为了降低成本,往往使用单个gpu机器甚至边缘设备平台(比如nvidia jetson)进行部署,边缘端的机器性能存在差异,就会导致推理速度慢,延迟高。这对于那些高实时性的应用场合是致命的。
3.主要问题集中在:
4.1、模型深度,宽度以及结构复杂度等各个维度,计算量的增大使得ai推理性能瓶颈日益凸显;
5.2、为了降低成本,往往使用单个gpu机器甚至边缘设备平台(比如nvidia jetson)进行部署,边缘端的机器性能存在差异,就会导致推理速度慢,延迟高;
6.目前常用的做法如下:
7.提升设备的性能:因为gpu的价格高昂,提高设备的性能,大大提高了成本,这个无疑提高了成本。
8.采用跳帧推理,虽然一定程度上提升了推理性能,但是跳帧带来了推理滞后,可能会出现关键动作不能捕抓的情况,对于那些高实时性的应用场合是致命的,此方法更不可取。
9.因此,本发明解决的技术问题在于:如何提高基于边缘设备进行快速推理和分析。


技术实现要素:

10.针对现有技术的不足,本发明的第一个目的在于提供一种推理加速及同步方法,该方法利用现有的推理模块的推理分辨率过大,和摄像头的视频分辨率不一致的现象,将1个或2个摄像头的两张图片合成一张图片,合成后的图片可全部置于推理模块的推理界面内,无需对推理模块的界面的空白处进行渲染,将推理速度提高一倍;同时合成前的图片带有标识,推理后对图片进行拆分,并重新合成视频源,针对视频源进行分析,得到分析结果,可以有效的降低边缘设备的分析压力。
11.本发明的第二个目的在于提供一种基于该方法的系统。
12.为达到第一个发明目的,本发明采用以下技术方案:
13.一种推理加速及同步方法,包括如下步骤:
14.步骤1:获取一个、两个或多个摄像头所获取的视频源,将视频源中每一帧图片加上用于用于标识图片来源和时间的标识;
15.步骤2:将视频源整合成一批视频帧;
16.步骤3:将每两张视频帧拼接成为一帧图像;
17.步骤4:将图像采用推理模块进行推理,得到推理结果;
18.步骤5:将图像进行拆分,拆分得到两帧和视频帧对应的图片,每帧图片均带有标识和推理结果;
19.步骤6:根据标识整合图片,得到视频;
20.步骤7:结合每张图片的推理结果,对视频进行分析,得到分析结果。
21.在上述的基推理加速及同步方法中,所述推理模块的推理界面的分辨率为1280*1440;视频源中的图片的分辨率为1280*720。
22.在上述的基推理加速及同步方法中,所述推理模块为gst-nvinfer插件;
23.gst-nvinfer插件根据网络配置要求可以对输入数据进行转换(如数据格式转换(bgr-》grb等)和reisze操作),然后把转换后的数据传递给底层库;底层库再把转换后的数据进行预处理(如减均值除方差归一化操作),最后产生rgb/bgr/gray float数据传递给tensorrt进行推理,输出中创建的metadata,即推理结果;
24.所述步骤1-7是在多媒体框架gstreamer中进行。
25.在上述的基推理加速及同步方法中,步骤3中,采用multistreamtiler插件将每两张视频帧拼接成为一帧图像。
26.在上述的基推理加速及同步方法中,所述步骤4具体为:
27.将图像采用推理模块进行推理,得到图像中人体的骨骼的推理结果;
28.所述步骤7具体为:结合每张图片的推理结果,对视频进行分析,得到关于图像中人体的动作的分析结果。
29.在上述的基推理加速及同步方法中,所述步骤6中,选定视频中任意的区域为感兴趣的区域;在步骤7中,依照时间先后顺序分析感兴趣的区域内的人体的骨骼的推理结果,得到关于图像中人体的动作的分析结果。
30.在上述的基推理加速及同步方法中,所述标识包括时间戳、图片的所在视频源和该图片在视频源中序号的信息。
31.同时,本发明还公开了一种推理加速及同步的系统,包括多个摄像头和用于实施如上任一所述方法的边缘设备,所述摄像头用于获得视频源并将视频源发送至边缘设备。
32.在上述的推理加速及同步的系统中,所述边缘设备包括:
33.视频源获取模块:用于获取两个摄像头所获取的视频源,将视频源中每一帧图片加上用于用于标识图片来源和时间的标识;
34.视频源整合模块:用于将视频源整合成一批视频帧;
35.视频帧合并模块:用于将每两张视频帧拼接成为一帧图像;
36.推理模块:用于对图像进行推理,得到推理结果;
37.图像拆分模块:用于将图像进行拆分,拆分得到两帧和视频帧对应的图片,每帧图片均带有标识和推理结果;
38.图片整合模块:用于根据标识整合图片,得到视频;
39.分析模块:用于结合每张图片的推理结果,对视频进行分析,得到分析结果。
40.在上述的推理加速及同步的系统中,所述推理模块的推理界面的分辨率为1280*
1440;视频源中的图片的分辨率为1280*720;
41.所述推理结果为关于人的骨骼的推理结果;
42.所述分析结果是关于人的动作的分析结果。
43.相对于现有技术,本发明具有以下有益效果:
44.1.采用图像2合1的结合技术,可提高推理速度,具体来说:
45.基于摄像头16:9的画面,填充了一些无关画面推理,大大降低性能的情况,采取2合1的方式(2路1280*720转为1路1280*1440),能够填充有效数据推理,在几乎不降低原有精准度的情况下,大大提升了1倍的推理速度。
46.2.2合1推理的时候要增加同步机制,需要通过图片标识、拆分,保证推理之后的结果能够对应上解码的流。
47.3.作为本发明的进一步优化,通过设置感兴趣的区别(roi),减少无关的目标也可以进一步提升性能,采取过滤自定义roi外的目标,减少计算量,进一步提升速度。
附图说明
48.图1为本发明的实施例1的流程图;
49.图2为本发明的实施例2的结构框图。
具体实施方式
50.下面通过具体实施方式来进一步说明本发明的技术方案。本领域技术人员应该明了,所述实施例仅仅是帮助理解本发明,不应视为对本发明的具体限制。
51.实施例1
52.参考图1,一种推理加速及同步方法,包括如下步骤:
53.步骤1:获取两个摄像头所获取的视频源,将视频源中每一帧图片加上用于用于标识图片来源和时间的标识;
54.在实际的应用中,大部分的摄像头的视频源的图片的分辨率都是1280*720;
55.而推理模块的推理界面的分辨率为1280*1440;传统做法是将一张1280*720分辨率的图片放到推理界面中进行推理,在此之前,将空白区域覆盖;覆盖需要一定的计算量,同时针对覆盖的区域也会进一步的消耗推理的计算量;基于此,提出以下步骤。
56.本步骤所述的标识具体的操作方式为:
57.设置sync-inputs属性,另外需要结合frame_num和ntp_timestamp做好流同步;
58.所述sync-inputs属性是指帧批次的属性;frame_num是设置图片帧的解码顺序的属性;ntp_timestamp是设置图片帧的时间戳的属性;
59.上述的标识主要用于在视频帧拼接前为图片做好标识,以在推理结束还原视频源的时候,能够确切的知道图片属于哪个摄像头、属于视频源中的哪张图片、拍摄时间是什么时候,以利于后续基于推理结果进行分析。
60.步骤2:将视频源整合成一批视频帧;
61.这里的视频源一般是指2个摄像头的视频源,但是实际上1个摄像头、3个摄像头、4个摄像头的视频源都可以看做或整合成一批视频帧;因为在步骤3中,实际上并不区分视频帧是否来源于一个摄像头还是更多个摄像头,其只关注是否有多帧图像;
62.步骤3:将每两张视频帧拼接成为一帧图像;
63.拼接的工具为multistreamtiler插件,该插件属于gstreamer框架中的一个插件,其能够将两张图像合并成一个2d的平面数据即一帧图像;
64.步骤4:将图像采用推理模块进行推理,得到推理结果;
65.推理采用的插件为:gst-nvinfer插件;
66.gst-nvinfer插件根据网络配置要求可以对输入数据进行转换(如数据格式转换(bgr-》grb等)和reisze操作),然后把转换后的数据传递给底层库;底层库再把转换后的数据进行预处理(如减均值除方差归一化操作),最后产生rgb/bgr/gray float数据传递给tensorrt进行推理,输出中创建的metadata,即推理结果;
67.该插件的主要功能之一是用于分析图像中的人体骨骼,或者换句话说,本领域的任何用于推理人体骨骼的推理插件均适用于本发明的实施例;
68.步骤5:将图像进行拆分,拆分得到两帧和视频帧对应的图片,每帧图片均带有标识和推理结果;
69.标识可以是拆分后进行赋予,比如增设一个模块,对步骤3合成的图像中的两张视频帧分别进行标识的记录,每个2合1的图像中的上下两张视频帧的标识被记录在该模块汇总,在拆分完成后,针对拆分得到的两张图像,应用该模块分别将标识赋予对应的图像;
70.将2和1的图像拆成2个图片,而每个图片本身自带标识,因此可以根据标识将每个图片归于其标记的摄像头的集合中,并根据时间戳、解码顺序排列该摄像头的多个图片;
71.步骤6:根据标识整合图片,得到视频;
72.步骤7:结合每张图片的推理结果,对视频进行分析,得到分析结果。
73.这里的分析结果是指针对人体骨骼的推理结果,根据骨骼的位置变化推理得到人体的动作,本实施例特别适用于电梯的人体的动作判断和危险预警;
74.在步骤6中,还优选在视频中人工选择一个roi区域,在步骤7中只分析该roi区域内的多张图片的人体的骨骼的变化情况,进而给出预警,这样处理的好处在于,对于边缘设备,其可以提高分析的速度,结合在此之前提高的推理速度,达到能够迅速预警的目的。
75.为了进一步提高本发明的处理速度和降低处理量,可结合步骤6的roi的设置,在步骤1中,预先过滤掉roi区域内无人的图片,得到过滤处理后的视频源;这样在步骤3中,可有效的合成后的图片的数量,也可以缩短步骤7中的分析的时长。
76.需要特别说明的是,本发明不仅仅适用于2个摄像头的情况,实际上当其适用于1个摄像头的情况,可使推理速度得到明显提高,进而提高分析的速度。
77.实施例2
78.参考图2,一种实施如实施例1所述的方法的推理加速及同步的系统,包括多个摄像头1和用于实施如实施例1所述方法的边缘设备10,所述摄像头用于获得视频源并将视频源发送至边缘设备。
79.在上述的推理加速及同步的系统中,所述边缘设备包括:
80.视频源获取模块2:用于获取两个摄像头所获取的视频源,将视频源中每一帧图片加上用于用于标识图片来源和时间的标识;
81.视频源整合模块3:用于将视频源整合成一批视频帧;
82.视频帧合并模块4:用于将每两张视频帧拼接成为一帧图像;
83.推理模块5:用于对图像进行推理,得到推理结果;
84.图像拆分模块6:用于将图像进行拆分,拆分得到两帧和视频帧对应的图片,每帧图片均带有标识和推理结果;
85.图片整合模块7:用于根据标识整合图片,得到视频;
86.分析模块8:用于结合每张图片的推理结果,对视频进行分析,得到分析结果。
87.在上述的推理加速及同步的系统中,所述推理模块的推理界面的分辨率为1280*1440;视频源中的图片的分辨率为1280*720;
88.所述推理结果为关于人的骨骼的推理结果;
89.所述分析结果是关于人的动作的分析结果。
90.其实施过程为:摄像头获取视频源;视频源发送给视频源获取模块;如果摄像头有2个或以上,则视频源整合模块需要进行视频源的整合;如果只有1个摄像头,那么视频源整合模块直接将视频帧发送给视频帧合并模块,视频帧合并模块进行视频中的2合1操作;推理模块进行人体骨骼推理,并将推理结果标注在2合1的图像上,图像拆分模块将图像拆分;图片整合模块根据标识进行图片整合得到归属于摄像头的视频;分析模块根据视频中图片的先后顺序以及其上标注的人体骨骼推理结果进行分析,得到人体动作,进而发出告警或不发出告警。
91.申请人声明,本发明通过上述实施例来说明本发明的工艺方法,但本发明并不局限于上述工艺步骤,即不意味着本发明必须依赖上述工艺步骤才能实施。所属技术领域的技术人员应该明了,对本发明的任何改进,对本发明所选用原料的等效替换及辅助成分的添加、具体方式的选择等,均落在本发明的保护范围和公开范围之内。

技术特征:
1.一种推理加速及同步方法,其特征在于,包括如下步骤:步骤1:获取两个摄像头所获取的视频源,将视频源中每一帧图片加上用于标识图片来源和时间的标识;步骤2:将视频源整合成一批视频帧;步骤3:将每两张视频帧拼接成为一帧图像;步骤4:将图像采用推理模块进行推理,得到推理结果;步骤5:将图像进行拆分,拆分得到两帧和视频帧对应的图片,每帧图片均带有标识和推理结果;步骤6:根据标识整合图片,得到视频;步骤7:结合每张图片的推理结果,对视频进行分析,得到分析结果。2.根据权利要求1所述的基推理加速及同步方法,其特征在于,所述推理模块的推理界面的分辨率为1280*1440;视频源中的图片的分辨率为1280*720。3.根据权利要求1所述的推理加速及同步方法,其特征在于,所述推理模块为gst-nvinfer插件;所述步骤1-7是在多媒体框架gstreamer中进行。4.根据权利要求1所述的推理加速及同步方法,其特征在于,步骤3中,采用multistreamtiler插件将每两张视频帧拼接成为一帧图像。5.根据权利要求1所述的推理加速及同步方法,其特征在于,所述步骤4具体为:将图像采用推理模块进行推理,得到图像中人体的骨骼的推理结果;所述步骤7具体为:结合每张图片的推理结果,对视频进行分析,得到关于图像中人体的动作的分析结果。6.根据权利要求1—5任一所述的推理加速及同步方法,其特征在于,所述步骤6中,选定视频中任意的区域为感兴趣的区域;在步骤7中,依照时间先后顺序分析感兴趣的区域内的人体的骨骼的推理结果,得到关于图像中人体的动作的分析结果。7.根据权利要求1-5任一所述的推理加速及同步方法,其特征在于,所述标识包括时间戳、图片的所在视频源和该图片在视频源中序号的信息。8.一种推理加速及同步的系统,其特征在于,包括两个或多个摄像头和用于实施如权利要求1-7任一所述方法的边缘设备,所述摄像头用于获得视频源并将视频源发送至边缘设备。9.根据权利要求8所述的推理加速及同步的系统,其特征在于,所述边缘设备包括:视频源获取模块:用于获取两个摄像头所获取的视频源,将视频源中每一帧图片加上用于用于标识图片来源和时间的标识;视频源整合模块:用于将视频源整合成一批视频帧;视频帧合并模块:用于将每两张视频帧拼接成为一帧图像;推理模块:用于对图像进行推理,得到推理结果;图像拆分模块:用于将图像进行拆分,拆分得到两帧和视频帧对应的图片,每帧图片均带有标识和推理结果;图片整合模块:用于根据标识整合图片,得到视频;分析模块:用于结合每张图片的推理结果,对视频进行分析,得到分析结果。
10.根据权利要求8所述的推理加速及同步的系统,其特征在于,所述推理模块的推理界面的分辨率为1280*1440;视频源中的图片的分辨率为1280*720;所述推理结果为关于人的骨骼的推理结果;所述分析结果是关于人的动作的分析结果。

技术总结
本发明属于物联网技术领域,公开了一种推理加速及同步方法,包括如下步骤:步骤1:获取两个摄像头所获取的视频源;步骤2:将视频源整合成一批视频帧;步骤3:将每两张视频帧拼接成为一帧图像;步骤4:将图像采用推理模块进行推理,得到推理结果;步骤5:将图像进行拆分;步骤6:根据标识整合图片,得到视频;步骤7:结合每张图片的推理结果,对视频进行分析,得到分析结果。该方法将摄像头的两张图片合成一张图片,将推理速度提高一倍;同时合成前的图片带有标识,推理后对图片进行重新合成视频源,针对视频源进行分析,得到分析结果,可以有效的降低边缘设备的分析压力。本发明的第二个目的在于提供一种基于该方法的系统。在于提供一种基于该方法的系统。在于提供一种基于该方法的系统。


技术研发人员:劳康乘 招嘉焕
受保护的技术使用者:广州鲁邦通物联网科技股份有限公司
技术研发日:2023.04.10
技术公布日:2023/8/4
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐