本发明涉及计算机技术领域,具体涉及一种视频内容的检测方法、装置、电子设备以及存储介质。
背景技术:
在互联网的快速发展的时代,很多网站都支持并允许用户自行上传视频并展示给公众,随着内容生产的门槛降低,视频上传量以指数级的速度迅速增长,为了保证分发内容的安全性,需要在短时间内完成视频内容的审核,例如对内容是否涉及敏感信息、内容质量和安全性等进行识别和处理。
目前,对视频内容的检测方案主要是统计视频的颜色特征的分布,基于颜色特征的分布对视频的内容类别进行划分,并没有考虑到视频的语义,因此,在目前的检测方案中,检测结果不准确。
技术实现要素:
本发明实施例提供一种视频内容的检测方法、装置、电子设备以及存储介质,可以提高检测视频内容的准确性。
本发明实施例提供了一种视频内容的检测方法,包括:
获取待检测视频,所述待检测视频包括多个视频帧;
从待检测视频中选择用于视频内容检测的视频帧,得到多个待检测视频帧;
提取各待检测视频帧对应的图像特征,并获取各内容类别所属的聚类中心;
分别计算各图像特征与多个聚类中心之间的距离,得到各图像特征对应的距离集合;
根据所述距离集合以及多个聚类中心确定待检测视频的内容类别。
相应的,本发明实施例还提供了一种视频内容的检测装置,包括:
第一获取模块,用于获取待检测视频,所述待检测视频包括多个视频帧;
选择模块,用于从待检测视频中选择用于视频内容检测的视频帧,得到多个待检测视频帧;
提取模块,用于提取各待检测视频帧对应的图像特征;
第二获取模块,用于获取各内容类别所属的聚类中心;
计算模块,用于分别计算各图像特征与多个聚类中心之间的距离,得到各图像特征对应的距离集合;
确定模块,用于根据所述距离集合以及多个聚类中心确定待检测视频的内容类别。
可选的,在本发明的一些实施例中,所述第二获取模块包括:
获取单元,用于获取已训练的视频内容分类模型以及多个标注了视频内容类型的样本视频帧,所述视频内容分类模型由多个样本视频帧训练而成的;
构建单元,用于基于已训练的视频内容分类模型以及多个样本视频帧构建各内容类别所属的聚类中心。
可选的,在本发明的一些实施例中,所述构建单元包括:
提取子单元,用于利用已训练的视频内容分类模型分别对各样本视频帧进行特征提取;
构建子单元,用于基于提取到的特征构建各内容类别所属的聚类中心。
可选的,在本发明的一些实施例中,所述构建子单元具体用于:
获取多个预设的内容标签;
根据多个预设的内容标签确定所需聚类出的分类个数;
基于预设聚类算法以及分类个数对提取到的特征进行聚类处理,得到各内容类别所属的聚类中心。
可选的,在本发明的一些实施例中,还包括训练模块,所述训练模块具体用于:
采集多个标注了视频内容类型的样本视频帧;
从采集到的多个样本视频帧中确定当前需要进行训练的样本视频帧,得到当前处理对象;
将所述当前处理对象导入预设初始分类模型中进行训练,得到当前处理对象对应的视频内容的预测值;
将当前处理对象对应的预测值与当前处理对象的标注的视频内容类型进行收敛,以对所述预设初始分类模型的参数进行调整;
返回执行从采集到的多个样本视频帧中确定当前需要进行训练的样本视频帧的步骤,直至所述多个样本视频帧均训练完毕。
可选的,在本发明的一些实施例中,所述确定模块包括:
选择单元,用于从所述距离集合中选择预设数量的距离,得到至少一个目标距离;
第一确定单元,用于确定与目标距离对应的聚类中心,得到至少一个目标聚类中心;
第二确定单元,用于根据至少一个目标聚类中心,确定待检测视频的内容类别。
可选的,在本发明的一些实施例中,所述第二确定单元具体用于:
分别获取多个目标聚类中心对应的内容类别;
基于确定的内容类别,确定待检测视频的内容类别。
可选的,在本发明的一些实施例中,所述选择单元具体用于:在所述距离集合中选择距离最小的作为目标距离。
可选的,在本发明的一些实施例中,所述选择模块具体用于:
检测待检测视频中视频帧的数量;
判断所述数量是否大于预设数量;
当所述数量大于预设数量时,基于预置策略在待检测视频中去除相应的视频帧,得到保留视频帧集合;
从所述保留视频帧集合中间隔选取多个视频帧,得到待检测视频帧。
可选的,在本发明的一些实施例中,所述选择模块具体还用于:
当所述数量小于或等于预设数量时,从待检测视频中间隔选取多个视频帧,得到待检测视频帧。
本发明实施例在获取待检测视频,所述待检测视频包括多个视频帧后,从待检测视频中选择用于视频内容检测的视频帧,得到多个待检测视频帧,然后,提取各待检测视频帧对应的图像特征,并获取各内容类别所属的聚类中心,接着,分别计算各图像特征与多个聚类中心之间的距离,得到各图像特征对应的距离集合,最后,将根据所述距离集合以及多个聚类中心确定待检测视频的内容类别。因此,该方案可以有效地提高检测视频内容的准确性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的视频内容的检测方法的场景示意图;
图1b为本发明实施例提供的视频内容的检测方法的流程示意图;
图1c为本发明实施例提供的视频内容的检测方法中聚类中心分布的示意图
图2a是本发明实施例提供的视频内容的检测方法的另一流程示意图;
图2b是本发明实施例提供的视频内容的检测方法的另一场景示意图;
图2c是本发明实施例提供的视频内容的检测中服务器对样本视频处理的示意图;
图3a是本发明实施例提供的视频内容的检测装置的结构示意图;
图3b是本发明实施例提供的视频内容的检测装置的另一结构示意图;
图4是本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
人工智能(artificialintelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
其中,计算机视觉技术(computervision,cv)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、ocr、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3d技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
本发明实施例提供一种视频内容的检测方法、装置、电子设备和存储介质。
其中,该视频内容的检测装置(以下简称检测装置)具体可以集成在服务器或终端中,其中,服务器可以包括一个独立运行的服务器或者分布式服务器,也可以包括由多个服务器组成的服务器集群,终端可以包括手机、平板电脑或个人计算机(pc,personalcomputer)。
请参阅图1a,以检测装置集成在服务器中为例,服务器可以接收用户通过网络上传的视频(即待检测视频),为了便于说明,下面以用户上传一个视频a进行说明,服务器在获取到视频a之后,该视频a可以包括多个视频帧,服务器从视频a中选择用于视频内容检测的视频帧,得到多个待检测视频帧,然后,服务器提取各待检测视频帧对应的图像特征,并获取各内容类别所属的聚类中心,紧接着,服务器可以分别计算各图像特征与多个聚类中心之间的距离,得到各图像特征对应的距离集合,最后,服务器根据距离集合以及多个聚类中心确定视频a的内容类别,比如,检测到视频a的内容类别为动漫。
由于该方案是通过计算各图像特征与多个聚类中心之间的距离,然后,再基于距离集合以及多个聚类中心确定待检测视频的内容类别,即,在实际的检测过程中,考虑到每帧图像帧的内容类别,因此,可以提高检测视频内容的准确性。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优先顺序的限定。
一种视频内容的检测方法,包括:获取待检测视频,从待检测视频中选择用于视频内容检测的视频帧,得到多个待检测视频帧,提取各待检测视频帧对应的图像特征,并获取各内容类别所属的聚类中心,分别计算各图像特征与多个聚类中心之间的距离,得到各图像特征对应的距离集合,根据距离集合以及多个聚类中心确定待检测视频的内容类别。
请参阅图1b,图1b为本发明实施例提供的视频内容的检测方法的流程示意图。该视频内容的检测方法的具体流程可以如下:
101、获取待检测视频。
其中,该待检测视频可以包括多个视频帧,获取待检测视频的途径可以有多种,比如,可以从互联网和/或指定数据库中进行获取,具体可以根据实际应用的需求而定,该待检测视频可以包括电视剧、电影以及用户录制的视频等等。
102、从待检测视频中选择用于视频内容检测的视频帧,得到多个待检测视频帧。
比如,具体的,可以按照待检测视频中视频帧的排列顺序,从待检测视频中间隔选择用于视频内容检测的视频帧,得到多个待检测视频帧,为了提高计算效率,因此,可以对视频帧的数量进行压缩,即,删除部分视频帧,再从保留的视频帧选择用于视频内容检测的视频帧,也即,可选的,在一些实施例中,步骤“从待检测视频中选择用于视频内容检测的视频帧,得到多个待检测视频帧”,具体可以包括:
(11)检测待检测视频中视频帧的数量;
(12)判断数量是否大于预设数量;
(13)当数量大于预设数量时,基于预置策略在待检测视频中去除相应的视频帧,得到保留视频帧集合;
(14)从保留视频帧集合中间隔选取多个视频帧,得到待检测视频帧。
比如,检测到待检测视频中视频帧的数量为200帧,预设数量为100帧,因此,可以基于预置策略在待检测视频中去除相应的视频帧,得到保留视频帧集合,然后,从保留视频帧集合中间隔选取多个视频帧,得到待检测视频帧,需要说明的是,由于视频的开头和结尾一般都是不包含视频内容的,因此可以按照待检测视频中视频帧的排列顺序,删除最前几帧的视频帧和最后几帧的视频帧,比如,预置策略可以指示删除该待检测视频的前50帧以及后50帧。
另外,当视频帧的数量小于或等于预设数量时,可以从待检测视频中间隔选取多个视频帧,得到待检测视频帧,即,可选的,在一些实施例中,还可以包括:当数量小于或等于预设数量时,从待检测视频中间隔选取多个视频帧,得到待检测视频帧。
还需要说明的是,为了降低低信息量帧对后续视频内容检测的影响,在从待检测视频中选择用于视频内容检测的视频帧之前还可以删除低信息量帧,其中,低信息量帧指的是颜色纹理特征过于简单的视频帧以及视频标题帧等等,具体可以采用图像帧复杂程度的算法对所有视频帧进行检测,即,可选的,在一些实施例中,步骤“从待检测视频中选择用于视频内容检测的视频帧,得到多个待检测视频帧”之前,具体还可以包括:
(21)采用预设算法分别对待检测视频中的所有视频帧进行检测;
(22)基于检测结果对待检测视频进行处理,得到处理后的待检测视频。
比如,当检测到有3帧视频帧为黑白帧,有2帧视频帧对应的图像边缘存在纯色色块,然后,可以删除这5帧视频帧,得到处理后的待检测视频,接着,可以从预处理后的待检测视频中选择用于视频内容检测的视频帧,得到多个待检测视频帧。
103、提取各待检测视频帧对应的图像特征,并获取各内容类别所属的聚类中心。
比如,具体的,可以基于已训练的视频内容分类模型对各待检测视频帧进行特征提取,得到各待检测视频帧对应的图像特征,其中,视频内容分类模型由多个标注了视频内容类型的样本视频帧训练而成的,并且,还可以基于已训练的视频内容分类模型以及多个样本视频帧构建各内容类别所属的聚类中心,即,可选的,一些实施例中,步骤“获取各内容类别所属的聚类中心”,具体可以包括:
(31)获取已训练的视频内容分类模型;
(32)基于已训练的视频内容分类模型以及多个样本视频帧构建各内容类别所属的聚类中心。
例如,具体的,可以将各样本视频帧导入已训练的视频内容分类模型中,得到各样本视频对应的样本图像特征,然后,再根据该样本图像特征构建各内容类别所属的聚类中心,即,可选的,步骤“基于已训练的视频内容分类模型以及多个样本视频帧构建各内容类别所属的聚类中心”,具体可以包括:
(41)利用已训练的视频内容分类模型分别对各样本视频帧进行特征提取;
(42)基于提取到的特征构建各内容类别所属的聚类中心。
其中,可以预先设置多个内容标签,比如,可以设置“喜剧”、“恐怖剧”以及“推理剧”等标签,或者,还可以设置“动漫”和“非动漫”的标签,以“动漫”和“非动漫”的标签为例,那么所需聚类的分类个数则为2,然后再基于预设聚类算法以及分类个数对提取到的特征进行聚类处理,得到各内容类别所属的聚类中心,即,可选的,步骤“基于提取到的特征构建各内容类别所属的聚类中心”,具体可以包括:
(51)获取多个预设的内容标签;
(52)根据多个预设的内容标签确定所需聚类出的分类个数;
(53)基于预设聚类算法以及分类个数对提取到的特征进行聚类处理,得到各内容类别所属的聚类中心
其中,内容标签的数量可以根据实际需求进行设置,例如,首先可以设置“动漫”和“非动漫”的标签,然后,分别在“动漫”和“非动漫”再设置其从属的标签,比如,“动漫”标签下还可以设置“搞笑番”、“热血番”以及“异世界番”等标签,“非动漫”标签下还可以设置“言情剧”、“喜剧”以及“推理剧”等标签,或者,“动漫”标签下还可以设置动漫名称标签,如“x影x者”、“犬xx”以及“x神”等标签,而“非动漫”标签下可以不设置其从属标签,具体根据实际情况进行设置,在此不再赘述。
需要说明的是,该视频内容分类模型可以是预先建立的,即,在一些实施例中,步骤“获取已训练的视频内容分类模型”之前,具体还可以包括:
(61)采集多个标注了视频内容类型的样本视频帧;
(62)从采集到的多个样本视频帧中确定当前需要进行训练的样本视频帧,得到当前处理对象;
(63)将当前处理对象导入预设初始分类模型中进行训练,得到当前处理对象对应的视频内容的预测值;
(64)将当前处理对象对应的预测值与当前处理对象的标注的视频内容类型进行收敛,以对预设初始分类模型的参数进行调整;
(65)返回执行从采集到的多个样本视频帧中确定当前需要进行训练的样本视频帧的步骤,直至多个样本视频帧均训练完毕。
卷积层:主要用于对输入的图像(比如训练样本或需要识别的图像帧)进行特征提取,其中,卷积核大小可以根据实际应用而定,比如,从第一层卷积层至第四层卷积层的卷积核大小依次可以为(7,7),(5,5),(3,3),(3,3);可选的,为了降低计算的复杂度,提高计算效率,在本实施例中,这四层卷积层的卷积核大小可以都设置为(3,3),激活函数均采用“relu(线性整流函数,rectifiedlinearunit)”,而padding(padding,指属性定义元素边框与元素内容之间的空间)方式均设置为“same”,“same”填充方式可以简单理解为以0填充边缘,左边(上边)补0的个数和右边(下边)补0的个数一样或少一个。可选的,卷积层与卷积层之间可以通过直连的方式连接,从而加快网络收敛速度,为了进一步减少计算量,还可以在第二至第四层卷积层中的所有层或任意1~2层进行下采样(pooling)操作,该下采样操作与卷积的操作基本相同,只不过下采样的卷积核为只取对应位置的最大值(maxpooling)或平均值(averagepooling)等,为了描述方便,在本发明实施例中,将均以在第二层卷积层和第三次卷积层中进行下采样操作,且该下采样操作具体为maxpooling为例进行说明。
需说明的是,为了描述方便,在本发明实施例中,将激活函数所在层和下采样层(也称为池化层)均归入卷积层中,应当理解的是,也可以认为该结构包括卷积层、激活函数所在层、下采样层(即池化层)和全连接层,当然,还可以包括用于输入数据的输入层和用于输出数据的输出层,在此不再赘述。
全连接层:可以将学到的特征映射到样本标记空间,其在整个卷积神经网络中主要起到“分类器”的作用,全连接层的每一个结点都与上一层(如卷积层中的下采样层)输出的所有结点相连,其中,全连接层的一个结点即称为全连接层中的一个神经元,全连接层中神经元的数量可以根据实际应用的需求而定,比如,在该文本检测模型中,全连接层的神经元数量可以均设置为512个,或者,也可以均设置为128个,等等。与卷积层类似,可选的,在全连接层中,也可以通过加入激活函数来加入非线性因素,比如,可以加入激活函数sigmoid(s型函数)。
例如,具体的,可以通过多个途径采集样本视频帧集合,样本视频帧集合包括多个标注了视频内容类型的样本视频帧,然后,从采集到的多个样本视频帧中确定当前需要进行训练的样本视频帧,得到当前处理对象,接着,将当前处理对象导入预设初始分类模型中进行训练,得到当前处理对象对应的视频内容的预测值,再然后,将当前处理对象对应的预测值与当前处理对象的标注的视频内容类型进行收敛,以对预设初始分类模型的参数进行调整,返回执行从采集到的多个样本视频帧中确定当前需要进行训练的样本视频帧的步骤,直至多个样本视频帧均训练完毕,最后,得到视频内容分类模型。
104、分别计算各图像特征与多个聚类中心之间的距离,得到各图像特征对应的距离集合。
比如,有10个图像特征和6个聚类中心,那么每个图像特征均对应有一个距离集合,该距离集合包括图像特征分别与这6个聚类中心之间的距离,其中,该距离可以用欧式距离表示,当然,也可以用马氏距离,具体根据实际情况进行选择,在此不再赘述。
105、根据距离集合以及多个聚类中心确定待检测视频的内容类别。
例如,具体的,可以在距离集合中随机选取3个距离,并根据这3个距离对应的聚类中心确定待检测视频的内容类别,即,可选的,在一些实施例中,步骤“根据距离集合以及多个聚类中心确定待检测视频的内容类别”,具体可以包括:
(71)从距离集合中选择预设数量的距离,得到至少一个目标距离;
(72)确定与目标距离对应的聚类中心,得到至少一个目标聚类中心;
(73)根据至少一个目标聚类中心,确定待检测视频的内容类别。
其中,从距离集合中选择预设数量的距离,得到至少一个目标距离有两种方式;
第一种方式:以一个视频特征a与6个聚类中心为例进行说明,视频特征a对应的距离集合b包括第一距离b1、第二距离b2、第三距离b3、第四距离b4、第五距离b5以及第六距离b6,可以在距离集合b随机选取三个距离,比如,选取到第二距离b2、第五距离b5以及第六距离b6,然后,再分别获取第二距离b2对应的聚类中心、第五距离b5对应的聚类中心以及第六距离b6对应的聚类中心,最后,基于这些聚类中心对应的内容类别,确定待检测视频的内容类别,即,可选的,在一些实施例中,步骤“根据至少一个目标聚类中心,确定待检测视频的内容类别”,包括:
(81)分别获取多个目标聚类中心对应的内容类别;
(82)基于确定的内容类别,确定待检测视频的内容类别。
比如,在得到待检测图像帧d对应3个目标聚类中心的内容类别,这3个目标聚类中心对应的内容类别分别为:“x职x人”、“x影x者”以及“伪x者”,其分布如图1c所示,那么可以确定该待检测图像帧d的内容类别为“动漫”,对于其他图像帧也是同样的处理,最后,根据所有待检测图像帧对应的内容类别,确定待检测视频的内容类别,比如,待检测图像帧的数量为100个,内容类别为“动漫”的待检测图像帧的数量为60个,那么可以确定待检测视频的内容类别为“动漫”,即,在一些实施例中,步骤“基于确定的内容类别,确定待检测视频的内容类别”,具体可以包括:
(91)计算各内容类别对应的待检测图像帧在所有待检测图像帧中所占的比例;
(92)当比例大于预设比例时,将大于预设比例对应的待检测图像帧所属内容类型,确定为待检测视频的内容类别。
其中,预设比例可以根据实际需求进行设置,在此不再赘述。
为了进一步提高检测视频内容的准确性,可以在距离集合b选取最小的三个距离,优选的,在一些实施例中,可以在距离集合中选取n个距离,得到n个目标距离,其中,n为正奇数。
第二种方式:以一个视频特征a与6个聚类中心为例进行说明,视频特征a对应的距离集合b包括第一距离b1、第二距离b2、第三距离b3、第四距离b4、第五距离b5以及第六距离b6,可以在距离集合b随机选取距离最小的作为目标距离,如,第一距离b1最小,那么则将第一距离b1作为目标距离,即,可选的,在一些实施例中,步骤“从距离集合中选择预设数量的距离,得到至少一个目标距离”,具体可以包括:在距离集合中选择距离最小的作为目标距离。
本发明实施例在获取待检测视频后,从待检测视频中选择用于视频内容检测的视频帧,得到多个待检测视频帧,然后,提取各待检测视频帧对应的图像特征,并获取各内容类别所属的聚类中心,接着,分别计算各图像特征与多个聚类中心之间的距离,得到各图像特征对应的距离集合,最后,根据距离集合以及多个聚类中心确定待检测视频的内容类别。相较于现有的视频内容的检测方案而言,本方案是通过计算各图像特征与多个聚类中心之间的距离,然后,再基于距离集合以及多个聚类中心确定待检测视频的内容类别,即,在实际的检测过程中,考虑到每帧图像帧的内容类别,进而确定待检测视频的内容类别,因此,可以提高检测视频内容的准确性。
根据实施例所述的方法,以下将举例进一步详细说明。
在本实施例中将以该视频内容的检测装置具体集成在服务器中为例进行说明。
请参阅图2a,一种视频内容的检测方法,具体流程可以如下:
201、服务器获取待检测视频。
其中,该待检测视频可以包括多个视频帧,服务器获取待检测视频的途径可以有多种,比如,服务器可以从指定数据库中进行获取,具体可以根据实际应用的需求而定,该待检测视频可以包括电视剧、电影以及用户录制的视频等等。
202、服务器从待检测视频中选择用于视频内容检测的视频帧,得到多个待检测视频帧。
比如,具体的,服务器可以按照待检测视频中视频帧的排列顺序,从待检测视频中间隔选择用于视频内容检测的视频帧,得到多个待检测视频帧,为了提高计算效率,因此,可以对视频帧的数量进行压缩,即,删除部分视频帧,再从保留的视频帧选择用于视频内容检测的视频帧。
需要说明的是,为了降低低信息量帧对后续视频内容检测的影响,服务器在从待检测视频中选择用于视频内容检测的视频帧之前还可以删除低信息量帧,其中,低信息量帧指的是颜色纹理特征过于简单的视频帧以及视频标题帧等等,具体可以采用图像帧复杂程度的算法对所有视频帧进行检测。
203、服务器提取各待检测视频帧对应的图像特征,并获取各内容类别所属的聚类中心。
比如,服务器可以基于已训练的视频内容分类模型对各待检测视频帧进行特征提取,得到各待检测视频帧对应的图像特征,其中,视频内容分类模型由多个标注了视频内容类型的样本视频帧训练而成的,并且,服务器可以将各样本视频帧导入已训练的视频内容分类模型中,得到各样本视频对应的样本图像特征,然后,再根据该样本图像特征构建各内容类别所属的聚类中心。
需要说明的是,该视频内容分类模型可以是预先建立的,具体请参阅前面实施例,在此不再赘述。
204、服务器分别计算各图像特征与多个聚类中心之间的距离,得到各图像特征对应的距离集合。
比如,有10个图像特征和6个聚类中心,那么每个图像特征均对应有一个距离集合,该距离集合包括图像特征分别与这6个聚类中心之间的距离,其中,该距离可以用欧式距离表示,当然,也可以用马氏距离,具体根据实际情况进行选择,在此不再赘述。
205、服务器根据距离集合以及多个聚类中心确定待检测视频的内容类别。
其中,服务器根据距离集合以及多个聚类中心确定待检测视频的内容类别可以包括两种方式。
第一种方式:以一个视频特征a与6个聚类中心为例进行说明,视频特征a对应的距离集合b包括第一距离b1、第二距离b2、第三距离b3、第四距离b4、第五距离b5以及第六距离b6,服务器可以在距离集合b随机选取三个距离,比如,选取到第二距离b2、第五距离b5以及第六距离b6,然后,服务器再分别获取第二距离b2对应的聚类中心、第五距离b5对应的聚类中心以及第六距离b6对应的聚类中心,最后,服务器基于这些聚类中心对应的内容类别,确定待检测视频的内容类别。
第二种方式:以一个视频特征a与6个聚类中心为例进行说明,视频特征a对应的距离集合b包括第一距离b1、第二距离b2、第三距离b3、第四距离b4、第五距离b5以及第六距离b6,服务器可以在距离集合b随机选取距离最小的作为目标距离,如,第一距离b1最小,那么则将第一距离b1作为目标距离,然后,服务器获取第一距离b1对应的聚类中心,最后,服务器基于该聚类中心对应的内容类别,确定待检测视频的内容类别。
为了便于对本发明实施例提供的视频内容的检测方法的理解,以检测视频属于哪一部动漫为例进一步说明,请参阅图2b,其中,视频内容的检测装置集成在服务器中,服务器可以根据已训练的视频内容分类模型对待检测视频x进行检测,以下分为三个阶段:训练数据采集阶段、视频帧预处理阶段以及检测阶段。
在训练数据采集阶段,服务器可以通过多个途径采集样本视频集合,样本视频集合包括多个标注了视频内容类型的样本视频帧,比如,可以采集100个动漫视频、以及1个非动漫类的视频,其中,每一帧训练图像均有两个标签,第一个标签i用于指示该视频帧是否为动漫,第二个标签k用于指示该视频帧属于哪一部动漫,然后,再以卷积神经网络作为基础网络,通过样本视频帧集合对该卷积神经网络进行训练,得到已训练的视频内容分类模型,需要说明的是,在对该卷积神经网络进行训练时,可以采用三个损失函数,包括损失函数l1、损失函数l2以及损失函数l3,损失函数l1用于判断视频是否为动漫,损失函数l2用于判断视频属于哪一部动漫,损失函数l3用于判断视频是否为动漫,如图2c所示,在使用时,去除损失函数,即可得到一个视频内容分类模型
在视频帧预处理阶段,服务器可以对帧数量的压缩、删除低信息量的帧的删除和/或对视频帧进行裁剪,具体请参阅前面实施例,在此不再赘述,需要说明的是,可以对视频帧进行预处理,也可以不对视频帧进行预处理,具体根据实际情况进行选择。随后,服务器利用已训练的视频内容分类模型分别对各样本视频帧进行特征提取,最后,服务器基于提取到的特征构建各内容类别所属的聚类中心。
在检测阶段,服务器当获取到一帧图像的图像特征q,计算该图像特征q与所有聚类中心之间的欧式距离d,其中,这些聚类中心可以划分为第一聚类中心集合c1和第二聚类中心集合c2,c1={xi|i=1,2,...,c1},c2={yi|i=1,2,...,,c2},i为正整数,第一聚类中心集合中的聚类中心所对应的标签可以为“搞笑番”、“热血番”以及“异世界番”等标签,第二聚类中心集合中的聚类中心所对应的标签可以为“言情剧”、“喜剧”以及“推理剧”等标签,聚类的方法可以采用k均值聚类算法(k-meansclusteringalgorithm),然后,计算图像特征q与各聚类中心之间的欧式距离,得到图像特征q与各聚类中心之间的欧式距离l,接着,从这些欧式距离中选取最短的n个欧氏距离,n为正奇数,并获取选择到的欧式距离对应的聚类中心,得到目标聚类中心,比如,从这些欧式距离中选取最短的3个欧氏距离,并获取这3个欧氏距离对应的聚类中心,得到聚类中心t1、聚类中心t2以及聚类中心t3,再然后,分别确定聚类中心t1、聚类中心t2以及聚类中心t3所属的内容类别,若聚类中心t1为“搞笑番”、聚类中心t2为“异世界番”以及聚类中心t3为“喜剧”,那么可以确定该图像特征q属于动漫,若聚类中心t1为“喜剧”、聚类中心t2为“异世界番”以及聚类中心t3为“喜剧”,那么可以确定该图像特征q属于非动漫,在本发明中,待检测视频帧对应的图像特征均经过上述三个步骤,可以得到一段视频每一帧图像是否是动漫的判断,优选的,如果一段视频其动漫帧占30%以上,则认为其是动漫视频,否则判断其为非动漫视频,
由上可知,本发明实施例的服务器在获取待检测视频后,服务器从待检测视频中选择用于视频内容检测的视频帧,得到多个待检测视频帧,然后,服务器提取各待检测视频帧对应的图像特征,并获取各内容类别所属的聚类中心,接着,服务器分别计算各图像特征与多个聚类中心之间的距离,得到各图像特征对应的距离集合,最后,服务器根据距离集合以及多个聚类中心确定待检测视频的内容类别。相较于现有的视频内容的检测方案而言,本方案的服务器是通过计算各图像特征与多个聚类中心之间的距离,然后,再基于距离集合以及多个聚类中心确定待检测视频的内容类别,即,在实际的检测过程中,考虑到每帧图像帧的内容类别,进而确定待检测视频的内容类别,因此,可以提高检测视频内容的准确性。
为便于更好的实施本发明实施例的视频内容的检测方法,本发明实施例还提供一种基于上述视频内容的检测装置(简称检测装置)。其中名词的含义与上述视频内容的检测方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图3a,图3a为本发明实施例提供的视频内容的检测装置的结构示意图,其中该检测装置可以包括第一获取模块301、选择模块302、提取模块303、第二获取模块304、计算模块305以及确定模块306,具体可以如下:
第一获取模块301,用于获取待检测视频。
其中,该待检测视频可以包括多个视频帧,获取待检测视频的途径可以有多种,比如,第一获取模块301可以从互联网和/或指定数据库中进行获取,具体可以根据实际应用的需求而定,该待检测视频可以包括电视剧、电影以及用户录制的视频等等。
选择模块302,用于从待检测视频中选择用于视频内容检测的视频帧,得到多个待检测视频帧。
比如,具体的,选择模块302可以按照待检测视频中视频帧的排列顺序,从待检测视频中间隔选择用于视频内容检测的视频帧,得到多个待检测视频帧,为了提高计算效率,因此,选择模块302可以对视频帧的数量进行压缩,即,删除部分视频帧,再从保留的视频帧选择用于视频内容检测的视频帧,即,可选的,在一些实施例中,选择模块302具体可以用于:检测待检测视频中视频帧的数量,判断数量是否大于预设数量,当数量大于预设数量时,基于预置策略在待检测视频中去除相应的视频帧,得到保留视频帧集合,从保留视频帧集合中间隔选取多个视频帧,得到待检测视频帧。
可选的,在一些实施例中,选择模块302具体还可以用于:当数量小于或等于预设数量时,从待检测视频中间隔选取多个视频帧,得到待检测视频帧。
提取模块303,用于提取各待检测视频帧对应的图像特征。
比如,具体的,提取模块303可以基于已训练的视频内容分类模型对各待检测视频帧进行特征提取,得到各待检测视频帧对应的图像特征,其中,视频内容分类模型由多个标注了视频内容类型的样本视频帧训练而成的。
第二获取模块304,用于获取各内容类别所属的聚类中心。
其中,第二获取模块304可以基于已训练的视频内容分类模型以及多个样本视频帧构建各内容类别所属的聚类中心,即,可选的,一些实施例中,第二获取模块304包括:
获取单元,用于获取已训练的视频内容分类模型以及多个标注了视频内容类型的样本视频帧;
构建单元,用于基于已训练的视频内容分类模型以及多个样本视频帧构建各内容类别所属的聚类中心。
可选的,一些实施例中,构建单元具体可以包括:
提取子单元,用于利用已训练的视频内容分类模型分别对各样本视频帧进行特征提取;
构建子单元,用于基于提取到的特征构建各内容类别所属的聚类中心。
可选的,一些实施例中,构建子单元具体可以用于:获取多个预设的内容标签,根据多个预设的内容标签确定所需聚类出的分类个数,基于预设聚类算法以及分类个数对提取到的特征进行聚类处理,得到各内容类别所属的聚类中心。
可选的,一些实施例中,请参阅图3b,检测装置还包括训练模块307,训练模块307具体可以用于:采集多个标注了视频内容类型的样本视频帧,从采集到的多个样本视频帧中确定当前需要进行训练的样本视频帧,得到当前处理对象,将当前处理对象导入预设初始分类模型中进行训练,得到当前处理对象对应的视频内容的预测值,将当前处理对象对应的预测值与当前处理对象的标注的视频内容类型进行收敛,以对预设初始分类模型的参数进行调整,返回执行从采集到的多个样本视频帧中确定当前需要进行训练的样本视频帧的步骤,直至多个样本视频帧均训练完毕。
计算模块305,用于分别计算各图像特征与多个聚类中心之间的距离,得到各图像特征对应的距离集合。
比如,有10个图像特征和6个聚类中心,那么每个图像特征均对应有一个距离集合,该距离集合包括图像特征分别与这6个聚类中心之间的距离,其中,该距离可以用欧式距离表示,当然,也可以用马氏距离,具体根据实际情况进行选择,在此不再赘述。
确定模块306,用于根据距离集合以及多个聚类中心确定待检测视频的内容类别。
例如,具体的,确定模块306可以在距离集合中随机选取3个距离,并根据这3个距离对应的聚类中心确定待检测视频的内容类别。
可选的,在一些实施例中,确定模块306具体可以包括:
选择单元,用于从距离集合中选择预设数量的距离,得到至少一个目标距离;
第一确定单元,用于确定与目标距离对应的聚类中心,得到至少一个目标聚类中心;
第二确定单元,用于根据至少一个目标聚类中心,确定待检测视频的内容类别。
可选的,在一些实施例中,选择单元具体可以用于:在距离集合中选择距离最小的作为目标距离。
可选的,在一些实施例中,第二确定单元具体可以用于:分别获取多个目标聚类中心对应的内容类别,基于确定的内容类别,确定待检测视频的内容类别。
可见,本发明实施例的第一获取模块301在获取待检测视频后,选择模块302从待检测视频中选择用于视频内容检测的视频帧,得到多个待检测视频帧,然后,提取模块303提取各待检测视频帧对应的图像特征,以及第二获取模块304获取各内容类别所属的聚类中心,接着,计算模块305分别计算各图像特征与多个聚类中心之间的距离,得到各图像特征对应的距离集合,最后,确定模块306根据距离集合以及多个聚类中心确定待检测视频的内容类别。相较于现有的视频内容的检测方案而言,本方案是通过计算各图像特征与多个聚类中心之间的距离,然后,再基于距离集合以及多个聚类中心确定待检测视频的内容类别,即,在实际的检测过程中,考虑到每帧图像帧的内容类别,进而确定待检测视频的内容类别,因此,可以提高检测视频内容的准确性。
此外,本发明实施例还提供一种电子设备,如图4所示,其示出了本发明实施例所涉及的电子设备的结构示意图,具体来讲:
该电子设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图4中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
电子设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
获取待检测视频,从待检测视频中选择用于视频内容检测的视频帧,得到多个待检测视频帧,提取各待检测视频帧对应的图像特征,并获取各内容类别所属的聚类中心,分别计算各图像特征与多个聚类中心之间的距离,得到各图像特征对应的距离集合,根据距离集合以及多个聚类中心确定待检测视频的内容类别。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
本发明实施例的服务器在获取待检测视频后,服务器从待检测视频中选择用于视频内容检测的视频帧,得到多个待检测视频帧,然后,服务器提取各待检测视频帧对应的图像特征,并获取各内容类别所属的聚类中心,接着,服务器分别计算各图像特征与多个聚类中心之间的距离,得到各图像特征对应的距离集合,最后,服务器根据距离集合以及多个聚类中心确定待检测视频的内容类别。相较于现有的视频内容的检测方案而言,本方案的服务器是通过计算各图像特征与多个聚类中心之间的距离,然后,再基于距离集合以及多个聚类中心确定待检测视频的内容类别,即,在实际的检测过程中,考虑到每帧图像帧的内容类别,进而确定待检测视频的内容类别,因此,可以提高检测视频内容的准确性。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种视频内容的检测方法中的步骤。例如,该指令可以执行如下步骤:
获取待检测视频,从待检测视频中选择用于视频内容检测的视频帧,得到多个待检测视频帧,提取各待检测视频帧对应的图像特征,并获取各内容类别所属的聚类中心,分别计算各图像特征与多个聚类中心之间的距离,得到各图像特征对应的距离集合,根据距离集合以及多个聚类中心确定待检测视频的内容类别。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种视频内容的检测方法中的步骤,因此,可以实现本发明实施例所提供的任一种视频内容的检测方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种视频内容的检测方法、装置、电子设备以及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
1.一种视频内容的检测方法,其特征在于,包括:
获取待检测视频,所述待检测视频包括多个视频帧;
从待检测视频中选择用于视频内容检测的视频帧,得到多个待检测视频帧;
提取各待检测视频帧对应的图像特征,并获取各内容类别所属的聚类中心;
分别计算各图像特征与多个聚类中心之间的距离,得到各图像特征对应的距离集合;
根据所述距离集合以及多个聚类中心确定待检测视频的内容类别。
2.根据权利要求1所述的方法,其特征在于,所述获取各内容类别所属的聚类中心,包括:
获取已训练的视频内容分类模型以及多个标注了视频内容类型的样本视频帧,所述视频内容分类模型由多个样本视频帧训练而成的;
基于已训练的视频内容分类模型以及多个样本视频帧构建各内容类别所属的聚类中心。
3.根据权利要求2所述的方法,其特征在于,所述基于已训练的视频内容分类模型以及多个样本视频帧构建各内容类别所属的聚类中心,包括:
利用已训练的视频内容分类模型分别对各样本视频帧进行特征提取;
基于提取到的特征构建各内容类别所属的聚类中心。
4.根据权利要求3所述的方法,其特征在于,所述基于提取到的特征构建各内容类别所属的聚类中心,包括:
获取多个预设的内容标签;
根据多个预设的内容标签确定所需聚类出的分类个数;
基于预设聚类算法以及分类个数对提取到的特征进行聚类处理,得到各内容类别所属的聚类中心。
5.根据权利要求2所述的方法,其特征在于,所述获取已训练的视频内容分类模型之前,还包括:
采集多个标注了视频内容类型的样本视频帧;
从采集到的多个样本视频帧中确定当前需要进行训练的样本视频帧,得到当前处理对象;
将所述当前处理对象导入预设初始分类模型中进行训练,得到当前处理对象对应的视频内容的预测值;
将当前处理对象对应的预测值与当前处理对象的标注的视频内容类型进行收敛,以对所述预设初始分类模型的参数进行调整;
返回执行从采集到的多个样本视频帧中确定当前需要进行训练的样本视频帧的步骤,直至所述多个样本视频帧均训练完毕。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述根据所述距离集合以及多个聚类中心确定待检测视频的内容类别,包括:
从所述距离集合中选择预设数量的距离,得到至少一个目标距离;
确定与目标距离对应的聚类中心,得到至少一个目标聚类中心;
根据至少一个目标聚类中心,确定待检测视频的内容类别。
7.根据权利要求6所述的方法,其特征在于,所述根据至少一个目标聚类中心,确定待检测视频的内容类别,包括:
分别获取多个目标聚类中心对应的内容类别;
基于确定的内容类别,确定待检测视频的内容类别。
8.根据权利要求6所述的方法,其特征在于,所述从所述距离集合中选择预设数量的距离,得到至少一个目标距离,包括:
在所述距离集合中选择距离最小的作为目标距离。
9.根据权利要求1至5任一项所述的方法,其特征在于,所述从待检测视频中选择用于视频内容检测的视频帧,得到多个待检测视频帧,包括:
检测待检测视频中视频帧的数量;
判断所述数量是否大于预设数量;
当所述数量大于预设数量时,基于预置策略在待检测视频中去除相应的视频帧,得到保留视频帧集合;
从所述保留视频帧集合中间隔选取多个视频帧,得到待检测视频帧。
10.根据权利要求9所述的方法,其特征在于,还包括:
当所述数量小于或等于预设数量时,从待检测视频中间隔选取多个视频帧,得到待检测视频帧。
11.一种视频内容的检测装置,其特征在于,包括:
第一获取模块,用于获取待检测视频,所述待检测视频包括多个视频帧;
选择模块,用于从待检测视频中选择用于视频内容检测的视频帧,得到多个待检测视频帧;
提取模块,用于提取各待检测视频帧对应的图像特征;
第二获取模块,用于获取各内容类别所属的聚类中心;
计算模块,用于分别计算各图像特征与多个聚类中心之间的距离,得到各图像特征对应的距离集合;
确定模块,用于根据所述距离集合以及多个聚类中心确定待检测视频的内容类别。
12.一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1-10任一项所述视频内容的检测方法的步骤。
13.一种存储介质,其特征在于,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1-10任一项所述视频内容的检测方法的步骤。
技术总结