YOLO1從理解到親手訓練

2021-08-31 13:51:12 字數 2047 閱讀 7996

yolo1是端對端的目標檢測模型,參考**為you only look once:unified, real-time object detection

主要思想是將分割成cell_size * cell_size的格仔,每個格仔裡只包含乙個目標,通過網路來輸出每個格仔的目標值,其中判斷格仔中是否有目標即判斷目標中心點是否在對應格仔中。

模型大致結構圖如下:

模型經過多層卷積和全連線層,將最終輸出尺寸為[batch,cell_size * cell_size * (num_classes+ box_per_cell* 5)]。

簡單介紹一下輸出的表示:

通過reshape分成[batch,cell_size,cell_size,num_classes]表示每個格仔對應的類別;

[batch_,cell_size,cell_size,box_per_cell]表示每個格仔中是否存在目標的置信度,之所以選擇兩個box_per_cell是為了讓**精度更準確,通俗來講就是三個臭皮匠頂乙個諸葛亮;

[batch,cell_size,cell_size,box_per_cell,4]表示每個格仔每個選框中的目標框的座標值,4個值分別為目標的中心橫縱座標偏移值x,y,目標的長寬w,h,但都經過一定歸一化處理。x,y是相對於格仔的偏移量經過了除以整個大小的歸一化。

舉例說明:

就是原圖目標的中心座標是x1,y1,原圖寬高分別為w1,h1假設目標中心坐落在下標為[0,1]的格仔裡,即int(x1/image_size* cell_size),int(y1/image_size* cell_size)=0,1,此時對應格仔的目標置信度應該都為1,x和y應該是相對於[0,1]這個格仔的偏移量,具體演算法是:x=x1/image_size* cell_size-0,y=y1/image_size* cell_size-1。

w,h也進行歸一化但還要開方,具體演算法為:w=square(w1/image_size),h=square(h1/image_size),歸一化可以把數值指定在一定範圍有利於訓練,把w,h開方,是因為w,h的值不同於x,y是格仔的偏移量限定於一定區間,w,h是針對整個而言,變化沒那麼平緩,所以進行開方。

真實訓練資料也按上述方法來處理,只不過剛開始的shape是[cell_size,cell_size,4]然後將它reshape成[cell_size,cell_size,1,4]再複製成[batch,cell_size,cell_size,box_per_cell,4]

關於損失函式計算有目標損失,無目標損失,類別損失,目標框損失,佔比不同,實際顯示要加上非極大值抑制,把兩個很相近的目標框只保留置信度高的。

關於yolo v2 網上部落格大致內容介紹很詳細,可以參考**yolo9000: better, faster, stronger

我主要介紹它的訓練資料長什麼樣,這也是困擾我好久的。yolo v2 加了anchor box為上述每個格仔提供多個目標的可能,真實值的目標要與anchor box計算iou值,大於閾值才保留,否則保留iou值最大的目標,這樣label的shape就變成了[batch, cell_size, cell_size, n_anchors, num_clsses+5],相關座標x,y,w,h和yolo1處理方式也些許不同,感興趣的同學可以去參考**。

**只針對於yolo1的訓練和測試,實現自己從頭開始訓練yolo,本測試**支援攝像頭

主要環境配置為:

ubuntu 16.04

python 3.5.5

tensorflow 1.4.1

opencv 3.4.1

**實現詳情見我的github,中文注釋,清晰易懂,還請大家批評指正

YOLO1學習筆記

yolo you only look once 是一種目標檢測系統,其特點是將物品識別和物品分類融合,使用乙個深度學習模型直接計算出物體的位置和型別。基本思路如下所示 首先被分為s times s個框,如最左邊的圖所示。對於每個框,若乙個物體的中心落在該框中,則這個框負責該物體的型別和位置 對於每個...

CORS 從理解到驗證

cors cross origin resource sharing跨源資源共享 是一種認證機制,是w3c 全球資訊網聯盟 推薦的一種用於跨域資源訪問的安全策略。源與同源策略 cors 中的源指的是某個url中的協議 網域名稱和埠,由這三個元素標識乙個唯一的源,如http localhost 808...

讀書1 從0到1

總結你身邊是不是總有這樣的人,他特立獨行,有的時候厭煩規則,顯得與眾不同。如果有,請盯住他們,本書就以這類人為論述,作者對他們的迷戀堪稱瘋狂。最近看的一場電影 綠皮書 其中的唐雪莉和托尼就是這樣的人,托尼改掉歧視黑人的行為,甚至為黑人唐打工,而唐也與其他黑人格格不入,他特立獨行,不了解黑人 他是鋼琴...