关于云计算:三分钟极速体验Java版人脸检测

36次阅读

共计 2151 个字符,预计需要花费 6 分钟才能阅读完成。

欢送拜访我的 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

正文完
 0