CN116086396A - 一种获取距离的方法、装置、系统及存储介质 - Google Patents
一种获取距离的方法、装置、系统及存储介质 Download PDFInfo
- Publication number
- CN116086396A CN116086396A CN202111315511.9A CN202111315511A CN116086396A CN 116086396 A CN116086396 A CN 116086396A CN 202111315511 A CN202111315511 A CN 202111315511A CN 116086396 A CN116086396 A CN 116086396A
- Authority
- CN
- China
- Prior art keywords
- distance
- face
- value
- pupil
- image
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 118
- 210000001747 pupil Anatomy 0.000 claims abstract description 221
- 230000008569 process Effects 0.000 claims abstract description 27
- 238000001514 detection method Methods 0.000 claims description 68
- 238000000605 extraction Methods 0.000 claims description 21
- 238000004422 calculation algorithm Methods 0.000 claims description 17
- 210000000887 face Anatomy 0.000 claims description 11
- 230000001179 pupillary effect Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012790 confirmation Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 14
- 230000008859 change Effects 0.000 description 12
- 238000005259 measurement Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 238000012937 correction Methods 0.000 description 8
- 238000009499 grossing Methods 0.000 description 8
- 238000003384 imaging method Methods 0.000 description 8
- 230000035772 mutation Effects 0.000 description 8
- 230000007547 defect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 210000003128 head Anatomy 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000004438 eyesight Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 210000001061 forehead Anatomy 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000011148 porous material Substances 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C3/00—Measuring distances in line of sight; Optical rangefinders
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例提供一种获取距离的方法、装置、系统及存储介质,该方法包括:获取第j对象在第i帧图像上的人脸高度、瞳孔距离以及人脸姿态特征值,其中,所述人脸姿态特征值用于表征所述第j对象的人脸旋转属性,i和j为大于或等于1的整数;若根据所述人脸姿态特征值确认从所述人脸高度和所述瞳孔距离中选择一个作为图像距离,则至少依据所述图像距离和焦距计算所述第j对象的人脸与显示面板之间的距离;若根据所述人脸姿态特征值未获取图像距离,则针对第i+1帧图像重复上述过程,获取所述第j对象的人脸与显示面板之间的距离。本申请有效克服了在任何情况下均根据瞳孔距离计算人眼与显示屏幕之间距离导致的计算得到的距离误差较大的问题。
Description
技术领域
本申请涉及距离测量领域,具体而言本申请实施例涉及一种获取距离的方法、装置、系统及存储介质。
背景技术
在观看电视等显示屏幕上的内容时,有些人(例如,小朋友)可能坐得离显示屏幕很近,这是不健康的观看习惯,因此如何检测观看者与显示面板之间的距离并在距离太近时进行提醒就显得非常重要。
例如,在一些相关技术中,为了判断观看者与显示屏幕之间的距离是否太近需要借助人为经验来大概判断。具体地,每个人凭借自己的经验来得出观看者距离显示屏幕到底是远了或是近了,然后指导观看者(例如,小朋友)调整距离,更好的保护观看者的视力。
在另一些相关技术中,需要通过人脸检测和人眼定位方法得到瞳孔距离,再结合计算得到的瞳孔距离和摄像头焦距依据三角形相似来计算人眼到屏幕的距离,但是发明人发现采用这种方式得到的人眼到显示屏幕的距离在有些情况下误差非常大。
因此如何较准确的评估人眼与显示屏幕之间的距离成了亟待解决的技术问题。
发明内容
本申请实施例的目的在于提供一种获取距离的方法、装置、系统及存储介质,通过本申请的这些实施例至少可以有效解决因为人脸姿态变化导致得到的人脸与显示面板之间的距离不准的问题,提升系统准确度与稳定性。
第一方面,本申请的一些实施例提供一种获取距离的方法,所述方法包括:获取第j对象在第i帧图像上的人脸高度、瞳孔距离以及人脸姿态特征值,其中,所述人脸姿态特征值用于表征所述第j对象的人脸旋转属性,i和j为大于或等于1的整数;若根据所述人脸姿态特征值确认从所述人脸高度和所述瞳孔距离中选择一个作为图像距离,则至少依据所述图像距离和焦距计算所述第j对象的人脸与显示面板之间的距离,其中,所述焦距为用于采集所述第j对象的图像采集单元的属性参数值;若根据所述人脸姿态特征值未获取图像距离,则针对第i+1帧图像重复上述过程,获取所述第j对象的人脸与显示面板之间的距离。
本申请的一些实施例通过引入人脸姿态特征值可以识别人脸旋转程度的多种情况,并根据人脸旋转程度来选择根据瞳孔距离还是人脸高度来计算人眼与显示屏幕之间的距离,有效克服了在任何情况下均根据瞳孔计算人眼与显示屏幕之间距离导致的某些情况下计算得到的该距离与实际距离误差较大的缺陷。
在一些实施例中,所述人脸姿态特征值包括水平角度的值,其中,所述水平角度的值用于表征所述第j对象的人脸左右旋转的角度;所述根据所述人脸姿态特征值确认从所述人脸高度和所述瞳孔距离中选择一个作为图像距离,包括:若确认所述水平角度的值小于或等于水平角度阈值时,则确认选择所述瞳孔距离作为所述图像距离;所述至少依据所述图像距离和焦距计算人脸与显示面板之间的距离,包括:根据瞳孔实际距离值,所述瞳孔距离和水平焦距计算所述人脸和所述显示面板之间的距离,其中,所述水平焦距是通过标定方式获取的。
本申请的一些实施例只有根据人脸姿态特征值确认人脸左右旋转的角度较小时才采用瞳孔距离来计算人脸与显示面板之间的距离,从而可以保证利用瞳孔距离计算人脸与显示屏幕之间距离准确性。
在一些实施例中,通过如下公式计算所述距离:
Z=fx*GK/G’K’
其中,fx用于表征所述水平焦距,所述水平焦距是通过图像拍摄单元对宽度固定的标定板进行多次拍摄得到的多帧图像获取的且每次拍摄时所述标定板与所述图像拍摄单元的距离不同,G’K’用于表征所述瞳孔距离,GK用于表征所述瞳孔实际距离值。
本申请的一些实施例提供了一种根据瞳孔距离以及标定方式获取的焦距来计算人脸与显示屏幕之间的距离的方案,采用该方案不仅量化了人脸与显示屏幕之间的距离而且由于标定方式得到的焦距准确性更高进而进一步提升了得到的人脸与显示面板之间距离的准确性。
在一些实施例中,所述获取第j对象在第i帧图像上的瞳孔距离,包括:根据瞳孔识别模型获取所述第j对象在所述第i帧图像上的左眼瞳孔点和右眼瞳孔点;计算所述左眼瞳孔点和右眼的瞳孔点之间的欧式距离得到所述瞳距距离。
本申请的一些实施例通过计算图像上左眼瞳孔点和右眼瞳孔点之间的欧氏距离来确定瞳孔距离的技术方案,与相关技术确定瞳孔距离的方法有效减少了数据计算量,提升了数据处理速度。
在一些实施例中,所述欧式距离是通过计算所述左眼瞳孔点和所述右眼瞳孔点之间的像素距离得到的。
本申请的一些实施例通过直接计算图像上两点之间的像素差值来获取瞳孔距离,计算量更小更加节省资源。
在一些实施例中,所述根据所述左眼瞳孔点和右眼的瞳孔点之间的欧式距离得到所述瞳距距离,包括:计算所述左眼瞳孔点和右眼的瞳孔点之间的欧式距离得到瞳孔初始图像距离;根据所述水平角度的值校正所述瞳孔初始图像距离,得到所述瞳孔距离。
本申请的一些实施例通过水平角度的值校正根据像素差值得到的瞳孔初始图像距离得到瞳孔距离,可以有效消除,由于人脸左右旋转后导致的直接根据图像上像素距离计算瞳孔距离时产生的误差。
在一些实施例中,采用如下公式校正所述瞳孔初始距离:
L=L'*cosβ
其中,L'用于表征所述瞳孔初始图像距离,β用于表征所述水平角度的值。
本申请的一些实施例提供了一种采用水平角度的值的余弦值来校正瞳孔初始图像距离的技术方案,从而实现了从瞳孔初始图像距离到瞳孔距离的量化。
在一些实施例中,所述瞳孔实际距离值是通过统计方式获取的人眼瞳孔距离的规律值。
本申请的一些实施例提供了一种简便的获取瞳孔实际距离值的方式,即将经验值作为瞳孔实际距离值,提升了技术方案的通用性。
在一些实施例中,所述人脸姿态特征值还包括竖直角度的值,所述竖直角度的值用于表征所述第j对象的人脸上下旋转的角度;所述根据所述人脸姿态特征值确认从所述人脸高度和所述瞳孔距离中选择一个作为图像距离,包括:若确认所述水平角度大于所述水平角度阈值且确认所述竖直角度的值小于竖直角度阈值时,则确认选择所述人脸高度作为所述图像距离;所述至少依据所述图像距离和焦距计算人脸与显示面板之间的距离,包括:根据人脸实际高度值、所述人脸高度以及竖直焦距计算所述人脸和所述显示面板之间的距离,其中,所述竖直焦距是通过标定方式获取的。
本申请的一些实施例在确认左右旋转角度大于设定值且上下旋转的角度值不太大时,采用人脸高度的值来计算人脸与显示面板之间的距离,一方面,在人脸左右旋转角度较大时之所以不采用瞳孔距离计算距离是因为如果采用瞳孔距离计算将导致距离的误差非常大,另一方面,由于竖直角度较小因此采用人脸高度来计算距离时误差将非常小,最终提升了人脸处于这种姿态下获取的人脸与显示面板之间距离的准确性。
在一些实施例中,通过如下公式计算所述距离:
Z=fy*EF/E’F’
其中,fy用于表征所述竖直焦距,所述竖直焦距是通过图像拍摄单元对高度固定的标定板进行多次拍摄得到的多帧图像获取的且每次拍摄时所述标定板与所述图像拍摄单元的距离不同,E’F’用于表征所述人脸高度,EF用于表征所述人脸实际高度值。
本申请的一些实施例在根据人脸高度确定人脸与显示屏幕的距离时的竖直焦距是通过标定方式获取的。
在一些实施例中,所述人脸高度是通过人脸检测算法在所述第i帧图像上获取的所述第j对象的人脸外接框的高度。
本申请的一些实施例将通过人脸检测算法获取的人脸外的矩形框的高度作为人脸高度的值,实现方法简单且运算量更小。
在一些实施例中,所述人脸高度值是通过如下方式获取的:通过人脸检测算法在所述第i帧图像上获取所述第j对象的人脸外接框;根据所述竖直角度的值校正所述人脸外接框的高度,得到所述人脸高度。
本申请的实施例通过竖直角度的值来校正人脸外在矩形框的高度进而得到更加准确的人脸高度值,从而提升得到的人脸与显示屏幕之间的距离的准确性。
在一些实施例中,所述方法还包括:根据人脸关键点检测模型提取所述第j对象的人脸关键点;其中,所述人脸姿态特征值是将所述人脸关键点和人脸外接框输入人脸姿态获取模型得到的。
本申请的一些实施例通过人脸姿态获取算法来获取人脸姿态特征值。
在一些实施例中,所述方法还包括:通过所述第i帧图像的前一帧或前多帧图像获取所述第j对象与所述显示面板之间的历史距离值;所述至少依据所述图像距离和焦距计算所述第j对象的人脸与显示面板之间的距离,包括:根据所述第i帧图像获取所述第j对象的人脸与所述显示面板之间的第i距离值;根据所述第i距离值和所述历史距离值得到所述距离。
本申请的一些实施例通过融合当前第i距离和历史距离值得到最终的距离,可以有效抑制同一位置人脸角度变化导致的距离突变的缺陷。
在一些实施例中,所述根据所述第i距离和所述历史距离值得到所述距离,包括:对所述第i距离值和所述历史距离值进行加权平均得到所述距离。
本申请的一些实施例通过加权平均的方式融合第i距离和历史距离值,在有效抑制同一位置人脸角度变化导致的距离突变的缺陷同时还可以进一步灵活调整各距离在最终距离中的权重,进而提升本申请技术方案的通用性。
在一些实施例中,所述方法还包括:通过滑窗存储所述历史距离值;其中,所述根据所述第i距离值和所述历史距离值得到所述距离,包括:将所述第i距离值存入所述滑窗;计算所述滑窗存储的所有数据的平均值得到所述距离。
本申请的一些实施例采用滑窗可以在滑窗满时即时触发均值计算操作,提升数据处理速度,采用平均值作为最终的距离相比于加权平均的方式计算量更小,因此资源消耗更好处理速度更快。
在一些实施例中,所述方法还包括:确认所述距离小于或等于设定的距离阈值时生成预警提示信息。
本申请的一些实施例通过生成预警提示信息来自动对与显示屏幕的距离太近的对象进行提醒。
在一些实施例中,所述获取第j对象在第i帧图像上的人脸高度、瞳孔距离以及人脸姿态特征值之前,所述方法还包括:确认检测到所述第i帧图像上的所有对象;确认提取到所述所有对象的人脸关键点,其中,所述人脸关键点至少包括左眼瞳孔点和右眼瞳孔点;确认获取所述所有对象的人脸姿态特征值。
本申请的一些实施例可以确保所有在观看智能终端节目的人员均被检测到,确保即时发现所有与显示屏幕距离过近的对象。
第二方面,本申请的一些实施例提供一种获取人脸与显示面板之间距离的装置,所述装置包括:特征获取模块,被配置为获取第j对象在第i帧图像上的人脸高度、瞳孔距离以及人脸姿态特征值,其中,所述人脸姿态特征值用于表征人脸旋转属性,其中,i和j为大于或等于1的整数;距离获取模块,被配置为执行如下操作:若根据所述人脸姿态特征值确认从所述人脸高度和所述瞳孔距离中选择一个作为图像距离,则至少依据所述图像距离和焦距计算所述第j对象的人脸与显示面板之间的距离;若根据所述人脸姿态特征值未获取图像距离,则通过获取第i+1帧图像来得到所述第j对象的人脸与显示面板之间的距离。
第三方面,本申请的一些实施例提供一种智能设备,所述智能设备包括:显示面板;抓图模块,被配置为获取各帧图像,其中,所述各帧图像是由图像采集单元对正在观看所述显示面板上节目的观看对象进行拍摄得到的;特征提取模块,被配置为检测所述各帧图像中存在的人脸得到各人脸的人脸外接框,并对检测到的人脸提取关键点特征,以及根据人脸检测框和所述关键点特征得到人脸姿态特征值;距离检测模块,被配置为对每一帧图像上检测得到的每一个对象执行如下操作:获取第j对象在第i帧图像上的人脸高度、瞳孔距离以及人脸姿态特征值,其中,所述人脸姿态特征值用于表征所述第j对象的人脸旋转属性,i和j为大于或等于1的整数;若根据所述人脸姿态特征值确认从所述人脸高度和所述瞳孔距离中选择一个作为图像距离,则至少依据所述图像距离和焦距计算所述第j对象的人脸与显示面板之间的距离;若根据所述人脸姿态特征值未获取图像距离,则针对第i+1帧图像重复上述过程,获取所述第j对象的人脸与显示面板之间的距离;提醒模块,被配置为通过比较确认计算得到的人脸与显示面板之间的距离大于或等于设定的距离阈值时生成并提供预警提示信息。
在一些实施例中,所述特征提取模块进一步包括:人脸检测模块,被配置为把所述各帧图像中的所有人脸检测出来,得到所有人脸的人脸外接框;关键点检测模块,被配置为提取所述人脸外接框内的人脸特征,得到人脸的关键点;以及人脸姿态特征检测模块,被配置为基于所述人脸外接框和所述人脸的关键点得到人脸姿态特征值。
在一些实施例中,所述距离检测模块包括:瞳距测距模块,被配置为计算第j对象在第i帧图像上的左眼瞳孔点和右眼瞳孔点之间的瞳孔距离;人脸测距模块,被配置为根据所述瞳孔距离或者所述人脸高度之一求解所述人脸与所述显示面板之间的距离;距离平滑模块,被配置为对所述人脸测距模块计算得到的距离进行平滑处理,得到融合距离,以使所述提醒模块根据所述融合距离确认是否生成预警的提示信息。
在一些实施例中,所述距离检测模块还包括:角度校正距离模块,被配置为:根据水平角度的值对获取的所述左眼瞳孔点和所述右眼瞳孔点之间的欧式距离进行校正得到所述瞳孔距离,或者根据竖直角度的值对获取的人脸外接框的高度进行校正得到所述人脸高度。
第三方面,本申请的一些实施例提供一种系统,所述系统包括一个或多个计算机和存储指令的一个或多个存储设备,当所述指令由所述一个或多个计算机执行时,使得所述一个或多个计算机执行根据第一方面所述的相应方法的操作。
第四方面,本申请的一些实施例提供一种存储指令的一个或多个计算机存储介质,当所述指令由一个或多个计算机执行时,使得所述一个或多个计算机执行根据第一方面所述的相应方法的操作。
第五方面,本申请的一些实施例提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述第一方面任意实施例所述的获取距离的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的获取距离的系统的组成示意图;
图2为本申请实施例提供的获取距离的方法的流程图之一;
图3为本申请实施例提供的获取焦距和测距原理示意图;
图4为本申请实施例提供的智能设备的组成框图;
图5为本申请实施例提供的获取距离的方法的流程图之二;
图6为本申请实施例提供的获取距离的方法的流程图之三;
图7为本申请实施例提供的人脸姿态特征值的示意图;
图8为本申请实施例提供的根据人脸关键点检测算法得到的人脸关键点图;
图9为本申请实施例提供的校正瞳孔距离的示意图;
图10为本申请实施例提供的获取距离的方法的流程图之四;
图11为本申请实施例提供的滑窗结构示意图;
图12为本申请实施例提供的获取距离的装置的组成框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
结合背景技术部分的内容可知,本申请的发明人发现直接采用瞳孔距离得到人脸与显示屏幕之间距离的方案由于未考虑观看显示屏幕的人脸相对于显示屏幕的旋转情况,因此导致当人脸发生旋转时采用瞳孔距离这个方案计算的人眼到显示屏幕的距离的误差非常大,而一般情况下观看者的人脸不可能与显示屏幕所在地面板严格平行,因此导致了相关技术方案的应用场景严重受限。
与相关技术方案直接根据瞳孔距离得到人脸与显示面板之间的距离的技术方案不同的是,本申请的一些实施例还引入了人脸姿态特征值(用于反应观看显示屏幕的观看对象的人脸旋转情况)来确定到底采用何种图像距离和实际距离来得到人脸与显示面板之间的距离。由于本申请的实施例考虑了人脸姿态特征值,因此可以有效解决因为人脸姿态特征的变化导致获取的人脸与显示面板之间距离不准的问题,提升系统准确度与稳定性。
请参看图1,图1为示例性提供的本申请一些实施例的应用场景图,在该场景图中展示了获取距离的系统,通过该系统可以确定观看显示屏幕上内容的第一用户101以及第二用户102各自和显示面板201之间的距离。
在图1的系统中包括摄像头301、具有显示面板201的电子设备以及服务器401。
在本申请的一些实施例中,摄像头301能够拍摄位于显示面板201前方的某一区域(例如,图1示出的虚线区域)中存在的观看对象的图像,并将拍摄的各帧图像向服务器401传输,以使服务器401可以通过分析各帧图像得到各用户或者观看对象与显示面板201之间的距离。例如,服务器401通过分析各帧图像来确定第一用户101与显示面板201之间的第一距离D1并确定第二用户102与显示面板201之间的第二距离D2。在本申请的另一些实施例中,服务器401还可以根据确认的各用户与显示面板201之间的距离生成预警提示信号,以提示距离显示面板太近的用户。
在本申请的一些实施例中,具有显示面板201的电子设备属于智能电视等智能设备,该智能电视中设置有存储器和处理器,通过这些存储器和处理器也可以对摄像头拍摄的各帧图像进行分析以获取各用户与显示面板之间的距离。也就是说,在这些实施例中并不需要单独设置的服务器401而通过智能设备本身就可以对拍摄的各帧图像进行分析得到各观看对象与显示面板之间的距离。在本申请的一些实施例中,这些智能设备可以根据得到各用户与显示面板之间的距离信息生成预警提示信息,以提示距离显示面板太近的用户,进而保护这些用户的眼睛。
需要说明的是,在图1中,摄像头301等图像拍摄单元(或称为图像采集单元)与显示面板位于同一平面上,例如,摄像头等图像拍摄单元设置于显示面板201的上方,在本申请的另一些实施例中摄像头等图像拍摄单元也可以设置在显示面板下方或者设置在显示面板上。正是由于摄像头设置在显示面板的四周或者上面,因此摄像头与显示面板之间的距离远小于观看对象与显示面板之间的距离,所以在本申请的一些实施例中直接将获取的各观看对象与摄像头的距离作为该观看对象与显示面板之间的距离。在本申请的另一些实施例中,也可以根据相关的数学算法或者公式将获取的观看对象与摄像头之间的距离转换为观看对象与显示面板之间的距离。
下面结合图2示例性阐述由图1的服务器或者由图1的智能设备执行的本申请一些实施例提供的获取距离的方法。
如图2所示,本申请的一些实施例提供一种获取距离的方法,该方法包括:S101,获取第j对象在第i帧图像上的人脸高度、瞳孔距离以及人脸姿态特征值,其中,所述人脸姿态特征值用于表征所述第j对象的人脸旋转属性,i和j为大于或等于1的整数。S102,若根据所述人脸姿态特征值确认从所述人脸高度和所述瞳孔距离中选择一个作为图像距离,则至少依据所述图像距离和焦距计算所述第j对象的人脸与显示面板之间的距离,其中,所述焦距为用于采集所述第j对象的图像采集单元的属性参数值。S103,若根据所述人脸姿态特征值未获取图像距离,则针对第i+1帧图像重复上述过程,获取所述第j对象的人脸与显示面板之间的距离。本申请的一些实施例通过引入人脸姿态特征值可以识别人脸旋转程度的多种情况,并根据人脸旋转程度来选择根据瞳孔距离还是人脸高度来计算人眼与显示屏幕之间的距离,有效克服了在任何情况下均根据瞳孔计算人眼与显示屏幕之间距离导致的某些情况下计算得到的该距离与实际距离误差较大。
S101获取的人脸高度是各观看对象在被拍摄的图像上的人脸的高度值,单位为像素。在本申请的一些实施例中,该人脸高度就等于采用人脸检测算法得到人脸外接框的高度,在本申请的另一些实施例中该人脸高度是根据人脸旋转角度将人脸外接框进行校正后得到的校正值。
S101涉及的瞳孔距离(即图像上瞳孔距离)也是各观看对象中任一观看对象在被拍摄的图像上的两个瞳孔之间的距离,单位为像素。在本申请的一些实施例中,该瞳孔距离即图像上左右瞳孔点之间的欧式距离,在本申请的一些实施例中该瞳孔距离是根据人脸旋转角度将欧式距离校正后得到的校正值。
S101涉及的人脸姿态特征值用于表征人脸在观看图1的显示屏幕上展示的内容时旋转的角度。在本申请的一些实施例中,人脸姿态特征值包括观看显示面板的人脸的左右旋转角度值和上下旋转角度值中的至少一个。
S102和S103这两个过程在实际执行时仅有一个过程被执行,例如,当确认人脸姿态特征值的情况满足设定要求时,则将从瞳孔距离或者人脸高度这两个参量值中选择一个来计算人脸与显示面板的距离,当根据该人脸姿态特征值的情况判定这两个参量值均不可以作为计算人脸与显示面板之间的距离参量时,则会读取当前帧的下一帧图像来获取人脸与显示面板之间的距离。
可以理解的是,为了能够执行S101的过程需要预先获取人脸高度、瞳孔距离以及人脸姿态特征值。在本申请的另一些实施例中,为了即时提醒距离显示面板太近的用户挪动位置,在获取到人脸与显示面板之间的距离后,还可以包括生成预警提示信息并向观看者提供该预警提示信息的过程。为了尽可能的检测到所有观看者与显示面板之间距离的情况,在本申请的一些实施例中,在执行S101之前本申请一些实施例的距离获取的方法还包括:确认检测到第i帧图像上的所有对象;确认提取到所述所有对象的人脸关键点,其中,所述人脸关键点至少包括左眼瞳孔点和右眼瞳孔点;确认获取所述所有对象的人脸姿态特征值。
下面以获取第i帧图像上第j对象的人脸与显示面板之间的距离为例,示例性阐述根据瞳孔距离确定人脸与显示面板之间的距离的过程。
为了结合人脸姿态特征值来确定是否可以将瞳孔距离作为计算人脸与显示面板之间距离的图像距离,在本申请的一些实施例中,获取距离的方法包括:S101,获取第j对象在第i帧图像上的人脸高度、瞳孔距离以及水平角度的值(即人脸姿态特征值包括水平角度的值),其中,i和j为大于或等于1的整数,该水平角度的值用于表征所述第j对象的人脸左右旋转的角度。例如,人脸与摄像头连线的竖直平面为0度,水平角度是相对于该平面角度,人脸与摄像头在同一水平面为竖直(上下)角度0度,上下角度是相对与该水平面。也就是说,人正面对着摄像头中心连线的竖直平面时为0度,该水平角度的值的取值范围大于或等于-90度且小于等于+90度。相应的S102涉及的根据所述人脸姿态特征确认从所述人脸高度和所述瞳孔距离中选择一个作为图像距离的过程示例性包括:若确认该水平角度的值小于或等于水平角度阈值时,则确认选择所述瞳孔距离作为所述图像距离。S103涉及的至少依据所述图像距离和焦距计算人脸与显示面板之间的距离的过程示例性包括:根据瞳孔实际距离值,所述瞳孔距离和水平焦距计算所述人脸和所述显示面板之间的距离,其中,所述水平焦距是通过标定方式获取的。
也就是说,本申请的一些实施例只有根据水平角度的值确认人脸左右旋转的角度较小时才采用瞳孔距离来计算人脸与显示面板之间的距离,从而可以保证利用瞳孔距离计算人脸与显示屏幕之间距离准确性。
在本申请的一些实施例中,S102根据瞳孔距离和如下公式计算人脸与显示面板之间的距离:
Z=fx*GK/G’K’(1)
其中,fx用于表征所述水平焦距,所述水平焦距是通过图像拍摄单元对宽度固定的标定板进行多次拍摄得到的多帧图像获取的且每次拍摄时所述标定板与所述图像拍摄单元的距离不同,G’K’用于表征所述瞳孔距离,GK用于表征所述瞳孔实际距离值。
下面结合图3示例性阐述通过标定获取水平焦距fx的过程并说明测距原理。
图3为小孔成像原理,成像目标为物体MN(对应于实际测距时瞳孔之间的实际距离即瞳孔实际距离值或者人脸的实际高度即人脸实际高度值),该物体MN通过针孔平面O1,在成像平面O2上的投影为M’N’(在实际测距时对应瞳孔距离或者人脸高度),图3中摄像头的焦距为f,物体MN与针孔平面O1之间的距离为Z(对应于实际测距时的人脸与显示面板之间的距离),结合图3可知要计算目标距离Z,依据三角形相似原理得到如下关系式:Z=f*MN/M’N’。若物体MN用瞳距来表示,则MN为人眼实际的瞳距长度(即瞳孔实际距离值),M’N’则为成像平面上的瞳孔之间的距离(即瞳孔距离)。人眼实际的瞳孔距离可以采用统计得到的经验值X来表征,例如,成人的人眼实际的瞳孔距离X=65mm,假设图3的瞳距的成像距离即为M’N’=P。不难理解的是,只需要知道摄像头的焦距f,就可以得到Z(即得到人脸与显示面板之间的距离)。在本申请的一些实施例中,摄像头的焦距f通过标定的方式获取,即f=M’N’*Z/MN。具体地,在本申请的一些实施例中,采用固定宽度的标定板,且该标定板的宽度为MN,将该标定板垂直放置,然后用相机在不同距离(即Z)去拍摄标定板,然后获取到拍出来的图像中宽占用了多少像素,这里的宽占用的像素数目即M’N’。若要根据该宽度值M’N’就可以得到水平焦距fx。通过标定方法得到了等效焦距,不难理解的是,若采用瞳孔距离计算人脸与显示面板之间的距离,则Z=fx*GK/G’K’,其中,G’K’用于表征所述瞳孔距离,GK用于表征所述瞳孔实际距离值。需要说明的是,拍摄标定板的摄像头中心要与标定板中心在一条线上,且摄像头所在竖直平面要平行于标定板平面。
下面示例性阐述获取瞳孔距离的过程。
在本申请的一些实施例中,在S101之前涉及的获取第j对象在第i帧图像上的瞳孔距离的过程示例性包括:根据瞳孔识别模型获取所述所述第j对象在第i帧图像上的左眼瞳孔点和右眼瞳孔点;计算所述左眼瞳孔点和右眼的瞳孔点之间的欧式距离得到所述瞳距距离。例如,该欧式距离是通过计算所述左眼瞳孔点和所述右眼瞳孔点之间的像素距离得到的。也就是说,在这些实施例中直接将图像上两眼瞳孔之间欧式距离作为瞳孔距离。
为了进一步修正由于观看者的脸部相对于显示面板旋转导致的瞳孔距离存在误差的缺陷,在本申请的一些实施例中,上述记载的根据所述左眼瞳孔点和右眼的瞳孔点之间的欧式距离得到所述瞳距距离的过程示例性包括:计算图像上左眼瞳孔点和右眼的瞳孔点之间的欧式距离得到瞳孔初始图像距离;根据获取的水平角度的值校正该瞳孔初始图像距离,得到S101涉及的瞳孔距离。也就是说,在这些实施例还需要采用水平角度值来校正欧式距离,并将校正后的欧式距离作为瞳孔距离。
例如,在本申请的一些实施例中,为了修正人脸旋转后直接采用图像上两个瞳孔之间的欧式距离作为瞳孔距离带来的计算误差较大的缺陷,采用如下公式校正所述瞳孔初始距离:
L=L'*cosβ(2)
其中,L'用于表征所述瞳孔初始图像距离(即根据第i帧图像上左眼瞳孔和右眼瞳孔之间的像素差值),β用于表征得到的水平角度的值。
需要说明的是,本申请的实施例并不限定采用余弦值来修正瞳孔初始图像距离的方法,例如,在本申请的另一些实施例中也可以根据瞳孔初始图像距离和正弦值、正切值等来获取瞳孔距离。
正如上述在介绍标定方式获取水平焦距时,瞳孔之间的实际距离为经验值的做法相似,在本申请的一些实施例中,上述公式(1)中涉及的瞳孔实际距离值是通过统计方式获取的人眼瞳孔距离的规律值。需要说明的是,在本申请的另一些实施例中,瞳孔实际距离值也可以是预先采集的观看者实际的两眼瞳孔之间的距离(单位为米、厘米等长度单位),例如,如果一家有三个孩子,则可以预先采集这三个孩子瞳孔之间的实际距离,并通过交互界面输入智能电视的存储单元中,当需要测试人脸与显示面板之间距离的时候算法可以读取这三个人的特征并获取相应的瞳孔实际距离来计算各孩子与显示面板之间的距离。
下面以获取第i帧图像上第j对象的人脸与显示面板之间的距离为例,示例性阐述根据人脸高度来计算人脸与显示面板之间距离的过程。
例如,在本申请的一些实施例中,获取距离的方法包括:S101,获取第j对象在第i帧图像上的人脸高度、瞳孔距离、水平角度值和竖直角度值,其中,i和j为大于或等于1的整数,水平角度的值用于表征所述人脸左右旋转的角度,竖直角度的值用于表征所述人脸上下旋转的角度。S102涉及的根据所述人脸姿态特征值确认从所述人脸高度和所述瞳孔距离中选择一个作为图像距离的过程包括:若确认该水平角度大于所述水平角度阈值且确认该竖直角度的值小于竖直角度阈值时,则确认选择人脸高度作为所述图像距离。S103涉及的至少依据所述图像距离和焦距计算人脸与显示面板之间的距离的过程示例性包括:根据人脸实际高度值、人脸高度以及竖直焦距计算所述人脸和所述显示面板之间的距离,其中,所述竖直焦距是通过标定方式获取的。需要说明的是,人脸实际高度值的获取方法包括:在本申请的一些实施例中,可以通过标尺或其他测量工具测量上额头到下巴的高度作为粗略的人脸实际高度值。在本申请的一些实施例中,通过人脸正面显示屏时瞳距计算出来的人脸与屏幕距离作为已知条件z,结合人脸检测出的人脸框像素高度m’n’,与等效焦距fy(即竖直焦距),计算出人脸实际高度的值为:mn=z*m’n’/fy。在本申请的一些实施例中,通过标定的方式获得,固定垂直摄像头距离z拍摄图片,用人脸检测算法,检测出人脸框高度m’n’,结合等效焦距fy(即竖直焦距)可以计算出人脸实际高度值mn=z*m’n’/fy。
也就是说,本申请的一些实施例在确认左右旋转角度较大且上下旋转的角度值不太大时,采用人脸高度值来计算人脸与显示面板之间的距离,一方面,在人脸左右旋转角度较大时之所以不采用瞳孔距离计算距离是因为如果采用瞳孔距离计算将导致计算得到的人脸与显示面板之间的距离的误差非常大,另一方面,由于竖直角度较小因此采用人脸高度来计算距离时误差将非常小,最终提升了得到的人脸与显示面板之间距离的准确性。
在本申请的一些实施例中,S102根据人脸高度和如下公式计算人脸与显示面板之间的距离:
Z=fy*EF/E’F’(3)
其中,fy用于表征竖直焦距,所述竖直焦距是通过图像拍摄单元对高度固定的标定板进行多次拍摄得到的多帧图像获取的且每次拍摄时所述标定板与所述图像拍摄单元的距离不同,E’F’用于表征所述人脸高度,EF用于表征所述人脸实际高度值。本申请的一些实施例在根据人脸高度确定人脸与显示屏幕的距离时的竖直焦距是通过标定方式获取的。
下面结合图3进一步阐述获取数值焦距的过程,不难理解的是,只需要知道摄像头的焦距f,就可以得到Z(即得到人脸与显示面板之间的距离)。在本申请的一些实施例中,摄像头的焦距f通过标定的方式获取,即f=M’N’*Z/MN。具体地,在本申请的一些实施例中,采用固定高度的标定板,且该标定板的高度为MN,将该标定板垂直放置,然后用相机在不同距离(即Z)去拍摄标定板,然后获取到拍出来的图像中高占用了多少像素,这里的高占用的像素数目即M’N’。根据该高度值M’N’和标定板实际高度MN就可以得到竖直焦距fy,也就是说通过标定方法得到了等效焦距。不难理解的是,若采用人脸高度计算人脸与显示面板之间的距离,则Z=fy*EF/E’F’。
为了减少计算量提升处理速度,在本申请的一些实施例中,上述公式(3)中涉及的人脸高度是通过人脸检测算法在所述第i帧图像上获取的所述第j对象的人脸外接框的高度。可以理解的是,人脸外接框包括人脸外接的矩形框,且人脸外接框是通过将第i帧图像输入人脸检测算法对应的模型获取的。也就是说,在本申请的一些实施例中可以直接将通过人脸检测算法得到人脸外接框作为人脸高度。需要说明的是,在本申请的一些实施例中也可以将人脸正面摄像头时拍摄的图像通过关键点检测输出的最下面的一个点与最上面一个点的纵向距离作为人脸高度的值。
与直接将人脸外接框作为人脸高度的示例不同,在本申请的一些实施例中为了减少由于观看对象相对于显示面板上下旋转导致的将人脸外接框的高度作为人脸高度时存在的较大误差,在本申请的一些实施例中,上述公式(3)中的人脸高度值是通过如下方式获取的:通过人脸检测算法在该第i帧图像上获取所述第j对象的人脸外接框;根据竖直角度的值校正该人脸外接框的高度,得到所述人脸高度。本申请的实施例通过竖直角度的值来校正人脸外接框(例如,人脸外在矩形框)的高度进而得到更加准确的人脸高度,从而提升得到的人脸与显示屏幕之间的距离的准确性。也就是说,在本申请的一些实施例中需要根据竖直角度值来校正人脸外接框的高度值,将矫正后的人脸外接框的高度值作为公式(3)需要的人脸高度。
在本申请的一些实施例中,获取距离的方法还包括:根据人脸关键点检测模型提取所述第j对象的人脸关键点;其中,S101涉及的人脸姿态特征值是将所述人脸关键点和人脸外接框输入人脸姿态获取模型得到的。需要说明的是,可以从以下文献中获取人脸姿态获取模型的算法:Fine-Grained Head Pose Estimation Without Keypoints、《img2pose:Face Alignment and Detection via 6DoF,Face Pose Estimation》、《FSA-Net:LearningFine-Grained Structure Aggregation for Head Pose Estimation from a SingleImage》或者《WHENet:Real-time Fine-Grained Estimation for Wide Range HeadPose》。
需要说明的是,无论采用瞳孔距离计算人脸与显示面板之间的距离还是采用人脸高度计算人脸与显示面板之间的距离,为了有效抑制同一位置人脸角度变化导致的距离突变的缺陷,在本申请的一些实施例中,获取距离的方法还包括:通过所述第i帧图像的前一帧或前多帧图像获取所述第j对象与所述显示面板之间的历史距离值,相应的S102涉及的至少依据所述图像距离和焦距计算所述第j对象的人脸与显示面板之间的距离的过程示例性包括:根据所述第i帧图像获取所述第j对象的人脸与所述显示面板之间的第i距离值;根据所述第i距离值和所述历史距离值得到所述距离。例如,在本申请的一些实施例中,根据所述第i距离和所述历史距离值得到所述距离的过程示例性包括:对所述第i距离值和所述历史距离值进行加权平均得到所述距离。例如,本申请的一些实施例通过均值方式融合第i距离和历史距离值,提升了数据处理的速度。
为了能够对历史距离值进行存储并即时触发均值计算操作获取平滑处理后的人脸与显示面板之间的距离,在本申请的一些实施例中,获取距离的方法示例性包括:通过滑窗存储上述历史距离值;其中,所述根据所述第i距离值和所述历史距离值得到所述距离,包括:将所述第i距离值存入所述滑窗;计算所述滑窗存储的所有数据的平均值得到所述距离。本申请的一些实施例采用滑窗可以在滑窗满时即时触发均值计算操作,提升数据处理速度。
为了即时提醒距离显示面板太近的观看对象,在本申请的一些实施例中,获取距离的方法还包括:确认计算得到人脸与显示面板之间的距离大于设定的距离阈值时生成预警提示信息并提供该预警提示信息。例如,提供该预警提示信息的方式包括:通过声音方式播放该预警提示信息,或者通过显示面板展示提示信息,本申请的示例对提示方式不做限制。
下面以获取人脸与智能设备的显示屏幕之间的距离为例示例性阐述本申请一些实施例的获取距离的方法。
本申请的一些实施例的智能设备(例如,智能电视)通过实时处理图1的摄像头301的预览图像,通过对图像中的每一个人的人脸进行相关检测,提取出人脸关键点和人脸角度等信息,进一步计算出人脸与显示屏幕之间的距离。
如图4所示,本申请一些实施例提供的智能设备(例如,智能电视装置)包括抓图模块210、特征提取模块220、距离检测模块230以及提醒模块218。
通过图4的四个模块可以高效稳定的计算出人脸距离摄像头的距离,可以有效解决因为人脸姿态变化导致该距离测量不准的问题,提升系统准确度与稳定性。应用在智能电视中,能够为用户提供很好的距离检测效果,提醒用户安全使用电视,保护视力等。
图4的抓图模块210被配置为从当前摄像头获取图像帧,图像帧可以用来预览,进一步的这些图像帧都要送入特征提取模块220进行特征提取。
图4的特征提取模块220可以进一步包括三个子模块:人脸检测模块211、关键点提取模块212以及人脸姿态特征检测模块213,其中,人脸检测模块211被配置为把摄像头拍摄的图像帧中的所有人脸检测出来,关键点提取模块212被配置为基于人脸检测的结果来计算人脸的关键点,人脸关键点具体如图8所示,在该图中示出了从像素点1至像素点98共98个人脸关键点,其中,像素点97和像素点98为图像上的左眼瞳孔点和右眼瞳孔点。人脸姿态特征检测模块213被配置为基于人脸检测的结果和关键点提取模块212的结果计算出人脸姿态特征值,最后将这三个子模块的结果输出给距离检测模块230。
距离检测模块230被配置为接收输入的人脸外接矩形框(由人脸检测模块211获取)、人脸的关键点(由关键点提取模块212获取)以及人脸姿态特征值(由人脸姿态特征检测模块213获取),并根据输入的数据获取人脸与显示面板之间的距离,将计算得到的距离输入提醒模块218。在本申请的一些实施例中,如图4所示,在本申请的一些实施例中距离检测模块230进一步包括四个子模块,瞳距测距模块214、人脸测距模块215、角度校正距离模块216以及距离平滑模块217,其中,瞳距测距模块214用于根据人脸关键点确定瞳孔之间欧式距离,人脸测距模块215用于获取人脸外接框、角度校正距离模块216用于根据水平角度的值校正欧式距离得到瞳孔距离或者用于根据竖直角度的值校正人脸外接框的高度值得到人脸高度,距离平滑模块217用于对第i距离和历史距离值进行平滑处理以获取与第i帧图像对应的最终的人脸与显示面板之间距离。
提醒模块218被配置为比较预设的距离阈值和计算得到的人脸与显示面板之间的距离,当计算得到的距离小于或等于距离阈值时,则生成预警提示信息,以提示相关用户。例如,可以通过声音、画面或者文字等方式来输出预警提示信息。
如图5所示,该图展示了获取人脸与智能电视的显示屏幕之间的距离方法的流程图,该方法包括如下步骤:
S301,获取一帧图像。
例如,采用图4的抓图模块210获取一帧图像。
S302,人脸特征提取。
利用图4的特征提取模块220来进行人脸特征提取,正如上文所述该特征提取模块包括人脸检测模块211、关键点提取模块212以及人脸姿态特征检测模块213。
人脸检测模块211利用预训练的模型来检测当前这一帧图像中的所有人脸。关键点提取模块212利用预训练的模型将人脸检测模块211检出的每个人脸的关键点检测出来,并将每一个人脸关键点的landmark(特征点)保存下来。人脸姿态特征检测模块213利用预训练的模型,将人脸检测模块211以及关键点提取模块212这两个模块的输出作为输入,检测出人脸姿态特征值。
在此步骤中,可以设定人脸的检出标准和一共应该检测出多少张人脸,如果没有检测到人脸或者检测到的人脸数小于设定数目,则不进行后续步骤,而是重新获取新的一帧图像,继续执行该步骤,具体地,如图6所示,这个过程示例性包括:S401输入一帧图像。S402,检测出符合人脸检出标准的所有人脸。S403,判断是否有人脸,如果有则执行S404,否则返回S401等待输入下一帧图像。S404,人脸关键点检出。S405,判断是否有人脸检出了关键点,如果是则执行S406,否则返回S401等待输入下一帧图像。S406,人脸姿态特征检测。S407,判断是否有人脸姿态特征被检出,如果是则执行S408的下一步即输入距离检测模块获取人脸与显示面板之间的距离,否则返回S401等待输入下一帧图像。
需要说明的是,S402涉及的人脸检出标准包括但不限于:检测出的人脸的大小大于设定的阈值或者检测出的人脸的置信度大于设定的阈值等情况。用于人脸检测的预训练模型包括但不限于:基于深度学习训练出的能够完成人脸检测的任一模型,能够完成人脸关键点landmark(至少包含人眼瞳孔点)检测的任一模型,能够完成人脸姿态特征(至少包含水平角度的值yaw与竖直角度的值pitch角度)检测的任一模型。人脸关键点检测模型可以采用如下模型之一:PFLD全称A Practical Facial Landmark Detector、TCDCN(Tasks-Constrained Deep Convolutional Network)、DAN(Deep Alignment Networks)或者TCNN(Tweaked Convolutional Neural Networks)。
S303,判断人脸特征是否提取成功,如果是则执行S304,否则执行S301来获取下一帧图像。
S304,距离检测,即由距离检测模块根据特征提取模块提取的特征计算人脸与显示面板之间的距离,正如上文描述的距离检测模块包括:瞳距测距模块214、人脸测距模块215、角度校正距离模块216以及距离平滑模块217。
在一些实施例中,采用图像上瞳孔之间的欧式距离作为瞳孔距离,即由瞳距测距模块214获取瞳孔距离。例如,利用S302中的结果(该结果包括每一个人脸的外接矩形框,人脸关键点,人脸姿态特征值)可以得到每一个人的人脸高度、瞳孔距离、人脸的水平角度yaw的值与人脸的竖直角度pitch的值,如图7,其中yaw表示人脸左右转动的角度,pitch表示人脸上下转动的角度。如图8是一个人脸的关键点landmark的示意图,得到landmark后,要计算瞳距P成像的像素距离,只需计算图8的点97(x97,y97)与点98(x98,y98)的距离,即P=sqrt((x98-x97)*(x98-x97)+(y98-y97)*(y98-y97)),其中,“sqrt”表征开算术平方根运算。
在本申请的一些实施例中,采用人脸外接框的高度值作为人脸高度。
与将欧式距离直接作为瞳孔距离或者将人脸外接框的高度值作为人脸高度的示例不同,在本申请的一些实施例中,将通过水平角度矫正后的欧式距离或者采用竖直交的的值矫正后的人脸外接框的高度值分别作为瞳孔距离和人脸高度。
例如,在本申请的一些实施例中将根据图像得到的左眼瞳孔与右眼瞳孔之间的欧式距离输入给角度校正距离模块进行角度映射处理即完成校正过程,该角度校正距离模块216的功能可以结合图9进行阐述,在图9中L为基于成像平面计算出来的瞳孔初始图像距离,即图9的左眼瞳孔关键点97’与右眼瞳孔关键点98’两点的像素距离等于图8中的左眼瞳孔关键点97以及右眼瞳孔关键点98之间的像素距离,若人脸相对于显示面板有一个偏航角即水平角度的值yaw=β,那么瞳孔距离应该为图9中的L’对应的97”与98”的距离。为了消除角度带来误差,瞳孔距离为L’=L/cosβ,其中,L为瞳孔初始图像距离,经过角度映射后,得到矫正后的欧式距离,将该矫正后的欧式距离作为上述公式(1)中所需的瞳孔距离。在本申请的另一些实施例中也可能根据人脸高度来计算人脸与显示面板之间的距离,此时可以通过竖直角度的值来修正人脸高度得到校正后的人脸高度值,然后作为上述公式(3)的人脸高度的具体取值,并计算得到人脸与显示面板之间的距离。
作为一个示例,当采用标定方式获取水平焦距、竖直焦距后就可以根据如下过程得到人脸与显示面板之间的距离。例如,通过标定方式得到了等效焦距(包括水平焦距和竖直焦距)后,若距离检测模块采用瞳孔距离计算人眼与显示面板之间的距离,则计算公式为:Z=fx*MN/M’N’,若采用人脸高度计算距离Z=fy*EF/E’F’。
也就是说,在本申请的一些实施例中,当确定人脸的水平角度yaw的值小于预设的水平角度阈值时,直接用瞳孔距离计算该距离,而当人脸的水平角度的值大于等于预设阈值时,且这时竖直角度pitch的值小于预设的竖直角度阈值,则用获取的人脸高度计算该距离,若上述条件都不满足则进行下一步即返回继续处理下一帧的结果。
下面结合图10详细阐述智能电视等智能设备如何根据获取的特征确定人脸与显示面板的过程。如图10所示,在本申请的一些实施例中,获取智能电视的显示面板与人脸之间距离的方法包括:S501,获取人脸外接矩形框(在一些实施例中,用于表征人脸高度)、人脸关键点(用于确定瞳孔距离)以及人脸姿态特征值。S502,依据人脸关键点计算瞳孔距离,例如,获取欧式距离作为瞳孔距离。S503,判断人脸的水平角度的值是否小于设定阈值,如果小于则执行S505即依据图像上左眼瞳孔和右眼瞳孔的欧式距离作为瞳孔距离,来计算人脸与显示屏幕之间的初始距离,否则执行S507。与这些实施例不同的是,在本申请的另一些实施例也可以在执行S503之后,将S502得到的欧式距离输入第一角度映射模块,该模块可以通过欧式距离和水平角度的值来修正欧式距离得到更加准确的瞳孔距离,之后再根据该瞳孔距离继续完成S505。
在本申请的一些实施例中,S507包括判断人脸的数值角度的值小于竖直角度阈值,当小于时则执行S509根据人脸框高度值计算人脸与显示屏幕之间的初始距离。与这些实施例不同的是,在执行S509之前也可以先采用第二角度映射模块的映射处理即根据竖直角度的值对人脸框高度值进行校正,并根据矫正后的人脸框高度值计算人脸与显示屏幕之间的初始距离,即此时S509的人脸框高度值是修正后的人脸框高度值。
为了进一步改善由于人脸旋转导致的距离突变,对于计算的人脸与显示面板之间的距离还可以做均值滤波以改善由于人脸旋转导致的距离突变,即执行图10的S506距离平滑。具体地,如图11所示,可以设置一个滑窗长度Len=3,把角度映射后计算得到人脸与显示面板之间的距离作为滑窗的输入即元素4,当滑窗满了,会把滑窗内最早进入的元素1弹出,滑窗中存在元素2、3、4(这些元素为三个历史距离值),距离平滑即对元素2、3、4求平均值,然后输出给提醒模块,该步骤可以一定程度减弱距离的突变。需要说明的是,在一些实施例中历史距离值也是距离平滑后的距离值。在本申请的另一些实施例中,滑窗中的各元素也可以是未经过平滑处理的距离值。
S305,判断距离检测是否成功,如果成功则执行S306,否则返回S301获取下一帧图像。
S306,判断是否需要提醒,如果是则执行S307,否则返回S301获取下一帧图像。
S307,提醒用户,即通过提醒模块218输出预警提示信息。
输出的均值处理后的距离值,作为该提醒模块218的输入,判断是否小于预设的阈值,若成立,则表示用户距离过近,会提示用户,提示方式不限于语音提示。若不成立,则继续处理后续输入的距离值。
应用在智能电视中,能够为用户提供很好的距离检测效果,提醒用户安全使用电视并保护用户的视力等。
S308,结束。
也就是说,在本申请的一些示例中依据图像上人脸关键点的左眼瞳孔点和右眼瞳孔点,直接计算两点欧式距离,可以得到瞳距。在本申请的一些实施例中,通过引入人脸姿态特征值(如图7,其中yaw表示人脸左右转动的角度,pitch表示人脸上下转动的角度),结合瞳距测距,用yaw消除同一位置,因为人脸偏头,造成距离突变的问题。在本申请的一些实施例中,通过引入人脸姿态特征值,结合人脸高度测距,在竖直交角度的值pitch较小时,水平角度的值yaw较大时,解决人脸向上看或向下看,造成距离突变的问题。在本申请的一些实施例中还引入均值滤波,对距离做平滑,抑制同一位置人脸角度变化导致的距离突变。为了计算距离需要得到摄像头的等效焦距fx,fy,采用小孔成像模型标定。
可以理解的是,与现有技术不管任何条件均采用瞳孔距离计算人眼与显示屏幕之间的距离的技术方案不同的是,本申请的一些实施例在根据人脸姿态特征值(例如,包括表示人脸左右转动的角度和表示人脸上下转动的角度)确认人脸左右旋转的程度较小时,才根据瞳孔距离来计算人眼到显示屏幕的距离,因此可以有效克服因为人脸偏头,造成距离突变的问题。与相关技术采用瞳孔距离来计算人眼与显示屏幕的距离的技术方案不同的是,在本申请的一些实施例中,还根据人脸姿态特征值确定人脸在左右旋转程度较大且上下旋转程度不大时,结合人脸高度测距来计算人眼到显示屏幕的距离,有效克服了由于人脸旋转导致的采用瞳孔距离计算人眼到显示屏幕的距离的算法准确度低且会造成的测量距离突变的问题。在本申请的一些实施例还引入均值滤波,对距离做平滑,抑制同一位置人脸角度变化导致的距离突变。
请参考图12,图12示出了本申请实施例提供的获取距离的装置,应理解,该装置与上述图2方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置的具体功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。装置包括至少一个能以软件或固件的形式存储于存储器中或固化在装置的操作系统中的软件功能模块,该获取距离的装置包括:特征获取模块601,被配置为获取第j对象在第i帧图像上的人脸高度、瞳孔距离以及人脸姿态特征值,其中,所述人脸姿态特征值用于表征人脸旋转属性,其中,i和j为大于或等于1的整数;距离计算模块602,被配置为执行如下操作:若根据所述人脸姿态特征值确认从所述人脸高度和所述瞳孔距离中选择一个作为图像距离,则至少依据所述图像距离和焦距计算所述第j对象的人脸与显示面板之间的距离;若根据所述人脸姿态特征值未获取图像距离,则通过获取第i+1帧图像来得到所述第j对象的人脸与显示面板之间的距离。
需要说明的是,在本申请的一些实施例中获取距离的装置还包括图4的抓图模块和特征提取模块,且图12的距离计算模块602对应图4的距离检测模块。
本申请的一些实施例提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述第一方面任意实施例所述的获取距离的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
本申请的一些实施例提供一种系统,所述系统包括一个或多个计算机和存储指令的一个或多个存储设备,当所述指令由所述一个或多个计算机执行时,使得所述一个或多个计算机执行根据上述获取距离的方法的操作。
本申请的一些实施例提供一种存储指令的一个或多个计算机存储介质,当所述指令由一个或多个计算机执行时,使得所述一个或多个计算机执行根据上述获取距离的方法中的操作。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (15)
1.一种获取距离的方法,其特征在于,所述方法包括:
获取第j对象在第i帧图像上的人脸高度、瞳孔距离以及人脸姿态特征值,其中,所述人脸姿态特征值用于表征所述第j对象的人脸旋转属性,i和j为大于或等于1的整数;
若根据所述人脸姿态特征值确认从所述人脸高度和所述瞳孔距离中选择一个作为图像距离,则至少依据所述图像距离和焦距计算所述第j对象的人脸与显示面板之间的距离,其中,所述焦距为用于采集所述第j对象的图像采集单元的属性参数值;
若根据所述人脸姿态特征值未获取图像距离,则针对第i+1帧图像重复上述过程,获取所述第j对象的人脸与显示面板之间的距离。
2.如权利要求1所述的方法,其特征在于,所述人脸姿态特征值包括水平角度的值,其中,所述水平角度的值用于表征所述第j对象的人脸左右旋转的角度;
所述根据所述人脸姿态特征值确认从所述人脸高度和所述瞳孔距离中选择一个作为图像距离,包括:
若确认所述水平角度的值小于或等于水平角度阈值时,则确认选择所述瞳孔距离作为所述图像距离;
所述至少依据所述图像距离和焦距计算人脸与显示面板之间的距离,包括:
根据瞳孔实际距离值,所述瞳孔距离和水平焦距计算所述人脸和所述显示面板之间的距离,其中,所述水平焦距是通过标定方式获取的。
3.如权利要求1-2任一项所述的方法,其特征在于,所述获取第j对象在第i帧图像上的瞳孔距离,包括:
根据瞳孔识别模型获取所述第j对象在所述第i帧图像上的左眼瞳孔点和右眼瞳孔点;
计算所述左眼瞳孔点和右眼的瞳孔点之间的欧式距离得到所述瞳距离。
4.如权利要求2-3任一项所述的方法,其特征在于,所述根据所述左眼瞳孔点和右眼的瞳孔点之间的欧式距离得到所述瞳距距离,包括:
计算所述左眼瞳孔点和右眼的瞳孔点之间的欧式距离得到瞳孔初始图像距离;
根据所述水平角度的值校正所述瞳孔初始图像距离,得到所述瞳孔距离。
5.如权利要求2-4任一项所述的方法,其特征在于,所述人脸姿态特征值还包括竖直角度的值,所述竖直角度的值用于表征所述第j对象的人脸上下旋转的角度;
所述根据所述人脸姿态特征值确认从所述人脸高度和所述瞳孔距离中选择一个作为图像距离,包括:
若确认所述水平角度大于所述水平角度阈值且确认所述竖直角度的值小于竖直角度阈值时,则确认选择所述人脸高度作为所述图像距离;
所述至少依据所述图像距离和焦距计算人脸与显示面板之间的距离,包括:
根据人脸实际高度值、所述人脸高度以及竖直焦距计算所述人脸和所述显示面板之间的距离,其中,所述竖直焦距是通过标定方式获取的。
6.如权利要求4-5任一项所述的方法,其特征在于,所述人脸高度是通过人脸检测算法在所述第i帧图像上获取的所述第j对象的人脸外接框的高度。
7.如权利要求4-5任一项所述的方法,其特征在于,所述人脸高度是通过如下方式获取的:
通过人脸检测算法在所述第i帧图像上获取所述第j对象的人脸外接框;
根据所述竖直角度的值校正所述人脸外接框的高度,得到所述人脸高度。
8.如权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:
根据人脸关键点检测模型提取所述第j对象的人脸关键点;
其中,
所述人脸姿态特征值是将所述人脸关键点和人脸外接框输入人脸姿态获取模型得到的。
9.如权利要求1-8任一项所述的方法,其特征在于,所述方法还包括:通过所述第i帧图像的前一帧或前多帧图像获取所述第j对象与所述显示面板之间的历史距离值;
所述至少依据所述图像距离和焦距计算所述第j对象的人脸与显示面板之间的距离,包括:
根据所述第i帧图像获取所述第j对象的人脸与所述显示面板之间的第i距离值;
根据所述第i距离值和所述历史距离值得到所述距离。
10.如权利要求8-9所述的方法,其特征在于,所述方法还包括:通过滑窗存储所述历史距离值;其中,
所述根据所述第i距离值和所述历史距离值得到所述距离,包括:
将所述第i距离值存入所述滑窗;
计算所述滑窗存储的所有数据的平均值得到所述距离。
11.如权利要求1-10任一项所述的方法,其特征在于,所述获取第j对象在第i帧图像上的人脸高度、瞳孔距离以及人脸姿态特征值之前,所述方法还包括:
确认检测到所述第i帧图像上的所有对象;
确认提取到所述所有对象的人脸关键点,其中,所述人脸关键点至少包括左眼瞳孔点和右眼瞳孔点;
确认获取所述所有对象的人脸姿态特征值。
12.一种智能设备,其特征在于,所述智能设备包括:
显示面板;
抓图模块,被配置为获取各帧图像,其中,所述各帧图像是由图像采集单元对正在观看所述显示面板上节目的观看对象进行拍摄得到的;
特征提取模块,被配置为:检测所述各帧图像中存在的人脸得到各人脸的人脸外接框,并对检测到的人脸提取关键点特征,以及根据人脸检测框和所述关键点特征得到人脸姿态特征值;
距离检测模块,被配置为对每一帧图像上的检测得到的每一个对象执行如下操作:获取第j对象在第i帧图像上的人脸高度、瞳孔距离以及人脸姿态特征值,其中,所述人脸姿态特征值用于表征所述第j对象的人脸旋转属性,i和j为大于或等于1的整数;若根据所述人脸姿态特征值确认从所述人脸高度和所述瞳孔距离中选择一个作为图像距离,则至少依据所述图像距离和焦距计算所述第j对象的人脸与显示面板之间的距离;若根据所述人脸姿态特征值未获取图像距离,则针对第i+1帧图像重复上述过程,获取所述第j对象的人脸与显示面板之间的距离;
提醒模块,被配置为通过比较确认计算得到的人脸与显示面板之间的距离大于或等于设定的距离阈值时生成并提供预警提示信息。
13.一种系统,所述系统包括一个或多个计算机和存储指令的一个或多个存储设备,当所述指令由所述一个或多个计算机执行时,使得所述一个或多个计算机执行根据权利要求1-11中任一项所述的相应方法的操作。
14.一种存储指令的一个或多个计算机存储介质,当所述指令由一个或多个计算机执行时,使得所述一个或多个计算机执行根据权利要求1-11中任一项所述的相应方法的操作。
15.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1-11中任意一项所述的获取距离的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111315511.9A CN116086396A (zh) | 2021-11-08 | 2021-11-08 | 一种获取距离的方法、装置、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111315511.9A CN116086396A (zh) | 2021-11-08 | 2021-11-08 | 一种获取距离的方法、装置、系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116086396A true CN116086396A (zh) | 2023-05-09 |
Family
ID=86187435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111315511.9A Pending CN116086396A (zh) | 2021-11-08 | 2021-11-08 | 一种获取距离的方法、装置、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116086396A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117850599A (zh) * | 2024-02-22 | 2024-04-09 | 荣耀终端有限公司 | 距离确定方法、距离检测模型生成方法和距离确定系统 |
-
2021
- 2021-11-08 CN CN202111315511.9A patent/CN116086396A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117850599A (zh) * | 2024-02-22 | 2024-04-09 | 荣耀终端有限公司 | 距离确定方法、距离检测模型生成方法和距离确定系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9530078B2 (en) | Person recognition apparatus and person recognition method | |
KR101426952B1 (ko) | 정보처리 장치, 정보처리 방법, 개인 식별 장치 및 개인 식별 장치에서 사전 데이터 생성/갱신 방법 | |
US7742624B2 (en) | Perspective improvement for image and video applications | |
US20070189584A1 (en) | Specific expression face detection method, and imaging control method, apparatus and program | |
CN110688930B (zh) | 人脸检测方法、装置、移动终端及存储介质 | |
WO2020125499A1 (zh) | 一种操作提示方法及眼镜 | |
US20130286161A1 (en) | Three-dimensional face recognition for mobile devices | |
WO2019153927A1 (zh) | 屏幕显示方法、具有显示屏幕的装置、设备及存储介质 | |
García et al. | Driver monitoring based on low-cost 3-D sensors | |
US10254831B2 (en) | System and method for detecting a gaze of a viewer | |
MX2013002904A (es) | Aparato de proceso de imagenes de personas y metodo para procesar imagenes de personas. | |
CN111199165B (zh) | 图像处理方法及装置 | |
CN112101123B (zh) | 一种注意力检测方法及装置 | |
KR101202448B1 (ko) | 홍채 인식 장치 및 홍채 인식 방법 | |
CN109389018B (zh) | 一种人脸角度识别方法、装置及设备 | |
WO2018078857A1 (ja) | 視線推定装置、視線推定方法及びプログラム記録媒体 | |
WO2021164678A1 (zh) | 虹膜自动捕捉方法、装置、计算机可读存储介质及计算机设备 | |
CN112464793A (zh) | 一种在线考试作弊行为检测方法、系统和存储介质 | |
JP5971712B2 (ja) | 監視装置及び方法 | |
CN112733619A (zh) | 采集设备的位姿调整方法、装置、电子设备及存储介质 | |
CN107368817B (zh) | 人脸识别方法和装置 | |
CN116086396A (zh) | 一种获取距离的方法、装置、系统及存储介质 | |
CN114894337A (zh) | 一种用于室外人脸识别测温方法及装置 | |
CN112257507A (zh) | 一种基于人脸瞳间距判断距离及人脸有效性的方法和装置 | |
CN114093007A (zh) | 双目摄像头人脸图像异常监测的方法及系统 |
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 |