回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页
best-icon

掌控慧眼小MU系列教程六——宽高坐标参数 简单

头像 肥罗-阿勇 2019.08.02 1307 2

步骤1 回顾上节课知识,展示作业

上节课我们学习到了机器猫慧眼小MU交通卡片识别能力

要求大家制作一个无人驾驶小车进行闯关。

不知道大家完成得怎么样?我们来看看同学们的作品吧

步骤2 学习新知识

不知道大家在小MU的库里有没有注意到下面这个东西

project-image

不论是球体检测,还是卡片检测,我们都可以显示物体在小MU视觉里的横向坐标,纵向坐标,以及高度和宽度和标签

这里的横向坐标,纵向坐标跟我们平时的X轴Y轴有点不同,左上角是0,0,右下角是100,100

显示的横向坐标,纵向坐标是物体的中心点所在的位置

这里的宽度和高度也不是物体的真实宽度和高度,而是在小MU成像里的宽度和高度

就好比我们平时拍照,相机离我们远,拍出的照片人像就小,相反,人像就大一个道理

以圆形卡片为例

project-image

代码如下

project-image

这里显示的就是圆形卡片在小MU中的视觉图片

x,y是指卡片的中心点所在小MU的坐标位置

宽度是指两边红色边框的宽度,不包括白色部分。

高度是指上面蓝色顶部到下面红色底部的高度,不包括白色部分

而且宽度和高度都是卡片成像的宽度和高度,不是实际宽度和高度

而最后的label是指固定的标签,每张卡片都有自己的固定标签

project-image

比如交通卡片,前进的标签是1,掉头的标签是4.

每张卡片下面都有标准该卡片的标签值

步骤3 应用新知识

知道这些东西有什么用呢?

用处可大了,我们可以利用这些数据来标注物体

也就是我们常听说的图像识别技术

图像识别技术是以图像的主要特征为基础的。每个图像都有它的特征,如字母A有个尖,P有个圈、而Y的中心有个锐角等。对图像识别时眼动的研究表明,视线总是集中在图像的主要特征上,也就是集中在图像轮廓曲度最大或轮廓方向突然改变的地方,这些地方的信息量最大。而且眼睛的扫描路线也总是依次从一个特征转到另一个特征上。由此可见,在图像识别过程中,知觉机制必须排除输入的多余信息,抽出关键的信息。同时,在大脑里必定有一个负责整合信息的机制,它能把分阶段获得的信息整理成一个完整的知觉映象。

是不是很复杂?我们来简单说一下原理

我们看一个人,认识了,以后看到了一眼就认出来了,不需要思考,好像很简单

但是对于计算机就不同了,它认识一个人是把这个人数据化,比如身高多少,宽度多少,脸长多少,脸长宽比率多少,眼睛多宽,眼睛与眼睛之间距离多少……几百个是数据。只有这些数据99%以上符合,它就会认为这两个是一个人。

所以图像识别就是一种大数据的比对

我们利用小MU的这些数据可以来进行比对和校验

比如一开始给一个网球,后面给一个乒乓球,我们可以根据数据来比对是不是同一个球。

其实这就是简单的人工智能。

我们今天先来学习如何利用这些数据测定物体离小MU的距离。

我们先来看看相机成像原理

project-image

在固定焦距的情况下,物体离摄像头越近图像越大,反之越小。

我们来实验一下,看看在固定焦距的情况下,物体离摄像头的距离、物体实际大小,成像大小有什么关系

连接掌控板和小MU,编程代码如下

project-image

然后我们将几次测量结果记录如下

project-image

在焦距固定在等级1的情况下,我们得到几组测试数据,通过观测可以发现卡片成像宽度*距离得出的数据很接近

于是我们大胆猜测小MU成像宽度*距离,在定焦的情况下是定值

为了验证这个结果,我们可以反向验证。

我们随意拉开一个距离,然后得出成像宽度为26,我们推测 800/26=30.7

通过实际测量我们发现数值为30.4,

相差结果不大,说明我们的猜测大体是准确的。

这样我们就可以根据小MU成像数据来推测物体离小MU的距离了。

(特别说明:我是在一种比较粗糙的环境下进行的数据测量,如果采用非常准确的测量环境,这个结果应该会更加准确)

project-image

步骤4 作业

同学们自己动手进行数据测试,测试数据在10个以上,验证我们的结论是否正确。

评论

user-avatar
  • 虾虾^0^

    虾虾^0^2021.08.12

    厉害

    0
    • Tarzen

      Tarzen2019.08.06

      很棒的小MU入门系列课程,感谢张老师的费心编写以及小学生们能够看得懂的表述。希望越来越多的孩子能够接触到视觉识别以及由此带来的人工智能。

      0