数学建模——判断照片中的人物是否佩戴眼镜

人脸识别技术是基于人的脸部特征,对输入的人脸图像或者视频流. 首先判断其是否存在人脸 , 如果存在人脸,则进一步的给出每个脸的位置、大小和各个主要面部器官的位置信息。并依据这些信息,进一步提取每个人脸中所蕴涵的身份特征,并将其与已知的人脸进行对比,从而识别每个人脸的身份。给定一些戴眼镜和不戴眼镜的照片,试建立合适的模型完成以下问题:

  1. 读取图像,选取适当的模型识别人类脸部特征,比如眼睛部位、嘴巴部位等(不要使用MATLAB中现成的工具包);
  2. 将所给文件中戴眼镜和不戴眼镜的前100个(A001-A100,B001-B100)作为测试样本,选取适当的特征建立数学模型,判断该照片中的人物是否配带眼镜,并对剩余的样本进行自动识别,给出识别结果及识别正确率。
  3. 建立数学模型,尝试对附件3戴眼镜正面人物图像,去掉其眼镜的正面人物图像,并选择至少5个附件1中的图像进行试验。
  4. 请考虑人脸识别在哪些领域有何种应用,比如在线人脸认证系统,交通肇事者人脸识别有哪些研究课题,尝试写一个研究课题的技术框架模型(不超过2页)

论文题目:基于ResnetGan的眼镜图片识别与消除

摘       要:

本文针对人脸识别佩戴眼镜的相关问题,主要采取基于Resnet和Gan模型,从而对人脸面部特征的读取及眼镜识别与消除,并对人脸识别技术在人脸认证领域进行课题研究与技术框架的展现。

问题1:本文对于图像处理中识别人类脸部特征,采用基于Haar特征Cascade级联分类器这一思路出发。采用其核心思想,对一个由大量戴眼镜与不戴眼镜的人像图片样本构成的训练集,基于Haar特征选取特征并运用到训练集图片中,结合Cascade分类器,由最初Haar特征的弱分类器不断调整权重值,进行误差值对比并选出分类最好的阈值,以此构造强分类器。将特征分成不同的阶段,各阶段应用特征直至所有阶段的检测通过,获取人像特征区域并对特征器官进行矩形拟合,最终完成人体脸部特征提取。

问题2:本文对于人类脸部是否戴眼镜的判断这一问题,采用深度残差网络模型进行求解。本文基于传统的Resnet网络模型,将网络模型中残差块的基础卷积替换为空洞卷积,提取佩戴眼镜的人像图片更多的细节特征来实现算法高精度,构造改进的Resnet34网络模型。通过所给文件中戴眼镜和不戴眼镜的前100个作为训练样本,采用缩放裁剪、水平翻转等方式对图像数据增加,最后将其余样本代入进行仿真实验。最终实验结果,不戴眼镜的辨识准确率达97.8%,戴眼镜的辨识准确率达98.1%。

问题3:本文基于生成对抗网络(DA-GAN)先对样本的面部进行预测后,构建肖像眼镜移除网络模型,对人像进行眼镜及投射阴影的移除处理。本文在传统的掩码预测阶段采用多步设置的基础上进一步创新,选择先利用De-Shadow Net对眼镜所投射的阴影进行移除处理后,再利用De-Glass网络对眼镜进行移除处理,以此实现眼镜的消除。

问题4:本文针对人脸认证邻域的课题研究技术的核心思想为:用yolov5模型训练celerba数据集训练出目标检测模型,再通过tensort框架优化yolo网络,在推理阶段到定位目标区域结果的基础上加速其推理过程,tensort硬件能加速实现实时的人脸识别,从而完成对人像区域的自动检测。

关键词:Haar特征;Cascade级联;Resnet网络模型;生成对抗网络;眼镜识别与消除;

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
这是一个比较复杂的问题,需要使用图像处理的知识和技术。一般来说,可以使用以下步骤来去除图像人物佩戴的眼睛: 1. 读入图像并转换为灰度图像。 2. 使用Haar级联检测器(或其他人脸检测算法)检测图像的人脸。 3. 对于每个检测到的人脸,使用Haar级联检测器(或其他眼睛检测算法)检测其的眼睛。 4. 对于检测到的每个眼睛,使用图像修复算法(如基于纹理合成的算法)将其从原始图像删除。 5. 输出去除眼睛的图像。 下面是一个可能的MATLAB实现代码: ```matlab % 读入图像 img = imread('input.jpg'); % 转换为灰度图像 gray_img = rgb2gray(img); % 加载Haar级联检测器 faceDetector = vision.CascadeObjectDetector(); eyeDetector = vision.CascadeObjectDetector('EyePairSmall'); % 检测人脸和眼睛 faces = faceDetector(gray_img); for i = 1:size(faces,1) roi = faces(i,:); eyes = eyeDetector(gray_img(roi(2):roi(2)+roi(4), roi(1):roi(1)+roi(3))); for j = 1:size(eyes,1) eye_roi = eyes(j,:); % 基于纹理合成的算法 % ... % 将眼睛从原始图像删除 img(roi(2)+eye_roi(2):roi(2)+eye_roi(2)+eye_roi(4), roi(1)+eye_roi(1):roi(1)+eye_roi(1)+eye_roi(3), :) = 0; end end % 输出去除眼睛的图像 imwrite(img, 'output.jpg'); ``` 请注意,这只是一个简单的示例代码,具体实现方法可能因数据集、算法和实现细节而异。此外,这种方法可能不完全准确,可能会删除一些不是眼睛的区域。因此,需要根据实际情况进行调整和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值