最新要闻
- 天天动态:科学家都惊到的减肥药出现了!每周一针 有人减掉近一半体重
- 安全专家发现汽车漏洞 几乎全球所有汽车品牌均中招
- 仅175克重!夏普发布2K 120Hz头戴显示器
- 世界球精选!迪士尼玲娜贝儿头部被男子拍打 专家科普:内有钢架 可能造成脑震荡
- 【全球新要闻】突破3200万!Steam同时在线再创新高
- 尹烨:俞敏洪是中国男人应该有的样子 你怎么看?
- 【天天速看料】女子吐槽小区新能源车主将充电枪提前锁车内 电价便宜再充
- 迈出国门!国产科幻《流浪地球2》确定将在新西兰等地上映
- 今日热门!特斯拉降价车主组团维权:维权没结果 又被收了7块停车费
- 天天动态:著名配音艺术家苏秀去世 享年97岁:曾为上影动画《天书奇谭》配音
- 天天播报:苹果MFi认证 iPhone快充线23.9元:自动匹配iOS版本 不弹窗
- 手慢真的无了!杰士邦镇店之宝大促:原价169.9元券后19.9
- 【当前热闻】男子新买百万奔驰被朋友借走撞烂:保险拒赔!最终结局意外
- 江西南昌县发生重大交通事故 造成17人死亡22人受伤
- 【环球新视野】特斯拉车价降至史上最低!才开30公里车主委屈:销售催提车
- 每日视点!成都车主“0元购”引热议 此前还有维权车主要平分特斯拉股权
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
今日播报!基于卷积神经网络的人脸表情识别应用--AR川剧变脸(一)
1、摘要
本项目将在Android上实现一种通过识别表情类别,从而给人脸戴上不同样式脸谱的AR软件,效果如下:
通过深度学习和Keras训练一个人脸表情识别的卷积神经网络,然后使用TensorFlow Lite转换为tflite文件,部署到Android平台。
想要实现这样一个软件,核心就是两部分:1)使用卷积神经网络训练一个人脸表情识别模型,2)将训练好的模型移植到Android平台,同时在Android实现脸谱AR效果,并结合表情识别模型的识别结果,渲染不同的脸谱样式
(资料图)
本文讲第一部分,如何使用Keras训练一个人脸表情识别的卷积神经网络。
第二部分见:基于卷积神经网络的人脸表情识别应用--AR川剧变脸(二)
2、数据集处理
数据集我们使用FER2013PLUS人脸表情识别数据集,大概有35000张图片,每张图片是48*48分辨率的灰度图。
下图展示7个表情类别的数据集样本量,可以看出类别 angry、happy、sad、surprised、normal 这 5 种表情数量较多,而 disgust、fear这 2 种表情较少。
在实验中为了防止出现过拟合现象需要进行数据集扩充,提高模型的泛化能力。数据增强是指对输入的图像进行随机的图像处理,比如旋转、位移、光照强度、裁剪等,对于计算机而言,经过位移后的图像和原图像是两幅不同的图像,但具有相同的标签,从而扩充了已有的数据集。而通过使用大量不同的数据集来训练网络,进一步提高深度模型的泛化能力,使得网络即不过拟合也不欠拟合,达到最佳状态。
模型的实际使用常见是自由场景,自由场景中光照亮度的不同会影响模型的性能,添加随机光照,同时为了扩充数据集和对非正常角度人脸的识别增加随机旋转、随机聚焦和水平翻转。下图 展示对一张 48*48 尺寸,表情为 happy 的灰度图进行随机亮度、随机旋转、随机聚焦和随机水平翻转的效果。可以看出,小型数据集借此技术可以实现数十倍的规模扩充,而数据集规模的提升可以提升网络的泛化能力和鲁棒性,提高网络在场景下的识别准确率。
在Keras中,我们需要使用数据加载器加载数据,最大化硬件利用率,幸运的是Keras已经提供了方法,我们直接使用即可:
def getDenerator(fer2013plus_path="datasets/fer2013plus", batch_size=32): """我们传递数据集的位置和batch_size,然后函数返回用于训练和测试的数据加载器,用于训练时投喂数据 :param fer2013plus_path:fer2013plus数据集目录 :param batch_size: :return: """ train_datagen = ImageDataGenerator( # 定义数据增强的方式 brightness_range=(0.7, 1.3), # 随机亮度 featurewise_center=False, featurewise_std_normalization=False, rotation_range=10, # 随机旋转 zoom_range=(0.7, 1.3), # 聚焦 horizontal_flip=True) # 水平翻转 train_generator = train_datagen.flow_from_directory(fer2013plus_path+"/train", # 告诉Keras图片的位置 target_size=(48, 48),# 将图片缩放到指定大小 color_mode="grayscale",# 因为是灰度图 batch_size=batch_size,# 一次性加载多少图片,越大训练越快,但是需要更多的显存 class_mode="categorical") test_datagen = ImageDataGenerator() # 水平翻转 test_generator = test_datagen.flow_from_directory(fer2013plus_path+"/test", target_size=(48, 48), color_mode="grayscale", batch_size=batch_size, class_mode="categorical") return train_generator,test_generator
3、模型设计
模型设计参考VGG网络,也就是Conv+Conv+Pool式的堆叠。
如下图是VGG的结构,可以看出就是Conv+Conv+Pool式的堆叠,最后使用全连接层,实现1000类别的分类。但是我们人脸表情识别数据集比较小,仅有3万多张图片,模型太大容易过拟合,所以以VGGNet为蓝本,设计一个比较小的模型,如下图所示,也是conv+conv+pool式,但是更小。
因为我们的表情是7中分类,所以输出的全连接层长度是7。
在Keras中定义模型结构其实而很简单,代码如下:
def getVXSlim(): model = Sequential() # block1 model.add(Conv2D(64, (5, 5), input_shape=(48, 48, 1), activation="relu", padding="same")) model.add(Conv2D(64, (5, 5), activation="relu", padding="same")) model.add(BatchNormalization()) model.add(MaxPooling2D(pool_size=(2, 2))) # block2 model.add(Conv2D(128, (5, 5), activation="relu", padding="same")) model.add(Conv2D(128, (5, 5), activation="relu", padding="same")) model.add(BatchNormalization()) model.add(MaxPooling2D(pool_size=(2, 2))) # block3 model.add(Conv2D(256, (3, 3), activation="relu", padding="same")) model.add(Conv2D(256, (3, 3), activation="relu", padding="same")) model.add(BatchNormalization()) model.add(MaxPooling2D(pool_size=(2, 2))) # single conv model.add(Conv2D(64, (3, 3), padding="same")) # classifier model.add(Flatten())# 将多维的数据展成一列,可以理解为将图像展开成一列 model.add(Dense(7))# 堆叠一个全连接层,长度为7 model.add(BatchNormalization()) model.add(Dense(7))# 堆叠一个全连接层,长度为7 # config model.add(Activation("softmax"))# 最后使用softmax激活函数,将输出转换为概率 model.compile(loss="categorical_crossentropy", metrics=["accuracy"], optimizer="adam") # 定义优化器 return model
在上面的代码中使用了Conv2D、BatchNormalization、MaxPooling2D、Dense:
- Conv2D:提取特征,将图像分解为多个特征的组合
- BatchNormalization:将数据的分布变换为正态分布,再映射到其他分布,可以加快模型的训练速度
- MaxPooling2D:可以缩减图像的尺寸
- Dense:全连接层,用于综合所有特征进行判断类别
4、训练
其实到这里,最重要的数据加载和模型定义就写好了,就可以开始训练了。训练了100个轮次,然后开始训练。从图中可以看到,训练集精度和损失在 45epoch 左右进入缓慢优化阶段,在 70epoch左右趋于稳定。测试集精度和损失在 45epoch 左右趋于稳定,最终测试集精度达到 83%,损失低于 0.3,取得了较好的表情识别效果。
都说深度学习是黑盒,我们来看看训练出来的模型的可视化效果。在可视化中间输出部分,通过卷积网络的每层都会输出结果,通过将结果可视化可以看到输入图片在网络中的流动形式,在这里展示第 3 层的 max_pooling2d、第 4 层的conv2d_2 和第 8 层的 conv2d_4 的输出结果。在图 中可以看出,在开始阶段实际上是各种边缘检测器的集合,在这一阶段,激活几乎保留了输入图像中所有的信息。在第二幅中,虽然仍有边缘检测的痕迹,但是此时更加像是对某些局部部位的特征检测,随着层数的加深,中间激活的结果变得越来越抽象,也更加难以直观地理解。在第三层中几乎无法和原图联系起来。所以抽象是卷积神经网络的一大能力,而这种能力也正是人类所拥有的。
我们将本文设计的模型和VGG9,以及mini_Xception进行对比:从图中可以看出,本文的VXSlim网络的验证集精度最高,达到了 83%,VGG9 达到了 82%,mini_Xception 最低,只有79%
那么本文的模型在7种表情类别上的效果如何?可以看到最好的是开心类别,正确率达到了91%!
我们把每一个类的正确识别率用曲线表示,可以看到本文设计的模型在7种类别上的正确率都是最高的,很nice!
5、效果展示
通过摄像头进行表情识别效果展示
代码资源:链接:https://pan.baidu.com/s/1Y0xWDmz_lg04PTiukoBVgQ?pwd=ozn5提取码:ozn5
-
环球快看:学习笔记——在IDEA中创建Maven工程之HelloWord;Maven中常见的问题;Maven核心概念之POM、生命周期、插件和目标
2023-01-08一、在IDEA中创建Maven工程之HelloWord(1)新建一个Maven工程最后点击“finish”,完成项目...
来源: 今日播报!基于卷积神经网络的人脸表情识别应用--AR川剧变脸(一)
Python中 re.compile 函数的使用
环球快看:学习笔记——在IDEA中创建Maven工程之HelloWord;Maven中常见的问题;Maven核心概念之POM、生命周期、插件和目标
天天动态:科学家都惊到的减肥药出现了!每周一针 有人减掉近一半体重
安全专家发现汽车漏洞 几乎全球所有汽车品牌均中招
仅175克重!夏普发布2K 120Hz头戴显示器
世界球精选!迪士尼玲娜贝儿头部被男子拍打 专家科普:内有钢架 可能造成脑震荡
最新消息:MySQL——锁
【全球新要闻】突破3200万!Steam同时在线再创新高
尹烨:俞敏洪是中国男人应该有的样子 你怎么看?
【天天速看料】女子吐槽小区新能源车主将充电枪提前锁车内 电价便宜再充
迈出国门!国产科幻《流浪地球2》确定将在新西兰等地上映
今日热门!特斯拉降价车主组团维权:维权没结果 又被收了7块停车费
每日视点!简单的24点小游戏
最资讯丨Java Netty框架自建DNS代理服务器教程
天天动态:著名配音艺术家苏秀去世 享年97岁:曾为上影动画《天书奇谭》配音
天天播报:苹果MFi认证 iPhone快充线23.9元:自动匹配iOS版本 不弹窗
手慢真的无了!杰士邦镇店之宝大促:原价169.9元券后19.9
天天快看点丨学习笔记——Maven的基本配置、Maven基本使用、将Maven整合到IDEA中
LeetCode 887. 鸡蛋掉落-题解分析
【当前热闻】男子新买百万奔驰被朋友借走撞烂:保险拒赔!最终结局意外
江西南昌县发生重大交通事故 造成17人死亡22人受伤
【环球新视野】特斯拉车价降至史上最低!才开30公里车主委屈:销售催提车
热讯:java多线程知识点总结
今日热门![Docker] 将容器打包成镜像、镜像分层机制详解
每日视点!成都车主“0元购”引热议 此前还有维权车主要平分特斯拉股权
环球速看:学习笔记——Maven
最资讯丨国产特斯拉大降价后车主维权 能拿到四项补偿?回应来了
电动救生圈亮相CES:时速15公里 续航6公里
《三体》动画播放量破3亿!豆瓣跌破5分 差评率高达83%
环球百事通!8K电视凉了?CES 2023新品少的可怜:销量份额0.15%不忍直视
实时焦点:安卓刷机时代落幕!开源ROM魔趣创始人宣布删库跑路
两款40系新卡RTX 4070/4060 Ti来了:没有最便宜 只有更便宜!
红到冒泡的《鹅鸭杀》 我玩起来是一点兴趣都没有
上次还是旧石器时代!5万年一遇彗星将造访地球:肉眼或可见
最新:使用KVM克隆用于Oracle DB的主机
腾讯推出“游戏锁”功能:再也不怕《王者荣耀》号被盗了
【世界快播报】AMD、NVIDIA显卡越来越贵 Intel成了救星:2000元档唯一新卡
5199元起 红魔8 Pro+明天开卖:无刘海无挖孔 观感明显好于iPhone 14 Pro
焦点速讯:AcWing395. 冗余路径
播报:在linux中通过虚拟机转发流量访问内网
每日热闻!分享2023年最新的15种JavaScript 速记技巧 【终极秘籍】
世界观点:express实现批量删除和分页
天天观点:Docker-Compose容器编排
Linux笔记03: Linux常用命令_3.4文件和目录共用命令
Python+matplotlib实现折线图的美化
当前快讯:vue-router的使用
全球最资讯丨Unity初始界面设计与人物移动代码
学习笔记——书城项目之“我的订单”功能
环球百事通!一些学习编程的优质网站
学习笔记——书城项目第六阶段之去结账功能的准备工作、去结账功能的实现
【环球快播报】“爱妻”来了!理想L7的二排空间有多大?史无前例的“皇后座”感受下
精彩看点:Docker轻量级可视化工具Portainer
热点评![概率论与数理统计]笔记:2.5 随机变量函数的分布
全球简讯:express学会CRUD
当前速递!影像机皇预定!小米13 Ultra堆料惊人:四颗5000万像素主摄
今日报丨B站地区限制破解方法
【环球报资讯】日本60岁宅男看动漫被打断对父母下狠手 啃老30年:网友吐槽二次元危害大
Spring IOC官方文档学习笔记(七)之Bean Definition继承
焦点快报!丙种球蛋白被炒到上万元 真的需要囤一点吗?
20款理想ONE新功能上线:支持3.5kW外放电、配套设备仅2999元
当前快讯:一种inlineHook检测方案
今日快讯:拖死锤子 罗永浩回应遭郑刚炮轰获圈内人士力挺:喜欢乱搞小三关系
国产屏真香!苹果也喜欢:iPhone 15/15 Plus要用京东方屏
一加11砍掉8GB丐版!员工:一加用户都喜欢大内存版本
HTML超文本标记语言1
环球快资讯丨复刻iPhone 14 Pro!乐视手机S1 Pro入网:搭载国产芯 这真不卡
世界速读:Mini LED屏加入高端笔记本阵营!硬刚OLED
环球观焦点:NOI2003 文本编辑器 题解
世界热讯:特斯拉股东要求董事会做好接班准备:以防失去马斯克
全球观察:投资人郑刚炮轰罗永浩拖死了锤子 罗永浩回应:严重失实
能流畅用4年不卡的骁龙8系手机来了!一加11下周首销:3999元
热讯:老雷筹拍《角斗士2》
靳东宋佳主演电视剧《纵有疾风起》热播:moto razr折叠屏抢镜
即时:普及150W秒充 真我GT Neo3手机12GB大内存版直降600元
天天速看:女子表白领导被拒后每天在公司摸鱼 还免被裁引热议:网友吐槽道德绑架
[Docker]使用Docker开启一个MariaDB服务并在宿主机里访问服务
当前速读:小鹏P7喜提开年首次OTA:新增“神仙级”NGP车道定位功能
极其反常!欧洲多国冬天像夏天:多处滑雪胜地闹雪荒
专业鼻腔护理 海元素生理性盐水鼻腔喷雾器60ml 12.23元包邮
特斯拉再降价!Model3创历史新低:你还等“Model 2”吗?
专家建议不要生吃可生食鸡蛋:有健康风险
全球微资讯!以小见大:由低代码的发展,窥企业数智化转型之路
关注:阿凡达2回本!卡梅隆确认拍续集:剧透《阿凡达3/4/5》剧情/进度
【天天报资讯】e平台3.0首车 比亚迪海豚12月热销2.6万:本田飞度彻底被打趴
最新消息:投资人郑刚炮轰罗永浩:拖死锤子、不懂感恩,将联合发起回购
宝岛眼镜旗舰店抄底:镜框+防蓝光近视镜片99元包邮
开五天 一天降一万老车主泪奔维权!特斯拉国产车降价为冲量 拒绝补偿
当前快讯:全球变暖加剧:专家称本世纪末全球三分之二冰川或消失
全球简讯:21岁网红庄慕卿车祸身亡 逆向行驶还翘头致两车相撞4人遇难:网友称禁止摩托车
环球微速讯:Codeforces Round #842 (Div. 2) A-E
焦点速读:使用KVM创建OEL虚拟机
别只用来发电了 太阳能制氢突破!10倍效率 成本还更低
全球即时看!全球首个全功能无线底座问世:干掉线缆 满足4K/60Hz带宽
今头条!豆瓣9.6分 《中国奇谭》凭什么让国漫再次封神?
全球要闻:Intel Arc A750显卡深入测试:性能RTX 3060、功耗RTX 3070
今日快讯:内网渗透-PTH&PTK&PTT哈希票据传递
天天微速讯:官方批准ARJ21国产客机改货机!最大运力10吨
天天微资讯!3.2K/165hz屏!联想第四代ThinkBook 16P发布: 配独特触点接口
每日速讯:汤姆·汉克斯谈好莱坞裙带关系:本就是家族产业