人工智能实验:验证基于YOLO算法的人脸追踪

    于恺 于方军

    

    

    

    人脸识别技术是图像识别技术的应用方式之一,图像识别包括对象识别和定位,对象识别找出该区域中的确定对象,对象定位主要解决对象在哪里的问题。计算机通过处理视频数据,首先是对人脸进行检测,检测到人脸后对人脸进行跟踪。本实验使用YOLO算法,分析摄像头获取的图像,检测图像、识别出人脸并给出其位置坐标,根据坐标控制舵机转动来实现人脸的追踪。YOLO(You Only Look Once)是一种基于深度神经网络的物体识别和定位算法,其特点是运行速度快,可以用于实时系统。YOLO算法将原始图片分割成互不重合的小方块,通常是将图片划分为7×7=49个网格,每个网格允许预测出2个可能包含要检测对象的矩形框,总共49×2=98个矩形框。可以理解为98个候选区,每个区域看看有没有对象存在,以及具体位置在哪里。

    项目设计

    项目设计是验证基于YOLO的人脸追踪,体验如何从视频图像中找到人脸,并定位人脸位置,帮助学生了解人工智能的应用。在此实验基础上,可以进行应用拓展,如让学生讨论设计人脸跟踪风扇。

    项目准备

    硬件选择Micro:bit为主控板,这块主控板能够处理视频识别获取的信息、处理信息、执行相应的设备,在制作中需要一个控制风扇的马达和一个用于控制风扇方向的舵机。视频识别的主控为KOI,内部搭载一个通用的神经网络处理器,外部搭载一个640×480像素的摄像头获取图像信息,并在1.3寸240×240IPS像素显示屏显示摄像头获取的内容,其带有WIFI模块能够实现无线网的搭建,能够脱离计算机独立运行,这为学生后期人工智能的学习提供了物理条件。

    程序设计选择了Makecode软件,Makecode软件中模块已经集成了YOLO人脸检测算法,而且能够实现离线使用,学生只需要拖动相应指令就能够实现对人脸的检测,这为人脸识别技术在小学阶段开展教学提供了有利条件。如果深入学习算法则可以使用TensorFlow实现YOLO算法的设计。

    项目实施

    人脸识别风扇的功能为:当检测到人脸时,风扇开启;根据人脸的位置转动风扇到人的位置处,使人第一时间感受到清凉;为实现节能的效果,如果人不在屋内,风扇停止转动。学生们先搭建风扇,将Micro:bit安装到扩展板上,依次安装舵机、风扇马达、视频检测主控KOI三个部分。首先固定舵机,依托舵机实现风扇能够左右摆动,将信号线连接到S1口;风扇由马达控制,为马达安装扇叶,马达的两根线分别连接到MA1的“+”口和“-”口;KOI用于人脸侦测获取到人的位置信息,将TX连接P1、RX连接P2、电源连接5V口、GND接GND。连接图如下页图1所示。

    程序实现

    打开Makecode,添加扩展Robotbit扩展板、KOI主控模块。然后按照连接线设置Micro:bit获取KOI数据接口为P1和P2;风扇马达M1A速度为0,风扇不转动;控制舵机S1为90度,风扇面向中间位置(如图2)。

    如何设计人脸坐标的获取,在这个环节需要思考两个问题,一是如何捕捉人脸?二是捕捉到人脸,如何控制风扇?问题一的解决需要使用KOI模块中的人脸追踪指令,摄像头不断获取周围的信息,KOI使用YOLO算法对图像信息不断分析,判断是否有人脸存在,如果存在就捕捉人脸,并把人脸所在的坐标数据传输给Micro:bit。问题二,如果Micro:bit获取到了人脸坐标,说明人出现在摄像头前,启动风扇,并设置速度为100,如果没有坐标就保持风扇为关闭状态。

    设计风扇跟随人脸移动,为更好地获得凉风,将KOI获取的人脸坐标数据处理,实现控制风扇开启关闭和控制舵机的旋转角度。需要思考两个问题,一是风扇移动方向是根据KOI获取人脸的x坐标还是y坐标?二是如何合理运用坐标实现对舵机的控制更加准确地跟随人脸改变方向?问题一的思考,如果人脸出现,Micro:bit启动风扇马达,控制舵机让风扇的方向朝向人脸。舵机的移动方向需要捕捉人脸坐标,因为舵机旋转根据人脸横向移动的位置,那么舵机旋转角度是根据KOI获取的人脸x坐标。问题二的思考,因为KOI获取的人脸坐标根据屏幕的像素进行确定,KOI横向坐标为0~239,要将这个坐标映射为舵机的旋转度数为45度至135度之间,这样能更好地实现对舵机的角度控制。

    程序设计完毕(如下页图3),将程序上传到Micro:bit,进行离线运行测试。发现人脸出现后,风扇启动,但是人离开后,风扇还在旋转,说明对风扇的条件设置需要优化,经过思考发现,需要给人脸坐标设定一个范围,通过测试,将判断人脸存在的坐标设置在10到229之间,提高识别的准确度,这样人脸一消失,风扇就停止转动和跟随。

    实验反思

    通过使用YOLO算法编写人脸追踪程序,降低了人脸识别技术应用学习的难度,学生可以直接运用YOLO算法获取人脸信息并实现人脸的追踪,由于没有人脸数据库,所以无法实现获取的人脸信息与人脸图像匹配及识别,这为学生对人脸识别技术深度研究提供了項目点。在整个项目制作过程中,学生模仿制作出了人脸跟踪风扇,在最后一个环节,很多学生还把风扇安装到了电脑显示屏上,当人使用电脑时就会吹到人脸,让人感觉到舒服,有学生还考虑了增加舵机实现风扇上下摆头。

    注:本论文为淄博市教育科学规划2020年度基于项目式学习的小学AI校本课程开发与实践研究课题(课题批准号:2020ZJYO17)成果。