基于Gabor变换的自动校准方法

2022-11-09 03:58卿源华张俊林李周霖映石冬阳
关键词:瞳孔手动人脸

卿源华 张俊林 李周霖映 石冬阳

(重庆科技学院 电气工程学院, 重庆 401331)

0 前 言

据统计,2018年我国视力残疾人数达到1 731万,大约相当于每80人中就有一名视障患者,排列全球视障人数第一位。在各类眼科疾病中,最常见的是近视。近年来,近视患病率在我国年轻人群体中呈急剧增长趋势,在16至22岁的群体中已达80%左右。在我国眼病患者中,近视和干眼症患者人数最多,截至2018年共有约9.2亿人,占人口总数的65.95%。白内障是主要致盲的眼病之一,我国白内障患者已达5 000万人左右[1]。视力问题严重影响着人们的生活质量,给人们带来了很多不便,解决视力问题已经迫在眉睫。现有的眼科医学检测系统给眼病治疗带来极大便利的同时也带来了一系列问题。

日益上升的患者人数导致专业眼科医生短缺,医生工作愈发繁重等问题逐渐显现。仅凭靠医生肉眼观察的传统诊断方法存在效率低下、误诊、漏诊等问题。传统的眼底检查是患者前往医院拍摄眼底照片,眼科医生依据图像进行诊断。我国基层眼科医生资源严重匮乏[2],利用计算机技术进行眼底健康筛查就显得十分必要。

目前,国内外已有很多瞳孔中心定位算法的相关研究[3-7]。本次研究采取Gabor瞳孔定位算法和圆近似算法,对眼底相机进行优化编程并调试,以提高瞳孔中心定位的准确度。

1 人脸图像预处理

如果直接对相机采集的人脸图像进行瞳孔定位,需要处理的数据较大、反应时间长,同时还存在普遍的干扰因素,容易导致瞳孔定位失败。因此,需要对图像进行预处理,以排除干扰。

1.1 人脸检测

特征提取对人脸图像采集的影响最为直接。首先,利用算法屏蔽背景和不需要的部分;然后,储存截取到的图像;最后,提取人脸特征。

1.2 图像灰度化处理

灰度化与二值化是人脸识别中最常见的图像处理方法。相机采集的人脸图像都是彩色高清图像,但色彩对识别人脸的重要边缘和其他特征没有太大帮助,可视其为噪声。另外,背景、光照等环境因素也会带有一定的噪声和其他干扰项,因此,需要在特征提取之前对人脸图像进行灰度化处理,以提高图像的识别程度、减少图像的噪声影响。图像灰度化处理示例如图1所示。

图1 图像灰度化处理示例

2 瞳孔检测

目前常用的瞳孔定位算法主要有Hough变换的瞳孔定位算法、最小二乘法椭圆拟合的瞳孔定位算法等。Hough变换的瞳孔定位算法利用图像的像素边缘求出圆形轮廓,但计算量大且复杂[8];最小二乘法椭圆拟合的瞳孔定位算法需要对所有瞳孔的边缘像素点进行大量运算。

针对上述瞳孔定位算法运算量大的问题,本次研究采用Gabor变换进行瞳孔定位。Gabor变换具有较强的局部纹理分析能力和较快的数据处理速度,能够很好地提取瞳孔纹理细节特征。

2.1 Gabor变换

Gabor变换由Dennis Gabor在1946年提出[9],他发现高斯函数调制的复指数函数能达到时间和频率分辨率间折中关系的最小极限。Gabor变换属于加窗傅立叶变换,Gabor函数可以在频域不同尺度、不同方向上提取相关特征。另外,Gabor函数与哺乳动物视觉系统相似,可用于人眼瞳孔检测,且具有良好的抗干扰能力。Gabor 变换不仅能够克服光照变化带来的影响,而且能够在不缩放、不旋转、不平移人脸图像的前提下,消除相机采集图像时产生的干扰(眼球反光、眼睫毛遮蔽人眼等),还具有很强的抗噪能力。

设g∈L2,则Gabor如式(1)所示:

g(b,w)(t)=g(t-b)exp(-iwt)

(1)

式中:t为余弦函数的波长;b为平行条带的方向因子;i为高斯函数的标准差;w为空间纵横比控制余弦函数的相位偏移。

对每个f∈L2,定义f的Gabor变换为:

(2)

设h∈L2,则Gabor变换的再生公式如式(3)所示:

(3)

式中:g、h为分析Gabor函数;g(b,w)、h(b,w)为Gabor函数。

由此可知,信号f(t)可以按时域局部在频域上进行分解。

由帕塞瓦尔(Paserval)恒等式可知:

若h=g,则式(3)可变换为:

(4)

由式(2)和式(4)可知,Gabor变换具有时域局部化特性,当b变化时,g(b,w)在时域上移动,起到时域窗口的作用。

2-D Gabor滤波理论由Daugman在1985年提出,特别是在一些应用中,经常需要计算由多个方向和频率的2-D Gabor滤波输出组成的2-D Gabor滤波库,以减少在特定方向和频率下执行一次2-D Gabor滤波的运行时间。为了获得2-D Gabor滤波器组的输出,现有的方法是在多个方向和频率上重复应用。无论是从空间域的起伏特性上、方向选择特性上、空间域与频率域选择上,还是从正交相位的关系上,2-D Gabor函数具有与大多数哺乳动物的视觉表层细胞二维模型相似的性质。

2-D Gabor滤波函数如式(5)所示:

(5)

式中:(x0,y0)是高斯函数的中心位置;u、v是频域变量;u0、v0是调制频率的中心;α、β是高斯函数的尺度参数[10]。

傅立叶变换形式如式(6)所示:

(6)

对于样品内部同一深度方向上的多个反射点,逐步提取出各个反射点的深度信息,并对其作傅里叶变换处理得到相关函数,在此区域内其与视觉细胞的2-D Gabor接受波形极其相似。通过从相关函数中提取样品内部阈值方向上的多个深度信息来提高成像速度,降低噪声影响。通过调整参数使2-D Gabor函数具有不同的空间局部化特征,如方向选择性、频率选择性和二次相位关联等[11]。

2.2 Gabor滤波设计

由于色彩往往与图像中的场景和物体密切相关,因此色彩特征是图像识别中应用最广泛的视觉特征。与其他视觉特征相比,色彩特征对图像方向、大小和视角的依赖性较小,具有较强的稳定性。RGB色彩空间是基于色彩混合的原理设计的,它们以不同的比例叠加在一起,产生出丰富而广泛的色彩种类。

视网膜上有3种锥体细胞,分别含有对红光、绿光和蓝光敏感的色素。当一定波长的光作用于视网膜时,这3种锥体细胞分别按一定比例产生不同程度的兴奋,这些信息被传递到大脑,使人产生某种颜色的感觉[12]。

为了模拟人眼视觉原理,本次研究构建彩色Gabor滤波器来激活图像的颜色特征。采用 2-D Gabor滤波器检测3维颜色空间中某个颜色分量的颜色特征。根据提取物体的颜色特征,构建 3个颜色分量间的相关性,得到另外2个颜色分量的Gabor滤波器。将3个2-D Gabor滤波器综合为1个彩色Gabor滤波器,作为提取物体颜色特征公式。

经典感知域包含黄色、红色、绿色和蓝色等4个组件。根据神经网络训练的颜色卷积核,得出颜色通道间的数学关系,如式(7)所示:

Ge=GR+GG+GB

(7)

式中:GR、GG和GB分别为在R、G和B通道上的 2-D Gabor滤波器;Ge为彩色Gabor滤波器。

2.3 瞳孔定位

Gabor滤波获取的图像,排除了眼睑、睫毛、光照等干扰项,仅保留了瞳孔这单一信息要素。根据瞳孔的解剖学特性,认为瞳孔轮廓近似为圆形,因此可以在一定阈值内采用圆近似算法[13]。

瞳孔形状如式(8)所示:

(x-a)2+(y-b)2=r2

(8)

式中:(a,b)为瞳孔轮廓的中心位置坐标;r为瞳孔轮廓的半径。

对瞳孔作近似圆处理,求其外切矩形,矩形的长、宽分别为a、b,则其面积s=ab。

当外切矩形满足式(9)的条件时,该轮廓为所求瞳孔轮廓:

(9)

3 自动对焦

相机采集图像时难免会有人体轻微扭动或外景光线强弱变化。为了保证高精度对准,本次研究加入二维微动平台对整个对焦过程进行自我调整。

3.1 系统组成

移动式图像采集系统包括摄像头、步进电机、运动驱动器和二维微动平台等。 摄像头安装在二维微动平台上,当摄像头捕获图像时,二维微动平台根据系统命令进行移动。系统运作流程如图2所示。

图2 系统运作流程

3.2 二维微动平台对焦

设置图像采集区域为640×480,当成像中心点与瞳孔中心点对齐后,平台对焦成功。图像采集区域左上角坐标(x0,y0)=(0,0),采集区域为(x0+w,y0+h),瞳孔中心在图像坐标系中的坐标为(x,y)。

计算瞳孔中心坐标(x,y)和(x0,y0)的相对坐标(x′,y′),如式(10)所示:

(x′,y′)=(x-x0,y-y0)

(10)

相机对焦是借助二维微动平台的移动来完成的,移动时需要将移动距离转变为电机的步进位移。设置一个像素点对应的实际距离为d,步进电机转动角度为θ。电机转动参数如式(11)、式(12)所示:

(11)

(12)

移动过程中,采集区域左上角坐标开始改变,如式(13)所示:

(13)

当瞳孔中心坐标和图像采集区域左上角坐标的相对坐标满足式(14)时,瞳孔中心和图像采集区域中心重合,平移台停止移动:

(x′,y′)≤(Δx,Δy)

(14)

式中:(Δx,Δy)为图像采集区域中心和瞳孔中心之间的范围误差。

电机控制流程如图3所示。当二维微动平台移动时,图像采集区域中心坐标会发生改变;当瞳孔中心和图像采集区域中心在误差范围内重合时,电机停止运动。

图3 电机控制流程

4 仿真结果分析

在图像采集过程中,对感兴趣的区域绘制矩阵,并以其为研究范围。在矩阵内部,人脸面部光源反射是特征提取最大的干扰因素。相机采集到的单人彩色图像往往会由于光线的影响而变得偏暗或偏亮。因此,需要对人脸图像进行灰度化处理,以消除光照反射对面部特征定位提取的影响。图像处理流程如图4所示,图像灰度化结果如图5所示。

图4 图像处理流程

图5 图像灰度化结果

在图像灰度化处理完成后,进行人脸特征提取,将大量的图像数据训练成一套可以刻画人脸特征的过滤模板。首先,计算面部顶点;然后,逐点向下移动,每次一个水平狭缝;最后,将处理后的灰度图与训练出的模板进行比较,确认眼睛的坐标信息。在对眼睛进行检测时,由于眉毛离眼睛比较近,导致检测结果与真实值存在一定偏差,因此在获得眼睛位置坐标后,需要进一步确认眼球位置。而灰度图形的眼球特征明显,可以得到正确的眼球位置。 此外,在脸轴上纵向放置一个狭缝,根据特征水平确定鼻子、嘴和下巴的位置,并用绿点标记。人脸图像特征图如图6所示。

图6 人脸图像特征图

人脸特征提取完成后,双眼中心连线的方向随人脸的偏转而偏转,可作为图像旋转的依据。人眼识别完成后,需要进行瞳孔识别,根据二维Gabor滤波设定的方向和尺寸,确定瞳孔的具体位置。图7为不同情况下的瞳孔定位图。

图7 不同情况下的瞳孔定位图

5 算法验证及性能测试

为了定量验证Gabor瞳孔定位算法的性能,本次研究使用FRGC 1.0数据库进行实验。首先,将检测到的瞳孔位置与手动标记的瞳孔位置进行比较,通过人眼检测率和瞳孔定位误差来评估算法性能。其中,定位误差为检测的瞳孔位置和手动标记的瞳孔位置之间的欧式距离。其次,使用Gabor和PCA基线算法[14]进行人脸识别实验。

5.1 瞳孔检测精度分析

将Gabor瞳孔定位算法应用于FRGC 1.0数据库中,人眼检测率约为95.0%。通常情况下,面部缺失是由不受控制的光照造成的,如仅对瞳孔进行检测,则人眼检测率约为99.0%。

由瞳孔定位误差结果(见表1)可知,自动检测和手动标记的瞳孔位置之间的平均欧式距离为6.381 6,归一化误差为0.028 8,说明Gabor算法的误差较小,能够准确定位瞳孔。

表1 瞳孔定位误差结果

5.2 人脸识别结果分析

为了进一步验证算法性能,采用Gabor和PCA基线算法进行人脸识别。当人眼检测器无法定位人眼时,Gabor和PCA基线算法都使用了中值滤波器来保留40%的特征向量,并根据给定的瞳孔位置模拟人脸区域,以消除人脸检测遗漏的影响,其中约有95.0%的自动人脸检测和5.0%的模拟人脸检测。基于人脸检测结果,约99.0%的图像瞳孔定位成功。如果遗漏了瞳孔,则使用手动标记,在1 281个样本中,只有不到15只瞳孔被手动标记。

在实验1中,选取FRGC1.0数据库中的183幅图像进行训练,对单个受控静态图像进行分析。在实验2中,选取FRGC1.0数据库中的732幅图像进行训练,对多个受控图像进行分析。在实验3中,选取FRGC1.0数据库中的366幅图像进行训练,对非受控单幅图像和受控单幅图像进行分析。

在进行瞳孔定位前,首先将图像裁剪、旋转和缩放为固定大小;然后,使用椭圆掩模算法去除无关的背景分量;接着,对人脸图像进行标准直方图均衡化处理;最后,使用Gabor和PCA基线算法进行人脸识别。手动与自动标记的瞳孔定位结果如图8所示。各算法的手动与自动标记结果对比如图9所示,Gabor算法的ROC曲线如图10所示。

图8 手动与自动标记的瞳孔定位结果

图9 各算法的手动与自动标记结果对比

5.3 结果分析

实验1中,Gabor算法的手动标记识别率平均为83.30%,自动标记识别率平均为94.59%。基于PCA基线算法的自动标记与手动标记的瞳孔位置相近,识别率略低于Gabor算法。

实验2中,Gabor算法的手动标记识别率平均为97.04%,自动标记识别率平均为96.38%。基于PCA基线算法的自动标记与手动标记瞳孔位置与Gabor算法基本相同。

图10 Gabor算法的ROC曲线

实验3中,Gabor算法的手动标记识别率平均为36.84%,自动标记识别率平均为25.82%。实验3的结果比实验1和实验2差。基于PCA基线算法标记与手动标记瞳孔位置的差异与Gabor算法相似。

综上所述,自动标记与人工标记的识别率相当。但实验3的识别效果比实验1和实验2差,这是因为实验3中的测试图像是在非受控环境下拍摄的,图像是基于FRGC1.0数据库进行训练的,测试图像瞳孔位置的误差较大,从而导致识别率下降。由此可见,基于Gabor算法的瞳孔定位方法可以较为精确地定位瞳孔位置。

6 结 语

本次研究提出了基于Gabor变换的自动校准方法,以提高瞳孔中心定位准确度。采用二值化、灰度化方法排除噪声,以保证Gabor滤波后的图像质量。由于本次研究的人物单一、背景单调,导致采集的瞳孔模型单一,且没有在高噪声环境下进行采样,这可能会造成瞳孔定位误差大。

猜你喜欢
瞳孔手动人脸
有特点的人脸
一起学画人脸
三国漫——人脸解锁
瞳孔里的太阳
瞳孔
小巧手动起来
风行S5001.6L手动尊享型
宝骏5601.8L手动豪华型
C4世嘉 1.6L手动豪华型
瞳孔