具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例。相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
下面将参考附图并结合实施例来详细说明本公开。
图1是根据本公开一些实施例的视力检测方法的一个应用场景的示意图。
如图1所示,当用户102需要进行视力检测时,可以位于视力检测设备101的预设区域。视力检测设备101可以包括视力采集镜头1011、显示屏1012和伺服机构1013。其中,视力采集镜头1011用于采集目标用户的眼睛三维坐标以及遮挡等信息;显示屏1012用于向目标用户102显示视力测试图像;伺服机构1013用于调整显示屏1012的空间位置。需要说明的是,本申请中,视力采集镜头1011和显示屏1012的位置相对固定。当视力检测设备101通过视力采集镜头1011等检测到一定大小的人脸或识别到特定人员时,可以认为需要进行视力检测。此时,视力检测设备101可以通过视力采集镜头1011检测目标用户的眼睛三维坐标。实际中,不同目标用户102的身高通常不同,对应的,眼睛在空间的位置也不同。为了得到目标用户102的准确有效的视力检测结果,视力检测设备101可以通过伺服机构1013调整视力采集镜头1011相对于目标用户的眼睛处于预设位置。例如,伺服机构1013可以调整在水平面的位置(如,相对于目标用户的前后方向和左右方向),以使得视力采集镜头1011与目标用户102的眼睛处于预设位置。视力采集镜头1011与目标用户102的眼睛处于预设位置时,可以使得显示屏1012的中点与目标用户102的瞳孔中心位于水平面。如此,为后续测得视力检测结果的准确性和有效性奠定了基础。之后,视力检测设备101通过显示屏1012显示视力检测图像,并检测目标用户102的反馈信号。最后,视力检测设备101根据反馈信号和视力检测图像生成视力检测结果。如此实现了目标用户自主完成视力检测,保证了视力检测结果的准确性和便捷性。
继续参考图2,图2示出了根据本公开的视力检测方法的一些实施例的流程200。该视力检测方法,应用于包括视力采集镜头1011和显示屏1012的视力检测设备101,包括以下步骤:
步骤201,通过上述视力检测设备的视力采集镜头检测目标用户的眼睛三维坐标。
在一些实施例中,视力检测方法的执行主体(例如图1所示的视力检测设备101)可以通过采集镜头1011进行人脸检测和识别。当执行主体检测到一定大小的人脸或识别到特定人员时,可以通过视力采集镜头1011检测目标用户的眼睛三维坐标。具体的,执行主体可以通过视力采集镜头1011采集目标用户的图像,然后从图像中识别出人脸图像,在人脸图像的基础上再检测眼睛三维目标。
步骤202,基于上述眼睛三维坐标,调整上述视力采集镜头相对于目标用户的眼睛处于预设位置。
在一些实施例中,执行主体可以在获取到目标用户的眼睛三维坐标后,通过调整伺服机构1013,使得视力采集镜头1011相对于目标用户的眼睛处于预设位置。在预设位置时,显示屏1012的中点与目标用户102的瞳孔中心位于水平面,如此,保证了后续视力检测的准确有效。
步骤203,通过上述视力检测设备的显示屏显示至少一个视力检测图像,并检测上述目标用户的对应上述至少一个视力检测图像的反馈信号。
在一些实施例中,当视力采集镜头相对于目标用户的眼睛处于预设位置时,显示屏1012的中点与目标用户102的瞳孔中心位于水平面,此时,执行主体可以在显示屏1012显示至少一个视力检测图像。其中,视力检测图像根据需要可以不同,例如视力检测图像可以是“E字表”,还可以是“C字表”等。目标用户可以根据显示的视力检测图像做出反馈,执行主体可以通过视力采集镜头1011检测反馈信号。
步骤204,响应于接收到对应上述至少一个视力检测图像的反馈信号,根据上述反馈信号和至少一个视力检测图像,生成上述目标用户的视力检测结果。
当执行主体接收到反馈信号后,可以将反馈信号与对应的视力检测图像进行匹配,根据匹配结果生成上述目标用户的视力检测结果。需要说明的是,根据不同的视力检测项目,视力检测图像的内容和数量可以不同。
本公开的一些实施例公开的视力检测方法得到的视力检测结果,视力检测的精确度和便捷性有所提高。具体来说,造成视力检测不够精确的原因在于:现有人工视力检测方法和现有设备检测视力方法不能严格按照视力测试要求进行测试。基于此,本公开的一些实施例的视力检测方法首先通过视力检测设备的视力采集镜头检测目标用户的眼睛三维坐标,获取到目标用户的眼睛在实际中的空间坐标;然后基于上述眼睛三维坐标,调整上述视力采集镜头相对于目标用户的眼睛处于预设位置,其中,预设位置满足视力测试要求。如此,为保证视力测试的准确性提供了基础;之后,通过上述视力检测设备的显示屏显示至少一个视力检测图像,并检测上述目标用户的对应上述至少一个视力检测图像的反馈信号;响应于接收到对应上述至少一个视力检测图像的反馈信号,根据上述至少一个视力检测图像和反馈信号,生成上述目标用户的视力检测结果。如此实现了目标用户自主完成视力检测,并在视力检测过程中对目标用户的行为和状态进行检查,保证了视力检测结果的准确性和便捷性。
继续参考图3,图3示出了根据本公开的视力检测方法的一些实施例的流程300。该视力检测方法,应用于包括视力采集镜头1011、显示屏1012、伺服机构1013的视力检测设备101,包括以下步骤:
步骤301,将上述视力检测设备的视力采集镜头当前位置设置为空间原点,并通过上述第一摄像头和第二摄像头分别采集上述目标用户的第一图像和第二图像。
在一些实施例中,当目标用户位于预设区域后位置不再变化时,执行主体可以开始进行视力测试。执行主体可以首先将视力检测设备101的视力采集镜头1011当前位置设置为空间原点。具体的,执行主体根据自身的尺寸信息以及伺服机构1013在垂直面的提升距离,可以确定视力采集镜头1011在空间的坐标,进而将视力采集镜头的空间坐标设置为空间原点。之后,通过视力采集镜头包括的第一摄像头和第二摄像头采集第一面部图像和第二面部图像。其中,本申请的X轴和Y轴分别为水平方向、竖直方向,Z轴为相机的光轴。
本申请通过第一摄像头和第二摄像头获取第一面部图像和第二面部图像的方式实现视力检测的图像采集,具有较强的抗干扰性能;同时,相比于现有技术用到的深度相机、红外相机等设备,本申请的第一摄像头和第二摄像头可以采用普通的RGB摄像头,具有更好的通用性。
步骤302,分别从第一图像和第二图像中识别第一眼部图像和第二眼部图像。
执行主体可以通过现有的多种分析方法,从分别从第一图像和第二图像中识别第一眼部图像和第二眼部图像。
步骤303,基于上述第一摄像头和第二摄像头之间的旋转矩阵、平移矩阵,第一眼部图像和第二眼部图像得到目标用户的眼睛三维坐标。
由上述描述可知,第一摄像头和第二摄像头之间存在距离,且可能第一摄像头和第二摄像头不在同一水平线。为此,执行主体可以通过第一摄像头和第二摄像头之间的旋转矩阵、平移矩阵、第一眼部图像和第二眼部图像得到目标用户的眼睛三维坐标。
在一些实施例的一些可选的实现方式中,上述基于上述第一摄像头和第二摄像头之间的旋转矩阵、平移矩阵,第一眼部图像和第二眼部图像得到目标用户的眼睛三维坐标,可以包括以下步骤:
第一步,使用上述第一摄像头和第二摄像头之间的旋转矩阵、平移矩阵对上述第一眼部图像和第二眼部图像进行矫正,使得上述第一眼部图像和第二眼部图像处于同一水平面。
实际中,在生产制造环节或视力测试环节,都可能导致第一摄像头和第二摄像头在视力测试时没有在同一水平面。此时,执行主体可以使用上述第一摄像头和第二摄像头之间的旋转矩阵、平移矩阵对上述第一眼部图像和第二眼部图像进行矫正,使得矫正后的第一眼部图像和第二眼部图像处于同一水平面。
第二步,对上述第一眼部图像和第二眼部图像进行内容识别,确定至少一个眼部特征点组。
执行主体可以对第一眼部图像和第二眼部图像进行识别,识别出第一眼部图像和第二眼部图像包含的特征点,并确定至少一个眼部特征点组。其中,上述眼部特征点组中的两个特征点为同一个眼部点在第一眼部图像和第二眼部图像中的两个图像点。
第三步,基于上述空间原点、上述第一摄像头和第二摄像头之间的旋转矩阵、平移矩阵确定上述至少一个眼部特征点组的空间三维坐标。
执行主体可以基于空间原点、上述第一摄像头和第二摄像头之间的旋转矩阵、平移矩阵对眼部特征点组进行空间变换,以确定眼部特征点组在三维空间的坐标。
第四步,基于眼部特征点组的空间三维坐标得到目标用户的眼睛三维坐标。
确定了眼部特征点组的空间三维坐标后,执行主体可以确定目标用户的眼睛三维坐标。例如,眼部特征点组可以基于眼睛瞳孔对称选择,则执行主体可以将多个眼部特征点组的坐标均值设置为目标用户的眼睛三维坐标。
步骤304,通过上述眼睛三维坐标调整上述视力检测设备的伺服机构,使得调整后视力采集镜头相对于目标用户的眼睛处于预设位置。
上述视力检测设备还包括伺服机构1013。执行主体的伺服机构可以在空间的三个维度调整。执行主体可以通过上述眼睛三维坐标调整上述视力检测设备的伺服机构,以使得视力采集镜头相对于目标用户的眼睛处于预设位置。如此,保证了视力检测的准确性和有效性。
在一些实施例的一些可选的实现方式中,上述通过上述眼睛三维坐标调整上述视力检测设备的伺服机构,使得调整后视力采集镜头相对于目标用户的眼睛处于预设位置,包括:将上述显示屏中心相对于上述视力采集镜头的y坐标值与目标用户的眼睛三维坐标中的y坐标的差值,确定为上述伺服机构的y轴调整量。
本申请中,显示屏中心相对于视力采集镜头位置和朝向固定。在通过伺服机构调整时,执行主体可以将显示屏相对于视力采集镜头的y坐标值与目标用户的眼睛三维坐标中的y坐标的差值确定为上述伺服机构的y轴调整量。即,当视力采集镜头与眼睛处于同一水平面时,则伺服机构的y轴调整量为视力采集镜头和显示屏的中点之间的距离差。如此,可以使得调整后的显示屏的中点与目标用户的眼睛处于同一水平面。具体的,y轴调整量可以通过以下公式计算得到:
Δy=yc-ye (1)
其中,Δy表示y轴调整量;yc表示显示屏中心相对于视力采集镜头的纵坐标;ye表示目标用户眼睛的三维坐标(xe,ye,ze)中的y轴坐标。
在一些实施例的一些可选的实现方式中,上述通过上述眼睛三维坐标调整上述视力检测设备的伺服机构,使得调整后视力采集镜头相对于目标用户的眼睛处于预设位置,可以包括以下步骤:
第一步,基于上述视力采集镜头获取上述目标用户的面部特征点。
确定了伺服机构的y轴调整量后,执行主体还需要调整伺服机构的x轴调整量和z轴调整量。执行主体可以基于视力采集镜头获取上述目标用户的面部特征点。
第二步,基于上述面部特征点确定面部朝向向量。
通过面部特征点构成的面部区域,以及空间原点,可以确定面部朝向向量。面部朝向向量可以表征目标用户的面部与视力采集镜头或显示屏之间的方向,可以通过(x`,y`,z`)表示。
第三步,对上述面部朝向向量中的x坐标和z坐标归一化,得到归一化x坐标和归一化z坐标。
为了便于向量的计算,执行主体可以对面部朝向向量中的x坐标和z坐标归一化,得到归一化x坐标和归一化z坐标。
第四步,基于上述预设的测试距离、归一化x坐标和归一化z坐标,调整上述伺服机构的x轴调整量和z轴调整量。
确定了归一化x坐标和归一化z坐标后,执行主体可以基于预设的测试距离,调整伺服机构的x轴调整量和z轴调整量。其中,预设的测试距离用于表征视力测试时,目标用户的眼睛与显示屏之间的标准距离。执行主体可以通过预设的测试距离调整x轴调整量和z轴调整量。其中,x轴调整量和z轴调整量可以用于表征目标用户的眼睛和显示屏在水平面的位置关系。x轴调整量用于调整显示屏处于目标用户的眼睛正前方;z轴调整量用于调整显示屏和目标用户的眼睛之间为预设的测试距离。此时,通过调整伺服机构的y轴调整量、x轴调整量和z轴调整量,可以使得目标用户的眼睛和显示屏处于同一水平面且距离满足预设的测试距离。x轴调整量和z轴调整量可以通过以下公式计算得到:
xdst=xe-D×x`` (2)
zdst=ze-D×z`` (3)
其中,xdst表示x轴调整量;xe表示目标用户眼睛的三维坐标(xe,ye,ze)中的x轴坐标;D表示预设的测试距离;x``表示面部朝向向量(x`,y`,z`)中的x轴方向归一化后的坐标值;zdst表示z轴调整量;ze表示目标用户眼睛的三维坐标(xe,ye,ze)中的z轴坐标;z``表示面部朝向向量(x`,y`,z`)中的z轴方向归一化后的坐标值。
第五步,通过上述归一化x坐标计算上述伺服机构的旋转角度。
目标用户与显示屏处于同一水平面且距离满足预设的测试距离时,还可能出现双眼没有正对显示屏的情况,如果在此状态下检测视力,也会导致检测不准确。因此,执行主体还需要进一步调整伺服机构的旋转角度,以使得目标用户的双眼正对显示屏。如此实现了用户正对显示屏,与显示屏处于同一水平面且距离满足预设的测试距离,保证了后续视力检测结果的准确性和有效性。旋转角度可以通过以下公式计算得到:
Δθ=90-arcsinx`` (4)
其中,Δθ表示旋转角度。
步骤305,通过上述视力检测设备的显示屏显示至少一个视力检测图像,通过上述视力采集镜头实时获取上述目标用户的眼睛状态信息。
在确定了目标用户的眼睛相对于视力采集镜头处于预设位置(或显示屏与眼睛处于同一水平面)后,执行主体可以开始进行视力测试。具体的,执行主体可以在显示屏显示至少一个视力检测图像,执行主体可以通过上述视力采集镜头实时获取上述目标用户的眼睛状态信息。其中,上述眼睛状态信息包括以下至少一项:眼睛的遮挡状态、佩戴眼镜状态。眼睛状态信息需要在整个视力检测过程中实时检测,以保证视力检测结果的有效性,避免出现视力检测过程中出现作弊等情况。需要说明的是,视力检测图像需要显示在显示屏的中点位置,以尽量保证视力检测图像与目标用户的眼睛处于水平面,进一步提高视力检测结果的准确性和有效性。
步骤306,对于上述至少一个视力检测图像中的视力检测图像,响应于上述眼睛状态信息与该视力检测图像的检测要求匹配,检测上述目标用户的对应当前的视力检测图像的反馈信号;否则,发送对应上述眼睛状态信息的第一调整信息。如此实现了目标用户自主完成视力检测。
执行主体可以首先检测眼睛状态信息是否与该视力检测图像的检测要求匹配。例如,视力检测图像用于指示检测右眼视力,检测要求可以是左眼遮挡,右眼不遮挡。则对应的眼睛状态信息应该是目标用户的左眼处于完全遮挡的情况。如果目标用户的左眼被完全遮挡,则眼睛状态信息与该视力检测图像匹配,否则就不匹配。当匹配时,执行主体可以检测上述目标用户的对应当前的视力检测图像的反馈信号。反馈信号可以是目标用户的手势,也可以是目标用户的语音信号。当眼睛状态信息与该视力检测图像的检测要求不匹配时,执行主体可以发送第一调整信息,告知目标用户应该如何调整。其中,上述第一调整信息用于指示目标用户调整当前的眼睛遮挡状态,可以包括以下至少一项:语音调整信息、图像调整信息。
在一些实施例的一些可选的实现方式中,上述响应于上述眼睛状态信息与该视力检测图像匹配,检测上述目标用户的对应当前的视力检测图像的反馈信号,可以包括以下步骤:
第一步,响应于该视力检测图像为主视力检测图像,获取上述目标用户的第一面部检测图像。
当视力检测图像为主视力检测图像时,需要检测目标用户的主视力,则主视力检测图像可以是“E字表”等。此时,执行主体可以首先获取上述目标用户的第一面部检测图像。第一面部检测图像为在显示主视力检测图像时,目标用户的面部图像。
第二步,响应于上述第一面部检测图像包含眼睛图像,并且上述眼睛图像对应的眼睛状态信息与上述主视力检测图像的检测要求匹配,显示上述主视力检测图像的第一测试图像,并根据用户的图像检测第一反馈子信号。
当第一面部检测图像中眼睛状态信息与上述主视力检测图像的检测要求匹配时,说明可以正常进行测试。此时,执行主体可以显示上述主视力检测图像的第一测试图像,并根据用户的手势信息检测第一反馈子信号。
在一些实施例的一些可选的实现方式中,上述眼睛图像对应的眼睛状态信息与上述主视力检测图像的检测要求匹配,显示上述主视力检测图像的第一测试图像,可以包括以下步骤:
第一步,通过基于深度学习的目标检测方法对上述第一面部检测图像中的眼睛进行定位。
执行主体可以通过基于深度学习的目标检测方法从第一面部检测图像中对眼睛图像进行定位。例如,可以通过基于深度学习的目标检测方法给出第一面部检测图像中包含眼睛的矩形框。
第二步,响应于定位到左眼,判定左眼遮挡状态为未遮挡,否则左眼遮挡状态为遮挡;响应于定位到右眼,判定右眼遮挡状态为未遮挡,否则右眼遮挡状态为遮挡。
执行主体可以根据图像确定左眼和右眼之间的相对位置(例如,图像中的左眼对应实际中的右眼,图像中的右眼对应实际中的左眼)。然后,当执行主体定位到左眼时,可以判定左眼遮挡状态为未遮挡,否则左眼遮挡状态为遮挡。同理,当执行主体定位到右眼时,可以判定右眼遮挡状态为未遮挡,否则右眼遮挡状态为遮挡。
在一些实施例的一些可选的实现方式中,上述眼睛图像对应的眼睛状态信息与上述主视力检测图像的检测要求匹配,显示上述主视力检测图像的第一测试图像,可以包括以下步骤:
第一步,通过基于深度学习的目标检测方法对上述第一面部检测图像中的眼镜图像进行定位。
执行主体可以通过深度学习的目标检测方法对第一面部检测图像进行检测,以确定第一面部检测图像中是否存在眼镜图像。当存在眼镜图像时,可以对眼镜图像进行定位。
第二步,响应于定位到眼镜图像,判定用户佩戴了眼镜,否则用户未佩戴眼镜。
当执行主体定位到眼镜图像时,可以判定用户佩戴了眼镜,否则用户未佩戴眼镜。
在一些实施例的一些可选的实现方式中,上述显示上述主视力检测图像的第一测试图像,可以包括以下步骤:
第一步,基于上述第二距离确定第一测试图像的显示尺寸信息。
现有检测视力时,视力检测图像(例如可以是E字表)的大小固定,并固定设置在墙体上。用户需要在视力检测图像正面设定距离(例如可以是3米)处进行视力测试。但是,用户在通过移动设备检测视力时,通常无法做到与移动设备距离3进行视力测试。当用户与移动设备距离3米时,已经不易看到移动设备的显示屏上的内容。为此,执行主体可以基于第二距离确定第一测试图像的显示尺寸信息。例如,当用户与移动设备距离2米时,对应的视力检测图像相应减小,以模拟用于距离实际的视力检测图像3米的场景。
第二步,通过上述显示尺寸信息和显示屏的显示密度确定显示上述第一测试图像的像素个数。
确定了显示尺寸信息后,执行主体可以结合显示屏的显示密度确定显示上述第一测试图像的像素个数。如此,实现了在移动设备上,基于第二距离来显示第一测试图像,保证了测试结果的准确性和有效性。
在一些实施例的一些可选的实现方式中,上述根据用户的手势图像检测第一反馈子信号,可以包括以下步骤:
第一步,通过上述镜头采集对应上述第一测试图像的用户图像。
执行主体可以通过镜头采集目标用户的对应上述第一测试图像的用户图像。执行主体可以首先预设当前第一测试图像对应的基准手势信号,然后基于预设的基准手势信号显示对应的手势提示信号,目标用户可以基于手势提示信号和第一测试图像,做出对应的手势,以便镜头采集对应的用户图像。
第二步,通过单阶段深度学习目标检测模型从上述用户图像中定位用户手部位置的同时确定用户手势类别信息,将上述用户手势类别信息设置为第一反馈子信号。
执行主体可以通过单阶段深度学习目标检测模型对用户图像进行识别,定位到用户手部位置的同时确定用户手势类别信息,将用户手势类别信息设置为第一反馈子信号。其中,用户手势类别信息与第一测试图像对应,可以用于表征对第一测试图像的识别结果。
在一些实施例的一些可选的实现方式中,上述用于确定目标用户手势的单阶段深度学习目标检测模型可使用多任务学习算法进行训练,即在模型训练阶段联合学习目标检测和手部关键点位置信息,模型的损失是目标检测损失和手部关键点回归损失的加权和。模型的损失可以通过以下公式计算得到:
Loss=lossobject+λ×losslandmark (5)
其中,Loss表示模型的损失;lossobject表示目标检测损失;λ表示权值,0<λ<1;losslandmark表示手部关键点回归损失。
通过本申请的手势识别方法,减少了累计误差,对复杂背景、光照的图像,具有更好的鲁棒性。
在一些实施例的一些可选的实现方式中,上述响应于上述眼睛状态信息与该视力检测图像的检测要求匹配,检测上述目标用户的对应当前的视力检测图像的反馈信号,可以包括以下步骤:
第一步,响应于该视力检测图像为色觉检测图像,获取上述目标用户的第二面部检测图像。
当视力检测图像为色觉检测图像时,执行主体可以,获取上述目标用户的第二面部检测图像。
第二步,响应于检测到上述第二面部检测图像中眼睛状态信息与上述色觉检测图像的检测要求匹配,并根据用户的手势信息检测第二反馈子信号。
色觉检测可以要求目标用户遮挡一个眼睛来进行测试。执行主体可以检测上述第二面部检测图像中眼睛遮挡状态是否与上述色觉检测图像匹配。当匹配时,执行主体可以根据用户的手势信息检测第二反馈子信号;当不匹配时,执行主体可以进行信息提示,以使得目标用户的眼睛状态符合色觉检测。
需要说明的是,上述是对视力检测图像为主视力检测图像和色觉检测检测图像进行的说明,根据需要,视力检测图像还可以是其他检测视力的图像。并且,在检测视力的过程中,眼睛状态信息都需要与视力检测图像处于匹配的状态,否则需要发出调整信息或告警。
步骤307,响应于接收到对应上述至少一个视力检测图像的反馈信号,根据上述至少一个视力检测图像和反馈信号,生成上述目标用户的视力检测结果。
步骤307的内容与步骤204的内容相同,此处不再一一赘述。
继续参考图4,图4示出了根据本公开的视力检测方法的一些实施例的流程400。该视力检测方法,应用于包括视力采集镜头1011、显示屏1012、伺服机构1013的视力检测设备101,包括以下步骤:
步骤401,通过上述视力检测设备的视力采集镜头检测目标用户的眼睛三维坐标。
步骤402,基于上述眼睛三维坐标,调整上述视力采集镜头相对于目标用户的眼睛处于预设位置。
步骤403,通过上述视力检测设备的显示屏显示至少一个视力检测图像,并检测上述目标用户的对应上述至少一个视力检测图像的反馈信号。
步骤401至步骤403的内容与步骤201至步骤203的内容相同,此处不再一一赘述。
步骤404,响应于接收到对应上述至少一个视力检测图像的反馈信号,通过上述显示屏显示上述反馈信号。
当执行主体接收到对应上述至少一个视力检测图像的反馈信号后,可以通过上述显示屏显示上述反馈信号。显示反馈信号可以使得用户知晓自己做出的手势被执行主体识别的结果,避免出现目标用户想要表达的手势含义和系统识别手势含义不同,导致不必要的识别错误的问题。如此,可以进一步提高视力检测结果的准确性和有效性。
步骤405,响应于检测到对应上述反馈信号的确认信息,根据上述至少一个视力检测图像和反馈信号,生成上述目标用户的视力检测结果;否则,根据上述目标用户的第二调整信息更新上述反馈信号。
执行主体显示反馈信号后,当反馈信号与目标用户想要表达的含义相同时,可以进行确认,例如,进行确认的信号可以是握拳等手势。执行主体检测到对应上述反馈信号的确认信息后,认为执行主体检测到的反馈信号与目标用户想要表达的含义相同。此时,执行主体可以根据上述至少一个视力检测图像和反馈信号,生成上述目标用户的视力检测结果。需要说明的是,视力检测结果可以通过一个视力检测图像得到,也可以通过多个视力检测图像得到。
当执行主体没有检测到对应上述反馈信号的确认信息时,说明执行主体得到的反馈信号和目标用户想要表达的含义不同。此时,执行主体可以再次检测用户的第二调整信息。例如,第二调整信息可以是目标用户通过双手交叉做出的手势,或对手势的空间位置调整后的手势。执行主体检测到该第二调整信息后,再根据第二调整信息更新反馈信号,上述第二调整信息包括以下至少一项:语音信息、手势信息。
进一步参考图5,作为对上述各图所示方法的实现,本公开提供了一种视力检测装置的一些实施例,这些装置实施例与图2所示的那些方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,一些实施例的视力检测装置500,应用于包括视力采集镜头和显示屏的视力检测设备,包括:眼睛三维坐标检测单元501、位置调整单元502、检测单元503和视力检测结果生成单元504。其中,眼睛三维坐标检测单元501,被配置成通过上述视力检测设备的视力采集镜头检测目标用户的眼睛三维坐标;位置调整单元502,被配置成基于上述眼睛三维坐标,调整上述视力采集镜头相对于目标用户的眼睛处于预设位置;检测单元503,被配置成通过上述视力检测设备的显示屏显示至少一个视力检测图像,并检测上述目标用户的对应上述至少一个视力检测图像的反馈信号;视力检测结果生成单元504,被配置成响应于接收到对应上述至少一个视力检测图像的反馈信号,根据上述反馈信号和至少一个视力检测图像,生成上述目标用户的视力检测结果。
在一些实施例的可选实现方式中,上述视力采集镜头包括第一摄像头和第二摄像头;以及,上述眼睛三维坐标检测单元501可以包括:面部图像采集子单元(图中未示出)、识别子单元(图中未示出)和眼睛三维坐标获取子单元(图中未示出)。其中,面部图像采集子单元,被配置成将上述视力检测设备的视力采集镜头当前位置设置为空间原点,并通过上述第一摄像头和第二摄像头分别采集上述目标用户的第一图像和第二图像;识别子单元,被配置成分别从第一图像和第二图像中识别第一眼部图像和第二眼部图像;眼睛三维坐标获取子单元,被配置成基于上述第一摄像头和第二摄像头之间的旋转矩阵、平移矩阵,第一眼部图像和第二眼部图像得到目标用户的眼睛三维坐标。
在一些实施例的可选实现方式中,上述眼睛三维坐标获取子单元可以包括:图像矫正模块(图中未示出)、特征点组确定模块(图中未示出)、眼睛三维坐标确定模块(图中未示出)和眼睛三维坐标获取模块(图中未示出)。图像矫正模块,被配置成使用上述第一摄像头和第二摄像头之间的旋转矩阵、平移矩阵对上述第一眼部图像和第二眼部图像进行矫正,使得上述第一眼部图像和第二眼部图像处于同一水平面;特征点组确定模块,被配置成对上述第一眼部图像和第二眼部图像进行内容识别,确定至少一个眼部特征点组,上述眼部特征点组中的两个特征点为同一个眼部点在第一眼部图像和第二眼部图像中的两个图像点;眼睛三维坐标确定模块,被配置成基于上述空间原点、上述第一摄像头和第二摄像头之间的旋转矩阵、平移矩阵确定上述至少一个眼部特征点组的空间三维坐标;眼睛三维坐标获取模块,被配置成基于眼部特征点组的空间三维坐标得到目标用户的眼睛三维坐标。
在一些实施例的可选实现方式中,上述视力检测设备还包括伺服机构;以及,上述位置调整单元502可以包括:位置调整子单元(图中未示出),被配置成通过上述眼睛三维坐标调整上述视力检测设备的伺服机构,使得调整后视力采集镜头相对于目标用户的眼睛处于预设位置。
在一些实施例的可选实现方式中,上述位置调整子单元可以包括:y轴调整量确定模块(图中未示出),被配置成将上述显示屏中心相对于上述视力采集镜头的y坐标值与目标用户的眼睛三维坐标中的y坐标的差值,确定为上述伺服机构的y轴调整量。
在一些实施例的可选实现方式中,上述位置调整子单元可以包括:面部特征点确定模块(图中未示出)、面部朝向向量确定模块(图中未示出)、坐标归一化模块(图中未示出)和x轴调整量、z轴调整量确定模块(图中未示出)和角度调整模块(图中未示出)。其中,面部特征点确定模块,被配置成基于上述视力采集镜头获取上述目标用户的面部特征点;面部朝向向量确定模块,被配置成基于上述面部特征点确定面部朝向向量;坐标归一化模块,被配置成对上述面部朝向向量中的x坐标和z坐标归一化,得到归一化x坐标和归一化z坐标;x轴调整量和z轴调整量确定模块,被配置成基于上述预设的测试距离、归一化x坐标和归一化z坐标,调整上述伺服机构的x轴调整量和z轴调整量;角度调整模块,被配置成通过上述归一化x坐标计算上述伺服机构的旋转角度。
在一些实施例的可选实现方式中,上述检测单元503可以包括:眼睛状态信息获取子单元(图中未示出)和反馈信号检测子单元(图中未示出)。其中,眼睛状态信息获取子单元,被配置成通过上述视力采集镜头实时获取上述目标用户的眼睛状态信息,上述眼睛状态信息包括以下至少一项:眼睛的遮挡状态、佩戴眼镜状态;反馈信号检测子单元,被配置成对于上述至少一个视力检测图像中的视力检测图像,响应于上述眼睛状态信息与该视力检测图像的检测要求匹配,检测上述目标用户的对应当前的视力检测图像的反馈信号;否则,发送对应上述眼睛状态信息的第一调整信息,上述第一调整信息包括以下至少一项:语音调整信息、图像调整信息。
在一些实施例的可选实现方式中,上述反馈信号检测子单元可以包括:第一面部检测图像获取模块(图中未示出)和第一反馈子信号检测模块(图中未示出)。其中,第一面部检测图像获取模块,被配置成响应于该视力检测图像为主视力检测图像,获取上述目标用户的第一面部检测图像;第一反馈子信号检测模块,被配置成响应于上述第一面部检测图像包含眼睛图像,并且上述眼睛图像对应的眼睛状态信息与上述主视力检测图像的检测要求匹配,显示上述主视力检测图像的第一测试图像,并根据用户的图像检测第一反馈子信号。
在一些实施例的可选实现方式中,上述第一反馈子信号检测模块可以包括:第一定位子模块(图中未示出)和遮挡判断子模块(图中未示出)。其中,第一定位子模块,被配置成通过基于深度学习的目标检测方法对上述第一面部检测图像中的眼睛进行定位;遮挡判断子模块,被配置成响应于定位到左眼,判定左眼遮挡状态为未遮挡,否则左眼遮挡状态为遮挡;响应于定位到右眼,判定右眼遮挡状态为未遮挡,否则右眼遮挡状态为遮挡。
在一些实施例的可选实现方式中,上述第一反馈子信号检测模块可以包括:第二定位子模块(图中未示出)和佩戴检测子模块(图中未示出)。其中,第二定位子模块,被配置成通过基于深度学习的目标检测方法对上述第一面部检测图像中的眼镜图像进行定位;佩戴检测子模块,被配置成响应于定位到眼镜图像,判定用户佩戴了眼镜,否则用户未佩戴眼镜。
在一些实施例的可选实现方式中,上述第一反馈子信号检测模块包括:尺寸确定子模块(图中未示出)和像素确定子模块(图中未示出)。其中,尺寸确定子模块,被配置成基于上述第二距离确定第一测试图像的显示尺寸信息;像素确定子模块,被配置成通过上述显示尺寸信息和显示屏的显示密度确定显示上述第一测试图像的像素个数。
在一些实施例的可选实现方式中,上述第一反馈子信号检测模块可以包括:手势图像采集子模块(图中未示出)和第一反馈子信号设置子模块(图中未示出)。其中,手势图像采集子模块,被配置成通过上述镜头采集对应上述第一测试图像的用户图像;第一反馈子信号设置子模块,被配置成通过单阶段深度学习目标检测模型从上述用户图像中定位用户手部位置的同时确定用户手势类别信息,将上述用户手势类别信息设置为第一反馈子信号。
在一些实施例的可选实现方式中,上述反馈信号检测子单元包括:第二面部检测图像获取模块(图中未示出)和第二反馈子信号检测模块(图中未示出)。其中,第二面部检测图像获取模块,被配置成响应于该视力检测图像为色觉检测图像,获取上述目标用户的第二面部检测图像;第二反馈子信号检测模块,被配置成响应于检测到上述第二面部检测图像中眼睛状态信息与上述色觉检测图像的检测要求匹配,并根据用户的手势信息检测第二反馈子信号。
在一些实施例的可选实现方式中,上述视力检测结果生成单元504可以包括:反馈信号显示子单元(图中未示出)和视力检测结果生成子单元(图中未示出)。其中,反馈信号显示子单元,被配置成通过上述显示屏显示上述反馈信号;视力检测结果生成子单元,被配置成响应于检测到对应上述反馈信号的确认信息,根据上述至少一个视力检测图像和反馈信号,生成上述目标用户的视力检测结果;否则,根据上述目标用户的第二调整信息更新上述反馈信号,上述第二调整信息包括以下至少一项:语音信息、手势信息。
可以理解的是,该装置500中记载的诸单元与参考图2描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作、特征以及产生的有益效果同样适用于装置500及其中包含的单元,在此不再赘述。
如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图6中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本公开的一些实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的一些实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的一些实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开的一些实施例的方法中限定的上述功能。
需要说明的是,本公开的一些实施例上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的一些实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的一些实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:通过上述视力检测设备的视力采集镜头检测目标用户的眼睛三维坐标;基于上述眼睛三维坐标,调整上述视力采集镜头相对于目标用户的眼睛处于预设位置;通过上述视力检测设备的显示屏显示至少一个视力检测图像,并检测上述目标用户的对应上述至少一个视力检测图像的反馈信号;响应于接收到对应上述至少一个视力检测图像的反馈信号,根据上述反馈信号和至少一个视力检测图像,生成上述目标用户的视力检测结果。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的一些实施例的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开的一些实施例中的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括眼睛三维坐标检测单元、位置调整单元、检测单元和视力检测结果生成单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,视力检测结果生成单元还可以被描述为“用于生成视力检测结果的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
以上描述仅为本公开的一些较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。