0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

目標(biāo)檢測(cè)YOLO系列算法的發(fā)展過程

新機(jī)器視覺 ? 來源:DeepHub IMBA ? 作者:Dr. Abduljabbar Asadi ? 2022-10-27 17:45 ? 次閱讀

本文中將簡(jiǎn)單總結(jié)YOLO的發(fā)展歷史,YOLO是計(jì)算機(jī)視覺領(lǐng)域中著名的模型之一,與其他的分類方法,例如R-CNN不同,R-CNN將檢測(cè)結(jié)果分為兩部分求解:物體類別(分類問題),物體位置即bounding box(回歸問題)不同,YOLO將任務(wù)統(tǒng)一為一個(gè)回歸問題。也就是相對(duì)于R-CNN系列的“看兩眼”(候選框提取與分類),YOLO只需要 You Only Look Once。

目標(biāo)檢測(cè)

我們?nèi)祟愔恍枰匆谎蹐D像就能知道圖像里面包含了那些物體,能夠知道這些物體在哪里,以及他們之間的相互關(guān)系。這是人類進(jìn)行目標(biāo)檢測(cè)的過程,但是當(dāng)談到人工智能計(jì)算機(jī)視覺中的視頻和圖像分析時(shí),目標(biāo)檢測(cè)是一個(gè)有趣和不斷發(fā)展的主題,它從圖像和視頻中提供有意義和有價(jià)值的信息,可以為醫(yī)療保健、產(chǎn)品優(yōu)化、人臉識(shí)別、自動(dòng)駕駛,衛(wèi)星圖像分析等不同領(lǐng)域提供巨大的幫助。檢測(cè)一個(gè)對(duì)象并從圖像中獲得高層次的語義或理解將通過3個(gè)步驟:

eddf98b4-4286-11ed-96c9-dac502259ad0.png

1、分類:這是一個(gè)有監(jiān)督的學(xué)習(xí)任務(wù),它將訓(xùn)練一個(gè)模型,如支持向量機(jī)(SVM), AdaBoost來理解一個(gè)對(duì)象是否在圖像中

2、定位:通過邊界框來區(qū)分對(duì)象圖像,顯示對(duì)象是否在圖像中(分類)

3、檢測(cè):精確檢測(cè)物體所在的位置(物體定位)和它們所屬的組(物體分類)的過程。

下圖顯示了目標(biāo)檢測(cè)模型的結(jié)構(gòu)。像人工智能中的所有算法一樣,它從輸入層開始(輸入一個(gè)圖像),目標(biāo)檢測(cè)的兩個(gè)主要部分是Backbone和Head。Backbone的作用是提取特征,提供輸入的特征映射表示,一般都會(huì)使用ImageNet上的預(yù)訓(xùn)練模型。Head基于特征進(jìn)行訓(xùn)練,預(yù)測(cè)圖像中物體的類別及其邊界框。

在兩階段目標(biāo)檢測(cè)模型中, Faster R-CNN (Region-based Convolutional Neural Networks),使用區(qū)域建議網(wǎng)絡(luò)在第一階段和第二階段生成和選擇感興趣區(qū)域,并將區(qū)域建議向下發(fā)送并使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行目標(biāo)分類和邊界框回歸。兩階段檢測(cè)器模型具有最高的準(zhǔn)確率,但通常較慢,因?yàn)楸仨殞?duì)每個(gè)選定區(qū)域進(jìn)行預(yù)測(cè)。因此很難將其用作實(shí)時(shí)對(duì)象檢測(cè)器。

單階段目標(biāo)檢測(cè)器,本文的YOLO(You Only Look Once),通過創(chuàng)建輸入圖像的特征圖、學(xué)習(xí)類別概率和整個(gè)圖像的邊界框坐標(biāo),將目標(biāo)識(shí)別視為一個(gè)簡(jiǎn)單的回歸問題。算法只運(yùn)行一次。這樣的模型雖然準(zhǔn)確率稍微有所下降,但比兩階段目標(biāo)檢測(cè)器快得多,通常用于實(shí)時(shí)目標(biāo)檢測(cè)任務(wù)。

YOLO Version 1; 統(tǒng)一的實(shí)時(shí)目標(biāo)檢測(cè)框架

YOLO 是一個(gè)簡(jiǎn)單的且不復(fù)雜的對(duì)象檢測(cè)模型,它對(duì)圖片進(jìn)行分析只需要“看一眼”,就可以預(yù)測(cè)目標(biāo)對(duì)象及其在輸入圖片上的位置。該算法將目標(biāo)檢測(cè)定義為單個(gè)回歸問題。將每個(gè)給定的圖像劃分為一個(gè) S * S 網(wǎng)格系統(tǒng),該網(wǎng)格系統(tǒng)是圖像的子集或一部分,每個(gè)網(wǎng)格通過預(yù)測(cè)網(wǎng)格內(nèi)對(duì)象的邊界框數(shù)量來識(shí)別對(duì)象。

YOLO 執(zhí)行一個(gè)神經(jīng)卷積網(wǎng)絡(luò)來識(shí)別網(wǎng)格中的對(duì)象,預(yù)測(cè)對(duì)象周圍的邊界框以及它們屬于哪個(gè)類別的概率。概率被用作置信水平。卷積網(wǎng)絡(luò)的初始層從圖像中提取特征,全連接層預(yù)測(cè)概率。YOLO 工作流程如下圖所示:

ee0ceb5c-4286-11ed-96c9-dac502259ad0.png

為了識(shí)別圖像中的不同對(duì)象及其位置,使用多尺度滑動(dòng)窗口掃描整個(gè)圖像,因?yàn)閷?duì)象可以在圖像的每個(gè)部分以不同的大小顯示。提取滑動(dòng)窗口的最佳大小和數(shù)量是很重要的,而且這是計(jì)算密集型的因?yàn)椴煌瑪?shù)量的候選或不相關(guān)的候選會(huì)影響結(jié)果。通過這種方式Y(jié)OLO可以與傳統(tǒng)算法相媲美,并且速度更快。這些步驟的示例如下圖所示。

ee35c540-4286-11ed-96c9-dac502259ad0.png

YOLO V1的優(yōu)勢(shì):可以高速實(shí)時(shí)檢測(cè)物,能夠理解廣義對(duì)象表示,模型也不太復(fù)雜。

YOLO V1 的局限性:如果小對(duì)象以集群或組的形式出現(xiàn),則模型效果,例如下圖所示

ee93062e-4286-11ed-96c9-dac502259ad0.png

YOLO V1 訓(xùn)練是基于損失函數(shù)來展示檢測(cè)性能的,而損失函數(shù)沒有考慮窗口的大小,大框中的小錯(cuò)誤是顯而易見的,但其實(shí)小框中的錯(cuò)誤其實(shí)應(yīng)該更加被關(guān)注,因?yàn)樗麑?duì)交并比的影響更大,交并比是一種評(píng)估指標(biāo),用于衡量數(shù)據(jù)集上對(duì)象檢測(cè)器模型的準(zhǔn)確性 [6]。

YOLO Version 2;YOLO9000:更快,更好,更強(qiáng)

對(duì)象檢測(cè)模型應(yīng)該快速、準(zhǔn)確,并且可以識(shí)別各種對(duì)象類別?;谶@個(gè)想法YOLO V2 出現(xiàn)了,與 YOLO V1 相比,在速度、準(zhǔn)確性和檢測(cè)大量物體的能力方面有各種改進(jìn)。這個(gè)新版本訓(xùn)練了 9000 個(gè)新類別,所以被稱作 YOLO9000。它將不同的數(shù)據(jù)集 ImageNet 和 COCO 結(jié)合起來,以提供更大量的分類數(shù)據(jù),擴(kuò)大檢測(cè)模型的范圍,并提高召回率 。COCO 用于目標(biāo)檢測(cè),包含 80 個(gè)類別的 100,000 張圖像。

YOLO V2 結(jié)構(gòu)中使用Softmax 為每個(gè)邊界框提供客觀性分?jǐn)?shù)。Softmax為每一類多類分類任務(wù)分配一個(gè)在0到1之間的十進(jìn)制概率,在YOLO V2中,它也為圖像中的對(duì)象提供了多類分類的可能性。召回率則衡量正確檢測(cè)到真值對(duì)象的概率。YOLO V2 在分類和檢測(cè)數(shù)據(jù)集上聯(lián)合訓(xùn)練。該方法對(duì)圖像進(jìn)行標(biāo)記以進(jìn)行檢測(cè),識(shí)別邊界框和對(duì)常見對(duì)象進(jìn)行分類。還是用僅具有類標(biāo)簽的圖像用于擴(kuò)展算法可以檢測(cè)的類別。YOLO V2 中一個(gè)有趣的點(diǎn),除了試圖提供更好和準(zhǔn)確的結(jié)果外,還提供了一個(gè)比 YOLO V1 更簡(jiǎn)單的模型。

eece8820-4286-11ed-96c9-dac502259ad0.png

上表中看到,V2中增加了BN的操作。通過BN層對(duì)來自前一層的輸入執(zhí)行標(biāo)準(zhǔn)化和規(guī)范化,將輸入值縮放轉(zhuǎn)換。在Yolo V2中,Yolo V1的所有卷積層上添加BN,從而在Yolo V2中獲得2%以上的精度提升。BN還有助于穩(wěn)定訓(xùn)練,加速收斂,并在不過度擬合的情況下從模型中去除dropout。另一種提高準(zhǔn)確率的技術(shù)是使用更高分辨率的輸入,將輸入尺寸從224*224更改為448*448,這將提高4%的MAP(平均平均精度)。

YOLO Version 3;小改進(jìn),大提升

eef53cae-4286-11ed-96c9-dac502259ad0.png

在YOLO V3[9]中,只對(duì)YOLO的設(shè)計(jì)添加了一些更改,從而實(shí)現(xiàn)了更準(zhǔn)確、更好和更快的設(shè)計(jì)。在預(yù)測(cè)邊界的新結(jié)構(gòu)中,繼續(xù)使用V2的結(jié)構(gòu),但是增加了邏輯回歸用于預(yù)測(cè)每個(gè)邊界框的得分。當(dāng)一個(gè)邊界框在與真實(shí)對(duì)象重疊之預(yù)測(cè)結(jié)果比任何其他邊界框都多時(shí),預(yù)測(cè)結(jié)果就為 1。當(dāng)邊界框不是最佳但與真實(shí)對(duì)象重疊超過閾值時(shí),預(yù)測(cè)則被忽略,并且還引入了Faster R -CNN的方法,在 YOLO V3 中將優(yōu)先只考慮一個(gè)邊界框。

下圖顯示了YOLO V3 上的性能對(duì)比

ef3b0f22-4286-11ed-96c9-dac502259ad0.png

下圖則對(duì) YOLO v2 與 V3 的比較。很在 YOLO V3 中可以檢測(cè)到一些較小的對(duì)象,而 V2 無法檢測(cè)到。

ef58fe24-4286-11ed-96c9-dac502259ad0.png

除了準(zhǔn)確性和比較之外,Redmon 和 Farhadi 在他們的論文中提到的重要一點(diǎn)是道德和計(jì)算機(jī)視覺的使用。由于軍事研究小組非常關(guān)注這一領(lǐng)域,他們希望人們使用他們的新技術(shù)不是為了殺人,而是為了讓別人快樂,讓他們的生活更美好。這是論文中的原話:

we have a responsibility to at least consider the harm our work might be doing and think of ways to mitigate it. We owe the world that much.

這也是 Joseph Redmon 退出目標(biāo)檢測(cè)領(lǐng)域研究的原因,有興趣的可以去搜下他TED的演講。

YOLO Version 4;最佳速度和準(zhǔn)確性

目標(biāo)檢測(cè)研究的重點(diǎn)是改進(jìn)在該領(lǐng)域執(zhí)行的模型的速度。隨著時(shí)間的推移,YOLO 的應(yīng)用在全球范圍內(nèi)不斷增長(zhǎng),研究領(lǐng)域也增加了許多新的變化,在卷積神經(jīng)網(wǎng)絡(luò) (CNN) 中,一些想法可以提高模型的準(zhǔn)確性。YOLO V4 的主要目標(biāo)是開發(fā)一種速度更快的目標(biāo)檢測(cè)器,并且具有易于訓(xùn)練和使用的并行計(jì)算能力。通過添加和組合一些新功能,例如加權(quán)殘差連接 (WRC)、跨階段部分連接 (CSP)、跨小批量標(biāo)準(zhǔn)化 (CmBN)、自我對(duì)抗訓(xùn)練 (SAT)、Mish激活函數(shù)、Mosaic 數(shù)據(jù)增強(qiáng)、DropBlock 正則化和 CIoU 損失等等,在 YOLO V4中實(shí)現(xiàn)了更好更快的模型。YOLO V4 討論的一個(gè)重要主題是一個(gè)實(shí)時(shí)傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型,該模型只需要傳統(tǒng) GPU 進(jìn)行訓(xùn)練,從而為使用一般 GPU 的任何人提供訓(xùn)練、測(cè)試、實(shí)現(xiàn)實(shí)時(shí)、高質(zhì)量的可能性,以及令人信服的目標(biāo)檢測(cè)模型。

下面是 YOLO V4 。這個(gè)新版本速度更快,并且表現(xiàn)出可比的性能。

在 YOLO V4 中,Alexey Bochkovskiy 等人總結(jié)了他們的主要貢獻(xiàn):

開發(fā)了一個(gè)高效而強(qiáng)大的目標(biāo)檢測(cè)模型,這使得每個(gè)使用 1080 Ti 或 2080 Ti GPU 的人都可以訓(xùn)練和測(cè)試一個(gè)超快速、實(shí)時(shí)、準(zhǔn)確的目標(biāo)檢測(cè)模型。

他們?cè)谟?xùn)練期間驗(yàn)證了最先進(jìn)的 Bag-of-Freebies 和 Bag-of-Specials 檢測(cè)方法的影響。

修改了state-of-the-art的方法,包括(Cross-iteration batch normalization)、PAN(Path aggregation network)等,使它們更高效,更適合單GPU訓(xùn)練。

總結(jié)

如果你查看 YOLO 的結(jié)構(gòu)、源代碼和包,就會(huì)發(fā)現(xiàn)它們結(jié)構(gòu)良好、文檔齊全且免費(fèi)使用。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7525

    瀏覽量

    88356
  • 人工智能
    +關(guān)注

    關(guān)注

    1792

    文章

    47530

    瀏覽量

    239276

原文標(biāo)題:目標(biāo)檢測(cè)YOLO系列算法的進(jìn)化史

文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    采用華為云 Flexus 云服務(wù)器 X 實(shí)例部署 YOLOv3 算法完成目標(biāo)檢測(cè)

    一、前言 1.1 開發(fā)需求 這篇文章講解:?采用華為云最新推出的 Flexus 云服務(wù)器 X 實(shí)例部署 YOLOv3 算法,完成圖像分析、目標(biāo)檢測(cè)。 隨著計(jì)算機(jī)視覺技術(shù)的飛速發(fā)展,深度
    的頭像 發(fā)表于 01-02 12:00 ?94次閱讀
    采用華為云 Flexus 云服務(wù)器 X 實(shí)例部署 YOLOv3 <b class='flag-5'>算法</b>完成<b class='flag-5'>目標(biāo)</b><b class='flag-5'>檢測(cè)</b>

    AI模型部署邊緣設(shè)備的奇妙之旅:目標(biāo)檢測(cè)模型

    并非易事,它涉及到從選擇合適的算法架構(gòu)到針對(duì)特定硬件平臺(tái)進(jìn)行優(yōu)化等一系列復(fù)雜的工作。 接下來,我們將詳細(xì)介紹如何在資源受限的邊緣設(shè)備上成功部署目標(biāo)檢測(cè)模型,探索其背后的原理和技術(shù),并討
    發(fā)表于 12-19 14:33

    助力AIoT應(yīng)用:在米爾FPGA開發(fā)板上實(shí)現(xiàn)Tiny YOLO V4

    Only Look Once)是一種實(shí)時(shí)物體檢測(cè)模型,它通過一次性掃描整個(gè)圖像,實(shí)現(xiàn)高效的對(duì)象識(shí)別。而其簡(jiǎn)化版 Tiny YOLO V4 更適合嵌入式設(shè)備,具有較少的層數(shù)和參數(shù)。其輕量化特性更適合在資源
    發(fā)表于 12-06 17:18

    YOLOv10自定義目標(biāo)檢測(cè)之理論+實(shí)踐

    保持先進(jìn)性能的同時(shí),降低了計(jì)算需求。大量實(shí)驗(yàn)表明,YOLOv10 在各種模型規(guī)模上提供了更優(yōu)的準(zhǔn)確率-延遲權(quán)衡。 正如讀過我之前文章的朋友所知道的,我分享了使用 YOLO 模型的各種項(xiàng)目,因?yàn)樵陬A(yù)訓(xùn)練模型中,YOLO 模型在性能和效率方面明顯優(yōu)于其他模型。然而,實(shí)時(shí)
    的頭像 發(fā)表于 11-16 10:23 ?613次閱讀
    YOLOv10自定義<b class='flag-5'>目標(biāo)</b><b class='flag-5'>檢測(cè)</b>之理論+實(shí)踐

    《DNK210使用指南 -CanMV版 V1.0》第四十一章 YOLO2物體檢測(cè)實(shí)驗(yàn)

    第四十一章 YOLO2物體檢測(cè)實(shí)驗(yàn) 在上一章節(jié)中,介紹了利用maix.KPU模塊實(shí)現(xiàn)YOLO2的人手檢測(cè),本章將繼續(xù)介紹利用maix.KPU模塊實(shí)現(xiàn)
    發(fā)表于 11-14 09:22

    《DNK210使用指南 -CanMV版 V1.0》第四十章 YOLO2人手檢測(cè)實(shí)驗(yàn)

    第四十章 YOLO2人手檢測(cè)實(shí)驗(yàn) 在上一章節(jié)中,介紹了利用maix.KPU模塊實(shí)現(xiàn)YOLO2的人臉檢測(cè),本章將繼續(xù)介紹利用maix.KPU模塊實(shí)現(xiàn)Y
    發(fā)表于 11-14 09:20

    《DNK210使用指南 -CanMV版 V1.0》第三十九章 YOLO2人臉檢測(cè)實(shí)驗(yàn)

    第三十九章 YOLO2人臉檢測(cè)實(shí)驗(yàn) 從本章開始,將通過幾個(gè)實(shí)例介紹Kendryte K210上的KPU,以及CanMV下KPU的使用方法,本章將先介紹YOLO2網(wǎng)絡(luò)的人臉檢測(cè)應(yīng)用在Ca
    發(fā)表于 11-13 09:37

    使用OpenVINO C# API部署YOLO-World實(shí)現(xiàn)實(shí)時(shí)開放詞匯對(duì)象檢測(cè)

    YOLO-World是一個(gè)融合了實(shí)時(shí)目標(biāo)檢測(cè)與增強(qiáng)現(xiàn)實(shí)(AR)技術(shù)的創(chuàng)新平臺(tái),旨在將現(xiàn)實(shí)世界與數(shù)字世界無縫對(duì)接。該平臺(tái)以YOLO(You Only Look Once)
    的頭像 發(fā)表于 08-30 16:27 ?790次閱讀
    使用OpenVINO C# API部署<b class='flag-5'>YOLO</b>-World實(shí)現(xiàn)實(shí)時(shí)開放詞匯對(duì)象<b class='flag-5'>檢測(cè)</b>

    目標(biāo)檢測(cè)與識(shí)別技術(shù)有哪些

    目標(biāo)檢測(cè)與識(shí)別技術(shù)是計(jì)算機(jī)視覺領(lǐng)域的重要研究方向,廣泛應(yīng)用于安全監(jiān)控、自動(dòng)駕駛、醫(yī)療診斷、工業(yè)自動(dòng)化等領(lǐng)域。 目標(biāo)檢測(cè)與識(shí)別技術(shù)的基本概念 目標(biāo)
    的頭像 發(fā)表于 07-17 09:40 ?674次閱讀

    目標(biāo)檢測(cè)與識(shí)別技術(shù)的關(guān)系是什么

    目標(biāo)檢測(cè)與識(shí)別技術(shù)是計(jì)算機(jī)視覺領(lǐng)域的兩個(gè)重要研究方向,它們之間存在著密切的聯(lián)系和相互依賴的關(guān)系。 一、目標(biāo)檢測(cè)與識(shí)別技術(shù)的概念 目標(biāo)
    的頭像 發(fā)表于 07-17 09:38 ?734次閱讀

    慧視小目標(biāo)識(shí)別算法 解決目標(biāo)檢測(cè)中的老大難問題

    隨著深度學(xué)習(xí)和人工智能技術(shù)的興起與技術(shù)成熟,一大批如FasterR-CNN、RetinaNet、YOLO等可以在工業(yè)界使用的目標(biāo)檢測(cè)算法已逐步成熟并進(jìn)入實(shí)際應(yīng)用,大多數(shù)場(chǎng)景下的目標(biāo)
    的頭像 發(fā)表于 07-17 08:29 ?542次閱讀
    慧視小<b class='flag-5'>目標(biāo)</b>識(shí)別<b class='flag-5'>算法</b>   解決<b class='flag-5'>目標(biāo)</b><b class='flag-5'>檢測(cè)</b>中的老大難問題

    基于深度學(xué)習(xí)的小目標(biāo)檢測(cè)

    在計(jì)算機(jī)視覺領(lǐng)域,目標(biāo)檢測(cè)一直是研究的熱點(diǎn)和難點(diǎn)之一。特別是在小目標(biāo)檢測(cè)方面,由于小目標(biāo)在圖像中所占比例小、特征不明顯,使得
    的頭像 發(fā)表于 07-04 17:25 ?991次閱讀

    安全帽佩戴檢測(cè)算法

    安全帽佩戴監(jiān)控是鐵路工程施工人員安全管理中的重點(diǎn)和難點(diǎn),它對(duì)檢測(cè)算法的準(zhǔn)確 率與檢測(cè)速度都有較高的要求。本文提出一種基于神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索的安全帽佩戴檢測(cè)算法 NAS-YOLO。該神經(jīng)網(wǎng)
    的頭像 發(fā)表于 06-26 22:22 ?427次閱讀
    安全帽佩戴<b class='flag-5'>檢測(cè)算法</b>

    OpenVINO? C# API部署YOLOv9目標(biāo)檢測(cè)和實(shí)例分割模型

    YOLOv9模型是YOLO系列實(shí)時(shí)目標(biāo)檢測(cè)算法中的最新版本,代表著該系列在準(zhǔn)確性、速度和效率方面的又一次重大飛躍。
    的頭像 發(fā)表于 04-03 17:35 ?928次閱讀
    OpenVINO? C# API部署YOLOv9<b class='flag-5'>目標(biāo)</b><b class='flag-5'>檢測(cè)</b>和實(shí)例分割模型

    縱觀全局:YOLO助力實(shí)時(shí)物體檢測(cè)原理及代碼

    YOLO 流程的最后一步是將邊界框預(yù)測(cè)與類別概率相結(jié)合,以提供完整的檢測(cè)輸出。每個(gè)邊界框的置信度分?jǐn)?shù)由類別概率調(diào)整,確保檢測(cè)既反映邊界框的準(zhǔn)確性,又反映模型對(duì)對(duì)象類別的置信度。
    的頭像 發(fā)表于 03-30 14:43 ?2541次閱讀