電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>PyTorch教程14.7之單發(fā)多框檢測(cè)

PyTorch教程14.7之單發(fā)多框檢測(cè)

2023-06-05 | pdf | 0.32 MB | 次下載 | 免費(fèi)

資料介紹

第 14.3 節(jié)第 14.6 節(jié)中,我們介紹了邊界框、錨框、多尺度目標(biāo)檢測(cè)和目標(biāo)檢測(cè)數(shù)據(jù)集。現(xiàn)在我們準(zhǔn)備使用這些背景知識(shí)來設(shè)計(jì)一個(gè)目標(biāo)檢測(cè)模型:單次多框檢測(cè)(SSDLiu et al. , 2016。該模型簡單、快速、應(yīng)用廣泛。雖然這只是大量目標(biāo)檢測(cè)模型中的一種,但本節(jié)中的一些設(shè)計(jì)原則和實(shí)現(xiàn)細(xì)節(jié)也適用于其他模型。

14.7.1。模型

圖 14.7.1提供了單次多框檢測(cè)設(shè)計(jì)的概述。該模型主要由一個(gè)基礎(chǔ)網(wǎng)絡(luò)和幾個(gè)多尺度特征圖塊組成。基礎(chǔ)網(wǎng)絡(luò)用于從輸入圖像中提取特征,因此可以使用深度 CNN。例如,原始的單次多框檢測(cè)論文采用在分類層之前截?cái)嗟腣GG網(wǎng)絡(luò) Liu et al. , 2016,而 ResNet 也被普遍使用。通過我們的設(shè)計(jì),我們可以讓基礎(chǔ)網(wǎng)絡(luò)輸出更大的特征圖,從而生成更多的錨框來檢測(cè)更小的物體。隨后,每個(gè)多尺度特征圖塊從前一個(gè)塊減少(例如,減半)特征圖的高度和寬度,并使特征圖的每個(gè)單元增加其在輸入圖像上的感受野。

回想一下14.5 節(jié)中深度神經(jīng)網(wǎng)絡(luò)通過圖像的分層表示進(jìn)行多尺度目標(biāo)檢測(cè)的設(shè)計(jì) 。由于靠近圖 14.7.1頂部的多尺度特征圖較小但具有較大的感受野,因此它們適用于檢測(cè)較少但較大的對(duì)象。

簡而言之,通過其基礎(chǔ)網(wǎng)絡(luò)和多個(gè)多尺度特征圖塊,單次多框檢測(cè)生成不同數(shù)量的不同大小的錨框,并通過預(yù)測(cè)這些錨框的類別和偏移量(因此邊界盒);因此,這是一個(gè)多尺度目標(biāo)檢測(cè)模型。

https://file.elecfans.com/web2/M00/A9/CC/poYBAGR9O62ARusYAAorLEsLQmk559.svg

圖 14.7.1作為多尺度目標(biāo)檢測(cè)模型,單次多框檢測(cè)主要由一個(gè)基礎(chǔ)網(wǎng)絡(luò)和幾個(gè)多尺度特征圖塊組成。

下面,我們將描述圖14.7.1中不同塊的實(shí)現(xiàn)細(xì)節(jié)。首先,我們討論如何實(shí)現(xiàn)類和邊界框預(yù)測(cè)。

14.7.1.1。類別預(yù)測(cè)層

讓對(duì)象類的數(shù)量為q. 然后anchor boxes有 q+1類,其中類 0 是背景。在某種程度上,假設(shè)特征圖的高度和寬度是hw, 分別。什么時(shí)候a以這些特征圖的每個(gè)空間位置為中心生成anchor boxes,一共 hwaanchor boxes需要分類。由于參數(shù)化成本可能很高,這通常會(huì)使完全連接層的分類變得不可行。回想一下我們?cè)?.3 節(jié)中如何使用卷積層的通道來預(yù)測(cè)類別。單次多框檢測(cè)使用相同的技術(shù)來降低模型的復(fù)雜性。

具體來說,類預(yù)測(cè)層使用卷積層而不改變特征圖的寬度或高度。這樣,在特征圖的相同空間維度(寬度和高度)下,輸出和輸入之間可以存在一一對(duì)應(yīng)關(guān)系。更具體地說,輸出特征映射的通道在任何空間位置(x, y) 表示以 (x,y) 輸入特征圖。為了產(chǎn)生有效的預(yù)測(cè),必須有a(q+1)輸出通道,其中對(duì)于相同的空間位置,具有索引的輸出通道i(q+1)+j 代表類別的預(yù)測(cè)j (0≤j≤q) 對(duì)于錨框i (0≤i).

下面我們定義這樣一個(gè)類預(yù)測(cè)層,指定aq分別通過參數(shù)num_anchorsnum_classes該層使用了3×3填充為1的卷積層。該卷積層的輸入和輸出的寬度和高度保持不變。

%matplotlib inline
import torch
import torchvision
from torch import nn
from torch.nn import functional as F
from d2l import torch as d2l


def cls_predictor(num_inputs, num_anchors, num_classes):
  return nn.Conv2d(num_inputs, num_anchors * (num_classes + 1),
           kernel_size=3, padding=1)
%matplotlib inline
from mxnet import autograd, gluon, image, init, np, npx
from mxnet.gluon import nn
from d2l import mxnet as d2l

npx.set_np()

def cls_predictor(num_anchors, num_classes):
  return nn.Conv2D(num_anchors * (num_classes + 1), kernel_size=3,
           padding=1)

14.7.1.2。邊界框預(yù)測(cè)層

邊界框預(yù)測(cè)層的設(shè)計(jì)與類預(yù)測(cè)層的設(shè)計(jì)類似。唯一的區(qū)別在于每個(gè)錨框的輸出數(shù)量:這里我們需要預(yù)測(cè)四個(gè)偏移量而不是q+1類。

def bbox_predictor(num_inputs, num_anchors):
  return nn.Conv2d(num_inputs, num_anchors * 4, kernel_size=3, padding=1)
def bbox_predictor(num_anchors):
  return nn.Conv2D(num_anchors * 4, kernel_size=3, padding=1)

14.7.1.3。連接多個(gè)尺度的預(yù)測(cè)

正如我們提到的,單次多框檢測(cè)使用多尺度特征圖來生成錨框并預(yù)測(cè)它們的類別和偏移量。在不同的尺度下,特征圖的形狀或以同一單元為中心的錨框數(shù)量可能會(huì)有所不同。因此,不同尺度的預(yù)測(cè)輸出的形狀可能會(huì)有所不同。

在下面的例子中,我們構(gòu)建了兩種不同比例的特征圖,Y1并且Y2,對(duì)于同一個(gè)小批量,其中 的高度和寬度Y2是 的一半Y1。讓我們以類別預(yù)測(cè)為例。Y1假設(shè)分別為和中的每個(gè)單元生成 5 個(gè)和 3 個(gè)錨框Y2進(jìn)一步假設(shè)對(duì)象類的數(shù)量為 10。對(duì)于特征圖Y1Y2類預(yù)測(cè)輸出中的通道數(shù)為5×(10+1)=553×(10+1)=33,其中任一輸出形狀為(批量大小、通道數(shù)、高度、寬度)。

def forward(x, block):
  return block(x)

Y1 = forward(torch.zeros((2, 8, 20, 20)), cls_predictor(8, 5, 10))
Y2 = forward(torch.zeros((2, 16, 10, 10)), cls_predictor(16, 3, 10))
Y1.shape, Y2.shape
(torch.Size([2, 55, 20, 20]), torch.Size([2, 33, 10, 10]))
def forward(x, block):
  block.initialize()
  return block(x)

Y1 = forward(np.zeros((2, 8, 20, 20)), cls_predictor(5, 10))
Y2 = forward(np.zeros((2, 16, 10, 10)), cls_predictor(3, 10))
Y1.shape, Y2

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)