CN110472531B - 视频处理方法、装置、电子设备及存储介质 - Google Patents

视频处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN110472531B
CN110472531B CN201910690174.8A CN201910690174A CN110472531B CN 110472531 B CN110472531 B CN 110472531B CN 201910690174 A CN201910690174 A CN 201910690174A CN 110472531 B CN110472531 B CN 110472531B
Authority
CN
China
Prior art keywords
video
time domain
video frame
module
characteristic data
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.)
Active
Application number
CN201910690174.8A
Other languages
English (en)
Other versions
CN110472531A (zh
Inventor
易阳
李峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910690174.8A priority Critical patent/CN110472531B/zh
Publication of CN110472531A publication Critical patent/CN110472531A/zh
Priority to EP20847097.1A priority patent/EP4006772A4/en
Priority to PCT/CN2020/093077 priority patent/WO2021017606A1/zh
Priority to US17/343,088 priority patent/US20210326597A1/en
Application granted granted Critical
Publication of CN110472531B publication Critical patent/CN110472531B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/251Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • G06V20/42Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items of sport video content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging

Abstract

本申请涉及计算机技术领域,公开了一种视频处理方法、装置、电子设备及存储介质,所述方法包括:获取包含运动目标的视频帧序列;将所述视频帧序列输入已训练的神经网络模型,得到表征所述运动目标以所述视频帧序列的时序而表现的运动状态特征;获得所述运动目标的运动状态特征与指定目标的运动状态特征的匹配结果。本申请实施例提供的技术方案,提高对视频中运动目标的识别准确率。

Description

视频处理方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种视频处理方法、装置、电子设备及存储介质。
背景技术
近年来,视频处理技术得到了快速的发展。其中,针对视频的处理与理解,由于其在动作识别、行人重识别等领域的广泛应用前景,也得到了大量研究者的关注。又随着深度学习的发展特别是卷积神经网络在计算机视觉中的大量应用并且在识别、检测等领域取得了令人惊喜的成果,基于卷积神经网络的视频行为识别得到了大量的研究。
现有的针对视频的处理与理解方法,通常是基于神经网络模型对一段视频中的每一帧图像分别进行特征提取,然后将各帧图像对应的特征输入预先训练的分类器,从而确定这一段视频中的运动目标所属的类别。由于上述方法中提取的特征是分别从各帧图像中获得的,因此,提取的特征无法体现运动目标在时间维度上的连续性关系,导致针对运动目标的识别准确率较低。
发明内容
本申请实施例提供一种视频处理方法、装置、电子设备及存储介质,以提高对视频中运动目标的识别准确率。
第一方面,本申请一实施例提供了一种视频处理方法,包括:
获取包含运动目标的视频帧序列;
将所述视频帧序列输入已训练的神经网络模型,得到表征所述运动目标以所述视频帧序列的时序而表现的运动状态特征;
获得所述运动目标的运动状态特征与指定目标的运动状态特征的匹配结果。
可选地,所述神经网络模型包括多个层级模块、至少一个多核时域处理模块,和平均池化层,且所述至少一个多核时域处理模块中的每个多核时域处理模块分别设置在所述多个层级模块中的两个相邻层级模块之间,所述平均池化层位于最后一个层级模块之后;
所述将所述视频帧序列输入已训练的神经网络模型,得到表征所述运动目标以所述视频帧序列的时序而表现的运动状态特征,具体包括:
各级层级模块分别从输入数据中逐级提取所述视频帧序列中各视频帧对应的第一特征数据并输出,每个第一特征数据中包含表征所述运动目标在所述视频帧中的空间特征,其中第一级层级模块的输入数据包括视频帧序列,其他各级层级模块的输入数据为位于其上一级的层级模块或者多核时域处理模块输出的数据;
所述多核时域处理模块,按照各视频帧的时间信息,对位于其上一级的层级模块输出的各视频帧对应的第一特征数据中位置相同的像素点在时间维度上进行卷积处理,分别得到对应的第二特征数据,每个第二特征数据中包含表征所述运动目标在时间维度上的时序特征;
所述平均池化层对最后一级层级模块输出的特征数据进行平均池化处理,得到所述运动目标的运动状态特征。
可选地,所述按照各视频帧的时间信息,对位于其上一级的层级模块输出的各视频帧对应的第一特征数据中位置相同的像素点在时间维度上进行卷积处理,分别得到对应的第二特征数据,具体包括:
按照各视频帧的时间信息,确定位于所述多核时域处理模块上一级的层级模块输出的所有视频帧对应的第一特征数据中位置相同的像素点在时间维度上对应的第一时域特征数据;
对每个第一时域特征数据进行卷积处理,得到对应的第二时域特征数据;
按照每个第二时域特征数据中各像素点在第一特征数据中对应的位置,确定所有第二时域特征数据中时间信息相同的像素点在空间维度上对应的第二特征数据。
可选地,所述对每个第一时域特征数据进行卷积处理,得到对应的第二时域特征数据,具体包括:
针对每个所述第一时域特征数据,分别用第一预设数量个卷积核大小不同的一维卷积层对所述第一时域特征数据进行卷积处理,得到第一预设数量个不同尺度的特征数据;
融合所述第一时域特征数据对应的第一预设数量个不同尺度的特征数据,得到所述第一时域特征数据对应的第二时域特征数据。
可选地,所述一维卷积层为一维Depthwise卷积层。
可选地,本申请实施例的视频处理方法还包括:
在确定所述第一时域特征数据之前,将各视频帧对应的第一特征数据的通道数目从第一数值降为第二数值;
在确定所述第二特征数据之后,将所述第二特征数据的通道数目还原为所述第一数值。
可选地,所述获取包含运动目标的视频帧序列,具体包括:
按待处理视频中视频帧的时序,从所述待处理视频中每间隔第二预设数量个视频帧抽取一个视频帧;
若抽取的视频帧的数量达到第三预设数量,将抽取的第三预设数量个视频帧确定为所述视频帧序列。
可选地,所述获得所述运动目标的运动状态特征与指定目标的运动状态特征的匹配结果,具体包括:
若所述运动目标的运动状态特征与指定目标的运动状态特征的相似度大于阈值,确定所述运动目标为所述指定目标;
或者,将所述运动目标的运动状态特征输入已训练的分类器,得到所述运动目标属于每个指定目标对应的动作类别的概率,所述分类器是根据所述指定目标的运动状态特征训练得到的。
可选地,通过以下方式训练所述神经网络模型:
获取视频样本集,每个视频样本包括标记有对应的类别标识的视频帧序列,所述类别标识用于表征所述视频帧序列中包含的运动目标对应的动作类别;
将所述视频样本集中的视频样本输入神经网络模型,得到表征所述运动目标以所述视频样本的时序而表现的运动状态特征;
将所述运动状态特征输入分类器,确定所述视频样本中包含的运动目标属于每个动作类别的预测概率;
根据所述预测概率和所述视频样本对应的类别标识,优化所述神经网络模型和分类器的权重参数。
可选地,所述神经网络模型包括多个层级模块、至少一个多核时域处理模块,和平均池化层,且所述至少一个多核时域处理模块中的每个多核时域处理模块分别设置在所述多个层级模块中的两个相邻层级模块之间,所述平均池化层位于最后一个层级模块之后;
所述将所述视频样本集中的视频样本输入神经网络模型,得到表征所述运动目标以所述视频样本的时序而表现的运动状态特征,具体包括:
各级层级模块分别从输入数据中逐级提取所述视频样本中各视频帧对应的第一特征数据并输出,每个第一特征数据中包含表征所述运动目标在所述视频帧中的空间特征,其中第一级层级模块的输入数据包括视频样本,其他各级层级模块的输入数据为位于其上一级的层级模块或者多核时域处理模块输出的数据;
所述多核时域处理模块,按照各视频帧的时间信息,对位于其上一级的层级模块输出的各视频帧对应的第一特征数据中位置相同的像素点在时间维度上进行卷积处理,分别得到对应的第二特征数据,每个第二特征数据中包含表征所述运动目标在时间维度上的时序特征;
所述平均池化层对最后一级层级模块输出的特征数据进行平均池化处理,得到所述视频样本中的运动目标的运动状态特征。
第二方面,本申请一实施例提供了一种神经网络模型,包括:多个层级模块、至少一个多核时域处理模块,和平均池化层,且所述至少一个多核时域处理模块中的每个多核时域处理模块分别设置在所述多个层级模块中的两个相邻层级模块之间,所述平均池化层位于最后一个层级模块之后;
各层级模块,用于分别从输入数据中逐级提取所述视频帧序列中各视频帧对应的第一特征数据并输出,每个第一特征数据中包含表征所述运动目标在所述视频帧中的空间特征,其中第一级层级模块的输入数据包括视频帧序列,其他各级层级模块的输入数据为位于其上一级的层级模块或者多核时域处理模块输出的数据;
所述多核时域处理模块,用于按照各视频帧的时间信息,对位于其上一级的层级模块输出的各视频帧对应的第一特征数据中位置相同的像素点在时间维度上进行卷积处理,分别得到对应的第二特征数据,每个第二特征数据中包含表征所述运动目标在时间维度上的时序特征;
所述平均池化层,用于对最后一级层级模块输出的特征数据进行平均池化处理,得到所述运动目标的运动状态特征。
可选地,所述多核时域处理模块包括:第一维度变换层、多核时域卷积层以及第二维度变换层;
所述第一维度变换层,用于按照各视频帧的时间信息,确定位于所述多核时域处理模块上一级的层级模块输出的所有视频帧对应的第一特征数据中位置相同的像素点在时间维度上对应的第一时域特征数据;
所述多核时域卷积层,用于针对每个像素点,对所述像素点对应的第一时域特征数据进行卷积处理,得到第二时域特征数据;
所述第二维度变换层,用于按照每个第二时域特征数据中各像素点在第一特征数据中对应的位置,确定所有第二时域特征数据中时间信息相同的像素点在空间维度上对应的第二特征数据。
第三方面,本申请一实施例提供了一种视频处理装置,包括:
获取模块,用于获取包含运动目标的视频帧序列;
特征提取模块,用于将所述视频帧序列输入已训练的神经网络模型,得到表征所述运动目标以所述视频帧序列的时序而表现的运动状态特征;
匹配模块,用于获得所述运动目标的运动状态特征与指定目标的运动状态特征的匹配结果。
可选地,所述神经网络模型包括多个层级模块、至少一个多核时域处理模块,和平均池化层,且所述至少一个多核时域处理模块中的每个多核时域处理模块分别设置在所述多个层级模块中的两个相邻层级模块之间,所述平均池化层位于最后一个层级模块之后;
所述特征提取模块,具体用于:
各级层级模块分别从输入数据中逐级提取所述视频帧序列中各视频帧对应的第一特征数据并输出,每个第一特征数据中包含表征所述运动目标在所述视频帧中的空间特征,其中第一级层级模块的输入数据包括视频帧序列,其他各级层级模块的输入数据为位于其上一级的层级模块或者多核时域处理模块输出的数据;
所述多核时域处理模块,按照各视频帧的时间信息,对位于其上一级的层级模块输出的各视频帧对应的第一特征数据中位置相同的像素点在时间维度上进行卷积处理,分别得到对应的第二特征数据,每个第二特征数据中包含表征所述运动目标在时间维度上的时序特征;
所述平均池化层对最后一级层级模块输出的特征数据进行平均池化处理,得到所述运动目标的运动状态特征。
可选地,所述特征提取模块,具体用于:
按照各视频帧的时间信息,确定位于所述多核时域处理模块上一级的层级模块输出的所有视频帧对应的第一特征数据中位置相同的像素点在时间维度上对应的第一时域特征数据;
对每个第一时域特征数据进行卷积处理,得到对应的第二时域特征数据;
按照每个第二时域特征数据中各像素点在第一特征数据中对应的位置,确定所有第二时域特征数据中时间信息相同的像素点在空间维度上对应的第二特征数据。
可选地,所述特征提取模块,具体用于:
针对每个所述第一时域特征数据,分别用第一预设数量个卷积核大小不同的一维卷积层对所述第一时域特征数据进行卷积处理,得到第一预设数量个不同尺度的特征数据;
融合所述第一时域特征数据对应的第一预设数量个不同尺度的特征数据,得到所述第一时域特征数据对应的第二时域特征数据。
可选地,所述一维卷积层为一维Depthwise卷积层。
可选地,所述特征提取模块,还用于:
在确定所述第一时域特征数据之前,将各视频帧对应的第一特征数据的通道数目从第一数值降为第二数值;
在确定所述第二特征数据之后,将所述第二特征数据的通道数目还原为所述第一数值。
可选地,所述获取模块,具体用于:
按待处理视频中视频帧的时序,从所述待处理视频中每间隔第二预设数量个视频帧抽取一个视频帧;
若抽取的视频帧的数量达到第三预设数量,将抽取的第三预设数量个视频帧确定为所述视频帧序列。
可选地,所述匹配模块,具体用于:
若所述运动目标的运动状态特征与指定目标的运动状态特征的相似度大于阈值,确定所述运动目标为所述指定目标;
或者,将所述运动目标的运动状态特征输入已训练的分类器,得到所述运动目标属于每个指定目标对应的动作类别的概率,所述分类器是根据所述指定目标的运动状态特征训练得到的。
可选地,本申请实施例的视频处理模块还包括训练模块,所述训练模块用于:
通过以下方式训练所述神经网络模型:
获取视频样本集,每个视频样本包括标记有对应的类别标识的视频帧序列,所述类别标识用于表征所述视频帧序列中包含的运动目标对应的动作类别;
将所述视频样本集中的视频样本输入神经网络模型,得到表征所述运动目标以所述视频样本的时序而表现的运动状态特征;
将所述运动状态特征输入分类器,确定所述视频样本中包含的运动目标属于每个动作类别的预测概率;
根据所述预测概率和所述视频样本对应的类别标识,优化所述神经网络模型和分类器的权重参数。
可选地,所述神经网络模型包括多个层级模块、至少一个多核时域处理模块,和平均池化层,且所述至少一个多核时域处理模块中的每个多核时域处理模块分别设置在所述多个层级模块中的两个相邻层级模块之间,所述平均池化层位于最后一个层级模块之后;
所述训练模块,具体用于:
各级层级模块分别从输入数据中逐级提取所述视频样本中各视频帧对应的第一特征数据并输出,每个第一特征数据中包含表征所述运动目标在所述视频帧中的空间特征,其中第一级层级模块的输入数据包括视频样本,其他各级层级模块的输入数据为位于其上一级的层级模块或者多核时域处理模块输出的数据;
所述多核时域处理模块,按照各视频帧的时间信息,对位于其上一级的层级模块输出的各视频帧对应的第一特征数据中位置相同的像素点在时间维度上进行卷积处理,分别得到对应的第二特征数据,每个第二特征数据中包含表征所述运动目标在时间维度上的时序特征;
所述平均池化层对最后一级层级模块输出的特征数据进行平均池化处理,得到所述视频样本中的运动目标的运动状态特征。
第四方面,本申请一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现上述任一种方法的步骤。
第五方面,本申请一实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一种方法的步骤。
本申请实施例提供的技术方案,可通过神经网络模型得到表征运动目标以视频帧序列的时序而表现的运动状态特征,该运动状态特征中既包含通过层级模块提取到的运动目标在各视频帧中的空间特征,还包含通过多核时域处理模块提取到的表征运动目标在时间维度上的时序特征,即能够从视频帧序列中获取到更加全面的特征信息,进而提高了针对运动目标的识别准确率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A为本申请实施例提供的视频处理方法的应用场景示意图;
图1B为本申请实施例提供的视频处理方法的应用场景示意图;
图1C为本申请实施例提供的视频处理方法的应用场景示意图;
图2为本申请实施例提供的神经网络模型的结构示意图;
图3A为本申请实施例提供的多核时域处理模块的结构示意图;
图3B为本申请实施例提供的多核时域处理模块的结构示意图;
图4为本申请实施例提供的第一维度变换层进行Reshape操作的示意图;
图5为本申请实施例提供的多核时域卷积层的结构示意图;
图6为本申请实施例提供的应用于动作识别场景的神经网络模型的结构示意图;
图7A为ResNet50网络的结构示意图;
图7B为本申请实施例提供的以ResNet50网络作为基础网络得到的神经网络模型的结构示意图;
图8A为本申请实施例提供的神经网络模型的训练流程;
图8B为本申请实施例提供的神经网络模型的训练流程;
图8C为本申请实施例提供的神经网络模型的训练流程;
图9为本申请实施例提供的视频处理方法的流程示意图;
图10为本申请实施例提供的视频处理方法的流程示意图;
图11为本申请实施例提供的视频处理方法的流程示意图;
图12为本申请实施例提供的视频处理方法的流程示意图;
图13为对神经网络模型得到的中间结果的可视化分析结果;
图14为本申请实施例提供的视频处理装置的结构示意图;
图15为本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
为了方便理解,下面对本申请实施例中涉及的名词进行解释:
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
计算机视觉技术(Computer Vision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
手语识别作为人体语言理解的一部分,有着非常重要的作用。一方面,它是虚拟现实人机交互的主要手段;另一方面它又是聋哑人利用计算机与正常人交流的辅助工具。每个手语是由一个手势序列组成,而每个手势是由手形变化序列组成。手语识别的主要任务是根据提取的待识别手语的特征,然后用分类器做分类,确定待识别手语的类别。根据手语输入介质的不同,手语识别系统可分为两种:基于摄象机(视觉)的手语识别系统和基于设备输入(如数据手套、铁笔、鼠标、位置跟踪器等)的手语识别系统。目前,手语识别方法主要有基于模板匹配,神经网络,HMM,DTW等方法。
行人重识别,也称行人再识别,是利用计算机视觉技术判断图像或者视频序列中是否存在特定行人的技术。给定一个监控行人图像,检索跨设备下的该行人图像。旨在弥补目前固定的摄像头的视觉局限,并可与行人识别/行人跟踪技术相结合,可广泛应用于智能视频监控、智能安保等领域。
多核时域处理模块(Multi-Kernel Temporal Block,MKTB),用于增强多个视频帧对应的特征图之间的时序特征。
Reshape,是一种可以重新调整矩阵的行数、列数、维数的函数。
Batch,是神经网络中的一个超参数,具体指神经网络每次处理的样本数量。
附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
在具体实践过程中,现有的针对视频的视频处理与理解方法,通常是基于神经网络模型对一段视频中的每一帧图像分别进行特征提取,然后将各帧图像对应的特征输入预先训练的分类器,从而确定这一段视频中的运动目标所属的类别。由于上述方法中提取的特征是分别从各帧图像中获得的,因此,提取的特征无法体现运动目标在时间维度上的连续性和相关性,导致针对运动目标的识别准确率较低。以手势识别为例,每一个代表具体含义的手势动作都是由一系列具有确定的时序关系且连续的动作构成的,识别一个手势需要获取到包含这一系列连续动作的视频帧序列,视频帧序列中的各个视频帧严格按照动作的时序排列,采用现有的方式分别对各个视频帧进行特征提取,得到的只是手部动作在某一时刻的空间特征,不同时刻的手部动作对应的特征相互独立,丧失了视频帧序列中包含的手部动作之间时序关系,因此,基于现有方法得到的手部特征忽略了手势动作在时间维度上的连续性和相关性,导致手势识别准确率较低。
为此,本申请的发明人对现有的神经网络的结构进行改进,在现有神经网络中增加了一个能够从视频帧序列中提取出表征运动目标在时间维度上的时序特征的多核时域处理模块,具体地,改进后的神经网络模型包括多个层级模块、至少一个多核时域处理模块,和平均池化层,且每个多核时域处理模块分别设置在多个层级模块中的两个相邻层级模块之间,平均池化层位于最后一个层级模块之后。其中,各级层级模块用于分别从输入数据中逐级提取视频帧序列中各视频帧对应的第一特征数据并输出,每个第一特征数据中包含表征该运动目标在视频帧中的空间特征,其中第一级层级模块的输入数据包括视频帧序列,其他各级层级模块的输入数据为位于其上一级的层级模块或者多核时域处理模块输出的数据;多核时域处理模块用于按照各视频帧的时间信息,对位于其上一级的层级模块输出的各视频帧对应的第一特征数据中位置相同的像素点在时间维度上进行卷积处理,分别得到对应的第二特征数据,每个第二特征数据中包含表征运动目标在时间维度上的时序特征;平均池化层用于对最后一级层级模块输出的特征数据进行平均池化处理,得到运动目标的运动状态特征。为此,将包含运动目标的视频帧序列输入上述神经网络模型后,可通过神经网络模型得到表征运动目标以视频帧序列的时序而表现的运动状态特征,该运动状态特征中既包含通过层级模块提取到的运动目标在各视频帧中的空间特征,又包含通过多核时域处理模块提取到的表征运动目标在时间维度上的时序特征,即基于上述神经网络模型,能够从视频帧序列中获取到更加全面的特征信息,进而提高了针对运动目标的识别准确率。
在介绍完本申请实施例的设计思想之后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
本申请实施例中的视频处理方法可以应用于动作识别的场景,比如手势识别场景、手语识别场景、动作交互场景、行为识别场景等。
下面以人机交互过程中的动作交互场景为例进行示例性说明,如图1A所示,该应用场景包括终端设备101和服务器102。上述终端设备101通过无线或有线网络与服务器102连接,终端设备101是具备采集图像功能的电子设备,比如智能手机、平板电脑、智能机器人、体感游戏设备以及VR(Virtual Reality,虚拟现实技术)设备等,服务器102是一台服务器或若干台服务器组成的服务器集群或云计算中心。
终端设备101采集包含用户的待处理视频,然后将采集的视频发送至服务器102。服务器102可以直接对接收的待处理视频中的用户进行动作识别,确定待处理视频中的用户执行的动作对应的动作类别,并根据存储的动作类别与响应数据的对应关系,确定识别到的动作类别对应的响应数据,将响应数据发送给终端设备101。终端设备101执行服务器返回的响应数据,该响应数据不限于文本数据、音频数据、图像数据、视频数据、语音播报或控制指令等,其中,控制指令包括但不限于:控制终端设备显示表情的指令、控制终端设备的动作部件运动的指令(如引领、导航、拍照、跳舞等)、在终端设备的屏幕上展示道具或特效的指令、控制智能家居的指令等。
图1A所示的应用场景还可以用于手语识别场景。终端设备101采集包含用户比划手语的待处理视频,然后将采集的视频发送至服务器102。服务器102可以直接对接收的待处理视频中的用户进行动作识别,确定待处理视频中的手语动作对应的手语类别,并根据存储的手语类别与语义数据的对应关系,确定识别到的手语类别对应的语义数据,将语义数据发送给终端设备101,该语义数据可以是文本数据或语音数据。终端设备101播放服务器返回的语义数据,使得其他用户能够获知该用户比划的手语对应的意思,使得语言障碍或听觉障碍人士能够无障碍地进行交流。
当然,上述服务器102执行的方法也可以在终端设备101执行。
如图1B所示,该应用场景包括多个终端设备111(包括终端设备111-1、终端设备111-2、……终端设备111-n)和服务器112。例如,当终端设备111-1、终端设备111-2、……终端设备111-n通过服务器112进行交互时,终端设备111-1采集包含用户1的待处理视频,然后将采集的视频发送至服务器112。服务器112可以直接对接收的待处理视频中的用户1进行动作识别,确定待处理视频中的用户1执行的动作对应的动作类别,并根据存储的动作类别与响应数据的对应关系,确定识别到的动作类别对应的响应数据,将响应数据发送给终端设备111-1以及与终端设备111-1进行交互的终端设备111-2、……终端设备111-n。接收到该响应数据的终端设备执行响应数据,该响应数据不限于文本数据、音频数据、图像数据、视频数据、展示道具或特效等。例如,在互联网直播场景下,直播间的主播执行指定动作,终端设备将采集的包含主播执行指定动作的待处理视频发送给服务器,服务器确定出待处理视频中的主播执行的指定动作对应的动作类别,并确定该动作类别对应的特效,然后将对应的特效添加到直播数据中,观众的终端设备从服务器拉取直播数据,并展示在终端设备上在直播画面上展示对应的特效。
本申请实施例中的视频处理方法还可以应用于识别、跟踪视频中的运动目标的场景,比如行人重识别场景、监控安防场景、智能交通场景以及军事目标识别场景等。本申请实施例主要是基于目标的运动状态特征(如人体姿态)进行目标识别、跟踪。
下面以行人重识别场景为例进行示例性说明,如图1C所示,该应用场景包括监控设备121、服务器122、终端设备123。上述服务器122通过无线网络与监控设备121以及终端设备123连接,监控设备121是具备采集图像功能的电子设备,比如摄像头、摄像机、录像机等,终端设备123是具备网络通信能力的电子设备,该电子设备可以是智能手机、平板电脑或便携式个人计算机等,服务器122是一台服务器或若干台服务器组成的服务器集群或云计算中心。
监控设备121实时采集待处理视频,然后将采集的待处理视频发送至服务器122。服务器122可以直接对接收的待处理视频中的行人进行识别,提取待处理视频中包含的各个行人的特征,将各个行人的特征与目标人物的特征进行比对,确定待处理视频中是否包含目标人物。服务器122在识别到目标人物后,对待处理视频中的目标人物进行标记,然后将标记了目标对象的待处理视频发送至终端设备123,终端设备123上可以播放标记了目标人物的待处理视频,以便相关人员对视频中的目标人物进行跟踪和分析。
当然,上述服务器122执行的方法也可以在终端设备123执行。上述待处理视频也可以是监控设备121预先录制的视频。
当然,本申请实施例提供的方法并不限用于图1A、图1B、图1C所示的应用场景中,还可以用于其它可能的应用场景,本申请实施例并不进行限制。对于图1A、图1B、图1C所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。
请参见图2,为本申请实施例提供的用于视频处理的神经网络模型的示意图。其中,图2所示的神经网络模型包括:多个层级模块,至少一个多核时域处理模块,和平均池化层(mean-pooling),且至少一个多核时域处理模块中的每个多核时域处理模块分别设置在多个层级模块中的两个相邻层级模块之间,平均池化层位于最后一个层级模块之后。
图2中的各级层级模块分别从输入数据中逐级提取视频帧序列中各视频帧对应的第一特征数据并输出,每个第一特征数据中包含表征运动目标在视频帧中的空间特征。
具体地,第一级层级模块的输入数据包括视频帧序列,第一级层级模块从输入的视频帧序列中提取各视频帧对应的第一特征数据并输出。除第一级层级以外的其他各级层级模块的输入数据为位于其上一级的层级模块输出的第一特征数据或者多核时域处理模块输出的第二特征数据。参考图2,第一级层级模块从输入的视频帧序列中提取各视频帧对应的第一特征数据P1并输出,第二级层级模块对第一多核时域处理模块输出的第二特征数据Q1进行处理,得到第一特征数据P2并输出,第三级层级模块对第二多核时域处理模块输出的第二特征数据Q2进行处理,得到第一特征数据P3并输出,第四级层级模块对第一特征数据P3进行处理,得到第一特征数据P4并输出。
需要说明的是,本申请实施例将各层级模块输出的特征数据统称为第一特征数据,将各多核时域处理模块输出的特征数据统称为第二特征数据。
具体实施时,多个层级模块的结构可以相同,也可以不同。单个层级模块中可以仅包含一个网络层,例如,单个层级模中仅包含一个卷积层;单个层级模块中也可以包括多个相同或不同的网络层,例如,单个层级模块中包含卷积层和最大池化层,或者单个层级模块中包含多个不同的卷积层。
图2所述的神经网络模型仅为一个示例,实际应用中,各个层级模块的结构、神经网络模型包含的层级模块的数量、多核时域处理模块的数量以及位置均可根据实际需求设定,本申请实施例不作限定。
具体实施时,输入神经网络模型的视频帧序列可以是一段连续的视频,也可以是从一段视频中截取的、不连续的多个视频帧按照时序排列后得到的图像序列。视频帧序列本质上是一个四维矩阵(B×T,C,H,W),其中,B为批处理数目(Batch),即神经网络模型可一次处理完的视频帧序列的数量,T为帧序列长度,即一个视频帧序列中包含的视频帧的数量,C为图像的通道数,H为图像的高,W为图像的宽,此时所指的图像为视频帧。以批处理数目B=2,帧序列长度T=8,RGB通道数C=3,高H=224,宽W=224的输入信息为例,即输入神经网络模型的视频帧序列为一个四维矩阵(2×8,3,224,224)。如果同一时间内,神经网络模型只处理一个视频帧序列,则B可以设置为1,即该神经网络模型一次可处理一个视频帧序列中的T个视频帧。
本申请实施例中,每个视频帧对应的第一特征数据包括多个二维图片(即二维矩阵(H,W)),每一个二维图片即为一个特征图(feature map),第一特征数据包含的特征图数量等于对应的通道数。例如,第一层级模块输出的数据的维度为(16,64,112,112),则一帧视频帧对应的第一特征数据包含的特征图的数量为64,每个特征图的大小为112×112。需要说明的是,相同模块输出的每个视频帧对应的第一特征数据的维度、大小均相同。同样,每个视频帧对应的第二特征数据也包括多个特征图。
图2中的多核时域处理模块的输入数据为位于其上一级的层级模块输出的各视频帧对应的第一特征数据,多核时域处理模块按照各视频帧的时间信息,对输入的各视频帧对应的第一特征数据中位置相同的像素点在时间维度上进行卷积处理,分别得到对应的第二特征数据,每个第二特征数据中包含表征运动目标在时间维度上的时序特征。
具体地,参考图3A,一个多核时域处理模块至少包括:第一维度变换层、多核时域卷积层以及第二维度变换层。其中,第一维度变换层用于按照各视频帧的时间信息,确定位于多核时域处理模块上一级的层级模块输出的所有视频帧对应的第一特征数据中位置相同的像素点在时间维度上对应的第一时域特征数据。多核时域卷积层用于针对每个像素点,对该像素点对应的第一时域特征数据进行卷积处理,得到第二时域特征数据。第二维度变换层,用于按照每个第二时域特征数据中各像素点在第一特征数据中对应的位置,确定所有第二时域特征数据中时间信息相同的像素点在空间维度上对应的第二特征数据。
具体实施时,参考图4,第一维度变换层可采用针对矩阵的Reshape操作,实现对上一级的层级模块输出的特征数据(B×T,C,H,W)的维度转换,即将特征数据(B×T,C,H,W)中的空间维度(H,W)合并到Batch批处理维度上,将时间维度T单独分离出来,得到三维矩阵(B×H×W,C,T),第一时域特征数据由各视频帧对应的第一特征数据(C,H,W)中H相同、W相同、C相同的像素点按照时间顺序排列而成,每个第一时域特征数据中包含T个数据,第一时域特征数据为由这T个数据组成的一维向量。示例性地,当B=1,T=8,C=64,H=56,W=56时,Reshape操作后可得到1×56×56×64个第一时域特征数据,每个第一时域特征数据包含8个数据。
具体实施时,第二维度变换层同样可采用Reshape操作,对多核时域卷积层输出的所有第二时域特征数据进行维度转换,多核时域卷积层输出的是一个维度为(B×H×W,C,T)的三维矩阵,采用Reshape操作,将这个三维矩阵的时间维度T合并到批处理维度B上,将空间维度(H,W)单独分离出来,得到维度为(B×T,C,H,W)的四维矩阵,其中,(C,H,W)即为个视频帧对应的第二特征数据。
具体实施时,通过多核时域卷积层对第一维度变换层输出的每个第一时域特征数据进行卷积处理,得到对应的第二时域特征数据。进一步地,多核时域卷积层包含第一预设数量个卷积核大小不同的一维卷积层,针对第一维度变换层输出的每个第一时域特征数据,分别用这第一预设数量个一维卷积层对第一时域特征数据进行卷积处理,得到每个第一时域特征数据对应的第一预设数量个不同尺度的特征数据,然后,融合第一预设数量个不同尺度的特征数据,得到每个第一时域特征数据对应的第二时域特征数据。具体融合的方式可以是,将第一预设数量个不同尺度的特征数据相加,得到每个第一时域特征数据对应的第二时域特征数据。通过设置多个卷积核大小不同的一维卷积层,可从同一第一时域特征数据中提取出不同尺度的时序特征,融合这多个不同尺度的时序特征,得到第二时域特征数据,较好保留了运动目标的时序特征。
进一步地,多核时域卷积层中的一维卷积层可以是一维Depthwise卷积层,一维Depthwise卷积层可有效降低计算量,提高多核时域卷积层的处理效率。
以图5所示的多核时域卷积层为例,该多核时域卷积层包括4个卷积核大小不同的一维Depthwise卷积层,卷积核分别为k=1,k=3,k=5,k=7,分别用这4个一维Depthwise卷积层对第一时域特征数据进行卷积处理,得到第一时域特征数据对应的4个不同尺度的特征数据,然后,将4个不同尺度的特征数据相加,得到该第一时域特征数据对应的第二时域特征数据。
具体实施时,还可以采用空洞卷积(Dilated convolution)等其它的卷积方式对第一维度变换层输出的每个第一时域特征数据进行卷积处理,得到对应的第二时域特征数据。
具体地,参考图3B,多核时域处理模块还可以包括:第一卷积层和第二卷积层。其中,第一卷积层位于第一维度变换层之前,第一卷积层的输入数据为位于该多核时域处理模块上一级的层级模块输出的数据(B×T,C1,H,W),通过第一卷积层对(B×T,C1,H,W)进行卷积处理,得到(B×T,C2,H,W),以将各视频帧对应的第一特征数据的通道数目从第一数值C1降为第二数值C2,这样可以降低多核时域处理模块处理的数据量,提高处理效率。其中,C2的取值可根据C1的值确定,例如,C2=C1/4或C2=C1/8,实际应用中,C1和C2的关系可根据实际需求确定,本申请实施例不作限定。第二卷积层位于第二维度变换层之后,第二卷积层的输入数据为第二维度变换层输出的第二特征数据组成的矩阵(B×T,C2,H,W),通过第二卷积层对(B×T,C2,H,W)进行卷积处理,得到(B×T,C1,H,W),以将第二特征数据的通道数目还原为第一数值C1,保证多核时域处理模块的输入数据和输出数据的维度和尺寸均相同,因此,多核时域处理模块可以很容易地部署神经网络模型中的任意位置。
图2中的平均池化层用于对最后一级层级模块输出的特征数据进行平均池化处理,得到运动目标的运动状态特征。例如,最后一级层级模块的输出数据为一个维度为(B×T,C′,H′,W′)的四维矩阵,则对该四维矩阵进行平均池化层的处理,以减少特征数据中包含的参数数量,最终得到一个维度为(B×T,C′)的二维矩阵,即运动目标的运动状态特征。其中,C′为特征图的通道数,H为特征图的高,W为特征图的宽。
通过图2所示的神经网络模型中的各级层级模块逐级提取视频帧序列中各视频帧对应的第一特征数据,以获取表征运动目标在视频帧中的空间特征,在此过程中,通过层级模块之间的多核时域处理模块提取表征运动目标在时间维度上的时序特征,最终得到包含空间特征和时序特征的运动状态特征。因此,基于上述神经网络模型,能够从视频帧序列中获取到更加全面的特征信息,进而提高了针对运动目标的识别准确率。
上述神经网络模型可应用于多种场景,通过神经网络模型提取视频中的运动目标的运动状态特征,进而基于提取的动状态特征,获得运动目标与指定目标的匹配结果,以确定视频是否包含指定目标,其中,指定目标可以是人、动物或者肢体部位(如手、脚等)等。为此,针对不同的应用场景,可在上述神经网络模型后增加针对动状态特征的分类模块,以直接输出与指定目标的匹配结果,实现端到端的视频处理系统。
下面以图1A、图1B所示的应用场景为例,本申请实施例还提供了一种应用于动作识别场景的神经网络模型,参考图6,该应用于动作识别场景的神经网络模型具体包括:多个层级模块,一个或多个多核时域处理模块,平均池化层以及分类模块。其中,层级模块、多核时域处理模块以及平均池化层的功能以及布局方式,可参考图2所示的神经网络模型中对应的模块,不再赘述。分类模块位于平均池化层之后,分类模块用于对平均池化层输出的动状态特征进行分类,确定运动目标属于每个指定目标对应的动作类别的概率。具体地,分类模块可以是全连接层(Fully Connected layer,FC)、Softmax层等。
实际应用中,可以将现有的任何一种可对图像进行处理的神经网络作为基础网络,在基础网络中插入一个或多个多核时域处理模块,从而得到能够提取视频帧序列中运动目标的运动状态特征的神经网络模型。可用的基础网络包括但不限于:残差网络(Residual Network,ResNet)卷积神经网络(Convolutional Neural Networks,CNN)或者VGG模型(Visual Geometry Group Network)。
下面以ResNet50网络为例,介绍一下以ResNet50网络作为基础网络得到的神经网络模型。
参考图7A,ResNet50网络包括第一卷积模块、最大池化层(max-pooling)、4个残差模块、第一平均层池化层、全连接层和第二平均池化层,其中,每个残差层中包含至少一个卷积层。
示例性地,图7B为以ResNet50网络作为基础网络得到的神经网络模型。实际应用中,多核时域处理模块插入的位置以及数量不限于图7B所示的方式。
图7B中,第一卷积模块包括ResNet50网络的第一个卷积层以及紧随其后的BN(Batch Normalization)层和ReLU(Rectified Linear Unit,修正线性单元)层。第一卷积模块的输入数据为视频帧序列,该视频帧序列表示为一个四维矩阵,例如(8,3,224,224),其中,第一个维度上的8是指帧序列长度,第二个维度上的3是指RGB三个通道数,第三个维度上的224为单个视频帧的高,第四个维度上的224为单个视频帧的宽。
最大池化层表示ResNet50的第一个最大池化层,经过该最大池化层后,第一卷积模块输出的特征图的空间尺寸(即高和宽)会降为输入前的一半。
4个残差模块用于对最大池化层输出的数据进行逐级的卷积处理,以提取出视频帧序列中运动目标的空间特征。
第一平均层池化层作用与空间维度,对第四残差模块输出的数据在空间维度上进行平均池化处理。
第一平均层池化层作用于时间维度,对全连接层输出的数据在空间维度上进行平均池化处理。
图7B所示的ResNet50网络中的各网络层以及各模块对应的结构、参数以及处理流程均保持不变。
以批处理数目B=2,帧序列长度T=8,RGB通道数C=3,高H=224,宽W=224的输入信息为例,即输入神经网络模型的视频帧序列为一个四维矩阵(2×8,3,224,224)。
第一卷积模块、最大池化层(max-pooling)、4个残差模块、第一平均层池化层、全连接层和第二平均池化层。
经过第一个卷积层处理后输出维度为(16,64,112,112)的矩阵数据。
经过最大池化层处理后输出维度为(16,64,56,56)的矩阵数据。
经过第一残差模块处理后输出维度为(16,256,56,56)的矩阵数据。
经过第一多核时域处理模块处理后输出维度为(16,256,56,56)的矩阵数据。
经过第二残差模块处理后输出维度为(16,512,28,28)的矩阵数据。
经过第二多核时域处理模块处理后输出维度为(16,512,28,28)的矩阵数据。
经过第三残差模块处理后输出维度为(16,1024,14,14)的矩阵数据。
经过第三多核时域处理模块处理后输出维度为(16,1024,14,14)的矩阵数据。
经过第三残差模块处理后输出维度为(16,2048,7,7)的矩阵数据。
经过第一平均层池化层处理后输出维度为(16,2048)的矩阵数据。
经过全连接层处理后输出维度为(16,249)的矩阵数据,其中249为预先设定的动作类别的总数,全连接层输出的数据为各视频帧属于每个动作类别的概率,即分类结果。
此处,在将全连接层输出的数据输入第二平均池化层之前,还需要对全连接层输出的数据进行Reshape操作,得到维度为(2,8,249)的矩阵数据,此处的Reshape操作是为了从batch维度中分离出时间维度T,以便利用第二平均池化层在时间维度上对各视频帧的分类结果进行处理,得到每个视频帧序列属于每个动作类别的概率。然后,再经过第二平均池化层处理后输出维度为(2,249)的矩阵数据,得到最终的分类结果,即每个视频帧序列属于每个动作类别的概率。其中,批处理数目为2,也就是当前处理的是两个独立的视频帧序列S1和视频帧序列S2,第二平均池化层输出的结果包括视频帧序列S1对应249个动作类别的概率,以及视频帧序列S2对应249个动作类别的概率。
本申请实施例的神经网络模型,在数据处理过程中,充分利用了神经网络输入数据中的batch维度,方便地实现了矩阵数据在时间维度和空间维度之间的切换,通过将视频帧序列对应的矩阵数据中的时间维度T合并到Batch批处理维度B上,得到(B×T,C,H,W),从而能够在空间维度上对各个视频帧进行卷积处理,提取各视频帧中的空间特征;通过将视频帧序列对应的矩阵数据中的空间维度(H,W)合并到Batch批处理维度B上,将时间维度T单独分离出来,得到三维矩阵(B×H×W,C,T),从而能够在时间维度上对多个视频帧进行卷积处理,提取多个视频帧中的时序特征,最终得到包含空间特征和时序特征的运动状态特征。
如图8A所示,为神经网络模型的训练流程示意图,具体包括如下步骤:
S801、获取视频样本集。
上述步骤中的视频样本集中的每个视频样本包括标记有对应的类别标识的视频帧序列,类别标识用于表征视频帧序列中包含的运动目标对应的动作类别。
具体实施时,视频样本集中的视频帧序列可以是一段连续的、包含第三预设数量个视频帧的视频。
具体实施时,视频样本集中的视频帧序列也可以是从一段视频中截取的、不连续的多个视频帧按照时序排列后得到的图像序列,具体地,可按视频的时序,从视频中每间隔第二预设数量个视频帧抽取一个视频帧,若抽取的视频帧的数量达到第三预设数量,将抽取的第三预设数量个视频帧确定为所述视频帧序列。其中,第三预设数量根据神经网络模型对输入数据的要求确定,即第三预设数量等于T。第二预设数量可根据包含一个完整动作的视频的长度以及第三预设数量确定,例如,一个动作对应的视频包含100帧,第三预设数量为8,则可从视频中的第1帧开始,每隔14帧抽取一个视频帧,最终得到第1、15、29、43、57、71、85、99帧组成的视频帧序列。
获取视频样本集之后,可以存储于数据库中,在训练时则可以直接从数据库中读取。
S802、将视频样本集中的视频样本输入神经网络模型,得到表征运动目标以视频样本的时序而表现的运动状态特征。
上述步骤中的神经网络模型可以是本申请实施例提供的任一不包含分类模块的神经网络模型。
以图2所示的神经网络模型为例,神经网络中的各级层级模块分别从输入数据中逐级提取视频样本中各视频帧对应的第一特征数据并输出,其中第一级层级模块的输入数据包括视频样本,其他各级层级模块的输入数据为位于其上一级的层级模块或者多核时域处理模块输出的数据。多核时域处理模块,按照各视频帧的时间信息,对位于其上一级的层级模块输出的各视频帧对应的第一特征数据中位置相同的像素点在时间维度上进行卷积处理,分别得到对应的第二特征数据,每个第二特征数据中包含表征运动目标在时间维度上的时序特征。平均池化层对最后一级层级模块输出的特征数据进行平均池化处理,得到视频样本中的运动目标的运动状态特征。
S803、将神经网络模型输入的运动状态特征输入分类器,确定视频样本中包含的运动目标属于每个动作类别的预测概率。
分类器的结构可参考之前的分类模型,不再赘述。
S804、根据预测概率和视频样本对应的类别标识,优化神经网络模型和分类器的权重参数。
S805、判断优化后的神经网络模型是否达到训练要求;若是,则执行步骤S806、结束训练,否则返回步骤S802。
具体地,通过损失函数(如交叉熵损失)计算预测概率和视频样本对应的类别标识之间的差异度,然后通过反向传播(Backpropagation,BP)、梯度下降(Gradient Descent,GD)或者随机梯度下降(Stochastic Gradient Descent,SGD)等优化算法更新神经网络模型和分类器中的权重参数。循环执行上述步骤S802-步骤S804,直到基于神经网络模型和分类器得到的视频样本对应的预设概率与视频样本对应的类别标识一致的概率达到期望值,则表示已获得符合要求的神经网络模型,可结束训练。
通过图8A所示的方法训练的神经网络模型能够从视频帧序列中提取出运动目标的运动状态特征。
如图8B所示,为神经网络模型的训练流程示意图,其中,与图8A中相同的步骤不再赘述。图8B所示的训练方法具体包括如下步骤:
S811、获取视频样本集。
上述步骤中的视频样本集中的每个视频样本包括标记有对应的类别标识的视频帧序列,类别标识用于表征视频帧序列中包含的运动目标对应的动作类别。
S812、将视频样本集中的视频样本输入神经网络模型,得到视频样本中包含的运动目标属于每个动作类别的预测概率。
上述步骤中的神经网络模型可以是本申请实施例提供的包含分类模块的神经网络模型。
以图6所示的神经网络模型为例,神经网络中的各级层级模块分别从输入数据中逐级提取视频样本中各视频帧对应的第一特征数据并输出,其中第一级层级模块的输入数据包括视频样本,其他各级层级模块的输入数据为位于其上一级的层级模块或者多核时域处理模块输出的数据。多核时域处理模块,按照各视频帧的时间信息,对位于其上一级的层级模块输出的各视频帧对应的第一特征数据中位置相同的像素点在时间维度上进行卷积处理,分别得到对应的第二特征数据,每个第二特征数据中包含表征运动目标在时间维度上的时序特征。平均池化层对最后一级层级模块输出的特征数据进行平均池化处理,得到视频样本中的运动目标的运动状态特征。分类模块对平均池化层输出的动状态特征进行分类,确定运动目标属于每个动作类别的预测概率。
S813、根据预测概率和视频样本对应的类别标识,优化神经网络模型的权重参数。
S814、判断优化后的神经网络模型是否达到训练要求,若是,则执行步骤S815,否则返回步骤S812。
S815、结束训练。
通过图8B所示的方法训练的神经网络模型能够识别视频帧序列中运动目标对应的动作类别。
如图8C所示,为神经网络模型的训练流程示意图,其中,与图8A中相同的步骤不再赘述。图8C所示的训练方法具体包括如下步骤:
S821、获取视频样本集,该视频样本集中的视频样本为包含三个视频帧序列。
上述步骤中,视频样本集中的一个视频样本为一个包括三个视频帧序列的三元组(S1,S2,S3),其中,视频帧序列S1和S2为正样本,即视频帧序列S1和S2中的运动目标具有相同的运动状态特征;视频帧序列S3为负样本,视频帧序列S3中运动目标的运动状态特征与其它两个视频帧序列中的运动目标的运动状态特征均不同。例如,针对动作识别场景,视频帧序列S1和S2中的运动目标执行相同的动作,而视频帧序列S3中的运动目标执行的动作与前两个视频帧序列不同;针对行人重识别场景,视频帧序列S1和S2中的运动目标为同一行人,而视频帧序列S3中的运动目标与前两个视频帧序列中的运动目标不是同一行人。
S822、将视频样本集中的视频样本输入神经网络模型,得到视频样本中的三个视频帧序列分别对应的运动状态特征。
上述步骤中的神经网络模型可以是本申请实施例提供的任一不包含分类模块的神经网络模型。
S823、针对视频帧序列中的每个视频帧序列,分别计算这个视频帧序列对应的运动状态特征与另外两个视频帧序列对应的运动状态特征之间的距离值。
本步骤中,针对三元组(S1,S2,S3),需计算S1对应的运动状态特征和S2对应的运动状态特征之间的距离值d1,S1对应的运动状态特征和S3对应的运动状态特征之间的距离值d2,以及S2对应的运动状态特征和S3对应的运动状态特征之间的距离值d3。具体地,可采用欧式距离算法计算两个运行状态特征之间的距离值。两个运动状态特征之间的距离值越小,表明这两个运动状态特征的相似度越高,即两个运动状态特征对应的运动目标执行相同动作或者是同一个行人的概率越高。
S824、根据视频样本对应的三个距离值,优化神经网络模型的权重参数。
具体地,可采用批量随机梯度下降的方式更新神经网络模型的权重参数,以最小化三元组中S1和S2对应的运动状态特征之间的距离值d1,最大化距离值d2和d3。具体优化过程为现有技术,不再赘述。
S825、判断优化后的神经网络模型是否达到训练要求,若是,则执行步骤S826,否则返回步骤S822。
S826、结束训练。
循环执行上述步骤S822-步骤S825,直到三元组中正样本对应的运动状态特征之间的距离值小于第一数值,三元组中正样本和负样本对应的运动状态特征之间的距离值大于第二数值,其中,第一数值和第二数据根据模型精度要求确定。
具体地,还可以通过改进三元组以及四元组的方法训练上述神经网络模型,具体过程不再赘述。
通过图8C所示的方法训练的神经网络模型能够从视频帧序列中提取出运动目标的运动状态特征。
具体实施时,针对上述任一种训练方法,还可以将视频样本集划分为训练集、验证集和测试集,其中,测试集与训练集之间不存在交集,且测试集与验证集之间也不存在交集。先利用训练集训练神经网络模型,优化神经网络模型的权重参数,训练完神经网络模型后,再用验证集对神经网络模型进行测试,验证神经网络模型的输出结果是否准确,若输出结果的准确率不符合要求,则需要用训练集继续对神经网络模型进行训练,若输出结果的准确率达到要求,则用没有经过训练的测试集验证测试模型的准确率,若通过测试,表示完成神经网络的训练。
针对不同的应用场景,可使用不同的视频样本集,得到应用于不同应用场景的神经网络模型。实际应用过程中,可利用现有的样本集合训练神经网络模型,例如,利用IsoGD或Jester等手语数据集,训练得到能够识别手语的神经网络模型,利用UCF101或HMDB51等动作行为识别数据集,训练得到能够识别人体动作的神经网络模型,利用MSRC-12 KinectGesture Dataset等手势识别数据集,训练得到应用于手势识别场景的神经网络模型,利用Human3.6M等人体姿态估计的数据集,训练得到应用于人体姿态估计的神经网络模型,利用MARS等行人重识别数据集,训练得到应用于行人重识别场景的神经网络模型。
在模型训练完成之后,则可以将神经网络模型应用于视频处理中,请参见图9,为本申请实施例提供的视频处理方法的流程示意图,该方法例如可以通过图1A、1B、1C中所示的服务器来执行,当然,也可以通过终端设备执行。下面对视频处理方法的流程进行介绍,其中,对于一些步骤是与模型介绍部分的内容以及训练过程中的对应步骤是相同的,因此对于这些步骤仅进行了简单介绍,具体的可以参见上述模型介绍以及训练方法中相应部分的描述。
S901、获取包含运动目标的视频帧序列。
具体实施时,可通过如下方式获取包含运动目标的视频帧序列:按待处理视频中视频帧的时序,从待处理视频中每间隔第二预设数量个视频帧抽取一个视频帧;若抽取的视频帧的数量达到第三预设数量,将抽取的第三预设数量个视频帧确定为视频帧序列。
例如,第二预设数量为14,第三预设数量为8,则可从待处理视频中的第1帧开始,每隔14帧抽取一个视频帧,最终得到第1、15、29、43、57、71、85、99帧组成的第一个视频帧序列。可继续每间隔14帧抽取一个视频帧,得到第二个视频帧序列。
S902、将视频帧序列输入已训练的神经网络模型,得到表征运动目标以视频帧序列的时序而表现的运动状态特征。
S903、获得运动目标的运动状态特征与指定目标的运动状态特征的匹配结果。
本申请实施例中,指定目标根据应用场景确定,例如,应用场景为手语识别,则指定目标为手,应用场景为行人重识别,则指定目标为人。
具体实施时,步骤S902具体包括以下步骤:神经网络模型中的各级层级模块分别从输入数据中逐级提取视频帧序列中各视频帧对应的第一特征数据并输出,每个第一特征数据中包含表征运动目标在视频帧中的空间特征,其中第一级层级模块的输入数据包括视频帧序列,其他各级层级模块的输入数据为位于其上一级的层级模块或者多核时域处理模块输出的数据;多核时域处理模块,按照各视频帧的时间信息,对位于其上一级的层级模块输出的各视频帧对应的第一特征数据中位置相同的像素点在时间维度上进行卷积处理,分别得到对应的第二特征数据,每个第二特征数据中包含表征运动目标在时间维度上的时序特征;平均池化层对最后一级层级模块输出的特征数据进行平均池化处理,得到运动目标的运动状态特征。
参考图10,以图2所示的神经网络模型为例,步骤S902具体包括以下步骤:
S1001、第一级层级模块从输入的视频帧序列中提取各视频帧对应的第一特征数据P1并输出。
S1002、第一多核时域处理模块按照各视频帧的时间信息,对第一级层级模块输出的各视频帧对应的第一特征数据P1中位置相同的像素点在时间维度上进行卷积处理,分别得到对应的第二特征数据Q1
S1003、第二级层级模块从第一多核时域处理模块输出的第二特征数据Q1中提取各视频帧对应的第一特征数据P2并输出。
S1004、第二多核时域处理模块按照各视频帧的时间信息,对第二级层级模块输出的各视频帧对应的第一特征数据P2中位置相同的像素点在时间维度上进行卷积处理,分别得到对应的第二特征数据Q2
S1005、第三级层级模块从第二多核时域处理模块输出的第二特征数据Q2中提取各视频帧对应的第一特征数据P3并输出。
S1006、第四级层级模块从第三级层级模块输出的第一特征数据P3中提取各视频帧对应的第一特征数据P4并输出。
S1007、平均池化层对第四级层级模块输出的第一特征数据P4进行平均池化处理,得到运动目标的运动状态特征。
作为一种可能的实施方式,以图3A所示的多核时域处理模块为例,参考图11,步骤S1002具体包括:
S1101、按照各视频帧的时间信息,确定位于第一多核时域处理模块上一级的第一级层级模块输出的所有视频帧对应的第一特征数据P1中位置相同的像素点在时间维度上对应的第一时域特征数据。
上述步骤S1101可通过多核时域处理模块中的第一维度变换层实现。
S1102、对每个第一时域特征数据进行卷积处理,得到对应的第二时域特征数据。
上述步骤S1101可通过多核时域处理模块中的多核时域卷积层实现。
S1103、按照每个第二时域特征数据中各像素点在第一特征数据P1中对应的位置,确定所有第二时域特征数据中时间信息相同的像素点在空间维度上对应的第二特征数据Q1
上述步骤S1103可通过多核时域处理模块中的第二维度变换层实现。
上述步骤S1004的具体实施方式与步骤S1002类似,不再赘述。
作为一种可能的实施方式,以图3B所示的多核时域处理模块为例,参考图12,步骤S1002具体包括:
S1201、将第一级层级模块输出的各视频帧对应的第一特征数据P1的通道数目从第一数值降为第二数值。
上述步骤S1201可通过多核时域处理模块中的第一卷积层实现。
S1202、按照各视频帧的时间信息,确定所有视频帧对应的第一特征数据P1中位置相同的像素点在时间维度上对应的第一时域特征数据。
上述步骤S1202可通过多核时域处理模块中的第一维度变换层实现。
S1203、对每个第一时域特征数据进行卷积处理,得到对应的第二时域特征数据。
上述步骤S1203可通过多核时域处理模块中的多核时域卷积层实现。
S1204、按照每个第二时域特征数据中各像素点在第一特征数据P1中对应的位置,确定所有第二时域特征数据中时间信息相同的像素点在空间维度上对应的第二特征数据Q1
上述步骤S1204可通过多核时域处理模块中的第二维度变换层实现。
S1205、将第二特征数据Q1的通道数目还原为第一数值。
上述步骤S1205可通过多核时域处理模块中的第二卷积层实现。
上述步骤S1004的具体实施方式与步骤S1002类似,不再赘述。
在上述任一实施例的基础上,可通过如下方式对每个第一时域特征数据进行卷积处理,具体包括如下步骤:针对每个第一时域特征数据,分别用第一预设数量个卷积核大小不同的一维卷积层对第一时域特征数据进行卷积处理,得到第一预设数量个不同尺度的特征数据,融合第一时域特征数据对应的第一预设数量个不同尺度的特征数据,得到该第一时域特征数据对应的第二时域特征数据。
具体实施时,一维卷积层可以是一维Depthwise卷积层,使用一维Depthwise卷积层可有效降低计算量,提高多核时域卷积层的处理效率。
针对图1A、图1B所示的动作识别场景,步骤S903具体包括:将运动目标的运动状态特征输入已训练的分类器,得到运动目标属于每个指定目标对应的动作类别的概率,其中,分类器是根据指定目标的运动状态特征训练得到的。
上述分类器的训练方法可参考上述神经网络模型的训练方法中的相关内容。
具体实施时,针对动作识别场景,还可以直接使用包含分类模块的神经网络模型,得到视频帧序列中的运动目标属于每个指定目标对应的动作类别的概率,具体结构可参考图6或图7B所示的神经网络模型。
针对图1C所示的目标识别跟踪场景,步骤S903具体包括:若运动目标的运动状态特征与指定目标的运动状态特征的相似度大于阈值,确定运动目标为指定目标。
具体地,可采用欧式距离算法计算运动目标的运动状态特征与指定目标的运动状态特征之间的距离值,作为相似度。
具体实施时,若运动目标的运动状态特征与指定目标的运动状态特征的相似度不大于阈值,则确定视频帧序列中不包含指定目标。
本申请实施例的视频处理方法,可通过神经网络模型得到表征运动目标以视频帧序列的时序而表现的运动状态特征,该运动状态特征中既包含通过层级模块提取到的运动目标在各视频帧中的空间特征,还包含通过多核时域处理模块提取到的表征运动目标在时间维度上的时序特征,即能够从视频帧序列中获取到更加全面的特征信息,进而提高了针对运动目标的识别准确率。
参考图13,为对神经网络模型得到的中间结果的可视化分析结果,其中,第一行图像为输入的视频帧序列,第二行图像为第一模型的第二残差层的输出数据对应的可视化图像,第三行图像为图7B所示模型的第二残差层的输出数据对应的可视化图像,上述第一模型是利用手语数据集训练图7A所示模型得到的模型,上述第二模型是利用手语数据集训练图7B所示模型得到的模型。具体的可视化过程包括:针对每一视频帧所对应的多个特征图,沿着通道方向计算各特征图的均方值,得到每一视频帧对应的可视化图像,均方值越大的像素点对应的亮度响应越高。从图13中可以看出,通过本申请实施例的视频处理方法得到的特征图对手部的响应更高,这对于手语识别来说是十分重要的,同时,能够更好地体现出手部区域的时间连续性。因此,通过本申请实施例的视频处理方法,能够增强手部在时间和空间上的特征信息,进而提高了手语识别的识别准确率。
如图14所示,基于与上述视频处理方法相同的发明构思,本申请实施例还提供了一种视频处理装置140,包括:获取模块1401、特征提取模块1402以及匹配模块1403。
获取模块1401,用于获取包含运动目标的视频帧序列;
特征提取模块1402,用于将所述视频帧序列输入已训练的神经网络模型,得到表征所述运动目标以所述视频帧序列的时序而表现的运动状态特征;
匹配模块1403,用于获得所述运动目标的运动状态特征与指定目标的运动状态特征的匹配结果。
可选地,所述神经网络模型包括多个层级模块、至少一个多核时域处理模块,和平均池化层,且所述至少一个多核时域处理模块中的每个多核时域处理模块分别设置在所述多个层级模块中的两个相邻层级模块之间,所述平均池化层位于最后一个层级模块之后;
相应地,所述特征提取模块1402,具体用于:
各级层级模块分别从输入数据中逐级提取所述视频帧序列中各视频帧对应的第一特征数据并输出,每个第一特征数据中包含表征所述运动目标在所述视频帧中的空间特征,其中第一级层级模块的输入数据包括视频帧序列,其他各级层级模块的输入数据为位于其上一级的层级模块或者多核时域处理模块输出的数据;
所述多核时域处理模块,按照各视频帧的时间信息,对位于其上一级的层级模块输出的各视频帧对应的第一特征数据中位置相同的像素点在时间维度上进行卷积处理,分别得到对应的第二特征数据,每个第二特征数据中包含表征所述运动目标在时间维度上的时序特征;
所述平均池化层对最后一级层级模块输出的特征数据进行平均池化处理,得到所述运动目标的运动状态特征。
可选地,所述特征提取模块1402,具体用于:
按照各视频帧的时间信息,确定位于所述多核时域处理模块上一级的层级模块输出的所有视频帧对应的第一特征数据中位置相同的像素点在时间维度上对应的第一时域特征数据;
对每个第一时域特征数据进行卷积处理,得到对应的第二时域特征数据;
按照每个第二时域特征数据中各像素点在第一特征数据中对应的位置,确定所有第二时域特征数据中时间信息相同的像素点在空间维度上对应的第二特征数据。
可选地,所述特征提取模块1402,具体用于:
针对每个所述第一时域特征数据,分别用第一预设数量个卷积核大小不同的一维卷积层对所述第一时域特征数据进行卷积处理,得到第一预设数量个不同尺度的特征数据;
融合所述第一时域特征数据对应的第一预设数量个不同尺度的特征数据,得到所述第一时域特征数据对应的第二时域特征数据。
可选地,所述一维卷积层为一维Depthwise卷积层。
可选地,所述特征提取模块1402,还用于:在确定所述第一时域特征数据之前,将各视频帧对应的第一特征数据的通道数目从第一数值降为第二数值;在确定所述第二特征数据之后,将所述第二特征数据的通道数目还原为所述第一数值。
可选地,所述获取模块1401,具体用于:按待处理视频中视频帧的时序,从所述待处理视频中每间隔第二预设数量个视频帧抽取一个视频帧;若抽取的视频帧的数量达到第三预设数量,将抽取的第三预设数量个视频帧确定为所述视频帧序列。
可选地,所述匹配模块1403,具体用于:若所述运动目标的运动状态特征与指定目标的运动状态特征的相似度大于阈值,确定所述运动目标为所述指定目标;或者,将所述运动目标的运动状态特征输入已训练的分类器,得到所述运动目标属于每个指定目标对应的动作类别的概率,所述分类器是根据所述指定目标的运动状态特征训练得到的。
可选地,本申请实施例的视频处理模块还包括训练模块,所述训练模块用于:
通过以下方式训练所述神经网络模型:
获取视频样本集,每个视频样本包括标记有对应的类别标识的视频帧序列,所述类别标识用于表征所述视频帧序列中包含的运动目标对应的动作类别;
将所述视频样本集中的视频样本输入神经网络模型,得到表征所述运动目标以所述视频样本的时序而表现的运动状态特征;
将所述运动状态特征输入分类器,确定所述视频样本中包含的运动目标属于每个动作类别的预测概率;
根据所述预测概率和所述视频样本对应的类别标识,优化所述神经网络模型和分类器的权重参数。
可选地,所述神经网络模型包括多个层级模块、至少一个多核时域处理模块,和平均池化层,且所述至少一个多核时域处理模块中的每个多核时域处理模块分别设置在所述多个层级模块中的两个相邻层级模块之间,所述平均池化层位于最后一个层级模块之后;
相应地,所述训练模块,具体用于:
各级层级模块分别从输入数据中逐级提取所述视频样本中各视频帧对应的第一特征数据并输出,每个第一特征数据中包含表征所述运动目标在所述视频帧中的空间特征,其中第一级层级模块的输入数据包括视频样本,其他各级层级模块的输入数据为位于其上一级的层级模块或者多核时域处理模块输出的数据;
所述多核时域处理模块,按照各视频帧的时间信息,对位于其上一级的层级模块输出的各视频帧对应的第一特征数据中位置相同的像素点在时间维度上进行卷积处理,分别得到对应的第二特征数据,每个第二特征数据中包含表征所述运动目标在时间维度上的时序特征;
所述平均池化层对最后一级层级模块输出的特征数据进行平均池化处理,得到所述视频样本中的运动目标的运动状态特征。
本申请实施例提的视频处理装置与上述视频处理方法采用了相同的发明构思,能够取得相同的有益效果,在此不再赘述。
基于与上述视频处理方法相同的发明构思,本申请实施例还提供了一种电子设备,该电子设备具体可以为终端设备(如桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)),也可以是与终端设备通信的外部设备,如服务器等。如图15所示,该电子设备150可以包括处理器1501和存储器1502。
处理器1501可以是通用处理器,例如中央处理器(CPU)、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器1502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random Access Memory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器1502还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
本申请实施例提供了一种计算机可读存储介质,用于储存为上述电子设备所用的计算机程序指令,其包含用于执行上述弹幕处理方法的程序。
上述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。
以上,以上实施例仅用以对本申请的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本申请实施例的方法,不应理解为对本申请实施例的限制。本技术领域的技术人员可轻易想到的变化或替换,都应涵盖在本申请实施例的保护范围之内。

Claims (13)

1.一种视频处理方法,其特征在于,包括:
获取包含运动目标的视频帧序列;
将所述视频帧序列输入已训练的神经网络模型,得到表征所述运动目标以所述视频帧序列的时序而表现的运动状态特征;其中,所述神经网络模型包括多个层级模块、至少一个多核时域处理模块,和平均池化层,且所述至少一个多核时域处理模块中的每个多核时域处理模块分别设置在所述多个层级模块中的两个相邻层级模块之间,所述平均池化层位于最后一个层级模块之后;
获得所述运动目标的运动状态特征与指定目标的运动状态特征的匹配结果。
2.根据权利要求1所述的方法,其特征在于,所述将所述视频帧序列输入已训练的神经网络模型,得到表征所述运动目标以所述视频帧序列的时序而表现的运动状态特征,具体包括:
各级层级模块分别从输入数据中逐级提取所述视频帧序列中各视频帧对应的第一特征数据并输出,每个第一特征数据中包含表征所述运动目标在所述视频帧中的空间特征,其中第一级层级模块的输入数据包括视频帧序列,其他各级层级模块的输入数据为位于其上一级的层级模块或者多核时域处理模块输出的数据;
所述多核时域处理模块,按照各视频帧的时间信息,对位于其上一级的层级模块输出的各视频帧对应的第一特征数据中位置相同的像素点在时间维度上进行卷积处理,分别得到对应的第二特征数据,每个第二特征数据中包含表征所述运动目标在时间维度上的时序特征;
所述平均池化层对最后一级层级模块输出的特征数据进行平均池化处理,得到所述运动目标的运动状态特征。
3.根据权利要求2所述的方法,其特征在于,所述按照各视频帧的时间信息,对位于其上一级的层级模块输出的各视频帧对应的第一特征数据中位置相同的像素点在时间维度上进行卷积处理,分别得到对应的第二特征数据,具体包括:
按照各视频帧的时间信息,确定位于所述多核时域处理模块上一级的层级模块输出的所有视频帧对应的第一特征数据中位置相同的像素点在时间维度上对应的第一时域特征数据;
对每个第一时域特征数据进行卷积处理,得到对应的第二时域特征数据;
按照每个第二时域特征数据中各像素点在第一特征数据中对应的位置,确定所有第二时域特征数据中时间信息相同的像素点在空间维度上对应的第二特征数据。
4.根据权利要求3所述的方法,其特征在于,所述对每个第一时域特征数据进行卷积处理,得到对应的第二时域特征数据,具体包括:
针对每个所述第一时域特征数据,分别用第一预设数量个卷积核大小不同的一维卷积层对所述第一时域特征数据进行卷积处理,得到第一预设数量个不同尺度的特征数据;
融合所述第一时域特征数据对应的第一预设数量个不同尺度的特征数据,得到所述第一时域特征数据对应的第二时域特征数据。
5.根据权利要求4所述的方法,其特征在于,所述一维卷积层为一维Depthwise卷积层。
6.根据权利要求3至5中任一所述的方法,其特征在于,还包括:
在确定所述第一时域特征数据之前,将各视频帧对应的第一特征数据的通道数目从第一数值降为第二数值;
在确定所述第二特征数据之后,将所述第二特征数据的通道数目还原为所述第一数值。
7.根据权利要求1至5中任一所述的方法,其特征在于,所述获取包含运动目标的视频帧序列,具体包括:
按待处理视频中视频帧的时序,从所述待处理视频中每间隔第二预设数量个视频帧抽取一个视频帧;
若抽取的视频帧的数量达到第三预设数量,将抽取的第三预设数量个视频帧确定为所述视频帧序列。
8.根据权利要求1至5中任一所述的方法,其特征在于,所述获得所述运动目标的运动状态特征与指定目标的运动状态特征的匹配结果,具体包括:
若所述运动目标的运动状态特征与指定目标的运动状态特征的相似度大于阈值,确定所述运动目标为所述指定目标;或者,
将所述运动目标的运动状态特征输入已训练的分类器,得到所述运动目标属于每个指定目标对应的动作类别的概率,所述分类器是根据所述指定目标的运动状态特征训练得到的。
9.根据权利要求1至5中任一所述的方法,其特征在于,通过以下方式训练所述神经网络模型:
获取视频样本集,每个视频样本包括标记有对应的类别标识的视频帧序列,所述类别标识用于表征所述视频帧序列中包含的运动目标对应的动作类别;
将所述视频样本集中的视频样本输入神经网络模型,得到表征所述运动目标以所述视频样本的时序而表现的运动状态特征;
将所述运动状态特征输入分类器,确定所述视频样本中包含的运动目标属于每个动作类别的预测概率;
根据所述预测概率和所述视频样本对应的类别标识,优化所述神经网络模型和分类器的权重参数。
10.根据权利要求9所述的方法,其特征在于,所述神经网络模型包括多个层级模块、至少一个多核时域处理模块,和平均池化层,且所述至少一个多核时域处理模块中的每个多核时域处理模块分别设置在所述多个层级模块中的两个相邻层级模块之间,所述平均池化层位于最后一个层级模块之后;
所述将所述视频样本集中的视频样本输入神经网络模型,得到表征所述运动目标以所述视频样本的时序而表现的运动状态特征,具体包括:
各级层级模块分别从输入数据中逐级提取所述视频样本中各视频帧对应的第一特征数据并输出,每个第一特征数据中包含表征所述运动目标在所述视频帧中的空间特征,其中第一级层级模块的输入数据包括视频样本,其他各级层级模块的输入数据为位于其上一级的层级模块或者多核时域处理模块输出的数据;
所述多核时域处理模块,按照各视频帧的时间信息,对位于其上一级的层级模块输出的各视频帧对应的第一特征数据中位置相同的像素点在时间维度上进行卷积处理,分别得到对应的第二特征数据,每个第二特征数据中包含表征所述运动目标在时间维度上的时序特征;
所述平均池化层对最后一级层级模块输出的特征数据进行平均池化处理,得到所述视频样本中的运动目标的运动状态特征。
11.一种视频处理装置,其特征在于,包括:
获取模块,用于获取包含运动目标的视频帧序列;
特征提取模块,用于将所述视频帧序列输入已训练的神经网络模型,得到表征所述运动目标以所述视频帧序列的时序而表现的运动状态特征;其中,所述神经网络模型包括多个层级模块、至少一个多核时域处理模块,和平均池化层,且所述至少一个多核时域处理模块中的每个多核时域处理模块分别设置在所述多个层级模块中的两个相邻层级模块之间,所述平均池化层位于最后一个层级模块之后;
匹配模块,用于获得所述运动目标的运动状态特征与指定目标的运动状态特征的匹配结果。
12.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10任一项所述方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该计算机程序指令被处理器执行时实现权利要求1至10任一项所述方法的步骤。
CN201910690174.8A 2019-07-29 2019-07-29 视频处理方法、装置、电子设备及存储介质 Active CN110472531B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201910690174.8A CN110472531B (zh) 2019-07-29 2019-07-29 视频处理方法、装置、电子设备及存储介质
EP20847097.1A EP4006772A4 (en) 2019-07-29 2020-05-29 VIDEO PROCESSING METHOD AND EQUIPMENT AND ELECTRONIC DEVICE AND STORAGE MEDIA
PCT/CN2020/093077 WO2021017606A1 (zh) 2019-07-29 2020-05-29 视频处理方法、装置、电子设备及存储介质
US17/343,088 US20210326597A1 (en) 2019-07-29 2021-06-09 Video processing method and apparatus, and electronic device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910690174.8A CN110472531B (zh) 2019-07-29 2019-07-29 视频处理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN110472531A CN110472531A (zh) 2019-11-19
CN110472531B true CN110472531B (zh) 2023-09-01

Family

ID=68508308

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910690174.8A Active CN110472531B (zh) 2019-07-29 2019-07-29 视频处理方法、装置、电子设备及存储介质

Country Status (4)

Country Link
US (1) US20210326597A1 (zh)
EP (1) EP4006772A4 (zh)
CN (1) CN110472531B (zh)
WO (1) WO2021017606A1 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110472531B (zh) * 2019-07-29 2023-09-01 腾讯科技(深圳)有限公司 视频处理方法、装置、电子设备及存储介质
CN111104930B (zh) * 2019-12-31 2023-07-11 腾讯科技(深圳)有限公司 视频处理方法、装置、电子设备及存储介质
CN111402130B (zh) * 2020-02-21 2023-07-18 华为技术有限公司 数据处理方法和数据处理装置
CN111401207B (zh) * 2020-03-11 2022-07-08 福州大学 基于mars深度特征提取与增强的人体动作识别方法
CN113673280A (zh) * 2020-05-14 2021-11-19 索尼公司 图像处理装置、图像处理方法和计算机可读存储介质
CN111598026B (zh) * 2020-05-20 2023-05-30 广州市百果园信息技术有限公司 动作识别方法、装置、设备及存储介质
CN111611941B (zh) * 2020-05-22 2023-09-19 腾讯科技(深圳)有限公司 特效处理方法及相关设备
CN111598035B (zh) * 2020-05-22 2023-05-23 北京爱宾果科技有限公司 一种视频处理方法及系统
CN112115788A (zh) * 2020-08-14 2020-12-22 咪咕文化科技有限公司 视频动作识别方法、装置、电子设备及存储介质
CN113034433B (zh) * 2021-01-14 2024-01-02 腾讯科技(深圳)有限公司 数据鉴伪方法、装置、设备以及介质
EP4179733A4 (en) * 2021-01-20 2023-12-06 Samsung Electronics Co., Ltd. METHOD AND ELECTRONIC DEVICE FOR DETERMINING MOTION SALIENCY AND VIDEO PLAYBACK STYLE IN VIDEO
CN112906498A (zh) * 2021-01-29 2021-06-04 中国科学技术大学 手语动作的识别方法及装置
CN113033324B (zh) * 2021-03-03 2024-03-08 广东省地质环境监测总站 一种地质灾害前兆因子识别方法、装置,电子设备及存储介质
CN112861811B (zh) * 2021-03-24 2023-08-01 北京百度网讯科技有限公司 目标识别方法、装置、设备、存储介质及雷达
CN113033439B (zh) * 2021-03-31 2023-10-20 北京百度网讯科技有限公司 用于数据处理的方法、装置和电子设备
CN113469654B (zh) * 2021-07-05 2024-03-15 安徽南瑞继远电网技术有限公司 一种基于智能算法融合的变电站多层次安全管控系统
CN113642472A (zh) * 2021-08-13 2021-11-12 北京百度网讯科技有限公司 判别器模型的训练方法和动作识别方法
CN113923464A (zh) * 2021-09-26 2022-01-11 北京达佳互联信息技术有限公司 视频违规率确定方法、装置、设备、介质及程序产品
CN113838094B (zh) * 2021-09-28 2024-03-05 贵州乌江水电开发有限责任公司 一种基于智能视频识别的安全预警方法
CN116434096A (zh) * 2021-12-30 2023-07-14 中兴通讯股份有限公司 时空动作检测方法、装置、电子设备及存储介质
US11876916B2 (en) * 2022-02-08 2024-01-16 My Job Matcher, Inc. Apparatus and methods for candidate tracking
CN116580063B (zh) * 2023-07-14 2024-01-05 深圳须弥云图空间科技有限公司 目标追踪方法、装置、电子设备及存储介质
CN117558067A (zh) * 2023-12-28 2024-02-13 天津大学 基于动作识别和序列推理的动作预测方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3346445A1 (en) * 2017-01-05 2018-07-11 Université de Toulon Methods and devices for extracting an object from a video sequence
CN108446669A (zh) * 2018-04-10 2018-08-24 腾讯科技(深圳)有限公司 运动识别方法、装置及存储介质
CN108810538A (zh) * 2018-06-08 2018-11-13 腾讯科技(深圳)有限公司 视频编码方法、装置、终端及存储介质
CN109829542A (zh) * 2019-01-29 2019-05-31 武汉星巡智能科技有限公司 基于多核处理器的多元深度网络模型重构方法及装置
CN109919031A (zh) * 2019-01-31 2019-06-21 厦门大学 一种基于深度神经网络的人体行为识别方法
CN109961005A (zh) * 2019-01-28 2019-07-02 山东大学 一种基于二维卷积网络的动态手势识别方法及系统
CN109978756A (zh) * 2019-03-18 2019-07-05 腾讯科技(深圳)有限公司 目标检测方法、系统、装置、存储介质和计算机设备

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6876988B2 (en) * 2000-10-23 2005-04-05 Netuitive, Inc. Enhanced computer performance forecasting system
US8189905B2 (en) * 2007-07-11 2012-05-29 Behavioral Recognition Systems, Inc. Cognitive model for a machine-learning engine in a video analysis system
US8098262B2 (en) * 2008-09-05 2012-01-17 Apple Inc. Arbitrary fractional pixel movement
US8345984B2 (en) * 2010-01-28 2013-01-01 Nec Laboratories America, Inc. 3D convolutional neural networks for automatic human action recognition
EP3488324A1 (en) * 2016-07-20 2019-05-29 Usens, Inc. Method and system for 3d hand skeleton tracking
CN109117858B (zh) * 2017-06-26 2024-02-13 北京金风科创风电设备有限公司 监测风力发电机叶片结冰的方法及装置
JP6799197B2 (ja) * 2018-05-10 2020-12-09 ヌヴォトンテクノロジージャパン株式会社 ニューラルネットワーク構築装置、情報処理装置、ニューラルネットワーク構築方法及びプログラム
US10949701B2 (en) * 2018-11-02 2021-03-16 Iflytek Co., Ltd. Method, apparatus and storage medium for recognizing character
CN111161274B (zh) * 2018-11-08 2023-07-07 上海市第六人民医院 腹部图像分割方法、计算机设备
CN109886090B (zh) * 2019-01-07 2020-12-04 北京大学 一种基于多时间尺度卷积神经网络的视频行人再识别方法
EP3948775A4 (en) * 2019-04-30 2022-12-21 L'Oréal IMAGE PROCESSING USING CONVOLUTIONAL NEURAL NETWORK TO TRACK A VARIETY OF OBJECTS
CN110472531B (zh) * 2019-07-29 2023-09-01 腾讯科技(深圳)有限公司 视频处理方法、装置、电子设备及存储介质
KR20210036715A (ko) * 2019-09-26 2021-04-05 삼성전자주식회사 뉴럴 프로세싱 장치 및 뉴럴 프로세싱 장치에서 뉴럴 네트워크의 풀링을 처리하는 방법
KR20210037569A (ko) * 2019-09-27 2021-04-06 삼성전자주식회사 컨볼루션 신경망 가속기 아키텍처를 위한 전력 효율적인 하이브리드 트래버설 장치 및 방법
US11941875B2 (en) * 2020-07-27 2024-03-26 Waymo Llc Processing perspective view range images using neural networks

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3346445A1 (en) * 2017-01-05 2018-07-11 Université de Toulon Methods and devices for extracting an object from a video sequence
CN108446669A (zh) * 2018-04-10 2018-08-24 腾讯科技(深圳)有限公司 运动识别方法、装置及存储介质
CN108810538A (zh) * 2018-06-08 2018-11-13 腾讯科技(深圳)有限公司 视频编码方法、装置、终端及存储介质
CN109961005A (zh) * 2019-01-28 2019-07-02 山东大学 一种基于二维卷积网络的动态手势识别方法及系统
CN109829542A (zh) * 2019-01-29 2019-05-31 武汉星巡智能科技有限公司 基于多核处理器的多元深度网络模型重构方法及装置
CN109919031A (zh) * 2019-01-31 2019-06-21 厦门大学 一种基于深度神经网络的人体行为识别方法
CN109978756A (zh) * 2019-03-18 2019-07-05 腾讯科技(深圳)有限公司 目标检测方法、系统、装置、存储介质和计算机设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Deep Spatial-Temporal Joint Feature Representation for Video Object Detection;ZHAO BAOJUN ET AL;SENSORS;774页 *

Also Published As

Publication number Publication date
EP4006772A1 (en) 2022-06-01
EP4006772A4 (en) 2022-09-28
US20210326597A1 (en) 2021-10-21
WO2021017606A1 (zh) 2021-02-04
CN110472531A (zh) 2019-11-19

Similar Documents

Publication Publication Date Title
CN110472531B (zh) 视频处理方法、装置、电子设备及存储介质
CN111709409B (zh) 人脸活体检测方法、装置、设备及介质
Ge et al. An attention mechanism based convolutional LSTM network for video action recognition
JP6351689B2 (ja) 視覚質問応答用の注目に基づく設定可能な畳み込みニューラルネットワーク(abc−cnn)のシステム及び方法
CN107784293B (zh) 一种基于全局特征和稀疏表示分类的人体行为识别方法
US20210224601A1 (en) Video sequence selection method, computer device, and storage medium
CN111104930B (zh) 视频处理方法、装置、电子设备及存储介质
CN111754541A (zh) 目标跟踪方法、装置、设备及可读存储介质
CN114283351A (zh) 视频场景分割方法、装置、设备及计算机可读存储介质
CN111209897A (zh) 视频处理的方法、装置和存储介质
CN112132866A (zh) 目标对象跟踪方法、装置、设备及计算机可读存储介质
CN113515669A (zh) 基于人工智能的数据处理方法和相关设备
CN113569607A (zh) 动作识别方法、装置、设备以及存储介质
Fei et al. Flow-pose Net: An effective two-stream network for fall detection
CN114943937A (zh) 行人重识别方法、装置、存储介质及电子设备
CN113033507B (zh) 场景识别方法、装置、计算机设备和存储介质
Chen et al. STRAN: Student expression recognition based on spatio-temporal residual attention network in classroom teaching videos
CN113822254A (zh) 一种模型训练方法及相关装置
CN113705293A (zh) 图像场景的识别方法、装置、设备及可读存储介质
CN113822134A (zh) 一种基于视频的实例跟踪方法、装置、设备及存储介质
CN113762041A (zh) 视频分类方法、装置、计算机设备和存储介质
Afrasiabi et al. Spatial-temporal dual-actor CNN for human interaction prediction in video
Wang et al. Sture: Spatial–temporal mutual representation learning for robust data association in online multi-object tracking
CN114037056A (zh) 一种生成神经网络的方法、装置、计算机设备和存储介质
CN113822291A (zh) 一种图像处理方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40013083

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant