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

          目標(biāo)檢測(cè)模型YOLO-V1損失函數(shù)詳解

          共 2291字,需瀏覽 5分鐘

           ·

          2020-07-28 16:55

          ?

          上期我們一起學(xué)習(xí)了YOLOV1算法的原理框架,如下:
          目標(biāo)檢測(cè)算法YOLO-V1算法詳解
          今天我們深入一步,一起學(xué)習(xí)下關(guān)于YOLO-V1算法的損失函數(shù)和優(yōu)缺點(diǎn)。

          ?

          YOLO-V1損失函數(shù)

          從上期我們知道,YOLO-V1算法最后輸出的檢測(cè)結(jié)果為7x7x30的形式,其中30個(gè)值分別包括兩個(gè)候選框的位置和有無(wú)包含物體的置信度以及網(wǎng)格中包含20個(gè)物體類別的概率。那么YOLO的損失就包括三部分:位置誤差,confidence誤差,分類誤差。
          損失函數(shù)的設(shè)計(jì)目標(biāo)就是讓坐標(biāo)(x,y,w,h)confidence,classification這個(gè)三個(gè)方面達(dá)到很好的平衡。YOLO-V1算法中簡(jiǎn)單的全部采用了sum-squared error loss來(lái)做這件事,如下圖:

          YOLO-V1損失函數(shù)構(gòu)成

          在上圖中,我們也能清晰的看出來(lái),整個(gè)算法的損失是由預(yù)測(cè)框的坐標(biāo)誤差,有無(wú)包含物體的置信度誤差以及網(wǎng)格預(yù)測(cè)類別的誤差三部分組成,三部分的損失都使用了均方誤差的方式來(lái)實(shí)現(xiàn)。
          我們知道,如果8維的localization error,兩個(gè)置信度error20維的classification error同等重要顯然是不合理的;還有如果一個(gè)網(wǎng)格中沒(méi)有object(一幅圖中這種網(wǎng)格很多),那么就會(huì)將這些網(wǎng)格中的boxconfidence push0,相比于較少的有object的網(wǎng)格,這種做法是overpowering的,這會(huì)導(dǎo)致網(wǎng)絡(luò)不穩(wěn)定甚至發(fā)散。這里算法中用了權(quán)重系數(shù)來(lái)進(jìn)行平衡,對(duì)于不同的損失用不同的權(quán)重,我們來(lái)逐個(gè)看:

          位置損失

          從上圖可以看出,坐標(biāo)損失也分為兩部分,坐標(biāo)中心誤差和位置寬高的誤差,其中表示第i個(gè)網(wǎng)格中的第j個(gè)預(yù)測(cè)框是否負(fù)責(zé)obj這個(gè)物體的預(yù)測(cè),只有當(dāng)某個(gè)box predictor對(duì)某個(gè)ground truth box負(fù)責(zé)的時(shí)候,才會(huì)對(duì)boxcoordinate error進(jìn)行懲罰,而對(duì)哪個(gè)ground truth box負(fù)責(zé)就看其預(yù)測(cè)值和ground truth boxIoU是不是在那個(gè)網(wǎng)格的所有box中最大。
          我們可以看到,對(duì)于中心點(diǎn)的損失直接用了均方誤差,但是對(duì)于寬高為什么用了平方根呢?這里是這樣的,我們先來(lái)看下圖:
          上圖中,藍(lán)色為bounding box,紅色框?yàn)檎鎸?shí)標(biāo)注,如果Wh沒(méi)有平方根的話,那么bounding box跟兩個(gè)真實(shí)標(biāo)注的位置loss是相同的。但是從面積看來(lái)B框是A框的25倍,C框是B框的81/25倍。B框跟A框的大小偏差更大,所以不應(yīng)該有相同的loss。
          如果Wh加上平方根,那么B對(duì)A的位置loss約為3.06,B對(duì)C的位置loss約為1.17,B對(duì)A的位置loss的值更大,這更加符合我們的實(shí)際判斷。所以,算法對(duì)位置損失中的寬高損失加上了平方根。
          而公式中的為位置損失的權(quán)重系數(shù),在pascal VOC訓(xùn)練中取5。

          置信度損失

          這里分成了兩部分,一部分是包含物體時(shí)置信度的損失,一個(gè)是不包含物體時(shí)置信度的值。置信度的定義,我們上期學(xué)習(xí)過(guò),這里結(jié)合置信度損失再看一下:

          其中前一項(xiàng)表示有無(wú)人工標(biāo)記的物體落入網(wǎng)格內(nèi),如果有,則為1,否則為0.第二項(xiàng)代表bounding box和真實(shí)標(biāo)記的box之間的IoU。值越大則box越接近真實(shí)位置。
          confidence是針對(duì)bounding box的,由于每個(gè)網(wǎng)格有兩個(gè)bounding box,所以每個(gè)網(wǎng)格會(huì)有兩個(gè)confidence與之相對(duì)應(yīng)。
          從損失函數(shù)上看,當(dāng)網(wǎng)格i中的第j個(gè)預(yù)測(cè)框包含物體的時(shí)候,用上面的置信度損失,而不包含物體的時(shí)候,用下面的損失函數(shù)。對(duì)沒(méi)有objectboxconfidence loss,賦予小的loss weight,記為在pascal VOC訓(xùn)練中取0.5。有objectboxconfidence loss和類別的lossloss weight正常取1。

          類別損失

          類別損失這里也用了均方誤差,實(shí)際上,感覺(jué)這里用交叉熵更好一些。其中表示有無(wú)object的中心點(diǎn)落到網(wǎng)格i中,如果網(wǎng)格中包含有物體object的中心的話,那么就負(fù)責(zé)預(yù)測(cè)該object的概率。

          總體來(lái)說(shuō),對(duì)于不同的任務(wù)重要程度不同,所以也應(yīng)該給與不同的loss weight

          • 每個(gè)網(wǎng)格兩個(gè)預(yù)測(cè)框坐標(biāo)比較重要,給這些損失賦予更大的loss weight,在pascal VOC中取值為5.
          • 對(duì)沒(méi)有objectboxconfidence loss,賦予較小的loss weight,在pascal VOC訓(xùn)練中取0.5.
          • 對(duì)有objectboxconfidence loss和類別的loss weight正常取值為1.

          YOLO-V1的缺點(diǎn)

          由于YOLOV1的框架設(shè)計(jì),該網(wǎng)絡(luò)存在以下缺點(diǎn):

          1. 每個(gè)網(wǎng)格只對(duì)應(yīng)兩個(gè)bounding box,當(dāng)物體的長(zhǎng)寬比不常見(也就是訓(xùn)練數(shù)據(jù)集覆蓋不到時(shí)),效果較差。
          2. 原始圖片只劃分為7x7的網(wǎng)格,當(dāng)兩個(gè)物體靠的很近時(shí),效果比較差。
          3. 最終每個(gè)網(wǎng)格只對(duì)應(yīng)一個(gè)類別,容易出現(xiàn)漏檢(物體沒(méi)有被識(shí)別到)。
          4. 對(duì)于圖片中比較小的物體,效果比較差。這其實(shí)是所有目標(biāo)檢測(cè)算法的通病。

          好了,至此,我們這兩期學(xué)習(xí)了YOLO-V1的結(jié)構(gòu)框架和損失函數(shù)。下期我們將一起學(xué)習(xí)YOLO-V2的框架,看看YOLO-V2對(duì)YOLO-V1做了哪些改進(jìn)。

          ?轉(zhuǎn)發(fā)在看也是一種支持?

          瀏覽 92
          點(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>
                  精品在线精品播放 | 国产女人18毛片水18精品软件 | 青青青操逼电影 | 另类一区二区 | 国产免费自拍 |