图像处理方法、模型训练方法及对应装置与流程

文档序号:16136382发布日期:2018-12-01 01:02阅读:166来源:国知局

本发明涉图像处理技术领域,具体而言,涉及一种图像处理方法、模型训练方法及对应装置。

背景技术

在生物识别系统中,为防止恶意者伪造和窃取他人的生物特征用于身份认证,生物识别系统需具有活体检测功能,即判断提交的生物特征是否来自有生命的个体。

人脸活体检测是一种最为常见的活体检测方式,在现有技术中,通过深度摄像头采集包括活体人脸的深度图像,并基于深度图像训练深度活体模型,该模型能够用于人脸活体检测并输出分类结果,即待检测人脸是否为活体。然而,在采集活体人脸的深度图像的过程中,由于人力财力的限制,采集的深度图像难以覆盖到所有的场景,从而训练出的深度活体模型鲁棒性较差。



技术实现要素:

有鉴于此,本发明实施例提供一种图像处理方法、模型训练方法及对应装置,以解决上述技术问题。

为实现上述目的,本发明提供如下技术方案:

第一方面,本发明实施例提供一种图像处理方法,包括:

获得第一深度图像,第一深度图像包括目标对象与摄像头之间的距离信息;

对第一深度图像进行增广处理,获得第一深度图像的至少一个增广图像,其中,增广处理包括以下至少一种:特征点偏移处理、随机距离变换处理、遮挡处理、数据缺失处理以及高斯模糊处理。

上述方案能够对第一深度图像进行多种不同的增广处理,获得用于模拟不同场景的共至少一个增广图像,使得可用于训练模型的深度图像样本的数量显著增加,图像覆盖的场景也较为全面,从而有利于改善训练出的模型的精度,提高模型的鲁棒性。

结合第一方面,在第一方面的第一种可能的实现方式中,获得第一深度图像,包括:

获得目标场景的红外图像以及第二深度图像,第二深度图像包括目标场景与摄像头之间的距离信息,目标场景包括目标对象;

在红外图像中确定目标对象的第一特征点集合;

将第一特征点集合投射到第二深度图像中,在第二深度图像中确定与第一特征点集合对应的第二特征点集合;

在第二深度图像中确定一个包括第二特征点集合的第一矩形区域,并将第一矩形区域确定为第一深度图像。

第一深度图像可以从第二深度图像中抠取,从而排除掉第二深度图像中除目标对象以外的部分,有利于改善训练出的模型的精度。

现有的对目标对象的检测方法很多并不针对深度图像,因此,可以在红外图像上进行检测后,再将检测出的第一特征点集合投射到第二深度图像上,以实现对第一深度图像的抠取。

结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,在第二深度图像中确定一个包括第二特征点集合的第一矩形区域,包括:

确定第二特征点集合中的第二特征点的横坐标最小值xmin、横坐标最大值xmax、纵坐标最小值ymin以及纵坐标最大值ymax;

将以点(xmin,ymin)、(xmax,ymin)、(xmin,ymax)以及(xmax,ymax)为顶点的矩形区域确定为第一矩形区域。

确定第二特征点集合中的位于集合边缘处的第二特征点,能够快速确定出一个包括第二特征点集合的矩形区域。

结合第一方面或第一方面的第一种或第二种可能的实现方式,在第一方面的第三种可能的实现方式中,获得第一深度图像之后,对第一深度图像进行增广处理之前,方法还包括:

对第一深度图像进行缩放处理。

通过对第一深度图像进行缩放,使得其尺寸统一,便于后续处理。此外,在某些计算资源存在限制或对精度要求不高的情况下,对第一深度图像进行缩小,再进行后续处理,有利于加快处理速度。

结合第一方面的第一种或第二种可能的实现方式,在第一方面的第四种可能的实现方式中,对第一深度图像进行特征点偏移处理,获得第一深度图像的任一增广图像,包括:

在第二深度图像中对第二特征点集合中的每个第二特征点在水平方向上进行随机偏移和/或在竖直方向上进行随机偏移,获得偏移后的第二特征点集合;

在第二深度图像中确定一个包括偏移后的第二特征点集合的第二矩形区域,并将第二矩形区域确定为增广图像。

在实际中,通常采集红外线图像和采集第二深度图像之间存在一定的时间间隔,在这一时间间隔内,目标对象可能会产生一定的移动或变化,导致将第一特征点集合投射到第二深度图像上时存在一定的偏差,即第二特征点集合可能并不对应第二深度图像上目标对象的实际特征点集合。

这种情况可以通过对第二特征点集合中的第二特征点进行随机偏移来模拟,实现对第一深度图像的增广。

结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,对第二特征点集合中的每个第二特征点在水平方向上进行随机偏移和/或在竖直方向上进行随机偏移,包括:

获得第一矩形区域在水平方向上的第一边长;

将第一边长与区间[a1,b1]内的随机数相乘并随机确定乘积的正负号,获得水平偏移量,其中,a1为非负数,b1小于或等于1;

在第二深度图像中基于水平偏移量对第二特征点集合中的每个第二特征点在水平方向上进行偏移;

和/或

获得第一矩形区域在竖直方向上的第二边长;

将第二边长与区间[a2,b2]内的随机数相乘并随机确定乘积的正负号,获得竖直偏移量,其中,a2为非负数,b2小于或等于1;

在第二深度图像中基于竖直偏移量对第二特征点集合中的每个第二特征点在竖直方向上进行偏移。

在上述模拟随机偏移的实现方式中,每个第二特征点的具有相同的随机偏移量,用于模拟目标对象在采集红外线图像和采集第二深度图像之间的时间间隔内存在整体移动的情况。

结合第一方面的第四种可能的实现方式,在第一方面的第六种可能的实现方式中,在第二深度图像中对第二特征点集合中的每个第二特征点在水平方向上进行随机偏移和/或在竖直方向上进行随机偏移,包括:

获得第一矩形区域在水平方向上的第一边长;

将第一边长与区间[a1,b1]内针对每个第二特征点的随机数相乘并随机确定乘积的正负号,获得针对每个第二特征点的水平偏移量,其中,a1为非负数,b1小于或等于1,针对不同的第二特征点的随机数可以不同;

在第二深度图像中对第二特征点集合中的每个第二特征点,基于针对该第二特征点的水平偏移量在水平方向上进行偏移;和/或

获得第一矩形区域在竖直方向上的第二边长;

将第二边长与区间[a2,b2]内针对每个第二特征点的随机数相乘并随机确定乘积的正负号,获得针对每个第二特征点的竖直偏移量,其中,a2为非负数,b2小于或等于1,针对不同的第二特征点的随机数可以不同;

在第二深度图像中对第二特征点集合中的每个第二特征点,基于针对该第二特征点的竖直偏移量在竖直方向上进行偏移。

在上述模拟随机偏移的实现方式中,每个第二特征点的随机偏移量可以是不同的,用于模拟目标对象在采集红外线图像和采集第二深度图像之间的时间间隔内存在局部移动或其他运动变化的情况。

结合第一方面,在第一方面的第七种可能的实现方式中,对第一深度图像进行随机距离变换处理,获得第一深度图像的任一增广图像,包括:

将第一深度图像与区间[a3,b3]内的随机数相乘,获得增广图像,其中,a3以及b3均为非负数。

上述实现方式用于模拟目标对象与摄像头之间具有不同距离的场景。

结合第一方面,在第一方面的第八种可能的实现方式中,对第一深度图像进行遮挡处理,获得第一深度图像的任一增广图像,包括:

确定第一深度图像中的图像区域s1;

将s1中的像素的像素值用区间[a4,b4]内的随机数替代,获得增广图像,其中,a4为非负数,b4小于或等于目标对象与摄像头之间的距离。

上述实现方式用于模拟目标对象与摄像头之间存在遮挡物的场景。

结合第一方面的第八种可能的实现方式,在第一方面的第九种可能的实现方式中,s中包括n1个像素,n1为正整数,将s1中的像素的像素值用区间[a4,b4]内的随机数替代,包括:

取i为1至n1,将第i个像素的像素值用区间[a4,b4]内的随机数ui替代。

在该实现方式中,每个像素可以具有不同的随机替代值,用于模拟任何形状的遮挡物。

结合第一方面,在第一方面的第十种可能的实现方式中,对第一深度图像进行数据缺失处理,获得第一深度图像的任一增广图像,包括:

确定第一深度图像中的图像区域s2;

将s2中的像素的像素值用区间[0,b5]内的数值替代,获得增广图像,其中,b5为用于表示深度存在缺失的阈值。

上述实现方式用于模拟因光照过强或者摄像头离目标对象过近等原因造成第一深度图像中存在深度缺失的场景。

结合第一方面的第十种可能的实现方式,在第一方面的第十一种可能的实现方式中,数值为随机数。

深度如果完全缺失则像素值为0,但某些情况下深度不一定会完全缺失,可以通过随机数进行模拟。

结合第一方面的第十一种可能的实现方式,在第一方面的第十二种可能的实现方式中,s2中包括n2个像素,n2为正整数,将s2中的像素的像素值用区间[0,b5]内的数值替代,包括:

取i为1至n2,将第i个像素的像素值用区间[0,b5]内的随机数vi替代。

在该实现方式中,每个像素可以具有不同的随机替代值,用于模拟各像素的深度缺失程度不一致的情况。

结合第一方面的第十种至第十二种中的任意一种可能的实现方式,在第一方面的第十三种可能的实现方式中,确定第一深度图像中的图像区域s2,包括:

将第一深度图像中的一个随机生成的图像区域确定为s2。

深度缺失的区域通常具有一定的随机性,可以通过随机生成s2进行模拟。

结合第一方面的第十三种可能的实现方式,在第一方面的第十四种可能的实现方式中,将第一深度图像中的一个随机生成的图像区域确定为s2,包括:

随机生成一个形状,形状的尺寸不超过第一深度图像的尺寸;

随机确定第一深度图像中的一个位置;

将以该位置为起始位置,包括在形状内的第一深度图像中的像素集合确定为s2。

一个区域可以通过其形状以及位置唯一确定,因此可以通过上述实现方式确定s2。

结合第一方面的第十四种可能的实现方式,在第一方面的第十五种可能的实现方式中,形状为矩形,随机生成一个形状,包括:

随机确定矩形的长以及宽,且满足矩形的尺寸不超过第一深度图像的尺寸。

矩形是图像处理中最常用的一种形状,随机的矩形只需要确定两个长和宽两个参数,生成随机的矩形十分方便。

结合第一方面,在第一方面的第十六种可能的实现方式中,对第一深度图像进行高斯模糊处理,获得第一深度图像的任一增广图像,包括:

对第一深度图像利用一组模糊参数进行高斯模糊,获得增广图像。

上述实现方式用于因摄像头抖动造成第一深度图像中存在模糊的场景。此外,高斯模糊对第一深度图像的图像质量影响不大,因此也可以作为一种普适性的增广方法增加深度图像样本的数量。

第二方面,本发明实施例提供一种模型训练方法,包括:

利用第一方面或第一方面的任意一种可能的实现方式提供的图像处理方法获得第一深度图像以及第一深度图像的至少一个增广图像;

利用第一深度图像以及至少一个增广图像训练用于对目标对象进行分类的模型。

该模型训练方法由于采用了本发明实施例提供的图像处理方法,因此可以获得数量较多,且覆盖各种场景的深度图像训练样本,用这些样本训练模型,可以取得较好的训练效果,提高模型的鲁棒性,改善模型的分类结果的质量。

第三方面,本发明实施例提供一种图像处理装置,包括:

深度图像获取模块,用于获得第一深度图像,第一深度图像包括目标对象与摄像头之间的距离信息;

深度图像增广模块,用于对第一深度图像进行增广处理,获得第一深度图像的至少一个增广图像,其中,增广处理包括以下至少一种:特征点偏移处理、随机距离变换处理、遮挡处理、数据缺失处理以及高斯模糊处理。

第四方面,本发明实施例提供一种模型训练装置,包括:

训练图像获取模块,用于利用第一方面或第一方面的任意一种可能的实现方式提供的图像处理方法获得第一深度图像以及第一深度图像的至少一个增广图像;

模型训练模块,用于利用第一深度图像以及至少一个增广图像训练用于对目标对象进行分类的模型。

第五方面,本发明实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器读取并运行时,执行第一方面、第一方面的任意一种可能的实现方式或第二方面提供的方法的步骤。

第六方面,本发明实施例提供一种电子设备,包括存储器以及处理器,存储器中存储有计算机程序指令,计算机程序指令被处理器读取并运行时,执行第一方面、第一方面的任意一种可能的实现方式或第二方面提供的方法的步骤。

为使本发明的上述目的、技术方案和有益效果能更明显易懂,下文特举实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了一种可应用于本发明实施例中的电子设备的结构框图;

图2示出了本发明第一实施例提供的图像处理方法的流程图;

图3示出了本发明第二实施例提供的模型训练方法的流程图;

图4示出了本发明第三实施例提供的图像处理装置的功能模块图;

图5示出了本发明第四实施例提供的模型训练装置的功能模块图。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

图1示出了一种可应用于本发明实施例中的电子设备100的结构框图。参照图1,电子设备100包括一个或多个处理器102、一个或多个存储装置104、输入装置106、输出装置108以及图像采集装置110,这些组件通过总线系统112和/或其他形式的连接机构(未示出)互连。

处理器102可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备100中的其他组件以执行期望的功能。

存储装置104可以各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行计算机程序指令,以实现下文的本发明实施例中的方法以及/或者其他期望的功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据,例如应用程序使用和/或产生的各种数据等。

输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。

输出装置108可以向外部(例如,用户)输出各种信息(例如,图像或声音),并且可以包括显示器、扬声器等中的一个或多个。

图像采集装置110用于拍摄用户期望的图像,可以有多种实现,例如拍摄深度图像的图像采集装置、拍摄红外图像的图像采集装置等。图像采集装置110采集的图像可以传输至存储装置104存储,以供其他组件使用。

可以理解,图1所示的结构仅为示意,电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。于本发明实施例中,电子设备100可以是个人计算机、移动设备、智能穿戴设备、车载设备等终端设备,也可以是人证一体机等认证设备。

第一实施例

图2示出了本发明第一实施例提供的图像处理方法的流程图。参照图2,图像处理方法包括:

步骤s10:电子设备100的处理器102获得第一深度图像。

第一深度图像是包括目标对象与深度图像采集设备的摄像头之间的距离信息的图像,第一深度图像的每个像素的像素值都表示目标对象到摄像头的距离,不同的深度图像采集设备获得的深度图像中的距离单位可能是不同的,在对第一深度图像进行后续处理之前可以统一距离单位。其中,目标对象通常与第一深度图像的具体用途有关,例如,第一深度图像用于训练人脸活体检测的活体深度模型,则可以将活体人脸作为目标对象,当然在其他一些应用场景中,目标对象还可以是其他的物体。

步骤s10中获得第一深度图像的具体方式不作限定,例如,在一种实施方式中,第一深度图像已经事先通过其他途径获得,并存储于电子设备100的存储装置104中,在步骤s10中处理器102直接进行读取并使用。又例如,在另一种实施方式中,可以通过深度图像采集设备(例如,电子设备100的图像采集装置110)采集第一深度图像。

步骤s11:电子设备100的处理器102对第一深度图像进行增广处理,获得第一深度图像的至少一个增广图像。

增广常见于模型的训练过程中,在训练样本有限的情况下,用于增加训练样本的数量。对第一深度图像进行增广处理即在第一深度图像的基础上,通过运算的方式生成其他的深度图像,这些其他的深度图像也可以称之为增广图像。

在第一实施例中,增广处理可以采用特征点偏移处理、随机距离变换处理、遮挡处理、数据缺失处理以及高斯模糊处理中的一种或多种进行处理,分别用于模拟不同的场景,使获得的增广图像尽量覆盖更多的场景,从而改善训练出的模型的鲁棒性。这里所称的场景,是指采集第一深度图像的过程中可能出现的各种情况以及可能影响第一深度图像采集的各种因素。可以理解的,利用获得的增广图像进行模型的训练只是增广图像的一种常见用途而不是唯一用途,但为简便阐述,在第一实施例中,主要以增广图像用于训练模型为例进行阐述。

本发明第一实施例提供的图像处理方法,由于采用了多种不同的处理方式对第一深度图像进行增广处理,从而能够模拟第一深度图像产生的不同场景,使得可用于训练模型的深度图像样本的数量显著增加,图像覆盖的场景也较为全面,即构建了一个良好的训练样本集。在后续步骤中,可以利用该训练样本集进行模型训练,改善训练出的模型的精度,提高模型的鲁棒性。

下面具体阐述步骤s10。对于通过深度图像采集设备采集第一深度图像的实施方式,具体可以包括至少两种方案,第一种是直接采集第一深度图像,第二种是首先通过深度图像采集设备采集包括目标场景与摄像头之间的距离信息的第二深度图像,再从第二深度图像中扣取出第一深度图像。其中,目标场景是包括目标对象的某种环境。下面主要阐述第二种方案。

在现有技术中,从深度图像上直接检测目标对象的方法较少,因此,作为一种可选的实施方式,可以首先通过红外图像采集设备采集目标场景的红外图像,紧接着采集目标场景的第二深度图像,然后在红外图像上检测目标对象,再将检测结果对应到第二深度图像上,实现对第二深度图像上目标对象的检测。

具体而言,首先在红外图像中检测出目标对象的第一特征点集合,第一特征点集合包括多个第一特征点,用于表示目标对象的主要特征,例如对于目标对象时人脸而言,第一特征点就是人脸特征点(landmark点),用于标识人脸的轮廓、五官等。

然后将第一特征点集合中的第一特征点采用某种映射方式投射到第二深度图像上,每个第一特征点在第二深度图像上对应一个第二特征点,从而第一特征点集合对应第二深度图像上的第二特征点集合。其中,具体的映射方式不作限定,例如,如果第二深度图像与红外图像具有相同的尺寸,可以直接将第二深度图像上与第一特征点位置对应的点确定为第二特征点。

随后,在第二深度图像中确定一个包括第二特征点集合的第一矩形区域,由于第一矩形区域包括了所有的第二特征点,所以可以认为在第二深度图像中第一矩形区域包括了目标对象,从而可以将第一矩形区域确定为第一深度图像。

通常而言,第二深度图像中除目标对象外,还包括目标场景中的很多其他内容,这些内容与目标对象的用途无关,通过从第二深度图像中抠取第一深度图像,排除掉这些内容,使目标对象成为了第一深度图像的主体。例如,第一深度图像用于训练活体深度模型,在第一深度图像抠取的过程中,尽量排除属于目标场景的内容,保留属于目标对象的内容,有利于改善训练出的模型的精度。

进一步的,确定第一矩形区域可以采取如下方法:

首先确定第二特征点集合中的第二特征点的横坐标最小值xmin、横坐标最大值xmax、纵坐标最小值ymin以及纵坐标最大值ymax。然后将以点(xmin,ymin)、(xmax,ymin)、(xmin,ymax)以及(xmax,ymax)为顶点的矩形区域确定为第一矩形区域。

该方法十分简单,即寻找位于第二特征点集合边缘处的第二特征点,然后基于这些点构造出矩形区域。在某些实现方式中,将构造出的矩形适当扩大后作为第一矩形区域也是可以的。

在步骤s10之后,步骤s11之前,还可以包括对第一深度图像进行缩放的步骤。执行该步骤的原因在于:第一,通过图像抠取这样的方法获得的第一深度图像的尺寸不是固定的,随着目标对象在第二深度图像中的尺寸大小而改变,若直接使用第一深度图像不进行缩放处理可能造成后续步骤处理起来比较复杂。第二,电子设备100的计算能力、存储能力可能存在限制,如果第一深度图像的尺寸较大,处理起来可能效率低下,进行缩放后(主要指缩小)可以提高处理效率。

例如,可以将第一深度图像缩放为32x32、64x64等尺寸的图像。当然在某些精度要求较高的应用中,对第一深度图像不进行缩放或者仅进行轻微的缩放也是可以的。

下面具体阐述步骤s10中不同的增广处理方式。

偏移处理:

偏移处理处理的对象实际上是用于抠取出第一深度图像的第二特征点集合。实际中,在通过红外图像辅助从第二深度图像中抠取第一深度图像的过程中,由于红外图像和第二深度图像的采集时间存在一定的间隔,例如数十毫秒,在这段时间内目标对象如果进行较快的运动,可能导致将第一特征点集合投射到第二深度图像上时存在一定的偏差,即获得的第二特征点集合可能并不能在第二深度图像上准确地描述目标对象。这种情况可以通过对第二特征点集合中的第二特征点进行随机偏移来模拟。

具体而言,可以在第二深度图像中,对每个第二特征点在水平方向上进行随机偏移和/或在竖直方向上进行随机偏移,获得偏移后的第二特征点,从而对于整个第二特征点集合而言可以获得与之对应的偏移后的第二特征点集合,然后采取和之前抠取第一深度图像时类似的方法,在第二深度图像中确定一个包括偏移后的第二特征点集合的第二矩形区域,并将第二矩形区域确定为增广图像。

其中,在水平方向上进行随机偏移至少可以有两种实现方式:

第一种,第二特征点集合中的每个第二特征点的水平偏移量是随机的,且为一个相同的随机数:首先获得第一矩形区域在水平方向上的第一边长(例如xmax-xmin),然后将第一边长与区间[a1,b1]内的随机数相乘并随机确定乘积的正负号,获得水平偏移量,其中,a1为非负数,b1小于或等于1,例如可以取,但不限于取a1=1%,b1=30%。将第二特征点集合中的每个第二特征点在第二深度图像中的横坐标都加上水平偏移量即可完成对第二特征点集合的偏移。注意水平偏移量只计算一次。

第二种,第二特征点集合中的每个第二特征点的水平偏移量是随机的,且为相互独立的随机数,即不同的第二特征点水平偏移量可以不同:对于第二特征点集合中的每个第二特征点,获得第一矩形区域在水平方向上的第一边长,将第一边长与区间[a1,b1]内针对该第二特征点的随机数相乘并随机确定乘积的正负号,获得针对该第二特征点的水平偏移量。将当前第二特征点在第二深度图像中的横坐标加上针对该第二特征点的水平偏移量即可完成对当前第二特征点偏移。其中,计算水平偏移量是针对第二特征点集合中的每个第二特征点都要独立计算一次。

第一种方式,主要用于模拟目标对象存在整体移动的情况,每个第二特征点的位移虽然具有随机性,但都是相同的。第二种方式,主要用于模拟目标对象存在局部移动或其他运动变化(如形变、转动等)的情况,每个第二特征点的位移具有随机性,且并不一定相同。

类似的,在竖直方向上进行随机偏移也至少可以包括两种实现方式:

第一种,首先获得第一矩形区域在竖直方向上的第二边长(例如ymax-ymin),然后将第二边长与区间[a2,b2]内的随机数相乘并随机确定乘积的正负号,获得竖直偏移量,其中,a2为非负数,b2小于或等于1。将第二特征点集合中的每个第二特征点在第二深度图像中的纵坐标都加上竖直偏移量即可完成对第二特征点集合的偏移。

第二种,第二特征点集合中的每个第二特征点的竖直偏移量是随机的,且为相互独立的随机数:对于第二特征点集合中的每个第二特征点,获得第一矩形区域在竖直方向上的第二边长,将第二边长与区间[a2,b2]内针对该第二特征点的的随机数相乘并随机确定乘积的正负号,获得针对该第二特征点的竖直偏移量。将当前第二特征点在第二深度图像中的纵坐标加上针对该第二特征点的竖直偏移量即可完成对当前第二特征点偏移。

在具体实施时,水平方向上的两种方式和竖直方向上的两种方式可以自由进行组合,例如只在水平方向上进行随机偏移,可以有两种选择;只在竖直方向上进行随机偏移,可以有两种选择;同时在水平方向上以及竖直方向上进行随机偏移,可以有四种选择。当然,还存在其他的随机偏移方式,以水平偏移为例,第二特征点集合的一个子集中的第二特征点共用一个随机数,并基于该随机数进行水平偏移;另一个子集中的每个第二特征点独立计算一个随机数,并基于该随机数对该第二特征点进行水平偏移。

此外,对于第二特征点的随机偏移,可以是对第二特征点集合中的所有第二特征点都进行随机偏移,也可以是对第二特征点集合中的一部分第二特征点进行随机偏移,剩余的第二特征点则维持原位置。

随机距离变换处理:

在摄像头采集第一深度图像时,目标对象和摄像头之间具有特定的距离。对于同一个目标对象,很难在各种距离下分别对其进行第一深度图像的采集,这种情况可以通过随机距离变换处理进行模拟。

具体而言,将第一深度图像与区间[a3,b3]内的随机数相乘即可获得增广图像,其中,a3以及b3均为非负数,例如可以取,但不限于取a3=0.7,b3=1.3。第一深度图像乘上该随机数后,图像中的像素的像素值发生了改变,相当于目标对象与摄像头之间的距离进行了重新设定。

遮挡处理:

在摄像头采集第一深度图像时,目标对象和摄像头之间可能存在其他物体,对目标对象造成遮挡。这种情况可以通过遮挡处理进行模拟。

具体而言,首先确定第一深度图像中的图像区域s1,s1用于模拟遮挡物所在的区域。一般可以根据对遮挡物的某种估计来确定s1的位置及形状。例如,目标对象为人脸,且占据了第一深度图像中的绝大部分区域,人如果戴上口罩或者用手捂嘴时会遮挡住嘴巴,为模拟此种情况,可以将s1确定为第一深度图像下方30%的区域。需要指出,s1并不限于连通的区域,也可以是多个不连通的区域,s1的形状、位置都不作限定。

然后将s1中的像素的像素值用区间[a4,b4]内的随机数替代即可获得增广图像,其中,a4为非负数,b4小于或等于目标对象与摄像头之间的距离,例如,目标对象与摄像头之间的距离为50(cm),则a4可以取0,b4可以取50,或者a4可以取10,b4可以取40等等。

至少可以有两种替代方式:

第一种,s1内的所有像素共用一个随机数,并用该随机数替代s1中每个像素的像素值,此种方式计算简单,计算速度快,此种方式能够对遮挡物进行粗略地模拟。

第二种,不妨假设s1包括n1个像素,取i为1至n1,将第i个像素的像素值用区间[a4,b4]内的随机数ui替代,这里ui表示i取不同值时,ui可以是不同的随机数,即针对每个像素的随机数可以是独立生成的,此种方式能够有效模拟具有任意形状的遮挡物。

可以理解,还可以采用其他的替代方式,例如s1的一个子集中的像素共用一个随机数,并用该随机数替代这部分像素的像素值,另一个子集中每个像素独立计算一个随机数,并用该随机数替代该像素的像素值。

数据缺失处理

在摄像头采集第一深度图像时,若摄像头距离目标对象过近或者采集现场光照过强,又或者因为其他原因,可能造成第一深度图像中存在深度缺失,即某些像素的像素值并不能有效地表征目标对象与摄像头之间的距离信息。这种情况可以通过数据缺失处理进行模拟。

在实际中,可以设定一个表示深度存在缺失的阈值,将小于该阈值的像素值认为是存在深度缺失的像素值。

进行数据缺失处理,具体而言,首先需要确定第一深度图像中的图像区域s2,s2用于模拟存在深度缺失的区域,s2的形状、位置都不作限定。

s2可以是根据某种先验知识确定的图像区域。例如,目标对象为人脸,且占据了第一深度图像中的绝大部分区域,根据先验知识确定人的嘴巴部分可能存在深度确实,为模拟此种情况,可以将s1确定为第一深度图像下方30%的区域。需要指出,s2并不限于连通的区域,也可以是多个不连通的区域。

s2也可以是一个随机生成的图像区域,用于模拟事先难以估计的深度缺失。s2生成的方法可以是在某种预设规则下随机确定一些像素,将这些像素的集合确定为s2。

具体地,一个区域通常可以通过其形状以及位置唯一确定。因此,可以通过如下方法确定s2:

随机生成一个形状,并确保该形状的尺寸不超过第一深度图像的尺寸,然后随机确定第一深度图像中的一个位置,最后将以该位置为起始位置,包括在该形状内的第一深度图像中的像素集合确定为s2。需要指出,上述只是确定s2的一种方式,并不是唯一的方式。

其中,随机生成一个形状,可以是事先并不限定具体的形状,完全随机生成,也可以是事先限定形状的类型,随机确定该形状的参数生成,例如形状限定为圆形时,该参数可以是半径,形状限定为矩形时,该参数可以是矩形的长和宽。可以理解,将生成的形状按照初始位置放置在第一深度图像上时,如果形状的一部分超出了第一深度图像的范围,可以将超出的部分忽略掉。

以形状限定为矩形为例,假设第一深度图像的长为c,宽为d,可以将c与区间[t1,t2]内的一个随机数的乘积确定为矩形的长,其中t1为非负数,t2小于或等于1,这样的区间可以取,但不限于取[1%,10%],[1%,20%]等。同时可以将d与[t3,t4]内的一个随机数的乘积确定为矩形的宽,其中t3为非负数,t4小于或等于1。由于矩形的长不超过c,宽不超过d,因此可以满足矩形的尺寸不超过第一深度图像的尺寸的要求。

在确定好s2后,将s2中的像素的像素值用区间[0,b5]内的数值替代,获得增广图像,其中,b5为用于表示深度存在缺失的阈值,例如,b5可以取,但不限于取10(cm)。

这里所称的数值可以是一个常数也可以是一个随机数。例如,0表示深度完全缺失,可以用0替代s2中的所有像素的像素值,用于模拟s2中的深度完全缺失的情况。

对于该数值为随机数,有两种替代方式:

第一种,s2内的所有像素共用一个随机数,并用该随机数替代s2中每个像素的像素值,此种方式计算简单,计算速度快,此种方式能够有效模拟s2中的各像素的深度缺失程度相同或大致相同的情况。

第二种,不妨假设s2包括n2个像素,取i为1至n2,将第i个像素的像素值用区间[0,b5]内的随机数vi替代,这里vi表示i取不同值时,vi可以是不同的随机数,即针对每个像素的随机数可以是独立生成的,此种方式能够有效模拟s2中的各像素的深度缺失程度不一致的情况。

可以理解,还可以采用其他的替代方式,例如s2的一个子集中的像素共用一个随机数,并用该随机数替代这部分像素的像素值,另一个子集中每个像素独立计算一个随机数,并用该随机数替代该像素的像素值。

高斯模糊处理

在摄像头采集第一深度图像时,摄像头本身可能存在抖动,造成第一深度图像存在模糊,这种模糊的模糊类型通常为高斯模糊,因此可用高斯模糊处理来模拟这种情况。

具体而言,对第一深度图像利用一组模糊参数进行高斯模糊即可获得增广图像,这组模糊参数可以是指定的,也可以是随机的。高斯模糊是一种现有方法,例如,使用计算机视觉库opencv中的gaussianblur方法,通过设置调用参数,即可完成对第一深度图像的高斯模糊。

此外,高斯模糊通常对深度图像质量影响不大,因此还可以作为一种普适性的增广方法产生增广图像。这种增广并不针对某种明确的场景,其目的主要是为了增加训练图像的数量。

第二实施例

图3示出了本发明第二实施例提供的模型训练方法的流程图。参照图3,模型训练方法包括:

步骤s20:电子设备100的处理器102利用发明实施例提供的图像处理方法获得第一深度图像以及第一深度图像的至少一个增广图像。

关于步骤s20,在第一实施例中已经阐述过相关内容,此处不再重复阐述。

步骤s21:电子设备100的处理器102利用第一深度图像以及至少一个增广图像训练用于对目标对象进行分类的模型。

例如,目标对象为活体人脸,则模型可以为深度活体模型。当然,上述仅为示例,目标对象不限于活体人脸,模型也不限于深度活体模型。需要指出,第一深度图像及其增广图像可以作为训练样本,但并不表示该模型只能基于这些样本进行训练。还可以采用第一实施例中的图像处理方法获取并增广其他深度图像,以生成大量的训练样本。

该模型训练方法由于采用了上述图像处理方法获得训练样本,因此可以获得数量较多,且覆盖各种场景的深度图像训练样本,用这些样本训练分类模型,可以取得较好的训练效果,提高模型的鲁棒性,改善模型的分类结果的质量。

第三实施例

图4示出了本发明第三实施例提供的图像处理装置200的功能模块图。参照图4,该装置包括深度图像获取模块210以及深度图像增广模块220。

其中,深度图像获取模块210用于获得第一深度图像,第一深度图像包括目标对象与摄像头之间的距离信息;

深度图像增广模块220用于对第一深度图像进行增广处理,获得第一深度图像的至少一个增广图像,其中,增广处理包括以下至少一种:特征点偏移处理、随机距离变换处理、遮挡处理、数据缺失处理以及高斯模糊处理。

本发明第四实施例提供的图像处理装置200,其实现原理及产生的技术效果和第一实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

第四实施例

图5示出了本发明第四实施例提供的模型训练装置300的功能模块图。参照图5,该装置包括训练图像获取模块310以及模型训练模块320。

其中,训练图像获取模块310用于利用本发明实施例提供的图像处理方法获得第一深度图像以及第一深度图像的至少一个增广图像;

模型训练模块320用于利用第一深度图像以及至少一个增广图像训练用于对目标对象进行分类的模型。

本发明第四实施例提供的获得模型训练装置300,其实现原理及产生的技术效果和第二实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

第五实施例

本发明第五实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器读取并运行时,执行本发明实施例提供的图像处理方法或模型训练方法的步骤。该计算机可读存储介质可以实现为,但不限于图1示出的存储装置104中的存储介质。

第六实施例

本发明第六实施例提供一种电子设备,包括存储器以及处理器,存储器中存储有计算机程序指令,计算机程序指令被处理器读取并运行时,执行本发明实施例提供的图像处理方法或模型训练方法的步骤。该电子设备可以实现为,但不限于图1示出的电子设备100。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得计算机设备执行本发明各个实施例所述方法的全部或部分步骤。前述的计算机设备包括:个人计算机、服务器、移动设备、智能穿戴设备、网络设备、虚拟设备等各种具有执行程序代码能力的设备,前述的存储介质包括:u盘、移动硬盘、只读存储器、随机存取存储器、磁碟、磁带或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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