【深度學習】——常見深度學習模型總結、anchor-free和anchor-based

目錄

1、faster rcnn:

2、SSD:

3、YOLOv1:

小結:

拓展:anchor-based和anchor-free

anchor


1、faster rcnn:

FasterRcnn 算法原理講解筆記(非常詳細)icon-default.png?t=L892https://blog.csdn.net/xjtdw/article/details/98945548

1)主要流程

將輸入的圖像按照短邊設置為600后,等比例不失真縮放;

主干網絡(VGG16、RESTNET)進行特征提取得到特征圖38,38(下采樣率為16);

特征圖每個點生成九個anchor,共有38*38*9個anchors;

每個anchor等比例縮小16得到在特征圖上的坐標,先將超出圖像的anchor去掉,然后根據特征圖可以得到每個anchor的得分(這個得分是二分類,前景or背景),根據得分篩選出12000個anchor,這里使用的分類網絡為softmax+交叉熵損失;

NMS和得分再次篩選得到2000個anchor,這2000個就是建議框proposal;

2000個建議框再和標簽框構建IOU矩陣,根據IOU來區分正負樣本,然后選擇3:1的正負樣本數,總數256,這樣就得到了256個roi;

將roi區域池化為7*7大小的區域,傳輸到全連接層,進行分類和回歸(分類網絡為softmax+交叉熵損失),回歸損失使用的是smoothL1損失。

2)rpn和proposal以及roi層的區別

rpn是一個網絡,主要作用是區域生成和對正樣本的位置先進行調整,得到位置更加準確的建議框;proposal一般為2000個,是rpn網絡的產物;roi是proposal和標簽框構建iou矩陣后得到的區域;

3)為什么最后要池化為7*7

fasterrcnn原始使用的是VGG的全連接層,而全連接層是固定維度的,因此需要將維度編程適用于vgg

4)為什么小目標最后會消失

經過主干網絡特征提取后,圖像的下采樣率為16,這樣就導致了目標像素小于16的對象會被下采樣過程中丟棄,同時后續使用的特征圖是下采樣后的,特征圖中沒有小目標的特征點存在,導致后續訓練的網絡并沒有對小目標進行訓練檢測。

5)要注意什么?

fasterrcnn:盡量保證標簽框在錨框的最大范圍內,便于收斂;

是一個two stage模型,主要創新點在于RPN網絡用于候選框的生成。首先利用先驗知識對特征圖上每一個點生成先驗大小的9個ANCHOR框,然后第一階段是訓練RPN網絡即生成候選區域,確定每一個框是否包含物體,這里主要是對固定的ANCHOR進行篩選和修正,將剩余的錨框作為候選區域;第二個階段則是對候選區域進行分類和回歸,確定物體的類別具體是什么,以此實現物體的檢測

優點精度高

缺點:訓練時間長,且anchor是在同一個特征圖上得到的,不利于小目標物體的檢測

注意:先驗大小——指的是根據現有的目標的縱橫比來進行錨框的設計,以此來使得候選區域盡可能地接近真實的物體的位置

2、SSD:

是一個one stage模型,主要創新點在于多尺度訓練。SSD是從多個特征層上進行anchor的獲取,然后直接將這些anchor框作為候選框進行物體類別的預測與位置的預測。這里還是采用了先驗知識來指導anchor的生成,每個特征層每個點生成的anchor的個數不一樣,主要為4個或者是6個,為了樣本平衡,也會對樣本進行篩選,使得正負樣本1:3.

優點:速度快

缺點:精度不夠

注意:先驗大小——指的是根據現有的目標的縱橫比來進行錨框的設計,以此來使得候選區域盡可能地接近真實的物體的位置

3、YOLOv1:

是一個one stage模型,主要創新點在于最后7*7*30的特征矩陣當中。YOLOV1是一個沒有先驗框的模型,它主要是將輸入的圖像分割成7*7大小的網格,然后每個網格生成2個預測框,最后每個網格含有30個信息值(2個預測框的x,y,h,w,c以及20個類別的條件概率)。

優點:速度比SSD快,是目前性能綜合最高的了

小結:

以上三種模型都需要生成候選框,且訓練數據都需要有標記的圖像數據。不同的是前二者有先驗框來指導候選框的生成,而YOLO沒有;且rcnn系列是二階段,后兩者是一階段。前兩者可以看成是anchor_based,yolov1可以看成是anchor_free.

拓展:anchor-based和anchor-free

參考鏈接:https://www.zhihu.com/question/356551927/answer/926659692

目標檢測算法一般可分為anchor-based、anchor-free、兩者融合類,區別就在于有沒有利用anchor提取候選目標框。

A. anchor-based類算法代表是fasterRCNN、SSD、YoloV2/V3等

B. anchor-free類算法代表是CornerNet、ExtremeNet、CenterNet、FCOS,yolov1等

anchor

(也被稱為anchor box)是在訓練之前,在訓練集上利用k-means等方法聚類出來的一組矩形框,代表數據集中目標主要分布的長寬尺度。在推理時生成的特征圖上由這些anchor滑動提取n個候選矩形框再做進一步的分類和回歸(詳細敘述請參考提出anchor思想的fasterRCNN一文)。也就是傳統目標檢測算法中,在圖像金字塔上使用的那個m*n的滑窗。只不過傳統方法中特征圖是不同尺度的,滑窗一般是固定大小的;而類似于fasterRCNN算法中特征圖是固定的,anchor是多尺度的。

preview

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/255859.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/255859.shtml
英文地址,請注明出處:http://en.pswp.cn/news/255859.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

PHP PDO函數庫詳解

PDO是一個“數據庫訪問抽象層”,作用是統一各種數據庫的訪問接口,與mysql和mysqli的函數庫相比,PDO讓跨數據庫的使用更具有親和力;與ADODB和MDB2相比,PDO更高效。目前而言,實現“數據庫抽象層”任重而道遠&…

數據交互相關分享

Python與web Python Web.py與AJAX交互轉載于:https://juejin.im/post/5a40af3d6fb9a044ff31b1f5

springMVC 相對于 Structs 的優勢

智者說,沒有經過自己的思考和估量,就不能接受別人的東西。資料只能是一個參考,至于是否正確,還得自己去分辨 SpringMVC相對于Structs的幾個優勢: 1、springMVC安全性更高,structs2框架是類級別的攔截&#…

YOLOV1學習

YOLOV1學習(輸入的圖像固定大小為448X448X3) 參考文獻 模型結構 將輸入的圖像歸一化為大小為448x448x3的圖像,然后將經過中間24層的卷積后得到了7x7x1024的特征圖,然后后面連接的是兩個全連接層,分別是4096和1470&am…

KUKA通信 CREAD問題

嗨。 我想通過串行端口1發送X,Y,Z,A,B,C坐標給機器人。 G1: ...... CREAD(HANDLE,SR_T,MR_T,TIMEOUT,OFFSET,"%F",X) P.XX CREAD(HANDLE,SR_T,MR_T,TIMEOUT,OFFSET,"%F",Y) P.YY ...... GOTO G1…

bzoj 1901: Zju2112 Dynamic Rankings

Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 6245 Solved: 2593[Submit][Status][Discuss]Description 給定一個含有n個數的序列a[1],a[2],a[3]……a[n],程序必須回答這樣的詢問:對于給定的i,j,k,在a[i],a[i1],a[i2]……a[j]中第k小的…

第 36 章 RRDTool

36.1. install $ apt-get install rrdtool原文出處:Netkiller 系列 手札 本文作者:陳景峯 轉載請與作者聯系,同時請務必標明文章原始出處和作者信息及本聲明。

手機號碼已經注冊寫到數據庫中,如何利用相同手機號碼再次注冊?

手機號碼已經注冊寫到數據庫中,如何利用相同手機號碼再次注冊? 解:刪除數據庫中以前注冊的手機號碼就可以了啊,delete那條記錄,轉載于:https://www.cnblogs.com/panxuejun/p/6122499.html

騰訊技術研究類和數據分析第一次筆試(2021.8.22)——Python

第一題:開鎖——數學期望 # 最優策略:鑰匙的選擇先從消耗時間最少的開始選擇,然后選擇第二小的依次類推 # 開鎖概率1/n def openLockTime(n, m, time):time_reverse [] # (n,m)->(m,n)for i in range(m):m_time []for j in range(n):m…

教你怎樣選擇伺服電機控制方式

伺服電機一般都有三種控制方式:速度控制方式,轉矩控制方式,位置控制方式 。 速度控制和轉矩控制都是用模擬量來控制的。位置控制是通過發脈沖來控制的。具體采用什么控制方式要根據客戶的要求,滿足何種運動功能來選擇。 …

.Net Discovery系列之四 深入理解.Net垃圾收集機制(下)

上一節給大家介紹了 .Net GC的運行機制,下面來講下與GC相關的重要方法。 第二節.GC關鍵方法解析 1.Dispose()方法 Dispose可用于釋放所有資源,包括托管的和非托管的,需要自己實現。 大多數的非托管資源都要求手動釋放,…

真靜態和偽靜態的區別

首先肯定的是純靜態和偽靜態都是SEO的產物,但純靜態和偽靜態還是有很大區別的。 純靜態是生成真實的HTML頁面保存到服務器端,用戶訪問時直接訪問這 個HTML頁面即可,從而大大的減輕了服務器壓力(如dedecms就是采用的純靜態&#xf…

非常有趣的Console

console覺醒之路,打印個動畫如何? 原文地址: http://www.helloweba.com/view-blog-383.html 批量去掉或替換文本中的換行符(notepad、sublime text2) 原文地址:http://m.blog.csdn.net/article/details?id43228729 有…

shopee蝦皮科技測試工程師第一次筆試

10道單選題 10道多選題 2道編程題 第一題:十進制轉二進制計算1的個數(負數轉為補碼) #!/usr/bin/env python # -*- coding: utf-8 -*- # Time : 2021/8/23 15:44 # Author : linlianqin # Site : # File : 十進制轉換為二進制&am…

假期實踐

第一天 地點:杭州頤高數碼城 第一天,我來到了自己家附近的頤高數碼城。文三路這邊有一個賣數碼產品的一條街,這里也是最貼近我專業實踐的地方,所以第一天的實踐我選擇了這里。 2001年開業的頤高數碼廣場座落于“電子一條街”文三路、學院路口…

3.AngularJS-過濾器

轉自:https://www.cnblogs.com/best/p/6225621.html 二、過濾器 使用過濾器格式化數據,變換數據格式,在模板中使用一個插值變量。語法格式如下: {{ express | filter:parameter1:p2:p3… | … | …}} 過濾器分了內置過濾器與自定義…

webstorm卡頓問題

解決webstorm卡頓問題 webstorm強大的功能就不多做介紹了。但是它的缺點也顯而易見:吃內存。 電腦配置稍低一點,運行webstorm就特別容易卡頓,特別是項目比較大的時候,那卡頓得不要不要的。 在我的筆記本8g內存 256ssd的配置下&…

cmd.exe啟動參數說明

啟動命令解釋程序 Cmd.exe 的新范例。如果在不含參數的情況下使用,cmd 將顯示操作系統的版本和版權信息。 語法 cmd [{/c | /k}] [/s] [/q] [/d] [{/a | /u}] [/t:FG] [/e:{on | off}] [/f:{on | off}] [/v:{on | off}] [String] 參數 /c 執行 String 指定的命令&am…

【深度學習】——訓練過程

包含哪些層 訓練過程 其實就是yf(x)的求參過程,先給參數一個初始值,然后根據初始函數計算得到預測值,根據預測值和真值計算損失,然后又根據損失函數進行反向傳播更新參數,更新參數后,再次計算預測值&#…

ABB RAPID 程序 WorldZone 歸納

在 RAPID 程序中,靜態的 WorldZone 不能被解除并再次激活,或者進行擦除。在 RAPID 程序中, 臨時的 WorldZone 可以被解除(WZDisable) , 再次激活(WZEnable) 或者擦除(WZF…