一种视频数据处理方法、系统及相关组件转让专利
申请号 : CN202011026282.4
文献号 : CN112016522B
文献日 : 2022-06-07
发明人 : 董刚 , 赵雅倩 , 李仁刚 , 杨宏斌 , 刘海威 , 蒋东东
申请人 : 苏州浪潮智能科技有限公司
摘要 :
权利要求 :
1.一种视频数据处理方法,其特征在于,包括:
获取视频数据对应的三维特征数据和三维权重数据;
对所述三维特征数据和所述三维权重数据分别进行预处理,得到特征值矩阵及权重值矩阵;
将所述特征值矩阵和所述权重值矩阵输入多个三维脉动阵列并行计算,得到视频数据处理结果;
所述将所述特征值矩阵和所述权重值矩阵输入多个三维脉动阵列并行计算,得到视频数据处理结果的过程具体包括:通过第i个三维脉动阵列根据对应的目标中间值对第i个输入通道中的所述特征值矩阵及所述权重值矩阵执行计算操作,得到第i个计算结果,i=1,2,…,Cin;
根据第Cin个计算结果得到视频数据处理结果;
其中,当i=1时,所述目标中间值为0,当1
所述通过第i个三维脉动阵列根据对应的目标中间值对第i个输入通道中的所述特征值矩阵及所述权重值矩阵执行计算操作,得到第i个计算结果的过程具体包括:将第i个输入通道中的所述特征值矩阵对应的Cout个权重值矩阵分别存储至第i个三维脉动阵列的Cout个计算单元中,Cout为输出通道个数;
将所述第i个输入通道中特征值矩阵对应的各个子特征值矩阵按第一预设时间周期依次输入到所述第i个三维脉动阵列中;
通过每个所述计算单元根据目标中间值、接收到的特征值矩阵及存储的权重值矩阵执行计算操作,得到该计算单元对应的子计算结果;
通过所有所述子计算结果,得到第i个计算结果;
将所述第i个输入通道中特征值矩阵对应的每个子特征值矩阵输入到所述第i个三维脉动阵列中的过程包括:将所述第i个输入通道中特征值矩阵对应的每个子特征值矩阵的第r行的q个特征值按第二预设时间周期分别输入到所述第i个三维脉动阵列的Cout个计算单元的第r行的q个PE中,所述子特征值矩阵的大小为p×q,p、q均为正整数,r=1,2,…,p‑1;
其中,所述子特征值矩阵中第r+1行的q个特征值输入到第j个计算单元与所述子特征值矩阵中第r行的q个特征值输入到所述第j个计算单元的时间间隔为所述第二预设时间周期,其中,j=1,2,…,Cout。
2.根据权利要求1所述的视频数据处理方法,其特征在于,对所述三维特征数据进行预处理得到特征值矩阵的过程具体包括:对所述三维特征数据按卷积核尺寸进行切割,得到多个特征数据组,按预设映射关系将各个所述特征数据组转换成各自对应的二维矩阵;
根据所有所述二维矩阵得到特征值矩阵。
3.根据权利要求2所述的视频数据处理方法,其特征在于,对所述三维权重数据进行预处理得到权重值矩阵的过程具体包括:将所述三维权重数据按所述预设映射关系进行重排,得到权重值矩阵。
4.根据权利要求1所述的视频数据处理方法,其特征在于,所述通过每个所述计算单元根据目标中间值、接收到的特征值矩阵及存储的权重值矩阵执行计算操作,得到该计算单元对应的子计算结果的过程包括:通过每个所述计算单元的第r行的q个PE按第一关系式执行计算操作,得到每个PE的计算结果;
所述第一关系式为hrw=trw×qrw+crw,hrw为第r行、第w个PE的计算结果,trw为第r行、第w个PE接收到的特征值,qrw为第r行、第w个PE的权重值,crw为第r行、第w个PE对应的目标中间值,w=1,2,…,q;
根据相同列的所有所述PE的计算结果的和得到该计算单元的子计算结果。
5.根据权利要求4所述的视频数据处理方法,其特征在于,所述根据第Cin个计算结果得到视频数据处理结果的过程具体包括:获取第Cin个三维脉动阵列中每个所述计算单元的输出结果;
根据Cout个所述计算单元的输出结果得到视频数据处理结果。
6.根据权利要求5所述的视频数据处理方法,其特征在于,所述获取第Cin个三维脉动阵列中每个所述计算单元的输出结果的过程具体包括:通过第二关系式获取第Cin个三维脉动阵列中每个所述计算单元的输出结果,所述第二关系式为 。
7.一种视频数据处理系统,其特征在于,包括:
获取模块,用于获取视频数据对应的三维特征数据和三维权重数据;
预处理模块,用于对所述三维特征数据和所述三维权重数据分别进行预处理,得到特征值矩阵及权重值矩阵;
计算模块,用于将所述特征值矩阵和所述权重值矩阵输入多个三维脉动阵列并行计算,得到视频数据处理结果;
所述将所述特征值矩阵和所述权重值矩阵输入多个三维脉动阵列并行计算,得到视频数据处理结果的过程具体包括:通过第i个三维脉动阵列根据对应的目标中间值对第i个输入通道中的所述特征值矩阵及所述权重值矩阵执行计算操作,得到第i个计算结果,i=1,2,…,Cin;
根据第Cin个计算结果得到视频数据处理结果;
其中,当i=1时,所述目标中间值为0,当1
所述通过第i个三维脉动阵列根据对应的目标中间值对第i个输入通道中的所述特征值矩阵及所述权重值矩阵执行计算操作,得到第i个计算结果的过程具体包括:将第i个输入通道中的所述特征值矩阵对应的Cout个权重值矩阵分别存储至第i个三维脉动阵列的Cout个计算单元中,Cout为输出通道个数;
将所述第i个输入通道中特征值矩阵对应的各个子特征值矩阵按第一预设时间周期依次输入到所述第i个三维脉动阵列中;
通过每个所述计算单元根据目标中间值、接收到的特征值矩阵及存储的权重值矩阵执行计算操作,得到该计算单元对应的子计算结果;
通过所有所述子计算结果,得到第i个计算结果;
将所述第i个输入通道中特征值矩阵对应的每个子特征值矩阵输入到所述第i个三维脉动阵列中的过程包括:将所述第i个输入通道中特征值矩阵对应的每个子特征值矩阵的第r行的q个特征值按第二预设时间周期分别输入到所述第i个三维脉动阵列的Cout个计算单元的第r行的q个PE中,所述子特征值矩阵的大小为p×q,p、q均为正整数,r=1,2,…,p‑1;
其中,所述子特征值矩阵中第r+1行的q个特征值输入到第j个计算单元与所述子特征值矩阵中第r行的q个特征值输入到所述第j个计算单元的时间间隔为所述第二预设时间周期,其中,j=1,2,…,Cout。
8.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1‑6任意一项所述的视频数据处理方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1‑6任意一项所述的视频数据处理方法的步骤。
说明书 :
一种视频数据处理方法、系统及相关组件
技术领域
背景技术
网络)以其能更好的捕获视频中的时间和空间的特征信息,在视频分类、动作识别等领域发
挥着巨大的优势,三维卷积是三维CNN中的主要计算步骤,通过三维卷积可以对视频数据进
行分类或从中提取特征,目前对于三维卷积计算的方法基本都是采用降低维度,将三维数
据转化映射为二维数据甚至是一维数据,进行局部的并行计算,由于计算量巨大,运行速度
非常缓慢,导致视频数据处理效率低。
发明内容
特征值矩阵和三维权重值矩阵进行并行计算,缩短了三维卷积的计算时间,提高了视频数
据处理效率。
的q个PE中,所述子特征值矩阵的大小为p×q,p、q均为正整数,r=1,2,…,p‑1;
间周期,其中,j=1,2,…,Cout。
述的视频数据处理方法的步骤。
列构造四维脉动计算架构对特征值矩阵和权重值矩阵进行并行计算,缩短了三维卷积的计
算时间,提高了视频数据处理效率。本申请还提供了一种三维卷积并行计算系统、电子设备
及计算机可读存储介质,具有和上述三维卷积并行计算方法相同的有益效果。
附图说明
员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
具体实施方式
特征值矩阵和三维权重值矩阵进行并行计算,缩短了三维卷积的计算时间,提高了视频数
据处理效率。
本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员
在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
尺寸将与输入相等。
×Cin×Cout。
于一维卷积、二维卷积仍然有效,只要调整输入数据的维度。
个三维权重值矩阵尺寸为f×f×f,因此,本实施例所提出的一种基于三维卷积的视频数据
处理方法需要预先获取三维卷积的输入数据,即视频数据对应的三维特征数据和三维权重
数据,以便后续对视频数据进行卷积运算。本实施例中的视频数据可以为安防监控录像对
应的视频数据、也可以为自动驾驶过程中对应采集的视频数据、还可以为流媒体在线视频
对应的视频数据,本申请对于视频数据的应用领域不作具体的限定。
施例在此对获取视频数据对应的三维特征数据和三维权重数据的触发条件不作限定。
进行预处理得到特征值矩阵的过程具体包括:对三维特征数据按卷积核尺寸进行切割,得
到多个特征数据组,然后按预设映射关系将各个特征数据组转换成各自对应的二维矩阵,
根据所有二维矩阵得到特征值矩阵;作为一种优选的实施例,对三维权重数据进行预处理
得到权重值矩阵的过程具体包括:将三维权重数据按预设映射关系进行重排,得到权重值
矩阵。
的特征值矩阵,如图3所示。其中,图2是以f=3为例的根据数据循环的方式确定的映射关
系,便于在硬件电路中实现。对于三维卷积计算所需的三维权重值的预处理参照图4所示,
将同一个输入通道对应的Cout个卷积核分别按图2所示的对应关系展开,整合成一个新的
权重值矩阵。
第一特征数据组对应的二维矩阵,这里设为t1‑1‑1、t1‑1‑2、…、t1‑1‑9、t1‑2‑1、t1‑2‑
2、…、t1‑2‑9、t1‑3‑1、t1‑3‑2、…、t1‑3‑9 共27个特征数据,其中,t1‑1‑1、t1‑1‑2、…、t1‑
1‑9代表第一行中的九个数值,t1‑2‑1、t1‑2‑2、…、t1‑2‑9代表第二行中的九个数值,t1‑3‑
1、t1‑3‑2、…、 t1‑3‑9代表第三行中的九个数值,同理,可从第一个输入通道的三维特征数据中选取第二组3×3×3个特征数据作为第二特征数据组,并将其按照图2所示的映射关系
进行重新排序,得到第二特征数据组对应的二维矩阵,以此类推。第一个输入通道所对应的
三维权重数据也要按照图2所示的映射关系进行重新排序得到多个权重值矩阵,特征值矩
阵和权重值矩阵采用相同的数据结构,以便后续进行并行计算,提高并行运算效率。
值矩阵进行并行计算,从而得到三维卷积计算结果,将三维卷积计算结果作为视频数据处
理结果,这里的视频数据处理结果可以是分类结果、特征提取结果等。通过扩展三维卷积计
算的并行度,提高了运算效率,尤其是针对视频处理方面对于实时性要求较高的特点,可以
支持各种对实时三维图像的人工智能处理。
算架构对特征值矩阵和权重值矩阵进行并行计算,缩短了三维卷积的计算时间,提高了视
频数据处理效率。
数据的卷积计算,由多个三维脉动阵列可以构造四维并行运算架构。在进行卷积计算时,需
要用到中间值、权重值和特征值,采用本实施例的方案可以将特征值和中间值按照特定的
方向进行脉动传播,参照图6所示,实线代表特征值的传输方向,虚线代表中间值的传输方
向,形成立体网状的流水线操作。
间值为第二个三维脉动阵列的计算结果,以此类推,得到最后一个三维脉动阵列(即第Cin
个三维脉动阵列)的计算结果后,根据该计算结果得到视频数据处理结果。
括:
一个三维权重数据矩阵按照图2所示的排列关系进行重新排序,预存至图4所示的三维脉动
阵列的左斜条纹区域(第一计算单元)中,这里设为q1‑1‑1、q1‑1‑2、…、q1‑1‑9、q1‑2‑1、q1‑
2‑2、…、q1‑2‑9、 q1‑3‑1、q1‑3‑2、…、q1‑3‑9共27个权重数据。第一个输入通道所对应的第二个三维权重数据矩阵按照图2所示的排列关系进行重新排序,并预存至图4 所示的三维
脉动阵列的右斜条纹区域(第二计算单元)中,该第一个输入通道所对应的第Cout个三维权
重数据矩阵按照图2所示的排列关系进行重新排序,并预存至图4所示的三维脉动阵列的横
条条纹区域(第Cout计算单元) 中。对其余输入通道的三维数据的处理,同理。可以理解的
是,所有的三维权重数据经预处理后预存到三维脉动阵列中,在并行计算过程中,不发生变
化。
中,如该输入通道中的特征值矩阵包括3个子特征值矩阵,则在第一个第一预设时间周期将
第一个子特征值矩阵输入到三维脉动阵列中,在第二个第一预设时间周期将第二个子特征
值矩阵输入到三维脉动阵列中,在第三个第一预设时间周期将第三个子特征值矩阵输入到
三维脉动阵列中。
结果构成该三维脉动阵列的计算结果。
子特征值矩阵的大小为p×q,p、q均为正整数,r=1, 2,…,p‑1;
1,2,…,Cout。
括3×9个PE(Processing Elements,处理单元),每个PE会以预定的步骤和它相邻的PE进行
数据传输。下面以其中一个子特征值矩阵的输入过程进行说明,子特征值矩阵的大小为p×
q,本实施例中,p=3, q=9,参照图4所示,在第一个第二预设周期,将子特征矩阵第一行的
9个特征数据一一对应输入到第一计算单元的第一行的9个PE中,在第二个第二预设周期,
将子特征矩阵第一行的9个特征数据一一对应输入到第二计算单元的第一行的9个PE中,在
第三个第二预设周期,将子特征矩阵第一行的9个特征数据一一对应输入到第三计算单元
的第一行的9个PE中,以此类推。进一步的,为提高计算并行度,在第二个第二预设周期,在将子特征矩阵第一行的9个特征数据一一对应输入到第二计算单元的第一行的9个PE中的
同时,将子特征矩阵第二行的9个特征数据一一对应输入到第一计算单元的第二行的9个PE
中。
2‑1、t3‑2‑2、…、t3‑2‑9、 t3‑3‑1、t3‑3‑2、…、t3‑3‑9共27个特征数据,从第一个输入通道的特征值矩阵中选取第四子特征值矩阵,包括t4‑1‑1、t4‑1‑2、…、t4‑1‑9、t4‑2‑1、t4‑2‑
2、…、 t4‑2‑9、t4‑3‑1、t4‑3‑2、…、t4‑3‑9共27个特征数据,以此类推,在第二个输入通道的特征值矩阵中选取第一子特征值矩阵,包括t’1‑1‑1、t’1‑1‑2、…、 t’1‑1‑9、t’1‑2‑1、t’
1‑2‑2、…、t’1‑2‑9、t’1‑3‑1、t’1‑3‑2、…、t’1‑3‑9共27个特征数据。
1相乘,t3‑1‑2和 q1‑1‑2相乘,以此类推,得到的中间值设为m3‑1‑1、m3‑1‑2、…、m3‑1‑9。同时,特征数据t1‑2‑1、t1‑2‑2、…、t1‑2‑9送到图4所示右斜条纹的中间一行的9个PE中,与q2‑2‑1、q2‑2‑2、…、q2‑2‑9对应相乘,并与输入的中间值 n1‑1‑1、n1‑1‑2、…、n1‑1‑9相加,即t1‑2‑1和q2‑2‑1相乘并加上n1‑1‑1,t1‑2‑2 和q2‑2‑2相乘并加上n1‑1‑2,以此类推,得到的中间值设为n1‑2‑1、n1‑2‑2、…、n1‑2‑9。同时,特征数据t2‑1‑1、t2‑1‑2、…、t2‑1‑9送到图4所示右斜条纹的最上一行的9个PE中,与q2‑1‑1、q2‑1‑2、…、q2‑1‑9对应相乘,即t2‑
1‑1 和q2‑1‑1相乘,t2‑1‑2和q2‑1‑2相乘,以此类推,得到的中间值设为n2‑1‑1、 n2‑1‑
2、…、n2‑1‑9。同时,特征数据t1‑1‑1、t1‑1‑2、…、t1‑1‑9送到图4所示右斜条纹后面一组(图4中为了显示效果,没有画出)的最上一行的9个 PE中,与q3‑1‑1、q3‑1‑2、…、q3‑1‑9对应相乘,即t1‑1‑1和q3‑1‑1相乘,t1‑1‑2 和q3‑1‑2相乘,以此类推,得到的中间值设为o1‑
1‑1、o1‑1‑2、…、o1‑1‑9。
2‑9。同时,特征数据t1‑3‑1、t1‑3‑2、…、t1‑3‑9送到图4所示右斜条纹的最下一行的9个PE中,与q2‑3‑1、q2‑3‑2、…、q2‑3‑9对应相乘,并与输入的中间值n1‑2‑1、n1‑2‑2、…、n1‑2‑9相加,即t1‑3‑1和q1‑3‑1 相乘并加上m1‑2‑1,t1‑3‑2和q1‑3‑2相乘并加上m1‑2‑2,以此类推,得到的中间值设为m1‑3‑1、m1‑3‑2、…、m1‑3‑9。同时,特征数据t2‑1‑1、t2‑1‑2、…、 t2‑
1‑9送到图4所示右斜条纹后面一组(图4中为了显示效果,没有画出)的最上一行的9个PE
中,与q3‑1‑1、q3‑1‑2、…、q3‑1‑9对应相乘,即t2‑1‑1 和q3‑1‑1相乘,t2‑1‑2和q3‑1‑2相乘,以此类推,得到的中间值设为o2‑1‑1、 o2‑1‑2、…、o2‑1‑9。同时,特征数据t2‑2‑1、t2‑
2‑2、…、t2‑2‑9送到图4所示右斜条纹的中间一行的9个PE中,与q2‑2‑1、q2‑2‑2、…、q2‑2‑9对应相乘,并与输入的中间值n2‑1‑1、n2‑1‑2、…、n2‑1‑9相加,即t2‑2‑1和q2‑2‑1 相乘并加上n2‑1‑1,t2‑2‑2和q2‑2‑2相乘并加上n2‑1‑2,以此类推,得到的中间值设为n2‑2‑1、n2‑
2‑2、…、n2‑2‑9。同时,特征数据t2‑3‑1、t2‑3‑2、…、 t2‑3‑9送到图4所示左斜条纹的最下一行的9个PE中,与q1‑3‑1、q1‑3‑2、…、 q1‑3‑9对应相乘,并与输入的中间值m2‑2‑1、m2‑2‑
2、…、m2‑2‑9相加,即 t2‑3‑1和q1‑3‑1相乘并加上m2‑2‑1,t2‑3‑2和q1‑3‑2相乘并加上m2‑
2‑2,以此类推,得到的中间值设为m2‑3‑1、m2‑3‑2、…、m2‑3‑9。同时,特征数据 t3‑1‑1、t3‑
1‑2、…、t3‑1‑9送到图4所示右斜条纹的最上一行的9个PE中,与q2‑1‑1、q2‑1‑2、…、q2‑1‑9对应相乘,即t3‑1‑1和q2‑1‑1相乘,t3‑1‑2和 q2‑1‑2相乘,以此类推,得到的中间值设为n3‑1‑1、n3‑1‑2、…、n3‑1‑9。同时,特征数据t3‑2‑1、t3‑2‑2、…、t3‑2‑9送到图4所示左斜条纹的中间一行的 9个PE中,与q1‑2‑1、q1‑2‑2、…、q1‑2‑9对应相乘,并与输入的中间值m3‑
1‑1、 m3‑1‑2、…、m3‑1‑9相加,即t3‑2‑1和q1‑2‑1相乘并加上m3‑1‑1,t3‑2‑2和 q1‑2‑2相乘并加上m3‑1‑2,以此类推,得到的中间值设为m3‑2‑1、m3‑2‑2、…、 m3‑2‑9。同时,特征数据t4‑1‑1、t4‑1‑2、…、t4‑1‑9送到图4所示左斜条纹的最上一行的9个PE中,与q1‑1‑1、q1‑
1‑2、…、q1‑1‑9对应相乘,即t4‑1‑1 和q1‑1‑1相乘,t4‑1‑2和q1‑1‑2相乘,以此类推,得到的中间值设为m4‑1‑1、m4‑1‑2、…、m4‑1‑9。同时,第二个输入通道的特征数据t’1‑1‑1、t’1‑
1‑2、…、t’1‑1‑9送到图5所示输入通道2特征值所对的左斜条纹的最上一行的9个PE 中,与q’1‑1‑1、q’1‑1‑2、…、q’1‑1‑9对应相乘,并与输入的中间值m1‑3‑1、 m1‑3‑2、…、m1‑3‑9相加即t’1‑1‑1和q’1‑1‑1相乘并加上m1‑3‑1,t’1‑1‑2和 q1‑1‑2相乘并加上m1‑3‑2,以此类推,得到的中间值设为m’1‑1‑1、m’1‑1‑2、…、 m’1‑1‑9,后面的计算步骤基本就是上面的叠加和重复。
如图6中的纵向虚线所示。当Cin组的三维脉动阵列结果都纵向累加到了一起,就还需要额
外将这个排列中的9列的结果再进行累加成一个数值,也就是由3×9×Cin乘积相加得来,
得到的结果是一个输出通道中的一个数值,然后重复上述的过程,直到完成全部的计算。
多路并行计算。但多个三维计算阵列中的权重值是互不相同的,而且这些不同的三维计算
阵列得到的结果需要再次累加才是最终的结果。
算架构对特征值矩阵和权重值矩阵进行并行计算,缩短了三维卷积的计算时间,提高了视
频数据处理效率。
根据所有所述子特征值矩阵得到特征值矩阵。
括:
子特征值矩阵的大小为p×q,p、q均为正整数,r=1, 2,…,p‑1;
1,2,…,Cout。
等。
据处理方法的步骤。
之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那
些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者
设备所固有的要素。在没有更多限制的状况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
一般原理可以在不脱离本申请的精神或范围的情况下,在其他实施例中实现。因此,本申请
将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一
致的最宽的范围。