CN111857329B - 注视点计算方法、装置及设备 - Google Patents
注视点计算方法、装置及设备 Download PDFInfo
- Publication number
- CN111857329B CN111857329B CN202010456584.9A CN202010456584A CN111857329B CN 111857329 B CN111857329 B CN 111857329B CN 202010456584 A CN202010456584 A CN 202010456584A CN 111857329 B CN111857329 B CN 111857329B
- Authority
- CN
- China
- Prior art keywords
- determining
- image
- face
- human eye
- scene
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/013—Eye tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/012—Head tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S5/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/16—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using electromagnetic waves other than radio waves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/18—Eye characteristics, e.g. of the iris
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/18—Eye characteristics, e.g. of the iris
- G06V40/19—Sensors therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/698—Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Ophthalmology & Optometry (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Electromagnetism (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本申请实施例提供一种注视点计算方法、装置及设备,该方法包括:确定第一场景的三维空间模型;获取在所述第一场景拍摄的第一全景图像,所述第一全景图像中包括人脸的人脸图像;根据所述第一全景图像,确定所述人脸的空间位置;根据所述第一全景图像,确定所述人脸中人眼的视线方向;根据所述三维空间模型、所述空间位置和所述视线方向,确定所述人眼的注视对象。提高了三维空间模型中追踪人眼视线的精度。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种注视点计算方法、装置及设备。
背景技术
随着近年来计算机视觉与人机交互技术的迅速发展,人眼视线追踪技术对于用户行为分析和高效人机交互具有重要意义。例如,用户通过控制视线的移动轨迹解锁手机、电脑等操作。
在现有技术中,人眼视线追踪技术通常使用红外光源配合摄像头定位视线,例如红外线经过眼球表面反射至摄像头,会改变眼球的成像,人眼的瞳孔会变成白色,同时红外线在眼球表面的反射点也会变成白色。但是,这种技术通常需要使用多部红外设备和摄像头,增加设备成本,并且在三维空间模型中,无法准确的追踪人眼视线,导致追踪人眼视线的精度较低。
发明内容
本申请实施例提供一种注视点计算方法、装置及设备。提高了三维空间模型中追踪人眼视线的精度。
第一方面,本申请实施例提供一种注视点计算方法,所述方法包括:
确定第一场景的三维空间模型;
获取在所述第一场景拍摄的第一全景图像,所述第一全景图像中包括人脸的人脸图像;
根据所述第一全景图像,确定所述人脸的空间位置;
根据所述第一全景图像,确定所述人脸中人眼的视线方向;
根据所述三维空间模型、所述空间位置和所述视线方向,确定所述人眼的注视对象。
在一种可能的实施方式中,确定所述人脸的空间位置,包括:
确定所述人脸相对于第一拍摄设备的角度坐标,所述第一拍摄设备为拍摄所述第一全景图像的设备;
确定所述人脸相对于所述第一拍摄设备的空间距离;
根据所述角度坐标和所述空间距离,确定所述空间位置。
在一种可能的实施方式中,确定所述人脸相对于第一拍摄设备的角度坐标,包括:
在所述第一全景图像中确定人脸检测区域;
获取每个人脸检测区域对应的第一透视图像;
对所述第一透视图像进行人脸检测,确定每张第一透视图像中的人脸图像的第一坐标,所述第一坐标为所述人脸图像在对应的第一透视图像中的坐标;
根据每张第一透视图像中的人脸图像的第一坐标,确定每张第一透视图像中人脸图像对应的人脸相对于第一拍摄设备的角度坐标。
在一种可能的实施方式中,根据所述三维空间模型、所述空间位置和所述视线方向,确定所述人眼的注视对象,包括:
根据所述三维空间模型、所述空间位置和所述视线方向,在所述三维空间模型中确定人眼注视区域;
根据所述人眼注视区域,确定所述人眼的注视对象。
在一种可能的实施方式中,根据所述三维空间模型、所述空间位置和所述视线方向,在所述三维空间模型中确定人眼注视区域,包括:
根据所述视线方向和所述空间位置,确定人眼视线模型;
根据所述三维空间模型和所述人眼视线模型,在所述三维空间模型中确定人眼注视区域。
在一种可能的实施方式中,根据所述人眼注视区域,确定所述人眼的注视对象,包括:
确定所述人眼注视区域中各子区域对应的分布密度,所述分布密度用于指示人眼注视区域中注视点的分布密度;
根据所述分布密度和所述三维空间模型中包括的对象,确定所述人眼的注视对象。
在一种可能的实施方式中,根据所述第一全景图像,确定所述人脸中人眼的视线方向,包括:
确定所述人脸在相机坐标系下的第一方向,所述相机坐标系为以第二拍摄设备为原点的坐标系,所述第二拍摄设备为拍摄所述第一透视图像的设备;
根据所述第一方向,确定所述第一方向确定所述视线方向,所述视线方向为在世界坐标系下的方向。
在一种可能的实施方式中,确定第一场景的三维空间模型,包括:
在第二场景图像中确定场景重建区域;
获取每个场景重建区域对应的第二透视图像;
对所述第二透视图像进行单幅图像三维估计,得到所述第二透视图像的深度图像;
根据每张第二透视图像的深度图像,确定所述三维空间模型。
第二方面,本发明实施例提供一种注视点计算装置,包括第一确定模块、获取模块、第二模块、第三确定模块、第四确定模块,其中:
所述第一确定模块用于,确定第一场景的三维空间模型;
所述获取模块用于,获取在所述第一场景拍摄的第一全景图像,所述第一全景图像中包括人脸的人脸图像;
所述第二确定模块用于,根据所述第一全景图像,确定所述人脸的空间位置;
所述第三确定模块用于,根据所述第一全景图像,确定所述人脸中人眼的视线方向;
所述第四确定模块用于,根据所述三维空间模型、所述空间位置和所述视线方向,确定所述人眼的注视对象。
第三方面,本发明实施例提供一种终端设备,包括:处理器,所述处理器与存储器耦合;
所述存储器用于,存储计算机程序;
所述处理器用于,执行所述存储器中存储的计算机程序,以使得所述终端设备执行上述第一方面任一项所述的方法。
第四方面,本发明实施例提供一种可读存储介质,包括程序或指令,当所述程序或指令在计算机上运行时,如上述第一方面任意一项所述的方法被执行。
在本申请中,在注视点计算装置从数据库中获取第一全景图像之后,注视点计算装置可以对第一全景图像进行处理,例如,获取第一全景图像中的人脸图像、确定人脸的空间位置、确定人脸中人眼的视线方向。注视点计算装置结合数据库中的第一场景的三维空间模型,可以确定第一全景图像中人眼的注视对象。在上述过程中,根据用户输入的第一全景图像确定得到的第一全景图像中人眼的注视对象,结合了第一场景的三维空间模型,因此可以准确的获取第一全景图像中任意方位的人眼注视对象,提高了三维空间模型中追踪人眼视线的精度。
附图说明
图1为本申请实施例提供的一种注视点计算方法的架构图;
图2A为本申请实施例提供的一种应用场景示意图;
图2B为本申请实施例提供的另一种应用场景示意图;
图3为本申请实施例提供的注视点计算方法的流程示意图;
图4为本申请实施例提供的全景图像的示意图;
图5A为图4全景图像中A区域对应的透视图像;
图5B为图4全景图像中B区域对应的透视图像;
图5C为图4全景图像中C区域对应的透视图像;
图5D为图4全景图像中D区域对应的透视图像;
图6A为本申请实施例提供的第二拍摄设备垂直视场角的示意图;
图6B为本申请实施例提供的第二拍摄设备垂直视场角的侧面示意图;
图7为本申请实施例提供的透视投影模型的示意图;
图8为本申请实施例提供的人脸检测场景示意图;
图9为本申请实施例提供的世界坐标系与相机坐标系的示意图;
图10为本申请实施例提供的另一注视点计算方法的流程示意图;
图11为本申请实施例提供的鱼眼相机成像原理示意图;
图12为本申请实施例提供的第二场景图像的极线示意图;
图13为本申请实施例提供的第二场景图像的极线校正后的示意图;
图14为本申请实施例提供的计算视差图的过程示意图;
图15为本申请实施例提供的一种注视点计算装置的结构示意图;
图16为本申请实施例提供的注视点计算装置的硬件结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本申请的说明书和权利要求书及所述附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于理解,首先结合图1,对本申请所适用的架构进行说明。
图1为本申请实施例提供的一种注视点计算方法的架构图。请参见图1,包括终端设备101。其中,终端设备101中包括注视点计算装置102,其中,注视点计算装置102包括处理模块列表。例如,处理模块列表可以包括确定模块1、获取模块2、确定模块3、确定模块4和确定模块5。注视点计算装置102可以对用户输入的第一全景图像进行处理,结合第一场景的三维空间模型,确定第一全景图像中人眼的注视对象。
在本申请中,注视点计算装置102可以对第一全景图像进行处理,例如,获取第一全景图像中的人脸图像、确定人脸的空间位置、确定人脸中人眼的视线方向。注视点计算装置102结合第一场景的三维空间模型,可以确定第一全景图像中人眼的注视对象。在上述过程中,根据用户输入的第一全景图像确定得到的第一全景图像中人眼的注视位置,结合了第一场景的三维空间模型,因此可以准确的获取第一全景图像中任意方位的人眼注视对象,提高了三维空间模型中人眼视线追踪的准确性。
为了便于理解,下面结合图2A-图2B介绍本申请实施例所适用的应用场景。
图2A为本申请实施例提供的一种应用场景示意图,图2B为本申请实施例提供的另一种应用场景示意图。请参见图2A。在该场景中,包括第一拍摄设备12、人脸11和立方体,第一拍摄设备12位于场景的中心,第一拍摄设备12为拍摄第一全景图像的设备,例如,第一拍摄设备12可以包括水平视场角为210度,垂直视场角为210度的鱼眼相机。通过鱼眼相机可以拍摄当前场景中的全景图像。如图2B所示,第一拍摄设备12位于场景的中心,将第一拍摄设备12拍摄的的全景图像按照图1所示的注视点计算方法进行处理,可以确定人脸11的空间位置、人眼的视线方向,结合三维空间模型,进而确定在该场景下人眼的注视对象13。
下面,通过具体实施例对本申请所示的方案进行详细说明。需要说明的是,下面几个实施例可以独立存在,也可以相互结合,对于相同或相似的内容,在不同的实施例中不再重复说明。
图3为本申请实施例提供的注视点计算方法的流程示意图。请参见图3,该方法可以包括:
S301、确定第一场景的三维空间模型。
本申请实施例的执行主体可以为电子设备,也可以为设置在电子设备中的数据处理装置。电子设备可以为电脑、服务器等设备。电子设备可以为便携式电子设备。例如,电子设备可以为手机、平板电脑等。数据处理装置可以通过软件实现,也可以通过软件和硬件的结合实现。
三维空间模型可以是实际三维空间的虚拟表示。例如,在医疗行业可以使用三维空间模型制作器官的精确模型,建筑领域可以使用三维空间模型展示建筑物的结构。三维空间模型可以由点云组成,点云是在同一空间参考系下表达目标空间分布和目标表面特性的海量点集合。例如,可以根据物体表面每个采样点的空间坐标得到点云,组成物体的三维空间模型。三维空间模型可以由网格组成,网格是有拓扑结构的点云。例如,可以将点云输入到网格生成算法中生成网格。拓扑结构可以指示点云之间的连接结构。三维空间模型可以是深度图像,深度图像可以指将从图像采集器到场景中各点的距离作为像素值的图像,它直接反映了景物可见表面的几何形状。
三维空间模型通常由计算机或者其他视频设备进行显示。例如,通过计算机显示的三维空间模型可以是现实世界的实体,也可以是虚构的物体。可选的,第一场景的三维空间模型可以根据空间平面或空间曲面的数学模型得到。例如,可以使用四个空间平面的数学模型构建四面体的三维空间模型。可选的,第一场景的三维空间模型可以根据第一场景中的实体的位置与空间尺寸得到。例如,根据第一场景中的桌子、凳子或者盘子的位置与空间尺寸,以在相同位置近似尺寸的棱柱、球或圆台等空间几何体模型组成第一场景的三维空间模型。可选的,第一场景的三维空间模型可以从存储的数据库中获取。例如,在建筑领域中,通常会将建筑结构的三维空间模型存储在数据库中,可以直观的观测到建筑结构,对于已知第一场景的三维空间模型,可以直接从数据库中获取。可选的,第一场景的三维空间模型可根据基于深度学习的单幅图像三维估计算法直接得到。
S302、获取在第一场景拍摄的第一全景图像。
其中,第一全景图可以是在第一场景中使用拍摄设备获取反映第一场景信息的图片,使用软件将图片进行拼合,并用特定的播放器进行播放,可以将平面图片转换为360度全观,把二维的平面图模拟成真实的三维空间。第一场景信息可以包括第一场景中的实体。例如,第一场景信息可以包括桌子、凳子或者盘子的位置。
可选的,第一全景图可以根据特制的广角镜头直接拍摄。例如,鱼眼镜头。
图4为本申请实施例提供的全景图像的示意图,请参见图4,第一拍摄设备通过使用特制的广角镜头,可以使得第一拍摄设备得到图4所示的全景图像,其中包括A、B、C、D四个区域。例如,第一拍摄设备可以使用水平视场角为210度,垂直视场角为210度的鱼眼镜头得到全景图像。
第一全景图像中可以包括人脸的人脸图像。可以通过第一拍摄设备获取第一场景的第一全景图像。例如,可以通过手机、单反相机等设备拍摄第一场景的第一全景图像。
可选的,拍摄第一场景的第一全景图像时,第一拍摄设备可以选择任意视场角的广角镜头,也可以根据第一场景的三维结构模型来选择。例如,将第一拍摄设备作为中心,水平视场角可以为210度、垂直视场角可以为210度,可以获取第一场景的第一全景图像。也可以使用多个第一拍摄设备同时拍摄不同的方向,将拍摄的图片进行拼接从而得到第一场景的第一全景图像。可选的,第一全景图像中可以包括多个人的人脸图像,例如,第一全景图像中的一个区域内包括三个人的人脸图像。可选的,第一场景中的第一全景图像也可以从数据库中获取。例如,交通领域中,可以从交通系统的数据库中获取事故发生时的多张第一场景全景图像,对驾驶员的视线进行追踪,从而判定事故发生的原因。
S303、根据第一全景图像,确定人脸的空间位置。
其中,人脸的空间位置是指人脸相对于第一拍摄设备的空间位置。例如,人脸相对于拍摄设备的位置可以是左上方1米,可以将第一拍摄设备作为球坐标系的原点,进而描述人脸的空间位置。
可以通过如下方式确定空间位置:根据角度坐标和空间距离来确定。
角度坐标是指人脸相对于第一拍摄设备的角度坐标,第一拍摄设备可以为拍摄第一全景图像的设备,可以包括鱼眼相机、单反相机等。可选的,第一拍摄设备可以作为一个球坐标系的中心,角度坐标可以在球坐标系中表示出来。例如,人脸相对于第一拍摄设备的方位角可以为30度,仰角可以为45度,则人脸在球坐标系中的坐标可以包括(rface,30,45),rface指人脸与第一拍摄设备间的距离。
空间距离是指人脸与第一拍摄设备间的距离,第一拍摄设备可以为拍摄第一全景图像的设备,可以包括鱼眼相机,单反相机等。可选的,第一拍摄设备可以作为一个球坐标系的中心,空间距离可以在球坐标系中表示出来。例如,人脸与第一拍摄设备间的距离可以为1米,则人脸在球坐标系中的坐标可以包括θface,指人脸相对于第一拍摄设备的角度坐标。
根据人脸在球坐标系中的角度坐标和球坐标系中人脸与第一拍摄设备间的距离,可以确定以第一拍摄设备为坐标原点的球坐标系下人脸的空间位置其中rface可以是以第一拍摄设备为坐标原点的球坐标系下人脸与第一拍摄设备间的距离,θface,可以是以第一拍摄设备为坐标原点的球坐标系下人脸相对于第一拍摄设备的角度坐标。
其中,可以通过如下方式确定人脸图像对应的人脸相对于第一拍摄设备的角度坐标:根据每张第一透视图像中的人脸图像的第一坐标确定。
第一透视图像可以是第一全景图中人脸检测区域对应的第一透视图像。人脸检测区域可以是第一全景图像中存在人脸图像的采样区域。可选的,可以在第一全景图像中设定多个人脸检测区域,同时记录获取的人脸检测区域的位置坐标。例如,第一全景图像可以是通过水平视场角为210度,垂直视场角为210度的鱼眼镜头拍摄的图像,第一全景图像中可以包括10个人脸检测区域,且其中一个人脸检测区域的位置坐标可以为以第一拍摄设备为坐标原点的球坐标系下的坐标。
人脸检测区域对应的第一透视图像是指反映透视现象的人脸检测区域的图像。透视现象是一种景物近大远小的现象,例如,离我们近的物体看起来大,而离我们远的物体看起来小。
下面,结合图5A-图5D对透视图像进行说明。图5A为图4全景图像中A区域对应的透视图像,图5B为图4全景图像中B区域对应的透视图像,图5C为图4全景图像中C区域对应的透视图像,图5D为图4全景图像中D区域对应的透视图像。
由于人脸检测区域可以是从第一全景图像中获取的区域,人脸检测区域的图像存在畸变的现象,所以需要对人脸检测区域的图像进行修正,得到人脸检测区域对应的第一透视图像。
可以根据如下方式确定人脸检测区域对应的第一透视图像:根据像素重映射的方法确定。
像素重映射的方法可以是将图像中各个像素按照一定的规则映射到另外一张图像的对应位置上,形成一张新的图像。可选的,人脸检测区域的图像根据像素坐标映射矩阵的规则,可以得到人脸检测区域对应的第一透视图像。其中,像素坐标映射矩阵的尺寸与目标图像相同,矩阵中的每个元素记录着第一全景图像中对应位置的像素坐标。
可以根据如下方式确定像素坐标映射矩阵:输入校正参数。
校正参数可以包括第一透视图像的高度和宽度、虚拟透视相机的垂直视场角和水平视场角、第一透视图像的偏移角度。其中,第一透视图像的高度和宽度可以指示第一透视图像的尺寸。例如,第一透视图像的高度可以为500像素、宽度可以为300像素。虚拟透视相机可以是设置好水平视场角和垂直视场角的虚拟相机。例如,虚拟透视相机可以是水平视场角为60度、垂直视场角为60度的虚拟相机。第一透视图像的偏移角度可以是第一透视图像中心点的角度坐标。
若第一透视图像中心点在(1,0,0)处,且第一透视图像平面垂直于X轴时,可以根据如下公式计算像素坐标映射矩阵中元素初始空间直角坐标(X,Y,Z):
其中,i与j为该元素在像素坐标映射矩阵中的行列索引值;Xij为该元素的初始空间直角坐标中的X坐标;Yij为该元素的初始空间直角坐标中的Y坐标;Zij为该元素的初始空间直角坐标中的Z坐标;h为第一透视图像的高度;w为第一透视图像的宽度;hFOV为虚拟透视相机的垂直视场角;wFOV为虚拟透视相机的水平视场角。
根据坐标变换矩阵可以得到像素坐标矩阵中元素变换后的空间直角坐标(X′ij,Y′ij,Z′ij),可以根据如下公式计算:
其中,i与j分别表示该元素在矩阵中的行列索引值;Rz表示绕Z轴旋转的变换矩阵;Ry表示绕Y轴旋转的变换矩阵;Xij,Yij,Zij为像素坐标映射矩阵中元素初始的空间直角坐标;X′ij,Y′ij,Z′ij为像素坐标矩阵中元素变换后的空间直角坐标。
可以根据如下公式确定Ry和Rz:
根据像素坐标映射矩阵中元素在人脸检测区域中对应像素的角度坐标,可以得到该元素在人脸检测区域中对应像素的像素坐标,经过像素重映射可以得到人脸检测区域对应的第一透视图像。
可以使用第二拍摄设备获取人脸检测区域对应的第一透视图像,第二拍摄设备为拍摄所述第一透视图像的设备,第二拍摄设备可以为虚拟设备。例如,第二拍摄设备为虚拟相机,可以更改像素坐标映射矩阵中的参数确定虚拟相机的拍摄范围,根据像素重映射的方法得到虚拟相机拍摄的人脸检测区域对应的第一透视图像。可选的,第二拍摄设备可以选择固定视场角的透视相机放置于第一拍摄设备的位置进行拍摄,根据设置透视相机的仰角和方位角得到多张透视图像,可以将其确定为人脸检测区域对应的第一透视图像。
下面结合图6A-图6B对本申请中根据第二拍摄设备得到人脸检测区域对应的第一透视图像21的过程进行说明。图6A为本申请实施例提供的第二拍摄设备垂直视场角的示意图,请参见图6A。A为第二拍摄设备,P为人脸检测区域对应的第一透视图像21的中心点,获取该人脸检测区域对应的第一透视图像21的第二拍摄设备的垂直视场角如图6A所示。图6B为本申请实施例提供的第二拍摄设备垂直视场角的侧面示意图,请参见图6B。A为第二拍摄设备,P为人脸检测区域对应的第一透视图像21中的点,获取该人脸检测区域对应的第一透视图像21的第二拍摄设备的垂直视场角如图6B所示。
图7为本申请实施例提供的透视投影模型的示意图,请参见图7。坐标系是以第一拍摄设备为坐标原点建立的球坐标系,第一拍摄设备为拍摄第一全景图像的设备,第一拍摄设备使用水平视场角为180度,垂直视场角为180度的鱼眼镜头作为广角镜头,拍摄范围23可以为图6所示的半球体,第一拍摄设备拍摄的第一全景图像可以为拍摄范围23内所有的图像,Q点为人脸检测区域22中一点,P点为Q点在人脸检测区域对应的第一透视图像21上对应的一点。此时,第二拍摄设备为虚拟设备,根据人脸检测区域22选择校正参数,例如,第一透视图像的高度和宽度、第一透视图像的偏移角度、第二拍摄设备的垂直视场角和水平视场角。根据像素重映射的方法得到人脸检测区域对应的第一透视图像21。例如,如图7所示,根据人脸检测区域22,选择第一透视图像的高度和宽度、第一透视图像的偏移角度、第二拍摄设备的垂直视场角和水平视场角,使得人脸检测区域22处于第二拍摄设备的拍摄范围23内,根据像素重映射的方法可以得到第二拍摄设备拍摄的人脸检测区域对应的第一透视图像21。
可选的,可以根据像素重映射的方法得到人脸检测区域对应的第一透视图像21。例如,使用虚拟相机代替第二拍摄设备,无论设置虚拟相机的视场角为多少度,都可以根据计算像素坐标映射矩阵的方法,得到第一透视图像。这样在不更换第二拍摄设备的情况下,可以获取多张不同角度、不同范围的第一透视图像,节约拍摄设备的成本。
图8为本申请实施例提供的人脸检测场景示意图,请参见图8。包括第二拍摄设备24和人脸25,第二拍摄设备24可在设置的视场角中拍摄图像,且第二拍摄设备可以按照设置的方位角和仰角拍摄图像,例如,图8中的阴影区域为第二拍摄设备的拍摄范围。可选的,可以将第二拍摄设备24拍摄的第一透视图作为人脸检测区域对应的第一透视图。例如,若需要从第一全景图中获取12张人脸检测区域对应的第一透视图,考虑到人脸25相对于鱼眼相机的位置,可以设置第二拍摄设备第i张透视图的方向参数设置为θperspective=30°×i,视场角设置为60度,根据上述步骤可以在第一全景图像中获取12张人脸25检测区域对应的第一透视图,且互相有重叠部分,这样可以降低人脸检测的漏检率。
将人脸检测区域对应的第一透视图像输入到人脸检测算法中,可以得到每张第一透视图像中的人脸图像的第一坐标。人脸图像的第一坐标指人脸图像在对应的第一透视图像中的坐标。例如,将人脸检测区域对应的第一透视图像输入到人脸检测算法中,若检测到了人脸,则记录人脸在该第一透视图像中的图像直角坐标,也就是第一坐标。可选的,可以使用YOLO算法作为本申请实施例中的人脸检测算法,也可以使用Dlib计算机视觉库中提供的算法。
根据每张第一透视图像中的人脸图像的第一坐标,确定每张第一透视图像中人脸图像对应的人脸相对于第一拍摄设备的角度坐标。
可选的,根据人脸图像的第一坐标、人脸检测区域的位置坐标以及直角坐标与球坐标之间的坐标转换关系,可以确定人脸在三维空间中球坐标的θ坐标和坐标。例如,已知人脸图像的第一坐标,以及人脸检测区域的位置坐标,根据直角坐标与球坐标之间的位置转换关系,可以将直角坐标系下的人脸图像的第一坐标转化为三维空间中球坐标系下的坐标。
其中,可以通过如下方式确定人脸相对于拍摄设备的空间距离:根据人脸特征点位置确定。
人脸特征点可以是反映人脸图像特征的点,能够标识人脸图像中的人脸。可以根据校正参数的方法对人脸检测区域的第一透视图像进行校正处理,使得人脸处于校正后的第一透视图像的中心位置。例如,对偏移角度θperspective和进行修正,可以得到以人脸为中心的校正后的人脸检测区域对应的第一透视图像。可选的,可以使用人脸特征点检测算法,从校正后的人脸检测区域对应的第一透视图中提取出人脸特征点的位置,人脸特征点的位置包括人脸特征点的位置坐标和头部姿态。人脸特征点的位置坐标是人脸特征点在校正后的人脸检测区域对应的第一透视图像的图像坐标系中的坐标,头部姿态用于指示头部的动作姿态,例如,在人脸特征点位置中的头部姿态可以包括低头、抬头等。
可选的,人脸特征点检测算法可以包括Dlib计算机视觉库中提供的算法。
其中,在假定用户头部实际尺寸的情况下,根据人脸特征点的位置和校正参数,可以通过计算得到人脸与第一拍摄设备之间的距离rface。例如,若忽略头部尺寸,根据校正参数中的第一透视图像的偏移角度,人脸特征点在校正后的人脸检测区域对应的第一透视图像的图像坐标系中的坐标,可以通过几何原理计算出人脸与第一拍摄设备之间的距离。
S304、根据第一全景图像,确定人脸中人眼的视线方向。
其中,人脸中人眼的视线方向为在世界坐标系下的方向。世界坐标系可以是系统的绝对坐标系,在没有建立用户坐标系之前画面上所有点的坐标都是以该坐标系的原点来确定各自的位置的。
可以通过如下方式确定世界坐标系下的人眼的视线方向:根据人脸在相机坐标系下的第一方向和坐标变换矩阵确定。
图9为本申请实施例提供的世界坐标系与相机坐标系的示意图,请参见图9。其中,世界坐标系32是以第一拍摄设备为原点建立的空间直角坐标系,第一拍摄设备可以包括鱼眼相机,拍摄范围可以为如图9所示的半球范围。相机坐标系31是以第二拍摄设备为原点的坐标系,可以是以第二拍摄设备光心为原点,相机坐标系31的x轴与人脸检测区域对应的第一透视图像21的图像坐标系的x轴平行,相机坐标系31的y轴与人脸检测区域对应的第一透视图像的图像坐标系的y轴平行,相机坐标系31的z轴为第二拍摄设备的光轴,它与人脸检测区域对应的第一透视图像21的平面垂直,以此构成的空间直角坐标系称为相机坐标系31,相机坐标系31是三维坐标系。第二拍摄设备可以包括透视相机和虚拟相机。
可以通过人眼视线方向计算算法确定人脸在相机坐标系下的第一方向。可选的,可以将校正后的人脸检测区域对应的第一透视图像输入人眼视线方向计算算法,人眼视线方向计算算法可以输出校正后的人脸检测区域的透视图像中人眼视线方向在相机坐标系下的第一方向。可选的,人眼视线方向计算算法可以包括基于深度学习的人眼视线方向计算算法。可选的,可以使用MPIIGaze数据集中的样本,作为深度学习模型训练的人眼视线方向计算算法的训练样本。
可选的,可以根据人脸特征点的位置和瞳孔检测算法确定人眼视线方向在相机坐标系下的第一方向。例如,可以根据人脸特征点在校正后的人脸检测区域对应的第一透视图像的像素坐标系中的坐标得到人眼图像,将人眼图像输入瞳孔检测算法中,瞳孔检测算法输出基于双眼瞳孔位置的人眼视线方向。
根据人眼视线方向和头部姿态,可以计算得到人眼视线方向在相机坐标系下的第一方向向量(xgaze,ygaze,zgaze)。
坐标变换矩阵可以将人眼视线方向在相机坐标系下的第一方向变换为世界坐标系下的方向。例如,根据校正人脸检测区域对应的第一透视图像时的校正参数,将人眼视线方向在相机坐标系下的第一方向(xgaze,ygaze,zgaze),变换为以第一拍摄设备为原点的世界坐标系下的空间直角坐标(Xgaze,Ygaze,Zgaze),其中,Xgaze,Ygaze,Zgaze与人眼视线方向在相机坐标系下的第一方向xgaze,ygaze,zgaze相对应。具体而言,可以根据以下公式确定绕各个坐标轴旋转的变换矩阵:
在此基础上,根据以下公式确定世界坐标系下的人眼视线方向(Xgaze,Ygaze,Zgaze):
其中,xgaze,ygaze zgaze为人眼视线方向在相机坐标系下的第一方向;Xgaze,Ygaze,zgaze为世界坐标系下的人眼视线方向;Rz表示绕Z轴旋转的变换矩阵;Rx表示绕X轴旋转的变换矩阵。
S305、根据三维空间模型、空间位置和视线方向,确定人眼的注视对象。
人眼的注视对象可以是人眼注视三维空间模型中包括的对象。例如,三维空间模型中包括人和桌子、凳子、沙发等,人眼的注视对象可以是三维空间模型中的桌子、凳子。
可选的,可以根据如下方式确定人眼的注视对象:根据分布密度和三维空间模型中包括的对象确定。例如,三维空间模型中包括桌子、凳子,而桌子上的分布密度最大,那么可以确定人眼的注视对象是桌子。
分布密度用于指示人眼注视区域中注视点的分布密度。例如,人眼注视区域中包括桌子、凳子,桌子上注视点的分布密度大于凳子上注视点的分布密度,那么可以确定人眼的注视点主要是桌子。
人眼注视区域可以是三维空间模型中的人眼注视区域,可以根据三维空间模型和人眼视线模型来确定。人眼视线模型可以是人眼视线以空间直线的形式建模。例如,根据计算出的世界坐标系下人眼的视线方向,可以将人眼的视线以空间直线的形式建模。可以根据视线方向和空间位置确定人眼视线模型。
其中,X,Y,Z为空间直角坐标系坐标轴上的坐标,Xgaze,Ygaze,Zgaze为世界坐标系下人眼视线的方向,Xface,Yface,Zface为人脸的空间直角坐标,t投影参数。
可选的,可以设定筛选条件来设置人眼的注视区域。例如,空间内取一点,以点到视线的距离为半径做圆,圆内的区域可以为人眼的注视区域。
可选的,可以根据人眼的视角设置人眼注视区域的大小。例如,人眼的水平视场角可以为180度,可以根据人眼的水平视场角来确定人眼的注视区域。
可以根据以下公式确定分布密度:
其中,d表示当前场景三维结构中元素与视线直线间的法向距离;dmax为设置的筛选阈值。
为了将满足dmax条件的三维空间模型中的元素筛选出来,可以通过三维空间模型中的元素与在视线上投影位置对应的参数t来确定。
可选的,根据以下公式确定元素与视线间的法向距离d以及元素在视线上的投影位置对应的参数t:
其中,所述X表示当前场景中三维结构中元素的三维坐标;Xface表示人脸空间位置的空间直角坐标;Xgaze表示世界坐标系下的人眼视线方向;d表示元素与视线间的法向距离;t表示元素在视线上的投影位置对应的参数。
在本申请中,在注视点计算装置从数据库中获取第一全景图像之后,注视点计算装置可以对第一全景图像进行处理,例如,获取第一全景图像中的人脸图像、确定人脸的空间位置、确定人脸中人眼的视线方向。注视点计算装置结合数据库中的第一场景的三维空间模型,可以确定第一全景图像中人眼的注视对象。在上述过程中,根据用户输入的第一全景图像确定得到的第一全景图像中人眼的注视对象,结合了第一场景的三维空间模型,因此可以准确的获取第一全景图像中任意方位的人眼注视对象,提高了三维空间模型中追踪人眼视线的精度。
在图3实施例的基础上,下面,结合图10,对上述注视点计算方法进行详细说明。
图10为本申请实施例提供的另一注视点计算方法的流程示意图。请参见图10,该方法可以包括:
S1001、在第二场景图像中确定场景重建区域。
其中,第二场景图像是指第一场景中的全景图像,用于获取第一场景中的场景信息。第一场景中的场景信息可以包括第一场景中的实体。例如,第一场景信息可以包括第一场景中有桌子、凳子或者盘子的位置。第一场景中的第二场景图像可以包括球型全景图像、柱形全景图像、立方体全景图像以及多相机拍摄的多角度图像组。
可选的,可以通过第一拍摄设备获取多张第二场景图。例如,可以使用,水平视场角为210度,垂直视场角为210度的鱼眼镜头作为拍摄设备的广角镜头,获取第一场景中的多张第二场景图。
场景重建区域可以是需要构建三维空间模型的区域。例如,在第二场景图像中,可以确定场景重建区域,从而构建部分场景的三维空间模型。
可选的,可以在第二场景图像中设定多个场景重建区域。
S1002、获取每个场景重建区域对应的第二透视图像。
其中,透视图可以是反映透视现象的图形,透视现象可以是一种景物近大远小的现象,例如,离我们近的物体看起来大,而离我们远的物体看起来小。可以根据步骤S301中的像素重映射的方法,确定场景重建区域对应的第二透视图像。
S1003、对第二透视图像进行单幅图像三维估计,得到第二透视图像的深度图像。
深度图像可以指将从图像采集器到场景中各点的距离作为像素值的图像,它直接反映了景物可见表面的几何形状。例如,在深度图像中的某一像素值为50(以毫米为单位),则表示该像素坐标对应的离摄像头平面最近的物体到该平面的距离为50毫米。
图像三维估计可以确定图像的深度图像。例如,可以使用基于深度学习的单幅图像三维估计算法得到第二透视图像的深度图像。可选的,可以使用NYU-Depth数据集中的样本,作为深度学习模型训练的单幅图像三维估计算法的训练样本。可选的,可以使用双目匹配方法获取第二场景图像的深度图像。
下面,结合图11-图14,对使用双目匹配方法获取第二场景图像的深度图像的过程进行详细的说明,请参见图11。
图11为本申请实施例提供的鱼眼相机成像原理示意图,该鱼眼相机采用球面等距投影模型的鱼眼相机获取第二场景图像,请参见图11。球坐标系是以鱼眼相机为坐标原点建立的球坐标系,直角坐标系33为第二场景图像直角坐标系33,极坐标系34为第二场景图像的极坐标系34,半球体为鱼眼相机的拍摄范围。如图11所示,球坐标系中点P的球坐标为其中r为点P与坐标原点的距离,θ为点P与原点的连线在XOY平面的投影线与正X轴的角厦,为点P与原点的连线与正Z轴之间的角度。点P与对应的第二场景图像上投影点的极坐标系34的坐标(ρ,θ)有如下关系:
其中f为鱼眼相机的焦距,为点P与原点的连线与正Z轴之间的角度,ρ为点P的极径,θ为P的极角,且三维空间中点P的球坐标的θ与对应的第二场景图像上的投影点P的极坐标系34的坐标θ相同。因此,可在三维空间中点P的空间直角坐标系、球坐标系、投影点P的第二场景图像直角坐标系33的坐标与投影点P的第二场景图像极坐标系34的坐标之间两两建立坐标转换关系。例如,极坐标系和球坐标系的θ相同,可以根据将极坐标转化为球坐标。
图12为本申请实施例提供的第二场景图像的极线示意图,请参见图12。球坐标系是以鱼眼相机为坐标原点建立的球坐标系。如图12所示,P点为球坐标系中的点,α为点P与原点的连线在XOY平面的投影线与正X轴的角度;η为极线35与原点的连线与正Y轴的角度,半球体为鱼眼相机的拍摄范围,拍摄范围在平面中投影面的投影为圆,直角坐标系为投影面上的直角坐标系。
可选的,可以采用经纬度映射法,将第二场景图像中的极线35校正为直线,例如,η相当于经度,α相当于纬度,对第二场景图像中的极线35进行校正。
图13为本申请实施例提供的第二场景图像的极线校正后的示意图,请参见图13。使用鱼眼相机在水平平面内向任意方向移动,在移动的起点和移动的终点分别拍摄两张第二场景图像——I1与I2,此时需要对I1与I2进行极线校正处理。第二场景图I1和I2极线校正前为两条弯曲的极线,极线校正后的第二场景图I1和I2具有平行的极线。
根据图12中的坐标转换关系,计算第二场景图像I1和I2中所有像素在极线35校正后的图像直角坐标,利用像素重映射的方法,得到I1和I2的极线35校正后的第二场景图像I1′与I2′。经过极线35校正后,第二场景图像I1′与I2′具有与极轴36平行的极线35,三维空间中的任意点P在第二场景图像I1′与I2′中具有相同的η坐标,且第二场景图像I1′与I2′中所有像素的图像直角坐标(x,y)与极线坐标(α,η)呈线性关系。
可以根据SGBM双目匹配方法对第二场景图像I1′与I2′作双目稠密匹配,计算视差图IΔx。视差图IΔx中每个像素值代表在I1′与I2′中每一对匹配的像素的图像直角坐标(x,y)中x坐标的差值Δx,利用上述图像直角坐标(x,y)与极线坐标(α,η)的线性关系,对视差图IΔx中所有像素值Δx作线性变换,即可得到第二场景图像的视差图IΔα。第二场景图像的视差图IΔα中每个像素值代表在I1′与I2′中每一对匹配的像素的极线坐标(α,η)中α坐标的差值Δα。
图14为本申请实施例提供的计算视差图的过程示意图,请参见图14。以任意一条极线35所在的平面为剖面,点A为鱼眼相机在两个拍摄位置拍摄到的同一空间点。r1与r2为像素对应的三维空间模型中的点A与拍摄设备的距离,Δα为极线坐标中α的差值,α1为r1与移动方向的夹角,α2为r2与移动方向的夹角。在移动距离d确定的情况下,根据第二场景图像的视差图IΔα中任意像素的极线坐标(α,η)与其像素值Δα,可以通过简单的几何关系计算得到r1与r2,即该像素对应的三维空间点在现场初始化计算过程中与相机的真实距离,由如上方法可以由鱼眼视差图IΔα计算第二场景图像I1与I2对应的第二场景图像的深度图像IDepth1与IDepth2。
S1004、根据每张第二透视图像的深度图像,确定三维空间模型。
可选的,可以根据如下方式确定三维空间模型:根据像素的空间位置确定。
其中,第二透视图像的深度图像中的像素值可以是该像素与拍摄设备之间的空间距离r。在S1002步骤中,根据像素重映射的方法获取场景重建区域的第二透视图像时,在计算像素左边映射矩阵的过程中已经得到了该像素在场景重建区域中的角度坐标(θ,φ)。
由此可以确定像素在空间中的位置(η,θ,φ),根据球坐标与空间直角坐标之间的坐标转换关系,可以确定像素在空间直角坐标系中的位置(X,Y,Z),即可以生成点云,组成三维空间模型。
S1005、获取在第一场景拍摄的第一全景图像。
需要说明的是,S1005的执行过程可以参见S302的执行过程,本发明实施例不再进行赘述。
S1006、根据第一全景图像,确定人脸的空间位置;
需要说明的是,S1006的执行过程可以参见S303的执行过程,本发明实施例不再进行赘述。
S1007、根据第一全景图像,确定人脸中人眼的视线方向。
需要说明的是,S1007的执行过程可以参见S304的执行过程,本发明实施例不再进行赘述。
S1008、根据三维空间模型、空间位置和视线方向,确定人眼的注视对象。需要说明的是,S1008的执行过程可以参见S305的执行过程,本发明实施例不再进行赘述。
在本申请中,在注视点计算装置从数据库中获取第一全景图像之后,注视点计算装置可以对第一全景图像进行处理,例如,获取第一全景图像中的人脸图像、确定人脸的空间位置、确定人脸中人眼的视线方向。注视点计算装置结合数据库中的第一场景的三维空间模型,可以确定第一全景图像中人眼的注视对象。在上述过程中,三维空间模型的建立仅通过一部拍摄设备即可实现,降低了设备的成本,同时根据用户输入的第一全景图像确定得到的第一全景图像中人眼的注视对象,结合了第一场景的三维空间模型,因此可以准确的获取第一全景图像中任意方位的人眼注视对象,提高了三维空间模型中追踪人眼视线的精度。
图15为本申请实施例提供的一种注视点计算装置的结构示意图。该注视点计算装置10可以设置在终端设备中。请参见图15,所述注视点计算装置10包括第一确定模块11、获取模块12、第二确定模块13、第三确定模块14、第四确定模块15,其中:
所述第一确定模块11用于,确定第一场景的三维空间模型;
所述获取模块12用于,获取在所述第一场景拍摄的第一全景图像,所述第一全景图像中包括人脸的人脸图像;
所述第二确定模块13用于,根据所述第一全景图像,确定所述人脸的空间位置;
所述第三确定模块14用于,根据所述第一全景图像,确定所述人脸中人眼的视线方向;
所述第四确定模块15用于,根据所述三维空间模型、所述空间位置和所述视线方向,确定所述人眼的注视对象。
在一种可能的实施方式中,所述第二确定模块13具体用于:
确定所述人脸相对于第一拍摄设备的角度坐标,所述第一拍摄设备为拍摄所述第一全景图像的设备;
确定所述人脸相对于所述第一拍摄设备的空间距离;
根据所述角度坐标和所述空间距离,确定所述空间位置。
在一种可能的实施方式中,所述第二确定模块13具体用于:在所述第一全景图像中确定人脸检测区域;
获取每个人脸检测区域对应的第一透视图像;
对所述第一透视图像进行人脸检测,确定每张第一透视图像中的人脸图像的第一坐标,所述第一坐标为所述人脸图像在对应的第一透视图像中的坐标;
根据每张第一透视图像中的人脸图像的第一坐标,确定每张第一透视图像中人脸图像对应的人脸相对于第一拍摄设备的角度坐标。
在一种可能的实施方式中,所述第四确定模块15具体用于:
根据所述三维空间模型、所述空间位置和所述视线方向,在所述三维空间模型中确定人眼注视区域;
根据所述人眼注视区域,确定所述人眼的注视对象。
在一种可能的实施方式中,所述第四确定模块15具体用于:
根据所述视线方向和所述空间位置,确定人眼视线模型;
根据所述三维空间模型和所述人眼视线模型,在所述三维空间模型中确定人眼注视区域。
在一种可能的实施方式中,所述第四确定模块15具体用于:
确定所述人眼注视区域中各子区域对应的分布密度,所述分布密度用于指示人眼注视区域中注视点的分布密度;
根据所述分布密度和所述三维空间模型中包括的对象,确定所述人眼的注视对象。
在一种可能的实施方式中,所述第三确定模块14具体用于:
确定所述人脸在相机坐标系下的第一方向,所述相机坐标系为以第二拍摄设备为原点的坐标系,所述第二拍摄设备为拍摄所述第一透视图像的设备;
根据所述第一方向,确定所述第一方向确定所述视线方向,所述视线方向为在世界坐标系下的方向。
在一种可能的实施方式中,所述第一确定模块11具体用于:
在第二场景图像中确定场景重建区域;
获取每个场景重建区域对应的第二透视图像;
对所述第二透视图像进行单幅图像三维估计,得到所述第二透视图像的深度图像;
根据每张第二透视图像的深度图像,确定所述三维空间模型。
本发明实施例提供的一种注视点计算装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
图16为本申请实施例提供的注视点计算装置的硬件结构示意图,如图16所示,该注视点计算装置20包括:至少一个处理器21、存储器22。其中,处理器21、存储器22通过总线23连接。
可选的,数据处理装置20还可以包括发送器24和/或接收器25。
在具体实现过程中,至少一个处理器21执行所述存储器22存储的计算机执行指令,使得至少一个处理器21执行如上的注视点计算方法。
处理器21的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
在上述图14所示的实施例中,应理解,处理器可以是中央处理单元(英文:CentralProcessing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:DigitalSignal Processor,简称:DSP)、专用集成电路(英文:Application Specific IntegratedCircuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上所述的注视点计算方法。
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
本申请实施例提供一种计算机程序产品,所述计算机程序产品包括指令,当所述指令被执行时,使得计算机执行上述注视点计算方法。
所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (6)
1.一种注视点计算方法,其特征在于,包括:
确定第一场景的三维空间模型;
获取在所述第一场景拍摄的第一全景图像,所述第一全景图像中包括人脸的人脸图像;
根据所述第一全景图像,确定所述人脸的空间位置;
根据所述第一全景图像,确定所述人脸中人眼的视线方向;
根据所述三维空间模型、所述空间位置和所述视线方向,确定所述人眼的注视对象;
根据所述第一全景图像,确定所述人脸的空间位置,包括:
确定所述人脸相对于第一拍摄设备的角度坐标,所述第一拍摄设备为拍摄所述第一全景图像的设备;
确定所述人脸相对于所述第一拍摄设备的空间距离;
根据所述角度坐标和所述空间距离,确定所述空间位置;
根据所述三维空间模型、所述空间位置和所述视线方向,确定所述人眼的注视对象,包括:
根据所述三维空间模型、所述空间位置和所述视线方向,在所述三维空间模型中确定人眼注视区域;
根据所述人眼注视区域,确定所述人眼的注视对象;
根据所述三维空间模型、所述空间位置和所述视线方向,在所述三维空间模型中确定人眼注视区域,包括:
根据所述视线方向和所述空间位置,确定人眼视线模型;
根据所述三维空间模型和所述人眼视线模型,在所述三维空间模型中确定人眼注视区域;
根据所述人眼注视区域,确定所述人眼的注视对象,包括:
根据如下公式,确定所述人眼注视区域中各子区域对应的分布密度,所述分布密度用于指示人眼注视区域中注视点的分布密度;
其中,d表示当前场景三维结构中元素与视线直线间的法向距离;dmax为设置的筛选阈值;
根据所述分布密度和所述三维空间模型中包括的对象,确定所述人眼的注视对象。
2.根据权利要求1所述的方法,其特征在于,确定所述人脸相对于第一拍摄设备的角度坐标,包括:
在所述第一全景图像中确定人脸检测区域;
获取每个人脸检测区域对应的第一透视图像;
对所述第一透视图像进行人脸检测,确定每张第一透视图像中的人脸图像的第一坐标,所述第一坐标为所述人脸图像在对应的第一透视图像中的坐标;
根据每张第一透视图像中的人脸图像的第一坐标,确定每张第一透视图像中人脸图像对应的人脸相对于第一拍摄设备的角度坐标。
3.根据权利要求1或2所述的方法,其特征在于,确定第一场景的三维空间模型,包括:
在第二场景图像中确定场景重建区域;
获取每个场景重建区域对应的第二透视图像;
对所述第二透视图像进行单幅图像三维估计,得到所述第二透视图像的深度图像;
根据每张第二透视图像的深度图像,确定所述三维空间模型。
4.一种数据处理装置,其特征在于,包括第一确定模块、获取模块、第二确定模块、第三确定模块、第四确定模块,其中:
所述第一确定模块用于,确定第一场景的三维空间模型;
所述获取模块用于,获取在所述第一场景拍摄的第一全景图像,所述第一全景图像中包括人脸的人脸图像;
所述第二确定模块用于,根据所述第一全景图像,确定所述人脸的空间位置;
所述第三确定模块用于,根据所述第一全景图像,确定所述人脸中人眼的视线方向;
所述第四确定模块用于,根据所述三维空间模型、所述空间位置和所述视线方向,确定所述人眼的注视对象;
所述第二确定模块具体用于:
确定所述人脸相对于第一拍摄设备的角度坐标,所述第一拍摄设备为拍摄所述第一全景图像的设备;
确定所述人脸相对于所述第一拍摄设备的空间距离;
根据所述角度坐标和所述空间距离,确定所述空间位置;
所述第四确定模块具体用于:
根据所述三维空间模型、所述空间位置和所述视线方向,在所述三维空间模型中确定人眼注视区域;
根据所述人眼注视区域,确定所述人眼的注视对象;
所述第四确定模块具体用于:
根据所述视线方向和所述空间位置,确定人眼视线模型;
根据所述三维空间模型和所述人眼视线模型,在所述三维空间模型中确定人眼注视区域;
所述第四确定模块具体用于:
根据如下公式,确定所述人眼注视区域中各子区域对应的分布密度,所述分布密度用于指示人眼注视区域中注视点的分布密度;
其中,d表示当前场景三维结构中元素与视线直线间的法向距离;dmax为设置的筛选阈值;
根据所述分布密度和所述三维空间模型中包括的对象,确定所述人眼的注视对象。
5.一种终端设备,其特征在于,包括:处理器,所述处理器与存储器耦合;
所述存储器用于,存储计算机程序;
所述处理器用于,执行所述存储器中存储的计算机程序,以使得所述终端设备执行上述权利要求1-3任一项所述的注视点计算方法。
6.一种可读存储介质,其特征在于,包括程序或指令,当所述程序或指令在计算机上运行时,如上述权利要求1-3任一项所述的注视点计算方法被执行。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010456584.9A CN111857329B (zh) | 2020-05-26 | 2020-05-26 | 注视点计算方法、装置及设备 |
US17/107,817 US11748906B2 (en) | 2020-05-26 | 2020-11-30 | Gaze point calculation method, apparatus and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010456584.9A CN111857329B (zh) | 2020-05-26 | 2020-05-26 | 注视点计算方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111857329A CN111857329A (zh) | 2020-10-30 |
CN111857329B true CN111857329B (zh) | 2022-04-26 |
Family
ID=72986008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010456584.9A Active CN111857329B (zh) | 2020-05-26 | 2020-05-26 | 注视点计算方法、装置及设备 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11748906B2 (zh) |
CN (1) | CN111857329B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112307848B (zh) * | 2019-08-01 | 2024-04-30 | 惠普发展公司,有限责任合伙企业 | 检测视频会议中的欺骗说话者 |
TWI714318B (zh) * | 2019-10-25 | 2020-12-21 | 緯創資通股份有限公司 | 人臉辨識方法及裝置 |
CN112380935B (zh) * | 2020-11-03 | 2023-05-26 | 深圳技术大学 | 面向自动驾驶的人机协同感知方法及系统 |
WO2022094787A1 (zh) * | 2020-11-04 | 2022-05-12 | 深圳市大疆创新科技有限公司 | 驾驶员数据处理系统及采集驾驶员数据的方法 |
CN112541400A (zh) * | 2020-11-20 | 2021-03-23 | 小米科技(武汉)有限公司 | 基于视线估计的行为识别方法及装置、电子设备、存储介质 |
CN113537295B (zh) * | 2021-06-22 | 2023-10-24 | 北京航空航天大学 | 基于离群点引导的视线估计跨场景适配方法和装置 |
TWI819439B (zh) | 2021-12-21 | 2023-10-21 | 財團法人工業技術研究院 | 視線追蹤方法及應用其之視線追蹤裝置 |
CN115190237B (zh) * | 2022-06-20 | 2023-12-15 | 亮风台(上海)信息科技有限公司 | 一种确定承载设备的转动角度信息的方法与设备 |
CN116071490B (zh) * | 2022-10-25 | 2023-06-23 | 杭州华橙软件技术有限公司 | 室内空间布局的重构方法及重构装置、电子设备和介质 |
CN115426488B (zh) * | 2022-11-04 | 2023-01-10 | 中诚华隆计算机技术有限公司 | 一种虚拟现实图像数据传输方法、系统及芯片 |
CN116819540A (zh) * | 2023-05-09 | 2023-09-29 | 南京俊禄科技有限公司 | 一种智能计算渔群类别与深度的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019507A (zh) * | 2012-11-16 | 2013-04-03 | 福州瑞芯微电子有限公司 | 一种基于人脸跟踪改变视点角度显示三维图形的方法 |
CN109711239A (zh) * | 2018-09-11 | 2019-05-03 | 重庆邮电大学 | 基于改进混合增量动态贝叶斯网络的视觉注意力检测方法 |
CN109886246A (zh) * | 2019-03-04 | 2019-06-14 | 上海像我信息科技有限公司 | 一种人物注意力判断方法、装置、系统、设备和存储介质 |
WO2019176037A1 (ja) * | 2018-03-15 | 2019-09-19 | 三菱電機株式会社 | 危険警告システム及び危険警告方法 |
CN110251070A (zh) * | 2019-06-13 | 2019-09-20 | 苏毅 | 一种用眼健康情况监测方法及系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10085005B2 (en) * | 2015-04-15 | 2018-09-25 | Lytro, Inc. | Capturing light-field volume image and video data using tiled light-field cameras |
US10027888B1 (en) * | 2015-09-28 | 2018-07-17 | Amazon Technologies, Inc. | Determining area of interest in a panoramic video or photo |
US20180184073A1 (en) * | 2016-12-23 | 2018-06-28 | Red Hen Systems Llc | Systems and Methods For Recording Stereo Pairs From Independent Camera Platforms |
US10708493B2 (en) * | 2017-09-21 | 2020-07-07 | Diego Bezares Sánchez | Panoramic video |
CN110099219B (zh) * | 2019-06-13 | 2021-10-08 | Oppo广东移动通信有限公司 | 全景拍摄方法及相关产品 |
CN110458122B (zh) * | 2019-08-15 | 2022-04-22 | 京东方科技集团股份有限公司 | 一种视线标校方法、显示装置的播放方法和视线标校系统 |
CN110619303A (zh) * | 2019-09-16 | 2019-12-27 | Oppo广东移动通信有限公司 | 注视点追踪方法、装置、终端及计算机可读存储介质 |
-
2020
- 2020-05-26 CN CN202010456584.9A patent/CN111857329B/zh active Active
- 2020-11-30 US US17/107,817 patent/US11748906B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019507A (zh) * | 2012-11-16 | 2013-04-03 | 福州瑞芯微电子有限公司 | 一种基于人脸跟踪改变视点角度显示三维图形的方法 |
WO2019176037A1 (ja) * | 2018-03-15 | 2019-09-19 | 三菱電機株式会社 | 危険警告システム及び危険警告方法 |
CN109711239A (zh) * | 2018-09-11 | 2019-05-03 | 重庆邮电大学 | 基于改进混合增量动态贝叶斯网络的视觉注意力检测方法 |
CN109886246A (zh) * | 2019-03-04 | 2019-06-14 | 上海像我信息科技有限公司 | 一种人物注意力判断方法、装置、系统、设备和存储介质 |
CN110251070A (zh) * | 2019-06-13 | 2019-09-20 | 苏毅 | 一种用眼健康情况监测方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111857329A (zh) | 2020-10-30 |
US20210374994A1 (en) | 2021-12-02 |
US11748906B2 (en) | 2023-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111857329B (zh) | 注视点计算方法、装置及设备 | |
CN107113376B (zh) | 一种图像处理方法、装置及摄像机 | |
US20190012804A1 (en) | Methods and apparatuses for panoramic image processing | |
US20120242795A1 (en) | Digital 3d camera using periodic illumination | |
WO2019164498A1 (en) | Methods, devices and computer program products for global bundle adjustment of 3d images | |
WO2020151268A1 (zh) | 一种3d小行星动态图的生成方法及便携式终端 | |
US11049313B2 (en) | Rendering an object | |
WO2023024441A1 (zh) | 模型重建方法及相关装置、电子设备和存储介质 | |
CN110544278B (zh) | 刚体运动捕捉方法及装置、agv位姿捕捉系统 | |
CN114549289A (zh) | 图像处理方法、装置、电子设备和计算机存储介质 | |
CN112837207A (zh) | 全景深度测量方法、四目鱼眼相机及双目鱼眼相机 | |
US20200372704A1 (en) | Finite aperture omni-directional stereo light transport | |
WO2017041740A1 (en) | Methods and systems for light field augmented reality/virtual reality on mobile devices | |
KR20200103374A (ko) | 2차원 이미지를 이용한 3차원 모델링 방법 | |
US20220405968A1 (en) | Method, apparatus and system for image processing | |
Zheng et al. | What does plate glass reveal about camera calibration? | |
CN114882106A (zh) | 位姿确定方法和装置、设备、介质 | |
CN114511447A (zh) | 图像处理方法、装置、设备及计算机存储介质 | |
CN108282650B (zh) | 一种裸眼立体显示方法、装置、系统及存储介质 | |
JP5448739B2 (ja) | 画像再生装置、撮像装置、画像再生方法 | |
CN110012236A (zh) | 一种信息处理方法、装置、设备和计算机存储介质 | |
WO2018150086A2 (en) | Methods and apparatuses for determining positions of multi-directional image capture apparatuses | |
EP3882846B1 (en) | Method and device for collecting images of a scene for generating virtual reality data | |
US20230005213A1 (en) | Imaging apparatus, imaging method, and program | |
GB2557212A (en) | Methods and apparatuses for determining positions of multi-directional image capture apparatuses |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |