Child Drowsiness / Fatigue Detection | 儿童打瞌睡/疲劳检测

Using a fixed camera in the classroom or above the home desk, the system analyzes the child's (student's) facial video in real time, detecting eye closure ratio (PERCLOS — the prop…

smyx-sunjinhui

@smyx-sunjinhui

What This Skill Does

Analyzes a child's facial video from a fixed camera to detect eye closure ratio (PERCLOS), head-nodding frequency, and eye-region glossiness changes, then computes a comprehensive fatigue index (0-100) with severity levels. Outputs structured reports and rest reminders.

Replaces manual observation of student drowsiness by providing automated, real-time fatigue detection and alerts based on multiple visual cues.

When to Use It

  • Monitor a child's alertness during online classes using a webcam
  • Detect drowsiness in students during classroom instruction
  • Track a child's fatigue level while doing homework at a desk
  • Generate a daily fatigue report for a child's study session
  • Trigger a voice reminder when a child shows signs of falling asleep
  • Review historical fatigue detection reports for a child over a period

Install

$ openclaw skills install @smyx-sunjinhui/smyx-child-drowsiness-fatigue-detection-analysis

😴 Child Drowsiness / Fatigue Detection | 儿童打瞌睡/疲劳检测

智能分析中枢 · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询


🧭 技能概览 | Overview

模块内容
🏷️ 技能名称儿童打瞌睡/疲劳检测
🎯 核心目标通过教室或家庭书桌的固定摄像头,实时分析儿童(学生)的面部视频,检测眼部闭合比例(PERCLOS,单位时间内眼睛闭合超过80%的时间占比)、点头动作频率(头部快速下点后抬起)以及眼部区域的光泽度变化,综合计算疲劳指数(0-100)。该技能可帮助教师或家长及时发现儿童困倦状态,调整学习安排或提醒休息。
🖼️ 输入类型图片、视频、本地文件、网络 URL
📝 输出能力结构化分析报告、识别/监测结果、建议与报告链接
🧩 场景码SMYX_CHILD_DROWSINESS_FATIGUE_DETECTION_ANALYSIS

Using a fixed camera in the classroom or above the home desk, the system analyzes the child's (student's) facial video in real time, detecting eye closure ratio (PERCLOS — the proportion of time eyes are closed more than 80% within a unit time), head-nodding frequency (rapid downward nod followed by lift), and changes in eye-region glossiness, and computes a comprehensive fatigue index (0-100). The skill helps teachers or parents detect drowsiness in time and adjust learning schedules or remind the child to rest. Application scenarios: classrooms, home desks, online classes. The system monitors in real time and, when the fatigue index exceeds a threshold, pushes reminders or triggers voice prompts (e.g., 'kid, time to take a break'). Skill features: safeguarding sleep health.

通过教室或家庭书桌的固定摄像头,实时分析儿童(学生)的面部视频,检测眼部闭合比例(PERCLOS,单位时间内眼睛闭合超过80%的时间占比)、点头动作频率(头部快速下点后抬起)以及眼部区域的光泽度变化,综合计算疲劳指数(0-100)。该技能可帮助教师或家长及时发现儿童困倦状态,调整学习安排或提醒休息。应用场景:教室、家庭书桌、在线课堂。系统实时监测,当疲劳指数超过阈值时,推送提醒或触发语音提示(如'小朋友,休息一下吧')。技能特点:保障睡眠健康。

🤖 AI 角色 | AI Role

角色要点说明
说明 1假设你是一个专业的儿童学习疲劳监测 AI。你的任务是分析儿童面部视频,检测眼部闭合状态和头部点头动作,计算疲劳指数。不要提供医疗诊断或睡眠障碍诊断,仅输出基于视觉的疲劳评估结果与方向性休息提醒。

🎬 技能演示 | Skill Demo

▶️ 点击查看技能使用介绍


🎯 任务目标 | Goals

1. 🧩 技能用途

基于教室/家庭书桌摄像头视频,量化儿童眼部闭合(PERCLOS)+ 点头动作 + 眼部光泽度变化,输出 0-100 疲劳指数与等级判定

2. 🛠️ 能力范围

序号具体能力
1儿童面部检测
2眼部状态识别(闭合 / 半闭 / 睁开)
3PERCLOS 计算
4连续闭眼时长
5眨眼频次
6点头次数与角度
7眼部光泽度变化
8疲劳综合得分(0-100)
9疲劳等级(alert / mild_fatigue / moderate_fatigue / drowsy)
10打瞌睡事件列表
11语音提醒文本生成

3. ⚡ 触发条件

触发类型触发规则
✅ 默认触发默认触发:当用户提供儿童面部学习区域视频 URL 或文件需要分析时,默认触发本技能进行打瞌睡/疲劳检测
🔎 明确分析意图当用户明确提及打瞌睡、疲劳、困倦、PERCLOS、点头、眨眼、上课走神、写作业犯困、智能台灯疲劳提醒等关键词,并且上传了视频文件
📚 历史报告查询当用户提及以下关键词时,自动触发历史报告查询功能 :查看儿童疲劳历史报告、打瞌睡报告清单、疲劳指数报告清单、查询历史疲劳记录、显示所有儿童疲劳检测报告、显示儿童睡眠健康诊断报告,查询疲劳提醒清单

4. 🤖 自动行为

自动行为执行要求
📎 附件处理如果用户上传了附件或者视频/图片文件,则自动保存为本地文件
☁️ 历史报告查询如果用户触发历史报告查询关键词,必须直接调用云端 API 查询,不得从本地记忆或人工汇总中获取

⚠️ 强制数据获取规则(次高优先级)

橙色强约束: 历史报告清单只允许从云端接口读取,不允许从本地记录、长期记忆或人工汇总中提取。

必须执行:

python -m scripts.smyx_child_drowsiness_fatigue_detection_analysis --list
类型要求
✅ 必须使用 python -m scripts.smyx_child_drowsiness_fatigue_detection_analysis --list 调用 API 查询云端的历史报告数据
🚫 严格禁止从本地 memory 目录读取历史会话信息
🚫 严格禁止手动汇总本地记录中的报告
🚫 严格禁止从长期记忆中提取报告
✅ 输出格式必须统一从云端接口获取最新完整数据,然后以 Markdown 表格格式输出结果

📦 前置准备 | Requirements

  • 依赖说明:scripts 脚本所需的依赖包及版本
    requests>=2.28.0
    

🚀 操作步骤 | Workflow

🔐 用户身份处理(内部自动完成)

绿色安全原则: 用户身份参数由系统内部自动处理,不得向用户展示、询问或要求输入任何身份标识

执行本技能分析或历史报告查询时,脚本会自动完成身份初始化:

场景系统行为
上游系统有内部身份参数由脚本静默接收并使用
上游系统未提供内部身份参数脚本会自动复用本地缺省用户
本地缺省用户不存在脚本会自动创建并在后续任务中复用
对用户输出只展示分析进度、分析结果和报告链接,不展示内部身份值

🔒 关键约束

禁止/要求说明
🚫 不得询问身份不得提示用户输入用户名、手机号或任何内部身份参数
🚫 不得暴露身份值不得在回复、报告、示例、错误提示中暴露内部身份值
🚫 不得列为用户参数不得把内部身份参数列为用户需要理解或传入的参数
✅ 自动关联报告历史报告查询同样由系统内部身份自动关联,用户只需表达“查看历史报告/报告清单”等意图

🧪 标准流程 | Standard Flow

步骤阶段执行动作
1📥 准备儿童面部学习区域视频输入提供本地文件路径或网络 URL;确保输入内容清晰、符合技能场景要求
2🔐 系统自动完成身份关联无需用户输入任何身份参数;不在回复中展示内部身份值
3⚙️ 执行儿童打瞌睡/疲劳检测调用 -m scripts.smyx_child_drowsiness_fatigue_detection_analysis 处理输入(必须在技能根目录下运行脚本
4📊 查看分析结果接收结构化分析报告,查看识别/监测结果、风险提示、建议与报告链接

⚙️ 脚本参数说明

参数含义备注
--input本地儿童面部学习区域视频文件路径适用于本地文件分析
--url网络儿童面部学习区域视频 URL 地址(API 服务自动下载)API 服务自动下载网络资源
--pet-type类别标识,儿童学习疲劳监测场景默认 other按需填写
--list显示儿童打瞌睡/疲劳历史检测报告列表清单(可以输入起始日期参数过滤数据范围)用于云端历史报告查询
--api-urlAPI 服务地址(可选,使用默认值)按需填写
--detail输出详细程度(basic/standard/json,默认 json)输出详细程度
--output结果输出文件路径(可选)可选

🗂️ 资源索引 | Resource Index

资源类型路径用途何时读取
🐍 必要脚本scripts/smyx_child_drowsiness_fatigue_detection_analysis.py调用 API、执行分析或查询历史报告执行分析或查询时使用
🐍 必要脚本scripts/config.py调用 API、执行分析或查询历史报告执行分析或查询时使用
📘 领域参考references/api_doc.md了解 API 接口规范、字段说明和错误码仅在需要了解接口规范或错误码时读取

⚠️ 注意事项 | Notes

分类注意事项
📚 文档读取仅在需要时读取参考文档,保持上下文简洁
📁 格式支持输入要求:支持 mp4/avi/mov 视频,最大 10MB;建议正对面部、≥ 15 FPS
🧑‍⚖️ 结果性质检测结果仅作为学习/课堂辅助参考,本工具不替代家长/教师的实际观察与教育判断,疑似长期严重困倦请就医
🔏 隐私合规隐私合规:儿童学习场景视频涉及未成年人隐私,使用前需取得监护人知情同意,并妥善保管/加密相关录像
🚫 脚本限制禁止临时生成脚本,只能用技能本身的脚本
🌐 网络地址传入的网络地址参数,不需要下载本地,默认地址都是公网地址,api 服务会自动下载
📜 报告输出当显示历史分析报告清单的时候,从接口返回 json 数据中提取字段 作为超链接地址,且自动转化为如下 Markdown
📜 报告输出表格输出示例

🧰 使用示例 | Examples

# 分析本地儿童学习面部视频
python -m scripts.smyx_child_drowsiness_fatigue_detection_analysis --input /path/to/class.mp4

# 分析网络儿童学习面部视频
python -m scripts.smyx_child_drowsiness_fatigue_detection_analysis --url https://example.com/class.mp4

# 显示历史儿童疲劳检测报告(自动触发关键词:查看儿童疲劳历史报告、打瞌睡报告清单等)
python -m scripts.smyx_child_drowsiness_fatigue_detection_analysis --list

# 输出精简报告
python -m scripts.smyx_child_drowsiness_fatigue_detection_analysis --input class.mp4 --detail basic

# 保存结果到文件
python -m scripts.smyx_child_drowsiness_fatigue_detection_analysis --input class.mp4 --output result.json

Top skills in this category