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

【深度學(xué)習(xí)目標(biāo)檢測(cè)】七、基于深度學(xué)習(xí)的火災(zāi)煙霧識(shí)別(python,目標(biāo)檢測(cè),yolov8)

這篇具有很好參考價(jià)值的文章主要介紹了【深度學(xué)習(xí)目標(biāo)檢測(cè)】七、基于深度學(xué)習(xí)的火災(zāi)煙霧識(shí)別(python,目標(biāo)檢測(cè),yolov8)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

YOLOv8是一種物體檢測(cè)算法,是YOLO系列算法的最新版本。

YOLO(You Only Look Once)是一種實(shí)時(shí)物體檢測(cè)算法,其優(yōu)勢(shì)在于快速且準(zhǔn)確的檢測(cè)結(jié)果。YOLOv8在之前的版本基礎(chǔ)上進(jìn)行了一系列改進(jìn)和優(yōu)化,提高了檢測(cè)速度和準(zhǔn)確性。

YOLOv8采用了Darknet-53作為其基礎(chǔ)網(wǎng)絡(luò)架構(gòu)。Darknet-53是一個(gè)53層的卷積神經(jīng)網(wǎng)絡(luò),用于提取圖像特征。與傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)相比,Darknet-53具有更深的網(wǎng)絡(luò)結(jié)構(gòu)和更多的卷積層,可以更好地捕捉圖像中的細(xì)節(jié)和語(yǔ)義信息。

在YOLOv8中,還使用了一些技術(shù)來(lái)提高檢測(cè)性能。首先是使用了多尺度檢測(cè)。YOLOv8在不同的尺度上檢測(cè)物體,這樣可以更好地處理物體的大小變化和遠(yuǎn)近距離差異。其次是利用了FPN(Feature Pyramid Network)結(jié)構(gòu)來(lái)提取多尺度特征。FPN可以將不同層級(jí)的特征圖進(jìn)行融合,使得算法對(duì)不同大小的物體都有較好的適應(yīng)性。

此外,YOLOv8還利用了一種稱為CSPDarknet的網(wǎng)絡(luò)結(jié)構(gòu)來(lái)減少計(jì)算量。CSPDarknet使用了CSP(Cross Stage Partial)結(jié)構(gòu),在網(wǎng)絡(luò)的前向和后向傳播過(guò)程中進(jìn)行特征融合,從而減少了網(wǎng)絡(luò)的參數(shù)量和計(jì)算量。

在訓(xùn)練階段,YOLOv8使用了一種稱為CutMix的數(shù)據(jù)增強(qiáng)技術(shù)。CutMix將不同圖像的一部分進(jìn)行混合,從而增加了數(shù)據(jù)的多樣性和魯棒性。

總而言之,YOLOv8是一種快速而準(zhǔn)確的物體檢測(cè)算法,它通過(guò)引入Darknet-53網(wǎng)絡(luò)、多尺度檢測(cè)、FPN結(jié)構(gòu)、CSPDarknet結(jié)構(gòu)和CutMix數(shù)據(jù)增強(qiáng)等技術(shù),實(shí)現(xiàn)了對(duì)不同大小和距離的物體進(jìn)行快速、準(zhǔn)確的檢測(cè)。

本文介紹了基于Yolov8的火焰煙霧檢測(cè)模型,包括訓(xùn)練過(guò)程和數(shù)據(jù)準(zhǔn)備過(guò)程,同時(shí)提供了推理的代碼。對(duì)準(zhǔn)備計(jì)算機(jī)視覺(jué)相關(guān)的畢業(yè)設(shè)計(jì)的同學(xué)有著一定的幫助。

模型在線體驗(yàn):模型樂(lè)園

效果如下圖:

基于深度學(xué)習(xí)的火焰煙霧檢測(cè),深度學(xué)習(xí),圖像處理,目標(biāo)檢測(cè),深度學(xué)習(xí),目標(biāo)檢測(cè),python

一、安裝YoloV8

yolov8官方文檔:主頁(yè) - Ultralytics YOLOv8 文檔

安裝部分參考:官方安裝教程

二、數(shù)據(jù)集準(zhǔn)備

火災(zāi)煙霧檢測(cè)數(shù)據(jù)集,檢測(cè)2種:火焰和煙霧。訓(xùn)練集總共6007張圖,驗(yàn)證集667張圖(部分?jǐn)?shù)據(jù)集圖片損壞,yolov8會(huì)自動(dòng)剔除損壞的圖片)。

示例圖片如下:

基于深度學(xué)習(xí)的火焰煙霧檢測(cè),深度學(xué)習(xí),圖像處理,目標(biāo)檢測(cè),深度學(xué)習(xí),目標(biāo)檢測(cè),python

本文提供轉(zhuǎn)換好的yolov8格式數(shù)據(jù)集,可以直接放入yolov8中訓(xùn)練,數(shù)據(jù)集地址:火災(zāi)、煙霧檢測(cè)yolov8數(shù)據(jù)集

三、模型訓(xùn)練

1、數(shù)據(jù)集配置文件

在ultralytics/ultralytics/cfg/datasets目錄下添加fire_smoke.yaml,添加以下內(nèi)容(path修改為自己的路徑):

# Ultralytics YOLO ??, AGPL-3.0 license
# COCO 2017 dataset http://cocodataset.org by Microsoft
# Example usage: yolo train data=coco.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco  ← downloads here (20.1 GB)


# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: datasets/fire_smoke/fire_smoke-yolov8  # 替換為自己的數(shù)據(jù)集路徑
train: images/train 
val: images/val 
test: images/val  

# Classes
names:
  # 0: normal
  0: fire
  1: smoke


2、修改模型配置文件

在ultralytics/ultralytics/cfg/models/v8目錄下添加yolov8n_fire_smoke.yaml,添加以下內(nèi)容:

# Ultralytics YOLO ??, AGPL-3.0 license
# YOLOv8 object detection model with P3-P5 outputs. For Usage examples see https://docs.ultralytics.com/tasks/detect

# Parameters
nc: 2  # number of classes
scales: # model compound scaling constants, i.e. 'model=yolov8n.yaml' will call yolov8.yaml with scale 'n'
  # [depth, width, max_channels]
  n: [0.33, 0.25, 1024]  # YOLOv8n summary: 225 layers,  3157200 parameters,  3157184 gradients,   8.9 GFLOPs
  s: [0.33, 0.50, 1024]  # YOLOv8s summary: 225 layers, 11166560 parameters, 11166544 gradients,  28.8 GFLOPs
  m: [0.67, 0.75, 768]   # YOLOv8m summary: 295 layers, 25902640 parameters, 25902624 gradients,  79.3 GFLOPs
  l: [1.00, 1.00, 512]   # YOLOv8l summary: 365 layers, 43691520 parameters, 43691504 gradients, 165.7 GFLOPs
  x: [1.00, 1.25, 512]   # YOLOv8x summary: 365 layers, 68229648 parameters, 68229632 gradients, 258.5 GFLOPs

# YOLOv8.0n backbone
backbone:
  # [from, repeats, module, args]
  - [-1, 1, Conv, [64, 3, 2]]  # 0-P1/2
  - [-1, 1, Conv, [128, 3, 2]]  # 1-P2/4
  - [-1, 3, C2f, [128, True]]
  - [-1, 1, Conv, [256, 3, 2]]  # 3-P3/8
  - [-1, 6, C2f, [256, True]]
  - [-1, 1, Conv, [512, 3, 2]]  # 5-P4/16
  - [-1, 6, C2f, [512, True]]
  - [-1, 1, Conv, [1024, 3, 2]]  # 7-P5/32
  - [-1, 3, C2f, [1024, True]]
  - [-1, 1, SPPF, [1024, 5]]  # 9

# YOLOv8.0n head
head:
  - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
  - [[-1, 6], 1, Concat, [1]]  # cat backbone P4
  - [-1, 3, C2f, [512]]  # 12

  - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
  - [[-1, 4], 1, Concat, [1]]  # cat backbone P3
  - [-1, 3, C2f, [256]]  # 15 (P3/8-small)

  - [-1, 1, Conv, [256, 3, 2]]
  - [[-1, 12], 1, Concat, [1]]  # cat head P4
  - [-1, 3, C2f, [512]]  # 18 (P4/16-medium)

  - [-1, 1, Conv, [512, 3, 2]]
  - [[-1, 9], 1, Concat, [1]]  # cat head P5
  - [-1, 3, C2f, [1024]]  # 21 (P5/32-large)

  - [[15, 18, 21], 1, Detect, [nc]]  # Detect(P3, P4, P5)
3、訓(xùn)練模型

使用如下命令訓(xùn)練模型,相關(guān)路徑更改為自己的路徑,建議絕對(duì)路徑:

yolo detect train project=deploy name=yolov8_fire_smoke exist_ok=True optimizer=auto val=True amp=True epochs=100  imgsz=640 model=ultralytics/ultralytics/cfg/models/v8/yolov8_fire_smoke.yaml  data=ultralytics/ultralytics/cfg/datasets/fire_smoke.yaml
4、驗(yàn)證模型

使用如下命令驗(yàn)證模型,相關(guān)路徑根據(jù)需要修改:

yolo detect val imgsz=640 model=deploy/yolov8_fire_smoke/weights/best.pt data=ultralytics/ultralytics/cfg/datasets/fire_smoke.yaml

精度如下圖:

基于深度學(xué)習(xí)的火焰煙霧檢測(cè),深度學(xué)習(xí),圖像處理,目標(biāo)檢測(cè),深度學(xué)習(xí),目標(biāo)檢測(cè),python

四、推理

訓(xùn)練好了模型,可以使用如下代碼實(shí)現(xiàn)推理,將權(quán)重放到同級(jí)目錄:

from PIL import Image
from ultralytics import YOLO

# 加載預(yù)訓(xùn)練的YOLOv8n模型
model = YOLO('best.pt')

# 在'bus.jpg'上運(yùn)行推理
image_path = 'fire_000137.jpg'
results = model(image_path)  # 結(jié)果列表

# 展示結(jié)果
for r in results:
    im_array = r.plot()  # 繪制包含預(yù)測(cè)結(jié)果的BGR numpy數(shù)組
    im = Image.fromarray(im_array[..., ::-1])  # RGB PIL圖像
    im.show()  # 顯示圖像
    im.save('results.jpg')  # 保存圖像

本教程訓(xùn)練好的權(quán)重連接:yolov8訓(xùn)練好的火災(zāi)煙霧檢測(cè)權(quán)重

五、界面開(kāi)發(fā)

界面開(kāi)發(fā)如下圖:

基于深度學(xué)習(xí)的火焰煙霧檢測(cè),深度學(xué)習(xí),圖像處理,目標(biāo)檢測(cè),深度學(xué)習(xí),目標(biāo)檢測(cè),python

本文提供完整的火災(zāi)煙霧檢測(cè)系統(tǒng)代碼,基于python實(shí)現(xiàn):基于yolov8的火災(zāi)檢測(cè)系統(tǒng),包含訓(xùn)練好的權(quán)重和推理代碼,GUI界面,支持圖片、視頻、攝像頭輸入,支持檢測(cè)結(jié)果導(dǎo)出文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-849790.html

到了這里,關(guān)于【深度學(xué)習(xí)目標(biāo)檢測(cè)】七、基于深度學(xué)習(xí)的火災(zāi)煙霧識(shí)別(python,目標(biāo)檢測(cè),yolov8)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包