基於yolo5工地安全帽和禁入危險區域識別系統,附數據集


基於yolo5工地安全帽和禁入危險區域識別系統,附數據集

機器學習AI算法工程 10月8日

圖片

向AI轉型的程序員都關注了這個號👇👇👇

機器學習AI算法工程   公眾號:datayx

 


該項目是使用 YOLOv5 來訓練在智能工地安全領域中頭盔目標檢測的應用

 

圖片

 

圖片

 

圖片

 

代碼及運行教程,訓練模型,數據集  獲取:

關注微信公眾號 datayx  然后回復  安全帽  即可獲取。

AI項目體驗地址 https://loveai.tech

 

創建自己的數據集配置文件

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

圖片

 

創建每個圖片對應的標簽文件

使用標注工具類似於 Labelbox 、CVAT 、精靈標注助手 標注之后,需要生成每個圖片對應的 .txt 文件,其規范如下:

  • 每一行都是一個目標

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

  • 每一行的坐標 class x_center y_center width height 格式

  • 框坐標必須采用歸一化的 xywh格式(從0到1)。如果您的框以像素為單位,則將x_centerwidth除以圖像寬度,將y_centerheight除以圖像高度。代碼如下:

 

圖片

 

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

 

圖片

 

聚類得出先驗框(可選)

圖片

 

 

選擇一個你需要的模型

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

 

圖片

 

圖片

 

開始訓練

這里選擇了 yolov5s 模型進行訓練,權重也是基於 yolov5s.pt 來訓練

圖片

 

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

看訓練之后的結果

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

 

偵測圖片會保存在 ./inferenct/output/ 文件夾下

運行命令:

圖片

 

 

檢測危險區域內是否有人

 

危險區域標注方式,

我這里使用的是 精靈標注助手 標注,生成了對應圖片的 json 文件

偵測圖片會保存在 ./inferenct/output/ 文件夾下

運行命令:

圖片

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

 

生成 ONNX

安裝 onnx 庫

pip install onnx

 

執行生成

圖片

 

增加數據集的分類

關於增加數據集分類的方法:

SHWD 數據集里面沒有 person 的類別,先將現有的自己的數據集執行腳本生成 yolov5 需要的標簽文件 .txt,之后再用 yolov5x.pt 加上 yolov5x.yaml ,使用指令檢測出人體

python detect.py --save-txt --source ./自己數據集的文件目錄 --weights ./weights/yolov5x.pt

yolov5 會推理出所有的分類,並在 inference/output 中生成對應圖片的 .txt 標簽文件;

修改 ./data/gen_data/merge_data.py 中的自己數據集標簽所在的路徑,執行這個python腳本,會進行 person 類型的合並


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM