国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

DETR-《End-to-End Object Detection with Transformers》論文精讀筆記

這篇具有很好參考價值的文章主要介紹了DETR-《End-to-End Object Detection with Transformers》論文精讀筆記。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

DETR(基于Transformer架構(gòu)的目標(biāo)檢測方法開山之作)

End-to-End Object Detection with Transformers
參考:跟著李沐學(xué)AI-DETR 論文精讀【論文精讀】

摘要

在摘要部分作者,主要說明了如下幾點(diǎn):

  1. DETR是一個端到端(end-to-end)框架,釋放了傳統(tǒng)基于CNN框架的一階段(YOLO等)、二階段(FasterRCNN等)目標(biāo)檢測器中需要大量的人工參與的步驟,例如:NMS后處理或proposals/anchors/centers生成等。使其成為一個真正意義上的端到端(end-to-end)的目標(biāo)檢測框架;
  2. DETR還可以很方便地遷移到諸如全景分割等其他任務(wù)當(dāng)中,只需要在最后的FFN(前向傳播頭)之后增加分割頭等即可;
  3. DETR在當(dāng)時發(fā)表出來的時候(2020年5月左右)已經(jīng)達(dá)到了和經(jīng)過長時間調(diào)參的FasterRCNN基線一樣的精度/速度/內(nèi)存占用(基準(zhǔn)為COCO2017);

介紹

DETR模型架構(gòu)

DETR-《End-to-End Object Detection with Transformers》論文精讀筆記,研1沉淀,DETR,Transformer,encoder-decoder,object query,FFN,GIoU,matching loss

第一步,將圖片輸入到一個CNN中,得到feature map。

第二步,將圖片拉直,送入到transformer encoder-decoder。其中,encoder的作用是為了進(jìn)一步學(xué)習(xí)全局的信息,為最后的decoder(也就是為最后的出預(yù)測框做鋪墊)。使用transformer的encoder是為使得圖片中每一個特征點(diǎn)與圖片中的其他特征有交互,這樣就知道了哪塊是哪個物體。這種全局的特征非常有利于移除冗余的框(全局建模)。

第三步,decoder生成框的輸出,其中輸入decoder的不只有encoder的輸出,還有object query(用來限制decoder輸出多少個框),通過object query和特征不停的做交互(在decoder中間去做self-attention操作),從而得到最后輸出的框(論文中,作者選擇的框數(shù)量為N=100)。

第四步,計(jì)算出來的N=100個框與Ground Truth做匹配然后計(jì)算loss(本部分是DETR這篇文章中最重要的一個貢獻(xiàn))。作者使用二分圖匹配的方法去計(jì)算loss,從而決定出在預(yù)測出來的100個框中,有哪幾個框是與ground-truth框?qū)?yīng)的。匹配之后,就會和普通的目標(biāo)檢測一樣去計(jì)算分類的loss、再算bounding box的loss。剩下的沒有匹配上的框就會被標(biāo)記為沒有物體,也就是所謂的背景類。

DETR推理流程

推理的時候前三步和訓(xùn)練時保持一樣,第四步因?yàn)槭莟est過程,因此只需要在最后的輸出上設(shè)置一下置信度閾值即可得到預(yù)測框,(原始論文中,將置信度設(shè)置為0.7,即置信度大于0.7的預(yù)測就是前景物體,所有置信度小于0.7的就被當(dāng)做背景)。

DETR特性

對大物體識別效果很好(歸功于Transformer架構(gòu)的全局建模能力,而不是像原來一樣,預(yù)測的物體大小受限制于你設(shè)置的anchor大?。?,對小物體識別效果較差(后續(xù)的Deformable DETR就提出了多尺度的DETR,同時解決了DETR訓(xùn)練太慢的問題);

相關(guān)工作

  1. 集合預(yù)測(因?yàn)槭褂眉项A(yù)測來解決目標(biāo)檢測問題的工作其實(shí)并不多);
  2. Transformer架構(gòu)(同時也介紹了parallel decoding,如何不像原來的transformer一樣去做自回歸預(yù)測);
  3. 介紹了一下目標(biāo)檢測之前的相關(guān)工作,其中重點(diǎn)引用了一篇當(dāng)時最近的工作,指出原來的一階段或二階段的目標(biāo)檢測器的性能與初始的猜測(proposals/anchors/centers等)密切相關(guān),這里作者重點(diǎn)想講的就是不想使用這些復(fù)雜的人工先驗(yàn)知識,因此DETR在這個方面具有優(yōu)勢;
  4. 然后作者介紹了基于RNN的目標(biāo)檢測方法,使用的是自回歸模型,時效性就比較差,性能也會比較差;DETR使用了不帶掩碼信息的decoder之后,可以使得預(yù)測輸出同時進(jìn)行,所以DETR的時效性大大增強(qiáng)了;

文章主體部分

作者首先介紹了基于二分圖匹配的loss目標(biāo)函數(shù)(因?yàn)檫@點(diǎn)比DETR這種架構(gòu)來說更新,同時DETR架構(gòu)是比較標(biāo)準(zhǔn)的,比較容易理解的,即便是其中的object query思想,也比較容易講解,因此作者首先介紹了目標(biāo)函數(shù)),也正是因?yàn)檫@種目標(biāo)函數(shù),DETR才能做到一對一的預(yù)測出框方式。

二分圖匹配
舉例理解:假如說有三個工人abc,然后需要完成三個工作xyz,因?yàn)樗泄と说奶攸c(diǎn)不一樣,因此三個工人完成工作的時間等都不一致,因此對三個工人和三個不同的工作來說,會有一個 3 × 3 3\times3 3×3的矩陣,矩陣中對應(yīng)的每個格子具有不同的數(shù)值(這個矩陣就叫做cost matrix,也就是損失矩陣);那么,這個二分圖匹配的最終目的是:我可以給每個工人找到最擅長的工作,然后使得這三個人完成工作之后的代價最低;

匈牙利算法就是解決這樣一個問題的比較好的方式。

scripy庫中,包含匈牙利算法的實(shí)現(xiàn):line_sum_assignment。DETR原始論文中使用的也是這個;
這個方法返回的結(jié)果就是一個全面的排列:告訴你哪個人應(yīng)該做哪個事;

其實(shí),DETR將目標(biāo)檢測問題看成是集合預(yù)測問題,其中每個工人可以看成是對應(yīng)的N=100的預(yù)測框,然后xyz表示GroundTruth框;
那么,這個cost matrix矩陣的每個格子中放的就是每個預(yù)測框與GroundTruth框之間的cost(也就是loss);

這里的每個格子中表示的loss,就是分類損失和bbox loss,總的來說就是遍歷所有預(yù)測的框,將這些框與GroundTruth進(jìn)行計(jì)算loss,然后使用匈牙利算法得到最匹配的對應(yīng)的圖片中目標(biāo)數(shù)量的框;

然后,作者又說,這里與一階段/二階段的目標(biāo)檢測器一樣的道理,都是拿著預(yù)測出來的框與GroundTruth逐個計(jì)算loss。但是,唯一不同的地方在于DETR是只得到一對一的匹配關(guān)系,而不像之前方法一樣得到一對多的匹配關(guān)系,這樣DETR就不需要做后邊的NMS后處理步驟。

loss目標(biāo)函數(shù)
接下來,由于前邊步驟得到了所有匹配的框,那么現(xiàn)在才計(jì)算真正的loss來做梯度回傳。DETR在計(jì)算真正的loss(分類loss和bbox loss),其中對于分類loss,作者和原來的計(jì)算分類loss方法不一樣,而是將DETR中這個地方的log去掉(作者發(fā)現(xiàn)去掉之后效果會更好一些)。然后對于bbox loss這里,與之前的loss計(jì)算方式也有所不同,原來計(jì)算bbox loss是使用L1 loss,但是l1 loss會出現(xiàn)框越大,計(jì)算出來的loss容易越大。而同時DETR這種基于Transformer架構(gòu)的模型,對大目標(biāo)(預(yù)測出大框很友好),那么得到的loss就會比較大,不利于優(yōu)化。因此,作者不光使用了l1 loss,還使用了GIoU loss。這里的GIoU loss就是一個與框大小無關(guān)的loss函數(shù)。

DETR詳細(xì)架構(gòu)

DETR-《End-to-End Object Detection with Transformers》論文精讀筆記,研1沉淀,DETR,Transformer,encoder-decoder,object query,FFN,GIoU,matching loss

上圖中,CONV卷積神經(jīng)網(wǎng)絡(luò)的輸出向量維度為:2048x25x34,然后使用1x1的卷積將該向量維度減少到256,得到256x25x34的向量,然后使用positional embeddings進(jìn)行位置編碼得到的向量維度也是256x25x34,然后將兩個向量相加。

相加之后,將對應(yīng)的256x25x34這個向量的HW維度進(jìn)行拉直得到850x256的向量,其中850就是序列的長度,256就是Transformer的head dimension。然后,經(jīng)過encoder仍然得到850x256的向量。DETR中作者使用了6個encoder。

然后,將最后一個encoder的輸出向量(維度為:850x256),輸入到decoder中。這里,一同輸入的還有object queries(可以看作是learned embeddings,可學(xué)習(xí)的嵌入),準(zhǔn)確地說,它就是一個可學(xué)習(xí)的positional embeddings。其維度為100x256。這里可以將這個object queries作為一個條件condition,就是告訴模型,我給你一個條件,你需要得到什么結(jié)果。接著,將兩個輸入(一個來自encoder編碼器的輸出,一個來自object queries)反復(fù)做cross attention自注意力操作。最后得到一個100x256的特征。

然后,將最后一個decoder的輸出100x256維度的向量通過一個FFN(feed forward network,標(biāo)準(zhǔn)檢測頭,全連接層)。然后FFN做出來兩個預(yù)測,一個是類別,一個是bbox位置。原始的DETR是在COCO2017上進(jìn)行實(shí)驗(yàn)的,因此,這里的類別數(shù)量就是91類。

最后,將FFN的輸出與Ground Truth根據(jù)匈牙利算法計(jì)算最佳匹配,然后根據(jù)最佳匹配計(jì)算loss,然后將loss反向傳播,更新模型權(quán)重。

DETR中的一些細(xì)節(jié)

  1. decoder部分,首先在object query做自注意力操作,目的是為了移除冗余的框。因?yàn)檫@些object query做自注意力操作之后,就大概之后每個query可能得到什么樣的一個框。

  2. 最后做loss的時候,作者為了讓這個模型收斂得更快或訓(xùn)練更穩(wěn)定。作者在decoder之后加了auxiliary loss。作者在6個decoder的輸出之后都做了這個loss。這里的FFN都是共享權(quán)重。

文章實(shí)驗(yàn)部分

DETR-《End-to-End Object Detection with Transformers》論文精讀筆記,研1沉淀,DETR,Transformer,encoder-decoder,object query,FFN,GIoU,matching loss

首先,作者介紹了DETR和FasterRCNN在COCO數(shù)據(jù)集上的結(jié)果。發(fā)現(xiàn)DETR在大物體上檢測的性能更好,而小物體上還是FasterRCNN模型更好一些。這說明DETR使用了Transformer架構(gòu),具有較高的全局建模能力,因此DETR想檢測多大的目標(biāo)就檢測多大的目標(biāo),所以對大目標(biāo)友好一些。

(延伸)寫論文的技巧:當(dāng)你的想法在一個數(shù)據(jù)集a上不work的時候,有可能在數(shù)據(jù)集b上work,如果你的想法很好,但是就是不work的時候,找到一個合適的研究動機(jī)其實(shí)也是很重要的,找到一個合適的切入點(diǎn)也很重要。

DETR-《End-to-End Object Detection with Transformers》論文精讀筆記,研1沉淀,DETR,Transformer,encoder-decoder,object query,FFN,GIoU,matching loss

上圖中,作者將Transformer encoder-decoder的自注意力機(jī)制可視化??梢钥吹阶宰⒁饬C(jī)制的巨大威力,三只牛基本上的輪廓基本上都出來了。
實(shí)際上,當(dāng)你使用transformer的encoder之后,圖像上的東西就可以分的很開了,那么這個時候再去做檢測、分割等任務(wù)就很簡單了。

DETR-《End-to-End Object Detection with Transformers》論文精讀筆記,研1沉淀,DETR,Transformer,encoder-decoder,object query,FFN,GIoU,matching loss

上圖展示了不同的encoder數(shù)量對DETR最后目標(biāo)檢測精度AP的影響。可以發(fā)現(xiàn),隨著encoder層數(shù)的增加,AP精度是一直在上升的,且沒有飽和的趨勢,但是層數(shù)的增加帶來了計(jì)算量的增加。

DETR-《End-to-End Object Detection with Transformers》論文精讀筆記,研1沉淀,DETR,Transformer,encoder-decoder,object query,FFN,GIoU,matching loss

上圖中展示了DETR中decoder attention的分布情況,可以明顯看到在遮擋很嚴(yán)重的情況下,大象和小象身上的不同顏色注意力也是很區(qū)分開來的??傊珼ETR這里的encoder-decoder架構(gòu)的作用與CNN的encoder-decoder架構(gòu)的作用其實(shí)差不多是一致的。

DETR-《End-to-End Object Detection with Transformers》論文精讀筆記,研1沉淀,DETR,Transformer,encoder-decoder,object query,FFN,GIoU,matching loss

上圖展示了20個object query的可視化結(jié)果,其中每個正方形代表一個object query,每個object query中出現(xiàn)的多個點(diǎn)表示bounding box。其中,綠色的點(diǎn)表示目標(biāo)物體,紅色點(diǎn)表示水平方向的目標(biāo)物體,藍(lán)色點(diǎn)表示垂直方向的目標(biāo)物體。實(shí)際上,這里的object query和一階段目標(biāo)檢測器中的anchors差不多,只不過anchors是預(yù)先設(shè)定的,而這里的object query是通過學(xué)習(xí)得到的??傊@100個query中就像100個問問題的人一樣,每個人都會有不同的問問題的方式。需要注意的是,這些object query中都在中間有一個紅線,這表示,每個query都會去詢問圖片中間是否包含大的目標(biāo)物體,這是因?yàn)镃OCO數(shù)據(jù)集的問題,因?yàn)镃OCO數(shù)據(jù)集中很多圖片中心都會有一些大物體。

總結(jié)

一些基于DETR改進(jìn)的新工作:
Omni DETR, Up DETR, PnP DETR, Smac DETR, Deformable DETR, DAB DETR, Sam DETR, DN DETR, OW DETR, OV DETR,

pixel to sequence(把輸入輸出全部搞成序列形式,從而與NLP那邊完美兼容)文章來源地址http://www.zghlxwxcb.cn/news/detail-667681.html

到了這里,關(guān)于DETR-《End-to-End Object Detection with Transformers》論文精讀筆記的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • DEFORMABLE DETR: DEFORMABLE TRANSFORMERS FOR END-TO-END OBJECT DETECTION 論文精讀筆記

    DEFORMABLE DETR: DEFORMABLE TRANSFORMERS FOR END-TO-END OBJECT DETECTION 論文精讀筆記

    DEFORMABLE DETR: DEFORMABLE TRANSFORMERS FOR END-TO-END OBJECT DETECTION 參考:AI-雜貨鋪-Transformer跨界CV又一佳作!Deformable DETR:超強(qiáng)的小目標(biāo)檢測算法! 摘要 摘要部分,作者主要說明了如下幾點(diǎn): 為了解決DETR中使用Transformer架構(gòu)在處理圖像特征圖時的局限性而導(dǎo)致的收斂速度慢,特征空間

    2024年02月10日
    瀏覽(19)
  • End-to-End Object Detection with Transformers(論文解析)

    End-to-End Object Detection with Transformers(論文解析)

    我們提出了一種將目標(biāo)檢測視為直接集合預(yù)測問題的新方法。我們的方法簡化了檢測流程,有效地消除了許多手工設(shè)計(jì)的組件的需求,如顯式編碼我們關(guān)于任務(wù)的先驗(yàn)知識的非極大值抑制過程或錨點(diǎn)生成。新框架的主要要素,稱為DEtection TRansformer或DETR,包括一個基于集合的全

    2024年02月09日
    瀏覽(27)
  • DINO:DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection

    DINO:DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection

    論文名稱: DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection 發(fā)表時間:ICLR2023 作者及組織:Shilong Liu, Feng Li等,來自IDEA、港中文、清華。 ?該篇論文在DN-DETR基礎(chǔ)上,額外引進(jìn)3個trick進(jìn)一步增強(qiáng)DETR的性能:在12epoch下coco上達(dá)到了49.0map。本文將分別介紹這3個trick,

    2024年01月18日
    瀏覽(26)
  • 《Dense Distinct Query for End-to-End Object Detection》論文筆記(ing)

    《Dense Distinct Query for End-to-End Object Detection》論文筆記(ing)

    作者這里認(rèn)為傳統(tǒng)個目標(biāo)檢測的anchor/anchorpoint其實(shí)跟detr中的query作用一樣,可以看作query (1)dense query:傳統(tǒng)目標(biāo)檢測生成一堆密集anchor,但是one to many需要NMS去除重復(fù)框,無法end to end。 (2)spare query 在one2one:egDETR,100個qeury,數(shù)量太少造成稀疏監(jiān)督,收斂慢召回率低。 (

    2024年01月25日
    瀏覽(23)
  • 圖像 跟蹤 - MOTR: End-to-End Multiple-Object Tracking with Transformer (ECCV 2022)

    圖像 跟蹤 - MOTR: End-to-End Multiple-Object Tracking with Transformer (ECCV 2022)

    聲明:此翻譯僅為個人學(xué)習(xí)記錄 文章信息 標(biāo)題: MOTR: End-to-End Multiple-Object Tracking with Transformer (ECCV 2022) 作者: Fangao Zeng*, Bin Dong*, Yuang Zhang*, Tiancai Wang, Xiangyu Zhang, and Yichen Wei (*Equal contribution, **Corresponding author) 文章鏈接:https://arxiv.org/pdf/2105.03247.pdf 文章代碼:https://github.co

    2024年02月13日
    瀏覽(25)
  • 【論文筆記】An End-to-End Framework of Road User Detection, Tracking, and Prediction from Monocular Images

    【論文筆記】An End-to-End Framework of Road User Detection, Tracking, and Prediction from Monocular Images

    原文鏈接:https://arxiv.org/abs/2308.05026 目前的軌跡預(yù)測方法多基于道路使用者的真實(shí)信息,但在實(shí)際自動駕駛系統(tǒng)中這些信息是通過檢測和跟蹤模塊得到的,不可避免的存在噪聲。本文將感知模塊與軌跡預(yù)測整合,進(jìn)行端到端的檢測、跟蹤和軌跡預(yù)測。 本文感知模塊使用單目圖

    2024年04月28日
    瀏覽(23)
  • 【論文閱讀】DeepVO: Towards End-to-End Visual Odometry with Deep Recurrent Convolutional Neural Networks

    【論文閱讀】DeepVO: Towards End-to-End Visual Odometry with Deep Recurrent Convolutional Neural Networks

    相較于傳統(tǒng)的視覺里程計(jì),端到端的方法可以認(rèn)為是把特征提取、匹配、位姿估計(jì)等模塊用深度學(xué)習(xí)模型進(jìn)行了替代。不同于那種用深度學(xué)習(xí)模型取代里程計(jì)框架一部分的算法,端到端的視覺里程計(jì)是直接將整個任務(wù)替換為深度學(xué)習(xí),輸入依然是圖像流,結(jié)果也依然是位姿,

    2024年03月18日
    瀏覽(30)
  • 論文解讀《EPro-PnP: Generalized End-to-End Probabilistic Perspective-n-Points for Monocular Object Pose 》

    論文解讀《EPro-PnP: Generalized End-to-End Probabilistic Perspective-n-Points for Monocular Object Pose 》

    論文:《EPro-PnP: Generalized End-to-End Probabilistic Perspective-n-Points for Monocular Object Pose Estimation》 Code:https://github.com/tjiiv-cprg/epro-pnp (909 star) 作者的視頻簡單介紹:https://www.bilibili.com/video/BV13T411E7kb 摘要: 解決問題: 對于6D位姿估計(jì),基于幾何(PnP)的方法性能要好一些,但以前

    2024年02月03日
    瀏覽(21)
  • End-to-end 3D Human Pose Estimation with Transformer

    End-to-end 3D Human Pose Estimation with Transformer

    基于Transformer的端到端三維人體姿態(tài)估計(jì) 基于Transformer的架構(gòu)已經(jīng)成為自然語言處理中的常見選擇,并且現(xiàn)在正在計(jì)算機(jī)視覺任務(wù)中實(shí)現(xiàn)SOTA性能,例如圖像分類,對象檢測。然而,卷積方法在3D人體姿態(tài)估計(jì)的許多方法中仍然保持SOTA性能。受視覺變換器最近發(fā)展的啟發(fā),我們

    2024年02月08日
    瀏覽(22)
  • END-TO-END OPTIMIZED IMAGE COMPRESSION論文閱讀

    END-TO-END OPTIMIZED IMAGE COMPRESSION論文閱讀

    END-TO-END OPTIMIZED IMAGE COMPRESSION 單詞 image compression 圖像壓縮 quantizer 量化器 rate–distortion performance率失真性能 a variant of 什么什么的一個變體 construct 構(gòu)造 entropy 熵 discrete value 離散值 摘要: We describe an image compression method, consisting of a nonlinear analysis transformation, a uniform quantizer,

    2024年02月12日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包