CN116129531A - 一种图像处理方法及其相关设备 - Google Patents
一种图像处理方法及其相关设备 Download PDFInfo
- Publication number
- CN116129531A CN116129531A CN202111342593.6A CN202111342593A CN116129531A CN 116129531 A CN116129531 A CN 116129531A CN 202111342593 A CN202111342593 A CN 202111342593A CN 116129531 A CN116129531 A CN 116129531A
- Authority
- CN
- China
- Prior art keywords
- image
- polarized
- images
- target object
- living body
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
- Collating Specific Patterns (AREA)
Abstract
本申请提供一种图像处理方法及其相关设备,有利于提高活体检测的准确度,进而为后续人脸识别提供一定的保障。本申请的方法包括:在通过偏振相机基于多个偏振方向获取偏振图像后,可先基于偏振图像进行计算,得到偏振角图像。然后,通过某些特征描述描述子对偏振角图像进行特征提取,得到特征图像。最后,可计算特征图像的参数,并将特征图像的参数与预置的阈值进行比较,从而得到活体检测结果,由于活体检测结果用于指示目标对象是否为活体,故基于活体检测结果可确定是否需要进行人脸识别。
Description
技术领域
本申请涉及人工智能(artificial intelligence,AI)技术领域,尤其涉及一种图像处理方法及其相关设备。
背景技术
身份识别技术是指通过计算机***中的某些手段,对用户身份进行确认的技术。常见的身份识别技术包括:人脸识别、指纹识别、终端姿态识别等等。
在进行人脸识别时,可采集目标对象的图像,并基于该图像对目标对象进行活体检测,从而辨别目标对象是否为活体(例如,当目标对象为活体时,目标对象则为用户自身,当目标对象为非活体时,目标对象则为恶意冒用的用户照片等等)。在确定目标对象为活体后,再基于该图像进行人脸识别,从而确定目标对象的身份。
前述人脸识别的过程中,通常利用深度相机来采集深度图像,以实现活体检测。然而,深度相机在采集图像时,往往受限于采集距离,一旦距离过大,深度相机所采集的图像的分辨率往往较低,影响活体检测的准确率,进而影响后续的人脸识别。
发明内容
本申请实施例提供了一种图像处理方法及其相关设备,有利于提高活体检测的准确度,进而为后续人脸识别提供一定的保障。
本申请实施例的第一方面提供了一种图像处理方法,该方法包括:
获取偏振图像,偏振图像为通过偏振相机基于多个偏振方向对目标对象进行拍摄所得到的图像,即目标对象在多个偏振方向下的图像。例如,多个偏振方向可以为4个偏振方向,分别为0°、45°、90°和135°。又如,多个偏振方向可以为3个偏振方向,分别为0°、60°和120°等等。
得到偏振图像后,可先基于偏振图像进行计算,得到偏振角图像。然后,通过某些特征描述算法的特征描述子对偏振角图像进行特征提取,得到特征图像(也可以称为偏振角特征图像)。最后,可计算特征图像的参数,并将特征图像的参数与预置的阈值进行比较,从而得到活体检测结果,由于活体检测结果用于指示目标对象是否为活体,故基于活体检测结果可确定是否需要进行人脸识别。
从上述方法可以看出:在通过偏振相机基于多个偏振方向对目标对象进行拍摄后,可得到偏振图像。然后,可基于偏振图像进行计算,得到偏振角图像;对偏振角图像进行特征提取,得到特征图像;将特征图像的参数和预置的阈值进行比较,得到活体检测结果,活体检测结果用于指示所述目标对象是否为活体。前述过程中,即使是在远距离的条件下对目标对象进行拍摄,偏振相机所获取的目标对象在多个偏振方向下的偏振图像也能具备较高的分辨率,且得到偏振图像后,可基于偏振图像实现活体检测。由于偏振图像具备较高的分辨率,故在基于偏振图像进行活体检测时,可以提取具备足够鉴别性的特征,有利于提高活体检测的准确度,进而为后续人脸识别提供一定的保障。
进一步地,利用偏振角图像来进行防伪平面(即基于偏振图像进行计算,得到偏振角图像,再对其做进一步的特征提取,得到偏振角特征图,最后利用偏振角特征图实现活体检测),相较于相关技术(TOF或结构光等)的防伪平面方案,有利于降低低成本和实现高分辨率的防伪平面。
在一种可能的实现方式中,多个偏振方向的数量为M个,M≥3,基于偏振图像进行计算,得到偏振角图像之前,该方法还包括:对偏振图像进行第i次插值,得到第i个插值后的偏振图像,第i个插值后的偏振图像为目标对象在第i个偏振方向下的图像,i=1,…,M;基于偏振图像进行计算,得到偏振角图像包括:基于M个插值后的偏振图像进行计算,得到偏振角图像。前述实现方式中,得到偏振图像后,由于偏振图像为目标对象在M个偏振方向下的图像,可对偏振图像分别进行M次插值,以相应得到M个插值后的偏振图像,M个插值后的偏振图像与M个偏振方向一一对应。具体地,基于第1个偏振方向,可先对偏振图像进行第1次插值,得到第1个插值后的偏振图像,第1个插值后的偏振图像为目标对象在第1个偏振方向下的图像。同样地,基于第2个偏振方向,数据处理设备可对偏振图像进行第2次插值,得到第2个插值后的偏振图像,第2个插值后的偏振图像可视为目标对象在第2个偏振方向下的图像,直至得到第M个插值后的偏振图像,第M个插值后的偏振图像可视为目标对象在第M个偏振方向下的图像。得到M个插值后的偏振图像后,数据处理设备可基于M个插值后的偏振图像进行活体检测,得到活体检测结果,由于活体检测结果用于指示目标对象是否为活体,故基于活体检测结果可确定是否需要进行人脸识别。前述过程中,即使是在远距离的条件下对目标对象进行拍摄,偏振相机所获取的目标对象在M个偏振方向下的偏振图像也能具备较高的分辨率,且得到偏振图像后,还可基于M个偏振方向对偏振图像进行M次插值操作,相应得到的M个插值后的偏振图像具备更高的分辨率,故在基于这M个插值后的偏振图像进行活体检测时,可以提取具备足够鉴别性的特征,有利于提高活体检测的准确度,进而为后续人脸识别提供一定的保障。
在一种可能的实现方式中,偏振图像包含N个像素点,N个像素点对应除第i个偏振方向之外的其余偏振方向,对偏振图像进行第i次插值,得到第i个插值后的偏振图像包括:对偏振图像中第j个像素点周围的P个像素点进行计算,得到第i个插值后的偏振图像中的第j个像素点,偏振图像中的第j个像素点为N个像素点中的其中一个像素点,P个像素点对应第i个偏振方向,N≥1,P≥1。前述实现方式中,对于第i个偏振方向,可将偏振图像的所有像素点(设偏振图像的像素点总数量为K+N)分为两类像素点,其中,第一类像素点与第i个偏振方向对应,第二类像素点与除第i个偏振方向之间的其余偏振方向对应,其中,第一类像素点的数量为K个,第二类像素点的数量为N个,N≥1,K≥1。那么,对于N个第二类像素点中的任意一个像素点,设该像素点为偏振图像中的第j个像素点(j=1,…,K+N),可在第j个像素点周围取P个像素点,这P个像素点为K个第一类像素点中的一部分像素点,并对这P个像素点进行计算,计算所得到的新的像素点可作为第i个插值后的偏振图像中的第j个像素点,K≥P≥1。对于N个第二类像素点中的其余像素点,也可执行如同前述的操作,故可得到第i个插值后的偏振图像中的N个像素点,还可将偏振图像中的K个第一类像素点直接作为第i个插值后的偏振图像中的剩余K个像素点。如此一来,可以得到完整的第i个插值后的偏振图像,该图像中的所有像素点均与第i个偏振方向对应。如此一来,基于此种插值方式所得到的偏振图像,具有更好的峰值信噪比和分辨率。
在一种可能的实现方式中,当偏振图像中的第j个像素点位于偏振图像中的预置范围内,P个像素点基于偏振图像中的第j个像素点的梯度趋势值确定。前述实现方式中,当偏振图像中的第j个像素点位于偏振图像的边缘区域时,用于计算第i个插值后的偏振图像中第j个像素点的P个像素点则可随机选择,当偏振图像中的第j个像素点位于偏振图像的中心区域时,用于计算第i个插值后的偏振图像中第j个像素点的P个像素点则可偏振图像中的第j个像素点的梯度趋势值选择。
在一种可能的实现方式中,基于M个插值后的偏振图像进行计算,得到偏振角图像包括:对M个插值后的偏振图像中的任意3个图像进行计算,得到偏振角图像。例如,若第1次插值后的偏振图像的所有像素点的偏振方向为0°,第2次插值后的偏振图像的所有像素点的偏振方向为45°,第3次插值后的偏振图像的所有像素点的偏振方向为90°,第4次插值后的偏振图像的所有像素点的偏振方向为135°,可在这4个图像中,选择第1次插值后的偏振图像、第2次插值后的偏振图像以及第3次插值后的偏振图像,并按照预置的公式对这三个图像进行计算,从而准确得到偏振角图像。
在一种可能的实现方式中,若特征图像的参数大于或等于阈值,说明特征图像的整体差异较大,所得到的活体检测结果用于指示目标对象为活体,若参数小于阈值,说明特征图像的整体差异较小,所得到活体检测结果用于指示目标对象为非活体。
在一种可能的实现方式中,参数包括方差和/或均值。
在一种可能的实现方式中,基于将特征图像的参数和预置的阈值进行比较,得到活体检测结果之后,该方法还包括:若活体检测结果用于指示目标对象为活体,则基于M个插值后的偏振图像进行人脸识别,得到目标对象的人脸识别结果。前述实现方式中,若活体检测结果用于指示目标对象为活体,可在M个插值后的偏振图像中选择任意一个图像,并通过一定的方式(例如,通过已训练的神经网络)对其进行人脸检测,从而得到目标对象的人脸识别结果,基于该人脸识别结果,可确定目标对象的身份。
在一种可能的实现方式中,基于M个插值后的偏振图像进行计算,得到偏振角图像之前,该方法还包括:沿目标对象的脸部在M个插值后的偏振图像中所占的区域,对M个插值后的偏振图像进行裁剪,得到M个裁剪后的偏振图像;基于基于M个插值后的偏振图像进行计算,得到偏振角图像包括:基于M个裁剪后的偏振图像进行计算,得到偏振角图像。前述实现方式中,由于偏振相机在对目标对象进行拍摄时,可能连目标对象所处的环境也进行了拍摄,故M个插值后的偏振图像中,每个图像均包含了一部分用于呈现环境的像素点,这部分像素点对后续的活体检测是无用的,那么,对于每个插值后的偏振图像,可利用人脸检测算法和特征点定位算法确定目标对象的脸部在该图像中所占的区域,并沿着该区域对该图像进行裁剪,得到裁剪后的图像。基于裁剪后的偏振图像提取后续的偏振信息,即偏振角图像,有利于降低计算的复杂度,可以给活体检测和人脸识别的特征提取带来便利。
本申请实施例的第二方面提供了一种图像处理装置,该装置包括:获取模块,用于获取偏振图像,偏振图像为目标对象在多个偏振方向下的图像;检测模块,用于基于偏振图像进行计算,得到偏振角图像;检测模块,还用于对偏振角图像进行特征提取,得到特征图像;检测模块,还用于将特征图像的参数和预置的阈值进行比较,得到活体检测结果,活体检测结果用于指示目标对象是否为活体。
从上述装置可以看出:在通过偏振相机基于多个偏振方向对目标对象进行拍摄后,可得到偏振图像。然后,可基于偏振图像进行计算,得到偏振角图像;对偏振角图像进行特征提取,得到特征图像;将特征图像的参数和预置的阈值进行比较,得到活体检测结果,活体检测结果用于指示所述目标对象是否为活体。前述过程中,即使是在远距离的条件下对目标对象进行拍摄,偏振相机所获取的目标对象在多个偏振方向下的偏振图像也能具备较高的分辨率,且得到偏振图像后,可基于偏振图像实现活体检测。由于偏振图像具备较高的分辨率,故在基于偏振图像进行活体检测时,可以提取具备足够鉴别性的特征,有利于提高活体检测的准确度,进而为后续人脸识别提供一定的保障。
进一步地,利用偏振角图像来进行防伪平面(即基于偏振图像进行计算,得到偏振角图像,再对其做进一步的特征提取,得到偏振角特征图,最后利用偏振角特征图实现活体检测),相较于相关技术(TOF或结构光等)的防伪平面方案,有利于降低低成本和实现高分辨率的防伪平面。
在一种可能的实现方式中,该装置还包括:
插值模块,用于对偏振图像进行第i次插值,得到第i个插值后的偏振图像,第i个插值后的偏振图像为目标对象在第i个偏振方向下的图像,i=1,…,M;
检测模块,用于基于M个插值后的偏振图像进行计算,得到偏振角图像。
在一种可能的实现方式中,偏振图像包含N个像素点,N个像素点对应除第i个偏振方向之外的其余偏振方向,插值模块,用于对偏振图像中第j个像素点周围的P个像素点进行计算,得到第i个插值后的偏振图像中的第j个像素点,偏振图像中的第j个像素点为N个像素点中的其中一个像素点,P个像素点对应第i个偏振方向,N≥1,P≥1。
在一种可能的实现方式中,当偏振图像中的第j个像素点位于偏振图像中的预置范围内,P个像素点基于偏振图像中的第j个像素点的梯度趋势值确定。
在一种可能的实现方式中,检测模块,用于对M个插值后的偏振图像中的任意3个图像进行计算,得到偏振角图像。
在一种可能的实现方式中,若参数大于或等于阈值,活体检测结果用于指示目标对象为活体,若参数小于阈值,活体检测结果用于指示目标对象为非活体。
在一种可能的实现方式中,参数包括方差和/或均值。
在一种可能的实现方式中,该装置还包括:识别模块,用于若活体检测结果用于指示目标对象为活体,则基于M个插值后的偏振图像进行人脸识别,得到目标对象的人脸识别结果。
在一种可能的实现方式中,该装置还包括:裁剪模块,用于:沿目标对象的脸部在M个插值后的偏振图像中所占的区域,对M个插值后的偏振图像进行裁剪,得到M个裁剪后的偏振图像;检测模块,用于基于M个裁剪后的偏振图像进行计算,得到偏振角图像。
本申请实施例的第三方面提供了一种模型训练方法,该方法包括:获取偏振图像,偏振图像为目标对象在某个偏振方向下的图像;将偏振图像输入值待训练的神经网络,得到目标对象的预测人脸识别结果;基于目标对象的真实人脸识别结果和预测人脸识别结果,获取目标损失;基于目标损失对待训练的神经网络的参数进行更新,直至满足模型训练条件,得到已训练的神经网络。
上述方法训练得到的神经网络,可用于实现第一方面或第一方面中任意一种可能的实现方式所述的方法中的人脸识别操作,值得注意的是,由于活体检测和人脸识别通常是前后两个阶段,在活体检测阶段中,可通过偏振相机基于多个偏振方向对目标对象进行拍摄后,可得到偏振图像。然后,可基于偏振图像进行计算,得到偏振角图像;对偏振角图像进行特征提取,得到特征图像;将特征图像的参数和预置的阈值进行比较,得到活体检测结果,活体检测结果用于指示所述目标对象是否为活体。前述过程中,即使是在远距离的条件下对目标对象进行拍摄,偏振相机所获取的目标对象在多个偏振方向下的偏振图像也能具备较高的分辨率,且得到偏振图像后,可基于偏振图像实现活体检测。由于偏振图像具备较高的分辨率,故在基于偏振图像进行活体检测时,可以提取具备足够鉴别性的特征,有利于提高活体检测的准确度,进而为后续人脸识别提供一定的保障。可见,在具备一定准确度的活体检测结果的基础上,可进行人脸识别阶段,人脸识别阶段使用了神经网络进行用户信息的验证,也为人脸识别保障了足够高的准确度。基于此,这两个阶段均具备足够的准确度,可为用户的各种应用行为提供安全保障(例如,电子支付、出入通行、设备解锁等等)。
本申请实施例的第四方面提供了一种模型训练装置,该装置包括:第一获取模块,用于获取偏振图像,偏振图像为目标对象在某个偏振方向下的图像;处理模块,用于将偏振图像输入值待训练的神经网络,得到目标对象的预测人脸识别结果;第二获取模块,用于基于目标对象的真实人脸识别结果和预测人脸识别结果,获取目标损失;更新模块,用于基于目标损失对待训练的神经网络的参数进行更新,直至满足模型训练条件,得到已训练的神经网络。
上述装置训练得到的神经网络,可用于实现第二方面或第二方面中任意一种可能的实现方式所述的方法中的人脸识别操作,值得注意的是,由于活体检测和人脸识别通常是前后两个阶段,在活体检测阶段中,可通过偏振相机基于多个偏振方向对目标对象进行拍摄后,可得到偏振图像。然后,可基于偏振图像进行计算,得到偏振角图像;对偏振角图像进行特征提取,得到特征图像;将特征图像的参数和预置的阈值进行比较,得到活体检测结果,活体检测结果用于指示所述目标对象是否为活体。前述过程中,即使是在远距离的条件下对目标对象进行拍摄,偏振相机所获取的目标对象在多个偏振方向下的偏振图像也能具备较高的分辨率,且得到偏振图像后,可基于偏振图像实现活体检测。由于偏振图像具备较高的分辨率,故在基于偏振图像进行活体检测时,可以提取具备足够鉴别性的特征,有利于提高活体检测的准确度,进而为后续人脸识别提供一定的保障。可见,在具备一定准确度的活体检测结果的基础上,可进行人脸识别阶段,人脸识别阶段使用了神经网络进行用户信息的验证,也为人脸识别保障了足够高的准确度。基于此,这两个阶段均具备足够的准确度,可为用户的各种应用行为提供安全保障(例如,电子支付、出入通行、设备解锁等等)。
本申请实施例的第五方面提供了一种图像处理***,该图像处理***包括存储器和处理器;存储器存储有代码,处理器被配置为执行代码,当代码被执行时,图像处理***执行如第一方面或第一方面中任意一种可能的实现方式所述的方法。
在一种可能的实现方式中,该***还包括:偏振相机,偏振相机与处理器电连接,其中,偏振相机,用于基于M个偏振方向对目标对象进行拍摄,得到偏振图像,M≥3。
在一种可能的实现方式中,该***还包括:补光灯,所述补光灯用于对所述目标对象发射预置的波长范围内的光信号。
在一种可能的实现方式中,偏振相机包括依次层叠的微透镜层、滤光片层、偏振片层和感光层;微透镜层,用于接收来自目标对象的第一光信号;滤光片层,用于在来自微透镜层的第一光信号中,筛选位于该预置的波长范围内的第二光信号;偏振片层,用于在来自滤光片层的第二光信号中,筛选处于M个偏振方向下的第三光信号;感光层,用于基于来自偏振片层的第三光信号,生成偏振图像。
在一种可能的实现方式中,偏振片层包含相同的K个偏振片阵列,每个偏振片阵列包含M个偏振片,M个偏振片与M个偏振方向一一对应,K≥2。
本申请实施例的第六方面提供了一种电路***,该电路***包括处理电路,该处理电路配置为执行如第一方面或第一方面中任意一种可能的实现方式所述的方法。
本申请实施例的第七方面提供了一种芯片***,该芯片***包括处理器,用于调用存储器中存储的计算机程序或计算机指令,以使得该处理器执行如第一方面或第一方面中任意一种可能的实现方式所述的方法。
在一种可能的实现方式中,该处理器通过接口与存储器耦合。
在一种可能的实现方式中,该芯片***还包括存储器,该存储器中存储有计算机程序或计算机指令。
本申请实施例的第八方面提供了一种计算机存储介质,该计算机存储介质存储有计算机程序,该程序在由计算机执行时,使得计算机实施如第一方面或第一方面中任意一种可能的实现方式所述的方法。
本申请实施例的第九方面提供了一种计算机程序产品,该计算机程序产品存储有指令,该指令在由计算机执行时,使得计算机实施如第一方面或第一方面中任意一种可能的实现方式所述的方法。
本申请实施例中,在通过偏振相机基于多个偏振方向对目标对象进行拍摄后,可得到偏振图像。然后,可基于偏振图像进行计算,得到偏振角图像;对偏振角图像进行特征提取,得到特征图像;将特征图像的参数和预置的阈值进行比较,得到活体检测结果,活体检测结果用于指示所述目标对象是否为活体。前述过程中,即使是在远距离的条件下对目标对象进行拍摄,偏振相机所获取的目标对象在多个偏振方向下的偏振图像也能具备较高的分辨率,且得到偏振图像后,可基于偏振图像实现活体检测。由于偏振图像具备较高的分辨率,故在基于偏振图像进行活体检测时,可以提取具备足够鉴别性的特征,有利于提高活体检测的准确度,进而为后续人脸识别提供一定的保障。
进一步地,利用偏振角图像来进行防伪平面(即基于偏振图像进行计算,得到偏振角图像,再对其做进一步的特征提取,得到偏振角特征图,最后利用偏振角特征图实现活体检测),相较于相关技术(TOF或结构光等)的防伪平面方案,有利于降低低成本和实现高分辨率的防伪平面。
附图说明
图1为人工智能主体框架的一种结构示意图;
图2a为本申请实施例提供的图像处理***的一个结构示意图;
图2b为本申请实施例提供的图像处理***的另一结构示意图;
图2c为本申请实施例提供的图像处理的相关设备的一个示意图;
图3为本申请实施例提供的***100架构的一个示意图;
图4为本申请实施例提供的图像处理方法的一个流程示意图;
图5为本申请实施例提供的用户设备的一个示意图;
图6为本申请实施例提供的偏振图像的一个示意图;
图7为本申请实施例提供的插值后的偏振图像的一个示意图;
图8(a)为本申请实施例提供的真人图像的偏振角图像的一个示意图;
图8(b)为本申请实施例提供的真人图像的特征角图像的一个示意图;
图8(c)为本申请实施例提供的平面纸张图像的偏振角图像的一个示意图;
图8(d)为本申请实施例提供的平面纸张图像的特征图像的一个示意图;
图9为本申请实施例提供的图像处理方法的另一流程示意图;
图10为本申请实施例提供的用户设备的另一示意图;
图11为本申请实施例提供的模型训练方法的一个流程示意图;
图12为本申请实施例提供的图像处理装置的一个结构示意图;
图13为本申请实施例提供的执行设备的一个结构示意图;
图14为本申请实施例提供的训练设备的一个结构示意图;
图15为本申请实施例提供的芯片的一个结构示意图。
具体实施方式
本申请实施例提供了一种图像处理方法及其相关设备,有利于提高活体检测的准确度,进而为后续人脸识别提供一定的保障。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”并他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、***、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
身份识别技术是指通过计算机***中的某些手段,对用户身份进行确认的技术。常见的身份识别技术包括:人脸识别、指纹识别、终端姿态识别等等。
终端设备接收到人脸识别的指令后,可对当前的目标对象进行拍摄,从而得到目标对象的图像。然后,终端设备可基于该图像对目标对象进行活体检测,从而辨别目标对象是否为活体。当确定目标对象为活体时,终端设备则认为目标对象为用户自身,当确定目标对象为非活体时,终端设备则认为目标对象为恶意冒用的物体(例如,用户的照片等等)。在确定目标对象为活体后,终端设备再基于该图像进行人脸识别,从而确定目标对象的身份。
在相关技术中,终端设备通常利用自身的深度相机(例如,结构光相机、飞行时间(time of flight,TOF)相机等等)来采集深度图像,以实现活体检测。然而,深度相机在采集图像时,往往受限于采集距离,一旦距离过大,深度相机所采集的图像的分辨率往往较低,影响活体检测的准确率,进而影响后续的人脸识别。
为了解决上述问题,本申请实施例提供了一种图像处理方法,该方法可结合人工智能(artificial intelligence,AI)技术实现。AI技术是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能的技术学科,AI技术通过感知环境、获取知识并使用知识获得最佳结果。换句话说,人工智能技术是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。利用人工智能进行图像处理是人工智能常见的一个应用方式。
首先对人工智能***总体工作流程进行描述,请参见图1,图1为人工智能主体框架的一种结构示意图,下面从“智能信息链”(水平轴)和“IT价值链”(垂直轴)两个维度对上述人工智能主题框架进行阐述。其中,“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。“IT价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到***的产业生态过程,反映人工智能为信息技术产业带来的价值。
(1)基础设施
基础设施为人工智能***提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片(CPU、NPU、GPU、ASIC、FPGA等硬件加速芯片)提供;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算***中的智能芯片进行计算。
(2)数据
基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有***的业务数据以及力、位移、液位、温度、湿度等感知数据。
(3)数据处理
数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等方式。
其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。
推理是指在计算机或智能***中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。
决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。
(4)通用能力
对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用***,例如,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。
(5)智能产品及行业应用
智能产品及行业应用指人工智能***在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能终端、智能交通、智能医疗、自动驾驶、智慧城市等。
接下来介绍几种本申请的应用场景。
图2a为本申请实施例提供的图像处理***的一个结构示意图,该图像处理***包括用户设备以及数据处理设备。其中,用户设备包括手机、个人电脑或者信息处理中心等智能终端。用户设备为图像处理的发起端,作为图像处理请求的发起方,通常由用户通过用户设备发起请求。
上述数据处理设备可以是云服务器、网络服务器、应用服务器以及管理服务器等具有数据处理功能的设备或服务器。数据处理设备通过交互接口接收来自智能终端的图像处理请求,再通过存储数据的存储器以及数据处理的处理器环节进行机器学习,深度学习,搜索,推理,决策等方式的图像处理。数据处理设备中的存储器可以是一个统称,包括本地存储以及存储历史数据的数据库,数据库可以在数据处理设备上,也可以在其它网络服务器上。
在图2a所示的图像处理***中,用户设备可以接收用户的指令,用户设备基于该指令可拍摄用户的图像,然后向数据处理设备发起请求,使得数据处理设备针对用户设备得到的该图像执行图像处理应用(例如,活体检测和人脸识别等等),从而得到针对该图像的对应的处理结果。示例性的,用户设备可拍摄用于呈现用户的图像,然后向数据处理设备发起图像处理请求,使得数据处理设备对该图像进行活体检测,从而确定用户设备拍摄的对象是否为活体,并在确定用户设备拍摄的对象为活体(即用户设备拍摄的对象为用户本身)后,对该图像进行人脸识别,以确定用户的身份。
在图2a中,数据处理设备可以执行本申请实施例的图像处理方法。
图2b为本申请实施例提供的图像处理***的另一结构示意图,在图2b中,用户设备直接作为数据处理设备,该用户设备能够直接获取来自用户的输入并直接由用户设备本身的硬件进行处理,具体过程与图2a相似,可参考上面的描述,在此不再赘述。
在图2b所示的图像处理***中,用户设备可以接收用户的指令,用户设备再基于该指令拍摄用户的图像,然后由用户设备自身针对该图像执行图像处理应用(例如活体检测和人脸识别等),从而得到针对该图像的对应的处理结果。
在图2b中,用户设备自身就可以执行本申请实施例的图像处理方法。
图2c为本申请实施例提供的图像处理的相关设备的一个示意图。
上述图2a和图2b中的用户设备具体可以是图2c中的本地设备301或者本地设备302,图2a中的数据处理设备具体可以是图2c中的执行设备210,其中,数据存储***250可以存储执行设备210的待处理数据,数据存储***250可以集成在执行设备210上,也可以设置在云上或其它网络服务器上。
图2a和图2b中的处理器可以通过神经网络模型或者其它模型(例如,基于支持向量机的模型)进行数据训练/机器学习/深度学习,并利用数据最终训练或者学习得到的模型针对图像执行图像处理应用(例如,人脸识别等等),从而得到相应的处理结果。
图3为本申请实施例提供的***100架构的一个示意图,在图3中,执行设备110配置输入/输出(input/output,I/O)接口112,用于与外部设备进行数据交互,用户可以通过客户设备140向I/O接口112输入数据,所述输入数据在本申请实施例中可以包括:各个待调度任务、可调用资源以及其他参数。
在执行设备110对输入数据进行预处理,或者在执行设备110的计算模块111执行计算等相关的处理(比如进行本申请中神经网络的功能实现)过程中,执行设备110可以调用数据存储***150中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储***150中。
最后,I/O接口112将处理结果返回给客户设备140,从而提供给用户。
值得说明的是,训练设备120可以针对不同的目标或称不同的任务,基于不同的训练数据生成相应的目标模型/规则,该相应的目标模型/规则即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。其中,训练数据可以存储在数据库130中,且来自于数据采集设备160采集的训练样本。
在图3中所示情况下,用户可以手动给定输入数据,该手动给定可以通过I/O接口112提供的界面进行操作。另一种情况下,客户设备140可以自动地向I/O接口112发送输入数据,如果要求客户设备140自动发送输入数据需要获得用户的授权,则用户可以在客户设备140中设置相应权限。用户可以在客户设备140查看执行设备110输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备140也可以作为数据采集端,采集如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果作为新的样本数据,并存入数据库130。当然,也可以不经过客户设备140进行采集,而是由I/O接口112直接将如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果,作为新的样本数据存入数据库130。
值得注意的是,图3仅是本申请实施例提供的一种***架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图3中,数据存储***150相对执行设备110是外部存储器,在其它情况下,也可以将数据存储***150置于执行设备110中。如图3所示,可以根据训练设备120训练得到神经网络。
本申请实施例还提供的一种芯片,该芯片包括神经网络处理器NPU。该芯片可以被设置在如图3所示的执行设备110中,用以完成计算模块111的计算工作。该芯片也可以被设置在如图3所示的训练设备120中,用以完成训练设备120的训练工作并输出目标模型/规则。
神经网络处理器NPU,NPU作为协处理器挂载到主中央处理器(centralprocessing unit,CPU)(host CPU)上,由主CPU分配任务。NPU的核心部分为运算电路,控制器控制运算电路提取存储器(权重存储器或输入存储器)中的数据并进行运算。
在一些实现中,运算电路内部包括多个处理单元(process engine,PE)。在一些实现中,运算电路是二维脉动阵列。运算电路还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)中。
向量计算单元可以对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元可以用于神经网络中非卷积/非FC层的网络计算,如池化(pooling),批归一化(batch normalization),局部响应归一化(localresponse normalization)等。
在一些实现种,向量计算单元能将经处理的输出的向量存储到统一缓存器。例如,向量计算单元可以将非线性函数应用到运算电路的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路的激活输入,例如用于在神经网络中的后续层中的使用。
统一存储器用于存放输入数据以及输出数据。
权重数据直接通过存储单元访问控制器(direct memory access controller,DMAC)将外部存储器中的输入数据搬运到输入存储器和/或统一存储器、将外部存储器中的权重数据存入权重存储器,以及将统一存储器中的数据存入外部存储器。
总线接口单元(bus interface unit,BIU),用于通过总线实现主CPU、DMAC和取指存储器之间进行交互。
与控制器连接的取指存储器(instruction fetch buffer),用于存储控制器使用的指令;
控制器,用于调用指存储器中缓存的指令,实现控制该运算加速器的工作过程。
一般地,统一存储器,输入存储器,权重存储器以及取指存储器均为片上(On-Chip)存储器,外部存储器为该NPU外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(double data rate synchronous dynamic random access memory,DDRSDRAM)、高带宽存储器(high bandwidth memory,HBM)或其他可读可写的存储器。
由于本申请实施例涉及大量神经网络的应用,为了便于理解,下面先对本申请实施例涉及的相关术语及神经网络等相关概念进行介绍。
(1)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,该运算单元的输出可以为:
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入。激活函数可以是sigmoid函数。神经网络是将许多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
神经网络中的每一层的工作可以用数学表达式y=a(Wx+b)来描述:从物理层面神经网络中的每一层的工作可以理解为通过五种对输入空间(输入向量的集合)的操作,完成输入空间到输出空间的变换(即矩阵的行空间到列空间),这五种操作包括:1、升维/降维;2、放大/缩小;3、旋转;4、平移;5、“弯曲”。其中1、2、3的操作由Wx完成,4的操作由+b完成,5的操作则由a()来实现。这里之所以用“空间”二字来表述是因为被分类的对象并不是单个事物,而是一类事物,空间是指这类事物所有个体的集合。其中,W是权重向量,该向量中的每一个值表示该层神经网络中的一个神经元的权重值。该向量W决定着上文所述的输入空间到输出空间的空间变换,即每一层的权重W控制着如何变换空间。训练神经网络的目的,也就是最终得到训练好的神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。因此,神经网络的训练过程本质上就是学习控制空间变换的方式,更具体的就是学习权重矩阵。
因为希望神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到神经网络能够预测出真正想要的目标值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么神经网络的训练就变成了尽可能缩小这个loss的过程。
(2)反向传播算法
神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始的神经网络模型中参数的大小,使得神经网络模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的神经网络模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的神经网络模型的参数,例如权重矩阵。
(3)活体检测
活体检测是在一些身份验证场景确定对象真实生理特征的方法,在人脸识别应用中,活体检测能基于眨眼、张嘴、摇头、点头等组合动作的多帧图像,使用人脸关键点定位等技术,验证用户是否为真实活体本人操作。可有效抵御照片、换脸、面具、遮挡以及屏幕翻拍等常见的攻击手段,从而帮助用户甄别欺诈行为,保障用户的利益。
(4)人脸识别
人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。通过摄像机或摄像头对用户进行拍摄,采集含有用户人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别的一系列相关技术,从而确定用户的身份。此外,人脸是被通常也叫做人像识别、面部识别。
下面从神经网络的训练侧和神经网络的应用侧对本申请提供的方法进行描述。
本申请实施例中与模型训练相关的操作,涉及图像的处理,具体可以应用于数据训练、机器学习、深度学习等数据处理方法,对训练数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等,最终得到训练好的神经网络;并且,本申请实施例中与人脸识别相关的操作,可以基于上述训练好的神经网络实现,例如将输入数据(如本申请中的插值后的偏振图像)输入到所述训练好的神经网络中,得到输出数据(如本申请中的人脸识别结果等等)。需要说明的是,本申请实施例中,模型训练的操作和模型应用的操作是基于同一个构思产生的发明,也可以理解为一个***中的两个部分,或一个整体流程的两个阶段:如模型训练阶段和模型应用阶段。
图4为本申请实施例提供的图像处理方法的一个流程示意图,该方法可包含两个阶段,第一阶段是活体检测,第二阶段是人脸识别(该阶段可使用前述训练好的神经网络实现),即该方法可利用偏振图像进行活体检测,通过活体检测后再利用偏振图像进行人脸识别,从而确定用户的身份。需要说明的是,图4所示的方法可通过前述的图像处理***实现,为了便于说明,下文均以图2a所示的例子进行介绍,即图像处理***中包含用户设备和数据处理设备,用户设备可对目标对象进行拍摄,得到偏振图像,并将偏振图像发送至数据处理设备,以使得数据处理设备基于偏振图像实现活体检测和人脸识别。值得注意的是,由于用户设备需具备采集偏振图像的功能,故本申请实施例对用户设备内部的器件进行了一定的改进,下文结合图5对用户设备的结构进行介绍。图5为本申请实施例提供的用户设备的一个示意图,如图5所示,用户设备包含偏振相机和补光灯,偏振相机用于基于M个偏振方向对目标对象进行拍摄,得到目标对象在M个方向下的偏振图像,补光灯用于对目标对象发射预置强度的光信号,有利于偏振相机更好地采集偏振图像。应理解,补光灯既可以设置在偏振相机外部,也可以设置在偏振相机内部,此处不做限制。
具体地,偏振相机包括依次层叠的微透镜层、滤光片层、偏振片层和感光层,即微透镜层最靠用户设备的外部,感光层最靠用户设备的内部。下面将分别对这四个层次分别进行介绍:
微透镜层包含至少一个微透镜,每个微透镜均可用于聚集光束,故微透镜层可用于接收来自目标对象的第一光信号(即经过目标对象反射后,射向微透镜层的光信号)。
滤光片层包含至少一个滤光片,这些滤波片具有一定的波长范围(也可以称为波段),故可用于在来自微透镜层的第一光信号中,筛选位于预置的波长范围内的第二光信号。可以理解的是,滤光片层既可以允许单个波段的光信号通过,例如,位于940±20nm这单一波段内的光信号等等,也可以允许多个波段的光信号通过,例如,位于950nm和705nm这双个波段内的光信号等等。如此一来,可根据实际需求,对滤光片层的滤光片进行变换,从而丰富偏振相机的功能,例如令偏振相机既可以在白天拍摄偏振图像,也可以在夜晚拍摄偏振图像,不受具体场景的限制等等。
偏振片层包含相同的K个偏振片阵列,每个偏振片阵列包含M个偏振片,M个偏振片与M个偏振方向一一对应,故偏振片层可用于在来自滤光片层的第二光信号中,筛选处于M个偏振方向下的第三光信号,M≥3,K≥2。例如,如图5所示,整个偏振片层包含多个偏振片阵列,对于多个偏振片阵列的任意一个偏振片阵列而言,该偏振片阵列包含4个偏振片,4个偏振片刚好构成一个正方形的部件。在这4个偏振片中,左上角的偏振片的偏振方向为90°,右上角的偏振片的偏振方向为45°,左下角的偏振片的偏振方向为135°,右下角的偏振片的偏振方向为0°。需要说明的是,其余偏振片阵列也是如此,此处不再赘述。那么,偏振片层中所有偏振方向为0°的偏振片允许偏振方向为0°的光信号通过,所有偏振方向为45°的偏振片允许偏振方向为45°的光信号通过,所有偏振方向为90°的偏振片允许偏振方向为90°的光信号通过,所有偏振方向为135°的偏振片允许偏振方向为135°的光信号通过。
感光层包含多个感光单元,一般地,感光单元的数量和偏振片的数量是相同,且二者一一对应。每个感光单元可用于将光信号转换为电信号,故感光层可用于基于来自偏振片层的第三光信号,生成偏振图像,该偏振图像即为目标对象在M个偏振方向下的图像,即该偏振图像的所有像素点中,有某一部分像素点与第1个偏振方向对应(也可以理解为这部分像素点的偏振方向为第1个偏振方向),有另一部分像素点与第2个偏振方向对应,…,最后一部分像素点与第M个偏振方向对应。依旧如上述例子,如图6所示(图6为本申请实施例提供的偏振图像的一个示意图),设偏振图像包含64个像素点,有16个像素点的偏振方向为0°,有16个像素点的偏振方向为45°,有16个像素点的偏振方向为90°,有16个像素点的偏振方向为135°。对于这64个像素点中的任意一个像素点,该像素点的上标表示该像素点的偏振方向,该像素点的下标表示该像素点在偏振图像中的位置(即该像素点的下标表示该像素点为偏振图像中的第几个像素点)。例如,可用于表示偏振图像中第1行第1列处的像素点(也可以理解为偏振图像中的第1个像素点),且该像素点的偏振方向为90°。需要说明的是,I可以理解为像素点的像素值。
用户设备得到偏振图像后,可将偏振图像发送至数据处理设备,以使得数据处理设备对偏振图像进行图像处理(即活体检测和人脸识别),下文将结合图4对数据处理设备所执行的图像处理过程进行介绍,如图4所示,该过程包括:
401、获取偏振图像,偏振图像为目标对象在M个偏振方向下的图像,M≥3。
当需要对目标对象进行人脸识别时,可向用户设备可通过偏振相机基于M个偏振方向对目标对象进行拍摄,从而得到用于呈现目标对象的偏振图像,其中,M≥3。得到偏振图像后,用户设备可将偏振图像发送至数据处理设备。
402、对偏振图像进行第i次插值,得到第i个插值后的偏振图像,第i个插值后的偏振图像为目标对象在第i个偏振方向下的图像,i=1,…,M。
数据处理设备接收来自用户设备的偏振图像后,由于偏振图像为目标对象在M个偏振方向下的图像,数据处理设备可对偏振图像分别进行M次插值,以相应得到M个插值后的偏振图像,即对偏振图像进行第i次插值,得到第i个插值后的偏振图像,第i个插值后的偏振图像为目标对象在第i个偏振方向下的图像,i=1,…,M。该插值的过程也可以理解为,基于第1个偏振方向,数据处理设备可对偏振图像进行第1次插值,得到第1个插值后的偏振图像,第1个插值后的偏振图像可视为目标对象在第1个偏振方向下的图像。同样地,基于第2个偏振方向,数据处理设备可对偏振图像进行第2次插值,得到第2个插值后的偏振图像,第2个插值后的偏振图像可视为目标对象在第2个偏振方向下的图像,直至得到第M个插值后的偏振图像,第M个插值后的偏振图像可视为目标对象在第M个偏振方向下的图像。
具体地,数据处理设备可通过以下方式对偏振图像实现第i次插值:
对于第i个偏振方向,可将偏振图像的所有像素点(设偏振图像的像素点总数量为K+N)分为两类像素点,其中,第一类像素点与第i个偏振方向对应,第二类像素点与除第i个偏振方向之间的其余偏振方向对应,其中,第一类像素点的数量为K个,第二类像素点的数量为N个,N≥1,K≥1。
那么,对于N个第二类像素点中的任意一个像素点,设该像素点为偏振图像中的第j个像素点(j=1,…,K+N),数据处理设备可在第j个像素点周围取P个像素点,这P个像素点为K个第一类像素点中的一部分像素点,并对这P个像素点进行计算,计算所得到的新的像素点可作为第i个插值后的偏振图像中的第j个像素点,K≥P≥1。
对于N个第二类像素点中的其余像素点,数据处理设备也可执行如同前述的操作,故可得到第i个插值后的偏振图像中的N个像素点,数据处理设备还可将偏振图像中的K个第一类像素点直接作为第i个插值后的偏振图像中的剩余K个像素点。如此一来,可以得到完整的第i个插值后的偏振图像,该图像中的所有像素点均与第i个偏振方向对应。
依旧图6所示的例子,由于偏振图像包含对应4个偏振方向的像素点,故需要进行4次插值,第1次插值的目的是令插值后的偏振图像中的所有像素点的偏振方向为0°(即令插值后的偏振图像中的所有像素点与偏振方向0°对应),第2次插值的目的是令插值后的偏振图像中的所有像素点的偏振方向为45°,第3次插值的目的是令插值后的偏振图像中的所有像素点的偏振方向为90°,第4次插值的目的是令插值后的偏振图像中的所有像素点的偏振方向为135°。下文以第3次插值的过程进行示意性说明,由于第3次插值是以所有像素点的偏振方向为90°为目的,故可将偏振图像中的所有像素点分为两类,第一类像素点(一共16个)的偏振方向为90°,第二类像素点(一共48个)的偏振方向不为90°。以图6框中的4个像素点进行介绍,即第5行第3列的像素点第5行第4列的像素点第6行第3列的像素点和第6行第4列的像素点其中,属于第一类像素点,不需要进行插值计算,直接将其作为第3次插值后的偏振图像中第5行第3列的像素点。和属于第二类像素点,故需要进行插值计算。对于需要将其更换为可先计算的水平方向梯度趋势值:
若H小于V,则:
若H大于V,则:
若H等于V,则:
若H小于V,则:
若H大于V,则:
若H等于V,则:
若H小于V,则:
若H大于V,则:
若H等于V,则:
同样地,对于偏振图像中的其余45个第二类像素点,也可对其进行类似的插值计算,从而使得这45个第二类像素点的偏振方向均变换为90°,并作为第3次插值后的偏振图像中相应位置的像素点。对于偏振图像中的其余15个第一类像素点,可直接作为第3次插值后的偏振图像中相应位置的像素点。如此一来,可得到如图7所示的完整的第3次插值后的偏振图像(图7为本申请实施例提供的插值后的偏振图像的一个示意图)。
需要说明的是,第1次插值后的偏振图像、第2次插值后的偏振图像以及第4次插值后的偏振图像的获取过程可参考前述第3次插值后的偏振图像的获取过程,此处不再赘述。
应理解,前述公式(15)中,仅以基于和这四个第一类像素点计算得到进行示意性说明,在实际应用中,可基于更多的第一类像素点或更少的第一类像素点计算得到。同样地,公式(15)、公式(10)、公式(9)、公式(5)、公式(4)也是如此,此处不再赘述。
403、基于M个插值后的偏振图像进行活体检测,得到活体检测结果,活体检测结果用于指示目标对象是否为活体。
得到M个插值后的偏振图像后,数据处理设备可基于M个插值后的偏振图像进行活体检测,得到活体检测结果,从而确定目标对象是否为活体。那么,基于活体检测结果,数据处理设备可确定是否需要进行人脸识别。
具体地,数据处理设备可通过以下方式实现活体检测:
(1)基于M个插值后的偏振图像进行计算,得到偏振角图像。具体地,可在M个插值后的偏振图像中选取任意3个图像,并对这3个图像中相应位置的像素点进行计算,从而得到偏振角图像。依旧如图7所示的例子,在得到第1次插值后的偏振图像I0、第2次插值后的偏振图像I45、第3次插值后的偏振图像I90以及第4次插值后的偏振图像I135后,可选取其中三个图像,并按照以下公式进行计算,得到偏振角图像:
上式中,Φh为偏振角图像中的第h个像素点,I0,h为第1次插值后的偏振图像中的第h个像素点,I45,h为第2次插值后的偏振图像中的第h个像素点,I90,h为第3次插值后的偏振图像中的第h个像素点。
(2)得到偏振角图像后,通过某些特征描述子(例如,线性反投影算法(LocalBinary Pattern,LBP)的特征描述子)对偏振角图像进行特征提取,得到特征图像(也可以称为偏振角特征图)。
(3)得到特征图像后,可计算特征图像的参数,例如,特征图像的均值和方差等等。
其中,特征图像的均值可通过以下公式计算得到:
上式中,LBP(Φ)为特征图像,LBP(Φ)xy为特征图像中第x行第y列的像素点,m为特征图像的像素点行数,n为特征图像的像素点列数。
特征图像的方差可通过以下公式计算得到:
得到特征图像的均值和方差等参数后,可将特征图像的参数与预置的阈值进行比较(例如,将将特征图像的方差与预置的阈值进行比较,或者,将特征图像的均值与预置的阈值进行比较,或者,将特征图像的方差与预置的阈值进行比较且将特征图像的均值与预置的阈值进行比较)从而得到活体检测结果,一般地,若参数大于或等于阈值,活体检测结果用于指示目标对象为活体,若参数小于阈值,活体检测结果用于指示目标对象为非活体。例如,若特征图像的方差大于或等于6500,则确定目标对象为活体,若特征图像的方差小于6500,则确定目标对象为非活体。
404、若活体检测结果用于指示目标对象为活体,则基于M个插值后的偏振图像进行人脸识别,得到目标对象的人脸识别结果。
若活体检测结果用于指示目标对象为活体,数据处理设备可在M个插值后的偏振图像中选择任意一个图像,并将该图像输入已训练的神经网络,以通过神经网络对该图像进行一系列的处理(例如,特征提取等等),从而得到目标对象的人脸识别结果,基于该人脸识别结果,可确定目标对象的身份。
此外,还可将本申请实施例提供的插值方法与相关技术的插值方法进行比较,相关技术的插值方法为双线性插值和双三次插值,比较结果如表1所示:
表1
峰值信噪比 | 本申请实施例 | 双线性插值 | 双三次插值 |
图像1 | 53.4183 | 51.6856 | 45.0538 |
图像2 | 50.9306 | 49.8623 | 44.2108 |
图像3 | 50.6147 | 49.5054 | 40.8564 |
从表1中可以看出,本申请实施例所提出的插值方法在图像1、图像2和图像3均一致地优于双线性和双三次插值算法,进一步验证了其有效性。
进一步地,提供一组真人图像和平面纸张图像,通过本申请实施例对这些图像进行处理,从而获取真人图像的偏振角图像、真人图像的特征图像、平面纸张图像的偏振角图像和平面纸张图像的特征图像,依次如图8(a)、图8(b)、图8(c)以及图8(d)所示,其中,图8(a)为本申请实施例提供的真人图像的偏振角图像的一个示意图,图8(b)为本申请实施例提供的真人图像的特征角图像的一个示意图,图8(c)为本申请实施例提供的平面纸张图像的偏振角图像的一个示意图,图8(d)为本申请实施例提供的平面纸张图像的特征图像的一个示意图。可见,平面纸张由于没有深度距离导致其特征图像整体差异性更小,相反地,真人由于具有立体性致使其特征图像整体差异较大,因此,可根据方差阈值来进行区分。
本申请实施例中,在通过偏振相机基于M个偏振方向对目标对象进行拍摄后,可得到偏振图像,M≥3。然后,可对偏振图像分别进行M次插值,相应得到M个插值后的偏振图像,M个插值后的偏振图像与M个偏振方向一一对应。最后,基于M个插值后的偏振图像进行活体检测,可得到用于指示目标对象是否为活体的活体检测结果。前述过程中,即使是在远距离的条件下对目标对象进行拍摄,偏振相机所获取的目标对象在M个偏振方向下的偏振图像也能具备较高的分辨率,且得到偏振图像后,还可基于M个偏振方向对偏振图像进行M次插值操作,相应得到的M个插值后的偏振图像具备更高的分辨率,故在基于这M个插值后的偏振图像进行活体检测时,可以提取具备足够鉴别性的特征,有利于提高活体检测的准确度,进而为后续人脸识别提供一定的保障。
进一步的,本申请实施例所使用的插值方法是根据目标像素点位置处初始水平和垂直偏振方向上的局部梯度变化趋势确定插值方向,且在确定插值方向的基础上,利用周围需插值的像素点的像素值进行加权求和,得出目标像素点的新的像素值(相当于得到插值后的目标像素点),如此一来,基于此种插值方式所得到的偏振图像,具有更好的峰值信噪比和分辨率。
更进一步地,本申请实施例利用偏振角图像进行防伪平面,相较于TOF或结构光等防伪平面方案,有利于降低低成本和实现高分辨率的防伪平面。
图9为本申请实施例提供的图像处理方法的另一流程示意图,该方法也可通过前述的图像处理***实现,为了便于说明,下文均以图2a所示的例子进行介绍,即图像处理***中包含用户设备和数据处理设备。图10为本申请实施例提供的用户设备的另一示意图,如图10所示,用户设备包含偏振相机和补光灯,偏振相机和补光灯的功能可参考图5所示例子中的相关说明部分,此处不再赘述。
具体地,偏振相机包括依次层叠的微透镜层、滤光片层、偏振片层和感光层,关于微透镜层、滤光片层、偏振片层和感光层的说明,可参考图5所示例子中的相关说明部分,此处不再赘述。
值得注意的是,图5所示例子和图10所示例子的差别在于,图10所示的用户设备中,该设备的偏振片层包含多个偏振片阵列,对于多个偏振片阵列的任意一个偏振片阵列而言,该偏振片阵列包含3个偏振片。在这3个偏振片中,左上角的偏振片的偏振方向为60°,右上角的偏振片的偏振方向为120°,左下角的偏振片的偏振方向为0°。需要说明的是,其余偏振片阵列也是如此,此处不再赘述。那么,偏振片层中所有偏振方向为0°的偏振片允许偏振方向为0°的光信号通过,所有偏振方向为60°的偏振片允许偏振方向为60°的光信号通过,所有偏振方向为120°的偏振片允许偏振方向为120°的光信号通过。基于此,感光层所生成的偏振图像包含49个像素点,有16个像素点的偏振方向为0°,有16个像素点的偏振方向为60°,有16个像素点的偏振方向为120°。
用户设备得到偏振图像后,可将偏振图像发送至数据处理设备,以使得数据处理设备对偏振图像进行图像处理(即活体检测和人脸识别),下文将结合图9对数据处理设备所执行的图像处理过程进行介绍,如图9所示,该过程包括:
901、获取偏振图像,偏振图像为目标对象在M个偏振方向下的图像,M≥3。
902、对偏振图像进行第i次插值,得到第i个插值后的偏振图像,第i个插值后的偏振图像为目标对象在第i个偏振方向下的图像,i=1,…,M。
关于步骤901和步骤902的说明,可参考图4所示实施例中步骤401和步骤402的相关说明部分,此处不再赘述。
903、沿目标对象的脸部在M个插值后的偏振图像中所占的区域,对M个插值后的偏振图像进行裁剪,得到M个裁剪后的偏振图像。
由于用户设备的偏振相机在对目标对象进行拍摄时,可能连目标对象所处的环境也进行了拍摄,故M个插值后的偏振图像中,每个图像均包含了一部分用于呈现环境的像素点,这部分像素点对后续的活体检测是无用的,那么,对于某个插值后的偏振图像,可利用人脸检测算法和特征点定位算法确定目标对象的脸部在该图像中所占的区域,并沿着该区域对该图像进行裁剪,得到裁剪后的图像。对于其余插值后的偏振图像,也可执行如同前述的操作,故可得到M个裁剪后的偏振图像。
904、基于M个裁剪后的偏振图像进行活体检测,得到活体检测结果,活体检测结果用于指示目标对象是否为活体。
关于步骤904的说明,可参考图4所示实施例中步骤403的相关说明部分,此处不再赘述。
值得注意的是,基于10所示例子所得到的三个裁剪后的图像,分别为I0、I60和I120,基于该三个图像所得到的偏振角图像,可按以下公式获取:
上式中,Φh为偏振角图像中的第h个像素点,I0,h为I0中的第h个像素点,I60,h为I60中的第h个像素点,I120,h为I120中的第h个像素点。
905、若活体检测结果用于指示目标对象为活体,则基于M个插值后的偏振图像进行人脸识别,得到目标对象的人脸识别结果。
关于步骤905的说明,可参考图4所示实施例中步骤404的相关说明部分,此处不再赘述。
本申请实施例中,通过对插值后的偏振图像进行裁剪,基于裁剪后的偏振图像提取后续的偏振信息,即偏振角图像,有利于降低计算的复杂度,可以给活体检测和人脸识别的特征提取带来便利。
以上是对本申请实施例提供的图像处理方法所进行的详细说明,以下将对本申请实施例提供的模型训练方法进行介绍。图11为本申请实施例提供的模型训练方法的一个流程示意图。如图11所示,该方法包括:
1101、获取偏振图像,偏振图像为目标对象在某个偏振方向下的图像。
在需要对待训练的神经网络进行训练时,可获取一批训练样本,即用于训练的偏振图像,偏振图像为目标对象在某个偏振方向下的图像。需要说明的是,对该偏振图像而言,有关于目标对象的真实人脸识别结果是已知的。
1102、将偏振图像输入值待训练的神经网络,得到目标对象的预测人脸识别结果。
将偏振图像输入值待训练的神经网络,以通过待训练的神经网络对偏振图像进行处理,从而得到目标对象的预测人脸识别结果。
1103、基于目标对象的真实人脸识别结果和预测人脸识别结果,获取目标损失。
得到目标对象的预测人脸识别结果后,可通过预置的目标损失函数对目标对象的真实人脸识别结果和目标对象的预测人脸识别结果进行计算,从而得到目标损失,目标损失用于指示目标对象的真实人脸识别结果和目标对象的预测人脸识别结果之间的差异。
1104、基于目标损失对待训练的神经网络的参数进行更新,直至满足模型训练条件,得到已训练的神经网络。
得到目标损失后,可基于目标损失对待训练的神经网络的参数进行更新,并利用下一批训练样本对更新参数后的待训练的神经网络进行训练(即重新执行步骤1102至步骤1104),直至满足模型训练条件(例如,目标损失达到收敛等等),可得到已训练的神经网络,故该神经网络可应用于图4或图9所示实施例中与人脸识别相关的操作中。
本申请实施例训练得到的神经网络,可用于实现图4或图9所示实施例中的人脸识别操作,值得注意的是,由于活体检测和人脸识别通常是前后两个阶段,在活体检测阶段中,可通过偏振相机基于多个偏振方向对目标对象进行拍摄后,可得到偏振图像。然后,可基于偏振图像进行计算,得到偏振角图像;对偏振角图像进行特征提取,得到特征图像;将特征图像的参数和预置的阈值进行比较,得到活体检测结果,活体检测结果用于指示所述目标对象是否为活体。前述过程中,即使是在远距离的条件下对目标对象进行拍摄,偏振相机所获取的目标对象在多个偏振方向下的偏振图像也能具备较高的分辨率,且得到偏振图像后,可基于偏振图像实现活体检测。由于偏振图像具备较高的分辨率,故在基于偏振图像进行活体检测时,可以提取具备足够鉴别性的特征,有利于提高活体检测的准确度,进而为后续人脸识别提供一定的保障。可见,在具备一定准确度的活体检测结果的基础上,可进行人脸识别阶段,人脸识别阶段使用了神经网络进行用户信息的验证,也为人脸识别保障了足够高的准确度。基于此,这两个阶段均具备足够的准确度,可为用户的各种应用行为提供安全保障(例如,电子支付、出入通行、设备解锁等等)。
以上是对本申请实施例提供的模型训练方法所进行的详细说明,以下将对本申请实施例提供的图像处理装置进行介绍。图12为本申请实施例提供的图像处理装置的一个结构示意图。如图12所示,该装置包括:
获取模块1201,用于获取偏振图像,偏振图像为目标对象在多个偏振方向下的图像;
检测模块1202,用于基于偏振图像进行计算,得到偏振角图像;
检测模块1202,还用于对偏振角图像进行特征提取,得到特征图像;
检测模块1202,还用于将特征图像的参数和预置的阈值进行比较,得到活体检测结果,活体检测结果用于指示目标对象是否为活体。
本申请实施例中,在通过偏振相机基于多个偏振方向对目标对象进行拍摄后,可得到偏振图像。然后,可基于偏振图像进行计算,得到偏振角图像;对偏振角图像进行特征提取,得到特征图像;将特征图像的参数和预置的阈值进行比较,得到活体检测结果,活体检测结果用于指示所述目标对象是否为活体。前述过程中,即使是在远距离的条件下对目标对象进行拍摄,偏振相机所获取的目标对象在多个偏振方向下的偏振图像也能具备较高的分辨率,且得到偏振图像后,可基于偏振图像实现活体检测。由于偏振图像具备较高的分辨率,故在基于偏振图像进行活体检测时,可以提取具备足够鉴别性的特征,有利于提高活体检测的准确度,进而为后续人脸识别提供一定的保障。
进一步地,利用偏振角图像来进行防伪平面(即基于偏振图像进行计算,得到偏振角图像,再对其做进一步的特征提取,得到偏振角特征图,最后利用偏振角特征图实现活体检测),相较于相关技术(TOF或结构光等)的防伪平面方案,有利于降低低成本和实现高分辨率的防伪平面。
在一种可能的实现方式中,该装置还包括:插值模块,用于对偏振图像进行第i次插值,得到第i个插值后的偏振图像,第i个插值后的偏振图像为目标对象在第i个偏振方向下的图像,i=1,…,M;检测模块1202,用于基于M个插值后的偏振图像进行计算,得到偏振角图像。
在一种可能的实现方式中,偏振图像包含N个像素点,N个像素点对应除第i个偏振方向之外的其余偏振方向,插值模块,用于对偏振图像中第j个像素点周围的P个像素点进行计算,得到第i个插值后的偏振图像中的第j个像素点,偏振图像中的第j个像素点为N个像素点中的其中一个像素点,P个像素点对应第i个偏振方向,N≥1,P≥1。
在一种可能的实现方式中,当偏振图像中的第j个像素点位于偏振图像中的预置范围内,P个像素点基于偏振图像中的第j个像素点的梯度趋势值确定。
在一种可能的实现方式中,检测模块1202,用于对M个插值后的偏振图像中的任意3个图像进行计算,得到偏振角图像。
在一种可能的实现方式中,若参数大于或等于阈值,活体检测结果用于指示目标对象为活体,若参数小于阈值,活体检测结果用于指示目标对象为非活体。
在一种可能的实现方式中,参数包括方差和/或均值。
在一种可能的实现方式中,该装置还包括:识别模块,用于若活体检测结果用于指示目标对象为活体,则基于M个插值后的偏振图像进行人脸识别,得到目标对象的人脸识别结果。
在一种可能的实现方式中,该装置还包括:裁剪模块,用于:沿目标对象的脸部在M个插值后的偏振图像中所占的区域,对M个插值后的偏振图像进行裁剪,得到M个裁剪后的偏振图像;检测模块1202,用于基于M个裁剪后的偏振图像进行计算,得到偏振角图像。
此外,本申请实施例还提供了一种模型训练装置,该装置包括:第一获取模块,用于获取偏振图像,偏振图像为目标对象在某个偏振方向下的图像;处理模块,用于将偏振图像输入值待训练的神经网络,得到目标对象的预测人脸识别结果;第二获取模块,用于基于目标对象的真实人脸识别结果和预测人脸识别结果,获取目标损失;更新模块,用于基于目标损失对待训练的神经网络的参数进行更新,直至满足模型训练条件,得到已训练的神经网络。
本申请实施例训练得到的神经网络,可用于实现图12所实施中的人脸识别操作,值得注意的是,由于活体检测和人脸识别通常是前后两个阶段,在活体检测阶段中,可通过偏振相机基于多个偏振方向对目标对象进行拍摄后,可得到偏振图像。然后,可基于偏振图像进行计算,得到偏振角图像;对偏振角图像进行特征提取,得到特征图像;将特征图像的参数和预置的阈值进行比较,得到活体检测结果,活体检测结果用于指示所述目标对象是否为活体。前述过程中,即使是在远距离的条件下对目标对象进行拍摄,偏振相机所获取的目标对象在多个偏振方向下的偏振图像也能具备较高的分辨率,且得到偏振图像后,可基于偏振图像实现活体检测。由于偏振图像具备较高的分辨率,故在基于偏振图像进行活体检测时,可以提取具备足够鉴别性的特征,有利于提高活体检测的准确度,进而为后续人脸识别提供一定的保障。可见,在具备一定准确度的活体检测结果的基础上,可进行人脸识别阶段,人脸识别阶段使用了神经网络进行用户信息的验证,也为人脸识别保障了足够高的准确度。基于此,这两个阶段均具备足够的准确度,可为用户的各种应用行为提供安全保障(例如,电子支付、出入通行、设备解锁等等)。
需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其带来的技术效果与本申请方法实施例相同,具体内容可参考本申请实施例前述所示的方法实施例中的叙述,此处不再赘述。
本申请实施例还涉及一种执行设备(该执行设备既可以是前述的用户设备,也可以是前述的数据处理设备),图13为本申请实施例提供的执行设备的一个结构示意图。如图13所示,执行设备1300具体可以表现为手机、平板、笔记本电脑、智能穿戴设备、服务器等,此处不做限定。其中,执行设备1300上可部署有图11对应实施例中所描述的图像处理装置,用于实现图4或图9对应实施例中图像处理的功能。具体的,执行设备1300包括:接收器1301、发射器1302、处理器1303和存储器1304(其中执行设备1300中的处理器1303的数量可以一个或多个,图13中以一个处理器为例),其中,处理器1303可以包括应用处理器13031和通信处理器13032。在本申请的一些实施例中,接收器1301、发射器1302、处理器1303和存储器1304可通过总线或其它方式连接。
存储器1304可以包括只读存储器和随机存取存储器,并向处理器1303提供指令和数据。存储器1304的一部分还可以包括非易失性随机存取存储器(non-volatile randomaccess memory,NVRAM)。存储器1304存储有处理器和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。
处理器1303控制执行设备的操作。具体的应用中,执行设备的各个组件通过总线***耦合在一起,其中总线***除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线***。
上述本申请实施例揭示的方法可以应用于处理器1303中,或者由处理器1303实现。处理器1303可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1303中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1303可以是通用处理器、数字信号处理器(digital signal processing,DSP)、微处理器或微控制器,还可进一步包括专用集成电路(application specific integratedcircuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。该处理器1303可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1304,处理器1303读取存储器1304中的信息,结合其硬件完成上述方法的步骤。
接收器1301可用于接收输入的数字或字符信息,以及产生与执行设备的相关设置以及功能控制有关的信号输入。发射器1302可用于通过第一接口输出数字或字符信息;发射器1302还可用于通过第一接口向磁盘组发送指令,以修改磁盘组中的数据;发射器1302还可以包括显示屏等显示设备。
本申请实施例中,在一种情况下,处理器1303,用于实现图4或图9对应实施例中的图像处理功能。
本申请实施例还涉及一种训练设备,图14为本申请实施例提供的训练设备的一个结构示意图。如图14所示,训练设备1400由一个或多个服务器实现,训练设备1400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(centralprocessing units,CPU)1414(例如,一个或一个以上处理器)和存储器1432,一个或一个以上存储应用程序1442或数据1444的存储介质1430(例如一个或一个以上海量存储设备)。其中,存储器1432和存储介质1430可以是短暂存储或持久存储。存储在存储介质1430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对训练设备中的一系列指令操作。更进一步地,中央处理器1414可以设置为与存储介质1430通信,在训练设备1400上执行存储介质1430中的一系列指令操作。
训练设备1400还可以包括一个或一个以上电源1426,一个或一个以上有线或无线网络接口1450,一个或一个以上输入输出接口1458;或,一个或一个以上操作***1441,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
具体的,训练设备可以执行图10对应实施例中的模型训练方法。
本申请实施例还涉及一种计算机存储介质,该计算机可读存储介质中存储有用于进行信号处理的程序,当其在计算机上运行时,使得计算机执行如前述执行设备所执行的步骤,或者,使得计算机执行如前述训练设备所执行的步骤。
本申请实施例还涉及一种计算机程序产品,该计算机程序产品存储有指令,该指令在由计算机执行时使得计算机执行如前述执行设备所执行的步骤,或者,使得计算机执行如前述训练设备所执行的步骤。
本申请实施例提供的执行设备、训练设备或终端设备具体可以为芯片,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使执行设备内的芯片执行上述实施例描述的数据处理方法,或者,以使训练设备内的芯片执行上述实施例描述的数据处理方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述无线接入设备端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
具体的,请参阅图15,图15为本申请实施例提供的芯片的一个结构示意图,所述芯片可以表现为神经网络处理器NPU 1500,NPU 1500作为协处理器挂载到主CPU(Host CPU)上,由Host CPU分配任务。NPU的核心部分为运算电路1503,通过控制器1504控制运算电路1503提取存储器中的矩阵数据并进行乘法运算。
在一些实现中,运算电路1503内部包括多个处理单元(Process Engine,PE)。在一些实现中,运算电路1503是二维脉动阵列。运算电路1503还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路1503是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器1502中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器1501中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)1508中。
统一存储器1506用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器(Direct Memory Access Controller,DMAC)1505,DMAC被搬运到权重存储器1502中。输入数据也通过DMAC被搬运到统一存储器1506中。
BIU为Bus Interface Unit即,总线接口单元1513,用于AXI总线与DMAC和取指存储器(Instruction Fetch Buffer,IFB)1509的交互。
总线接口单元1513(Bus Interface Unit,简称BIU),用于取指存储器1509从外部存储器获取指令,还用于存储单元访问控制器1505从外部存储器获取输入矩阵A或者权重矩阵B的原数据。
DMAC主要用于将外部存储器DDR中的输入数据搬运到统一存储器1506或将权重数据搬运到权重存储器1502中或将输入数据数据搬运到输入存储器1501中。
向量计算单元1507包括多个运算处理单元,在需要的情况下,对运算电路1503的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/全连接层网络计算,如Batch Normalization(批归一化),像素级求和,对预测标签平面进行上采样等。
在一些实现中,向量计算单元1507能将经处理的输出的向量存储到统一存储器1506。例如,向量计算单元1507可以将线性函数;或,非线性函数应用到运算电路1503的输出,例如对卷积层提取的预测标签平面进行线性插值,再例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元1507生成归一化的值、像素级求和的值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路1503的激活输入,例如用于在神经网络中的后续层中的使用。
控制器1504连接的取指存储器(instruction fetch buffer)1509,用于存储控制器1504使用的指令;
统一存储器1506,输入存储器1501,权重存储器1502以及取指存储器1509均为On-Chip存储器。外部存储器私有于该NPU硬件架构。
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,ASIC,或一个或多个用于控制上述程序执行的集成电路。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
Claims (25)
1.一种图像处理方法,其特征在于,所述方法包括:
获取偏振图像,所述偏振图像为目标对象在多个偏振方向下的图像;
基于所述偏振图像进行计算,得到偏振角图像;
对所述偏振角图像进行特征提取,得到特征图像;
将所述特征图像的参数和预置的阈值进行比较,得到活体检测结果,所述活体检测结果用于指示所述目标对象是否为活体。
2.根据权利要求1所述的方法,其特征在于,所述多个偏振方向的数量为M个,M≥3,所述基于偏振图像进行计算,得到偏振角图像之前,所述方法还包括:
对所述偏振图像进行第i次插值,得到第i个插值后的偏振图像,所述第i个插值后的偏振图像为所述目标对象在第i个偏振方向下的图像,i=1,…,M;
所述基于偏振图像进行计算,得到偏振角图像包括:
基于M个插值后的偏振图像进行计算,得到偏振角图像。
3.根据权利要求2所述的方法,其特征在于,所述偏振图像包含N个像素点,所述N个像素点对应除第i个偏振方向之外的其余偏振方向,所述对所述偏振图像进行第i次插值,得到第i个插值后的偏振图像包括:
对所述偏振图像中第j个像素点周围的P个像素点进行计算,得到第i个插值后的偏振图像中的第j个像素点,所述偏振图像中的第j个像素点为所述N个像素点中的其中一个像素点,所述P个像素点对应所述第i个偏振方向,N≥1,P≥1。
4.根据权利要求3所述的方法,其特征在于,当所述偏振图像中的第j个像素点位于所述偏振图像中的预置范围内,所述P个像素点基于所述偏振图像中的第j个像素点的梯度趋势值确定。
5.根据权利要求2至4任意一项所述的方法,其特征在于,所述基于M个插值后的偏振图像进行计算,得到偏振角图像包括:
对M个插值后的偏振图像中的任意3个图像进行计算,得到偏振角图像。
6.根据权利要求1至5任意一项所述的方法,其特征在于,若所述参数大于或等于所述阈值,所述活体检测结果用于指示目标对象为活体,若所述参数小于所述阈值,所述活体检测结果用于指示目标对象为非活体。
7.根据权利要求1至6任意一项所述的方法,其特征在于,所述参数包括方差和/或均值。
8.根据权利要求2至7任意一项所述的方法,其特征在于,所述将所述特征图像的参数和预置的阈值进行比较,得到活体检测结果之后,所述方法还包括:
若所述活体检测结果用于指示所述目标对象为活体,则基于所述M个插值后的偏振图像进行人脸识别,得到所述目标对象的人脸识别结果。
9.根据权利要求2至8任意一项所述的方法,其特征在于,所述基于M个插值后的偏振图像进行计算,得到偏振角图像之前,所述方法还包括:
沿所述目标对象的脸部在M个插值后的偏振图像中所占的区域,对所述M个插值后的偏振图像进行裁剪,得到M个裁剪后的偏振图像;
所述基于M个插值后的偏振图像进行计算,得到偏振角图像包括:
基于所述M个裁剪后的偏振图像进行计算,得到偏振角图像。
10.一种图像处理装置,其特征在于,所述装置包括:
获取模块,用于获取偏振图像,所述偏振图像为目标对象在多个偏振方向下的图像;
检测模块,用于基于所述偏振图像进行计算,得到偏振角图像;
所述检测模块,还用于对所述偏振角图像进行特征提取,得到特征图像;
所述检测模块,还用于将所述特征图像的参数和预置的阈值进行比较,得到活体检测结果,所述活体检测结果用于指示所述目标对象是否为活体。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
插值模块,用于对所述偏振图像进行第i次插值,得到第i个插值后的偏振图像,所述第i个插值后的偏振图像为所述目标对象在第i个偏振方向下的图像,i=1,…,M;
所述检测模块,用于基于M个插值后的偏振图像进行计算,得到偏振角图像。
12.根据权利要求11所述的装置,其特征在于,所述偏振图像包含N个像素点,所述N个像素点对应除第i个偏振方向之外的其余偏振方向,所述插值模块,用于对所述偏振图像中第j个像素点周围的P个像素点进行计算,得到第i个插值后的偏振图像中的第j个像素点,所述偏振图像中的第j个像素点为所述N个像素点中的其中一个像素点,所述P个像素点对应所述第i个偏振方向,N≥1,P≥1。
13.根据权利要求12所述的装置,其特征在于,当所述偏振图像中的第j个像素点位于所述偏振图像中的预置范围内,所述P个像素点基于所述偏振图像中的第j个像素点的梯度趋势值确定。
14.根据权利要求11至13任意一项所述的装置,其特征在于,所述检测模块,用于对M个插值后的偏振图像中的任意3个图像进行计算,得到偏振角图像。
15.根据权利要求10至14任意一项所述的装置,其特征在于,若所述参数大于或等于所述阈值,所述活体检测结果用于指示目标对象为活体,若所述参数小于所述阈值,所述活体检测结果用于指示目标对象为非活体。
16.根据权利要求10至15任意一项所述的装置,其特征在于,所述参数包括方差和/或均值。
17.根据权利要求11至16任意一项所述的装置,其特征在于,所述装置还包括:识别模块,用于若所述活体检测结果用于指示所述目标对象为活体,则基于所述M个插值后的偏振图像进行人脸识别,得到所述目标对象的人脸识别结果。
18.根据权利要求11至17任意一项所述的装置,其特征在于,所述装置还包括:裁剪模块,用于:沿所述目标对象的脸部在M个插值后的偏振图像中所占的区域,对所述M个插值后的偏振图像进行裁剪,得到M个裁剪后的偏振图像;
所述检测模块,用于基于所述M个裁剪后的偏振图像进行计算,得到偏振角图像。
19.一种图像处理***,其特征在于,所述***包括存储器和处理器;所述存储器存储有代码,所述处理器被配置为执行所述代码,当所述代码被执行时,所述图像处理***执行如权利要求1至9任一所述的方法。
20.根据权利要求19所述的***,其特征在于,所述***还包括:偏振相机,所述偏振相机和所述处理器电连接,所述偏振相机用于基于M个偏振方向对目标对象进行拍摄,得到偏振图像,M≥3。
21.根据权利要求20所述的***,其特征在于,所述***还包括:补光灯,所述补光灯用于对所述目标对象发射预置的波长范围内的光信号。
22.根据权利要求21所述的***,其特征在于,所述偏振相机包括依次层叠的微透镜层、滤光片层、偏振片层和感光层;
所述微透镜层,用于接收来自目标对象的第一光信号;
所述滤光片层,用于在所述第一光信号中,筛选位于所述波长范围内的第二光信号;
所述偏振片层,用于在所述第二光信号中,筛选处于M个偏振方向下的第三光信号;
所述感光层,用于基于所述第三光信号,生成所述偏振图像。
23.根据权利要求22所述的***,其特征在于,所述偏振片层包含相同的K个偏振片阵列,每个偏振片阵列包含M个偏振片,所述M个偏振片与所述M个偏振方向一一对应,K≥2。
24.一种计算机可读存储介质,其特征在于,包括计算机可读指令,当所述计算机可读指令在计算机上运行时,使得所述计算机执行如权利要求1至9任一项所述的方法。
25.一种计算机程序产品,其特征在于,包括计算机可读指令,当所述计算机可读指令在计算机上运行时,使得所述计算机执行如权利要求1至9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111342593.6A CN116129531A (zh) | 2021-11-12 | 2021-11-12 | 一种图像处理方法及其相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111342593.6A CN116129531A (zh) | 2021-11-12 | 2021-11-12 | 一种图像处理方法及其相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116129531A true CN116129531A (zh) | 2023-05-16 |
Family
ID=86303212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111342593.6A Pending CN116129531A (zh) | 2021-11-12 | 2021-11-12 | 一种图像处理方法及其相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116129531A (zh) |
-
2021
- 2021-11-12 CN CN202111342593.6A patent/CN116129531A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3287943B1 (en) | Liveness test method and liveness test computing apparatus | |
CN111274916B (zh) | 人脸识别方法和人脸识别装置 | |
CN113688855A (zh) | 数据处理方法、联邦学习的训练方法及相关装置、设备 | |
CN113065636B (zh) | 一种卷积神经网络的剪枝处理方法、数据处理方法及设备 | |
WO2022134971A1 (zh) | 一种降噪模型的训练方法及相关装置 | |
CN112036331B (zh) | 活体检测模型的训练方法、装置、设备及存储介质 | |
CN110222718B (zh) | 图像处理的方法及装置 | |
CN113065635A (zh) | 一种模型的训练方法、图像增强方法及设备 | |
CN113449573A (zh) | 一种动态手势识别方法及设备 | |
WO2021218238A1 (zh) | 图像处理方法和图像处理装置 | |
CN108875767A (zh) | 图像识别的方法、装置、***及计算机存储介质 | |
WO2022012668A1 (zh) | 一种训练集处理方法和装置 | |
EP4293628A1 (en) | Image processing method and related apparatus | |
CN113627163A (zh) | 一种注意力模型、特征提取方法及相关装置 | |
CN114241597A (zh) | 一种姿态识别方法及其相关设备 | |
CN113627422A (zh) | 一种图像分类方法及其相关设备 | |
CN112529149A (zh) | 一种数据处理方法及相关装置 | |
CN113449548A (zh) | 更新物体识别模型的方法和装置 | |
CN114169393A (zh) | 一种图像分类方法及其相关设备 | |
CN113627421A (zh) | 一种图像处理方法、模型的训练方法以及相关设备 | |
CN113066125A (zh) | 一种增强现实方法及其相关设备 | |
CN116129531A (zh) | 一种图像处理方法及其相关设备 | |
CN115879524A (zh) | 一种模型训练方法及其相关设备 | |
CN115712828A (zh) | 一种图像分类方法及其相关设备 | |
CN113256556A (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 |