第17课 交通卡标签识别


为使机甲狄仁杰更加智能,使用小 MU 视觉识别传感器为狄仁杰
加上视觉,实现自动驾驶的功能。现在先来学习如何编程使小 MU 视
觉识别传感器能智能识别交通卡片标签吧。

新建一个Mind+项目

  1. 添加掌控板模块

3.5 交通卡标签识别 - 图1点击右下角扩展按钮进入扩展栏,选择主控板栏添加掌控板模块3.5 交通卡标签识别 - 图2
点击左上角返回,左边模块栏增加掌控模块(里面有串口操作和引脚操作,引脚操作可以控制电机的速度和方向)
3.5 交通卡标签识别 - 图3

  1. 添加视觉识别摄像头

    点击扩展,选择传感器栏添加视觉识别摄像头模块。
    image.png
    返回,左边模块栏增加传感器模块。
    image.png

  2. MU视觉识别摄像头线路连接和设置

3.5 交通卡标签识别 - 图6

设定智能识别卡片编程
(1)设置开机显示为“启动AI人工智能”
在掌控模块的屏幕显示找到
3.5 交通卡标签识别 - 图7
3.5 交通卡标签识别 - 图8
把“Mind+”改为“启动AI人工智能”
3.5 交通卡标签识别 - 图9
上传程序开机时屏幕就会显示文字

(2)设置通讯模式
选择通讯方式后,程序中的通讯方式应与拨码开关保持一致。前面我们已经把拨码开关调为I2C模式(如图所示)
image.png
编程时应首先配置通讯方式,然后才可以进行其他的参数配置,使用过程中不可更改,每次切换通讯方式,需要重启小 MU。
在传感器模块找到视觉识别摄像头的初始化配置通讯方式
image.png
image.pngimage.png
初始化选择MU00端口选择I2C,找到启用算法功能图形,选择交通卡片功能。
3.5 交通卡标签识别 - 图14
3.5 交通卡标签识别 - 图15

(3)算法性能设置

找到设置算法性能模块设置交通卡片
3.5 交通卡标签识别 - 图16
3.5 交通卡标签识别 - 图17
小 MU 视觉算法的运行分为两个阶段,一是算法处理,二是结果处理。这两个阶段对算法的性能和速度起到关键的作用。
这两个阶段的不同的处理方法,每类算法都提供了 3 种性能选项:速度优先,均衡性
能,准确率优先。用户可以根据实际应用需求来选择最适合的性能:

性能选项 特点 适合场景
速度优先 通过去掉一定的算法步骤来提高处理速度,在可控环境下依然具有不错的检测效果,数据结果不做任何优化处理,直接输出原始数据 需要高速处理的应用,如实时跟踪某个物体;对某个物体需要做出快速的响应;场地或背景可以控制的环境
准确率优先 以最佳的性能来运行算法,具有最可靠的检测结果,输出结果经过处理,一些异常数据会被优化掉,具有一定平滑性,但有些算法的运行速度会明显降低 需要可靠的检测某个物体的结果;对速率要求不高的应用;场地或背景复杂且不可控的环境
均衡性能 介于速度优先和准确率优先之间的模式,也是小 MU 的默认模式 适合一般场景的应用需求

(4)交通卡片识别设置
从控制模块找到图形
3.5 交通卡标签识别 - 图183.5 交通卡标签识别 - 图19
再从传感器模块找到
3.5 交通卡标签识别 - 图20
设置为交通卡片,嵌入执行图形
3.5 交通卡标签识别 - 图21

(5)交通卡片识别(向前)
3.5 交通卡标签识别 - 图22
在检测到交通卡片执行程序内嵌入交通卡片算法执行动作,首先找到算法交通卡片向前图形
有五种交通卡片识别设置。
image.png
3.5 交通卡标签识别 - 图24
再添加一个执行模块将向前算法图形嵌入
image.png
将向前程序嵌入到检测交通卡片里面去,设置屏幕显示,识别成功后屏幕显示前进。
上传程序,拿出向前卡片识别是否成功。
3.5 交通卡标签识别 - 图26

(6)交通卡片识别(向左)
3.5 交通卡标签识别 - 图27
添加一个交通卡片向左的算法程序嵌入到检测到交通卡片程序中,设置屏幕显示左移。
上传程序,拿出向左卡片识别是否成功。
3.5 交通卡标签识别 - 图28

(7)交通卡片识别(向右)
3.5 交通卡标签识别 - 图29
添加一个交通卡片向右的算法程序嵌入到检测到交通卡片程序中,设置屏幕显示右移。
上传程序,拿出向右卡片识别是否成功。
3.5 交通卡标签识别 - 图30
(8)交通卡片识别(掉头)
3.5 交通卡标签识别 - 图31
添加一个交通卡片掉头的算法程序嵌入到检测到交通卡片程序中,设置屏幕显示掉头。
上传程序,拿出掉头卡片识别是否成功。
3.5 交通卡标签识别 - 图32

(9)交通卡片识别(停车)
3.5 交通卡标签识别 - 图33
添加一个交通卡片停车的算法程序嵌入到检测到交通卡片程序中,设置屏幕显示停车。
上传程序,拿出停车卡片识别是否成功。
3.5 交通卡标签识别 - 图34