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

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

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

YOLOv8自定義數(shù)據(jù)集訓(xùn)練實現(xiàn)安全帽檢測

OpenCV學(xué)堂 ? 來源:OpenCV學(xué)堂 ? 2024-01-15 10:14 ? 次閱讀

數(shù)據(jù)集地址

該圖像數(shù)據(jù)集包含8000張圖像,兩個類別分別是安全帽與人、以其中200多張圖像為驗證集,其余為訓(xùn)練集。

模型訓(xùn)練

準(zhǔn)備好數(shù)據(jù)集以后,直接按下面的命令行運行即可:

yolotrainmodel=yolov8s.ptdata=hat_dataset.yamlepochs=50imgsz=640batch=4

59df2744-b15f-11ee-8b88-92fbcf53809c.jpg

59f94ebc-b15f-11ee-8b88-92fbcf53809c.png

導(dǎo)出與測試

模型導(dǎo)出與測試

yolo export model=hat_best.pt format=onnx
yolo predict model=hat_best.pt source=./hats

5a06966c-b15f-11ee-8b88-92fbcf53809c.png

5a12741e-b15f-11ee-8b88-92fbcf53809c.jpg

部署推理

轉(zhuǎn)成ONNX格式文件以后,基于OpenVINO-Python部署推理,相關(guān)代碼如下

#ReadIR
model=ie.read_model(model="hat_best.onnx")
compiled_model=ie.compile_model(model=model,device_name="CPU")
output_layer=compiled_model.output(0)

capture=cv.VideoCapture("D:/images/video/hat_test.mp4")
whileTrue:
_,frame=capture.read()
ifframeisNone:
print("Endofstream")
break
bgr=format_yolov8(frame)
img_h,img_w,img_c=bgr.shape

start=time.time()
image=cv.dnn.blobFromImage(bgr,1/255.0,(640,640),swapRB=True,crop=False)

res=compiled_model([image])[output_layer]#1x84x8400
rows=np.squeeze(res,0).T
class_ids=[]
confidences=[]
boxes=[]
x_factor=img_w/640
y_factor=img_h/640

forrinrange(rows.shape[0]):
row=rows[r]
classes_scores=row[4:]
_,_,_,max_indx=cv.minMaxLoc(classes_scores)
class_id=max_indx[1]
if(classes_scores[class_id]>.25):
confidences.append(classes_scores[class_id])
class_ids.append(class_id)
x,y,w,h=row[0].item(),row[1].item(),row[2].item(),row[3].item()
left=int((x-0.5*w)*x_factor)
top=int((y-0.5*h)*y_factor)
width=int(w*x_factor)
height=int(h*y_factor)
box=np.array([left,top,width,height])
boxes.append(box)

indexes=cv.dnn.NMSBoxes(boxes,confidences,0.25,0.45)
forindexinindexes:
box=boxes[index]
color=colors[int(class_ids[index])%len(colors)]
cv.rectangle(frame,box,color,2)
cv.rectangle(frame,(box[0],box[1]-20),(box[0]+box[2],box[1]),color,-1)
cv.putText(frame,class_list[class_ids[index]],(box[0],box[1]-10),cv.FONT_HERSHEY_SIMPLEX,.5,(0,0,0))
end=time.time()
inf_end=end-start
fps=1/inf_end
fps_label="FPS:%.2f"%fps
cv.putText(frame,fps_label,(20,45),cv.FONT_HERSHEY_SIMPLEX,1,(0,0,255),2)

cv.imshow("YOLOv8hatDetection",frame)
cc=cv.waitKey(1)
ifcc==27:
break
cv.destroyAllWindows()

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

    關(guān)注

    1

    文章

    3499

    瀏覽量

    50077
  • 數(shù)據(jù)集
    +關(guān)注

    關(guān)注

    4

    文章

    1223

    瀏覽量

    25304
  • 命令行
    +關(guān)注

    關(guān)注

    0

    文章

    80

    瀏覽量

    10537

原文標(biāo)題:YOLOv8自定義數(shù)據(jù)集訓(xùn)練實現(xiàn)安全帽檢測

文章出處:【微信號:CVSCHOOL,微信公眾號:OpenCV學(xué)堂】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 0人收藏

    評論

    相關(guān)推薦
    熱點推薦

    基于YOLOv8實現(xiàn)自定義姿態(tài)評估模型訓(xùn)練

    Hello大家好,今天給大家分享一下如何基于YOLOv8姿態(tài)評估模型,實現(xiàn)自定義數(shù)據(jù)集上,完成自定義姿態(tài)評估模型的
    的頭像 發(fā)表于 12-25 11:29 ?3369次閱讀
    基于<b class='flag-5'>YOLOv8</b><b class='flag-5'>實現(xiàn)</b><b class='flag-5'>自定義</b>姿態(tài)評估模型<b class='flag-5'>訓(xùn)練</b>

    RK3399pro實現(xiàn)安全帽識別

    省了。   這個數(shù)據(jù)中把沒戴安全帽的頭標(biāo)注為 head, 把戴了安全帽的頭標(biāo)注為 helmet, 沒戴在頭上的安全帽沒有標(biāo)注。這樣算法就不會把沒戴在頭上的
    發(fā)表于 05-11 16:09

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

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

    使用YOLOv8做目標(biāo)檢測和實例分割的演示

    YOLOv8是來自Ultralytics的最新的基于YOLO的對象檢測模型系列,提供最先進(jìn)的性能。
    的頭像 發(fā)表于 02-06 10:11 ?8297次閱讀

    YOLOv8自定義數(shù)據(jù)集訓(xùn)練到模型部署推理簡析

    如果你只是想使用而不是開發(fā),強烈推薦通過pip安裝方式獲取YOLOv8包!YOLOv8安裝命令行
    的頭像 發(fā)表于 03-24 09:27 ?5048次閱讀

    TensorRT 8.6 C++開發(fā)環(huán)境配置與YOLOv8實例分割推理演示

    YOLOv8實例分割TensorRT 推理代碼已經(jīng)完成C++類封裝,三行代碼即可實現(xiàn)YOLOv8對象檢測與實例分割模型推理,不需要改任何代碼即可支持
    的頭像 發(fā)表于 04-25 10:49 ?6829次閱讀
    TensorRT 8.6 C++開發(fā)環(huán)境配置與<b class='flag-5'>YOLOv8</b>實例分割推理演示

    YOLOv8實現(xiàn)任意目錄下命令行訓(xùn)練

    當(dāng)你使用YOLOv8命令行訓(xùn)練模型的時候,如果當(dāng)前執(zhí)行的目錄下沒有相關(guān)的預(yù)訓(xùn)練模型文件,YOLOv8就會自動下載模型權(quán)重文件。這個是一個正常操作,但是你還會發(fā)現(xiàn),當(dāng)你在參數(shù)model中
    的頭像 發(fā)表于 09-04 10:50 ?1426次閱讀
    <b class='flag-5'>YOLOv8</b><b class='flag-5'>實現(xiàn)</b>任意目錄下命令行<b class='flag-5'>訓(xùn)練</b>

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

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

    基于YOLOv8自定義醫(yī)學(xué)圖像分割

    YOLOv8是一種令人驚嘆的分割模型;它易于訓(xùn)練、測試和部署。在本教程中,我們將學(xué)習(xí)如何在自定義數(shù)據(jù)集上使用YOLOv8。但在此之前,我想告
    的頭像 發(fā)表于 12-20 10:51 ?1194次閱讀
    基于<b class='flag-5'>YOLOv8</b>的<b class='flag-5'>自定義</b>醫(yī)學(xué)圖像分割

    如何基于深度學(xué)習(xí)模型訓(xùn)練實現(xiàn)檢測與圓心位置預(yù)測

    Hello大家好,今天給大家分享一下如何基于深度學(xué)習(xí)模型訓(xùn)練實現(xiàn)檢測與圓心位置預(yù)測,主要是通過對YOLOv8姿態(tài)評估模型在自定義
    的頭像 發(fā)表于 12-21 10:50 ?2802次閱讀
    如何基于深度學(xué)習(xí)模型<b class='flag-5'>訓(xùn)練</b><b class='flag-5'>實現(xiàn)</b>圓<b class='flag-5'>檢測</b>與圓心位置預(yù)測

    YOLOv8實現(xiàn)旋轉(zhuǎn)對象檢測

    YOLOv8框架在在支持分類、對象檢測、實例分割、姿態(tài)評估的基礎(chǔ)上更近一步,現(xiàn)已經(jīng)支持旋轉(zhuǎn)對象檢測(OBB),基于DOTA數(shù)據(jù)集,支持航拍圖像的15個類別對象
    的頭像 發(fā)表于 01-11 10:43 ?2439次閱讀
    <b class='flag-5'>YOLOv8</b><b class='flag-5'>實現(xiàn)</b>旋轉(zhuǎn)對象<b class='flag-5'>檢測</b>

    YOLOv8+PyQT5打造細(xì)胞計數(shù)與識別應(yīng)用說明

    YOLOv8對象檢測模型基于自定義數(shù)據(jù)集訓(xùn)練紅白細(xì)胞檢測模型,然后通過工具導(dǎo)出模型為ONNX,基
    的頭像 發(fā)表于 01-15 17:22 ?1515次閱讀
    <b class='flag-5'>YOLOv8</b>+PyQT5打造細(xì)胞計數(shù)與識別應(yīng)用說明

    智能安全帽的價格

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

    RV1126 yolov8訓(xùn)練部署教程

    YOLOv8 是 ultralytics 公司在 2023 年 1月 10 號開源的基于YOLOV5進(jìn)行更新的 下一個重大更新版本,目前支持圖像分類、物體檢測和實例分割任務(wù),鑒于Yolov
    的頭像 發(fā)表于 04-16 14:53 ?356次閱讀
    RV1126 <b class='flag-5'>yolov8</b><b class='flag-5'>訓(xùn)練</b>部署教程

    RV1126 yolov8訓(xùn)練部署教程

    本教程針對目標(biāo)檢測算法yolov8訓(xùn)練和部署到EASY-EAI-Nano(RV1126)進(jìn)行說明,而數(shù)據(jù)標(biāo)注方法可以參考我們往期的文章。
    的頭像 發(fā)表于 04-18 15:18 ?487次閱讀
    RV1126 <b class='flag-5'>yolov8</b><b class='flag-5'>訓(xùn)練</b>部署教程

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品