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

基于算法及硬件协同设计的大规模视频理解方法及系统与流程

2022-11-14 22:21:06 来源:中国专利 TAG:


1.本发明涉及视频处理技术领域,特别是涉及基于算法及硬件协同设计的大规模视频理解方法及系统。


背景技术:

2.现在人们对于计算机视觉技术的突破已经从静态的图像识别转向到了视频理解,甚至是希望达到人类程度的理解。
3.以往基于深度学习的计算机视觉研究在图像处理任务中取得了突出的成果。yolo(you only look once)、ssd(single shot detection)和fast-rcnn等一系列模型都证明了深度学习技术在图像目标检测和分类任务中的成功。然而,与图像处理任务相比,视频理解任务更具有挑战性,因为它不仅需要分析目标的空间信息,还需要分析时间维度上的信息。虽然在图像处理领域有很多可以借鉴的技术和研究方法,但是由于视频时间维数的增加所带来的很多问题仍然需要解决。目前,视频理解的研究还处于起步阶段。其中,c3d网络方法开创性地将传统的二维卷积扩展到三维卷积,并将其应用到convolutional neural networks(cnn)模型中学习时空特征。two-stream cnns方法利用两个独立的cnns分别学习空间和时间特征,并融合这两个特征来训练目标的动作识别分类器。这种双时空流的思想也得到了业界的广泛认可,许多后续的方法也借鉴了双流卷积神经网络的思想。recurrent neural networks(rnns)能够捕获视频序列中的时间动态信息,并在视频理解领域进行了一些尝试。另外long short-term memory(lstm)作为rnns的变体被用来识别人类行为。
4.但本技术发明人在实现本技术实施例中发明技术方案的过程中,发现上述技术至少存在如下技术问题:
5.1、基于cnns的方法只能检测到视频中每一帧信息,却无法识别出帧与帧之间的关系,无法应用于视频理解当中;
6.2、基于rnns及lstm时空模型的方法,虽然可以较为准确分辨出视频中的时序信息(即动作),但其网络中存在稠密的全连接层,导致计算规模非常庞大,运算速度非常缓慢,需要大量的存储和计算资源,更无法实现在边缘或移动设备上;
7.3、c3d和two-stream cnns在功能上不支持目标的检测,只可以检测和识别视频区间的动作,同时速度和精度也无法满足需求,也不能在嵌入式设备上实时实现。
8.基于此,本发明设计了基于算法及硬件协同设计的大规模视频理解方法及系统,以解决上述问题。


技术实现要素:

9.为了解决目前背景技术提及的技术问题,本发明的目的是提供基于算法及硬件协同设计的大规模视频理解方法及系统。
10.为了实现上述目的,本发明采用如下技术方案:
11.基于算法及硬件协同设计的大规模视频理解方法,包括:
12.获取精度训练视频检测网络后的完整实例模型;
13.对该实例模型的权重和激活值进行低值量化,并在原始数据集上再度训练后得到量化值模型;
14.深度张量分解压缩网络,得到简化后的模型;
15.导出该简化后模型的协议缓冲区格式,其中,该协议缓冲区格式包括计算原理图和模型参数;
16.筛选该模型原理图相应部分,分别对嵌入式c代码模型转换和量化网络加速器加速处理;
17.结合该嵌入式c代码模型和该加速器搭建完整网络。
18.优选的,在筛选符合所述嵌入式c代码模型转换的过程中,还包括:
19.判断该模型原理图是否满足c代码模型转换的预定要求,并对满足要求的部分进行嵌入式c代码模型的转化。
20.优选的,在筛选符合所述量化网络加速器加速处理的过程中,还包括:
21.判断该模型原理图被嵌入式c代码模型筛选转换后的余下部分是否满足预定要求,对满足要求的部分通过xilinx hls进行量化网络加速器的加速处理。
22.优选的,所述精度训练视频检测网络为tensorflow框架。
23.优选的,所述量化网络加速器包括如下二者之一:frga或arm。
24.基于算法及硬件协同设计的大规模视频理解系统,包括:
25.实例模型训练模块,用于获取精度训练视频检测网络后的完整实例模型;
26.模型量化模块,用于对实例模型权重和激活值低值量化处理,并对原始数据集进行再度训练;
27.模型简化模块,用于对量化处理后得到模型进行深度张量分解压缩;
28.模型导出模块,用于导出简化模型的协议缓冲区格式,其中,该协议缓冲区格式包括计算原理图和模型参数;
29.模型原理图处理模块,用于筛选该模型原理图相应部分,分别对嵌入式c代码模型转换和量化网络加速器加速处理;以及
30.网络搭建模块,用于结合该嵌入式c代码模型和该加速器搭建完整网络。
31.本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
32.1、通过面向边缘设备的视频分析模型、低值化深度学习优化、张量压缩算法优化以及视频分析系统在加速器上的实现与加速,完成了对视频的理解与分析的实现、加速以及加速器的搭建;
33.2、通过在cnn的特征提取器加上处理时序信息的rnn网络去搭建时空模型,并通过cnn提取精炼过的时序特征信息time-series features(ts-feature)来作为rnn网络的输入,可以同时实现单帧图像空间信息的分析以及时间序列上的信息分析,减少参数量、存储量和运算次数,并高度优化和集成后能够在边缘或移动设备上较易实现。
附图说明
34.以下结合附图和具体实施方式来进一步详细说明本发明:
35.图1为本发明实施例视频理解方法的框架图;
36.图2为本发明实施例视频理解方法的流程图;
37.图3为本发明实施例精炼特征值信息的时空计算模型的流程图;
38.图4为本发明实施例训练量化算法的流程图;
39.图5为本发明实施例张量化分解的流程图;
40.图6为本发明实施例视频理解系统的构架图。
具体实施方式
41.以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效。
42.请参阅图1至图5。本发明实施例提供一种技术方案:基于算法及硬件协同设计的大规模视频理解方法,包括:
43.s102、获取精度训练视频检测网络后的完整实例模型;
44.s104、对该实例模型的权重和激活值进行低值量化,并在原始数据集上再度训练后得到量化值模型;
45.s106、深度张量分解压缩网络,得到简化后的模型;
46.s108、导出该简化后模型的协议缓冲区格式,其中,该协议缓冲区格式包括计算原理图和模型参数;
47.s1010、筛选该模型原理图相应部分,分别对嵌入式c代码模型转换和量化网络加速器加速处理;
48.s1012、结合该嵌入式c代码模型和该加速器搭建完整网络。
49.通过上述步骤,可以看出,在视频分析网络在嵌入式及边缘设备上实现时,通过获取精度训练视频检测网络后面向边缘设备的视频分析模型、根据实例模型的权重和激活值进行低值化深度学习优化、张量压缩算法优化模型以及通过筛选模型原理图进行视频分析系统并在加速器上的实现与加速,完成了对视频的理解与分析的实现、加速以及加速器的搭建。
50.视频与图片最大的不同在于视频还包含了时序上的信息,此外由于数据计算量庞大,理解视频对于计算能力和内存要求都很高。在视频分析中,例如视频动作识别(action recognition)指的是输入一个视频片段,对该视频片段进行动作分类,如投篮,骑单车等动作。为了解决日益见长的视频分析需求,本技术通过:1)面向边缘设备的视频分析模型;2)低值化深度学习优化;3)张量压缩算法优化;4)视频分析系统在arm/fpga上的实现与加速。通过这四个基本点展开软硬件协同设计,可以完成了视频的理解与分析的实现、加速以及加速器搭建。如图2所示,最终在终端设备上达到对视频内容同时进行目标检测和动作识别,以达到视频理解的目的。
51.基于cnn对图像空间的处理,以及rnn及其变体lstm对时序信息的处理,本技术提出一种能够快速有效处理时空序列信息(例如,视频序列的行为分析,场景理解等)的边缘计算模型,并最终在arm/fpga等嵌入式设备上上高通量低功耗实现。基于此,本技术通过集成了卷积神经网络cnn和循环神经网络rnn的时空信息计算模型,该模型满足以下几点要求:1)同时实现单个时间信息的分析以及有序列的时空信息分析;2)为了在移动边缘设备上实现,不能包含太多的参数量、存储量以及计算次数;3)高度优化和集成后较容易在边缘
及移动设备实现。为了满足如上几点要求,需要使用基于cnn的特征提取器加上处理时序信息的rnn网络去搭建时空模型,与传统rnn利用原始视频帧的数据处理时序信息不同,此模型运用了cnn提取精炼过的时序特征信息(time-series features(ts-feature)来作为rnn网络的输入,其与传统时空模型算法的不同如图3所示,并且基于这种架构,时序信息处理网络rnn/lstm得到的信息是从cnn深度提取过的特征值,整个系统在精度、性能和并行度上会有很大的提升,然而为了在移动边缘设备上进行实现,原始网络还是有参数量过多、网络模型过大、计算量过于复杂等问题,进一步提出了面向边缘计算实现的两种深度压缩算法,即为低值化深度学习策略和张量化压缩。
52.在进行低值化深度学习时,如图4所示,将在训练时对权重和特征图都施加量化约束,使得深度神经网络能够从训练数据中学习最优的量化权重和特征值以保证网络的准确率;而传统量化方法压缩过的神经网络在权重及特征值精度降低到某一个临界精度后,网络的识别准确率会急剧下降。相比较而言,而通过一定量化算法约束的深度神经网络在很低比特精度下也能维持较高的识别精度。
53.在进行张量化压缩时,张量是向量和矩阵的自然推广,向量可称为一阶张量,矩阵可称为二阶张量,将矩阵堆叠形成立方体,这种数据结构则称为三阶张量。张量分解是张量分析中的重要组成部分,其基本原理是利用张量数据中的结构信息,将张量分解为形式更简单、存储规模更小的若干张量的组合。因此,在神经网络张量化压缩时,参数通常以张量的形式集中保存。对全连接层而言,全连接通过权重矩阵将输入向量变换到输出向量,其参数为二阶张量。对卷积层而言,设输入数据为三阶张量。则卷积层中的每一个卷积核也都是三阶卷积核,基于张量分解的网络压缩的基本思想,通过利用张量分解的技术将网络的参数重新表达为小张量的组合,如图5所示,重新表达后的张量组一般能够在一定的精度下近似与原张量相同,而所占用的空间又得到大大降低,从而获得网络压缩的效果。
54.通过上述的深度优化方式,深度简化后的视频分析网络可在的边缘设备上实现和加速,这样做有三大优点:1、压缩后存储消耗大幅降低,甚至可以将数据直接存储在嵌入式有限的片上存储资源上,不再需要在计算过程中进行片外通信,极大程度上降低了并行计算时的传输延迟;2、可以使用低位操作进行计算,逻辑单元消耗更少,速度更快,并行度可以进一步得到提高;3、位数降低后相同的数据吞吐量可以传输更多个数据,对带宽的压力减小。结合之前提出的特征精炼时空模型,最终本发明将实现能在移动边缘计算中实现的视频理解分析模型,并最终在嵌入式设备上进行高通量低功耗实体搭建。
55.在将训练完毕的简化模型导出成协议缓冲区格式后,并在筛选符合所述嵌入式c代码模型转换的过程中,还包括:
56.判断该模型原理图是否满足c代码模型转换的预定要求,并对满足要求的部分进行嵌入式c代码模型的转化;即在获取到模型原理图后,查询该模型原理图中与c代码模型转换相符合的对应部分进行嵌入式c代码的转换。
57.在利用c代码转换完成后,在筛选符合所述量化网络加速器加速处理的过程中,还包括:
58.判断该模型原理图被嵌入式c代码模型筛选转换后的余下部分是否满足预定要求,对满足要求的部分通过xilinx hls进行量化网络加速器的加速处理;即将通过嵌入式c代码转换后剩余的模型原理图部分通过查询是否满足量化网络加速器的处理需求,并在满
足时,提取符合的部分通过xilinx hls进行加速处理。
59.优选的,所述精度训练视频检测网络为tensorflow框架。
60.可选的,所述量化网络加速器包括如下二者之一:frga或arm。
61.请参阅图6,本发明实施例还提供了一种技术方案:基于算法及硬件协同设计的大规模视频理解系统,包括:
62.实例模型训练模块1,用于获取精度训练视频检测网络后的完整实例模型;
63.模型量化模块2,用于对实例模型权重和激活值低值量化处理,并对原始数据集进行再度训练;
64.模型简化模块3,用于对量化处理后得到模型进行深度张量分解压缩;
65.模型导出模块4,用于导出简化模型的协议缓冲区格式,其中,该协议缓冲区格式包括计算原理图和模型参数;
66.模型原理图处理模块5,用于筛选该模型原理图相应部分,分别对嵌入式c代码模型转换和量化网络加速器加速处理;以及
67.网络搭建模块6,用于结合该嵌入式c代码模型和该加速器搭建完整网络。
68.通过上述的基于算法及硬件协同设计的大规模视频理解系统,通过面向边缘设备的视频分析模型、低值化深度学习优化、张量压缩算法优化以及视频分析系统在加速器上的实现与加速,完成了对视频的理解与分析的实现、加速以及加速器的搭建。
69.实施例一
70.本技术的具体处理步骤以fpga及采用tensorflow框架为例,视频分析网络在嵌入式及边缘设备上处理时,1)在tensorflow上以实精度训练视频检测网络得到一个完整实值模型;2)对其权重和激活值进行低值量化并在原始数据集上再度训练,得到一个量化值模型;3)对网络进行深度张量分解压缩,并重新训练得到大幅度简化后的模型;4)将训练完毕的简化模型导出成tensorflow协议缓冲区格式(计算原理图 模型参数);5)将模型原理图相应部分转换成嵌入式c代码;6)余下的适合fpga加速的部分通过xilinx hls实现成量化网络的fpga加速器;7)将嵌入式c模型和fpga加速器结合起来,实现完整的网络。
71.实施例二
72.本技术的具体处理步骤以arm及采用tensorflow框架为例,视频分析网络在嵌入式及边缘设备上处理时,1)在tensorflow上以实精度训练视频检测网络得到一个完整实值模型;2)对其权重和激活值进行低值量化并在原始数据集上再度训练,得到一个量化值模型;3)对网络进行深度张量分解压缩,并重新训练得到大幅度简化后的模型;4)将训练完毕的简化模型导出成tensorflow协议缓冲区格式(计算原理图 模型参数);5)将模型原理图相应部分转换成嵌入式c代码;6)余下的适合arm加速的部分通过xilinx hls实现成量化网络的fpga加速器;7)将嵌入式c模型和arm加速器结合起来,实现完整的网络。
73.须知,本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。同时,本说明书中所引用的如“上”、“下”、“左”、“右”、“中间”及“一”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质
变更技术内容下,当亦视为本发明可实施的范畴。
74.上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献