宋佳超,林俊烨,邢伟志,张思涵,蒋冰蕾,吴文慧(通讯作者)
(浙江工商大学信息与电子工程学院,浙江杭州,310018)
在计算机技术的迅速发展下,“人工智能”逐步走入公众的视野,基于人脸图像的分析和识别逐渐成为了当前研究的热点之一。由于人脸中含有诸如人物性别、年龄、种族和表情等大量信息,相关技术在智能监控、人机交互、访问控制、图像检索和安全方面有着极其广泛的应用[1]。
人脸年龄识别是一种通过检测人脸,将人脸图像进行预处理、特征提取进而识别年龄的一种技术。而随着深度神经网络(Deep Neural Network,DNN)的发展与应用,人脸年龄识别等图像特征提取技术跨入了一个新的阶段。DNN 是深度学习的基础,它具有突出的特征学习能力,因此DNN 特别擅长解决基于分类的各种识别问题,如语音识别、图像识别等。
随着社会的不断发展,汽车已成为了越来越多家庭出行的选择。与此同时交通事故或与汽车有关的意外事故发生率也越来越高。近年来,由于部分家长的疏忽,儿童被遗忘滞留车内的新闻屡有报道。滞留在车内的儿童可能会出现中暑、过热脱水、窒息甚至死亡。在过去的几年里,因为车主有意或无意将儿童独自滞留在车内而导致儿童死亡的事件发生过上百次。因此,一个能够对车内滞留儿童进行检测并报警的系统就显得尤为重要。
本文所设计的车内儿童防滞留监测系统以DNN 深度学习神经网络开发的年龄识别算法为核心,以传感器辅助监测车内环境,结合行车记录模块。使得该系统不仅具备行车记录功能,且一旦发现有儿童单独滞留车内,并满足威胁人身安全的条件后,就会立即联系车主,并向车辆周围播放求救语音,实现对车内滞留儿童的及时救助,有效减少意外的发生。
本系统由数据监测模块、主控模块和报警模块三个部分构成。当系统正常工作时,数据监测模块中的定位模块和车内环境监测模块持续将当前车辆的位置数据、温度数据和车内红外辐射数据发送给主控模块进行处理。主控模块由STM32F103 系列单片机构成,当接收到数据并判断车辆有人滞留时,主控模块发送指令,开启数据监测模块中的年龄监测模块进行年龄识别,若识别结果为儿童,则主控模块将指令发送给报警模块,报警模块将控制短信通知模块发送儿童滞留车内的短信提醒给监护人;若此时正处于高温,主控模块将额外指令发送给报警模块,报警模块将控制语音播放模块向外发送求助语音,同时短信警告监护人,从而实现近距离求助和远距离报警。
车内儿童防滞留监测系统的总体设计结构如图1 所示。
图1 总体设计结构
车内环境监测模块包含:温度传感器、人体红外传感器,温度传感器、人体红外传感器分别与主控模块相连。温度传感器和人体红外传感器分别检测车内温度和车内红外辐射信号[2],并将数据传输至主控模块,模块结构如图2 所示。
图2 车内环境监测模块结构
2.1.1 温度传感器
温度传感器是能感受温度变化,将温度并转化为输出电压信号的传感器。
本文采用的温度传感器是DS18B20 数字温度传感器[3],DS18B20 传感器测量温度的范围在零下55℃~125℃之间,且该传感器精度高、能耗低、稳定性高、抗电磁干扰能力强,具有标准数字输出。
2.1.2 人体红外传感器
人体红外传感器是一种可以感受物体辐射的红外线,将红外辐射信号转换为能够测量的可用输出信号的传感器。
本文采用的人体红外传感器是HC-SR50 热释电传感器。传感器外壳顶部的滤光片是一个带通滤光片,可以选择性地通过特定波长的红外辐射。内部热释电传感元件类似于以热释电晶体为介质的平板电容器。当它暴露于非恒定强度的红外辐射时,会产生温度变化,并且温度的变化会引起电极表面电荷密度的变化,产生热释电电流。
定位模块为GPS 定位模块,用于监测车辆速度,本文采用的是NEO-6M 模组,GPS 定位模块通过实时监测车辆位置得到车辆实时行驶速度并将数据通过串口发送至主控模块[4]。
NEO-6M 模组具有高性能的u-blox6 定位引擎,它可以实现大规模的并行时频空间搜索,并具有即时发现卫星的能力。并且模块的设计很好地降低了干扰因素,减轻了多径效应,在极其恶劣的环境中仍然能够使用。
语音播放模块包括:录放音芯片、扬声器。语音播放模块用于向儿童所在车辆周围行人播放求救信号。录放音芯片分别与主控模块、扬声器相连。主控模块将结果数据发送至录放音芯片,录放音芯片经分析判断驱动扬声器播放音频。
本文采用的是ISD1802 录放音模块,此模块可由单片机控制,进行录音及播放。当传感器发出特定信号时单片机将根据信号类型对语音播放模块进行控调整,功率低,音质较高。
年龄检测模块包括:摄像头、树莓派,摄像头与树莓派相连,树莓派与主控模块相连。年龄检测模块用于判断滞留车内的是儿童还是成人,摄像头采集视频信息传输至树莓派,树莓派内OpenCV 库导入视频流并截取图片,再使用基于DNN 深度学习神经网络的年龄识别算法,对人脸数据进行年龄检测,从而判断车内的是成人还是儿童,树莓派将算法结果数据传输至主控模块,模块工作原理如图3 所示。
图3 年龄检测模块结构
软件方面,在树莓派上使用DNN 深度学习神经网络搭建出可以实时检测人脸并判断年龄的监测系统,相比于传统的算法,DNN 更加灵活、高效、智能。根据树莓派的性能,权衡性能和准确率后合理调整了相应参数,在高精度识别率下稳定在15 帧左右,满足正常使用需求。
短信通知模块为GSM 模块,GSM 模块与主控模块相连,用于在紧急情况下向监护人发送求救短信[5]。主控模块发送AT指令信息控制短信通知模块将短信数据发送至车主手机。GSM 模块操作简单、接收与发送短信的速度快,有效节省了时间,最大限度地提高儿童被解救的可能性。
本文使用的GSM 模块为SIM900A 模块,该模块操作简单、收发短信速度快,有效节省了时间,最大限度地提高儿童被解救的可能性。
主控模块以STM32 单片机为核心,用于数据的收发、响应并控制其他各模块。主控芯片为STM32F103ZET6,该芯片的中央处理器为基于ARM 的32 位Cortex-M3,内部嵌有8MHz 的RC 振荡器,工作频率最高为72MHz。片上集成有字节数为256 到512 之间的Flash 存储器,64k 字节的SRAM,带有3 个模数转换器,3 个行外设接口,2 个单、双向二线制同步串行总线接口,4 个FSMC 接口,11 个定时器,5 个串口,1 个控制器局域网络接口及112 个GPIO 口。
模块(结构图如图4 所示)具有以下功能:
图4 主控模块结构
(1)硬件的连接:STM32F103系列单片机通过GPIO 口连接车内环境检测模块、语音播放模块和定位模块,通过串口实现单片机与树莓派的连接。
(2)数据的收发:STM32F103 系列单片机通过GPIO口接收车内环境监测模块发送的数据,通过串口接收定位模块和年龄检测模块发送的数据。
(3)响应及控制:STM32F103 系列单片机对车内环境监测模块、定位模块以及年龄检测模块的信息进行分析处理,根据分析结果对语音播放模块以及短信通知模块进行控制。
行车记录模块包括USB 摄像头和树莓派,USB 摄像头与树莓派相连,用于记录行车过程中的信息并保存成视频格式。树莓派系统程序中部署了OpenCV 库。树莓派调用OpenCV 库,将USB 摄像头传入的每一帧视频数据保存为XVID 格式的视频,保存到外部储存设备中。同时,为了在存储空间用尽时仍能保存最新录制的视频,行车录像模块设有循环删除的功能,每次将要录制新视频时,程序自动删除三天及更早的视频。
本文设计的基于人脸年龄识别的车内儿童防滞留监测系统的程序流程图如图5 所示。系统开启后,首先开启定位模块判断车辆是否停止,当在一段时间内车辆速度均为零则可判断车辆处于静止状态;开启车内环境监测模块,通过人体红外传感器判断车内是否有人,若车内有人,则启动年龄检测模块判断车内滞留的是否只有儿童,若检测到车内仅有儿童时,则开启短信通知模块,发送短信通知车主车内仅有儿童,同时通过温度传感器判断车内温度,当车内温度超过报警设定值时,开启语音播放模块,向周围行人播放求助语音。
图5 系统程序流程图
本文设计的基于人脸年龄识别的车内儿童防滞留监测系统应用了基于DNN 深度学习神经网络的年龄识别算法检测车内儿童,相较同类产品具有更高的准确性。相关同类产品大多采用人体红外传感器、气体传感器等手段检测车内人员,而这需要一个过程,可能对人体造成伤害,且无法准确地判断车内滞留人员是否仅为儿童。因此本系统更加高效、安全,且本系统与已有广泛市场基础的行车记录仪相结合,使其更具方便性、实用性,具有较高的推广应用价值。在广泛应用该系统的前提下,可以预想,车内儿童因窒息、脱水而发生意外必将有所改善。