CN116958190A - 动态场景处理方法、神经网络模型训练方法和装置 - Google Patents
动态场景处理方法、神经网络模型训练方法和装置 Download PDFInfo
- Publication number
- CN116958190A CN116958190A CN202210391409.5A CN202210391409A CN116958190A CN 116958190 A CN116958190 A CN 116958190A CN 202210391409 A CN202210391409 A CN 202210391409A CN 116958190 A CN116958190 A CN 116958190A
- Authority
- CN
- China
- Prior art keywords
- data
- dynamic scene
- training
- neural network
- frequency domain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012549 training Methods 0.000 title claims abstract description 242
- 238000003062 neural network model Methods 0.000 title claims abstract description 114
- 238000000034 method Methods 0.000 title claims abstract description 106
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 238000001228 spectrum Methods 0.000 claims abstract description 127
- 238000012545 processing Methods 0.000 claims abstract description 120
- 239000013598 vector Substances 0.000 claims description 59
- 230000006870 function Effects 0.000 claims description 53
- 230000003595 spectral effect Effects 0.000 claims description 34
- 238000003860 storage Methods 0.000 claims description 22
- 238000013473 artificial intelligence Methods 0.000 abstract description 16
- 238000013528 artificial neural network Methods 0.000 description 49
- 230000008569 process Effects 0.000 description 37
- 238000011176 pooling Methods 0.000 description 30
- 238000004891 communication Methods 0.000 description 29
- 238000013527 convolutional neural network Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 26
- 230000009471 action Effects 0.000 description 22
- 239000011159 matrix material Substances 0.000 description 15
- 238000004364 calculation method Methods 0.000 description 11
- 230000008859 change Effects 0.000 description 11
- 230000001537 neural effect Effects 0.000 description 10
- 230000009466 transformation Effects 0.000 description 10
- 238000013500 data storage Methods 0.000 description 8
- 238000007781 pre-processing Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000000306 recurrent effect Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000012800 visualization Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 229910052782 aluminium Inorganic materials 0.000 description 1
- XAGFODPZIPBFFR-UHFFFAOYSA-N aluminium Chemical compound [Al] XAGFODPZIPBFFR-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/207—Analysis of motion for motion estimation over a hierarchy of resolutions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
Abstract
本申请提供了一种动态场景处理方法、神经网络模型训练方法和装置,涉及人工智能领域。该方法包括获取动态场景的时域频谱数据X(ω,x,y),其中,ω表示动态场景沿时间方向的频域维度,x和y表示动态场景的空间维度;将时域频谱数据作为神经网络模型的输入,得到动态场景的处理结果。本申请能够提高动态场景处理结果的精度。
Description
技术领域
本申请涉及人工智能领域,并且更具体地,涉及一种动态场景处理方法、神经网络模型训练方法和装置。
背景技术
人工智能(artificial intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,AI基础理论等。
计算机视觉中对动态场景的处理一般为将相机逐帧拍摄的二维图片组成的序列,也就是动态场景的视频数据,直接输入到动态场景处理模型中进行训练,得到训练好的动态场景处理模型。随后,将待处理的动态场景的视频数据直接作为训练好的动态场景处理模型的输入,得到处理结果。虽然基于神经网络的动态场景处理模型可以得到较好的动态场景处理结果,但是直接将动态场景的视频数据作为动态场景处理模型的输入,没有充分利用待处理的动态场景的视频数据在时域上的关联关系,限制了动态场景处理结果的精度。
因此,如何提高动态场景处理结果的精度是个亟待解决的问题。
发明内容
本申请提供一种动态场景处理方法、神经网络模型训练方法和装置,可以提高动态场景处理结果的精度。
第一方面,提供了一种动态场景处理方法,该方法包括获取动态场景的时域频谱数据X(ω,x,y),其中,ω表示动态场景沿时间方向的频域维度,x和y表示动态场景的空间维度;将时域频谱数据作为神经网络模型的输入,得到动态场景的处理结果。
应理解,时域频谱数据可以用于指示动态场景在时域上的变化频率,还可以用于指示动态场景在空间上的分布情况。
作为一种可能的实现方式,动态场景的时域频谱数据可以为动态场景的初始时域频谱数据,还可以为根据初始时域频谱数据更新后的数据。本申请实施例对此不作限制。
在本申请实施例中,以时域频谱数据的形式,作为动态场景具体处理任务的输入数据,输入到对应的训练好的神经网络模型中进行任务处理,相比于传统直接将动态场景的视频数据作为具体处理任务的输入数据,获得的处理结果更加准确。具体来说,对于动态场景的动作识别任务而言,通过本申请实施例中的方式获得的识别结果的精度更高。对于下一帧动态场景的预测任务而言,通过本申请实施例中的方式获得的预测结果更加准确。
在某些实现方式中,获取动态场景的时域频谱数据X(ω,x,y)包括:将第一时域频谱数据作为频域通道选择模型的输入,得到频域权重向量,频域权重向量用于指示不同频域通道的权重;根据频域权重向量和第一时域频谱数据,对第一时域频谱数据进行更新,以获得动态场景的时域频谱数据。
应理解,第一时域频谱数据为动态场景的初始时域频谱数据。
在本申请实施例中,通过训练好的频域通道选择模型,获得频域权重向量,以更新第一时域频谱数据,进而保留第一时域频谱数据中有用的频率通道,去除无用的频率通道,从而减少用于后续动态场景具体任务的数据量、提高计算速度以及减少存储空间和降低通信带宽压力。
在某些实现方式中,通过时域频谱数据采集相机获取时域频谱数据。例如,时域频谱数据采集相机可以为离散余弦变换相机。
在本申请实施例中,直接通过时域频谱数据采集相机(例如,离散余弦变换相机),直接采集到待识别动态场景的时域频谱数据,相比于通过普通面阵相机采集动态场景的视频数据,再对视频数据进行变换处理而言,可以减少通信带宽和数据存储的压力,并且可以低成本地获得高速动态场景的时域频谱数据,从而实现对高速动态场景进行识别或帧预测。
在一种可能的实现方式中,获取动态场景的视频数据,对视频数据进行第一变换,得到动态场景的时域频谱数据。其中,第一变换可以是离散傅里叶变换,也可以是离散余弦变换,本申请实施例对此不作限制。
第二方面,提供了一种神经网络模型训练方法,该方法包括:获取训练数据,训练数据为动态场景的时域频谱数据X(ω,x,y),其中,ω表示动态场景沿时间方向的频域维度,x和y表示动态场景的空间维度;通过训练数据,对待训练的神经网络模型进行训练。
应理解,时域频谱数据可以用于指示动态场景在时域上的变化频率,还可以用于指示动态场景在空间上的分布情况。
在本申请实施例中,通过将动态场景的时域频谱数据作为训练数据,来训练神经网络模型,可以充分利用时域全局信息,也就是时域频谱数据可以反映出动态场景在时域上整体变化的频率。例如,时域频谱数据可以反映出动态场景中走路和跑步的变化频率。因此,根据时域频谱训练数据,得到的训练好的神经网络模型,相比于传统的直接根据动态场景对应的视频数据得到训练好的神经网络模型,前者训练好的神经网络模型在处理相应的任务精度上更高。通过本申请实施例训练好的神经网络模型处理相应的任务,可以提高任务处理的准确性。例如,在动态场景动作识别任务中,通过时域频谱训练数据得到的训练好的神经网络模型可以有更高的识别精度。再例如,在动态场景的帧预测任务中,通过时域频谱训练数据得到的训练好的神经网络模型可以有更高的预测准确性。
在一种可能的实现方式中,获取训练数据包括:获取动态场景的视频数据,对视频数据做第一变化,以获得训练数据,其中,第一变换可以是离散傅里叶变换,也可以是离散余弦变换,本申请实施例对此不作限制。
在某些实现方式中,通过训练数据,对待训练的神经网络模型进行训练,得到第一损失函数;根据约束项和训练数据,对频域通道选择模型进行训练,输出频域权重向量,其中,频域权重向量用于指示不同频域通道的权重,约束项包括第一损失函数;根据频域权重向量和训练数据,对训练数据进行更新;根据更新后的训练数据和频域权重向量,对待训练的神经网络模型进行训练,得到更新后的第一损失函数。
在本申请实施例中,通过训练频域通道选择模型,利用频域权重向量对时域频谱训练数据在频率通道上进行选择,从而保留有用的频率通道,去除无用的频率通道,进而减少用于后续运算的数据量,从而减少后续应用阶段的计算量,降低计算成本,提高计算速度以及减少存储空间和降低通信带宽压力。
第三方面,提供了一种动态场景处理装置,该装置包括获取单元和处理单元。该获取单元具体用于获取动态场景的时域频谱数据X(ω,x,y),其中,ω表示动态场景沿时间方向的频域维度,x和y表示动态场景的空间维度;该处理单元具体用于将时域频谱数据作为神经网络模型的输入,得到动态场景的处理结果。
应理解,时域频谱数据可以用于指示动态场景在时域上的变化频率,还可以用于指示动态场景在空间上的分布情况。
作为一种可能的实现方式,动态场景的时域频谱数据可以为动态场景的初始时域频谱数据,还可以为根据初始时域频谱数据更新后的数据。本申请实施例对此不作限制。
在本申请实施例中,以时域频谱数据的形式,作为动态场景具体处理任务的输入数据,输入到对应的训练好的神经网络模型中进行任务处理,相比于传统直接将动态场景的视频数据作为具体处理任务的输入数据,获得的处理结果更加准确。具体来说,对于动态场景的动作识别任务而言,通过本申请实施例中的方式获得的识别结果的精度更高。对于下一帧动态场景的预测任务而言,通过本申请实施例中的方式获得的预测结果更加准确。
在某些实现方式中,该获取单元具体用于:将第一时域频谱数据作为频域通道选择模型的输入,得到频域权重向量,频域权重向量用于指示不同频域通道的权重;根据频域权重向量和第一时域频谱数据,对第一时域频谱数据进行更新,以获得动态场景的时域频谱数据。
应理解,第一时域频谱数据为动态场景的初始时域频谱数据。
在本申请实施例中,通过训练好的频域通道选择模型,获得频域权重向量,以更新第一时域频谱数据,进而保留第一时域频谱数据中有用的频率通道,去除无用的频率通道,从而减少用于后续动态场景具体任务的数据量、提高计算速度以及减少存储空间和降低通信带宽压力。
在某些实现方式中,通过时域频谱数据采集相机获取时域频谱数据。例如,时域频谱数据采集相机可以为离散余弦变换相机。
在本申请实施例中,直接通过时域频谱数据采集相机(例如,离散余弦变换相机),直接采集到待识别动态场景的时域频谱数据,相比于通过普通面阵相机采集动态场景的视频数据,再对视频数据进行变换处理而言,可以减少通信带宽和数据存储的压力,并且可以低成本地获得高速动态场景的时域频谱数据,从而实现对高速动态场景进行识别或帧预测。
在一种可能的实现方式中,获取单元用于,获取动态场景的视频数据,处理单元用于对动态场景的视频数据进行第一变换,得到时域频谱数据。其中,第一变换可以是离散傅里叶变换,也可以是离散余弦变换,本申请实施例对此不作限制。
第四方面,提供了一种神经网络模型训练装置,该装置包括获取单元和处理单元。该获取单元具体用于获取训练数据,训练数据为动态场景的时域频谱数据X(ω,x,y),其中,ω表示动态场景沿时间方向的频域维度,x和y表示动态场景的空间维度;该处理单元具体用于通过训练数据,对待训练的神经网络模型进行训练。
应理解,时域频谱数据可以用于指示动态场景在时域上的变化频率,还可以用于指示动态场景在空间上的分布情况。
在本申请实施例中,通过将动态场景的时域频谱数据作为训练数据,来训练神经网络模型,可以充分利用时域全局信息,也就是时域频谱数据可以反映出动态场景在时域上整体变化的频率。例如,时域频谱数据可以反映出动态场景中走路和跑步的变化频率。因此,根据时域频谱训练数据,得到的训练好的神经网络模型,相比于传统的直接根据动态场景对应的视频数据得到训练好的神经网络模型,前者训练好的神经网络模型在处理相应的任务精度上更高。通过本申请实施例训练好的神经网络模型处理相应的任务,可以提高任务处理的准确性。例如,在动态场景动作识别任务中,通过时域频谱训练数据得到的训练好的神经网络模型可以有更高的识别精度。再例如,在动态场景的帧预测任务中,通过时域频谱训练数据得到的训练好的神经网络模型可以有更高的预测准确性。
在一种可能的实现方式中,获取单元用于获取动态场景的视频数据,处理单元用于对视频数据做第一变化,以获得训练数据,其中,第一变换可以是离散傅里叶变换,也可以是离散余弦变换,本申请实施例对此不作限制。
在某些实现方式中,获取单元具体还用于,通过训练数据,对待训练的神经网络模型进行训练,得到第一损失函数;根据约束项和训练数据,对频域通道选择模型进行训练,输出频域权重向量,其中,频域权重向量用于指示不同频域通道的权重,约束项包括第一损失函数;根据频域权重向量和训练数据,对训练数据进行更新;根据更新后的训练数据和频域权重向量,对待训练的神经网络模型进行训练,得到更新后的第一损失函数。
在本申请实施例中,通过训练频域通道选择模型,利用频域权重向量对时域频谱训练数据在频率通道上进行选择,从而保留有用的频率通道,去除无用的频率通道,进而减少用于后续运算的数据量,从而减少后续应用阶段的计算量,降低计算成本,提高计算速度以及减少存储空间和降低通信带宽压力。
第五方面,提供了一种动态场景处理装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第一方面以及第一方面中的任意一种实现方式中的方法。
上述第五方面中的处理器既可以是中央处理器(central processing unit,CPU),也可以是CPU与神经网络运算处理器的组合,这里的神经网络运算处理器可以包括图形处理器(graphics processing unit,GPU)、神经网络处理器(neural-networkprocessing unit,NPU)和张量处理器(tensor processing unit,TPU)等等。其中,TPU是谷歌(google)为机器学习全定制的人工智能加速器专用集成电路。
第六方面,提供了一种神经网络模型的训练装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第二方面以及第二方面中的任意一种实现方式中的方法。
上述第六方面中的处理器既可以是中央处理器,也可以是CPU与神经网络运算处理器的组合,这里的神经网络运算处理器可以包括图形处理器、神经网络处理器和张量处理器等等。其中,TPU是谷歌为机器学习全定制的人工智能加速器专用集成电路。
第七方面,提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行第一方面或第二方面中的任意一种实现方式中的方法。
第八方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面或第二方面中的任意一种实现方式中的方法。
第九方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第一方面或第二方面中的任意一种实现方式中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面或第二方面中的任意一种实现方式中的方法。
上述芯片具体可以是现场可编程门阵列(field-programmable gate array,FPGA)或者专用集成电路(application-specific integrated circuit,ASIC)。
附图说明
图1是本申请实施例提供的一种人工智能主体框架示意图;
图2是本申请实施例提供的一种卷积神经网络的示例性结构图;
图3是本申请实施例提供了一种系统架构100;
图4是本申请实施例提供的一种训练装置部署示意图;
图5是本申请实施例提供的一种神经网络模型的训练方法流程示意图;
图6是本申请实施例提供的一种动态场景处理方法流程示意图;
图7是本申请实施例提供的另一种神经网络模型的训练方法流程图;
图8是本申请实施例提供的一种频域通道选择模型的训练过程示意图;
图9为本申请实施例提供的更新前的时域频谱数据的第m个空间像素点的可视化示意图;
图10是本申请实施例提供的一种卷积神经网络结构示意图;
图11是本申请实施例提供的一种神经网络模型训练整体流程示意图;
图12是本申请实施例提供的另一种神经网络模型的训练方法流程图;
图13是本申请实施例提供的一种普通面阵相机的结构示意图;
图14是本申请实施例提供的一种离散余弦变换相机的结构示意图;
图15是本申请实施例提供的一种通过DCT相机采集时域频谱数据的可视化示意图;
图16是本申请实施例提供的一种训练好的神经网络模型应用整体流程示意图;
图17是本申请实施例提供的神经网络模型的训练装置的示意性框图;
图18是本申请实施例提供的动态场景处理装置的示意性框图;
图19是本申请实施例提供的神经网络模型的训练装置的示意性框图;
图20是本申请实施例提供的动态场景处理装置的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请以下各实施例中,“至少一个”、“一个或多个”是指一个、两个或两个以上。术语“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例中采用诸如“第一”、“第二”的前缀词,仅仅为了区分不同的描述对象,对被描述对象的位置、顺序、优先级、数量或内容等没有限定作用。例如,区分不同的匿名身份信息等。
在本申请实施例中,“当……时”、“在……的情况下”以及“如果”等描述均指在某种客观情况下设备会做出相应的处理,并非是限定时间,且也不要求设备在实现时一定要有判断的动作,也不意味着存在其它限定。
图1示出一种人工智能主体框架示意图,该主体框架描述了人工智能系统总体工作流程,适用于通用的人工智能领域需求。
下面从“智能信息链”(水平轴)和“信息技术(information technology,IT)价值链”(垂直轴)两个维度对上述人工智能主题框架进行详细的阐述。
“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。
“IT价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到系统的产业生态过程,反映人工智能为信息技术产业带来的价值。
(1)基础设施:
基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。
基础设施可以通过传感器与外部沟通,基础设施的计算能力可以由智能芯片提供。
这里的智能芯片可以是中央处理器(central processing unit,CPU)、神经网络处理器(neural-network processing unit,NPU)、图形处理器(graphics processingunit,GPU)、专门应用的集成电路(application specific integrated circuit,ASIC)以及现场可编程门阵列(field programmable gate array,FPGA)等硬件加速芯片。
基础设施的基础平台可以包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。
例如,对于基础设施来说,可以通过传感器和外部沟通获取数据,然后将这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。
(2)数据:
基础设施的上一层的数据用于表示人工智能领域的数据来源。该数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。
(3)数据处理:
上述数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等处理方式。
其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。
推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。
决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。
(4)通用能力:
对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。
(5)智能产品及行业应用:
智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能制造、智能交通、智能家居、智能医疗、智能安防、自动驾驶,平安城市,智能终端等。
本申请实施例中的视频处理方法可以应用在人工智能中的很多领域,例如,智能制造、智能交通、智能家居、智能医疗、智能安防、自动驾驶,平安城市等领域。
具体地,本申请实施例可以具体应用在动态场景识别或动态场景帧预测等需要使用(深度)神经网络的领域。
由于本申请实施例涉及大量神经网络的应用,为了便于理解,下面先对本申请实施例可能涉及的相关术语和概念进行介绍。
(1)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,该运算单元的输出可以为:
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。
f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层的输入。例如,激活函数可以是ReLU,tanh或sigmoid函数。
神经网络是将多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
(2)卷积神经网络(convosutionas neuras network,CNN)
卷积神经网络是一种带有卷积核神经网络。卷积核可以看作是滤波器。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。
(3)循环神经网络(recurrent neural network,RNN)
循环神经网络是用来处理序列数据的。RNN之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐含层本层之间的节点不再无连接而是有连接的,并且隐含层的输入不仅包括输入层的输出还包括上一时刻隐含层的输出。
(4)Transformer神经网络
Transformer神经网络是一种深度学习网络,包括自注意力机制和交叉注意力机制,自注意力机制和交叉注意力机制都主要以多头注意力的形式出现。其中多头注意力使transformer神经网络能够在不同位置共同关注来自不同表征子空间的信息。
(5)损失函数
在训练神经网络的过程中,因为希望神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断地调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。通常地,loss越小,该深度神经网络的训练质量越高,loss越大,深度神经网络的训练质量越低。类似的,loss波动越小,训练越稳定;loss波动越大,训练越不稳定。
(6)边缘设备
边缘设备是指在数据产生源头和云中心之间任一具有计算资源和网络资源的设备。比如,手机就是人与云中心之间的边缘设备,网关是智能家居和云中心之间的边缘设备。在理想环境中,边缘设备指是指在数据产生源附近分析或处理数据的设备。由于没有数据的流转,进而减少网络流量和响应时间。
本申请实施例中的边缘设备可以是具有计算能力的移动电话、平板个人电脑(tablet personal computer,TPC)、媒体播放器、智能家居、笔记本电脑(laptopcomputer,LC)、个人数字助理(personal digital assistant,PDA)、个人计算机(personalcomputer,PC)、照相机、摄像机、智能手表、可穿戴式设备(wearable device,WD)或者自动驾驶的车辆等。可以理解的是,本申请实施例对边缘设备的具体形式不作限定。
(7)数字微透镜阵列(digital mirror device,DMD)
DMD是一种电子输入、光学输出的微机电系统,由许多小型铝制反射镜面组成,每个镜面被称为一个像素。每个微反射镜单元都是一个独立的个体,并且可以翻转不同的角度,因此通过微镜单元所反射的光线可以呈现出不同的角度,具体表现为其对应的数字图像像素的亮暗程度。每个微反射镜单元有三个稳态,分别是正角度(例如,+12°或+10°)、无角度(例如,0°)和负角度(例如,-12°或-10°)。当微反射镜单元偏离平衡位置+12°或+10°时,被反射的光刚好沿光轴方向通过投影物镜成像在屏上,形成一个亮的像素。当反射镜偏离平衡位置-12°或-10°时,反射的光束将不能通过投影透镜,形成一个暗的像素。
(8)互补金属氧化物半导体(complementary metal-oxide semiconductor,CMOS)图像传感器
CMOS图像传感器通常由像敏单元阵列行、行驱动器、列驱动器、时序控制逻辑、AD转换器、数据总线输出接口、控制接口等几部分组成,这几部分通常都被集成在同一块硅片上。
图2为本申请实施例提供的一种卷积神经网络的示例性结构图。如图2所示,卷积神经网络(CNN)200可以包括输入层210,卷积层/池化层220,其中池化层为可选的,以及神经网络层230。应理解,下面以图2中的待处理数据为视频数据为例进行说明。
卷积层/池化层220:
卷积层:
如图2所示卷积层/池化层220可以包括如示例221-226层,在一种实现中,221层为卷积层,222层为池化层,223层为卷积层,224层为池化层,225为卷积层,226为池化层;在另一种实现方式中,221、222为卷积层,223为池化层,224、225为卷积层,226为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。
以2D卷积神经网络为例,在视频数据处理中,将待处理的视频数据的每一帧图像分别使用CNN来进行卷积运算,以卷积层221为例,卷积层221可以包括很多个卷积算子,卷积算子也称为核,卷积核的作用相当于一个从图像矩阵中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义,在对图像进行卷积操作的过程中,权重矩阵通常在图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素,这取决于步长stride的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大小应该与图像的大小相关,需要注意的是,权重矩阵的纵深维度(depthdimension)和图像的纵深维度是相同的,在进行卷积运算的过程中,权重矩阵会延伸到图像的整个深度。因此,和一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出,但是大多数情况下不使用单一权重矩阵,而是应用维度相同的多个权重矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度。不同的权重矩阵可以用来提取图像中不同的特征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪点进行模糊化,该多个权重矩阵维度相同,经过该多个维度相同的权重矩阵提取后的特征图维度也相同,再将提取到的多个维度相同的特征图合并形成卷积运算的输出。
这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以从图像中提取信息,从而帮助卷积神经网络200进行正确的预测。
当卷积神经网络200有多个卷积层的时候,初始的卷积层(例如221)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络200深度的加深,越往后的卷积层(例如226)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。
池化层:
由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,即如图2中220所示例的221-226各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。池化层可以包括平均池化算子和/或最大池化算子,以用于对图像进行采样得到较小尺寸的图像。平均池化算子可以在特定范围内对图像中的像素值进行计算产生平均值。最大池化算子可以在特定范围内取该范围内值最大的像素作为最大池化的结果。另外,就像卷积层中用权重矩阵的大小应该与图像大小相关一样,池化层中的运算符也应该与图像的大小相关。通过池化层处理后输出的图像尺寸可以小于输入池化层的图像的尺寸,池化层输出的图像中每个像素点表示输入池化层的图像的对应子区域的平均值或最大值。
神经网络层230:
在经过卷积层/池化层220的处理后,卷积神经网络200还不足以输出所需要的输出信息。因为如前所述,卷积层/池化层220只会提取特征,并减少图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或别的相关信息),卷积神经网络200需要利用神经网络层230来生成一个或者一组所需要的类的数量的输出。因此,在神经网络层230中可以包括多层隐含层(如图2所示的231、232至23n)以及输出层240,该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括视频动作识别等。
在神经网络层230中的多层隐含层之后,也就是整个卷积神经网络200的最后层为输出层240,该输出层240具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络200的前向传播(如图2由210至240的传播为前向传播)完成,反向传播(如图2由240至210的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络200的损失及卷积神经网络200通过输出层输出的结果和理想结果之间的误差。
需要说明的是,如图2所示的卷积神经网络200仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在,本申请实施例对此不作限制。
图3是本申请实施例提供了一种系统架构100。在图3中,数据采集设备160用于采集训练数据。例如,针对本申请实施例的动态场景处理来说,若数据为视频数据,则训练数据可以包括训练视频对应的时域频谱数据以及训练视频相应的结果。例如,如果对视频数据进行动态场景动作识别训练,训练视频相应的结果可以为训练视频的动态场景识别结果,其中,动态场景识别结果可以是人工预先标注的动作分类结果。
在采集到训练数据之后,数据采集设备160将这些训练数据存入数据库130,训练设备120基于数据库130中维护的训练数据训练得到目标模型/规则101。
下面对训练设备120基于训练数据得到目标模型/规则101进行描述,训练设备120对输入的数据进行处理,将输出值与目标值进行对比,直到训练设备120输出的值与目标值的差值小于一定的阈值,从而完成目标模型/规则101的训练。
上述目标模型/规则101能够用于实现本申请实施例的数据处理。本申请实施例中的目标模型/规则101具体可以为神经网络模型。例如,卷积神经网络、循环神经网络或者transformer神经网络。需要说明的是,在实际的应用中,所述数据库130中维护的训练数据不一定都来自于数据采集设备160的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备120也不一定完全基于数据库130维护的训练数据进行目标模型/规则101的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本申请实施例的限定。
示例性地,例如在本申请实施例中使用的数据集为深度学习视频数据集,例如,UCF101人体动作数据集。UCF101人体动作数据集为现实动作视频的动作识别数据集,该数据集提供了来自101个动作类别的13320个视频。101个动作类别中的每个动作类别视频被分为25组,每组包括4至7个视频。属于同一组的视频具有共通的特点,例如,相似的背景等。
根据训练设备120训练得到的目标模型/规则101可以应用于不同的系统或设备中,如应用于图2所示的执行设备110,所述执行设备110可以是终端,如手机终端,平板电脑,笔记本电脑,增强现实(augmented reality,AR)AR/虚拟现实(virtual reality,VR),车载终端等,还可以是服务器或者云端等。在图2中,执行设备110配置输入/输出(input/output,I/O)接口112,用于与外部设备进行数据交互,用户可以通过客户设备140向I/O接口112输入数据,输入数据在本申请实施例中可以包括:客户设备输入的待处理的数据。
可选地,执行设备110中还可以包括预处理模块113,预处理模块113用于根据I/O接口112接收到的输入数据(例如,视频数据)进行预处理,如果不需要对输入数据进行预处理,则直接将从I/O接口112接收的输入数据(例如,本申请实施例中直接采集获得的动态场景的时域频谱数据)输入到执行设备110进行处理。
在执行设备110对输入数据进行预处理,或者在执行设备110的计算模块111执行计算等相关的处理过程中,执行设备110可以调用数据存储系统150中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统150中。
最后,I/O接口112将处理结果,如上述得到的数据的处理结果返回给客户设备140,从而提供给用户。
值得说明的是,训练设备120可以针对不同的目标或不同的任务,基于不同的训练数据生成相应的目标模型/规则101,该相应的目标模型/规则101即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。
在图3中所示情况下,用户可以手动给定输入数据,该手动给定可以通过I/O接口112提供的界面进行操作。另一种情况下,客户设备140可以自动地向I/O接口112发送输入数据,如果要求客户设备140自动发送输入数据需要获得用户的授权,则用户可以在客户设备140中设置相应权限。用户可以在客户设备140查看执行设备110输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备140也可以作为数据采集端,采集如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果作为新的样本数据,并存入数据库130。当然,也可以不经过客户设备140进行采集,而是由I/O接口112直接将如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果,作为新的样本数据存入数据库130。
值得注意的是,图3仅是本申请实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图3中,数据存储系统150相对执行设备110是外部存储器,在其它情况下,也可以将数据存储系统150置于执行设备110中。
图4是本申请实施例提供的一种训练装置部署示意图,如图4的(a)所示,训练装置410可以部署在在云环境中,云环境是云计算模式下利用基础资源向用户提供云服务的实体。云环境包括云数据中心和云服务平台,所述云数据中心包括云服务提供商拥有的大量基础资源(包括计算资源、存储资源和网络资源),云数据中心包括的计算资源可以是大量的计算设备(例如服务器)。
训练装置410可以是云数据中心中进行神经网络模型训练的服务器,或者还可以是对神经网络模型进行训练的虚拟机。
训练装置410还可以是部署在云数据中心中的服务器或者虚拟机上的软件装置,该软件装置用于对神经网络模型进行训练,该软件装置可以分布式地部署在多个服务器上、或者分布式地部署在多个虚拟机上、或者分布式地部署在虚拟机和服务器上。
如图4所示,训练装置410可以由云服务提供商在云服务平台抽象成一种训练神经网络模型的云服务提供给用户,用户在云服务平台购买该云服务后,云环境利用该云服务向用户提供训练神经网络的云服务。
例如,如图4的(b)所示,用户可以通过应用程序接口(application programinterface,API)或者通过云服务平台提供的网页界面上传待训练的神经网络模型(进一步地还可以上传原始训练集)至云环境,由训练装置410接收待训练的神经网络模型以及训练集,通过训练装置410中对待训练的神经网络模型进行训练,最终训练得到的目标神经网络由训练装置410返回至用户所在的边缘设备,边缘设备在前文中有详细介绍,在此不作赘述。
例如,用户可以通过应用程序接口或者通过云服务平台提供的网页界面上传目标任务的类型至云环境,进一步地,还可以上传训练集,由训练装置接收目标任务类型以及训练集,通过训练装置410中对目标任务的类型对应的神经网络模型(例如,待训练的动态场景识别模型)进行训练,最终训练得到的目标神经网络模型(例如,目标动态场景识别模型)由训练装置410返回至用户所在的边缘设备。
上述训练装置410可以为如图4的(a)所示部署在云环境中;或者,上述训练装置410也可以为终端设备,此时,执行设备110可以部署在用户终端侧,本申请实施例对此并不限定。
动态场景识别是指对动态场景中的动作进行分类,也就是计算机自动判断动态场景中的动作行为并输出分类结果。动态场景识别广泛地应用于智慧城市、智慧医疗以及生产安全监控等场景。
目前,动态场景识别的输入数据一般为相机逐帧拍摄的二维图片组成的序列,也就是视频数据。动态场景识别的一般处理方式为将视频数据直接作为训练数据,输入到动态场景识别模型中进行训练,得到训练好的动态场景识别模型。随后将待识别的视频数据直接输入到训练好的动态场景识别模型中,输出分类结果。
这种动态场景识别的一般处理方式存在的主要缺陷是时间分辨率表示的最小时间间隔和数据量之间的矛盾。其中,时间分辨率是指同一区域进行两次观测的最小时间间隔,相机的时间分辨率可以理解为相机采集动态场景的最小时间间隔。低帧率相机的时间分辨率低,也就是最小时间间隔大,因此,虽然采用低帧率相机采集视频数据时,数据量小,设备的存储压力小,但是在采集高速运动的视频数据时,会产生运动模糊,不利于动态动作识别。高帧率相机的时间分辨率高,也就是最小时间间隔小,因此,虽然采用高帧率相机采集视频数据时,可以捕捉到避免运动模糊的高速运动视频数据,但是在采集时间固定的情况下,相比于低帧率相机,高帧率相机采集的数据量很大。数据量过大会对通信带宽和存储造成巨大压力的同时,还会增加动作识别的计算量,使得识别速率受限。
除此以外,直接将视频数据作为神经网络的输入,忽略了待识别的视频数据在时域上的关联信息,限制了对动态场景中的动作分类结果的精度,以及造成大量冗余计算,影响分类的速度。
为了解决上述问题,本申请实施例提出了一种动态场景处理方法、神经网络模型训练方法和装置,下面将结合图5至图20对此做详细描述。
应理解,为了便于理解,在此说明图5至图16中的两种矩形的含义,其中“直角矩形”表示输入和输出数据,“圆角矩形”表示输入数据的处理模型,例如,通过神经网络处理输入数据。
下面首先结合图5至图16从模型训练侧和模型应用侧对本申请提供的方法进行描述。
本申请实施例提供的神经网络模型训练方法,涉及计算机视觉的处理,具体可以应用于数据训练、机器学习、深度学习等数据处理方法,对训练数据(例如,本申请中的经过预处理的视频训练数据)进行符号化和形式化的智能信息建模、特征提取、训练等,最终得到训练好的神经网络模型;并且,本申请实施例提供的动态场景处理方法可以运用上述训练好的神经网络模型,将输入数据(例如,本申请中的对动态场景的视频数据经过预处理后的时域频谱数据或者直接获取的动态场景的时域频谱数据)输入到训练好的神经网络模型中,得到输出数据(例如,本申请中的识别结果或者帧预测结果)。需要说明的是,本申请实施例提供的神经网络的训练方法和动态场景处理方法是基于同一个构思产生的,也可以理解为一个系统中的两部分,或一个整体流程的两个阶段:如模型训练阶段和模型应用阶段。
首先,结合图5对神经网络模型的训练方法做详细说明,图5是本申请实施例提供的一种神经网络模型的训练方法流程示意图。
S501,获取训练数据,其中,训练数据为动态场景的时域频谱数据X(ω,x,y),其中,ω表示动态场景沿时间方向的频域维度,x和y表示动态场景的空间维度。
应理解,时域频谱数据(time frequency data)的维度是C×H×W,其中,C表示时域频谱数据的频率通道数,H表示沿空间x方向的像素点数,W表示沿空间y方向的像素点数。时域频谱数据可以用于指示动态场景在时域上的变化频率,还可以用于指示动态场景在空间上的分布情况。
作为一种可能的实现方式,获取动态场景的视频数据,对动态场景的视频数据做第一变换,得到训练数据。
应理解,视频数据的获取方式可以为多种,可以是来自UCF101人体动作数据集,或者通过普通面阵相机采集得到动态场景的视频数据,本申请实施例对此不作限制。例如,本申请实施例中使用的用于获得训练数据的视频数据来自于UCF101人体动作数据集。
需要说明的是,第一变换用于获取视频数据的时域频谱数据,其中,第一变换可以是离散余弦变换(discrete cosine transform,DCT)、或者离散傅里叶变换(discretefourier transform,DFT)等,本申请实施例对第一变换的具体形式不作限制。
示例性地,获取的视频数据为动态场景的视频数据,可以表示为D(t,x,y),其中,视频数据的维度为T×M×N,T表示视频数据的帧数,M表示沿空间x方向的像素点数,N表示沿空间y方向的像素点数。对视频数据沿t方向的每个空间像素点做第一变换,例如离散余弦变换,得到训练数据,也就是得到视频数据的时域频谱数据X(ω,x,y)。
S502,通过训练数据,对待训练的神经网络模型进行训练。
应理解,待训练的神经网络模型可以为卷积神经网络、循环神经网络或者Transformer神经网络等,本申请对待训练的神经网络模型的具体类型不作限制。
在本申请实施例中,通过将动态场景的时域频谱数据作为训练数据,来训练神经网络模型,可以充分利用时域全局信息,也就是时域频谱数据可以反映出动态场景在时域上整体变化的频率。例如,时域频谱数据可以反应出动态场景中走路和跑步的变化频率。因此,根据时域频谱训练数据,得到的训练好的神经网络模型,相比于传统的直接根据视频数据得到训练好的神经网络模型,前者训练好的神经网络模型在处理相应的任务精度上更高。通过本申请实施例训练好的神经网络模型处理相应的任务,可以提高任务处理的准确性。例如,在动态场景动作识别任务中,通过动态场景的时域频谱训练数据得到的训练好的神经网络模型可以有更高的识别精度。再例如,在动态场景的帧预测任务中,通过动态场景的时域频谱训练数据得到的训练好的神经网络模型可以有更高的预测准确性。
下面将结合图6具体说明动态场景处理方法的具体过程,图6是本申请实施例提供的一种动态场景处理方法流程示意图。
S601,获取动态场景的时域频谱数据X(ω,x,y),其中,ω表示动态场景沿时间方向的频域维度,x和y表示动态场景的空间维度。
需要说明的是,为了避免重复,时域频谱数据的具体解释请参考S501中的相关解释,在此不作赘述。
应理解,时域频谱数据可以为直接获取的时域频谱数据或者经过第一变换得到的时域频谱数据。
作为一种可能的实现方式,通过时域频谱数据采集相机获得动态场景的时域频谱数据,其中,时域频谱数据采集相机可以为离散余弦变换相机,或者是其他可以直接得到时域频谱数据的相机,本申请实施例对此不作限制。后续将结合图14和图15对直接通过离散余弦变换相机获得时域频谱数据做详细说明。
作为一种可能的实现方式,获取动态场景的视频数据,对视频数据做第一变换,得到动态场景的时域频谱数据。
需要说明的是,具体进行第一变换的方式和训练过程中获得训练数据的方式类似,为了避免重复,在此不作赘述。
还应理解,时域频谱数据还可以为更新后的第一时域频谱数据。
作为一种可能的实现方式,通过对获取的第一时域频谱数据进行更新,以获取神经网络模型处理的动态场景的时域频谱数据。具体更新方式将结合图12做详细说明。
S602,将动态场景的时域频谱数据作为神经网络模型的输入,得到动态场景的处理结果。
需要说明的是,动态场景处理方法中的神经网络模型是通过上述训练方式获得的。
应理解,动态场景的处理结果的具体形式是由动态场景的具体的处理任务决定的,例如,如果是对视频数据中的动作进行识别,也就是对动态场景的动作进行识别,那么动态场景的处理结果就是动作识别结果。又例如,如果是对动态场景中的下一帧进行预测,也就是对下一帧的动态场景进行预测,那么动态场景的处理结果就是帧预测结果。本申请实施例对动态场景具体的处理任务不做限制,在本申请实施例中,主要以动态场景的动作识别为例进行说明。
在本申请实施例中,以时域频谱数据的形式,作为动态场景具体处理任务的输入数据,输入到对应的训练好的神经网络模型中进行任务处理,相比于传统直接将视频数据作为具体处理任务的输入数据,获得的处理结果更加准确。具体来说,对于动态场景的动作识别任务而言,通过本申请实施例中的方式获得的识别结果的精度更高。对于下一帧动态场景的预测任务而言,通过本申请实施例中的方式获得的预测结果更加准确。
为了进一步提高动态场景处理过程中的速度以及降低计算成本,本申请实施例对上述方式做了进一步改进。下面将结合图7至图16从神经网络模型的训练阶段和动态场景处理阶段,对进一步改进做详细说明。
下面将结合图7至图10对改进的神经网络模型的训练过程做详细说明。图7是本申请实施例提供的另一种神经网络模型的训练方法流程图。
S701,获取训练数据,其中,训练数据为动态场景的时域频谱数据X(ω,x,y),其中,ω表示动态场景沿时间方向的频域维度,x和y表示动态场景的空间维度。
应理解,S701和S501相同,为了避免重复,在此不作赘述。
S702,根据约束项和训练数据,对频域通道选择模型进行训练,输出频域权重向量,其中,频域权重向量用于指示不同频域通道的权重,约束项包括第一损失函数。
应理解,当对频域通道选择模块进行初次迭代训练时,约束项为初始约束,初始约束可以为预定义好的,例如,初始约束具体取值可以为0,也就是无初始约束。本申请实施例对训练数据的初始约束的具体形式不作限制。
当对频域通道选择模型进行非初次迭代训练时,也就是,进行第k次迭代训练时,k为大于或等于2的正整数,约束项中包括的第一损失函数为第k-1次迭代训练时,对待训练的神经网络模型进行训练时输出的第一损失函数。
下面将结合图8具体说明频域通道选择模型训练过程,图8是本申请实施例提供的一种频域通道选择模型的训练过程示意图。
需要说明的是,频域通道选择模型用于获得时域频谱数据的频域权重向量,从而实现对时域频谱数据的频域通道进行自适应地提取,从而保留有用的频率通道,去除无用的频率通道,进而减少用于后续运算的数据量,以减少运算量,存储空间和通信带宽压力。频域通道选择模型的神经网络结构可以是任意一种实现上述功能的结构,本申请实施例对此不作限制。
示例性地,频域通道选择模型的结构可以如图8所示,频域通道选择模型包括池化层(例如,可以是自适应平均池化层)、三层卷积层以及采样层(例如,gumbel softmax采样层)。
将训练数据和约束项输入待训练的频域通道选择模型,输出频域权重向量,每个频率通道的频域权重可以用公式(1)表示:
其中,Ati表示频域权重向量At的第i个元素,Xi表示时域频谱数据X(ω,x,y)的第i个频率通道,i=1,2,3,...,C,C表示频率通道的个数,C为正整数。Wave表示自适应平均池化层的权重,W1,C表示第一卷积层的权重,表示第二卷积层的权重,W3,C表示第三个卷积层的权重,r表示缩放因子。Gs表示gumbel softmax采样。
应理解,通过训练数据和约束项对待训练的频域通道选择模型进行训练的本质是对获得频域权重向量中的上述权重参数进行更新训练。因此,为了防止过拟合,通过约束项对频域权重向量进行约束,还需要在第一损失函数中加入正则项(如公式(2)所示),也就是得到用于频域通道选择模型训练的约束项(如公式(3)所示)。
Lfi=λ×Ati (2)
其中,Lfi表示第i个频率通道的正则约束,λ表示频率通道注意力约束强度,Lacc表示第一损失函数,当神经网络模型的任务是用于识别动态场景中的动作时,还可以称为识别精度损失函数,例如,识别精度损失函数可以为均方误差(mean square error,MSE)损失函数,L表示约束项。
S703,根据频域权重向量和训练数据,对训练数据进行更新。
将频域权重向量和训练数据的每个像素进行点乘(如公式(4)所示),获得更新后的训练数据。
Sj=At×Xm (4)
其中,Sj为更新后的训练数据S(ω,x,y)的第j个空间像素点的值,At表示频域权重向量,Xm表示更新前的时域频谱数据X(ω,x,y)第m个空间像素点的值,j=1,2,...H×W,m=1,2,...H×W。
需要说明的是,从S501可知,更新前的训练数据为时域频谱数据X(ω,x,y),其维度为C×H×W,其中,C表示时域频谱数据的频率通道数,H表示沿空间x方向的像素点数,W表示沿空间y方向的像素点数,C、H和W均为正整数。因此,更新前的训练数据的第m个空间像素点Xm的维度为C×1×1,如图9所示,图9为本申请实施例提供的更新前的时域频谱数据的第m个空间像素点的可视化示意图。根据S702获得的频域权重向量At的维度也是C×1×1,更新后的训练数据的维度为C×H×W。
S704,根据更新后的训练数据和频域权重向量,对待训练的神经网络模型进行训练,得到更新后的第一损失函数。
利用S703获得的更新后的训练数据S(ω,x,y)和S702获得的频域权重向量At,对神经网络模型进行训练,得到更新后的第一损失函数,其中更新后的第一损失函数用于在第k+1次迭代训练中约束训练频域通道选择模型。
示例性地,神经网络模型可以是卷积神经网络模型,如图10所示,图10是本申请实施例提供的一种卷积神经网络结构示意图。图10所示的卷积神经网络包括五个卷积模块和全连接模块。其中,每个卷积模块包括卷积层、批归一化层、非线性层以及下采样层,全连接模块包括三个全连接层。卷积模块用于提取更新后的训练数据的特征,全连接模块用于根据神经网络模型的具体任务类型进行任务处理,例如,动态场景动作识别动作,全连接模块用于对提取的特征进行分类。
应理解,在训练阶段,对神经网络模型的训练本质上就是对神经网络结构中不同层的权重进行训练,得到每层训练好的权重参数。
在本申请实施例中,通过训练频域通道选择模型,利用频域权重向量对时域频谱训练数据在频率通道上进行选择,有助于减少后续应用阶段时的数据量,从而减少后续应用阶段的计算量,降低计算成本,提高计算速度。
下面将结合图11对上述神经网络模型的训练过程做整体性说明,图11是本申请实施例提供的一种神经网络模型训练整体流程示意图。
需要说明的是,图11中通过实线连接的流程为一种神经网络模型训练流程,通过虚线连接的流程为另一种神经网络模型训练流程。
训练流程一:如图11所示的通过实线连接的流程,直接将时域频谱训练数据输入到待训练的神经网络模型中进行训练。
训练流程二:如图11所示的通过虚线连接的流程,第一步,在第k次迭代训练中,将时域频谱训练数据和约束项,输入到待训练的频域通道选择模型中进行训练,输出频域权重向量,其中约束项包括第k-1次迭代训练的频域权重向量和第k-1次迭代训练的第一损失函数的共同约束。第二步,将时域频谱训练数据和频域权重向量通过点乘的方式获得更新后的时域频谱训练数据,其中,更新后的时域频谱训练数据是经过频率通道选择的训练数据。第三步,将更新后的时域频谱训练数据和第一步获得的频域权重向量,输入到待训练的神经网络模型中进行训练,得到更新后的第一损失函数,更新后的第一损失函数用于第k+1次迭代训练中第一步的频域通道选择模型的训练。
下面将结合图12至图16对改进的神经网络模型的训练过程做详细说明。图12是本申请实施例提供的另一种神经网络模型的训练方法流程图。
S1201,获取第一时域频谱数据。
作为一种可能的实现方式,获取动态场景的视频数据,对视频数据进行第一变换,得到第一时域频谱数据。关于第一变换的具体描述可以参考S501。
示例性地,通过普通面阵相机采集动态场景的视频数据,图13是本申请实施例提供的一种普通面阵相机的结构示意图,如图13所示,普通面阵相机包括成像透镜和二维探测器阵列(例如,CMOS面阵相机)。通过普通面阵相机直接采集待识别动态场景的视频数据。
作为一种可能的实现方式,通过时域频谱数据采集相机获得时域频谱数据,时域频谱数据采集相机可以为离散余弦变换相机,下面将结合图14和图15详细说明离散余弦变换相机采集动态场景的时域频谱数据的原理。
图14是本申请实施例提供的一种离散余弦变换相机的结构示意图。图15是本申请实施例提供的一种通过DCT相机采集时域频谱数据的可视化示意图。
如图14所示,离散余弦变换相机包括成像透镜、空间光调制器(例如,数字微透阵列DMD)、中继透镜和二维探测器阵列(例如,CMOS面阵相机)。其中,DMD的像素点和CMOS面阵相机的像素点为一一对应的,如图15所示,DMD上加载的图案的数据维度是8×8,CMOS面阵相机上时域频谱数据的维度是4×4×4。CMOS面阵相机有固定的曝光时间,在固定曝光时间下,不同频率下的的变化次数不同,例如,曝光时间为8ms,f1为1Hz,那么DMD上加载的图片上的f1表示在8ms的曝光时间内变化1次;f2为2Hz,那么DMD上加载的图片上的f2表示在8ms的曝光时间内变化2次;f3为3Hz,那么DMD上加载的图片上的f3表示在8ms的曝光时间内变化3次;f4为4Hz,那么DMD上加载的图片上的f4表示在8ms的曝光时间内变化4次。对于CMOS面阵相机而言,在一段曝光时间内,可以采集到不同频率下所有像素点,因此,将DMD上以不同频率进行刷新的图案作为余弦基(如图15所示),来从CMOS相机上获得时域频谱数据(如图15所示)。
具体而言,动态场景可以被视为一个三维空间立方体,动态场景的每个空间像素点的位置的光强变化可视为一段一维波形信号,动态场景通过成像透镜,投影到数字微透阵列DMD上。随后,动态场景的每个空间像素点波形信号和DMD上加载的不同频率的余弦基相乘,再经过中继透镜,使得在CMOS面阵相机上积分,以获得时域频谱数据X(ω,x,y)。
在本申请实施例中,直接通过时域频谱数据采集相机(例如,离散余弦变换相机),直接采集到待识别动态场景的时域频谱数据,相比于通过普通面阵相机采集动态场景的视频数据,再对视频数据进行变换处理而言,可以减少通信带宽和数据存储的压力,并且可以低成本地获得高速动态场景的时域频谱数据,从而实现对高速动态场景进行识别或帧预测。
S1202,将第一时域频谱数据作为频域通道选择模型的输入,得到频域权重向量,其中,频域权重向量用于指示不同频域通道的权重。
需要说明的是,频域通道选择模型中的权重参数可以通过S702中图8所示的方式来确定,也就是,在频域通道选择模型的应用阶段,频域通道选择模型中的权重参数为确定不变的。因此,虽然获得频域权重向量的过程和S702中图8所示的过程相似,但是在训练好的频域通道选择模型的应用过程中,不需要约束项的约束。
S1203,根据频域权重向量和第一时域频谱数据,对第一时域频谱数据进行更新,以获得动态场景的时域频谱数据。
需要说明的是,通过频域权重向量对第一时域频谱数据进行更新,具体过程和训练阶段的S703类似,为了避免重复,在此不作赘述。
S1204,将动态场景的时域频谱数据作为神经网络模型的输入,得到动态场景的处理结果。
下面将结合图16对本申请实施例的上述训练好的神经网络模型的应用过程做整体性说明,图16是本申请实施例提供的一种训练好的神经网络模型应用整体流程示意图。
需要说明的是,图16中通过实线连接的流程为一种神经网络模型的应用流程,通过虚线连接的流程为另一种神经网络模型的应用流程。
应用流程一:如图16所示的通过实线连接的流程,直接将动态场景的时域频谱数据输入到神经网络模型中进行任务处理,得到处理结果,例如动态场景的动作识别结果。
应用流程二:如图16所示的通过虚线连接的流程,第一步,将第一时域频谱数据输入频域通道选择模型,输出频域权重向量。第二步,将第一步输出的频域权重向量和第一时域频谱数据做点乘,得到动态场景的时域频谱数据。第三步将动态场景的时域频谱数据作为神经网络模型的输入,得到处理结果。
下面结合图17至图20对本申请实施例的装置进行说明。应理解,下面描述的装置能够执行前述本申请实施例的方法,为了避免不必要的重复,下面在介绍本申请实施例的装置时适当省略重复的描述。
图17是本申请实施例的神经网络模型的训练装置的示意性框图。图17所示的神经网络模型的训练装置3000包括获取单元3010和处理单元3020。
获取单元3010用于获取训练数据,其中,训练数据为动态场景的时域频谱数据X(ω,x,y),其中,ω表示动态场景沿时间方向的频域维度,x和y表示动态场景的空间维度。
处理单元3020用于通过训练数据,对待训练的神经网络模型进行训练。
图18是本申请实施例提供的动态场景处理装置4000的示意性框图。图18所示的动态场景处理装置4000包括获取单元4010和处理单元4020。
获取单元4010用于获取动态场景的时域频谱数据X(ω,x,y),其中,ω表示动态场景沿时间方向的频域维度,x和y表示动态场景的空间维度。
处理单元4020用于将动态场景的时域频谱数据作为神经网络模型的输入,得到动态场景的处理结果。
需要说明的是,上述训练装置3000以及装置4000以功能单元的形式体现。这里的术语“单元”可以通过软件和/或硬件形式实现,对此不作具体限定。
例如,“单元”可以是实现上述功能的软件程序、硬件电路或二者结合。所述硬件电路可能包括应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
因此,在本申请的实施例中描述的各示例的单元,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
图19是本申请实施例提供的神经网络模型的训练装置的硬件结构示意图。图19所示的神经网络模型的训练装置5000(该装置5000具体可以是一种计算机设备)包括存储器5001、处理器5002、通信接口5003以及总线5004。其中,存储器5001、处理器5002、通信接口5003通过总线5004实现彼此之间的通信连接。
存储器5001可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器5001可以存储程序,当存储器5001中存储的程序被处理器5002执行时,处理器5002用于执行本申请实施例的神经网络模型的训练方法的各个步骤。具体地,处理器5002可以执行上文中图5所示的方法中的步骤S502或者执行上文中图7所示的方法中的步骤S702至S704。
处理器5002可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请方法实施例的神经网络模型的训练方法。
处理器5002还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的神经网络模型的训练方法的各个步骤可以通过处理器5002中的硬件的集成逻辑电路或者软件形式的指令完成。
上述处理器5002还可以是通用处理器、数字信号处理器(digital signalprocessing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(field programmable gatearray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器5001,处理器5002读取存储器5001中的信息,结合其硬件完成图17所示的训练装置中包括的单元所需执行的功能,或者,执行本申请方法实施例的图5或图7所示的神经网络模型的训练方法。
通信接口5003使用例如但不限于收发器一类的收发装置,来实现装置5000与其他设备或通信网络之间的通信。例如,可以通过通信接口5003获取训练数据。
总线5004可包括在装置5000各个部件(例如,存储器5001、处理器5002、通信接口5003)之间传送信息的通路。
图20是本申请实施例的动态场景处理装置的硬件结构示意图。图20所示的动态场景处理装置6000包括存储器6001、处理器6002、通信接口6003以及总线6004。其中,存储器6001、处理器6002、通信接口6003通过总线6004实现彼此之间的通信连接。
存储器6001可以是ROM,静态存储设备和RAM。存储器6001可以存储程序,当存储器6001中存储的程序被处理器6002执行时,处理器6002和通信接口6003用于执行本申请实施例的数据处理方法的各个步骤。具体地,处理器6002可以执行上文中图14所示的方法中的步骤S1420
处理器6002可以采用通用的,CPU,微处理器,ASIC,GPU或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的数据处理装置中的单元所需执行的功能,或者执行本申请方法实施例如图6或图12所示的动态场景处理方法。
处理器6002还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请实施例的数据处理方法的各个步骤可以通过处理器6002中的硬件的集成逻辑电路或者软件形式的指令完成。
上述处理器6002还可以是通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器6001,处理器6002读取存储器6001中的信息,结合其硬件完成本申请实施例的数据处理装置中包括的单元所需执行的功能,或者执行本申请方法实施例的数据处理方法。
通信接口6003使用例如但不限于收发器一类的收发装置,来实现装置6000与其他设备或通信网络之间的通信。例如,可以通过通信接口6003获取动态场景的时域频谱数据。
总线6004可包括在装置6000各个部件(例如,存储器6001、处理器6002、通信接口6003)之间传送信息的通路。
应注意,尽管上述装置5000和装置6000仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,装置5000和装置6000还可以包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,装置5000和装置6000还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,装置5000和装置6000也可仅仅包括实现本申请实施例所必须的器件,而不必包括图17和图18中所示的全部器件。
应理解,本申请实施例中的处理器可以为中央处理单元(central processingunit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random accessmemory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (14)
1.一种动态场景处理方法,其特征在于,包括:
获取动态场景的时域频谱数据X(ω,x,y),其中,ω表示所述动态场景沿时间方向的频域维度,x和y表示所述动态场景的空间维度;
将所述时域频谱数据作为神经网络模型的输入,得到所述动态场景的处理结果。
2.根据权利要求1所述的方法,其特征在于,所述获取动态场景的时域频谱数据X(ω,x,y)包括:
将第一时域频谱数据作为频域通道选择模型的输入,得到频域权重向量,所述频域权重向量用于指示不同频域通道的权重;
根据所述频域权重向量和所述第一时域频谱数据,对所述第一时域频谱数据进行更新,以获得所述动态场景的时域频谱数据。
3.根据权利要求1所述的方法,其特征在于,通过时域频谱数据采集相机获取所述动态场景的时域频谱数据。
4.一种神经网络模型训练方法,其特征在于,包括:
获取训练数据,所述训练数据为动态场景的时域频谱数据X(ω,x,y),其中,ω表示所述动态场景沿时间方向的频域维度,x和y表示所述动态场景的空间维度;
通过所述训练数据,对待训练的神经网络模型进行训练。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
通过所述训练数据,对所述待训练的神经网络模型进行训练,得到第一损失函数;
根据约束项和所述训练数据,对频域通道选择模型进行训练,输出频域权重向量,其中,所述频域权重向量用于指示不同频域通道的权重,所述约束项包括所述第一损失函数;
根据所述频域权重向量和所述训练数据,对所述训练数据进行更新;
根据更新后的训练数据和所述频域权重向量,对所述待训练的神经网络模型进行训练,得到更新后的第一损失函数。
6.一种动态场景处理装置,其特征在于,所述装置包括获取单元和处理单元:
所述获取单元具体用于,获取动态场景的时域频谱数据X(ω,x,y),其中,ω表示所述动态场景沿时间方向的频域维度,x和y表示所述动态场景的空间维度;
所述处理单元具体用于,将所述时域频谱数据作为神经网络模型的输入,得到所述动态场景的处理结果。
7.根据权利要求6所述的装置,其特征在于,所述获取单元具体用于:
将第一时域频谱数据作为频域通道选择模型的输入,得到频域权重向量,所述频域权重向量用于指示不同频域通道的权重;
根据所述频域权重向量和所述第一时域频谱数据,对所述第一时域频谱数据进行更新,以获取所述动态场景的时域频谱数据。
8.根据权利要求6所述的装置,其特征在于,所述获取单元具体用于:通过时域频谱数据采集相机获取所述动态场景的时域频谱数据。
9.一种神经网络模型训练装置,其特征在于,所述装置包括获取单元和处理单元:
所述获取单元具体用于,获取训练数据,所述训练数据为动态场景的时域频谱数据X(ω,x,y),其中,ω表示所述动态场景沿时间方向的频域维度,x和y表示所述动态场景的空间维度;
所述处理单元具体用于,通过所述训练数据,对待训练的神经网络模型进行训练。
10.根据权利要求9所述的装置,其特征在于,所述处理单元还具体用于:
通过所述训练数据,对所述待训练的神经网络模型进行训练,得到第一损失函数;
根据约束项和所述训练数据,对频域通道选择模型进行训练,输出频域权重向量,其中,所述频域权重向量用于指示不同频域通道的权重,所述约束项包括所述第一损失函数;
根据所述频域权重向量和所述训练数据,对所述训练数据进行更新;
根据更新后的训练数据和所述频域权重向量,对所述待训练的神经网络模型进行训练,得到更新后的第一损失函数。
11.一种动态场景处理装置,其特征在于,包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于调用所述程序指令来执行权利要求1至3中任一项所述的方法。
12.一种神经网络模型训练装置,其特征在于,包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于调用所述程序指令来执行权利要求4至5中任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行如权利要求1至3或4至5中任一项所述的方法。
14.一种芯片,其特征在于,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,以执行如权利要求1至3或4至5中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210391409.5A CN116958190A (zh) | 2022-04-14 | 2022-04-14 | 动态场景处理方法、神经网络模型训练方法和装置 |
PCT/CN2023/086772 WO2023197938A1 (zh) | 2022-04-14 | 2023-04-07 | 动态场景处理方法、神经网络模型训练方法和装置 |
EP23787583.6A EP4394699A1 (en) | 2022-04-14 | 2023-04-07 | Dynamic scene processing method and apparatus, and neural network model training method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210391409.5A CN116958190A (zh) | 2022-04-14 | 2022-04-14 | 动态场景处理方法、神经网络模型训练方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116958190A true CN116958190A (zh) | 2023-10-27 |
Family
ID=88328940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210391409.5A Pending CN116958190A (zh) | 2022-04-14 | 2022-04-14 | 动态场景处理方法、神经网络模型训练方法和装置 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4394699A1 (zh) |
CN (1) | CN116958190A (zh) |
WO (1) | WO2023197938A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118471554B (zh) * | 2024-07-15 | 2024-09-10 | 吉林大学 | 一种身体数据采集系统及方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9443142B2 (en) * | 2014-07-24 | 2016-09-13 | Exelis, Inc. | Vision-based system for dynamic weather detection |
CN105512606B (zh) * | 2015-11-24 | 2018-12-21 | 北京航空航天大学 | 基于ar模型功率谱的动态场景分类方法及装置 |
CN111401270A (zh) * | 2020-03-19 | 2020-07-10 | 南京未艾信息科技有限公司 | 一种人体运动姿态识别评价方法及其系统 |
CN113205595B (zh) * | 2021-05-21 | 2022-03-29 | 华中科技大学 | 一种3d人体姿态估计模型的构建方法及其应用 |
-
2022
- 2022-04-14 CN CN202210391409.5A patent/CN116958190A/zh active Pending
-
2023
- 2023-04-07 WO PCT/CN2023/086772 patent/WO2023197938A1/zh active Application Filing
- 2023-04-07 EP EP23787583.6A patent/EP4394699A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2023197938A1 (zh) | 2023-10-19 |
EP4394699A1 (en) | 2024-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022083536A1 (zh) | 一种神经网络构建方法以及装置 | |
CN110378381B (zh) | 物体检测方法、装置和计算机存储介质 | |
US20220012533A1 (en) | Object Recognition Method and Apparatus | |
CN112446398B (zh) | 图像分类方法以及装置 | |
CN111667399B (zh) | 风格迁移模型的训练方法、视频风格迁移的方法以及装置 | |
WO2021238366A1 (zh) | 一种神经网络构建方法以及装置 | |
CN111402130B (zh) | 数据处理方法和数据处理装置 | |
US20230215159A1 (en) | Neural network model training method, image processing method, and apparatus | |
US20220215227A1 (en) | Neural Architecture Search Method, Image Processing Method And Apparatus, And Storage Medium | |
CN112183718B (zh) | 一种用于计算设备的深度学习训练方法和装置 | |
CN111507378A (zh) | 训练图像处理模型的方法和装置 | |
CN112990211B (zh) | 一种神经网络的训练方法、图像处理方法以及装置 | |
CN110222717B (zh) | 图像处理方法和装置 | |
CN113570029A (zh) | 获取神经网络模型的方法、图像处理方法及装置 | |
CN111797970B (zh) | 训练神经网络的方法和装置 | |
CN110222718B (zh) | 图像处理的方法及装置 | |
CN111368972A (zh) | 一种卷积层量化方法及其装置 | |
CN112862828B (zh) | 一种语义分割方法、模型训练方法及装置 | |
CN112258565B (zh) | 图像处理方法以及装置 | |
CN111401517A (zh) | 一种感知网络结构搜索方法及其装置 | |
CN113065575A (zh) | 一种图像处理方法及相关装置 | |
CN114091554A (zh) | 一种训练集处理方法和装置 | |
US20230401826A1 (en) | Perception network and data processing method | |
CN115018039A (zh) | 一种神经网络蒸馏方法、目标检测方法以及装置 | |
US20220222934A1 (en) | Neural network construction method and apparatus, and image processing method and apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |