CN113139892B - 一种视线轨迹的计算方法、装置及计算机可读存储介质 - Google Patents
一种视线轨迹的计算方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113139892B CN113139892B CN202010062433.5A CN202010062433A CN113139892B CN 113139892 B CN113139892 B CN 113139892B CN 202010062433 A CN202010062433 A CN 202010062433A CN 113139892 B CN113139892 B CN 113139892B
- Authority
- CN
- China
- Prior art keywords
- dimensional
- point
- target user
- face
- sight line
- 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
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000004364 calculation method Methods 0.000 claims abstract description 28
- 230000001131 transforming effect Effects 0.000 claims abstract description 9
- 239000011159 matrix material Substances 0.000 claims description 39
- 230000009466 transformation Effects 0.000 claims description 28
- 230000003287 optical effect Effects 0.000 claims description 16
- 238000013519 translation Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004422 calculation algorithm Methods 0.000 claims description 6
- 238000013135 deep learning Methods 0.000 claims description 4
- 230000015654 memory Effects 0.000 description 30
- 238000012545 processing Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005065 mining Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 210000003128 head Anatomy 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/08—Projecting images onto non-planar surfaces, e.g. geodetic screens
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例提供了一种视线轨迹的计算方法、装置及计算机可读存储介质。本发明实施例提供的用户视线轨迹的计算方法,包括:从二维全景图像检测得到目标用户的一组人脸关键点,并确定所述目标用户对应的人脸中心关键点;将二维全景图像变换成三维立方体模型,且使所述人脸中心关键点位于所述三维立方体模型的一个正方形平面的中心;计算所述目标用户的视线轨迹决策点在所述正方形平面上的坐标位置;利用所述正方形平面上的视线轨迹决策点,计算得到所述目标用户在二维全景图像中的视线轨迹。本发明实施例能够提升视线轨迹计算的准确性和完整性。
Description
技术领域
本发明涉及计算机视觉技术领域,尤其涉及一种视线轨迹的计算方法、装置及计算机可读存储介质。
背景技术
近年来,全景视频的处理技术发展迅速。全景视觉技术领域的一种应用场景是用户兴趣焦点的分析挖掘,例如,分析用户正在看什么。在进行用户兴趣焦点挖掘时,通常需要进行头部姿态检测。头部姿态检测也被称作视线轨迹计算。
目前,在全景图像中计算视线轨迹通常有以下问题:
1)全景图像存在着非线性畸变,全景图像中的视线不再是一条直线,而是曲线。而传统的视线计算方式只能得到一条直线,不能得到正确的用户视线轨迹。另外,如果基于该直线确定兴趣焦点,将导致兴趣焦点发生错误。
2)二维图像存在边界,在视线被边界阻断时,难以获得完整的视线轨迹,进而难以确定兴趣焦点,导致用户兴趣焦点挖掘失败。
因此,亟需一种视线轨迹的计算方法,能够针对全景图像获取正确的视线轨迹。
发明内容
本发明实施例要解决的技术问题是提供一种视线轨迹的计算方法、装置及计算机可读存储介质,能够提升视线轨迹计算的准确性和完整性。
根据本发明实施例的一个方面,提供了一种视线轨迹的计算方法,包括:
从二维全景图像检测得到目标用户的一组人脸关键点,并确定所述目标用户对应的人脸中心关键点;
将二维全景图像变换成三维立方体模型,且使所述人脸中心关键点位于所述三维立方体模型的一个正方形平面的中心;
计算所述目标用户的视线轨迹决策点在所述正方形平面上的坐标位置,所述视线轨迹决策点包括所述人脸中心关键点和一个预设的视线轨迹的参考点;
利用所述正方形平面上的视线轨迹决策点,计算得到所述目标用户在二维全景图像中的视线轨迹。
根据本发明的至少一个实施例,从二维全景图像检测得到目标用户的一组人脸关键点,并确定所述目标用户对应的人脸中心关键点的步骤,包括:
基于深度学习算法,从二维全景图像中检测得到目标用户的一组人脸关键点,所述人脸关键点包括以下位置点中的一种以上的位置点:左眼位置点、右眼位置点、左耳位置点、右耳位置点、鼻子位置点、左嘴角位置点,右嘴角位置点和下巴位置点;
将所述左眼位置点和右眼位置点的中心点或所述鼻子位置点,作为所述目标用户对应的人脸中心关键点。
根据本发明的至少一个实施例,将二维全景图像变换成三维立方体模型,且使所述人脸中心关键点位于所述三维立方体模型的一个正方形平面的中心的步骤,包括:
对二维全景图像进行等距柱状投影变换,且使所述目标用户的人脸中心关键点位于经纬坐标系的坐标原点,得到一个二维等距柱状投影图像以及所述目标用户的人脸关键点在等距柱状投影图像中的坐标;
对所述二维等距柱状投影图像进行三维立方体投影变换,且使所述人脸中心关键点位于三维立方体模型的一个正方形平面的中心,并得到所述目标用户的人脸关键点在所述正方形平面中的二维平面坐标。
根据本发明的至少一个实施例,计算所述目标用户的视线轨迹决策点在所述正方形平面上的坐标位置的步骤,包括:
在三维世界坐标系中定义一个人脸模型,所述人脸模型包括所述目标用户的人脸关键点的三维世界坐标,且所述人脸中心关键点位于所述三维世界坐标系的原点;
利用设置于所述三维立方体模型的坐标原点的虚拟相机的内参数矩阵、人脸关键点的二维平面坐标和三维世界坐标,计算得到所述目标用户的视线轨迹决策点在所述正方形平面中的二维平面坐标,其中,所述虚拟相机的光轴与所述正方形平面垂直,光心与所述目标用户的人脸中心关键点位置重合,且焦距等于所述正方形平面的宽度。
根据本发明的至少一个实施例,利用所述虚拟相机的内参数矩阵、人脸关键点的二维平面坐标和三维世界坐标,计算得到所述目标用户的视线轨迹决策点在所述正方形平面中的二维平面坐标的步骤,包括:
利用所述虚拟相机的内参数矩阵、人脸关键点的二维平面坐标和三维世界坐标,计算得到所述虚拟相机的旋转矩阵和平移向量;
利用所述视线轨迹决策点的三维世界坐标、所述虚拟相机的内参数矩阵、旋转矩阵和平移向量,计算得到所述视线轨迹决策点在所述正方形平面中的二维平面坐标。
根据本发明的至少一个实施例,利用所述正方形平面上的视线轨迹决策点,计算得到所述目标用户在二维全景图像中的视线轨迹的步骤,包括:
通过投影变换处理,得到所述视线轨迹决策点在二维全景图像中的坐标位置;
根据所述视线轨迹决策点在二维全景图像中的坐标位置,利用二维全景图像中的大圆,求解得到经过所述视线轨迹决策点的曲线,得到所述目标用户在二维全景图像中的视线轨迹,其中,所述大圆为球面与通过球心的平面的交线。
根据本发明实施例的另一方面,提供了一种视线轨迹的计算装置,包括:
关键点获取模块,用于从二维全景图像检测得到目标用户的一组人脸关键点,并确定所述目标用户对应的人脸中心关键点;
图像变换模块,用于将二维全景图像变换成三维立方体模型,且使所述人脸中心关键点位于所述三维立方体模型的一个正方形平面的中心;
轨迹决策点计算模块,用于计算所述目标用户的视线轨迹决策点在所述正方形平面上的坐标位置,所述视线轨迹决策点包括所述人脸中心关键点和一个预设的视线轨迹的参考点;
轨迹计算模块,用于利用所述正方形平面上的视线轨迹决策点,计算得到所述目标用户在二维全景图像中的视线轨迹。
根据本发明的至少一个实施例,所述图像变换模块,还用于对二维全景图像进行等距柱状投影变换,且使所述目标用户的人脸中心关键点位于经纬坐标系的坐标原点,得到一个二维等距柱状投影图像以及所述目标用户的人脸关键点在等距柱状投影图像中的坐标;以及,对所述二维等距柱状投影图像进行三维立方体投影变换,且使所述人脸中心关键点位于三维立方体模型的一个正方形平面的中心,并得到所述目标用户的人脸关键点在所述正方形平面中的二维平面坐标。
根据本发明的至少一个实施例,所述轨迹决策点计算模块,还用于在三维世界坐标系中定义一个人脸模型,所述人脸模型包括所述目标用户的人脸关键点的三维世界坐标,且所述人脸中心关键点位于所述三维世界坐标系的原点;以及,利用设置于所述三维立方体模型的坐标原点的虚拟相机的内参数矩阵、人脸关键点的二维平面坐标和三维世界坐标,计算得到所述目标用户的视线轨迹决策点在所述正方形平面中的二维平面坐标,其中,所述虚拟相机的光轴与所述正方形平面垂直,光心与所述目标用户的人脸中心关键点位置重合,且焦距等于所述正方形平面的宽度。
根据本发明的至少一个实施例,所述轨迹决策点计算模块,还用于利用所述虚拟相机的内参数矩阵、人脸关键点的二维平面坐标和三维世界坐标,计算得到所述虚拟相机的旋转矩阵和平移向量;以及,利用所述视线轨迹决策点的三维世界坐标、所述虚拟相机的内参数矩阵、旋转矩阵和平移向量,计算得到所述视线轨迹决策点在所述正方形平面中的二维平面坐标。
根据本发明的至少一个实施例,所述轨迹计算模块,还用于通过投影变换处理,得到所述视线轨迹决策点在二维全景图像中的坐标位置;以及,根据所述视线轨迹决策点在二维全景图像中的坐标位置,利用二维全景图像中的大圆,求解得到经过所述视线轨迹决策点的曲线,得到所述目标用户在二维全景图像中的视线轨迹,其中,所述大圆为球面与通过球心的平面的交线。
本发明实施例还提供了一种视线轨迹的计算装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的用户视线轨迹的计算方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的用户视线轨迹的计算方法的步骤。
与现有技术相比,本发明实施例提供的视线轨迹的计算方法、装置及计算机可读存储介质,将二维全景图像中的视线轨迹转换到二维透视图像中进行求解,并根据经过视线轨迹决策点的大圆确定用户的视线轨迹,从而能够获得较为准确的视线轨迹,另外,大圆可以避免视线被二维图像的边界阻断,因此本发明实施例能够提高视线轨迹的完整性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的用户视线轨迹的计算方法的一种流程示意图;
图2为本发明实施例中将二维等距柱状投影图进行三维立方体投影变换的示例图;
图3为本发明实施例中三维世界坐标系中的人脸关键点的示例图;
图4为本发明实施例提供的二维透视图像到二维全景图像的轨迹生成的一个示例图;
图5为本发明实施例的用户视线轨迹的计算装置的一种结构示意图;
图6为本发明实施例的用户视线轨迹的计算装置的另一种结构示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。在下面的描述中,提供诸如具体的配置和组件的特定细节仅仅是为了帮助全面理解本发明的实施例。因此,本领域技术人员应该清楚,可以对这里描述的实施例进行各种改变和修改而不脱离本发明的范围和精神。另外,为了清楚和简洁,省略了对已知功能和构造的描述。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
如背景技术所述的,现有技术的计算全景图像中的用户视线轨迹时,通常存在着轨迹计算错误或轨迹不完整等问题。为解决以上问题中的至少一种,本发明实施例提供了一种用户视线轨迹的计算方法,可以基于全景图像计算得到用户的视线轨迹,并提升视线轨迹的准确性和完整性。如图1所示,该方法包括:
步骤11,从二维全景图像检测得到目标用户的一组人脸关键点,并确定所述目标用户对应的人脸中心关键点。
这里,人脸关键点可以包括以下位置点中的一种以上的位置点:左眼位置点、右眼位置点、左耳位置点、右耳位置点、鼻子位置点、左嘴角位置点,右嘴角位置点和下巴位置点等。具体的,可以通过基于深度学习算法,从二维全景图像中检测得到目标用户的一组人脸关键点。每组人脸关键点对应于一个用户。例如,在二维全景图像中存在多个用户(人像)时,针对每个用户,可以从该二维全景图像中检测得到该用户的一组人脸关键点。在需要对二维全景图像中的某个或某些特定用户进行视线轨迹计算时,可以针对该特定用户,检测得到该特定用户的一组人脸关键点。
在确定某个用户的一组人脸关键点后,还可以为该用户确定一个与之对应的人脸中心关键点,用于表示该用户。通常,人脸中心关键点可以采用鼻子位置点来表示,或者,采用左眼位置点和右眼位置点的中心点来表示。
步骤12,将二维全景图像变换成三维立方体模型,且使所述人脸中心关键点位于所述三维立方体模型的一个正方形平面的中心。
这里,本发明实施例将全景图像中的轨迹计算转换到平面透视图像中进行,因此,需要将二维全景图像转换为二维透视图像。在图像转换过程中,本发明实施例对二维全景图像进行等距柱状投影变换,使所述目标用户的人脸中心关键点位于经纬坐标系的坐标原点,从而得到一个二维的等距柱状投影图像以及所述目标用户的人脸关键点在该等距柱状投影图像中的坐标。例如,在球面上对二维全景图像进行经纬度的旋转,直至所述目标用户的人脸中心关键点位于经纬坐标系的坐标原点,从而得到一幅二维等距柱状投影图像,并记录目标用户的人脸关键点在该图像中的坐标。
然后,对所述二维等距柱状投影图像进行三维立方体投影变换,且使所述人脸中心关键点位于三维立方体模型的一个正方形平面的中心,并得到所述目标用户的人脸关键点在所述正方形平面中的二维平面坐标。例如,如图2所示,可以生成所述二维等距柱状投影图对应的球体21的外切正方体22,将所述二维等距柱状投影图投影到该外切正方体的6个正方形平面上,且使目标用户的人脸中心关键点位于某个(任意一个)正方形平面的中心位置,从而可以获得6个正方形平面,每个正方形平面对应于一幅正方形的透视图像。例如,图2中,所述目标用户的人脸中心关键点2211位于其中的一个正方形平面221上,此时还可以进一步获取目标用户的所有人脸关键点在该正方形平面上的二维平面坐标,以用于后续计算虚拟相机的旋转矩阵和平移向量。表1给出了目标用户的所有人脸关键点在该正方形平面上的二维平面坐标(xp,yp)的一个示例:
人脸关键点 | 人脸关键点的二维平面坐标(xp,yp) |
人脸中心关键点(左右眼中心点) | (227,236) |
鼻子位置点 | (226,241) |
下巴位置点 | (228,246) |
左眼位置点 | (225,234) |
右眼位置点 | (233,239) |
左嘴角位置点 | (226,242) |
右嘴角位置点 | (230,243) |
表1
步骤13,计算所述目标用户的视线轨迹决策点在所述正方形平面上的坐标位置,所述视线轨迹决策点包括所述人脸中心关键点和一个预设的视线轨迹的参考点。
这里,本发明实施例可以在三维世界坐标系中定义一个人脸模型,所述人脸模型包括所述目标用户的人脸关键点的三维世界坐标。在这里,在定义人脸模型时,可以定义人脸模型上各个人脸关键点的三维世界坐标。为了减少计算量,如图3所示,所述人脸中心关键点(以左右眼的中心点为例)可以位于所述三维世界坐标系的原点,对称的人脸关键点可以位于三维坐标系的Xw-Yw平面,或者位于与Xw-Yw平面平行的平面上;所述视线轨迹的参考点P可以位于三维坐标系的Zw轴上,即两个视线轨迹决策点的连线位于Zw轴上,或者垂直于Xw-Yw平面。表2给出了人脸模型中的人脸关键点的三维世界坐标系下的三维世界坐标(Xw,Yw,Zw)的一个示例,下面的坐标均采用浮点数表示:
人脸关键点 | 人脸关键点的三维世界坐标(Xw,Yw,Zw) |
人脸中心关键点(左右眼中心点) | (0.0,0.0,0.0) |
鼻子位置点 | (0.0,-170.0,0.0) |
下巴位置点 | (0.0,-500.0,-65.0) |
左眼位置点 | (-225.0,0.0,-135.0) |
右眼位置点 | (225.0,0.0,-135.0) |
左嘴角位置点 | (-150.0,-320.0,-125.0) |
右嘴角位置点 | (150.0,-320.0,-125.0) |
表2
然后,本发明实施例可以利用设置于所述三维立方体模型的坐标原点的虚拟相机的内参数矩阵、人脸关键点的二维平面坐标和三维世界坐标,计算得到所述目标用户的视线轨迹决策点在所述正方形平面中的二维平面坐标。这里,所述虚拟相机的光轴与所述正方形平面垂直,光心与所述目标用户的人脸中心关键点位置重合,且焦距等于所述正方形平面的宽度。通过以上方式设置的虚拟相机,该虚拟相机的光心偏移和畸变量可以忽略,此时该虚拟相机的内参数矩阵W可以下面的公式1表示:
其中,w表示正方形平面的宽度。
在计算视线轨迹决策点在所述正方形平面中的二维平面坐标的过程中,本发明实施例可以先利用所述虚拟相机的内参数矩阵、人脸关键点的二维平面坐标和三维世界坐标,计算得到所述虚拟相机的旋转矩阵R和平移向量T。
然后,利用所述视线轨迹决策点的三维世界坐标P、所述虚拟相机的内参数矩阵W、旋转矩阵R和平移向量T,计算得到所述视线轨迹决策点在所述正方形平面中的二维平面坐标P',具体可以利用以下公式2进行计算:
步骤14,利用所述正方形平面上的视线轨迹决策点,计算得到所述目标用户在二维全景图像中的视线轨迹。
这里,在获得了所述正方形平面上的两个视线轨迹决策点之后,本发明实施例可以通过投影变换处理,得到所述视线轨迹决策点在二维全景图像中的坐标位置。然后,根据所述视线轨迹决策点在二维全景图像中的坐标位置,利用二维全景图像中的大圆,求解得到经过所述视线轨迹决策点的曲线,得到所述目标用户在二维全景图像中的视线轨迹,其中,所述大圆为球面与通过球心的平面的交线。
图4给出了一个具体图像的示例,其中图4的左侧附图为人脸中心关键点所在的二维正方形平面的二维透视图像,其中包括有2个视线轨迹决策点p,连接该两个视线轨迹决策点p,可以得到一条直线41,进而利用大圆,在图4的右侧附图所示的全景二维图像中生成经过该大圆的曲线42,该曲线即为目标用户的视线轨迹。
通过以上步骤,本发明实施例将二维全景图像变换成以人脸中心关键点为某个正方形平面中心点的三维立方体模型,在正方形平面的二维透视图像中计算得到视线轨迹决策点后,再变换至二维全景图像中,进而求解二维全景图像中经过上述视线轨迹决策点的大圆,根据大圆对应的曲线,得到目标用户的视线轨迹,从而能够获得较为准确的视线轨迹,另外,大圆可以避免视线被二维图像的边界阻断,因此本发明实施例能够提高视线轨迹的完整性。
基于以上方法,本发明实施例还提供了实施上述方法的装置,请参考图5,本发明实施例提供的用户视线轨迹的计算装置500,包括:
关键点获取模块501,用于从二维全景图像检测得到目标用户的一组人脸关键点,并确定所述目标用户对应的人脸中心关键点;
图像变换模块502,用于将二维全景图像变换成三维立方体模型,且使所述人脸中心关键点位于所述三维立方体模型的一个正方形平面的中心;
轨迹决策点计算模块503,用于计算所述目标用户的视线轨迹决策点在所述正方形平面上的坐标位置,所述视线轨迹决策点包括所述人脸中心关键点和一个预设的视线轨迹的参考点;
轨迹计算模块504,用于利用所述正方形平面上的视线轨迹决策点,计算得到所述目标用户在二维全景图像中的视线轨迹。
此外,根据本发明至少一个实施例,所述关键点获取模块501,还用于基于深度学习算法,从二维全景图像中检测得到目标用户的一组人脸关键点,所述人脸关键点包括以下位置点中的一种以上的位置点:左眼位置点、右眼位置点、左耳位置点、右耳位置点、鼻子位置点、左嘴角位置点,右嘴角位置点和下巴位置点;
将所述左眼位置点和右眼位置点的中心点或所述鼻子位置点,作为所述目标用户对应的人脸中心关键点。
此外,根据本发明至少一个实施例,所述图像变换模块502,还用于对二维全景图像进行等距柱状投影变换,且使所述目标用户的人脸中心关键点位于经纬坐标系的坐标原点,得到一个二维等距柱状投影图像以及所述目标用户的人脸关键点在等距柱状投影图像中的坐标;以及,对所述二维等距柱状投影图像进行三维立方体投影变换,且使所述人脸中心关键点位于三维立方体模型的一个正方形平面的中心,并得到所述目标用户的人脸关键点在所述正方形平面中的二维平面坐标。
此外,根据本发明至少一个实施例,所述轨迹决策点计算模块503,还用于在三维世界坐标系中定义一个人脸模型,所述人脸模型包括所述目标用户的人脸关键点的三维世界坐标,且所述人脸中心关键点位于所述三维世界坐标系的原点;以及,利用设置于所述三维立方体模型的坐标原点的虚拟相机的内参数矩阵、人脸关键点的二维平面坐标和三维世界坐标,计算得到所述目标用户的视线轨迹决策点在所述正方形平面中的二维平面坐标,其中,所述虚拟相机的光轴与所述正方形平面垂直,光心与所述目标用户的人脸中心关键点位置重合,且焦距等于所述正方形平面的宽度。
此外,根据本发明至少一个实施例,所述轨迹决策点计算模块503,还用于利用所述虚拟相机的内参数矩阵、人脸关键点的二维平面坐标和三维世界坐标,计算得到所述虚拟相机的旋转矩阵和平移向量;以及,利用所述视线轨迹决策点的三维世界坐标、所述虚拟相机的内参数矩阵、旋转矩阵和平移向量,计算得到所述视线轨迹决策点在所述正方形平面中的二维平面坐标。
此外,根据本发明至少一个实施例,所述轨迹计算模块504,还用于通过投影变换处理,得到所述视线轨迹决策点在二维全景图像中的坐标位置;以及,根据所述视线轨迹决策点在二维全景图像中的坐标位置,利用二维全景图像中的大圆,求解得到经过所述视线轨迹决策点的曲线,得到所述目标用户在二维全景图像中的视线轨迹,其中,所述大圆为球面与通过球心的平面的交线。
通过以上模块,本发明实施例的用户视线轨迹的计算装置,本发明实施例求解得到的目标用户的视线轨迹为大圆对应的曲线,因此可以获得较为准确的视线轨迹,另外,大圆可以避免视线被二维图像的边界阻断,因此本发明实施例能够提高视线轨迹的完整性。
请参考图6,本发明实施例还提供了用户视线轨迹的计算装置的一种硬件结构框图,如图6所示,该用户视线轨迹的计算装置600包括:
处理器602;和
存储器604,在所述存储器604中存储有计算机程序指令,
其中,在所述计算机程序指令被所述处理器运行时,使得所述处理器602执行以下步骤:
从二维全景图像检测得到目标用户的一组人脸关键点,并确定所述目标用户对应的人脸中心关键点;
将二维全景图像变换成三维立方体模型,且使所述人脸中心关键点位于所述三维立方体模型的一个正方形平面的中心;
计算所述目标用户的视线轨迹决策点在所述正方形平面上的坐标位置,所述视线轨迹决策点包括所述人脸中心关键点和一个预设的视线轨迹的参考点;
利用所述正方形平面上的视线轨迹决策点,计算得到所述目标用户在二维全景图像中的视线轨迹。
进一步地,如图6所示,该用户视线轨迹的计算装置600还可以包括网络接口601、输入设备603、硬盘605、和显示设备606。
上述各个接口和设备之间可以通过总线架构互连。总线架构可以是包括任意数量的互联的总线和桥。具体由处理器602代表的一个或者多个中央处理器(CPU),以及由存储器604代表的一个或者多个存储器的各种电路连接在一起。总线架构还可以将诸如***设备、稳压器和功率管理电路等之类的各种其它电路连接在一起。可以理解,总线架构用于实现这些组件之间的连接通信。总线架构除包括数据总线之外,还包括电源总线、控制总线和状态信号总线,这些都是本领域所公知的,因此本文不再对其进行详细描述。
所述网络接口601,可以连接至网络(如因特网、局域网等),从网络中接收数据(如待进行视线轨迹计算的全景图像),并可以将接收到的数据保存在硬盘605中。
所述输入设备603,可以接收操作人员输入的各种指令,并发送给处理器602以供执行。所述输入设备603可以包括键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等)。
所述显示设备606,可以将处理器602执行指令获得的结果进行显示,例如显示用户视线轨迹的计算进度或结果等。
所述存储器604,用于存储操作***运行所必须的程序和数据,以及处理器602计算过程中的中间结果等数据。
可以理解,本发明实施例中的存储器604可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM),其用作外部高速缓存。本文描述的装置和方法的存储器604旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器604存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:操作***6041和应用程序6042。
其中,操作***6041,包含各种***程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序6042,包含各种应用程序,例如浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序6042中。
本发明上述实施例揭示的用户视线轨迹的计算方法可以应用于处理器602中,或者由处理器602实现。处理器602可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述用户视线轨迹的计算方法的各步骤可以通过处理器602中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器602可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器604,处理器602读取存储器604中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑设备(PLD)、现场可编程门阵列(FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的模块(例如过程、函数等)来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
具体地,所述计算机程序被处理器602执行时还可实现如下步骤:
基于深度学习算法,从二维全景图像中检测得到目标用户的一组人脸关键点,所述人脸关键点包括以下位置点中的一种以上的位置点:左眼位置点、右眼位置点、左耳位置点、右耳位置点、鼻子位置点、左嘴角位置点,右嘴角位置点和下巴位置点;
将所述左眼位置点和右眼位置点的中心点或所述鼻子位置点,作为所述目标用户对应的人脸中心关键点。
具体地,所述计算机程序被处理器602执行时还可实现如下步骤:
对二维全景图像进行等距柱状投影变换,且使所述目标用户的人脸中心关键点位于经纬坐标系的坐标原点,得到一个二维等距柱状投影图像以及所述目标用户的人脸关键点在等距柱状投影图像中的坐标;
对所述二维等距柱状投影图像进行三维立方体投影变换,且使所述人脸中心关键点位于三维立方体模型的一个正方形平面的中心,并得到所述目标用户的人脸关键点在所述正方形平面中的二维平面坐标。
具体地,所述计算机程序被处理器602执行时还可实现如下步骤:
在三维世界坐标系中定义一个人脸模型,所述人脸模型包括所述目标用户的人脸关键点的三维世界坐标,且所述人脸中心关键点位于所述三维世界坐标系的原点;
利用设置于所述三维立方体模型的坐标原点的虚拟相机的内参数矩阵、人脸关键点的二维平面坐标和三维世界坐标,计算得到所述目标用户的视线轨迹决策点在所述正方形平面中的二维平面坐标,其中,所述虚拟相机的光轴与所述正方形平面垂直,光心与所述目标用户的人脸中心关键点位置重合,且焦距等于所述正方形平面的宽度。
具体地,所述计算机程序被处理器602执行时还可实现如下步骤:
利用所述虚拟相机的内参数矩阵、人脸关键点的二维平面坐标和三维世界坐标,计算得到所述虚拟相机的旋转矩阵和平移向量;
利用所述视线轨迹决策点的三维世界坐标、所述虚拟相机的内参数矩阵、旋转矩阵和平移向量,计算得到所述视线轨迹决策点在所述正方形平面中的二维平面坐标。
具体地,所述计算机程序被处理器602执行时还可实现如下步骤:
通过投影变换处理,得到所述视线轨迹决策点在二维全景图像中的坐标位置;
根据所述视线轨迹决策点在二维全景图像中的坐标位置,利用二维全景图像中的大圆,求解得到经过所述视线轨迹决策点的曲线,得到所述目标用户在二维全景图像中的视线轨迹,其中,所述大圆为球面与通过球心的平面的交线。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的用户视线轨迹的计算方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁盘或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种视线轨迹的计算方法,其特征在于,包括:
从二维全景图像检测得到目标用户的一组人脸关键点,并确定所述目标用户对应的人脸中心关键点;
将二维全景图像变换成三维立方体模型,且使所述人脸中心关键点位于所述三维立方体模型的一个正方形平面的中心;
计算所述目标用户的视线轨迹决策点在所述正方形平面上的坐标位置,所述视线轨迹决策点包括所述人脸中心关键点和一个预设的视线轨迹的参考点;
利用所述正方形平面上的视线轨迹决策点,计算得到所述目标用户在二维全景图像中的视线轨迹;
其中,计算所述目标用户的视线轨迹决策点在所述正方形平面上的坐标位置的步骤,包括:在三维世界坐标系中定义一个人脸模型,所述人脸模型包括所述目标用户的人脸关键点的三维世界坐标,且所述人脸中心关键点位于所述三维世界坐标系的原点,所述视线轨迹的参考点位于所述三维世界坐标系的Zw轴上;利用设置于所述三维立方体模型的坐标原点的虚拟相机的内参数矩阵、人脸关键点的二维平面坐标和三维世界坐标,计算得到所述目标用户的视线轨迹决策点在所述正方形平面中的二维平面坐标;
利用所述正方形平面上的视线轨迹决策点,计算得到所述目标用户在二维全景图像中的视线轨迹的步骤,包括:通过投影变换处理,得到所述视线轨迹决策点在二维全景图像中的坐标位置;根据所述视线轨迹决策点在二维全景图像中的坐标位置,利用二维全景图像中的大圆,求解得到经过所述视线轨迹决策点的曲线,得到所述目标用户在二维全景图像中的视线轨迹,其中,所述大圆为球面与通过球心的平面的交线。
2.如权利要求1所述的计算方法,其特征在于,从二维全景图像检测得到目标用户的一组人脸关键点,并确定所述目标用户对应的人脸中心关键点的步骤,包括:
基于深度学习算法,从二维全景图像中检测得到目标用户的一组人脸关键点,所述人脸关键点包括以下位置点中的一种以上的位置点:左眼位置点、右眼位置点、左耳位置点、右耳位置点、鼻子位置点、左嘴角位置点,右嘴角位置点和下巴位置点;
将所述左眼位置点和右眼位置点的中心点或所述鼻子位置点,作为所述目标用户对应的人脸中心关键点。
3.如权利要求1所述的计算方法,其特征在于,将二维全景图像变换成三维立方体模型,且使所述人脸中心关键点位于所述三维立方体模型的一个正方形平面的中心的步骤,包括:
对二维全景图像进行等距柱状投影变换,使所述目标用户的人脸中心关键点位于经纬坐标系的坐标原点,得到一个二维等距柱状投影图像以及所述目标用户的人脸关键点在等距柱状投影图像中的坐标;
对所述二维等距柱状投影图像进行三维立方体投影变换,且使所述人脸中心关键点位于三维立方体模型的一个正方形平面的中心,并得到所述目标用户的人脸关键点在所述正方形平面中的二维平面坐标。
4.如权利要求1所述的计算方法,其特征在于,所述虚拟相机的光轴与所述正方形平面垂直,光心与所述目标用户的人脸中心关键点位置重合,且焦距等于所述正方形平面的宽度。
5.如权利要求4所述的计算方法,其特征在于,利用所述虚拟相机的内参数矩阵、人脸关键点的二维平面坐标和三维世界坐标,计算得到所述目标用户的视线轨迹决策点在所述正方形平面中的二维平面坐标的步骤,包括:
利用所述虚拟相机的内参数矩阵、人脸关键点的二维平面坐标和三维世界坐标,计算得到所述虚拟相机的旋转矩阵和平移向量;
利用所述视线轨迹决策点的三维世界坐标、所述虚拟相机的内参数矩阵、旋转矩阵和平移向量,计算得到所述视线轨迹决策点在所述正方形平面中的二维平面坐标。
6.一种视线轨迹的计算装置,其特征在于,包括:
关键点获取模块,用于从二维全景图像检测得到目标用户的一组人脸关键点,并确定所述目标用户对应的人脸中心关键点;
图像变换模块,用于将二维全景图像变换成三维立方体模型,且使所述人脸中心关键点位于所述三维立方体模型的一个正方形平面的中心;
轨迹决策点计算模块,用于计算所述目标用户的视线轨迹决策点在所述正方形平面上的坐标位置,所述视线轨迹决策点包括所述人脸中心关键点和一个预设的视线轨迹的参考点;
轨迹计算模块,用于利用所述正方形平面上的视线轨迹决策点,计算得到所述目标用户在二维全景图像中的视线轨迹;
其中,所述轨迹决策点计算模块,还用于在三维世界坐标系中定义一个人脸模型,所述人脸模型包括所述目标用户的人脸关键点的三维世界坐标,且所述人脸中心关键点位于所述三维世界坐标系的原点,所述视线轨迹的参考点位于所述三维世界坐标系的Zw轴上;以及,利用设置于所述三维立方体模型的坐标原点的虚拟相机的内参数矩阵、人脸关键点的二维平面坐标和三维世界坐标,计算得到所述目标用户的视线轨迹决策点在所述正方形平面中的二维平面坐标;
所述轨迹计算模块,还用于通过投影变换处理,得到所述视线轨迹决策点在二维全景图像中的坐标位置;以及,根据所述视线轨迹决策点在二维全景图像中的坐标位置,利用二维全景图像中的大圆,求解得到经过所述视线轨迹决策点的曲线,得到所述目标用户在二维全景图像中的视线轨迹,其中,所述大圆为球面与通过球心的平面的交线。
7.如权利要求6所述的计算装置,其特征在于,
所述图像变换模块,还用于对二维全景图像进行等距柱状投影变换,使所述目标用户的人脸中心关键点位于经纬坐标系的坐标原点,得到一个二维等距柱状投影图像以及所述目标用户的人脸关键点在等距柱状投影图像中的坐标;以及,对所述二维等距柱状投影图像进行三维立方体投影变换,且使所述人脸中心关键点位于三维立方体模型的一个正方形平面的中心,并得到所述目标用户的人脸关键点在所述正方形平面中的二维平面坐标。
8.如权利要求6所述的计算装置,其特征在于,
所述虚拟相机的光轴与所述正方形平面垂直,光心与所述目标用户的人脸中心关键点位置重合,且焦距等于所述正方形平面的宽度。
9.如权利要求8所述的计算装置,其特征在于,
所述轨迹决策点计算模块,还用于利用所述虚拟相机的内参数矩阵、人脸关键点的二维平面坐标和三维世界坐标,计算得到所述虚拟相机的旋转矩阵和平移向量;以及,利用所述视线轨迹决策点的三维世界坐标、所述虚拟相机的内参数矩阵、旋转矩阵和平移向量,计算得到所述视线轨迹决策点在所述正方形平面中的二维平面坐标。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的视线轨迹的计算方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010062433.5A CN113139892B (zh) | 2020-01-19 | 2020-01-19 | 一种视线轨迹的计算方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010062433.5A CN113139892B (zh) | 2020-01-19 | 2020-01-19 | 一种视线轨迹的计算方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113139892A CN113139892A (zh) | 2021-07-20 |
CN113139892B true CN113139892B (zh) | 2024-06-25 |
Family
ID=76808716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010062433.5A Active CN113139892B (zh) | 2020-01-19 | 2020-01-19 | 一种视线轨迹的计算方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113139892B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113920282B (zh) * | 2021-11-15 | 2022-11-04 | 广州博冠信息科技有限公司 | 图像处理方法和装置、计算机可读存储介质、电子设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2874710B2 (ja) * | 1996-02-26 | 1999-03-24 | 日本電気株式会社 | 三次元位置計測装置 |
US7565029B2 (en) * | 2005-07-08 | 2009-07-21 | Seiko Epson Corporation | Method for determining camera position from two-dimensional images that form a panorama |
EP2604180A4 (en) * | 2010-08-09 | 2017-07-05 | National University Corporation Shizuoka University | Gaze point detection method and gaze point detection device |
JP5828167B2 (ja) * | 2011-03-30 | 2015-12-02 | 株式会社国際電気通信基礎技術研究所 | 視線方向の推定装置、視線方向の推定方法およびコンピュータに当該視線方向の推定方法を実行させるためのプログラム |
JP2016173313A (ja) * | 2015-03-17 | 2016-09-29 | 国立大学法人鳥取大学 | 視線方向推定システム、視線方向推定方法及び視線方向推定プログラム |
CN106503684B (zh) * | 2016-10-28 | 2019-10-18 | 厦门中控智慧信息技术有限公司 | 一种人脸图像处理方法和装置 |
CN106503671B (zh) * | 2016-11-03 | 2019-07-12 | 厦门中控智慧信息技术有限公司 | 确定人脸姿态的方法和装置 |
CN110458122B (zh) * | 2019-08-15 | 2022-04-22 | 京东方科技集团股份有限公司 | 一种视线标校方法、显示装置的播放方法和视线标校*** |
-
2020
- 2020-01-19 CN CN202010062433.5A patent/CN113139892B/zh active Active
Non-Patent Citations (2)
Title |
---|
Fine-Grained Head Pose EstimationWithout Keypoints;Nataniel Ruiz等;《arXiv》;全文 * |
Real Time Eye Gaze Tracking with 3D Deformable Eye-Face Model;Kang Wang;《IEEE》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113139892A (zh) | 2021-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11748906B2 (en) | Gaze point calculation method, apparatus and device | |
US11403757B2 (en) | Sight line detection method and sight line detection device | |
WO2020207190A1 (zh) | 一种三维信息确定方法、三维信息确定装置及终端设备 | |
WO2020228643A1 (zh) | 交互控制方法、装置、电子设备及存储介质 | |
US8941587B2 (en) | Method and device for gesture recognition diagnostics for device orientation | |
CN110322500A (zh) | 即时定位与地图构建的优化方法及装置、介质和电子设备 | |
KR20160138062A (ko) | 적응적 호모그래피 매핑에 기초한 눈 시선 추적 | |
WO2021077982A1 (zh) | 标记点的识别方法、装置、设备及存储介质 | |
CN110555426A (zh) | 视线检测方法、装置、设备及存储介质 | |
CN113139892B (zh) | 一种视线轨迹的计算方法、装置及计算机可读存储介质 | |
Fan et al. | Wide-angle image rectification: A survey | |
US11036968B2 (en) | Method and apparatus for pattern recognition | |
CN109345567B (zh) | 物体运动轨迹识别方法、装置、设备和存储介质 | |
CN113112412B (zh) | 垂直校正矩阵的生成方法、装置及计算机可读存储介质 | |
CN112215036B (zh) | 跨镜追踪方法、装置、设备及存储介质 | |
CN111951211B (zh) | 一种目标检测方法、装置及计算机可读存储介质 | |
CN108038871A (zh) | 旋转平台的旋转中心确定方法、装置、服务器和存储介质 | |
Liu et al. | Critical assessment of correction methods for fisheye lens distortion | |
CN114926542A (zh) | 基于光学定位***的混合现实固定参考系校准方法 | |
CN109284002B (zh) | 一种用户距离估算方法、装置、设备及存储介质 | |
CN107845122B (zh) | 一种确定建筑物的面状信息的方法与装置 | |
CN111223139A (zh) | 目标定位方法及终端设备 | |
CN112959322A (zh) | 控制方法、控制装置及终端设备 | |
EP4026092A1 (en) | Scene lock mode for capturing camera images | |
US11508117B1 (en) | Extended reality space generating apparatus and method |
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 |