2021年六月份,参加了一个程序创新设计的比赛,因为要用到人脸识别的功能,于是摸索着用搭载摄像头模块的树莓派3B开发板,以及华为的云服务的人脸识别接口来实现。
第一次尝试着摸索,虽然过程很坎坷,但总算还是实现了应有的效果。

效果展示

  1. 使用命令拍摄一张无人脸特征的照片
  2. 将照片上传进行人脸识别,返回结果为无人脸信息
  3. 拍摄一张有人脸特征的照片并上传识别(原图无马赛克)
  4. 返回结果为有人脸信息

根据这些信息我们就可以进行后续更新数据库等操作。

实现过程

一、硬件部分

硬件使用的是我在某鱼上淘的树莓派3B,又在某宝上买的摄像头模块。

二、软件部分

软件部分主要使用的是华为云的FRS人脸识别服务:

该服务在使用次数较少的情况下免费,只需要登录华为账号,申请开通即可。
华为云人脸识别服务介绍

申请人脸识别服务完成后,需要安装人脸识别服务所需要的SDK,我选择的是Python SDK。
SDK下载地址
树莓派直接下载可能因为网络问题失败,我是直接下载压缩包然后文件传输到树莓派再解压的。具体情况可参考华为云官方文档。
华为云人脸识别服务SDK使用介绍

环境安装完成后,即可开始编写代码,我的代码是参考官方示例写的,如果在使用过程中报错,可以给我留言。

from frsclient import *ak = "***自己的ak***"
sk = "***自己的sk***"
project_id = "***自己的项目ID***"
end_point = "https://face.cn-north-4.myhuaweicloud.com"auth_info = AuthInfo(ak=ak,sk=sk,end_point=end_point)
frs_client = FrsClient(auth_info=auth_info,project_id=project_id)ds = frs_client.get_v2().get_detect_service()
res = ds.detect_face_by_file("***照片存放的位置***","2,12,13")#上传图片的绝对地址if res.content_eval['faces']: #若返回信息中faces内有信息,则输出该信息print(res.content_eval['faces'])    db.commit()db.close()
else:#若返回信息中faces内无信息,则输出failedprint('failed')    db.commit()db.close()

代码中需要更换的地方可以根据以下流程申请:
华为云官网

AK/SK:访问密钥需要自己申请,申请后会下载一个.cvs文件,打开文件即可查看所需密钥。(每个密钥只能下载一次,请妥善保管。若密钥丢失,可直接删除并重新申请。)

项目ID:项目ID取决于申请开通人脸识别服务时的服务所在地区,一般为北京四。具体流程可参考:获取项目ID及访问密钥


使用命令拍照,将照片地址填入相应位置,即可进行人脸识别。
拍照命令:

sudo raspistill -o test.jpg

照片会自动保存在当前路径下。

结语

刚开始实现这个功能时,使用了很多方法,甚至租了一台云服务器,最后发现其实根本没有那么麻烦。感觉学编程就是这样,没上手之前可能感觉问题很复杂,很困难,但是真正实现了就会发现其实也挺简单的。所以,以后遇到问题,一定要上手去做,多尝试,多犯错,才能解决问题。

基于华为云服务的人脸识别功能实现相关推荐

  1. C语言实现基于翔云平台的人脸识别demo2(树莓派)

    C语言实现基于翔云平台的人脸识别demo2(树莓派3B) 实现目标 树莓派安装mjpg-streamer 在树莓派下依次执行以下指令 修改start.sh文件(用来开启摄像头进行监控) A:树莓派摄像 ...

  2. C语言实现基于翔云平台的人脸识别demo1(linux)

    C语言实现基于翔云平台的人脸识别demo1(linux) 实现的目标 安装openssl第三方的库 安装libcurl第三方的库 购买使用翔云平台人脸识别的次数 libcurl的使用 **参考以下博文 ...

  3. SpringBoot+百度云API 实现人脸识别功能

    Java项目分享 缺项目经验的请看过来 2篇原创内容 公众号 前言 去年在公司参与了一个某某机场建设智能机场的一个项目,人脸登机是其中的一个功能模块,当时只是写了后台的接口,调用人脸识别设备的api, ...

  4. 基于翔云平台做人脸识别

    目录 1.[翔云人脸识别的API](https://www.netocr.com/face.html) 1.1 图片img上传是以base64流的形式上传 2.代码 1.翔云人脸识别的API 1.1 ...

  5. 基于汉王云API的人脸识别

    http://down.51cto.com/data/2076078 源码地址,使用汉王云API,得预先申请汉王API key 转载于:https://blog.51cto.com/p6xos/167 ...

  6. 基于华为云的人脸识别实验

    基于华为云服务的人脸识别实验 环境配置等操作请查看华为云人脸识别服务-入门指导 此处使用的v2版本,需下载相应的SDK 实际效果 代码附上 大致思路: 1. 将图像通过人脸识别服务进行检测,返回检测信 ...

  7. 基于华为云ECS的目标检测与识别的昇腾AI开发体验【华为云至简致远】

    [摘要] 基于华为云弹性云服务器ECS,搭配共享镜像,快速搭建环境,进行目标检测与识别的昇腾AI开发体验,开箱即用,打破时间和空间限制,随时随地进行开发,适合个人开发和团队协作,体验流畅丝滑. 前言 ...

  8. 如何从华为云服务器上找回手机,华为云服务怎么样使用手机找回功能

    电脑登录华为云服务网站点击"手机找回"选择设备点击"定位". 桌面找到手机找回图标,开启手机找回功能(此功能必须登录华为账号,部分机型版本该功能存在于华为云服务 ...

  9. 基于pyqt5的登录界面及人脸识别功能界面相互跳转的设计(1)

    基于pyqt5的登录界面及人脸识别功能界面相互跳转的设计(1) 这个是登录界面: 部分代码如下: // An highlighted block from 文件1 import * from PyQt ...

  10. 微信小程序开发工具结合腾讯云开发AI人脸识别和身份证识别——基于腾讯云开发者实验项目

    微信小程序开发工具结合腾讯云开发AI人脸识别和身份证识别--基于腾讯云开发者实验项目 开通腾讯云相关权限(AI人脸识别,文字识别-身份证识别) 查看API密钥 部署微信小程序 成功演示 代码包 开通腾 ...

最新文章

  1. Pycharm上传Gitlab
  2. 【搜索引擎】Smartsys部署ES的准备工作
  3. a partial surjection的题库
  4. Bootstrap手机网站开发案例
  5. [Java基础]Arrays的常用方法
  6. 轮番滑动PHP,touch事件之滑动判断(左右上下方向)
  7. python编程中条件句_简单讲解Python编程中namedtuple类的用法
  8. Android RecyclerView (十)组件化封装
  9. Axis2发布webservices
  10. JS 获取 URL 地址/参数
  11. 弱电工程综合布线施工过程控制
  12. 网吧服务器维护工具,某某网吧专用维护工具(网吧维护管理助手)V5.1 最新版
  13. 全员全域安全守护,蔚来ET7获Euro NCAP五星安全评级背后的硬核实力
  14. 二维码之zxing二维码解析图片资源
  15. 使用一个SQL查询出每门课程的成绩都大于80分的学生姓名
  16. 【愚公系列】2022年10月 微信小程序-电商项目-小微商户支付功能前申请准备工作
  17. 2023年,给你5点小建议
  18. 如何批量将图片修改到同样大小尺寸?
  19. 机械类计算机专业毕业设计题目
  20. 做摄像双机位直播(多机位直播)的整个流程的介绍

热门文章

  1. 奥克兰大学计算机科学与技术,奥克兰大学计算机科学专业怎么样?成为IT达人就靠它...
  2. 关于学习scala中lazy关键字的记录
  3. 5位数的数字黑洞是多少_五位数数字黑洞编程
  4. 荐书 | 22本颠覆我们认知的思维方式(上)
  5. 网络安全入门学习资源汇总
  6. 益聚星荣:如果没有现代人类,地球会有什么不同?
  7. fusion 360动态观察的快捷键
  8. Qt应用程序嵌入浏览器的常用方法
  9. 学生用计算机怎么恢复出厂设置,电脑怎么恢复出厂设置
  10. 如何做抖音小程序赚钱?抖音小程序怎么赚钱?抖音最简单的赚钱方式