基于SIFT特征的视频内头部姿态估计
如何使用计算机视觉技术进行姿态估计

如何使用计算机视觉技术进行姿态估计姿态估计是计算机视觉领域的一个重要任务,它可以用于识别和跟踪人类的姿态,在许多实际应用中具有广泛的用途,例如人机交互、动作捕捉、虚拟现实等。
本文将介绍如何使用计算机视觉技术进行姿态估计。
一、姿态估计的概念和方法姿态估计是指通过计算机视觉技术获取物体或人体在三维空间中的位置和方向。
从计算机视觉的角度来看,姿态通常由物体的旋转和平移参数来描述。
常见的姿态估计方法包括基于模型的方法和基于深度学习的方法。
基于模型的方法通常使用数学模型来描述物体的几何形状和运动规律。
这些方法需要事先建立一个准确的物体模型,通过计算图像中物体的投影和三维模型的对应关系,从而获得物体的姿态信息。
这种方法的优点是可以对物体的几何形状和运动规律进行精确建模,因此在一些特定的场景下可以取得较好的效果。
然而,这种方法需要事先知道物体的模型信息,并且对光照、遮挡等因素较为敏感。
基于深度学习的方法是近年来广泛应用于姿态估计的一种方法。
这些方法利用深度神经网络模型来学习图像特征和姿态之间的关系。
它们可以直接从图像中学习姿态估计模型,无需事先建立物体的几何模型。
这种方法的优点是可以处理复杂的场景和多样的物体形状,具有较强的鲁棒性。
但是,基于深度学习的方法需要大量的数据来训练网络模型,并且对计算资源要求较高。
二、基于深度学习的姿态估计方法基于深度学习的姿态估计方法通过训练深度神经网络模型来学习图像特征和姿态之间的映射关系。
其中,最常用的网络模型是卷积神经网络(Convolutional Neural Network,CNN)。
以下是一般的基于深度学习的姿态估计步骤:1. 数据采集和准备:首先,需要收集具有丰富姿态变化的图像数据,并标注每个姿态对应的真实值。
然后,将数据划分为训练集和测试集,并进行数据预处理,如图像尺寸归一化、灰度化或者彩色通道提取等。
2. 网络模型设计:根据任务的具体要求,设计合适的卷积神经网络模型。
基于深度学习的视频人体动作识别与姿态估计研究

基于深度学习的视频人体动作识别与姿态估计研究视频人体动作识别与姿态估计是计算机视觉领域的一个重要研究课题,通过利用深度学习算法来自动识别人体在视频中的动作,并推断出其准确的姿态信息。
这项技术具有广泛的应用前景,例如智能监控、体感游戏、虚拟现实等领域。
在过去的几十年里,人体姿态估计和动作识别的研究取得了长足的进步。
传统的方法主要是基于手工设计的特征和简单的分类器进行动作识别和姿态估计。
然而,这些方法在面对复杂场景、光照变化等问题时表现不佳。
近年来,随着深度学习的兴起,基于深度学习的方法在视频人体动作识别与姿态估计领域取得了显著的突破。
深度学习模型能够从大量的数据中学习到特征表示,可以自动地从原始输入中提取出有用的特征信息。
这种端到端的学习方式使得模型可以直接从原始视频数据中学习,无需手工设计特征,从而在动作识别和姿态估计任务上取得了更好的性能。
在基于深度学习的视频人体动作识别与姿态估计研究中,有几个关键的技术和方法被广泛采用。
首先,卷积神经网络(Convolutional Neural Network,简称CNN)在视觉任务中取得了巨大成功,被广泛应用于姿态估计和动作识别任务中。
CNN可以自动地从图像或视频中提取出特征表示,然后通过全连接层和分类器进行动作的识别或姿态的估计。
其次,循环神经网络(Recurrent Neural Network,简称RNN)也被广泛用于动作识别和姿态估计任务。
循环神经网络可以对序列数据进行建模,因此非常适合处理时间序列的动作数据。
通过将CNN和RNN结合起来,可以在时空上对视频进行建模,从而更好地捕捉到动作中的时序信息。
除了CNN和RNN,注意力机制(Attention Mechanism)也被引入到动作识别和姿态估计中,用于提升模型的性能。
注意力机制可以自动地学习到图像或视频中重要的区域或帧,从而改善模型的鲁棒性和准确性。
此外,为了提升模型的泛化能力和适应能力,一些研究还引入了数据增强、迁移学习、多模态融合等技术。
基于面部特征点定位的头部姿态估计

基于面部特征点定位的头部姿态估计
闵秋莎;刘能;陈雅婷;王志锋
【期刊名称】《计算机工程》
【年(卷),期】2018(044)006
【摘要】头部姿势估计在许多智能系统中是检测身份和理解行为的关键,但其受光照变化、遮挡、分辨率等因素影响较大.针对彩色二维图像的头部姿态估计方法准确率不高的问题,在分析现有的头部姿态估计方法的基础上,提出一种基于面部特征点定位的头部姿态估计方法.将Adaboost算法和椭圆肤色模型相结合,用于检测人脸,并准确获得图片中的人脸区域.利用Hough圆检测方法定位眼睛和鼻孔,利用人眼和鼻孔的位置信息,将眼睛、鼻子定位结果与正脸头部姿态中的眼睛、鼻子进行对比,从而对不同的头部姿态进行粗估计.实验结果表明,该方法能识别正脸以外的6种不同的头部姿态,总体准确率达到93.53%.
【总页数】7页(P263-269)
【作者】闵秋莎;刘能;陈雅婷;王志锋
【作者单位】华中师范大学数字媒体技术系,武汉430079;华中师范大学数字媒体技术系,武汉430079;华中师范大学数字媒体技术系,武汉430079;华中师范大学数字媒体技术系,武汉430079
【正文语种】中文
【中图分类】TP391.41
【相关文献】
1.基于二维图像的人脸面部特征点定位与提取 [J], 郭清宇;付志军
2.基于ASM局部定位和特征三角形的列车驾驶员头部姿态估计 [J], 赵磊;王增才;王晓锦;张万枝
3.基于单个卷积神经网络的面部多特征点定位 [J], 朱虹;李千目;李德强
4.基于局部二值特征和BP神经网络的头部姿态估计 [J], 陆清正;周宇;叶庆卫;陆志华
5.基于面部特征点的单幅图像人脸姿态估计方法 [J], 傅由甲
因版权原因,仅展示原文概要,查看原文内容请购买。
基于深度学习的三维点云头部姿态估计

2020⁃04⁃10计算机应用,Journal of Computer Applications2020,40(4):996-1001ISSN 1001⁃9081CODEN JYIIDU http ://基于深度学习的三维点云头部姿态估计肖仕华*,桑楠,王旭鹏(电子科技大学信息与软件工程学院,成都610000)(∗通信作者电子邮箱xsh115@ )摘要:快速、可靠的头部姿态估计算法是高级人脸分析任务的基础。
为了解决现有算法存在的光照变化、遮挡、姿态尺度较大等问题,提出一种新的深度学习框架HPENet 。
该网络以点云数据为输入,首先通过最远点采样算法提取点云结构中的特征点,以特征点为球心,将不同半径的球体内的点构成多个分组,用于后续的特征描述;然后采用多层感知器和最大池化层实现点云的特征提取,提取的特征通过全连接层输出预测的头部姿态。
为了验证HPENet 的有效性,在公共数据集Biwi Kinect Head Pose 上进行测试。
实验结果显示,HPENet 在俯仰角、侧倾角和偏航角上的误差分别为2.3°、1.5°、2.4°,平均每帧的时间消耗为8ms 。
与其他优秀算法相比,所提方法在准确度和计算的复杂度方面都具有更好的性能。
关键词:头部姿态估计;深度学习;卷积神经网络;点云数据中图分类号:TP391文献标志码:A3D point cloud head pose estimation based on deep learningXIAO Shihua *,SANG Nan ,WANG Xupeng(School of Information and Software Engineering ,University of Electronic Science and Technology of China ,Chengdu Sichuan 610000,China )Abstract:Fast and reliable head pose estimation algorithm is the basis of many high -level face analysis tasks.In orderto solve the problem of existing algorithms such as illumination changes ,occlusions and large pose variations ,a new deep learning framework named HPENet was proposed.Firstly ,with the point cloud data used as input ,the feature points were extracted from the point cloud structure by using the farthest point sampling algorithm.With feature points as centers ,points within spheres with several radiuses were grouped for the further feature description.Then ,the multi -layer perceptron and the maximum pooling layer were used to implement the feature extraction of the point cloud ,and the predicted head pose was output by the extracted features through the fully connected layer.To verify the effectiveness of HPENet ,experiments were carried out on the Biwi Kinect Head Pose dataset.Experimental results show that the errors on angles of pitch ,roll and yawproduced by HPENet are 2.3,1.5and 2.4degree respectively ,and the average time cost of HPENet is 8ms per pared with other excellent algorithms ,the proposed method has a better performance in terms of both accuracy andcomputational complexity.Key words:head pose estimation;deep learning;Convolutional Neural Network (CNN);point cloud data引言头部姿态信息是研究人类行为和注意力的重要指标。
基于SIFT算法的图像特征抽取算法详解

基于SIFT算法的图像特征抽取算法详解图像特征抽取是计算机视觉领域中的一个重要任务,它能够帮助计算机理解和处理图像。
在众多的图像特征抽取算法中,SIFT(Scale-Invariant Feature Transform)算法因其在尺度不变性和旋转不变性方面的优秀表现而备受关注。
本文将详细介绍基于SIFT算法的图像特征抽取算法。
一、SIFT算法的原理SIFT算法的核心思想是在图像中寻找具有尺度和旋转不变性的关键点。
它通过以下步骤实现特征抽取:1. 尺度空间极值检测:SIFT算法首先通过高斯金字塔构建图像的尺度空间,然后在每个尺度上寻找图像中的极值点。
这些极值点通常对应于图像中的角点、边缘和斑点等显著特征。
2. 关键点定位:在尺度空间极值点的基础上,SIFT算法通过对尺度空间进行高斯差分操作,进一步精确定位关键点的位置。
这样可以减少对于尺度和旋转的敏感度,提高算法的稳定性。
3. 方向分配:为了实现旋转不变性,SIFT算法对每个关键点计算其主方向。
它通过计算关键点周围像素的梯度方向直方图,找到梯度方向直方图中的峰值作为关键点的主方向。
4. 特征描述:最后,SIFT算法对每个关键点周围的局部图像区域进行特征描述。
它将关键点周围的像素划分为若干个子区域,并计算每个子区域内像素的梯度直方图。
这样可以得到一个具有128维的特征向量,用于表示关键点的特征。
二、SIFT算法的优势SIFT算法在图像特征抽取方面具有以下优势:1. 尺度不变性:SIFT算法通过尺度空间极值检测和关键点定位,可以在不同尺度下寻找到相同的关键点。
这使得SIFT算法在处理具有不同尺度的图像时具有较好的性能。
2. 旋转不变性:SIFT算法通过方向分配,可以在不同旋转角度下找到相同的关键点。
这使得SIFT算法在处理具有旋转变换的图像时具有较好的鲁棒性。
3. 高维特征描述:SIFT算法通过局部图像区域的特征描述,可以提取到丰富的特征信息。
这使得SIFT算法在图像匹配和目标识别等任务中具有较好的性能。
使用计算机视觉技术进行人体姿态估计的方法和工具介绍

使用计算机视觉技术进行人体姿态估计的方法和工具介绍计算机视觉技术近年来取得了长足的进步,其中人体姿态估计成为一个热门的研究领域。
人体姿态估计是指通过计算机视觉技术分析图像或视频中的人体姿态,包括关节位置、角度和姿势等信息。
这一技术在许多领域中具有广泛的应用,如人机交互、动作分析、运动捕捉和增强现实等。
本文将介绍几种常见的方法和工具,用于实现人体姿态估计。
一、基于深度学习的方法深度学习是计算机视觉领域中的一个重要技术,其在人体姿态估计方面也取得了良好的效果。
基于深度学习的方法通常使用卷积神经网络(Convolutional Neural Networks, CNN)或递归神经网络(Recurrent Neural Networks, RNN)进行姿态估计。
例如,一种常见的方法是使用具有卷积和池化层的深度卷积神经网络来提取图像特征,并通过全连接层预测关节的三维坐标。
这种方法可以通过大量的数据进行训练,从而获得良好的姿态估计精度。
此外,还有一些先进的深度学习模型,如Hourglass和OpenPose,它们通过多阶段的卷积神经网络和堆叠的热图来推断姿态信息。
这些方法在精确度和实时性方面取得了显著的进展,并在姿态估计任务中取得了很好的效果。
二、基于传统机器学习的方法除了深度学习方法,还有许多基于传统机器学习的方法可用于人体姿态估计。
这些方法通常使用基于特征提取和分类的技术。
一种常见的方法是使用人工设计的特征,如SIFT、HOG等,以及基于姿态模型的优化算法。
该方法通过提取图像中的特征点或特征描述子,并使用优化算法来拟合关节的位置和角度。
虽然这些方法在一些简单的情况下可以取得不错的结果,但在复杂的场景中往往表现不佳。
三、开源工具介绍为了帮助研究者和开发者更方便地进行人体姿态估计,一些开源的工具和框架也得到了广泛应用。
以下是一些常用的开源工具介绍。
1. OpenCV:OpenCV是一个广泛使用的计算机视觉库,提供了许多用于人体姿态估计的功能。
基于特征点的位姿估计算法实验报告

基于特征点的位姿估计算法 1、实验原理 视觉全局定位,指的是根据当前图像,求出相机在地图坐标系中的6个自由度(Degree of freedom,DoF)位姿 Pose),即(x, y, z)坐标,以及环绕三个坐标轴的角度偏转(yaw, pitch, roll)。目前主要可以分类为基于3D结构的方法、基于 2D 图像的方法、基于序列图像的方法、基于深度学习的方法。 最新的地图子集(图像/点云/特征点)匹配历史中最相似的地图子集(图像/点云/特征点),根据匹配到的地图子集所提供的历史位姿真值、特征点坐标真值,计算点对间的变换矩阵,求解当前相机位姿。 本次验证采用基于特征点的位姿估计,其核心包含图像描述、特征匹配,位姿计算三个方面。 1.1、特征点提取 2D 图像本身是一个由亮度、色彩组成的矩阵,对视角、光照、色调变化等很敏感,直接使用十分困难。所以,一般会使用具有代表性的点进行相关计算。人们希望这样的点具有旋转、平移、尺度、光照不变性等优点。这些点称为图像的特征 (Feature) 点,包含关键点(Key-points) 和描述子 (Descriptor) 两部分。关键点表示了特征点的位置,而描述子则是对于特征点视觉特性的描述,大多为向量形式。一般而言,描述子主要是以某种模式,统计关键点周围的灰度/色彩梯度变化。 SIFT 描述子可以算是 CV 界最具影响力的技术之一。从关键点检测层面,主要使用高斯差分 (Difference of Gaussian, DOG) 方法检测多尺度空间上的极值点,作为关键点。 LBP 描述子采用了一种对关键点周围进行环形采样并与中心关键点的灰度进行比较的方案。 ORB 改进了 BRIEF 特征,是目前比较常用的二值描述子。在点对选取上,与单纯使用中心点不同,ORB 采用了随机的方式,更全面地描述局部细节。但点对的相关性会比较大,从而降低描述子的判别性(Discriminative)。ORB 直接采用了贪婪法、穷举法解决这一问题,寻找相关性低的随机点对。 1.2、特征匹配 特征点匹配过程可以是在数据库查询中自适应完成的,这多见于基于 3D 结构的查询。匹配也可以是在查询后单独进行,多见于基于 2D 图像查询。特征匹配的目的是,为后续的变换矩阵计算提供匹配的点对集,实现位姿的解算。 随机抽样一致算法 (Random sample consensus,RANSAC)是一种经典的数据过滤、参数拟合算法。它假设数据(内点,Inliers)分布符合一定的数学模型,通过迭代计算,去除外点 (Outliers) 、噪声点,同时获取概率上最佳的模型参数。在全局定位中,内点指正确的匹配,外点指错误的匹配,参数模型指匹配点对的空间变换矩阵 1.3、位姿计算 对于已获得的正确匹配点对,需要通过几何约束计算相应的变换矩阵 (Transformation matrix) 。由于数据库中的点坐标,采样时的相机位姿已知,所以可以通过匹配点对于地图点的变换矩阵,得到当前相机的位姿。 1)2D-2D变换矩阵计算
计算机视觉中的目标跟踪与姿态估计算法

计算机视觉中的目标跟踪与姿态估计算法随着计算机视觉技术的不断发展,目标跟踪与姿态估计成为计算机视觉研究的热点领域之一。
目标跟踪是指在视频序列中持续追踪目标对象的位置、运动状态等,而姿态估计则是指对目标对象的姿态、姿势进行估计和识别。
这两个技术在各种应用场景中都有重要的作用,比如智能监控、自动驾驶、人机交互等领域。
目标跟踪算法是计算机视觉领域的一个基础问题,它的主要任务是在视频序列中自动检测和跟踪目标对象的运动状态。
传统的目标跟踪算法主要基于颜色特征、运动信息、形状信息等进行目标的跟踪。
比较常见的目标跟踪算法包括卡尔曼滤波器、粒子滤波器、最小二乘法等。
近年来,随着深度学习技术的发展,基于深度学习的目标跟踪算法也得到了广泛应用。
例如,基于卷积神经网络(CNN)的目标跟踪算法可以通过训练神经网络来学习目标的特征,从而实现更准确的目标跟踪。
姿态估计算法是指对目标对象的姿态、姿势进行估计和识别的技术。
姿态估计一般包括关节位置估计、姿态分割、姿态识别等任务。
传统的姿态估计算法主要基于特征提取和模型拟合进行姿态估计,例如利用人体的边缘特征、颜色特征等进行姿态估计。
而基于深度学习的姿态估计算法则可以直接从图像数据中学习姿态特征,从而实现更准确和鲁棒的姿态估计。
近年来,基于深度学习的姿态估计算法在人体姿态估计、手部姿态估计等领域取得了显著的进展。
目标跟踪与姿态估计算法在计算机视觉领域有着广泛的应用,其中一些典型的应用场景包括智能监控、自动驾驶、人机交互等。
在智能监控领域,目标跟踪与姿态估计技术可以用于实现对目标对象的实时追踪和监控,从而提高监控系统的准确性和实时性。
在自动驾驶领域,目标跟踪与姿态估计技术可以用于实现对周围车辆、行人等道路用户的跟踪和识别,从而帮助自动驾驶系统做出更准确的决策。
在人机交互领域,目标跟踪与姿态估计技术可以用于实现对人体动作、手势等的识别和跟踪,从而实现更自然和智能的人机交互。
总的来说,目标跟踪与姿态估计算法在计算机视觉领域有着重要的作用,它们可以帮助计算机系统更好地理解和分析视频数据,从而实现对目标对象的识别、跟踪和分析。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第33卷 第1期2011年1月武 汉 理 工 大 学 学 报
JOURNALOFWUHANUNIVERSITYOFTECHNOLOGYVol.33 No.1
Jan.2011
DOI:10.3963/j.issn.167124431.2011.01.033基于SIFT特征的视频内头部姿态估计
孙玉芬,刘 钢(武汉理工大学计算机科学与技术学院,武汉430063)
摘 要: 基于对头部左右转动时脸部图像上点之间距离变化特性的分析,提出基于SIFT特征的单摄像头近距离视频图像序列内头部姿态估计算法。该方法首先在脸部图像上提取SIFT特征点,然后对两幅图像进行SIFT特征匹配,基于匹配的特征点之间距离的变化性质判断两幅图像内头部的相对转向与转动程度,得到头部姿态估计结果。在人脸库和视频图像上的实验表明,该方法使用简单,且具有较高的正确度。关键词: 头部姿态估计; SIFT特征; 透视投影中图分类号: TP391文献标识码: A文章编号:167124431(2011)0120146205
SIFTFeaturesBasedHeadPoseEstimationfromMonocularVideoSequences
SUNYu2fen,LIUGang(SchoolofComputerScience&Technology,WuhanUniversityofTechnology,Wuhan430063,China)
Abstract:
Thechangeofthedistancesbetweenpointsonfaceimagesisdistinctivewhenthefaceyaws.Aheadpose
estimationalgorithmusingSIFTfeaturesisproposedbasedonthisdistinctivechangepattern.Thealgorithmfirstcom2putesSIFTfeaturesinfaceimages.Thenthefeaturesintwoimagesarematched.Theheadposeinoneimageisestimatedbasedonthechangepatternofthedistancesbetweenthesefeaturepointsandtheheadposeintheotherimage.Theex2perimentsonfacedatabaseandmonocularvideosequencesshowthatthealgorithmiseasytouseandithasahighaccura2cy.Keywords:
headposeestimation; SIFTfeature; perspectiveprojection
收稿日期:2010210209.
基金项目:国家自然科学基金(60974094),水路公路交通安全与装备教育部工程研究中心开放基金(WHUTERCTS2010A04)和中央高校基本科研业务费专项资金(20102Ⅳ2085).
作者简介:孙玉芬(19772),女,博士,讲师.E2mail:yufen@whut.edu.cn
头部姿态估计指从二维人脸图像中自动估计头部在三维空间中的姿态,可用于安全辅助驾驶、人机交互、增强现实等多个应用领域。现有头部姿态估计方法通常可分为基于模型(model2based)的方法和基于表观(appearancebased)的方法[1]。其中,基于模型的方法使用若干脸部特征点为人脸构建三维模型或其他几何模型,基于头部转动时模型的几何变化判断头部姿态[123]。其优点在于实现简单,计算高效、准确,方法易于理解。但是,在使用时可能由于噪音、遮挡、光照、尺度、表情等对图像的影响而不能稳定抽取所需的脸部特征点。基于表观的方法通过学习直接在图像与头部姿态之间建立映射关系[425]。相关研究主要集中在子空间方法[627]和基于图像特征的学习方法[829]。此类方法具有较高的鲁棒性和估计精确度,但是由于需要大量合适的训练数据,并且需要对训练数据进行精确的图像配准,在实际使用时工作量较大。考虑结合两类方法的优点,基于图像特征在头部姿态变化时的几何属性变化估计头部姿态。与具有一定高层含义的脸部特征点不同,图像特征点完全基于图像的像素值信息生成,因此更容易由计算机自动抽取。SIFT(ScaleInvar2iantFeatureTransform)特征
[10]是优秀的图像局部特征,能从存在旋转变化和部分遮挡的图像中稳定提取。
现有的将SIFT特征用于头部姿态估计的方法需要使用立体相机获取特征点的三维坐标信息[11]。提出直接使用多个二维SIFT特征点在头部姿态变化时的距离变化模式估计头部姿态。此方法适用于安全辅助驾驶、人机交互等多个应用场合获取的近距离视频图像序列,具有较高的可用性,其优点在于:1)能稳定抽取可用的特征点;2)不需要训练,能直接使用;3)不受人脸的不同长相影响;4)只需要大致的头部区域,不需要图像配准;5)具有较高的鲁棒性。
1 基于SIFT特征的头部姿态估计方法如图1所示,设正面人脸与图像平面平行,空间坐标系的原点O在投影中心(centerofprojection),Z轴为光轴,X轴为水平轴,Y轴为垂直轴,X轴与Y轴构成的平面与图像平面平行。可引起人脸上某点在图像中的坐标产生变化的基本运动有:1)人脸在平行于图像平面的平面内左右平移(即平行于X轴的移动)、上下平移(即平行于Y轴的移动)、旋转(即绕Z轴的平行线旋转);2)人脸与摄像头间的距离发生改变(即沿Z
轴移动);3)人脸产生俯仰(即绕X轴的平行线旋转);4)人脸左右转头(即绕Y轴的平行线旋转)。这些运动引起的人脸上点的坐标变化的特点定性分析如下:
1)人脸在平行于图像平面的平面内平移或旋转时,人脸上位于此平面内的任意两点之间的距离不变,但是深度不同的两点之间的距离会发生缓慢改变。人脸上两点位移相同时,深度大的点在图像平面上的像点的坐标改变比深度小的点小。2)人脸沿垂直于图像平面方向移动时,位于与图像平面平行的同一平面内任意两点之间的距离与另外两点之间的距离之比不变,但深度不同的两点之间的距离的改变与两点与图像平面的距离以及两点与光轴所成的角度相关,变化复杂。3)人脸俯仰时,点间的垂直距离减小。4)人脸左右转头时,左右两边脸上的点的深度发生相反的改变。对于深度不同的两点,旋转可能会减小透视缩短效应,增加两点之间的距离,也可能会加重透视缩短效应,缩小两点之间的距离。由以上分析可见,人脸沿X、Y、Z3个坐标轴的平移与绕X、Y、Z3个坐标轴平行线的旋转对图像中两点间距离的影响非常复杂,但是也有部分规律可循。考虑头部左右转动,即人脸绕Y轴平行线旋转的情况。前面假设正面人脸与图像平面平行,由人脸立体形状可知,此时人脸左侧脸与右侧脸近似与图像平面垂直。人脸侧脸上任意一点与同一水平面上人脸正脸上任意一点的连线与图像平面夹角较大,透视缩短效应严重。当人脸向右转动时,左侧脸与图像平面之间的夹角减小,透视缩短效应减小,点间距离增加;右侧脸与正脸右半部分在被完全遮挡之前与图像平面之间的夹角增大,透视缩短效应增加,点间距离减小。当人脸向左转动时,情况则完全相反。在其他类型的运动中,只有当人脸沿X轴平移时,深度不同的点之间的距离会发生类似的改变。但是在近距离摄像条件下,人脸的移动范围有限,平移导致的两点间距离改变的程度远小于由透视缩短效应导致的距离改变。实验也证实了这一点。算法YawDetec(YawDetection)基于这个特点检测两幅人脸图像间的相对转头。算法中人脸图像使用的坐标系如图2所示。算法YawDetec:
输入:参数ε,近距离人脸图像imold与im
new
输出:相对转头Yaw∈{左转,右转,无转动}
1)计算imold中的SIFT特征点集合f1;2)计算imnew中的SIFT特征点集合f2;3)匹配f1与f2中的SIFT特征点,得到特征点集合mf1,mf12;
4)检查mf1中特征点的X轴坐标与Y轴坐标在mf2中是否保序,删除匹配错误的点;5)找出mf1中特征点在X轴上的最小值xmin1,最大值xmax1,和与直线x=(xmin1+xmax1)/2最靠近的特征点的x轴坐标值xmean1,以及mf2中与这些特征点匹配的点的X轴坐标值Xmin2、xmax2与xmean2。若“(x
mean2
741第33卷 第1期 孙玉芬,刘:钢基于SIFT特征的视频内头部姿态估计-xmin2)-(xmean1xmin1)>0”,且“(xmax2-xmean2)-(xmax1-xmean1)<0,且max(|(xmean2-xmin2)-(xmean1-x
min1
)
|,|(xmax2-xmean2)-xmax1-xmean1)|)>ε,则输出Yaw=“左转”;若“(xmean2-xmin2)-(xmean1-xmin1)<0”,且“(xmax2-x
mean2
)-(xmax1-xmean1)>0”,且max(|(xmean2-xmin2)-(xmean1-xmin1)|,|(xmax2-xmean2)-
(xmax1-xmean1)|)>ε,则输出Yaw=“右转”;否则,输出Yaw=“无转动”。
在上述算法中,第4)步利用特征点坐标值的排序检查错误的SIFT特征匹配。由于算法不考虑头部平面内旋转运动(可通过旋转图像消除),可认为头部姿态变化时人脸上两点在图像上的大小顺序基本保持不变。利用这个性质可大大消除错误的特征点匹配。算法第5)步利用头部左右转动时左右脸上透视缩短效应的不同作用导致的距离的不同改变判断转头姿态。参数ε>0用于区分左右转头和左右平移。ε过大将导致算法对较小幅度的转动漏检,实验部分将介绍ε的计算方法。算法的输出只有“左转”、“右转”、“无转动”3种状态,但是,稍经扩展,即可输出头部转动的程度。如根据“xmean-xmin”增大的大小近似判断头部左转的程度。算法PoseEsti使用YawDetec(ε,imold,im
new
)在近距离视频图像序列中估计头部姿态。
算法PoseEsti:
输入:参数ε,以正脸开始的近距离人脸视频图像序列im1,im2,…输出:头部姿态Pose∈{左转,右转,正面}
1)置头部姿态Pose=“正面”,当前图像im=im1,图像序号k=2;2)计算YawDetec(ε,im,imk);3)若头部姿态Pose=“正面”,Yaw=“左转”或“右转”,则置Pose=Yaw,将im压入栈Images中,im=imk,k=k+1。跳回第2)步;4)若头部姿态Pose=“正面”、“右转”或“左转”,Yaw=“无转动”,则置k=k+1。跳回第2)步;5)若头部姿态Pose=Yaw=“左转”或Pose=Yaw=“右转”,则将im压入栈Images中,im=imk,k=k