掌桥专利:专业的专利平台
掌桥专利
首页

一种基于深度字典学习的视频鉴别方法及系统

文献发布时间:2023-06-19 10:05:17


一种基于深度字典学习的视频鉴别方法及系统

技术领域

本发明涉及图像处理技术领域,尤其涉及一种基于深度字典学习的视频鉴别方法及系统。

背景技术

近年来,随着互联网技术的蓬勃发展和全民普及,大众的信息接收方式也在不断地发生变化。网络视频行业俨然成为了我国互联网的朝阳产业,尤其是短视频APP的快速兴起,展现出大众对视频分享和创作的乐趣。各种各样的海量视频通过网络进行传播,使得视频数据规模井喷式俱增。人们在享受互联网带来的便捷的同时,网络视频的版权保护问题逐渐成为了大难题,大量盗版、拷贝和抄袭等侵权视频在网络上传播,侵犯了内容所有者的利益,同时带来了许多知识产权的纠纷和不良的影响。对于视频网站来说,实时检测和管理用户上传的大量视频是一项严峻的挑战,由于数据规模的庞大,只依靠传统的人力方式去鉴别视频内容是不现实的。为了解决这一问题,亟需一个具有实时性和准确性的视频身份验证算法,实现对网络视频数据的鉴别,以解决版权保护和非法内容检测问题。视频指纹技术应运而生,该技术的核心思想就是通过某些算法对视频提取到像人的指纹一样的唯一描述,以实现每一个视频的精准匹配。

目前,国内外学者已经提出了许多视频指纹提取方法。早期的指纹提取方法是在图像哈希的基础上提出的,通过计算视频帧的平均灰度值作为阈值,来生成预定义长度的二进制代码,作为视频描述符,用于检索和匹配。这一方法构建的视频指纹十分简单,由于没有融合视频自身的特征,如果对视频片段进行模糊、旋转、裁剪和插入元素等修改时,无法保证良好的区分性和鲁棒性。因此,有的学者提出了多特征融合的指纹提取算法,以提高算法的准确率和鲁棒性。比如将视频帧中的局部特征与全局特征结合,或者提取运动特征来结合视频的空间和时间信息,这些方法对视频帧的采样率有较高的要求,因此算法的鲁棒性提高的后果是整体效率的下降。随着深度学习的不断发展,基于深度网络模型的视频指纹提取获得了更优秀的匹配准确率,然而深度学习一般会产生高维度的特征向量,导致视频指纹的提取和匹配会造成较高的计算成本,难以在实际应用中满足网络视频实时监管和鉴别的要求。有学者提出的字典学方法通过使用迭代更新后得到的超完备字典,实现对数据的稀疏线性组合描述,在提取数据本质特征和数据压缩方面具有明显优势。而在某些情景下,单一的字典可能无法达到系统对数据压缩的要求,因此又有学者提出利用级联的字典进行学习,实现更稀疏的数据表征。

基于以上背景可以分析得出,视频鉴别需要满足匹配速度和效率方面的要求,所提取的视频指纹应占据尽量少的内存,但是基于深度学习的方法提取的视频特征鲁棒性好,但特征维度较高,应用在视频指纹会导致较高的计算开销。

发明内容

本发明实施例提供一种基于深度字典学习的视频鉴别方法及系统,用以解决现有技术中视频指纹计算开销较大的缺陷,实现数字视频的鉴别。

本发明实施例提供一种基于深度字典学习的视频鉴别方法,包括:

获取目标视频中的若干关键帧图像;

将每一关键帧图像输入到视频指纹生成网络中,获取所述目标视频的指纹,其中,所述视频指纹生成网络包括字典,所述字典用于进行稀疏矩阵的计算;

将所述目标视频的指纹与预设数据库中的每一备用视频的指纹进行匹配,根据匹配结果对所述目标视频进行鉴别。

根据本发明一个实施例的基于深度字典学习的视频鉴别方法,所述将每一关键帧图像输入到视频指纹生成网络中,获取所述目标视频的指纹,具体包括:

将每一关键帧图像输入到所述视频指纹生成网络中的卷积神经网络中,获取深层特征;

将所述深层特征输入到所述视频指纹生成网络中的第一字典学习模块中,获取初始稀疏特征;

将所述初始稀疏特征输入到所述视频指纹生成网络的第二字典学习模块中,获取优化稀疏特征;

根据所述优化稀疏特征,获取所述目标视频的指纹。

根据本发明一个实施例的基于深度字典学习的视频鉴别方法,所述获取目标视频中的若干关键帧图像,具体包括:

对所述目标视频进行镜头边缘检测,将所述目标视频切分为若干镜头片段;

对于任一镜头片段,通过k-means算法对所述任一镜头片段内的所有视频帧图像进行聚类,获取所述任一镜头片段对应的中心帧;

将所有镜头片段对应的中心帧作为所述目标视频的关键帧。

根据本发明一个实施例的基于深度字典学习的视频鉴别方法,所述对所述目标视频进行镜头边缘检测,将所述目标视频切分为若干镜头片段,具体包括:

计算所述目标视频中每一帧图像的直方图;

对于当前滑动窗口,获取所述当前滑动窗口中直方图最大的帧图像,作为所述当前滑动窗口的初始边缘帧;

若所述当前滑动窗口的初始边缘帧与上一边缘帧之间的距离大于第一预设阈值,并获取所述当前滑动窗口的初始边缘帧与所述上一边缘帧之间所有帧的直方图差值的平均值,若所述平均值大于第二预设阈值,则将所述当前滑动窗口的初始边缘帧作为所述当前滑动窗口的边缘帧,所述第二预设阈值为所述当前滑动窗口的两个预设边缘帧之间的距离。

根据本发明一个实施例的基于深度字典学习的视频鉴别方法,还包括:

否则,向所述当前滑动窗口向后移动第三预设步长,将移动后的帧图像重新作为所述当前滑动窗口的初始边缘帧,并重复上述判断过程。

根据本发明一个实施例的基于深度字典学习的视频鉴别方法,所述将所述目标视频的指纹与预设数据库中的每一备用视频的指纹进行匹配,根据匹配结果对所述目标视频进行鉴别,具体包括:

通过哈希索引算法,将所述目标视频的指纹与预设数据库中的每一备用视频的指纹进行匹配,根据匹配结果对所述目标视频进行鉴别。

根据本发明一个实施例的基于深度字典学习的视频鉴别方法,所述字典为K-SVD字典。

本发明实施例还提供一种基于深度字典学习的视频鉴别系统,包括:

关键帧模块,用于获取目标视频中的若干关键帧图像;

指纹模块,用于将每一关键帧图像输入到视频指纹生成网络中,获取所述目标视频的指纹,其中,所述视频指纹生成网络包括字典,所述字典用于进行稀疏矩阵的计算;

鉴别模块,用于将所述目标视频的指纹与预设数据库中的每一备用视频的指纹进行匹配,根据匹配结果对所述目标视频进行鉴别。

本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于深度字典学习的视频鉴别方法的步骤。

本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于深度字典学习的视频鉴别方法的步骤。

本发明实施例提供的一种基于深度字典学习的视频鉴别方法及系统,利用深度学习和多层字典学习提取视频的特征稀疏矩阵,形成视频指纹,并进行指纹数据库的构建和目标视频的指纹匹配,实现对数字视频的鉴别。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种基于深度字典学习的视频鉴别方法的流程图;

图2为本发明又一实施例提供的基于深度字典学习的视频鉴别方法流程图;

图3为本发明实施例中视频指纹生成网络提取视频指纹的架构图;

图4为本发明实施例中字典学习过程架构图;

图5为本发明实施例提供的一种基于深度字典学习的视频鉴别系统的结构示意图;

图6为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例提供的一种基于深度字典学习的视频鉴别方法的流程图,如图1所示,该方法包括:

S1,获取目标视频中的若干关键帧图像;

具体地,一段视频可以看做是由多个连续的帧图像组成,本发明实施例中为了更好地提高视频指纹的鉴别性能,减少深度学习和字典学习阶段所需的计算开销,在视频预处理阶段进行视频镜头检测,提取出表达能力较好的关键帧图像,以降低数据量。

S2,将每一关键帧图像输入到视频指纹生成网络中,获取所述目标视频的指纹,其中,所述视频指纹生成网络包括字典,所述字典用于进行稀疏矩阵的计算;

然后将提取到的每幅关键帧图像输入到视频指纹生成网络中,提取出目标视频的指纹,该视频指纹生成网络中包含了字典,并且该字典用于进行稀疏矩阵的计算,该字典可以将稀疏矩阵表达的更为稀疏,从而进一步降低了计算机的消耗。

S3,将所述目标视频的指纹与预设数据库中的每一备用视频的指纹进行匹配,根据匹配结果对所述目标视频进行鉴别。

本发明实施例在视频指纹匹配阶段,首先将所有的视频数据进行指纹提取,得到大量备用视频的指纹,并将其作为预设数据库,将目标视频的指纹和预设数据库中每个备用视频的指纹进行匹配,然后根据匹配结果对该目标视频进行鉴别,如果匹配成功,说明该目标视频可能是盗版视频。

本发明实施例提供的一种基于深度字典学习的视频鉴别方法,利用深度学习和多层字典学习提取视频的特征稀疏矩阵,形成视频指纹,并进行指纹数据库的构建和目标视频的指纹匹配,实现对数字视频的鉴别。

在上述实施例的基础上,优选地,所述将每一关键帧图像输入到视频指纹生成网络中,获取所述目标视频的指纹,具体包括:

具体地,本发明实施例中的视频指纹生成网络由卷积神经网络、第一字典学习模块、第二字典学习模块三部分按照先后顺序依次组成。

将每一关键帧图像输入到所述视频指纹生成网络中的卷积神经网络中,获取深层特征;

首先将每个关键帧图像输入到视频指纹生成网络中的卷积神经网络中,提取深层特征。

将所述深层特征输入到所述视频指纹生成网络中的第一字典学习模块中,获取初始稀疏特征;

然后将深层特征输入到视频指纹生成网络中的第一字典学习模块中,提取出初始稀疏特征,初始稀疏特征可以按照看做是深层特征的稀疏表达,通过初始稀疏特征,降低了计算量。

将所述初始稀疏特征输入到所述视频指纹生成网络的第二字典学习模块中,获取优化稀疏特征;

接着将初始稀疏特征输入到视频指纹生成网络的第二字典学习模块中,得到优化稀疏特征,优化稀疏特征是初始稀疏特征的更加稀疏的表达,进一步降低了计算量。

根据所述优化稀疏特征,获取所述目标视频的指纹。

最后根据优化稀疏特征,得到目标视频的指纹。

在上述实施例的基础上,优选地,所述获取目标视频中的若干关键帧图像,具体包括:

对所述目标视频进行镜头边缘检测,将所述目标视频切分为若干镜头片段;

对于任一镜头片段,通过k-means算法对所述任一镜头片段内的所有视频帧图像进行聚类,获取所述任一镜头片段对应的中心帧;

将所有镜头片段对应的中心帧作为所述目标视频的关键帧。

具体地,首先对目标视频进行镜头边缘检测,将目标视频切分为若干个镜头片段,以其中一个镜头片段为例进行说明,通过k-means算法对该镜头片段对应的中心帧,然后将每个镜头片段对应的中心帧作为目标视频的关键帧图像。

在上述实施例的基础上,优选地,所述对所述目标视频进行镜头边缘检测,将所述目标视频切分为若干镜头片段,具体包括:

计算所述目标视频中每一帧图像的直方图;

对于当前滑动窗口,获取所述当前滑动窗口中直方图最大的帧图像,作为所述当前滑动窗口的初始边缘帧;

若所述当前滑动窗口的初始边缘帧与上一边缘帧之间的距离大于第一预设阈值,并获取所述当前滑动窗口的初始边缘帧与所述上一边缘帧之间所有帧的直方图差值的平均值,若所述平均值大于第二预设阈值,则将所述当前滑动窗口的初始边缘帧作为所述当前滑动窗口的边缘帧,所述第二预设阈值为所述当前滑动窗口的两个预设边缘帧之间的距离。

在上述实施例的基础上,优选地,还包括:

否则,向所述当前滑动窗口向后移动第三预设步长,将移动后的帧图像重新作为所述当前滑动窗口的初始边缘帧,并重复上述判断过程。

直方图差值d越大的帧是镜头边缘帧的可能性越大,同时,选定边缘帧还需要注意两个镜头边缘帧不能太靠近,并且边缘帧与前一边缘帧的差值应当是截取镜头内所有帧差值最大的,下个镜头片段中与该镜头靠近的部分帧图像之间的直方图差值d不应明显大于该边缘帧与前帧的直方图差值d。因此,算法设计过程中,本发明实施例在确定镜头边缘帧时进行了三次筛选。

(1)设计的每个滑动窗口帧长为L,步长为l,则窗口重叠k=L-l。对于当前滑动窗口帧,假定选取的某一帧为直方图最大的帧,设为第Q个边缘帧,也就是初始边缘帧,则判断该帧与上一边缘帧的距离是否小于预设的最小镜头长度,该最小镜头长度即为第一预设阈值,若小于则取消该帧的边缘帧资格,若大于则确认该帧为该当前滑动窗口的边缘帧。

(2)计算第Q个边缘帧与上一个边缘帧之间所有帧的直方图差值d的平均值

(3)向后寻找l帧的,l即为第三预设阈值,检查是否有比该帧更适合的关键帧,过程与步骤一二相同,若没有则保留资格,若有则重新设定第Q个边缘帧。

在上述实施例的基础上,优选地,所述将所述目标视频的指纹与预设数据库中的每一备用视频的指纹进行匹配,根据匹配结果对所述目标视频进行鉴别,具体包括:

通过哈希索引算法,将所述目标视频的指纹与预设数据库中的每一备用视频的指纹进行匹配,根据匹配结果对所述目标视频进行鉴别。

本发明实施例在匹配方面,应用了多索引哈希,与K-D树等方法相比,该方法可以在大规模数据环境下快速进行最近邻查询,得到视频鉴别结果。因此,本发明提出的基于深度字典学习的视频指纹提取方法切实可行,且具有重要的应用价值和实际意义。

综上,本发明实施例提出一种基于深度字典学习的视频指纹提取方法及系统,该方法分为以下三个阶段:视频镜头检测、基于镜头内容的视频指纹提取和视频指纹匹配。

视频指纹提取是本发明的主要内容,为了更好地提高系统性能,减少深度学习和字典学习阶段所需的计算开销,在视频预处理阶段进行了视频镜头检测,以提取表达能力较好的关键帧图像,降低数据量。

视频匹配的效率对视频鉴别系统效率有比较大的影响,因此本发明实施例将高效的多索引哈希方法应用于稀疏特征编码的视频指纹匹配阶段。

在视频镜头检测阶段,首先利用基于直方图差异的方法实现视频的镜头边缘检测,在确定镜头边缘帧后对视频进行切分,最后通过基于聚类的方法找到每一个聚类的中心帧作为该段视频的关键帧图像,减少大量的冗余关键帧图像。

在基于镜头内容的视频指纹提取阶段,首先将确定的关键帧输入深度学习网络进行训练,然后提取深层特征,通过字典学习进行稀疏表示,并得到优化稀疏特征,最后对所得到的稀疏矩阵进行编码和存储,作为该视频的视频指纹。

在视频指纹匹配阶段,首先将所有的视频数据进行指纹提取,得到大量视频指纹,并构建哈希索引,然后将目标视频输入已经训练好的系统中提取指纹,应用多索引哈希进行最近邻查询,将该视频指纹与指纹数据库进行比对,最终得到匹配结果。

本方法主要过程如附图1所示,可分为以下三个步骤:视频镜头检测、基于镜头内容的视频指纹提取、视频指纹匹配。

(1)视频镜头检测

为了提高算法的效率,解决大规模网络视频的鉴别问题,本发明将首先对视频利用基于直方图差异的方法进行视频镜头边缘检测,将该视频切分成多个镜头。然后通过k-means聚类的方法将镜头内的所有视频帧进行聚类,并在每个聚类提取一个中心帧,这些镜头提取的聚类中心帧的集合即为该视频的关键帧。

在保证关键帧的表达能力的前提下,这样的处理相比稠密采样可以有效减少冗余,降低后续算法要处理数据量,提高方案整体的效率。

(2)基于镜头内容的视频指纹提取

为了利用较少的资源对视频进行准确的描述,本发明使用CNN网络提取深度特征,并结合字典学习的稀疏表示的优势,将特征压缩,使得视频指纹所需的存储空间尽可能的小。

首先搭建一个卷积神经网络,输入训练样本后提取关键帧的深层特征。将这些特征输入至K-SVD字典学习,得到特征的稀疏矩阵,然后再次分别调整字典和稀疏矩阵,反复迭代,最终得到超完备字典。

最后对所得到的稀疏矩阵进行编码存储即为视频指纹。

(3)视频指纹匹配

该步骤首先通过对数据库内的全部视频进行指纹提取,得到视频指纹库,然后构建哈希表,为后续的索引做准备。

本发明在根据公开数据集得到训练好的网络和指纹数据库后,即可进行视频指纹匹配。对系统输入的目标视频,然后进行镜头检测、确定关键帧、提取特征等操作后得到视频指纹,然后应用多索引哈希,根据哈希表进行查找以得到候选结果,计算汉明距离对候选结果进行排序,设置阈值即可得到数据库中与目标视频相关的数据,得到匹配结果。

本发明与现有技术相比,具有以下明显的优势和有益效果:

首先,视频镜头检测阶段提取关键帧,将视频帧中冗余的部分去除,与稠密采样的方法相比,降低了系统后续要处理的数据量,提高了算法的整体效率。其次,相比其他视频指纹提取方法,本发明利用深度字典学习构建系统,对视频特征进行学习和稀疏表示,减少了视频指纹所需的存储空间,更能满足数字视频规模日益增大的监管要求。选择了CC_WEB_VIDEO和VCDB等公开数据集进行训练和测试,同时可以对网络上大量无标注数据进行无监督训练,具有更好的实际意义。在指纹提取阶段,由训练好的卷积神经网络和字典进行特征提取和稀疏矩阵的计算,可以有效保证相似视频所提取的指纹的相似度。

最后在匹配方面,应用了多索引哈希,与K-D树等方法相比,该方法可以在大规模数据环境下快速进行最近邻查询,得到视频鉴别结果。因此,本发明提出的基于深度字典学习的视频指纹提取方法切实可行,且具有重要的应用价值和实际意义。

根据上述描述,以下是一个具体的实施流程,但本发明实施例所保护的范围并不限于该实施流程,图2为本发明又一实施例提供的基于深度字典学习的视频鉴别方法流程图,图3为本发明实施例中视频指纹生成网络提取视频指纹的架构图,图4为本发明实施例中字典学习过程架构图,如图2、图3和图4所示,该方法可以分为如下几个步骤:

步骤1:视频镜头检测

本发明的视频镜头检测主要是利用基于直方图差异的方法进行视频的镜头切分和利用k-means聚类的方法提取关键帧,为后续的深度字典学习做铺垫。

步骤1.1:镜头边缘检测

步骤1.1.1:计算帧间直方图差值

直方图差值计算主要用于对于两幅图像之间的差异进行统计和记录,方便后续设置阈值提取边界帧。本发明通过计算视频前后两帧的直方图差值,确定前后两帧图像的差异程度。

对于待检测视频,其前一帧图像的直方图为H

步骤1.1.2:确定镜头边缘

直方图差值d越大的帧是镜头边界帧的可能性越大,同时,选定边界帧还需要注意两个镜头边缘帧不能太靠近,边缘帧与前一帧的差值应当是截取镜头内所有帧差值最大的,下个镜头中与该镜头靠近的部分帧之间的直方图差值d不应明显大于该边缘帧与前帧的直方图差值d。因此,算法设计过程中,本发明在确定镜头边缘帧时进行了三次筛选。

(1)设计的滑动窗口帧长为L,步长为l,则窗口重叠k=L-l,假定选取的某一帧为d最大的帧,设为第Q个边缘帧,则判断该帧与上一边缘帧的距离是否小于预设的最小镜头长度,若小于则取消该帧的边缘帧资格,若大于则确认该帧为第Q个边缘帧。

(2)计算第Q个边缘帧与上一个边缘帧之间所有帧的直方图差值d的平均值

(3)向后寻找l帧的,检查是否有比该帧更适合的关键帧,过程与步骤一二相同,若没有则保留资格,若有则重新设定第Q个边缘帧。

对整段视频处理后,可以得到基本合理的镜头边缘,即完成了对视频的镜头切分。

步骤1.2:基于k-means聚类提取关键帧

首先提取镜头内以第一个帧图像的R、G、B直方图,设为初始质心。然后将第二个帧与第一个帧的聚类质心进行对比,检验两个图像的RGB三种质心的距离,预先将阈值设置好。若第二帧与第一帧类似,则第二帧加入第一帧的聚类,同时在初始质心的基础上,生成新的质心,作为与后续帧做比较的基础。若第二帧与第一帧不类似,则生成新的聚类。接着输入第三帧,检验RGB质心距离,进行与前一聚类质心的比较,通过阈值,选择归属某一聚类或者生成新的聚类。依照这个过程,这一镜头内的所有帧都会有聚类归属,然后在每个归属内随机提取一帧,即为该镜头的关键帧。

为了防止内容变化过于平缓的镜头提取过多的关键帧,本发明在此基础上,对所提取的关键帧利用直方图差值d进行了一次筛选。首先计算镜头内的所有帧的平均直方图差值

步骤2:基于镜头内容的视频指纹提取

本发明的指纹提取阶段,首先,将确定的关键帧输入深度学习网络进行训练,然后提取深层特征,然后利用多层的K-SVD字典进行学习,将多个字典进行级联,反复迭代学习,得到超完备字典。最后对特征矩阵进行稀疏编码得到视频指纹。

步骤2.1:卷积神经网络学习

本步骤提出的卷积神经网络架构基于主流的开源深度学习框架ResNet实现。ResNet通过构建恒等映射去学习残差值,避免了网络深度增加带来的梯度消失的问题。本发明选用的是层数较小的ResNet18来提取关键帧特征,数据进入网络会依次进入网络输入部分、中间卷积部分以及平均池化和全连接层输出得到结果。

网络输入部分由大小为7×7、步幅为2的大卷积核和大小为3×3、步幅为2的最大池化组成。通过该部分后,224×224大小的关键帧图像会提取为56×56大小的特征图。

网络中间卷积部分由4个使用2个残差块组成的模块构成。卷积核大小为3×3,每个模块与上一个模块相比,通道数翻倍,输出的特征尺寸减半,最后输出的特征尺寸为7×7。

网络输出部分由一个全局自适应平均池化和全连接层组成,将特征尺寸缩减为1×1得到输出结果。

步骤2.2:K-SVD字典学习

字典学习过程从矩阵分解的角度可以简单表述成:先给定一个用来学习的样本数据集Y,矩阵Y的每一列可以表示一个样本,然后字典学习的目标就是把矩阵Y分解成矩阵D和矩阵X:

Y=D·X (2)

该式需满足约束条件:矩阵X∈R

本发明使用的字典学习算法为K-SVD算法,主体思路是利用包含K个原子的字典矩阵D∈R

上式中X∈R

此时需要找到最优的d

在算法实验过程中,首先对输入的特征矩阵进行映射,形成样本矩阵Y,此时对字典矩阵D随机挑选样本数据,预输入参数,初始化稀疏矩阵X为0矩阵,即可进行字典学习。

步骤2.3:多层字典级联

深度字典学习与字典学习相同,同样可以使用矩阵分解的方式进行描述:先给定一个用来学习的样本数据集Y,矩阵Y的每一列可以表示一个样本,然后字典学习的目标就是把矩阵Y进行多层矩阵分解,得到矩阵D

Y=D

由该式直接进行计算,虽然会得到的预期稀疏矩阵X,但字典学习的过程会变得非常复杂,所需要求解的参数也会大大增加。因此采用逐层训练的思想保证算法的效率,即将求解过程逐层分解,首先将样本矩阵Y分解为第一层字典矩阵D

Y=D

然后将稀疏矩阵Z

Z

通过这种级联的方式,就可以实现更深层的字典学习,以达到对视频关键帧特征更稀疏的矩阵表示。实现时的具体过程与K-SVD字典学习过程相似,只需将第一层字典的输出作为第二层字典的样本输入,在更新字典时,由后向前逐层更新,最终可以得到字典矩阵D

步骤2.4:稀疏矩阵编码

本发明使用的稀疏矩阵存储格式为CSR(Compressed Sparse Row,简称CSR),该编码方式需要三类数据表示一个稀疏矩阵:数值、列号和行偏移。数值存储某一非零元素的大小,列号存储该非零元素属于哪一列,行偏移表示数值存储内第一个非零元素的起始偏移位置。举例如下:

【1,0,5,0,0】

【0,0,3,0,7】

【4,0,6,0,9】

【0,3,0,3,0】

【0,2,8,0,0】

压缩后:

Value=【1,5,3,7,4,6,9,3,3,2,8】

Column=【0,2,2,4,0,2,4,1,3,1,2】

Row=【0,2,4,7,10】

然后将压缩后的稀疏矩阵进行存储,即为该段视频的指纹。

步骤3:视频指纹提取与匹配

本发明需用上述方式,对数据库内的大量网络视频进行处理,得到指纹数据库,构建哈希表,方便使用多索引哈希将待检测视频的指纹与数据库内的视频指纹进行比对,提高匹配过程的效率。

步骤3.1:构建哈希索引

本发明使用多索引哈希算法来处理大规模的二进制码数据检索问题。首先将长度为L的二进制码划分成m个不相交的子串,每个子串的长度为L/m,然后为每一个子串建立一个哈希表,则哈希表的个数为m。在对输入的视频指纹查询时,同样将该二进制码划分为m个子串,然后在每个子串相应的哈希表中,进行查找,返回候选结果。当两个二进制码q和p有r位不相同时,那么至少他们的一个子串最多有r/m位不同:

其中,q

步骤3.3:视频指纹匹配

系统对输入的待检测视频,将自动完成镜头检测、确定关键帧和提取二进制视频指纹等一系列操作,然后应用多索引哈希,将提取的视频指纹在指纹库中进行检索,根据候选结果和该二进制码之间的海明距离进行排序,找到数据库中与该视频指纹的最近邻,通过预设的阈值判决两者是否相似,得到指纹匹配结果,完成对该视频的鉴别。

图5为本发明实施例提供的一种基于深度字典学习的视频鉴别系统的结构示意图,如图5所示,该系统包括关键帧模块501、指纹模块502和鉴别模块503,其中:

关键帧模块501用于获取目标视频中的若干关键帧图像;

指纹模块502用于将每一关键帧图像输入到视频指纹生成网络中,获取所述目标视频的指纹,其中,所述视频指纹生成网络包括字典,所述字典用于进行稀疏矩阵的计算;

鉴别模块503用于将所述目标视频的指纹与预设数据库中的每一备用视频的指纹进行匹配,根据匹配结果对所述目标视频进行鉴别。

本实施例为与上述方法相对应的系统实施例,详情请参考上述实施例,本系统实施例在此不再赘述。

图6为本发明实施例提供的一种电子设备的结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(Communications Interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行一种基于深度字典学习的视频鉴别方法,该方法包括:

获取目标视频中的若干关键帧图像;

将每一关键帧图像输入到视频指纹生成网络中,获取所述目标视频的指纹,其中,所述视频指纹生成网络包括字典,所述字典用于进行稀疏矩阵的计算;

将所述目标视频的指纹与预设数据库中的每一备用视频的指纹进行匹配,根据匹配结果对所述目标视频进行鉴别。

此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

另一方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的一种基于深度字典学习的视频鉴别方法,该方法包括:

获取目标视频中的若干关键帧图像;

将每一关键帧图像输入到视频指纹生成网络中,获取所述目标视频的指纹,其中,所述视频指纹生成网络包括字典,所述字典用于进行稀疏矩阵的计算;

将所述目标视频的指纹与预设数据库中的每一备用视频的指纹进行匹配,根据匹配结果对所述目标视频进行鉴别。

又一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的一种基于深度字典学习的视频鉴别方法,该方法包括:

获取目标视频中的若干关键帧图像;

将每一关键帧图像输入到视频指纹生成网络中,获取所述目标视频的指纹,其中,所述视频指纹生成网络包括字典,所述字典用于进行稀疏矩阵的计算;

将所述目标视频的指纹与预设数据库中的每一备用视频的指纹进行匹配,根据匹配结果对所述目标视频进行鉴别。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 一种基于深度字典学习的视频鉴别方法及系统
  • 一种基于构造特征图像深度学习的木材鉴别方法和系统
技术分类

06120112409605