瞳孔亮斑消除方法
技术领域
本发明涉及图像处理
技术领域
,特别是涉及瞳孔亮斑消除方法。背景技术
随着技术的发展,成像技术越来越广泛的被应用在各行各业,如通过手机进行拍照、通过摄像头进行视频监控等。
一般来说,在光照条件较好(光源充足)的情况下,成像设备所生成的图像的成像质量较好,而在光照条件较差(如黑夜)的情况下,成像设备所生成的图像往往包含较多的噪音,成像质量较差。为了提高在光照条件较差的情况下图像的成像质量,可以利用特殊的分光结构和双光融合技术,使得所生成的图像融合了可见光图像的颜色信息和红外图像的信噪比优势,进而提高图像的成像质量。
然而,双光融合技术需要成像设备在采集图像时额外的进行补光,导致所生成的图像中存在瞳孔亮斑(瞳孔处有明显亮斑)的现象,影响图像的成像效果。
发明内容
本发明实施例的目的在于提供瞳孔亮斑消除方法,以消除图像中存在瞳孔亮斑,提升图像的成像效果。具体技术方案如下:
第一方面,本发明实施例提供了一种瞳孔亮斑消除方法,所述方法包括:
获取目标图像;其中,所述目标图像包含具有瞳孔亮斑的瞳孔区域;
针对所述目标图像中瞳孔区域的每一分区,利用预先训练的瞳孔区域的分区与像素值之间的目标映射关系,将该分区内的像素点的像素值校正为该分区所映射的像素值;每一分区所映射的像素值为该分区的像素点在消除亮斑后的像素值;
其中,所述目标映射关系的训练方法包括:
获取多张第一图像和第一图像对应的第二图像;所述第一图像中包含瞳孔亮斑,所述第二图像为未包含瞳孔亮斑的图像,且所述第一图像和相应的第二图像除瞳孔区域以外的图像区域相同;
基于多张第一图像和每一第一图像对应的第二图像,对预设的瞳孔区域的分区与像素值之间的映射关系进行训练,得到所述目标映射关系;
其中,利用所述目标映射关系进行校正后的每一第一图像的瞳孔区域内各像素点的像素值与像素值真值之间的损失函数值之和小于预设阈值,每一像素点的像素值真值为该第一图像相对应的第二图像瞳孔区域内,与该像素点具有相同位置的像素点的像素值,所述损失函数值基于像素值损失所确定。
可选的,在一实施例中,所述基于多张第一图像和第一图像对应的第二图像,对预设的关于瞳孔区域内各分区与像素值的映射关系进行训练,得到所述目标映射关系,包括:
针对每一第一图像,基于如下方式对预设的关于瞳孔区域内各位置与像素值的映射关系进行训练:
基于预设的关于瞳孔区域内各分区与像素值的映射关系,确定该第一图像的瞳孔区域内各分区映射至的像素值,得到校正后的该第一图像;
针对校正后的该第一图像的瞳孔区域内每一像素点,计算该像素点的像素值,与该像素点的像素值真值的损失函数值,作为该像素点的损失函数值;
判断校正后的该第一图像的瞳孔区域内各像素点的损失函数值的和值是否小于预设阈值,当所述和值不小于所述预设阈值时,调整所述关于瞳孔区域内各分区与像素值的映射关系,并进行下一次训练,当所述和值小于所述预设阈值时,得到训练完成的目标映射关系。
可选的,在一实施例中,所述针对校正后的该第一图像的瞳孔区域内每一像素点,计算该像素点的像素值,与该像素点的像素值真值的损失函数值,作为该像素点的损失函数值,包括:
针对校正后的该第一图像的瞳孔区域内每一像素点,计算该像素点像素值,与该像素点的像素值真值的像素值损失,并基于所确定的像素值损失,确定该像素点的像素值,与该像素点的像素值真值的损失函数值,作为该像素点的损失函数值。
可选的,在一实施例中,所述基于所确定的像素值损失,确定该像素点的像素值,与该像素点的像素值真值的损失函数值,包括:
将所确定的像素值损失,确定为该像素点的像素值,与该像素点的像素值真值的损失函数值;
或者,
计算该像素点的辅助损失;基于所确定的像素值损失和计算得到的辅助损失,确定该像素点的像素值,与该像素点的像素值真值的损失函数值;其中,所述辅助损失包括该像素点的颜色损失和平滑度损失中的至少一种。
可选的,在一实施例中,所述计算该像素点的辅助损失,包括:
计算该像素点的像素值与该像素点的像素值真值在色彩空间中的夹角,作为该像素点的颜色损失;和/或,
计算该像素点的梯度,作为该像素点的平滑度损失。
可选的,在一实施例中,所述基于所确定的像素值损失和计算得到的辅助损失,确定该像素点的像素值,与该像素点的像素值真值的损失函数值,包括:
计算所确定的像素值损失、计算得到的颜色损失和平滑度损的加权和,作为该像素点的像素值与该像素点的像素值真值的损失函数值。
可选的,在一实施例中,所述获取多张第一图像和第一图像对应的第二图像,包括:
通过以下方式获取每一第一图像和第一图像对应的第二图像:
获取第一初始图像和所述第一初始图像对应的第二初始图像;其中,所述第一初始图像通过具有补光的第一摄像机采集得到,所述第二初始图像通过无补光的第二摄像机采集得到,所述第一摄像机和所述第二摄像机在采集所述所述第一初始图像和所述第二初始图像时具有相同的配置参数、且所针对的对象相同;
基于所述第一初始图像的瞳孔区域的区域信息,更新所述第二初始图像中的瞳孔区域,得到更新后的图像,作为第一图像,并将所述第二初始图像作为与该第一图像对应的第二图像;其中,所述更新后的图像的瞳孔区域与所述第一初始图像的瞳孔区域相同,且所述更新后的图像除瞳孔区域以外的图像区域与所述第二初始图像相同。
可选的,在一实施例中,所述基于所述第一初始图像的瞳孔区域的区域信息,更新所述第二初始图像中的瞳孔区域,得到更新后的图像,包括:
针对所述第二初始图像中瞳孔区域内每一像素点,确定所述第一初始图像的瞳孔区域内与该像素点位置相匹配的目标像素点,并将该像素点的像素值更新为所述目标像素点的像素值。
第二方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求第一方面所述的方法步骤。
第三方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法步骤。
本发明实施例有益效果:
本发明实施例所提供的瞳孔亮斑消除方法中,可以利用预先训练的瞳孔区域的分区与像素值之间的目标映射关系,将该分区内的像素点的像素值校正为该分区所映射的像素值,同时由于每一分区所映射的像素值为该分区的像素点在消除亮斑后的像素值,使得校准后的瞳孔区域为消除亮斑后的瞳孔区域,从而可以得到瞳孔亮斑消除后的目标图像。可见,通过本方案,可以消除图像中存在瞳孔亮斑,提升图像的成像效果。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明实施例所提供的瞳孔亮斑消除方法的流程图;
图2为本发明实施例所提供的瞳孔亮斑消除方法的另一流程图;
图3为本发明实施例所提供的瞳孔亮斑消除方法的另一流程图;
图4为本发明实施例所提供的瞳孔亮斑消除方法的另一流程图;
图5为本发明实施例所提供的瞳孔亮斑消除方法的另一流程图;
图6为本发明实施例所提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了消除图像中存在瞳孔亮斑,提升图像的成像效果,本发明实施例提供了瞳孔亮斑消除方法。
下面首先对本发明实施例所提供的一种瞳孔亮斑消除方法进行介绍。
本发明实施例可以应用于各类电子设备,例如,个人电脑、服务器、手机以及其他具有数据处理能力的设备。并且,本发明实施例提供的瞳孔亮斑消除方法可以通过软件、硬件或软硬件结合的方式实现。
其中,本发明实施例提供的一种瞳孔亮斑消除方法,可以包括如下步骤:
获取目标图像;其中,所述目标图像包含具有瞳孔亮斑的瞳孔区域;
针对所述目标图像中瞳孔区域的每一分区,利用预先训练的瞳孔区域的分区与像素值之间的目标映射关系,将该分区内的像素点的像素值校正为该分区所映射的像素值;每一分区所映射的像素值为该分区的像素点在消除亮斑后的像素值;
其中,所述目标映射关系的训练方法包括:
获取多张第一图像和第一图像对应的第二图像;所述第一图像中包含瞳孔亮斑,所述第二图像为未包含瞳孔亮斑的图像,且所述第一图像和相应的第二图像除瞳孔区域以外的图像区域相同;
基于多张第一图像和每一第一图像对应的第二图像,对预设的瞳孔区域的分区与像素值之间的映射关系进行训练,得到所述目标映射关系;
其中,利用所述目标映射关系进行校正后的每一第一图像的瞳孔区域内各像素点的像素值与像素值真值之间的损失函数值之和小于预设阈值,每一像素点的像素值真值为该第一图像相对应的第二图像瞳孔区域内,与该像素点具有相同位置的像素点的像素值,所述损失函数值基于像素值损失所确定。
本发明实施例所提供的瞳孔亮斑消除方法中,由于可以利用预先训练的瞳孔区域的分区与像素值之间的目标映射关系,将该分区内的像素点的像素值校正为该分区所映射的像素值,同时由于每一分区所映射的像素值为该分区的像素点在消除亮斑后的像素值,使得校准后的瞳孔区域为消除亮斑后的瞳孔区域,从而可以得到瞳孔亮斑消除后的目标图像。可见,通过本方案,可以消除图像中存在瞳孔亮斑,提升图像的成像效果。
下面结合附图,对本发明实施例提供的一种瞳孔亮斑消除方法进行消息介绍。
如图1所示,本发明实施例提供的一种瞳孔亮斑消除方法可以包括如下步骤:
S101,获取目标图像;其中,所述目标图像包含具有瞳孔亮斑的瞳孔区域;
其中,瞳孔亮斑是由于成像设备的自带补光,导致在成像过程中目标对象的瞳孔区域处有明显反光的现象,导致最终生成的图像中目标对象的瞳孔区域表现为圆形亮斑。其中,目标图形中具有瞳孔亮斑的瞳孔区域可以人的瞳孔区域,或者也可以为动物的瞳孔区域,例如猫的瞳孔区域,本发明实施例对此不作具体限定。
上述目标图像可以为个人消费电子设备所拍摄的包含具有瞳孔亮斑的瞳孔区域的图像。例如,通过智能手机在环境亮度较低的场景中,启用闪光灯针对目标对象拍摄所得到的图像。或者,目标图像还可以为各类监控设备所采集的包含具有瞳孔亮斑的瞳孔区域的图像。例如,在环境亮度较低时,监控设备采用补光方式对目标对象进行采集的所得到的图像。
在一种实现方式中,可以从图像采集设备处获取目标图像。其中,图像采集设备包括智能手机、监控设备等具有图像采集功能的电子设备。当图像采集设备完成图像采集后,可以从图像采集设备内读取图像采集设备所采集的目标图像。
可选的,在另一种实现方式中,目标图像还可以采用如下方式获取得到:获取图像采集设备所采集的具有瞳孔亮斑的瞳孔区域的图像,并从该图像中分离出脸部图像,作为目标图像。例如图像1中包含人物A,且图像1中人物A的瞳孔区域具有瞳孔亮斑,则可以先识别出图像1中人物A的人脸位置,进而从图像1中分离出人物A的人脸图像。需要说明的,所分离的脸部图像中需要包含具有瞳孔亮斑的瞳孔区域。
可选的,在另一种实现方式中,还可以从数据库中读取目标图像。其中,数据库中预先存储有包含具有瞳孔亮斑的瞳孔区域的图像,当需要进行瞳孔亮斑消除时,可以从数据库中读取出包含具有瞳孔亮斑的瞳孔区域的图像,作为目标图像。
S102,针对所述目标图像中瞳孔区域的每一分区,利用预先训练的瞳孔区域的分区与像素值之间的目标映射关系,将该分区内的像素点的像素值校正为该分区所映射的像素值;每一分区所映射的像素值为该分区的像素点在消除亮斑后的像素值。
其中,对于具有瞳孔亮斑的瞳孔区域而言,由于瞳孔亮斑的影响,使得瞳孔区域表现为白色亮斑,即具有瞳孔亮斑的瞳孔区域内像素点的像素值均为0,即白色。由于具有瞳孔亮斑的瞳孔区域为全白,因此,瞳孔亮斑消除实质可以理解为:将具有瞳孔亮斑的瞳孔区域内的全白像素点的像素值修改为正常瞳孔区域内像素点的像素值。
而对于正常的瞳孔区域而言,瞳孔区域内各像素点的像素值的分布是具有规律性的,如以人眼为例,正常的瞳孔区域的一种示例中,瞳孔区域的中间分区(即巩膜中心)为黑、而外围分区为灰褐(以上仅举例说明,可以根据需要继续划分更细致的分区)。因此,可以预先训练得到的瞳孔区域的分区与像素值之间的目标映射关系,进而针对所述目标图像中瞳孔区域的每一分区,利用预先训练的瞳孔区域的分区与像素值之间的目标映射关系,将该分区内的像素点的像素值校正为该分区所映射的像素值。由于每一分区所映射的像素值为该分区的像素点在消除亮斑后的像素值,即每一分区所映射的像素值为该分区的像素点在正常瞳孔区域内的像素值,因此,利用预先训练的瞳孔区域的分区与像素值之间的目标映射关系可以实现消除瞳孔区域内的瞳孔亮斑。
需要说明的是,一个分区所映射的像素值可能是黑色也可能是黑灰色等。只要使最后所得到的瞳孔区域符合消除亮斑后的像素值即可。
上述目标映射关系具体的训练过程将在后续进行详细说明,在此不再赘述。
本实施例所提供方案中,由于可以利用预先训练的瞳孔区域的分区与像素值之间的目标映射关系,将该分区内的像素点的像素值校正为该分区所映射的像素值,同时由于每一分区所映射的像素值为该分区的像素点在消除亮斑后的像素值,使得校准后的瞳孔区域为消除亮斑后的瞳孔区域,从而可以得到瞳孔亮斑消除后的目标图像。可见,通过本方案,可以消除图像中存在瞳孔亮斑,提升图像的成像效果。
可选地,如图2所示,本发明实施例中,还提供一种瞳孔亮斑消除方法,在图1的基础上,还包括如下训练得到目标映射关系的步骤:
S201,获取多张第一图像和第一图像对应的第二图像;
其中,第一图像中包含瞳孔亮斑,而第二图像为未包含瞳孔亮斑的图像,并且第一图像和相应的第二图像除瞳孔区域以外的图像区域相同。也就是说,所获取的第一图像与相应的第二图像相比,除具有瞳孔亮斑的瞳孔区域以外的图像区域内各像素点的像素值是相同的,第一图像与相应的第二图像区别仅在于是否具有瞳孔亮斑的瞳孔区域,第一图像的瞳孔区域内具有瞳孔亮斑,而第二图像的瞳孔区域不不具有瞳孔亮斑。
S202,基于多张第一图像和每一第一图像对应的第二图像,对预设的瞳孔区域的分区与像素值之间的映射关系进行训练,得到所述目标映射关系;
其中,预设的瞳孔区域的分区与像素值之间的映射关系可以为各映射参数均为空值的映射函数。需要训练得到目标映射关系时,可以将每一张第一图像与该第一图像相应的第二图像作为一组训练数据。对于每一组训练数据而言,可以先将利用预设的瞳孔区域的分区与像素值之间的映射关系对第一图像进行校正,得到校正后的第一图像,进而比较校正后的第一图像与相应的第二图像中瞳孔区域的差异,差异越小,说明校正的效果越好,差异越大说明校正的效果越差,因此,可以基于校正后的校正后的第一图像与相应的第二图像中瞳孔区域的差异对预设的瞳孔区域的分区与像素值之间的映射关系进行调整,最终得到目标映射关系。
上述利用所述目标映射关系进行校正后的每一第一图像的瞳孔区域内各像素点的像素值与像素值真值之间的损失函数值之和小于预设阈值,每一像素点的像素值真值为该第一图像相对应的第二图像瞳孔区域内,与该像素点具有相同位置的像素点的像素值,所述损失函数值基于像素值损失所确定。
其中,由于第一图像的瞳孔区域内各像素点的像素值与像素值真值之间的损失函数值反应出利用所述目标映射关系进行校正后的第一图像的瞳孔区域内各像素点的像素值与该第一图像相对应的第二图像瞳孔区域内,与该像素点具有相同位置的像素点的像素值之间差异的大小,因此,当校正后的每一第一图像的瞳孔区域内各像素点的像素值与像素值真值之间的损失函数值之和小于预设阈值时,则说明利用所述目标映射关系进行校正后的第一图像的瞳孔区域内各像素点的像素值与该第一图像相对应的第二图像瞳孔区域内,与该像素点具有相同位置的像素点的像素值之间差异足够小,使得校正后的利用所述目标映射关系进行校正后的第一图像消除了瞳孔区域内的瞳孔亮斑。
本实施例所提供方案中,由于可以利用预先训练的瞳孔区域的分区与像素值之间的目标映射关系,将该分区内的像素点的像素值校正为该分区所映射的像素值,同时由于每一分区所映射的像素值为该分区的像素点在消除亮斑后的像素值,使得校准后的瞳孔区域为消除亮斑后的瞳孔区域,从而可以得到瞳孔亮斑消除后的目标图像。可见,通过本方案,可以消除图像中存在瞳孔亮斑,提升图像的成像效果。
基于图2的实施例,如图3所述,本发明实施例还提高一种瞳孔亮斑消除方法,上述S202,可以包括:
针对每一第一图像,基于如下步骤对预设的关于瞳孔区域内各位置与像素值的映射关系进行训练:
S2021:基于预设的关于瞳孔区域内各分区与像素值的映射关系,确定该第一图像的瞳孔区域内各分区映射至的像素值,得到校正后的该第一图像;
其中,校正后的该第一图像是处于训练阶段的映射关系对包含具有瞳孔亮斑的瞳孔区域的第一图像进行处理后的图像。本领域技术人员所能理解,校正后的该第一图像中瞳孔区域内的瞳孔亮斑可能被完全消除,也可能并没有被完全消除,这都是可以的。
S2022:针对校正后的该第一图像的瞳孔区域内每一像素点,计算该像素点的像素值,与该像素点的像素值真值的损失函数值,作为该像素点的损失函数值;
其中,第一图像中包含具有瞳孔亮斑的瞳孔区域,而与第一图像相应的第二图像不包含具有瞳孔亮斑的瞳孔区域,而利用预设的关于瞳孔区域内各分区与像素值的映射关系对第一图像进行映射所得到的校正后的该第一图像而言,其理想状态为与该第一图像相应的第二图像相同,而损失函数值即为衡量校正后的该第一图像与该第一图像相应的第二图像是否相同的参数。
因此,可以计算校正后的该第一图像的瞳孔区域内每一像素点与该像素点的像素值真值的损失函数值。具体计算方式将在后续详细描述,在此不再赘述。
S2023:判断校正后的该第一图像的瞳孔区域内各像素点的损失函数值的和值是否小于预设阈值,当所述和值不小于所述预设阈值时,调整所述关于瞳孔区域内各分区与像素值的映射关系,并进行下一次训练,当所述和值小于所述预设阈值时,得到训练完成的目标映射关系。
其中,校正后的该第一图像的瞳孔区域内每一像素点均具有损失函数值,而判断关于瞳孔区域内各分区与像素值的映射关系是否可用的条件则是该第一图像的瞳孔区域内各像素点的损失函数值的和值是否小于预设阈值。即需要先求取该第一图像的瞳孔区域内各像素点的损失函数值的和值,再判断所计算的和值是否小于预设阈值。
当所述和值不小于所述预设阈值时,则说明校正后的该第一图像的瞳孔区域没有达到预期,调整所述关于瞳孔区域内各分区与像素值的映射关系,并进行下一次训练。
当所述和值小于所述预设阈值时,则说明待校正后的该第一图像的瞳孔区域达到预期,则训练结束,得到训练完成的目标映射关系。
本实施例所提供方案中,通过第一图像和第一图像相应的第二图像训练生成目标映射关系,从而当需要消除图像中的瞳孔亮斑时,可以利用目标映射关系,得到瞳孔亮斑消除后的图像。可见,通过本实施例所提供方案,为消除瞳孔亮斑、提高图像成像质量提供了实现基础。
基于图3的实施例,如图4所述,本发明实施例还提高一种瞳孔亮斑消除方法,上述S2022,可以包括:
S2022A,针对校正后的该第一图像的瞳孔区域内每一像素点,计算该像素点像素值,与该像素点的像素值真值的像素值损失,并基于所确定的像素值损失,确定该像素点的像素值,与该像素点的像素值真值的损失函数值,作为该像素点的损失函数值。
其中,在一种实现方式中,可用计算该像素点像素值与该像素点的像素值真值的差值,作为像素值损失。
示例性的,像素点A的像素值为225,像素点A的像素值真值为125,计算得到像素值差值为225-125=100,作为像素点A的像素值损失。
可选的,在另一种实现方式中,还可以按照以下公式确定每一像素点的像素值损失:
其中,为校正后的该第一图像中像素点i的像素值损失,Yi为像素点i的像素值真值,f(xi)为像素点i的像素值。
示例性的,像素点A的像素值为225,像素点A的像素值真值为125,则
可选的,还可以针对像素点的每一颜色分量均计算像素点在该颜色分量下的像素值损失。例如,像素点B包含三个颜色分量,分别为R、G和B,则当计算像素点B的像素值损失时,可以分别计算像素点B在R、G和B颜色分量下的像素值损失。
可选的,根据不同的需求,基于所确定的像素值损失,确定该像素点的像素值,与该像素点的像素值真值的损失函数值的实现方式至少包括如下几种:
第一种实现方式:将所确定的像素值损失,确定为该像素点的像素值,与该像素点的像素值真值的损失函数值。本方式中,直接将所确定的像素值损失确定为损失函数值。
第二种实现方式:计算该像素点的辅助损失;基于所确定的像素值损失和计算得到的辅助损失,确定该像素点的像素值,与该像素点的像素值真值的损失函数值;其中,所述辅助损失包括该像素点的颜色损失和平滑度损失中的至少一种。
其中,计算该像素点的辅助损失可用采用如下两张方式中的任意一种方式实现:
方式1:计算该像素点的像素值与该像素点的像素值真值在色彩空间中的夹角,作为该像素点的颜色损失;
可选的,可以按照以下公式计算像素点与该像素点的像素值真值在色彩空间中的夹角:
其中,为校正后的该第一图像中像素点i与该像素点i的像素值真值在色彩空间中的夹角,上述()p表示一个像素,∠(,)为计算向量夹角的运算符,(f(xi))p为像素点i在色彩空间中三维向量,(Yi)p为像素点i的像素值真值在色彩空间中三维向量。
示例性的,像素点C的像素值为(R:255,G:128,B:128),则(f(xC))p为三维向量1:(255,128,128),像素点C的像素值真值为(R:200,G:120,B:150),则(YC)p为三维向量2:(200,120,150),则为向量1和向量2之间的夹角。
方式2:计算该像素点的梯度,作为该像素点的平滑度损失。
其中,平滑度损失的作用是对于校正后的该第一图像的瞳孔区域进行平滑,以避免亮斑去除后瞳孔区域梯度过度明显的不自然现象,定义为:
其中,为校正后的该第一图像中像素点i的平滑度损失,p为像素点,Sp为像素点p的照明度,c为颜色通道,和是图像空间中水平方向和垂直方向的偏导数,和是空间变化的平滑度权重:
其中,是输入图像的对数图像,θ是控制对图像梯度敏感度的一个参数,ε为常数。可选的,在一种实现方式中,上述θ可设置为1.2,上述ε可设置为0.0001。
可选的,在另一种实现方式中,上述基于所确定的像素值损失,确定该像素点的像素值,与该像素点的像素值真值的损失函数值的实现方式,可用包括:
计算所确定的像素值损失、计算得到的颜色损失和平滑度损的加权和,作为该像素点的像素值与该像素点的像素值真值的损失函数值。
其中,可以按照以下公式,计算该像素点的像素值与该像素点的像素值真值的损失函数值:
其中,为校正后的该第一图像中像素点i的像素值损失,为校正后的该第一图像中像素点i的颜色损失,为校正后的该第一图像中像素点i的平滑度损失,ωr、ωr和ωc为损失函数的权重,N为亮斑消除后的样本图像中像素的数量。
本实施例所提供方案中,通过第一图像和第一图像相应的第二图像训练生成目标映射关系,从而当需要消除图像中的瞳孔亮斑时,可以利用目标映射关系,得到瞳孔亮斑消除后的图像。可见,通过本实施例所提供方案,为消除瞳孔亮斑、提高图像成像质量提供了实现基础。
基于图2的实施例,如图5所述,本发明实施例还提高一种瞳孔亮斑消除方法,上述S201,可以包括通过以下步骤获取每一第一图像和第一图像对应的第二图像,包括:
S2011,获取第一初始图像和所述第一初始图像对应的第二初始图像;其中,所述第一初始图像通过具有补光的第一摄像机采集得到,所述第二初始图像通过无补光的第二摄像机采集得到,所述第一摄像机和所述第二摄像机在采集所述所述第一初始图像和所述第二初始图像时具有相同的配置参数、且所针对的对象相同;
其中,第二初始图像可以通过无补光的第二摄像机采集得到,即第二摄像机在关闭补光灯情况下采集得到第二初始图像。由于仅在打开了补光灯的情况下,摄像机所采集的图像才可能出现瞳孔亮斑的情况,因此,过无补光的第二摄像机采集得到的第二初始图像当中不会出现瞳孔亮斑,即第二初始图像中不包含瞳孔亮斑,可作为第二图像。相应的,通过具有补光的第一摄像机采集得到的第一第一初始图像包含具有瞳孔亮斑的瞳孔区域。
举例而言,使用两台配置参数相同的摄像机对目标人物进行图像采集。可选的,可以将两台摄像机平行放置,摄像机的实际高度约3米,目标人物与摄像机相距10-15米左右,通过两台摄像机的焦距,使两台摄像机中人脸清晰,且瞳孔间距合适。其中一台摄像机关闭补光灯,从而拍摄的人脸图像为第二初始图像,而另一台摄像机则打开补光灯,使得拍摄的人脸图像中包含瞳孔亮斑,作为第二初始图像对应的第一初始图像。
S2012,基于所述第一初始图像的瞳孔区域的区域信息,更新所述第二初始图像中的瞳孔区域,得到更新后的图像,作为第一图像,并将所述第二初始图像作为与该第一图像对应的第二图像;其中,所述更新后的图像的瞳孔区域与所述第一初始图像的瞳孔区域相同,且所述更新后的图像除瞳孔区域以外的图像区域与所述第二初始图像相同。
其中,上述区域信息可以为瞳孔区域每一像素的像素信息,如像素大小、像素位置等。可选的,可以按照以下方式更新第二初始图像中的瞳孔区域:
针对所述第二初始图像中瞳孔区域内每一像素点,确定所述第一初始图像的瞳孔区域内与该像素点位置相匹配的目标像素点,并将该像素点的像素值更新为所述目标像素点的像素值。
示例性的,第二初始图像中瞳孔区域内包含像素点A,像素值为(R:123,G:0,B:255),而第一初始图像的瞳孔区域内与像素点A位置相匹配的目标像素点为像素点B,像素值为(R:255,G:128,B:128),则将像素点A的像素值从(R:123,G:0,B:255)修改为(R:255,G:128,B:128)。
本实施例所提供方案中,由于可以利用预先训练的瞳孔区域的分区与像素值之间的目标映射关系,将该分区内的像素点的像素值校正为该分区所映射的像素值,同时由于每一分区所映射的像素值为该分区的像素点在消除亮斑后的像素值,使得校准后的瞳孔区域为消除亮斑后的瞳孔区域,从而可以得到瞳孔亮斑消除后的目标图像。可见,通过本方案,可以消除图像中存在瞳孔亮斑,提升图像的成像效果。
可选的,在一实施例中,上述目标映射关系可以为训练完成的目标瞳孔亮斑消除模型。相应的,预设的关于瞳孔区域内各分区与像素值的映射关系可以为待训练的瞳孔亮斑消除模型。
在一种实施例中,上述瞳孔亮斑消除模型为可以为CNN(Convolutional NeuralNetworks,卷积神经网络)模型。可选的,瞳孔亮斑消除模型可以为编码器-解码器结构的CNN模型,其中,编码器-解码器结构的CNN模型的处理过程包括两个阶段:编码阶段和解码阶段,编码阶段用于从输入图像中提取特征,而解码阶段则使用所提取的特征还原出图像。
可选的,在一种实现方式中,上述瞳孔消除模型可以为ResBlock(重新封锁)结构。使用ResBlock网络结构作为基础结构可以放大CNN的优势,实现训练的可行性。ResBlock结构是一种包括两个卷积层的结构,其中输入一路经过第一卷积层Conv1,激活函数relu,第二卷积层Conv2,另一路与前一路经过两个卷积层得到的输出相加,得到网络结构最终的输出。
可选的,在一种实现方式中,提供一种包含18各卷积层的编码器-解码器网络结构,如表1所示:
表1
可选的,在一实施例中,本领域技术人员所知的,针对神经网络模型而言,输入神经网络模型中的图像分辨率是固定的,对于本发明实施例所提及的瞳孔亮斑消除模型而言也不例外。
由于输入瞳孔亮斑消除模型的图像的分辨率大小是固定的,而所获取的目标图像可能并不是固定分辨率的图像,因此,在将目标图像输入至瞳孔亮斑消除模型之前,需要对目标图像进行缩放处理,将目标图像分辨率缩放为适用于瞳孔亮斑消除模型的分辨率。
举例而言,输入瞳孔亮斑消除模型的图片需要为分辨率为256*256的图像,当获取的目标图像的分辨率为1280*1280,则需要将该目标图像的分辨率缩放5倍,从1280*1280缩放为256*256,再将缩放后的目标图像输入至瞳孔亮斑消除模型。
本领域技术人员所知的,对图像进行缩放将导致图像的清晰度较低,因此,在一种实现方式中,可以在瞳孔亮斑消除模型输出瞳孔亮斑消除后的目标图像时,还可以采用如下步骤对输出的目标图像进行处理,以提高瞳孔亮斑消除后的目标图像的清晰度,包括步骤1至步骤4:
步骤1:将瞳孔亮斑消除模型输出的目标图像放大还原分辨率,得到分辨率还原图像;示例性的,瞳孔亮斑消除模型输出的目标图像的分辨率可为256x256,此时,可以将目标图像放大还原为1280x1280。
步骤2:对输出的目标图像进行RGB到YUV的颜色通道转换,得到YUV格式的图像;对YUV格式的图像的Y分量进行高斯滤波,得到基础层图像;
步骤3:使用输出的目标图像与基础层图像作差,得到细节层图像;
步骤4:对细节层图像进行像素值倍数放大处理,并叠加处理后的图像与分辨率还原图像,得到已提高清晰度、且瞳孔亮斑已消除后的图像。
本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现上述所提供的方法步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一瞳孔亮斑消除方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一瞳孔亮斑消除方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种医学图像处理方法和装置