在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    YOLO算法最全綜述:從YOLOv1到Y(jié)OLOv5

    YOLO算法最全綜述:從YOLOv1到Y(jié)OLOv5

    本文共8000字,建議閱讀15分鐘

    本文為大家介紹了YOLO算法的最全綜述。

    YOLO官網(wǎng):

    https://github.com/pjreddie/darknet

    YOLO v.s Faster R-CNN

    1.統(tǒng)一網(wǎng)絡(luò):YOLO沒(méi)有顯示求取region proposal的過(guò)程。Faster R-CNN中盡管RPN與fast rcnn共享卷積層,但是在模型訓(xùn)練過(guò)程中,需要反復(fù)訓(xùn)練RPN網(wǎng)絡(luò)和fast rcnn網(wǎng)絡(luò).相對(duì)于R-CNN系列的”看兩眼”(候選框提取與分類),YOLO只需要Look Once.

    2. YOLO統(tǒng)一為一個(gè)回歸問(wèn)題,而R-CNN將檢測(cè)結(jié)果分為兩部分求解:物體類別(分類問(wèn)題),物體位置即bounding box(回歸問(wèn)題)。

    YOLOv1

    論文下載:http://arxiv.org/abs/1506.02640

    代碼下載:https://github.com/pjreddie/darknet

    核心思想:將整張圖片作為網(wǎng)絡(luò)的輸入(類似于Faster-RCNN),直接在輸出層對(duì)BBox的位置和類別進(jìn)行回歸。

    實(shí)現(xiàn)方法

    • 將一幅圖像分成SxS個(gè)網(wǎng)格(grid cell),如果某個(gè)object的中心 落在這個(gè)網(wǎng)格中,則這個(gè)網(wǎng)格就負(fù)責(zé)預(yù)測(cè)這個(gè)object。

    • 每個(gè)網(wǎng)絡(luò)需要預(yù)測(cè)B個(gè)BBox的位置信息和confidence(置信度)信息,一個(gè)BBox對(duì)應(yīng)著四個(gè)位置信息和一個(gè)confidence信息。confidence代表了所預(yù)測(cè)的box中含有object的置信度和這個(gè)box預(yù)測(cè)的有多準(zhǔn)兩重信息:

    其中如果有object落在一個(gè)grid cell里,第一項(xiàng)取1,否則取0。第二項(xiàng)是預(yù)測(cè)的bounding box和實(shí)際的groundtruth之間的IoU值。

    • 每個(gè)bounding box要預(yù)測(cè)(x, y, w, h)和confidence共5個(gè)值,每個(gè)網(wǎng)格還要預(yù)測(cè)一個(gè)類別信息,記為C類。則SxS個(gè)網(wǎng)格,每個(gè)網(wǎng)格要預(yù)測(cè)B個(gè)bounding box還要預(yù)測(cè)C個(gè)categories。輸出就是S x S x (5*B+C)的一個(gè)tensor。(注意:class信息是針對(duì)每個(gè)網(wǎng)格的,confidence信息是針對(duì)每個(gè)bounding box的。)
    • 舉例說(shuō)明: 在PASCAL VOC中,圖像輸入為448×448,取S=7,B=2,一共有20個(gè)類別(C=20)。則輸出就是7x7x30的一個(gè)tensor。整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)如下圖所示:

    • 在test的時(shí)候,每個(gè)網(wǎng)格預(yù)測(cè)的class信息和bounding box預(yù)測(cè)的confidence信息相乘,就得到每個(gè)bounding box的class-specific confidence score:

    等式左邊第一項(xiàng)就是每個(gè)網(wǎng)格預(yù)測(cè)的類別信息,第二三項(xiàng)就是每個(gè)bounding box預(yù)測(cè)的confidence。這個(gè)乘積即encode了預(yù)測(cè)的box屬于某一類的概率,也有該box準(zhǔn)確度的信息。

    • 得到每個(gè)box的class-specific confidence score以后,設(shè)置閾值,濾掉得分低的boxes,對(duì)保留的boxes進(jìn)行NMS處理,就得到最終的檢測(cè)結(jié)果。

    簡(jiǎn)單的概括就是:

    (1) 給個(gè)一個(gè)輸入圖像,首先將圖像劃分成7*7的網(wǎng)格

    (2) 對(duì)于每個(gè)網(wǎng)格,我們都預(yù)測(cè)2個(gè)邊框(包括每個(gè)邊框是目標(biāo)的置信度以及每個(gè)邊框區(qū)域在多個(gè)類別上的概率)

    (3) 根據(jù)上一步可以預(yù)測(cè)出7*7*2個(gè)目標(biāo)窗口,然后根據(jù)閾值去除可能性比較低的目標(biāo)窗口,最后NMS去除冗余窗口即可

    損失函數(shù)

    在實(shí)現(xiàn)中,最主要的就是怎么設(shè)計(jì)損失函數(shù),讓這個(gè)三個(gè)方面得到很好的平衡。作者簡(jiǎn)單粗暴的全部采用了sum-squared error loss來(lái)做這件事。

    這種做法存在以下幾個(gè)問(wèn)題:

    • 第一,8維的localization error和20維的classification error同等重要顯然是不合理的;
    • 第二,如果一個(gè)網(wǎng)格中沒(méi)有object(一幅圖中這種網(wǎng)格很多),那么就會(huì)將這些網(wǎng)格中的box的confidence push到0,相比于較少的有object的網(wǎng)格,這種做法是overpowering的,這會(huì)導(dǎo)致網(wǎng)絡(luò)不穩(wěn)定甚至發(fā)散。

    解決辦法:

    • 更重視8維的坐標(biāo)預(yù)測(cè),給這些損失前面賦予更大的loss weight。
    • 對(duì)沒(méi)有object的box的confidence loss,賦予小的loss weight。
    • 有object的box的confidence loss和類別的loss的loss weight正常取1。

    對(duì)不同大小的box預(yù)測(cè)中,相比于大box預(yù)測(cè)偏一點(diǎn),小box預(yù)測(cè)偏一點(diǎn)肯定更不能被忍受的。而sum-square error loss中對(duì)同樣的偏移loss是一樣。

    為了緩和這個(gè)問(wèn)題,作者用了一個(gè)比較取巧的辦法,就是將box的width和height取平方根代替原本的height和width。這個(gè)參考下面的圖很容易理解,小box的橫軸值較小,發(fā)生偏移時(shí),反應(yīng)到y(tǒng)軸上相比大box要大。(也是個(gè)近似逼近方式)

    一個(gè)網(wǎng)格預(yù)測(cè)多個(gè)box,希望的是每個(gè)box predictor專門負(fù)責(zé)預(yù)測(cè)某個(gè)object。具體做法就是看當(dāng)前預(yù)測(cè)的box與ground truth box中哪個(gè)IoU大,就負(fù)責(zé)哪個(gè)。這種做法稱作box predictor的specialization。

    最后整個(gè)的損失函數(shù)如下所示:

    這個(gè)損失函數(shù)中:

    • 只有當(dāng)某個(gè)網(wǎng)格中有object的時(shí)候才對(duì)classification error進(jìn)行懲罰。
    • 只有當(dāng)某個(gè)box predictor對(duì)某個(gè)ground truth box負(fù)責(zé)的時(shí)候,才會(huì)對(duì)box的coordinate error進(jìn)行懲罰,而對(duì)哪個(gè)ground truth box負(fù)責(zé)就看其預(yù)測(cè)值和ground truth box的IoU是不是在那個(gè)cell的所有box中最大。

    其他細(xì)節(jié),例如使用激活函數(shù)使用leak RELU,模型用ImageNet預(yù)訓(xùn)練等等

    優(yōu)點(diǎn)

    • 快速,pipline簡(jiǎn)單.
    • 背景誤檢率低。
    • 通用性強(qiáng)。YOLO對(duì)于藝術(shù)類作品中的物體檢測(cè)同樣適用。它對(duì)非自然圖像物體的檢測(cè)率遠(yuǎn)遠(yuǎn)高于DPM和RCNN系列檢測(cè)方法。

    缺點(diǎn)

    • 由于輸出層為全連接層,因此在檢測(cè)時(shí),YOLO訓(xùn)練模型只支持與訓(xùn)練圖像相同的輸入分辨率。
    • 雖然每個(gè)格子可以預(yù)測(cè)B個(gè)bounding box,但是最終只選擇只選擇IOU最高的bounding box作為物體檢測(cè)輸出,即每個(gè)格子最多只預(yù)測(cè)出一個(gè)物體。當(dāng)物體占畫面比例較小,如圖像中包含畜群或鳥群時(shí),每個(gè)格子包含多個(gè)物體,但卻只能檢測(cè)出其中一個(gè)。這是YOLO方法的一個(gè)缺陷。
    • YOLO loss函數(shù)中,大物體IOU誤差和小物體IOU誤差對(duì)網(wǎng)絡(luò)訓(xùn)練中l(wèi)oss貢獻(xiàn)值接近(雖然采用求平方根方式,但沒(méi)有根本解決問(wèn)題)。因此,對(duì)于小物體,小的IOU誤差也會(huì)對(duì)網(wǎng)絡(luò)優(yōu)化過(guò)程造成很大的影響,從而降低了物體檢測(cè)的定位準(zhǔn)確性。

    YOLOv2(YOLO9000)

    論文地址:https://arxiv.org/abs/1612.08242

    YOLOv2相對(duì)v1版本,在繼續(xù)保持處理速度的基礎(chǔ)上,從預(yù)測(cè)更準(zhǔn)確(Better),速度更快(Faster),識(shí)別對(duì)象更多(Stronger)這三個(gè)方面進(jìn)行了改進(jìn)。其中識(shí)別更多對(duì)象也就是擴(kuò)展到能夠檢測(cè)9000種不同對(duì)象,稱之為YOLO9000。

    文章提出了一種新的訓(xùn)練方法–聯(lián)合訓(xùn)練算法,這種算法可以把這兩種的數(shù)據(jù)集混合到一起。使用一種分層的觀點(diǎn)對(duì)物體進(jìn)行分類,用巨量的分類數(shù)據(jù)集數(shù)據(jù)來(lái)擴(kuò)充檢測(cè)數(shù)據(jù)集,從而把兩種不同的數(shù)據(jù)集混合起來(lái)。

    聯(lián)合訓(xùn)練算法的基本思路就是:同時(shí)在檢測(cè)數(shù)據(jù)集和分類數(shù)據(jù)集上訓(xùn)練物體檢測(cè)器(Object Detectors ),用檢測(cè)數(shù)據(jù)集的數(shù)據(jù)學(xué)習(xí)物體的準(zhǔn)確位置,用分類數(shù)據(jù)集的數(shù)據(jù)來(lái)增加分類的類別量、提升健壯性。

    YOLO9000就是使用聯(lián)合訓(xùn)練算法訓(xùn)練出來(lái)的,他擁有9000類的分類信息,這些分類信息學(xué)習(xí)自ImageNet分類數(shù)據(jù)集,而物體位置檢測(cè)則學(xué)習(xí)自COCO檢測(cè)數(shù)據(jù)集。

    YOLOv2相比YOLOv1的改進(jìn)策略

    改進(jìn):

    Batch Normalization(批量歸一化)

    mAP提升2.4%。

    批歸一化有助于解決反向傳播過(guò)程中的梯度消失和梯度爆炸問(wèn)題,降低對(duì)一些超參數(shù)(比如學(xué)習(xí)率、網(wǎng)絡(luò)參數(shù)的大小范圍、激活函數(shù)的選擇)的敏感性,并且每個(gè)batch分別進(jìn)行歸一化的時(shí)候,起到了一定的正則化效果(YOLO2不再使用dropout),從而能夠獲得更好的收斂速度和收斂效果。

    通常,一次訓(xùn)練會(huì)輸入一批樣本(batch)進(jìn)入神經(jīng)網(wǎng)絡(luò)。批規(guī)一化在神經(jīng)網(wǎng)絡(luò)的每一層,在網(wǎng)絡(luò)(線性變換)輸出后和激活函數(shù)(非線性變換)之前增加一個(gè)批歸一化層(BN),BN層進(jìn)行如下變換:①對(duì)該批樣本的各特征量(對(duì)于中間層來(lái)說(shuō),就是每一個(gè)神經(jīng)元)分別進(jìn)行歸一化處理,分別使每個(gè)特征的數(shù)據(jù)分布變換為均值0,方差1。從而使得每一批訓(xùn)練樣本在每一層都有類似的分布。這一變換不需要引入額外的參數(shù)。②對(duì)上一步的輸出再做一次線性變換,假設(shè)上一步的輸出為Z,則Z1=γZ + β。這里γ、β是可以訓(xùn)練的參數(shù)。增加這一變換是因?yàn)樯弦徊襟E中強(qiáng)制改變了特征數(shù)據(jù)的分布,可能影響了原有數(shù)據(jù)的信息表達(dá)能力。增加的線性變換使其有機(jī)會(huì)恢復(fù)其原本的信息。

    關(guān)于批規(guī)一化的更多信息可以參考 Batch Normalization原理與實(shí)戰(zhàn)。

    High resolution classifier(高分辨率圖像分類器)

    mAP提升了3.7%。

    圖像分類的訓(xùn)練樣本很多,而標(biāo)注了邊框的用于訓(xùn)練對(duì)象檢測(cè)的樣本相比而言就比較少了,因?yàn)闃?biāo)注邊框的人工成本比較高。所以對(duì)象檢測(cè)模型通常都先用圖像分類樣本訓(xùn)練卷積層,提取圖像特征。但這引出的另一個(gè)問(wèn)題是,圖像分類樣本的分辨率不是很高。所以YOLO v1使用ImageNet的圖像分類樣本采用 224*224 作為輸入,來(lái)訓(xùn)練CNN卷積層。然后在訓(xùn)練對(duì)象檢測(cè)時(shí),檢測(cè)用的圖像樣本采用更高分辨率的 448*448 的圖像作為輸入。但這樣切換對(duì)模型性能有一定影響。

    所以YOLO2在采用 224*224 圖像進(jìn)行分類模型預(yù)訓(xùn)練后,再采用 448*448 的高分辨率樣本對(duì)分類模型進(jìn)行微調(diào)(10個(gè)epoch),使網(wǎng)絡(luò)特征逐漸適應(yīng) 448*448 的分辨率。然后再使用 448*448 的檢測(cè)樣本進(jìn)行訓(xùn)練,緩解了分辨率突然切換造成的影響。

    Convolution with anchor boxes(使用先驗(yàn)框)

    召回率大幅提升到88%,同時(shí)mAP輕微下降了0.2。

    YOLOV1包含有全連接層,從而能直接預(yù)測(cè)Bounding Boxes的坐標(biāo)值。Faster R-CNN的方法只用卷積層與Region Proposal Network來(lái)預(yù)測(cè)Anchor Box的偏移值與置信度,而不是直接預(yù)測(cè)坐標(biāo)值。作者發(fā)現(xiàn)通過(guò)預(yù)測(cè)偏移量而不是坐標(biāo)值能夠簡(jiǎn)化問(wèn)題,讓神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)起來(lái)更容易。

    借鑒Faster RCNN的做法,YOLO2也嘗試采用先驗(yàn)框(anchor)。在每個(gè)grid預(yù)先設(shè)定一組不同大小和寬高比的邊框,來(lái)覆蓋整個(gè)圖像的不同位置和多種尺度,這些先驗(yàn)框作為預(yù)定義的候選區(qū)在神經(jīng)網(wǎng)絡(luò)中將檢測(cè)其中是否存在對(duì)象,以及微調(diào)邊框的位置。

    之前YOLO1并沒(méi)有采用先驗(yàn)框,并且每個(gè)grid只預(yù)測(cè)兩個(gè)bounding box,整個(gè)圖像98個(gè)。YOLO2如果每個(gè)grid采用9個(gè)先驗(yàn)框,總共有13*13*9=1521個(gè)先驗(yàn)框。所以最終YOLO去掉了全連接層,使用Anchor Boxes來(lái)預(yù)測(cè) Bounding Boxes。作者去掉了網(wǎng)絡(luò)中一個(gè)Pooling層,這讓卷積層的輸出能有更高的分辨率。收縮網(wǎng)絡(luò)讓其運(yùn)行在416*416而不是448*448。

    由于圖片中的物體都傾向于出現(xiàn)在圖片的中心位置,特別是那種比較大的物體,所以有一個(gè)單獨(dú)位于物體中心的位置用于預(yù)測(cè)這些物體。YOLO的卷積層采用32這個(gè)值來(lái)下采樣圖片,所以通過(guò)選擇416*416用作輸入尺寸最終能輸出一個(gè)13*13的Feature Map。使用Anchor Box會(huì)讓精確度稍微下降,但用了它能讓YOLO能預(yù)測(cè)出大于一千個(gè)框,同時(shí)recall達(dá)到88%,mAP達(dá)到69.2%。

    Dimension clusters(聚類提取先驗(yàn)框的尺度信息)

    之前Anchor Box的尺寸是手動(dòng)選擇的,所以尺寸還有優(yōu)化的余地。YOLO2嘗試統(tǒng)計(jì)出更符合樣本中對(duì)象尺寸的先驗(yàn)框,這樣就可以減少網(wǎng)絡(luò)微調(diào)先驗(yàn)框到實(shí)際位置的難度。YOLO2的做法是對(duì)訓(xùn)練集中標(biāo)注的邊框進(jìn)行K-mean聚類分析,以尋找盡可能匹配樣本的邊框尺寸。

    如果我們用標(biāo)準(zhǔn)的歐式距離的k-means,尺寸大的框比小框產(chǎn)生更多的錯(cuò)誤。因?yàn)槲覀兊哪康氖翘岣逫OU分?jǐn)?shù),這依賴于Box的大小,所以距離度量的使用:

    centroid是聚類時(shí)被選作中心的邊框,box就是其它邊框,d就是兩者間的“距離”。IOU越大,“距離”越近。YOLO2給出的聚類分析結(jié)果如下圖所示:

    通過(guò)分析實(shí)驗(yàn)結(jié)果(Figure 2),左圖:在model復(fù)雜性與high recall之間權(quán)衡之后,選擇聚類分類數(shù)K=5。右圖:是聚類的中心,大多數(shù)是高瘦的Box。

    Table1是說(shuō)明用K-means選擇Anchor Boxes時(shí),當(dāng)Cluster IOU選擇值為5時(shí),AVG IOU的值是61,這個(gè)值要比不用聚類的方法的60.9要高。選擇值為9的時(shí)候,AVG IOU更有顯著提高??傊褪钦f(shuō)明用聚類的方法是有效果的。

    Direct location prediction(約束預(yù)測(cè)邊框的位置)

    借鑒于Faster RCNN的先驗(yàn)框方法,在訓(xùn)練的早期階段,其位置預(yù)測(cè)容易不穩(wěn)定。其位置預(yù)測(cè)公式為:

    其中, 是預(yù)測(cè)邊框的中心, 是先驗(yàn)框(anchor)的中心點(diǎn)坐標(biāo), 是先驗(yàn)框(anchor)的寬和高, 是要學(xué)習(xí)的參數(shù)。注意,YOLO論文中寫的是 ,根據(jù)Faster RCNN,應(yīng)該是”+”。

    由于 的取值沒(méi)有任何約束,因此預(yù)測(cè)邊框的中心可能出現(xiàn)在任何位置,訓(xùn)練早期階段不容易穩(wěn)定。YOLO調(diào)整了預(yù)測(cè)公式,將預(yù)測(cè)邊框的中心約束在特定gird網(wǎng)格內(nèi)。

    σ

    其中, 是預(yù)測(cè)邊框的中心和寬高。 是預(yù)測(cè)邊框的置信度,YOLO1是直接預(yù)測(cè)置信度的值,這里對(duì)預(yù)測(cè)參數(shù) 進(jìn)行σ變換后作為置信度的值。 是當(dāng)前網(wǎng)格左上角到圖像左上角的距離,要先將網(wǎng)格大小歸一化,即令一個(gè)網(wǎng)格的寬=1,高=1。 是先驗(yàn)框的寬和高。σ是sigmoid函數(shù)。 是要學(xué)習(xí)的參數(shù),分別用于預(yù)測(cè)邊框的中心和寬高,以及置信度。

    因?yàn)槭褂昧讼拗谱寯?shù)值變得參數(shù)化,也讓網(wǎng)絡(luò)更容易學(xué)習(xí)、更穩(wěn)定。

    Fine-Grained Features(passthrough層檢測(cè)細(xì)粒度特征)

    passthrough層檢測(cè)細(xì)粒度特征使mAP提升1。

    對(duì)象檢測(cè)面臨的一個(gè)問(wèn)題是圖像中對(duì)象會(huì)有大有小,輸入圖像經(jīng)過(guò)多層網(wǎng)絡(luò)提取特征,最后輸出的特征圖中(比如YOLO2中輸入416*416經(jīng)過(guò)卷積網(wǎng)絡(luò)下采樣最后輸出是13*13),較小的對(duì)象可能特征已經(jīng)不明顯甚至被忽略掉了。為了更好的檢測(cè)出一些比較小的對(duì)象,最后輸出的特征圖需要保留一些更細(xì)節(jié)的信息。

    YOLO2引入一種稱為passthrough層的方法在特征圖中保留一些細(xì)節(jié)信息。具體來(lái)說(shuō),就是在最后一個(gè)pooling之前,特征圖的大小是26*26*512,將其1拆4,直接傳遞(passthrough)到pooling后(并且又經(jīng)過(guò)一組卷積)的特征圖,兩者疊加到一起作為輸出的特征圖。

    具體怎樣1拆4,下面借用一副圖看的很清楚。圖中示例的是1個(gè)4*4拆成4個(gè)2*2。因?yàn)樯疃炔蛔?,所以沒(méi)有畫出來(lái)。

    另外,根據(jù)YOLO2的代碼,特征圖先用1*1卷積從 26*26*512 降維到 26*26*64,再做1拆4并passthrough。下面圖6有更詳細(xì)的網(wǎng)絡(luò)輸入輸出結(jié)構(gòu)。

    Multi-ScaleTraining(多尺度圖像訓(xùn)練)

    作者希望YOLO v2能健壯的運(yùn)行于不同尺寸的圖片之上,所以把這一想法用于訓(xùn)練model中。

    區(qū)別于之前的補(bǔ)全圖片的尺寸的方法,YOLO v2每迭代幾次都會(huì)改變網(wǎng)絡(luò)參數(shù)。每10個(gè)Batch,網(wǎng)絡(luò)會(huì)隨機(jī)地選擇一個(gè)新的圖片尺寸,由于使用了下采樣參數(shù)是32,所以不同的尺寸大小也選擇為32的倍數(shù){320,352…..608},最小320*320,最大608*608,網(wǎng)絡(luò)會(huì)自動(dòng)改變尺寸,并繼續(xù)訓(xùn)練的過(guò)程。

    這一政策讓網(wǎng)絡(luò)在不同的輸入尺寸上都能達(dá)到一個(gè)很好的預(yù)測(cè)效果,同一網(wǎng)絡(luò)能在不同分辨率上進(jìn)行檢測(cè)。當(dāng)輸入圖片尺寸比較小的時(shí)候跑的比較快,輸入圖片尺寸比較大的時(shí)候精度高,所以你可以在YOLO v2的速度和精度上進(jìn)行權(quán)衡。

    Figure4,Table 3:在voc2007上的速度與精度

    hi-res detector(高分辨率圖像的對(duì)象檢測(cè))

    圖1表格中最后一行有個(gè)hi-res detector,使mAP提高了1.8。因?yàn)閅OLO2調(diào)整網(wǎng)絡(luò)結(jié)構(gòu)后能夠支持多種尺寸的輸入圖像。通常是使用416*416的輸入圖像,如果用較高分辨率的輸入圖像,比如544*544,則mAP可以達(dá)到78.6,有1.8的提升。

    Hierarchical classification(分層分類)

    作者提出了一種在分類數(shù)據(jù)集和檢測(cè)數(shù)據(jù)集上聯(lián)合訓(xùn)練的機(jī)制。使用檢測(cè)數(shù)據(jù)集的圖片去學(xué)習(xí)檢測(cè)相關(guān)的信息,例如bounding box 坐標(biāo)預(yù)測(cè),是否包含物體以及屬于各個(gè)物體的概率。使用僅有類別標(biāo)簽的分類數(shù)據(jù)集圖片去擴(kuò)展可以檢測(cè)的種類。

    作者通過(guò)ImageNet訓(xùn)練分類、COCO和VOC數(shù)據(jù)集來(lái)訓(xùn)練檢測(cè),這是一個(gè)很有價(jià)值的思路,可以讓我們達(dá)到比較優(yōu)的效果。通過(guò)將兩個(gè)數(shù)據(jù)集混合訓(xùn)練,如果遇到來(lái)自分類集的圖片則只計(jì)算分類的Loss,遇到來(lái)自檢測(cè)集的圖片則計(jì)算完整的Loss。

    但是ImageNet對(duì)應(yīng)分類有9000種,而COCO則只提供80種目標(biāo)檢測(cè),作者使用multi-label模型,即假定一張圖片可以有多個(gè)label,并且不要求label間獨(dú)立。通過(guò)作者Paper里的圖來(lái)說(shuō)明,由于ImageNet的類別是從WordNet選取的,作者采用以下策略重建了一個(gè)樹形結(jié)構(gòu)(稱為分層樹):

  • 遍歷Imagenet的label,然后在WordNet中尋找該label到根節(jié)點(diǎn)(指向一個(gè)物理對(duì)象)的路徑;
  • 如果路徑直有一條,那么就將該路徑直接加入到分層樹結(jié)構(gòu)中;
  • 否則,從剩余的路徑中選擇一條最短路徑,加入到分層樹。
  • 這個(gè)分層樹我們稱之為 WordTree,作用就在于將兩種數(shù)據(jù)集按照層級(jí)進(jìn)行結(jié)合。

    分類時(shí)的概率計(jì)算借用了決策樹思想,某個(gè)節(jié)點(diǎn)的概率值等于該節(jié)點(diǎn)到根節(jié)點(diǎn)的所有條件概率之積。最終結(jié)果是一顆 WordTree (視覺名詞組成的層次結(jié)構(gòu)模型)。用WordTree執(zhí)行分類時(shí),預(yù)測(cè)每個(gè)節(jié)點(diǎn)的條件概率。如果想求得特定節(jié)點(diǎn)的絕對(duì)概率,只需要沿著路徑做連續(xù)乘積。例如,如果想知道一張圖片是不是“Norfolk terrier ”需要計(jì)算:

    另外,為了驗(yàn)證這種方法作者在WordTree(用1000類別的ImageNet創(chuàng)建)上訓(xùn)練了Darknet-19模型。為了創(chuàng)建WordTree1k,作者天添加了很多中間節(jié)點(diǎn),把標(biāo)簽由1000擴(kuò)展到1369。訓(xùn)練過(guò)程中g(shù)round truth標(biāo)簽要順著向根節(jié)點(diǎn)的路徑傳播。例如,如果一張圖片被標(biāo)記為“Norfolk terrier”,它也被標(biāo)記為“dog” 和“mammal”等。為了計(jì)算條件概率,模型預(yù)測(cè)了一個(gè)包含1369個(gè)元素的向量,而且基于所有“同義詞集”計(jì)算softmax,其中“同義詞集”是同一概念的下位詞。

    softmax操作也同時(shí)應(yīng)該采用分組操作,下圖上半部分為ImageNet對(duì)應(yīng)的原生Softmax,下半部分對(duì)應(yīng)基于WordTree的Softmax:

    通過(guò)上述方案構(gòu)造WordTree,得到對(duì)應(yīng)9418個(gè)分類,通過(guò)重采樣保證Imagenet和COCO的樣本數(shù)據(jù)比例為4:1。

    YOLOv3

    論文地址:

    https://pjreddie.com/media/files/papers/YOLOv3.pdf

    YOLO v3的模型比之前的模型復(fù)雜了不少,可以通過(guò)改變模型結(jié)構(gòu)的大小來(lái)權(quán)衡速度與精度。

    速度對(duì)比如下:

    簡(jiǎn)而言之,YOLOv3 的先驗(yàn)檢測(cè)(Prior detection)系統(tǒng)將分類器或定位器重新用于執(zhí)行檢測(cè)任務(wù)。他們將模型應(yīng)用于圖像的多個(gè)位置和尺度。而那些評(píng)分較高的區(qū)域就可以視為檢測(cè)結(jié)果。此外,相對(duì)于其它目標(biāo)檢測(cè)方法,我們使用了完全不同的方法。我們將一個(gè)單神經(jīng)網(wǎng)絡(luò)應(yīng)用于整張圖像,該網(wǎng)絡(luò)將圖像劃分為不同的區(qū)域,因而預(yù)測(cè)每一塊區(qū)域的邊界框和概率,這些邊界框會(huì)通過(guò)預(yù)測(cè)的概率加權(quán)。我們的模型相比于基于分類器的系統(tǒng)有一些優(yōu)勢(shì)。它在測(cè)試時(shí)會(huì)查看整個(gè)圖像,所以它的預(yù)測(cè)利用了圖像中的全局信息。與需要數(shù)千張單一目標(biāo)圖像的 R-CNN 不同,它通過(guò)單一網(wǎng)絡(luò)評(píng)估進(jìn)行預(yù)測(cè)。這令 YOLOv3 非???,一般它比 R-CNN 快 1000 倍、比 Fast R-CNN 快 100 倍。

    改進(jìn)之處

    • 多尺度預(yù)測(cè) (引入FPN)。
    • 更好的基礎(chǔ)分類網(wǎng)絡(luò)(darknet-53, 類似于ResNet引入殘差結(jié)構(gòu))。
    • 分類器不在使用Softmax,分類損失采用binary cross-entropy loss(二分類交叉損失熵)

    YOLOv3不使用Softmax對(duì)每個(gè)框進(jìn)行分類,主要考慮因素有兩個(gè):

  • Softmax使得每個(gè)框分配一個(gè)類別(score最大的一個(gè)),而對(duì)于Open Images這種數(shù)據(jù)集,目標(biāo)可能有重疊的類別標(biāo)簽,因此Softmax不適用于多標(biāo)簽分類。
  • Softmax可被獨(dú)立的多個(gè)logistic分類器替代,且準(zhǔn)確率不會(huì)下降。
  • 分類損失采用binary cross-entropy loss。

    多尺度預(yù)測(cè)

    每種尺度預(yù)測(cè)3個(gè)box, anchor的設(shè)計(jì)方式仍然使用聚類,得到9個(gè)聚類中心,將其按照大小均分給3個(gè)尺度。

    • 尺度1: 在基礎(chǔ)網(wǎng)絡(luò)之后添加一些卷積層再輸出box信息.
    • 尺度2: 從尺度1中的倒數(shù)第二層的卷積層上采樣(x2)再與最后一個(gè)16×16大小的特征圖相加,再次通過(guò)多個(gè)卷積后輸出box信息.相比尺度1變大兩倍.
    • 尺度3: 與尺度2類似,使用了32×32大小的特征圖.

    參見網(wǎng)絡(luò)結(jié)構(gòu)定義文件 yolov3.cfghttps://github.com/pjreddie/darknet/blob/master/cfg/yolov3.cfg

    基礎(chǔ)網(wǎng)絡(luò) Darknet-53

    darknet-53

    仿ResNet, 與ResNet-101或ResNet-152準(zhǔn)確率接近,但速度更快.對(duì)比如下:

    主干架構(gòu)的性能對(duì)比

    檢測(cè)結(jié)構(gòu)如下:

    YOLOv3在[email protected]及小目標(biāo)APs上具有不錯(cuò)的結(jié)果,但隨著IOU的增大,性能下降,說(shuō)明YOLOv3不能很好地與ground truth切合。

    邊框預(yù)測(cè)

    圖 2:帶有維度先驗(yàn)和定位預(yù)測(cè)的邊界框。我們邊界框的寬和高以作為離聚類中心的位移,并使用 Sigmoid 函數(shù)預(yù)測(cè)邊界框相對(duì)于濾波器應(yīng)用位置的中心坐標(biāo)。

    仍采用之前的logis,其中cx,cy是網(wǎng)格的坐標(biāo)偏移量,pw,ph是預(yù)設(shè)的anchor box的邊長(zhǎng).最終得到的邊框坐標(biāo)值是b*,而網(wǎng)絡(luò)學(xué)習(xí)目標(biāo)是t*,用sigmod函數(shù)、指數(shù)轉(zhuǎn)換。

    YOLOv4

    YOLOv4: Optimal Speed and Accuracy of Object Detection

    論文:https://arxiv.org/abs/2004.10934

    代碼:https://github.com/AlexeyAB/darknet

    YOLOv4!

    YOLOv4 在COCO上,可達(dá)43.5% AP,速度高達(dá) 65 FPS!

    YOLOv4的特點(diǎn)是集大成者,俗稱堆料。但最終達(dá)到這么高的性能,一定是不斷嘗試、不斷堆料、不斷調(diào)參的結(jié)果,給作者點(diǎn)贊。下面看看堆了哪些料:

    • Weighted-Residual-Connections (WRC)
    • Cross-Stage-Partial-connections (CSP)
    • Cross mini-Batch Normalization (CmBN)
    • Self-adversarial-training (SAT)
    • Mish-activation
    • Mosaic data augmentation
    • CmBN
    • DropBlock regularization
    • CIoU loss

    本文的主要貢獻(xiàn)如下:

    1. 提出了一種高效而強(qiáng)大的目標(biāo)檢測(cè)模型。它使每個(gè)人都可以使用1080 Ti或2080 Ti GPU 訓(xùn)練超快速和準(zhǔn)確的目標(biāo)檢測(cè)器(牛逼?。?。

    2. 在檢測(cè)器訓(xùn)練期間,驗(yàn)證了SOTA的Bag-of Freebies 和Bag-of-Specials方法的影響。

    3. 改進(jìn)了SOTA的方法,使它們更有效,更適合單GPU訓(xùn)練,包括CBN [89],PAN [49],SAM [85]等。文章將目前主流的目標(biāo)檢測(cè)器框架進(jìn)行拆分:input、backbone、neck 和 head。

    具體如下圖所示:

    • 對(duì)于GPU,作者在卷積層中使用:CSPResNeXt50 / CSPDarknet53
    • 對(duì)于VPU,作者使用分組卷積,但避免使用(SE)塊-具體來(lái)說(shuō),它包括以下模型:EfficientNet-lite / MixNet / GhostNet / MobileNetV3

    作者的目標(biāo)是在輸入網(wǎng)絡(luò)分辨率,卷積層數(shù),參數(shù)數(shù)量和層輸出(filters)的數(shù)量之間找到最佳平衡。

    總結(jié)一下YOLOv4框架:

    • Backbone:CSPDarknet53
    • Neck:SPP,PAN
    • Head:YOLOv3

    YOLOv4 = CSPDarknet53+SPP+PAN+YOLOv3

    其中YOLOv4用到相當(dāng)多的技巧:

    • 用于backbone的BoF:CutMix和Mosaic數(shù)據(jù)增強(qiáng),DropBlock正則化,Class label smoothing
    • 用于backbone的BoS:Mish激活函數(shù),CSP,MiWRC
    • 用于檢測(cè)器的BoF:CIoU-loss,CmBN,DropBlock正則化,Mosaic數(shù)據(jù)增強(qiáng),Self-Adversarial 訓(xùn)練,消除網(wǎng)格敏感性,對(duì)單個(gè)ground-truth使用多個(gè)anchor,Cosine annealing scheduler,最佳超參數(shù),Random training shapes
    • 用于檢測(cè)器的Bos:Mish激活函數(shù),SPP,SAM,PAN,DIoU-NMS

    看看YOLOv4部分組件:

    感受一下YOLOv4實(shí)驗(yàn)的充分性(調(diào)參的藝術(shù)):

    感受一下性能炸裂的YOLOv4實(shí)驗(yàn)結(jié)果:

    YOLOv5:

    2020年2月YOLO之父Joseph Redmon宣布退出計(jì)算機(jī)視覺研究領(lǐng)域,2020 年 4 月 23 日YOLOv4 發(fā)布,2020 年 6 月 10 日YOLOv5發(fā)布。

    YOLOv5源代碼:

    https://github.com/ultralytics/yolov5

    他們公布的結(jié)果表明,YOLOv5 的表現(xiàn)要優(yōu)于谷歌開源的目標(biāo)檢測(cè)框架 EfficientDet,盡管 YOLOv5 的開發(fā)者沒(méi)有明確地將其與 YOLOv4 進(jìn)行比較,但他們卻聲稱 YOLOv5 能在 Tesla P100 上實(shí)現(xiàn) 140 FPS 的快速檢測(cè);相較而言,YOLOv4 的基準(zhǔn)結(jié)果是在 50 FPS 速度下得到的,參閱:https://blog.roboflow.ai/yolov5-is-hereState-of-the-Art。

    不僅如此,他們還提到「YOLOv5 的大小僅有 27 MB?!箤?duì)比一下:使用 darknet 架構(gòu)的 YOLOv4 有 244 MB。這說(shuō)明 YOLOv5 實(shí)在特別小,比 YOLOv4 小近 90%。這也太瘋狂了!而在準(zhǔn)確度指標(biāo)上,「YOLOv5 與 YOLOv4 相當(dāng)」。

    因此總結(jié)起來(lái),YOLOv5 宣稱自己速度非常快,有非常輕量級(jí)的模型大小,同時(shí)在準(zhǔn)確度方面又與 YOLOv4 基準(zhǔn)相當(dāng)。

    大家對(duì)YOLOV5命名是爭(zhēng)議很大,因?yàn)閅OLOV5相對(duì)于YOLOV4來(lái)說(shuō)創(chuàng)新性的地方很少。不過(guò)它的性能應(yīng)該還是有的,現(xiàn)在kaggle上active檢測(cè)的比賽小麥檢測(cè)前面的選手大部分用的都是YOLOV5的框架。比賽鏈接:

    https://www.kaggle.com/c/global-wheat-detection

    參考

    1.V1,V2,V3參考地址:

    https://blog.csdn.net/App_12062011/article/details/775542882.V4轉(zhuǎn)載地址:

    https://mp.weixin.qq.com/s/Ua3T-DOuzmLWuXfohEiVFw

    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場(chǎng),版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系管理員(admin#wlmqw.com)刪除。
    用戶投稿
    上一篇 2022年6月21日 15:12
    下一篇 2022年6月21日 15:12

    相關(guān)推薦

    • 計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)論文(計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)論文七千字)

      今天小編給各位分享計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)論文的知識(shí),其中也會(huì)對(duì)計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)論文七千字進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開始吧! 計(jì)算機(jī)網(wǎng)絡(luò)方面的論文3000字…

      2022年11月26日
    • 手機(jī)上怎么買世界杯彩票(手機(jī)上怎么買世界杯輸贏)

      現(xiàn)在手機(jī)已經(jīng)成為大家生活中非常重要的工具之一,只要一部手機(jī)就可以解決衣食住行,最近世界杯火熱進(jìn)行,一些小伙伴想要買彩票,那么,手機(jī)上可以買世界杯彩票嗎?世界杯買球軟件是真的嗎?手機(jī)…

      2022年11月25日
    • 什么是推廣cpa一篇文章帶你看懂CPA推廣渠道

      CPA渠道 CPA指的是按照指定的行為結(jié)算,可以是搜索,可以是注冊(cè),可以是激活,可以是搜索下載激活,可以是綁卡,實(shí)名認(rèn)證,可以是付費(fèi),可以是瀏覽等等。甲乙雙方可以根據(jù)自己的情況來(lái)定…

      2022年11月25日
    • 百度關(guān)鍵詞快速排名的4大原理解析(百度怎么刷關(guān)鍵詞)

      近期百度公告驚雷算法2.0,升級(jí)之快還是第一次吧,看來(lái)百度對(duì)于刷點(diǎn)擊行為是零容忍了。之前尹華峰SEO技術(shù)博客介紹過(guò)一篇如何使用刷點(diǎn)擊工具,其實(shí)市面上有很多這類SEO快速排名的軟件,…

      2022年11月25日
    • 抖音直播帶貨有哪些方法技巧(抖音直播帶貨有哪些痛點(diǎn))

      如今抖音這個(gè)短視頻的變現(xiàn)能力越來(lái)越突顯了,尤其是在平臺(tái)上開通直播,更具有超強(qiáng)的帶貨屬性,已經(jīng)有越來(lái)越多的普通人加入到其中了。不過(guò)直播帶貨雖然很火,但是也不是每個(gè)人都能做好的,那么在…

      2022年11月24日
    • 成都健康碼崩了是怎么回事(成都健康碼系統(tǒng)崩了)

      健康碼是大家出行必備的工具,有小伙伴反映自己健康碼崩了,上不了地鐵,那么成都健康碼崩了是怎么回事?成都健康碼怎么突然崩了?成都健康碼崩了是怎么辦?下面小編為大家?guī)?lái)成都健康碼崩了原…

      2022年11月24日
    • rnm退錢是什么意思網(wǎng)絡(luò)用語(yǔ)(rnm退錢是什么人)

      最近關(guān)于網(wǎng)絡(luò)用語(yǔ)使用還是有不少咨詢的,隨著卡塔爾世界杯的開啟,網(wǎng)上也出現(xiàn)了不少新的網(wǎng)絡(luò)流行用語(yǔ),其中rnm退錢的梗也引發(fā)不少網(wǎng)友的好奇。rnm退錢是什么意思?很多網(wǎng)友對(duì)此好奇,rn…

      2022年11月24日
    • 關(guān)公繞后什么意思網(wǎng)絡(luò)用語(yǔ)(睜眼關(guān)公什么意思)

      關(guān)于一些網(wǎng)絡(luò)用語(yǔ)使用大家也都是比較關(guān)注的,最近關(guān)于關(guān)公繞后這個(gè)梗也是挺火的,不過(guò)還是有很多網(wǎng)友對(duì)關(guān)公繞后這個(gè)梗的含義不是很了解,關(guān)公繞后什么意思?這個(gè)梗說(shuō)的是什么呢?下面來(lái)看下網(wǎng)絡(luò)…

      2022年11月24日
    • 真我10pro邊框比蘋果14 Pro窄一半 價(jià)格1599元起

      上周,realme召開新品發(fā)布會(huì),推出了真我10系列機(jī)型,真我10 Pro、真我10 Pro+都采用了全新封裝工藝,達(dá)到業(yè)內(nèi)頂級(jí)窄邊框。 根據(jù)官方消息,真我10 Pro/Pro+機(jī)…

      2022年11月24日
    • 明查|美國(guó)新冠后遺癥患者中有16%癥狀嚴(yán)重以致無(wú)法工作?

      點(diǎn)擊進(jìn)入澎湃新聞全球事實(shí)核查平臺(tái) 速覽 – 網(wǎng)傳數(shù)據(jù)比例無(wú)權(quán)威信源佐證,該比例有可能是結(jié)合了美國(guó)疾病防控中心和布魯金斯學(xué)會(huì)的數(shù)據(jù)得出,但這兩個(gè)機(jī)構(gòu)的調(diào)研目的和樣本都不同…

      2022年11月24日

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時(shí)間:周一至周五,10:30-18:30,節(jié)假日休息