国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于YOLOV5的鋼材缺陷檢測

這篇具有很好參考價值的文章主要介紹了基于YOLOV5的鋼材缺陷檢測。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

數(shù)據(jù)和源碼見文末

1.任務(wù)概述

? ? ? ? 數(shù)據(jù)集使用的是東北大學(xué)收集的一個鋼材缺陷檢測數(shù)據(jù)集,需要檢測出鋼材表面的6種劃痕。同時,數(shù)據(jù)集格式是VOC格式,需要進行轉(zhuǎn)化,上傳的源碼中的數(shù)據(jù)集是經(jīng)過轉(zhuǎn)換格式的版本。

2.數(shù)據(jù)與標簽配置方法

? ? ? ? 在數(shù)據(jù)集目錄下,train文件夾下有訓(xùn)練集數(shù)據(jù)及YOLO標簽,valid文件夾下是驗證集數(shù)據(jù)及YOLO標簽。data.yaml是數(shù)據(jù)的配置文件,需要在訓(xùn)練和測試時進行指定。基于YOLOV5的鋼材缺陷檢測

?train目錄

基于YOLOV5的鋼材缺陷檢測

valid目錄

基于YOLOV5的鋼材缺陷檢測

? ? ? ? data.yaml是數(shù)據(jù)的配置文件,里面指定了訓(xùn)練集和驗證集數(shù)據(jù)的目錄,這里是使用的相對路徑,如果容易報錯的話,可以改為絕對路徑。nc是類別數(shù),names是類別名稱。?

?3.標簽轉(zhuǎn)換腳本

? ? ? ? 原始標注文件格式是voc格式,但是YOLO并不支持這種格式的文件。因此需要使用一個腳本對標簽進行轉(zhuǎn)換。

import xml.etree.ElementTree as ET
import pickle
import os
from os import listdir, getcwd
from os.path import join
import glob


classes = ["crazing", "inclusion", "patches", "pitted_surface", "rolled-in_scale", "scratches"]

def convert(size, box):
    dw = 1./size[0]
    dh = 1./size[1]
    x = (box[0] + box[1])/2.0
    y = (box[2] + box[3])/2.0
    w = box[1] - box[0]
    h = box[3] - box[2]
    x = x*dw
    w = w*dw
    y = y*dh
    h = h*dh
    return (x,y,w,h)

def convert_annotation(image_name):
    in_file = open('./ANNOTATIONS/'+image_name[:-3]+'xml')
    out_file = open('./LABELS/'+image_name[:-3]+'txt','w')
    tree=ET.parse(in_file)
    root = tree.getroot()
    size = root.find('size')
    w = int(size.find('width').text)
    h = int(size.find('height').text)

    for obj in root.iter('object'):
        cls = obj.find('name').text
        if cls not in classes:
            print(cls)
            continue
        cls_id = classes.index(cls)
        xmlbox = obj.find('bndbox')
        b = (float(xmlbox.find('xmin').text), float(xmlbox.find('xmax').text), float(xmlbox.find('ymin').text), float(xmlbox.find('ymax').text))
        bb = convert((w,h), b)
        out_file.write(str(cls_id) + " " + " ".join([str(a) for a in bb]) + '\n')

wd = getcwd()

if __name__ == '__main__':
    for image_path in glob.glob("./IMAGES/*.jpg"):
        image_name = image_path.split('\\')[-1]
        #print(image_path)
        convert_annotation(image_name)

?4.YOLOv5的項目參數(shù)配置

? ? ? ? 我們只選取重要的參數(shù)進行詳細的說明

????????--weights是指定預(yù)訓(xùn)練權(quán)重。

????????--cfg指定模型,我們可以根據(jù)自己的需要,指定不同計算量的模型。

基于YOLOV5的鋼材缺陷檢測

?????????--hyp是超參數(shù)的配置文件,一般不需要進行修改

? ? ? ? 進行訓(xùn)練,最重要的參數(shù)還有--epochs(訓(xùn)練的輪次),--batch-size(批量大?。?,--cos-lr是否使用余弦調(diào)度。

其中,參數(shù)我們可以在Anaconda的命令行中指定,也可以在Pycharm進行配置

基于YOLOV5的鋼材缺陷檢測

以下只是示例,參數(shù)需要根據(jù)自己的需要進行指定?

基于YOLOV5的鋼材缺陷檢測

?參數(shù)的含義:

 --weights:初始權(quán)重
    --cfg:模型配置文件
    --data:數(shù)據(jù)配置文件
    --hyp:學(xué)習(xí)率等超參數(shù)文件
    --epochs:迭代次數(shù)
    -imgsz:圖像大小
    --rect:長方形訓(xùn)練策略,不resize成正方形,使用灰條進行圖片填充,防止圖片失真
    --resume:恢復(fù)最近的培訓(xùn),從last.pt開始
    --nosave:只保存最后的檢查點
    --noval:僅在最后一次epochs進行驗證
    --noautoanchor:禁用AutoAnchor
    --noplots:不保存打印文件
    --evolve:為x個epochs進化超參數(shù)
    --bucket:上傳操作,這個參數(shù)是 yolov5 作者將一些東西放在谷歌云盤,可以進行下載
    --cache:在ram或硬盤中緩存數(shù)據(jù)
    --image-weights:測試過程中,圖像的那些測試地方不太好,對這些不太好的地方加權(quán)重
    --single-cls:單類別標簽置0 
    --device:gpu設(shè)置  
    --multi-scale:改變img大小+/-50%,能夠被32整除
    --optimizer:學(xué)習(xí)率優(yōu)化器
    --sync-bn:使用SyncBatchNorm,僅在DDP模式中支持,跨gpu時使用
    --workers:最大 dataloader 的線程數(shù) (per RANK in DDP mode)
    --project:保存文件的地址
    --name:保存日志文件的名稱
    --exist-ok:對項目名字是否進行覆蓋
    --quad:在dataloader時采用什么樣的方式讀取我們的數(shù)據(jù),1280的大圖像可以指定
    --cos-lr:余弦學(xué)習(xí)率調(diào)度
    --label-smoothing:
    --patience:經(jīng)過多少個epoch損失不再下降,就停止迭代
    --freeze:遷移學(xué)習(xí),凍結(jié)訓(xùn)練
    --save-period:每x個周期保存一個檢查點(如果<1,則禁用)
    --seed:隨機種子
    --local_rank:gpu編號
    --entity:可視化訪問信息
    --quad:
    四元數(shù)據(jù)加載器是我們認為的一個實驗性功能,它可能允許在較低 --img 尺寸下進行更高 --img 尺寸訓(xùn)練的一些好處。
    此四元整理功能會將批次從 16x3x640x640 重塑為 4x3x1280x1280,這不會產(chǎn)生太大影響 本身,因為它只是重新排列批次中的馬賽克,
    但有趣的是允許批次中的某些圖像放大 2 倍(每個四邊形中的 4 個馬賽克中的一個放大 2 倍,其他 3 個馬賽克被刪除)

配置好環(huán)境指定參數(shù)就可以進行訓(xùn)練了。

數(shù)據(jù)和源碼鏈接:https://pan.baidu.com/s/1EaJT5Rganfy-Ph5S1gvyQg?pwd=uu48?
提取碼:uu48?文章來源地址http://www.zghlxwxcb.cn/news/detail-460798.html

到了這里,關(guān)于基于YOLOV5的鋼材缺陷檢測的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的布匹缺陷檢測系統(tǒng)(Python+PySide6界面+訓(xùn)練代碼)

    基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的布匹缺陷檢測系統(tǒng)(Python+PySide6界面+訓(xùn)練代碼)

    摘要:本文介紹了一種基于深度學(xué)習(xí)的布匹缺陷檢測系統(tǒng)的代碼,采用最先進的YOLOv8算法并對比YOLOv7、YOLOv6、YOLOv5等算法的結(jié)果,能夠準確識別圖像、視頻、實時視頻流以及批量文件中的布匹缺陷。文章詳細解釋了YOLOv8算法的原理,并提供了相應(yīng)的Python實現(xiàn)代碼、訓(xùn)練數(shù)據(jù)集

    2024年03月15日
    瀏覽(31)
  • YOLOv5 + Flask + Vue實現(xiàn)基于深度學(xué)習(xí)算法的垃圾檢測系統(tǒng)源碼+數(shù)據(jù)庫

    YOLOv5 + Flask + Vue實現(xiàn)基于深度學(xué)習(xí)算法的垃圾檢測系統(tǒng)源碼+數(shù)據(jù)庫

    YOLOv5?? :高效、準確的目標檢測算法,實時識別檢測圖像和視頻中的各種對象 PyTorch :機器學(xué)習(xí)框架,以動態(tài)計算圖為基礎(chǔ),具有靈活性和易用性 OpenCV :計算機視覺庫,提供了豐富的圖像和視頻處理功能 Vue3 :采用 Vue3 + script setup 最新的 Vue3 組合式 API Element Plus :Element

    2024年02月22日
    瀏覽(24)
  • 基于yolov5的PCB缺陷檢測,引入CVPR 2023 BiFormer:Vision Transformer with Bi-Level Routing Attention提升檢測精度

    基于yolov5的PCB缺陷檢測,引入CVPR 2023 BiFormer:Vision Transformer with Bi-Level Routing Attention提升檢測精度

    目錄 1.PCB數(shù)據(jù)集介紹 1.1?通過split_train_val.py得到trainval.txt、val.txt、test.txt ?1.2 通過voc_label.py得到適合yolov5訓(xùn)練需要的 2.基于Yolov5 的PCB缺陷識別 2.1配置?pcb.yaml ?2.2 修改yolov5s_pcb.yaml 2.3 超參數(shù)修改train.py 3.實驗結(jié)果分析 3.1??CVPR 2023 BiFormer: 基于動態(tài)稀疏注意力構(gòu)建高效金字塔

    2024年02月06日
    瀏覽(21)
  • YOLOv5實戰(zhàn)之輸電線路絕緣子缺陷檢測識別

    YOLOv5實戰(zhàn)之輸電線路絕緣子缺陷檢測識別

    在前面的文章中已經(jīng)詳細介紹了在本機上安裝YOLOv5的教程,安裝YOLOv5可參考前面的文章YOLOv5訓(xùn)練自己的數(shù)據(jù)集(超詳細)https://blog.csdn.net/qq_40716944/article/details/118188085https://blog.csdn.net/qq_40716944/article/details/118188085 目錄 ? 一、數(shù)據(jù)集介紹 二、構(gòu)建訓(xùn)練數(shù)據(jù)集? 1、先構(gòu)建數(shù)據(jù)集文件

    2024年02月02日
    瀏覽(19)
  • 基于YOLOv5 來訓(xùn)練頭盔目標檢測-附源碼

    建筑工地頭部頭盔檢測,基于目標檢測工地安全帽和禁入危險區(qū)域識別系統(tǒng),????附Y(jié)OLOv5訓(xùn)練自己的數(shù)據(jù)集超詳細教程?。?! 目錄 指標 yolov5s 為基礎(chǔ)訓(xùn)練,epoch = 50 yolov5m 為基礎(chǔ)訓(xùn)練,epoch = 100

    2024年02月13日
    瀏覽(23)
  • 深度學(xué)習(xí)目標檢測-鋼材缺陷檢測系統(tǒng)上位機ui界面

    深度學(xué)習(xí)目標檢測-鋼材缺陷檢測系統(tǒng)上位機ui界面

    之前寫過這個博客: 工業(yè)缺陷檢測項目實戰(zhàn)(二)——基于深度學(xué)習(xí)框架yolov5的鋼鐵表面缺陷檢測 里面介紹了使用yolov5進行訓(xùn)練的步驟。今天我們一起學(xué)習(xí)利用qt將缺陷檢測封裝為一個系統(tǒng)。 首先看看效果: 我們運行,先可以看到登錄界面: 如果密碼和賬號輸入錯誤,會提示警

    2023年04月15日
    瀏覽(20)
  • 深度學(xué)習(xí)目標檢測-鋼材缺陷檢測系統(tǒng)上位機ui和web界面

    深度學(xué)習(xí)目標檢測-鋼材缺陷檢測系統(tǒng)上位機ui和web界面

    之前寫過這個博客: 工業(yè)缺陷檢測項目實戰(zhàn)(二)——基于深度學(xué)習(xí)框架yolov5的鋼鐵表面缺陷檢測 里面介紹了使用yolov5進行訓(xùn)練的步驟。今天我們一起學(xué)習(xí)利用qt將缺陷檢測封裝為一個系統(tǒng)。 首先看看效果: 我們運行,先可以看到登錄界面: 如果密碼和賬號輸入錯誤,會提示警

    2024年02月01日
    瀏覽(59)
  • 【2023-Pytorch-檢測教程】手把手教你使用YOLOV5做電線絕緣子缺陷檢測

    【2023-Pytorch-檢測教程】手把手教你使用YOLOV5做電線絕緣子缺陷檢測

    隨著社會和經(jīng)濟的持續(xù)發(fā)展,電力系統(tǒng)的投資與建設(shè)也日益加速。在電力系統(tǒng)中,輸電線路作為電能傳輸?shù)妮d體,是最為關(guān)鍵的環(huán)節(jié)之一。而絕緣子作為輸電環(huán)節(jié)中的重要設(shè)備,在支撐固定導(dǎo)線,保障絕緣距離的方面有著重要作用。大多數(shù)高壓輸電線路主要架設(shè)在非城市內(nèi)地

    2023年04月11日
    瀏覽(20)
  • 【目標檢測】基于yolov5的交通標志檢測和識別(附代碼和數(shù)據(jù)集)

    【目標檢測】基于yolov5的交通標志檢測和識別(附代碼和數(shù)據(jù)集)

    寫在前面: 首先感謝兄弟們的關(guān)注和訂閱,讓我有創(chuàng)作的動力,在創(chuàng)作過程我會盡最大能力,保證作品的質(zhì)量,如果有問題,可以私信我,讓我們攜手共進,共創(chuàng)輝煌。 (專欄訂閱用戶訂閱專欄后免費提供數(shù)據(jù)集和源碼一份,超級VIP用戶不在服務(wù)范圍之內(nèi),不想訂閱專欄的

    2024年02月04日
    瀏覽(24)
  • 基于深度學(xué)習(xí)的跌倒檢測系統(tǒng)(UI界面+YOLOv5+訓(xùn)練數(shù)據(jù)集)

    基于深度學(xué)習(xí)的跌倒檢測系統(tǒng)(UI界面+YOLOv5+訓(xùn)練數(shù)據(jù)集)

    摘要:跌倒監(jiān)測系統(tǒng)用于智能化監(jiān)測是否有行人跌倒,通過YOLOv5的深度學(xué)習(xí)技術(shù)對視頻、圖片、攝像頭等畫面進行跌倒檢測,分析并安全提醒。在介紹算法原理的同時,給出 P y t h o n 的實現(xiàn)代碼、 P y Q t 的UI界面及訓(xùn)練數(shù)據(jù)集。跌倒監(jiān)測系統(tǒng)主要用于日常生活中行人跌倒情況

    2023年04月18日
    瀏覽(88)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包