CSPVD 智慧工地安全帽安全背心检测开发包

CSPVD SDK适用于为各种智慧工地应用增加安全防护穿戴合规的检测能力,能够有效检测未戴安全帽和未穿 安全背心的人员,提供Web API和原生API。官方下载:CSPVD工地安全防护检测

1、目录组织

CSPVD开发包的目录组织说明如下:

xlpr_sdk    | - core                      # 核心代码目录| - violation_code.py       # 违规代码定义| - violation_detector.py   # 违规识别网络| - violation_mixer.py      # 违规图像合成器| - weights                   # 预训练权重目录| - model.pt                # d_net权重| - assets| - hardhat.png             # 安全帽图标| - vest.png                # 安全背心图标  | - samples                   # 测试图片目录| - test-1.jpg                | - ....| - serve.py                  # Web UI及API服务| - api_test.py               # Web API调用示例代码| - requirements.txt          # 依赖声明文件

在第一次使用之前,首先安装依赖文件:

pip install -r requirements.txt

2、使用Web UI

执行如下命令启动Web UI:

python serve.py

然后使用浏览器访问 http://127.0.0.1:7860,即可打开Web UI。

在Web UI中打开一个图像文件,然后点击[Submit]按钮,就可以进行检测,如下图所示:

webui

右侧的输出图像上叠加了检测到的违规信息,绿色包围框表示人员着装合规,红色包围框 表示人员着装违规,左下角的图标表示违规类别,图标含义说明如下:

图标说明

未戴安全帽

未穿安全背心

输出结果为一个数组,每个成员包含如下字段:

  • box: 违规人员的包围框
  • codes: 违规代码。 2:未带安全帽 | 4:未穿安全背心
  • conf:置信度,越高越好

CSPVD能识别各种颜色的安全帽:

webui hardhat colors

CSPVD也能检测不同样式的安全背心:

webui vest variants

3、使用Web API

api_name: /predict

输入参数:

  • img_in:输入图像

输出结果:

  • [0] :输出图像文件路径
  • [1] :检测结果数组,每个成员包含如下字段: box | codes | conf

Python调用示例如下:

from gradio_client import Client, handle_fileclient = Client("http://127.0.0.1:7860/")
result = client.predict(img_in=handle_file('./samples/test-1.jpg'),api_name="/predict" )
print(result)

执行结果如下:

web api test

Web API特别适合将车牌识别能力集成到Java、C#、Javascript等其他语言开发的应用中。

4、使用原生API

除了Web API,CSPVD SDK也提供了Python原生API。

4.1 合规检测器

ViolationDetector是合规检测器类,使用其predict()方法对传入的图片进行处理,并返回检测结果数据。

ViolationDetector实例的predict()调用示例代码如下:

from core import ViolationDetector
import cv2vd = ViolationDetector()img_in = cv2.imread('samples/test-1.jpg')
results = vd.predict(img_in)

4.2 合规检测结果合成器

ViolationMixer是检测结果合成类,使用其mix()方法将检测结果叠加到图片上,返回叠加后 的合成图片。

ViolationMixer实例的mix()方法调用示例代码如下:

from core import ViolationDetector, ViolationMixer
import cv2vd = ViolationDetector()img_in = cv2.imread('samples/test-1.jpg')
results = vd.predict(img_in)vm = ViolationMixer()
img_out = vm.mix(img_in, results)

原文链接:CSPVD工地安全防护检测 - 汇智网 

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

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

相关文章

linux进程——状态——linux与一般操作系统的状态

前言:博主在之前的文章已经讲解了PCB里面的pid——主要讲解了父子进程PID, 以及fork的相关内容。 本节进入PCB的下一个成员——状态, 状态是用来表示一个进程在内存中的状态的, 进程在内存中肯能处于各种状态, 比如运行…

云原生系列 - Jenkins

Jenkins Jenkins,原名 Hudson,2011 年改为现在的名字。它是一个开源的实现持续集成的软件工具。 官方网站(英文):https://www.jenkins.io/ 官方网站(中文):https://www.jenkins.io…

【Linux】汇总TCP网络连接状态命令

输入命令: netstat -na | awk /^tcp/ {S[$NF]} END {for(a in S) print a, S[a]} 显示: 让我们逐步解析这个命令: netstat -na: netstat 是一个用于显示网络连接、路由表、接口统计等信息的命令。 -n 选项表示输出地址和端口以数字格式显示…

贝锐蒲公英远程运维方案:即装即用、无需专线,断网也可远程维护

目前,公路、隧道、桥梁、航道,甚至是施工现场和工业生产环境等,都采用了实时监测方案。 通过部署各类传感器和摄像头等设备,现场视频画面和控制单元(如PLC、工控机等)数据可以实时回传,用于集中…

AI批量剪辑,批量发布大模型矩阵系统搭建开发

目录 前言 一、AI矩阵系统功能 二、AI批量剪辑可以解决什么问题? 总结: 前言 基于ai生成或剪辑视频的原理,利用ai将原视频进行混剪,生成新的视频素材。ai会将剪辑好的视频加上标题,批量发布到各个自媒体账号上。这…

Android车载MCU控制音量和ARM控制音量的区别和优缺点—TEF6686 FM/AM芯片

不要嫌前进的慢,只要一直在前进就好 文章目录 前言一、系统架构图1.MCU控制音量的架构图(老方法)2.ARM控制音量的架构图(新方法) 二、为啥控制音量不是用AudioManager而是执着去直接控制TDA7729?三、MCU控制…

基于JAVA+SpringBoot+Vue+uniApp的校园日常作品商品分享小程序

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、SpringCloud、Layui、Echarts图表、Nodejs、爬…

STM32、Spring Boot、MQTT和React Native:智能停车管理系统的全栈开发详解(附代码示例)

1. 项目概述 随着城市化进程的加快,停车难已成为许多大中城市面临的普遍问题。为了提高停车效率,改善用户体验,本文设计并实现了一套智能停车管理系统。该系统利用STM32微控制器、各类传感器以及移动应用,实现了停车位实时监控、…

缓存弊处的体验:异常

缓存(cache),它是什么东西,有神马用,在学习内存的时候理解它作为一个存储器,来对接cpu和内存,来调节cpu与内存的速度不匹配的问题。 缓存,一个偶尔可以听到的专业名词,全…

文章八:并发性能优化技巧

目录 8.1 引言 并发性能优化的重要性 本文的内容结构 8.2 减少锁争用 减少锁争用的方法 使用局部变量和无锁算法的示例 使用局部变量 无锁算法 8.3 无锁算法 无锁算法的基本概念 常用的无锁数据结构和算法示例 无锁队列 无锁栈 8.4 并发性能测试 性能测试工具和…

IDEA的详细设置

《IDEA破解、配置、使用技巧与实战教程》系列文章目录 第一章 IDEA破解与HelloWorld的实战编写 第二章 IDEA的详细设置 第三章 IDEA的工程与模块管理 第四章 IDEA的常见代码模板的使用 第五章 IDEA中常用的快捷键 第六章 IDEA的断点调试(Debug) 第七章 …

Air780E/Air780EP/Air780EQ/Air201模块遇到死机问题如何分析

Air780E/Air780EP/Air780EQ/Air201模块遇到死机问题如何分析 简介 本文档适用于合宙Air780E、Air780EP、Air780EQ、Air201 关联文档和使用工具: 从Ramdump里分析内存泄漏问题 无法抓底层log的情况下如何导出死机dump Luatools下载调试工具 EPAT抓取底层日志 F…

npm install报错:npm error ERESOLVE could not resolve

从git上拉取一个新vue项目下来,在npm install时报错:npm error ERESOLVE could not resolve 有网友分析原因是因为依赖冲突导致报错,解决方法如下: # --legacy-peer-deps:安装时忽略所有peerDependencies&#xff0c…

Hadoop-38 Redis 高并发下的分布式缓存 Redis简介 缓存场景 读写模式 旁路模式 穿透模式 缓存模式 基本概念等

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: HadoopHDFSMapReduceHiveFlumeSqoopZookeeperHBaseRedis 章节内容 上一节我们完成了: HBase …

组合数学+费用背包+刷表,G2 - Playlist for Polycarp (hard version)

目录 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 G2 - Playlist for Polycarp (hard version) 二、解题报告 1、思路分析 一…

【flink】之如何快速搭建一个flink项目

1.通过命令快速生成一个flink项目 curl https://flink.apache.org/q/quickstart.sh | bash -s 1.19.1 生成文件目录: 其中pom文件包好我们所需要的基础flink相关依赖 2.测试 public class DataStreamJob {public static void main(String[] args) throws Except…

苍穹外卖(一)之环境搭建篇

Ngnix启动一闪而退 启动之前需要确保ngnix.exe的目录中没有中文字体,在conf目录下的nginx.conf文件查看ngnix的端口号,一般默认为80,若80端口被占用就会出现闪退现象。我们可以通过logs/error.log查看错误信息,错误信息如下&…

百日筑基第二十四天-23种设计模式-结构型总汇

百日筑基第二十四天-23种设计模式-结构型总汇 前言 设计模式可以说是对于七大设计原则的实现。 总体来说设计模式分为三大类: 创建型模式,共五种:单例模式、简单工厂模式、抽象工厂模式、建造者模式、原型模式。结构型模式,共…

SAPUI5基础知识16 - 深入理解MVC架构

1. 背景 经过一系列的练习,相信大家对于SAPUI5的应用程序已经有了直观的认识,我们在练习中介绍了视图、控制器、模型的概念和用法。在本篇博客中,让我们回顾总结下这些知识点,更深入地理解SAPUI5的MVC架构。 首先,让…

【AMD/Xilinx】FPGA远程烧录调试工具安装及使用

问题描述 在学习工作中,本人遇到了连接FPGA的服务器电脑没有Vivado或Vivado版本较低,导致没办法查看ila的情况。在这种情况下一方面重新安装Vivado需要占用大量存储空间,另一方面使用远程桌面软件连接服务器电脑的画质较为模糊,影…