一种场景识别方法、装置、计算机设备和存储介质
技术领域
本发明实施例涉及视频处理技术领域,尤其涉及一种场景识别方法、装置、计算机设备和存储介质。
背景技术
场景识别和分类一直以来都是计算机视觉领域的研究热点,目前场景识别主要应用在安防,自动驾驶,互联网视频等领域,在不同的应用场景下,场景识别的方法和侧重点也不同,需要的精细程度也不同。互联网视频中的场景是指在一定的时间、空间(主要是空间)内发生的一定的任务行动或因人物关系所构成的具体生活画面,更简便地说,是指在特定地点拍摄的一组语义相关且连续的镜头,这些镜头共同表达同一个情节,组成视频的场景片段。互联网视频中的场景识别在视频广告营销中意义重大,可以实现用户,平台及广告主的的利益最大化。
现有的对视频中的场景进行识别的技术,往往都基于静态的图像识别技术,通过判断每张图像中的场景发生在什么位置,具有什么样的情节,来确定视频中相应位置的场景,上述根据图像进行场景识别的方式,当所依据的图像画面相似时,往往不能准确的确定出真实的场景,其场景识别准确率较低。
发明内容
本发明实施例提供一种场景识别方法、装置、计算机设备和存储介质,提高了视频场景识别的准确率。
第一方面,本发明实施例提供了一种场景识别方法,所述场景识别方法包括:
对目标视频进行镜头分割,并提取分割后的镜头片段中的音频数据和图像序列;
将所述音频数据和图像序列分别输入相应的深度学习网络模型中,得到音频特征和图像特征;
将所述音频特征和图像特征进行融合,得到融合特征;
将所述融合特征输入场景分类器中,对相应镜头片段的场景进行识别,得到所述场景类别。
第二方面,本发明实施例还提供了一种场景识别装置,所述场景识别装置包括:
数据提取模块,用于对目标视频进行镜头分割,并提取分割后的镜头片段中的音频数据和图像序列;
特征获取模块,用于将所述音频数据和图像序列分别输入相应的深度学习网络模型中,得到音频特征和图像特征;
特征融合模块,用于将所述音频特征和图像特征进行融合,得到融合特征;
场景识别模块,用于将所述融合特征输入场景分类器中,对相应镜头片段的场景进行识别,得到所述场景类别。
第三方面,本发明实施例还提供了一种计算机设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的场景识别方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的场景识别方法。
本发明实施例通过对目标视频进行镜头分割,并提取分割后的镜头片段中的音频数据和图像序列;将所述音频数据和图像序列分别输入相应的深度学习网络模型中,得到音频特征和图像特征;将所述音频特征和图像特征进行融合,得到融合特征;将所述融合特征输入场景分类器中,对相应镜头片段的场景进行识别,得到所述场景类别,克服了现有技术中基于静态图像识别技术导致的场景误判的不足,通过基于视频中音频数据和图像数据对应的音频特征和图像特征,对视频中的相应场景进行识别,提高了视频场景识别的准确率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一中的场景识别方法的流程图;
图2是本发明实施例二中的场景识别方法的流程图;
图3是本发明实施例三中的场景识别装置的结构示意图;
图4是本发明实施例四中的计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的场景识别方法的流程图,本实施例可适用于需要对视频中相应场景进行识别的情况,该方法可以由场景识别装置来执行,该装置可以采用软件和/或硬件的方式实现,该装置可以配置于计算机设备中。如图1所示,该方法可以包括如下步骤:
S110、对目标视频进行镜头分割,并提取分割后的镜头片段中的音频数据和图像序列。
镜头分割也可以称为镜头变化检测,其中,镜头变化是指视频序列中场景内容的变化。镜头分割的方法优选可以是基于灰度的镜头分割方法、基于边缘的镜头分割方法(例如可以是基于直方图差异的边缘检测方法)以及基于彩色直方图的镜头分割方法等。
本实施例中,基于镜头分割方法对目标视频进行镜头分割,可以得到至少一个镜头片段,每个镜头片段都可以包括音频数据和图像序列,每个图像序列可以包括起始帧图像、结束帧图像以及起始帧和结束帧之间的中间帧图像。其中,音频数据可以包括能够与镜头片段中的场景相对应的音频特征,图像序列可以包括能够与镜头片段中的场景相对应的图像特征。
在此需要说明的是,每个镜头片段的长度可以相同,也可以不同。当每个镜头片段的长度相同时,提取得到的音频数据的长度也相同,图像序列中图像帧的数据也相同。当每个镜头片段的长度不相同时,提取得到的音频数据的长度也不相同,图像序列中图像帧的数据也不相同。
优选的,可以利用音频提取方法和图像提取方法,从镜头片段中提取音频数据和图像序列。示例性的,可以利用FFmpeg指令提取镜头片段中的音频数据和图像序列,其中,FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了领先的音/视频编码库libavcodec等。
S120、将音频数据和图像序列分别输入相应的深度学习网络模型中,得到音频特征和图像特征。
示例性的,深度学习网络模型可以是VGGNet(Visual Geometry Group Network,视觉几何群网络),Inception模型,Res-net模型和SE-net模型中的任意一个。本实施例中,深度学习网络模型可以包括音频深度学习网络模型和图像深度学习网络模型。
由于深度学习网络模型的输入数据大小是提前设定的,因此,其要求每次输入的数据具有相同的大小。当提取到的每段音频数据的长度相同时,优选的,可以直接将提取得到的音频数据输入预先训练得到的相应的深度学习网络模型中,得到相应的音频特征。
当提取到的每段音频数据的长度不相同时,为了满足深度学习网络模型输入的需要,优选的,可以将音频数据进行时间长度上的分割,并将分割后的音频数据子段分别输入深度学习网络模型中,得到每个音频数据子段对应的子音频特征,并将每个子音频特征顺次拼接,得到相应的音频特征。
具体的,可以以预设分割长度阈值为分割单位,对所有音频数据进行分割,得到若干具有预设分割长度阈值的音频数据。示例性的,根据镜头分割方法,将目标视频分割成三个镜头片段,每个镜头片段对应一段音频数据,其长度分别是3s,2s和1s,其中,预设分割长度阈值为0.5s,此时,以0.5s为分割长度,对上述三个音频数据进行分割,分别得到6段0.5s长度的音频数据、4段0.5s长度的音频数据和2段0.5s长度的音频数据。当所有音频数据中最短音频数据的长度小于或等于预设分割长度阈值时,可以以该最短音频数据长度为分割长度,对其他音频数据进行分割,得到若干具有分割单位长度的音频数据。示例性的,根据镜头分割方法,将目标视频分割成三个镜头片段,每个镜头片段对应一段音频数据,其长度分别是3s,0.9s和0.3s,其中,最短音频数据的长度为0.3s,预设分割长度阈值为0.5s,此时,以0.3s为分割单位,对其他两个音频数据进行分割,分别得到10段0.3s长度的音频数据和3段0.3s长度的音频数据。当然,还可以以单位分割长度作为分割长度,对每个视频进行分割,得到若干具有单位分割长度的音频数据。示例性的,三个镜头片段的长度分别是3s,0.9s和0.3s,单位分割长度为0.1s,此时,以0.1s为分割长度,对音频数据进行分割,分别得到30段0.1s长度的音频数据、9段0.1s长度的音频数据和3段0.1s长度的音频数据。
优选的,将音频数据和图像序列分别输入相应的深度学习网络模型中,得到音频特征和图像特征,可以包括:
将音频数据输入音频深度学习网络模型中,通过音频深度学习网络模型的最后一层全连接层后,输出音频数据对应的场景类别;
获取音频深度学习网络模型的最后一层全连接层之前的音频数据输出,将音频数据输出作为音频特征;
以及,将图像序列输入图像深度学习网络模型中,通过图像深度学习网络模型的最后一层全连接层后,输出图像序列对应的场景类别;
获取图像深度学习网络模型的最后一层全连接层之前的图像序列输出,将图像序列输出作为图像特征。
本实施例中,在通过相应的深度学习网络模型输出结果的过程中,可以获取到输入所具有的特征,该特征与输出结果相对应。当输入为音频数据时,可以得到音频数据(输入)的音频特征,该音频特征与音频深度学习网络模型输出的场景类别相对应。当输入为图像序列时,可以得到图像序列(输入)的图像特征,该图像特征与图像深度学习网络模型输出的场景类别相对应。
S130、将音频特征和图像特征进行融合,得到融合特征。
由于音频特征和图像特征均能够反映出相应镜头片段所对应的场景,为了能够准确识别出相应镜头片段所对应的场景,优选的,可以基于预设特征融合方法,将音频特征和图像特征进行融合,以得到融合特征。其中,预设特征融合方法可以是直接将音频特征和图像特征收尾拼接在一起,也可以是根据实际需求,对音频特征和图像特征进行预处理后拼接在一起,还可以是对音频特征和图像特征进行拼接后,再根据实际需求进行后处理等。
S140、将融合特征输入场景分类器中,对相应镜头片段的场景进行识别,得到场景类别。
本实施例中,场景分类器可以是由随机森林方法训练得到的分类器,也可以是CNN分类网络。
将融合特征输入场景分类器后,可以得到所有可能的场景类别对应的概率值,确定所有概率值中最大的概率值以及该最大概率值对应的场景标签,将该最大概率值与相应标签对应的预设概率阈值进行比较,若该最大概率值大于预设概率阈值,则确定该最大概率值对应的场景标签为相应镜头片段对应的场景类别,否则,认为利用上述方法无法获知相应镜头片段对应的场景类别,此时,优选可以利用上述方法,判断下一个镜头片段对应的场景类别。
本实施例提供的一种场景识别方法,通过对目标视频进行镜头分割,并提取分割后的镜头片段中的音频数据和图像序列;将音频数据和图像序列分别输入相应的深度学习网络模型中,得到音频特征和图像特征;将音频特征和图像特征进行融合,得到融合特征;将融合特征输入场景分类器中,对相应镜头片段的场景进行识别,得到场景类别,克服了现有技术中基于静态图像识别技术导致的场景误判的不足,通过基于视频中音频数据和图像数据对应的音频特征和图像特征,对视频中的相应场景进行识别,提高了视频场景识别的准确率。
在上述各实施例的基础上,进一步的,在将音频数据和图像序列分别输入相应的深度学习网络模型中,得到音频特征和图像特征之前,还包括:
对音频数据和/或图像序列进行预处理操作;
其中,对音频数据进行预处理操作,包括:
提取音频数据中的背景音频数据;
对背景音频数据执行下采样、转换成单通道音频数据和归一化中的至少一种预处理操作,得到预处理背景音频数据,并将预处理背景音频数据作为音频数据。
示例性的,可以采用音源分离技术,通过相位分析,省略幅度谱中部分信号,将音频数据中的台词等数据从音频数据中分离出去,以提取音频数据中的背景音频数据。优选的,还可以对背景音频数据执行22KHZ下采样、转换成单通道音频数据和归一化中的至少一种操作,得到输入到音频深度学习网络模型中的音频数据。
对图像序列进行预处理操作,包括:
对图像序列进行等间隔采样、根据预设大小缩放和根据预设规则裁切中的至少一种预处理操作,得到预处理图像序列,并将预处理图像序列作为图像序列。
为了减少数据处理的计算量,优选的,可以对图像序列进行等间隔采样,还可以根据预设大小(例如可以是224*224)对每张图像(可以是等间隔采样之前的图像,也可以是等间隔采样之后的图像,每张图像的原始大小可以是256*256)进行缩放处理。此外,为了保证最终结果的准确性,优选的,还可以根据预设裁切规则,对图像序列进行裁切处理。示例性的,预设裁切规则可以是在原始图像(原始图像可以是未经预处理的图像,也可以是经过缩放处理后的图像)的基础上,裁切原始图像左上角224*224大小的左上图像、裁切原始图像左下角224*224大小的左下图像、裁切原始图像右上角224*224大小的右上图像、裁切原始图像右下角224*224大小的右下图像和裁切原始图像中间224*224大小的中间图像等。此时,经过裁切后得到的图像序列中图像帧的数目为原始图像序列中图像帧的数据的6倍。
在上述各实施例的基础上,进一步的,在将音频数据和图像序列分别输入相应的深度学习网络模型中,得到音频特征和图像特征之前,还包括:
基于预定义图像数据集和预定义图像数据集对应的场景,利用迁移学习算法,对预选图像深度学习网络模型中的参数进行调整,得到图像深度学习网络模型,其中,预选图像深度学习网络模型与现有场景图像数据集相对应;
以及,基于预定义音频数据集和预定义音频数据集对应的场景,利用迁移学习算法,对预选音频深度学习网络模型中的参数进行调整,得到音频深度学习网络模型,其中,预选音频深度学习网络模型与现有场景音频数据集相对应;
或,将预定义镜头片段中的预定义图像序列输入预选图像深度学习网络模型,输出预定义图像序列对应的预定义场景类别;
将预定义镜头片段中的预定义音频数据输入预设音频深度学习网络模型中,利用KL散度loss函数对预设音频深度学习网络模型中的参数进行调整,得到输出为预定义场景类别的音频深度学习网络模型。
优选的,预选图像深度学习网络模型为场景数据集Places2上的预训练模型。本实施例中,图像深度学习网络模型为利用迁移学习,将预选图像深度学习网络模型在预定义图像数据集(带有标注信息)和预定义图像数据集对应的场景上进行参数调整后得到的。
预选音频深度学习网络模型为大型音频数据集IEEE DCASE2016或者googleAudioSet数据上的预训练模型。本实施例中,音频深度学习网络模型为利用迁移学习,将预选音频深度学习网络模型在预定义音频数据集(带有标注信息)和预定义音频数据集上,进行参数调整后得到的。
上述确定音频深度学习网络模型的方式为有监督的训练方式。还可以采用无监督的训练方式确定音频深度学习网络模型。
具体的,将预定义镜头片段中的预定义图像数据集输入预选图像深度学习网络模型中,得到图像特征分布,可以基于作为隐形标签的该图像特征分布,利用KL散度loss函数和预定义镜头片段中的预定义音频数据,对音频深度学习网络模型进行训练。其中,KL散度又叫相对熵,是一种量化两种概率分布(音频特征分布和图像特征分布)和之间差异的训练方式。通过利用KL散度loss函数训练音频深度学习网络模型,得到与图像特征分布接近的音频特征分布,从而使得预定义音频数据与其对应预定义镜头片段的预定义图像序列保持近似一致的特征分布。
假设xi∈RD表示预定义镜头片段中的预定义音频数据,yi∈Rw*H*n表示预定义镜头片段中的预定义图像数据,w,h为图像的宽和高,n为预定义图像数据中的图像帧数,利用图像深度学习网络模型g(yi)的后验概率去训练音频深度学习网络模型f(xi)。训练时的目标优化函数如下公式所述,通过优化下述目标优化函数,得到音频深度学习网络模型。
在上述各实施例的基础上,进一步的,在将融合特征输入场景分类器中,对相应镜头片段的场景进行识别,得到场景类别之后,还包括:将音频特征、图像特征或融合特征输入预设场景判别器中,以确定场景类别是否正确;若正确,则记录相应镜头片段所对应的场景类别;若不正确,则记录相应镜头片段所对应的场景类别识别错误。
为了进一步确定利用场景分类器识别得到的场景是否正确,优选的,可以将提取得到的音频特征、图像特征或融合特征中的至少一个特征,输入与识别出的场景相应的场景判别器中,其中,场景判别器优选可以是SVM判别器。若场景判别器输出结果为正,则确定场景类别正确,此时,可以记录相应镜头片段所对应的场景类别,镜头片段对应的初始帧和结束帧以及场景分类器的输出概率值。若场景判别器输出结果为负,则确定场景类别不正确,此时,记录相应镜头片段所对应的场景类别识别错误,并将该识别错误的镜头片段中的图像序列和音频数据作为容易与正样本混淆的负样本进行保存,优选的,还可以利用该负样本对音频深度学习网络模型和图像深度学习网络模型进行训练,以不断的调整相应的深度学习网络模型。
在此需要说明的是,上述各步骤均是针对一个镜头片段中的音频数据和图像序列进行举例说明。针对整个目标视频,优选可以重复上述镜头片段场景识别和判别的步骤,直至目标视频对应的所有镜头片段分析完毕。统计所有镜头片段的场景、场景对应的概率、初始帧和结束帧,优选的,还可以将相同标签的相邻镜头片段进行合并,以得到最终场景识别结果。最终结果可以包括目标视频中出现某个场景的初始帧、结束帧、以及该场景出现对应的概率值。
实施例二
图2为本发明实施例二提供的一种场景识别方法的流程图。本实施例可以与上述一个或者多个实施例中各个可选方案结合,在本实施例中,将所述音频特征和图像特征进行融合,得到融合特征,包括:调整所述音频特征和图像特征的维度,得到预设维度音频特征和预设维度图像特征;若所述场景分类器为非CNN分类网络,则将所述预设维度音频特征和预设维度图像特征依次进行拼接,得到融合特征;若所述场景分类器为CNN分类网络,则将镜头片段所对应音频特征和图像特征的数目平均值作为拼接长度,并根据预设拼接规则,对所述预设维度音频特征和预设维度图像特征进行拼接,得到拼接特征;利用特征映射算法,将所述拼接特征进行特征映射,得到所述融合特征。
如图2所示,该方法可以包括如下步骤:
S210、对目标视频进行镜头分割,并提取分割后的镜头片段中的音频数据和图像序列。
S220、将音频数据和图像序列分别输入相应的深度学习网络模型中,得到音频特征和图像特征。
S230、调整音频特征和图像特征的维度,得到预设维度音频特征和预设维度图像特征。
一般的,通过深度学习网络模型得到的特征维度都很高,图像特征维度可以是4096维,音频特征维度可以是1024维。为了减少计算量和冗余度,优选的,可以通过特征降维方法调整音频特征和图像特征的维度,特征降维的方法可以包括PCA、LDA、LLE和稀疏编码等。此外,为了满足特征融合对于特征维度的要求,优选的,可以将音频特征的维度和图像特征的维度分别调整至相同的预设维度。
S240、若场景分类器为非CNN分类网络,则将预设维度音频特征和预设维度图像特征依次进行拼接,得到融合特征。
示例性的,如果场景分类器为非CNN分类网络,则该场景分类器对输入的数据大小没有严格的要求,基于此,可以直接将预设维度音频特征和预设维度图像特征依次进行拼接,得到融合特征。
S250、若场景分类器为CNN分类网络,则将镜头片段所对应音频特征和图像特征的数目平均值作为拼接长度,并根据预设拼接规则,对预设维度音频特征和预设维度图像特征进行拼接,得到拼接特征。
示例性的,如果场景分类器为CNN分类网络,则由于CNN分类网络需要固定大小的输入特征,而每个镜头片段对应图像序列中的图像帧的数目又可能不同等因素,而无法采用上述直接拼接的方式获得融合特征。基于此,可以根据预设拼接规则,得到拼接特征。
示例性的,镜头片段1的音频特征和图像特征的数目为7,镜头片段2的音频特征和图像特征的数目为8,镜头片段3的音频特征和图像特征的数目为9,则拼接长度为7、8和9的平均值,即拼接长度为8。
优选的,根据预设拼接规则,对预设维度音频特征和预设维度图像序列特征图像特征进行拼接,得到拼接特征,包括:
根据预设维度图像特征的重要度,对预设维度图像特征进行排序;
若预设维度音频特征和预设维度图像特征的数目大于拼接长度,则根据重要度由低到高的顺序删除相应数目的预设维度音频特征和/或预设维度图像特征,以得到长度为拼接长度的拼接特征;
若预设维度音频特征和预设维度图像特征的数目小于拼接长度,则根据重要度由高到低的顺序添加相应数目的预设维度音频特征和/或预设维度图像特征,以得到长度为拼接长度的拼接特征。
本实施例中,如果镜头片段的特征的数目小于平均值,则对特征进行重复拼接操作,如果镜头片段的特征的数目大于平均值,则对特征进行删除操作。优选的,可以基于特征的重要度,对镜头片段的特征进行排序操作。其中,特征的重要度可以是中间帧图像对应的图像特征和音频特征的重要程度最高,距离中间帧图像越远,其图像特征和音频特征的重要程度越低。排序完成后,可以根据排序结果确定需要重复拼接或者删除的特征。
示例性的,镜头片段中特征的数目为7,编号分别是{0,1,2,3,4,5,6},特征的重要程度分别是{0.1,0.3,0.5,1,0.5,0.3,0.1},将上述特征按照特征重要度从大到小进行排列,排序后的编号是{3,2,4,1,5,0,6},如果拼接长度为5,则删除最后两个不重要的图像特征,保留图像拼接特征{3,2,4,1,5},如果拼接长度为10,则继续拼接前3个重要的图像特征,即图像拼接特征{3,2,4,1,5,0,6,3,2,4}。
S260、利用特征映射算法,将拼接特征进行特征映射,得到融合特征。
由于上述拼接特征存在大量冗余,并且,影响场景分类结果的特征数目通常较少,基于此,优选可以采用特征映射算法,将拼接后的特征数目n映射为N,以得到融合特征,其中,N<n。当N=1时,可以采用average pool进行特征映射,不会引入额外训练参数。当N>1时,可以采用netVLAD的方式定义一个特征映射层,将n映射到N,从而保证良好的分类效果。
S270、将融合特征输入场景分类器中,对相应镜头片段的场景进行识别,得到场景类别。
本实施例提供的一种场景识别方法,通过对目标视频进行镜头分割,并提取分割后的镜头片段中的音频数据和图像序列;将音频数据和图像序列分别输入相应的深度学习网络模型中,得到音频特征和图像特征;调整音频特征和图像特征的维度,得到预设维度音频特征和预设维度图像特征;若场景分类器为非CNN分类网络,则将预设维度音频特征和预设维度图像特征依次进行拼接,得到融合特征;若场景分类器为CNN分类网络,则将镜头片段所对应音频特征和图像特征的数目平均值作为拼接长度,并根据预设拼接规则,对预设维度音频特征和预设维度图像特征进行拼接,得到拼接特征;利用特征映射算法,将拼接特征进行特征映射,得到融合特征;将融合特征输入场景分类器中,对相应镜头片段的场景进行识别,得到场景类别,克服了现有技术中基于静态图像识别技术导致的场景误判的不足,根据不同的场景分类器,采用不同的特征融合方式,将视频中音频数据和图像数据对应的音频特征和图像特征进行融合,并基于融合后的特征对视频中的相应场景进行识别,提高了视频场景识别的准确率。
实施例三
图3是本发明实施例三中的场景识别装置的结构示意图。如图3所示,场景识别装置包括:
数据提取模块310,用于对目标视频进行镜头分割,并提取分割后的镜头片段中的音频数据和图像序列;
特征获取模块320,用于将音频数据和图像序列分别输入相应的深度学习网络模型中,得到音频特征和图像特征;
特征融合模块330,用于将音频特征和图像特征进行融合,得到融合特征;
场景识别模块340,用于将融合特征输入场景分类器中,对相应镜头片段的场景进行识别,得到场景类别。
本实施例提供的一种场景识别装置,通过利用数据提取模块对目标视频进行镜头分割,并提取分割后的镜头片段中的音频数据和图像序列;利用特征获取模块将音频数据和图像序列分别输入相应的深度学习网络模型中,得到音频特征和图像特征;利用特征融合模块将音频特征和图像特征进行融合,得到融合特征;利用场景识别模块将融合特征输入场景分类器中,对相应镜头片段的场景进行识别,得到场景类别,克服了现有技术中基于静态图像识别技术导致的场景误判的不足,通过基于视频中音频数据和图像数据对应的音频特征和图像特征,对视频中的相应场景进行识别,提高了视频场景识别的准确率。
在上述技术方案的基础上,进一步的,场景识别装置还可以包括预处理模块,用于在将音频数据和图像序列分别输入相应的深度学习网络模型中,得到音频特征和图像特征之前,对音频数据和/或图像序列进行预处理操作;
预处理模块可以包括音频预处理单元和图像预处理单元,其中,音频预处理单元具体可以包括:
背景音频数据提取子单元,用于提取音频数据中的背景音频数据;
音频预处理子单元,用于对背景音频数据执行下采样、转换成单通道音频数据和归一化中的至少一种预处理操作,得到预处理背景音频数据,并将预处理背景音频数据作为音频数据;
图像预处理单元具体可以用于对图像序列进行等间隔采样、根据预设大小缩放和根据预设规则裁切中的至少一种预处理操作,得到预处理图像序列,并将预处理图像序列作为图像序列。
在上述技术方案的基础上,进一步的,特征获取模块320可以包括:
音频数据处理单元,用于将音频数据输入音频深度学习网络模型中,通过音频深度学习网络模型的最后一层全连接层后,输出音频数据对应的场景类别;
音频特征获取单元,用于获取音频深度学习网络模型的最后一层全连接层之前的音频数据输出,将音频数据输出作为音频特征;
以及,图像数据处理单元,用于将图像序列输入图像深度学习网络模型中,通过图像深度学习网络模型的最后一层全连接层后,输出图像序列对应的场景类别;
图像特征获取单元,用于获取图像深度学习网络模型的最后一层全连接层之前的图像序列输出,将图像序列输出作为图像特征。
在上述技术方案的基础上,进一步的,场景识别装置还可以包括:
图像深度学习网络模型获取模块,用于在将音频数据和图像序列分别输入相应的深度学习网络模型中,得到音频特征和图像特征之前,基于预定义图像数据集和预定义图像数据集对应的场景,利用迁移学习算法,对预选图像深度学习网络模型中的参数进行调整,得到图像深度学习网络模型,其中,预选图像深度学习网络模型与现有场景图像数据集相对应;
以及,音频深度学习网络模型获取模块,用于基于预定义音频数据集和预定义音频数据集对应的场景,利用迁移学习算法,对预选音频深度学习网络模型中的参数进行调整,得到音频深度学习网络模型,其中,预选音频深度学习网络模型与现有场景音频数据集相对应;
或,将预定义镜头片段中的预定义图像序列输入预选图像深度学习网络模型,输出预定义图像序列对应的预定义场景类别;
将预定义镜头片段中的预定义音频数据输入预设音频深度学习网络模型中,利用KL散度loss函数对预设音频深度学习网络模型中的参数进行调整,得到输出为预定义场景类别的音频深度学习网络模型。
在上述技术方案的基础上,进一步的,特征融合模块330可以包括:
维度调整单元,用于调整音频特征和图像特征的维度,得到预设维度音频特征和预设维度图像特征;
第一特征融合单元,用于若场景分类器为非CNN分类网络,则将预设维度音频特征和预设维度图像特征依次进行拼接,得到融合特征;
特征拼接单元,用于若场景分类器为CNN分类网络,则将镜头片段所对应音频特征和图像特征的数目平均值作为拼接长度,并根据预设拼接规则,对预设维度音频特征和预设维度图像特征进行拼接,得到拼接特征;
第二特征融合单元,用于利用特征映射算法,将拼接特征进行特征映射,得到融合特征。
在上述技术方案的基础上,进一步的,特征拼接单元可以包括:
特征排序子单元,用于根据预设维度音频特征和预设维度图像特征的重要度,对预设维度音频特征和预设维度图像特征进行排序;
第一特征拼接子单元,用于若预设维度音频特征和预设维度图像特征的数目大于拼接长度,则根据重要度由低到高的顺序删除相应数目的预设维度音频特征和/或预设维度图像特征,以得到长度为拼接长度的拼接特征;
第二特征拼接子单元,用于若预设维度音频特征和预设维度图像特征的数目小于拼接长度,则根据重要度由高到低的顺序添加相应数目的预设维度音频特征和/或预设维度图像特征,以得到长度为拼接长度的拼接特征。
在上述技术方案的基础上,进一步的,场景识别装置还可以包括场景判别模块,用于在将融合特征输入场景分类器中,对相应镜头片段的场景进行识别,得到场景类别之后,将音频特征、图像特征或融合特征输入预设场景判别器中,以确定场景类别是否正确;
若正确,则记录相应镜头片段所对应的场景类别;
若不正确,则记录相应镜头片段所对应的场景类别识别错误。
本发明实施例所提供的场景识别装置可执行本发明任意实施例所提供的场景识别方法,具备执行方法相应的功能模块和有益效果。
实施例四
图4为本发明实施例四提供的计算机设备的结构示意图。图4示出了适于用来实现本发明实施方式的示例性计算机设备412的框图。图4显示的计算机设备412仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,计算机设备412以通用计算设备的形式表现。计算机设备412的组件可以包括但不限于:一个或者多个处理器416,存储器428,连接不同系统组件(包括存储器428和处理器416)的总线418。除此之外,计算机设备412还包括激光发射器(图4中未示出),激光发射器设置于参考坐标系内的参考点处,用于发射出射激光。
总线418表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机设备412典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备412访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器428可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)430和/或高速缓存存储器432。计算机设备412可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储装置434可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线418相连。存储器428可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块442的程序/实用工具440,可以存储在例如存储器428中,这样的程序模块442包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块442通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备412也可以与一个或多个外部设备414(例如键盘、指向设备、显示器424等,其中,显示器424可根据实际需要决定是否配置)通信,还可与一个或者多个使得用户能与该计算机设备412交互的设备通信,和/或与使得该计算机设备412能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口422进行。并且,计算机设备412还可以通过网络适配器420与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器420通过总线418与计算机设备412的其它模块通信。应当明白,尽管图4中未示出,可以结合计算机设备412使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储装置等。
处理器416通过运行存储在存储器428中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的场景识别方法。
实施例五
本发明实施例五提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例所提供的场景识别方法,包括:
对目标视频进行镜头分割,并提取分割后的镜头片段中的音频数据和图像序列;
将音频数据和图像序列分别输入相应的深度学习网络模型中,得到音频特征和图像特征;
将音频特征和图像特征进行融合,得到融合特征;
将融合特征输入场景分类器中,对相应镜头片段的场景进行识别,得到场景类别。
当然,本发明实施例所提供的计算机可读存储介质,其上存储的计算机程序不限于执行如上所述的方法操作,还可以执行本发明任意实施例所提供的基于计算机设备的场景识别方法中的相关操作。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。