A Parametric Study of Deep Perceptual Model on Visible to Thermal Face Recognition阅读笔记

该文探讨了红外人脸识别技术,特别是在光照变化和隐私保护应用中的优势。研究聚焦于建立从可见光到红外光谱的非线性映射,采用DPM(深度预测模型)将可见光特征转换为类似红外的特征。实验使用了Nagoya University数据库,分析了特征提取方法、尺度影响以及戴眼镜情况对识别准确性的影响。SIFT特征在不同模态间的差异性和转换后的相似性被强调。
摘要由CSDN通过智能技术生成

发布于2018年。

1 动机

  • 照明/照明变化会导致显著的视觉外观变化,并在很大程度上降低人脸识别性能。而红外线面部不受光照的影响。这些特点使得红外人脸识别在夜间监控应用或需要隐私保护的门禁系统中具有很大的潜力。
  • 红外人脸识别的目标是通过寻找在可见光(通常是较高分辨率)中捕获的最相似的人脸图像来识别在红外光谱中捕获的人。是一个跨模态匹配问题,需要从红外光谱到可见光光谱的非线性映射,同时保持身份信息。
  • 红外图像可以根据探测到的波长进行分类。近红外(NIR)和SWIR(短波红外)是基于光反射的,它们的视觉外观类似于可见光图像。中波红外线(MWIR)和长波(LWIR)依赖于材料的发射率和温度,可见光谱和红外光谱之间的差距巨大。

2 DPM整体框架

在这里插入图片描述

  • DPM就是给两种模态找到合适的非线性映射。将VIS图像和LWIR图像输入到特征提取网络中,然后将VIS特征通过深度预测模型(DPM)转换成类似于LWIR图像的特征。
  • 数据处理(Feature Extraction)也是很关键的一步。这里使用了传统的图像特征提取手段SIFT。
    在这里插入图片描述
  • 提取出128维的SIFT特征,a和c的特征分布差距很大,这可以证明两个模态之间存在较大差异,而a特征经过DPM后,得到b特征,b和c的特征分布很相似。

3 实验

3.1 数据集

在这里插入图片描述

  • the Nagoya University(NU) database:一共180个日本人(169位男性和11位女性),其中每个人捕获5个热图像和可见图像。

3.2 测试

  • 将180个人分为两个部分,即160个人和20个人。第一部分中的160人平均分为16组,即每组10人。在这16个组中,选择了15个组来构建DPM。剩下的由10个人组成的组构成测试集。在测试集中另外加20个人的图像,以增加候选身份的数量,即增加噪音。
    在这里插入图片描述
  • DPM结构。
    在这里插入图片描述
  • 不同特征提取方法对DPM准确率的影响。
    在这里插入图片描述
  • 不同尺度的特征对DPM的影响。
    在这里插入图片描述
  • 不同训练集和测试集噪声对DPM的影响。
  • 在这里插入图片描述
  • (1)训练数据和测试数据都不包括戴眼镜的图像。 (2)训练数据不包括戴眼镜的图像,而测试数据包括戴眼镜的图像。 (3)训练数据和测试数据都包括戴眼镜的图像。
  • 热面部图像的强度对比度相对较弱,因此可以提取较弱的SIFT描述子。在这种情况下,眼镜通常会出现清晰的角或边界,并可能传达更多线索供我们进行识别。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Sure, here is the MATLAB code that implements the parametric bootstrap: ```matlab % Load forearm data load forearm % Define function that fits linear regression model and returns coefficient estimates fit_lm = @(x, y) [ones(size(x)), x] \ y; % Define number of bootstrap samples B = 1000; % Define empty arrays to store bootstrap estimates beta0_boot = zeros(B, 1); beta1_boot = zeros(B, 1); % Compute original coefficient estimates beta_orig = fit_lm(forearm(:, 1), forearm(:, 2)); % Compute standard deviation of residuals resid_std = std(forearm(:, 2) - beta_orig(1) - beta_orig(2) * forearm(:, 1)); % Perform bootstrap for i = 1:B % Generate bootstrap sample y_boot = beta_orig(1) + beta_orig(2) * forearm(:, 1) + randn(size(forearm(:, 1))) * resid_std; % Fit linear regression model to bootstrap sample beta_boot = fit_lm(forearm(:, 1), y_boot); % Store bootstrap estimates beta0_boot(i) = beta_boot(1); beta1_boot(i) = beta_boot(2); end % Compute bootstrap standard errors and bias beta0_se = std(beta0_boot); beta1_se = std(beta1_boot); beta0_bias = mean(beta0_boot) - beta_orig(1); beta1_bias = mean(beta1_boot) - beta_orig(2); % Display results disp(['Bootstrap standard error of intercept: ', num2str(beta0_se)]); disp(['Bootstrap standard error of slope: ', num2str(beta1_se)]); disp(['Bootstrap bias of intercept: ', num2str(beta0_bias)]); disp(['Bootstrap bias of slope: ', num2str(beta1_bias)]); ``` This code fits a linear regression model to the forearm data using the `fit_lm` function, which simply calls the backslash operator to perform the least squares optimization. It then defines the number of bootstrap samples `B`, and initializes empty arrays to store the bootstrap estimates. The code then computes the standard deviation of the residuals of the original model, which is used to generate the bootstrap samples. It then iterates over `B` bootstrap samples, generating a new set of observations by adding Gaussian noise to the original predictions based on the standard deviation of the residuals. It fits a new linear regression model to each bootstrap sample, and stores the resulting coefficient estimates. Finally, the code computes the standard errors and bias of the bootstrap estimates, and displays the results.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ma lidong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值