主要内容

人脸检测与跟踪

此示例演示如何使用MATLAB®功能块在Simulink®中实现人脸检测和跟踪算法金宝app基于KLT算法的人脸检测与跟踪MATLAB®示例。

介绍

目标检测和跟踪在许多计算机视觉应用中都很重要,包括活动识别、汽车安全和监视。在本例中,您在Simulink®中设计了一个系统,用于检测视频帧中的人脸、识别人脸特征并跟踪这些特征。输出视频帧包含检测到的人脸和跟踪特征。如果人脸不可见或失去焦点,系统将尝试重新获取人脸,然后执行跟踪。本示例旨在检测和跟踪单个人脸。金宝app

示例模型

闭-开系统(“轨道面”);

安装程序

此示例使用从多媒体文件块从视频文件中读取视频帧探测与跟踪子系统接收视频帧,并为边界框内的面和特征点提供一个边界框,作为其输出到绘制注释子系统。该子系统在图像中插入一个矩形作为边界框,并为特征点插入标记。

探测与跟踪

在本例中视觉传感器系统对象™ 检测人脸在当前视频帧中的位置。级联目标检测器使用Viola-Jones检测算法和经过训练的分类模型进行检测。检测到人脸后,使用Shi和Tomasi提出的“良好特征跟踪”方法识别人脸特征点。

然后视觉点跟踪器系统对象™ 使用Kanade Lucas Tomasi(KLT)特征跟踪算法跟踪已识别的特征点。对于前一帧中的每个点,点跟踪器尝试在当前帧中找到相应的点。然后估计几何变换函数估计旧点和新点之间的平移、旋转和缩放。此变换应用于面周围的边界框。

虽然可以在每一帧上使用级联对象检测器,但计算成本很高。这种技术也可能无法检测人脸,例如当受试者转动或倾斜头部时。这种限制来自用于检测的训练分类模型的类型。在本例中,您检测一次人脸,然后e KLT算法在视频帧中跟踪人脸。仅当人脸不再可见或跟踪器无法找到足够的特征点时,才会再次执行检测。

表演的能力MATLAB函数中的动态内存分配(金宝appSimulink)允许在MATLAB®功能块内使用前面提到的系统对象和方法。

开放式系统(“DetectAndTrackFace/检测和跟踪”)

绘制注释

边界框角点和特征点位置用于在输出视频帧上绘制画形状块绘制边界框。使用画记号笔

开放式系统(“DetectAndTrackFace/Draw注释”)

后果

以下显示显示检测到的带有特征点的人脸。

以下显示显示跟踪的面和特征点。

工具书类

Viola,Paul A.和Michael J.Jones.“使用一系列增强的简单功能进行快速目标检测”,IEEE CVPR, 2001.

卢卡斯、布鲁斯·D.和Takeo Kanade.“一种应用于立体视觉的迭代图像配准技术。”国际人工智能联合会议, 1981.

Lucas,Bruce D.和Takeo Kanade.“点特征的检测和跟踪。”卡内基梅隆大学技术报告CMU-CS-91-132,1991年。

史建波和卡洛·托马斯:“跟踪的功能很好。”计算机视觉和模式识别大会上, 1994.

正反向错误:跟踪失败的自动检测模式识别国际会议, 2010