(大部分內容)
(補充)
核心思想
rcnn系列核心思想是proposal(建議區域)+分類;
yolo系列核心思想是直接在輸出層回歸bounding box位置和bounding box的所屬類別;
大致流程
resize:resize成448*448,分割成7*7網格的cell;
cnn提取特徵和**:卷積負責提取特徵,全連線層負責**;(s=7,是引數可以改)
7*7*2=98個bounding box(bbox)的座標xcenter,ycenter,w,h,confidence;
7*7=49個cell所屬類別;(每個cell負責乙個物體,所以最多可**49個物體)
使用nms非極大值抑制過濾bounding box數量;
網路設計
網路結構借鑑googlenet,由於來自《object detection networks on convolutional feature maps》提到說在訓練網路中增加卷積和全鏈結層可以改善效能,所以在20個卷積層的基礎之上,新增了4個卷積層和2個全連線層。
檢測要求細粒度的視覺資訊,所以把網路輸入也又224*224變成448*448。
每個網格向量
單個網格的責任
整幅影象劃分為7*7的網格grid cell,若是某個物體的中心位置落在這個網格內,那麼這個網格就負責**這個物體;
座標維度資訊
網路最後一層輸出是7*7*30個維度,每個1*1*30的維度對應乙個網格cell所含的資訊,也就是座標資訊和confidence類別資訊;
每個cell要**2個bbox,每個bbox有(x,y,w,h,c),也就是說 2*5=10,就是1*1*30的前10個;
x,y,w,h需要歸一化到0-1之間,加快網路收斂;
confidence值表示所**的box中含有object的置信度和這個box**準確率的兩種含義;
confidence=pr(object)*iou-truth/pred;
第一項表示如果cell有物體就等於1,否則等於0;
第二項表示**bounding box和真實ground truth box的iou值;
回歸offset偏移量代替回歸座標
直接回歸整數(2.3.4.6)比較困難,所以先歸一化到0-1之間,然後得到(0.3,0.6)然後加上(2,4)【也就是當前cell網格的頂點座標】就獲得了當前cell負責**物體的中心座標了。
**類別維度資訊
資料集一共有20個類別,所以輸出就是,7*7*(5*2+20);
通用公式表示輸出就是s*s(5*b+c)的乙個tensor;
損失函式
位置損失
rcoord引數:為了防止背景干擾造成的訓練樣本樣本,設定引數為5,增強正樣本作用;
yolo面臨的物體檢測問題,是乙個典型的類別數目不均衡的問題。
此時如果不採取點措施,那麼物體檢測的map不會太高,因為模型更傾向於不含有物體的格點。
這個控制引數的作用,就是讓含有物體的格點,在損失函式中的權重更大,讓模型更加「重視」含有物體的格點所造成的損失。
1-obj/ij引數:第i個cell的第j個bbox有沒有obj,有就是等於1,沒有等於0;也就是只對那些有真實物體所屬的格點進行損失計算,若該格點不包含物體,那麼**數值不對損失函式造成影響。
座標引數是兩個數相減再平方,圖中有誤;(簡單的平方和誤差)
長寬損失
開根號引數:開根號後,小目標框表示的差值更大,更適用於小目標框對位置更敏感這一特點;
不取根號會更傾向於大尺寸的**框。
取根號是為了盡可能的消除大尺寸框與小尺寸框之間的差異。
含obj的bbox的confidence損失
**是物體的概率*iou
不含obj的bbox的confidence損失
rnoobj引數:設定為0.5,消除負樣本影響;
類別**損失
物體類別概率p,對應的類別位置,該標籤數值為1,其餘位置為0,與分類網路相同。
**某個類別
每個網格**的class資訊(pr項)和bbox**的confidence資訊(pr*iou項)相乘,得到每個bbox的confidence score;
等式左邊第一項就是每個網格**的類別資訊;
第二三項就是每個bounding box**的confidence。
這個乘積的結果即encode了**的box屬於某一類的概率,也有該box準確度的資訊。
每個cell
對每乙個網格的每乙個bbox執行同樣操作: 7x7x2 = 98 bbox (每個bbox既有對應的class資訊又有座標資訊)
設閾值&nms
得到每個bbox的class-specific confidence score以後,設定閾值,濾掉得分低的boxes,對保留的boxes進行nms處理,就得到最終的檢測結果。
缺陷
每個cell只能**乙個物體,如果兩個物體靠的比較近,檢測效果不好;
固定的**框長寬比,在遇到不常見物體的長寬時,泛化能力差;
損失函式在定位誤差和檢測大小物體上需要改進;
特點
位置定位錯誤率高,但是對背景誤檢率低;
對小目標效果差;
利用整幅影象**,而不是基於滑動框的建議框做**;
YOLOv1解讀筆記
當前最好系統相比,yolo目標區域定位誤差更大,但是背景 的假陽性優於當前最好的方法.注1 bounding box是怎麼來的呢?其實是在檢測每個grid cell時,若檢測到目標,則會將其標出來 圖中的紅色框 這就是bounding box。注2 設定多個anchor boxes幹嘛呢?是這樣的,...
目標檢測之YOLOv1
you only look once unified,real time object detection yolo 一體化的,實時的物體檢測 翻譯 詳解 1 2 1 yolov1框架 步驟 1 resize成448 448,分割得到7 7網格 cell 2 cnn提取特徵和 卷積層負責提取特徵。全...
目標檢測 YOLOv1總結
yolov1筆記 faster rcnn筆記 還存在什麼問題?yolov1檢測精度低於當時的先進網路演算法 yolov1容易產生物體定位錯誤 yolov1對小目標的檢測效果不好 每網格只能 兩個物體 概述 1.abstract 乙個單一的神經網路在一次檢測中直接從完整的影象 邊界框和類別概率 單一的...