之前,對SSD的論文進行了解讀,可以回顧之前的博客:https://www.cnblogs.com/dengshunge/p/11665929.html。 為了加深對SSD的理解,因此對SSD的源碼進行了復現,主要參考的github項目是ssd.pytorch。同時,我自己對該項目增加了大量注釋 ...
Fork版本項目地址:SSD 一 損失函數介紹 SSD損失函數分為兩個部分:對應搜索框的位置loss loc 和類別置信度loss conf 。 搜索框指網絡生成的網格 詳細的說明如下: i指代搜索框序號,j指代真實框序號,p指代類別序號,p 表示背景, 中取 表示此時第i個搜索框和第j個類別框IOU大於閾值,此時真實框中對象類別為p。 cip表示第i個搜索框對應類別p的預測概率。 二 分類損失函 ...
2018-07-23 19:12 3 8644 推薦指數:
之前,對SSD的論文進行了解讀,可以回顧之前的博客:https://www.cnblogs.com/dengshunge/p/11665929.html。 為了加深對SSD的理解,因此對SSD的源碼進行了復現,主要參考的github項目是ssd.pytorch。同時,我自己對該項目增加了大量注釋 ...
Fork版本項目地址:SSD 一、輸入標簽生成 在數據預處理之后,圖片、類別、真實框格式較為原始,不能夠直接作為損失函數的輸入標簽(ssd向前網絡只需要圖像就行,這里的處理主要需要滿足loss的計算),對於一張圖片(三維CHW)我們需要如下格式的數據作為損失函數標簽: gclasse ...
Fork版本項目地址:SSD 作者使用了分布式訓練的寫法,這使得訓練部分代碼異常臃腫,我給出了部分注釋。我對於多機分布式並不很熟,而且不是重點,所以不過多介紹,簡單的給出一點訓練中作者的優化手段,包含優化器選擇之類的。 一、滑動平均 # =================================================================== ...
Fork版本項目地址:SSD 參考自集智專欄 一、SSD基礎 在分類器基礎之上想要識別物體,實質就是 用分類器掃描整張圖像,定位特征位置 。這里的關鍵就是用什么算法掃描,比如可以將圖片分成若干網格,用分類器一個格子、一個格子掃描,這種方法有幾個問題: 問題1 : 目標正好 ...
1.損失函數---------經典損失函數--------交叉熵:交叉熵刻畫了兩個概率分布之間的距離,它是分類問題中使用比較廣的一種損失函數。通過q來表示p的交叉熵為: Softmax將神經網絡前向傳播得到的結果變成概率分布,原始神經網絡的輸出被用作置信度來生成新的輸出,而新的輸出滿足 ...
交叉熵損失: 給定兩個概率分布p和q,通過q來表示p的交叉熵為: 從上述公式可以看出交叉熵函數是不對稱的,即H(p,q)不等於H(q,p)。 交叉熵刻畫的是兩個概率分布之間的距離,它表示通過概率分布q來表示概率分布p的困難程度。所以使用交叉熵作為 神經網絡的損失函數時,p代表的是正確答案 ...
損失算法的選取 損失函數的選取取決於輸入標簽數據的類型: 如果輸入的是實數、無界的值,損失函數使用平方差; 如果輸入標簽是位矢量(分類標志),使用交叉熵會更適合。 1.均值平方差 在TensorFlow沒有單獨的MSE函數,不過由於公式比較簡單,往往開發者都會 ...
Fork版本項目地址:SSD 上一節中我們定義了vgg_300的網絡結構,實際使用中還需要匹配SSD另一關鍵組件:被選取特征層的搜索網格。在項目中,vgg_300網絡和網格生成都被統一進一個class中,我們從class SSDNet開始談起。 一、初始化class SSDNet 這是 ...