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

基于Yolov8的中國交通標(biāo)志(CCTSDB)識別檢測系統(tǒng)

這篇具有很好參考價值的文章主要介紹了基于Yolov8的中國交通標(biāo)志(CCTSDB)識別檢測系統(tǒng)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

目錄

1.Yolov8介紹

2.紙箱破損數(shù)據(jù)集介紹

2.1數(shù)據(jù)集劃分

2.2 通過voc_label.py得到適合yolov8訓(xùn)練需要的

2.3生成內(nèi)容如下

3.訓(xùn)練結(jié)果分析


1.Yolov8介紹

?????????Ultralytics YOLOv8是Ultralytics公司開發(fā)的YOLO目標(biāo)檢測和圖像分割模型的最新版本。YOLOv8是一種尖端的、最先進(jìn)的(SOTA)模型,它建立在先前YOLO成功基礎(chǔ)上,并引入了新功能和改進(jìn),以進(jìn)一步提升性能和靈活性。它可以在大型數(shù)據(jù)集上進(jìn)行訓(xùn)練,并且能夠在各種硬件平臺上運(yùn)行,從CPU到GPU。

具體改進(jìn)如下:

  1. Backbone:使用的依舊是CSP的思想,不過YOLOv5中的C3模塊被替換成了C2f模塊,實(shí)現(xiàn)了進(jìn)一步的輕量化,同時YOLOv8依舊使用了YOLOv5等架構(gòu)中使用的SPPF模塊;

  2. PAN-FPN:毫無疑問YOLOv8依舊使用了PAN的思想,不過通過對比YOLOv5與YOLOv8的結(jié)構(gòu)圖可以看到,YOLOv8將YOLOv5中PAN-FPN上采樣階段中的卷積結(jié)構(gòu)刪除了,同時也將C3模塊替換為了C2f模塊;

  3. Decoupled-Head:是不是嗅到了不一樣的味道?是的,YOLOv8走向了Decoupled-Head;

  4. Anchor-Free:YOLOv8拋棄了以往的Anchor-Base,使用了Anchor-Free的思想;

  5. 損失函數(shù):YOLOv8使用VFL Loss作為分類損失,使用DFL Loss+CIOU Loss作為分類損失;

  6. 樣本匹配:YOLOv8拋棄了以往的IOU匹配或者單邊比例的分配方式,而是使用了Task-Aligned Assigner匹配方式

基于Yolov8的中國交通標(biāo)志(CCTSDB)識別檢測系統(tǒng),Yolov8成長師,人工智能,深度學(xué)習(xí),計算機(jī)視覺,目標(biāo)檢測,YOLO,python

框架圖提供見鏈接:Brief summary of YOLOv8 model structure · Issue #189 · ultralytics/ultralytics · GitHub

2.中國交通標(biāo)志(CCTSDB)數(shù)據(jù)集介紹

道路破損數(shù)據(jù)集大小13829,類別一類:warning、prohibitory、mandatory,按照8:1:1進(jìn)行數(shù)據(jù)集隨機(jī)生成。

2.1數(shù)據(jù)集劃分

通過split_train_val.py得到trainval.txt、val.txt、test.txt??

# coding:utf-8

import os
import random
import argparse

parser = argparse.ArgumentParser()
#xml文件的地址,根據(jù)自己的數(shù)據(jù)進(jìn)行修改 xml一般存放在Annotations下
parser.add_argument('--xml_path', default='Annotations', type=str, help='input xml label path')
#數(shù)據(jù)集的劃分,地址選擇自己數(shù)據(jù)下的ImageSets/Main
parser.add_argument('--txt_path', default='ImageSets/Main', type=str, help='output txt label path')
opt = parser.parse_args()

trainval_percent = 0.9
train_percent = 0.8
xmlfilepath = opt.xml_path
txtsavepath = opt.txt_path
total_xml = os.listdir(xmlfilepath)
if not os.path.exists(txtsavepath):
    os.makedirs(txtsavepath)

num = len(total_xml)
list_index = range(num)
tv = int(num * trainval_percent)
tr = int(tv * train_percent)
trainval = random.sample(list_index, tv)
train = random.sample(trainval, tr)

file_trainval = open(txtsavepath + '/trainval.txt', 'w')
file_test = open(txtsavepath + '/test.txt', 'w')
file_train = open(txtsavepath + '/train.txt', 'w')
file_val = open(txtsavepath + '/val.txt', 'w')

for i in list_index:
    name = total_xml[i][:-4] + '\n'
    if i in trainval:
        file_trainval.write(name)
        if i in train:
            file_train.write(name)
        else:
            file_val.write(name)
    else:
        file_test.write(name)

file_trainval.close()
file_train.close()
file_val.close()
file_test.close()

2.2 通過voc_label.py得到適合yolov8訓(xùn)練需要的

# -*- coding: utf-8 -*-
import xml.etree.ElementTree as ET
import os
from os import getcwd

sets = ['train', 'val']
classes = ["warning","prohibitory","mandatory"]   # 改成自己的類別
abs_path = os.getcwd()
print(abs_path)

def convert(size, box):
    dw = 1. / (size[0])
    dh = 1. / (size[1])
    x = (box[0] + box[1]) / 2.0 - 1
    y = (box[2] + box[3]) / 2.0 - 1
    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_id):
    in_file = open('Annotations/%s.xml' % (image_id), encoding='UTF-8')
    out_file = open('labels/%s.txt' % (image_id), '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'):
        difficult = obj.find('difficult').text
        #difficult = obj.find('Difficult').text
        cls = obj.find('name').text
        if cls not in classes or int(difficult) == 1:
            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))
        b1, b2, b3, b4 = b
        # 標(biāo)注越界修正
        if b2 > w:
            b2 = w
        if b4 > h:
            b4 = h
        b = (b1, b2, b3, b4)
        bb = convert((w, h), b)
        out_file.write(str(cls_id) + " " + " ".join([str(a) for a in bb]) + '\n')

wd = getcwd()
for image_set in sets:
    if not os.path.exists('labels/'):
        os.makedirs('labels/')
    image_ids = open('ImageSets/Main/%s.txt' % (image_set)).read().strip().split()
    list_file = open('%s.txt' % (image_set), 'w')
    for image_id in image_ids:
        list_file.write(abs_path + '/images/%s.jpg\n' % (image_id))
        convert_annotation(image_id)
    list_file.close()

2.3生成內(nèi)容如下

?基于Yolov8的中國交通標(biāo)志(CCTSDB)識別檢測系統(tǒng),Yolov8成長師,人工智能,深度學(xué)習(xí),計算機(jī)視覺,目標(biāo)檢測,YOLO,python

3.訓(xùn)練結(jié)果分析

confusion_matrix.png :列代表預(yù)測的類別,行代表實(shí)際的類別。其對角線上的值表示預(yù)測正確的數(shù)量比例,非對角線元素則是預(yù)測錯誤的部分?;煜仃嚨膶蔷€值越高越好,這表明許多預(yù)測是正確的。

基于Yolov8的中國交通標(biāo)志(CCTSDB)識別檢測系統(tǒng),Yolov8成長師,人工智能,深度學(xué)習(xí),計算機(jī)視覺,目標(biāo)檢測,YOLO,python

?上圖是道路破損檢測訓(xùn)練,有圖可以看出 ,分別是破損和background FP。該圖在每列上進(jìn)行歸一化處理。則可以看出破損檢測預(yù)測正確的概率為91%。

F1_curve.png:F1分?jǐn)?shù)與置信度(x軸)之間的關(guān)系。F1分?jǐn)?shù)是分類的一個衡量標(biāo)準(zhǔn),是精確率和召回率的調(diào)和平均函數(shù),介于0,1之間。越大越好。

TP:真實(shí)為真,預(yù)測為真;

FN:真實(shí)為真,預(yù)測為假;

FP:真實(shí)為假,預(yù)測為真;

TN:真實(shí)為假,預(yù)測為假;

精確率(precision)=TP/(TP+FP)

召回率(Recall)=TP/(TP+FN)

F1=2*(精確率*召回率)/(精確率+召回率)

基于Yolov8的中國交通標(biāo)志(CCTSDB)識別檢測系統(tǒng),Yolov8成長師,人工智能,深度學(xué)習(xí),計算機(jī)視覺,目標(biāo)檢測,YOLO,python

?labels_correlogram.jpg :顯示數(shù)據(jù)的每個軸與其他軸之間的對比。圖像中的標(biāo)簽位于 xywh 空間。

基于Yolov8的中國交通標(biāo)志(CCTSDB)識別檢測系統(tǒng),Yolov8成長師,人工智能,深度學(xué)習(xí),計算機(jī)視覺,目標(biāo)檢測,YOLO,python

?labels.jpg :

(1,1)表示每個類別的數(shù)據(jù)量

(1,2)真實(shí)標(biāo)注的?bounding_box

(2,1) 真實(shí)標(biāo)注的中心點(diǎn)坐標(biāo)

(2,2)真實(shí)標(biāo)注的矩陣寬高

基于Yolov8的中國交通標(biāo)志(CCTSDB)識別檢測系統(tǒng),Yolov8成長師,人工智能,深度學(xué)習(xí),計算機(jī)視覺,目標(biāo)檢測,YOLO,python

?P_curve.png:表示準(zhǔn)確率與置信度的關(guān)系圖線,橫坐標(biāo)置信度。由下圖可以看出置信度越高,準(zhǔn)確率越高。

基于Yolov8的中國交通標(biāo)志(CCTSDB)識別檢測系統(tǒng),Yolov8成長師,人工智能,深度學(xué)習(xí),計算機(jī)視覺,目標(biāo)檢測,YOLO,python

?PR_curve.png :PR曲線中的P代表的是precision(精準(zhǔn)率)R代表的是recall(召回率),其代表的是精準(zhǔn)率與召回率的關(guān)系。

基于Yolov8的中國交通標(biāo)志(CCTSDB)識別檢測系統(tǒng),Yolov8成長師,人工智能,深度學(xué)習(xí),計算機(jī)視覺,目標(biāo)檢測,YOLO,python

?R_curve.png :召回率與置信度之間關(guān)系

基于Yolov8的中國交通標(biāo)志(CCTSDB)識別檢測系統(tǒng),Yolov8成長師,人工智能,深度學(xué)習(xí),計算機(jī)視覺,目標(biāo)檢測,YOLO,python

?預(yù)測結(jié)果:

基于Yolov8的中國交通標(biāo)志(CCTSDB)識別檢測系統(tǒng),Yolov8成長師,人工智能,深度學(xué)習(xí),計算機(jī)視覺,目標(biāo)檢測,YOLO,python文章來源地址http://www.zghlxwxcb.cn/news/detail-703827.html

到了這里,關(guān)于基于Yolov8的中國交通標(biāo)志(CCTSDB)識別檢測系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 軟件杯 深度學(xué)習(xí) opencv python 實(shí)現(xiàn)中國交通標(biāo)志識別_1

    軟件杯 深度學(xué)習(xí) opencv python 實(shí)現(xiàn)中國交通標(biāo)志識別_1

    ?? 優(yōu)質(zhì)競賽項(xiàng)目系列,今天要分享的是 ?? 基于深度學(xué)習(xí)的中國交通標(biāo)志識別算法研究與實(shí)現(xiàn) 該項(xiàng)目較為新穎,適合作為競賽課題方向,學(xué)長非常推薦! ??學(xué)長這里給一個題目綜合評分(每項(xiàng)滿分5分) 難度系數(shù):4分 工作量:4分 創(chuàng)新點(diǎn):3分 ?? 更多資料, 項(xiàng)目分享: http

    2024年03月17日
    瀏覽(30)
  • Android嵌入自己訓(xùn)練的yolov5模型(tfLite)交通標(biāo)志

    Android嵌入自己訓(xùn)練的yolov5模型(tfLite)交通標(biāo)志

    目錄 第一步:下載模型與修改參數(shù) 第二步:標(biāo)注數(shù)據(jù) 第三步:開始訓(xùn)練 第四步:yolov5轉(zhuǎn)為tfLite模型 第五步:我們可以檢測一下tfLite是否可用 第六步:下載官方的示例代碼 第七步:修改代碼 第八步:運(yùn)行軟件 第九步:優(yōu)化速率 效果圖 參考:【精選】手把手教你使用YOLOV5訓(xùn)練自己的目標(biāo)

    2024年04月12日
    瀏覽(55)
  • 交通信號標(biāo)志識別軟件(Python+YOLOv5深度學(xué)習(xí)模型+清新界面)

    交通信號標(biāo)志識別軟件(Python+YOLOv5深度學(xué)習(xí)模型+清新界面)

    摘要:交通信號標(biāo)志識別軟件用于交通信號標(biāo)志的檢測和識別,利用機(jī)器視覺和深度學(xué)習(xí)智能識別交通標(biāo)志并可視化記錄,以輔助無人駕駛等。本文詳細(xì)介紹交通信號標(biāo)志識別軟件,在介紹算法原理的同時,給出 P y t h o n 的實(shí)現(xiàn)代碼以及 P y Q t 的UI界面。在界面中可以選擇各

    2024年02月02日
    瀏覽(33)
  • 基于深度學(xué)習(xí),機(jī)器學(xué)習(xí),卷積神經(jīng)網(wǎng)絡(luò),OpenCV的交通標(biāo)志識別交通標(biāo)志檢測

    基于深度學(xué)習(xí),機(jī)器學(xué)習(xí),卷積神經(jīng)網(wǎng)絡(luò),OpenCV的交通標(biāo)志識別交通標(biāo)志檢測

    在本文中,使用Python編程語言和庫Keras和OpenCV建立CNN模型,成功地對交通標(biāo)志分類器進(jìn)行分類,準(zhǔn)確率達(dá)96%。開發(fā)了一款交通標(biāo)志識別應(yīng)用程序,該應(yīng)用程序具有圖片識別和網(wǎng)絡(luò)攝像頭實(shí)時識別兩種工作方式。 設(shè)計項(xiàng)目案例演示地址: 鏈接 畢業(yè)設(shè)計代做一對一指導(dǎo)項(xiàng)目方向涵

    2024年02月02日
    瀏覽(98)
  • win下YOLOv7訓(xùn)練自己的數(shù)據(jù)集(交通標(biāo)志TT100K識別)

    win下YOLOv7訓(xùn)練自己的數(shù)據(jù)集(交通標(biāo)志TT100K識別)

    預(yù)測結(jié)果: 數(shù)據(jù)集的準(zhǔn)備包括數(shù)據(jù)集適配YOLO格式的重新分配以及相應(yīng)配置文件的書寫,此處可查看博主的TT100K2yolo的重新分配博文,該文章包括數(shù)據(jù)集劃分,配置文件書寫,以及最終的數(shù)據(jù)集層級目錄組織,可以直接提供給下一步進(jìn)行訓(xùn)練。 需要注意的是數(shù)據(jù)集的yaml文件有

    2024年02月06日
    瀏覽(24)
  • Python+Yolov5+Qt交通標(biāo)志特征識別窗體界面相片視頻攝像頭

    Python+Yolov5+Qt交通標(biāo)志特征識別窗體界面相片視頻攝像頭

    程序示例精選 Python+Yolov5+Qt交通標(biāo)志特征識別窗體界面相片視頻攝像頭 如需安裝運(yùn)行環(huán)境或遠(yuǎn)程調(diào)試,見文章底部個人 QQ 名片,由專業(yè)技術(shù)人員遠(yuǎn)程協(xié)助! 這篇博客針對《Python+Yolov5+Qt交通標(biāo)志特征識別窗體界面相片視頻攝像頭》編寫代碼,代碼整潔,規(guī)則,易讀。 學(xué)習(xí)與應(yīng)

    2024年02月03日
    瀏覽(29)
  • 基于PyTorch的交通標(biāo)志目標(biāo)檢測系統(tǒng)

    基于PyTorch的交通標(biāo)志目標(biāo)檢測系統(tǒng)

    一、開發(fā)環(huán)境 Windows 10 PyCharm 2021.3.2 Python 3.7 PyTorch 1.7.0 二、制作交通標(biāo)志數(shù)據(jù)集,如下圖 三、配置好數(shù)據(jù)集的地址,然后開始訓(xùn)練 四、訓(xùn)練完成后進(jìn)行推理預(yù)測,效果如圖 五、完整源碼、數(shù)據(jù)集和模型文件下載 鏈接:https://pan.baidu.com/s/111wLXWLckTfrHIEGZyXeqA?pwd=w5q6 提取碼:w5

    2024年02月09日
    瀏覽(23)
  • 畢業(yè)設(shè)計-基于機(jī)器視覺的交通標(biāo)志識別系統(tǒng)

    畢業(yè)設(shè)計-基于機(jī)器視覺的交通標(biāo)志識別系統(tǒng)

    目錄 前言 課題背景和意義 實(shí)現(xiàn)技術(shù)思路 一、交通標(biāo)志識別系統(tǒng) 二、交通標(biāo)志識別整體方案 三、實(shí)驗(yàn)分析 四、總結(jié) 實(shí)現(xiàn)效果圖樣例 最后 ? ? ??大四是整個大學(xué)期間最忙碌的時光,一邊要忙著備考或?qū)嵙?xí)為畢業(yè)后面臨的就業(yè)升學(xué)做準(zhǔn)備,一邊要為畢業(yè)設(shè)計耗費(fèi)大量精力。近幾

    2024年02月03日
    瀏覽(19)
  • 基于深度學(xué)習(xí)的交通標(biāo)志檢測和識別(從原理到環(huán)境配置/代碼運(yùn)行)

    基于深度學(xué)習(xí)的交通標(biāo)志檢測和識別(從原理到環(huán)境配置/代碼運(yùn)行)

    項(xiàng)目是一個基于Python和OpenCV的交通標(biāo)志檢測和識別項(xiàng)目,旨在使用計算機(jī)視覺和深度學(xué)習(xí)技術(shù)對交通標(biāo)志進(jìn)行檢測和分類。本文將從介紹項(xiàng)目原理和框架開始,詳細(xì)介紹該項(xiàng)目的實(shí)現(xiàn)過程和技術(shù)細(xì)節(jié),最后給出項(xiàng)目的安裝和使用方法。 Traffic-Sign-Detection項(xiàng)目的主要原理是使用

    2024年02月03日
    瀏覽(25)
  • Python交通標(biāo)志識別基于卷積神經(jīng)網(wǎng)絡(luò)的保姆級教程(Tensorflow)

    Python交通標(biāo)志識別基于卷積神經(jīng)網(wǎng)絡(luò)的保姆級教程(Tensorflow)

    項(xiàng)目介紹 TensorFlow2.X 搭建卷積神經(jīng)網(wǎng)絡(luò)(CNN),實(shí)現(xiàn)交通標(biāo)志識別。搭建的卷積神經(jīng)網(wǎng)絡(luò)是類似VGG的結(jié)構(gòu)(卷積層與池化層反復(fù)堆疊,然后經(jīng)過全連接層,最后用softmax映射為每個類別的概率,概率最大的即為識別結(jié)果)。 其他項(xiàng)目 水果蔬菜識別:基于卷積神經(jīng)網(wǎng)絡(luò)的水果識別

    2024年02月05日
    瀏覽(45)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包