步骤1 回顾上节课知识,展示作业
上节课我们学习到了机器猫慧眼小MU交通卡片识别能力
要求大家制作一个无人驾驶小车进行闯关。
不知道大家完成得怎么样?我们来看看同学们的作品吧
步骤2 学习新知识
不知道大家在小MU的库里有没有注意到下面这个东西
不论是球体检测,还是卡片检测,我们都可以显示物体在小MU视觉里的横向坐标,纵向坐标,以及高度和宽度和标签
这里的横向坐标,纵向坐标跟我们平时的X轴Y轴有点不同,左上角是0,0,右下角是100,100
显示的横向坐标,纵向坐标是物体的中心点所在的位置
这里的宽度和高度也不是物体的真实宽度和高度,而是在小MU成像里的宽度和高度
就好比我们平时拍照,相机离我们远,拍出的照片人像就小,相反,人像就大一个道理
以圆形卡片为例
代码如下
这里显示的就是圆形卡片在小MU中的视觉图片
x,y是指卡片的中心点所在小MU的坐标位置
宽度是指两边红色边框的宽度,不包括白色部分。
高度是指上面蓝色顶部到下面红色底部的高度,不包括白色部分
而且宽度和高度都是卡片成像的宽度和高度,不是实际宽度和高度
而最后的label是指固定的标签,每张卡片都有自己的固定标签
比如交通卡片,前进的标签是1,掉头的标签是4.
每张卡片下面都有标准该卡片的标签值
步骤3 应用新知识
知道这些东西有什么用呢?
用处可大了,我们可以利用这些数据来标注物体
也就是我们常听说的图像识别技术
图像识别技术是以图像的主要特征为基础的。每个图像都有它的特征,如字母A有个尖,P有个圈、而Y的中心有个锐角等。对图像识别时眼动的研究表明,视线总是集中在图像的主要特征上,也就是集中在图像轮廓曲度最大或轮廓方向突然改变的地方,这些地方的信息量最大。而且眼睛的扫描路线也总是依次从一个特征转到另一个特征上。由此可见,在图像识别过程中,知觉机制必须排除输入的多余信息,抽出关键的信息。同时,在大脑里必定有一个负责整合信息的机制,它能把分阶段获得的信息整理成一个完整的知觉映象。
是不是很复杂?我们来简单说一下原理
我们看一个人,认识了,以后看到了一眼就认出来了,不需要思考,好像很简单
但是对于计算机就不同了,它认识一个人是把这个人数据化,比如身高多少,宽度多少,脸长多少,脸长宽比率多少,眼睛多宽,眼睛与眼睛之间距离多少……几百个是数据。只有这些数据99%以上符合,它就会认为这两个是一个人。
所以图像识别就是一种大数据的比对
我们利用小MU的这些数据可以来进行比对和校验
比如一开始给一个网球,后面给一个乒乓球,我们可以根据数据来比对是不是同一个球。
其实这就是简单的人工智能。
我们今天先来学习如何利用这些数据测定物体离小MU的距离。
我们先来看看相机成像原理
在固定焦距的情况下,物体离摄像头越近图像越大,反之越小。
我们来实验一下,看看在固定焦距的情况下,物体离摄像头的距离、物体实际大小,成像大小有什么关系
连接掌控板和小MU,编程代码如下
然后我们将几次测量结果记录如下
在焦距固定在等级1的情况下,我们得到几组测试数据,通过观测可以发现卡片成像宽度*距离得出的数据很接近
于是我们大胆猜测小MU成像宽度*距离,在定焦的情况下是定值
为了验证这个结果,我们可以反向验证。
我们随意拉开一个距离,然后得出成像宽度为26,我们推测 800/26=30.7
通过实际测量我们发现数值为30.4,
相差结果不大,说明我们的猜测大体是准确的。
这样我们就可以根据小MU成像数据来推测物体离小MU的距离了。
(特别说明:我是在一种比较粗糙的环境下进行的数据测量,如果采用非常准确的测量环境,这个结果应该会更加准确)
步骤4 作业
同学们自己动手进行数据测试,测试数据在10个以上,验证我们的结论是否正确。
虾虾^0^2021.08.12
厉害
Tarzen2019.08.06
很棒的小MU入门系列课程,感谢张老师的费心编写以及小学生们能够看得懂的表述。希望越来越多的孩子能够接触到视觉识别以及由此带来的人工智能。