《YOLO算法笔记》(草稿)
檢測算法回顧
5、6年前的檢測算法大體如下:
手動涉及特征時應(yīng)該考慮的因素:
1、尺度不變性 2、光照不變性 3、旋轉(zhuǎn)不變性
這一步驟稱為特征工程,最重要的一個算法稱為sift,(回顧SIFT講解)體現(xiàn)了上述所有的觀點(diǎn)。
在分類的過程中,經(jīng)典的工具有SVM、NN。
由于每一個步驟都會存在誤差,隨著鏈路不斷增長,會導(dǎo)致誤差逐步累積,最終帶來錯誤。
stage1生成備選框,stage2進(jìn)行精準(zhǔn)化.
v1講解
一些概念和定義
每個備選框都可以用四個維度唯一標(biāo)定。
confidence為置信度,置信度表達(dá)式中的Pr表示是否為目標(biāo)物體的概率,IoU表示真實(shí)與預(yù)測box之間的重合程度。
輸出的張量,(5*B+C)表示channel數(shù)目,5代表了box的xywh和置信度,一共有兩個box,C表示分類的個數(shù),原文中給的是20.
B是個武斷的數(shù)字,只要比1大就行了,用1個預(yù)測框去回歸,并不能保證回歸結(jié)果很好。
損失函數(shù)解釋
函數(shù)1、2代表的是對物體邊框的回歸。3、4代表的是對置信度的回歸。
原本的格子7x7,然后每個格子對應(yīng)2個bbox,一共有98個點(diǎn)需要估計。然而在我們上圖中只有3個物體,所以需要把超參數(shù)調(diào)整大一點(diǎn),平衡非物體bbox過多。
w與h表示bbox的邊框大小,為什么使用根號呢?如果使用線性的,當(dāng)物體邊框大的時候,loss也就越大,說明我們評測結(jié)果容易收到大物體影響。使得網(wǎng)絡(luò)只會去學(xué)習(xí)到大物體的信息,而把小物體給忽略掉了。
w與h表示bbox的邊框大小,使用根號,是為了使得大物體與小物體產(chǎn)生的loss差距不大。取log也可以。
為什么需要加上noobject的損失?
當(dāng)我們需要學(xué)習(xí)N類物體的特征時,其實(shí)需要學(xué)習(xí)的時N+1類物體,就是多一個復(fù)雜的背景,增強(qiáng)泛化能力。
最后的分類略顯粗糙,需要加上softmax,與交叉熵?fù)p失相結(jié)合。softmax定義,數(shù)學(xué)表達(dá)式,編碼以及求導(dǎo)需要好好掌握。
v1總結(jié)
之前說過yolo是,圖像中物體中心落在哪個格子,那個格子就負(fù)責(zé)預(yù)測那一個物體。如果物體過于擁擠,導(dǎo)致一個格子里面有多個物體中心就不好搞了。
物理信息找邊框,語義信息分類。
很顯然,右邊的更容易回歸
人工撒anchor,不同形狀,
v3
總結(jié)
以上是生活随笔為你收集整理的《YOLO算法笔记》(草稿)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DNF角色更名卡的售价是多少?
- 下一篇: LLVM与Codegen技术