基于OpenCV+Keras+tensorflow 实现的变电站作业管控平台源代码。含人脸识别考勤,移动目标跟踪,越线检测,安全措施检测,姿态识别等功能

news2024/11/20 14:37:13

#综述
使用该作业现场安全生产智能管控平台来实现变电站的安全生产的智能化管理,通过人脸识别功能进行人员的考勤;
通过人员、车辆的检测和识别来实现变电站的智能化管理;通过安全行为识别和安全区域报警功能来实现对变电站内人员和设备安全的监督;

在这里插入图片描述

完整代码下载地址:基于OpenCV+Keras+tensorflow 实现的变电站作业管控平台源代码

移动目标跟踪

介绍

项目利用DeepSort算法实现作业现场移动目标跟踪定位。
论文参考:SIMPLE ONLINE AND REALTIME TRACKING WITH A DEEP ASSOCIATION METRIC

代码参考:https://github.com/nwojke/deep_sort

DeepSort是在Sort目标追踪基础上的改进。引入了在行人重识别数据集上离线训练的深度学习模型,
在实时目标追踪过程中,提取目标的表观特征进行最近邻匹配,可以改善有遮挡情况下的目标追踪效果。
同时,也减少了目标ID跳变的问题。

算法关键点为:
1、在计算detections和tracks之间的匹配程度时,使用了融合的度量方式。
包括卡尔曼滤波中预测位置和观测位置在马氏空间中的距离 和 bounding boxes之间表观特征的余弦距离。
2、其中bounding box的表观特征是通过一个深度网络得到的128维的特征
3、在匈牙利匹配detections和tracks时,使用的是级联匹配的方式。这里要注意的是,
并不是说级联匹配的方式就比global assignment效果好,而是因为本文使用kalman滤波计算运动相似度的缺陷导致使用级联匹配方式效果更好。

依赖

  • NumPy
  • sklearn
  • OpenCV

描述

在包中deep_sort是主要的跟踪代码:

  • detection.py:检测基类。
  • kalman_filter.py:卡尔曼滤波器实现和图像空间滤波的具体参数化。
  • linear_assignment.py:此模块包含最低成本匹配和匹配级联的代码。
  • iou_matching.py:此模块包含IOU匹配指标。
  • nn_matching.py:最近邻匹配度量的模块。
  • track.py:轨道类包含单目标轨道数据,例如卡尔曼状态,命中数,未命中,命中条纹,相关特征向量等。
  • tracker.py:这是多目标跟踪器类。

人脸识别

介绍

借助 Dlib 库捕获摄像头中的人脸,提取人脸特征,通过计算特征值之间的欧氏距离来和预存的人脸特征进行对比,
判断是否匹配,达到人脸识别的目的。

依赖

  • Dlib
  • OpenCV

描述

  • get_face_from_camera.py / 脸注册录入,将检测到的人脸图像存入相应的文件夹,形成特征图像数据集。

  • get_features_into_CSV.py / 提取出 128D 特征,然后计算出某人人脸数据的特征均值存入 CSV。

  • face_reco_from_camera.py / 调用摄像头,捕获摄像头中的人脸,如果检测到人脸,将摄像头中的人脸提取出 128D 的特征,
    然后和之前录入人脸的 128D 特征 进行计算欧式距离,判断身份。

安全措施异常检测

介绍

使用yolo v3框架训练自己的数据集完成安全措施的检测。分类包括未戴安全帽、未穿工作服、无安全措施、符合安全规范四种类型。
最终识别率在百分之75左右。

参考博客:https://blog.csdn.net/Patrick_Lxc/article/details/80615433

依赖

  • Python 3.5.2
  • Keras 2.1.5
  • tensorflow 1.6.0

描述

yolo关键点简述

1、端到端,输入图像,一次性输出每个栅格预测的一种或多种物体

2、坐标x,y代表了预测的bounding box的中心与栅格边界的相对值。
坐标w,h代表了预测的bounding box的width、height相对于整幅图像(或者栅格)width,height的比例。

3、每个格子可以预测B个bounding box,但是最终只选择只选择IOU最高的bounding box作为物体检测输出,

二维人体姿态估计

介绍

项目采用OpenPose算法对作业人员的姿态进行识别检测;OpenPose人体姿态识别可以实现人体动作、面部表情、手指运动等姿态估计。适用于单人和多人,具有极好的鲁棒性。是世界上首个基于深度学习的实时多人二维姿态估计应用。
其核心是利用Part Affinity Fields(PAFs)的自下而上的人体姿态估计算法。自下而上算法是先得到关键点位置再获得骨架;流程是首先通过预测人体关键点的热点图获得人体关键点的位置,在热点图中每个人体关键点上都有一个高斯的峰值,代表神经网络确定这里有一个人体的关键点。在得到检测结果之后,对关键点检测结果进行连接,推测出每个关键点具体是属于哪个人。

描述

使用TensorFlow轻松实现openpose。

只使用基本的python,所以代码很容易理解。

Original Repo(Caffe):https://github.com/CMU-Perceptual-Computing-Lab/openpose。

Dataloader和Post-processing代码来自tf-pose-estimation。

在这里插入图片描述

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

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

相关文章

线程同步与互斥

目录 前言:基于多线程不安全并行抢票 一、线程互斥锁 mutex 1.1 加锁解锁处理多线程并发 1.2 如何看待锁 1.3 如何理解加锁解锁的本质 1.4 CRAII方格设计封装锁 前言:基于线程安全的不合理竞争资源 二、线程同步 1.1 线程同步处理抢票 1.2 如何…

分库分表相关知识

文章目录 一、为什么要分库分表1.1 什么是分库1.2 什么是分表1.3 为什么要分库1.3.1 磁盘存储1.3.2 并发连接支撑 1.4 为什么要分表 二、分库分表解决方案2.1 垂直(纵向)切分2.1.1 垂直切分优点2.1.2 垂直切分缺点 2.2 水平(横向)…

video 视频编解码一些debug方法

文章目录 一、通过命令去获取一些数据1.2 确定我们xml配置文件: 二、查看我们芯片支持的编码能力三、通过log去获取信息 这个文章的主要内容是为了后期性能方面的debug, 设计到前期的bringup则没有 一、通过命令去获取一些数据 获取媒体相关的参数: # getprop |…

失效的访问控制

文章目录 渗透测试漏洞原理失效的访问控制1. 失效的访问控制1.1 OWASP TOP 101.1.1 A5:2017-Broken Access Control1.1.2 A01:2021-Broken Access Control 1.2 失效的访问控制类别1.2.1 水平越权1.2.2 垂直越权 1.3 攻防案例1.3.1 DVWA越权 1.4 相关漏洞1.4.1 目录遍历1.4.2 未…

泥石流山体滑坡监控视觉识别检测算法

泥石流山体滑坡监控视觉识别检测算法通过yolov8python深度学习框架模型,泥石流山体滑坡监控视觉识别检测算法识别到泥石流及山体滑坡灾害事件的发生,算法会立即进行图像抓拍,并及时进行预警。Yolo的源码是用C实现的,但是好在Githu…

解决Echarts中双坐标轴分割错位问题

1、处理函数 /*** Description 刻度最大值* date 2023-08-30* param {any} isNaN(maxValue/1* returns {any}*/ export const getYAxisMax (maxValue): number > {if (isNaN(maxValue / 1) || maxValue / 1 < 10) {return 10;}const max: any Math.ceil(maxValue) ;c…

Vue框架--Vue中el和data的两种写法

data与el的2种写法 1.el有2种写法 (1).new Vue时候配置el属性。 (2).先创建Vue实例&#xff0c;随后再通过vm.$mount(#root)指定el的值。 2.data有2种写法 (1).对象式 (2).函数式 如何选择&#xff1a;目前哪种写法都可以&#xff0c;以后学习到组件时&#xff…

Redis-Cluster集群操作--添加节点

一、环境部署 部署好Redis-Cluster集群&#xff0c;参考上个本人的博客&#xff1a;Redis-Cluster集群的部署&#xff08;详细步骤&#xff09;_是胡也是福的博客-CSDN博客 新准备一台机器&#xff0c;修改主机名&#xff0c;关闭防火墙和selinux&#xff0c;参考&#xff1a…

stm32 iap sd卡升级

参考&#xff1a;STM32F4 IAP 跳转 APP问题_stm32程序跳转_古城码农的博客-CSDN博客 app程序改两个位置 1.程序首地址&#xff1a; 2.改中断向量表位移&#xff0c;偏移量和上面一样就可以 然后编译成bin文件就可以了

云原生Kubernetes:二进制部署K8S单Master架构(二)

目录 一、理论 1.K8S单Master架构 2.部署 master 组件 3.部署 Woker Node 组件 4.在master1节点上操作 5.在 node01 节点上操作 6.在 master01 节点上操作 7.在 node01 节点上操作 8.node02 节点部署&#xff08;方法一&#xff09; 二、实验 1.环境 2.部署 master …

使用Python对数据的操作转换

1、列表加值转字典 在Python中&#xff0c;将列表的值转换为字典的键可以使用以下代码&#xff1a; myList ["name", "age", "location"] myDict {k: None for k in myList} print(myDict) 输出&#xff1a; {name: None, age: None, loca…

10. 微积分 - 微分链式法则

文章目录 微分链式法则Hi, 大家好。我是茶桁。 我们上节课讲了导数,并且在最后预告了今天的内容。今天将会是两部分,一部分是「微分」,一部分是「链式法则」。 微分 微分,我们在导论里面提过。它和导数比较像,但是还是有差别的。实际的定义和内容都比较简单,我们先来看…

【数据结构——树】二叉树的遍历(前序、中序、后序、层序)迭代+递归

文章目录 二叉树的定义二叉树的遍历方式前序遍历递归DFS迭代&#xff08;栈&#xff09; 中序遍历递归DFS迭代&#xff08;栈&#xff09; 后序遍历递归DFS迭代&#xff08;栈&#xff09; 层序遍历迭代&#xff08;队列&#xff09; 二叉树的定义 二叉树是一种常见的树状数据…

MySQL表的增删查改以及基本查询样例

文章目录 表的增删查改创建表插入单行全列数据插入多行指定列数据插入失败则更新替换 select全列查询指定列查询查询字段为表达式为查询结果指定别名查询结果去重 where数学小于60的英语在70到100之间的名字为王开头的总分在 200 分以下的语文成绩 > 80 并且不姓王的 结果排…

IDEA设置文件编码

IDEA设置文件编码 File->Settings->Editor->File Encodings 均设置为utf-8 新项目 设置 文件编码 点击New Projects Setup 再点击Settings for New Projects File->Settings->Editor->File Encodings 均设置为utf-8

Spring-TX 事务

目录 一、事务的种类 二、Spring事务管理器 三、事务注解使用 四、事务注解属性 一、事务的种类 1.编程式事务 所谓编程式事务就是用代码手写事务&#xff0c;包含了事务的开始&#xff0c;具体事务&#xff0c;事务的提交和事务的回滚。在这期间就会产生一些冗余问题&am…

Redis 7 第六讲 主从模式(replica)

🌹🌹🌹 此篇开始进入高级篇范围(❤艸`❤) 理论 即主从复制,master以写为主,Slave以读为主。当master数据变化的时候,自动将新的数据异步同步到其它slave数据库。 使用场景 读写分离 容灾备份数据备份水平扩容主从架构 演示案例 注:masterauth、replicaof主…

pytorch如何使用Focal Loss

Focal loss 是 文章 Focal Loss for Dense Object Detection 中提出对简单样本的进行decay的一种损失函数。是对标准的Cross Entropy Loss 的一种改进。 FL对于简单样本&#xff08;p比较大&#xff09;回应较小的loss。 如论文中的图1&#xff0c; 在p0.6时&#xff0c; 标准的…

openGauss学习笔记-57 openGauss 高级特性-并行查询

文章目录 openGauss学习笔记-57 openGauss 高级特性-并行查询57.1 适用场景与限制57.2 资源对SMP性能的影响57.3 其他因素对SMP性能的影响57.4 配置步骤 openGauss学习笔记-57 openGauss 高级特性-并行查询 openGauss的SMP并行技术是一种利用计算机多核CPU架构来实现多线程并行…

使用Vue3和Vite升级你的Vue2+Webpack项目

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…