<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>

          計(jì)算機(jī)視覺(jué)中的Transformer

          共 7074字,需瀏覽 15分鐘

           ·

          2021-01-18 23:28

          點(diǎn)擊上方小白學(xué)視覺(jué)”,選擇加"星標(biāo)"或“置頂

          重磅干貨,第一時(shí)間送達(dá)

          推薦閱讀

          42個(gè)pycharm使用技巧,瞬間從黑鐵變王者

          Google C++項(xiàng)目編程風(fēng)格指南 (中文版) 分享

          本文轉(zhuǎn)載自AI公園

          作者:Cheng He

          編譯:ronghuaiyang

          導(dǎo)讀

          將Transformer應(yīng)用到CV任務(wù)中現(xiàn)在越來(lái)越多了,這里整理了一些相關(guān)的進(jìn)展給大家。

          Transformer結(jié)構(gòu)已經(jīng)在許多自然語(yǔ)言處理任務(wù)中取得了最先進(jìn)的成果。Transformer 模型的一個(gè)主要的突破可能是今年年中發(fā)布的GPT-3,被授予NeurIPS2020“最佳論文“。

          在計(jì)算機(jī)視覺(jué)領(lǐng)域,CNN自2012年以來(lái)已經(jīng)成為視覺(jué)任務(wù)的主導(dǎo)模型。隨著出現(xiàn)了越來(lái)越高效的結(jié)構(gòu),計(jì)算機(jī)視覺(jué)和自然語(yǔ)言處理越來(lái)越收斂到一起,使用Transformer來(lái)完成視覺(jué)任務(wù)成為了一個(gè)新的研究方向,以降低結(jié)構(gòu)的復(fù)雜性,探索可擴(kuò)展性和訓(xùn)練效率。

          以下是幾個(gè)在相關(guān)工作中比較知名的項(xiàng)目:

          • DETR(End-to-End Object Detection with Transformers),使用Transformers進(jìn)行物體檢測(cè)和分割。
          • Vision Transformer (AN IMAGE IS WORTH 16X16 WORDS: Transformer FOR IMAGE RECOGNITION AT SCALE),使用Transformer 進(jìn)行圖像分類。
          • Image GPT(Generative Pretraining from Pixels),使用Transformer進(jìn)行像素級(jí)圖像補(bǔ)全,就像其他GPT文本補(bǔ)全一樣。
          • End-to-end Lane Shape Prediction with Transformers,在自動(dòng)駕駛中使用Transformer進(jìn)行車道標(biāo)記檢測(cè)

          結(jié)構(gòu)

          總的來(lái)說(shuō),在CV中采用Transformer的相關(guān)工作中主要有兩種模型架構(gòu)。一種是純Transformer結(jié)構(gòu),另一種是將CNNs/主干網(wǎng)與Transformer相結(jié)合的混合結(jié)構(gòu)。

          • 純Transformer
          • 混合型:(CNNs+ Transformer)

          Vision Transformer是基于完整的自注意力的Transformer結(jié)構(gòu)沒(méi)有使用CNN,而DETR是使用混合模型結(jié)構(gòu)的一個(gè)例子,它結(jié)合了卷積神經(jīng)網(wǎng)絡(luò)(CNNs)和Transformer。

          一些問(wèn)題

          • 為什么要在CV中使用Transformer?如何使用
          • benchmark上的結(jié)果是什么樣的?
          • *What are the constraints and challenges of using Transformer in CV?*
          • 哪種結(jié)構(gòu)更高效和靈活?為什么?

          你會(huì)在ViT、DETR和Image GPT的下面的深入研究中找到答案。

          Vision Transformer

          Vision Transformer(ViT)將純Transformer架構(gòu)直接應(yīng)用到一系列圖像塊上進(jìn)行分類任務(wù),可以取得優(yōu)異的結(jié)果。它在許多圖像分類任務(wù)上也優(yōu)于最先進(jìn)的卷積網(wǎng)絡(luò),同時(shí)所需的預(yù)訓(xùn)練計(jì)算資源大大減少(至少減少了4倍)。

          Vision Transformer模型結(jié)構(gòu)

          圖像序列patches

          它們是如何將圖像分割成固定大小的小塊,然后將這些小塊的線性投影連同它們的圖像位置一起輸入變壓器的。然后剩下的步驟就是一個(gè)干凈的和標(biāo)準(zhǔn)的Transformer編碼器和解碼器。

          在圖像patch的嵌入中加入位置嵌入,通過(guò)不同的策略在全局范圍內(nèi)保留空間/位置信息。在本文中,他們嘗試了不同的空間信息編碼方法,包括無(wú)位置信息編碼、1D/2D位置嵌入編碼和相對(duì)位置嵌入編碼。

          不同位置編碼策略的對(duì)比

          一個(gè)有趣的發(fā)現(xiàn)是,與一維位置嵌入相比,二維位置嵌入并沒(méi)有帶來(lái)顯著的性能提升。

          數(shù)據(jù)集

          該模型是從多個(gè)大型數(shù)據(jù)集上刪除了重復(fù)數(shù)據(jù)預(yù)訓(xùn)練得到的,以支持微調(diào)(較小數(shù)據(jù)集)下游任務(wù)。

          • ILSVRC-2012 ImageNet數(shù)據(jù)集有1k類和130萬(wàn)圖像
          • ImageNet-21k具有21k類和1400萬(wàn)圖像
          • JFT擁有18k類和3.03億高分辨率圖像

          模型的變體

          像其他流行的Transformer 模型(GPT、BERT、RoBERTa)一樣,ViT(vision transformer)也有不同的模型尺寸(基礎(chǔ)型、大型和巨大型)和不同數(shù)量的transformer層和heads。例如,ViT-L/16可以被解釋為一個(gè)大的(24層)ViT模型,具有16×16的輸入圖像patch大小。

          注意,輸入的patch尺寸越小,計(jì)算模型就越大,這是因?yàn)檩斎氲膒atch數(shù)目N = HW/P*P,其中(H,W)為原始圖像的分辨率,P為patch圖像的分辨率。這意味著14 x 14的patch比16 x 16的圖像patch在計(jì)算上更昂貴。

          Benchmark結(jié)果

          圖像分類的Benchmark

          以上結(jié)果表明,該模型在多個(gè)流行的基準(zhǔn)數(shù)據(jù)集上優(yōu)于已有的SOTA模型。

          在JFT-300M數(shù)據(jù)集上預(yù)訓(xùn)練的vision transformer(ViT-H/14, ViT-L/16)優(yōu)于所有測(cè)試數(shù)據(jù)集上的ResNet模型(ResNet152x4,在相同的JFT-300M數(shù)據(jù)集上預(yù)訓(xùn)練),同時(shí)在預(yù)訓(xùn)練期間占用的計(jì)算資源(TPUv3 core days)大大減少。即使是在ImageNet-21K上預(yù)訓(xùn)練的ViT也比基線表現(xiàn)更好。

          模型性能 vs 數(shù)據(jù)集大小

          預(yù)訓(xùn)練數(shù)據(jù)集大小VS模型性能

          上圖顯示了數(shù)據(jù)集大小對(duì)模型性能的影響。當(dāng)預(yù)訓(xùn)練數(shù)據(jù)集的大小較小時(shí),ViT的表現(xiàn)并不好,當(dāng)訓(xùn)練數(shù)據(jù)充足時(shí),它的表現(xiàn)優(yōu)于以前的SOTA。

          哪種結(jié)構(gòu)更高效?

          如一開(kāi)始所提到的,使用transformer進(jìn)行計(jì)算機(jī)視覺(jué)的架構(gòu)設(shè)計(jì)也有不同,有的用Transformer完全取代CNNs (ViT),有的部分取代,有的將CNNs與transformer結(jié)合(DETR)。下面的結(jié)果顯示了在相同的計(jì)算預(yù)算下各個(gè)模型結(jié)構(gòu)的性能。

          不同模型架構(gòu)的性能與計(jì)算成本

          以上實(shí)驗(yàn)表明:

          • 純Transformer架構(gòu)(ViT)在大小和計(jì)算規(guī)模上都比傳統(tǒng)的CNNs (ResNet BiT)更具效率和可擴(kuò)展性
          • 混合架構(gòu)(CNNs + Transformer)在較小的模型尺寸下性能優(yōu)于純Transformer,當(dāng)模型尺寸較大時(shí)性能非常接近

          ViT (vision transformer)的重點(diǎn)

          • 使用Transformer架構(gòu)(純或混合)
          • 輸入圖像由多個(gè)patch平鋪開(kāi)來(lái)
          • 在多個(gè)圖像識(shí)別基準(zhǔn)上擊敗了SOTA
          • 在大數(shù)據(jù)集上預(yù)訓(xùn)練更便宜
          • 更具可擴(kuò)展性和計(jì)算效率

          DETR

          DETR是第一個(gè)成功地將Transformer作為pipeline中的主要構(gòu)建塊的目標(biāo)檢測(cè)框架。它與以前的SOTA方法(高度優(yōu)化的Faster R-CNN)的性能匹配,具有更簡(jiǎn)單和更靈活的pipeline。

          DETR結(jié)合CNN和Transformer的pipeline的目標(biāo)檢測(cè)

          上圖為DETR,一種以CNN和Transformer為主要構(gòu)建塊的混合pipeline。以下是流程:

          1. CNN被用來(lái)學(xué)習(xí)圖像的二維表示并提取特征
          2. CNN的輸出是扁平化的,并輔以位置編碼,以饋入標(biāo)準(zhǔn)Transformer的編碼器
          3. Transformer的解碼器通過(guò)輸出嵌入到前饋網(wǎng)絡(luò)(FNN)來(lái)預(yù)測(cè)類別和包圍框

          更簡(jiǎn)單的Pipeline

          傳統(tǒng)目標(biāo)檢測(cè)pipeline和DETR的對(duì)比

          傳統(tǒng)的目標(biāo)檢測(cè)方法,如Faster R-CNN,有多個(gè)步驟進(jìn)行錨的生成NMS。DETR放棄了這些手工設(shè)計(jì)的組件,顯著地簡(jiǎn)化了物體檢測(cè)pipeline。

          當(dāng)擴(kuò)展到全景分割時(shí),驚人的結(jié)果

          在這篇論文中,他們進(jìn)一步擴(kuò)展了DETR的pipeline用于全景分割任務(wù),這是一個(gè)最近流行和具有挑戰(zhàn)性的像素級(jí)識(shí)別任務(wù)。為了簡(jiǎn)單解釋全景分割的任務(wù),它統(tǒng)一了2個(gè)不同的任務(wù),一個(gè)是傳統(tǒng)的語(yǔ)義分割(為每個(gè)像素分配類標(biāo)簽),另一個(gè)是實(shí)例分割(檢測(cè)并分割每個(gè)對(duì)象的實(shí)例)。使用一個(gè)模型架構(gòu)來(lái)解決兩個(gè)任務(wù)(分類和分割)是非常聰明的想法。

          像素級(jí)別的全景分割

          上圖顯示了全景分割的一個(gè)例子。通過(guò)DETR的統(tǒng)一pipeline,它超越了非常有競(jìng)爭(zhēng)力的基線。

          注意力可視化

          下圖顯示了Transformer解碼器對(duì)預(yù)測(cè)的注意力。不同物體的注意力分?jǐn)?shù)用不同的顏色表示。

          通過(guò)觀察顏色/注意力,你會(huì)驚訝于模型的能力,通過(guò)自注意在全局范圍內(nèi)理解圖像,解決重疊的包圍框的問(wèn)題。尤其是斑馬腿上的橙色,盡管它們與藍(lán)色和綠色局部重疊,但還是可以很好的分類。

          預(yù)測(cè)物體的解碼器注意力可視化

          DETR的要點(diǎn)

          • 使用Transformer得到更簡(jiǎn)單和靈活的pipeline
          • 在目標(biāo)檢測(cè)任務(wù)上可以匹配SOTA
          • 并行的更有效的直接輸出最終的預(yù)測(cè)集
          • 統(tǒng)一的目標(biāo)檢測(cè)和分割架構(gòu)
          • 大目標(biāo)的檢測(cè)性能顯著提高,但小目標(biāo)檢測(cè)性能下降

          Image GPT

          Image GPT是一個(gè)在像素序列上用圖像補(bǔ)全訓(xùn)練的GPT-2 transformer 模型。就像一般的預(yù)訓(xùn)練的語(yǔ)言模型,它被設(shè)計(jì)用來(lái)學(xué)習(xí)高質(zhì)量的無(wú)監(jiān)督圖像表示。它可以在不知道輸入圖像二維結(jié)構(gòu)的情況下自回歸預(yù)測(cè)下一個(gè)像素。

          來(lái)自預(yù)訓(xùn)練的圖像GPT的特征在一些分類基準(zhǔn)上取得了最先進(jìn)的性能,并在ImageNet上接近最先進(jìn)的無(wú)監(jiān)督精度。

          下圖顯示了由人工提供的半張圖像作為輸入生成的補(bǔ)全模型,隨后是來(lái)自模型的創(chuàng)造性補(bǔ)全。

          來(lái)自Image GPT的圖像補(bǔ)全

          Image GPT的要點(diǎn):

          • 使用與NLP中的GPT-2相同的transformer架構(gòu)
          • 無(wú)監(jiān)督學(xué)習(xí),無(wú)需人工標(biāo)記
          • 需要更多的計(jì)算來(lái)生成有競(jìng)爭(zhēng)力的表示
          • 學(xué)習(xí)到的特征在低分辨率數(shù)據(jù)集的分類基準(zhǔn)上實(shí)現(xiàn)了SOTA性能

          總結(jié)

          Transformer在自然語(yǔ)言處理中的巨大成功已經(jīng)在計(jì)算機(jī)視覺(jué)領(lǐng)域得到了探索,并成為一個(gè)新的研究方向。

          • Transformer被證明是一個(gè)簡(jiǎn)單和可擴(kuò)展的框架,用于計(jì)算機(jī)視覺(jué)任務(wù),如圖像識(shí)別、分類和分割,或僅僅學(xué)習(xí)全局圖像表示。
          • 與傳統(tǒng)方法相比,在訓(xùn)練效率上具有顯著優(yōu)勢(shì)。
          • 在架構(gòu)上,可以采用純Transformer的方式使用,也可以與cnn結(jié)合使用混合的方式使用。
          • 它也面臨著挑戰(zhàn),比如在DETR中檢測(cè)小目標(biāo)的性能較低,在Vision Transformer (ViT)中,當(dāng)預(yù)訓(xùn)練數(shù)據(jù)集較小時(shí),性能也不是很好。
          • Transformer正在成為學(xué)習(xí)序列數(shù)據(jù)(包括文本、圖像和時(shí)間序列數(shù)據(jù))的更通用的框架。

          英文原文:https://towardsdatascience.com/transformer-in-cv-bbdb58bf335e

          下載1:OpenCV-Contrib擴(kuò)展模塊中文版教程
          在「小白學(xué)視覺(jué)」公眾號(hào)后臺(tái)回復(fù):擴(kuò)展模塊中文教程即可下載全網(wǎng)第一份OpenCV擴(kuò)展模塊教程中文版,涵蓋擴(kuò)展模塊安裝、SFM算法、立體視覺(jué)、目標(biāo)跟蹤、生物視覺(jué)、超分辨率處理等二十多章內(nèi)容。

          下載2:Python視覺(jué)實(shí)戰(zhàn)項(xiàng)目31講
          小白學(xué)視覺(jué)公眾號(hào)后臺(tái)回復(fù):Python視覺(jué)實(shí)戰(zhàn)項(xiàng)目31講,即可下載包括圖像分割、口罩檢測(cè)、車道線檢測(cè)、車輛計(jì)數(shù)、添加眼線、車牌識(shí)別、字符識(shí)別、情緒檢測(cè)、文本內(nèi)容提取、面部識(shí)別等31個(gè)視覺(jué)實(shí)戰(zhàn)項(xiàng)目,助力快速學(xué)校計(jì)算機(jī)視覺(jué)。

          下載3:OpenCV實(shí)戰(zhàn)項(xiàng)目20講
          小白學(xué)視覺(jué)公眾號(hào)后臺(tái)回復(fù):OpenCV實(shí)戰(zhàn)項(xiàng)目20講,即可下載含有20個(gè)基于OpenCV實(shí)現(xiàn)20個(gè)實(shí)戰(zhàn)項(xiàng)目,實(shí)現(xiàn)OpenCV學(xué)習(xí)進(jìn)階。

          下載4:leetcode算法開(kāi)源書
          小白學(xué)視覺(jué)公眾號(hào)后臺(tái)回復(fù):leetcode,即可下載。每題都 runtime beats 100% 的開(kāi)源好書,你值得擁有!





          交流群


          歡迎加入公眾號(hào)讀者群一起和同行交流,目前有SLAM、三維視覺(jué)、傳感器、自動(dòng)駕駛、計(jì)算攝影、檢測(cè)、分割、識(shí)別、醫(yī)學(xué)影像、GAN算法競(jìng)賽等微信群(以后會(huì)逐漸細(xì)分),請(qǐng)掃描下面微信號(hào)加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺(jué)SLAM“。請(qǐng)按照格式備注,否則不予通過(guò)。添加成功后會(huì)根據(jù)研究方向邀請(qǐng)進(jìn)入相關(guān)微信群。請(qǐng)勿在群內(nèi)發(fā)送廣告,否則會(huì)請(qǐng)出群,謝謝理解~


          瀏覽 57
          點(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>
                  AAA亚洲精品国产 | 成人视频第一页 | 狠狠操成人免费黄色视频 | 国产这里只有精品 | 天天操人人摸 |