一、课程引入
(1)HuskyLens二哈识图传感器原理
(2)HuskyLens二哈识图传感器的调试
(3)HuskyLens二哈识图传感器人脸识别功能学习
(4)Gravity: VL53L0X ToF 激光测距传感器学习
(5)人脸跟踪思路
二、知识原理讲解
2.1 HuskyLens二哈识图传感器介绍
HuskyLens二哈识图是一款简单易用的AI视觉传感器,内置7种功能:人脸识别、物体追踪、物体识别、巡线追踪、颜色识别、标签识别、物体分类。仅需一个按键即可完成AI训练,摆脱繁琐的训练和复杂的视觉算法,让你更加专注于项目的构思和实现。
HuskyLens板载UART / I2C接口,可以连接到Arduino、Raspberry Pi、LattePanda、micro:bit等主流控制器,实现硬件无缝对接。HuskyLens直接输出识别结果给控制器,你无需折腾复杂的算法,就能制作非常有创意的项目。
接口说明:
USB接口:连接到电源,给HuskyLens供电;也可以连接到电脑的USB接口,给HuskyLens升级固件。
4pin接口(UART模式)
4pin接口(I2C模式)
注意:
(1)USB接口与4pin接口,任接一个,即可对HuskyLens供电。
(2)由于板载了电源自动切换电路,USB接口与4pin接口可以同时接电源,且优先使用USB接口上的电源。
(3)请确保电源电压与功率足够,防止HuskyLens工作异常
2.2 HuskyLens二哈识图传感器的调试
功能按键与学习按键的操作:
功能按键与学习按键的基本操作如下:
(1)向左或向右拨动“功能按键”,切换到不同的功能
(2)短按“学习按键”,学习指定的物体;长按“学习按键”,从不同的角度和距离持续学习指定的物体;如果HuskyLens之前学习过,则短按“学习按键”,可让HuskyLens忘记当前功能下所学的
(3)长按“功能按键”,进入当前功能的二级菜单参数设置界面,向左、向右拨动或向下短按“功能按键”即可设置相关参数
升级固件步骤(Win10系统):
本教程需要的固件版本不低于V0.5.1。此版本把所有功能(包括物体分类)全部集成在一起。
步骤1 查看当前固件版本号 往右拨动功能按键,直到最后一个选项常规设置(General Settings),短按功能按键,进入二级菜单; 往右拨动功能按键,拨到版本号的选项时,即可看到版本号。如下图,版本号为:Version *.*.* Norm(是否为0.5.1,若不是,则按照如下步骤升级)。
步骤2 升级固件 下载附件
步骤3 解压
步骤4 双击打开文件夹
步骤5 解压串口驱动
步骤6 双击文件夹CP210x_Windows_Drivers
步骤7 双击exe文件
(3)设置中文语言环境
菜单界面的默认语言为英文。本教程使用中文语言界面。要将菜单界面的语言设置为中文,请按照如下步骤操作:
①向右拨动“功能按键”,至屏幕顶端显示“General Settings”。
②向下短按或长按”功能按键“,进入“General Settings”的二级菜单参数设置界面。
③向右拨动“功能按键”,选择“Language”参数(位于最后一个),然后短按“功能按键”,再向右拨动“功能按键”选择“简体中文”,再短按“功能按键”,此时HuskyLens会自动切换到中文语言。
2.3 HuskyLens二哈识图传感器人脸识别功能学习
坐标系:
当HuskyLens识别学过的物体时,在屏幕上会有彩色方框将其框选,你可以读取这些方框的坐标、长宽等数据。HuskyLens的坐标系如下所示, 这有助于你了解方框的坐标值、长宽等数据。
人脸识别:
本功能可以侦测任何脸部轮廓;识别、追踪学习过的人脸。
识别单个人脸:
默认设置为学习并识别单个人脸。
操作设置:
向左拨动“功能按键”,直至屏幕顶部显示“人脸识别”。
未检测到人脸RGB灯不亮
检测到人脸RGB灯亮绿灯
HuskyLens Mind+模块库说明:
2.4 Gravity: VL53L0X ToF 激光测距传感器学习
VL53L0X激光测距传感器是一款基于意法半导体(STMicroelectronics)新出的基于飞行时间测距 (ToF) 原理设计的高精度测距传感器。与传统的技术不同,VL53L0X无论目标反射率如何,都能提供精确的距离测量,最高测量距离2米。 DFRobot基于VL53L0X设计的Gravity传感器模块,提供Gravity-I2C接口,即插即用,支持3.3V~5V供电使用,兼容更多的主板,适应更多的应用场景。 VL53L0X集成了尖端的SPAD (Single Photon Avalanche Diodes) 阵列,并嵌入ST的第二代FlightSenseTM专利技术。精度达±3%,响应时间小于30ms,正常工作模式下功耗仅20mW,待机功耗为5uA。 VL53L0X的940nm VCSEL发射器(垂直腔面发射激光器)对人眼来说是完全不可见的,加上内部物理红外滤波器,它可以实现更远的距离,更强的抗环境光的能力,以及更好的覆盖玻璃光学截面。
功能引脚:
GPIO1:传感器中断输出引脚,用来指示数据是否准备好
XSHUT:传感器关闭引脚,默认被拉高,当引脚被拉低时传感器进入关闭模式
2.5线路连接
2.6人脸跟踪思路步骤
三、项目实施步骤
(请注意保持与无人机桨叶的距离)
项目8:无人机人脸跟踪
项目描述:
该项目通过HuskyLens二哈识图传感器实现人脸检测,并与无人机通信,实现人脸识别的跟踪
任务拆解:
步骤流程图:
学生能力基础:
(1)会使用HuskyLens二哈识图传感器及其参数配置
(2)会使用激光测距传感器
(3)传感器与无人机的通讯
(4)编程思想
演示视频:
项目文件:
/*!
* MindPlus
* telloesp32
*
*/
#include <RMTT_Libs.h>
#include <DFRobot_VL53L0X.h>
#include <DFRobot_HuskyLens.h>
// 动态变量
volatile float mind_n_Distance, mind_n_t, mind_n_x, mind_n_y;
// 创建对象
RMTT_Protocol protocol;
RMTT_RGB tt_rgb;
DFRobot_HuskyLens huskylens;
DFRobot_VL53L0X vl53l0x;
// 主程序开始
void setup() {
Serial1.begin(1000000, 23, 18, SERIAL_8N1);
tt_rgb.Init();
protocol.startUntilControl();
tt_rgb.SetRGB(0,0,255);
delay(1000);
tt_rgb.SetRGB(255,0,0);
huskylens.beginI2CUntilSuccess();
huskylens.writeAlgorithm(ALGORITHM_FACE_RECOGNITION);
vl53l0x.begin();
vl53l0x.setMode(vl53l0x.High, vl53l0x.Continuous);
tt_rgb.SetRGB(0,255,0);
protocol.sendTelloCtrlMsg("takeoff");
protocol.sendTelloCtrlMsg((char *)String(String("up ")+int(50)).c_str());
delay(100);
}
void loop() {
mind_n_Distance = vl53l0x.getDistance();
huskylens.request();
if (huskylens.isLearned(1)) {
if (huskylens.isAppearDirect(HUSKYLENSResultBlock)) {
mind_n_t = 0;
mind_n_x = huskylens.readBlockParameter(1).xCenter;
mind_n_y = huskylens.readBlockParameter(1).yCenter;
if (((mind_n_x>=0) && (mind_n_x<=40))) {
protocol.sendTelloCtrlMsg((char *)String(String("ccw ")+int(12)).c_str());
delay(10);
}
if (((mind_n_x>40) && (mind_n_x<=80))) {
protocol.sendTelloCtrlMsg((char *)String(String("ccw ")+int(10)).c_str());
delay(10);
}
if (((mind_n_x>80) && (mind_n_x<=120))) {
protocol.sendTelloCtrlMsg((char *)String(String("ccw ")+int(8)).c_str());
delay(10);
}
if (((mind_n_x>120) && (mind_n_x<160))) {
protocol.sendTelloCtrlMsg((char *)String(String("ccw ")+int(6)).c_str());
delay(10);
}
if ((mind_n_x==160)) {
protocol.sendTelloCtrlMsg("stop");
delay(10);
if (((abs((mind_n_x - 160)))<=20)) {
if ((mind_n_Distance<=2000)) {
if ((mind_n_Distance>400)) {
protocol.sendTelloCtrlMsg((char *)String(String("forward ")+int(20)).c_str());
delay(10);
}
if ((mind_n_Distance<400)) {
protocol.sendTelloCtrlMsg((char *)String(String("back ")+int(20)).c_str());
delay(10);
}
if ((mind_n_Distance==400)) {
protocol.sendTelloCtrlMsg("stop");
delay(10);
}
}
else {
protocol.sendTelloCtrlMsg("stop");
delay(10);
}
}
}
if (((mind_n_x>160) && (mind_n_x<=200))) {
protocol.sendTelloCtrlMsg((char *)String(String("cw ")+int(6)).c_str());
delay(10);
}
if (((mind_n_x>200) && (mind_n_x<=240))) {
protocol.sendTelloCtrlMsg((char *)String(String("cw ")+int(8)).c_str());
delay(10);
}
if (((mind_n_x>240) && (mind_n_x<=280))) {
protocol.sendTelloCtrlMsg((char *)String(String("cw ")+int(10)).c_str());
delay(10);
}
if (((mind_n_x>280) && (mind_n_x<=320))) {
protocol.sendTelloCtrlMsg((char *)String(String("cw ")+int(12)).c_str());
delay(10);
}
}
}
else {
protocol.sendTelloCtrlMsg("stop");
delay(10);
}
}
人脸识别技术2021.06.10
最新QQ人脸三色技术#VX三色人脸#DNF#王者人脸教程#QQ人脸教程工具#税务人脸#技术等 https://pan.baidu.com/s/1CJhvibOZth4ZKs3jfiyWRw 提取码: ypsh 三色人脸动态识别 人脸三色技术课程 人脸三色技术 Q人脸 #人脸三色 #人脸识别 #抖音 企业微信实名,人脸认证破解,人脸,三色,-专业 – 企业微信实名,人脸,三色, -专业企业微信实名,人脸,三色, 企业微信实名,人脸,三色,-专业 – 企业微信实名,人脸