一种基于目标检测的视频摘要生成方法与流程

文档序号:16008708发布日期:2018-11-20 20:23阅读:402来源:国知局

本发明属于图像处理技术领域,特别涉及一种基于目标检测的视频摘要生成方法。



背景技术:

近年来,随着互联网时代各类视频的传播而引起的信息爆炸,人们面对着越来越多的视频信息。有些视频当中场景与内容变化复杂,人们是很难快速地分析出主要内容;有些视频时长过长,比如监控视频,人们需要大量的人力实时监控。视频摘要技术能够自动地去发现和概括视频主题,从而帮助人们快速地了解视频的主要内容,变得越来越重要。然而,如何能够在短时间内将视频的主要内容提取出来从而节省人们时间,提高效率是当前研究的主要困难。

目前的视频摘要的方法主要分为基于片段级、关键帧级、分割级的视频摘要方法。片段级视频摘要方法是截取视频中的一小段或者几小段内容作为视频摘要的结果:该方法首先根据混合高斯模型对本地的视频流进行处理,获得视频的背景信息;接着将视频与背景信息做减法得到运动的目标;接着通过分层关联的方式将运动的目标进行跟踪选取得到运动目标的完整信息;最终将运动目标与背景信息重新组装成片段级的视频摘要。这种方法的缺点是所得到的视频摘要不够简洁,遇到较长的视频仍然耗时。关键帧级视频摘要方法是将视频中重要的几张关键图片作为最后的结果:该方法首先将视频中的图像进行二进制处理,接着通过支持向量机分析图像数据并利用图像中的颜色域梯度信息,提取原始视频中的关键帧。这种方法的缺点是摘要得到的整张图片不易于理解,无法快速捕捉到关键信息。而分割级视频摘要是在关键帧级的基础上,通过纹理等信息选出关键帧中重要的区域,但是这种方法的缺点是无法得到准确的视频摘要信息,得到的结果往往无法反映出真实的视频摘要内容。



技术实现要素:

本发明的目的是为克服已有技术的不足之处,提出一种基于目标检测的视频摘要生成方法。本发明能够准确没有遗漏地选出最能代表视频内容的目标,使人们对视频内容的理解更加清晰和直观,不再局限于场景和视频大小与格式的限制。

本发明提出一种基于目标检测的视频摘要生成方法,其特征在于,该方法包括以下步骤:

(1)训练阶段:

(1-1)获取训练数据集并进行标注:

使用包含2种以上的目标物体的图片数据集作为训练数据集,对训练数据集每张图片中的所包含的目标物体进行人工标注,该标注过程是对每张图片中包含的每个目标物体分别画出一个检测框,检测框的大小为能包含该目标物体的最小长方形框;

(1-2)构建深度学习网络;

构建一个深度学习网络,该深度学习网络由五层卷积层和三层池化层组成;网络的输入为一个批次的图片,每个批次的图片数量为128张;网络的输出为每张图片中的每个目标物体分别对应的一个4096维向量代表该目标物体和一个4维向量代表该目标物体在图片中的坐标;

(1-3)利用经过步骤(1-1)标注后的训练数据集对步骤(1-2)建立的深度学习网络进行训练,得到训练完毕的深度学习网络;具体步骤如下:

(1-3-1)从经过步骤(1-1)标注后的训练数据集中随机选取一个批次的图片输入到步骤(1-2)建立的深度学习网络中,得到输入的每张图片对应的特征图作为深度学习网络第一阶段的输出:

(1-3-2)将(1-3-1)输出的每张图片对应的特征图作为深度学习网络第二阶段的输入,重新输入到第一阶段的深度学习网络中,通过设定的n个不同尺寸的候选框在特征图上滑动,将每个获选框选定的图片范围与输入图片中目标物体的位置进行重合度IoU(t,g)筛选:若IoU>0.7,则将候选框选定的图片范围作为正样例;若IoU<0.3,则将候选框选定的图片范围作为负样例;若0.3<IoU<0.7,则候选框选定的图片范围既不是正样例,也不是负样例;

假设G为输入图片中目标物体的检测框集合,任意一个候选框选定的图片范围t∈T和任意一个检测框g∈G的重合度IoU(t,g)计算表达式为:

(1-3-3)从步骤(1-3-2)生成的所有正负样例中,每次随机在正样例和负样例中各挑选128个样例作为训练样例进行正负样例训练;将128个正样例和128个负样例输入到损失函数中,得到对应的损失函数值,通过梯度下降法最小化函数值;损失函数为:

式中,i表示在训练样例中目标物体的索引,i=1,2,…,128,pi表示第i个训练样例是目标物体的概率,pi*表示第i个训练样例的真实标签,pi*∈{0,1},当目标物体是正样例时,pi*为0;当目标物体是负样例时,pi*为1,ti表示第i个训练样例检测框四个坐标的向量,ti*表示代表第i个训练样例候选框的坐标向量;Lcls(,)为Softmax loss,Lreg(,)为smooth L1loss;L(,)为损失函数;Ncls,Nreg,λ为三个常数值;其中,smooth L1loss为:

其中,x为输入的变量;

(1-3-4)重复步骤(1-3-1)至(1-3-3)L次,L≥2000,使得训练数据集的每张图片得到对应的正样例作为候选区域;

(1-3-5)以步骤(1-3-4)生成的每张图片候选区域作为输入,经过池化层输出每张图片对应的所有的目标物体候选区域,将目标物体候选区域按照Softmax分类器得到分数最高的候选区域作为最终的目标物体,得到4096维特征向量目标物体对应输入图片中的4个顶点位置并以4维向量进行表示,深度学习网络训练完毕;

(2)使用阶段:

(2-1)获取任意一段视频;

(2-2)对步骤(2-1)获取的视频进行分帧处理并按照设定的间隔标准获取视频帧,将获取的每帧视频帧存储为一个对应的691200=360*640*3维数组,其中360*640代表视频帧的尺寸,3代表红绿蓝三种颜色通道;

(2-3)将步骤(2-2)中得到的视频帧依次输入步骤(1)训练完毕的深度学习网络中,网络输出每一帧视频帧所包含目标物体的4096维特征向量代表该目标物体的种类、目标物体对应的4维向量代表目标物体在该帧图像中的位置、包含该目标物体的691200维向量代表包含该目标物体的视频帧原图,并分别存为三个数组,三个数组的维数分别记为:(n,4096),(n,4),(n,691200),其中n为视频中目标物体的数量;

(2-4)将步骤(2-3)得到的所有视频帧对应的目标物体特征向量使用K-means算法进行聚类,产生k个类及每个类对应的聚类中心x';

(2-5)对每个聚类中心x',找到与该聚类中心距离L2最小的特征向量,共得到k个目标物体对应的特征向量,并将k个特征向量存储到一个新的数组中,得到对应的k*4096维特征向量数组;其中L2距离的定义为:

(2-6)通过Numpy函数库中的argmin函数找到k个聚类中心对应的k个特征维向量在步骤(2-3)得到的(n,4096)维向量中的索引值,通过索引值和步骤(2-3)得到的(n,4)和(n,691200)数组,找到k个特征向量对应的原视频帧和在视频帧中的位置坐标,将k个特征向量对应的视频帧存储到k*691200维数组中,将k个特征向量在视频帧帧中的位置坐标存储到k*4维数组中;

(2-7)通过Numpy函数库中的reshape函数,将k*691200维数组中每个691200维向量转换成对应的uint8类型的(360,640,3)维向量,通过OpenCV库中的cvtColor函数将(360,640,3)维向量由BGR格式转化为RGB格式,最后向量通过matplotlib函数库将将k个(360,640,3)维的向量可视化,得到最终的输出结果作为步骤(2-1)获取视频的视频摘要。

本发明的特点及有益效果在于:

本发明利用基于深度学习的目标检测算法得到目标级的视频摘要,从而生成关键信息,使人们对内容的理解更加清晰和直观;由于基于深度学习的目标检测算法可以得到视频中的所有的目标,不再局限于场景和视频大小的限制。而基于深度学习的框架可以对目标进行深层次的特征表示,这样使用聚类分析的方法就可以准确没有遗漏的选出最能代表视频内容的目标,得到视频摘要结果。

具体实施方式

本发明提出的一种基于目标检测的视频摘要生成方法,下面结合具体实施例进一步详细说明如下。

本发明提出的一种基于目标检测的视频摘要生成方法,是基于目标级视频摘要技术;目标级视频摘要技术是根据视频中的内容,将视频中的重要对象(能够体现视频内容的对象)作为目标选择出来。本发明用候选框先将图像中可能是目标的区域自动框出,然后使用深度学习的方法提取目标区域的特征,根据特征的相似性计算得到视频摘要的结果。该方法包括以下步骤:

(1)训练阶段:

(1-1)获取训练数据集并进行标注;

使用多类别的图片数据集作为训练数据集(本实施例采用Pascal VOC2012数据集进行模型的训练)。训练数据集中至少包含2种以上的目标物体(本发明中目标的含义为可以对视频中的主要内容进行概括的物体,例如一个明星拍摄的广告视频中,可以对视频中的主要内容进行概括的物体为:代言明星,代言广告的品牌,代言广告的对象(如饮料,饼干等))。Pascal VOC2012数据集为标准化的图片数据集,该数据集中已经对所有图片进行了分类,标注和预处理。Pascal VOC2012数据集包含的目标物体种类数为20种,如瓶子,椅子,盆栽,笔记本电脑等。对训练数据集每张图片中的所包含的目标物体进行人工标注,该标注过程是对每张图片中包含的每个目标物体分别画出一个检测框(检测框的大小为能包含该目标物体的最小长方形框)。

(1-2)构建深度学习网络;

构建一个深度学习网络,深度学习网络是由五层卷积层和三层池化层组成,排列顺序为卷积层,池化层,卷积层,池化层,卷积层,池化层,卷积层,卷积层。网络的输入为一个批次的图片,每个批次的图片数量为128张,每张图片格式大小没有限制(本实施例中图片格式为PNG)。网络的输出为每张图片中的每个目标物体分别对应的一个4096维向量代表该目标物体和一个4维向量代表该目标物体在图片中的坐标。

(1-3)利用经过步骤(1-1)标注后的训练数据集对步骤(1-2)建立的深度学习网络进行训练,得到训练完毕的深度学习网络;具体步骤如下:

(1-3-1)从经过步骤(1-1)标注后的训练数据集中随机选取一个批次的图片,输入到步骤(1-2)建立的深度学习网络中,得到输入的每张图片对应的特征图作为深度学习网络第一阶段的输出(从网络的最后一层输出):

(1-3-2)将(1-3-1)输出的每张图片的对应特征图作为深度学习网络第二阶段的输入,重新输入到第一阶段的深度学习网络中,通过设定的n个不同尺寸的候选框(n的取值范围没有限制,不过根据经验n取值为9,且候选框的面积分别为128*128,256*256,512*512,长宽比1:1,1:2和2:1)在特征图上滑动,将每个获选框选定的图片范围与输入图片中目标物体的位置进行重合度IoU(t,g)筛选:若IoU>0.7,则将候选框选定的图片范围作为正样例;若IoU<0.3,则将候选框选定的图片范围作为负样例;若

0.3<IoU<0.7,则认为候选框选定的图片范围既不是正样例,也不是负样例。假设G为输入图片中人工标注目标物体的检测框集合,任意一个候选框选定的图片范围t∈T(T是t的集合)和任意一个检测框g∈G的重合度IoU(t,g)计算表达式为:

(1-3-3)从步骤(1-3-2)生成的所有正负样例中,每次随机在正样例和负样例中各挑选128个样例作为训练样例进行正负样例训练;将128个正样例和128个负样例输入到损失函数中,得到对应的损失函数值,通过梯度下降法最小化函数值;损失函数为:

式中,i表示在训练样例中目标物体的索引i=1,2,…,128,pi表示第i个训练样例是目标的概率,pi*表示第i个训练样例的真实标签(pi*∈{0,1},当目标物体是正样例时,pi*为0;当目标物体是负样例时,pi*为1),ti表示第i个训练样例检测框四个坐标的向量,ti*表示代表第i个训练样例人工标注候选框的坐标向量。Lcls(,)为Softmax loss,Lreg(,)为smooth L1loss;L(,)为生成周围环境或视频中候选区域的深度学习模型中的损失函数。Ncls,Nreg,λ为三个常数值(本实施例取Ncls为256,Nreg为2400,λ为10)。其中,smooth L1loss为:

其中,x为输入的变量。

(1-3-4)重复步骤(1-3-1)至(1-3-3)L次(L大于等于2000次),训练数据集的每张图片最终得到大约300个正样例作为候选区域。

(1-3-5)以步骤(1-3-4)生成的每张图片候选区域作为输入,经过RoI(Region of interest)池化层输出每张图片对应的所有的目标物体候选区域(可能是多个或一个),将目标物体候选区域按照Softmax分类器得到分数最高的候选区域作为最终的目标物体,得到4096维特征向量目标物体对应输入图片中的4个顶点位置(以4维向量进行表示)。深度学习网络训练完毕。

(2)使用阶段:

(2-1)获取视频;

本实施例使用阶段输入的视频来源有两种:本地视频和通过外接摄像头录制的视频(视频长度无要求)。本实施例选取的视频长度大概为2分钟左右。

(2-2)对步骤(2-1)获取的视频进行分帧处理并按照设定的间隔标准获取视频帧,本发明对选取视频帧的间隔没有限制,不过为了节约开销(时间与空间),本实施例选择每间隔10个视频帧取一帧,并将获取的每帧视频帧存储为一个对应的691200(360*640*3)维数组,其中360*640代表视频帧的尺寸,3代表红绿蓝三种颜色通道;

(2-3)将步骤(2-2)中得到的视频帧依次输入步骤(1)训练完毕的深度学习网络中,网络输出每一帧视频帧所包含目标物体的4096维特征向量(代表该目标物体的种类),目标物体对应的4维向量(代表目标物体在该帧图像中的位置)和包含该目标物体的691200维向量(代表包含该目标物体的视频帧原图),并分别存为三个数组,三个数组的维数分别记为:(n,4096),(n,4),(n,691200),其中n为视频中目标物体的数量。

(2-4)将步骤(2-3)得到的所有视频帧对应的目标物体特征向量使用K-means算法进行聚类,产生k个类(本实施例根据经验取值为4)及每个类对应的聚类中心x'。在本实施例中,由于训练数据集种类的限制,选取的视频内容主要为广告及周围拍摄的监控视频,而广告一般可以通过代言人,品牌,代言的物品所概括;监控视频可以通过主要任务和周围环境所包含的物品概括,所以取k为4。

(2-5)对每个聚类中心x',找到与该聚类中心距离L2最小的特征向量,共得到k个目标物体对应的特征向量,并将k个特征向量存储到一个新的数组中,得到对应的k*4096维特征向量数组(本例中因为特征向量的维度为4096维向量,k的取值为4,所以数组的最终大小为4*4096维数组);其中L2距离的定义为:

(2-6)通过Numpy函数库中的argmin函数找到k个聚类中心对应的k个4096维向量在步骤(2-3)得到的(n,4096)维向量中的索引值,通过索引值和步骤(2-3)得到的的(n,4)和(n,691200)数组,找到k个特征向量对应的原视频帧和在视频帧中的位置坐标,将k个特征向量对应的视频帧存储到k*691200维数组中,将k个特征向量在视频帧帧中的位置坐标存储到k*4维数组中;(2-7)通过Numpy函数库中的reshape函数,将k*691200维数组中每个691200维向量转换成对应的uint8类型的(360,640,3)维向量,通过OpenCV库中的cvtColor函数将(360,640,3)维向量由BGR格式转化为RGB格式。得到最终的输出结果作为步骤(2-1)获取视频的视频摘要,视频摘要的具体形式为k个能反应图像信息的对象组成的k个目标。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1