<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
在這篇文章中,我將介紹如何使用YOLOv5構建一個佩戴安全帽檢測和識別系統。這個系統可以實時檢測影象上人物是否有未佩戴安全帽,並及時進行警告。文章將介紹系統的設計過程,包括YOLOv5的訓練、測試程式碼以及實際部署思路。
首先,我們需要收集和準備資料集。資料集應包含各種場景、角度和光照條件下戴安全帽和不戴安全帽的員工照片。我們可以從網際網路上收集這些圖片,也可以在實際工地上拍攝。收集到足夠數量的圖片後,我們需要對它們進行標註。標註工具如labelImg可以方便地完成這一任務。完成標註後,我們需要將資料集劃分為訓練集和驗證集。
要開始訓練模型,我們首先需要安裝YOLOv5。可以通過以下命令安裝所需的依賴:
git clone https://github.com/ultralytics/yolov5.git cd yolov5 pip install -r requirements.txt
為了訓練模型,我們需要準備一個組態檔,其中包含訓練引數和模型結構。在YOLOv5的models
目錄下,我們可以找到預定義的一些組態檔,如yolov5s.yaml
。我們可以根據需要修改這些檔案,以適應我們的任務。
接下來,我們需要修改YOLOv5的資料組態檔,以指定我們的資料集路徑。在data
目錄下,建立一個名為helmet_detection.yaml
的檔案,內容如下:
train: ../dataset/train/ val: ../dataset/val/ nc: 2 names: ['no_helmet', 'helmet']
這裡,train
和val
分別表示訓練集和驗證集的路徑,nc
表示類別數量,names
表示類別名稱。
現在,我們可以開始訓練模型了。在命令列中,執行以下命令:
python train.py --img 640 --batch 16 --epochs 100 --data data/helmet_detection.yaml --cfg models/yolov5s.yaml --weights yolov5s.pt
這個命令將使用YOLOv5s組態檔訓練一個安全帽檢測模型。我們可以根據硬體和資料集大小調整批次大小和訓練輪數。訓練過程中,模型的效能指標和損失函數值將在命令列輸出。同時,訓練過程中的視覺化結果將儲存在runs/train
目錄下。
訓練完成後,我們可以在runs/train/exp/weights
目錄下找到最終的模型權重檔案best.pt
。
為了測試我們的模型,我們可以使用YOLOv5提供的detect.py
指令碼。執行以下命令:
python detect.py --source ../dataset/val/ --weights runs/train/exp/weights/best.pt --conf 0.5
這個命令將在驗證集上執行我們的模型,並將檢測結果儲存在runs/detect
目錄下。我們可以檢視這些結果,以評估模型在實際場景中的表現。
現在我們已經訓練好了一個安全帽檢測模型,接下來我們需要將其部署到實際場景中。我們可以使用Python和OpenCV庫構建一個實時監控系統。以下是一個簡單的範例:
import cv2 from yolov5 import YOLOv5 def main(): # 載入模型 model = YOLOv5('runs/train/exp/weights/best.pt') # 開啟攝像頭 cap = cv2.VideoCapture(0) while True: # 讀取攝像頭畫面 ret, frame = cap.read() # 檢測安全帽 results = model.detect(frame) # 在畫面上繪製檢測框 for result in results: x, y, w, h, cls, conf = result cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2) cv2.putText(frame, f'{cls}: {conf:.2f}', (x, y), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2) # 顯示畫面 cv2.imshow('Helmet Detection', frame) # 按'q'鍵退出 if cv2.waitKey(1) & 0xFF == ord('q'): break cap.release() cv2.destroyAllWindows() if __name__ == '__main__': main()
這個範例將開啟計算機的攝像頭,並實時檢測畫面中的安全帽。檢測結果將以邊框和類別標籤的形式顯示在畫面上。
在本文中,我們介紹瞭如何使用YOLOv5構建一個安全帽檢測和識別系統。我們從收集和準備資料集開始,然後安裝YOLOv5,接著訓練和測試模型。最後,我們演示瞭如何將訓練好的模型部署到實際場景中。
以上就是YOLOv5構建安全帽檢測和識別系統使用詳解的詳細內容,更多關於YOLOv5安全帽檢測識別的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45