点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

面部识别是深度学习的蓬勃发展的应用。从电话到机场摄像头,无论是在商业上还是在研究领域,该行业都得到了迅速的普及。当我们将其与姿势估计相结合时,我们将获得非常强大的功能。

问题

由于人的脸部是立体对象,因此它可以在所有三个轴上旋转-当然有一些限制。在人脸姿势估计问题中,我们将这些运动称为侧倾,俯仰和偏航,如下图所示:

估计这些姿势对于活动检测系统非常有用。例如,它可能会要求用户执行一些预定义的随机运动(例如,“将您的脸向右旋转”)以检查其活动状况。

数据集

对于这个问题,我们创建了一个数据库,其中包含来自不同面部数据集的6,288张图像。对于每个图像,我们使用Dlib检测面部标志,并计算所有点之间的成对欧几里德距离。因此,给定68点,我们最终得到(68 * 67)/ 2 = 2,278个特征。每个面孔的侧倾,俯仰和偏航都由Amazon的Face Detection API标记。

训练模型

现在,可以训练我们的模型了。我们将Keras用于此步骤。在C ++应用程序中使用它。经过几次尝试,我最终得到以下配置:

强调一些有关我们的模型架构的细节:

1. 强大的正则化:由于我们具有许多功能,因此我的网络中很少提供正则化类型,以防止过度拟合和处理维数的限制。首先,所有层都具有L2正则化,因为我们不希望模型对某些功能过分注重视,尤其是在第一层中。另外,模型的架构本身是一种正则化。它遵循自动编码器的模式,其中每个层的神经元数量少于以前的数量,以“迫使”网络学习相关信息并忽略不相关的信息。

2. 我们本可以在第一层中使用L1正则化来迫使网络忽略不必要的功能(因为这种正则化往往会将与此类信息相关的权重设置为零)。但是,由于已经对网络进行了严格的规范化,因此在我们的测试中,L2正则化也略胜一筹。

结果

这是训练了100个时间段后的损失图表:

如图所示,在数据集上,我们的模型取得了不错的结果。该图还遵循训练深度学习模型时预期的模式。由于我们使用MSE作为损失函数,因此我们可以估计模型的误差为±6º。

在下图中,我们可以看到测试集中每个点的实际角度和预测角度之间的差异。我们可以看到,偏航是最容易预测的,其次分别是侧倾和俯仰。

下载1:OpenCV-Contrib扩展模块中文版教程

在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲

在「小白学视觉」公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲

在「小白学视觉」公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

深度学习的实时面部姿势估计研究相关推荐

  1. 深度学习在医学影像中的研究进展及发展趋势

    点击上方蓝字关注我们 深度学习在医学影像中的研究进展及发展趋势 王丽会1,2, 秦永彬1,2 1 贵州省智能医学影像分析与精准诊断重点实验室,贵州 贵阳 550025 2 贵州大学计算机科学与技术学院 ...

  2. 专访 TensorFlow 贡献者唐源:掌握 Google 深度学习框架的正确姿势

     专访 TensorFlow 贡献者唐源:掌握 Google 深度学习框架的正确姿势 TensorFlow 开源 数据科学 XGBoost Spark 阅读2704

  3. 深度学习中的内存管理问题研究综述

    点击上方蓝字关注我们 深度学习中的内存管理问题研究综述 马玮良1,2, 彭轩1,2, 熊倩1,2, 石宣化1,2, 金海1,2 1 华中科技大学计算机科学与技术学院,湖北 武汉 430074 2 华中 ...

  4. 【手写汉字识别】基于深度学习的脱机手写汉字识别技术研究

    写在前面 最近一段时间在为本科毕业设计做一些知识储备,方向与手写识别的系统设计相关,在看到一篇2019年题为<基于深度学习的脱机手写汉字识别技术研究>的工学硕士论文后,感觉收获比较大,准备 ...

  5. 无人驾驶汽车系统入门(二十六)——基于深度学习的实时激光雷达点云目标检测及ROS实现

    无人驾驶汽车系统入门(二十六)--基于深度学习的实时激光雷达点云目标检测及ROS实现 在前两篇文章中,我们使用PCL实现了在点云中对地面的过滤和点云的分割聚类,通常来说,在这两步以后我们将对分割出来的 ...

  6. 文献阅读笔记:基于深度学习的桥梁裂缝检测算法研究

    论文 | 基于深度学习的桥梁裂缝检测算法研究 作者 | 李良福.马卫飞.李 丽.陆 铖 期刊 | 自动化学报 时间 | 2019年9月 论文目的: 传统的图像处理算法不能很好地对桥梁裂缝进行检测 , ...

  7. 第五篇《深度学习在故障诊断领域中的研究现状与挑战》论文阅读笔记

    [1]任浩,屈剑锋,柴毅,唐秋,叶欣.深度学习在故障诊断领域中的研究现状与挑战[J].控制与决策,2017,32(08):1345-1358. 深度学习在故障诊断领域中的研究现状与挑战 一.文章本身 ...

  8. 深度学习的实时背景虚化

    基于深度学习的实时背景虚化解决方案需要多个步骤.这里我们提供一个使用 TensorFlow 和 OpenCV 的完整示例.为了简化问题,我们将使用 U-Net 进行图像分割.这个示例分为以下几个部分: ...

  9. 关于深度学习和遥感地物分类的研究

    对深度学习的理解: 深度学习是通过算法进行分类一般会执行以下三个过程:首先定义特征,然后建立分类规则,最后通过分类规则完成分类. 实际上,在以往的分类方法中或多或少会利用已经被人类知识预选过得&quo ...

最新文章

  1. [转]ASP.Net4.0中新增23项功能
  2. You are using pip version 8.1.1, however version 20.1.1 is available
  3. 【深度学习】深度学习模型中的信任危机及校正方法
  4. 【Linux】一步一步学Linux——compress命令(了解)(71)
  5. lnmp化境开启pathinfo,支持tp5.0等访问
  6. 1612D. X-Magic Pair
  7. 如何用append连接html文件,jquery append()怎么用?
  8. linux虚拟机调整分辨率
  9. 【组合数学】递推方程 ( 特特解示例 1 汉诺塔 完整求解过程 | 特解示例 2 特征根为 1 的情况下的特解处理 )
  10. java .jar下载_java jar包全集
  11. java社区团购微信小程序源码
  12. python读取txt数据
  13. hp DV4 声卡驱动 IDT声卡补丁1.1
  14. 工具系列——COMSOL Multiphysics 5.5安装教程
  15. 十五年学不会英语的原因
  16. MATLAB获取Excel指定行列数据及删除指定行数据
  17. 高等数学笔记:两个重要极限
  18. 国学经典大全android,国学经典大全
  19. 安徽专升本计算机专业基础柳青版课后习题答案
  20. Vue 项目中使用Lodop进行打印

热门文章

  1. ICML 2019接受论文:清华、北大领跑,谷歌强压枝头,BAT略显“低调”
  2. Python3破冰人工智能,你需要掌握一些数学方法
  3. AI时代,如何缓解CMO的决策焦虑?
  4. AI一分钟 | 贾跃亭这次真的没钱了,法拉第只够发到年底工资;自动驾驶风云:Uber竟被爆料收购窃取Waymo机密的公司
  5. AI一分钟 | 厉害了!BBC记者挑战中国天网工程,潜逃仅7分钟被抓;百度狂砸20亿,设国内最大规模的AI专项风投基金
  6. Spring Boot 最流行的 16 条实践解读,值得收藏!
  7. 如果再写for循环,我就锤自己!
  8. 开发者说:基于 Nacos 的网关灰度路由和服务权重灰度
  9. Openresty最佳案例 | 第3篇:Openresty的安装
  10. 手摸手教你数据可视化!(附实例讲解)