请选择 进入手机版 | 继续访问电脑版
查看: 7510|回复: 0

智能车竞赛,AI视觉组赛题浅析

[复制链接]
  • TA的每日心情
    开心
    前天 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3296

    主题

    6541

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    31903
    最后登录
    2024-3-28
    发表于 2021-1-8 09:57:02 | 显示全部楼层 |阅读模式
    智能车竞赛,AI视觉组赛题浅析


    各位车友好,第十六届全国大学生智能车竞赛竞速组规则发布后,大家已经注意到由恩智浦赞助的AI视觉组是最具有综合性的一个组,感谢NXP继续对大赛的支持,让我们感觉了挑战性。


    关于“第十六届全国大学生智能车竞赛竞速组-室内视觉组补充说明”的初稿详情大家可以通过卓老师的微信公众号推文了解到,点击此处查看。

    初稿发布后,很多同学都对AI视觉组产生了浓厚的兴趣,同时也产生了很多疑问,所以,我们今天对AI视觉组的赛题进行一个简单分析,希望能给目前还在迷茫准备阶段的车友们打开一些思路。


    根据初稿我们知道:车模限定使用C型车、微控制器限定使用NXP公司的MCU,推荐使用i.MX RT系列高性能MCU、传感器基本不限,可以使用OpenMV RT模块,但需要提醒的是该模块并不能完成这个赛题组的所有任务,下文有详细解释,请仔细阅读。


    几个核心赛题任务的拆解
    1、循迹
    与其他竞速组赛道兼容,依然需要循迹,依然包含120°三岔路口,循迹任务推荐采用普通摄像头来完成,当然,也不是太普通,毕竟是全局快门的总钻风,这个任务比较传统,这里不再赘述,可以查看往期推文。
    2、数字识别
    在三岔路口需要对路口处的数字进行识别,并根据数字的奇偶性,来决策应该走左边还是走右边,数字识别可以使用OpenMV RT模块,也可以使用OpenART(本文后面会有OpenART的相关介绍)来完成。


    3、AprilTag识别
    AprilTag是一个视觉基准库,在AR,机器人,相机校准领域广泛使用。设定为与二维码相似但相对更简单的特定标志,实现快速检测。
    在赛题中AprilTag码也代表着数字,依然通过识别其所代表的数字,并判断奇偶性来得知靶标牌是在赛道的哪一侧,AprilTag码识别可以使用OpenMV RT模块,也可以使用OpenART(本文后面会有OpenART的相关介绍)来完成。


    4、图案识别
    赛题中包含动物图案和水果图案,这部分内容也是该组别最能体现“AI”的一个环节。动物类包含狗、猫、马、猪、牛五个子类别,水果类包含苹果、橘子、葡萄、香蕉、榴莲五个子类别,图案对象均为全身或整体照片。


    关于动物和水果的识别,需要采用第十五届AI电磁组部署神经网络模型的方式,来实现对图案的识别,区别是数据量大了许多,所以这个环节的任务采用OpenMV RT模块就完成不了了,必定需要部署神经网络模型,当然也可以在该模块上自行部署,但该模块上没有SDRAM,无法部署较大的模型,所以推荐在独立的高性能MCU上部署AI模型进行训练。
    这里又提到对MCU性能有要求,因此规则中推荐使用NXP的i.MX RT系列的高性能MCU。对应的,我们推荐使用RT1064来作为部署AI模型的MCU,同时逐飞的RT1064核心板板载32M SDRAM,正好可以满足模型数据量对空间的要求。
    关于图案识别的参考数据集及识别示例,NXP都会提供,届时逐飞也会第一时间进行验证。同时在这个赛题任务的讨论时,基本意见是考虑预赛阶段的数据集由组委会统一提供,也就是说预赛中出现的水果和动物图案,都在预先提供的数据集里,决赛阶段选择预先告知的数据集之外的水果和动物图案,这样可以保证大多数同学的完赛率,同时提高决赛阶段的竞技水平,谁的训练更充分,谁就更有可能在决赛中的识别环节取胜,具体实施方案应该会在正式版的规则中明确。
    同时水果和动物的图案可能还需要一个外框,用于定位抓图,通过对图像中这个外框的识别来定位,将摄像头中有效的动物水果图案抓取出来进行识别,避免背景对识别的干扰,这一点也许需要加入到最终的规则中去,后面逐飞在做验证时也会更清楚这一点的需求,AprilTag码的位置与靶标牌的距离及相对位置也需要实际测试,规则中的距离要求可能需要调整,有待进一步验证。


    5、激光打靶
    在识别到图案为水果时,需要使用车载小型激光发射器对准靶心发送一束激光,打中才算完成该项任务,激光发射的相关技术要求,会在后面的正式规则文档中详细写出,相对而言,这部分工作需要建立在图案识别的基础上,识别准确了,打靶的控制才能准确实现。激光发射部分的制作很简单,届时会给出参考方案和技术指标。激光瞄准部分的机械结构应该需要用到舵机云台,通过控制来实现瞄准靶心。


    更多关于技术方案验证
    需要再等一段时间再给大家分享了。


    OpenART介绍
    接下来给大家简单介绍一下上文中多次提到OpenART,这究竟是一个什么神器?
    OpenART是由恩智浦研发的,最初的设计构想是做一套基于NXP i.MX RT系列高性能MCU的通用AI教育套件,可以用在:


    ·人工智能教育,综合创新,原型验证
    ·非多媒体数据上的机器学习(异常检测、姿态识别、智能控制策略)
    ·语音触发、声源定位
    ·人脸识别
    ·智能可运动物体(模仿+强化学习)-机电联动:云台载具
    ·机器视觉(OpenMV,从这里可以看出,它可以替代OpenMV)
    ·MCU教育
    ·传统算法转深度学习
    硬件设计特点
    ·模块化设计
    ·兼容树莓派通信接口
    ·强化数据采集 –摄像头、多麦克风、多路AD、加速度、陀螺仪、地磁、压力、温度、湿度、照度等多传感器融合
    ·尺寸小巧
    软件特点
    ·RT-Thread内核,驱动,软件组件及开发环境
    ·Micropython环境,用于二次开发, AI教学
    ·OpenMV机器视觉库,运行OpenMV IDE自带视觉处理脚本
    ·eIQ: NXP机器学习开发包


    OpenART套件的软件部分采用RTOS为基础,可以说RTOS为这套系统提供了很便捷的开发方式,对于大赛的AI视觉组来讲,有RTOS的加持,可以为软件设计提供更便捷的开发环境。
    尤其该赛题组涉及到多任务,及Python和C语言的两种开发语言,有了操作系统做多任务分配,就大大的提高了可操作性,同学们可以根据自己的需求和能力,来自由分配和设计自己的整体软件结构,Python脚本可实现基础硬件控制,C语言可以完成主控逻辑的程序编写,同时解决了OpenMV只能用Python文件编写功能,不能用C语言来编写实时控制逻辑代码的问题。
    所以OpenART教育套件的软件结构设计初衷,几乎完美契合AI视觉组的任务需求,引入RTOS也在这种复杂多任务嵌入式系统的设计中,体现出了巨大的优势。
    上面也提到了OpenART本身就可以变身为一个OpenMV,通过Python脚本就可以完成人脸检测、色块检测、边缘检测等视觉处理脚本。
    同时,现在的OpenART支持3种神经网络引擎:分别是openMV的旧式nn模块,tf模块,以及nncu模块。将来会支持GLOW。
    接下来会制作基于nncu和tf模块的模型,nncu模块使用旧式CMSIS-NN API并且优化了性能,而tf模块使用新式CMSIS-NN的"_s8" API,性能有少量下降但8位精度更高。
    21.png
    按照OpenART的设计思路,基于与智能车大赛AI视觉组任务需求的完美契合,NXP与逐飞联合设计了这套硬件,如下图所示,整个开发板依然围绕逐飞RT1064核心板展开,摄像头可兼容OpenMV4接口的Camera模块和逐飞的凌瞳彩色摄像头。


    受NXP委托,逐飞正在做基于OpenART的AI视觉组赛题任务验证,验证完成后将会给出一个入门参考方案给同学们(包含神经网络模型部署等),但更多的工作仍需要同学们自己去完成,包括OpenART开发套件也只能用于学习,只有RT1064核心板、OpenMV RT模块、凌瞳彩色摄像头等模块可以直接用于比赛,参赛作品的拓展板需要同学们根据自己的需求自行设计和裁减。
    因为OpenART开发套件包含的功能较多,对于竞赛而言,有些功能是多余的,但如果您对其他部分也感兴趣,可以在比赛之余通过开发板学习到更多的应用。
    22.png
    好了,本次的AI视觉组赛题分析就先到这了。

    签到签到
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-3-28 18:22 , Processed in 0.113100 second(s), 22 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表