您的位置 首页 java

三分钟极速体验:Java版人脸检测

欢迎访问我的 GitHub

  • 这里分类和汇总了欣宸的全部原创(含配套源码):

本篇概览

  • 检测照片中的人脸,用 Java 可以实现吗?
  • 当然可以,今天咱们用最少的时间、最简单的操作来体验这个实用的功能,当您提交一张带有人脸的照片后,会看到下图效果,所有人脸都被识别到并被框选出来了

  • 本篇以体验为主,不涉及具体的开发,后面还会有文章介绍完整的开发过程(包括源码)

风险提前告知

  • 为了简化操作,接下来会用到 docker ,对应的镜像体积巨大,达到了恐怖的 4.69G ,建议您为自己的docker做好加速配置,可以减少下载等待时间;
  • 由于 opencv 体积庞大,再加上 javacv 的依赖库也不小,这才导致超大镜像的出现,还望您多多海涵,标题中的《三分钟极速体验》是要去掉镜像的等待时间的,您要是觉得欣宸的标题起得很无耻,我觉得您是对的…

环境信息

  • 为了简化体验过程,接下来会用到docker,推荐的环境信息如下:
  • 操作系统:Ubuntu 16.04.1 LTS 服务器版( MacBook Pro 也可以,版本是11.2.3, macOS Big Sur
  • docker:20.10.2 Community
  • 为了加快docker镜像的下载速度,建议您提前做好docker加速配置
  • 文章标题号称三分钟极速体验,没时间说太多,准备好环境就火速动手啦

部署

  • 新建名为 images 的目录,用于存储处理后的文件,我这里完整路径是 / root /temp/202107/17/images
  • 新建名为 model 的目录,用于存储稍后要下载的模型文件,我这里完整路径是 /root/temp/202107/17/model
  • 下载训练好的模型文件,我准备了两个下载地址,您任选一个即可,一个是 csdn 的(无需积分):
  1. ,另一个是
  • 上述文件下载下来是个压缩包,请先解压,再将文件 haarcascade_frontalface_default.xml 放入 model 目录(model里放的必须是解压后的文件)
  • 执行以下命令,会先下载docker镜像文件再创建容器:
 docker run \
--rm \
-p 18080:8080 \
-v /root/temp/202107/17/images:/app/images \
-v /root/temp/202107/17/model:/app/model \
bolingcavalry/facedetect:0.0.1  
  • 部署完成,开始体验

体验

  • 浏览器访问 ,这里的localhost请改成docker宿主机IP(要关闭防火墙!),可以见到操作页面,如下图(欣宸的 前端开发 水平渣到令人发指,果然不是空穴来风):

  • 找一张有人脸的图片(我在 百度 图片随机找的),点击上图的 选取图片 按钮进行上传,至于 周围检测数量 那里先保持默认值32不要动
  • 点击 提交 按钮后,页面会显示检测结果,如下图,人脸被准确地框选出来了:

  • 再试试多人的,如下图,居然一个人脸都没有检测到:

  • 周围检测数量 的值调低些,改成 4 再试,如下图,这次成功了,八张人脸全部检测到:

  • 至此,Java版人脸检测的体验已经完成,一分钟概览,一分钟部署,一分钟体验,咱们足够高效(下载超大镜像的时间不能算,不敢算…)
  • 此刻您应该能感受到Java在人脸识别领域的魅力了,聪明的您当然会有很多疑问,例如:
  1. 用了啥框架?
  2. 写了啥代码?
  3. 运行环境好不好配置?只要 jar 依赖吗?还需要其他操作吗?
  • 这些疑问将在接下来的这两篇文章中完全揭秘,然后您也能轻易做出集成了人脸识别的SpringBoot应用了:
  1. 《Java版人脸检测详解上篇:运行环境的Docker镜像(CentOS+JDK+OpenCV)》
  2. 《Java版人脸检测详解下篇:编码》
  • 顺便剧透一下:设置运行环境很麻烦,所幸欣宸已解决此问题,并成功封装为基础镜像,咱们可以专注地开发应用,对运行环境再也无需处理了

欢迎关注头条号:程序员欣宸

  • 学习路上,你不孤单,欣宸原创一路相伴…

文章来源:智云一二三科技

文章标题:三分钟极速体验:Java版人脸检测

文章地址:https://www.zhihuclub.com/185521.shtml

关于作者: 智云科技

热门文章

网站地图