人员离岗监测摄像机智能人员睡岗、逃岗监测 Python 语言结合 OpenCV

在安全生产领域,人员的在岗状态直接关系到生产流程的顺利进行和工作环境的安全稳定。人员离岗监测摄像机的出现,为智能人员睡岗、逃岗监测提供了高效精准的解决方案,而其中的核心技术如AI识别睡岗脱岗以及相关的算法盒子和常见的安全生产AI算法发挥着关键作用。

AI识别睡岗脱岗技术是整个系统的核心。通过深度学习算法,系统能够对摄像机采集到的视频画面进行实时分析。它可以精准地识别出人员的姿势和动作,判断是否存在睡岗或脱岗现象。对于睡岗的识别,算法会分析人员的头部位置、身体姿态以及眼睛状态等多个因素。如果一个人长时间保持低头、闭眼且身体静止的状态,系统就会判定为睡岗。在脱岗监测方面,系统能够跟踪人员的运动轨迹,当人员离开指定工作区域并超过一定时间,就会触发脱岗报警。这种智能化的识别方式,极大地提高了监测的准确性和效率,有效避免了人工监测的主观性和疲劳问题。

import cv2
import mediapipe as mp
import time# 初始化mediapipe的人体姿态检测模块
mp_drawing = mp.solutions.drawing_utils
mp_pose = mp.solutions.pose
pose = mp_pose.Pose(static_image_mode=False, min_detection_confidence=0.5, min_tracking_confidence=0.5)# 定义一些用于判断睡岗的参数
EYE_THRESHOLD = 0.3  # 眼睛开合程度阈值,小于此值认为闭眼
HEAD_TILT_THRESHOLD = 10  # 头部倾斜角度阈值,超过此值认为低头幅度大
SLEEP_TIME_THRESHOLD = 5  # 连续满足睡岗条件的时间阈值(秒)# 用于记录状态的变量
prev_time = time.time()
sleep_count = 0# 打开摄像头
cap = cv2.VideoCapture(0)while cap.isOpened():ret, frame = cap.read()if not ret:break# 将图像从BGR格式转换为RGB格式(mediapipe要求的输入格式)image_rgb = cv2.cvtColor(frame, cv2.COLColorSpace.BGR2RGB)results = pose.process(image_rgb)if results.pose_landmarks:# 获取眼睛和头部相关的关键点坐标left_eye = [results.pose_landmarks.landmark[mp_pose.PoseLandmark.LEFT_EYE].x,results.pose_landmarks.landmark[mp_pose.PoseLandmark.LEFT_EYE].y]right_eye = [results.pose_landmarks.landmark[mp_pose.PoseLandmark.RIGHT_EYE].x,results.pose_landmarks.landmark[mp_pose.PoseLandmark.RIGHT_EYE].y]nose = [results.pose_landmarks.landmark[mp_pose.PoseLandmark.NOSE].x,results.pose_landmarks.landmark[mp_pose.PoseLandmark.NOSE].y]# 简单计算眼睛开合程度(这里只是简单示意,实际可以用更准确的方法)eye_distance = abs(left_eye[0] - right_eye[0]) + abs(left_eye[1] - right_eye[1])# 判断是否闭眼(基于简单阈值)is_eyes_closed = eye_distance < EYE_THRESHOLD# 计算头部倾斜角度(简单通过鼻子和眼睛相对位置大致判断,实际更复杂)head_tilt_angle = abs(nose[1] - (left_eye[1] + right_eye[1]) / 2)is_head_tilted = head_tilt_angle > HEAD_TILT_THRESHOLD# 如果既闭眼又低头,认为可能在睡岗,计数增加if is_eyes_closed and is_head_tilted:cur_time = time.time()if cur_time - prev_time > SLEEP_TIME_THRESHOLD:sleep_count += 1print("检测到可能睡岗,持续时间:", cur_time - prev_time)prev_time = cur_timeelse:prev_time = time.time()sleep_count = 0# 绘制人体姿态的关键点和连线mp_drawing.draw_landmarks(frame, results.pose_landmarks, mp_pose.POSE_CONNECTIONS)# 如果连续多次检测到睡岗情况,给出明确提示if sleep_count >= 3:cv2.putText(frame, "警告:检测到睡岗!", (50, 100), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 2)cv2.imshow('Sleep and Absence Detection', frame)if cv2.waitKey(1) & 0xFF == 27:  # 按Esc键退出breakcap.release()
cv2.destroyAllWindows()

算法盒子:智能监测的核心引擎

算法盒子是承载AI算法的关键设备,它相当于整个监测系统的“心脏”。算法盒子通常安装在靠近摄像机的位置,采用边缘计算技术,能够对视频数据进行快速处理。它内部运行的算法经过大量的数据训练,能够适应不同的工作场景和人员行为模式。与传统的云端计算相比,算法盒子的边缘计算方式减少了数据传输的延迟,确保了实时监测的可行性。而且,它还可以根据具体的安全生产要求进行定制化配置,如调整睡岗和脱岗的判定阈值,以满足不同企业和工作环境的特殊需求。

在人员离岗监测领域,有几种常见的安全生产AI算法值得深入了解。其中,目标检测算法用于在视频画面中快速定位人员的位置,这是后续行为分析的基础。基于卷积神经网络(CNN)的人体姿态估计算法可以精确地分析人员的身体姿态,从而判断是否存在睡岗行为。另外,轨迹跟踪算法能够记录人员的运动轨迹,对于脱岗监测至关重要。这些算法相互配合,形成了一个完整的智能监测体系。例如,在煤矿井下作业场景中,目标检测算法首先确定井下工人的位置,人体姿态估计算法实时监测工人是否有疲劳打盹的情况,轨迹跟踪算法则确保工人在规定的工作区域内活动,任何一种异常行为都能被及时发现并预警。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/64268.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【计算机网络】Layer4-Transport layer

目录 传输层协议How demultiplexing works in transport layer&#xff08;传输层如何进行分用&#xff09;分用&#xff08;Demultiplexing&#xff09;的定义&#xff1a;TCP/UDP段格式&#xff1a; UDPUDP的特点&#xff1a;UDP Format端口号Trivial File Transfer Protocol…

车牌识别OCR授权:助力国产化升级,全面提升道路监控效率

政策背景&#xff1a;国产化升级&#xff0c;推动道路监控产业转型 随着国家对信息安全的重视&#xff0c;国内各大公安、政企机构已进入全面升级国产化平台的实施阶段。根据最新的政策要求&#xff0c;公安和政府部门必须在未来三年内完成平台的国产化替换工作。这一举措不仅…

YOLOv5-7.0训练过程中出现报错Example: export GIT_PYTHON_REFRESH=quiet

出现报错&#xff1a; This initial message can be silenced or aggravated in the future by setting the $GIT_PYTHON_REFRESH environment variable. Use one of the following values: - quiet|q|silence|s|silent|none|n|0: for no message or exception - warn…

KALI安装操作及过程

以下是在计算机上安装 Kali Linux 的详细教程&#xff1a;&#xff08;通常我直接使用虚拟机&#xff09; 解压虚拟机安装包&#xff0c;直接在虚拟机中打开KALI &#xff08;将内存改为4GB&#xff09; 初始密码账号&#xff1a;kali 一、准备工作 下载 Kali Linux 镜像文件…

Linux环境安装Jenkins

Linux环境安装Jenkins Jenkins和JDK的版本 Jenkins和JDK的版本需要对应&#xff0c;不然无法正常启动。 Jenkins稳定版下载地址 Jenkins服务 手动使用命令启动和关闭Jenkins比较麻烦&#xff0c;所以可以把Jenkins设置成开机启动。 创建Jenkins.sh文件 JAVA_HOME和jenk…

ComfyUI 与 Stable Diffusion WebUI 的优缺点比较

ComfyUI与Stable Diffusion WebUI都是AI绘画领域比较知名两款产品&#xff0c;两者存在诸多差异&#xff0c;本篇就带你熟悉二者的优劣&#xff0c;方便自己做出决策。 界面与操作 ComfyUI&#xff1a;界面简洁直观&#xff0c;通过节点和连线的方式构建工作流&#xff0c;用…

2024年第十五届蓝桥杯青少组C++国赛—割点

割点 题目描述 一张棋盘由n行 m 列的网格矩阵组成&#xff0c;每个网格中最多放一颗棋子。当前棋盘上已有若干棋子。所有水平方向或竖直方向上相邻的棋子属于同一连通块。 现给定棋盘上所有棋子的位置&#xff0c;如果要使棋盘上出现两个及以上的棋子连通块&#xff0c;请问…

uni-app Android平台上架要求的隐私政策提示配置方法【跨端开发系列】

文章目录 前言&#x1f4d6;一、前言二、DCloud 数据采集说明三、配置方式3.1 HBuilderX3.2.1及以上版本配置方式3.2 HBuilderX3.2.0及以下版本配置方法3.3 模板提示框3.4 无提示框 四、离线打包配置方式五、模板提示框六、二次确认提示框七、国际化八、隐私协议内容需要注意的…

《Keras3 minist 手写数字AI模型训练22秒精度达到:0.97》

《Keras3 minist 手写数字AI模型训练22秒精度达到&#xff1a;0.97》 一、修改源码加上如下两条代码二、源码修改如下三、Keras3 minist 训练22秒结束&#xff0c;训练过程截图四、Keras3 minist 源码截图 一、修改源码加上如下两条代码 import os os.environ["KERAS_BAC…

MySQL基础大全(看这一篇足够!!!)

文章目录 前言一、初识MySQL1.1 数据库基础1.2 数据库技术构成1.2.1 数据库系统1.2.2 SQL语言1.2.3 数据库访问接口 1.3 什么是MySQL 二、数据库的基本操作2.1 数据库创建和删除2.2 数据库存储引擎2.2.1 MySQL存储引擎简介2.2.2 InnoDB存储引擎2.2.3 MyISAM存储引擎2.2.4 存储引…

[论文阅读笔记]-PalmTree: 学习一个用于指令嵌入的汇编语言模型

深度学习已在众多二进制分析任务中展示了其优势&#xff0c;包括函数边界检测、二进制代码搜索、函数原型推理、值集分析等。现有方案忽略了复杂的指令内结构&#xff0c;主要依赖于控制流&#xff0c;其中上下文信息是嘈杂的&#xff0c;并且可能受到编译器优化的影响。为了解…

手搓一个极简远端git库

原文地址&#xff1a;手搓一个极简远端git库 – 无敌牛 欢迎参观我的个人博客&#xff1a;无敌牛 – 技术/著作/典籍/分享等 问题分析 公司一直用 gitlab &#xff08;或者 极狐 都是一样的&#xff09;作为代码管理库&#xff0c;但是看了一些文章说代码最小的管理只需要 g…

Linux 服务器下非root用户安装CUDA完整流程(多次踩雷经验总结)

参考博客&#xff1a; linux下安装cuda和cudnn&#xff08;非root权限&#xff09;_cuda下载安装 远程服务器 linux-CSDN博客 Linux下非root用户安装CUDA_linux下cuda-toolkit-archive-CSDN博客 非root用户安装cuda10.1&#xff0c;以及CUDA不同版本间切换_非root用户.run文…

分立器件---运算放大器关键参数

运算放大器 关键参数 1、供电电压:有单电源电压、双电源电压,双电源电压尽量两个电源都接。如图LM358B,供电电压可以是20V或者是40V和GND。 2、输入偏置电流IB:当运放输出直流电压为零时,运放两个输入端流进或者流出直流电流的平均值。同向输入端电流IB+与反向输入端电流…

【数据结构——查找】二叉排序树(头歌实践教学平台习题)【合集】

目录&#x1f60b; 任务描述 相关知识 测试说明 我的通关代码: 测试结果&#xff1a; 任务描述 本关任务&#xff1a;实现二叉排序树的基本算法。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a;二叉树的创建、查找和删除算法。具体如下&#xff1a; (1)由…

240004基于Jamva+ssm+maven+mysql的房屋租赁系统的设计与实现

基于ssmmavenmysql的房屋租赁系统的设计与实现 1.项目描述2.运行环境3.项目截图4.源码获取 1.项目描述 该项目在原有的基础上进行了优化&#xff0c;包括新增了注册功能&#xff0c;房屋模糊查询功能&#xff0c;管理员和用户信息管理等功能&#xff0c;以及对网站界面进行了优…

聊聊Oracle自适应查询优化

成也AQO败也AQO 因为工作的原因&#xff0c;我们接触到的客户大部分是金融和运营商行业&#xff0c;这些客户有个最大的特点是追求稳定&#xff0c;对于使用数据库新特性持保守的态度&#xff0c;不会轻易尝试某些可能会导致生产系统不稳定的新特性。上线前通常都会将一些新特…

电脑显示器选购指南2024

选择显示器是五花八门的显示参数&#xff0c;如何选择&#xff0c;以下给出参数说明&#xff0c;及部分参考&#xff1a; 1. 尺寸和分辨率 尺寸&#xff08;英寸&#xff09; 根据使用距离和用途选择合适的屏幕尺寸&#xff1a; 21-24 英寸&#xff1a;适合小桌面空间、日常…

(八)机器学习 - 线性回归

线性回归&#xff08;Linear Regression&#xff09;是一种统计学方法&#xff0c;用于建立一个或多个自变量&#xff08;解释变量&#xff09;与因变量&#xff08;响应变量&#xff09;之间的线性关系。线性回归的目的是通过最小化预测误差来找到最佳的线性拟合模型&#xff…