在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

?YOLO系列的演進,從v1到v7

新機器視覺 ? 來源:AI公園 ? 2023-03-22 10:42 ? 次閱讀

導讀

經典再回顧,本文介紹v1到v3。

a750809a-c858-11ed-bfe3-dac502259ad0.png

如果你需要速度快的目標檢測器,那么 YOLO 系列的神經網絡模型實際上是當今的標準。

解決檢測問題還有很多其他優秀的模型,但我們不會在這篇綜述中涉及它們。

目前,已經寫了相當多的文章來分析 YOLO 各個版本的功能。本文的目的是對整個家族進行比較分析。我們想看看架構的演變,這樣我們就可以更好地了解檢測器是如何發展,哪些發展提高了性能,也許還可以想象事情的發展方向。

在YOLO出現之前,檢測圖像中目標的主要方法是使用各種大小的滑動窗口按順序穿過原始圖像的各個部分,以便分類器給出圖像的哪個部分包含哪個目標。這種方法是合乎邏輯的,但非常慢。

一段時間之后,出現了一個特殊的部分,它暴露了感興趣的區域 —— 一些假設,圖像上可能有有趣的東西。但是這些感興趣區域還是太多,有數千個。最快的算法,Faster R-CNN,平均在0.2秒內處理一張圖片,每秒5幀??偟膩碚f,在出現一種全新的方法之前,速度不容樂觀。

有什么新奇之處?

在以前的方法中,原始圖像的每個像素可以被神經網絡處理數百甚至數千次。每次這些像素都通過相同的神經網絡傳遞,經過相同的計算。是否可以做一些事情以免重復相同的計算?

事實證明,這是可能的。但為此,我們不得不稍微重新表述問題。如果說以前它是一個分類任務,那么現在它變成了一個回歸任務。

YOLO aka YOLOv1

讓我們考慮第一個 YOLO 模型,也稱為 YOLOv1。

作者

Joseph Redmon, Santosh Divvala, Ross Girshick, Ali Farhadi

主要論文

“You Only Look Once: Unified, Real-Time Object Detection”, publication date 2015/06

代碼庫

除了基于darknet框架的官方實現之外,在其他通用框架上還有大量各種流行的實現。

  1. https://pjreddie.com/darknet/yolov1/
  2. https://github.com/thtrieu/darkflow, 2.1k forks / 6k stars, GPL-3.0 license
  3. https://github.com/gliese581gg/YOLO_tensorflow, 670 forks / 1.7k stars, non-commercial license
  4. https://github.com/hizhangp/yolo_tensorflow, 455 forks / 784 stars
  5. https://github.com/nilboy/tensorflow-yolo, 331 forks / 780 stars
  6. https://github.com/abeardear/pytorch-YOLO-v1, 214 forks / 473 stars, MIT license
  7. https://github.com/dshahrokhian/YOLO_tensorflow, 22 forks / 42 stars

性能比較

a763ae7c-c858-11ed-bfe3-dac502259ad0.png

Pascal VOC 2007上的實時系統。YOLO是有記錄以來最快的Pascal VOC檢測檢測器,其準確性仍然是任何其他實時檢測器的兩倍。

結構

a78eb46e-c858-11ed-bfe3-dac502259ad0.png

在結構上,YOLO 模型由以下部分組成:

  1. input ― 輸入圖像被饋送到的輸入層
  2. backbone — 輸入圖像以特征形式編碼的部分。
  3. neck — 這是模型的其他部分,用于處理按特征編碼的圖像
  4. head — 生成模型預測的一個或多個輸出層。

網絡的第一個版本基于GoogLeNet的架構。卷積層接MaxPool層級聯,最后以兩個全連接層的級聯作為結束。

此外,作者訓練了Fast YOLO架構的更快版本,包含更少的卷積層(9而不是24)。兩個模型的輸入分辨率均為 448x448,但網絡主要部分的預訓練通過分辨率為 224x224 的分類器訓練。

在此結構中,原始圖片被劃分為 S x S 單元格(在原始 7 x 7 中),每個單元格預測 B 個邊界框,這些 bbox 中存在目標的置信度,以及 C 類的概率。每條邊的單元格數是奇數,因此圖像的中心有一個單元格。這比偶數具有優勢,因為照片的中心通常有一個主要目標,在這種情況下,主要的預測是在中心單元格中進行的。在區域數量為偶數的情況下,中心可能位于四個中央區域中的某個位置,這降低了網絡的置信水平。

置信度值表示模型對給定 bbox 包含某個目標的置信度,以及 bbox 預測其位置的準確度。事實上,這是IoU存在物體概率的乘積。如果單元格中沒有目標,則置信度為零。

每個 bbox 由 5 個數字組成:x、y、w、h 和置信度。(x, y)為單元格內 bbox 中心的坐標,w 和 h為 bbox相對于整個圖片尺寸的歸一化的寬度和高度,即歸一化從 0 到 1 的值。置信度是預測的 bbox 和GT框之間的 IoU。每個單元格還預測目標類的 C 個條件概率。每個單元格僅預測一組類別,而不考慮 bbox的數量。

因此,在一次前向中,預測了 S×S×B個包圍框。他們中的大多數框的置信度都很低,但是,通過設置一定的閾值,我們可以去除其中的很大一部分。但最重要的是,(與競爭對手相比)檢測率提高了幾個數量級。這是非常合乎邏輯的,因為所有類別的所有 bbox 現在只需一次預測。對于不同的實現,原始文章給出了從 45 到 155 的FPS。盡管與以前的算法相比,mAP的準確性仍然有所下降,但在某些問題中,實時檢測更為重要。

得到檢測框

由于與物體中心相鄰的單元格也可以產生bbox,從而導致框過多,因此有必要選擇其中最好的。為此,使用NMS技術,其工作原理如下。此類的所有 bbox,置信度低于給定閾值的那些將被丟棄。對于其余部分,執行IoU的成對比較過程。如果兩個框的 IoU > 0.5,則丟棄置信度較低的框。否則,兩個框都會保留在列表中。因此,類似的框被抑制了。

損失函數是組合的,具有以下形式:

a7a2596a-c858-11ed-bfe3-dac502259ad0.png

第一項是目標中心坐標的損失,第二項是框尺寸的損失,第三項是目標的類損失,如果目標不存在,則第四項是類的損失,第五項是在框中找到某個目標的概率。

需要 lambda 系數來防止置信度變為零,因為大多數單元格中沒有目標。1(obj,i)表示的中心是否出現在單元格 i 中,1(obj,i,j)表示單元格 i 中的第 j 個 bbox 負責此預測。

優勢

高速

  • 比當時的競爭對手更好的泛化能力,在另一個領域進行測試(訓練是在ImageNet上進行的)顯示出更好的性能。
  • 圖像背景部分的誤報更少。

局限性

  • 每個單元格 2 個 bbox 和一個類目標的限制。這意味著一堆小物體的識別度較低。
  • 原始圖像的幾個連續下采樣導致精度不高。
  • 損失的設計方式是,它對大框和小框的錯誤具有同樣懲罰。作者試圖通過取尺寸大小的根來補償這種影響,但這并沒有完全消除這種影響。

YOLOv2 / YOLO9000

作者

Joseph Redmon, Ali Farhadi

主要論文

“YOLO9000: Better, Faster, Stronger”, publication date 2016/12

代碼倉庫

  1. https://pjreddie.com/darknet/yolov2/
  2. https://github.com/experiencor/keras-yolo2, 795 forks / 1.7k stars, MIT license
  3. https://github.com/longcw/yolo2-pytorch, 417 forks / 1.5k stars
  4. https://github.com/philipperemy/yolo-9000, 309 forks / 1.1k stars, Apache-2.0 license

性能比較

a7c28c80-c858-11ed-bfe3-dac502259ad0.png

Pascal VOC 2007的檢測框架。YOLOv2 比以前的檢測方法更快、更準確。它還可以以不同的分辨率運行,以便在速度和準確性之間輕松權衡。每個 YOLOv2 條目實際上是具有相同權重的相同訓練模型,只是以不同的大小進行評估。所有計時信息均在 Geforce GTX Titan X 上測試。

結構特點

  1. 作者對模型的第一個版本進行了一些改進。

  2. 刪除了 dropout,并在所有卷積層中添加了BN。

  3. 預訓練為分辨率為 448x448 的分類器(YOLOv1 分辨率為 224x224),然后將最終網絡縮小到 416x416 輸入,以產生奇數個 13x13 單元。

  4. 刪除了全連接層。相反,他們開始使用全卷積和錨框來預測bbox(如Faster RCNN)。這樣可以減少空間信息的丟失(就像在 v1 中的全連接層中一樣)。

  5. 刪除了一個最大池化以增加特征的細節(分辨率)。在 v1 中,每張圖片只有 98 個 bbox,使用 V2 中的錨點,結果有超過 1000 個 bbox,而 mAP 略有下降,但召回率顯著增加,這使得提高整體準確性成為可能。

  6. 維度先驗。bbox的大小和位置不是像FasterRCNN那樣隨機手動選擇的,而是通過k-means聚類自動選擇的。盡管在小bbox上使用具有歐氏距離的標準k均值,但檢測誤差更高,因此對于k均值,選擇了另一個距離度量,1 - IoU(box,質心)。選擇5個作為分組數目的折衷方案。測試表明,對于以這種方式選擇的 5 個質心,平均 IoU 與 9 個錨點大致相同。

  7. 直接位置預測。最初,對于錨,與確定中心(x,y)坐標相關的網絡訓練存在不穩定性:由于網絡權重是隨機初始化的,并且坐標預測是線性的,大小是沒有限制的。因此,我們沒有預測相對于錨中心的偏移量,其中系數的正確范圍是 [-1,1],而是決定預測 bbox 相對于單元格中心的偏移,范圍 [0,1],并使用 sigmoid 來限制它。網絡為每個單元格預測 5 個 bbox,每個 bbox 5 個數字:tx、ty、tw、th、to。bbox 的預測參數計算如下:

a7d4ead8-c858-11ed-bfe3-dac502259ad0.png

具有維度先驗和位置預測的邊界框。我們將框的寬度和高度預測為聚類質心的偏移量。我們使用 sigmoid 函數預測框相對于中心坐標的偏移。

a7e1de32-c858-11ed-bfe3-dac502259ad0.png

  1. 細粒度特征。特征映射現在為 13x13。
  2. 多尺度訓練。由于網絡是全卷積的,因此只需更改輸入圖像的分辨率即可動態更改其分辨率。為了提高網絡的魯棒性,其輸入分辨率每 10 批次更改一次。由于網絡縮小了 32 倍,因此輸入分辨率是從集合 {320, 352, ..., 608} 中選擇的。網絡的大小從 320x320 調整為 608x608。
  3. 加速。VGG-16作為v1的骨干,太重了,所以在第二個版本中使用了darknet-19:

a7f41ffc-c858-11ed-bfe3-dac502259ad0.png

訓練分類器后,從網絡中刪除最后一個卷積層,添加三個具有 1024 個濾波器的 3x3 卷積層和一個具有檢測所需輸出數量的最終 1x1的卷積層。在 VOC 的情況下,它是 5 個 bbox,每個 bbox 有 5 個坐標,每個 bbox 有 20 個類,總共有 125 個濾波器。

  1. 分層分類。在 v1 中,這些類屬于同一類目標并且是互斥的,而在 v2 中引入了 WordNet 樹結構,這是一個有向圖。每個類別中的類都是互斥的,并且有自己的softmax。因此,例如,如果圖片顯示已知品種網絡的狗,則網絡將返回狗和特定品種的類。如果是網絡未知品種的狗,那么它只會返回狗的類別。因此,訓練了 YOLO9000,它是具有 3 個先驗的 v2,而不是 5 個和 9418 個目標類。

a815611c-c858-11ed-bfe3-dac502259ad0.png

ImageNet vs WordTree上的預測。大多數 ImageNet 模型使用一個大的 softmax 來預測概率分布。使用WordTree,我們對共同下義詞執行多個softmax操作。

a82eb7a2-c858-11ed-bfe3-dac502259ad0.png

使用 WordTree 層次結構合并數據集。使用WordNet概念圖,我們構建了一個視覺概念的分層樹。然后,我們可以通過將數據集中的類映射到樹中的合成集來將數據集合并在一起。這是 WordTree 的簡化視圖,用于說明目的。

優勢

  • 現在它不僅是速度方面的 SOTA,而且在 mAP 方面也是。
  • 現在可以更好地檢測小物體。

YOLOv3

作者

Joseph Redmon, Ali Farhadi

主要論文

“YOLOv3: An Incremental Improvement”, publication date 2018/04

代碼倉庫

  1. https://pjreddie.com/darknet/yolo/, all-permissive license
  2. https://github.com/ultralytics/yolov3, 3.3k forks / 8.9k stars, GPL-3.0 license
  3. https://github.com/eriklindernoren/PyTorch-YOLOv3, 2.6k forks / 6.8k stars, GPL-3.0 license

性能比較

a838538e-c858-11ed-bfe3-dac502259ad0.png

YOLOv3 的運行速度明顯快于具有相當性能的其他檢測方法。從M40或Titan X開始,它們基本上是相同的GPU。

結構

這是模型的增量更新,即沒有根本上更改,只有一組改進技巧。

  1. 每個 bbox 的置信度得分,即給定 bbox 中存在目標的概率,現在也使用 sigmoid 計算。
  2. 作者從多類分類切換到多標簽,所以我們擺脫了softmax,轉而支持二進制交叉熵。
  3. 在三個尺度上對 bbox 進行預測,輸出張量大?。篘 * N * (3 * (4 + 1 + num_classes))
  4. 作者使用k均值重新計算先驗框,并在三個尺度上得到了9個bbox。
  5. 新的、更深、更準確的骨干/特征提取器Darknet-53。

a842227e-c858-11ed-bfe3-dac502259ad0.png

  1. 在準確性方面,它與 ResNet-152 相當,但由于更有效地使用 GPU,它所需的操作減少了近 1.5 倍,產生的 FPS 提高了 2 倍。

總體結構

a858dd84-c858-11ed-bfe3-dac502259ad0.jpg

不起作用的方法

  • BBOX 通過線性激活函數而不是logistic激活函數來協調位移預測。
  • focal loss — mAP 下降了 2 點。
  • 用于確定GT的雙 IoU — 在 Faster R-CNN 中,IOU 有兩個閾值,通過該閾值確定正樣本或負樣本(>0.7 正值,0.3-0.7 忽略,<0.3 負樣本)

優勢

  • 發布時的檢測精度高于競爭對手
  • 發布時的檢測率高于競爭對手

在下一部分中,我們將考慮v4,v5,PP-YOLOS和YOLOX。敬請期待!

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 算法
    +關注

    關注

    23

    文章

    4624

    瀏覽量

    93119
  • 圖像
    +關注

    關注

    2

    文章

    1088

    瀏覽量

    40515
  • 分類器
    +關注

    關注

    0

    文章

    152

    瀏覽量

    13204

原文標題:?YOLO系列的演進,從v1到v7

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    S2C發布最新ASIC原型驗證平臺Quad V7

    S2C Inc.今日宣布將最新的原型驗證平臺Quad V7加入其V7 TAI Logic Module系列。Quad V7 是基于Xilinx Virtex-
    發表于 01-23 11:28 ?2317次閱讀

    LT8228V1V2是BUCK模式,V2V1是BOOST模式,請問這個模式是固定的嗎?

    看LT8228的示例,V1V2是BUCK模式,V2
    發表于 01-05 07:10

    卡西歐ex v7用戶使用說明書

    卡西歐ex v7用戶使用說明書
    發表于 01-14 00:01 ?33次下載
    卡西歐ex <b class='flag-5'>v7</b>用戶使用說明書

    V919 AIR V7版本刷機教程_For_Android

    V919 AIR V7版本刷機教程_For_Android是一個不可多得的東東。希望這文件對朋友有作用,謝謝了。
    發表于 11-13 11:48 ?0次下載

    BroadDirector簡明手冊v1

    BroadDirector簡明手冊v1
    發表于 01-02 19:49 ?0次下載

    RMON 管理v1

    RMON 管理v1
    發表于 01-02 19:49 ?0次下載

    7周年!MIUI V1MIUI9圖標演進一覽:你最喜歡哪一版?

    2010年8月16日MIUI V1初次亮相,如今快如閃電MIUI9,MIUI已經七歲了。
    發表于 08-16 17:23 ?2007次閱讀

    QuadE V7快速原型驗證產品系列

    加利福尼亞州,圣何塞 - 2014年2月25日 - 業界領先的SoC/ASIC快速原型解決方案提供商S2C Inc.于今日宣布,在其基于FPGA的原型平臺V7 TAI Logic Module系列
    的頭像 發表于 02-11 14:27 ?3621次閱讀

    美圖V7高清圖賞

    1月8日下午,美圖手機正式發布美圖V7標準版,搭載驍龍845處理器,全球首創的前置三攝配置,支持“前置AI夜拍美顏”“3D凝時相機”“閉眼修復”等攝影功能。
    的頭像 發表于 01-30 09:25 ?3651次閱讀

    美圖V7手機體驗評測 性能最強的美圖手機

    美圖V7怎么樣?美圖手機在2018年底曾推出了旗下V系列的最新產品“美圖V7”,這也是美圖獨立研發的最后一款手機產品。那么,美圖V7究竟怎么
    的頭像 發表于 07-22 14:58 ?9029次閱讀

    美圖V7全面評測 一款沒有任何妥協的產品

    美圖V7評測:早在去年11月份,就和小米“聯姻”。作為最后一款美圖自研的產品,能帶給我們哪些驚喜呢?美圖V7在自拍美顏方面的優化怎么樣?
    的頭像 發表于 07-11 11:54 ?4351次閱讀

    lvgl 庫 V7版本相關應用

    在使用 lvgl 庫的時候,筆者使用的 V7 版本的庫,使用過程中發現網上關于 V7 版本的資料非常少,官網有文檔介紹其如何使用,但有些方面...
    發表于 01-26 17:06 ?0次下載
    lvgl 庫 <b class='flag-5'>V7</b>版本相關應用

    淺談YOLO系列的神經網絡模型v1v7演進

    在以前的方法中,原始圖像的每個像素可以被神經網絡處理數百甚至數千次。每次這些像素都通過相同的神經網絡傳遞,經過相同的計算。是否可以做一些事情以免重復相同的計算?
    發表于 04-24 15:45 ?562次閱讀
    淺談<b class='flag-5'>YOLO</b><b class='flag-5'>系列</b>的神經網絡模型<b class='flag-5'>從</b><b class='flag-5'>v1</b><b class='flag-5'>到</b><b class='flag-5'>v7</b>的<b class='flag-5'>演進</b>

    ANO匿名上位機V7協議&STM32

    ANO匿名上位機V7協議&STM32 說明:以下程序為自己編寫,若有誤歡迎各位指出。 基于ANO匿名V7上位機的通信協議編寫的代碼文章目錄ANO匿名上位機V7協議&STM32 前言 一、Ano
    發表于 05-09 11:08 ?15次下載
    ANO匿名上位機<b class='flag-5'>V7</b>協議&STM32

    國民技術硬件設計指南V1

    國民技術UG_N32G43X_&_UG_N32L40X_&_UG_N32L43X_系列硬件設計指南V1
    發表于 10-18 16:12 ?1次下載
    主站蜘蛛池模板: 国产看色免费| 丁香六月五月婷婷| 日本高清中文字幕在线观穿线视频 | 在线观看亚洲人成网站| 欧美色爱综合| 种子搜索在线| 四虎影院永久网站| 你懂的在线免费| 狠狠插综合网| 夜夜骚视频| 人操人操| 五月婷激情| 欧美激情xxxx性bbbb| 伊人久久成人成综合网222| 天堂成人| 毛片免费观看| www.毛片在线观看| 日本在线视| 日本69xxx18hd| 男女交黄| 色香蕉在线观看| 国内精品免费视频精选在线观看| 自拍偷拍福利视频| 欧美成人午夜片一一在线观看| 羞羞色院91精品网站| 免费观看黄网站| 四虎影视最新| 国产一区二卡三区四区| 天天干天天上| www.天堂.com| 精品一区二区三区三区| 天堂网在线视频| 久久艹免费视频| 天堂8中文在线最新版在线| 欧美极品| 亚洲你懂得| 美国一级毛片片aa久久综合| 在线观看s色| 在线黄视频网站| 夜夜春色| 黄色一级一毛片|