7789浏览
查看: 7789|回复: 3

[《视觉识别入门教程》] 【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光

[复制链接]
智能的追光

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图1
【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图2

功能介绍:
本项目利用 HuskyLens 的物体追踪功能,通过学习舞台上的人,实现对其进行追踪,驱动云台自动追踪,从而驱动灯光实时追踪你的脚步。

材料清单:

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图3

知识园地:
当我们需要追踪一个活动的物体,除了人工操作以外就需要使用到视觉物体追踪技术了,这项技术广泛应用在我们的生活中,如视频监控、无人机跟随拍摄等。我们这个项目就是利用HUSKYLENS 的物体追踪功能来实现智能追光跟随的。

一、什么是物体追踪?
物体追踪是人工智能视觉识别中非常重要的一个功能,属于物体行为识别的一个类别。物体追踪是计算机视觉中的一项重要任务,是指对视频序列中的目标状态进行持续推断的过程,简单来说就是识别指定目标并追踪或者追踪摄像头视觉范围内移动的物体。物体追踪技术在军事和民用方面都有着十分广泛的应用。

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图4

物体追踪工作原理:
通过单摄像头采集图像 , 将图像信息传入计算机 , 经过分析处理 , 计算出运动物体的相对位置, 同时控制摄像头转动, 对物体进行实时追踪。物体追踪系统执行追踪功能时主要分为四步,识别物体、追踪物体、预测物体运动、控制摄像头。

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图5

识别物体是在静态背景下, 通过一些图像处理的算法,得到较为精确的物体的外观信息,能够识别出物体的形态并标注出来,如图所示。

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图6

追踪物体是通过上一步得到的物体的外观信息, 根据物体的外观特征 , 使用算法对后面的图像序列进行跟踪,并且可以在后续的追踪中进行更深入的学习,使追踪越来越精确。如图中,在移动中缓慢旋转物体,可以对其进行多角度学习。

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图7

预测物体运动是为了提高效率采用算法进行计算, 预测下一帧运动物体图像的位置。可以优化算法并提高效率。如图可以通过前几秒钟鸟的移动趋势来预测后续的移动路径和动作。

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图8

控制摄像头在采集图像信息的同时移动摄像头, 使摄像头跟随着物体移动的方向调整方向,一般需要配合云台或其他运动机构来实现。

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图9

物体追踪技术主要应用在以下领域:
1.智能视频监控:
基于运动识别(基于步法的人类识别、自动物体检测等),自动化监测(监视一个场景以检测可疑行为);交通监视(实时收集交通数据用来指挥交通流动)

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图10

2.人机交互:
传统人机交互是通过计算机键盘和鼠标进行的,为了使计算机具有识别和理解人的姿态、动作、手势等能力,跟踪技术是关键

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图11

3.机器人视觉导航:
在智能机器人中,跟踪技术可用于计算拍摄物体的运动轨迹
【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图12

4.虚拟现实:
虚拟环境中 3D 交互和虚拟角色动作模拟直接得益于视频人体运动分析的研究成果,可给参与者更加丰富的交互形式,人体跟踪分析是其关键技术

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图13

二、HUSKYLENS 传感器 - 物体追踪功能演示
如果想要追光灯能够实时的跟随你的步伐移动,那就需要有一双“眼睛”紧盯你的步伐,并操作灯光实时追随着你,那我们如何实现这个功能呢?就要使用到我们使用的HUSKYLENS 传感器中的物体追踪功能。

HUSKYLENS 传感器中的物体追踪功能是利用传感器内置算法,通过对物体的特征进行学习而实现对物体在屏幕中位置的追踪,并可以将位置的坐标值反馈给主控的功能。我们可以通过获取的物品位置值来驱动云台实现实时追踪的追光灯的功能。

学习物体:
与颜色识别或人脸识别不同,物体追踪是可以对一个物体(或人)进行完整的学习并进行识别的,颜色识别只针对颜色,而人脸则只是人体的一部分,物体追踪则是针对这个物体的整体特征进行学习从而进行追踪。

把 HuskyLens 对准需要追踪的物体,调节物体与 HuskyLens 的距离,将物体包含在屏幕中央的橙黄色方框内。如不方便,包含特征鲜明的局部亦可。长按“学习按键” 不松开,并调整角度和距离,使得 HuskyLens 从不同的角度和距离学习该物体。学习过程中,屏幕上的黄框会标注“学习中:ID1”。

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图14

当HuskyLens 在不同的角度和距离都能追踪到该物体时,就可以松开“学习按键” 结束学习了。

小提示:如果屏幕中央没有橙黄色方框,说明 HuskyLens 之前学习过一个物体,请选择“忘记学过的物品”后重新学习。

打开追光灯
Huskylens传感器上有两颗补光灯,可以让他在昏暗的环境下依然可以稳定的执行检测功能。

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图45

打开补光灯
打开切补换光到常灯规设置选项,进入设置菜单。在常规设置菜单下找到 LED 开关

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图15【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图16

摁下按钮就可以通过左右拨动设置 LED 灯的开关了。

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图17

三、2自由度云台

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图19

什么是云台?
云台是安装、固定摄像机的支撑设备,它分为固定和电动云台两种。固定云台适用于监视范围不大的情况,在固定云台上安装好摄像机后可调整摄像机的水平和俯仰的角度,达到最好的工作姿态后只要锁定调整机构就可以了。电动云台适用于对大范围进行扫描监视,它可以扩大摄像机的监视范围。电动云台高速姿态是由两台执行电动机来实现,电动机接受来自控制器的信号精确地运行定位。

云台在案例中的应用
二自由度云台的作用是移动摄像头使摄像头保持一直将识别的图框保持在识别区域中心的功能。这样我们的追光灯就可以保证一直照射在目标身上。二自由度云台的两个自由度分别是水平移动(X 轴)垂直移动(Y 轴)这两个方向的移动,分别对应我们云台上安装的两个舵机的移动方向。

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图18

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图20
项目实践
我们将分为两步将任务完成,首先我们会学习使用 HuskyLens 的物体追踪功能, 并读取物体的坐标数据。然后再次基础上添加云台实现最终的自动追光的功能。

任务一:物体追踪与坐标值的作用
通过HuskyLens 传感器获取到物体在屏幕中的位置坐标值,我们可以通过坐标值判断物体在传感器的相对位置。

任务二:云台驱动的追光灯
在上步获取了坐标值之后,驱动舵机移动 HuskyLens 传感器,让坐标值的位置移动到屏幕中心,这样就可以实现实时追光的效果。

任务一:物体追踪与坐标值的作用
1.硬件连接
HuskyLens 传感器使用的是IIC 接口,需要注意线序,不要接错或接反。

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图21

2.程序设计
STEP1 学习与识别
在设计程序之前我们需要让 HuskyLens 传感器学习我们需要追踪的“演员”。

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图22

STEP2 Mind+ 软件设置
打开Mind+ 软件(1.62 或以上版本),切换到“上传模式”,点击“扩展”,在“主控板”下点击加载“micro:bit”,在“传感器”下点击加载“HUSKYLENS AI 摄像头”。
【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图23【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图24

STEP3 指令学习
来认识一下主要用到的几条指令。

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图25

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图26

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图27

STEP4 坐标分析
HuskyLens 传感器屏幕分辨率为 320*240,如图。那么我们通过程序获取的物体中心点坐标也就在这个范围之内。如,获取的坐标值为(160,120)那现在追踪的物体就在屏幕的中心。

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图46

STEP5 流程图分析

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图47

3. 程序示例
【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图48

4. 运行效果
打开 Mind+ 中的串口,读取数据,出现(-1,-1)则表示追踪的物体丢失。

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图28

任务二:云台驱动的追光灯
1. 结构搭建及硬件连接
在了解了物体追踪的功能和云台的功能后,我们就需要动手来组装了,首先我们组要组装二自由度云台。

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图29
【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图30
【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图31
【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图32
【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图33

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图34

完成后将他们的连接线接到扩展板上。

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图49

注:接线时注意引脚一 一对应

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图35

2. 程序设计
让追光灯保持追踪物体的话,主要需要的就是这个功能:

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图36

在上一步我们知道,HuskyLens 传感器的屏幕分辨率为 320*240,如图。那么屏幕的中心点坐标就是(160,120),那么我们可以根据对象方框的中心点坐标,让舵机作出以下动作,实现跟踪。



【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图37

当对象方框中心点到达屏幕中心时,系统会判断为目标在追光灯的位置中心。追光灯就依靠哈士奇上自带的两颗 LED 来实现。
根据以上分析得出程序逻辑图如下:

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图50

为了简化程序的复杂度,这里我们会用到变量和自定义函数的模块。变量的主要作用, 就是用来存储信息,在之后需要使用的时候再去调用它。而函数则是存储一段指令,在之后需要的时候去调用它。

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图38【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图39

3. 程序示例
为这段程序相交于上个案例多使用了两个舵机,所以需要在扩展模块的执行器中添加舵机模块。

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图40

1>首先我们设置变量和自定义函数,在新疆数字类型变量中新建“X 轴”、“Y 轴”这两个变量;在函数自定义模块中新建“初始化舵机”、“X 轴移动”、“Y 轴移动”这三个模块。

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图41【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图42

2>对三个自定义模块函数进行定义,首先是初始化舵机,目标是将舵机位置移动到初始值,并将舵机的旋转角度于变量“X 轴”和“Y 轴进行了关联。

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图51

3>定义“X轴移动”,这里执行的功能是程序框图中对物体中心坐标X轴这部分判断执行。

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图52

4>同理,“Y 轴移动”的功能是依据程序框图里 Y 轴部分的判断。

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图53

5>最后我们来完成主程序,只需要调用之前编辑好的自定义函数就可以,程序内容简洁明了。

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图54

4. 运行效果
HuskyLens 传感器会根据舞台上人物的移动而跟随进行追光。

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图43

项目小结
项目回顾:
本节课学习使用了HuskyLens 传感器的物体追踪功能,配合云台实现了自动追光灯的功能;在现实生活中,物体追踪功能还有这更多的应用。

知识点回顾:
1、学习了物体追踪的主要技术;
2、学习了云台和舵机的技术于使用;
3、学习了程序中变量和自定义函数的概念和使用。

项目拓展
在完成了智能追光灯项目之后,是否能够完成一个自动打靶装置?利用哈士奇的物体追踪功能来自动瞄准移动靶或固定靶。尝试使用激光灯来作为打靶的”子弹“, 使用光线传感器来检测是否击中靶心的方式来实现功能。

拓展知识
追踪物体深度学习:
移动 HuskyLens 或者目标物体,屏幕中的框会自动追踪目标物体。追踪物体时,会显示“学习中:ID1”,表示 HuskyLens 一边追踪物体,一边学习,这样设置有助于提高物体追踪的能力;也可以长按“功能按键”,进入二级菜单参数设置,选择“学习开启”,关闭此参数。

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图44

当识别结果满足要求,达到预期效果,就可关闭一边追踪一边学习的功能,方法是: 长按“功能按键”,进入物体追踪功能的二级菜单参数设置,选择“学习开启”,关闭此参数即可(进度条颜色变白,进度条上的方块位于进度条的左边)。

【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光图55
29.png

txm派瑞深山锹  高级技师

发表于 2020-5-6 11:52:27

详细的教程!赞~
回复

使用道具 举报

tzlzy  高级技师

发表于 2020-7-15 21:00:03

不错!很详细,很不错,实用!
回复

使用道具 举报

_木子_  管理员
 楼主|

发表于 2020-7-27 14:24:59

tzlzy 发表于 2020-7-15 21:00
不错!很详细,很不错,实用!

         
回复

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail