基于OpenCV的视频人物查找及剪辑*

基于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文件夹,用来存放视频中提取的图片

③在该目录下创建face_imge文件夹,用来存放视频中的人脸

  • 4
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
### 回答1: 答:我可以提供一种基于OpenCV人物识别系统,使用Python来编写代码。首先,需要将OpenCV,Numpy和Matplotlib导入到Python环境。然后,使用OpenCV加载图像,并使用Numpy和Matplotlib处理图像,以提取图像的人脸特征。最后,使用机器学习算法(例如支持向量机)进行训练,以识别不同的人脸。 ### 回答2: 使用Python编写一个基于OpenCV人物识别系统可以分为以下几个步骤: 1. 导入所需模块:导入OpenCV和numpy模块,用于图像处理和数组操作。 2. 加载人脸识别模型:使用OpenCV的人脸级联分类器(Cascade Classifier)模型,加载已经训练好的人脸识别模型。 3. 摄像头初始化:通过OpenCV的VideoCapture()函数来初始化摄像头,以便获取视频流。 4. 开始循环:使用while循环持续读取摄像头的每一帧图像。 5. 图像预处理:将每一帧图像转换为灰度图像,以便提高处理速度和准确度。 6. 人脸检测:使用人脸级联分类器在灰度图像检测人脸,并将人脸的位置和大小信息保存。 7. 人脸识别:对每个检测到的人脸,通过OpenCV提供的人脸识别方法,对其进行识别并返回识别结果。 8. 绘制框架:使用OpenCV的rectangle()函数在原始图像绘制矩形框,标记出检测到的人脸。 9. 显示图像:使用OpenCV的imshow()函数来显示最终处理得到的图像。 10. 结束循环:当用户按下特定的按键(如ESC键)时,退出循环,停止人物识别系统。 总结:通过使用Python和OpenCV,可以构建一个基于人工智能的人物识别系统。该系统可以通过摄像头实时获取图像,使用人脸级联分类器来检测人脸,并使用人脸识别技术对每个检测到的人脸进行识别。最终,在原始图像绘制出框架,并显示识别结果。这样的人物识别系统可以在许多领域应用,如人脸识别门禁系统、监控系统等。这个系统可以为我们提供方便和安全。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值