基于人工智能技术的错题记录仪设计研究
2022-12-26戴建浜福建省莆田第二中学
戴建浜 福建省莆田第二中学
● 引言
在学习的过程中,准备好一个错题集,是一个好习惯。但如何才能随时记录和整理在平时学习过程中做过的错题呢?传统的方法有两种:一种就是把错题逐字抄下来,这种方法在记录大型应用题时浪费时间;另外一种方法就是把试卷剪贴下来,再粘贴到错题本里,这样做虽然会节省一点时间,但破坏了原始材料,在试卷双面都有错题时会变得很麻烦。由于当前这两种方法存在种种问题,所以寻找一种高效、能够自动扫描分类记录错题的方法是必要的。
近年来,基于树莓派的人工智能技术应用日趋广泛。本研究以树莓派[1]为硬件平台,结合Python解释型编程语言以及OpenCV机器视觉库[2],实现错题扫描全过程语音识别,通过摄像头获取错题图像,自动分析切片处理,保存在错题图片库中,整个过程高效、便捷,有效节省整理错题时间。
错题是学习的必然产物,本研究不仅可以让学生高效率地收集错题,还可以让教师巧妙地利用“错误”资源,使“错题资源”的利用更加切合实际,符合学生的特点和要求,有利于教学资源的开发和有效利用,为提高教学质量服务。
● 系统原理
本研究的核心组件是树莓派第四代[3],即Raspberry Pi 4。树莓派是一款基于ARM的微型电脑主板,有4个USB接口可连接键盘、网线和摄像头等外部设备,主板上有以太网口、WI-FI和蓝牙芯片,可无线连接互联网充当小型服务器使用。最新发行的Raspberry Pi 4中央处理器采用全新架构,28nm工艺,四个内核,时钟频率达到1.5 GHz,较原来三代的产品速度有4倍的提升。树莓派小巧的体积、良好的扩展性能(外接USB设备)以及高速的计算能力是本研究实现语音识别、图像识别的前提条件。
本研究先通过WI-FI模块连接上互联网后,再用Python的多线程技术让USB麦克风实时识别语音指令,当识别到“拍照”命令时,系统将通过高清摄像头拍取错题的照片,加工处理后把结果输出到高清显示屏显示出来。如果操作有错误可通过语音“删除”返回到上一步,也可以通过语音“合并”来合并被分开的两张图片。具体原理如图1所示。
图1
Python是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的库。OpenCV是一个基于BSD许可发行的跨平台计算机视觉库,软件完全开源,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列C函数和少量C++类构成,同时提供了Python语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。snowboy是一款开源的、轻量级语音唤醒引擎,通过它可以很轻松地创建属于自己的唤醒词。本研究的智能识别分析功能主要是通过Python的多个处理图像的OpenCV库和识别声音的snowboy库来完成。
学生在使用时要先把印有代表个人身份的二维码的卡片(IC卡)放在记录仪的刷卡处,系统识别读取卡号后,生成对应卡号信息和目录,这时学生要说出错题的学科,可从语文、数学、英语、物理、化学、生物、政治、地理、历史九大学科中选择,系统确认后进入等待识读阶段,这时说出“拍照”,系统就会自动识别分割题目并保存在系统中,说出“删除”系统就会删除前一次识别的内容,说出“合并”,就与前一次识别的图片合并,生成一张图片,高清的液晶屏上会显示每次操作的结果。另外,学生可以通过校园网络登录树莓派服务器,访问所有错题资源,并实现打印、标注分享等功能。
● 系统硬件设计
本研究硬件部分主要由树莓派、话筒、高清摄像头、7寸屏、小音箱及一个扫描支架组成。话筒、高清摄像头通过USB接口与树莓派连接,高清摄像头获取到的图像经算法处理后通过树莓派mini HDMI接口输出结果至7寸显示器。系统总体硬件架构如图2所示。
图2
为了提高声音识别的准确性,话筒采用USB接口的全向拾音麦,内含高品质电容咪头,有效抑制低噪产生,传递清晰的声音,提高识别准确率,实现远距离拾音。在图像处理方面,为了排除图像受外界环境的干扰,高清摄像头采用两侧带有LED灯的高拍仪。硬件模型如图3所示。
图3
● 系统软件设计
树莓派上安装有Ubuntu操作系统软件[4],系统通过有线千兆网口或无线5G高速接入班班通网络,系统已集成Python编程语言,但OpenCV视觉识别库需人工安装,这些环境的搭建是保证硬件正常运行的必要条件。程序软件分为二维码识别模块、语音识别模块、摄像头拍照模块、OpenCV视觉处理分析模块四个模块,各模块具体设计如下:
①二维码识别模块。在本研究中,笔者让学生用自己的学号通过草料二维码在线生成一个二维码图片,打印出来并贴在卡片上,再通过Python的pyzbar库的decode方法来轻松地读取图片里面的二维码信息。
②语音识别模块。树莓派原生的音频设备是不支持语音输入的(无法录音),所以本模块通过USB口外接一个麦克风实现声音的拾取,采用snowboy实现语音唤醒和识别功能。[5]snowboy可离线使用,无需联网,精确度高,低延迟,耗费资源非常低(单核700MHz树莓派只占用10%CPU),所以适合在树莓派上运行。当安装完需要的依赖项后,在snowboy自定义生成训练词。接着编写程序,通过回调函数调用执行相应动作。
③摄像头拍照模块。为了保证图片的清晰度,笔者选用了一个800W像素的高清USB摄像头,通过OpenCV可以轻松地读取到摄像头,当语音识别到“拍照”一词时,树莓派会保存一张或多张图片在SD卡中,以学生学号为文件名的文件夹下。
④视觉处理分析模块。在获取到清晰的图像后,通过OpenCV先把图像转化成HSV格式,然后去除颜色范围外的其余颜色,再对图像进行二值化和膨胀操作,最后通过图像轮廓查找与绘制方法findContours获取所有矩形的坐标,再对图片进行切片处理,保存在相应目录中。
⑤错题网页共享模块。扫描好的错题被按学科分类保存在树莓派的SD卡上,笔者利用Djiango开发网页端程序,让树莓派成为一台小型的WEB服务器。Djiango是一个开放源代码的Web应用框架,使用Python开发。运行Djiango的Web服务,学生可以使用手机、平板或个人电脑通过网页访问自己的错题本。
● 实验测试
①单个红色框测试。图4中左边是加了红色边框的试卷,右边是使用系统处理后生成的图形,从图中可以看到,系统成功截取到红色框,系统获取到红色矩形框的坐标后,在红色边框上加上蓝色框。
图4
②两个红色框测试。图5中左边标注了两个红色框,系统通过OpenCV进行二值化和膨胀操作后成功获取到两个矩形框的坐标。
图5
③测试用红色横竖“井”字条框出错题。图6中使用四条红色条型纸条构成一个“井”字,系统通过OpenCV转化HSV格式,然后通过cv.inRange去除颜色范围外的其余颜色,然后用蓝色矩形框标注出内部矩形框的边界。
图6
● 结语
本研究通过人工智能技术实现错题智能提取,分类保存,整个过程操作简单,识别率高,极大地提高错题整理速度。数字化后的错题保存在树莓派SD中,检索方便,可通过手机或平板浏览或分享,对提高学生学习成绩具有一定的促进作用。