91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

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

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

3天內不再提示

圖解目標檢測算法的網絡架構和基本流程

新機器視覺 ? 來源:新機器視覺 ? 作者:新機器視覺 ? 2022-05-07 15:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

YOLO v3 是目標檢測各類算法中非常經典的一款,本文試著圖解它的網絡架構和基本流程,給想快速了解它的童鞋提供一些參考。

6ccc0604-cd42-11ec-bce3-dac502259ad0.png

1引 言

近年來,由于在海量數據與計算力的加持下,深度學習對圖像數據表現出強大的表示能力,成為了機器視覺的熱點研究方向。圖像的表示學習,或者讓計算機理解圖像是機器視覺的中心問題。

具體來說,圖像理解包括分類、定位、檢測與分割等單個或組合任務,如下圖所示。

6d05cbdc-cd42-11ec-bce3-dac502259ad0.png

本篇關注目標檢測,它可以認為是一個將分類和回歸相結合的任務。

目標檢測的核心問題可以簡述為圖像中什么位置有什么物體。

1)定位問題:目標出現在圖像中哪個位置(區域)。

2)分類問題:圖像的某個區域里的目標屬于什么類別。

當然,目標(物體)在圖像中還存在其他問題,如尺寸問題,即物體具有不同大小;還有形狀問題,即物體在各種角度下可以呈現各種形狀。

基于深度學習的目標檢測算法目前主要分為兩類:Two-stage和One-stage。

Tow-stage

先生成區域(region proposal,簡稱 RP),即一個可能包含待檢物體的預選框,再通過卷積神經網絡進行分類。

任務流程:特征提取 --> 生成 RP --> 分類/定位回歸。

常見Two-stage目標檢測算法有:R-CNN、Fast R-CNN、Faster R-CNN、SPP-Net 和 R-FCN 等。

One-stage

直接用網絡提取圖像特征來預測物體位置和分類,因此不需要 RP。

任務流程:特征提取–> 分類/定位回歸。

常見的One-stage目標檢測算法有:YOLO 系列、SSD 和 RetinaNet 等。不過,為了得到最終目標的定位和分類,往往需要后處理。

本篇主要來看 YOLO 系列中的 v3 版本。

2基本原理

首先,我們先從整體上來看一下 YOLO v3 是如何工作的。YOLO v3 算法通過將圖像劃分為個網格(grid)單元來工作,每個網格單元具有相同大小的區域。這個網格單元中的每一個都負責對包含該網格的目標的檢測和定位。

相應地,這些網格預測個相對于它們所在單元格的包圍盒相對坐標,以及目標標簽和目標出現在單元格中的概率。

由于網格的分辨率比起原圖來說已經大大降低,而檢測和識別步驟都是針對網格單元來處理的,因此這個方案大大降低了計算量。但是,由于多個單元格用不同的包圍盒來預測同一個對象,因此會帶來了很多重復的預測框。YOLO v3 使用非最大值抑制(Non-Maximum Suppression,NMS)來處理這個問題。

下圖給出了一個例子,展示了當時的個網格以及由此檢測圖中目標的大致流程。會涉及很多個包圍盒,最后選出三個包圍盒來定位和識別目標。

6d1e8a14-cd42-11ec-bce3-dac502259ad0.png

另外,為了兼顧圖像中各種尺度的目標,可以使用多個不同分辨率的個網格。很快將會看到,YOLO v3 中使用了 3 個尺度。

3總體架構

先看一下網絡架構,注意它有三個不同分辨率的輸出分支。

6d431ae6-cd42-11ec-bce3-dac502259ad0.png

從 Yolo v3 的流程圖可以看到,總共有 106 層,實現了對每張圖像在大、中、小三個尺度上檢測目標。這個網格有三個出口,分別是 82 層、94 層、106 層。

下面看一下更加詳細的網絡架構圖,注意有三個檢測結果(Detection Result)。

6d563928-cd42-11ec-bce3-dac502259ad0.png

上圖左邊是 DarkNet-53,是一個深度為 53 層的卷積神經網絡,具體的殘差塊和卷積層如下圖所示。

6d6afa0c-cd42-11ec-bce3-dac502259ad0.png

輸入圖像通過 Darknet 得到三個尺度的特征圖,從上往下為(52×52×256), (26×26×512), (13×13×1024),也就是在三種尺度上進行以便檢測到不同大小的目標。也可以結合下面這個更加精煉圖來理解。

6da32ff8-cd42-11ec-bce3-dac502259ad0.png

4關鍵步驟

目標檢測也可以看作是對圖像中的背景和前景作某種理解分析,即從圖像背景中分離出感興趣的目標,得到對于目標的描述<位置,類別>。

由于可能有多個目標存在,模型輸出是一個列表,包含目標的位置以及目標的類別。目標位置一般用矩形檢測框(包圍盒)的中心和寬高來表示。

?模型輸出值

分辨率最低的輸出分支對應的結果是,下圖展示了在特征圖上的檢測結果,特征圖上的一個像素對應一個網格,每個網格會有 3 個預測框,每個預測框具有(5 + C)個值,其中前 5 個數對應包圍盒的位置以及屬于目標的可能性,C 表示類別數。

6db94d7e-cd42-11ec-bce3-dac502259ad0.png

具體來看,最后輸出的結果為:每個網格單元對應一個維向量,表示一個網格可以預測包圍盒的數目,上面已經說了,個數值中的前個對應包圍盒的中心位子和寬高值和個目標置信度。

這個結果的含義大致清楚了,但是還有個小問題,就是這個輸出是根據什么信息計算而來呢?

如下圖所示,在前一層得到的特征圖上再接一個核大小為的卷積層得到最終的輸出,即由每個網點的特征向量(1024 維)轉化為我們需要的輸出,即包圍盒、目標置信度以及類別信息。

6dcd969e-cd42-11ec-bce3-dac502259ad0.png

上面說了,在這個尺度上會檢測 3 個預測框,把它們拼接在一起,得到完整的結果示意圖如下。

6e22d686-cd42-11ec-bce3-dac502259ad0.png

另外兩個尺度上類似,它們對應的分支輸出如下兩個圖所示。

6e43f1cc-cd42-11ec-bce3-dac502259ad0.png

網絡會在 3 個尺度上分別檢測,每個尺度上每個網格點都預設 3 個包圍盒,所以整個網絡共檢測到13×13×3 + 26×26×3 + 52×52×3 = 10647個包圍盒。

那么這里的 3 個預設包圍盒又是怎么回事呢?

其實每個網格單元可以對目標的包圍盒進行一定數量的猜測,比如下圖中的示例,黃色網格單元進行兩次包圍盒(藍色框)預測以定位人的位置。

6e59c45c-cd42-11ec-bce3-dac502259ad0.png

而 YOLO v3 中采用3 個預設包圍盒,但值得注意的是這里限定只能檢測同一個目標。

?先驗包圍盒

還有一個問題,每個網格對應的包圍盒怎么取呢?理論上,包圍盒可以各種各樣,但是這樣的話就需要大量計算。

為了節省計算,不妨預先了解一下在圖像中出現的目標一般具有怎么樣的包圍盒。可以通過在數據集 VOC 和 COCO 上使用聚類法尋找一般目標的包圍盒尺寸。

6e8018fa-cd42-11ec-bce3-dac502259ad0.png

在包圍盒的維度上運行 k-means 聚類,以獲得良好先驗。左圖顯示了我們在選擇時得到的平均 IOU。在 YOLO v2 中,作者選擇,此時在模型的召回率與復雜性之間具有較好的平衡。右圖顯示了 VOC 和 COCO 的相對質心。兩組先驗都傾向于更薄、更高的盒子,而 COCO 的尺寸變化比 VOC 更大。

而在 YOLO v3 中,通過聚類選出了個先驗包圍盒:(10×13),(16×30),(33×23),(30×61),(62×45),(59×119),(116×90),(156×198),(373×326)。

?包圍盒預測

有了預設的先驗包圍盒,怎么來計算實際包圍盒呢?總不能直接套到每個網格單元處就完事了吧。

YOLO v3 引入一個機制,可以適當調整預設包圍盒來生成實際的包圍盒。下圖中的公式將網絡輸出值轉換得到實際的包圍盒信息。

6e93df66-cd42-11ec-bce3-dac502259ad0.png

或者參考下圖,

6ea617a8-cd42-11ec-bce3-dac502259ad0.png

預測出包圍盒中心點相對于網格單元左上角的相對坐標。通過和可以將包圍盒中心點限制于網格單元內。另外,為了得到訓練數據的值,只需要反算即可。

?包圍盒后處理

YOLO v3 模型的輸出并沒有直接給出包含目標的包圍盒,而是包含所有網格單元對應結果的張量,因此需要一些后處理步驟來獲得結果。

首先,需要根據閾值和模型輸出的目標置信度來淘汰一大批包圍盒。而剩下的包圍盒中很可能有好幾個圍繞著同一個目標,因此還需要繼續淘汰。這時候就要用到非極大值抑制(Non-Maximum Suppression,NMS),顧名思義就是抑制不是極大值的元素,可以認為求局部最優解。用在此處的基本思路就是選擇目標置信度最大的包圍盒,然后排除掉與之 IoU 大于某個閾值的附近包圍盒。

6ebb56c2-cd42-11ec-bce3-dac502259ad0.png

而兩個包圍盒的 IoU 計算如下,

6ed5e5a0-cd42-11ec-bce3-dac502259ad0.png

?損失函數

由于網絡的輸出值比較多,因此損失函數也具有很多項,但總體還是清晰的,這里不作展開。

5實 驗

網上基于PyTorch[1]或者TF[2]等庫的 YOLO v3 實現版本很多,可以直接拿來把玩。下面是網上隨手下載的幾個圖像的測試結果,看著效果是不是還可以呢。

6ef1b14a-cd42-11ec-bce3-dac502259ad0.png

6f111e22-cd42-11ec-bce3-dac502259ad0.png

6f375f10-cd42-11ec-bce3-dac502259ad0.png

6f71364a-cd42-11ec-bce3-dac502259ad0.png

6小 結

先回顧下面這個圖,看看是否了解每個步驟的含義。

6f990ce2-cd42-11ec-bce3-dac502259ad0.png

然后再用一個圖來總結一下流程,

6fb8aeee-cd42-11ec-bce3-dac502259ad0.png

接下來根據輸出的目標置信度淘汰一大批包圍盒,在使用非極大值抑制繼續淘汰一批,最后剩下檢測到的目標,下圖是這些步驟的簡化版本演示圖。

70109de8-cd42-11ec-bce3-dac502259ad0.png

參考代碼

[1]

PyTorch 實現:https://github.com/eriklindernoren/PyTorch-YOLOv3

[2]

TensorFlow 實現:https://machinelearningmastery.com/how-to-perform-object-detection-with-yolov3-in-keras/

審核編輯 :李倩

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

    關注

    0

    文章

    122

    瀏覽量

    25501
  • 網絡架構
    +關注

    關注

    1

    文章

    96

    瀏覽量

    12920

原文標題:圖解目標檢測算法之 YOLO

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于FPGA的SSD目標檢測算法設計

    隨著人工智能的發展,神經網絡正被逐步應用于智能安防、自動駕駛、醫療等各行各業。目標識別作為人工智能的一項重要應用也擁有著巨大的前景,隨著深度學習的普及和框架的成熟,卷積神經網絡模型的識別精度越來越高
    的頭像 發表于 07-10 11:12 ?929次閱讀
    基于FPGA的SSD<b class='flag-5'>目標</b><b class='flag-5'>檢測算法</b>設計

    基于LockAI視覺識別模塊:C++目標檢測

    檢測是計算機視覺領域中的一個關鍵任務,它不僅需要識別圖像中存在哪些對象,還需要定位這些對象的位置。具體來說,目標檢測算法會輸出每個檢測到的對象的邊界框(Bounding Box)以及其
    發表于 06-06 14:43

    基于RK3576開發板的車輛檢測算法

    車輛檢測是一種基于深度學習的對人進行檢測定位的目標檢測,能廣泛的用于園區管理、交通分析等多種場景,是違停識別、堵車識別、車流統計等多種算法
    的頭像 發表于 05-08 17:34 ?919次閱讀
    基于RK3576開發板的車輛<b class='flag-5'>檢測算法</b>

    基于RK3576開發板的安全帽檢測算法

    安全帽佩戴檢測是工地、生產安全、安防的重中之重,但人為主觀檢測的方式時效性差且不能全程監控。AI技術的日漸成熟催生了安全帽佩戴檢測方案,成為了監督佩戴安全帽的利器。本安全帽檢測算法是一
    的頭像 發表于 05-08 16:59 ?1595次閱讀
    基于RK3576開發板的安全帽<b class='flag-5'>檢測算法</b>

    基于RK3576開發板的人員檢測算法

    展示了RK3576開發板的人員檢測算法例程及API說明
    的頭像 發表于 05-07 17:33 ?304次閱讀
    基于RK3576開發板的人員<b class='flag-5'>檢測算法</b>

    基于RV1126開發板的車輛檢測算法開發

    車輛檢測是一種基于深度學習的對人進行檢測定位的目標檢測,能廣泛的用于園區管理、交通分析等多種場景,是違停識別、堵車識別、車流統計等多種算法
    的頭像 發表于 04-14 16:00 ?300次閱讀
    基于RV1126開發板的車輛<b class='flag-5'>檢測算法</b>開發

    基于RV1126開發板的安全帽檢測算法開發

    安全帽佩戴檢測是工地、生產安全、安防的重中之重,但人為主觀檢測的方式時效性差且不能全程監控。AI技術的日漸成熟催生了安全帽佩戴檢測方案,成為了監督佩戴安全帽的利器。本安全帽檢測算法是一
    的頭像 發表于 04-14 15:10 ?294次閱讀
    基于RV1126開發板的安全帽<b class='flag-5'>檢測算法</b>開發

    基于RV1126開發板的人臉檢測算法開發

    在RV1126上開發人臉檢測算法組件
    的頭像 發表于 04-14 10:19 ?334次閱讀
    基于RV1126開發板的人臉<b class='flag-5'>檢測算法</b>開發

    軒轅智駕紅外目標檢測算法在汽車領域的應用

    在 AI 技術蓬勃發展的當下,目標檢測算法取得了重大突破,其中紅外目標檢測算法更是在汽車行業掀起了波瀾壯闊的變革,從根本上重塑著汽車的安全性能、駕駛體驗與產業生態。
    的頭像 發表于 03-27 15:55 ?442次閱讀

    睿創微納推出新一代目標檢測算法

    隨著AI技術的發展,目標檢測算法也迎來重大突破。睿創微納作為熱成像領軍者,憑借深厚的技術積累與創新能力,結合AI技術推出新一代目標檢測算法,以三大核心技術帶來AI視覺感知全場景解決方案
    的頭像 發表于 03-20 13:49 ?445次閱讀

    廣和通推出多功能AI紅外相機解決方案,賦能多領域AI發展

    檢測 該解決方案內置廣和通目標檢測算法,可高效解決野外偏遠地區目標檢測存在的極端光線、環境背景復雜、
    的頭像 發表于 01-15 15:36 ?383次閱讀
    廣和通推出多功能AI紅外相機解決方案,賦能多領域AI發展

    采用華為云 Flexus 云服務器 X 實例部署 YOLOv3 算法完成目標檢測

    一、前言 1.1 開發需求 這篇文章講解:?采用華為云最新推出的 Flexus 云服務器 X 實例部署 YOLOv3 算法,完成圖像分析、目標檢測。 隨著計算機視覺技術的飛速發展,深度學習模型如
    的頭像 發表于 01-02 12:00 ?545次閱讀
    采用華為云 Flexus 云服務器 X 實例部署 YOLOv3 <b class='flag-5'>算法</b>完成<b class='flag-5'>目標</b><b class='flag-5'>檢測</b>

    AI模型部署邊緣設備的奇妙之旅:目標檢測模型

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

    如何制定一套優質的工業視覺檢測算法方案?

    在現代工業生產中,視覺檢測技術的應用正變得越來越廣泛,它在提高產品質量、優化生產流程方面發揮著至關重要的作用。然而,與人臉識別、交通監控、安防監控等應用場景相比,工業視覺檢測項目的場景更為特殊,它
    的頭像 發表于 11-14 01:05 ?2551次閱讀
    如何制定一套優質的工業視覺<b class='flag-5'>檢測算法</b>方案?

    在樹莓派上部署YOLOv5進行動物目標檢測的完整流程

    目標檢測在計算機視覺領域中具有重要意義。YOLOv5(You Only Look One-level)是目標檢測算法中的一種代表性方法,以其高效性和準確性備受關注,并且在各種
    的頭像 發表于 11-11 10:38 ?3744次閱讀
    在樹莓派上部署YOLOv5進行動物<b class='flag-5'>目標</b><b class='flag-5'>檢測</b>的完整<b class='flag-5'>流程</b>
    主站蜘蛛池模板: 911色_911色sss在线观看 | 亚洲国产综合视频 | 久久国产精品99久久久久久牛牛 | 国产视频资源 | 在线天堂中文新版www | 久久久久国产一级毛片高清板 | 日本乱妇 | 国产成人精品日本亚洲直接 | 77ee成人| 日韩在线视频www色 日韩在线视频免费观看 | 国内露脸夫妇交换精品 | 日韩一级片视频 | 久久婷五月 | 天天干天天操天天爽 | 男人资源| 性天堂网 | 国产精品免费拍拍1000部 | 久色国产 | 伊人久久大香线蕉电影院 | 69国产成人综合久久精品 | 午夜视频久久 | 精品伊人久久大线蕉地址 | 一本大道香蕉大vr在线吗视频 | 精品福利在线视频 | 免费一级在线观看 | 午夜操一操 | 15—16女人毛片 | 色多多网站在线观看 | 久久综合九色综合欧美狠狠 | 一级毛片真人免费观看 | 玖玖玖精品视频免费播放 | 亚洲国产成人精彩精品 | 超级毛片 | 琪琪午夜免费影院在线观看 | 免费高清成人啪啪网站 | aa视频在线 | 7799国产精品久久久久99 | 五月婷婷天 | 久久思re热9一区二区三区 | 欧美无限看 | 精品香港经典三级在线看 |