在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            博客專欄

            EEPW首頁 > 博客 > Anchor-free目標(biāo)檢測(cè) | 工業(yè)應(yīng)用更友好的新網(wǎng)絡(luò)(2)

            Anchor-free目標(biāo)檢測(cè) | 工業(yè)應(yīng)用更友好的新網(wǎng)絡(luò)(2)

            發(fā)布人:CV研究院 時(shí)間:2021-09-16 來源:工程師 發(fā)布文章

            4.3)討論

            ① 一張圖片最多可以檢測(cè)出49個(gè)對(duì)象

            每個(gè)30維向量中只有一組(20個(gè))對(duì)象分類的概率,也就只能預(yù)測(cè)出一個(gè)對(duì)象。所以輸出的 7*7=49個(gè) 30維向量,最多表示出49個(gè)對(duì)象。

            ② 總共有 49*2=98 個(gè)候選區(qū)(bounding box)

            每個(gè)30維向量中有2組bounding box,所以總共是98個(gè)候選區(qū)。

            ③ YOLO的bounding box并不是Faster RCNN的Anchor

            Faster RCNN等一些算法采用每個(gè)grid中手工設(shè)置n個(gè)Anchor(先驗(yàn)框,預(yù)先設(shè)置好位置的bounding box)的設(shè)計(jì),每個(gè)Anchor有不同的大小和寬高比。YOLO的bounding box看起來很像一個(gè)grid中2個(gè)Anchor,但它們不是。YOLO并沒有預(yù)先設(shè)置2個(gè)bounding box的大小和形狀,也沒有對(duì)每個(gè)bounding box分別輸出一個(gè)對(duì)象的預(yù)測(cè)。它的意思僅僅是對(duì)一個(gè)對(duì)象預(yù)測(cè)出2個(gè)bounding box,選擇預(yù)測(cè)得相對(duì)比較準(zhǔn)的那個(gè)。

            這里采用2個(gè)bounding box,有點(diǎn)不完全算監(jiān)督算法,而是像進(jìn)化算法。如果是監(jiān)督算法,我們需要事先根據(jù)樣本就能給出一個(gè)正確的bounding box作為回歸的目標(biāo)。但YOLO的2個(gè)bounding box事先并不知道會(huì)在什么位置,只有經(jīng)過前向計(jì)算,網(wǎng)絡(luò)會(huì)輸出2個(gè)bounding box,這兩個(gè)bounding box與樣本中對(duì)象實(shí)際的bounding box計(jì)算IOU。這時(shí)才能確定,IOU值大的那個(gè)bounding box,作為負(fù)責(zé)預(yù)測(cè)該對(duì)象的bounding box。

            訓(xùn)練開始階段,網(wǎng)絡(luò)預(yù)測(cè)的bounding box可能都是亂來的,但總是選擇IOU相對(duì)好一些的那個(gè),隨著訓(xùn)練的進(jìn)行,每個(gè)bounding box會(huì)逐漸擅長(zhǎng)對(duì)某些情況的預(yù)測(cè)(可能是對(duì)象大小、寬高比、不同類型的對(duì)象等)。所以,這是一種進(jìn)化或者非監(jiān)督學(xué)習(xí)的思想。

            另外論文中經(jīng)常提到responsible。比如:Our system divides the input image into an S*S grid. If the center of an object falls into a grid cell, that grid cell is responsible for detecting that object. 這個(gè) responsible 有點(diǎn)讓人疑惑,對(duì)預(yù)測(cè)"負(fù)責(zé)"是啥意思。其實(shí)沒啥特別意思,就是一個(gè)Object只由一個(gè)grid來進(jìn)行預(yù)測(cè),不要多個(gè)grid都搶著預(yù)測(cè)同一個(gè)Object。更具體一點(diǎn)說,就是在設(shè)置訓(xùn)練樣本的時(shí)候,樣本中的每個(gè)Object歸屬到且僅歸屬到一個(gè)grid,即便有時(shí)Object跨越了幾個(gè)grid,也僅指定其中一個(gè)。具體就是計(jì)算出該Object的bounding box的中心位置,這個(gè)中心位置落在哪個(gè)grid,該grid對(duì)應(yīng)的輸出向量中該對(duì)象的類別概率是1(該gird負(fù)責(zé)預(yù)測(cè)該對(duì)象),所有其它grid對(duì)該Object的預(yù)測(cè)概率設(shè)為0(不負(fù)責(zé)預(yù)測(cè)該對(duì)象)。

            還有:YOLO predicts multiple bounding boxes per grid cell. At training time we only want one bounding box predictor to be responsible for each object. 同樣,雖然一個(gè)grid中會(huì)產(chǎn)生2個(gè)bounding box,但我們會(huì)選擇其中一個(gè)作為預(yù)測(cè)結(jié)果,另一個(gè)會(huì)被忽略。下面構(gòu)造訓(xùn)練樣本的部分會(huì)看的更清楚。

            ④ 可以調(diào)整網(wǎng)格數(shù)量、bounding box數(shù)量

            7*7網(wǎng)格,每個(gè)網(wǎng)格2個(gè)bounding box,對(duì)448*448輸入圖像來說覆蓋粒度有點(diǎn)粗。我們也可以設(shè)置更多的網(wǎng)格以及更多的bounding box。設(shè)網(wǎng)格數(shù)量為 S*S,每個(gè)網(wǎng)格產(chǎn)生B個(gè)邊框,網(wǎng)絡(luò)支持識(shí)別C個(gè)不同的對(duì)象。這時(shí),輸出的向量長(zhǎng)度為:

            12.png


            YOLO選擇的參數(shù)是 7*7網(wǎng)格,2個(gè)bounding box,20種對(duì)象,因此 輸出向量長(zhǎng)度 = 20 + 2 * (4+1) = 30。整個(gè)輸出的tensor就是 7*7*30。

            因?yàn)榫W(wǎng)格和bounding box設(shè)置的比較稀疏,所以這個(gè)版本的YOLO訓(xùn)練出來后預(yù)測(cè)的準(zhǔn)確率和召回率都不是很理想,后續(xù)的v2、v3版本還會(huì)改進(jìn)。當(dāng)然,因?yàn)槠渌俣饶軌驖M足實(shí)時(shí)處理的要求,所以對(duì)工業(yè)界還是挺有吸引力的。

            5)訓(xùn)練樣本構(gòu)造

            作為監(jiān)督學(xué)習(xí),我們需要先構(gòu)造好訓(xùn)練樣本,才能讓模型從中學(xué)習(xí)。

            13.jpg

            對(duì)于一張輸入圖片,其對(duì)應(yīng)輸出的7*7*30張量(也就是通常監(jiān)督學(xué)習(xí)所說的標(biāo)簽y或者label)應(yīng)該填寫什么數(shù)據(jù)呢。

            首先,輸出的 7*7維度 對(duì)應(yīng)于輸入的 7*7 網(wǎng)格;然后具體看下30維向量的填寫。

            ① 20個(gè)對(duì)象分類的概率

            對(duì)于輸入圖像中的每個(gè)對(duì)象,先找到其中心點(diǎn)。比如圖8中的自行車,其中心點(diǎn)在黃色圓點(diǎn)位置,中心點(diǎn)落在黃色網(wǎng)格內(nèi),所以這個(gè)黃色網(wǎng)格對(duì)應(yīng)的30維向量中,自行車的概率是1,其它對(duì)象的概率是0。所有其它48個(gè)網(wǎng)格的30維向量中,該自行車的概率都是0。這就是所謂的"中心點(diǎn)所在的網(wǎng)格對(duì)預(yù)測(cè)該對(duì)象負(fù)責(zé)"。狗和汽車的分類概率也是同樣的方法填寫。

            ② 2個(gè)bounding box的位置

            訓(xùn)練樣本的bounding box位置應(yīng)該填寫對(duì)象實(shí)際的bounding box,但一個(gè)對(duì)象對(duì)應(yīng)了2個(gè)bounding box,該填哪一個(gè)呢?上面討論過,需要根據(jù)網(wǎng)絡(luò)輸出的bounding box與對(duì)象實(shí)際bounding box的IOU來選擇,所以要在訓(xùn)練過程中動(dòng)態(tài)決定到底填哪一個(gè)bounding box。參考下面第③點(diǎn)。

            ③ 2個(gè)bounding box的置信度

            上面討論過置信度公式:

            14.png

            6)損失函數(shù)

            損失就是網(wǎng)絡(luò)實(shí)際輸出值與樣本標(biāo)簽值之間的偏差。

            15.jpg

            YOLO給出的損失函數(shù)如下

            16.jpg

            DenseBox和YOLO的區(qū)別:

            1.DenseBox最初應(yīng)用于人臉檢測(cè),相當(dāng)于只有兩類,而YOLO是通用檢測(cè),通常大于兩類。

            2.DenseBox是密集預(yù)測(cè),對(duì)每個(gè)pixel進(jìn)行預(yù)測(cè),而YOLO先將圖片進(jìn)行網(wǎng)格化,對(duì)每個(gè)grid cell進(jìn)行預(yù)測(cè),所以前者更適合于小目標(biāo),后者更適合于大目標(biāo)。

            3.DenseBox的gt通過bbox中心圓形區(qū)域確定的,而YOLO的gt由bbox中心點(diǎn)落入的grid cell確定的。

            CornerNet:

            下圖,經(jīng)過特征提取主干網(wǎng)絡(luò)(主干網(wǎng)絡(luò)為Hourglass-104)后分為兩個(gè)分支(兩個(gè)分支分別接前面提到的corner pooling,隨后細(xì)談),一個(gè)分支生成目標(biāo)左上點(diǎn)熱力圖,一個(gè)分支生成目標(biāo)右下點(diǎn)熱力圖,而此時(shí)兩個(gè)熱力圖并沒有建立聯(lián)系,因此無法確定兩點(diǎn)是夠?qū)儆谕荒繕?biāo),因此兩分支同時(shí)生成embeddings,通過判斷兩個(gè)embedding vector的相似性確定同一物體(距離小于某一閾值則劃為同一目標(biāo))。

            17.png

            1、輸入一張圖像,經(jīng)過backbone網(wǎng)絡(luò)(Hourglass network)后,得到feature map。

            2、將feature map同時(shí)輸入到兩個(gè)branch,分別用于預(yù)測(cè)Top-Left Corners和Bottom-right Corners。

            3、兩個(gè)branch都會(huì)先經(jīng)過一個(gè)叫Corner Pooling的網(wǎng)絡(luò),最后輸出三個(gè)結(jié)果,分別是Heatmaps、Embeddings、Offsets。

            4、根據(jù)Heatmaps能夠得到物體的左上角點(diǎn)和右下角點(diǎn),根據(jù)Offsets對(duì)左上角和右下角點(diǎn)位置進(jìn)行更加精細(xì)的微調(diào),根據(jù)Embeddings可以將同一個(gè)物體的左上角和右下角點(diǎn)進(jìn)行匹配。得到到最終的目標(biāo)框。

            18.png

            1:怎么檢測(cè)這個(gè)兩個(gè)點(diǎn)?生成keypoint的heatmap,heatmap中響應(yīng)值最大的位置就是點(diǎn)的位置。

            2:怎么知道這兩個(gè)點(diǎn)所組成的框包含物體的類別?每個(gè)heatmaps集合的形式都是CxHxW,其中C代表的是檢測(cè)目標(biāo)的類別數(shù),H和W則代表的heatmap的分辨率,Corner響應(yīng)值最大所在的channel即對(duì)應(yīng)了物體的類別。

            3:當(dāng)圖像中有多個(gè)物體時(shí),怎么知道哪些點(diǎn)可以組成框?(哪些左上角的點(diǎn)和哪些右下角的點(diǎn)能夠組成有效的框)生成embedding向量,用向量的距離衡量?jī)蓚€(gè)Corner是否可以組成對(duì)。

            4:Loss是什么形式?loss總共分了三個(gè)部分,一部分是用于定位keypoint點(diǎn)的detecting loss,一個(gè)是用于精確定位的offset loss,一個(gè)是用于對(duì)Corner點(diǎn)進(jìn)行配對(duì)的grouping loss。

            5:網(wǎng)絡(luò)結(jié)構(gòu)是怎么樣的?使用Hourglass作為backbone,使用Corner Pooling構(gòu)造了prediction module,用來得到最終的結(jié)果。

            6:有沒有什么比較新奇的東西?提出的Corner Pooling,第一次使用檢測(cè)點(diǎn)的方法檢測(cè)物體。

            *博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。

            隔離器相關(guān)文章:隔離器原理


            關(guān)鍵詞: AI

            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉