8907| 3
|
[《视觉识别入门教程》] 【HUSKYLENS二哈识图】micro:bit视觉识别入门 03 智能的追光 |
智能的追光 功能介绍: 本项目利用 HuskyLens 的物体追踪功能,通过学习舞台上的人,实现对其进行追踪,驱动云台自动追踪,从而驱动灯光实时追踪你的脚步。 材料清单: 知识园地: 当我们需要追踪一个活动的物体,除了人工操作以外就需要使用到视觉物体追踪技术了,这项技术广泛应用在我们的生活中,如视频监控、无人机跟随拍摄等。我们这个项目就是利用HUSKYLENS 的物体追踪功能来实现智能追光跟随的。 一、什么是物体追踪? 物体追踪是人工智能视觉识别中非常重要的一个功能,属于物体行为识别的一个类别。物体追踪是计算机视觉中的一项重要任务,是指对视频序列中的目标状态进行持续推断的过程,简单来说就是识别指定目标并追踪或者追踪摄像头视觉范围内移动的物体。物体追踪技术在军事和民用方面都有着十分广泛的应用。 物体追踪工作原理: 通过单摄像头采集图像 , 将图像信息传入计算机 , 经过分析处理 , 计算出运动物体的相对位置, 同时控制摄像头转动, 对物体进行实时追踪。物体追踪系统执行追踪功能时主要分为四步,识别物体、追踪物体、预测物体运动、控制摄像头。 识别物体是在静态背景下, 通过一些图像处理的算法,得到较为精确的物体的外观信息,能够识别出物体的形态并标注出来,如图所示。 追踪物体是通过上一步得到的物体的外观信息, 根据物体的外观特征 , 使用算法对后面的图像序列进行跟踪,并且可以在后续的追踪中进行更深入的学习,使追踪越来越精确。如图中,在移动中缓慢旋转物体,可以对其进行多角度学习。 预测物体运动是为了提高效率采用算法进行计算, 预测下一帧运动物体图像的位置。可以优化算法并提高效率。如图可以通过前几秒钟鸟的移动趋势来预测后续的移动路径和动作。 控制摄像头在采集图像信息的同时移动摄像头, 使摄像头跟随着物体移动的方向调整方向,一般需要配合云台或其他运动机构来实现。 物体追踪技术主要应用在以下领域: 1.智能视频监控: 基于运动识别(基于步法的人类识别、自动物体检测等),自动化监测(监视一个场景以检测可疑行为);交通监视(实时收集交通数据用来指挥交通流动) 2.人机交互: 传统人机交互是通过计算机键盘和鼠标进行的,为了使计算机具有识别和理解人的姿态、动作、手势等能力,跟踪技术是关键 3.机器人视觉导航: 在智能机器人中,跟踪技术可用于计算拍摄物体的运动轨迹 4.虚拟现实: 虚拟环境中 3D 交互和虚拟角色动作模拟直接得益于视频人体运动分析的研究成果,可给参与者更加丰富的交互形式,人体跟踪分析是其关键技术 二、HUSKYLENS 传感器 - 物体追踪功能演示 如果想要追光灯能够实时的跟随你的步伐移动,那就需要有一双“眼睛”紧盯你的步伐,并操作灯光实时追随着你,那我们如何实现这个功能呢?就要使用到我们使用的HUSKYLENS 传感器中的物体追踪功能。 HUSKYLENS 传感器中的物体追踪功能是利用传感器内置算法,通过对物体的特征进行学习而实现对物体在屏幕中位置的追踪,并可以将位置的坐标值反馈给主控的功能。我们可以通过获取的物品位置值来驱动云台实现实时追踪的追光灯的功能。 学习物体: 与颜色识别或人脸识别不同,物体追踪是可以对一个物体(或人)进行完整的学习并进行识别的,颜色识别只针对颜色,而人脸则只是人体的一部分,物体追踪则是针对这个物体的整体特征进行学习从而进行追踪。 把 HuskyLens 对准需要追踪的物体,调节物体与 HuskyLens 的距离,将物体包含在屏幕中央的橙黄色方框内。如不方便,包含特征鲜明的局部亦可。长按“学习按键” 不松开,并调整角度和距离,使得 HuskyLens 从不同的角度和距离学习该物体。学习过程中,屏幕上的黄框会标注“学习中:ID1”。 当HuskyLens 在不同的角度和距离都能追踪到该物体时,就可以松开“学习按键” 结束学习了。 小提示:如果屏幕中央没有橙黄色方框,说明 HuskyLens 之前学习过一个物体,请选择“忘记学过的物品”后重新学习。 打开追光灯 Huskylens传感器上有两颗补光灯,可以让他在昏暗的环境下依然可以稳定的执行检测功能。 打开补光灯 打开切补换光到常灯规设置选项,进入设置菜单。在常规设置菜单下找到 LED 开关 摁下按钮就可以通过左右拨动设置 LED 灯的开关了。 三、2自由度云台 什么是云台? 云台是安装、固定摄像机的支撑设备,它分为固定和电动云台两种。固定云台适用于监视范围不大的情况,在固定云台上安装好摄像机后可调整摄像机的水平和俯仰的角度,达到最好的工作姿态后只要锁定调整机构就可以了。电动云台适用于对大范围进行扫描监视,它可以扩大摄像机的监视范围。电动云台高速姿态是由两台执行电动机来实现,电动机接受来自控制器的信号精确地运行定位。 云台在案例中的应用 二自由度云台的作用是移动摄像头使摄像头保持一直将识别的图框保持在识别区域中心的功能。这样我们的追光灯就可以保证一直照射在目标身上。二自由度云台的两个自由度分别是水平移动(X 轴)垂直移动(Y 轴)这两个方向的移动,分别对应我们云台上安装的两个舵机的移动方向。 项目实践 我们将分为两步将任务完成,首先我们会学习使用 HuskyLens 的物体追踪功能, 并读取物体的坐标数据。然后再次基础上添加云台实现最终的自动追光的功能。 任务一:物体追踪与坐标值的作用 通过HuskyLens 传感器获取到物体在屏幕中的位置坐标值,我们可以通过坐标值判断物体在传感器的相对位置。 任务二:云台驱动的追光灯 在上步获取了坐标值之后,驱动舵机移动 HuskyLens 传感器,让坐标值的位置移动到屏幕中心,这样就可以实现实时追光的效果。 任务一:物体追踪与坐标值的作用 1.硬件连接 HuskyLens 传感器使用的是IIC 接口,需要注意线序,不要接错或接反。 2.程序设计 STEP1 学习与识别 在设计程序之前我们需要让 HuskyLens 传感器学习我们需要追踪的“演员”。 STEP2 Mind+ 软件设置 打开Mind+ 软件(1.62 或以上版本),切换到“上传模式”,点击“扩展”,在“主控板”下点击加载“micro:bit”,在“传感器”下点击加载“HUSKYLENS AI 摄像头”。 STEP3 指令学习 来认识一下主要用到的几条指令。 STEP4 坐标分析 HuskyLens 传感器屏幕分辨率为 320*240,如图。那么我们通过程序获取的物体中心点坐标也就在这个范围之内。如,获取的坐标值为(160,120)那现在追踪的物体就在屏幕的中心。 STEP5 流程图分析 4. 运行效果 打开 Mind+ 中的串口,读取数据,出现(-1,-1)则表示追踪的物体丢失。 任务二:云台驱动的追光灯 1. 结构搭建及硬件连接 在了解了物体追踪的功能和云台的功能后,我们就需要动手来组装了,首先我们组要组装二自由度云台。 完成后将他们的连接线接到扩展板上。 注:接线时注意引脚一 一对应 2. 程序设计 让追光灯保持追踪物体的话,主要需要的就是这个功能: 在上一步我们知道,HuskyLens 传感器的屏幕分辨率为 320*240,如图。那么屏幕的中心点坐标就是(160,120),那么我们可以根据对象方框的中心点坐标,让舵机作出以下动作,实现跟踪。 当对象方框中心点到达屏幕中心时,系统会判断为目标在追光灯的位置中心。追光灯就依靠哈士奇上自带的两颗 LED 来实现。 根据以上分析得出程序逻辑图如下: 为了简化程序的复杂度,这里我们会用到变量和自定义函数的模块。变量的主要作用, 就是用来存储信息,在之后需要使用的时候再去调用它。而函数则是存储一段指令,在之后需要的时候去调用它。 3. 程序示例 为这段程序相交于上个案例多使用了两个舵机,所以需要在扩展模块的执行器中添加舵机模块。 1>首先我们设置变量和自定义函数,在新疆数字类型变量中新建“X 轴”、“Y 轴”这两个变量;在函数自定义模块中新建“初始化舵机”、“X 轴移动”、“Y 轴移动”这三个模块。 2>对三个自定义模块函数进行定义,首先是初始化舵机,目标是将舵机位置移动到初始值,并将舵机的旋转角度于变量“X 轴”和“Y 轴进行了关联。 3>定义“X轴移动”,这里执行的功能是程序框图中对物体中心坐标X轴这部分判断执行。 4>同理,“Y 轴移动”的功能是依据程序框图里 Y 轴部分的判断。 5>最后我们来完成主程序,只需要调用之前编辑好的自定义函数就可以,程序内容简洁明了。 4. 运行效果 HuskyLens 传感器会根据舞台上人物的移动而跟随进行追光。 项目小结 项目回顾: 本节课学习使用了HuskyLens 传感器的物体追踪功能,配合云台实现了自动追光灯的功能;在现实生活中,物体追踪功能还有这更多的应用。 知识点回顾: 1、学习了物体追踪的主要技术; 2、学习了云台和舵机的技术于使用; 3、学习了程序中变量和自定义函数的概念和使用。 在完成了智能追光灯项目之后,是否能够完成一个自动打靶装置?利用哈士奇的物体追踪功能来自动瞄准移动靶或固定靶。尝试使用激光灯来作为打靶的”子弹“, 使用光线传感器来检测是否击中靶心的方式来实现功能。 拓展知识 追踪物体深度学习: 移动 HuskyLens 或者目标物体,屏幕中的框会自动追踪目标物体。追踪物体时,会显示“学习中:ID1”,表示 HuskyLens 一边追踪物体,一边学习,这样设置有助于提高物体追踪的能力;也可以长按“功能按键”,进入二级菜单参数设置,选择“学习开启”,关闭此参数。 当识别结果满足要求,达到预期效果,就可关闭一边追踪一边学习的功能,方法是: 长按“功能按键”,进入物体追踪功能的二级菜单参数设置,选择“学习开启”,关闭此参数即可(进度条颜色变白,进度条上的方块位于进度条的左边)。 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed