李文俊

随着社会的快速发展,垃圾存量急剧上升,“垃圾围城”“垃圾围村”正日益成为困扰中国城市、乡村的难解之题。面对日益增长的垃圾产量和环境状况恶化的局面,如何通过垃圾分类管理,最大限度地实现垃圾资源利用,减少垃圾处置量,改善生存环境质量,是当今世界各国共同关注的迫切问题之一。

由此产生的垃圾分类,就是在源头将垃圾分类投放,并通过分类的清运和回收使之重新变成资源。垃圾分类是社会进步和生态文明的标志,是人人均可参与其中来保护环境和改善环境的方式。

设计与思路

智能垃圾分类实物识别学习机,就是在这种情况下产生的,通过使用开源硬件和物体智能识别技术跟垃圾分类结合,让学生亲身体验智造的快乐。同时随着垃圾分类工作的不断推进,垃圾分类意识越来越深入人心,垃圾分类也越分越细,进而实现“教育一个孩子、带动一个家庭”,让孩子们能更有趣地学习和体验什么是可回收物,什么是有害垃圾、厨余垃圾、其他垃圾。

智能垃圾分类实物识别学习机,是视觉识别技术中的物体识别技术,是一种能以与人类智能相似的方式做出反应的智慧设备,物体识别技术是计算机视觉领域中的一项基础研究。物体检测是机器视觉中经常见到的应用之一,有极为广泛的用途。例如识别体育影像,就是在需要人用眼睛做物体识别时,通过机器来完成,如东京奥运会智能化的游泳赛道,能实时识别出参赛队员的各种信息。

物体检测技术,通常是指在一张图像中检测出物体出现的位置及对应的类别,主要包括物体类别。它是一项非常基础的任务,图像分割、物体追踪、关键点检测等通常都要依赖于物体检测。它的任务是识别出图像中有什么物体,并报告出这个物体在图像表示的场景中的位置和方向。

目前,物体识别方法可以归为两类:基于模型或者基于上下文的识别方法、二维物体或者三维物体识别方法。对于物体识别方法的评价标准,Grimson总结出了大多数研究者认可的四个标准:健壮性(robustness)、正确性(correctness)、效率(efficiency)和范围(scope)。

编程与搭建

该作品训练模型使用了几十种物体,由于这个原因,作品放弃使用Arduino主控板,而选择使用K210小齐以及小齐拓展板,用4个舵机来控制垃圾桶开合,K210性价比不错,具有双核64位处理器,并自带独立FPU,有一块KPU用于神经网络加速单元,还有一块APU用于语音数据处理。它的内存短板是,内置8MByte的高速SRAM,在减小系统复杂度的同时,也给软件带来了优化难度。在PC上训练的上百M模型,如何在移动端压缩到几十M的大小,将模型降低一个数量级塞进8M SRAM,是个难点。

此芯片还自主研发了一块用于边缘计算的KPU进行神经网络加速,官方Demo中提供了一些人脸检测、图像识别、图像分类的视觉任务,分类任务最高可达到240fps的分类网络推理速度,检测任务在QVGA的网络下,模型帧率最高可达35fps,常被嵌入到门禁系统、考勤系统等。

另外一个设计亮点在于芯片号称1TOPS算力,却只有0.3W的功耗,远远小于设备1W左右的功耗,所以,作为智能垃圾分类的首选,笔者选了K210主控的小齐板。智能垃圾分类实物识别学习机,在功能设计上,主要体现了使用人工智能物体识别技术作为亮点。

1.模型训练功能设计

首先准备数据集,即不同种类垃圾的图片(数据集越大精度越高),再处理成224*224大小的统一格式,调整好参数,采用目标分类的形式进行训练,获得对应的模型文件,再通过烧录工具烧录到主板中或复制到SD卡中。

如果想要识别出一个物体,就需要对这个物体进行多次学习训练。图1是使用训练的模型的程序,去识别的物体包括塑料、纸张、大米、金属、塑料瓶、西红柿、玻璃、电池、纸板等,包含有害垃圾、可回收垃圾、厨余垃圾、其他垃圾,制作出离线模型文件和固件烧录到主控板中。

2.控制程序编写

智能垃圾分类实物识别学习机的代码使用了Mixly图形编程软件,Mixly软件编写程序的实现如图2所示,核心功能是物体识别,识别到的垃圾种类和置信度会显示在彩屏LCD上,并且根据垃圾的不同种类自动打开对应的垃圾桶,提示人们将物体放进对应的桶内。

作品调试与总结

这些创意的实现更多地体现了人工智能技术教育中的体验,能让孩子更容易理解人工智能最简单的定义:让机器像人一样能听、能说、会思考和自行学习,并且还能参与项目式学习,能更好地有兴致地学习和理解垃圾分类知识。

不断调试程序会让学生不断发现问题、解决问题,以此来增强项目式学习和垃圾分类的学习体验:

(1)在显示物体名称与置信度时,要注意改变置信度的x坐标或者y坐标,文字可能会重叠,需要及时调整x、y坐标。

(2)加载的模型不要与之前的一致,以及锚点参数的几个数值不是初始化的值,因为数值过长所以Mixly中省略的一部分,可以参考Python程序中的相应值。

(3)理解for循环,以及使用for循环遍历code的意义。

信息技术教师应充分利用信息技术学科特点,重点培养学生的跨学科思维,整合多学科领域内容,螺旋式上升地培养学生的思维能力,最终培养学生的跨学科思维能力。