1-前言
HUSKYLENS二哈识图是一款简单易用的人工智能摄像头(视觉传感器),内置6种功能:人脸识别、物体追踪、物体识别、巡线追踪、颜色识别、标签识别、物体分类、二维码识别、条形码识别。仅需一个按键即可完成AI训练,摆脱繁琐的训练和复杂的视觉算法,让你更加专注于项目的构思和实现。
HUSKYLENS板载UART / I2C接口,可以连接到Arduino、Raspberry Pi、LattePanda、micro:bit等主流控制器,实现硬件无缝对接,直接输出识别结果给控制器,无需折腾复杂的算法,就能制作非常有创意的项目。
2-版本说明
HUSKYLENS从硬件上分两个版本,一个为创客版(基础版),一个为教育版(pro版)。
- 创客版主要用作创客作品的制作和AI功能的体验,配备200W像素摄像头,可以实现人脸识别、物体分类等7大基础功能。
- 教育版主要用作教育用户对AI功能进行教学,支持与Mind+舞台的直接交互并可以使用AI可视化工具,配备了500W像素摄像头可以实现二维码识别、条形码识别、数码变焦(开发中)等额外功能。包含创客版所有功能并支持更多功能以及配套软件体验。
在Mind+中,上传模式传感器中的HUSKYLENS支持创客版及教育版,实时模式功能模块仅支持教育版。
3-固件更新
3.1-说明
HUSKYLENS的功能需要更新固件到最新版本才能得到最新最全的功能和最好的体验,因此首先更新到最新固件,如果你已经是最新固件则无需更新。
本教程需要HUSKYELNS固件不低于V0.5.1。
切换为中文及查看版本号的方法:
- 往右拨动功能按键到最后一个选项常规设置(General Settings),轻按功能按键进入二级菜单;
- 往右拨动功能按键到最后一个选项语言(Language),轻按功能按键进入二级菜单选择简体中文;
- 在常规设置中即可看到版本号。
3.2-准备工作
- 硬件:
- HUSKYLENS x 1
- microUSB线 x 1
- 软件:
编程软件:
Mind+ V1.6.4及以上版本 : http://mindplus.cc固件文件:
HUSKYLENSWithModelV0.5.1Norm.kfpkg : 点击下载固件烧录工具:
HUSKYLENS_Uploader-V2.exe : 点击下载
3.3-连接HUSKYLENS
使用microUSB线连接HUSKYLENS上的固件烧录口(USB口)与电脑USB口,HUSKYLENS通过串口安装固件,因此此时打开设备管理器应该出现CP210x的COMx端口,断开HUSKYLENS的USB线则此端口应该消失。
如果未出现端口,首先检查usb线是电脑直接连接HUSKYLENS,中间无其他主控板。接线正常情况下,如果第一次安装Mind+,则运行一次一键安装串口驱动,完成之后应该出现COMx端口。如依然无法使用可以加入QQ交流群进一步交流。
3.4-更新固件
确认端口正常连接,运行HUSKYLENS_Uploader固件更新软件,点击Select File选择kfpkg文件,然后点击Upload Firmware,等待几分钟直到固件烧录完成,Uploading消失,期间不要关闭窗口和小黑窗。
烧录完成根据3.1的方法切换中文及查看版本号是否正确。
- 如果提示Enter Huskylens COM Port Manually,则可尝试手动输入COM口,或回到上一步检查端口。
- 如果烧录固件一直失败且HUSKYLENS屏幕不亮,可以尝试点击Reset HuskyLens Flash直到HUSKYLENS两个补光灯点亮,重置HUSKYLENS,然后重新刷固件。
4-上传模式传感器用法
使用流程——以micro:bit为例
-
硬件连接,使用Gravity 4P线连接HuskyLens与micro:bit扩展板上的IIC口(SCL\SDA)(程序中初始化使用了IIC)。
-
检查端口协议种类为I2C或自动识别,在HuskyLens上拨动菜单到常规设置,选择协议种类为I2C或自动识别,(然后保存并返回。
-
打开Mind+
-
加载HuskyLens:软件右上角切换到上传模式>选择一个主控板,此处以micro:bit为例
-
选择主控板之后,对应支持的扩展模块标签变成可以选择,点击“传感器”,右上角搜索“HuskyLens”,点击加载模块,然后“返回”编程界面。
-
进行编程,制作一个项目,通过串口输出HuskyLens中人脸的位置。
- 打开串口查看输出的结果,通过HuskyLens学习目标之后可以输出目标位置,。
5-积木说明(基础功能)
积木 | 说明 |
---|---|
初始化,仅需执行一次,放在主程序开始和循环执行之间,可选择I2C或串口,I2C地址不用变动。注意HuskyLens端需要在设置中调整“输出协议”与程序中一致,否则读不出数据。 | |
切换算法,可以随时切换到其他算法,同时只能存在一个算法,注意切换算法需要一些时间。 | |
主控板向HuskyLens请求一次数据存入“结果”(存在主控板的内存变量中,一次请求刷新一次存在内存中的数据),之后可以从“结果”中获取数据,此模块调用之后“结果”中才会获取到最新的数据。 | |
从请求得到的“结果”中获取是否IDx已经进行了学习 | |
从请求得到的“结果”中获取是否IDx在画面中,方框指屏幕上目标为方框的的算法,箭头对应屏幕上目标为箭头的算法,当前仅为巡线算法时选择箭头,其他算法都选择方框。 | |
从请求得到的“结果”中获取IDx的参数,如果此ID在画面中没有或没有学习则会返回-1 | |
从请求得到的“结果”中获取IDx的参数,如果此ID在画面中没有或没有学习则会返回-1 ,此模块对应“巡线”算法的输出结果 | |
从请求得到的“结果”中获取当前算法下已经学习了多少个目标,注意HuskyLens端长按选择键开启高级设置后可以设置是否学习多个目标。 | |
从请求得到的“结果”中获取当前算法下当前视野中所有的“方框”或“箭头”的数量,包括没有学习或者已经学习的目标。 | |
从请求得到的“结果”中获取当前算法下相同ID的目标的数量,例如两个相同的人脸照片都在视野中则此数量为2。 | |
从请求得到的“结果”中获取当前算法下IDx的第y个方框的参数,同一个ID可能有多个目标(例如同一个人的两张照片同时出现在视野中),注意同一个ID下的目标顺序是随机的。 | |
此积木与上一个积木效果相同,区别是此积木读取的是箭头的数据。 | |
从请求得到的“结果”中获取当前界面中是否有方框或箭头,包含已学习(id大于0)和未学习的,有一个及以上则返回1。 | |
从请求得到的“结果”中获取当前界面中靠近中心的方框信息,未学习的框id为0,没有则返回-1 | |
此积木与上一个积木效果相同,区别是此积木读取的是箭头的数据。 | |
从请求得到的“结果”中获取当前界面中第N个(顺序随机)方框信息,包含已学习(id大于0)和未学习的。 | |
此积木与上一个积木效果相同,区别是此积木读取的是箭头的数据。 |
Mind+ V1.6.4新增积木:
积木 | 说明 |
---|---|
此积木触发一次相当于按一次学习按键,可以由程序控制二哈的学习。需要学习多次则可以多次执行此模块。 | |
此积木触发一次相当于触发了遗忘功能,将当前算法学习过的内容全部清除。 | |
此积木可以设置任意ID对应显示的名字,不同算法的名字可以分别设置。 | |
此积木可以在屏幕任意位置显示字符。可以显示英文字母、数字及符号,不可显示中文。 | |
此积木可以触发清除屏幕叠加显示积木所显示的所有字符。 | |
此积木可以触发拍照或截屏成图片保存到huskylens上的TF卡。注意需要在Huskylens上插一张TF卡,截屏出的图片包含屏幕上显示的文字方框等内容,拍照出的图只包含摄像头中的照片,没有方框文字信息。 | |
加载或保存模型到HUSKYLENS上的TF卡。需要在HUSKYLENS上插上TF卡,可以保存5组数据,每个算法分开保存。 |
6-实时模式用法
在实时模式中,HUSKYLENS直接通过USB线连接Mind+,因此可以直接与舞台进行交互,同时在Mind+中特意为HUSKYELNS开发了一套AI可视化工具,更利于学校老师教学AI功能,可以先通过可视化的形式在电脑端教学机器学习原理,然后部署到HUSKYLENS上进行作品制作。
【注:Mind+1.6.4 RC1.0为公测版,RC2.0正式版将调整部分积木的描述,如果你有什么建议欢迎在Mind+交流群进行交流】
6.1-加载扩展
实时模式>扩展>功能模块,加载HUSKYLENS。
注意:无需添加主控板,通过USB线直接连接HUSKYELNS。
6.2-连接HUSKYLENS
HUSKYLENS为独立于主控板的模块,因此不适用连接设备处进行连接,而是采用扩展功能旁的橙色感叹号进行连接。
连接成功后感叹号变成绿色对勾,表示已经正常连接,此时返回编辑器即可进行控制。
6.3-屏幕显示测试
在显示功能中找到如下积木点击运行:
此时HUSKYLENS上将显示文字:
6.4-AI学习使用流程
6.5-案例:垃圾分类
准备工作
- Mind+V1.6.4及以上版本
- HUSKYLENS二哈识图教育版(pro)
训练模型
- 打开AI可视化工具,此处我们关闭电脑自带摄像头,使用HUSKYLENS摄像头画面。
- 按下键盘上的1或者2键,将不同的垃圾的照片加入不同的分类中。
- 给每个分类的添加多种角度的照片,不少于10张。
- 分类错误的可以删除。
部署模型
- 将训练好的模型部署到HUSKYLENS上
识别
7-积木说明(高级功能)
Block | 功能说明 |
---|---|
此积木执行之后需要重新打开摄像头才会生效。 | |
开启摄像头,如果画面翻转可以镜像开启,部分电脑摄像头开启需要一定时间,可以在后面加几秒钟等待时间。 | |
调用电脑摄像头拍照保存到电脑上,可以在之后导入KNN分类器中进行训练。 | |
切换电脑摄像头,如果没有识别到可以重启一下软件或使用电脑自带相机软件判断摄像头是否识别。 | |
当使用舞台显示摄像头画面时通过此积木可以设置透明度让舞台背景与摄像头画面并存。 | |
初始化AI可视化工具,设置为KNN分类或人脸识别。部署到Huskylens时将自动部署到对应算法。 | |
从电脑摄像头拍一张照片并加入名称为tag1的分类中。同一种类别的图片加入同一个分类,不同类别的图片加入不同的分类,例如石头剪刀布的模型则所有石头加入一个分类,所有剪刀一个分类,所有布一个分类,所有背景一个分类。 | |
从HUSKELENS摄像头获取一张照片并加入名称为tag1的分类中。同上一个积木的用法,注意图片传输需要几秒钟时间,且需要连接HUSKYLENS。 | |
从电脑文件夹中一次加载多张图片到名称为tag1的分类中。同上一个积木的用法,注意路径可以使用变量传递。 | |
清除标签为tag1的分类中的所有图片。注意清除完需要重新训练才能获得结果。 | |
清除整个分类器中的所有数据。注意清除完需要重新训练才能获得结果。 | |
将可视化工具中的分类器进行训练并部署到HUSKYLENS上,部署完成之后HUSKYLENS可以直接进行识别。注意此模块运行需要一定时间。 | |
初始化电脑端KNN分类器,加载模型,清除已经训练后的数据,进行训练前需要先执行此模块,注意不用多次执行此模块。 | |
将AI可视化工具中的图片使用KNN模型进行训练生成模型。每一次添加图片之后都需要重新训练才能生效。注意此积木执行需要较大算力,会导致电脑卡顿一段时间(电脑性能越强越流畅)。 | |
模型训练完成之后可以通过此积木进行连续识别。注意需要先训练再识别,添加图片需要先调用此积木停止识别。 | |
获取识别结果。注意KNN算法中,未学习的图片会返回最像的那一个结果,即使相似度只有1%,因此建议可以先学习背景以便去除干扰。 |
8-详细操作说明
- 接上电源自动开机,断掉电源自动关机
- 左右拨动“功能按键”,切换选择六大功能
- 对准指定物体,按下“学习按键”,可以让 Huskylens 越学越聪明
- 识别到学习过的物体时,会改变线条、框体颜色,有些功能下会显示 ID
9-应用教程
二哈+Arduino系列教程
- 【二哈识图】Arduino视觉识别入门教程—01智能门禁系统
- 【二哈识图】Arduino视觉识别入门教程—02植物保护系统
- 【HUSKYLENS】Arduino视觉识别入门教程—03借还书系统
- 【二哈识图】Arduino视觉识别入门教程—04英语单词游戏
二哈+micro:bit系列教程
- 【HUSKYLENS二哈识图】micro:bit视觉识别入门教程—01 音乐魔镜
- 【HUSKYLENS二哈识图】micro:bit视觉识别入门教程—02 色彩钢琴
- 【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光
- 【HUSKYLENS二哈识图】micro:bit视觉识别入门 04 自助超市收银机
- 【HUSKYLENS二哈识图】micro:bit视觉识别入门 05 流浪猫狗投食机
- 【HUSKYLENS二哈识图】micro:bit视觉识别入门 06 循“轨”蹈矩的麦昆
更多应用可以在社区论坛或造物记搜索进行搜索。
10-常见问题FAQ
Q | 烧录固件之后黑屏 |
---|---|
A | 尝试如下步骤和方法: |
1、HUSKYELNS复位:HUSKYELNS断电,然后按住学习键不要松开,接下来给HUSKYLENS通电,然后松开学习键,复位完成。 | |
2、若依然黑屏,尝试重新烧录固件。 | |
3、若依然失败,可以联系技术支持。 |
反馈问题,可以加入Mind+官方交流群进行交流哦。