yolo11目标检测之施工区域安全检测

“施工安全检测” 是一款基于人工智能的工具,旨在提高施工现场的安全性。该系统利用 YOLO 模型进行目标检测,可以识别以下潜在的危险:

  • 未佩戴安全帽的工人
  • 未穿安全背心的工人
  • 靠近机械设备或车辆的工人
  • 进入限制区域的工人(限制区域会通过计算和聚类安全锥的坐标自动生成)
    在这里插入图片描述

此外,后处理算法进一步提高了检测精度。该系统支持实时部署,可对检测到的危险提供即时分析和警报。
在这里插入图片描述在这里插入图片描述

功能特点

该系统通过网络界面实时整合 AI 识别结果,可通过 LINE、Messenger、微信和 Telegram 等消息应用发送通知及现场实时图像,实现快速警报和提醒。同时,系统支持多语言功能,用户可以根据个人偏好选择语言接收通知并与界面交互。支持的语言包括:

  • 🇨🇳 简体中文
  • 🇫🇷 法语
  • 🇬🇧 英语
  • 🇹🇭 泰语
  • 🇻🇳 越南语
  • 🇮🇩 印度尼西亚语

多语言支持使该系统更易于全球用户使用,提升了不同地区的可用性。


危险检测示例

以下是系统实时危险检测的示例:

  1. 未佩戴安全帽或穿安全背心的工人
  2. 靠近机械或车辆的工人
  3. 进入限制区域的工人

在这里插入图片描述

使用说明

在运行应用程序之前,需要通过 JSON 配置文件指定视频流和其他参数的详细信息。例如,config/configuration.json 配置文件应如下所示:

[
  {
    "video_url": "https://cctv1.kctmc.nat.gov.tw/6e559e58/",
    "site": "Kaohsiung",
    "stream_name": "Test",
    "model_key": "yolo11n",
    "notifications": {
      "line_token_1": "language_1",
      "line_token_2": "language_2"
    },
    "detect_with_server": true,
    "expire_date": "2024-12-31T23:59:59",
    "detection_items": {
      "detect_no_safety_vest_or_helmet": true,
      "detect_near_machinery_or_vehicle": true,
      "detect_in_restricted_area": true
    },
    "work_start_hour": 7,
    "work_end_hour": 18,
    "store_in_redis": true
  }
]
配置说明
  1. video_url:视频流的 URL 地址,支持以下格式:

    • 监控流
    • RTSP 流
    • 第二摄像头流
    • YouTube 视频/直播流
  2. site:监控系统的地点(例如施工现场或工厂)。

  3. stream_name:摄像头或流的名称(例如“前门”“摄像头 1”)。

  4. model_key:要使用的机器学习模型的标识符(例如 “yolo11n”)。

  5. notifications:LINE 消息 API 的 token 列表及对应的语言设置。

  6. detect_with_server:是否通过服务器 API 运行目标检测。true 表示使用服务器,false 表示本地检测。

  7. expire_date:配置的过期时间,格式为 ISO 8601(例如 “2024-12-31T23:59:59”)。

  8. detection_items:指定监控项目,例如:

    • detect_no_safety_vest_or_helmet:检测是否未佩戴安全帽或安全背心
    • detect_near_machinery_or_vehicle:检测是否靠近机械设备或车辆
    • detect_in_restricted_area:检测是否进入限制区域
  9. work_start_hour 和 work_end_hour:设置监控的开始和结束时间,例如 7 表示早上 7 点,18 表示晚上 6 点。全天监控可设置为 0-24

  10. store_in_redis:是否将处理后的帧和检测数据存储到 Redis 数据库中,方便实时监控或其他服务集成。


环境变量设置

该应用需要通过 .env 文件定义特定的环境变量。示例如下:

DATABASE_URL='mysql+asyncmy://username:password@mysql/construction_hazard_detection'
API_USERNAME='user'
API_PASSWORD='password'
API_URL="http://yolo-server-api:6000"
REDIS_HOST='redis'
REDIS_PORT=6379
REDIS_PASSWORD='password'
LINE_CHANNEL_ACCESS_TOKEN='YOUR_LINE_CHANNEL_ACCESS_TOKEN'
CLOUDINARY_CLOUD_NAME='YOUR_CLOUDINARY_CLOUD_NAME'
CLOUDINARY_API_KEY='YOUR_CLOUD_API_KEY'
CLOUDINARY_API_SECRET='YOUR_CLOUD_API_SECRET'
变量说明
  • DATABASE_URL:MySQL 数据库的连接 URL
  • API_USERNAME/ API_PASSWORD:API 的用户名和密码
  • API_URL:YOLO 服务器 API 的 URL
  • REDIS_HOST/REDIS_PORT/REDIS_PASSWORD:Redis 服务器的主机名、端口和密码
  • LINE_CHANNEL_ACCESS_TOKEN:LINE 消息 API 的访问 token
  • CLOUDINARY_CLOUD_NAME/ API_KEY/ API_SECRET:Cloudinary 云服务的相关配置

运行方法

您可以通过 Docker 或 Python 环境启动该系统:

Docker 启动

确保项目根目录下存在 Dockerfile,并正确配置。

Python 启动

配置好 Python 环境变量后运行程序主文件即可。

Model	size
(pixels)	mAPval
50	mAPval
50-95	params
(M)	FLOPs
(B)
YOLO11n	640	58.0	34.2	2.6	6.5
YOLO11s	640	70.1	44.8	9.4	21.6
YOLO11m	640	73.3	42.6	20.1	68.0
YOLO11l	640	77.3	54.6	25.3	86.9
YOLO11x	640	82.0	61.7	56.9	194.9

数据集信息

模型的主要训练数据集是来自 的 Construction Site Safety Image Dataset,并进行了额外的标注优化。数据集包括以下标签:

  • 0: ‘Hardhat’
  • 1: ‘Mask’
  • 2: ‘NO-Hardhat’
  • 3: ‘NO-Mask’
  • 4: ‘NO-Safety Vest’
  • 5: ‘Person’
  • 6: ‘Safety Cone’
  • 7: ‘Safety Vest’
  • 8: ‘Machinery’
  • 9: ‘Vehicle’

可以通过查看更多详细信息。


通过“施工安全检测”系统,用户可实时发现潜在的施工安全隐患,并迅速采取措施,从而有效降低现场事故率,提升施工环境的整体安全性。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值