HuskyLens人工智能摄像头

目录

1、模块特性

2、模块功能

3、模块调测

3.1、单对象识别

3.2、多对象识别 

4、模块应用


1、模块特性

HuskyLens是一款简单易用的人工智能摄像头(视觉传感器),内置6种功能:人脸识别、物体追踪、物体识别、巡线追踪、颜色识别、标签(二维码)识别。仅需一个学习按键即可完成AI训练,摆脱繁琐的训练和复杂的视觉算法,让你更加专注于项目的构思和实现。


              HuskyLens板载UART/I2C接口,可以连接到Arduino、Raspberry Pi、LattePanda、micro:bit、STM32等主流控制器,实现硬件无缝对接,直接输出识别结果给控制器,无需折腾复杂的算法,就能制作非常有创意的项目,该智能硬件模组于2020年2月正式出售(预售价329RMB),通过一段官方演示视频进一步了解该模组。

Huskylens内置了许多类型的图像处理算法,可支持拍照、运算、识别和处理为一体,最终将识别结果通过UART/I2C输出到控制器,其接口说明如下所示:

  • USB 接口:接上电源自动开机,断掉电源自动关机,配上上位机,可以更新固件;
  • 传感器接口:支持 UART 或 I2C 协议,通过该接口,可连接常用的主控板,如 Arduino、树莓派、micro:bit;该接口也支持供电;
  • 功能按键:左右拨动,切换选择内置的功能;向下短按,调出或隐藏菜单;向下长按,进入当前功能的参数设置;
  • 学习按键:按下“学习按键”,学习指定物体。支持长按操作,长按期间,将持续学习;
  • 屏幕:2.0 寸 IPS 显示器,实时看到各种状态下的结果,方便调试,所见即所得。

2、模块功能

Huskylens主要有六大功能,简介如下所示:

  • 物体追踪:追踪指定的物体,可以是任何有明显轮廓的物体,甚至是各种手势;
  • 人脸识别:侦测脸部轮廓,可同时识别多人;
  • 物体识别:识别这是什么物体(仅限于内置的 20 种物体);
  • 巡线追踪:识别指定的线条,并做路径规划;
  • 颜色识别:识别指定的颜色及其位置(由于光线的变化,对于相近的颜色,摄像头有时会误识别);
  • 标签识别:侦测二维码标签,识别出指定标签(目前摄像头不能识别复杂二维码,如微信上用的二维码)。

3、模块调测

由于Huskylens将识别的结果通过UART/I2C传输到控制器,所以我们只需要在Huskylens上训练好识别对象,解析接口协议即可,这里我使用的是UART通信协议(57600 (bps)  8N1),该模块的协议格式如下所示:

数据头1数据头2地址数据长度命令数据累加和校验
0x550xAA1 Byte1Byte1Byte

Data 1~Data n

(10Byte)

1Byte

协议解析如下:

  • 数据头1和数据头2以0x55和0xAA固定格式开头,因为0x55二进制是0101 0101,0xAA二进制是1010 1010,在通讯编码原理中,应该尽可能避免过多的重复0或1,因为当你的传输变成一个长0/1时,一个脉冲干扰就会将你的数据截断,整加误码的机会。 若你的通讯机不能正确接受10101010或01010101,那么你的线路等肯定出现问题。 这个只是一个快速判断线路状态的一个手段,在做内现存测试的时候也经常使用这两个数据字段,也是同样的道理;

  • 地址占用一个字节,本模块默认地址是0x11;

  • 数据长度占用一个字节,指数据的长度,注意不是整个数据帧的长度;

  • 命令ID占用一个字节;

  • 数据长度为10位,数据信息为检测到对象的像素尺寸和对象属性,顺序为:检测对象X点中心低位字节、检测对象X点中心高位字节、检测对象Y点中心低位字节、检测对象Y点中心高位字节、检测对象宽度低位字节、检测对象宽度高位字节、检测对象高度低位字节、检测对象高度高位字节,剩余两个字节为检测到的对象;

  • 8位累加和校验,不进位,例如:0x55+0xAA+0x11+0x0A+0x10+0x2C+0x01+0xC8+0x00+0x0A+0x00+0x14+0x00+0x01

+0x00=0x23E,则校验位为0x3E。

3.1、单对象识别

Huskylens无需请求指令,自动发送毫秒级的设备状态数据帧,打开串口调测助手即可直接分析,下面以人脸识别功能为例,分析协议帧结构。

这里选取了周杰伦的图像作为识别对象, Huskylens人脸识别训练操作流程如下所示:

在尚未检测到目标对象的情况下,打开串口调测助手,模组发送大量数据(均相同),选择其中一条分析。

数据头1数据头2地址数据长度命令数据累加和校验
0x550xAA0x11

0x0A

(10 Byte) 

0x10

0x00 0x00 0x00 0x00 0x01 0x00 0x01 0x00

(8 Byte对象尺寸大小数据)

0x00 0x00

(2 Byte目标对象标识,此时代表无对象)

55+ AA+11+0A+10+00+00+00+00+01+ 00+01+00+00+00=0x12C

(取低位为0x2C)

 训练周杰伦的人脸作为识别对象,如下所示:

 此时模块发送的协议帧,可以识别出0001号ID,也就是周杰伦的人脸图像尺寸,如下所示:

数据头1数据头2地址数据长度命令数据累加和校验
0x550xAA0x11

0x0A

(10 Byte) 

0x10

0x9C 0x00 0x88 0x00 0x53 0x00 0x70 0x00

(8 Byte对象尺寸大小数据)

0x00 0x01

(创建的第一个人脸ID)

55+ AA+11+0A+10+9C+00+88+00+53+ 00+70+00+00+01=0x312

(取低位为0x12)

3.2、多对象识别 

 可以打开模块的多人脸训练模式,训练阿信为第二个识别对象,如下所示:

多人模式模块发送的协议帧中识别对象ID和单人模式有所区别,此时识别周杰伦(创建的第一个对象)。

模块发送协议如下所示:

其中0xFFFE代表多人识别中第二个对象(阿信)未识别到。

再识别阿信(创建的第二个对象),如下所示:


。。。。。。。。。。。。。。。。。

版权原因,完整文章,请参考如下:

HuskyLens人工智能摄像头

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值