人脸识别——2018华中赛数学建模总结整理


转眼已经大四了,加上也没什么课程,所以闲下来整理一下大学的一些比赛和项目的经历,希望能重新学习到一些东西,本篇主要是大二下劳动节的时候参加的18年数学建模华中赛,也是大学的第一个比赛,比较幸运的是拿到了一等奖,特此整理一下当时的思路和代码

题目:人脸识别

题目简介

2017年7月,国务院印发了《新一代人工智能发展规划》,欲创建规模达1万亿元的国内人工智能产业,到2030年使中国成为世界主要人工智能创新中心。教育部也推出了“中国高校人工智能人才国际培养计划”,拟在五年内培训顶尖高校至少500名教师和5000名学生。同时,教育部公布了全面的《高等学校人工智能创新行动计划》,培养人才以支持中国2030年人工智能目标。
什么是人工智能?简而言之就是,让机器人能够学习并模仿人类行为,甚至能够像人一样思考。人工智能机器人认识和接触这个世界最主要的途径是“看”和“听”,而第一步就是要让人工智能机器人能够“看”。特别地,人脸识别在人工智能中显得特别重要,机器人通过人脸识别技术认识周围的人,判断他们的心情,和人们面对面打交道。
人脸识别除了在人工智能中有不少应用之外,这项技术走进了我们的日常生活:美图秀秀等手机APP把人脸识别技术用于“一键美颜”;学校和公司逐步安装了人脸识别考勤机;警方在刑事侦查时,也经常采用人脸识别技术从海量信息中寻找犯罪嫌疑人;交互式机器人通过人脸识别技术判断用户的心情……

曾经神秘的人脸识别技术,由于越来越贴近生活,现在也变得平常起来。只要你有一台普普通通的电脑,学过一点编程知识,就可以DIY自己的人脸识别技术。大家是不是已经跃跃欲试了呢?嘿,别急,在DIY前先来看看“大牛们”用人脸识别干了些什么事。比如说有些手机,自拍时你能看到有一个小方框框住了你的脸,你一动,小方框也会跟着你动,在相册里,系统能够挑出照片里的各个人物,还能找到这个人物的其他照片。比如说“How-old.Net”这个APP,它能看脸猜年龄,曾经风靡了朋友圈。

好了,大家一定等不及想要DIY人脸识别技术了,在开始之前,先介绍一种常用的人脸识别方法:第一步,确定人脸的位置;第二步,对人脸做一些技术处理;第三步,提取人脸的细节特征。还有啊,图像处理这样的小伎俩我相信大家都没什么问题,那么,还废话什么,放手去做吧!
最后提醒大家:学习新知识是一件让人开心的事情,不要为了比赛能拿奖而用Photoshop等软件滥竽充数。我希望看到大家渴望知识的眼神,看到大家在DIY成功之后的欣喜笑容,或者是失败后默默钻研的认真态度。但绝不希望大家为了提交比赛论文而随随便便写一篇自己都不信的东西出来,尽管你提交论文了,但你失去的是了解新知识、挖掘自己潜力的机会!

请建立数学模型,解决下列三个问题:
(1)建立人脸位置判断的数学模型,判断人脸在照片中的大致位置,并在图1和图2中用你设计的模型“框出”人脸的大致位置。
(2)在问题(1)的基础上,建立人脸精确识别的数学模型,判断图2中各个人物的脸型、鼻型、眼型、唇形等。(提示:如果你在DIY过程中遇到了困难,不妨降低要求,比如说鼻型可以分为“大鼻子”和“小鼻子”。)
(3)在问题(2)的基础上,建立人脸匹配的数学模型,判断图2、图3中是否有人物与图1的人物是同一人,如果有,请在图片中框出具体是哪个人物与图1的人物一样。

附件:1. 附件_图1.jpg
2. 附件_图2.jpg
3. 附件_图3.jpg
由于原件比较大,就用截图代替吧:)

第一题思路

我们人类可以一眼看出RGB图像中人脸在图片的什么位置,但是计算机却不能准确判断,所以有没有一种色彩空间能让计算机通过像素值的大小判断出皮肤的位置呢?

答案是肯定的,这种色彩空间叫做YCbCr

我们根据RGB图像建立色彩空间YCbCr,为原始图像在该色彩空间中的肤色检测奠定基础。

根据网上查阅相关文献资料得出肤色的范围如下:

100=<cb<=127
138=<cr<=170

整体思路就是先通过RGB图像变换为YCbCr图像,然后根据通道范围的筛选出肤色区域,经过图像的腐蚀与去噪填充处理图像,形成二值图像,根据人脸的形态学特征删除不符合长宽比的区域最后定位到原图像,输出即可。

第二题思路

第二题要求是判断脸型如何,我们处理的思路是先检测出人脸的一些关键点,通过这些关键点的位置信息和比例来判断,并且通过搜集网上的一些实例图片来作为判断的依据。
第二题我是用C++做的,
主要做法是导入外部的库识别人脸的68个特征点,通过访问这68个特征点的位置坐标信息,判断出人的脸型和一些特征,期间用一些网上的典型实例做标准来确定(比如大眼睛小眼睛)的阈值进行判断,具体操作我在这里就不赘述了。

第三题思路

由于人脸图像的维度非常高,可以通过PCA变换,消除数据的相关性,找到一个空间,使得各个类别的数据在该空间上能够很好地分离。首先将训练样本在该空间进行投影,得到投影样本的特征系数,然后将测试样本也在该空间进行投影,得到每个测试样本的投影特征系数,此时只需将测试某个样本的特征系数与训练样本投影特征系数进行欧式距离度量,看要测试的那个样本与训练集中哪个样本的欧式距离最近,就可以将该测试样本归为与之距离最近那个样本的类别,即这两个样本是同一个人。

第一题结果

易烊千玺的检测效果
在这里插入图片描述
在这里插入图片描述

第二题结果

根据第一题分割出来的脸部区域,下面是对三个人的识别结果:
在这里插入图片描述

第三题结果

首先检查第二个图片中有没有易烊千玺
在这里插入图片描述
然后在第三张图片中检查
在这里插入图片描述

第一题代码

这里只贴出一张图片的代码,其他图片类似


                
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值