基于面部视觉的疲劳检测-哈欠

2023-10-26

基于视觉的疲劳检测可以认为大致分为三个部分,点头,哈欠,眨眼。分别为姿态、嘴部特征、眼部特征。

本文主要介绍哈欠的测定方法。

首先研究了陈博士《基于可拓学与面部视觉。。。》一文,他提出一种基于特征点曲线拟合的嘴唇内轮廓检测方法,先对嘴巴进行粗定位,然后对嘴巴区域进行Harris角点检测,利用检测到的角点坐标拟合出嘴巴内轮廓曲线。【角点检测+二次曲线拟合】

内轮廓具有的优点为:准确的张口度;头部较大旋转仍能计算张口度。

什么是角点:角点没有明确的数学定义,但人们普遍认为角点是二维图像亮度变化剧烈的点或图像边缘曲线上曲率极大值的点。

1、P46:嘴巴粗定位、角点检测Harris角点检测算法【OpenCV中定义了cornerHarris函数】、嘴巴内轮廓模型



嘴巴坐标系重建

2、最小二乘法获取内轮廓线(分段二次函数拟合)

http://blog.csdn.net/xiaowei_cqu/article/details/7805206


P61起:

3、基于嘴巴内轮廓的张口度计算公式为:


张口度计算公式



嘴唇轮廓示意图

4、指标:

双阈值法哈欠检测:

对内轮廓进行检测:结合张口度与张口时间

5、判定方法
判定方法一:


首次判决:根据张口度大小进行初判;然后根据时间进行首次判决,对于在条件区域的哈欠进行二次判决。

二次判决:对应于嘴小的人,此时降低张开度判决门限后,记为

(降低后的门限),若此时持续125帧以上,则可判定为哈欠。


降低后的门限

列表如下:


论文所给参考阈值:

在区分无哈欠、哈欠、深哈欠时:(利用连续时间的长短区分)一般为3s超过3s为长哈欠(深哈欠),2.5-3s为哈欠。

M-时序构建:p88

在长度为Lt秒时间窗内利用阈值对张口度值进行二值化。

时间窗内连续1的最大个数占总二进制位数的比例记为M,当M达到阈值才确定为哈欠,设l表示ti时刻时间窗内连续1的个数,表示最长的连续1的个数,则

将时间窗内连续1的最大个数占总二进制位数的比例M沿时间轴构成时间序列,记为记为


对M-时序进行分段并标记0、1、2分别代表无哈欠、浅哈欠、深哈欠。

判定方法二:

Yawn为符合打哈欠的帧数,N为1min内总帧数,设阈值为10%,当Freq>10%时认为打了一个深度哈欠或者至少连续两个浅哈欠,此时给出疲劳提醒。


Step1:提取帧图像检测人脸,嘴部粗定位进行肤色分割;

Step2:嘴部精确定位,获取嘴部特征值K1,若k1大于阈值T1,则Step3,;否则K2=K1/2,count=0回到step1,检测下一帧。

Step3:提取嘴部内轮廓特征值K2,若K2大于阈值T2,则Step4,否则count=0,返回Step1,检测下一帧。

Step4:统计哈欠特征count=count+1,当count超过阈值且下一帧的哈欠特征消失,保存count到Yawn,Yawn(i)=count,count=0(count清0)回到Step1,否则的话也直接转回Step1。

Step5:分析完1min内所有图像,计算哈欠特征总数:

,按照

计算Freq值,超过阈值则发出疲劳提醒。(推荐阈值为0.1)

特征提取方法

嘴部特征提取的方法1:

Landmark可进行粗定位。48点、54点  上下可能定位不准确。

50 52 58 56


Gabor变换,将原嘴部图像与Gabor核函数卷积。

对嘴部图像做垂直方向的Gabor变换,然后再经过二值化得到内部轮廓。


第三列为垂直Gabor变换后结果,第四列为第三列二值化后的结果。

实现方法可参考如下博文:

http://blog.csdn.net/u013709270/article/details/49642397

SUSAN算子

嘴部特征提取方法二:

方差投影法进行粗定位

角点检测Harris角点检测算法【OpenCV中定义了cornerHarris函数】

再进行分段二次函数拟合。

实现程序:opencv人脸及角点检测


Harris角点效果并不很理想,总是会把牙齿部分作为角点,显然与内嘴唇相差较远。

6、决策:

1、论文中表述:只要产生打哈欠的动作即归类为“疲劳”。

连续70帧进入哈欠预备期,通过统计连续张嘴的时间长度(帧数)来确定哈欠的深浅,累计打哈欠时间在10s以上则判为重度疲劳。

单位时间(1min)内:(25帧/s)


1min打一次浅哈欠为轻度疲劳,1次一般哈欠为中度疲劳,或2次为中度疲劳。

2次深哈欠为重度疲劳。

3-4s浅哈欠;4-5s为深哈欠。

测得为哈欠的连续帧数即保存起来,记录1min内哈欠的次数。

//另一种计算哈欠特征总数:,按照计算Freq值,超过阈值则发出疲劳提醒。(推荐阈值为0.1)



2、进行加权评分:基于眼睛和打哈欠的特征进行融合决策(打分,以模糊度表示)

来源:《基于面部特征识别的管制员疲劳监测方法研究_汪磊》



如何进行疲劳特征融合决策


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于面部视觉的疲劳检测-哈欠 的相关文章

  • 目标检测(一):背景差分法

    目标检测是将运动的物体从背景中检测出来 人们希望设计能适用于各种监控环境 不受光照 天气等外界因素影响的目标检测算法 但这种算法难免复杂度大 现有一些算法大多是针对某一类问题提出的 主要包括背景减法 相邻帧差法和光流法等1 1背景减法 背景
  • 背景减除法的研究

    本篇对背景减除法做了一个全面的分析与比较 首先 按照数学模型的不同 把背景减除法分为六大类 然后 在每一类中选取了一些经典的 有代表性的算法进行介绍 最后 通过理论研究与实验比较 从准确性 鲁棒性 内存需求和计算速度的角度 指出了这些种背景
  • 目标检测+光流跟踪

    最近学习了LK光流法 主要用于运动目标的跟踪 于是想着和之前codebook运动目标检测结合起来 实现先检测再跟踪 下面介绍目标检测跟踪流程 1 使用codebook进行背景学习 2 使用codebook不断进行运动目标检测 3 若发现运动
  • Nvidia Deepstream极致细节:3. Deepstream Python RTSP视频输出显示

    Nvidia Deepstream极致细节 3 Deepstream Python RTSP视频输出显示 此章节将详细对官方案例 deepstream test 1 rtsp out py作解读 deepstream test 1 rtsp
  • 自动火焰识别项目总结

    步骤分为图像获取 gt 图像预处理 gt 火焰图像分割 gt 火焰图像特征提取 gt 火焰识别 1 图像获取 视频或图片 2 图像预处理 预处理过程一般有数字化 几何变换 归一化 平滑 复原和增强等步骤 图像变换 图像增强 图像去噪 图像压
  • MVCNN:利用二维多视角的3D识别

    Highlights 用物体的三维数据从不同 视角 所得到的二维渲染图 作为原始的训练数据 用经典 成熟的二维图像卷积网络进行训练 训练出的模型 对三维物体的识别 分类效果之好 比那些用三维数据直接训练出的模型好很多 Critical Re
  • 国外机器视觉解决方案供应商Top 10

    由制造行业的杂志 Manufacturing Tech Insights 2016年评选的机器视觉解决方案供应商Top 10名单如下 Cognex 提供强大的机器视觉软件解决方案 高效的设备防错与故障检测监测供应商 Datalogic 为了
  • 【vision transformer】DETR原理及代码详解(三)

    transformer 端到端目标检测DETR项目实践及代码详解 Paddle Detr git PaddleViT object detection DETR at develop BR IDL PaddleViT GitHub 数据集及
  • OpenCV灰度图像平移和旋转算法(平面内)

    旋转重心为图像中心 为简化计算 旋转角度为int值 单位为度 DIM SAMPLE POINTS X DIM SAMPLE POINTS Y 为图像大小 建议为相等 图像的x轴与实际坐标相等 而y轴方向相反 因此shift y之前有个负号
  • DetNet: A Backbone network for Object Detection 笔记

    Face 的lizeming大神注意到了现有Detection Network的两大通病 借用原本为了class而设计的network 牵强地附加上其他辅助结构来实现Detection 下采样能带来大感受野 从而提升class任务精度 但下
  • ROC曲线-阈值评价标准

    ROC曲线指受试者工作特征曲线 接收器操作特性曲线 receiver operating characteristic curve 是反映敏感性和特异性连续变量的综合指标 是用构图法揭示敏感性和特异性的相互关系 它通过将连续变量设定出多个不
  • DOTA: A Large-scale Dataset for Object Detection in Aerial Images 翻译

    DOTA 用于航空图像中目标检测的大规模数据集 原文 https arxiv org pdf 1711 10398 pdf 官网 https captain whu github io DOTA dataset https captain
  • ML Introduction

    Task of ML Supervised Learning Classification and regression Unsepervised Learning Clustering Density Estimation Reducti
  • 【vision transformer】DETR原理及代码详解(四)

    本节是 DETR流程及 构建backbone和position embedding 相关部分的代码解析 一 DETR代码流程 STEP 1 Create model and criterion 构建模型和标准 STEP 2 Create t
  • ICP算法(Iterative Closest Point迭代最近点算法)

    最近在做点云匹配 需要用c 实现ICP算法 下面是简单理解 期待高手指正 ICP算法能够使不同的坐标下的点云数据合并到同一个坐标系统中 首先是找到一个可用的变换 配准操作实际是要找到从坐标系1到坐标系2的一个刚性变换 ICP算法本质上是基于
  • CV学习笔记 — 数据集预处理常用脚本总结

    笔者在学习计算机视觉时 需要经常借助脚本对数据集进行预处理 现将常用的脚本总结如下 1 批量修改文件后缀名 批量修改 import os import sys 需要修改后缀的文件目录 os chdir r H 葡萄 datasets JPE
  • 深度网络架构的设计技巧(三)之ConvNeXt:打破Transformer垄断的纯CNN架构

    单位 FAIR DenseNet共同一作 曾获CVPR2017 best paper UC伯克利 ArXiv https arxiv org abs 2201 03545 Github https github com facebookre
  • 光流法( Optical Flow Method)

    在计算机视觉中 光流法即可用于运动目标检测 也可以用于目标跟踪 本文主要介绍光流法在运动目标检测和目标跟踪中的区别与联系 1 光流与光流场 光流的概念最初是由 Gibson 于 1950 年首先提出来的 当人的眼睛观察运动物体时 物体的景象
  • Dlib的编译

    有2种方法 1 新建空的工程 导入后编译 2 采用CMake自动生成工程文件后 再编译 官网上建议第1种方法 第1种方法好处就是编译后 在使用lib文件时 不需要将libjpeg libpng and zlib目录下的文件导入到工程文件中
  • Kmeans K均值聚类,OpenCV实现

    Clustering 聚类 kmeans k均值聚类 Finds centers of clusters and groups input samples around the clusters 寻找clusters的中心 并且将输入的样本

随机推荐

  • 2、TCP、多进程并发、多线程并发(linux网络编程)

    三次握手和四次挥手的过程都是在内核实现的 三次握手 通信的时候不再需要SYN标识位了 只有在请求连接的时候需要SYN标识位 传输数据的时候的随机序号seq就是最近一次对方发送给自己的ACK的随机序号值 而发给对方的ACK就是上次刚刚发给对方
  • JDK安装配置教程

    JDK简介 Java Development Kit JDK 是 Sun 公司 已被 Oracle 收购 针对 Java 开发员的软件开发工具包 自从 Java 推出以来 JDK 已经成为使用最广泛的 Java SDK Software d
  • Windows10下安装Git

    Git是一个开源的分布式版本控制系统 可以有效 高速的处理从很小到非常大的项目版本管理 具体安装步骤如下 第一步 先从官网下载最新版本的Git 官网地址 https git scm com downloads 点击上图中表示的地方进行下载
  • 如何修改安卓系统为自己的云服务器,安卓手机改装云服务器

    安卓手机改装云服务器 内容精选 换一换 本节操作介绍华为云上云服务器的跨账号跨区域迁移 建议采用镜像迁移方式 服务器迁移的常见场景与常用的迁移方式请参考迁移的背景知识 跨账号跨区域迁移的方法请参考方案介绍常见的服务器迁移场景包括物理服务器与
  • 【论文精读】Grounded Language-Image Pre-training(GLIP)

    一 背景 https arxiv org abs 2112 03857 https github com microsoft GLIP 这篇论文做的任务是phrase grounding 属于visual grounding的一种 phra
  • MySQL 修改默认值

    alter TABLE tableName alter COLUMN columnName set default defaultValue
  • 电阻式湿度传感器原理

    电阻式湿度传感器是利用湿敏元件的电气特性 如电阻值 随湿度的变化而变化的原理进行湿度测量的传感器 湿敏元件一般是在绝缘物上浸渍吸湿性物质 或者通过蒸发 涂覆等工艺制各一层金属 半导体 高分子薄膜和粉末状颗粒而制作的 在湿敏元件的吸湿和脱湿过
  • 大模型应用落地实践:2大路径、3大痛点、5大革命、6大预判!

    省时查报告 专业 及时 全面的行研报告库 省时查方案 专业 及时 全面的营销策划方案库 免费下载 2023年8月份全网热门报告合集 ChatGPT提词示例 让你的ChatGPT聪明100倍 超百页干货资料 AI应用的难点 痛点与未来 202
  • 双端队列,以顺序表实现双端队列,在队头和队尾添加删除元素

    include
  • opencv之kmeans原理与分割实例

    opencv之K Means原理与实现方法 C 和python版本 KMeans原理 今天记录一下opencv中kmeans中的原理以及图像分割的一个实例 K Means是对数据进行分类的算法 属于无监督学习的一种 首先需要确定对图像进行类
  • 关于QT多界面切换

    1 新增一窗体文件 会自动生成ui1 cpp ui1 h ui1 ui这三个文件 可以进行设计 绑定ui中的控件与数据模型 比如ui gt lable setText string 2 再增加一个UI文件 ui2 也会生成相应的 同上 3
  • 原本是list类型,pandas读入后变成str、obejct等其他的类型,恢复成list,并进行数据炸裂explode操作

    文章目录 本文章拟解决问题 不是这些问题请绕路 一 需求 二 操作步骤 1 从数据库中读入数据 读入的原始数据如图 2 将数据炸裂 将JSON列表拆分 一个JSON对象一行 1 具体的代码过程 踩坑 因为pandas读入数据 将 JSON列
  • XTUOJ 1176 I Love Military Chess(模拟)

    I Love Military Chess Accepted 45 Submit 141 Time Limit 1000 MS Memory Limit 65536 KB 题目描述 陆军棋 又称陆战棋 简称军棋 是中国近代的一种两人棋类 设
  • Niantic CEO访谈:元宇宙、AR眼镜和公司发展史

    Meta宣布转型元宇宙社交平台后 人们一度觉得VR是元宇宙的未来 与此同时 一些AR公司表示不服 认为AR在元宇宙的布局更超前 尤其是Snap Niantic等较成熟的移动端AR公司 对于元宇宙有各自不同的看法和规划 比如 此前Nianti
  • 下载、安装IntelliJ IDEA

    文章目录 一 下载IntelliJ IDEA 二 安装IntelliJ IDEA 三 配置主题与插件 1 设置界面主题 2 配置缺省插件 3 配置特色插件 四 设置IntelliJ IDEA 1 设置编译器用鼠标滚鼠来缩放字号 2 设置编辑
  • uml交互图

    交互图用来描述系统中的对象是如何进行相互作用的 即一组对象是如何进行消息传递的 当交互图建模时 通常既包括对象 每个对象都扮演某一特定的角色 又包括消息 每个消息都代表对象之间的通信活动 并导致一定的动作发生 关键字 对象 顺序 消息 顺序
  • 7.13字节跳动模拟面试

    GDB调试常见命令 进入GDB 取消联系 插入端点 gdb help 查看命令帮助 具体命令查询在gdb中输入help 命令 简写h gdb run 重新开始运行文件 run text 加载文本文件 run bin 加载二进制文件 简写r
  • 【TODO】2023年秋招笔试未竞

    2023年秋招笔试没做完的题 腾讯20230326笔试三道 米哈游20230813笔试第三题 网易雷火0820第2 3 4题 第三题 深信服0912B卷3 4题 第三题 背包装满最小数量 第四题 腾讯0915重考最后一道 字节0917秋招第
  • 5.xaml RadioButton按钮

    1 运行图 2 运行源码 a Xaml源码
  • 基于面部视觉的疲劳检测-哈欠

    基于视觉的疲劳检测可以认为大致分为三个部分 点头 哈欠 眨眼 分别为姿态 嘴部特征 眼部特征 本文主要介绍哈欠的测定方法 首先研究了陈博士 基于可拓学与面部视觉 一文 他提出一种基于特征点曲线拟合的嘴唇内轮廓检测方法 先对嘴巴进行粗定位 然