偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

檢測(cè)路在何方?YOLOv8終極指南

人工智能 智能汽車(chē)
文章深入探討了YOLOv8在計(jì)算機(jī)視覺(jué)領(lǐng)域的重要性,將其與其他類(lèi)似模型在準(zhǔn)確性方面進(jìn)行比較,并討論YOLOv8 GitHub倉(cāng)庫(kù)的最新變化。

本文經(jīng)自動(dòng)駕駛之心公眾號(hào)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)聯(lián)系出處。

YOLOv8是計(jì)算機(jī)視覺(jué)領(lǐng)域的最新發(fā)展,它是一種用于目標(biāo)檢測(cè)、實(shí)例分割和分類(lèi)的最新先進(jìn)模型。除了對(duì)模型架構(gòu)本身的改進(jìn)之外,YOLOv8通過(guò)一個(gè)用于使用YOLO模型的PIP包為開(kāi)發(fā)者提供了一個(gè)新的友好界面。

在這篇文章中,我們將深入探討YOLOv8在計(jì)算機(jī)視覺(jué)領(lǐng)域的重要性,將其與其他類(lèi)似模型在準(zhǔn)確性方面進(jìn)行比較,并討論YOLOv8 GitHub倉(cāng)庫(kù)的最新變化。

本文來(lái)源:https://blog.roboflow.com/whats-new-in-yolov8/

為適合中文閱讀習(xí)慣,閱讀更有代入感,原文翻譯后有刪改。您也可以查看原文。

1. YOLOv8是什么?

YOLOv8是最新的YOLO模型,可用于目標(biāo)檢測(cè)、圖像分類(lèi)實(shí)例分割任務(wù)。YOLOv8由Ultralytics開(kāi)發(fā),該公司還創(chuàng)建了具有影響力和產(chǎn)業(yè)定義性的YOLOv5模型。與YOLOv5相比,YOLOv8包含許多架構(gòu)和開(kāi)發(fā)者體驗(yàn)的改變和改進(jìn)。

截至本文寫(xiě)作時(shí),YOLOv8仍在積極開(kāi)發(fā)中,Ultralytics正在開(kāi)發(fā)新功能并響應(yīng)社區(qū)的反饋。確實(shí),當(dāng)Ultralytics發(fā)布一個(gè)模型時(shí),它會(huì)得到長(zhǎng)期的支持:該組織與社區(qū)合作,使模型達(dá)到最佳狀態(tài)。

2. YOLO是如何發(fā)展成為YOLOv8的?

YOLO(You Only Look Once)系列模型在計(jì)算機(jī)視覺(jué)領(lǐng)域變得非常有名。YOLO之所以著名,是因?yàn)樗诒3中⌒湍P统叽绲耐瑫r(shí)具有相當(dāng)高的準(zhǔn)確性。YOLO模型可以在單個(gè)GPU上進(jìn)行訓(xùn)練,這使其適用于廣泛的開(kāi)發(fā)者。機(jī)器學(xué)習(xí)從業(yè)者可以在邊緣硬件中以低成本部署它。

自2015年Joseph Redmond首次發(fā)布以來(lái),YOLO一直受到計(jì)算機(jī)視覺(jué)社區(qū)的關(guān)注。在早期版本(版本1-4)中,YOLO是在Redmond編寫(xiě)的稱(chēng)為Darknet的自定義深度學(xué)習(xí)框架中以C代碼維護(hù)的。

YOLOv8作者Glenn Jocher在Ultralytics工作,他在PyTorch(來(lái)自Facebook的深度學(xué)習(xí)框架)中追隨了YOLOv3倉(cāng)庫(kù)。隨著影子倉(cāng)庫(kù)中訓(xùn)練的改進(jìn),Ultralytics最終推出了自己的模型:YOLOv5

由于其靈活的Pythonic結(jié)構(gòu),YOLOv5迅速成為世界上最先進(jìn)的倉(cāng)庫(kù)。這種結(jié)構(gòu)允許社區(qū)發(fā)明新的建模改進(jìn),并迅速通過(guò)具有類(lèi)似PyTorch方法的存儲(chǔ)庫(kù)分享它們。

除了強(qiáng)大的模型基礎(chǔ)之外,YOLOv5的維護(hù)人員一直致力于支持模型周?chē)慕】弟浖鷳B(tài)系統(tǒng)。隨著社區(qū)的需求,他們積極修復(fù)問(wèn)題并推動(dòng)存儲(chǔ)庫(kù)的能力。

在過(guò)去的兩年里,各種模型從YOLOv5 PyTorch存儲(chǔ)庫(kù)分支出來(lái),包括Scaled-YOLOv4、YOLOR和YOLOv7。其他模型也在世界各地以其基于PyTorch的實(shí)現(xiàn)而涌現(xiàn),如YOLOX和YOLOv6。在這過(guò)程中,每個(gè)YOLO模型都帶來(lái)了新的SOTA技術(shù),不斷推動(dòng)模型的準(zhǔn)確性和效率。

在過(guò)去的六個(gè)月中,Ultralytics一直在研究YOLO的最新SOTA版本,即YOLOv8。YOLOv8于2023年1月10日發(fā)布。

3. 我為什么要使用YOLOv8?

以下是考慮在下一個(gè)計(jì)算機(jī)視覺(jué)項(xiàng)目中使用YOLOv8的幾個(gè)主要原因:

  • YOLOv8在Microsoft COCO和Roboflow 100上測(cè)得的準(zhǔn)確性很高。
  • YOLOv8帶有許多開(kāi)發(fā)者便利功能,從易于使用的CLI到良好結(jié)構(gòu)化的Python包。
  • YOLO周?chē)幸粋€(gè)龐大的社區(qū),YOLOv8模型周?chē)纳鐓^(qū)也在不斷增長(zhǎng),這意味著計(jì)算機(jī)視覺(jué)領(lǐng)域的許多人可能在你需要指導(dǎo)時(shí)提供幫助。

YOLOv8在COCO上取得了強(qiáng)大的準(zhǔn)確性。例如,YOLOv8m模型(中型模型)在COCO上測(cè)得50.2%的mAP。在Roboflow 100上進(jìn)行評(píng)估時(shí),這是一個(gè)專(zhuān)門(mén)評(píng)估模型在各種特定任務(wù)領(lǐng)域的性能的數(shù)據(jù)集,YOLOv8比YOLOv5得分要好得多。本文后面提供了更多關(guān)于此的性能分析信息。

此外,YOLOv8中的開(kāi)發(fā)者便利功能也很顯著。與其他模型不同,其中任務(wù)分散在許多不同的Python文件中,您可以執(zhí)行這些文件,YOLOv8提供了一個(gè)CLI,使模型訓(xùn)練更加直觀。除此之外,它還提供了一個(gè)Python包,提供比先前模型更無(wú)縫的編碼體驗(yàn)。

在考慮使用模型時(shí),YOLO周?chē)纳鐓^(qū)是引人注目的。許多計(jì)算機(jī)視覺(jué)專(zhuān)家了解YOLO及其工作原理,有很多關(guān)于實(shí)際使用YOLO的在線指導(dǎo)。盡管YOLOv8在本文撰寫(xiě)時(shí)是新的,但已有許多在線指南可供參考。

以下是我們自己的學(xué)習(xí)資源,可幫助您深入了解YOLO:

  • 如何使用YOLOv8檢測(cè)對(duì)象
  • 如何在視頻上運(yùn)行YOLOv8檢測(cè)
  • YOLOv8模型概述(在Roboflow Models上)
  • 如何在自定義數(shù)據(jù)集上訓(xùn)練YOLOv8模型
  • 如何將YOLOv8模型部署到Raspberry Pi
  • 用于訓(xùn)練YOLOv8目標(biāo)檢測(cè)模型的Google Colab筆記本
  • 用于訓(xùn)練YOLOv8分類(lèi)模型的Google Colab筆記本
  • 用于訓(xùn)練YOLOv8分割模型的Google Colab筆記本
  • 使用YOLOv8和ByteTRACK跟蹤和計(jì)數(shù)車(chē)輛

讓我們深入探討YOLOv8的架構(gòu),以及它與先前YOLO模型的不同之處。

4. YOLOv8架構(gòu):深入解析

目前尚無(wú)YOLOv8的發(fā)表論文,因此我們?nèi)狈?duì)其創(chuàng)建過(guò)程中的研究方法和削減研究的直接了解。盡管如此,我們分析了存儲(chǔ)庫(kù)和有關(guān)該模型的信息,開(kāi)始記錄YOLOv8中的新特性。

如果你希望自行查看代碼,請(qǐng)查看YOLOv8存儲(chǔ)庫(kù),并查看此代碼差異以了解一些研究是如何進(jìn)行的。

這里我們提供了對(duì)影響深遠(yuǎn)的建模更新的快速摘要,然后我們將看一下模型的評(píng)估,這些評(píng)估已經(jīng)說(shuō)明了問(wèn)題。

由GitHub用戶(hù)RangeKing制作的以下圖片顯示了網(wǎng)絡(luò)架構(gòu)的詳細(xì)可視化。

YOLOv8 架構(gòu),GitHub 用戶(hù) RangeKing 制作的可視化作品

4.1 無(wú)錨檢測(cè)

YOLOv8是一種無(wú)錨模型。這意味著它直接預(yù)測(cè)對(duì)象的中心,而不是相對(duì)于已知錨框的偏移量。

在YOLO中錨框的可視化

錨框曾經(jīng)是早期YOLO模型中棘手的一部分,因?yàn)樗鼈兛赡艽砟繕?biāo)基準(zhǔn)框的分布,但不代表自定義數(shù)據(jù)集的分布。

圖片YOLOv5的檢測(cè)頭

無(wú)錨檢測(cè)減少了框預(yù)測(cè)的數(shù)量,從而加速了非最大抑制(NMS, Non-Maximum Suppression),這是一種復(fù)雜的后處理步驟,用于在推理后篩選候選檢測(cè)。

YOLOv8的檢測(cè)頭

4.1 新的卷積

干部的第一個(gè)6x6卷積3x3卷積替代,主要的構(gòu)建塊發(fā)生了變化,C2f替代了C3。該模塊在下圖中進(jìn)行了總結(jié),其中“f”是特征數(shù),“e”是擴(kuò)展率,CBS是由Conv、BatchNorm和SiLU組成的塊。

在C2f中,來(lái)自Bottleneck(這是兩個(gè)帶有殘差連接的3x3卷積的花哨名稱(chēng))的所有輸出都被串聯(lián)在一起。而在C3中,僅使用了最后一個(gè)Bottleneck的輸出。

新的YOLOv8 C2f模塊

Bottleneck與YOLOv5中的相同,但第一個(gè)卷積的核大小從1x1更改為3x3。從這些信息中,我們可以看到Y(jié)OLOv8開(kāi)始恢復(fù)到2015年定義的ResNet塊。

在neck中,特征直接串聯(lián)而不強(qiáng)制要求相同的通道維度。這減少了參數(shù)數(shù)量和張量的總體大小。

4.2 結(jié)束鑲嵌增強(qiáng)

深度學(xué)習(xí)研究往往側(cè)重于模型架構(gòu),但YOLOv5和YOLOv8的訓(xùn)練過(guò)程是它們成功的重要組成部分。

YOLOv8在在線訓(xùn)練期間對(duì)圖像進(jìn)行增強(qiáng)。在每個(gè)時(shí)代,模型看到了提供的圖像的稍微不同的變化。

其中一種增強(qiáng)稱(chēng)為鑲嵌增強(qiáng)。這涉及將四個(gè)圖像拼接在一起,迫使模型學(xué)習(xí)在新位置、部分遮擋和不同周?chē)袼氐膶?duì)象。

棋盤(pán)照片的馬賽克增強(qiáng)然而,經(jīng)驗(yàn)表明,如果在整個(gè)訓(xùn)練過(guò)程中執(zhí)行此增強(qiáng),性能會(huì)下降。因此,在最后十個(gè)訓(xùn)練時(shí)代中關(guān)閉它是有益的。

這種變化是YOLO建模在YOLOv5存儲(chǔ)庫(kù)和YOLOv8研究中隨著時(shí)間的推移所受到的慎重關(guān)注的典范。

5. YOLOv8準(zhǔn)確性改進(jìn)

YOLOv8的研究主要受到對(duì)COCO基準(zhǔn)的經(jīng)驗(yàn)性評(píng)估的推動(dòng)。隨著網(wǎng)絡(luò)和訓(xùn)練例程的每個(gè)部分的微調(diào),運(yùn)行新實(shí)驗(yàn)以驗(yàn)證這些變化對(duì)COCO建模的影響。

5.1 YOLOv8 COCO準(zhǔn)確性

COCO(上下文中的常見(jiàn)對(duì)象)是評(píng)估目標(biāo)檢測(cè)模型的行業(yè)標(biāo)準(zhǔn)基準(zhǔn)。在COCO上比較模型時(shí),我們看的是mAP值和推理速度的FPS測(cè)量。模型應(yīng)在相似的推理速度下進(jìn)行比較。

下圖顯示了使用Ultralytics團(tuán)隊(duì)收集并在YOLOv8 README中發(fā)布的數(shù)據(jù),YOLOv8在COCO上的準(zhǔn)確性:

YOLOv8 COCO評(píng)測(cè)

截至本文寫(xiě)作時(shí),YOLOv8在COCO上的準(zhǔn)確性在相似的推理延遲條件下是最先進(jìn)的。

5.2 RF100準(zhǔn)確性

在Roboflow,我們從Roboflow Universe中抽取了100個(gè)樣本數(shù)據(jù)集,這是一個(gè)擁有超過(guò)100,000個(gè)數(shù)據(jù)集的存儲(chǔ)庫(kù),用于評(píng)估模型對(duì)新領(lǐng)域的泛化能力。我們的基準(zhǔn)由Intel的支持下開(kāi)發(fā),是為計(jì)算機(jī)視覺(jué)從業(yè)者設(shè)計(jì)的基準(zhǔn),旨在更好地回答問(wèn)題:“這個(gè)模型在我的自定義數(shù)據(jù)集上表現(xiàn)如何?”

我們?cè)谖覀兊?code style="background-color: rgb(231, 243, 237); padding: 1px 3px; border-radius: 4px; overflow-wrap: break-word; text-indent: 0px; display: inline-block;">RF100基準(zhǔn)上評(píng)估了YOLOv8,與YOLOv5和YOLOv7一起,下圖顯示了每個(gè)模型的mAP@.50的箱線圖。

我們對(duì)每個(gè)模型的小版本進(jìn)行了100個(gè)時(shí)代的運(yùn)行,我們使用單個(gè)種子運(yùn)行了一次,因此由于梯度抽簽,請(qǐng)以謹(jǐn)慎的態(tài)度對(duì)待這個(gè)結(jié)果。

下圖的箱線圖告訴我們YOLOv8的異常值較少,而在Roboflow 100基準(zhǔn)上的mAP總體上更好。

YOLO 相對(duì)于 RF100 的 mAP@.50

下面的條形圖顯示了每個(gè)RF100類(lèi)別的平均mAP@.50。同樣,YOLOv8勝過(guò)所有先前的模型。

圖片YOLO 相對(duì)于 RF100 類(lèi)別的平均 mAP@.50

與YOLOv5評(píng)估相比,YOLOv8模型在每個(gè)數(shù)據(jù)集上產(chǎn)生了類(lèi)似的結(jié)果,或者顯著改善了結(jié)果。

6. YOLOv8存儲(chǔ)庫(kù)和PIP包

YOLOv8代碼存儲(chǔ)庫(kù)旨在成為社區(qū)使用和迭代模型的地方。由于我們知道該模型將持續(xù)改進(jìn),我們可以將初始YOLOv8模型結(jié)果作為基線,并期待隨著發(fā)布新的迷你版本而進(jìn)行的未來(lái)改進(jìn)。

我們希望的最好結(jié)果是研究人員開(kāi)始在Ultralytics存儲(chǔ)庫(kù)的基礎(chǔ)上開(kāi)發(fā)他們的網(wǎng)絡(luò)。在YOLOv5的分支中一直在進(jìn)行研究,但如果在一個(gè)地方制作模型并最終合并到主線中,將會(huì)更好。

6.1 YOLOv8存儲(chǔ)庫(kù)布局

YOLOv8模型使用與YOLOv5類(lèi)似的代碼,其中分類(lèi)、實(shí)例分割和目標(biāo)檢測(cè)任務(wù)類(lèi)型的支持采用相同的代碼例程。

模型仍然使用相同的YOLOv5 YAML格式初始化,并且數(shù)據(jù)集格式也保持不變。

6.2 YOLOv8 CLI

Ultralytics軟件包配備了一個(gè)CLI。這對(duì)許多YOLOv5用戶(hù)來(lái)說(shuō)是熟悉的,因?yàn)楹诵挠?xùn)練、檢測(cè)和導(dǎo)出交互也是通過(guò)CLI完成的。

yolo task=detect mode=val model={HOME}/runs/detect/train/weights/best.pt data={dataset.location}/data.yaml

你可以在task中傳遞 [detect, classify, segment],在mode中傳遞 [train, predict, val, export],模型可以是未初始化的.yaml文件,也可以是先前訓(xùn)練過(guò)的.pt文件。

6.3 YOLOv8 Python包

除了可用的CLI工具外,YOLOv8現(xiàn)在還作為一個(gè)PIP包進(jìn)行分發(fā)。這使得本地開(kāi)發(fā)稍顯困難,但解鎖了將YOLOv8融入你的Python代碼的所有可能性。

from ultralytics import YOLO  
  
# 加載模型  
model = YOLO("yolov8n.yaml")  # 從頭開(kāi)始構(gòu)建一個(gè)新模型  
model = YOLO("yolov8n.pt")  # 加載預(yù)訓(xùn)練模型(推薦用于訓(xùn)練)  
  
# 使用模型  
results = model.train(data="coco128.yaml", epochs=3)  # 訓(xùn)練模型  
results = model.val()  # 評(píng)估模型在驗(yàn)證集上的性能  
results = model("https://ultralytics.com/images/bus.jpg")  # 對(duì)圖像進(jìn)行預(yù)測(cè)  
success = YOLO("yolov8n.pt").export(format="onnx")  # 將模型導(dǎo)出為ONNX格式

7. YOLOv8注釋格式

YOLOv8使用YOLOv5 PyTorch TXT注釋格式,這是Darknet注釋格式的修改版本。

查看Roboflow Convert工具,了解如何轉(zhuǎn)換數(shù)據(jù)以在新的YOLOv8模型中使用。
https://roboflow.com/formats/yolov8-pytorch-txt?ref=blog.roboflow.com

8. YOLOv8標(biāo)注工具

YOLOv8的創(chuàng)建者和維護(hù)者Ultralytics已經(jīng)與Roboflow合作,成為YOLOv8項(xiàng)目中建議的標(biāo)注和導(dǎo)出工具。使用Roboflow,我們可以為YOLOv8支持的所有任務(wù)(目標(biāo)檢測(cè)、分類(lèi)和分割)標(biāo)注數(shù)據(jù),并導(dǎo)出數(shù)據(jù)以便在YOLOv8 CLI或Python包中使用。

9. 開(kāi)始使用YOLOv8

要開(kāi)始將YOLOv8應(yīng)用于我們自己的用例,請(qǐng)查看我們關(guān)于如何在自定義數(shù)據(jù)集上訓(xùn)練YOLOv8的指南。

要了解其他人如何使用YOLOv8,請(qǐng)?jiān)赗oboflow Universe上瀏覽其他YOLOv8模型、數(shù)據(jù)集和靈感。

對(duì)于將模型投入生產(chǎn)并使用主動(dòng)學(xué)習(xí)策略不斷更新模型的從業(yè)者,我們添加了一個(gè)路徑,可以部署YOLOv8模型,將其用于我們的推理引擎,并用于數(shù)據(jù)集的標(biāo)簽輔助?;蛘?,可以使用Roboflow Inference在設(shè)備上部署YOLOv8,這是一個(gè)開(kāi)源推理服務(wù)器。

責(zé)任編輯:張燕妮 來(lái)源: 自動(dòng)駕駛之心
相關(guān)推薦

2013-03-14 08:52:19

SDN軟件定義網(wǎng)絡(luò)ONF

2010-03-03 09:38:05

JavaFX

2012-06-14 10:04:39

2024-07-22 13:49:38

YOLOv8目標(biāo)檢測(cè)開(kāi)發(fā)

2010-07-27 09:24:21

2014-08-15 13:57:56

2019-08-07 07:19:30

2024-11-18 17:31:27

2009-06-24 15:45:32

VB.NET

2020-02-25 20:40:26

高等院校二本就業(yè)

2024-07-11 08:25:34

2012-07-05 10:08:17

后PC微軟云計(jì)算

2021-05-18 14:51:05

5G5G網(wǎng)絡(luò)5G終端

2015-02-05 14:04:41

2020-03-11 20:29:26

網(wǎng)絡(luò)安全IT漏洞

2009-03-19 10:37:07

技術(shù)IT人職業(yè)發(fā)展

2018-12-26 07:46:01

2013-06-24 14:55:30

HTML5

2017-03-01 20:31:35

程序員

2015-06-19 15:53:53

BAT商業(yè)WiFi
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)