YOLO文章詳細(xì)解讀

文章《You Only Look Once: Unified, Real-Time Object Detection》提出方法下面簡(jiǎn)稱YOLO。

目前择份,基于深度學(xué)習(xí)算法的一系列目標(biāo)檢測(cè)算法大致可以分為兩大流派:
1.兩步走(two-stage)算法:先產(chǎn)生候選區(qū)域然后再進(jìn)行CNN分類(RCNN系列)胡桨,
2.一步走(one-stage)算法:直接對(duì)輸入圖像應(yīng)用算法并輸出類別和相應(yīng)的定位(YOLO系列)

之前的R-CNN系列雖然準(zhǔn)確率比較高官帘,但是即使是發(fā)展到Faster R-CNN,檢測(cè)一張圖片如下圖所示也要7fps(原文為5fps)昧谊,為了使得檢測(cè)的工作能夠用到實(shí)時(shí)的場(chǎng)景中刽虹,提出了YOLO。


1.png

YOLO的檢測(cè)思想不同于R-CNN系列的思想呢诬,它將目標(biāo)檢測(cè)作為回歸任務(wù)來解決涌哲。
下面來看看YOLO的整體結(jié)構(gòu):


2.png

3.png

由上兩圖所示,網(wǎng)絡(luò)是根據(jù)GoogLeNet改進(jìn)的尚镰,輸入圖片為448*448大小阀圾,輸出為7\times7\times(2\times5+20),現(xiàn)在看來這樣寫輸出維度很奇怪狗唉,下面來看一下輸出是怎么定義的初烘。

將圖片分為S\times S個(gè)單元格(原文中S=7),之后的輸出是以單元格為單位進(jìn)行的:
1.如果一個(gè)object的中心落在某個(gè)單元格上分俯,那么這個(gè)單元格負(fù)責(zé)預(yù)測(cè)這個(gè)物體肾筐。
2.每個(gè)單元格需要預(yù)測(cè)B個(gè)bbox值(bbox值包括坐標(biāo)和寬高,原文中B=2)缸剪,同時(shí)為每個(gè)bbox值預(yù)測(cè)一個(gè)置信度(confidence scores)吗铐。也就是每個(gè)單元格需要預(yù)測(cè)B×(4+1)個(gè)值。
3.每個(gè)單元格需要預(yù)測(cè)C(物體種類個(gè)數(shù)杏节,原文C=20唬渗,這個(gè)與使用的數(shù)據(jù)庫有關(guān))個(gè)條件概率值.
所以讥此,最后網(wǎng)絡(luò)的輸出維度為S \times S \times (B\times 5 + C),這里雖然每個(gè)單元格負(fù)責(zé)預(yù)測(cè)一種物體(這也是這篇文章的問題谣妻,當(dāng)有小物體時(shí)可能會(huì)有問題),但是每個(gè)單元格可以預(yù)測(cè)多個(gè)bbox值(這里可以認(rèn)為有多個(gè)不同形狀的bbox卒稳,為了更準(zhǔn)確的定位出物體蹋半,如下圖所示)。

4.png

因?yàn)檫@里是當(dāng)作回歸問題來解決的充坑,所以所有的輸出包括坐標(biāo)和寬高最好都定義在0到1之間减江。網(wǎng)上看見一張比較詳細(xì)的圖如下。

5.png

來看一下每個(gè)單元格預(yù)測(cè)的B個(gè)(x,y,w,h,confidence)的向量和C的條件概率中捻爷,每個(gè)參數(shù)的含義(假設(shè)圖片寬為{w_i}高為{hi}辈灼,將圖片分為S\times S):
1.(x,y)是bbox的中心相對(duì)于單元格的offset
對(duì)于下圖中藍(lán)色框的那個(gè)單元格(坐標(biāo)為(x_{col}=1,y_{row}=4)),假設(shè)它預(yù)測(cè)的輸出是紅色框的bbox,設(shè)bbox的中心坐標(biāo)為(x_c,y_c),那么最終預(yù)測(cè)出來的(x,y)是經(jīng)過歸一化處理的也榄,表示的是中心相對(duì)于單元格的offset巡莹,計(jì)算公式如下:
x=\frac{x_c}{w_i}{S}?x_{col} , y=\frac{y_c}{h_i}{S}?y_{row}

2.(w,h)是bbox相對(duì)于整個(gè)圖片的比例
預(yù)測(cè)的bbox的寬高為w_b,h_b,(w,h)表示的是bbox的是相對(duì)于整張圖片的占比甜紫,計(jì)算公式如下:
w=\frac{w_b}{w_i} , h=\frac{h_b}{h_i}

3.confidence
這個(gè)置信度是由兩部分組成降宅,一是格子內(nèi)是否有目標(biāo),二是bbox的準(zhǔn)確度囚霸。定義置信度為P_r(Object)?IOU^{truth}_{pred}腰根。
這里,如果格子內(nèi)有物體拓型,則P_r(Object)=1额嘿,此時(shí)置信度等于IoU。如果格子內(nèi)沒有物體劣挫,則P_r(Object)=0册养,此時(shí)置信度為0

4.C類的條件概率
條件概率定義為P_r(Class_i |Object),表示該單元格存在物體且屬于第i類的概率压固。

在測(cè)試的時(shí)候每個(gè)單元格預(yù)測(cè)最終輸出的概率定義為捕儒,如下兩圖所示(兩幅圖不一樣,代表一個(gè)框會(huì)輸出B列概率值)
P_r(Class_i|Object) ? P_r(Object) ? IOU^{truth}_{pred} = P_r(Class_i) ? IOU^{truth}_{pred}

6.png

7.png

最后將(S\times S)\times B\times20 列的結(jié)果送入NMS邓夕,最后即可得到最終的輸出框結(jié)果

最后來看一下訓(xùn)練YOLO使用的損失函數(shù)定義(本想自己用latex打的刘莹,后來有個(gè)符號(hào)一直打不出來,使用網(wǎng)友的圖如下)


8.png

這里強(qiáng)調(diào)兩點(diǎn):
1.每個(gè)圖片的每個(gè)單元格不一定都包含object焚刚,如果沒有object点弯,那么confidence就會(huì)變成0,這樣在優(yōu)化模型的時(shí)候可能會(huì)讓梯度跨越太大矿咕,模型不穩(wěn)定跑飛了抢肛。為了平衡這一點(diǎn)狼钮,在損失函數(shù)中,設(shè)置兩個(gè)參數(shù)λ_{corrd}λ_{noobj}捡絮,其中λ_{corrd}控制bbox預(yù)測(cè)位置的損失熬芜,λ_{noobj}控制單個(gè)格內(nèi)沒有目標(biāo)的損失。
2.對(duì)于大的物體福稳,小的偏差對(duì)于小的物體影響較大涎拉,為了減少這個(gè)影響,所以對(duì)bbox的寬高都開根號(hào)的圆。

參考
1.https://docs.google.com/presentation/d/1aeRvtKG21KHdD5lg6Hgyhx5rPq_ZOsGjG5rJ1HP7BbA/pub?start=false&loop=false&delayms=3000&slide=id.g137784ab86_4_1822
2.https://blog.csdn.net/u011974639/article/details/78208773

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末鼓拧,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子越妈,更是在濱河造成了極大的恐慌季俩,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件梅掠,死亡現(xiàn)場(chǎng)離奇詭異酌住,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)阎抒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門赂韵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人挠蛉,你說我怎么就攤上這事祭示。” “怎么了谴古?”我有些...
    開封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵质涛,是天一觀的道長(zhǎng)舅锄。 經(jīng)常有香客問我泌绣,道長(zhǎng),這世上最難降的妖魔是什么宦搬? 我笑而不...
    開封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任带饱,我火速辦了婚禮毡代,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘勺疼。我一直安慰自己教寂,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開白布执庐。 她就那樣靜靜地躺著酪耕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪轨淌。 梳的紋絲不亂的頭發(fā)上迂烁,一...
    開封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天看尼,我揣著相機(jī)與錄音,去河邊找鬼盟步。 笑死藏斩,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的却盘。 我是一名探鬼主播狰域,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼谷炸!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起禀挫,我...
    開封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤旬陡,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后语婴,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體描孟,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年砰左,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了匿醒。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡缠导,死狀恐怖廉羔,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情僻造,我是刑警寧澤憋他,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站髓削,受9級(jí)特大地震影響竹挡,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜立膛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一揪罕、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧宝泵,春花似錦好啰、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至廓握,卻和暖如春搅窿,著一層夾襖步出監(jiān)牢的瞬間嘁酿,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來泰國打工男应, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留闹司,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓沐飘,卻偏偏與公主長(zhǎng)得像游桩,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子耐朴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • 自學(xué)保存,作者原地址:請(qǐng)大家支持原作者,寫的真的不錯(cuò).http://hellodfan.com/2017/10/1...
    茍且偷生小屁屁閱讀 7,756評(píng)論 0 4
  • 文章作者:Tyan博客:noahsnail.com | CSDN | 簡(jiǎn)書 聲明:作者翻譯論文僅為學(xué)習(xí)借卧,如有侵權(quán)請(qǐng)...
    SnailTyan閱讀 23,260評(píng)論 1 35
  • 文章作者:Tyan博客:noahsnail.com | CSDN | 簡(jiǎn)書 聲明:作者翻譯論文僅為學(xué)習(xí),如有侵權(quán)請(qǐng)...
    SnailTyan閱讀 4,831評(píng)論 1 9
  • 1.工作量:名單10進(jìn)店1締結(jié)0 2.今天公司培訓(xùn)筛峭,看到越來越多的小伙伴拿到獎(jiǎng)金铐刘,覺得這個(gè)事業(yè)太好了,又覺得再不干...
    甄程很自律閱讀 213評(píng)論 0 0
  • 自打發(fā)現(xiàn)自己丟了大學(xué)期間孔明燈的手稿距今已三年影晓。今天想再重寫一番镰吵,或許對(duì)于離開校園整一年現(xiàn)在的我來說,更有...
    豆豆歪歪寧寧歪閱讀 570評(píng)論 0 0