CN112100436B - 舞蹈片段识别方法、舞蹈片段识别装置和存储介质 - Google Patents

舞蹈片段识别方法、舞蹈片段识别装置和存储介质 Download PDF

Info

Publication number
CN112100436B
CN112100436B CN202011052113.8A CN202011052113A CN112100436B CN 112100436 B CN112100436 B CN 112100436B CN 202011052113 A CN202011052113 A CN 202011052113A CN 112100436 B CN112100436 B CN 112100436B
Authority
CN
China
Prior art keywords
segment
audio
dance
music
sub
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
CN202011052113.8A
Other languages
English (en)
Other versions
CN112100436A (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.)
New Oriental Education Technology Group Co ltd
Original Assignee
New Oriental Education Technology Group 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 New Oriental Education Technology Group Co ltd filed Critical New Oriental Education Technology Group Co ltd
Priority to CN202011052113.8A priority Critical patent/CN112100436B/zh
Publication of CN112100436A publication Critical patent/CN112100436A/zh
Application granted granted Critical
Publication of CN112100436B publication Critical patent/CN112100436B/zh
Priority to JP2023512778A priority patent/JP7467764B2/ja
Priority to US18/044,130 priority patent/US11837028B2/en
Priority to CA3189604A priority patent/CA3189604C/en
Priority to PCT/CN2021/121346 priority patent/WO2022068823A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • 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
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • G10H1/361Recording/reproducing of accompaniment for use with an external source, e.g. karaoke systems
    • G10H1/368Recording/reproducing of accompaniment for use with an external source, e.g. karaoke systems displaying animated or moving pictures synchronized with the music or audio part
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/031Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
    • G10H2210/061Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for extraction of musical phrases, isolation of musically relevant segments, e.g. musical thumbnail generation, or for temporal structure analysis of a musical piece, e.g. determination of the movement sequence of a musical work
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/311Neural networks for electrophonic musical instruments or musical processing, e.g. for musical recognition or control, automatic composition or improvisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Acoustics & Sound (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Social Psychology (AREA)
  • Psychiatry (AREA)
  • Medical Informatics (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Library & Information Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Image Analysis (AREA)

Abstract

一种舞蹈片段识别方法、舞蹈片段识别装置以及存储介质。该舞蹈片段识别方法包括:提取视频片段中的音频片段;响应于音频片段包括时长大于等于预定时间长度的音乐片段,将视频片段包括的对应于音乐片段的视频子片段作为候选舞蹈片段;响应于候选舞蹈片段的多帧图像中具有舞蹈动作的图像的帧数大于第一预定阈值,将候选舞蹈片段判定为舞蹈片段。该舞蹈片段识别方法可以提升识别视频片段中舞蹈片段的速度。

Description

舞蹈片段识别方法、舞蹈片段识别装置和存储介质
技术领域
本公开的实施例涉及一种舞蹈片段识别方法、舞蹈片段识别装置以及存储介质。
背景技术
如今在线课堂教学已然成为一种十分普遍的教学方式,在少儿在线课堂中,老师经常带领学生们在镜头前随音乐舞蹈,有时是为了在课间带领学生活动身体,有时是用于教学需要。学生们往往享受其中,一片欢声笑语。由于这些视频片段(舞蹈片段)不仅体现了少儿释放的活泼天性,体现了寓教于乐教学理念,还充满了正向能量,因此,找到少儿在线课堂视频中的学生随音乐舞蹈的片段具有重要的意义。例如,上述学生随音乐舞蹈的片段不仅可以为有老师带领学生跳舞的课堂提供一个精彩短视频摘要,作为官方宣传片的素材,还可以同步推送给与课学生的家长,让家长们看到学生们的欢乐课堂。
发明内容
本公开的至少一个实施例提供了一种舞蹈片段识别方法,其包括:提取视频片段中的音频片段;响应于所述音频片段包括时长大于等于预定时间长度的音乐片段,将所述视频片段包括的对应于所述音乐片段的视频子片段作为候选舞蹈片段;响应于所述候选舞蹈片段的多帧图像中具有舞蹈动作的图像的帧数大于第一预定阈值,将所述候选舞蹈片段判定为舞蹈片段。
例如,在所述舞蹈片段识别方法的至少一个示例中,所述舞蹈片段识别方法还包括:提取所述多帧图像中至少部分帧图像中的骨骼信息;以及基于所述至少部分帧图像中的骨骼信息获取所述至少部分帧图像中具有舞蹈动作的图像的帧数。
例如,在所述舞蹈片段识别方法的至少一个示例中,所述基于所述至少部分帧图像中的骨骼信息获取所述至少部分帧图像中具有舞蹈动作的图像的帧数,包括:响应于所述至少部分帧图像中相邻的两帧图像的腿部骨骼的变化幅度超过预定变动阈值,将所述相邻的两帧图像中的至少一帧判定为具有舞蹈动作的图像。
例如,在所述舞蹈片段识别方法的至少一个示例中,还包括:基于所述多帧图像中至少部分帧图像中的骨骼信息获取所述至少部分帧图像中包括站立人体的图像的帧数;以及将所述至少部分帧图像中包括站立人体的图像的帧数作为所述至少部分帧图像中具有舞蹈动作的图像的帧数。
例如,在所述舞蹈片段识别方法的至少一个示例中,所述多帧图像的每帧图像包括信息展示区域和对象视频展示区域。所述响应于所述多帧图像中具有舞蹈动作的图像的帧数大于所述第一预定阈值,将所述候选舞蹈片段判定为舞蹈片段,包括:响应于所述多帧图像中包括展示了舞蹈图像的信息展示区域的图像的帧数大于所述第一预定阈值,将所述候选舞蹈片段判定为舞蹈片段。
例如,在所述舞蹈片段识别方法的至少一个示例中,所述舞蹈片段识别方法还包括:响应于所述多帧图像中部分帧图像中具有舞蹈动作的图像的帧数大于所述第一预定阈值,停止对所述候选舞蹈片段的检测。
例如,在所述舞蹈片段识别方法的至少一个示例中,所述舞蹈片段识别方法还包括:将所述音频片段划分为多个音频子片段;响应于所述多个音频子片段中顺次相接的第一数目音频子片段均被判定为音乐子片段,将所述顺次相接的第一数目音频子片段的组合判定为所述音乐片段的至少部分。所述第一数目为不小于三的整数。
例如,在所述舞蹈片段识别方法的至少一个示例中,所述舞蹈片段识别方法还包括:使用第一音乐识别模型提取所述多个音频子片段中至少部分音频子片段的每个音频子片段的第一特征向量;将所述多个音频子片段中至少部分音频子片段的每个音频子片段切分为第二数目的音频亚子片段,并使用第二音乐识别模型提取所述第二数目的音频亚子片段的每个的第二特征向量;拼接对应于同一个音频子片段的所述第一特征向量和所述第二数目的第二特征向量,以获取对应于所述同一个音频子片段的拼接后的特征向量;以及将所述对应于所述同一个音频子片段的拼接后的特征向量提供给第三音乐识别模型,以使用所述第三音乐识别模型判定所述同一个音频子片段是否为音乐子片段。
例如,在所述舞蹈片段识别方法的至少一个示例中,所述第一音乐识别模型为第一神经网络,且被配置为输出所述第一特征向量;所述第二音乐识别模型为第二神经网络,且被配置为输出所述第二特征向量;以及所述第三音乐识别模型被配置为接收所述拼接后的特征向量。
例如,在所述舞蹈片段识别方法的至少一个示例中,所述第二特征向量的维度与所述第二数目的乘积等于所述第一特征向量的维度;以及所述拼接后的特征向量的维度等于所述第一特征向量的维度的二倍。
例如,在所述舞蹈片段识别方法的至少一个示例中,所述舞蹈片段识别方法包括:使用第一组音频片段训练第一神经网络并将训练后的所述第一神经网络作为所述第一音乐识别模型;使用第二组音频片段训练第二神经网络并将训练后的所述第二神经网络作为所述第二音乐识别模型;以及基于第三组音频片段、所述第一音乐识别模型和所述第二音乐识别模型训练第三神经网络,并将训练后的所述第三神经网络作为所述第三音乐识别模型。所述第一组音频片段和所述第三组音频片段的每个音频片段的时长均为第一时长,所述第二组音频片段的每个音频片段的时长为第二时长,所述第二时长小于所述第一时长。
例如,在所述舞蹈片段识别方法的至少一个示例中,所述基于所述第三组音频片段、所述第一音乐识别模型和所述第二音乐识别模型训练所述第三神经网络包括:基于所述第一音乐识别模型提取所述第三组音频片段的每个音频片段的第一训练特征向量;将所述第三组音频片段的每个音频片段划分为预定数目的音频子片段;基于所述第二音乐识别模型提取所述预定数目的音频子片段的每个的第二训练特征向量;拼接所述第一训练特征向量和所述第二训练特征向量,以获取拼接后的训练特征向量;将所述拼接后的训练特征向量提供给所述第三神经网络,并基于所述第三神经网络的输出值调整所述第三神经网络的参数来使得损失函数最小化。
例如,在所述舞蹈片段识别方法的至少一个示例中,所述将所述拼接后的训练特征向量提供给所述第三神经网络,并基于所述第三神经网络的输出值调整所述第三神经网络的参数来使得损失函数最小化,包括:将所述拼接后的训练特征向量提供给所述第三神经网络;以及基于所述第三神经网络的输出值调整所述第三神经网络的参数来使得所述损失函数最小化。
例如,在所述舞蹈片段识别方法的至少一个示例中,所述舞蹈片段识别方法还包括:获取音频正样本和音频负样本;以及基于所述音频正样本的至少部分和所述音频负样本的至少部分构建所述第一组音频片段、所述第二组音频片段和所述第三组音频片段。
例如,在所述舞蹈片段识别方法的至少一个示例中,所述获取所述音频正样本和所述音频负样本包括:使用第四音乐识别模型从多个样本音频片段中找出候选正样本和候选负样本;以及将所述候选正样本的至少部分作为音频正样本的至少部分,将所述候选负样本的至少部分作为音频负样本的至少部分。
例如,在所述舞蹈片段识别方法的至少一个示例中,所述获取音频正样本和音频负样本还包括:将人工标定的正样本和负样本分别作为所述获取音频正样本的至少部分和所述音频负样本的至少部分。
例如,在所述舞蹈片段识别方法的至少一个示例中,所述获取音频正样本和音频负样本包括:将电子杂音片段作为所述音频负样本的至少部分。
本公开的至少一个实施例还提供了一种存储介质,所述存储介质存储有计算机程序指令,所述计算机程序指令被处理器运行时使得计算机执行以下的方法包括:提取视频片段中的音频片段;响应于所述音频片段包括时长大于等于预定时间长度的音乐片段,将所述视频片段包括的对应于所述音乐片段的视频子片段作为候选舞蹈片段;响应于所述候选舞蹈片段的多帧图像中具有舞蹈动作的图像的帧数大于第一预定阈值,将所述候选舞蹈片段判定为舞蹈片段。
本公开的至少一个实施例还提供了一种舞蹈片段识别装置,其包括:处理器和存储器。所述存储器中存储有适于所述处理器执行的计算机程序指令,所述计算机程序指令被所述处理器运行时使得所述处理器执行以下的方法:提取视频片段中的音频片段;响应于所述音频片段包括时长大于等于预定时间长度的音乐片段,将所述视频片段包括的对应于所述音乐片段的视频子片段作为候选舞蹈片段;响应于所述候选舞蹈片段的多帧图像中具有舞蹈动作的图像的帧数大于第一预定阈值,将所述候选舞蹈片段判定为舞蹈片段。
本公开的至少一个实施例还提供了一种舞蹈片段识别装置,其包括音频片段提取模块、候选舞蹈片段判定模块和舞蹈片段判定模块。音频片段提取模块被配置为提取视频片段中的音频片段;候选舞蹈片段判定模块被配置为响应于所述音频片段包括时长大于等于预定时间长度的音乐片段,将所述视频片段包括的对应于所述音乐片段的视频子片段作为候选舞蹈片段;舞蹈片段判定模块被配置为响应于所述候选舞蹈片段的多帧图像中具有舞蹈动作的图像的帧数大于第一预定阈值,将所述候选舞蹈片段判定为舞蹈片段。
本公开的至少一个实施例还提供了一种用于音乐片段判定的神经网络的训练方法,其包括:使用第一组音频片段训练第一神经网络并将训练后的所述第一神经网络作为第一音乐识别模型;使用第二组音频片段训练第二神经网络并将训练后的所述第二神经网络作为第二音乐识别模型;以及基于第三组音频片段、所述第一音乐识别模型和所述第二音乐识别模型训练第三神经网络,并将训练后的所述第三神经网络作为第三音乐识别模型。所述第一组音频片段和所述第三组音频片段的每个音频片段的时长均为第一时长,所述第二组音频片段的每个音频片段的时长为第二时长,所述第二时长小于所述第一时长。
例如,在所述训练方法的至少一个示例中,所述基于所述第三组音频片段、所述第一音乐识别模型和所述第二音乐识别模型训练所述第三神经网络包括:基于所述第一音乐识别模型提取所述第三组音频片段的每个音频片段的第一训练特征向量;将所述第三组音频片段的每个音频片段划分为预定数目的音频子片段;基于所述第二音乐识别模型提取所述预定数目的音频子片段的每个的第二训练特征向量;拼接所述第一训练特征向量和所述第二训练特征向量,以获取拼接后的训练特征向量;将所述拼接后的训练特征向量提供给所述第三神经网络,并基于所述第三神经网络的输出值调整所述第三神经网络的参数来使得损失函数最小化。
例如,在所述训练方法的至少一个示例中,所述将所述拼接后的训练特征向量提供给所述第三神经网络,并基于所述第三神经网络的输出值调整所述第三神经网络的参数来使得损失函数最小化,包括:将所述拼接后的训练特征向量提供给所述第三神经网络;以及基于所述第三神经网络的输出值调整所述第三神经网络的参数来使得所述损失函数最小化。
例如,在所述训练方法的至少一个示例中,所述训练方法还包括:获取音频正样本和音频负样本;基于所述音频正样本的至少部分和所述音频负样本的至少部分构建所述第一组音频片段、所述第二组音频片段和所述第三组音频片段。
例如,在所述训练方法的至少一个示例中,所述获取所述音频正样本和所述音频负样本包括:使用第四音乐识别模型从多个样本音频片段中找出候选正样本和候选负样本;以及将所述候选正样本的至少部分作为音频正样本的至少部分,将所述候选负样本的至少部分作为音频负样本的至少部分。
例如,在所述训练方法的至少一个示例中,所述获取音频正样本和音频负样本还包括:将人工标定的正样本和负样本分别作为所述获取音频正样本的至少部分和所述音频负样本的至少部分。
例如,在所述训练方法的至少一个示例中,所述获取音频正样本和音频负样本包括:将电子杂音片段作为所述音频负样本的至少部分。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1是一种卷积神经网络的结构示意图;
图2是本公开的至少一个实施例提供的舞蹈片段识别方法的示例性流程图;
图3示出了人体的关键点的示意图;
图4是本公开的至少一个实施例提供的视频片段的每帧图像的示意图;
图5是本公开的至少一个实施例提供的用于音乐片段判定的神经网络的训练方法的示例性流程图;
图6A是本公开的至少一个实施例提供的用于音乐片段判定的神经网络的训练方法的第一部分的示意性流程图;
图6B是本公开的至少一个实施例提供的用于音乐片段判定的神经网络的训练方法的第二部分的示意性流程图;
图6C示出了本公开的至少一个实施例提供的舞蹈片段识别方法的示意性流程图;
图7是本公开的至少一个实施例提供的存储介质的示意性框图;
图8是本公开的至少一个实施例提供的舞蹈片段识别装置的示意性框图;
图9是本公开的至少一个实施例提供的另一种舞蹈片段识别装置的示意性框图;
图10示出了本公开的至少一个实施例提供的舞蹈片段识别装置的示例性的场景图;以及
图11示出了本公开的至少一个实施例提供的计算设备的架构。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另作定义,此处使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
卷积神经网络(Convolutional Neural Network,CNN)主要通过局部感知野(也可以被称为感受野或感受域)和权值共享来简化神经网络模型的复杂性、减少权重的数量。CNN的应用范围已经不限于图像识别领域,其也可以应用在音频识别领域。
在利用卷积神经网络进行音频处理前,需要对卷积神经网络进行训练。经过训练之后,卷积神经网络的相关参数在音频处理期间保持不变。在训练过程中,可以调整卷积神经网络的相关参数(例如,卷积核的权重)来最大程度地减少神经网络的损失(也即,使得损失函数最小化),并获取优化后的参数(例如,最优权重)。
图1示出了一种卷积神经网络的结构示意图。例如,如图1所示,卷积神经网络包括第一层级、第二层级、第三层级、全连接层等。例如,如图1所示,输入音频通过输入层输入到卷积神经网络后,依次经过若干个处理过程(例如,如图1中的第一层级、第二层级、第三层级)后输出类别标识(例如,音乐片段或者非音乐片段)。
需要说明的是,尽管图1仅示出了卷积神经网络包括三个层级(即第一层级、第二层级和第三层级),但本公开的实施例不限于此。例如,卷积神经网络还可以包括两个层级、四个层级或者其它适用数目的层级。
例如,第一层级、第二层级、第三层级的每个可以包括一个卷积模块和一个下采样层,也即,卷积神经网络的主要组成部分可以包括多个卷积层、多个下采样层和全连接层。例如,每个层级的处理过程可以包括:对输入音频进行卷积(convolution)以及下采样(sub-sampling/down-sampling)。
例如,卷积层是卷积神经网络的核心层。在卷积神经网络的卷积层中,一个神经元只与部分相邻层的神经元连接。例如,卷积层可以对输入音频应用若干个尺寸(kernel尺寸,感受野)不同的卷积核(也称为滤波器),以提取输入音频的多种类型的特征。例如,每个卷积核可以提取一种类型的特征。卷积核一般以随机小数矩阵的形式初始化,在卷积神经网络的训练过程中卷积核将通过学习以得到合理的权值。例如,对输入音频应用一个卷积核之后得到的结果被称为特征图(feature map),特征图的数目与卷积核的数目相等。同一特征图的神经元共享权值,这里共享的权值就是卷积核。一个层级的卷积层输出的特征图可以被输入到相邻的下一个层级的卷积层并再次处理以得到新的特征图。例如,第一层级的卷积层可以输出第一特征图,该第一特征图被输入到第二层级的卷积层再次处理以得到第二特征图。例如,卷积层可以使用不同的卷积核对输入音频的某一个局部感受域的数据进行卷积。
例如,第一层级、第二层级、第三层级的至少部分(例如,每个)还可以包括激活层。例如,激活层被配置为避免梯度消失。例如,激活层可以从同一层级的卷积层接收卷积结果,该激活层根据相应的激活函数进行计算以得到输入音频的特征信息。
例如,下采样层可以设置在相邻的卷积层之间,下采样层是下采样的一种形式。一方面,下采样层可以用于缩减输入音频的规模,简化计算的复杂度,在一定程度上减小过拟合的现象;另一方面,下采样层也可以进行特征压缩,提取输入音频的主要特征。下采样层能够减少特征图的尺寸,但不改变特征图的数量。例如,下采样层可以从与下采样层位于同一层级的卷积层(该同一层级不包括激活层)或激活层(该同一层级包括激活层)接收数据。例如,下采样层可以用于减小参数量以及提取更多层次的信息。例如,在感受野(kernel尺寸)不变的情况下,通过设置下采样层可以获取更全局的特征。例如,第一层级、第二层级、第三层级的至少部分还可以不包括下采样层。
例如,卷积神经网络的最后一个下采样层或卷积层可以连接到一个或多个全连接层,全连接层用于连接全连接层的上一层提取的特征,并将全连接层的上一层提取的特征投影到预定的维度;卷积神经网络的最后一层全连接层被配置为输出一个一维矩阵,该一维矩阵的各个元素用于表示某个样本为预定类别的概率。例如,针对每个音频样本,卷积神经网络的最后一层全连接层的输出可以为[a,b],此处,a为该音频样本是音乐片段的概率,b为该音频样本是非音乐片段的概率。
例如,可以使用Softmax函数对卷积神经网络的最后一层全连接层的输出(例如,一维矩阵)执行Softmax操作,以使得每个预定类别的预测概率都在0和1之间,并且各个预定类别预测概率之和为1。例如,可以通过Softmax函数对卷积神经网络的最后一层全连接层的输出(例如,[a,b])执行Softmax操作后,Softmax函数输出一维矩阵[a1,b1],a1为该音频样本是音乐片段的概率,b1为该音频样本是非音乐片段的概率,且a1和b1满足以下的表达式:a1+b1=1;0≤a1≤1;0≤b1≤1。例如,Softmax操作也可以被称为Softmax层。例如,Softmax层用于分类过程。
例如,在构建或者训练神经网络时,可以采用丢弃策略(drop out策略,也即,将全连接层上的特征随机丢掉一部分),以避免过拟合,进而可以避免训练后的神经网络仅适用于检测与标定的样本具有相同或相似类型的样本。例如,在构建或者训练神经网络时,可以采用学习率衰减策略(也即,在训练神经网络的过程中,神经网络的学习率从较大值逐渐降低至较小值),以最快的找到全局最优的参数(例如,全局最优的权重)。例如,在构建或者训练神经网络时,可以采用标签平滑策略,以增加训练后的神经网络的泛化性,降低训练神经网络所需要的时间或者提升训练后的神经网络准确性。
本公开的发明人在研究中注意到,目前通常利用人工去查找视频(例如,少儿在线课堂视频)中的舞蹈片段(包括音乐和舞蹈的视频子片段,例如,学生随音乐舞蹈的视频片段),并利用人工从视频中获取舞蹈片段。然而,该方法不仅费时费力(也即,效率低,成本高),而且在视频量较大(例如,海量少儿在线课堂视频)的情况下,很难利用人工浏览完全部视频,由此可能导致漏检(例如,召回率低)。
本公开的至少一个实施例提供了一种舞蹈片段识别方法、舞蹈片段识别装置、用于音乐片段判定的神经网络的训练方法以及存储介质。该舞蹈片段识别方法包括:提取视频片段中的音频片段;响应于音频片段包括时长大于等于预定时间长度的音乐片段,将视频片段包括的对应于音乐片段的视频子片段作为候选舞蹈片段;响应于候选舞蹈片段的多帧图像中具有舞蹈动作的图像的帧数大于第一预定阈值,将候选舞蹈片段判定为舞蹈片段。
例如,该舞蹈片段识别方法可用于识别在线课堂视频中的舞蹈片段(例如,包括音乐和舞蹈的视频子片段)。例如,该舞蹈片段识别方法可以提升识别视频片段中舞蹈片段的速度。
需要说明的是,为方便描述,本公开的至少一个实施例以视频片段为在线课堂视频包括的视频片段进行示例性说明,但本公开的至少一个实施例不限于此。例如,在视频片段为线下课堂视频包括的视频片段的情况下,采用本公开的至少一个实施例提供的舞蹈片段识别方法也可以提升识别视频片段中舞蹈片段的速度。
例如,该舞蹈片段识别方法和该用于音乐片段判定的神经网络的训练方法可以基于服务器(例如,后端)实现。
下面通过几个示例和实施例对根据本公开的至少一个实施例提供的舞蹈片段识别方法进行非限制性的说明,如下面所描述的,在不相互抵触的情况下这些具体示例和实施例中不同特征可以相互组合,从而得到新的示例和实施例,这些新的示例和实施例也都属于本公开保护的范围。
图2是本公开的至少一个实施例提供的舞蹈片段识别方法的示例性流程图。如图2所示,该舞蹈片段识别方法包括以下的步骤S10-步骤S30。
步骤S10:提取视频片段中的音频片段。
步骤S20:响应于音频片段包括时长大于等于预定时间长度的音乐片段,将视频片段包括的对应于音乐片段的视频子片段作为候选舞蹈片段。
步骤S30:响应于候选舞蹈片段的多帧图像中具有舞蹈动作的图像的帧数大于第一预定阈值,将候选舞蹈片段判定为舞蹈片段。
例如,在本公开的至少一个实施例中,通过判断视频片段包括的音频片段是否包括时长大于等于预定时间长度的音乐片段来获取候选舞蹈片段,然后响应于候选舞蹈片段的多帧图像中具有舞蹈动作的图像的帧数大于第一预定阈值,将候选舞蹈片段判定为舞蹈片段(包括时长大于等于预定时间长度的音乐片段的视频子片段);此种情况下,可以提升舞蹈片段的识别速度和准确度,具体原因如下。首先,音乐片段的识别速度(直接识别音乐片段的速度)大于舞蹈片段的识别速度(直接识别舞蹈片段的速度),音乐片段的识别准确度大于舞蹈片段的准确度。其次,通过判定视频片段包括的音频片段不包含时长大于等于预定时间长度的音乐片段,可以直接快速的判定该视频片段不包括舞蹈片段,而无需检测该视频片段包括的图像是否具有舞蹈动作。
例如,本公开的至少一个实施例提供的舞蹈片段识别方法尤其适用于识别在线课堂视频包括的舞蹈片段,这是因为在线课堂视频包括的多个视频片段中的大部分视频片段的音频片段均不是音乐片段,因此,对于在线课堂视频包括的多个视频片段中的大部分视频片段的每个视频片段,在执行步骤S20之后便可以停止对该视频片段的检测,而无需检测该视频片段是否具有舞蹈动作(例如,通过执行步骤S30以及其它相关步骤进行检测),由此可以提升识别速度和准确度。
例如,步骤S10、步骤S20和步骤S30可以顺次被执行。
例如,在步骤S10中,视频片段可以是在线课堂视频包括的视频片段。例如,多个在线课堂视频的每个(例如,一节课对应的课堂视频,一节课例如可以具有学习时间段和休息时间段)可以被切分为多个视频片段;可以针对每个在线课堂视频包括的多个视频片段的每个执行本公开的至少一个实施例提供的舞蹈片段识别方法。
例如,在切分每个在线课堂视频时,可以使得每个在线课堂视频包括的多个视频片段的至少部分(例如,每个)的时间长度为第一时间长度t1。例如,在每个在线课堂视频包括的多个视频片段的数目为m的情况下,可以使得m-1个或m个视频片段的时间长度为第一时间长度t1。例如,第一时间长度t1的取值可以根据实际应用需求进行设定,本公开的至少一个实施例对此不作具体限定。例如,第一时间长度t1可以等于60秒或者其它适用的数值(例如,120秒,240秒)。例如,每个在线课堂视频包括的多个视频片段可以以消息队列的形式传输。例如,每个在线课堂视频包括的多个视频片段可以被上传云服务器、数据库。
例如,在步骤S10中,视频片段包括多个在时间上排布的图像(例如,图像流)以及与对应于上述多个在时间上排布的图像的音频片段;上述多个在时间上排布的图像以及音频片段彼此对齐;此处,“上述多个在时间上排布的图像以及音频片段彼此对齐”是指在播放视频片段的任意时刻,显示的图像的录制时刻与播放的声音的录制时刻相同。例如,视频片段的帧率(frame rate)是指视频片段每秒显示的图像(例如,静态画面)的数目.
例如,在步骤S10中,提取视频片段中的音频片段的方法可以参考相关技术,在此不再赘述。
例如,候选舞蹈片段的多帧图像是指候选舞蹈片段包括的多帧待检测的图像。在步骤S30中,例如,候选舞蹈片段的多帧图像可以是候选舞蹈片段包括的所有图像;又例如,候选舞蹈片段的多帧图像可以是以预定的时间间隔(例如,1秒或者0.1秒)从候选舞蹈片段抽取的多帧图像,此种情况下,可以降低所需检测的图像数目以及检测所需的时间。例如,可以每隔一秒从候选舞蹈片段抽取一帧图像作为上述多帧图像的部分。例如,在候选舞蹈片段的帧率(Frame rate)为120HZ,时间长度为60秒的情况下,如果采用每隔一秒从候选舞蹈片段抽取一帧图像的方法获取多帧图像,则多帧图像的数目n为60。
例如,在步骤S30中,第一预定阈值可以根据实际经验进行设定。例如,在舞蹈片段判定方法(例如,用于判断图像中是否具有舞蹈动作的方法)确定之后,可以通过调节第一预定阈值使得舞蹈片段判定性能满足预定要求(例如,准确性大于等于预定的准确度阈值,判断时间小于等于预定的时间阈值)。例如,第一预定阈值为小于等于n大于等于n/4的任意数值。例如,第一预定阈值可以是n/3、n/2或者其它适用的数值。本公开的发明人通过实际的测试注意到,将第一预定阈值设置为n/3,可以在使得准确性大于等于预定的准确度阈值的情况下,尽量缩短舞蹈片段判断所需的时间。
例如,步骤S30的具体实现方式可以根据实际应用需求进行设定。
在一个示例中,可以首先判断候选舞蹈片段包括的多帧图像的每帧图像是否具有舞蹈动作(也即,判断候选舞蹈片段包括的多帧待检测的图像的每帧图像是否具有舞蹈动作),以确定多帧图像(也即,多帧待检测的图像)中具有舞蹈动作的图像的数目,然后判断多帧图像中具有舞蹈动作的图像的数目是否大于第一预定阈值,并在多帧图像中具有舞蹈动作的图像的数目大于第一预定阈值的情况下,将候选舞蹈片段判定为舞蹈片段,由此可以识别并提取视频片段中的舞蹈片段。
在另一个示例中,舞蹈片段识别方法还包括:响应于多帧图像(也即,多帧待检测的图像)中部分帧图像中具有舞蹈动作的图像的帧数大于第一预定阈值,停止对候选舞蹈片段的检测。例如,在多帧图像中部分帧图像中具有舞蹈动作的图像的帧数大于第一预定阈值的情况下,无论多帧图像中未被检测的图像是否具有舞蹈动作,均可以判定多帧图像中具有舞蹈动作的图像的帧数大于第一预定阈值。因此,可以在确定在候选舞蹈片段包括的多帧图像中部分帧图像中具有舞蹈动作的图像的数目大于第一预定阈值时,便停止对候选舞蹈片段的检测;此种情况下,对于一些视频片段,可以仅对候选舞蹈片段包括的多帧图像的部分帧图像进行检测,由此可以提升候选舞蹈片段的判定效率,缩短识别视频片段中的舞蹈片段所需的时间。
例如,获取多帧图像中部分帧图像中具有舞蹈动作的图像的帧数(例如,进行舞蹈检测)的方法可以根据实际应用需求进行设定。
在第一个示例中,可以基于提取人体骨骼信息获取多帧图像中部分帧图像中具有舞蹈动作的图像的帧数。
例如,除步骤S10-步骤S30之外,舞蹈片段识别方法还包括以下的步骤S41和步骤S42。
步骤S41:提取多帧图像中至少部分帧图像中的骨骼信息。
步骤S42:基于至少部分帧图像中的骨骼信息获取至少部分帧图像中具有舞蹈动作的图像的帧数。
例如,步骤S41和步骤S42可以被顺次执行。例如,步骤S41和步骤S42可以在执行步骤S10和步骤S20之后执行,在执行步骤S30之前执行。又例如,步骤S41和步骤S42可以在执行步骤S10和步骤S20之后执行,在执行步骤S30的过程中执行。
例如,在步骤S41中,图像中的骨骼信息是指图像中人体的骨骼信息。例如,本公开的至少一个实施例中的人体可以是指真实的人体,也可以是卡通人物。例如,本公开的至少一个实施例中的人体具有头、躯干、肩、上臂、前臂、手、大腿、小腿和足。
例如,在步骤S41中,可以通过提取多帧图像中至少部分帧图像的每帧图像中人体的关键点(例如,关节点)的坐标来获取多帧图像中至少部分帧图像的每帧图像的骨骼信息。
例如,可以根据实际应用需求确定所需提取的人体的关键点。图3示出了人体的关键点的示意图。例如,如图3所示,人体的关键点包括关节点和面部关键点的至少一种。例如,如图3所示,人体的关节点包括肩关节(例如,图3中的2和5)、肘关节(例如,图3中的3和6)、腕关节(例如,图3中的4和7)、髋关节(例如,图3中的8和11)、膝关节(例如,图3中的9和12)、踝关节(例如,图3中的10和13)以及颈部(例如,图3中的1,颈部与躯干连接的位置)。例如,如图3所示,人体的面部关键点可以包括鼻子(例如,图3中的0)、眼睛(例如,图3中的14和15)和耳朵(例如,图3中的16和17)。在一些示例中,人体的关键点还可以仅包括关节点。
例如,在获取图像中人体的关键点的坐标之后,可以获取图像中人体的骨骼信息。例如,在获取肩关节、肘关节和腕关节的坐标之后,可以基于肩关节和肘关节的坐标获取上臂的骨骼信息;可以基于肘关节和腕关节的坐标获取前臂的骨骼信息。又例如,在获取髋关节、膝关节和踝关节的坐标之后,可以基于髋关节和膝关节的坐标获取大腿的骨骼信息;可以基于膝关节和踝关节的坐标获取小腿的骨骼信息。
例如,可以利用开源软件openpose或其它适用的方法提取多帧图像中至少部分帧图像的每帧图像的骨骼信息。
例如,步骤S42包括以下的步骤S426。
步骤S426:响应于至少部分帧图像中相邻的两帧图像的腿部骨骼的变化幅度超过预定变动阈值,将相邻的两帧图像中的至少一帧判定为具有舞蹈动作的图像。
例如,在步骤S426中,响应于至少部分帧图像中相邻的两帧图像的腿部骨骼的变化幅度超过预定变动阈值,可以将相邻的两帧图像中的在时间上靠前的一帧图像判定为具有舞蹈动作的图像,将在时间上靠后的一帧图像判定为具有舞蹈动作的图像,或者将相邻的两帧图像均判定为具有舞蹈动作的图像。
例如,相邻的两帧图像的腿部骨骼(例如,小腿骨骼和大腿骨骼的至少一个)的变化幅度可以包括位置变化幅度和角度变化幅度的至少一个。例如,相邻的两帧图像的腿部骨骼的变化幅度超过预定变动阈值可以是指相邻的两帧图像的腿部骨骼的位置变化幅度超过预定的位置变动阈值以及相邻的两帧图像的腿部骨骼的角度变化幅度超过预定的角度变动阈值的至少一个。
在另一个示例中,步骤S42包括以下的步骤S421和步骤S422。例如,步骤S421和步骤S422可以被顺次执行。
步骤S421:基于至少部分帧图像中的骨骼信息获取至少部分帧图像中包括站立人体的图像的帧数。
步骤S422:将至少部分帧图像中包括站立人体的图像的帧数作为至少部分帧图像中具有舞蹈动作的图像的帧数。
例如,在步骤S421中,可以基于人体的肩部的高度和肩部的宽度的比值是否位于第一数值范围来确定图像是否包括站立的人体。例如,在人体直立的情况下,肩部的高度实质上等于人体的躯干长度和下肢长度(小腿长度和大腿长度)之和。例如,第一数值范围可以基于实际应用需求进行设定,例如,第一数值范围可以为3-5(例如,3.5-4.5)。例如,通过基于人体的肩部的高度和肩部的宽度的比值确定图像是否包括站立的人体,可以降低判定图像是否包括站立的人体的运算量以及判断时间,由此可以提升舞蹈片段识别方法的效率。
在第二个示例中,可以将候选舞蹈片段的多帧图像的至少部分帧图像中包括站立人体的图像的帧数作为至少部分帧图像中具有舞蹈动作的图像的帧数;此种情况下,除步骤S10-步骤S30之外,舞蹈片段识别方法还包括以下的步骤S46和步骤S47。
步骤S46:获取至少部分帧图像中包括站立人体的图像的帧数。
步骤S47:将至少部分帧图像中包括站立人体的图像的帧数作为至少部分帧图像中具有舞蹈动作的图像的帧数。
例如,步骤S46和步骤S47可以被顺次执行。例如,步骤S46和步骤S47可以被顺次执行。例如,步骤S46和步骤S47可以在执行步骤S10和步骤S20之后执行,在执行步骤S30之前执行。又例如,步骤S46和步骤S47可以在执行步骤S10和步骤S20之后执行,在执行步骤S30的过程中执行。
例如,在步骤S46中,获取至少部分帧图像中包括站立人体的图像的帧数包括:针对候选舞蹈片段的多帧图像的至少部分帧图像的每帧图像,执行以下的步骤S461-步骤S463。例如,步骤S461-步骤S463可以按照步骤S461、步骤S462、步骤S463和步骤S464的顺序被执行。
步骤S461:基于人物(例如,人体)检测模型(人检模型)检测候选舞蹈片段的多帧图像的至少部分帧图像中的每帧图像是否包括人物,并在候选舞蹈片段的多帧图像的至少部分帧图像中的每帧图像包括人物的情况下,生成用于框出候选舞蹈片段的多帧图像的至少部分帧图像中的每帧图像的人物的人检框(如果图像包括人物)。例如,在图像不包括人物的情况下,判断该帧图像不包括站立人体。
例如,在步骤S461中,基于人物检测模型(人检模型)检测图片是否包含人物以及生成用于框出图像的人物的人检框的方法可以参考相关技术,在此不再赘述。
例如,人检框为矩形。例如,人检框为可以框住对应的人物尺寸最小的矩形(矩形的长度和宽度均最小)。
步骤S462:计算人检框的长宽比。
步骤S463:基于人检框的长宽比判定候选舞蹈片段的多帧图像的至少部分帧图像的每帧图像是否包括站立人体。
例如,在步骤S463中,基于人检框的长宽比判定候选舞蹈片段的多帧图像的至少部分帧图像的每帧图像是否包括站立人体包括:如果位于某帧图像中具有最大长宽比的人检框的长宽比大于第一阈值,则判断该具有最大长宽比的人检框所在的图像包括站立人体;如果该具有最大长宽比的人检框的长宽比小于等于第一阈值,则判断该人检框所在的图像不包括站立人体。
例如,第一阈值可以基于实际应用需求进行设定。例如,第一阈值可以为1.5-1.9(例如,1.65、1.7或1.75)。
例如,通过利用人检框的长宽比判定候选舞蹈片段的多帧图像的至少部分帧图像的每帧图像是否包括站立人体,可以利用相关技术中的人物检测模型和人物检测方法,由此可以降低开发量和提升检测速度。
又例如,在步骤S46中,获取至少部分帧图像中包括站立人体的图像的帧数包括:针对候选舞蹈片段的多帧图像(例如,多帧待检测图像)的至少部分帧图像的每帧图像,提取多帧图像的至少部分帧图像的骨骼信息,并基于多帧图像的至少部分帧图像的骨骼信息判定至少部分帧图像的每帧图像是否包括站立人体,具体方法与步骤S421和步骤S422相似,在此不再赘述。
例如,多帧图像的每帧图像包括信息展示区域101和对象视频展示区域102。图4是本公开的至少一个实施例提供的视频片段的每帧图像的示意图。例如,如图4所示,视频片段的每帧图像包括信息展示区域101和对象视频展示区域102。例如,对象视频展示区域102用于展示位于在线课堂中的学生(例如,多个学生)的视频。例如,如图4所示,对象视频展示区域102可以包括多个对象视频展示子区域,以使得对象视频展示区域102可以展示位于在线课堂中的多个学生的视频。例如,信息展示区域101用于向位于在线课堂中的学生展示与在线课堂相关的信息。例如,与在线课堂相关的信息包括用于课堂教学的PPT以及在课间休息时用于领舞的视频。例如,如图4所示,多帧图像的每帧图像还可以包括第二对象视频展示区域103。例如,第二对象视频展示区域103用于展示在在线课堂中授课的教师的视频。
例如,在步骤S30中,响应于多帧图像中具有舞蹈动作的图像的帧数大于第一预定阈值,将候选舞蹈片段判定为舞蹈片段,包括:响应于多帧图像中包括展示了舞蹈图像的信息展示区域101的图像的帧数大于第一预定阈值,将候选舞蹈片段判定为舞蹈片段。
例如,通过基于候选舞蹈片段的多帧图像的至少部分帧图像的信息展示区域101是否展示了舞蹈图像判定候选舞蹈片段判定为舞蹈片段可以加快检测速度,提升检测精度(相比于检测对象视频展示区域102是否具有舞蹈动作)。这是因为,视频的图像帧的信息展示区域大部分时间用于播放用于课堂教学的PPT等,且用于课堂教学的PPT通常文字而不具有的人体,因此,在视频的图像帧的信息展示区域101用于播放用于课堂教学的PPT的情况下,可以判定信息展示区域101不包括人体,此种情况下,可以直接判定对应于播放用于课堂教学的PPT的视频片段包括的图像没有展示舞蹈图像,而无需判断人体是否展示了舞蹈动作(相比于检测对象视频展示区域102)。
例如,响应于多帧图像中包括展示了舞蹈图像的信息展示区域101的图像的帧数大于第一预定阈值,将候选舞蹈片段判定为舞蹈片段包括:判定候选舞蹈片段的多帧图像的至少部分帧图像的每帧图像的信息展示区域101是否包括站立人体,在该信息展示区域101包括站立人体的情况下,判定该信息展示区域101所在的图像为包括展示了舞蹈图像的信息展示区域101的图像。例如,通过判定候选舞蹈片段的多帧图像的至少部分帧图像的每帧图像的信息展示区域101是否包括站立人体来确定候选舞蹈片段判定为舞蹈片段,可以进一步的加快检测速度。
下面对判断音频片段是否包括时长大于等于预定时间长度的音乐片段的方法进行示例性说明。
例如,在步骤S20中,视频片段包括的对应于音乐片段的视频子片段(也即,候选舞蹈片段)包括音乐片段以及与音乐片段在时间上对齐的多个图像(与音乐片段在同一时间段录制多个图像)。
例如,除步骤S10-步骤S30之外,舞蹈片段识别方法还包括以下的步骤S51和步骤S52。
步骤S51:将音频片段划分为多个音频子片段。
步骤S52:响应于多个音频子片段中顺次相接的第一数目音频子片段均被判定为音乐子片段,将顺次相接的第一数目音频子片段的组合判定为音乐片段的至少部分。第一数目为不小于三的整数。
例如,步骤S51和步骤S52可以在执行步骤S10之后,执行步骤S20之前被执行。例如,步骤S51和步骤S52可以被顺次执行。
例如,通过将音频片段划分为多个音频子片段,并将顺次相接的第一数目音频子片段的组合判定为音乐片段的至少部分,可以利用滑窗规则来提升识别音频片段中音乐片段的准确性。
例如,在步骤S51中,可以使得音频片段包括多个音频子片段的时间长度为第二时间长度t2。例如,第二时间长度t2的取值可以根据实际应用需求进行设定,本公开的至少一个实施例对此不作具体限定。例如,第一时间长度t1可以是第二时间长度t2的整数倍。例如,第二时间长度t2可以等于5秒或者其它适用的数值。
例如,第一数目和第二时间长度t2的乘积大于等于预定时间长度,此种情况下,可以将在步骤S52中判定的顺次相接的第一数目音频子片段的组合作为骤S20中时长大于等于预定时间长度的音乐片段的至少部分。
例如,可以将音频片段包括的多个音频子片段中顺次相接的所有音频子片段(大于等于第一数目)的组合作为骤S20中时长大于等于预定时间长度的音乐片段,对应地,音乐片段的长度大于等于第一数目和第二时间长度t2的乘积;此种情况下,可以判断(例如,采用下面的步骤S61-步骤S64或者其它适用的方法进行判断)经由步骤S51获取的多个音频子片段的每个是否为音乐子片段。又例如,可以将音频片段包括的多个音频子片段中顺次相接的第一数目音频子片段的组合作为骤S20中时长大于等于预定时间长度的音乐片段,对应地,音乐片段的长度等于第一数目和第二时间长度t2的乘积;此种情况下,对于一些音频片段,可以仅针对音频片段包括部分音频子片段进行判断(例如,采用下面的步骤S61-步骤S64或者其它适用的方法进行判断),由此可以加快识别音频片段中音乐片段的速度。
在一些示例中,在步骤S52中,第一数目的取值可以根据实际经验进行设定。例如,第一数目可以为位于3-15(例如,3-12)中的任意的正整数;对应地,预定时间长度例如可以为15秒-75秒(15秒-60秒)。在另一些示例中,非音乐子片段(也即,不包括音乐子片端的音频子片段)可能被错误的判定为音乐子片段,且非音乐子片段被错误的判定为音乐子片段的概率为Mw(例如,第三音乐识别模型将非音乐子片段错误的判定为音乐子片段的概率为Mw),此种情况下,第一数目num_1的取值可以基于如下的表达式计算获得:(Mw)num _ 1≤Wmax,此处,Wmax是允许的(用户允许的)音乐片段识别误差的上限。例如,通过使用上述表达式确定第一数目num_1的取值,可以在用于判定音频子片段是否为音乐子片段的方法更新后(对应地,非音乐子片段被错误的判定为音乐子片段的概率可能改变)和/或用户对音乐片段识别误差的容忍度改变后,自动设置一个与更新后的判定方法和/或改变后的误差容忍度匹配的第一数目num_1,由此可以提升本公开的至少一个实施例提供的舞蹈片段识别方法的适用性、鲁棒性等。
本公开的发明人在研究中还注意到,在线课堂视频包括的音频片段包含噪声和电子音(电子杂音),因此,使用用于线下场景的音乐识别模型识别在线课堂视频包括的音频片段中音乐片段的识别效果较差(例如,准确度低和/或漏检率高)。
例如,除步骤S10-步骤S30、步骤S51和步骤S52之外,舞蹈片段识别方法还包括以下的步骤S61-步骤S64。
步骤S61:使用第一音乐识别模型提取多个音频子片段中至少部分音频子片段的每个音频子片段的第一特征向量。
步骤S62:将多个音频子片段中至少部分音频子片段的每个音频子片段切分为第二数目的音频亚子片段,并使用第二音乐识别模型提取第二数目的音频亚子片段的每个的第二特征向量。
步骤S63:拼接对应于同一个音频子片段的第一特征向量和第二数目的第二特征向量,以获取对应于同一个音频子片段的拼接后的特征向量。
步骤S64:将对应于同一个音频子片段的拼接后的特征向量提供给第三音乐识别模型,以使用第三音乐识别模型判定同一个音频子片段是否为音乐子片段。
例如,步骤S61-步骤S64可以在执行步骤S51之后,执行步骤S52之前被执行。例如,步骤S61-步骤S64可以按照步骤S61、步骤S62、步骤S63和步骤S64的顺序被执行。又例如,步骤S61-步骤S64可以按照步骤S61+步骤S62(也即,步骤S61和步骤S62同时被执行)、步骤S63和步骤S64可以被顺次执行。再例如,步骤S61-步骤S64可以按照步骤S62、步骤S61、步骤S63和步骤S64的顺序被执行。
例如,在本公开的至少一个实施例中,使用第一音乐识别模型提取音频子片段的第一特征向量,使用第二音乐识别模型提取上述音频子片段包括的第二数目的音频亚子片段的每个的第二特征向量,通过拼接第一特征向量和第二数目的第二特征向量来获取对应于上述音频子片段的拼接后的特征向量,并将上述拼接后的特征向量提供给第三音乐识别模型,以使用第三音乐识别模型判定同一个音频子片段是否为音乐子片段,此种情况下,可以同时利用音频子片段的全局特征(例如,低频特征)和局部特征(例如,高频特征)来判定该音频子片段是否为音乐子片段,由此可以提升判定准确性以及提升本公开的至少一个实施例提供的判定音频子片段是否为音乐子片段的方法的适用范围。例如,可以使得本公开的至少一个实施例提供的判定音频子片段是否为音乐子片段的方法可以用于判定特定音频子片段(例如,2s音乐,1s杂音,2s音乐顺序的组合片段)是否为音乐子片段。
例如,在本公开的至少一个实施例中,第一神经网络、第二神经网络和第三神经网络为三个独立的神经网络,分别具有输入和输出。
例如,在本公开的至少一个实施例中,采用了上述的步骤S61-步骤S63涉及的第一神经网络和第二神经网络提取对应于同一个音频子片段的第一特征向量和第二数目的第二特征向量,以获取对应于同一个音频子片段的拼接后的特征向量,并使得独立于第一神经网络和第二神经网络的第三神经网路基于拼接后的特征向量判定上述同一个音频子片段是否为音乐子片段;相比于采用具有多种kernal size(多种感受野)的单个模型(例如,单个卷积模型,单个卷积神经网络)提取特征向量,可以使得本公开的至少一个实施例提供的判定音频子片段是否为音乐子片段的方法对音乐、杂音的复合片段抗性更好,鲁棒性更强,并使得本公开的至少一个实施例提供的判定音频子片段是否为音乐子片段的方法具有更高的准确率。
在一个示例中,可以针对多个音频子片段包括的多个音频子片段的每个音频子片段执行步骤S61-步骤S64,以判断多个音频子片段包括的多个音频子片段的每个音频子片段是否为音乐子片段。例如,在上述一个示例中,对于步骤S52,可以在多个音频子片段中顺次相接的第一数目音频子片段均被判定为音乐子片段的情况下,将顺次相接的第一数目音频子片段的组合判定为音乐片段。又例如,在上述一个示例中,对于步骤S52,可以将顺次相接的所有音乐子片段的组合判定为音乐片段(此处,顺次相接的所有音乐子片段的大于第一数目);此种情况下,可以从音频片段中检测出时间长度更长的音乐片段(例如,完整的音乐判断),由此可以降低漏掉视频片段的部分舞蹈子片段判断的可能性。
在另一个示例中,对于一些音频片段,可以针对多个音频子片段包括的多个音频子片段的部分音频子片段执行步骤S61-步骤S64;例如,在判定该音频片段包括的多个音频子片段的部分音频子片段中顺次相接的第一数目音频子片段均被判定为音乐子片段的情况下,即可将顺次相接的第一数目音频子片段的组合判定为音乐片段,并停止判定该音频片段包括的多个音频子片段包括的剩余的未被检测的音频子片段是否为音乐子片段,此种情况下,可以提升识别音频片段中音乐片段的效率。
例如,在步骤S61中,第一音乐识别模型为第一神经网络,且被配置为输出第一特征向量。例如,第一神经网络用于从音频子片段中提取第一特征向量(例如,音频子片段的全局特征)。例如,第一神经网络包括至少两层全连接层,第一神经网络包括的倒数第二层全连接层(位于第一神经网络包括的最后一层全连接层的前一层全连接层)被配置为输出第一特征向量。
例如,在步骤S62中,第二音乐识别模型为第二神经网络,且被配置为输出第二特征向量。例如,第二神经网络用于从音频子片段包括的第二数目的音频亚子片段中提取第二数目个第二特征向量(例如,音频子片段的局部特征)。例如,第二神经网络包括至少两层全连接层,第二神经网络包括的倒数第二层全连接层(位于第二神经网络包括的最后一层全连接层前一层的全连接层)被配置为输出第二特征向量。
例如,第二特征向量的维度d与第二数目num_2的乘积等于第一特征向量的维度(也即,num_2×d)。例如,第二特征向量的维度d可以为60或者其它适用的数值,num_2为5或者其它适用的数值。
例如,在步骤S63中,可以针对对应于同一个音频子片段的第一特征向量和第二数目的第二特征向量执行拼接(concatenate)操作,以获取对应于同一个音频子片段的拼接后的特征向量。例如,拼接后的特征向量的维度等于第一特征向量的维度的二倍,也即,2×num_2×d。例如,拼接后的特征向量的维度等于10×d。
例如,在步骤S64中,第三音乐识别模型被配置为接收上述拼接后的特征向量,以及基于上述拼接后的特征向量判定上述同一个音频子片段是否为音乐子片段。
例如,第一神经网络和第二神经网络可以为一维卷积神经网络(CNN)或者其它适用的神经网络,第三神经网络可以为多层神经网络(也被称为深度神经网络)或者其它适用的神经网络。
例如,多层神经网络包括多层全连接层,但不具有卷积层。例如,多层神经网络被配置为接收上述拼接后的特征向量。例如,多层神经网络的最后一层全连接层被配置为输出一个一维矩阵[a3,b3],该一维矩阵的元素a3和b3分别用于表示上述同一个音频子片段为音乐子片段的概率以及上述同一个音频子片段为非音乐片段的概率。例如,可以使用Softmax函数对多层神经网络的最后一层全连接层的输出(例如,一维矩阵)执行Softmax操作,以获得一维矩阵[a4,b4],a4为上述同一个音频子片段为音乐子片段的概率,b4为上述同一个音频子片段为非音乐片段的概率,且a4和b4满足以下的表达式:a4+b4=1;0≤a4≤1;0≤b4≤1。
例如,可以采用本公开的至少一个实施例提供的用于音乐片段判定的神经网络的训练方法来训练第一神经网络、第二神经网络和第三神经网络。
例如,本公开的至少一个实施例提供的舞蹈片段识别方法还包括基于本公开的至少一个实施例提供的用于音乐片段判定的神经网络的训练方法训练第一神经网络、第二神经网络和第三神经网络。例如,第一神经网络、第二神经网络和第三神经网络的具体训练方法可以参见本公开的至少一个实施例提供的用于音乐片段判定的神经网络的训练方法,在此不再赘述。
本公开的至少一个实施例还提供了一种用于音乐片段判定的神经网络的训练方法。图5是本公开的至少一个实施例提供的用于音乐片段判定的神经网络的训练方法的示例性流程图。如图5所示,该用于音乐片段判定的神经网络的训练方法包括以下的步骤S810-步骤S830。
步骤S810:使用第一组音频片段训练第一神经网络并将训练后的第一神经网络作为第一音乐识别模型。
步骤S820:使用第二组音频片段训练第二神经网络并将训练后的第二神经网络作为第二音乐识别模型。
步骤S830:基于第三组音频片段、第一音乐识别模型和第二音乐识别模型训练第三神经网络,并将训练后的第三神经网络作为第三音乐识别模型。
例如,第一组音频片段和第三组音频片段的每个音频片段的时长均为第一时长,第二组音频片段的每个音频片段的时长为第二时长,第二时长小于第一时长。例如,第二时长与第二数目的乘积等于第一时长。
例如,步骤S810-步骤S830可以在执行舞蹈片段识别方法之前执行,由此可以在执行舞蹈片段识别方法的过程中采用通过本公开的至少一个实施例提供的用于音乐片段判定的神经网络的训练方法训练的到的第一音乐识别模型、第二音乐识别模型和第三音乐识别模型判定音频子片段是否为音乐子片段。
例如,步骤S810、步骤S820和步骤S830可以顺次被执行;又例如,步骤S820、步骤S810和步骤S830可以顺次被执行;再例如,步骤S810+步骤S820(也即,步骤S810和步骤S820同时被执行)和步骤S830可以顺次被执行。
例如,通过采用步骤S810-步骤S830获取第一音乐识别模型、第二音乐识别模型和第三音乐识别模型,可以在判定音频子片段是否为音乐子片段的过程中,分别利用第一音乐识别模型和第二音乐识别模型获取音频子片段的全局特征和局部特征,将利用上述音频子片段的全局特征和局部特征获取的拼接后的特征向量提供给第三音乐识别模型,并使用第三音乐识别模型来判定该音频子片段是否为音乐子片段,由此可以在判定音频子片段是否为音乐子片段过程中更好的利用音频子片段的全局特征和局部特征,进而可以提升判定音频子片段是否为音乐子片段的准确性。
例如,在步骤S810中,第一组音频片段的每个音频片段的时间长度可以等于步骤S10中音频片段的时间长度,也即,第一组音频片段的每个音频片段的时间长度可以等于第一时间长度t1(例如,60秒),由此使得通过步骤S810获取的第一音乐识别模型(也即,训练后的第一神经网络)更适用于在步骤S61中提取多个音频子片段中至少部分音频子片段的每个音频子片段的第一特征向量。
例如,在步骤S810中,使用第一组音频片段训练第一神经网络,包括:提取第一组音频片段的每个音频片段的音频特征;采用第一组音频片段的每个音频片段的音频特征训练第一神经网络。
例如,音频片段的音频特征是指音频片段的频域特征(频域参数);例如,从音频片段中提取的音频特征可以更好的体现音频的内容差别和音色差别。例如,音频片段的频谱特征可以是音频片段的梅尔频率倒谱系数(Mel-scale Frequency CepstralCoefficients,MFCC)以及伽马通滤波器系数(Gammatone Frequency CepstralCoefficients,GFCC)的至少一个。
例如,可以提取第一组音频片段的每个音频片段的MFCC音频特征和GFCC音频特征,并将第一组音频片段的每个音频片段的MFCC音频特征和GFCC音频特征拼接为拼接后的音频特征(例如,38维音频特征),并将该拼接后的音频特征(例如,38维音频特征)作为第一组音频片段的每个音频片段的音频特征。例如,通过将通过拼接第一组音频片段的每个音频片段的MFCC音频特征和GFCC音频特征获得的拼接后的音频特征作为第一组音频片段的每个音频片段的音频特征,可以提升训练后的第一神经网络的质量,例如,可以提升基于训练后的第一神经网络提取的音频片段的第一特征向量的质量。
例如,在步骤S810中,第一神经网络包括的最后一层全连接层被配置为输出一个一维矩阵[c1,d1],该一维矩阵的元素c1和d1分别用于表示第一组音频片段的每个音频片段为音乐子片段的概率以及第一组音频片段的每个音频片段为非音乐片段的概率。例如,可以使用Softmax函数对第一神经网络的最后一层全连接层的输出(例如,一维矩阵)执行Softmax操作(对应地,第一神经网络包括Softmax层),以获得一维矩阵[c2,d2],c2为第一组音频片段的每个音频片段为音乐子片段的概率,d2为第一组音频片段的每个音频片段为非音乐片段的概率,且c2和d2满足以下的表达式:c2+d2=1;0≤c2≤1;0≤d2≤1。例如,可以通过调整第一神经网络的参数,使得第一神经网络的损失函数最小化(针对第一组音频片段的音频片段),来获得第一神经网络的优化后的参数,以及训练后的第一神经网络。例如,针对第一组音频片段的多个音频片段,可以将实际值和第一神经网络的预测值之间的平方差的平均值作为第一神经网络损失函数。
例如,第一神经网络可以为一维卷积神经网络(CNN),此种情况下,第一音乐识别模型可以为CNN一维卷积模型。例如,通过使得第一神经网络为一维卷积神经网络,不仅可以利用卷积的不变性来克服语音信号本身的多样性,还有利于实现并行运算(例如,大规模并行化运算),由此可以提高步骤S61的执行速度,也即,可以提升从多个音频子片段中至少部分音频子片段的每个音频子片段提取第一特征向量的速度。
例如,在构建第一音乐识别模型(第一神经网络)的过程中,可以采用平滑标签策略、学习率衰减策略和丢弃策略(drop out策略)中的至少一个。
例如,在步骤S820中,第二组音频片段的每个音频片段的时间长度可以等于步骤S51中音频子片段的时间长度,也即,第二组音频片段的每个音频片段的时间长度可以等于第二时间长度t2(例如,5秒),由此使得通过步骤S820获取的第二音乐识别模型(也即,训练后的第二神经网络)更适用于在步骤S62中提取第二数目的音频亚子片段的每个的第二特征向量。
例如,可以通过切分第一组音频片段的每个音频片段获取第二组音频片段。例如,可以将第一组音频片段的每个音频片段切分为第二数目的音频子片段,并将通过切分第一组音频片段的每个音频片段获取的多个音频子片段的至少部分作为第二组音频片段。
例如,在步骤S820中,使用第二组音频片段训练第二神经网络包括提取第二组音频片段的每个音频片段的音频特征。例如,可以提取第二组音频片段的每个音频片段的MFCC音频特征和GFCC音频特征,并将第二组音频片段的每个音频片段的MFCC音频特征和GFCC音频特征拼接为拼接后的音频特征(例如,38维音频特征),并将该拼接后的音频特征(例如,38维音频特征)作为第二组音频片段的每个音频片段的音频特征。例如,通过将通过拼接第二组音频片段的每个音频片段的MFCC音频特征和GFCC音频特征获得的拼接后的音频特征作为第二组音频片段的每个音频片段的音频特征,可以提升训练后的第二神经网络的质量,例如,可以提升基于训练后的第二神经网络提取的音频片段的特征向量的质量。
例如,第二神经网络可以为一维卷积神经网络(CNN),此种情况下,第二音乐识别模型可以为CNN一维卷积模型。例如,通过使得第二神经网络为一维卷积神经网络,不仅可以利用卷积的不变性来克服语音信号本身的多样性,还有利于实现并行运算(例如,大规模并行化运算),由此可以提高步骤S62的执行速度,也即,可以提升从第二数目的音频亚子片段的每个中提取第二特征向量的速度。例如,在构建第二音乐识别模型(第二神经网络)的过程中,可以采用平滑标签策略、学习率衰减策略和丢弃策略(drop out策略)中的至少一个。
例如,第二神经网络包括的最后一层全连接层被配置为输出一个一维矩阵[c3,d3],该一维矩阵的元素c3和d3分别用于表示第二组音频片段的每个音频片段为音乐子片段的概率以及第二组音频片段的每个音频片段为非音乐片段的概率。例如,可以使用Softmax函数对第二神经网络的最后一层全连接层的输出(例如,一维矩阵)执行Softmax操作,以获得一维矩阵[c4,d4],c4为第二组音频片段的每个音频片段为音乐子片段的概率,d4为第二组音频片段的每个音频片段为非音乐片段的概率,且c4和d4满足以下的表达式:c4+d4=1;0≤c4≤1;0≤d4≤1。例如,可以通过调整第二神经网络的参数,使得第二神经网络的损失函数最小化(针对第二组音频片段的音频片段),来获得第二神经网络的优化后的参数,以及训练后的第二神经网络。
例如,在步骤S830中,基于第三组音频片段、第一音乐识别模型和第二音乐识别模型训练第三神经网络,并将训练后的第三神经网络作为第三音乐识别模型,包括以下的步骤S831-步骤S835。
步骤S831:基于第一音乐识别模型提取第三组音频片段的每个音频片段的第一训练特征向量。
步骤S832:将第三组音频片段的每个音频片段划分为预定数目的音频子片段。
步骤S833:基于第二音乐识别模型提取预定数目的音频子片段的每个的第二训练特征向量。
步骤S834:拼接第一训练特征向量和第二训练特征向量,以获取拼接后的训练特征向量。
步骤S835:将拼接后的训练特征向量提供给第三神经网络,并基于第三神经网络的输出值调整第三神经网络的参数来使得损失函数最小化。
例如,步骤S831-步骤S85可以按照步骤S831、步骤S832、步骤S833、步骤S834和步骤S835的顺序被执行。又例如,步骤S831-步骤S85可以按照步骤S832、步骤S833、步骤S831、步骤S834和步骤S835的顺序被执行。再例如,步骤S831可以在执行步骤S832和步骤S833的至少一个的过程中被执行。
例如,在步骤S830中,第三组音频片段的每个音频片段的时间长度可以等于步骤S10中音频片段的时间长度,也即,第三组音频片段的每个音频片段的时间长度可以等于第一时间长度t1(例如,60秒),由此使得通过步骤S830获取的第三音乐识别模型(也即,训练后的第三神经网络)更适用于在步骤S63中判定音频子片段是否为音乐子片段。例如,第三神经网络可以为深度神经网络;例如,第三音乐识别模型可以为多层感知机模型。
例如,在步骤S830中(也即,在训练第三神经网络的过程中),第一音乐识别模型和第二音乐识别模型的参数保持不变,也即,在步骤S830中,将第一音乐识别模型和第二音乐识别模型均作为特征提取器。例如,第三组音频片段可以与第一组音频片段相同或者不同。
例如,在步骤S831中,训练后的第一神经网络(也即,第一音乐识别模型)可以从第三组音频片段的每个音频片段的音频特征中提取第一训练特征向量;例如,训练后的第一神经网络包括至少两层全连接层,训练后的第一神经网络包括的倒数第二层全连接层(位于训练后的第一神经网络包括的最后一层全连接层的前一层全连接层)被配置为输出第一训练特征向量。例如,第一训练特征向量的维度为num_2×d(例如,5×d),此处,d是第二训练特征向量的维度,num_2是第二数目。
例如,在步骤S832中,预定数目可以为第二数目num_2;预定数目的音频子片段的每个音频子片段的时间长度可以为第二时间长度t2(例如,5秒)。
例如,步骤S833中,训练后的第二神经网络(也即,第二音乐识别模型)可以从第三组音频片段的每个音频片段的音频特征中提取第二训练特征向量;例如,训练后的第二神经网络包括至少两层全连接层,训练后的第二神经网络包括的倒数第二层全连接层(位于训练后的第二神经网络包括的最后一层全连接层的前一层全连接层)被配置为输出第二训练特征向量。例如,每个第二训练特征向量的维度可以为d。
例如,在步骤S834中,可以针对第三组音频片段中对应于同一个音频子片段的第一训练特征向量和第二数目的第二训练特征向量执行拼接(concatenate)操作,以获取拼接后的训练特征向量;拼接后的训练特征向量的维度可以为2×num_2×d(例如,10d)。例如,在步骤S834中,用于拼接的第一训练特征向量和第二训练特征向量对应于第三组音频片段中同一个音频片段。
例如,在步骤S835中,将拼接后的训练特征向量提供给第三神经网络,并基于第三神经网络的输出值调整第三神经网络的参数来使得损失函数最小化,包括以下的步骤S835a和步骤S835b。
步骤S835a:将拼接后的训练特征向量提供给第三神经网络。
步骤S835b:基于第三神经网络的输出值调整第三神经网络的参数来使得损失函数最小化。
例如,损失函数的具体设定方法可以参见相关技术。例如,针对多个样品,可以将实际(目标)值和预测值之间的平方差的平均值作为损失函数,并在步骤S835b中,通过调整第三神经网络的参数使得损失函数最小化。
例如,在步骤S835中,第三神经网络可以为多层神经网络,多层神经网络包括多层全连接层,但不具有卷积层。例如,多层神经网络(例如,多层神经网络的第一层全连接层)被配置为接收上述拼接后的训练特征向量;可以使用Softmax函数对多层神经网络的最后一层全连接层的输出执行Softmax操作,并基于执行Softmax操作后获得的数据(作为预测值)以及实际(目标)值调整第三神经网络的参数来使得第三神经网络的损失函数最小化,由此获得第三神经网络的优化后的参数,以及训练后的第三神经网络。
例如,除步骤S810-步骤S830之外,本公开的至少一个实施例提供训练方法还包括步骤S840。
步骤S840:获取音频正样本和音频负样本。例如,本公开的至少一个实施例提供训练方法还包括基于步骤S840获取的音频正样本的至少部分(至少部分个音频正样本)和音频负样本的至少部分(至少部分个音频负样本)构建第一组音频片段、第二组音频片段和第三组音频片段。
例如,步骤S840包括以下的步骤S841和步骤S842。
步骤S841:使用第四音乐识别模型从多个样本音频片段中找出候选正样本和候选负样本。
步骤S842:将候选正样本的至少部分作为音频正样本的至少部分,将候选负样本的至少部分作为音频负样本的至少部分。
例如,在步骤S841中,样本音频片段的时间长度可以等于步骤S10中音频片段的时间长度,也即,样本音频片段的时间长度可以等于第一时间长度t1(例如,60秒),由此使得通过步骤S841找到的候选正样本和候选负样本更适用于训练第一神经网络、第二神经网络和第三神经网络。
例如,第四音乐识别模型可以为用于线下场景的音乐识别模型。例如,可以将样本音频片段的音频特征作为第四音乐识别模型的输入。例如,可以将样本音频片段的MFCC音频特征(例如,42维的三阶MFCC音频特征)作为第四音乐识别模型的输入。
例如,第四音乐识别模型可以识别出多个样本音频片段包括的音乐片段,并输出。例如,可以将被第四音乐识别模型识别为音乐片段的音频子片段标记为候选正样本。
例如,第四音乐识别模型可以识别出多个样本音频片段包括的非音乐片段,并输出;例如,可以将被第四音乐识别模型识别为非音乐片段的音频子片段标记为候选负样本。又例如,可以将多个样本音频片段的未被标记为候选正样本的音频子片段标记为候选负样本。
例如,可以对上述候选正样本和候选负样本的至少一类(例如,全部)进行人工复检。例如,可以通过人工复检将被错误识别为候选正样本标记为候选负样本,并将被错误识别为候选负样本标记为候选正样本,并在步骤S842中,将更新后的候选正样本的至少部分(例如,全部)作为音频正样本的至少部分,将更新后的候选负样本的至少部分(例如,全部)作为音频负样本的至少部分。例如,可以通过人工复检剔除被错误识别为候选正样本标记为候选负样本以及被错误识别为候选负样本标记为候选正样本,并在步骤S842中,将剩余的候选正样本(也即,通过从第四音乐识别模型找到的候选正样本中剔除被错误识别为候选正样本的音频负样本得到的所有候选正样本)的至少部分(例如,全部)作为音频正样本的至少部分,将剩余的候选负样本(也即,通过从第四音乐识别模型找到的候选负样本中剔除被错误识别为候选负样本的音频正样本得到的所有候选负样本)的至少部分(例如,全部)作为音频负样本的至少部分。
例如,在本公开的至少一个实施例中,获取音频正样本和音频负样本包括:利用第四音乐识别模型从多个样本音频片段中找出候选正样本和候选负样本,并将候选正样本的至少部分作为音频正样本的至少部分,将候选负样本的至少部分作为音频负样本的至少部分;此种情况下,可以提升获取音频正样本和音频负样本的效率以及降低训练用于音乐片段判定的神经网络的时间。
例如,在本公开的至少一个实施例中,获取音频正样本和音频负样本还包括:在利用第四音乐识别模型从多个样本音频片段中找出候选正样本和候选负样本之后,在将候选正样本的至少部分作为音频正样本的至少部分,将候选负样本的至少部分作为音频负样本的至少部分之前,对利用第四音乐识别模型从多个样本音频片段中找出候选正样本和候选负样本进行人工复检;此种情况下,可以提升获取音频正样本和音频负样本的准确性以及降低音频正样本和/或音频负样本的漏检率。
本公开的发明人在研究中注意到,通过第四音乐识别模型找到的候选正样本和候选负样本(例如,音频正样本和音频负样本的数据分布)可能包含预定的规律。例如,通过第四音乐识别模型找到的候选正样本可能为倾向于是一些特定类型的音乐,由此第四音乐识别模型可能漏检一些类型的音乐,因此,如果仅使用第四音乐识别模型找到的候选正样本和候选负样本的至少部分作为音频正样本和音频负样本的至少部分,可能会导致第一音乐识别模型、第二音乐识别模型和第三音乐识别模型的至少一个(例如,全部)存在模型偏倚问题(也即,训练后的第一神经网络、第二神经网络和第三神经网络的至少一个存在偏倚问题)。
例如,除步骤S841和步骤S842之外,步骤S840还包括以下的步骤S843。
步骤S843:将人工标定的正样本和负样本分别作为获取音频正样本的至少部分和音频负样本的至少部分。例如,步骤S843中的人工标定的正样本和负样本是指纯人工标定的正样本和负样本。例如,可以使用人工直接从样本音频片段找到正样本(也即,音乐片段)和负样本(也即,非音乐片段)。
例如,通过将人工标定的正样本和负样本分别作为获取音频正样本的至少部分和音频负样本的至少部分可以降低第一音乐识别模型、第二音乐识别模型和第三音乐识别模型的至少一个(例如,全部)存在模型偏倚问题的可能性,也即,可以降低训练后的第一神经网络、第二神经网络和第三神经网络的至少一个(例如,全部)存在偏倚问题的可能性。
本公开的发明人在研究中注意到,一些电子音的特征与音乐特征可能相似,由此,第三音乐识别模型可能将一些包含电子音但不包含音乐的音频子片段错误的识别为音乐片段,由此可能降低第三音乐识别模型的识别准确率。
例如,除步骤S841和步骤S842之外,步骤S840还包括以下的步骤S844。
步骤S844:在训练方法的至少一个示例中,获取音频正样本和音频负样本包括:将电子杂音片段作为音频负样本的至少部分。
例如,通过将电子杂音片段作为音频负样本的至少部分,可以提升第三音乐识别模型的识别准确率和鲁棒性(例如,对电子杂音的鲁邦性),可以提升训练后的第三神经网络的识别准确率和鲁棒性。
例如,用于音乐片段判定的神经网络的训练方法包括以下的步骤S810-步骤S830和步骤S840。例如,步骤S840包括步骤S841、步骤S842、步骤S843和步骤S844。
例如,在训练第一神经网络、第二神经网络和第三神经网络时,采用的音频正样本的总体时间长度可以约为(例如,等于)3个小时,采用的音频负样本的总体时间长度可以大于(例如,远大于)3个小时,采用的电子杂音的总体时间长度可以约为(例如,等于)10分钟。
图6A是本公开的至少一个实施例提供的用于音乐片段判定的神经网络的训练方法的第一部分的示意性流程图;图6B是本公开的至少一个实施例提供的用于音乐片段判定的神经网络的训练方法的第二部分的示意性流程图;图6C示出了本公开的至少一个实施例提供的舞蹈片段识别方法的示意性流程图;图6C还示出了本公开的至少一个实施例提供的训练第三神经网络的部分的示意图。
下面结合图6A-图6C对本公开的至少一个实施例提供的舞蹈片段识别方法和用于音乐片段判定的神经网络的训练方法进行示例性说明。需要说明的是,图6A-图6C以检测在线课堂视频(也可以称之为线上课程)包括的视频片段是否包括舞蹈片段为例对本公开的至少一个实施例提供的用于音乐片段判定的神经网络的训练方法和舞蹈片段识别方法进行示例性说明,但本公开的至少一个实施例不限于此。
例如,如图6A所示,可以使用以下的方法获取用于训练第一神经网络和第二神经网络的正样本和负样本(也即,音频正样本和音频负样本)。
首先,切分海量线上课程长视频,以获取多个(例如,海量)视频片段(视频流),此处,视频片段的时间长度为1分钟。
其次,利用Redis队列(基于Redis的消息队列)传输上述多个视频片段(视频流),此处,Redis是一种数据库。例如,还可以将上述多个视频片段上传至云存储器(例如,阿里云对象存储服务,OSS)和数据库中。
接着,从多个(例如,海量)视频片段中提取多个音频片段,并从上述提取的音频片段中获取正样本和负样本。可以基于以下的两种方法的至少一种从上述提取的多个音频片段中获取正样本和负样本。
在第一种方法中,可以将提取的音频片段提供给线下音乐模型(例如,用于线下场景的音乐识别模型),以将提取的音频片段作为线下音乐模型的输入数据。线下音乐模型可以输出被线下音乐模型识别为正样本的音频子片段。例如,可以对被线下音乐模型识别为正样本的音频子片段进行人工复检,以从被线下音乐模型识别为正样本的音频子片段中找到真正的音乐片段作为音频正样本,以及将被错误的识别为正样本的音频子片段标记为音频负样本。在第二种方法中,不依靠线下音乐模型,而仅使用人工将一些真实的线上场景的音乐数据(音乐片段)标记为音频正样本,将真实的线上场景的非音乐片段标记为音频正样本。
例如,通过采用第一种方法从多个音频片段中获取正样本和负样本,可以提升获取正样本和负样本的效率;通过采用第一种方法从多个音频片段中获取正样本和负样本,可以降低模型(第一音乐识别模型、第二音乐识别模型和第三音乐识别模型的至少一个)存在偏倚问题的可能性。例如,通过结合第一种方法和第二种方法,不仅可以提升获取正样本和负样本的效率,还可以降低模型(第一音乐识别模型、第二音乐识别模型和第三音乐识别模型的至少一个)存在偏倚问题的可能性。
例如,如图6B所示,正负样本的集合(例如,同时采用第一种方法和第二种方法获得的正负样本的集合)可以作为带标签的线上场景片段库,并用于训练第一音乐识别模型、第二音乐识别模型和第三音乐识别模型的至少一个(例如,全部)。
例如,如图6B所示,在训练第一神经网络以获得第一音乐识别模型的过程中(也即,图6B所示的训练CNN音乐模型的过程中),可以使得第一神经网络接收的音频片段的时间长度为5秒(也即,图6B所示的以5秒为单位训练CNN音乐模型);例如,可以将第一神经网络包括的倒数第二层全连接层设置300个神经单元,对应地,可以使用第一神经网络基于时间长度为5秒的音频片段获取300维的特征向量(也即,图6B所示的5秒的音频片段可编码为300维的特征向量)。
例如,如图6B所示,在训练第二神经网络以获得第二音乐识别模型的过程中(也即,图6B所示的训练CNN音乐模型的过程中),可以使得第二神经网络接收的音频片段的时间长度为1秒(也即,图6B所示的以1秒为单位训练CNN音乐模型);例如,可以将第二神经网络包括的倒数第二层全连接层设置60个神经单元,对应地,可以使用第二神经网络基于时间长度为1秒的音频片段获取60维的特征向量(也即,图6B所示的1秒的音频片段可编码为60维的特征向量)。例如,由于时间长度为5秒的音频片段可以划分为5个1秒的音频片段,可以将上述5个1秒的音频片段对应的5个60维的特征向量拼接为300维(5×60维)的特征向量,上述300维(5×60维)的特征向量可用于表示上述时间长度为5秒的音频片段。
例如,如图6B所示,对于同一个时间长度为5秒的音频片段,可以使用第一神经网络获取300维的特征向量来表示上述同一个时间长度为5秒的音频片段,并使用第二神经网络获取300维(5×60维)的特征向量,然后,可以针对上述两个300维的特征向量执行拼接(concatenate)操作来表示上述同一个时间长度为5秒的音频片段,以获取对应于同一个时间长度为5秒的音频片段的600维的特征向量,该600维的特征向量也用于表示上述同一个时间长度为5秒的音频片段;如图6C所示,上述从时间长度为5秒的音频片段中提取的600维的特征向量作为拼接后的特征被用于构建标准多层感知机模型中。例如,上述构建完成的标准多层感知机模型被作为音乐识别器,以用于本公开的至少一个实施例提供的舞蹈片段识别方法中。
例如,如图6C所示,可以基于上述的音乐识别器,并采用如下的方法进行舞蹈片段识别。
首先,如图6C所示,从待预测(待识别)的一分钟视频流(视频片段)中提取音频(音频片段),并将音频(音频片段)切分为12个5秒的短音频(音频子片段)。
其次,如图6C所示,针对上述12个5秒的短音频(音频子片段)的每个,使用上述第一神经网络和第二神经网络获取600维的特征向量(拼接后的特征向量),并将上述600维的特征向量(拼接后的特征向量)输入至音乐识别器中,以判定上述12个5秒的短音频(音频子片段)的每个是音乐子片段还是非音乐子片段。
再次,如图6C所示,判定上述一分钟视频包括的12个5秒的音频子片段中是否有连续的3-12个5秒的音频子片段被识别为音乐子片段;在上述一分钟视频包括的12个5秒的音频子片段中具有连续的3-12个5秒的音频子片段被识别为音乐子片段的情况下,则将上述连续的3-12个5秒的音频子片段对应的视频片段作为候选舞蹈片段。
例如,如图6C所示,可以从候选舞蹈片段中以一秒一帧抽取图片,并针对抽取的图像的每帧,基于openpose提取候选舞蹈片段包括的该帧图像的骨骼信息,以基于候选舞蹈片段包括的多帧图像的骨骼信息判断候选舞蹈片段包括的舞蹈帧数是否超过第一预定阈值;如果判定候选舞蹈片段包括的舞蹈帧数超过第一预定阈值,则将判断候选舞蹈片段判定为音乐和舞蹈片段;如果判定候选舞蹈片段包括的舞蹈帧数没有超过第一预定阈值,则将判断候选舞蹈片段判定为非舞蹈片段。
本公开的至少一个实施例还提供了一种存储介质(例如,非暂时性存储介质)。图7是本公开的至少一个实施例提供的存储介质的示意性框图。如图7所示,该存储介质存储有计算机程序指令,计算机程序指令被处理器运行时使得计算机执行以下的方法包括:提取视频片段中的音频片段;响应于音频片段包括时长大于等于预定时间长度的音乐片段,将视频片段包括的对应于音乐片段的视频子片段作为候选舞蹈片段;响应于候选舞蹈片段的多帧图像中具有舞蹈动作的图像的帧数大于第一预定阈值,将候选舞蹈片段判定为舞蹈片段。例如,该存储介质可以提升识别视频片段中舞蹈片段的速度。
例如,存储介质可能有多种形式,包括有形的存储介质,载波介质或物理传输介质等。稳定的储存介质可以包括:光盘或磁盘,以及其他计算机或类似设备中使用的,能够实现图中所描述的系统组件的存储系统。不稳定的存储介质可以包括动态内存,例如计算机平台的主内存等。有形的传输介质可以包括同轴电缆、铜电缆以及光纤,例如计算机系统内部形成总线的线路。载波传输介质可以传递电信号、电磁信号、声波信号或光波信号等。这些信号可以由无线电频率或红外数据通信的方法所产生。通常的存储介质(例如,计算机可读介质)包括硬盘、软盘、磁带、任何其他磁性介质;CD-ROM、DVD、DVD-ROM、任何其他光学介质;穿孔卡、任何其他包含小孔模式的物理存储介质;RAM、PROM、EPROM、FLASH-EPROM,任何其他存储器片或磁带;传输数据或指令的载波、电缆或传输载波的连接装置、任何其他可以利用计算机程序指令(例如,程序代码)和/或计算机读取的数据。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序指令(例如,程序代码),上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本公开的至少一个实施例还提供了一种舞蹈片段识别装置。图8是本公开的至少一个实施例提供的舞蹈片段识别装置的示意性框图。如图8所示,该舞蹈片段识别装置包括:处理器和存储器。存储器中存储有适于处理器执行的计算机程序指令,计算机程序指令被处理器运行时使得处理器执行以下的方法:提取视频片段中的音频片段;响应于音频片段包括时长大于等于预定时间长度的音乐片段,将视频片段包括的对应于音乐片段的视频子片段作为候选舞蹈片段;响应于候选舞蹈片段的多帧图像中具有舞蹈动作的图像的帧数大于第一预定阈值,将候选舞蹈片段判定为舞蹈片段。例如,该舞蹈片段识别装置可以提升识别视频片段中舞蹈片段的速度。
例如,该处理器例如是中央处理单元(CPU)、图形处理器GPU、张量处理器(TPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,例如,该处理器可以实现为通用处理器,并且也可以为单片机、微处理器、数字信号处理器、专用的图像处理芯片、或现场可编程逻辑阵列等。例如,存储器可以包括易失性存储器和非易失性存储器的至少一种,例如存储器可以包括只读存储器(ROM)、硬盘、闪存等。相应地,该存储器可以实现为一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,在所述计算机可读存储介质上可以存储一个或多个计算机程序指令。处理器可以运行所述程序指令,以执行本公开的至少一个实施例提供的任一舞蹈片段识别方法。该存储器还可以存储其他各种应用程序和各种数据,例如,所述应用程序使用和/或产生的各种数据等。
本公开的至少一个实施例还提供了另一种舞蹈片段识别装置。图9是本公开的至少一个实施例提供的另一种舞蹈片段识别装置的示意性框图。如图9所示,上述另一种舞蹈片段识别装置包括:音频片段提取模块、候选舞蹈片段判定模块和舞蹈片段判定模块。音频片段提取模块被配置为提取视频片段中的音频片段;候选舞蹈片段判定模块被配置为响应于音频片段包括时长大于等于预定时间长度的音乐片段,将视频片段包括的对应于音乐片段的视频子片段作为候选舞蹈片段;舞蹈片段判定模块被配置为响应于候选舞蹈片段的多帧图像中具有舞蹈动作的图像的帧数大于第一预定阈值,将候选舞蹈片段判定为舞蹈片段。例如,该舞蹈片段识别装置可以提升识别视频片段中舞蹈片段的速度。
例如,本公开的至少一个实施例提供的音频片段提取模块、候选舞蹈片段判定模块和舞蹈片段判定模块以及本公开的至少一个实施例描述的功能可以通过软件、固件、硬件(例如,硬件逻辑部件)及其任意组合实现,在一些示例中,本公开的至少一个实施例提供的音频片段提取模块、候选舞蹈片段判定模块和舞蹈片段判定模块可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
图10示出了本公开的至少一个实施例提供的舞蹈片段识别装置的示例性的场景图。如图10所示,该舞蹈片段识别装置300可以包括终端310、网络320、服务器330以及数据库340。例如,图10示出的舞蹈片段识别装置可以根据本公开的至少一个实施例提供舞蹈片段识别方法实现。
例如,终端310可以是图10中示出的电脑310-1、便携式终端310-2,但本公开的至少一个实施例不限于此。可以理解的是,终端还可以是能够执行数据的接收、处理和显示的任何其他类型的电子设备,其可以包括台式电脑、笔记本电脑、平板电脑、手机的任意一个或任意组合。
例如,所述网络320可以是单个网络,或至少两个不同网络的组合。例如,网络320可以包括但不限于局域网、广域网、公用网络、专用网络、因特网、移动通信网络等中的一种或几种的组合。
例如,该服务器330可以为一个单独的服务器,或者为一个服务器群组,服务器群组内的各个服务器通过有线网络或无线网络进行连接。有线网络例如可以采用双绞线、同轴电缆或光纤传输等方式进行通信,无线网络例如可以采用3G/4G/5G移动通信网络、蓝牙、Zigbee或者WiFi等通信方式。本公开对网络的类型和功能在此不作限制。该一个服务器群组可以是集中式的,例如数据中心,也可以是分布式的。服务器可以是本地的或远程的。例如,该服务器330可以为通用型服务器或专用型服务器,可以为虚拟服务器或云服务器等。
例如,数据库340可用于存储从终端310和服务器330工作中所利用、产生和输出的各种数据。数据库340可以经由网络320与服务器330或服务器330的一部分相互连接或通信,或直接与服务器330相互连接或通信,或者经由上述两种方式的结合实现与服务器330相互连接或通信。在一些实施例中,数据库340可以是独立的设备。在另一些实施例中,数据库340也可以集成在终端310和服务器340中的至少一个中。例如,数据库340可以设置在终端310上,也可以设置在服务器340上。又例如,数据库340也可以是分布式的,其一部分设置在终端310上,另一部分设置在服务器340上。
例如,服务器330可以接收(例如,从数据库340或者消息系统接收)多个视频片段,并对多个视频片段的每个执行本公开的至少一个实施例提供的舞蹈片段识别方法。例如,通过执行本公开的至少一个实施例提供的舞蹈片段识别方法识别出的舞蹈片段可以被存储到数据库(例如,专业数据库)中,相比于将识别出的舞蹈片段存储到终端310(例如,电脑)中,可以在需要时更方便的利用识别出的舞蹈片段。例如,在需要利用识别出的舞蹈片段制作例如短视频摘要时,终端310可以从数据库340中读取识别出的舞蹈片段。
例如,服务器330可以接收第一组音频片段、第二组音频片段和第三组音频片段。又例如,服务器330可以接收在线课程视频,并基于用于音乐片段判定的神经网络的训练方法获取第一组音频片段、第二组音频片段和第三组音频片段的至少部分。
例如,服务器330可以基于用于音乐片段判定的神经网络的训练方法并利用第一组音频片段、第二组音频片段和第三组音频片段构建第一音乐识别模型、第二音乐识别模型和第三音乐识别模型。该第一音乐识别模型、第二音乐识别模型和第三音乐识别模型可用于本公开的至少一个实施例提供的舞蹈片段识别方法中。
根据本申请实施例的方法也可以借助于图11所示的计算设备400的架构来实现。
图11示出了本公开的至少一个实施例提供的计算设备400的架构。如图11所示,计算设备400可以包括总线410、一个或至少两个CPU 420、只读存储器(ROM)430、随机存取存储器(RAM)440、连接到网络的通信端口450、输入/输出组件460、硬盘470等。计算设备400中的存储设备(例如,ROM 430或硬盘470)可以存储本公开的至少一个实施例提供的舞蹈片段识别方法对应的指令以及各种相关的数据或文件。计算设备400还可以包括人机用户界面480。当然,图11所示的架构只是示例性的,在实现不同的设备时,根据实际需要,可以省略图11示出的计算设备中的一个或至少两个组件。
例如,基于本公开的至少一个实施例提供的舞蹈片段识别方法的装置或程序模块可以运行在各种操作系统(例如,操作系统包括但不限于Windows、Linux、IOS或Android),由此提升了本公开的至少一个实施例提供的舞蹈片段识别方法、舞蹈片段识别装置和存储介质的应用范围。
例如,本公开的至少一个实施例提供的舞蹈片段识别方法可以降低人工成本和硬件设备成本(例如,可以在服务器实现,无需使用多个电脑)。
例如,本公开的至少一个实施例提供的舞蹈片段识别方法的速度快,可以对在线课堂视频进行实时处理(可以跟上在线课堂视频流的速度),此种情况下,家长可以实时看到孩子所在课堂的舞蹈片段。
例如,本公开的至少一个实施例提供的舞蹈片段识别方法基于人工智能深度学习技术以及滑窗规则,通过独有的大量真实数据集进行训练,模型针对性强,识别效果大大提升。
例如,本公开的至少一个实施例提供的舞蹈片段识别方法技术扩展性强,该技术框架可以通过接受其他新开发的行为识别接口,同步检测其他行为。
虽然上文中已经用一般性说明及具体实施方式,对本公开作了详尽的描述,但在本公开实施例基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本公开精神的基础上所做的这些修改或改进,均属于本公开要求保护的范围。
以上所述仅是本公开的示范性实施方式,而非用于限制本公开的保护范围,本公开的保护范围由所附的权利要求确定。

Claims (19)

1.一种舞蹈片段识别方法,包括:
提取视频片段中的音频片段;
响应于所述音频片段包括时长大于等于预定时间长度的音乐片段,将所述视频片段包括的对应于所述音乐片段的视频子片段作为候选舞蹈片段;
响应于所述候选舞蹈片段的多帧图像中具有舞蹈动作的图像的帧数大于第一预定阈值,将所述候选舞蹈片段判定为舞蹈片段;
所述舞蹈片段识别方法还包括:
将所述音频片段划分为多个音频子片段;
响应于所述多个音频子片段中顺次相接的第一数目音频子片段均被判定为音乐子片段,将所述顺次相接的第一数目音频子片段的组合判定为所述音乐片段的至少部分;
所述舞蹈片段识别方法还包括:
使用第一音乐识别模型提取所述多个音频子片段中至少部分音频子片段的每个音频子片段的第一特征向量;
将所述多个音频子片段中至少部分音频子片段的每个音频子片段切分为第二数目的音频亚子片段,并使用第二音乐识别模型提取所述第二数目的音频亚子片段的每个的第二特征向量;
拼接对应于同一个音频子片段的所述第一特征向量和所述第二数目的第二特征向量,以获取对应于所述同一个音频子片段的拼接后的特征向量;以及
将所述对应于所述同一个音频子片段的拼接后的特征向量提供给第三音乐识别模型,以使用所述第三音乐识别模型判定所述同一个音频子片段是否为音乐子片段。
2.根据权利要求1所述的舞蹈片段识别方法,还包括:
提取所述多帧图像中至少部分帧图像中的骨骼信息;以及
基于所述至少部分帧图像中的骨骼信息获取所述至少部分帧图像中具有舞蹈动作的图像的帧数。
3.根据权利要求2所述的舞蹈片段识别方法,其中,所述基于所述至少部分帧图像中的骨骼信息获取所述至少部分帧图像中具有舞蹈动作的图像的帧数,包括:
响应于所述至少部分帧图像中相邻的两帧图像的腿部骨骼的变化幅度超过预定变动阈值,将所述相邻的两帧图像中的至少一帧判定为具有舞蹈动作的图像。
4.根据权利要求1所述的舞蹈片段识别方法,还包括:
获取所述多帧图像中至少部分帧图像中包括站立人体的图像的帧数;以及
将所述至少部分帧图像中包括站立人体的图像的帧数作为所述至少部分帧图像中具有舞蹈动作的图像的帧数。
5.根据权利要求1-4任一项所述的舞蹈片段识别方法,其中,所述多帧图像的每帧图像包括信息展示区域和对象视频展示区域;以及
所述响应于所述多帧图像中具有舞蹈动作的图像的帧数大于所述第一预定阈值,将所述候选舞蹈片段判定为舞蹈片段,包括:
响应于所述多帧图像中包括展示了舞蹈图像的信息展示区域的图像的帧数大于所述第一预定阈值,将所述候选舞蹈片段判定为舞蹈片段。
6.根据权利要求1-4任一项所述的舞蹈片段识别方法,还包括:
响应于所述多帧图像中部分帧图像中具有舞蹈动作的图像的帧数大于所述第一预定阈值,停止对所述候选舞蹈片段的检测。
7.根据权利要求1-4任一项所述的舞蹈片段识别方法,其中,所述第一数目为不小于三的整数。
8.根据权利要求7所述的舞蹈片段识别方法,其中,所述第一音乐识别模型为第一神经网络,且被配置为输出所述第一特征向量;
所述第二音乐识别模型为第二神经网络,且被配置为输出所述第二特征向量;以及
所述第三音乐识别模型被配置为接收所述拼接后的特征向量。
9.根据权利要求1所述的舞蹈片段识别方法,其中,所述第二特征向量的维度与所述第二数目的乘积等于所述第一特征向量的维度;以及
所述拼接后的特征向量的维度等于所述第一特征向量的维度的二倍。
10.根据权利要求1所述的舞蹈片段识别方法,包括:
使用第一组音频片段训练第一神经网络并将训练后的所述第一神经网络作为所述第一音乐识别模型;
使用第二组音频片段训练第二神经网络并将训练后的所述第二神经网络作为所述第二音乐识别模型;以及
基于第三组音频片段、所述第一音乐识别模型和所述第二音乐识别模型训练第三神经网络,并将训练后的所述第三神经网络作为所述第三音乐识别模型,
其中,所述第一组音频片段和所述第三组音频片段的每个音频片段的时长均为第一时长,所述第二组音频片段的每个音频片段的时长为第二时长,所述第二时长小于所述第一时长。
11.根据权利要求10所述的舞蹈片段识别方法,其中,所述基于所述第三组音频片段、所述第一音乐识别模型和所述第二音乐识别模型训练所述第三神经网络包括:
基于所述第一音乐识别模型提取所述第三组音频片段的每个音频片段的第一训练特征向量;
将所述第三组音频片段的每个音频片段划分为预定数目的音频子片段;
基于所述第二音乐识别模型提取所述预定数目的音频子片段的每个的第二训练特征向量;
拼接所述第一训练特征向量和所述第二训练特征向量,以获取拼接后的训练特征向量;
将所述拼接后的训练特征向量提供给所述第三神经网络,并基于所述第三神经网络的输出值调整所述第三神经网络的参数来使得损失函数最小化。
12.根据权利要求11所述的舞蹈片段识别方法,其中,所述将所述拼接后的训练特征向量提供给所述第三神经网络,并基于所述第三神经网络的输出值调整所述第三神经网络的参数来使得损失函数最小化,包括:
将所述拼接后的训练特征向量提供给所述第三神经网络;以及
基于所述第三神经网络的输出值调整所述第三神经网络的参数来使得所述损失函数最小化。
13.根据权利要求10所述的舞蹈片段识别方法,还包括:
获取音频正样本和音频负样本;以及
基于所述音频正样本的至少部分和所述音频负样本的至少部分构建所述第一组音频片段、所述第二组音频片段和所述第三组音频片段。
14.根据权利要求13所述的舞蹈片段识别方法,其中,所述获取所述音频正样本和所述音频负样本包括:
使用第四音乐识别模型从多个样本音频片段中找出候选正样本和候选负样本;以及
将所述候选正样本的至少部分作为音频正样本的至少部分,将所述候选负样本的至少部分作为音频负样本的至少部分。
15.根据权利要求14所述的舞蹈片段识别方法,其中,所述获取音频正样本和音频负样本还包括:
将人工标定的正样本和负样本分别作为所述获取音频正样本的至少部分和所述音频负样本的至少部分。
16.根据权利要求13所述的舞蹈片段识别方法,其中,所述获取音频正样本和音频负样本包括:
将电子杂音片段作为所述音频负样本的至少部分。
17.一种存储介质,所述存储介质存储有计算机程序指令,所述计算机程序指令被处理器运行时使得计算机执行以下的方法包括:
提取视频片段中的音频片段;
响应于所述音频片段包括时长大于等于预定时间长度的音乐片段,将所述视频片段包括的对应于所述音乐片段的视频子片段作为候选舞蹈片段;
响应于所述候选舞蹈片段的多帧图像中具有舞蹈动作的图像的帧数大于第一预定阈值,将所述候选舞蹈片段判定为舞蹈片段;
所述计算机程序指令被处理器运行时使得计算机执行以下的方法还包括;
将所述音频片段划分为多个音频子片段;
响应于所述多个音频子片段中顺次相接的第一数目音频子片段均被判定为音乐子片段,将所述顺次相接的第一数目音频子片段的组合判定为所述音乐片段的至少部分;
所述计算机程序指令被处理器运行时使得计算机执行以下的方法还包括;
使用第一音乐识别模型提取所述多个音频子片段中至少部分音频子片段的每个音频子片段的第一特征向量;
将所述多个音频子片段中至少部分音频子片段的每个音频子片段切分为第二数目的音频亚子片段,并使用第二音乐识别模型提取所述第二数目的音频亚子片段的每个的第二特征向量;
拼接对应于同一个音频子片段的所述第一特征向量和所述第二数目的第二特征向量,以获取对应于所述同一个音频子片段的拼接后的特征向量;以及
将所述对应于所述同一个音频子片段的拼接后的特征向量提供给第三音乐识别模型,以使用所述第三音乐识别模型判定所述同一个音频子片段是否为音乐子片段。
18.一种舞蹈片段识别装置,包括:
处理器和存储器,
其中,所述存储器中存储有适于所述处理器执行的计算机程序指令,所述计算机程序指令被所述处理器运行时使得所述处理器执行以下的方法:
提取视频片段中的音频片段;
响应于所述音频片段包括时长大于等于预定时间长度的音乐片段,将所述视频片段包括的对应于所述音乐片段的视频子片段作为候选舞蹈片段;
响应于所述候选舞蹈片段的多帧图像中具有舞蹈动作的图像的帧数大于第一预定阈值,将所述候选舞蹈片段判定为舞蹈片段;
所述计算机程序指令被所述处理器运行时使得所述处理器还执行以下的方法:
将所述音频片段划分为多个音频子片段;
响应于所述多个音频子片段中顺次相接的第一数目音频子片段均被判定为音乐子片段,将所述顺次相接的第一数目音频子片段的组合判定为所述音乐片段的至少部分;
所述计算机程序指令被所述处理器运行时使得所述处理器还执行以下的方法:
使用第一音乐识别模型提取所述多个音频子片段中至少部分音频子片段的每个音频子片段的第一特征向量;
将所述多个音频子片段中至少部分音频子片段的每个音频子片段切分为第二数目的音频亚子片段,并使用第二音乐识别模型提取所述第二数目的音频亚子片段的每个的第二特征向量;
拼接对应于同一个音频子片段的所述第一特征向量和所述第二数目的第二特征向量,以获取对应于所述同一个音频子片段的拼接后的特征向量;以及
将所述对应于所述同一个音频子片段的拼接后的特征向量提供给第三音乐识别模型,以使用所述第三音乐识别模型判定所述同一个音频子片段是否为音乐子片段。
19.一种舞蹈片段识别装置,包括:
音频片段提取模块,被配置为提取视频片段中的音频片段;
候选舞蹈片段判定模块,被配置为响应于所述音频片段包括时长大于等于预定时间长度的音乐片段,将所述视频片段包括的对应于所述音乐片段的视频子片段作为候选舞蹈片段;
舞蹈片段判定模块,被配置为响应于所述候选舞蹈片段的多帧图像中具有舞蹈动作的图像的帧数大于第一预定阈值,将所述候选舞蹈片段判定为舞蹈片段;
音频子片段划分模块,被配置为将所述音频片段划分为多个音频子片段;
音乐片段判定模块,被配置为在响应于所述多个音频子片段中顺次相接的第一数目音频子片段均被判定为音乐子片段,将所述顺次相接的第一数目音频子片段的组合判定为所述音乐片段的至少部分;
第一音乐识别模型模块,被配置为提取所述多个音频子片段中至少部分音频子片段的每个音频子片段的第一特征向量;
第二音乐识别模型模块,被配置为响应于将所述多个音频子片段中至少部分音频子片段的每个音频子片段切分为第二数目的音频亚子片段,提取所述第二数目的音频亚子片段的每个的第二特征向量;
拼接模块,被配置为拼接对应于同一个音频子片段的所述第一特征向量和所述第二数目的第二特征向量,以获取对应于所述同一个音频子片段的拼接后的特征向量;
第三音乐识别模型模块,被配置为获取所述对应于所述同一个音频子片段的拼接后的特征向量,并判定所述同一个音频子片段是否为音乐子片段。
CN202011052113.8A 2020-09-29 2020-09-29 舞蹈片段识别方法、舞蹈片段识别装置和存储介质 Active CN112100436B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202011052113.8A CN112100436B (zh) 2020-09-29 2020-09-29 舞蹈片段识别方法、舞蹈片段识别装置和存储介质
JP2023512778A JP7467764B2 (ja) 2020-09-29 2021-09-28 ダンス断片認識方法、ダンス断片認識装置及び記憶媒体
US18/044,130 US11837028B2 (en) 2020-09-29 2021-09-28 Dance segment recognition method, dance segment recognition apparatus, and storage medium
CA3189604A CA3189604C (en) 2020-09-29 2021-09-28 Dance segment recognition method, dance segment recognition apparatus, and storage medium
PCT/CN2021/121346 WO2022068823A1 (zh) 2020-09-29 2021-09-28 舞蹈片段识别方法、舞蹈片段识别装置和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011052113.8A CN112100436B (zh) 2020-09-29 2020-09-29 舞蹈片段识别方法、舞蹈片段识别装置和存储介质

Publications (2)

Publication Number Publication Date
CN112100436A CN112100436A (zh) 2020-12-18
CN112100436B true CN112100436B (zh) 2021-07-06

Family

ID=73782345

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011052113.8A Active CN112100436B (zh) 2020-09-29 2020-09-29 舞蹈片段识别方法、舞蹈片段识别装置和存储介质

Country Status (5)

Country Link
US (1) US11837028B2 (zh)
JP (1) JP7467764B2 (zh)
CN (1) CN112100436B (zh)
CA (1) CA3189604C (zh)
WO (1) WO2022068823A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112100436B (zh) 2020-09-29 2021-07-06 新东方教育科技集团有限公司 舞蹈片段识别方法、舞蹈片段识别装置和存储介质
CN112720527B (zh) * 2020-12-25 2024-04-09 航天科工深圳(集团)有限公司 音乐舞蹈自编程机器人
CN112818164B (zh) * 2021-03-24 2023-09-15 平安科技(深圳)有限公司 音乐类型识别方法、装置、设备及存储介质
CN113486214A (zh) * 2021-07-23 2021-10-08 广州酷狗计算机科技有限公司 音乐匹配方法、装置、计算机设备及存储介质
CN114339392B (zh) * 2021-11-12 2023-09-12 腾讯科技(深圳)有限公司 视频剪辑方法、装置、计算机设备及存储介质
CN115866279A (zh) * 2022-09-20 2023-03-28 北京奇艺世纪科技有限公司 直播视频处理方法、装置、电子设备及可读存储介质
CN116311537A (zh) * 2023-05-18 2023-06-23 讯龙(广东)智能科技有限公司 一种视频动作识别算法模型的训练方法、存储介质及系统
CN116980717B (zh) * 2023-09-22 2024-01-23 北京小糖科技有限责任公司 基于视频分解处理的交互方法、装置、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108665492A (zh) * 2018-03-27 2018-10-16 北京光年无限科技有限公司 一种基于虚拟人的舞蹈教学数据处理方法及系统
CN109241909A (zh) * 2018-09-06 2019-01-18 闫维新 一种基于智能终端的远程舞蹈动作捕捉评测系统
CN110213670A (zh) * 2019-05-31 2019-09-06 北京奇艺世纪科技有限公司 视频处理方法、装置、电子设备及存储介质
CN110517657A (zh) * 2019-08-15 2019-11-29 上海若安文化传播有限公司 音乐文件的节拍配置/播放方法、系统、介质及设备
WO2019241785A1 (en) * 2018-06-15 2019-12-19 The Board Of Trustees Of The Leland Stanford Junior University Systems and methods for dancification
CN110853670A (zh) * 2019-11-04 2020-02-28 南京理工大学 音乐驱动的舞蹈生成方法
CN110992449A (zh) * 2019-11-29 2020-04-10 网易(杭州)网络有限公司 舞蹈动作合成方法、装置、设备及存储介质
CN111263227A (zh) * 2020-02-10 2020-06-09 腾讯科技(深圳)有限公司 一种多媒体播放方法、装置和存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005328329A (ja) 2004-05-14 2005-11-24 Matsushita Electric Ind Co Ltd 映像再生装置と映像録画再生装置と映像再生方法
JP5039020B2 (ja) 2008-12-25 2012-10-03 株式会社東芝 電子機器および映像コンテンツ情報表示方法
CN104679779B (zh) 2013-11-29 2019-02-01 华为技术有限公司 视频分类的方法和装置
US9473489B2 (en) 2014-09-29 2016-10-18 Aerohive Networks, Inc. Private simultaneous authentication of equals
EP3730196A4 (en) 2017-12-19 2021-06-09 Sony Corporation INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD AND PROGRAM
KR102085908B1 (ko) 2018-05-10 2020-03-09 네이버 주식회사 컨텐츠 제공 서버, 컨텐츠 제공 단말 및 컨텐츠 제공 방법
CN109618184A (zh) * 2018-12-29 2019-04-12 北京市商汤科技开发有限公司 视频处理方法及装置、电子设备和存储介质
CN111563487B (zh) * 2020-07-14 2020-10-23 平安国际智慧城市科技股份有限公司 基于姿态识别模型的舞蹈评分方法及相关设备
US20220080260A1 (en) * 2020-09-16 2022-03-17 NEX Team Inc. Pose comparison systems and methods using mobile computing devices
CN112100436B (zh) * 2020-09-29 2021-07-06 新东方教育科技集团有限公司 舞蹈片段识别方法、舞蹈片段识别装置和存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108665492A (zh) * 2018-03-27 2018-10-16 北京光年无限科技有限公司 一种基于虚拟人的舞蹈教学数据处理方法及系统
WO2019241785A1 (en) * 2018-06-15 2019-12-19 The Board Of Trustees Of The Leland Stanford Junior University Systems and methods for dancification
CN109241909A (zh) * 2018-09-06 2019-01-18 闫维新 一种基于智能终端的远程舞蹈动作捕捉评测系统
CN110213670A (zh) * 2019-05-31 2019-09-06 北京奇艺世纪科技有限公司 视频处理方法、装置、电子设备及存储介质
CN110517657A (zh) * 2019-08-15 2019-11-29 上海若安文化传播有限公司 音乐文件的节拍配置/播放方法、系统、介质及设备
CN110853670A (zh) * 2019-11-04 2020-02-28 南京理工大学 音乐驱动的舞蹈生成方法
CN110992449A (zh) * 2019-11-29 2020-04-10 网易(杭州)网络有限公司 舞蹈动作合成方法、装置、设备及存储介质
CN111263227A (zh) * 2020-02-10 2020-06-09 腾讯科技(深圳)有限公司 一种多媒体播放方法、装置和存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Indian classical dance action identification and classification with convolutional neural networks;P.V.V. Kishore 等;《Advances in Multimedia》;20180131;第1-8页 *
一种音乐舞蹈视频关键帧提取方法;马楠 等;《系统仿真学报》;20180731;第30卷(第7期);第2801-2807页 *

Also Published As

Publication number Publication date
US20230260326A1 (en) 2023-08-17
CA3189604A1 (en) 2022-04-07
JP2023538934A (ja) 2023-09-12
US11837028B2 (en) 2023-12-05
CN112100436A (zh) 2020-12-18
JP7467764B2 (ja) 2024-04-15
WO2022068823A1 (zh) 2022-04-07
CA3189604C (en) 2024-04-09

Similar Documents

Publication Publication Date Title
CN112100436B (zh) 舞蹈片段识别方法、舞蹈片段识别装置和存储介质
CN110458282B (zh) 一种融合多角度多模态的图像描述生成方法及系统
WO2021238631A1 (zh) 物品信息的显示方法、装置、设备及可读存储介质
US20230042654A1 (en) Action synchronization for target object
US20230024382A1 (en) Video clip positioning method and apparatus, computer device, and storage medium
CN111930992A (zh) 神经网络训练方法、装置及电子设备
CN112967212A (zh) 一种虚拟人物的合成方法、装置、设备及存储介质
US10157619B2 (en) Method and device for searching according to speech based on artificial intelligence
CN113421547B (zh) 一种语音处理方法及相关设备
CN110234018A (zh) 多媒体内容描述生成方法、训练方法、装置、设备及介质
CN113870395A (zh) 动画视频生成方法、装置、设备及存储介质
WO2023207541A1 (zh) 一种语音处理方法及相关设备
CN115953521B (zh) 远程数字人渲染方法、装置及系统
CN114724224A (zh) 一种用于医疗护理机器人的多模态情感识别方法
CN111445545A (zh) 一种文本转贴图方法、装置、存储介质及电子设备
CN116029303A (zh) 语言表达方式识别方法、装置、电子设备和存储介质
TWI776429B (zh) 動作識別方法及裝置、電腦可讀存儲介質
US11361491B2 (en) System and method of generating facial expression of a user for virtual environment
CN115171673A (zh) 一种基于角色画像的交流辅助方法、装置及存储介质
CN113538645A (zh) 一种用于虚拟形象的肢体动作与语言因素匹配方法及装置
CN110781327B (zh) 图像搜索方法、装置、终端设备及存储介质
CN114911910A (zh) 问答系统、方法、电子设备及存储介质
KR102563348B1 (ko) 립싱크 영상 제공 장치, 방법 및 컴퓨터 프로그램과 립싱크 영상 표시 장치, 방법 및 컴퓨터 프로그램
Aashritha et al. Real-Time Facial Expression Detection System for Amplifying User Experience and Feedback Collection
CN115731917A (zh) 语音数据处理方法、模型训练方法、装置及存储介质

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
GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40043048

Country of ref document: HK