一、概述 1、开源地址: https://github.com/andrefaraujo/videosearch 2、说明: 该视频检索技术是由斯坦福大学的一个图片视频和多媒体小组实现,使用图片对视频内容进行检索。 目前该技术包含的功能如下表述:
- 提取视频的关键帧(关键帧,其实就是视频中的一张图像)。 对视频进行镜头边缘检测。
- 对图片或者帧提取SIFT(尺度不变特征变换,用于在图像中检测出关键点,是一种局部特征描述子)。
- 为每张图片/关键帧、镜头或者视频片段 提取全局描述子(Fisher Vectors)。
- 使用Bloom Filters对每个视频片段进行索引。
- 使用图片对图片或者视频数据库进行检索。
- 用区间为0~1的平均精准度和精准度来评估检索结果。
二、检索技术实现步骤 1. 建立VLFET库(计算机视觉库)。 2. 建立YAEL库(图像检索库)。 3. 给视频数据库中的视频提取关键帧。(关键帧指的是视频中的图片。一个1分51秒的视频,关键帧有113张,一个2分51秒的关键帧大有173张,一分钟有60张左右) 4. 建立镜头边界检测器并且给数据库中的视频检测视频边界。 5. 建立SIFT(图像关键点)提取器并且给数据库中的每个关键帧提取SIFT。 6. 建立全局描述子提取器并且给每一帧、镜头和片段提取全局描述子。 7. 给用于查询的图片提取SIFT(或者全局描述子)。 8. 建立检索器,并且用它检索基于帧、基于镜头或者基于片段的索引。 9. 计算检索结果,得出平均精准度和精准度。
以上1~2步只需要最初始执行一次。之后如果往视频库中添加了视频想进行新的检索,则需要重复3~6步。如果未添加新的视频,新添加了想查询的图片,则需要重复7和9步。
三、一些专有名字的解释及资料 镜头边界检测:http://www.docin.com/p-240579569.html SIFT:http://baike.baidu.com/item/SIFT Fisher Vectors:http://blog.csdn.net/ikerpeng/article/details/41644197 Bloom Filters:http://blog.csdn.net/jiaomeng/article/details/1495500 VLFEAT:http://www.vlfeat.org/ YAEL:http://yael.gforge.inria.fr/ Opencv:http://baike.baidu.com/item/opencv ffmpeg:http://baike.baidu.com/item/ffmpeg