Illumination Normalization techniques for robust Face recognition toolbox (INFace v2.0)
项目介绍
本项目是一个专门为人脸识别研究设计的工具箱,旨在解决人脸识别系统在实际应用中面临的最大挑战之一:光照变化。在复杂的人脸识别场景中,光照带来的图像差异往往超过人脸身份本身的差异,导致识别率下降。本工具箱通过一系列先进的图像处理算法,对输入的人脸图像进行光照归一化处理,旨在消除不均匀光照的影响,提取反映人脸本质结构的反射分量,从而显著提升特征提取与比对的准确性。
功能特性
本项目集成了多种主流的光照归一化算法,涵盖了空域、频域、物理模型及非线性滤波等多个维度:
- 基础亮度调节:通过非线性变换和直方图分布调整增强对比度。
- 物理模型建模:基于Retinex理论模拟人类视觉系统对物体的感知,提取反射属性。
- 频域信息过滤:在变换域中剔除代表光照影响的低频成分。
- 边缘保持滤波:使用非线性扩散和双边滤波技术,在平滑光照的同时保留面部关键边缘细节。
- 实验评估指标:提供图像信息熵计算功能,从定量角度分析光照处理后的信息增益。
系统要求
- 软件环境:MATLAB R2016b 或更高版本。
- 必备工具箱:MATLAB Image Processing Toolbox(图像处理工具箱)。
- 硬件要求:标准计算机配置,内存建议 8GB 或以上以保证多尺度滤波运算的流畅性。
运行流程与实现逻辑
主程序的运行逻辑遵循以下标准流水线:
- 数据初始化:系统首先通过内置函数生成一个模拟真实光照环境的测试图像。该图像包含人脸基本特征(轮廓、眼睛、嘴巴),并人为加入了从左至右的线性渐变强光及随机噪声,以模拟极端的环境干扰。
- 算法并行处理:程序依次调用九种不同的归一化算法对原始灰度图像进行处理,所有处理过程均在双精度浮点数(double)环境下进行,以保证计算精度。
- 动态可视化:处理完成后,系统会自动创建一个图形窗口,以2行5列的形式展示原始图像与经过九种不同技术处理后的对比图。
- 定量分析:程序最后会计算每一幅处理后图像的信息熵并打印在命令行窗口,用于辅助判断算法在提取图像信息方面的表现。
关键函数与算法细节分析
伽马校正 (Gamma Correction)
通过对图像进行幂次变换来调整图像的整体亮度,有效地补偿过暗或过亮的区域,其实现通过简单的指数运算完成。
直方图均衡化 (Histogram Equalization)
利用累积分布函数将图像对比度进行拉伸,使图像的灰度直方图分布更加均匀,增强面部细节的可见度。
单尺度/多尺度Retinex (SSR/MSR)
基于光照-反射模型,在对数域中减去通过高斯模糊估计出来的光照分量。多尺度Retinex(MSR)进一步通过对不同标准差(Sigma)的高斯核结果进行加权平均,平衡了动态范围压缩和色彩恒常性。
离散余弦变换归一化 (DCT Normalization)
将图像转换至频域,通过将代表全局光照的低频DCT系数直接归零,再进行逆变换,从而消除大面积的亮度不均。
自商图像 (Self-Quotient Image, SQI)
通过计算原始图像与自身高斯滤波版本之间的比例关系来抑制光照。该方法能够有效去除阴影,同时保留高频的纹理特征。
各向异性扩散 (Anisotropic Diffusion)
采用Perona-Malik扩散模型,通过四个方向的导数计算梯度。根据梯度值动态调整扩散系数,在平滑低对比度的光照背景时,保护高梯度的面部边缘不被模糊。
双边滤波归一化 (Bilateral Normalization)
利用双边滤波器结合空间邻近度和像素值相似度来估计光照层。通过图像除以估计的光照层,得到反射分量,能极大程度地在消除光照的同时保持面部轮廓。
小波近似归一化 (Wavelet-based Approximation)
利用均值滤波模拟小波分解中的低频近似,通过从原图中减去低频成分并增加固定偏移,实现对光照分量的抑制和人脸细节的增强。
信息熵评价 (Entropy Calculation)
通过统计图像像素频率分布,计算图像的信息熵。该指标反映了图像中所包含信息的丰富程度,是衡量光照归一化效果的重要参考。