亚马逊AWS官方博客
基于 Amazon DeepRacer Opensource 实现二维码识别与变道亮灯操作
在驾驶过程中,车辆定位的准确程度直接影响决策系统输出结果。在真实驾驶环境中,我们一般使用 GPS 与地图进行车辆定位,但是在模型车辆加载高精度 GPS 会造成车重增加以及耗能增加的问题。因此,我们采用二维码,将车辆位置信息写入二维码(QR code)中,并结合摄像头的车道线识别识别算法进行车辆定位,并指导车辆在双车道上进行变道操作。
二维码在日常生活中非常常见,它是一种特殊类型的条形码,可以将数字与文本信息进行二进制编码与解码,无需考虑方向,角度与透视畸变,并通过冗余纠错进行信息校验保证非常高的准确性。如果我们把位置信息与操作指令编写到二维码中,车辆在对应位置可以毫秒级读取对应信息,并进行对应操作。
例如,在 DeepRacer offroad sample project 中,我们看到如下代码范例:
在这段代码中,我们把'DR: {"wp": 1, "p": "l"}'
写入二维码中,表示含义为:这个二维码所在位置是第一个 waypoint, 二维码 position 是 left,这两个值都是位置信息,因此可以实现不借助视觉识别,仅计算到二维码的相对位置就可以限定小车的运行方向(https://github.com/aws-deepracer/aws-deepracer-offroad-sample-project/blob/main/getting-started.md)。如果这时我们再加入一个字段:"action": "left"
,定义为在看到二维码后车辆应该延着左侧车道行驶,我们就可以控制车辆接下来的变道动作。如果再加一个字段:"RGB": (10000000, 0, 0)
“RGB”: (10,就可以控制尾灯的颜色为红。
在本次比赛中,我们预期车辆识别二维码后行驶路线是这样:
那么我们就需要在 0 和 1 号二维码处标识 action 为左侧道路,2 和 3 号二维码处标识 action 为右侧道路,这种组合车辆在每一处二维码都需要进行变道。
Topic 初始化:
识别 QR code:
对应控制逻辑:
此外,在实际指令下发中,需要考虑处理器延迟以及环境噪声,进行实际场景中的调试。在下一篇 blog 中,我们将会讨论基于- Intel Neural Compute Stick 2 与 openvino 的对象识别算法加速场景与实现流程。