欢送拜访我的GitHub

https://github.com/zq2599/blog_demos

内容:所有原创文章分类汇总及配套源码,波及Java、Docker、Kubernetes、DevOPS等;

本篇概览

  • 检测照片中的人脸,用Java能够实现吗?
  • 当然能够,明天咱们用起码的工夫、最简略的操作来体验这个实用的性能,当您提交一张带有人脸的照片后,会看到下图成果,所有人脸都被辨认到并被框选进去了:

  • 本篇以体验为主,不波及具体的开发,前面还会有文章介绍残缺的开发过程(包含源码)

危险提前告知

  • 为了简化操作,接下来会用到docker,对应的镜像体积微小,达到了恐怖的<font color="red">4.69G</font>,建议您为本人的docker做好减速配置,能够缩小下载等待时间;
  • 因为opencv体积宏大,再加上javacv的依赖库也不小,这才导致超大镜像的呈现,还望您多多海涵,题目中的《三分钟极速体验》是要去掉镜像的等待时间的,您要是感觉欣宸的题目起得很无耻,我感觉您是对的...

环境信息

  • 为了简化体验过程,接下来会用到docker,举荐的环境信息如下:
  • 操作系统:Ubuntu 16.04.1 LTS 服务器版(MacBook Pro也能够,版本是11.2.3,macOS Big Sur)
  • docker:20.10.2 Community
  • 为了放慢docker镜像的下载速度,建议您提前做好docker减速配置
  • 文章题目号称三分钟极速体验,没工夫说太多,筹备好环境就火速入手啦

部署

  • 新建名为<font color="red">images</font>的目录,用于存储解决后的文件,我这里残缺门路是<font color="blue">/root/temp/202107/17/images</font>
  • 新建名为<font color="red">model</font>的目录,用于存储稍后要下载的模型文件,我这里残缺门路是<font color="blue">/root/temp/202107/17/model</font>
  • 下载训练好的模型文件,我筹备了两个下载地址,您任选一个即可,一个是csdn的(无需积分):
  1. https://download.csdn.net/dow...,另一个是
  2. https://raw.githubusercontent...
  • 上述文件下载下来是个压缩包,请先解压,再将文件<font color="blue">haarcascade_frontalface_default.xml</font>放入<font color="red">model</font>目录(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
  • 部署实现,开始体验

体验

  • 浏览器拜访<font color="red">http://localhost:18080</font>,这里的localhost请改成docker宿主机IP(要敞开防火墙!),能够见到操作页面,如下图(欣宸的前端开发程度渣到令人发指,果然不是空穴来风):

  • 找一张有人脸的图片(我在百度图片随机找的),点击上图的<font color="red">选取图片</font>按钮进行上传,至于<font color="blue">四周检测数量</font>那里先放弃默认值32不要动
  • 点击<font color="blue">提交</font>按钮后,页面会显示检测后果,如下图,人脸被精确的框选进去了:

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

  • 把<font color="blue">四周检测数量</font>的值调低些,改成<font color="red">4</font>再试,如下图,这次胜利了,八张人脸全副检测到:

  • 至此,Java版人脸检测的体验曾经实现,一分钟概览,一分钟部署,一分钟体验,咱们足够高效(下载超大镜像的工夫不能算,不敢算...)
  • 此刻您应该能感触到Java在人脸识别畛域的魅力了,聪慧的您当然会有很多疑难,例如:
  1. 用了啥框架?
  2. 写了啥代码?
  3. 运行环境好不好配置?只有jar依赖吗?还须要其余操作吗?
  • 这些疑难在上面这两篇文章中齐全揭秘,而后您也能轻易做出集成了人脸识别的SpringBoot利用了:
  1. Java版人脸检测详解上篇:运行环境的Docker镜像(CentOS+JDK+OpenCV)
  2. Java版人脸检测详解下篇:编码
  • 顺便剧透一下:设置运行环境很麻烦,所幸欣宸已解决此问题,并胜利封装为根底镜像,咱们能够专一的开发利用,对运行环境再也无需解决了

你不孤独,欣宸原创一路相伴

  1. Java系列
  2. Spring系列
  3. Docker系列
  4. kubernetes系列
  5. 数据库+中间件系列
  6. DevOps系列

欢送关注公众号:程序员欣宸

微信搜寻「程序员欣宸」,我是欣宸,期待与您一起畅游Java世界...
https://github.com/zq2599/blog_demos