一、实验目的及要求

【一】实现人脸识别。
【二】实现云数据库应用。

二、实验原理与内容

基于二哈实现多人人脸学习和识别。
基于TinywebDB实现云数据库应。
基于EasyIoT实现mqtt数据上传。

三、实验软硬件环境

硬件:掌控板、二哈识图、掌控扩展板、电脑、手机。
软件:Mind+。

四、 实验过程(实验步骤、记录、数据、分析)

(一)HuskyLens二哈识图介绍

点击查看二哈识图详细介绍
简介:HuskyLens二哈识图是一款简单易用的AI视觉传感器,内置7种功能:人脸识别、物体追踪、物体识别、巡线追踪、颜色识别、标签识别、物体分类。

1、功能按键与学习按键说明:

功能按键与学习按键的基本操作如下:
向左或向右拨动“功能按键”,切换到不同的功能。
短按“学习按键”,学习指定的物体;长按“学习按键”,从不同的角度和距离持续学习指定的物体;如果HuskyLens之前学习过,则短按“学习按键”,可让HuskyLens忘记当前功能下所学的。
长按“功能按键”,进入当前功能的二级菜单参数设置界面,向左、向右拨动或向下短按“功能按键”即可设置相关参数。

2、升级固件

使用windows 10操作系统升级HuskyLens的固件。操作步骤如下:

(1)下载HUSKYLENS Uploader V2.1软件。点击下载。由于是.exe文件,windows系统可能会拦截,请放行或保留该文件即可。
(2)下载并安装USB转串口芯片CP2102的驱动程序。如之前已经安装过,此步骤可跳过。点击此处 选择适合您的驱动。(注:也可使用Mind+中的一键安装驱动功能安装此驱动。)

驱动安装完毕后,使用microUSB线,连接HUSKYLENS上的固件烧录口(USB口)与电脑USB口,此时打开设备管理器应该出现名字开头为"Silicon Labs CP210x"的COM端口。如下图所示:

(3)下载固件。点击下载V0.5.1版本。
(4)运行HUSKYLENS Uploader V2.1软件, 会先弹出一个小黑窗(cmd窗口),稍等片刻,就会出现界面。然后点击“Select File”按钮,加载固件。

(5)点击“Upload”按钮即可进行烧录,耐心等待烧录完成。烧录完成后,“Uploading”字样会消失,HuskyLens屏幕会点亮。烧录期间请不要关闭界面窗口和小黑窗(cmd窗口)。烧录过程大概需要5分钟左右。固件比较大,因此上传时间会有点长。

3、人脸识别功能

本功能可以侦测任何脸部轮廓;识别、追踪学习过的人脸。本次实验做的是识别多个人脸,详细步骤如下。

(1)操作设置:

向左拨动“功能按键”,至屏幕顶部显示“人脸识别”。
长按“功能按键”,进入人脸识别功能的二级菜单参数设置界面。
向左或向右拨动“功能按键”,选中“学习多个”,然后短按“功能按键”,接着向右拨动“功能按键”打开“学习多个”的开关,即:进度条颜色变蓝,进度条上的方块位于进度条的右边。再短按“功能按键”,确认该参数。
向左拨动“功能按键”,选中“保存并返回“,短按”功能按键“,屏幕提示”是否保存参数?“。默认选择”确认“,此时短按”功能按键“,即可保存参数,并自动返回到人脸识别模式。

(2)学习多个人脸:

将HuskyLens屏幕中央的“+”字对准需要学习的人脸,长按“学习按键”完成第一个人脸的学习(各个角度)。松开”学习按键“后,屏幕上会提示:”再按一次按键继续!按其他按键结束“。如要继续学习下一个人脸,则在倒计时结束前短按“学习按键”,可以继续学习下一个人脸。如果不再需要学习其他人脸了,则在倒计时结束前短按”功能按键”即可,或者不操作任何按键,等待倒计时结束。
本章节中,我们需要继续学习下一个人脸,因此在倒计时结束前短按“学习按键”。然后将HuskyLens屏幕中央的“+”字对准需要学习的下一个人脸,长按“学习按键”完成第二个人的脸的学习。以此类推。
HuskyLens标注的人脸ID与录入人脸的先后顺序是一致的,也就是:学习过的人脸会按顺序依次标注为“人脸:ID1”,“人脸:ID2”,“人脸:ID3”,以此类推,并且不同的人脸ID对应的边框颜色也不同。

(3)识别多个人脸:

HuskyLens学习过的人脸信息会自动保存起来。后续,当HuskyLens检测到学习过的人脸时,会将这些人脸用方框框选出来并标识ID,第一个学习的人脸标注为“人脸:ID1”,第二个学习的人脸标注为“人脸:ID2”,第三个学习的人脸标注为“人脸:ID3”,以此类推。不同的人脸ID对应的边框颜色也不同,边框大小会随着人脸大小而变化,并自动追踪人脸。

(二)TinyWebDB

点击跳转到TinyWebDB官网

1、在红色选区部分按照提示注册TinyWebDB账号。

2、注册后登陆TinyWebDB,点击数据浏览。

3、在右上角输入标签和值创建两个id(识别多少个人脸创建多少个id)。

(三)Easy IoT

点击跳转到Easy IoT官网

1、添加或直接登陆Easy IoT账号。

2、登陆成功后,点击工作间,添加一个新的设备。

(四)Mind+

1、编程准备

(1)将组装好的设备通过USB接口连接电脑,打开Mind+,在上方导航栏中连接设备并切换到上传模式

(2)点击左侧导航栏中的扩展

(3)在主控板中添加掌控板,在扩展板中添加掌控扩展板,在传感器中添加AI摄像头,在网络服务中添加MQTT,WiFi和TinyWebDB。



2、编程

点击跳转到github下载源代码“实验三”

(1)整体图形代码块

(2)设置参数



3、C代码

#include <MPython.h>
#include <DFRobot_Iot.h>
#include <mPython_tinywebdb.h>
#include <DFRobot_HuskyLens.h>
// 动态变量
String mind_s_name;
// 静态常量
const String topics[5] = {"3mhx5iKMR","","","",""};
// 创建对象
DFRobot_Iot       myIot;
mPython_TinyWebDB mydb;
DFRobot_HuskyLens huskylens;
// 主程序开始
void setup() {mPython.begin();myIot.wifiConnect("lyb", "lyb1234567890;");display.setCursorLine(1);display.printLine("WiFi正在尝试连接...");while (!myIot.wifiStatus()) {yield();}display.setCursorLine(1);display.printLine("WiFi连接成功!");display.setCursorLine(2);display.printLine(myIot.getWiFiLocalIP());myIot.init("iot.dfrobot.com.cn","ZtF_tiFGR","","ZpKlpmFMgz",topics,1883);myIot.connect();display.setCursorLine(3);display.printLine("MQTT正在尝试连接...");while (!myIot.connected()) {yield();}display.fillInLine(3, 0);display.setCursorLine(3);display.printLine("MQTT连接成功");mydb.setServerParameter("http://tinywebdb.appinventor.space/api", "lybiot","87bb2345");huskylens.beginI2CUntilSuccess();huskylens.writeAlgorithm(ALGORITHM_FACE_RECOGNITION);display.fillScreen(0);display.setCursorLine(1);display.printLine("请保持面向摄像头");
}
void loop() {huskylens.request();if (huskylens.isAppearDirect(HUSKYLENSResultBlock)) {if (huskylens.isLearned(huskylens.readBlockCenterParameterDirect().ID)) {mind_s_name = mydb.getTag((String(huskylens.readBlockCenterParameterDirect().ID)));display.setCursorLine(2);display.printLine(mind_s_name);myIot.publish(topic_0, mind_s_name);}}
}

五、测试/调试及实验结果分析

1、使用二哈学习多个人脸

2、在Mind+中上传代码到掌控板




3、人脸识别



六、实验结论与体会

通过这次实验我利用二哈识图,掌控板和掌控扩展板组合的设备,以及Mind+编程实现了人脸识别的功能。在实验过程中体会到了物联网的魅力。

基于二哈实现多人人脸学习和识别相关推荐

  1. mtcnn人脸检测python_基于mtcnn和facenet的实时人脸检测与识别系统开发

    简介:本文主要介绍了实时人脸检测与识别系统的详细方法.该系统基于python/opencv2/tensorflow环境,实现了从摄像头读取视频,检测人脸,识别人脸的功能.本系统代码地址:real ti ...

  2. 计算机多任务处理未来的挑战,基于多任务学习的多姿态人脸重建与识别Multi-poseface-计算机应用.PDF...

    基于多任务学习的多姿态人脸重建与识别Multi-poseface-计算机应用.PDF Journal of Computer Applications ISSN 1001-9081 2017- -10 ...

  3. 深度学习(十七)基于改进Coarse-to-fine CNN网络的人脸特征点定位

    基于改进Coarse-to-fine CNN网络的人脸特征点定位 原文地址:http://blog.csdn.net/hjimce/article/details/50099115 作者:hjimce ...

  4. 深度学习自学(二十六):人脸数据集

    人脸检测,关键点检测,人脸识别,人脸表情,人脸年龄,人脸姿态等方向的数据集. 01 人脸检测 所谓人脸检测任务,就是要定位出图像中人脸的大概位置. 1.1 Caltech 10000 数据集地址:ht ...

  5. python学习之recognition的多人人脸识别

    此次介绍的基于电脑摄像头的人脸识别,在Ubuntu16.04环境下,还没有测试成功,主要是环境的搭建的问题,还没有解决! 文章目录 1.实现背景 2.实现设计 2.1.需求设计 2.2.代码设计 3. ...

  6. 基于Python+百度语音的智能语音ChatGPT聊天机器人(机器学习+深度学习+语义识别)含全部工程源码 适合个人二次开发

    目录 前言 总体设计 系统整体结构图 系统流程图 运行环境 Python 环境 Pycharm 环境 ChatterBot 环境 模块实现 1. 模型构建 2. 服务器端 3. 客户端 4. 语音录入 ...

  7. CV:基于face库利用cv2调用摄像头(或视频)根据人脸图片实现找人(先指定要识别已知人脸的文件夹转为numpy_array+输入新图片遍历已有numpy_array)

    CV:基于face库利用cv2调用摄像头(或视频)根据人脸图片实现找人(先指定要识别已知人脸的文件夹转为numpy_array+输入新图片遍历已有numpy_array) 目录 输出结果 设计思路 核 ...

  8. 人脸和性别识别(基于OpenCV)

    描写叙述 人脸识别包含四个步骤 人脸检測:定位人脸区域,仅仅关心是不是脸: 人脸预处理:对人脸检測出来的图片进行调整优化. 收集和学习人脸:收集要识别的人的预处理过的人脸,然后通过一些算法去学习怎样识 ...

  9. opencv 训练人脸对比_【项目案例python与人脸识别】基于OpenCV开源计算机视觉库的人脸识别之python实现...

    " 本项目是一个基于OpenCV开源库使用python语言程序实现人脸检测的项目,该项目将从[项目基础知识](即人脸识别的基本原理).[项目实践](人脸识别所需要的具体步骤及其python程 ...

最新文章

  1. Netflix是怎样做系统监控的?
  2. Linux常用测试命令
  3. 关于浏览器和浏览器内核的解释
  4. 独家解析英伟达最新GPU-A100对AI行业带来的影响
  5. php 流媒体源码,BeMusic v2.3.6 – 音乐流媒体分享平台PHP源码
  6. RGB、YUV像素基础知识及处理数据
  7. Spring 源码分析 spring-core
  8. 4.3串的模式匹配算法(BF算法)
  9. 发牌游戏 java_解析扑克牌游戏发牌算法——java实现
  10. 单侧CPK的计算方式
  11. SVG实现网易云心动动画(HTML+CSS)
  12. 《智豆SOW白皮书》重磅发布 附全文
  13. mysql8+maven+mybatis
  14. 数据三等分离散python_数据自习室01-描述性统计量
  15. csapp2e 家庭作业 4.52 4.53
  16. 用R对Twitter用户的编程语言语义分析
  17. Rocket MQ 详解
  18. 项目 | 路径规划研究通用模拟器
  19. 2021年R1快开门式压力容器操作考试技巧及R1快开门式压力容器操作证考试
  20. [Linux入门系列].1.2.VMWare WorkStation和VMPlayer的安装

热门文章

  1. Vba实现按选定类型排序标记
  2. Java判断一个字符串是否包含某个字符
  3. 『Transformer』为什么1*1卷积可以替代全连接层?
  4. 一键启动oracle服务脚本,Oracle服务一键启动/关闭
  5. c语言0x前缀的作用,C语言中的十六进制数字为什么以前缀0x开头
  6. 【女装2018新款潮碎花半身裙韩版气质两件套裙子】http://m.tb.cn/h.3aHr1L7
  7. 1、模拟蚂蚁借呗—利息计算
  8. HTML送朋友的唯美新年贺卡/祝福贺卡/生日礼物/情人节礼物
  9. 基于ssm小学芙童币和芙童印章管理系统-计算机毕业设计源码文档
  10. uniapp云开发微信小程序 云函数配置