最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

YOLOv8目標(biāo)檢測算法

2023-08-13 21:17 作者:Bestsongc  | 我要投稿

YOLOv8目標(biāo)檢測算法相較于前幾代YOLO系列算法具有如下的幾點優(yōu)勢:

  • 更友好的安裝/運行方式

  • 速度更快、準(zhǔn)確率更高

  • 新的backbone,將YOLOv5中的C3更換為C2F

  • YOLO系列第一次嘗試使用anchor-free

  • 新的損失函數(shù)

YOLOv8簡介

YOLOv8 是 Ultralytics 公司?YOLOv5?算法之后開發(fā)的下一代算法模型,目前支持圖像分類、物體檢測和實例分割任務(wù)。YOLOv8 是一個 SOTA 模型,它建立在之前YOLO?系列模型的成功基礎(chǔ)上,并引入了新的功能和改進(jìn),以進(jìn)一步提升性能和靈活性。具體創(chuàng)新包括一個新的骨干網(wǎng)絡(luò)、一個新的 Ancher-Free 檢測頭和一個新的損失函數(shù),可以在從 CPU 到 GPU 的各種硬件平臺上運行。注意到ultralytics 并沒有直接將開源庫命名為 YOLOv8,而是直接使用 Ultralytics這個單詞,原因是Ultralytics這個庫定位算法框架,而非特指某一個特定算法,其希望這個庫不僅僅能夠用于 YOLO 系列模型,同時也能支持其他的視覺任務(wù)如圖像分類、實例分割等。下圖畫圖YOLOv8目標(biāo)檢測算法同其他YOLO系列算法(YOLOv5、6、7)的實驗對比圖,左邊是模型參數(shù)量對比,右邊是速度對比。

面兩個分別是YOLOv8和YOLOv5(v7.0版本)官方在 COCO Val 2017 數(shù)據(jù)集上測試結(jié)果,從中看出 YOLOv8 相比 YOLOv5 精度提升,但是 N/S/M 模型相應(yīng)的參數(shù)量、FLOPS等提高了不少。


YOLOv8概述

l?提供了一個全新的SOTA模型,和YOLOv5一樣,基于縮放系數(shù)也提供了 N/S/M/L/X 尺度的不同大小模型,用于滿足不同場景需求,同時支持圖像分類、目標(biāo)檢測、實例分割和姿態(tài)檢測任務(wù)

  • 骨干網(wǎng)絡(luò)和Neck部分將YOLOv5的C3結(jié)構(gòu)換成了梯度流更豐富的 C2f 結(jié)構(gòu),并對不同尺度模型調(diào)整了不同的通道數(shù),大幅提升了模型性能;需要注意的是C2f 模塊中存在Split等操作對特定硬件部署沒有之前那么友好

  • Head部分換成了目前主流的解耦頭結(jié)構(gòu),將分類和檢測頭分離,同時也從 Anchor-Based換成了Anchor-Free

  • Loss 計算方面采用了 TaskAlignedAssigner 正樣本分配策略,并引入了 Distribution Focal Loss

?下圖畫出YOLOv8目標(biāo)檢測算法的整體結(jié)構(gòu)圖,原圖從mmyolo倉庫(https://github.com/open-mmlab/mmyolo/blob/dev/configs/yolov8/README.md)獲取


YOLOv8模型

YOLOv8目標(biāo)檢測算法的模型配置文件如下:

從配置文件可以看出,YOLOv8與YOLOv5模型最明顯的差異是使用C2F模塊替換了原來的C3模塊,兩個模塊的結(jié)構(gòu)圖(原圖:https://mmyolo.readthedocs.io/zh_CN/latest/recommended_topics/algorithm_descriptions/yolov8_description.html)下圖所示。

另外Head 部分變化最大,從原先的耦合頭變成了解耦頭,并且從 YOLOv5 的 Anchor-Based 變成了 Anchor-Free。其結(jié)構(gòu)對比圖(原圖:https://mmyolo.readthedocs.io/zh_CN/latest/recommended_topics/algorithm_descriptions/yolov8_description.html)如下所示:


當(dāng)然YOLOv8相較于之前YOLO系列算法還有其他的改變,具體參考官方源碼庫(https://github.com/ultralytics/ultralytics)和mmyolo庫(https://mmyolo.readthedocs.io/zh_CN/latest/recommended_topics/algorithm_descriptions/yolov8_description.html)

YOLOv8安裝

(1)直接安裝: pip install ultralytics

(2)下載倉庫安裝:git clone https://github.com/ultralytics/ultralytics

cd ultralytics

pip install -e .

YOLOv8訓(xùn)練

yolov8的訓(xùn)練采用命令行的模型(當(dāng)然也可以使用api調(diào)用的方式),下面是yolov8官方給定的訓(xùn)練方式:

一個簡單的單卡模型訓(xùn)練命令如下:

一個簡單的多卡模型訓(xùn)練命令如下:

當(dāng)然更多的參數(shù)在訓(xùn)練時可以被指定,這些參數(shù)包括如下:

YOLOv8驗證

yolov8的驗證采用命令行的模型(當(dāng)然也可以使用api調(diào)用的方式),下面是yolov8官方給定的驗證方式:

?

YOLOv8推理測試

yolov8的推理測試采用api調(diào)用的方式,下面是yolov8官方給定的測試方式:

?YOLOv8推理可為各種任務(wù)生成預(yù)測結(jié)果,可返回一個結(jié)果對象列表或一個節(jié)省內(nèi)存的結(jié)果對象生成器在使用流模式時,即在model中設(shè)置stream=True

YOLOv8可以處理不同類型的輸入源(如下表所示)進(jìn)行推理,輸入源包括靜態(tài)圖像、視頻流和各種數(shù)據(jù)格式。表中還顯示了參數(shù) stream=True表示可以在流模式下使用這個源。流模式有利于處理視頻或?qū)崟r流,因為它會創(chuàng)建一個結(jié)果生成器,而不是將所有幀加載到內(nèi)存中。(在處理長視頻或大型數(shù)據(jù)集時,使用 stream=True 可以有效管理內(nèi)存。當(dāng) stream=False 時,所有幀或數(shù)據(jù)點的結(jié)果都會存儲在內(nèi)存中,這可能會迅速增加數(shù)據(jù)量,最終導(dǎo)致內(nèi)存不足錯誤。相比之下,stream=True利用生成器,只將當(dāng)前幀或數(shù)據(jù)點的結(jié)果保存在內(nèi)存中,從而大大減少了內(nèi)存消耗,防止出現(xiàn)內(nèi)存不足問題)

model.predict()接受多個參數(shù),可在推理時通過下面的這些參數(shù)覆蓋默認(rèn)值

更多的信息如圖像格式、視頻格式、檢測結(jié)果格式等信息請參考官網(wǎng):https://docs.ultralytics.com/modes/predict/#working-with-results

YOLOv8導(dǎo)出

yolov8模型的導(dǎo)出采用命令行的模型(當(dāng)然也可以使用api調(diào)用的方式),下面是yolov8官方給定的模型導(dǎo)出方式:

可用的YOLOv8模型的導(dǎo)出格式如下表所示,您可以使用format參數(shù)導(dǎo)出任何格式,例如format='onnx' 或 format='engine'


?

?

?

?



YOLOv8目標(biāo)檢測算法的評論 (共 條)

分享到微博請遵守國家法律
黄梅县| 新安县| 濮阳市| 万年县| 克拉玛依市| 濉溪县| 鲁甸县| 环江| 乐昌市| 台湾省| 延庆县| 巴林左旗| 昔阳县| 托克托县| 阿瓦提县| 白城市| 禄丰县| 清原| 云和县| 彰武县| 遵义县| 商南县| 富川| 郑州市| 崇信县| 松溪县| 玛纳斯县| 墨玉县| 宝兴县| 深圳市| 莱阳市| 建瓯市| 涟水县| 枣强县| 龙山县| 普兰店市| 保康县| 东辽县| 宜春市| 元江| 宁乡县|