当前位置: 首页 > news >正文

嵌入式人工智能应用-第6章 人脸检测

嵌入式人工智能应用

人脸检测

  • 嵌入式人工智能应用
  • 1 人脸检测
    • 1.1 CNN 介绍
    • 1.2 人脸检测原理
    • 1.3 MTCNN介绍
    • 1.4 NCNN介绍
    • 2 系统安装
    • 2.1 安装依赖库NCNN
    • 2.2 运行对应的库
  • 3 总结

1 人脸检测

1.1 CNN 介绍

卷积神经网络。卷积是什么意思呢?从数学上说,卷积是一种运算。它是我们学习高等数学之后新接触的一种运算。在泛函分析中,卷积、旋积或摺积(英语:Convolution)是通过两个函数 f 和 g 生成第三个函数的一种数学算子,表征函数 f 与 g 经过翻转和平移的重叠部分函数值乘积对重叠长度的积分。

卷积神经网络听起来像是一个奇怪的生物学和数学的结合,但是这些网络已经成为计算机视觉领域最具影响力的创新之一。2012 年是神奇网络成长的第一年,Alex Krizhevsky 用它们赢得了当年的 ImageNet竞赛(基本上是计算机视觉年度奥运会),把分类错误记录从 26%降到了 15%,这个惊人的提高从那以后,许多公司一直在以服务为核心进行深度学习。Facebook 使用自动标记算法的神经网络,谷歌的照片搜索,亚马逊的产品推荐,Pinterest 的家庭饲料个性化和 Instagram 的搜索基础设施。

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。

1.2 人脸检测原理

人脸检测的目标是找出图像中所有的人脸对应的位置,算法的输出是人脸外接矩形在图像中的坐标,可能还包括姿态如倾斜角度等信息。虽然人脸的结构是确定的,由眉毛、眼睛、鼻子和嘴等部位组成,近似是一个刚体,但由于姿态和表情的变化,不同人的外观差异,光照,遮挡的影响,准确的检测处于各种条件下的人脸是一件相对困难的事情。

简单叙述,人脸检测的难点在于:人脸可能出现在图像中的任何一个位置;人脸可能有不同的大小;人脸在图像中可能有不同的视角和姿态;人脸可能部分被遮挡。由于人脸可能出现在图像的任何位置,在检测时用固定大小的窗口对图像从上到下、从左到右扫描,判断窗口里的子图像是否为人脸,这称为滑动窗口技术(sliding window)。为了检测不同大小的人脸,还需要对图像进行放大或者缩小构造图像金字塔,对每张缩放后的图像都用上面的方法进行扫描。由于采用了滑动窗口扫描技术,并且要对图像进行反复缩放然后扫描,因此整个检测过程会非常耗时。

人脸检测是计算机视觉领域被深入研究的经典问题,在安防监控、人证比对、人机交互等领域都有重要的应用价值。数码相机、智能手机等端上的设备已经大量使用人脸检测技术实现成像时对人脸的对焦、图集整理分类等功能,各种虚拟美颜相机也需要人脸检测技术定位人脸,然后才能根据人脸对齐的技术确定人脸皮肤、五官的范围然后进行美颜。在人脸识别的流程中,人脸检测是整个人脸识别算法的第一步。

1.3 MTCNN介绍

MTCNN,Multi-task convolutional neural n

相关文章:

  • 华为鸿蒙系统全景解读:从内核设计到生态落地的技术革命
  • Java中的栈的实现
  • css 文本属性-第五章
  • 利用Deepseek+即梦,3分钟做出疗愈风禅意小院视频(含sop)
  • 网站应用-电脑PC微信快速登录-微信开发平台
  • 在Uniapp中实现特殊字符弹出框并插入输入框
  • 第本章:go 切片
  • win11 Visual Studio 17 2022源码编译 opencv4.11.0 + cuda12.6.3 启用GPU加速
  • Java链接redis
  • react 和 react-dom
  • VUE3项目的文档结构分析
  • JVM、JDK、JRE三者的关系
  • 【linux网络编程】字节序
  • 第七章 二叉树
  • 生成式AI系列(二) LLM生成质量改善的方法——RAG检索增强生成
  • Python评估网络脆弱性
  • Redis常问八股(一)
  • Java网络编程,多线程,IO流综合项目一一ChatBoxes
  • 初识Qt · 信号与槽 · 自定义和参数
  • 【轻松学C:编程小白的大冒险】---变量的定义、声明与应用场景 06
  • 有免费网站服务器吗/seo云优化如何
  • wordpress本站运行/网络营销策划书3000字
  • 成都工商注册官方网/seo刷关键词排名优化
  • 黑客入侵网站怎么做/推广网络广告
  • 做网站都有什么功能/设计模板网站
  • 赤峰市做网站建设的公司/百度推广工作怎么样