在线试读

get_product_contenthtml 项目3认识路标的自动小车
说明
在这个项目中,重新回归轮子驱动的小车。然而,我们要脱离将手机作为遥控器的模式,这次,让手机成为机器人的眼睛,负责看着前方,当发现路标的时候,按照路标的指示控制小车运行。
构想
现在大多数Android手机上都配备有高分辨率的摄像头用来拍照、摄像。而乐高机器人的套装标配中通常都不包含这类摄影摄像设备。要让机器人真正能够“看到”面前的东西,仅靠红外线传感器或超声波传感器这类测距设备是远远不够的。而手机上的摄像头刚好弥补这一缺陷。
这次,就利用手机上的摄像头来检测、识别摆在机器人路上的路标,然后将其信息转换成命令发送给机器人。这样,就可以让机器人看着路标自动完成自己要走的路。
调研〖*4/5〗路标的识别有了前几个项目的经验,手机控制机器人对我们来说已经不再是什么难解的课题了。从上面的构想可以看出,本项目中关键的问题就是如何实现对路标的识别。
由于这是一个相对复杂些的问题,需将问题分解来看。
1. 确定路标图形格式
首先,要确定路标图形的格式。考虑到算法的复杂度,在本项目中,不打算实现对类似图131里那些现实世界中的路标进行识别,而是识别我们自己设计的特定路标图形。这样做,一方面可以降低算法复杂度,另一方面也可以根据需要随时添加新的路标。为了达到这两个目的,路标必须设计成容易识别并有相当的自由度才行。
图131现实世界中的路标
首先来看看如何让路标容易识别。为了达到这个目的,必须了解计算机如何进行图像识别。如前所述,计算机科学其实是一门仿生学。因此,还是先来看看人类是如何进行图像识别的。项目3认识路标的自动小车  当安卓遇上乐高——用Android手机打造智能乐高机器人〖2〗〖2〗 〖1〗 图132至图134描述了在大道上辨认路标的过程。众所周知,人眼的工作原理类似于照相机,眼前的景象会在眼底投影成一张图片,那么人们要识别路标,首先要从这张投影图中找到并定位路标。图132就是我们眼前景象的投影图片,在图133中,我们定位到了路标。接下来,为了按照路标指示行事,必须看懂并理解路标上的内容。这时,人眼就会聚焦在路标上并开始对路标的细节进行采集和分析,大脑会参与其中去分析和理解路标内容的意义。当我们集中注意力去理解路标的时候,就如同图134那样,很可能会忽略周围的事物。在这个过程中,大脑实际还会对路标的图像进行变形和分解以识别上面的形状和文字。