yolo2 要點(diǎn)解析

yolo2 要點(diǎn)解析

雖然網(wǎng)絡(luò)上各路大神對(duì)yolo2的主要特性和結(jié)構(gòu)做了詳細(xì)說(shuō)明茉继,但就程序的實(shí)現(xiàn)來(lái)說(shuō)幸乒,很多未曾點(diǎn)明的細(xì)節(jié)仍然不是很清楚粤剧。本章不會(huì)對(duì)yolo2的結(jié)構(gòu)和特性進(jìn)行說(shuō)明上鞠,只涉及一些yolo2的關(guān)鍵細(xì)節(jié)和概念贞盯,同時(shí)也是對(duì)自己不了解的部分做一個(gè)梳理闪彼。

邊界框

邊界框以(x, y, w, h)的方式表示它在圖像中的位置壳快,(x, y)表示邊界框的中心點(diǎn)位于圖像坐上角的相對(duì)位置洼专,(w, h)是相對(duì)于圖像大小的相對(duì)位置燕侠。即它們的范圍都是[0, 1]者祖。

先驗(yàn)框(錨框)

Yolo2引入了邊界框先驗(yàn)(bounding box prior)的概念。我們不再期望模型為每張新圖像直接生成唯一的邊界框描述量绢彤,而是定義一個(gè)邊界框集合七问,其中的邊界框有不同的寬高比,這些寬高比嵌入了某些關(guān)于我們預(yù)計(jì)會(huì)檢測(cè)到的目標(biāo)的形狀的先驗(yàn)信息茫舶。Redmond 提供了一種用于發(fā)現(xiàn)最佳寬高比的方法械巡,即在你的訓(xùn)練數(shù)據(jù)集中的所有邊界框上執(zhí)行 k-均值聚類(使用一個(gè)自定義的距離度量)。

作用

我們不再直接預(yù)測(cè)邊界框的尺寸饶氏,而是重新形式化了我們的任務(wù)坟比,從而只需簡(jiǎn)單預(yù)測(cè)與我們的邊界框先驗(yàn)尺寸的偏移量,這樣我們就可以優(yōu)化我們的預(yù)測(cè)邊界框尺寸了嚷往。這種處理方式能讓這一預(yù)測(cè)任務(wù)更容易學(xué)習(xí)葛账。

更容易學(xué)習(xí)的意思是,模型最終的輸出均為[0, 1]之間皮仁,按照歸一化的思想籍琳,使得梯度下降更容易。

先驗(yàn)框與真值框的轉(zhuǎn)換

模型最后輸出的位置特征實(shí)際上是先驗(yàn)框和真值框之間的偏移量的預(yù)測(cè)值贷祈,它們之間的轉(zhuǎn)換公式如下:

b_{x} = \sigma(t_x) + c_x \tag{1}

b_{y} = \sigma(t_y) + c_y \tag{2}

b_w = p_w e^{t_w} \tag{3}

b_h = p_h e^{t_h} \tag{4}

其中t_x, t_y,t_w, t_h為預(yù)測(cè)的偏移量趋急,b_x, b_y, b_w, b_h為實(shí)際預(yù)測(cè)的邊界框的位置,c_x, c_y 為邊界框的中心所在的格點(diǎn)的位置势誊,p_w, p_h 為先驗(yàn)框的寬和高呜达。\sigmatx, ty的值限制在[0, 1]之間,實(shí)際上表達(dá)的是中心點(diǎn)相對(duì)于當(dāng)前格點(diǎn)左上角的位移粟耻,再加上 c_x, c_y 后就變成了相對(duì)于特征圖左上角的位移查近。

注意:以上的所有坐標(biāo)的范圍(除t_x, t_y,t_w, t_h外)均為[0, conv_width],其中conv_width 為模型最終輸出的特征圖的寬度(設(shè)conv_width=conv_height)

損失函數(shù)

在計(jì)算損失時(shí)挤忙,需要知道的是模型最后輸出的特征圖的維度為:
(batch, conv_height, conv_width, num_anchors, 5 + num_classes)
最后一維的前5項(xiàng)分別是 tx, ty, th, tw, pc霜威。
后面的num_classes分別是各類別的概率。

模型損失函數(shù)的計(jì)算包括以下幾部分:

  1. 置信度損失(confidence_loss)
  2. 坐標(biāo)損失(coordinates_loss)
  3. 分類損失(classification_loss)

總損失的計(jì)算公式為:

total\_loss = 0.5 * ( confidence\_loss + classification\_loss + coordinates\_loss)

置信度損失

置信度表示了當(dāng)前的錨框中存在物體的概率册烈,因此置信度損失包含了物體實(shí)際存在與不存在時(shí)的條件損失戈泼,故此置信度損失的計(jì)算公式如下:

  1. 當(dāng)物體實(shí)際不存在時(shí),損失為(向量形式):
    \sum\sqrt{0 - pre\_confidence} \tag{5}
  2. 當(dāng)物體實(shí)際存在時(shí),損失為(向量形式):
    \sum\sqrt{1 - pre\_confidence} \tag{6}

總損失為條件損失之和

confidence_loss = \sum\sqrt{0 - pre\_confidence} + 5\sum\sqrt{1 - pre\_confidence} \tag{7}

這里x5是為了罰重物體存在時(shí)的置信度損失大猛。

坐標(biāo)損失

模型最后得到的是預(yù)測(cè)的先驗(yàn)框和真值框之間的偏移扭倾,因此我們需要預(yù)先將正確的偏移量計(jì)算出來(lái),然后再與預(yù)測(cè)值進(jìn)行比較挽绩。

注意:坐標(biāo)損失只針對(duì)物體實(shí)際存在的情況吆录,物體不存在時(shí)損失為0。

預(yù)先求得正確的偏移量

為了計(jì)算正確的偏移量琼牧,我們首先需要獲得真值框和與之匹配的先驗(yàn)框。但是一個(gè)圖像中有多個(gè)真值框哀卫,并且先驗(yàn)框的數(shù)量同樣有多個(gè)巨坊,那么我們?cè)鯓哟_定與真值框匹配的先驗(yàn)框呢?答案是此改,選擇與真值框IOU值最大的那個(gè)先驗(yàn)框趾撵。

以一張圖中的所有真值框?yàn)槔襟E如下:

  1. 取所有的真值框中的下一個(gè)真值框
  2. 將真值框大小縮放為最終模型生成的特征圖的大小
  3. 以該真值框的中心為原點(diǎn)共啃,并將所有的先驗(yàn)框移至原點(diǎn)
  4. 計(jì)算出真值框與所有先驗(yàn)框的IOU值
  5. 選擇IOU值最大的先驗(yàn)框
  6. 按照轉(zhuǎn)換公式(1) - (4)計(jì)算出實(shí)際的偏移量
  7. 返回第1步占调,直到遍歷完所有的真值框

分類損失

分類損失直接使用預(yù)測(cè)的分類概率值與實(shí)際的分類概率值進(jìn)行比較,計(jì)算公式為(向量形式):

classification\_loss = \sum\sqrt{true\_classes - pre\_class\_prob} \tag{8}

注意:分類損失只針對(duì)物體實(shí)際存在的情況移剪,物體不存在時(shí)損失為0究珊。

參考

  1. https://www.jiqizhixin.com/articles/2018-08-06-2

  2. https://github.com/allanzelener/YAD2K

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市纵苛,隨后出現(xiàn)的幾起案子剿涮,更是在濱河造成了極大的恐慌,老刑警劉巖攻人,帶你破解...
    沈念sama閱讀 211,042評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件取试,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡怀吻,警方通過(guò)查閱死者的電腦和手機(jī)瞬浓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蓬坡,“玉大人猿棉,你說(shuō)我怎么就攤上這事⌒伎龋” “怎么了铺根?”我有些...
    開封第一講書人閱讀 156,674評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)乔宿。 經(jīng)常有香客問(wèn)我位迂,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,340評(píng)論 1 283
  • 正文 為了忘掉前任掂林,我火速辦了婚禮臣缀,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘泻帮。我一直安慰自己精置,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評(píng)論 5 384
  • 文/花漫 我一把揭開白布锣杂。 她就那樣靜靜地躺著脂倦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪元莫。 梳的紋絲不亂的頭發(fā)上赖阻,一...
    開封第一講書人閱讀 49,749評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音踱蠢,去河邊找鬼火欧。 笑死,一個(gè)胖子當(dāng)著我的面吹牛茎截,可吹牛的內(nèi)容都是我干的苇侵。 我是一名探鬼主播,決...
    沈念sama閱讀 38,902評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼企锌,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼榆浓!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起撕攒,我...
    開封第一講書人閱讀 37,662評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤哀军,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后打却,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體杉适,經(jīng)...
    沈念sama閱讀 44,110評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年柳击,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了猿推。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,577評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡捌肴,死狀恐怖蹬叭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情状知,我是刑警寧澤秽五,帶...
    沈念sama閱讀 34,258評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站饥悴,受9級(jí)特大地震影響坦喘,放射性物質(zhì)發(fā)生泄漏盲再。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評(píng)論 3 312
  • 文/蒙蒙 一瓣铣、第九天 我趴在偏房一處隱蔽的房頂上張望答朋。 院中可真熱鬧,春花似錦棠笑、人聲如沸梦碗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)洪规。三九已至,卻和暖如春循捺,著一層夾襖步出監(jiān)牢的瞬間斩例,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工巨柒, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人柠衍。 一個(gè)月前我還...
    沈念sama閱讀 46,271評(píng)論 2 360
  • 正文 我出身青樓洋满,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親珍坊。 傳聞我的和親對(duì)象是個(gè)殘疾皇子牺勾,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評(píng)論 2 348

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

  • (轉(zhuǎn)自知乎)目標(biāo)檢測(cè)近年來(lái)已經(jīng)取得了很重要的進(jìn)展,主流的算法主要分為兩個(gè)類型(參考RefineDet):(1)tw...
    hikaty閱讀 552評(píng)論 0 2
  • 最近發(fā)現(xiàn)自己的一個(gè)缺點(diǎn)阵漏,很多原理雖然從理論上或著數(shù)學(xué)上理解了驻民,但是難以用一種簡(jiǎn)潔的偏于溝通的方式表達(dá)出來(lái)。所以合上...
    給力桃閱讀 1,698評(píng)論 0 0
  • 文章作者:Tyan博客:noahsnail.com | CSDN | 簡(jiǎn)書 聲明:作者翻譯論文僅為學(xué)習(xí)履怯,如有侵權(quán)請(qǐng)...
    SnailTyan閱讀 4,401評(píng)論 0 10
  • 文章作者:Tyan博客:noahsnail.com | CSDN | 簡(jiǎn)書 聲明:作者翻譯論文僅為學(xué)習(xí)回还,如有侵權(quán)請(qǐng)...
    SnailTyan閱讀 4,934評(píng)論 0 6
  • 見(jiàn)識(shí)了一只心理素質(zhì)極佳的蚊子。是日臨晨叹洲,就在睡眠最深沉?xí)r刻柠硕,被一陣斬釘截鐵的奇癢警醒。蚊帳中進(jìn)了蚊子运提!即使我的大腦...
    我愛(ài)雨果閱讀 447評(píng)論 1 4