基于人脸识别的疲劳检测系统

(整期优先)网络出版时间:2023-05-16
/ 2

基于人脸识别的疲劳检测系统

梁晟  

民航桂林空管站技术保障部 广西 桂林 541000

一、目的意义和国内外现状

疲劳风险日益成为航空安全关注的重点风险之一。各国逐渐意识到,疲劳对人的影响严重威胁到飞行安全,一些飞行事故或事故征候被证明是直接或间接由疲劳所引发。美国国家运输安全委员会(NTSB)报告,商业航空运营中,约 75%的致命事故涉及人为差错,机组疲劳占到15~20%。疲劳是不能避免,但可以及时发现,同时进行管理评估并采取适当方法加以控制,可降低疲劳对航空运营人的影响,最大限度保证航空运营安全。在我国民航运输业高速发展的今天,持续增长的空中交通流量使得管制员工作负荷不断增加,高强度的工作荷以及管制员不规律的工作、生活方式容易导致管制员疲劳,风险隐患不容忽视,对空域运行效率及飞行安全带来不利影响。如何通过技术手段正确识别管制员疲劳,做好预防和提醒的措施吗,加强疲劳管理,对保障民航空管安全、高效、可持续的发展具有重要意义。

二、系统设计总体思路

通过采用AI人工智能视觉模组,融合摄像头、英特尔Movidius Myriad X视觉加速芯片和腾讯优图的算法,对采集画面进行实时分析,可实现人脸检测、属性分析、姿态估计、人脸识别等功能,精准实现人脸检测、人脸关键点定位、人脸属性分析等相关能力,满足对管制员工作疲劳状态的实时监测需求。基于精细标注训练数据实现的视频人脸90点追踪,可实现大姿态和复杂表情的精准定位。包含追踪成功、失败检测机制,置信度高达99%。通过对面部90个点的分析,可以实时对值班管制员的面部表情进行判断,识别出闭眼、低头、偏头等疲劳和注意力不集中工作状态。

三、系统设计原理及具体实现

基于人脸识别的疲劳检测系统使用人脸识别开发板模块+MiniPC主机搭建的服务器实现。

 3.1 人脸识别开发板模块

人脸识别开发板共有两类接口,USB 接口和UART接口。其中USB接口实现为两个免驱设备:视频流+虚拟串口,需要视频流的用户可以选择该接口。不需要视频信息的用户可以选择UART接口。

控制终端通过 USB 或 UART 接口从人脸识别开发板获取 AI 信息,处理用户业务逻辑。

控制终端的可选方案包括:

(1) 普通电脑

(2) 具备USB接口的SoC:如树莓派

(3) 具备UART接口的单片机:如STM32F103C8T6(要求RAM大于

20KBytes)

(4) 其他类似控制终端

本文使用的是USB接口和miniPC主机进行连接实现功能。

图3- 1 VIonseed开发板结构图

人脸识别开发板可提供的AI 信息括如下内容:

轨迹ID(traceId):是一个人脸进入画面后自动生成的唯一标识,它不会随着运动、人脸大小的变化而改变。系统会根据轨迹ID进行人脸身份的识别。

人脸框和姿态角:系统识别到人脸后会用一个框对人脸进行定位,在这个框中会通过建立空间直角坐标系如图3-2,然后返回roll,pitch 和 yaw 三个角度参数信息来描述人脸姿态,各个参数信息如表3-1

图3- 2 人脸姿态角坐标示意图

表3- 1 人脸姿态角参数信息

参数名称

数据类型

描述

roll

浮点型小数

脸部左右倾斜角度,取值范围-180~180,在-60-60内效果准确,角度偏移过大可能造成检测失败或者点位不准。

yaw

浮点型小数

脸部左右扭头角度,取值范围-90~90,在-30-30内效果准确,角度偏移过大可能造成检测失败或者点位不准。

pitch

浮点型小数

脸部俯仰角,取值范围-90~90,在-30-30 内效果准确,角度偏移过大可能造成检测失败或者点位不准。

面部配准点:人脸配准可以根据人脸框的位置获取人脸五官点坐标。人脸检测算法输出90个人脸配准点信息。按照不同的人脸部位分成了左眉毛,右眉毛,左眼,右眼,鼻子,嘴巴,人脸轮廓以及瞳孔几个部分。每部分由数量不等的配准点组成,总共 90 个配准点,90个匹配点信息如下图

图3- 3  人脸匹配点信息示意图

3.2 控制终端搭建Web服务器

本文系统搭建的Web服务器使用的平台为Ubuntu系统+英特尔(Intel)Mini主机,采用Django框架实现Web服务器的搭建,数据库使用Mysql。

3.2.1 Web服务器搭建思路

首先要实的是将人脸识别开发板摄像头获取的视频流数据通过IP数据包封装推送到Web服务器前端实现管制现场画面的实时直播。本文采用的是OpenCV+Python+RTMP+Nginx,如图3-4所示可在Web客户端首页看到监控现场的实时画面.

图3- 4 Web客户端首页界面

然后对人脸识别开发板传送过来的AI 信息进行进一步处理实现

1、判断是否有人在岗,此功能通过判断AI 信息中是否人脸框进行判断。

2、判断管制员是否正视屏幕,此功能通过人脸姿态角进行判断,本文使用的姿态角范围为roll(-75,75),yaw(-45,45),pitch(-45,45),不在此范围的均判断为管制员未正视屏幕。

3、判断管制员是否闭眼,首先要通过判断yaw方位角的值大于(小于)0来确定人脸朝向。yaw大于0则左脸朝向屏幕,取左眼作为基准;yaw小于0则右脸朝向屏幕则取右眼作为基准。

确定人脸朝向后,根据AI信息中的眼睛配准点7和1、5和3以及4和0之间的欧式距离l进行判断(如图3-5),公式如下:

取Ratio=0.25作为眼睛闭合的阈值,当Ratio<0.25时表明眼睛此时处于关闭状态。

图3- 5 人眼匹配点信息示意图

3.2.2 Web客户端的使用

在首页中可进行功能的选择和监控动能的开启和关闭,此外可以实时观看管制现场管制员工作状态,如图3-4所示。

在配置界面根据管制现场实际实际情况将各个参数设置成合理的值,如图3-6所示

图3- 6 Web客户端配置界面

在查询界面可以查看所有监测到管制员不正常工作状态的记录,如图3-7所示,记录包括了管制员的姓名、席位、发生不正常工作状态类型和时间等信息。此外,用户可以通过点击观看可以看到回放对应时间段记录的视频录像(图3-8),也可以下载到用户本地PC机进行保存。

图3- 7 Web客户端查询界面

图3- 8 Web客户端视频录像回放