一文看懂YOLO v1

學(xué)號(hào):20011210350? 姓名:呂敬武

轉(zhuǎn)載自:https://blog.csdn.net/litt1e/article/details/88814417?ops_request_misc=&request_id=&biz_id=102&utm_term=YOLO&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-4-88814417.first_rank_v2_pc_rank_v29

【嵌牛導(dǎo)讀】圖像處理是現(xiàn)在必不可缺也是特別熱門的方向之一缰冤,目前發(fā)展十分迅速欺劳。YOLO(you only look once)是一種基于深度神經(jīng)網(wǎng)絡(luò)的對(duì)象識(shí)別和定位算法泼疑,其最大的特點(diǎn)是運(yùn)行速度很快镊辕,可以用于實(shí)時(shí)系統(tǒng)闷沥。下面是對(duì)YOLO v1的一個(gè)自己的看法。

【嵌牛鼻子】YOLO v1趣斤;自己的理解

【嵌牛正文】

從R-CNN到Faster R-CNN一直采用的思路是proposal+分類 (proposal 提供位置信息方援, 分類提供類別信息)精度已經(jīng)很高,但由于two-stage(proposal耗費(fèi)時(shí)間過多)處理速度不行達(dá)不到real-time效果式镐。

YOLO

提供了另一種更為直接的思路: 直接在輸出層回歸bounding box的位置和bounding box所屬的類別(整張圖作為網(wǎng)絡(luò)的輸入反镇,把 Object

Detection 的問題轉(zhuǎn)化成一個(gè) Regression 問題)。

網(wǎng)絡(luò)結(jié)構(gòu):


網(wǎng)絡(luò)結(jié)構(gòu)借鑒了 GoogLeNet 娘汞。24個(gè)卷積層歹茶,2個(gè)全鏈接層。(用1×1 reduction layers 緊跟 3×3

convolutional layers 取代Goolenet的 inception modules )。

預(yù)訓(xùn)練分類網(wǎng)絡(luò):在 ImageNet 1000-class

competition dataset上預(yù)訓(xùn)練一個(gè)分類網(wǎng)絡(luò)辆亏,這個(gè)網(wǎng)絡(luò)是圖中的前20個(gè)卷機(jī)網(wǎng)絡(luò)+average-pooling layer+ fully connected layer (此時(shí)網(wǎng)絡(luò)輸入是224×224)风秤。訓(xùn)練檢測(cè)網(wǎng)絡(luò):轉(zhuǎn)換模型去執(zhí)行檢測(cè)任務(wù),《Object detection networks

on convolutional feature maps》提到說在預(yù)訓(xùn)練網(wǎng)絡(luò)中增加卷積和全鏈接層可以改善性能扮叨。在他們例子基礎(chǔ)上添加4個(gè)卷積層和2個(gè)全鏈接層缤弦,隨機(jī)初始化權(quán)重。檢測(cè)要求細(xì)粒度的視覺信息彻磁,所以把網(wǎng)絡(luò)輸入也又224×224變成448×448碍沐。

YOLO v1算法思想:

作者在YOLO算法中把物體檢測(cè)(object detection)問題處理成回歸問題,用一個(gè)卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)就可以從輸入圖像直接預(yù)測(cè)bounding box和類別概率衷蜓。

算法首先把輸入圖像劃分成S×S的格子累提,然后對(duì)每個(gè)格子都預(yù)測(cè)B個(gè)bounding boxes,每個(gè)bounding box都包含5個(gè)預(yù)測(cè)值:x,y,w,h和confidence磁浇。

x斋陪,y就是bounding box的中心坐標(biāo),與grid cell對(duì)齊(即相對(duì)于當(dāng)前grid cell的偏移值)置吓,使得范圍變成0到1无虚;

wh進(jìn)行歸一化(分別除以圖像的w和h衍锚,這樣最后的w和h就在0到1范圍)友题。

confidence

代表了所預(yù)測(cè)的box中含有object的置信度和這個(gè)box預(yù)測(cè)的有多準(zhǔn)兩重信息:


換句話說,如果ground truth落在這個(gè)grid cell里戴质,那么Pr(Object)就取1度宦,否則就是0,IOU就是bounding box與實(shí)際的groud truth之間的交并比告匠。所以confidence就是這兩者的乘積戈抄。


所以如何判斷一個(gè)grid cell中是否包含object呢?答案是:如果一個(gè)object的ground truth的中心點(diǎn)坐標(biāo)在一個(gè)grid cell中凫海,那么這個(gè)grid cell就是包含這個(gè)object呛凶,也就是說這個(gè)object的預(yù)測(cè)就由該grid cell負(fù)責(zé)。

每個(gè)grid cell都預(yù)測(cè)C個(gè)類別概率行贪,表示一個(gè)grid cell在包含object的條件下屬于某個(gè)類別的概率。

損失函數(shù)設(shè)計(jì):



這里詳細(xì)講一下loss function模闲。在loss function中建瘫,前面兩行表示localization

error(即坐標(biāo)誤差),第一行是box中心坐標(biāo)(x,y)的預(yù)測(cè)尸折,第二行為寬和高的預(yù)測(cè)啰脚。這里注意用寬和高的開根號(hào)代替原來的寬和高,這樣做主要是因?yàn)橄嗤膶捄透哒`差對(duì)于小的目標(biāo)精度影響比大的目標(biāo)要大。

第三橄浓、四行表示bounding box的confidence損失粒梦,就像前面所說的,分成grid cell包含與不包含object兩種情況荸实。這里注意下因?yàn)槊總€(gè)grid cell包含兩個(gè)bounding box匀们,所以只有當(dāng)ground truth 和該網(wǎng)格中的某個(gè)bounding box的IOU值最大的時(shí)候,才計(jì)算這項(xiàng)准给。

第五行表示預(yù)測(cè)類別的誤差泄朴,注意前面的系數(shù)只有在grid cell包含object的時(shí)候才為1。

測(cè)試:


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


對(duì)每一個(gè)網(wǎng)格的每一個(gè)bbox執(zhí)行同樣操作: 7x7x2 = 98 bbox (每個(gè)bbox既有對(duì)應(yīng)的class信息又有坐標(biāo)信息)


得到98bbox的信息后局扶,首先對(duì)閾值小于0.2的score清零,然后重新排序叁扫,最后再用NMS算法去掉重復(fù)率較大的bounding box(NMS:針對(duì)某一類別三妈,選擇得分最大的bounding box,然后計(jì)算它和其它bounding box的IOU值陌兑,如果IOU大于0.5沈跨,說明重復(fù)率較大,該得分設(shè)為0兔综,如果不大于0.5饿凛,則不改;這樣一輪后软驰,再選擇剩下的score里面最大的那個(gè)bounding box涧窒,然后計(jì)算該bounding box和其它bounding box的IOU,重復(fù)以上過程直到最后)锭亏。最后每個(gè)bounding box的20個(gè)score取最大的score纠吴,如果這個(gè)score大于0,那么這個(gè)bounding box就是這個(gè)socre對(duì)應(yīng)的類別(矩陣的行)慧瘤,如果小于0戴已,說明這個(gè)bounding box里面沒有物體,跳過即可锅减。


缺陷:YOLO對(duì)相互靠的很近的物體(挨在一起且中點(diǎn)都落在同一個(gè)格子上的情況)糖儡,還有很小的群體 檢測(cè)效果不好,這是因?yàn)橐粋€(gè)網(wǎng)格中只預(yù)測(cè)了兩個(gè)框怔匣,并且只屬于一類握联。

測(cè)試圖像中,當(dāng)同一類物體出現(xiàn)的不常見的長(zhǎng)寬比和其他情況時(shí)泛化能力偏弱。

由于損失函數(shù)的問題金闽,定位誤差是影響檢測(cè)效果的主要原因纯露,尤其是大小物體的處理上,還有待加強(qiáng)代芜。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末埠褪,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蜒犯,更是在濱河造成了極大的恐慌组橄,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件罚随,死亡現(xiàn)場(chǎng)離奇詭異玉工,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)淘菩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門遵班,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人潮改,你說我怎么就攤上這事狭郑。” “怎么了汇在?”我有些...
    開封第一講書人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵翰萨,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我糕殉,道長(zhǎng)亩鬼,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任阿蝶,我火速辦了婚禮雳锋,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘羡洁。我一直安慰自己玷过,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開白布筑煮。 她就那樣靜靜地躺著辛蚊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪真仲。 梳的紋絲不亂的頭發(fā)上嚼隘,一...
    開封第一講書人閱讀 51,598評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音袒餐,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛灸眼,可吹牛的內(nèi)容都是我干的卧檐。 我是一名探鬼主播,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼焰宣,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼霉囚!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起匕积,我...
    開封第一講書人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤盈罐,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后闪唆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體盅粪,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年悄蕾,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了票顾。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡帆调,死狀恐怖奠骄,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情番刊,我是刑警寧澤含鳞,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站芹务,受9級(jí)特大地震影響蝉绷,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜锄禽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一潜必、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧沃但,春花似錦磁滚、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至淤刃,卻和暖如春晒他,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背逸贾。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工陨仅, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留津滞,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓灼伤,卻偏偏與公主長(zhǎng)得像触徐,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子狐赡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355

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

  • 本文基本參考【深度學(xué)習(xí)YOLO V1】深刻解讀YOLO V1(圖解)撞鹉,不過原文有大量圖片不能顯示,所以我在這里重發(fā)...
    菜鳥瞎編閱讀 883評(píng)論 0 1
  • 簡(jiǎn)介 Current detection systems repurpose classifiers to per...
    Septieme閱讀 496評(píng)論 0 0
  • YOLO(You Only Look Once)是一種基于深度神經(jīng)網(wǎng)絡(luò)的對(duì)象識(shí)別和定位算法颖侄,其最大的特點(diǎn)是運(yùn)行速度...
    X豬閱讀 76,031評(píng)論 52 258
  • 摘要 作者提出了一種目標(biāo)檢測(cè)的網(wǎng)絡(luò)鸟雏,將目標(biāo)檢測(cè)問題當(dāng)做一種回歸問題,同時(shí)回歸出box和class览祖,一種可以端到端訓(xùn)...
    vv_cat閱讀 343評(píng)論 0 0
  • 久違的晴天孝鹊,家長(zhǎng)會(huì)。 家長(zhǎng)大會(huì)開好到教室時(shí)穴墅,離放學(xué)已經(jīng)沒多少時(shí)間了惶室。班主任說已經(jīng)安排了三個(gè)家長(zhǎng)分享經(jīng)驗(yàn)。 放學(xué)鈴聲...
    飄雪兒5閱讀 7,523評(píng)論 16 22