基于OpenCV的视频人物查找及剪辑
摘要:本项目是基于OpenCV的人脸识别技术,将一个完整的视频中自己想要了解的某个具体的人物片段,通过将视频分割成帧并且训练需要提取人物的面部特征,通过主成分分析算法进行人脸模型清洗并通过特征脸算法进行人脸识别,将该人物从视频中识别出来并将他的片段提取出来,组合成专属个人的视频剪辑,项目完成后,本产品可以使人们节省大量的时间从大量的视频片段中快速的了解自己想要了解的人物,还可以应用在监控的锁定人物中,就如《速度与激情》影片中通过天眼来快速找到某人的效果一样,快速的查找到某个人在一段时间内的全部活动。
关键词:人脸识别、关键帧提取、面部特征
Abstract:
This project is based on the Face Recognition technology of OpenCV, which divides a complete video into frames and trains to extract the facial features of the characters. The Principal Component Analysis Algorithm is used to clean the face model and the Face Recognition is carried out through the Eigenface Algorithm. The character is recognized from the video and his fragments are extracted. Combined into a personal video clip, after the completion of the project, this product can save a lot of time for people to quickly understand the people appeared in video that they want to know from a large number of video clips, but also can be applied to monitor the lock-in person In things, just as Fast & Furious can quickly find someone through the eye of heaven,and quickly find out all the activities of someone over a period of time.
Keywords: Face Recognition, Key Frame Extraction, Facial Features
一、系统概述
该系统主要是通过输入一段视频,然后把视频分割成帧,将每张视频图片进行人脸采集,通过面部训练,提取面部特征,与外部实际人物进行匹配,并将想要匹配的人的视频帧进行组合,形成只有匹配人物的视频组合。
结构图:
二、系统现状和存在的问题
随着社会的不断进步以及各方面对于快速有效的自动身份验证的迫切要求,生物特征的识别技术在近几十年中得到了飞速的发展。作为人的一种内在的属性,并且具有很强的自身稳定性及个体的差异性,当前的生物特征识别技术多中多样。其中包括指纹识别、虹膜技术、步态识别;与这几种生物识别来说人脸识别由于更直接,友好,方便,更易为用户所接受。本产品旨在解决处理大量繁琐视频的主要应用片段,由于现在正处于信息化社会,人们一天中会接受到大量的视频信息,但真正符合自己所需的片段却少之又少,通过本产品,我们可以在大量的视频信息中提取到自己想要了解的人物片段,通过对关键帧的提取、训练、组合成一个具体的所需片段,可以使我们在短时间内准确的获取了解对象的一系列活动。
本产品适用于视频软件中提取自己喜欢的人物片段的提取,可以应用于监控视频的人物定位,准确的提取目标人物在一段时间内的活动,还可以在警方办案中使警方在大量的视频片段中快速的了解嫌疑人的活动动态。目前视频中人物的识别多用在视频播放平台如爱奇艺、腾讯,但是多是仅将视频中人物识别出来,即人物第一次出现就结束,并不针对该人出现的所有时间。或者人物侧颜有可能不能很准确的识别出来,所以存在一定的局限性。
三、关键算法
3.1 Cascade级联分类器
Cascade级联分类器是一种快速简单的分类方法,可以理解为将N个单类的分类器串联起来。如果一个事物能属于这一系列串联起来的的所有分类器,则最终结果就是 是,若有一项不符,则判定为否。比如人脸,它有很多属性,我们将每个属性做一成个分类器,如果一个模型符合了我们定义的人脸的所有属性,则我们人为这个模型就是一个人脸。cv::CascadeClassifier通过load()成员函数读取分类器,然后就可以使用detectMultiScale()成员函数进行多尺度的级联分类检测。
3.2特征脸算法EigenFace
EigenFace(特征脸)在人脸识别历史上应该是具有里程碑式意义的,其被认为是第一种有效的人脸识别算法。1987年 Sirovich and Kirby 为了减少人脸图像的表示(降维)采用了PCA(主成分分析)的方法,1991年 Matthew Turk和Alex
Pentland首次将PCA应用于人脸识别,即将原始图像投影到特征空间,得到一系列降维图像,取其主元表示人脸,因其主元有人脸的形状,估称为“特征脸”。
EigenFace是一种基于统计特征的方法,将人脸图像视为随机向量,并用统计方法辨别不同人脸特征模式。EigenFace的基本思想是,从统计的观点,寻找人脸图像分布的基本元素,即人脸图像样本集协方差矩阵的特征向量,以此近似的表征人脸图像,这些特征向量称为特脸。
四、系统功能
4.1 系统准备
①先在该目录下创建video文件夹,来存放需要提取的视频
②在该目录下创建imge文件夹,用来存放视频中提取的图片<