目標檢測系列1 yolo系列的基本思想

2021-10-13 07:41:49 字數 1950 閱讀 6514

目標分類一學就會,目標檢測一學就廢

目標檢測你感覺就是目標和**不是對應的,實際上並不是這樣的,

如果讓它

一、一對應了,可不可以,就像上圖那樣,

答案是不可以的,因為目標檢測不止有乙個目標,乙個目標的時候可以,如果是多個目標呢?

那就有很多個(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 學習的關鍵步...