title: Android实现人脸识别(人脸检测)初识
categories:

  • Android
    tags:
  • 人脸识别
  • 人脸检测
  • 相机处理
    date: 2020-05-21 11:35:51

介绍

本篇文章主要介绍一下移动端Android的人脸识别大致逻辑,后续文章会陆续放出干货,首先我们要明确两个名词

  1. 人脸检测,即从一张照片中或者一个相机中,检测有没有人脸的出现,
  2. 人脸识别,相对人脸检测来说可以识别出照片或者视频中的人脸位置,人脸特征,即常用的识别例如,门禁人脸识别对比,年龄识别,性别识别,活体检测,

可以说在现在计算机视觉应用中,人脸识别尤为关键,我们可以想象到常见的美颜相机,就是人脸识别为基础,以及人脸特效啥的(某音常见的)

那么我们Android怎么实现自己的人脸识别呢

目前有几个比较成熟的技术,

  1. camera原生api(已过时不推荐)
  2. camera2 + FaceDetector(后面会详细说)
  3. opencv(笔主采用的4.3.0版本)
  4. ARCore(Google service)

关键知识点

若要知道人脸识别,图像的处理是必不可少的,那么相机等格式也是需要了解,其中有几个关键点的知识需要有所了解

  1. nv21,YUV420这些原始数据格式(大致了解会用即可)
  2. Bitmap(bitmap type 格式RGB 565,RGB4444等,大致了解即可)
  3. 灰度化,二值化
    图像的二值化是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果。
    将256个亮度等级的灰度图像通过适当的阀值选取而获得仍然可以反映图像整体和局部特征的二值化图像。在数字图像处理中,二值图像占有非常重要的地位,
    首先,图像的二值化有利于图像的进一步处理,使图像变得简单,而且数据量减小,能凸显出感兴趣的目标的轮廓。其次,要进行二值图像的处理与分析,首先要把灰度图像二值化,得到二值化图像。
     所有灰度大于或等于阀值的像素被判定为属于特定物体,其灰度值为255表示,否则这些像素点被排除在物体区域以外,灰度值为0,表示背景或者例外的物体区域
    而人脸的特征,大家都懂,一个鼻子两个眼,一张嘴2个耳朵,这些都是不同技术共同点,都是靠特征点去比对,然后检测人脸
    (感兴趣的可以继续了解图像二值化后,图像加减法,色彩调节等,迷宫算法,等还挺有意思的)

关于这些知识点,Android老鸟基本都了解,那么对后面的操作就比较简单了,

-----知道这些那么针对你的需求可以继续了

技术对比

如果你需要的是只需要测出人脸,屏幕中出现人脸的个数等,而不需要关注人脸的其余信息,只需要知道人脸出现在了镜头中,ok
那么你就可以方法二,faceDetector,该技术的特征模型,是检测眼睛,双目间距,眉眼特征来的,理论来讲只需要知道双眼坐标,
就可以知道,你相对镜头的角度,人脸的大致位置,眉心中心点,等,(这种方法的好处是,比如说现在疫情,戴口罩,ok,没问题,你带口罩我也能认出你来)

如果说你需要做比较详细的人脸信息,可以采用opencv来比较灵活,图像处理后,可以配合多种算法,各种成熟的模型,来做人脸识别,说白了就是对图像处理后,拿到数据,爱用什么算法算就用什么算,
爱用什么模型匹配,用什么模型匹配,对接起来比较简单,要精确可以简单的提升精确度,当然,模型不同原理也不同比较常用就haar lbp等分类器

当然项目的体积也会增加较多
好了,这篇文章先写这么多,后续补充,
后面陆续补全,方法二和方法三的具体实现,
至于方法四,后面也会有demo和解读,,,比较厉害的一个东西

博客Android实现人脸识别(人脸检测)初识

Android实现人脸识别(人脸检测)初识相关推荐

  1. 百度AI人脸识别与检测二:学生人脸识别打卡签到系统主界面功能需求和设计以及通过Python实现界面运行

    <百度AI人脸识别与检测>专栏为项目专栏,从零到一,从无到有开发一个学生人脸识别签到系统:主要用到的技术有百度开放平台中的人脸检测.人脸识别.Python图形界面开发PyQt5.线程的管理 ...

  2. ubuntu下用Qt实现人脸识别之检测人脸并绘制人脸框(三)

    ubuntu下用Qt实现人脸识别之检测人脸并绘制人脸框(三) 要检测出人脸并且还要识别出这个人是谁,就得用到人脸算法,这个算法如果你足够牛X的话可以自己写出来,当然,如果像我一样是个小菜鸟的话就得领悟 ...

  3. 人脸识别活体检测之张张嘴和眨眨眼

    暑 [这段时间有点忙,终于截止今天2018.06.22完成了人脸识别的最后一道程序--活体检测之眨眨眼和张张嘴] 关于人脸识别的内容我之前也写过好几篇博文,其中有:  {java实现人脸识别源码}  ...

  4. 【优秀课设】基于OpenCV的Python人脸识别、检测、框选(遍历目录下所有照片依次识别 视频随时标注)

    基于OpenCV的Python人脸识别.检测.框选 (遍历目录下所有照片依次识别 视频随时标注) 移步: https://blog.csdn.net/weixin_53403301/article/d ...

  5. 购买人脸识别体温检测系统的必要性

    针对目前疫情的爆发,在疫情还在蔓延的当下关头,有必要把关于人脸识别体温检测系统的一系列问题都弄明白,帮助各地在接下来不得不面对的返乡客流高峰,以及面对未来任何时间点都可能掀起的疾控保卫战时,提供一些有 ...

  6. 人脸识别微笑检测(基于卷积神经网络CNN)

    目录 一.卷积神经网络概述 二.图片预处理 三.划分数据集 四.CNN提取人脸识别笑脸和非笑脸 参考资料 一.卷积神经网络概述 卷积神经网络(Convolutional Neural Networks ...

  7. 树莓派人脸识别_童话树莓派|(十一)进入AI世界人脸识别(防疫检测)

    童话树莓派 第十一集-进入AI世界-人脸识别(防疫检测) [人脸识别+口罩检测] 小朋友们,很快又见面了 今天我们继续进入AI人工智能世界,探寻人脸识别的奥秘 你看起来多少岁呢? 你看起来是男的还是女 ...

  8. 坏了,人脸识别能检测出同性恋?

     人脸识别不光能解锁手机,抓逃犯-它还可能检测你是直男还是 Gay? 也许你已经听过了这一消息.去年,斯坦福大学组织助理教授 Michael  Kosinki 和同事 Yilun Wang 在一篇 ...

  9. 百度AI人脸识别与检测一:学生人脸识别签到系统简介及百度AI开放平台账号注册和人脸实例应用创建

    <百度AI人脸识别与检测>专栏为项目专栏,从零到一,从无到有开发一个学生人脸识别签到系统:主要用到的技术有百度开放平台中的人脸检测.人脸识别.Python图形界面开发PyQt5.线程的管理 ...

  10. CV之FR之MTCNN:基于TF框架利用MTCNN算法检测并对齐人脸图像进(人脸识别/人脸相似度)而得出人脸特征向量从而计算两张人脸图片距离案例应用之详细攻略

    CV之FR之MTCNN:基于TF框架利用MTCNN算法检测并对齐人脸图像进(人脸识别/人脸相似度)而得出人脸特征向量从而计算两张人脸图片距离案例应用之详细攻略 目录 基于TF框架利用MTCNN算法检测 ...

最新文章

  1. 机洗内裤容易得暗病?这个锅我们袜子不背!
  2. 万字长文爆肝Python基础入门【巨详细,一学就会】
  3. CentOS7 redis-3.2.8 从单机到主从再到集群配置
  4. Java数据结构和算法(十)——二叉树
  5. Ubuntu18.04 CUDA与cudnn安装
  6. 【随】WCF传输大数据的设置
  7. LeetCode 823. 带因子的二叉树(动态规划)
  8. 帅到掉喳的十句美国俚语
  9. PHP cURL 函数
  10. Cesium获取经度 ,纬度,高度
  11. Python使用多线程搜索指定范围内的所有素数
  12. 【报告分享】2021新中产人群洞察报告.pdf(附下载链接)
  13. 图像色彩空间之RGB与HSI
  14. OFFICE Excel表格中常用的vba代码集锦
  15. idea使用svn下载项目并配置项目
  16. android+ios打印机,Android/iOS手机安装HP打印机的详细方法和操作步骤
  17. 浏览器播放m3u8文件
  18. [模拟] aw3758. 距离零点的时刻(模拟+aw周赛007_1)
  19. 硬科技驱动西咸新区发展新引擎
  20. 数据结构及算法之异或

热门文章

  1. 阿里巴巴最新 SpringCloudAlibaba 实战教程,入门到精通面面俱到
  2. 通证经济学习与探索阶段性总结(一)
  3. P4921 情侣?给我烧了!
  4. 优酷路由宝无线服务器,优酷路由宝开启SSH
  5. 一个程序员的自我修养
  6. oracle 特殊符号
  7. IPhoneX网页布局
  8. 基于aspnet汽修系统仓库管理系统#毕业设计#课程设计
  9. 显示器接口VGA、DVI、HDMI
  10. 程序员的节日为1024原由