CN116453095A - 头部姿态估计方法及装置、计算机可读存储介质、终端 - Google Patents

头部姿态估计方法及装置、计算机可读存储介质、终端 Download PDF

Info

Publication number
CN116453095A
CN116453095A CN202310247507.6A CN202310247507A CN116453095A CN 116453095 A CN116453095 A CN 116453095A CN 202310247507 A CN202310247507 A CN 202310247507A CN 116453095 A CN116453095 A CN 116453095A
Authority
CN
China
Prior art keywords
head
vector
matrix
camera
coordinate system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310247507.6A
Other languages
English (en)
Inventor
张艳晖
李洋洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Black Sesame Intelligent Technology Co ltd
Original Assignee
Black Sesame Intelligent Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Black Sesame Intelligent Technology Co ltd filed Critical Black Sesame Intelligent Technology Co ltd
Priority to CN202310247507.6A priority Critical patent/CN116453095A/zh
Publication of CN116453095A publication Critical patent/CN116453095A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/59Context or environment of the image inside of a vehicle, e.g. relating to seat occupancy, driver state or inner lighting conditions
    • G06V20/597Recognising the driver's state or behaviour, e.g. attention or drowsiness
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/70Labelling scene content, e.g. deriving syntactic or semantic representations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/103Static body considered as a whole, e.g. static pedestrian or occupant recognition
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)

Abstract

一种头部姿态估计方法及装置、计算机可读存储介质、终端,所述方法包括:从相机采集的目标图像中确定头部区域图像;基于头部区域图像进行头部旋转程度预测,以确定头部旋转矩阵;基于所述头部区域图像的中心点,确定第一变换矩阵,所述第一变换矩阵用于指示成像坐标系与相机坐标系之间的旋转变换关系;采用所述第一变换矩阵对所述头部旋转矩阵进行坐标空间变换,得到第一头部姿态矩阵;基于所述第一头部姿态矩阵,确定头部姿态角度。上述方案有助于提高头部姿态估计结果的准确性。

Description

头部姿态估计方法及装置、计算机可读存储介质、终端
技术领域
本发明涉及目标姿态分析技术领域,尤其涉及一种头部姿态估计方法及装置、计算机可读存储介质、终端。
背景技术
头部姿态估计是从数字图像或视频图像中推断出人的头部偏转角度的过程,这种技术在人脸识别、人机交互、驾驶等领域具有广泛的应用。例如,在驾驶技术中,驾驶员存在疲劳打哈欠、东张西望、低头看手机等不安全驾驶行为时,头部偏向角度会明显增大,因此可以通过检测驾驶员的头部姿态来判断驾驶员是否分心,并做出相应地提醒。
现有技术中,主要存在如下头部估计方法:
(1)基于人脸关键点的人头姿态估计。通过对相机采集的人脸图像确定几个2D关键点信息,然后基于对关键点信息的分析,确定头部姿态。如果人脸区域或头部区域不够完整,或者被物体遮挡,则可能导致关键点检测与分析结果不准确。
(2)基于姿态角或欧拉角的人头姿态估计。已有方法通常基于“采集对象的头部中心与相机的光心重合”(或者,光心指向采集对象的头部中心的向量与相机的光轴方向重合)这种假设。然而,受相机的安装位置、安装角度、驾驶员的实际坐姿等影响,在图像采集中,采集对象的头部中心很可能不位于光轴上,并且,根据相机的小孔成像原理,不同的图像区域得到的人头姿态也会有所区别。因此,这种方法估计得到的头部姿态角度的准确性仍不够高。
发明内容
本发明实施例解决的技术问题是如何提高头部姿态估计结果的准确性。
为解决上述技术问题,本发明实施例提供一种头部姿态估计方法,包括以下步骤:从相机采集的目标图像中确定头部区域图像;基于头部区域图像进行头部旋转程度预测,以确定头部旋转矩阵;基于所述头部区域图像的中心点,确定第一变换矩阵,所述第一变换矩阵用于指示成像坐标系与相机坐标系之间的旋转变换关系;采用所述第一变换矩阵对所述头部旋转矩阵进行坐标空间变换,得到第一头部姿态矩阵;基于所述第一头部姿态矩阵,确定头部姿态角度。
可选的,基于所述第一头部姿态矩阵,确定头部姿态角度,包括:采用所述相机坐标系和车辆坐标系之间的第二变换矩阵,对所述第一头部姿态矩阵进行坐标空间变换,得到第二头部姿态矩阵;根据所述第二头部姿态矩阵,确定所述头部姿态角度。
可选的,基于所述头部区域图像的中心点,确定第一变换矩阵,包括:根据所述相机的焦距,以及所述中心点在所述头部区域图像的图像坐标系中的坐标,确定所述中心点映射至所述相机坐标系中的映射点,并将所述相机的光心指向所述映射点的向量,记为第一向量;确定所述第一向量与所述相机的光轴方向上的单位向量之间的向量夹角;对所述第一向量与所述相机的光轴方向上的单位向量进行叉乘,得到第二向量;根据所述向量夹角和所述第二向量,确定所述第一变换矩阵。
可选的,采用下述公式,根据所述相机的焦距,以及所述中心点在所述头部区域图像的图像坐标系中的坐标,确定所述中心点映射至所述相机坐标系中的映射点:
采用下述公式,确定所述第一向量与所述相机的光轴方向上的单位向量之间的向量夹角:
采用下述公式,对所述第一向量与所述相机的光轴方向上的单位向量进行叉乘,得到第二向量:
其中,f表示相机的焦距,u表示所述中心点在头部区域图像的图像坐标系中的横坐标,v表示所述中心点在头部区域图像的图像坐标系中的纵坐标,表示所述相机的光心指向所述映射点的向量,即第一向量,xc,yc,zc分别表示所述映射点在x轴,y轴,z轴上的坐标值,/>表示所述相机的光轴方向上的单位向量,i,j,k分别表示所述相机坐标系的x轴,y轴,z轴上的单位向量;θ表示所述第一向量与所述相机的光轴方向上的单位向量之间的向量夹角,/>表示第二向量。
可选的,根据所述向量夹角和所述第二向量,确定所述第一变换矩阵,包括:对所述第二向量进行归一化处理,得到归一化后的向量;基于所述向量夹角和所述归一化后的向量进行矩阵转换,以得到所述第一变换矩阵。
可选的,基于头部区域图像进行头部旋转程度预测,以确定头部旋转矩阵,包括:将所述头部区域图像输入预设的头部旋转分量预测模型,得到头部旋转分量预测值;对所述头部旋转分量预测值进行矩阵变换,得到所述头部旋转矩阵;其中,所述头部旋转分量预测模型是采用多帧头部区域样本图像作为训练数据集,对初始化模型进行有监督地训练得到的;其中,所述训练数据集中的至少一部分头部区域样本图像标注有旋转分量标签。
可选的,所述方法还包括:采用第一预设时长内针对同一用户采集的多帧目标图像对应的头部姿态角度,进行平均运算得到头部姿态角度平均值,然后根据所述头部姿态角度平均值与第一预设阈值的比较结果,对所述用户的行为进行评估;或者,对第二预设时长内针对同一用户采集的多帧目标图像,确定头部姿态角度大于等于第二预设阈值的目标图像的数量,并确定该数量与所述第二预设时长内采集的目标图像的总数量的比例,然后根据所得到的比例与预设比例的比较结果,对所述用户的行为进行评估。
本发明实施例还提供一种头部姿态估计装置,包括:头部区域图像确定模块,用于从相机采集的目标图像中确定头部区域图像;头部旋转矩阵确定模块,用于基于头部区域图像进行头部旋转程度预测,以确定头部旋转矩阵;第一变换矩阵确定模块,用于基于所述头部区域图像的中心点,确定第一变换矩阵,所述第一变换矩阵用于指示成像坐标系与相机坐标系之间的旋转变换关系;坐标空间变换模块,用于采用所述第一变换矩阵对所述头部旋转矩阵进行坐标空间变换,得到第一头部姿态矩阵;头部姿态角度确定模块,用于基于所述第一头部姿态矩阵,确定头部姿态角度。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述头部姿态估计方法的步骤。
本发明实施例还提供一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述头部姿态估计方法的步骤。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
本发明实施例提供一种头部姿态估计方法,从相机采集的目标图像中确定头部区域图像;基于头部区域图像进行头部旋转程度预测,以确定头部旋转矩阵;基于所述头部区域图像的中心点,确定第一变换矩阵,所述第一变换矩阵用于指示成像坐标系与相机坐标系之间的旋转变换关系;采用所述第一变换矩阵对所述头部旋转矩阵进行坐标空间变换,得到第一头部姿态矩阵;基于所述第一头部姿态矩阵,确定头部姿态角度。
由于在实际图像采集中,采集对象的头部中心很可能与光心不重合(即,头部中心并不位于光轴上),因此在本发明实施例中,采用基于头部区域图像的中心点确定第一变换矩阵,对基于头部区域图像确定的头部旋转矩阵进行坐标空间变换(从成像坐标系变换至相机坐标系中);然后基于坐标空间变换后得到的第一头部姿态矩阵,确定头部姿态角度。相比于现有技术中将未进行坐标空间变换的头部中心点直接视为与相机光心重合(或视为位于光轴上),导致得到的头部姿态角度准确性不高,本发明实施例的方案通过坐标空间变换,无论相机的安装位置、角度如何以及采集对象的实际坐姿如何,变换后均可以实现头部中心点位于相机的光轴上,具体地,相机的光心指向变换后的头部中心点的向量方向与相机的光轴方向重合,从而可以获得更加准确的头部姿态角度估计结果。进一步,现有技术采用欧拉角表示头部的三维旋转可能出现三个轴表示的先后顺序不同最终得到的欧拉角结果不同问题,相较而言,本发明实施例采用矩阵形式表示头部旋转程度,准确性和可靠性更高,且更加便于后续的坐标空间变换实现。
进一步,基于所述第一头部姿态矩阵,确定头部姿态角度,包括:采用所述相机坐标系和车辆坐标系之间的第二变换矩阵,对所述第一头部姿态矩阵进行坐标空间变换,得到第二头部姿态矩阵;根据所述第二头部姿态矩阵,确定所述头部姿态角度。在驾驶场景中,相机的角度很可能与车辆的角度不同,同样不能直接假设相机坐标系与车辆坐标系重合,否则会带来较大误差。在本发明实施例中,采用所述相机坐标系和车辆坐标系之间的第二变换矩阵,对第一头部姿态矩阵进行坐标空间变换(从相机坐标系变换至车辆坐标系),然后基于变换得到的第二头部姿态矩阵,确定头部姿态角度。由此,可以将相机坐标系下的头部姿态变换成车辆坐标系下的头部姿态,进而可以准确判定头部(例如,驾驶员的头部)方向是否朝向车辆的正方向。
附图说明
图1是本发明实施例中一种头部姿态估计方法的流程图;
图2是图1中步骤S13的一种具体实施方式的流程图;
图3是图1中步骤S15的一种具体实施方式的流程图;
图4是本发明实施例中一种头部姿态估计装置的结构示意图。
具体实施方式
如背景技术所言,头部姿态估计是从数字图像或视频图像中推断出人的头部偏转角度的过程,这种技术在人脸识别、人机交互、驾驶等领域具有广泛的应用。
现有技术中,主要采取下述方法进行头部姿态估计:
(1)基于人脸关键点的人头姿态估计。通过对相机采集的人脸图像确定几个2D关键点信息,然后基于对关键点信息的分析,确定头部姿态。如果人脸区域或头部区域不够完整,或者被物体遮挡,比如,检测目标佩戴有口罩、墨镜、帽子等,遮挡住了2D关键点,则会使得2D关键点检测结果不准确。此外,现有技术为通过二维关键点估计头部姿态,通常还需要利用标准三维人脸模型模拟驾驶员的头部,这个模型可能与驾驶员的头部形状、表情状态存在差别,从而导致最终获得的人头姿态角度准确度低。
(2)基于姿态角或欧拉角的人头姿态估计。姿态角包括俯仰角(pitch)、偏航角(yaw)、滚转角(roll)。pitch可表示竖直方向上人脸抬头或低头的角度,yaw可表示人脸水平方向上转头的角度,roll可表示人脸歪头的角度。这种方法也是基于对相机采集的头部图像的识别。具体而言,现有的基于姿态角的人头姿态估计方法通常基于“采集对象的头部中心与相机的光心重合”(或者,光心指向采集对象的头部中心的向量与相机的光轴方向重合)这种假设。然而,受相机的安装位置、安装角度、驾驶员的实际坐姿等影响,在图像采集中,采集对象的头部中心很可能不位于光轴上,并且,根据相机的小孔成像原理,不同的图像区域得到的人头姿态也会有所区别。因此,这种方法估计得到的头部姿态角度的准确性仍不够高。
为解决上述技术问题,本发明实施例提供一种人头姿态估计方法,具体包括:从相机采集的目标图像中确定头部区域图像;基于头部区域图像进行头部旋转程度预测,以确定头部旋转矩阵;基于所述头部区域图像的中心点,确定第一变换矩阵,所述第一变换矩阵用于指示成像坐标系与相机坐标系之间的旋转变换关系;采用所述第一变换矩阵对所述头部旋转矩阵进行坐标空间变换,得到第一头部姿态矩阵;基于所述第一头部姿态矩阵,确定头部姿态角度。
由于在实际图像采集中,采集对象的头部中心很可能与光心不重合(即,头部中心并不位于光轴上),因此在本发明实施例中,采用基于头部区域图像的中心点确定第一变换矩阵,对基于头部区域图像确定的头部旋转矩阵进行坐标空间变换(从成像坐标系变换至相机坐标系中);然后基于坐标空间变换后得到的第一头部姿态矩阵,确定头部姿态角度。相比于现有技术中将未进行坐标空间变换的头部中心点直接视为与相机光心重合(或视为位于光轴上),得到的头部姿态角度准确性不高,本发明实施例的方案,通过坐标空间变换,无论相机的安装位置、角度如何以及采集对象的实际坐姿如何,可以在变换后实现头部中心点位于相机的光轴上,具体地,相机的光心指向变换后的头部中心点的向量方向与相机的光轴方向重合,从而可以获得更加准确的头部姿态角度估计结果。
进一步,相较于现有技术采用欧拉角表示头部的三维旋转可能出现三个轴表示的先后顺序不同最终得到的欧拉角结果不同问题,本发明实施例采用矩阵形式表示头部旋转程度,准确性和可靠性更高。
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细说明。
参照图1,图1是本发明实施例中一种头部姿态估计方法的流程图。所述方法可以应用于具有图像处理与分析功能的各种终端设备,例如可以是手机、计算机、平板电脑、可穿戴式终端设备(例如,智能手表)、车载式终端设备,也可以是服务器、云平台。
本发明实施例提供的头部姿态方法,可以应用于驾驶场景中的驾驶员行为分析(例如,是否专心驾驶),以提醒驾驶员专心驾驶;人机交互场景中的观众头部姿态分析,可以调整屏幕的角度;教学领域的学员头部姿态分析,可以用来评估学员听课的专心程度;儿童书写作业时的头部姿态分析,可以评估儿童坐姿是否标准等各类场景。
在本申请文件中,为便于区分不同的矩阵,采用下述不同的参数分别定义各个矩阵:R0表示头部旋转矩阵,R1表示第一变换矩阵,R2表示第一头部姿态矩阵,R3表示第二变换矩阵,R4表示第二头部姿态矩阵。
所述方法可以包括步骤S11至步骤S15:
步骤S11:从相机采集的目标图像中确定头部区域图像;
步骤S12:基于头部区域图像进行头部旋转程度预测,以确定头部旋转矩阵;
步骤S13:基于所述头部区域图像的中心点,确定第一变换矩阵,所述第一变换矩阵用于指示成像坐标系与相机坐标系之间的旋转变换关系;
步骤S14:采用所述第一变换矩阵对所述头部旋转矩阵进行坐标空间变换,得到第一头部姿态矩阵;
步骤S15:基于所述第一头部姿态矩阵,确定头部姿态角度。
其中,步骤S12和步骤S13之间可以没有先后执行顺序之分。例如,例如,步骤S12和步骤S13可以并行执行。又例如,步骤S12和步骤S13可以先后执行。
在步骤S11的具体实施中,在图像采集过程中,所述相机的放置位置通常位于采集对象的头部区域的前方适当位置处。理想情况下,相机的光心指向采集对象的头部区域的中心点(也称为头部中心点)的向量方向,与相机的光轴方向重合(即,理想情况下,采集对象的头部区域的中心点位于相机的光轴上),但是实际情况中,受相机的安装位置、安装角度以及采集对象的实际位置往往在一定区域范围内是可变的,难以保持完全固定不变。
因此,相机的光心指向采集对象的头部区域的中心点的向量方向,与相机的光轴方向之间通常会存在一定程度的偏向角或夹角,由此,无法直接视为采集对象的头部区域的中心点位于相机的光轴上。
进一步地,在步骤S11之前,所述方法还可以包括:对所述目标图像进行脸部检测,并判断检测出的脸部是否合格;如果判断结果为不合格,则舍弃所述目标图像。
具体而言,可以采用脸部检测模型,对所述目标图像进行脸部检测;然后对检测出的脸部进行质量分析(例如可以分析完整度、清晰度等);如果所述脸部不完整(例如,被物体大面积遮挡)或者所述脸部不清晰(例如,受光线反射影响导致图像模糊),则可以确认检测出的脸部不合格,并舍弃所述目标图像;反之,则可以确认检测出的脸部合格,并继续执行所述步骤S11。
其中,对脸部进行质量分析的方法可以是人工分析,也可以采用现有的图像分析模型或算法进行分析。
在具体实施中,从相机采集的目标图像中确定头部区域图像,可以直接基于上述脸部检测模型检测出的脸部确定所述头部区域图像;也可以采用其他头部区域图像提取模型提取头部轮廓,并确定所述头部区域图像;还可以采用预设的头部形状提取所述头部区域图像,例如提取为矩形或圆形,以降低提取复杂度。
需要指出的是,本申请文件将所述的头部区域图像的中心点,视为与实际头部区域的中心点(也称为头部中心点)所在的位置相同,因此,对于头部区域的中心点与头部区域图像的中心点未做区分。
在步骤S12的具体实施中,所述基于头部区域图像进行头部旋转程度预测可以包括:将所述头部区域图像输入预设的头部旋转分量预测模型,得到头部旋转分量预测值;对所述头部旋转分量预测值进行矩阵变换,得到所述头部旋转矩阵R0;其中,所述头部旋转分量预测模型是采用多帧头部区域样本图像作为训练数据集,对初始化模型进行有监督地训练得到的;其中,所述训练数据集中的至少一部分头部区域样本图像标注有旋转分量标签。
其中,所述初始化模型可以是现有的能够进行图像分析的神经网络模型。通过采用标注有旋转分量标签的头部区域样本图像构成的训练数据集,对所述初始化模型进行有监督训练,得到所述头部旋转分量预测模型;该头部旋转分量预测模型对于输入的头部区域图像,可以输出较为准确的旋转分量值。
其中,所述头部区域样本图像标注的旋转分量标签可以采用下述方式确定:对于每张头部区域样本图像,确定该张头部区域样本图像中的脸部关键点位置,然后根据所述脸部关键点位置拟合脸部生成模型(例如,合成人脸模型(Basel Face Model,BFM))的模型参数;然后采用拟合得到的模型参数以及所述脸部生成模型生成拟合头部区域图像;基于所述头部区域样本图像和所述拟合头部区域图像之间的相似度,对所述脸部生成模型的模型参数进行微调,直至所述脸部生成模型生成的拟合头部区域图像与头部区域样本图像的相似度大于预设阈值,从而得到优化的脸部生成模型以及该模型的优化参数;可以采用该模型的优化参数中的旋转分量作为所述头部区域样本图像的旋转分量标签。
以BFM模型为例,BFM模型的参数可以包括人头的旋转分量、平移分量、表情分量、形状分量中的一项或多项。根据人头的位置可以将三维头部模型投影到二维图像上。其中,人头的位置可以通过旋转分量和平移分量进行表示,旋转分量和平移分量为人头的刚体运动分量,表情分量和形状分量为柔性变形分量。取BFM模型的旋转分量作为头部区域样本图像的旋转分量标签。
在具体实施中,可以采用适当的数据形式表示头部旋转分量,例如,四元数、旋转矩阵、欧拉角、旋转向量等。本发明实施例所采用的头部旋转分量应该适用于深度神经网络的回归,且头部旋转分量可以具有唯一对应的头部旋转矩阵R0。其中,对所述头部旋转分量预测值进行矩阵变换的方法可以是现有公开的方法,旋转分量的表现形式不同,变换的方式可以不同。例如,旋转分量采用欧拉角表示,则可以采用现有的欧拉角变换为矩阵的公式,确定所述头部旋转分量预测值对应的头部旋转矩阵R0。
可以理解的是,三维空间中的刚体运动共有6个自由度,分别是绕三个轴的平移和三个轴的旋转。对平移自由度,可以使用三个独立的平移分量进行表示。对于旋转自由度,可以使用绕三个轴的旋转进行表示,即欧拉角。但是采用欧拉角表示三维旋转,涉及到两个问题:一是三个轴表示的先后顺序不同时,最终的结果可能不同;二是在特定角度下,会发生万向节死锁。因此,相较于现有技术通常采用欧拉角表示头部的三维旋转,本发明实施例对旋转分量进行矩阵变换,采用所述头部旋转矩阵R0表征头部旋转程度,准确性和可靠性较高,且更加有利于后续步骤中的坐标空间变换过程。
在步骤S13的具体实施中,所述头部区域图像的中心点,可以通过所述头部区域图像的中心点在所述头部区域图像所处的图像坐标系(是一个二维坐标系)中的坐标进行表示。
其中,在相机坐标系中,通常采用相机的光心作为相机坐标系的原点,采用相机的光轴方向作为相机坐标系的Z轴方向。从相机坐标系变换到图像坐标系属于透视投影关系(从三维坐标空间转换至二维坐标空间)。
需要指出的是,本发明实施例所述成像坐标系(也可称为“局部成像坐标系”),不同于二维的图像坐标系。所述成像坐标系的坐标原点是所述相机的光心,所述成像坐标系的Z轴方向是所述相机的光心指向所述头部区域图像的中心点的向量方向。在实际应用中,所述相机坐标系的Z轴方向与所述成像坐标系的Z轴方向可能重合,也可能不重合(大多数情况下无法完全重合,而是存在夹角)。
参照图2,图2是图1中步骤S13的一种具体实施方式的流程图。所述步骤S13可以包括步骤S21至步骤S24。
在步骤S21中,根据所述相机的焦距,以及所述中心点在所述头部区域图像的图像坐标系中的坐标,确定所述中心点映射至所述相机坐标系中的映射点,并将所述相机的光心指向所述映射点的向量,记为第一向量。
其中,根据相机成像过程中的透视投影原理,所述头部区域图像的中心点映射至所述相机坐标系中的映射点并不唯一,所述映射点可以是所述相机的光心指向所述头部区域图像的中心点的向量(包括向量延长线)上的任一点。
在步骤S22中,确定所述第一向量与所述相机的光轴方向上的单位向量之间的向量夹角。
在步骤S23中,对所述第一向量与所述相机的光轴方向上的单位向量进行叉乘,得到第二向量。
可以理解的是,通过向量叉乘运算,可以得到同时垂直于所述第一向量与所述相机的光轴方向上的单位向量的向量,也即,可以获得垂直于所述第一向量与所述相机的光轴方向上的单位向量所形成的平面的法向量(即,第二向量)。
在本发明实施例中,所述成像坐标系(或所述成像坐标系的Z轴,即,所述相机的光心指向所述头部区域图像的中心点的向量方向)绕着所述第二向量进行旋转变换,旋转的角度为所述第一向量与所述相机的光轴方向上的单位向量之间的向量夹角,即可以实现快速、准确地坐标空间变换,将所述成像坐标系变换至所述相机坐标系,也即,可以实现所述相机坐标系的Z轴与所述成像坐标系的Z轴重合。
进一步地,采用下述公式,确定所述中心点映射至所述相机坐标系中的映射点:
采用下述公式,确定所述第一向量与所述相机的光轴方向上的单位向量之间的向量夹角:
采用下述公式,对所述第一向量与所述相机的光轴方向上的单位向量进行叉乘,得到第二向量:
其中,f表示相机的焦距,u表示所述中心点在头部区域图像的图像坐标系中的横坐标,v表示所述中心点在头部区域图像的图像坐标系中的纵坐标,表示所述相机的光心指向所述映射点的向量,即第一向量,xc,yc,zc分别表示所述映射点在x轴,y轴,z轴上的坐标值,/>表示所述相机的光轴方向上的单位向量,i,j,k分别表示所述相机坐标系的x轴,y轴,z轴上的单位向量;θ表示所述第一向量与所述相机的光轴方向上的单位向量之间的向量夹角,/>表示第二向量。
其中,所述头部区域图像可以通过所述头部区域图像在所述目标图像的图像坐标系中的起始点(x1,y1)以及所述头部区域图像的宽度w和高度h进行表示,则
其中,如前所述,所述头部区域图像的中心点映射至所述相机坐标系中的映射点并不唯一,因此xc,yc,zc可以具有多组,每组xc,yc,zc与f,u,v之间具有对应的等比关系。
在步骤S24中,根据所述向量夹角和所述第二向量,确定所述第一变换矩阵R1。
其中,所述第一变换矩阵R1是采用罗德里格斯转换公式进行矩阵转换得到的。所述罗德里格斯转换公式为:其中,Rodrigues( )表示罗德里格斯转换公式,/>表示所述第二向量,θ表示所述向量夹角。
进一步地,所述步骤S24可以包括:根据所述向量夹角和所述第二向量,确定所述第一变换矩阵R1,包括:对所述第二向量进行归一化处理,得到归一化后的向量;基于所述向量夹角和所述归一化后的向量进行矩阵转换,以得到所述第一变换矩阵R1。
更进一步地,采用下述公式,对所述第二向量进行归一化处理,得到归一化后的向量:
其中,表示归一化后的向量,u表示所述中心点在头部区域图像的图像坐标系中的横坐标,v表示所述中心点在头部区域图像的图像坐标系中的纵坐标,xc,yc分别表示所述映射点在x轴,y轴上的坐标值。
继续参照图1,在步骤S14的具体实施中,可以理解的是,根据相机的透视成像原理(或小孔成像原理),头部区域与相机的相对位置不同时,基于头部区域图像得到的头部姿态角度也会存在差别,即使两次图像采集中,头部姿态始终朝向正前方(即,头部未发生旋转)。具体而言,如果这两次图像采集中,相机位置不变,头部相对于正前方也未发生旋转,但头部区域的中心点与相机的相对位置发生变化(例如,第一次采集中,头部区域的中心点位于相机的光轴方向上;第二次采集中,头部区域的中心点不在相机的光轴方向上,存在一定角度的偏移),则基于这两次采集的头部区域图像确定的头部姿态角度会存在差别。
为解决这种问题,本发明实施例在步骤S14中采用所述第一变换矩阵R1对所述头部旋转矩阵R0进行坐标空间变换,可以将位于成像坐标系下的头部旋转数据(或称为头部姿态数据)变换至相机坐标系下,得到所述第一头部姿态矩阵R2。通过坐标空间变换,无论相机的安装位置、角度如何以及采集对象的实际站姿/坐姿如何,可以使得变换后的头部中心点位于相机的光轴上,具体地,相机的光心指向变换后的头部中心点的向量方向与相机的光轴方向重合,从而可以在后续步骤中,基于所述第一头部姿态矩阵R2获得更加准确的头部姿态角度估计结果。
在步骤S15的具体实施中,基于所述第一头部姿态矩阵R2,确定头部姿态角度。
其中,所述头部姿态角度可以采用适当的数据形式表示,例如欧拉角、四元数、向量形式等。采用的数据形式不同,所述第一头部姿态矩阵R2变换为头部姿态角度的方式也不同。
以采用欧拉角表示所述第一头部姿态矩阵R2为例,可以采用现有公开的矩阵转换为欧拉角的公式。由于根据绕不同轴先后旋转的次序不同,总共可有12种旋转方式,对应12种欧拉角的表达方式。实际使用时,可以根据应用场景需要,选择其中一种适当的欧拉角表达方式,从而可以就唯一确定欧拉角到旋转矩阵的变换,以及旋转矩阵到欧拉角的变换。
参照图3,图3是图1中步骤S15的一种具体实施方式的流程图。所述步骤S15可以包括步骤S31至步骤S32。
在步骤S31中,采用所述相机坐标系和车辆坐标系之间的第二变换矩阵,对所述第一头部姿态矩阵进行坐标空间变换,得到第二头部姿态矩阵;根据所述第二头部姿态矩阵,确定所述头部姿态角度。
在具体实施中,确定所述相机坐标系和车辆坐标系之间的第二变换矩阵R3的方法,例如可以是采用专用标定工具(如,棋盘格标定板)进行标定的方法,具体过程可以包括:在固定相机位置后,启动所述相机的图像采集功能;然后在所述相机的可见区域范围内(或可拍摄范围内)放置棋盘格标定板,使得棋盘格标定板的x轴方向与车辆的水平方向平行,y轴方向与所述车辆的垂直方向平行(此种情况下,可以认为棋盘格标定板的坐标系与车辆坐标系平行);在每次放置好棋盘格标定板之后,保存所述相机针对棋盘格标定板采集的图像;然后变换棋盘格标定板的位置,但始终使得棋盘格标定板位于相机的可见区域范围内,且保持棋盘格标定板的坐标系与车辆坐标系平行;最后可以采用solvePnP函数,计算所述棋盘格标定板的坐标系与车辆坐标系之间的变换矩阵,即可获得所述第二变换矩阵R3。
在步骤S32中,根据所述第二头部姿态矩阵,确定所述头部姿态角度。
可以理解的是,在驾驶场景中,相机的角度很可能与车辆的角度不同,同样不能直接假设相机坐标系与车辆坐标系重合,否则会带来较大误差。例如,相机的安装位置与车辆的正前方向存在一定偏移,当驾驶员头部朝向车辆正前方(可视为未处于分心状态)时,在相机拍摄到的图片中,驾驶员的头部可能存在旋转角,从而误判为处于分心状态;相对地,在相机拍摄到的图片中,驾驶员的头部不存在旋转角(例如,正对相机的光心)时,反而可能正处于分心状态。
在本发明实施例中,通过采用所述相机坐标系和车辆坐标系之间的第二变换矩阵R3,对第一头部姿态矩阵R2进行坐标空间变换,可以将位于相机坐标系下的头部姿态数据进一步变换至车辆坐标系;然后基于变换得到的第二头部姿态矩阵R4,确定头部姿态角度。由此,可以准确判定头部(例如,驾驶员的头部)方向是否朝向车辆的正方向,并可以对驾驶员的驾驶状态(例如是否分心)进行评估,以提高驾驶的安全性,减少交通事故的发生概率。
进一步地,所述方法还包括:采用第一预设时长内针对同一用户采集的多帧目标图像对应的头部姿态角度,进行平均运算得到头部姿态角度平均值,然后根据所述头部姿态角度平均值与第一预设阈值的比较结果,对所述用户的行为进行评估;或者,对第二预设时长内针对同一用户采集的多帧目标图像,确定头部姿态角度大于等于第二预设阈值的目标图像的数量,并确定该数量与所述第二预设时长内采集的目标图像的总数量的比例,然后根据所得到的比例与预设比例的比较结果,对所述用户的行为进行评估。
在具体实施中,所述对所述用户的行为进行评估,例如可以是评估驾驶员的驾驶行为,判断其是否分心;又如,可以是评估学员的听课行为,判断其是否认真听课;再如,可以是评估儿童或成人的坐姿,判断坐姿是否端正等等。
其中,所述第一预设阈值与所述第二阈值可以相同或不同。关于所述第一预设阈值、所述第二阈值以及所述预设比例的具体数值设置可以根据实际场景需求确定,本发明实施例不做限定。
参照图4,图4是本发明实施例中一种头部姿态估计装置的结构示意图。所述头部姿态估计装置可以包括:
头部区域图像确定模块41,用于从相机采集的目标图像中确定头部区域图像;
头部旋转矩阵确定模块42,用于基于头部区域图像进行头部旋转程度预测,以确定头部旋转矩阵;
第一变换矩阵确定模块43,用于基于所述头部区域图像的中心点,确定第一变换矩阵,所述第一变换矩阵用于指示成像坐标系与相机坐标系之间的旋转变换关系;
坐标空间变换模块44,用于采用所述第一变换矩阵对所述头部旋转矩阵进行坐标空间变换,得到第一头部姿态矩阵;
头部姿态角度确定模块45,用于基于所述第一头部姿态矩阵,确定头部姿态角度。
关于该头部姿态估计装置的原理、具体实现和有益效果请参照前文及图1至图3示出的关于头部姿态估计方法的相关描述,此处不再赘述。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述图1至图3示出的头部姿态估计方法的步骤。所述计算机可读存储介质可以包括非挥发性存储器(non-volatile)或者非瞬态(non-transitory)存储器,还可以包括光盘、机械硬盘、固态硬盘等。
具体地,在本发明实施例中,所述处理器可以为中央处理单元(centralprocessing unit,简称CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,简称DSP)、专用集成电路(application specificintegrated circuit,简称ASIC)、现成可编程门阵列(field programmable gate array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,简称ROM)、可编程只读存储器(programmable ROM,简称PROM)、可擦除可编程只读存储器(erasable PROM,简称EPROM)、电可擦除可编程只读存储器(electricallyEPROM,简称EEPROM)或闪存。易失性存储器可以是随机存取存储器(random accessmemory,简称RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,简称RAM)可用,例如静态随机存取存储器(staticRAM,简称SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronousDRAM,简称SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,简称DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,简称ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,简称SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,简称DR RAM)。
本发明实施例还提供了一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述图1至图3示出的头部姿态估计方法的步骤。所述终端可以包括但不限于手机、计算机、平板电脑等终端设备,还可以为服务器、云平台等。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,表示前后关联对象是一种“或”的关系。
本申请实施例中出现的“多个”是指两个或两个以上。
本申请实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本申请实施例中对设备个数的特别限定,不能构成对本申请实施例的任何限制。
需要指出的是,本实施例中各个步骤的序号并不代表对各个步骤的执行顺序的限定。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (10)

1.一种头部姿态估计方法,其特征在于,包括:
从相机采集的目标图像中确定头部区域图像;
基于头部区域图像进行头部旋转程度预测,以确定头部旋转矩阵;
基于所述头部区域图像的中心点,确定第一变换矩阵,所述第一变换矩阵用于指示成像坐标系与相机坐标系之间的旋转变换关系;
采用所述第一变换矩阵对所述头部旋转矩阵进行坐标空间变换,得到第一头部姿态矩阵;
基于所述第一头部姿态矩阵,确定头部姿态角度。
2.根据权利要求1所述的方法,其特征在于,基于所述第一头部姿态矩阵,确定头部姿态角度,包括:
采用所述相机坐标系和车辆坐标系之间的第二变换矩阵,对所述第一头部姿态矩阵进行坐标空间变换,得到第二头部姿态矩阵;
根据所述第二头部姿态矩阵,确定所述头部姿态角度。
3.根据权利要求1所述的方法,其特征在于,基于所述头部区域图像的中心点,确定第一变换矩阵,包括:
根据所述相机的焦距,以及所述中心点在所述头部区域图像的图像坐标系中的坐标,确定所述中心点映射至所述相机坐标系中的映射点,并将所述相机的光心指向所述映射点的向量,记为第一向量;
确定所述第一向量与所述相机的光轴方向上的单位向量之间的向量夹角;对所述第一向量与所述相机的光轴方向上的单位向量进行叉乘,得到第二向量;
根据所述向量夹角和所述第二向量,确定所述第一变换矩阵。
4.根据权利要求3所述的方法,其特征在于,采用下述公式,根据所述相机的焦距,以及所述中心点在所述头部区域图像的图像坐标系中的坐标,确定所述中心点映射至所述相机坐标系中的映射点:
采用下述公式,确定所述第一向量与所述相机的光轴方向上的单位向量之间的向量夹角:
采用下述公式,对所述第一向量与所述相机的光轴方向上的单位向量进行叉乘,得到第二向量:
其中,f表示相机的焦距,u表示所述中心点在头部区域图像的图像坐标系中的横坐标,v表示所述中心点在头部区域图像的图像坐标系中的纵坐标,表示所述相机的光心指向所述映射点的向量,即第一向量,xc,yc,zc分别表示所述映射点在x轴,y轴,z轴上的坐标值,/>表示所述相机的光轴方向上的单位向量,i,j,k分别表示所述相机坐标系的x轴,y轴,z轴上的单位向量;θ表示所述第一向量与所述相机的光轴方向上的单位向量之间的向量夹角,/>表示第二向量。
5.根据权利要求3所述的方法,其特征在于,根据所述向量夹角和所述第二向量,确定所述第一变换矩阵,包括:
对所述第二向量进行归一化处理,得到归一化后的向量;
基于所述向量夹角和所述归一化后的向量进行矩阵转换,以得到所述第一变换矩阵。
6.根据权利要求1所述的方法,其特征在于,基于头部区域图像进行头部旋转程度预测,以确定头部旋转矩阵,包括:
将所述头部区域图像输入预设的头部旋转分量预测模型,得到头部旋转分量预测值;
对所述头部旋转分量预测值进行矩阵变换,得到所述头部旋转矩阵;
其中,所述头部旋转分量预测模型是采用多帧头部区域样本图像作为训练数据集,对初始化模型进行有监督地训练得到的;
其中,所述训练数据集中的至少一部分头部区域样本图像标注有旋转分量标签。
7.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
采用第一预设时长内针对同一用户采集的多帧目标图像对应的头部姿态角度,进行平均运算得到头部姿态角度平均值,然后根据所述头部姿态角度平均值与第一预设阈值的比较结果,对所述用户的行为进行评估;
或者,
对第二预设时长内针对同一用户采集的多帧目标图像,确定头部姿态角度大于等于第二预设阈值的目标图像的数量,并确定该数量与所述第二预设时长内采集的目标图像的总数量的比例,然后根据所得到的比例与预设比例的比较结果,对所述用户的行为进行评估。
8.一种头部姿态估计装置,其特征在于,包括:
头部区域图像确定模块,用于从相机采集的目标图像中确定头部区域图像;头部旋转矩阵确定模块,用于基于头部区域图像进行头部旋转程度预测,以确定头部旋转矩阵;
第一变换矩阵确定模块,用于基于所述头部区域图像的中心点,确定第一变换矩阵,所述第一变换矩阵用于指示成像坐标系与相机坐标系之间的旋转变换关系;
坐标空间变换模块,用于采用所述第一变换矩阵对所述头部旋转矩阵进行坐标空间变换,得到第一头部姿态矩阵;
头部姿态角度确定模块,用于基于所述第一头部姿态矩阵,确定头部姿态角度。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1至7任一项所述头部姿态估计方法的步骤。
10.一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求1至7任一项所述头部姿态估计方法的步骤。
CN202310247507.6A 2023-03-10 2023-03-10 头部姿态估计方法及装置、计算机可读存储介质、终端 Pending CN116453095A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310247507.6A CN116453095A (zh) 2023-03-10 2023-03-10 头部姿态估计方法及装置、计算机可读存储介质、终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310247507.6A CN116453095A (zh) 2023-03-10 2023-03-10 头部姿态估计方法及装置、计算机可读存储介质、终端

Publications (1)

Publication Number Publication Date
CN116453095A true CN116453095A (zh) 2023-07-18

Family

ID=87124664

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310247507.6A Pending CN116453095A (zh) 2023-03-10 2023-03-10 头部姿态估计方法及装置、计算机可读存储介质、终端

Country Status (1)

Country Link
CN (1) CN116453095A (zh)

Similar Documents

Publication Publication Date Title
US11120531B2 (en) Method and device for image processing, vehicle head-up display system and vehicle
US10861177B2 (en) Methods and systems for binocular stereo vision
US9519968B2 (en) Calibrating visual sensors using homography operators
CN109523597A (zh) 相机外参的标定方法和装置
CN105023010A (zh) 一种人脸活体检测方法及系统
JP2006252473A (ja) 障害物検出装置、キャリブレーション装置、キャリブレーション方法およびキャリブレーションプログラム
CN111144207B (zh) 一种基于多模态信息感知的人体检测和跟踪方法
CN109934847A (zh) 弱纹理三维物体姿态估计的方法和装置
JP2019117577A (ja) プログラム、学習処理方法、学習モデル、データ構造、学習装置、および物体認識装置
US10529065B2 (en) Method of evaluating the quality of images
CN110148177A (zh) 用于确定相机的姿态角的方法、装置、计算设备、计算机可读存储介质以及采集实体
US20200134389A1 (en) Rolling shutter rectification in images/videos using convolutional neural networks with applications to sfm/slam with rolling shutter images/videos
JP2017123087A (ja) 連続的な撮影画像に映り込む平面物体の法線ベクトルを算出するプログラム、装置及び方法
CN111582204A (zh) 姿态检测方法、装置、计算机设备及存储介质
CN112017212A (zh) 人脸关键点跟踪模型的训练、跟踪方法及系统
CN111209783A (zh) 使用模拟物件影像的物件识别系统及其方法
CN113284120B (zh) 限高高度测量方法及装置
JP3822482B2 (ja) 顔向き計算方法及びその装置
CN114119652A (zh) 用于三维重构的方法和装置以及电子设备
CN112837404B (zh) 一种平面对象的三维信息的构建方法及装置
CN111291607B (zh) 驾驶员分神检测方法、装置、计算机设备和存储介质
CN116630992A (zh) 一种字帖网格文字智能匹配方法及系统
CN114694137B (zh) 图像检测方法,三维成像方法及设备
CN116453095A (zh) 头部姿态估计方法及装置、计算机可读存储介质、终端
US11875527B1 (en) Descriptor generation and point cloud fusion

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination