眼底相机及其焦距调整方法与流程

文档序号:23314802发布日期:2020-12-15 11:54阅读:638来源:国知局
眼底相机及其焦距调整方法与流程

本发明涉及眼科仪器领域,具体涉及一种眼底相机及其工作距离调整方法。



背景技术:

视网膜是人体唯一可以直接观察到毛细血管和神经的组织,通过观察视网膜可以检查不仅仅眼部的健康问题还可以发现类似糖尿病并发症和高血压这样的全身的病变。眼底相机是用来拍摄视网膜的专用设备。

现有的眼底相机可以实现自动拍摄眼底图像,相机设有主摄像头和辅助摄像头,主摄像头安装在一个可以x、y、z三个方向移动的平台上,用于拍摄眼底;辅助摄像头安装在主摄像头附近,用于拍摄脸部及外眼部。自动化拍摄的过程主要涉及自动将主镜头对准瞳孔、自动调整主镜头和瞳孔的轴向距离,以及自动调整焦距。

为了拍摄到清晰的眼底图像,需要设置适合被拍摄者屈光度的焦距,现有的眼底相机通过设置光学元件,基于相位对焦或者反差对焦实现自动对焦。现有的对焦方法都对相机硬件要求都比较高,这将增加相机硬件的复杂度,增加了相机成本。



技术实现要素:

有鉴于此,本发明提供一种眼底相机的焦距调整方法,包括:

在眼底相机镜头对准瞳孔并且达到工作距离时,调整焦距并采集眼底图像;

在所述眼底图像中识别视盘区域;

根据所述视盘区域的清晰度确定拍摄焦距。

可选地,在调整焦距并采集眼底图像之后,还包括:

识别所述眼底图像中是否存在由角膜所反射的照明光束形成的光斑;

当所述眼底图像中存在所述光斑时,至少根据所述光斑的位置微调镜头位置,以移除所述光斑,从而保持镜头对准瞳孔。

相应地,本发明提供一种电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行上述焦距调整方法。

相应地,本发明提供一种眼底相机,包括:运动组件、照明组件、调焦组件、面贴组件、镜头和处理器,以及与所述处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述处理器执行,以使所述处理器执行上述焦距调整方法。

根据本发明提供的眼底相机及其焦距调整方法,在不同焦距下采集眼底图像,通过眼底图像中的视盘清晰度判断相应的焦距是否适用于拍摄眼底图像,不需要在眼底相机上设置任何额外的光学或者硬件,只需要设置图像识别算法即可找到最佳的对焦位置,由此可以降低眼底相机的成本,并提高焦距调整效率。

在调整焦距的同时,还将根据图像中的光斑位置微调镜头位置,由此在调整焦距时保持镜头对准瞳孔,本方案不需要在眼底相机上设置任何额外的光学或者硬件,只需要设置图像识别算法即可找到最佳的对焦位置并保持镜头对准瞳孔,由此可以降低眼底相机的成本,并提高眼底图像拍摄效率。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中的眼底相机的结构图;

图2为本发明实施例中的眼底相机的面贴组件的示意图;

图3为镜头及定位组件的示意图;

图4为本发明实施例中的一种眼底相机的焦距调整方法的流程图;

图5为瞳孔标注示意图;

图6为本发明实施例中一种优选的焦距调整方法的流程图;

图7为瞳孔大于照明光束的示意图;

图8为瞳孔小于照明光束的示意图;

图9为瞳孔小于照明光束时拍摄眼底图像的示意图;

图10为角膜反射照明光束的成像;

图11为镜筒与眼球间的距离示意图;

图12为光斑标注示意图;

图13为达到工作距离时角膜反射照明光束的成像;

图14为视盘标注示意图;

图15为拍摄眼底图像时根据光斑移动镜头位置的示意图;

图16为两个存在不可用区域的眼底图像的示意图;

图17为眼底图像的合成方式示意图。

具体实施方式

下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。

图1示出了一种全自动便携自拍眼底相机,该相机包括面贴组件01、运动组件、定位组件03和镜筒1,镜筒1内部设有照明组件、调焦组件、镜头(接目物镜)以及光学镜片组和成像探测器10等,镜筒1的内部结构可参考中国专利文件cn111134616a。实际产品还包括壳体,运动组件和镜筒1位于壳体内部。面贴组件01密封地连接于壳体的前部,面贴组件包括面贴本体和成型于面贴本体的用于被拍摄者的眼部贴合时容纳所述眼部的视窗通孔。面贴组件01作为接触被拍摄者眼部的部件,镜筒1透过面贴组件01的通孔采集被拍摄者的眼底视网膜图像。

面贴本体背向镜筒1的一面被构造为与被拍摄者的眼部周围的面部轮廓相贴合的形状。具体地,面贴组件01向内形成凹陷形状以适于人体头部弧形,其通孔的尺寸至少能在被测者的眼部贴合本组件时容纳双眼。面贴组件01向内(壳体内、镜筒)的一面有至少一个用于检测相机各项功能的特定位置。在一个具体的实施例中,结合图1和图2所示,图2所展示的是面贴组件01朝内的一面,通孔011的中部上边缘有一个凸起部012,镜筒1的镜头能够对准此部位并拍摄图像。更优选的方案是,在此凸起部012上设置一个图案或者简单图形等作为标靶。此特定位置有多种用途,包括检测相机的照明组件、调焦组件是否正常,检测被拍者的眼部是否正确地贴合了面贴组件01等,具体将在下文中进行详细介绍。

运动组件用于控制镜筒1在三维空间中移动,以图1中的坐标系为例,能够在图中的x、y、z三轴上移动。需要说明的是,镜筒1在z方向移动到极限位置时,端部不会伸出面贴组件01外。作为一个具体的实施例,运动组件包括三个轨道组件,第一组轨道021用于控制镜筒1在x轴上的运动、第二组轨道022用于控制镜筒1在y轴上的运动、图中未示出的第三组轨道用于控制镜筒1在z轴上的运动。具体地,镜筒1连同第二组轨道022被设置在一个平台(基座)上,第一组轨道021能够带动基座整体运动,第三组轨道能够带动基座和第一组轨道021运动,使整体接近或远离面贴组件01。

定位组件03用于检测镜筒1的移动情况。具体地,定位组件03可以是电磁感应器,根据电磁感应信号感知镜筒1移动到定位组件03所在的位置。结合图3所示,在本实施例中设置3个定位组件03,其中两个定位组件设置在可移动基座两侧,以检测镜筒1在x轴上的移动,第三个定位组件设置在该基座上,以检测镜筒1在y轴上的移动,即定位组件03用于检测镜筒1在xy平面内的移动情况。

根据本发明提供的眼底相机,用于成像的照明组件、调焦组件、接目物镜、光学镜片组和成像探测器集成在一个镜筒中实现光路结构小型化,减小眼底相机的体积,提高便携性;眼底相机的面贴组件设有用于容纳被拍摄者眼部的视窗通孔,用户可以自行佩戴眼底相机,将眼部置于视窗通孔位置,运动组件驱动镜筒在视窗通孔范围中搜索瞳孔,并调整工作距离,从而拍摄眼底图像,本方案降低了眼底相机硬件的复杂度和使用难度,让用户能够自主拍摄眼底图像,促进眼底相机的普及。

本发明实施例提供一种眼底图像全自动拍摄方法,该方法可以由眼底相机本身来执行,也可以由计算机或者服务器等电子设备执行(作为一种控制方法),该方法包括如下步骤:

s300,移动眼底相机镜头对准瞳孔。

s400,控制镜头接近眼球并采集图像,该图像是对角膜所反射的照明光束的成像。

s500,利用上述图像确定工作距离。

s600,调整焦距并采集眼底图像,利用眼底图像确定拍摄焦距。

s700,在工作距离上使用拍摄焦距拍摄眼底图像。

在优选的实施例中,在上述步骤s100之前还可以执行检测相机状态和用户使用状态的步骤,本方法还可以包括:

s100,检测眼底相机的运动组件、照明组件和调焦组件是否正常。此步骤作为可选操作,可以在眼底相机开机时执行。如果检测到某部件异常将终止后续拍摄操作并进行相应的异常提示。

s200,检测人体头部是否贴合眼底相机的面贴组件。此步骤作为可选操作,如果检测到人体头部未贴合眼底相机的面贴组件,可以通过语音模块向用户进行提示,引导用户正确佩戴眼底相机。

在相机开始拍摄的时候,实际应用场景下的瞳孔和接目物镜是不会完全对齐的,这时候需要相机通过瞳孔在传感器的成像来判断镜头相对瞳孔的位置,然后把镜头移动到瞳孔的正前方,再进行拍摄。针对上述步骤s300,本发明实施例提供一种眼底相机镜头自动对准方法,该方法可以由眼底相机本身来执行,也可以由计算机或者服务器等电子设备执行(作为一种控制方法),该方法包括如下步骤:

s1,对眼底相机镜头采集的图像进行识别,判断其中是否存在瞳孔。具体地,当用户佩戴上述眼底相机后,系统会连续(比如逐帧地)采集瞳孔的图像,如果能够在图像中识别到瞳孔,说明瞳孔已经在成像范围内,在此情况下进行微调以使镜头完全对准瞳孔即可进行拍摄。如果不能在图像中识别到瞳孔,则说明镜头与瞳孔位置偏差较大,原因可能是镜头的初始位置不合适,或者用户佩戴方式不标准等等。

在图像中识别瞳孔影像的方式有多种,例如可以使用机器视觉算法,根据图像中的图形特征检测瞳孔轮廓和位置。然而,由于眼底相机在最终拍摄之前是使用红外光进行照明,因此瞳孔的成像不会非常清晰,同时角膜的反光也很给瞳孔检测带来很多困难,计算机视觉算法遇到这种情况很容易误判,因此在一个优选的实施例中使用深度学习算法来解决这个问题。

首先采集大量瞳孔的照片,这些照片是不同人、在距离上述眼底相机的接目物镜不同方向和距离、不同时间采集到的图像。然后在对每一张图像中的瞳孔进行标注,由此得到用于训练神经网络的训练数据。使用这些标注好的数据来训练一个神经网络模型(比如yolo网络),经过训练后,神经网络模型的识别结果包括一个检测框,用于表征图像中瞳孔的位置和尺寸。

如图5所示,在一个具体的实施例中,训练数据中采用方形框51来标注瞳孔,训练后的神经网络模型的识别结果也将是方形检测框。在其它实施例中,也可以使用圆形框进行标注,或者其它类似的标注方式都是可行的。

无论采用何种瞳孔检测方法,在此步骤中只需要识别图像中是否存在瞳孔即可,如果图像中不存在瞳孔则执行步骤s2,否则执行步骤s3。

s2,控制眼底相机镜头在当前位置附近进行移动以搜索瞳孔。通过上述运动组件移动镜筒,例如做螺旋状轨迹移动,从当前位置开始逐渐向周围扩散。需要说明的是,本实施例只涉及到上述xy平面内的移动,暂时不论述z轴的移动,z轴的移动关系到眼底相机的最佳工作距离,具体将在后续的实施例中进行介绍。

如果移动到极限位置后仍不能搜索到瞳孔,则提示用户调整佩戴状态;如果搜索到瞳孔,进一步判断如果用户的眼部是否偏离镜头很远,超出了运动组件能够移动的范围,比如判断镜头的移动距离是否超过移动阈值,当移动距离超过移动阈值时提示用户在面贴组件内轻微移动头部,以适应镜头的移动范围。然后继续搜索,当移动距离未超过移动阈值时执行步骤s3。

s3,判断图像中的瞳孔是否符合设定条件。具体可设置多种设定条件,比如关于尺寸的条件、关于形状的条件等。

在一个可选的实施例中,设定条件包括尺寸阈值,判断图像中的瞳孔尺寸是否大于尺寸阈值,当图像中的瞳孔尺寸大于尺寸阈值时,判定存在符合设定条件的瞳孔;否则提示用户闭眼休息一段时间,使瞳孔放大之后再开始拍摄。因为拍摄眼底图像时一般是需要依次对双眼进行拍摄,对第一只眼拍摄之后会导致瞳孔缩小,因此系统也会让用户闭眼休息,让瞳孔大小恢复。

在另一个可选的实施例中,设定条件包括形态特征,判断图像中的瞳孔形状是否符合设定的形态特征,当图像中的瞳孔形状符合设定的形态特征时,判定存在符合设定条件的瞳孔;否则提示用户睁大眼睛、尽量不要眨眼等等。设定的形态特征为圆形或者近似圆形,如果检测出来的瞳孔不符合预设的形态特征,比如可能是扁平的,这种情况一般是因为用户眼睛没有睁开所导致的。

在第三个可选的实施例中,需要使用上述神经网络模型进行瞳孔检测,并且神经网络模型的识别结果还包括瞳孔的置信度信息,也即用于表示模型判定图像中存在瞳孔的概率值。所述设定条件包括置信度阈值,判断神经网络模型得到的置信度信息是否大于所述置信度阈值。当所述置信度信息大于置信度阈值时,判定存在符合设定条件的瞳孔;否则提示用户睁大眼睛,移除头发等遮挡物。神经网络模型得到的瞳孔的置信度比较低,说明图像中虽然存在瞳孔但其可能被其它物体所干扰,为了提高拍摄质量,在此提示用户进行调整。

上述三种实施例可以被择一使用,也可以组合使用。当图像中的瞳孔符合设定条件时执行步骤s4,否则等待用户的调整自身状态并持续判断直至符合设定条件。

s4,根据瞳孔在图像中的位置移动眼底相机镜头对准瞳孔。通过上述运动组件移动镜筒,移动方向和距离取决于图像中的瞳孔与镜头的偏差。将采集的图像中心点视为镜头的中心点,并识别图像中瞳孔的中心点。关于识别图像中瞳孔的中心点的方式,比如在使用上述神经网络模型检测瞳孔时,将检测框的中心点视为瞳孔的中心点即可。步骤s4具体包括:

s41,根据检测框的中心位置和所述图像的中心位置的偏差确定移动距离和移动方向;

s42,根据确定的移动距离和移动方向移动眼底相机镜头对准瞳孔。

根据本发明实施例提供眼底图像拍摄方法,通过对图像中的瞳孔状态进行判断,可以自动确定被拍者当前的瞳孔状态是否适合拍摄眼底图像,在其状态不适于拍摄眼底图像时,可以向被拍者发出相应的提示以使其调整自身的状态,在其状态适合拍摄眼底图像时,识别瞳孔的位置从而进行自动对准,之后进行拍摄,由此避免拍摄到不可用的眼底图像,整个过程不需要专业人员参与,实现用户自主拍摄。

在实际应用场景中,可能出现一种特别的情况,即瞳孔的尺寸可能小于环状照明光束的尺寸,在此情况下将瞳孔和接目物镜对齐会导致没有任何光线能进入瞳孔,因此拍摄出来的图像是黑的。

为了解决这一问题,针对上述步骤s700,本发明实施例提供一种优选的眼底图像拍摄方法,本方法包括如下步骤:

s51,判断图像中的瞳孔尺寸是否小于眼底相机照明组件的环状照明光束尺寸。图7示出了一个瞳孔72尺寸大于环状光束71尺寸的情况,此情况下执行步骤s52。

图8示出了两个环状照明光束尺寸大于瞳孔尺寸的情况,照明光源是一个完整的环形照明灯或者是由多个照明灯呈环状排列形成的光源,环状光束71的内径大于瞳孔72的直径。

当瞳孔尺寸小于环状照明光束尺寸时,即符合如图8所示情形时执行步骤s53。

s52,以当前的镜头位置拍摄眼底图像。这是在光源良好地照射眼底的情况下所拍摄的图像。

s53,分别向多个方向移动镜头与瞳孔产生偏移,使得环状照明光束部分照射在瞳孔中,并获取多个眼底图像。以图9所示移动为例,在本实施例中,分别向水平的两个方向移动镜头,当镜头向一侧移动后使得环状光束71的一部分73照射到瞳孔72中,此时拍摄一张眼底图像;当镜头向另一侧移动后使得环状光束71的另一部分74照射到瞳孔72中,此时拍摄另一张眼底图像。

图9所示的移动和照明只是为了说明拍摄情况而做的举例,实际应用中可以向更多方向移动以拍摄更多的眼底图像。然而类似这种移动和照明情况下所拍摄的眼底图像会有部分区域出现过曝现象,这种眼底图像无法直接作为拍摄结果,因此执行步骤s54。

另外,为了减少过曝光的区域,在一个优选的实施例中,采用如下方式移动和拍摄:

s531,确定瞳孔的边缘位置。具体可使用机器视觉算法或者使用上述神经网络模型,得到图9中瞳孔72的左侧边缘点721和右侧边缘点722。

s532,根据瞳孔的边缘位置确定移动距离。具体可根据当前镜头中心的位置o(图像中心位置)与左侧边缘点721和右侧边缘点722的位置关系计算运动组件的移动距离。

s533,按照确定的移动距离分别向多个方向移动所述镜头,所确定的移动距离使得环状照明光束的边缘与瞳孔的边缘位置重合。如图9所示,环状光束71的外圈边缘恰好与瞳孔72的边缘重合,这样可以使环状光束71进入眼底的部分位于眼底的边缘,减少对眼底中心区域成像的影响。

s54,将多个眼底图像融合为一个眼底图像。在此步骤中,将分别从各个眼底图像中提取可用的区域,利用这些眼底图像拼接并融合出一张完整的眼底图像。拼接和融合的方式有多种,作为一个可选的实施例,步骤s54具体包括:

s541a,根据获取的眼底图像对应的镜头移动距离计算多个眼底图像的位移偏差;

s542a,在多个眼底图像中选取有效区域;

s543a,根据位移偏差对多个有效区域进行拼接,得到拼接后的眼底图像。进一步地,利用图像融合算法在各个所述有效区域的拼接处进行融合处理。

作为另一个可选的实施例,步骤s54具体包括:

s541b,在多个眼底图像中检测相应的特征点;

s542b,根据特征点的位置计算多个眼底图像的空间变换关系;

s543b,根据空间变换关系将多个眼底图像设置在同一坐标系下;

s544b,在处于同一坐标系下的多个眼底图像中选取有效区域进行拼接,得到拼接后的眼底图像。

根据本发明实施例提供眼底图像拍摄方法,在眼底相机镜头对准瞳孔时,首先判断比较图像中的瞳孔尺寸和相机本身发出的环状光速的尺寸,如果瞳孔尺寸太小导致照明光束不能正常照射到眼底,则移动镜头,偏离当前的对准位置使得环状照明光束部分照射在瞳孔中,并在多个偏移位置上获取眼底图像,最终根据多个眼底图像融合出一个眼底图像,本方案可以在被拍者瞳孔较小的情况下拍摄眼底图像,不需要专业人员参与拍摄过程,降低对被拍摄者瞳孔状态的要求,提高拍摄效率。

下面介绍关于相机镜头(镜筒)在z轴的移动,z轴的移动关系到眼底相机的最佳工作距离。针对上述步骤s400-s500,本实施例提供一种眼底相机的工作距离调整方法,该方法可以由眼底相机本身来执行,也可以由计算机或者服务器等电子设备执行(作为一种控制方法)。该方法包括如下步骤:

s1,控制镜头接近眼球并采集图像,该图像是对角膜所反射的照明光束的成像。此步骤是根据上述实施例的方案,在xy平面内将镜头对准瞳孔的情况下被执行,此步骤中控制镜头接近眼球是指通过运动组件控制镜头在z轴上向眼球的方向移动。在初始的距离上,照明组件的光源通过光学镜头,照射到眼睛角膜上的反射光在cmos上进行成像会得到如图10所示的结果,在本实施例中的光源是按十字形分布于照明组件四侧的四个灯球,对此光源的成像中也相应地显示出四个光斑。在其它实施例中,照明光源可以是如图8所示的形状,所采集的图像中将显示出相应形状或排列的光斑。

s2,检测图像中的光斑的特征是否符合设定特征。如图11所示,随着镜筒1在z轴上向眼球01移动,角膜反射光成像将会发生变化。具体来说,成像的位置、尺寸和清晰度,与接目物镜和角膜之间的距离相关。距离越近,入射光线和角膜的法线夹角越大,反射的散射效果更重,光斑尺寸越大、越发散、亮度越低。

在图像中识别光斑特征的方式有多种,例如可以使用机器视觉算法,根据图像中的图形特征检测光斑轮廓和位置。然而,由于光斑的清晰度、尺寸等各方面的变化范围较大,计算机视觉算法遇到这种情况很容易误判,因此在一个优选的实施例中使用深度学习算法来解决这个问题。

首先采集大量光斑的成像,这些成像是不同人、在距离上述眼底相机的接目物镜不同方向和距离、不同时间采集到的图像。然后在对每一张图像中的光斑进行标注,由此得到用于训练神经网络的训练数据。使用这些标注好的数据来训练一个神经网络模型(比如yolo网络),经过训练后,神经网络模型的识别结果包括一个检测框,用于表征图像中光斑的位置和尺寸。

如图12所示,在一个具体的实施例中,训练数据中采用方形框121来标注光斑,训练后的神经网络模型的识别结果也将是方形检测框。在其它实施例中,也可以使用圆形框进行标注,或者其它类似的标注方式都是可行的。

无论采用何种光斑检测方法,在此步骤中识别到当前图像中的光斑特征符合设定特征即可。所述设定特征可以是关于尺寸的特征,比如当图像中的光斑尺寸小于设定尺寸时判定符合设定特征;也可以是光斑消失,比如当使用机器视觉算法或者神经网络不能检测到图像中的光斑时判定符合设定特征。

如果图像中的光斑符合设定特征则执行步骤s3,否则返回步骤s1,继续移动镜头并采集图像。

s3,确定达到工作距离。在确定图像中光斑的特征符合设定特征时,此时镜头与眼球之间的距离可以被视为达到工作距离。在具体的实施例中,根据硬件参数,还可以在此距离的基础上再进行一个距离补偿,补偿的方向、距离值与硬件参数有关。作为举例,图13示出了一个光斑符合设定特征的图像,此时镜头1与眼球01的距离为wd,在此基础上控制镜头继续向接近眼球的方向移动预设距离d,以达到更准确的工作距离wd+。

在此工作距离上,进一步调整焦距即可拍摄眼底图像。关于调整焦距的方式,具体将在后续的实施例中进行介绍。

根据本发明实施例提供的工作距离调整方法,对角膜所反射的照明光束的成像进行采集和识别,通过图像中的光斑特征来判断和调整镜头与眼球的距离,不需要在眼底相机上设置任何额外的光学或者硬件,只需要设置合适的照明光束即可实现准确定位工作距离,由此可以降低眼底相机的成本,并提高工作距离调整效率。

考虑到镜头向眼球方向移动的过程中,用户可能会轻微转动头部等等,这将导致镜头不再是对准瞳孔的状态,因此在调整工作距离的过程中,还将在xy平面上调整镜头的位置以保持对准瞳孔。本实施例提供一种优选的调整工作距离的方法,该方法包括如下步骤:

s1a,采集角膜所反射的照明光束的成像;

s2a,调用神经网络对图像中的光斑进行检测,判断图像中是否存在光斑。当图像中不存在光斑时执行步骤s6a,否则执行步骤s3a。

s3a,识别图像中光斑的中心点,并判断光斑的中心点与图像的中心点是否重合。在此将神经网络得到的检测框的中心视为光斑的中心。图像的中心点被视为镜头的中心,如果图像的中心点与光斑中心重合则表示镜头对准了瞳孔,执行步骤s5a;二者不重合则表示镜头偏离的对准位置,执行步骤s4a。

s4a,根据光斑的中心点与图像的中心点的偏移量微调镜头位置。检测-调整-再检测是一个反馈过程,作为一个优选的实施例,在此使用一种平滑的调整算法:

adjustment(i)=a*shift(i)+(1-a)adjustment(i-1),

其中adjustment(i-1)表示上一次镜头调整的位移,shift(i)表示所述偏移量(瞳孔中心和图像中心的偏差),adjustment(i)表示本次镜头需要调整的位移,a为0-1之间的系数。因为镜头的位置是xy平面上的二维坐标,adjustment和shift都是二维向量。

将光斑的中心点与图像的中心点调整至重合后,执行步骤s5a。

s5a,控制镜头向接近眼球的方向移动,以缩小距离。之后返回步骤s1a,随着反复执行使镜头逐渐接近眼球,相应的图像中的光斑尺寸由大变小。为了精确地捕捉到光斑消失的临界点,可以对每一帧图像进行采集并相应地做出上述判断和调整,直到检测到光斑消失的图像为止。

s6a,控制镜头继续向接近眼球的方向移动预设距离,以达到工作距离。

在优选的实施例中,在执行上述调整过程的同时,还将检测图像中的光斑是否完整,当光斑不完整时,比如只有一半,这意味着用户在眨眼或者眼睛没有睁开,此时系统会通过语音提示用户睁大眼,尽量不要眨眼等等。

根据本发明实施例提供的工作距离调整方法,在调整镜头与眼球的距离的同时,还将根据图像中的光斑位置微调镜头位置,由此在调整工作距离时保持镜头对准瞳孔,本方案不需要在眼底相机上设置任何额外的光学或者硬件,只需要设置合适的照明光束即可实现准确定位工作距离并保持镜头对准瞳孔,由此可以降低眼底相机的成本,并提高眼底图像拍摄效率。

通过上述实施例的自动对准和自动调整工作距离之后,还需要设置合适的焦距才能拍摄到清晰的眼底图像。下面介绍关于自动调整焦距的技术方案,针对上述步骤s600,本实施例提供一种眼底相机的焦距调整方法,该方法可以由眼底相机本身来执行,也可以由计算机或者服务器等电子设备执行(作为一种控制方法)。如图4所示,该方法包括如下步骤:

s1,调整焦距并采集眼底图像。此步骤在眼底相机镜头对准瞳孔并且达到工作距离时被执行,此时的镜头与眼球的位置如图13所示。需要说明的是,在上述实施例调整镜头位置和工作距离的过程中采集图像时,当然也需要设置固定的焦距,比如在调整工作距离时,焦距可以是固定调到0屈光位置。如果被拍摄者屈光正常,当工作距离调到位后,即可直接拍摄眼底图像。但实际应用时需要考虑被拍者的实际屈光度,从而设置适合的焦距。

在眼底相机进行曝光拍摄眼底图像之前,比如上述自动对准和自动确定工作距离的过程中都是用红外光来成像,此时采集图像所使用的光源仍然是红外光。虽然当前的焦距不能使眼底清晰地成像,但在此时采集的图像已经能基本体现出眼底的特征,图像中至少可以显示出视盘,因此称采集的图像为眼底图像。

s2,在眼底图像中识别视盘区域。因为视盘区域是眼底中纹理最多、亮度最高的区域,因此最适合用于调焦。

在眼底图像中识别视盘的方式有多种,例如可以使用机器视觉算法,根据眼底图像中的图形特征检测视盘轮廓和位置。然而,由于使用红外光成像相对模糊,给识别视盘带来很大的挑战,计算机视觉算法遇到这种情况很容易误判,因此在一个优选的实施例中使用深度学习算法来解决这个问题。

首先采集大量眼底图像,这些图像对不同的人、使用不同焦距所采集的眼底图像。然后对每一张图像中的视盘进行标注,由此得到用于训练神经网络的训练数据。使用这些标注好的数据来训练一个神经网络模型(比如yolo网络),经过训练后,神经网络模型的识别结果包括一个检测框,用于表征眼底图像中视盘的位置。

如图14所示,在一个具体的实施例中,训练数据中采用方形框141来标注视盘,训练后的神经网络模型的识别结果也将是方形检测框。在其它实施例中,也可以使用圆形框进行标注,或者其它类似的标注方式都是可行的。

s3,根据视盘区域的清晰度确定拍摄焦距。具体地,可以从初始的焦距开始,采用梯度上升的方式不断变换焦距并采集相应的眼底图像,判断其中的视盘的清晰度是否达到预设标准,一旦达到预设标准,则判定当前的焦距为最佳焦距,不需要再继续搜索;也可以在焦距可调范围内使用所有可用的焦距,并采集相应的眼底图像,从所有眼底图像中确定一个视盘清晰度最高的眼底图像,判定采集该图像时的焦距为最佳焦距。

在一个具体的实施例中,采用遍历的方式,先在设定焦距范围800-1300内以第一设定步长40调整焦距并采集第一组眼底图像,由此到焦距800时的眼底图像、焦距840时的眼底图像、焦距880时的眼底图像……焦距1300时的眼底图像。分别在这些眼底图像中识别视盘区域,并分别确定每个眼底图像的清晰度,在本实施例中是计算视盘区域内的像素值的均值作为清晰度。然后可以从第一组眼底图像中确定一个具有最高清晰度的眼底图像,此时可以将采集该眼底图像时所使用的焦距x(第一焦距)作为拍摄焦距。

为了取得更好的拍摄效果,还可进一步搜索焦距,比如在上述焦距x附近再进行一次遍历,在此次遍历过程中所使用的第二设定步长小于上述第一设定步长,比如第二设定步长为10,由此可以进一步得到第二组眼底图像,即焦距x+10时的眼底图像、焦距x+20时的眼底图像、x-10时的眼底图像、x-20时的眼底图像等等。然后再分别在这些眼底图像中识别视盘区域,并分别确定每个眼底图像的清晰度,比如确定焦距x-20时的眼底图像为清晰度最高的眼底图像,则将焦距x-20(第二焦距)作为拍摄焦距。

关于进一步搜索焦距的范围,作为优选的实施例,可将第一焦距x为中点,以增大第一设定步长为最大值、以减小第一设定步长为最小值的焦距范围,范围是x±40。

根据本发明实施例提供的焦距调整方法,在不同焦距下采集眼底图像,通过眼底图像中的视盘清晰度判断当前的焦距是否适用于拍摄眼底图像,不需要在眼底相机上设置任何额外的光学或者硬件,只需要设置图像识别算法即可找到最佳的对焦位置,由此可以降低眼底相机的成本,并提高焦距调整效率。

考虑到调整焦距的过程中用户可能会轻微转动头部等等,这将导致镜头不再是对准瞳孔的状态,因此在调整焦距的过程中,还将在xy平面上调整镜头的位置以保持对准瞳孔。并且,进行到此阶段时已经即将要拍摄眼底图像,如果被拍摄者在此时眨眼或者闭眼将无法成功拍摄,所以在此过程中还需要进行眨眼和/或闭眼的检测。本实施例提供一种优选的焦距调整方法,如图6所示,该方法包括如下步骤:

s1a,利用当前的焦距采集眼底图像。

s2a,通过眼底图像判断被拍摄者是否眨眼和/或闭眼。当被拍摄者眨眼和/或闭眼时进行提示,比如通过语音提示用户不要眨眼或闭眼等等,然后返回步骤s1a;否则执行步骤s3a。眨眼和闭眼检测也可以通过机器视觉算法或者神经网络算法实现,当被拍摄者眨眼或者闭眼时,采集的图像将是全黑或者非常模糊的,特征相对明显,可以采用多种方法进行检测,此处不再赘述。

s3a,识别眼底图像中是否存在由角膜所反射的照明光束形成的光斑。与上述实施例调整工作距离时保持镜头对准瞳孔的方式不同,在达到工作距离后,如果是对准的状态,角膜反射的照明光束应当不在成像范围内,眼底图像中不应该再出现上述光斑,尤其是不可能出现光斑的完整成像。即使出现光斑也将是整个光斑的一部分,在一个具体实施例中使用由多个照明灯呈环状排列形成的光源,完整的光斑如图12所示。如果在调整焦距时眼底图像中出现光斑,将是如图15所示的情况,其中只有部分光斑151。如果光源本身是一个完整的环形灯,则在图像中此出现带状物。

当眼底图像中存在光斑时,执行步骤s4a,否则执行步骤s5a。

s4a,至少根据光斑的位置微调镜头位置,以移除光斑,从而保持镜头对准瞳孔。当光斑出现在不同位置时,其尺寸和亮度会有所不同。作为优选的实施例,结合光斑在图像中的位置、尺寸和亮度可计算出矢量偏移。以图15为例,将图像中心作为原点(0,0)建立坐标系,图像半径为r。计算各个光斑151的近似圆形区域,在本实施例中近似圆区域是包含光斑151的最小圆形区域。比如第i个光斑的近似圆形区域的中心坐标为(xi,yi),半径是ri。那么可以得出第i个光斑需要移动的方向是vi=(xi,yi),需要移动的距离是其中k=xi2+yi2,进而得出当前光斑需要移动vimi,将所有光斑需要移动的量进行求和,得到镜头需要移动的矢量152为∑vm。

再次使镜头对准瞳孔后返回步骤s1a。

s5a,在眼底图像中识别视盘区域,判断视盘区域的清晰度是否达到设定标准。在本实施例中使用mobilenet-yolov3神经网络模型识别视盘,神经网络输出的视盘区域是包含视盘和背景的区域。然后通过边缘检测算法(如sobel、laplace等算法)在此视盘区域内检测视盘的边缘,得到准确的视盘图像,并计算视盘图像的均值作为清晰度值。

比如可以通过将得到的清晰度值与阈值进行比较来判断是否达到设定标准,如果视盘区域的清晰度未达到设定标准,执行步骤s6a。如果视盘区域的清晰度已达到设定标准,则判定当前的焦距适合拍摄眼底图像,之后即可关闭红外光,使用白光进行曝光,拍摄眼底图像。

s6a,调整焦距,之后返回步骤s1a。根据步骤s1a中所使用的初始焦距,比如初始焦距为可调焦距中的最小值,此时则按照固定步长或可变步长增大焦距,反之则减小焦距。

在利用上述各个实施例提供的方案将镜头对准瞳孔、调整至最佳工作距离并确定焦距后,开始拍摄眼底图像。在拍摄眼底图像时,需要使用照明组件进行曝光(本实施例的相机所使用的光源为白光)。然而在曝光拍摄过程中,被拍者仍有可能影响眼底图像的拍摄质量,比如瞳孔变小、眼皮遮挡、眨眼、面贴组件漏光等,当出现这些情况时所拍摄的眼底图像将出现不可用的区域。为了提高拍摄成功率,针对上述步骤s700,本实施例提供一种眼底图像拍摄方法,该方法可以由眼底相机本身来执行,也可以由计算机或者服务器等电子设备执行(作为一种控制方法),该方法包括如下步骤:

s1,保持镜头状态不变并拍摄多个眼底图像。具体是指,根据上述各个实施例的方法将镜头固定在xy平面内的位置上对准瞳孔,并且定位在z轴的距离上,使用固定的焦距,在镜头位置、工作距离和焦距保持不变的情况下,使照明组件曝光并拍摄多个眼底图像。

s2,分别确定多个眼底图像的质量。分析眼底图像质量的手段有多种,比如可以参考中国专利文件cn108346149a中提供的对于眼底图像的检测方法。在本实施例中,使用神经网络模型来分析图像质量,神经网络模型可以执行分类任务,对图像质量进行分类,比如输出质量高或质量差的分类结果;也可以执行回归预测任务,对图像质量进行量化,比如输出1-10分来表达对图像质量的评价。

关于模型的训练,预先采集大量白光曝光的视网膜图片,人工标注图像质量为好或者不好(适用于分类模型),或者给图像质量打分(例如1到10分,适用于回归预测模型)。将这些眼底图像和标注或者评分作为训练数据训练神经网络模型,模型收敛后即可用于识别眼底图像的质量。

s3,判断各个眼底图像的质量是否达到设定标准,如果有任意一个眼底图像达到设定标准,则将该眼底图像作为拍摄结果即可(输出拍摄结果)。如果多个眼底图像的质量全部未达到设定标准,则执行步骤s4。

s4,利用多个眼底图像合成一个眼底图像作为拍摄结果。连续拍照的多张眼底图像可能每一张整体质量都不好,但每一张都有可能有一部分质量较好的区域,利用这些可用的区域进行拼接和融合,即可得到一张高质量且完整的眼底图像。

根据本发明实施例提供的眼底图像拍摄方法,在保持镜头状态不变并拍摄多个眼底图像,并分别确定多个眼底图像的质量,当判定所有眼底图像都不可用时,利用多个眼底图像合成一个完整的眼底图像,即使被拍者干扰了拍摄过程,也将可能地利用现有的眼底图像得到质量较高的眼底图像,减少重新拍摄的次数,降低了用户的使用难度,提高了拍摄眼底图像的成功率。

进一步地,本发明实施例提供一种眼底图像合成方法,该方法包括如下步骤:

s41,获取镜头状态不变的情况下拍摄的多个眼底图像。这些眼底图像分别存在质量较差的区域和质量较好的区域。当然,如果某些眼底图像质量极差,比如评分为0的图像可能是全黑或者全白的,可以直接将这些完全不可用的图像去除。

s42,分别在多个眼底图像中提取高质量区域。在此步骤中,可以根据眼底图像的像素值计算亮度,通过与亮度阈值进行比较,去除亮度较高的区域以及亮度较低的区域,由此来去除曝光过度和曝光不足的区域,从而提取到亮度适中的区域,即高质量区域;也可以根据眼底图像的像素值计算锐度,通过与锐度阈值进行比较,去除锐度较低的区域,由此来去除曝模糊区域,从而得到高质量区域;或者根据亮度和锐度综合提取高质量区域。

根据眼底图像的实际亮度和/或锐度提取到的区域通常是边界不规则的区域,比如图16所示的两个高质量区域,左侧所示区域来自一个眼底图像的上部、右侧所示区域来自一个眼底图像的下部。

在其它可选实施例中,也可以按照固定的划分方式将各个眼底图像划分为网格,然后分别分析各个网格区域的质量,提取高质量的网格,这样可以得到边界规则的高质量区域。

s43,利用多个高质量区域合成眼底图像。由于各个眼底图像可能会存在一些偏移,为了更准确地合成眼底图像,在此可以先根据偏移量将各个眼底图像映射到同一坐标系下再进行拼接与融合处理。

作为优选的实施例,如图17所示,首先对多个眼底图像进行异常区域检测,以提取高质量区域。在步骤s43中,首先分别对多个眼底图像进行特征点提取(或称为关键点),可以是视盘的中心点、血管的交叉点到等显著的位置。之后进行特征点匹配,去匹配不同眼底图像之间的特征点,这些特征点匹配之后,匹配信息用来计算各个眼底图像之间的偏移量(投影矩阵计算)。再根据偏移量将多个高质量区域映射为一张眼底图像。对于多个高质量区域之间存在的重叠部分,比如图16所示的两个区域,它们的中部是重复的,可以利用多个高质量区域的像素值和相应的权重确定重叠部分的像素值。这是一种基于加权平均的融合处理,作为举例,该融合处理可以表示为q1/(q1+q2)*image1+q2/(q1+q2)*image2,其中q1表示对应于第一个高质量区域的权重、q2表示对应于第二个高质量区域的权重,image1表示第一个高质量区域、image2表示第二个高质量区域。

上述权重的取值根据眼底图像的整体质量进行设置,比如第一个高质量区域取自第一眼底图像、第二个高质量区域取自第二眼底图像,而根据上述质量分析方法所得到的第一眼底图像的质量(比如神经网络输出的分值)比第二眼底图像的质量更高,那么相应的权重q1大于q2。

如图16、17所展示的情况只是为了说明本方案的原理所做的举例,实际使用时将会拍摄更多的眼底图像,尽可能确保提取到更多的高质量区域,以保证生成的眼底图像完整。

根据本发明实施例提供的眼底图像合成方法,当对被拍者的所拍摄的多个眼底图像都存在瑕疵时,利用本方案分别在多个眼底图像中提取高质量区域,进行拼接和融合得可以得到质量较高的完整眼底图像,由此降低用户自拍眼底图像的难度,提高了拍摄成功率。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1