飛槳 7日目標檢測第4日 學習筆記

2021-10-09 18:37:02 字數 2324 閱讀 7799

輸出部分yolo v3輸出了3個不同尺度的feature map,如上圖所示的y1, y2, y3,該做法借鑑了fpn(feature pyramid networks),採用多尺度來對不同size的目標進行檢測:

對於coco類別而言,有80個種類,所以每個box應該對每個種類都輸出乙個概率,yolov3設定的是每個網格單元**3個box,所以每個box需要有(x, y, w, h, confidence)五個基本引數,然後還要有80個類別的概率。所以3 * (5 + 80) = 255 這個255是指通道數。

第八頁ppt中提到的kmeans聚類anchor:是把所有真實框的資料由kmeans演算法聚類得到9類錨框(anchor)

參考裡給出的解釋:

這裡解釋一下anchor box,yolo3為每種fpn**特徵圖(13*13,26*26,52*52)設定3種anchor box,總共聚類出9種尺寸的anchor box。在coco資料集這9個anchor box是:(10x13),(16x30),(33x23),(30x61),(62x45),(59x119),(116x90),(156x198),(373x326)。分配上,在最小的13*13特徵圖上由於其感受野最大故應用最大的anchor box (116x90),(156x198),(373x326),(這幾個座標是針對416*416下的,當然要除以32把尺度縮放到13*13下),適合檢測較大的目標。中等的26*26特徵圖上由於其具有中等感受野故應用中等的anchor box (30x61),(62x45),(59x119),適合檢測中等大小的目標。較大的52*52特徵圖上由於其具有較小的感受野故應用最小的anchor box(10x13),(16x30),(33x23),適合檢測較小的目標。同faster-rcnn一樣,特徵圖的每個畫素(即每個grid)都會有對應的三個anchor box,如13*13特徵圖的每個grid都有三個anchor box (116x90),(156x198),(373x326)(這幾個座標需除以32縮放尺寸)

下**釋了anchor與真實框的匹配方法,老師課上講了,但是我沒記住...:

上面這個網路結構圖畫的挺好,留著了~

為什麼要有三個輸出分支?因為要得到3個不同尺度的特徵輸出。

置信度:就是有多大概率,是**的這個類。

先驗框(錨框)是由所有真實框的資料通過kmeans演算法聚類得到的。先驗框的作用是:方便得到好的**框。

網格是對輸入影象進行卷積池化後得到的特徵輸出上的東西,每個網格上都有錨框,每個錨框對應乙個**框(網格數*錨框數=**框數)

上圖中展示了nms的作用,就是為了把不好的框都丟掉,只保留最好的框。

如果兩個真實框落在同乙個網格上,還匹配了同乙個錨框,就不計算該損失,因為如果丟棄的話可能會造成不好的影響,反倒是放任它不管,就不會造成什麼影響。 

上圖為用到的損失函式。

1中的one-hot是指概率最大的那個類別。

這是別人的第三日課的筆記,寫的不錯,我儲存了~ 

那篇部落格裡面介紹了單階段和雙階段檢測,anchor的含義與作用,roi pooling 文章的後半部分解釋了yml配置檔案中的一些設定,感覺寫的挺準確。

單階段檢測模型:yolo, ssd, retina-net

兩階段檢測模型:rcnn, sppnet

飛漿之百度目標檢測7日打卡學習筆記(二)

2020.09.22 昨晚在b站聽了直播課,老師講得很好,乾貨滿滿,不過課後要全部消化恐怕還需蠻多時間的,尤其裡面的各種演算法如果都想搞明白並且都實操一下,那就不是三兩天的功夫了。這個暫且記下,以後等我有空了再深入學習。然後上午想趕在12點前完成作業,結果最後一小時才開始做,當然並沒能成功完成。今天...

4月19日python學習筆記

1.nested list 釋義 巢狀列表 dal memeber joshua 18 celin 18 xiaoli 48 ze 18 print dal memeber print dal memeber 0 2.slicing 切片,切斷,限制 instances 釋義 例項 3.判斷某個元素...

2023年7月19日學習筆記

整數型別 short 佔兩位元組的儲存空間,表數範圍為 32768 32768 最高位為符號位0表正1表負 unsigned short 無符號短整型,佔2個位元組的儲存空間,最高位位數值表數範圍為0 65535 int 佔4位元組,最高位為符號位 0表正,1表負 表數範圍為 2147483648 ...