0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

保姆教程:YOLOv5在建筑工地中安全帽佩戴檢測的應(yīng)用

電子設(shè)計 ? 來源:電子設(shè)計 ? 作者:電子設(shè)計 ? 2020-12-14 22:08 ? 次閱讀

轉(zhuǎn)載自:3D視覺工坊
編輯:AI深度學(xué)習(xí)視線

教程來自:https://github.com/PeterH0323/Smart/_Construction

一、YOLO v5訓(xùn)練自己數(shù)據(jù)集教程

1.1 創(chuàng)建自己的數(shù)據(jù)集配置文件

1.2 創(chuàng)建每個圖片對應(yīng)的標(biāo)簽文件

1.3 文件放置規(guī)范

1.4 聚類得出先驗框(可選)

1.5 選擇一個你需要的模型

1.6 開始訓(xùn)練

1.7 看訓(xùn)練之后的結(jié)果

二、偵測
三、檢測危險區(qū)域內(nèi)是否有人

3.1 危險區(qū)域標(biāo)注方式

3.2 執(zhí)行偵測

3.3 效果:在危險區(qū)域里面的人體會被 紅色框 選出來

四、生成 ONNX
五、增加數(shù)據(jù)集的分類
該項目是使用 YOLOv5 v2.x 來訓(xùn)練在智能工地安全領(lǐng)域中頭盔目標(biāo)檢測的應(yīng)用,先來一波演示!

指標(biāo)

yolov5s 為基礎(chǔ)訓(xùn)練,epoch = 50


對應(yīng)的權(quán)重文件:https://pan.baidu.com/share/i.../_5A,提取碼: b981

yolov5m 為基礎(chǔ)訓(xùn)練,epoch = 100


對應(yīng)的權(quán)重文件:https://pan.baidu.com/share/i.../_vHnPHwEA,提取碼: psst

yolov5l 為基礎(chǔ)訓(xùn)練,epoch = 100

對應(yīng)的權(quán)重文件:https://pan.baidu.com/share/i...,提取碼: a66e

1

YOLOv5訓(xùn)練自己數(shù)據(jù)集教程

使用的數(shù)據(jù)集:Safety-Helmet-Wearing-Dataset ,感謝這位大神的開源數(shù)據(jù)集!

https://github.com/njvisionpo...

本文結(jié)合 YOLOv5官方教程 來寫

環(huán)境準(zhǔn)備

首先確保自己的環(huán)境:

Python >= 3.7

訓(xùn)練自己的數(shù)據(jù)

提示:

關(guān)于增加數(shù)據(jù)集分類的方法,請看【5. 增加數(shù)據(jù)集的分類】

1.1 創(chuàng)建自己的數(shù)據(jù)集配置文件

因為我這里只是判斷 【人沒有帶安全帽】、【人有帶安全帽】、【人體】 3個類別 ,基于 data/coco128.yaml 文件,創(chuàng)建自己的數(shù)據(jù)集配置文件 custom_data.yaml

# 訓(xùn)練集和驗證集的 labels 和 image 文件的位置

1.2 創(chuàng)建每個圖片對應(yīng)的標(biāo)簽文件

使用標(biāo)注工具類似于 Labelbox 、CVAT 、精靈標(biāo)注助手 標(biāo)注之后,需要生成每個圖片對應(yīng)的 .txt 文件,其規(guī)范如下:

每一行都是一個目標(biāo)

類別序號是零索引開始的(從0開始)

每一行的坐標(biāo) class x_center y_center width height 格式

框坐標(biāo)必須采用歸一化的 xywh格式(從0到1)。如果您的框以像素為單位,則將x_center和width除以圖像寬度,將y_center和height除以圖像高度。代碼如下:

import numpy as np

生成的 .txt 文件放置的名字是圖片的名字,放置在 label 文件夾中,例如:

./score/images/train/00001.jpg  # image

生成的.txt例子

1 0.1830000086920336 0.1396396430209279 0.13400000636465847 0.15915916301310062

1.3文件放置規(guī)范

文件樹如下

1.4 聚類得出先驗框(Yolov5 內(nèi)部已做適配,可選)

使用代碼 ./data/gen_anchors/clauculate_anchors.py ,修改數(shù)據(jù)集的路徑

FILE_ROOT = r"xxx" # 根路徑

跑完會生成一個文件 anchors.txt,里面有得出的建議先驗框:

Best Accuracy = 79.72%

1.5 選擇一個您需要的模型

在文件夾 ./models 下選擇一個你需要的模型然后復(fù)制一份出來,將文件開頭的 nc = 修改為數(shù)據(jù)集的分類數(shù),下面是借鑒 ./models/yolov5s.yaml來修改的

# parameters

1.6 開始訓(xùn)練

這里選擇了 yolov5s 模型進行訓(xùn)練,權(quán)重也是基于 yolov5s.pt 來訓(xùn)練

pythontrain.py--img640--batch16--epochs10--data./data/custom_data.yaml--cfg./models/custom_yolov5.yaml--weights./weights/yolov5s.pt

其中,yolov5s.pt 需要自行下載放在本工程的根目錄即可,下載地址 官方權(quán)重

1.7 看訓(xùn)練之后的結(jié)果

訓(xùn)練之后,權(quán)重會保存在 ./runs 文件夾里面的每個 exp 文件里面的 weights/best.py ,里面還可以看到訓(xùn)練的效果

2

推斷
偵測圖片會保存在 ./inferenct/output/ 文件夾下
運行命令:

python detect.py --source   0  # webcam

例如使用我的 s 權(quán)重檢測圖片,可以運行以下命令,偵測圖片會保存在 ./inferenct/output/ 文件夾下

python detect.py --source 圖片路徑 --weights ./weights/helmet_head_person_s.pt

3

檢測危險區(qū)域內(nèi)是否有人

3.1 危險區(qū)域標(biāo)注方式

我這里使用的是 精靈標(biāo)注助手 標(biāo)注,生成了對應(yīng)圖片的 json 文件

3.2 執(zhí)行偵測

偵測圖片會保存在 ./inferenct/output/ 文件夾下
運行命令:

python area_detect.py --source ./area_dangerous --weights ./weights/helmet_head_person_s.pt

3.3 效果:在危險區(qū)域里面的人體會被 紅色框 選出來

生成 ONNX

4.1 安裝 onnx 庫

pip install onnx

4.2 執(zhí)行生成

python ./models/export.py --weights ./weights/helmet_head_person_s.pt --img 640 --batch 1

onnx 和 torchscript 文件會生成在 ./weights 文件夾中

增加數(shù)據(jù)集的分類

關(guān)于增加數(shù)據(jù)集分類的方法:
SHWD 數(shù)據(jù)集里面沒有 person 的類別,先將現(xiàn)有的自己的數(shù)據(jù)集執(zhí)行腳本生成yolov5需要的標(biāo)簽文件.txt,之后再用yolov5x.pt 加上 yolov5x.yaml ,使用指令檢測出人體

python detect.py --save-txt --source ./自己數(shù)據(jù)集的文件目錄 --weights ./weights/yolov5x.pt
yolov5

修改 ./data/gen_data/merge_data.py 中的自己數(shù)據(jù)集標(biāo)簽所在的路徑,執(zhí)行這個python腳本,會進行 person 類型的合并
本文僅做學(xué)術(shù)分享,如有侵權(quán),請聯(lián)系刪文。

審核編輯 黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 檢測
    +關(guān)注

    關(guān)注

    5

    文章

    4509

    瀏覽量

    91626
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5511

    瀏覽量

    121366
收藏 人收藏

    評論

    相關(guān)推薦

    MAT400安全帽標(biāo)簽的相關(guān)資料下載

    MAT400安全帽標(biāo)簽產(chǎn)品簡介MAT400是奔騮科技自主研發(fā)的一款屬于區(qū)域定位產(chǎn)品線的定位標(biāo)簽,主要功能是附著在安全帽上,用在佩戴安全帽的人員定位。功能特性和定位基站遠(yuǎn)距離有效定位距離
    發(fā)表于 11-29 06:45

    ZLG安全帽佩戴檢測方案的解讀

    安全帽佩戴檢測工地安防的重中之重,但人為主觀檢測的方式時效性差且不能全程監(jiān)控。AI技術(shù)的日漸成熟催生了
    發(fā)表于 03-13 15:32 ?1524次閱讀

    倍特威視安全帽識別儀產(chǎn)品詳解

    系統(tǒng)拓?fù)鋱D 倍特威視安全帽識別儀可自動檢測人員是否佩戴安全帽,在工地、電力、煤礦、石化、水泥、冶金等高危行業(yè),有效預(yù)防安防
    發(fā)表于 05-10 09:24 ?976次閱讀

    無人機在建筑工地的應(yīng)用

    眾所周知,建筑工地環(huán)境復(fù)雜,靠人工去監(jiān)控難免會有遺漏,而隨著無人機技術(shù)的日益成熟,其被大力引入建筑工地,用于對工地進行實時監(jiān)控。
    發(fā)表于 05-16 17:48 ?3639次閱讀

    基于YOLOv3的施工安全帽圖像檢測算法

    匱乏,針對該問題,提出采用YωLOv3( You Only Look Once)的檢測算法,以及基于語義規(guī)則和語勺模板相結(jié)合的方法遞進式地生成安全帽佩戴的描述語句。首先,采集數(shù)據(jù),制作安全帽
    發(fā)表于 05-17 15:25 ?7次下載

    銓順宏RFID:提供滿意的建筑工地人員管理解決方案

    進出工地的工人必須佩戴安全帽,因此,安全帽可以作為本系統(tǒng)中的一個媒介,通過將寫有工人身份信息的電子標(biāo)簽與安全帽進行綁定,工人戴
    的頭像 發(fā)表于 07-04 15:42 ?708次閱讀

    新移可視定位安全帽—4G/5G智能安全帽

    ? ? ? 新移可視定位安全帽—4G/5G智能安全帽,如同萬物互聯(lián),近在眼前。它支持核心板定制并提供技術(shù)支持,擁有18種功能保障開啟高效智能工作。如:圖像采集、危險搶救、視頻通話、廣播群發(fā)、遠(yuǎn)程指導(dǎo)
    發(fā)表于 06-03 10:06 ?747次閱讀

    4G工作記錄儀在建筑工地中的應(yīng)用優(yōu)勢

    建筑工地作為一個復(fù)雜的工作環(huán)境,安全管理和法規(guī)合規(guī)一直是重要的考量因素。近年來,隨著科技的進步,4G工作記錄儀在建筑工地中的應(yīng)用逐漸成為一種趨勢。
    的頭像 發(fā)表于 06-29 15:09 ?708次閱讀

    瑞尼4G智能安全帽工地施工安全管理解決方案

    隨著建筑工地的規(guī)模和復(fù)雜程度不斷增加,安全管理成為了工地管理者亟待解決的難題。為了保障工人的安全與健康,瑞尼推出了4G智能安全帽
    的頭像 發(fā)表于 07-27 15:18 ?631次閱讀

    什么是智能安全帽,如何選購智能安全帽,智能安全帽的主要功能

    什么是智能安全帽,如何選購智能安全帽,智能安全帽的主要功能
    的頭像 發(fā)表于 12-20 09:29 ?1309次閱讀
    什么是智能<b class='flag-5'>安全帽</b>,如何選購智能<b class='flag-5'>安全帽</b>,智能<b class='flag-5'>安全帽</b>的主要功能

    智能安全帽定制_基于聯(lián)發(fā)科MTK6762核心板的智能安全帽方案

    ,智能安全帽能實時查看工人的位置信息,防止走失;同時,帽子還內(nèi)置電磁感應(yīng)模塊,當(dāng)接近高壓電源時,自動發(fā)出預(yù)警,提醒工作人員注意安全。該產(chǎn)品適用于礦山、建筑工地、電廠、石油、工廠、隧道、港口碼頭等行
    的頭像 發(fā)表于 01-17 19:57 ?564次閱讀
    智能<b class='flag-5'>安全帽</b>定制_基于聯(lián)發(fā)科MTK6762核心板的智能<b class='flag-5'>安全帽</b>方案

    智能安全帽的價格

    智能安全帽的分類和價格,智能安全帽實現(xiàn)哪些功能
    的頭像 發(fā)表于 04-14 09:59 ?1183次閱讀
    智能<b class='flag-5'>安全帽</b>的價格

    安全帽佩戴檢測算法

    安全帽佩戴監(jiān)控是鐵路工程施工人員安全管理中的重點和難點,它對檢測算法的準(zhǔn)確 率與檢測速度都有較高的要求。本文提出一種基于神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索的
    的頭像 發(fā)表于 06-26 22:22 ?427次閱讀
    <b class='flag-5'>安全帽</b><b class='flag-5'>佩戴</b><b class='flag-5'>檢測</b>算法

    安全帽佩戴識別攝像機

    在現(xiàn)代工業(yè)和建筑等諸多領(lǐng)域中,安全始終是重中之重。每一處施工現(xiàn)場、每一個生產(chǎn)車間都潛藏著可能對人員造成傷害的風(fēng)險因素。而安全帽,作為保護工作人員頭部免受傷害的關(guān)鍵裝備,其是否被正確佩戴
    的頭像 發(fā)表于 09-18 10:39 ?301次閱讀
    <b class='flag-5'>安全帽</b><b class='flag-5'>佩戴</b>識別攝像機

    安全帽佩戴預(yù)警系統(tǒng) 勞保防護用品穿戴監(jiān)測系統(tǒng)

    在建筑、礦山、電力等高危行業(yè)中,工人面臨著各種潛在的危險,如高空墜物、物體打擊等。安全帽能夠有效地分散和吸收沖擊力,大大降低頭部受傷的嚴(yán)重程度。一旦工人未正確佩戴安全帽,在遭遇危險時,
    的頭像 發(fā)表于 10-09 16:46 ?267次閱讀
    <b class='flag-5'>安全帽</b>未<b class='flag-5'>佩戴</b>預(yù)警系統(tǒng) 勞保防護用品穿戴監(jiān)測系統(tǒng)