2020-3-7 22:19:03 [显示全部楼层]
2157浏览
查看: 2157|回复: 2

利用古德微平台+树莓派实现人脸检测

[复制链接]
大家好,我是重庆育才中学的沈菊颖老师,从2017年开始指导学生参加创客竞赛(全国中小学电脑制作活动中的项目),却一个帖子都没发过,鄙视自己。。。
既然是第一次发帖,就想先感谢一下创客教育的先行者:吴俊杰老师、谢作如老师、北师大傅骞教授、金丛军老师…他们让我接触到了Arduino掌控板、Appinventor和虚谷号。另外,还要感谢在做项目的过程中帮我解决无数问题的李亮(DFROBOT公司)等..
—————————————————————————————————————————————————————————————————————
进入正题。。
最近一个月,宅在家中,如果每天不学点什么会毫无成就感,于是我申请了一套人工智能套件(古德微公司漂流给我哒)。不得不说,利用古德微平台学习树莓派的每一天都是快乐的。
今早看到广东余老师发的贴子(链接如下),他用灯环亮灯数来表示颜值的高低,正好我之前用虚谷号做过人脸检测:获取颜值、判断表情、脸型、是否戴眼镜等,于是准备尝试一下。
https://www.jianshu.com/p/05401f1c35e9?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=weixin&from=groupmessage&isappinstalled=0
余老师画的流程图:
利用古德微平台+树莓派实现人脸检测图8
百度AI人脸检测使用说明文档:
https://ai.baidu.com/ai-doc/FACE/yk37c1u4t

一、硬件清单:
树莓派及古德微扩展板,USB摄像头,按扭

二、相关平台:
古德微平台、百度AI人脸识别应用(创建过程可参考余老师的帖子)

三、编写程序:
1.按钮按下,让USB摄像头拍摄照片,拍摄完关闭摄像头(输出调试信息是为了检查程序是否正常进行,摄像头是否已拍摄照片):
利用古德微平台+树莓派实现人脸检测图14
2.创建“获得颜值”函数(如果想判断表情、脸型、是否戴眼镜等方法类似,下面会做阐述),函数参数为requestUrl(网址如下):
https://aip.baidubce.com/rest/2.0/face/v3/detect利用古德微平台+树莓派实现人脸检测图5
(1)拍摄的照片需要进行base64编码:
利用古德微平台+树莓派实现人脸检测图2
利用古德微平台+树莓派实现人脸检测图1
(2)对请求参数进行赋值:
如下图所示,我们需要把编码后的图片数据、编码方式和你想要获得的属性赋给请求参数(重点:红色箭头处想获取颜值这里就输入beauty,想判断脸型输入face_shape,想判断表情输入expression,想判断戴眼镜的情况输入glasses,想判断情绪输入emotion……):
利用古德微平台+树莓派实现人脸检测图3
利用古德微平台+树莓派实现人脸检测图4

(3)对地址进行赋值,创建request对象,为request对象添加请求参数和http头参数,然后通过request对象请求数据,将获取到的json数据转换成字典。其中,access_token的获取需要API Key和Secret Key(人脸识别应用里获取):
利用古德微平台+树莓派实现人脸检测图7
利用古德微平台+树莓派实现人脸检测图6


(4)逐层获取属性,得到我们所需要的数据。
先从最外层获取error_msg的值,如果为SUCCESS则表明我们已成功获取到数据,我们需要的数据都在result里,所以需要获取result里的内容(result里的内容如下图所示),result里提取face_list,提取face_list唯一的值,再从中提取我们所需要的属性(重点:红色箭头处想获取颜值这里就输入beauty,想判断脸型输入face_shape,想判断表情输入expression,想判断戴眼镜的情况输入glasses,想判断情绪输入emotion……

利用古德微平台+树莓派实现人脸检测图9
利用古德微平台+树莓派实现人脸检测图10
颜值对应只有一个值,而情绪,表情等包含类型(type)和置信度(probability)两个值,所以需要单独提取:
利用古德微平台+树莓派实现人脸检测图12
利用古德微平台+树莓派实现人脸检测图11

(5)最后,主程序中调用函数即可。
利用古德微平台+树莓派实现人脸检测图13
完整程序如下:
利用古德微平台+树莓派实现人脸检测图15
四、程序执行结果(程序还判断了年龄、脸型、情绪等,仅作参考):
利用古德微平台+树莓派实现人脸检测图16

—————————————————————————————————————————————————————————————————————

第一次写帖子,如有叙述不当还请多多谅解。
最后,非常感谢古德微公司,感谢出教程的老师们,感谢帮助我解决问题的各位老师,向你们学习。。


DFrJ5KYVQaH  中级技匠

发表于 2020-3-7 22:33:10

好贴,学习中
回复

使用道具 举报

乐活  学徒
 楼主|
来自手机

发表于 2020-3-8 00:14:22

乐活 发表于 2020-3-7 22:19
大家好,我是重庆育才中学的沈菊颖老师,从2017年开始指导学生参加创客竞赛(全国中小学电脑制作活动中的项 ...

我这个只是最简单的输出,大家可以在此基础上扩展。
友情提示,对摄像头假笑它不会认为你是在微笑哦
( ̄∇ ̄)……
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
关于楼主
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail