目標分類一學就會,目標檢測一學就廢
目標檢測你感覺就是目標和**不是對應的,實際上並不是這樣的,
如果讓它
一、一對應了,可不可以,就像上圖那樣,
答案是不可以的,因為目標檢測不止有乙個目標,乙個目標的時候可以,如果是多個目標呢?
那就有很多個(x,y,w,h,class),僅僅五個數是不夠的
如何改進呢?
直接輸出多個框,直接來全卷積,比如輸出20個框,如果有1個目標,那其餘19個都是0就可以了
比如下面輸出5個通道的2×2特徵圖,那比如只有乙個目標,
這就是yolo系列的基本思想
最根本的就是利用全連線層把各個需要的值放到對應d 通道上,加上下面yolov1的講解,多看幾遍很好理解。
輸入就是一張
輸出是什麼呢?乙個個框,那這個框怎麼用數字表示呢?這些數字就可以組成乙個向量。
框的表示最少有下面4種:
(1)x,y,w,h,左上角座標+寬+高
(2)cx,cy,w,h, 中心點座標+寬+高
(3)p1(x,y),p2(x,y),p3(x,y),p4(x,y),4個角的座標8個數
(4)cx,cy,d1,d2,d3,d4,中心點座標+距4個邊的距離
使用不同大小尺寸的視窗從左到右依次截取出做分類:
和目錄1中的描述一樣了,這樣就解決了傳統方法的問題
但是乙個只能輸出1個結果,那如果有多個目標呢?
經過一系列,比如有兩個目標,就輸出兩個向量
多輸出進行空間排列,每個畫素負責乙個區域
損失值的第一項是置信度的損失值,範圍0-1,而後面的4項範圍是0-416,所以後面的值太大,就把置信度給淹沒了,需要給置信度的值加個放大的權重,後面4項可以加個小的權重,抑制4項後面的值。
加根號是因為:如果不加根號,公式算出來的值主要受大目標影響,小目標的影響就很小,導致最後出來的結果主要是檢測大目標,小目標的檢測效果很差,用加根號的方法來稍微解決一下,還有其它方法。
下面這個過程必須會,就是根據置信度去除冗餘框,原理就是重合度越高的框越可能檢測的是同乙個目標。
使用nms必須要用置信度,而置信度是根據iou來得到的。
分類、檢測、分割的區別就是最後的輸出不一樣,還有訓練樣本不一樣,前面的主幹網路都一樣。
分類就輸出one hot 類別
檢測就輸出座標值+one hot 類別
分割就輸出乙個通道的特徵圖
檢測的目標想多的話,就增加輸出的寬和高,增加框
檢測的類別想多的話,就增加通道數
目標檢測演算法之YOLO系列
1.演算法解讀 2.原始碼解析 nms演算法包含在 interpret output 這個函式中 v2通過對標籤聚類得到一系列anchor box prior box 相比v1,bounding box的數量大幅增加。v2 的bounding box以這些anchor box為基準,在一定程度上減少...
目標檢測 YOLO系列v1 v2 v3
人類對於物體只需要看一眼就能知道該物體是什麼,在什麼位置,人類的視覺系統是非常快速而準確的,因此如果能夠加速演算法使得計算機系統也能夠快速而準確的話,就能夠代替人而實現無人駕駛。而目前的一些方法,rcnn系列的都是一套複雜的流程,首先生成一些可能的邊框區域,再對邊框進行分類,之後再修正邊框的位置,然...
目標檢測入門系列手冊五 YOLO訓練教程
由於在r cnn 的系列演算法中都需要首先獲取大量proposal,但proposal 之間有很大的重疊,會帶來很多重複的工作。yolo 5 一改基於proposal 的 思路,將輸入劃分成sxs 個小格仔,在每個小格仔中做 最終將結果合併,如圖2 14 所示。接下來我們看一下yolo 學習的關鍵步...