<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Torchvision SSD 實(shí)施

          共 3781字,需瀏覽 8分鐘

           ·

          2021-06-26 14:11

          在 TorchVision v0.10 中,我們發(fā)布了兩個(gè)基于 SSD 架構(gòu)的新對(duì)象檢測模型。我們的計(jì)劃是在一篇由兩部分組成的文章中介紹算法的關(guān)鍵實(shí)現(xiàn)細(xì)節(jié)以及有關(guān)如何訓(xùn)練它們的信息。

          在本系列的第 1 部分中,我們將重點(diǎn)介紹Single Shot MultiBox Detector 論文中描述的 SSD 算法的原始實(shí)現(xiàn)我們將簡要介紹該算法的工作原理,然后介紹其主要組件,突出顯示其代碼的關(guān)鍵部分,最后討論我們?nèi)绾斡?xùn)練已發(fā)布的模型。我們的目標(biāo)是涵蓋重現(xiàn)模型所需的所有細(xì)節(jié),包括論文中未涵蓋但屬于原始實(shí)現(xiàn)部分的優(yōu)化。

          固態(tài)硬盤如何工作?

          強(qiáng)烈建議閱讀上述論文,但這里有一個(gè)簡單的快速復(fù)習(xí)。我們的目標(biāo)是檢測圖像中對(duì)象的位置及其類別。這是SSD 論文中的圖 5,其中包含模型的預(yù)測示例:

          SSD 算法使用 CNN 主干,將輸入圖像通過它并從網(wǎng)絡(luò)的不同級(jí)別獲取卷積輸出。這些輸出的列表稱為特征圖。然后將這些特征圖通過負(fù)責(zé)預(yù)測類別和框位置的分類和回歸頭。

          由于每張圖像的特征圖包含來自網(wǎng)絡(luò)不同層次的輸出,它們的大小各不相同,因此它們可以捕獲不同維度的對(duì)象。在每個(gè)頂部,我們平鋪了幾個(gè)默認(rèn)框,可以將其視為我們粗略的先驗(yàn)猜測。對(duì)于每個(gè)默認(rèn)框,我們預(yù)測是否有一個(gè)對(duì)象(連同它的類)和它的偏移量(對(duì)原始位置的校正)。在訓(xùn)練期間,我們需要首先將地面實(shí)況與默認(rèn)框匹配,然后我們使用這些匹配來估計(jì)我們的損失。在推理過程中,組合相似的預(yù)測框來估計(jì)最終的預(yù)測。

          SSD 網(wǎng)絡(luò)架構(gòu)

          在本節(jié)中,我們將討論 SSD 的關(guān)鍵組件。我們的代碼緊跟論文,并利用了官方實(shí)現(xiàn)中包含的許多未記錄的優(yōu)化。

          默認(rèn)框生成器

          DefaultBoxGenerator類是負(fù)責(zé)產(chǎn)生SSD的默認(rèn)框和功能類似AnchorGenerator(上分歧看到4-6的紙頁了解更多信息)FasterRCNN的。它生成一組特定寬度和高度的預(yù)定義框,這些框在圖像上平鋪,并作為對(duì)對(duì)象可能位于何處的第一個(gè)粗略的先驗(yàn)猜測。這是 SSD 論文中的圖 1,其中顯示了基本事實(shí)和默認(rèn)框:

          該類由一組控制其形狀平鋪的超參數(shù)參數(shù)化。該實(shí)現(xiàn)將自動(dòng)為那些想要嘗試新的主干/數(shù)據(jù)集但也可以傳遞優(yōu)化的自定義值的提供默認(rèn)參數(shù)的良好猜測。

          SSD匹配器

          SSDMatcher類擴(kuò)展了標(biāo)準(zhǔn)的匹配器通過FasterRCNN使用,它負(fù)責(zé)默認(rèn)盒匹配的地面實(shí)況。在估計(jì)所有組合IoU之后,我們使用匹配器為每個(gè)默認(rèn)框找到重疊高于IoU 閾值的最佳候選ground truth SSD 版本的 matcher 有一個(gè)額外的步驟,以確保每個(gè) ground truth 與具有最高重疊的默認(rèn)框匹配。匹配器的結(jié)果用于模型訓(xùn)練過程中的損失估計(jì)。

          分類和回歸頭

          SSDHead類負(fù)責(zé)初始化網(wǎng)絡(luò)的分類和回歸的部分。以下是有關(guān)其代碼的一些值得注意的細(xì)節(jié):

          • 無論是分類回歸從頭部繼承同一個(gè)類是負(fù)責(zé)使每個(gè)特征圖的預(yù)測。

          • 特征圖的每一層都使用單獨(dú)的 3x3 卷積來估計(jì)對(duì)數(shù)框位置。

          • 預(yù)測數(shù),每頭每次水平使得取決于默認(rèn)的箱數(shù)和特征地圖的大小。

          骨干特征提取器

          特征提取器重新配置和增強(qiáng)了標(biāo)準(zhǔn)VGG骨架與如所描述的在SSD紙的圖2額外層:

          該類支持 TorchVision 的所有 VGG 模型,并且可以為其他類型的 CNN 創(chuàng)建一個(gè)類似的提取器類(請(qǐng)參閱此示例以了解 ResNet)。以下是該類的一些實(shí)現(xiàn)細(xì)節(jié):

          • 修補(bǔ)ceil_mode parameter第三Maxpool層是必要的,以獲得相同的功能,地圖大小為紙。這是因?yàn)?PyTorch 與模型的原始 Caffe 實(shí)現(xiàn)之間存在細(xì)微差異。

          • 在 VGG 之上添加了一系列額外的特征層如果 highres 參數(shù)True在其構(gòu)建期間,它將附加一個(gè)額外的卷積這對(duì)于模型的 SSD512 版本很有用。

          • 正如論文第 3 節(jié)所述,原始 VGG 的全連接層使用 Atrous轉(zhuǎn)換為卷積。此外maxpool5的步幅和內(nèi)核大小修改。

          • 如第 3.1 節(jié)所述,L2 歸一化用于conv4_3輸出,引入一組可學(xué)習(xí)的權(quán)重來控制其縮放。

          SSD 算法

          實(shí)現(xiàn)的最后一個(gè)關(guān)鍵部分是SSD 類以下是一些值得注意的細(xì)節(jié):

          • 該算法參數(shù)由一組類似于其他檢測模型參數(shù)。強(qiáng)制性的參數(shù)是:它負(fù)責(zé)骨干估計(jì)特征地圖中,anchor_generator這應(yīng)該是一個(gè)配置實(shí)例的的DefaultBoxGenerator類,大小到的輸入圖像將被調(diào)整和num_classes用于分類剔除的背景。

          • 如果未提供head,則構(gòu)造函數(shù)將初始化默認(rèn)SSDHead為此,我們需要知道主干生成的每個(gè)特征圖的輸出通道數(shù)。最初我們嘗試從主干中檢索此信息,但如果不可用,我們將動(dòng)態(tài)估計(jì)它。

          • 該算法重用其他檢測模型使用的標(biāo)準(zhǔn)BoxCoder 類。該類負(fù)責(zé)對(duì)邊界框進(jìn)行編碼和解碼,并配置為使用與原始實(shí)現(xiàn)相同的先驗(yàn)方差。

          • 雖然我們重用標(biāo)準(zhǔn)的GeneralizedRCNNTransform 類來調(diào)整輸入圖像的大小和歸一化,但 SSD 算法對(duì)其進(jìn)行配置以確保圖像大小保持固定。

          下面是實(shí)現(xiàn)的兩個(gè)核心方法:

          • compute_loss方法估計(jì)標(biāo)準(zhǔn)的 Multi-box 損失,如 SSD 論文第 5 頁所述。它使用平滑 L1 損失進(jìn)行回歸,使用標(biāo)準(zhǔn)交叉熵?fù)p失硬負(fù)采樣進(jìn)行分類。

          • 與所有檢測模型一樣,forward 方法目前具有不同的行為,具體取決于模型是處于訓(xùn)練模式還是評(píng)估模式。它首先調(diào)整輸入圖像大小和標(biāo)準(zhǔn)化,然后將它們傳遞到主干以獲得特征圖。然后通過頭部傳遞特征圖以獲得預(yù)測,然后該方法生成默認(rèn)框。

            • 如果模型是訓(xùn)練模式,遠(yuǎn)期將估計(jì)欠條與地面真相默認(rèn)盒,使用SSDmatcher產(chǎn)生比賽最后估計(jì)損失調(diào)用compute_loss method。

            • 如果模型處于eval 模式,我們首先通過僅保留通過分?jǐn)?shù)閾值的那些來選擇最佳檢測,選擇最有希望的框并運(yùn)行 NMS 以清理并選擇最佳預(yù)測。最后,我們對(duì)預(yù)測進(jìn)行后處理以將它們調(diào)整為原始圖像大小。

          SSD300 VGG16 型號(hào)

          SSD 是一個(gè)型號(hào)家族,因?yàn)樗梢耘渲貌煌闹鞲珊筒煌?Head 配置。在本節(jié)中,我們將重點(diǎn)介紹所提供的SSD 預(yù)訓(xùn)練模型。我們將討論其配置的詳細(xì)信息以及用于重現(xiàn)報(bào)告結(jié)果的訓(xùn)練過程。

          培訓(xùn)流程

          該模型是使用 COCO 數(shù)據(jù)集訓(xùn)練的,其所有超參數(shù)和腳本都可以在我們的參考文件夾中找到。下面我們提供有關(guān)培訓(xùn)過程中最顯著方面的詳細(xì)信息。

          論文超參數(shù)

          為了在 COCO 上獲得最佳結(jié)果,我們采用了論文第 3 節(jié)中描述的關(guān)于優(yōu)化器配置、權(quán)重正則化等的超參數(shù)。此外,我們發(fā)現(xiàn)采用官方實(shí)現(xiàn)中出現(xiàn)的有關(guān)優(yōu)化的優(yōu)化很有用DefaultBox 生成器的平鋪配置。論文中沒有描述這種優(yōu)化,但它對(duì)于提高較小物體的檢測精度至關(guān)重要。

          數(shù)據(jù)增強(qiáng)

          實(shí)施本文第 6 頁和第 12 頁所述SSD 數(shù)據(jù)增強(qiáng)策略對(duì)于重現(xiàn)結(jié)果至關(guān)重要。更具體地說,隨機(jī)“放大”和“縮小”變換的使用使模型對(duì)各種輸入大小具有魯棒性,并提高了對(duì)中小型對(duì)象的精度。最后,由于 VGG16 有相當(dāng)多的參數(shù),包含在增強(qiáng)中的光度失真具有正則化效果,有助于避免過度擬合。

          權(quán)重初始化和輸入縮放

          我們發(fā)現(xiàn)有益的另一個(gè)方面是遵循論文提出權(quán)重初始化方案。為此,我們必須通過取消由 0-1執(zhí)行的縮放ToTensor()并使用符合此縮放的預(yù)訓(xùn)練 ImageNet 權(quán)重來調(diào)整我們的輸入縮放方法感謝 Max deGroot在他的 repo 中提供它們)。新卷積的所有權(quán)重都使用 Xavier 初始化,并且它們的偏差設(shè)置為零。初始化后,網(wǎng)絡(luò)進(jìn)行端到端的訓(xùn)練

          LR計(jì)劃

          正如論文中所報(bào)道的那樣,在應(yīng)用積極的數(shù)據(jù)增強(qiáng)之后,有必要對(duì)模型進(jìn)行更長時(shí)間的訓(xùn)練。我們的實(shí)驗(yàn)證實(shí)了這一點(diǎn),我們必須調(diào)整學(xué)習(xí)率、批量大小和總體步驟以達(dá)到最佳結(jié)果。我們提出的學(xué)習(xí)方案被配置為相當(dāng)安全,在步驟之間顯示出穩(wěn)定的跡象,因此一個(gè)人可能能夠通過僅執(zhí)行我們 66% 的 epoch 來訓(xùn)練類似的模型。

          關(guān)鍵精度改進(jìn)的細(xì)分

          重要的是要注意,直接從論文中實(shí)現(xiàn)模型是一個(gè)迭代過程,在編碼、訓(xùn)練、錯(cuò)誤修復(fù)和調(diào)整配置之間循環(huán),直到我們匹配論文中報(bào)告的準(zhǔn)確性。通常,它還涉及簡化訓(xùn)練配方或使用更新的方法對(duì)其進(jìn)行增強(qiáng)。這絕對(duì)不是一個(gè)線性過程,通過一次改進(jìn)單個(gè)方向來實(shí)現(xiàn)增量精度改進(jìn),而是涉及探索不同的假設(shè),在不同方面進(jìn)行增量改進(jìn)并進(jìn)行大量回溯。

          考慮到這一點(diǎn),下面我們嘗試總結(jié)對(duì)我們的準(zhǔn)確性影響最大的優(yōu)化。我們通過將各種實(shí)驗(yàn)分為 4 個(gè)主要組并將實(shí)驗(yàn)改進(jìn)歸因于最接近的匹配來做到這一點(diǎn)。請(qǐng)注意,圖形的 Y 軸從 18 開始而不是從 0 開始,以使優(yōu)化之間的差異更加明顯:

          模型配置地圖增量地圖
          使用“FasterRCNN 風(fēng)格”超參數(shù)的基線——19.5
          + 紙超參數(shù)1.621.1
          + 數(shù)據(jù)增強(qiáng)1.822.9
          + 權(quán)重初始化和輸入縮放123.9
          + LR 方案1.225.1

          我們的最終模型實(shí)現(xiàn)了 25.1 的 mAP,并準(zhǔn)確再現(xiàn)了論文中報(bào)告的 COCO 結(jié)果。以下是準(zhǔn)確度指標(biāo)詳細(xì)分類。


          瀏覽 55
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  成人三级片av | 美国十次欧美日韩在线 | 黄色AV小说在线观看 | 国产传媒自拍 | 成人午夜无码影院 |