检测现场施工人员是否穿戴安全背心和安全帽,提供Web API和原生API。
CSPVD SDK适用于为各种智慧工地应用增加安全防护穿戴合规的检测能力,能够有效检测未戴安全帽和未穿 安全背心的人员,提供Web API和原生API。
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
执行如下命令启动Web UI:
python serve.py
然后使用浏览器访问 http://127.0.0.1:7860
,即可打开Web UI。
在Web UI中打开一个图像文件,然后点击[Submit]按钮,就可以进行检测,如下图所示:
右侧的输出图像上叠加了检测到的违规信息,绿色包围框表示人员着装合规,红色包围框 表示人员着装违规,左下角的图标表示违规类别,图标含义说明如下:
图标 | 说明 |
---|---|
![]() |
未戴安全帽 |
![]() |
未穿安全背心 |
输出结果为一个数组,每个成员包含如下字段:
CSPVD能识别各种颜色的安全帽:
CSPVD也能检测不同样式的安全背心:
api_name: /predict
输入参数:
img_in
:输入图像输出结果:
box
| codes
| conf
Python调用示例如下:
from gradio_client import Client, handle_file
client = 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特别适合将车牌识别能力集成到Java、C#、Javascript等其他语言开发的应用中。
除了Web API,CSPVD SDK也提供了Python原生API。
ViolationDetector
是合规检测器类,使用其predict()
方法对传入的图片进行处理,并返回检测结果数据。
ViolationDetector
实例的predict()
调用示例代码如下:
from core import ViolationDetector
import cv2
vd = ViolationDetector()
img_in = cv2.imread('samples/test-1.jpg')
results = vd.predict(img_in)
ViolationMixer
是检测结果合成类,使用其mix()
方法将检测结果叠加到图片上,返回叠加后
的合成图片。
ViolationMixer
实例的mix()
方法调用示例代码如下:
from core import ViolationDetector, ViolationMixer
import cv2
vd = ViolationDetector()
img_in = cv2.imread('samples/test-1.jpg')
results = vd.predict(img_in)
vm = ViolationMixer()
img_out = vm.mix(img_in, results)
本站所提供软件包仅用于学习和研究,请依法合规使用。
本站所提供软件包均提供完整源码,使用前请认真阅读源代码和文档以确保充分理解软件包的设计与功能实现,本站不承担 因不当使用本站所提供软件包而造成的任何法律风险或财产损失责任。