原创文章,转载、引用请注明出处!
概述
视频摘要概念简介
什么是视频摘要?为什么要研究这项技术?
近年来,随着人们对社会公共安全的需求不断增长,各大公共场所都安装了大量的监控摄像头,用于提高安防系统的侦查和报警水平。大量的监控摄像头实时录制了海量的视频数据,但这些视频数据的利用率极低。因为监控探头在每一天的24小时不间断记录,而往往人们所需要的信息只是很短的一部分,通常都是在成百上千个小时的监控视频中寻找个位数分钟的有价值部分。所以,如何在海量的数字视频中准确地找到感兴趣的视频片段已成为行业的迫切需求与巨大挑战。
视频摘要是通过分析视频的结构与内容,从原视频中提取出有意义的信息,并重新组合有意义信息,浓缩成可以充分表现视频语义内容的概要。
视频摘要是用一段静态图像或动态视频序列的长视频内容的缩略总结,供用户进行浏览和分析。视频摘要技术可以按照用户需求,将几十小时视频浓缩为十几分钟甚至更少,大幅度缩短视频观看浏览的时间,再利用视频目标特征检索技术,对视频底层特征进行语义分析,辅助用户迅速定位感兴趣目标。视频摘要与检索技术可以辅助用户充分挖掘海量视频监控录像中的有意义信息,提高海量监控视频录像分析与响应效率。
视频摘要技术分类
视频摘要技术在近20年内已被国内外的学者广泛关注,并取得了一定的研究成果。
按照摘要结果表现形式的不同,视频摘要可分为静态视频摘要与动态视频摘要。
目前,监控领域的视频摘要技术主要有两种形式:静态视频摘要中的基于关键帧的摘要和动态视频摘要中的基于对象的视频摘要。二者都可以大大缩短视频长度,方便对视频的观看、分析和检索。
基于关键帧的视频摘要的最小单位是“帧”,存储空间较小且方便传输,但不能完整表示每个目标的运动轨迹,不利于视频目标检索。基于对象的视频摘要的最小单位是“对象”,可以最大限度的减少时间冗余信息与空间冗余信息,且为视频检索等上层开发提供对象结构,能在监控安防中快速响应紧急事件,定位到事件相关“对象”,但存在处理复杂,摘要生成困难的问题。
静态视频摘要
静态的视频摘要是以一系列从原始视频流中抽取出的静态语义单元来表现视频的内容。静态语义单元是如关键帧、标题、 幻灯片等可以概括表示视频镜头内容的静态特征信息。
目前静态视频摘要研究主要是基于关键帧选取方法开展的,关键帧又称故事板,是从原始视频中提取的反映镜头中主要信息内容的一帧或多帧图像。通过多个关键帧组合成视频摘要,允许用户通过少量的关键帧快速浏览原始视频的内容,并提供快速检索。经典的关键帧选取的算法主要利用颜色、运动矢量等视觉特征去区分帧间的差异性。但差异性的区分计算依赖阈值的选择,选择过程计算量较大,实时性困难。
基于关键帧的视频摘要具有结果简单,观看方便的优点。但由于其以静态图像为结果的表达形式,很难准确地表达视频的内在语义,且对“对象”动态特性的描述不全面,所以仅仅适用于视频的精彩瞬间生成,无法适应需要进行“对象”特性分析的场合。
动态视频摘要
基于对象的视频摘要,是一种近些年来提出的主要用于监控视频领域的动态视频摘要技术,通过提取用户感兴趣对象,然后重组感兴趣对象得到视频摘要。
对象的提取主要使用背景建模技术、运动目标检测与跟踪技术及视觉分析技术,对象的重组主要考虑用户关注度、压缩比、多视频融合等因素。
这种方法能有效地保持视频内容随时间动态变化的特征,同时最大限度地减少时间-空间冗余,但存在对象提取困难及很难解决复杂场景下的视频摘要生成的问题。
实际上,可将静态视频技术中的提取关键帧的技术融入到动态视频摘要中:即直接提取视频中的关键帧合成新的视频。此类方法虽然也可以缩短视频的时长,但是合成后视频给人一种快进看电影的感觉,而且实际使用较少。
视频摘要技术评估方法
视频摘要技术中最常用的评估方法是基于用户对视频内容的主观理解,让多个观众对视频中重要内容进行标注打分,综合所有人员的标注结果作为参考标准。然后,将视频摘要方法得到的视频摘要结果与参考标准进行比较,得到准确度来衡量视频摘要结果好坏。
在已有视频摘要研究中,最常用的评估方法是计算Precision、Recall和F-measure值,在有些方法中也会用到mAP(mean Average Precision)。
部分视频摘要方法复现及评估
SeDMi
- 论文:Video Synopsis based on a Sequential Distortion Minimization Method
4个引用。
Fig. 1 illustrates a scheme of the proposed system architecture. The proposed
method can be divided into several steps. Initially, we estimate the CLD for each frame of the original video. Next, we performed shot detection (see Section 3.1). Based on the shot detection results and to the given parameter α we estimate the number of frames per shot that the video synopsis (see Section 3.1). Finally, the video distortion is sequentially minimized according to the proposed methods resulting to the video synopsis (see Section 3.2).
- 代码:官方提供的代码为matlab版本。
- 示例视频:foreman.avi。
实验:最主要的参数为“关键帧抽取百分比”,论文中给出的结果里,这项参数设置为百分之十。修改为0.2、0.05以及0.02分别运行。
结果:在上述4组关键帧抽取百分比下运行,代码运行的时常都不超过10s。可在此处下载结果:SeDMi在foreman下的四组结果视频 。
观感:非常像快进,而且foreman.avi本身就很短,看不太出效果来。
注意:后期版本的Matlab(2018a)或者是Mac环境下,使用VideoReader函数读取视频文件时,不支持.avi格式,需要进行格式转换(大概率是Mac环境不兼容,上面的实验都将avi转为mp4后才不会报错)。
Web-based video synopsis system using Apache Spark
- 简介:基于Apache Spark的视频概要系统,分为前端页面和后台算法处理。
The project proposes a system that can be divided into two parts: the frontend web pages and the backstage processing algorithm based on Apache Spark. In the web pages, users can upload as well as download video clip. This project designs and implements a synopsis algorithm in the backstage which uses background subtraction to grab all the frames containing moving targets in a video and then concatenate all the frames into a new shorter clip. The algorithm connects to Spark cluster. After users upload a video to be condensed on web page, the algorithm will process it and return success information to users after generating the new video. Then users can download the new video from the download page.
5个星标,用的人不是很多。
- 运行:clone下来之后本地运行网页,给提交视频的按钮过不去:会提示无法找到h5代码中该处的form标签下的/video/upload,所以就无法验证运行结果。
- 其他:有前端的话感觉比较容易实现和看结果,这一项比较希望能复现。后端代码用的是java。
DimensionFour
这个模型没有打底的论文,不清楚为什么叫这个名字。
- 简介:一个git上的开源工具,用到了Keras YOLOv3做目标识别,用到了ImageAI(猜测是用来做遮挡物后的人的运动预测),然后做动态物体的标注,可能会有合成的操作(后面会根据运行的结果提到)。
YOLOv3:
https://github.com/qqwweee/keras-yolo3
https://pjreddie.com/media/files/papers/YOLOv3.pdf
8个星标,用的人不是很多。
- 示例视频:项目提供了dataset,共有三个视频,根据长度的不同命名为long、preferred以及short,都是街头监控探头拍下的画面,主要的对象为移动的人:
实验:先要对视频进行预处理,然后对提取出来的视频帧做集合和标注。
结果:在本机的cpu版本的tf下运行,最长的视频在1h内处理完成,最短的视频处理时间不到10min。但是经过处理后的视频的大小会有非常明显的变大。视频格式由.mp4转为.avi。以下给出的是long的展示:
观感:整体效果而言,对每个移动的人的标注做的很不错。视频有拼接的痕迹,不是很明显:移动到画面边缘的人会直接消失;在遮挡物背后的人的有些画面的处理会变得模糊。但是缩放比例不是特别出色,5min的long.mp4处理后也有4min,但各个视频的缩放比例确实不一样,推测是根据具体的场景来做的,不是按比例抽帧。
注意:tensorflow==1.7.0、keras==2.1.6、Opencv、h5py、ImageAI,以及下载需要yolo.h5(代码中会检测,没有这个模型文件的话会自动下载,需要科学上网,238m,早期版本的yolo文件不适用)。