APP下载

设计一个低门槛的AI硬件交互活动

2024-03-07谢作如浙江省温州科技高级中学

中国信息技术教育 2024年5期
关键词:八段锦关键点门槛

谢作如 浙江省温州科技高级中学

高毓甜 王海涛 上海人工智能实验室

人工智能教育的核心内容关注AI模型的理解、训练和应用,但如果模型不结合开源硬件设计交互作品,就显得不够有趣。在2023年的某人工智能活动线下的展示会中,笔者接到了设计现场交流活动的设计任务。因为前期已经研究过ESP32-CAM结合普通机器人小车的项目(请参考本栏目的《让ESP32-CAM小车“智能”起来》一文),经过多次讨论,笔者最终选择了麦昆小车和掌控板为载体,设计了一个AI硬件交互活动。

● “低门槛”的含义及其实现

考虑到全国各地的信息技术课程实施情况差异较大,学生编程水平也参差不齐,所以,这个活动内容的设计在考虑真实问题解决的同时,还要做到低门槛,这样才能让不同水平的学生都有收获。这里的“低门槛”有两层含义:其一指技术门槛低,无论是硬件的连接、搭建,还是驱动硬件的代码编写,都比较容易;其二指实施门槛低,包括硬件的价格要适宜、采购要便捷、对算力的要求要低等。

相对来说,麦昆小车的性价比很高,掌控板更是国内较受欢迎的开源硬件之一,因而“低门槛”的重点在于编程难度。为了能够实现用最简洁的方式控制小车,笔者放弃了常见的MQTT协议而选择了Scoket,毕竟MQTT还需要单独部署MQTT服务器。具体的工作流程如图1所示,电脑端借助OpenCV获取ESP32-CAM的画面,经过XEduhub的模型推理后,借助XEduGPIO库发送指令给掌控板,掌控板再驱动小车。这样一来,这个麦昆小车就成了一辆拥有强悍算力的智能小车了。

图1

图1中的XEduGPIO库内置了Scoket连接的各种协议。核心类CarComm提供了speed、servo、led和stop四种最基本的方法,分别用于驱动小车前进、舵机转动、改变led状态和停止运动等。在“XEduGPIO”库的支持下,4行代码即可实现小车的驱动。当然,掌控板也需要另外做相应的Scoket编程,笔者写好相应的固件,刷入即可运行(如图2)。

图2

● AI交互活动的主题设计

按照惯例,需要给这个AI交互活动编写一个故事,也就是主题设计。由于该活动的线上主题“算法挑战”使用了“八段锦”数据集,内置了3万多张不同人做八段锦动作的截图,所以这个主题也应与这个数据集有关,并且还要结合学生自己训练的AI模型,体现出活动的关联性。

笔者将主题确定为“星球基地建设”,然后在大语言模型的帮助下,设计了如下故事,并绘制了一张供小车运行的地图(如图3)。

图3

在不久后的未来,地球联合航天局为了推进人类在星球基地的长期居住计划实施,以及推广中华传统养生功法——八段锦,举办了一场创新独特的“八段锦巡线推物挑战赛”……

对应八段锦的动作名称,笔者给地图的四种路段做了一一对应标注:左上方路段为“左右开弓似射雕”,右上方路段为“两手托天理三焦”,左下方路段为“调理脾胃须单举”,右下方路段为“摇头摆尾去心火”。具体的含义这里不展开。

● AI交互活动的任务设计和难度解析

“星球基地建设”任务共分为三个,分别为小车测试、车人合一和无人驾驶。挑战者需依次完成三个任务。其中,“小车测试”环节要完成小车的机械拼装,并且实现让小车走一个正方形,算是一个入门热身的活动。而任务二和任务三的难度就逐步增加了,任务二要使用电脑摄像头,互动性较强,任务三需用到ESP32-CAM,让学生挑战无人驾驶。

任务二:车人合一。

描述:学生在电脑摄像头前,通过自己的姿态控制小车移动和铲子起落,按跑道轨迹将物体分别移至三个目的地。

难度解析:要完成本任务,需使用电脑上的摄像头。首先要用XEduHub的det_body任务,获得画面中的人体,然后再将检测到的人体画面送到人体关键点检测任务中。以pose_body17为例,pose_body17检测出的keypoints以二维数组的形式保存了所有关键点的坐标,每个关键点(x,y)被表示为[x,y]。如图4所示,要获取到某个特定序号i的关键点,只需要访问keypoints[i]即可。

图4

需要注意的是,det_body任务是支持多人体的检测,建议选取第一个人体(bbox[0])进行检测,避免当画面有多个人存在而出现误判。相关的参考代码如下页图5所示。

图5

任务三:无人驾驶。

任务描述:使用电脑读取小车上的ESP32-CAM画面,根据推理结果来控制小车自主完成八段锦姿态分类任务,小车能够合理规划路径,完成寻找地图中与目标八段锦姿态相同的立牌(树立呈现的图片)并转动铲子。

难度分析:这个任务看起来最难,其实不过是在上一个任务的基础上,增加了姿态分类模型的应用。而学生之前已经用BaseNN搭建全连接神经网络(DNN)训练过姿态分类模型,所有的挑战在于如何将各种综合的任务合并在一起。鉴于篇幅,这里仅仅提供了用OpenCV读取ESP32-CAM画面的参考代码(如图6)。

任务号任务要求评分说明评分正确搭建小车正确组装小车,屏幕亮起10让小车动起来让小车走一个正方形10任务一出发控制小车前进5分别完成A、B、C物品搬运任务二小车完成铲起动作、放下动作小车和物品移动至目的地30结束回到出发点5读取小车摄像头数据显示摄像头画面5完成关键点检测任务显示关键点检测结果5完成姿态分类任务并控制小车出发任务三完成目标姿态分类任务,显示类别(5分)小车掉头,并朝目标方向前进(5分)10寻找相同的目标姿态立牌小车移动至正确的目标姿态立牌前(8分)小车完成铲起动作、放下动作(2分)10整理材料材料整理清理垃圾,完成现场清理复原,将所有的物资归还10

图6

● AI交互活动的评价设计

在设计好活动后,最后一个环节就是设计活动的评价表了。笔者采用100分制(如左下表),将这三个任务的细节分解成一个个得分点。另外,为了避免某一个环节失败导致下面的环节都无法进行的情况出现,允许部分小任务可以跳过,只是不给分而已。

● AI交互活动的反馈

通过这次尝试,笔者认识到,在青少年的人工智能活动中增加与开源硬件结合的内容,能够更直观地展现AI模型,且能有效提升学生的学习兴趣。实际上,这个基于ESP32-CAM的AI硬件交互方案,不仅可以做无人驾驶,还可以结合无人机做智能巡检、结合智慧农场做虫害监测、结合保护区做生态监测之类的有趣课程内容。对中小学的人工智能教育来说,“低门槛”是一个重要的设计原则,相信会有更多的人为“低门槛”提供更多的可能。

猜你喜欢

八段锦关键点门槛
拆除不必要的“年龄门槛”势在必行
聚焦金属关键点
肉兔育肥抓好七个关键点
中医导引法——八段锦(五)两手攀足固肾腰
中医导引法——八段锦(四) 摇头摆尾去心火
中医导引法——八段锦(二) 左右开弓似射雕
中医导引法——八段锦(一) 两手托天理三焦
让乡亲们“零门槛”读书
医联体要把握三个关键点
锁定两个关键点——我这样教《送考》