【深度學習實戰(44)】Anchor based and Anchor free(無錨VS有錨)

1 anchor-based

在這里插入圖片描述

深度學習目標檢測通常都被建模成對一些候選區域進行分類和回歸的問題。在單階段檢測器中,這些候選區域就是通過滑窗方式產生的 anchor;在兩階段檢測器中,候選區域是 RPN 生成的 proposal,但是 RPN 本身仍然是對滑窗方式產生的 anchor 進行分類和回歸。

基于Anchor based 的目標檢測

  • 二階段目標檢測算法: Faster RCNN、Mask RCNN、Cascade RCNN
    ?- 在特征圖的每一個點生成大小比例不一的anchor,然后通過RPN對anchor進行篩選
  • 單階段目標檢測算法: YOLO V2~V4、SSD、RetinaNet
    ?- 把原圖分為若干個網格,然后通過聚類的方法,每個網格當中得到不同尺寸的anchor,然后再和真實框做一個IOU的比較,得到訓練目標

2 anchor-free

在這里插入圖片描述

anchor-free是通過另外一種手段來解決檢測問題的。同樣分為兩個子問題,即確定物體中心和對四條邊框的預測。預測物體中心時,將中心預測融入到類別預測的 target 里面,也可以預測一個 soft 的 centerness score。對于四條邊框的預測,則比較一致,都是預測該像素點到 ground truth 框的四條邊距離,不過會使用一些 trick 來限制 regress 的范圍。

基于Anchor free 的目標檢測

  • 關鍵點檢測方法

    • (1)CornerNet: 通過檢測對角(左上、右下)代替anchor box 和 corner pooling layer更好的定位對角,然后組合。
    • (2)ExtremeNet: 對CornerNet算法的改進,通過串聯多個Hourglass模塊對每個目標預測5個關鍵點(上、下、左、右四個極點和一個中心點),然后組合。
      在這里插入圖片描述
  • 通過目標物體的中心點來定位

    • (1) CenterNet和FCOS: 通過預測物體中心點及其到邊框的距離來表征目標框
      在這里插入圖片描述

3 Anchor free 和 Anchor base 的區別

(1)分類方式不同 : 正負樣本的選擇方式(核心區別)

  • Anchor based: 如RetinaNet基于anchor的回歸,首先計算來自不同尺度的anchor box與gt的IoU來確定正負樣本;對于每個目標在所有IoU大于閾值k的anchor box中,選擇最大的作為正樣本,所有IoU小于閾值q的anchor box作為負樣本,其余忽略不計;最后針對正樣本的anchor回歸相對偏移量
  • Anchor free: 如FCOS基于center做回歸,使用空間和尺度約束將anchor點分配到不同尺度上,通過判斷特征圖上的點是否落入gt中來確認正負樣本,即將物體邊框內的所有位置都定義為正樣本;最后通過4個距離值和1個 中心點的分數來檢測物體。
    在這里插入圖片描述

(2)回歸方式不同:基于anchor還是point做回歸
在這里插入圖片描述
如圖(b)RetinaNet回歸的是anchor box和gt的4個偏移量。
如圖(c)FCOS回歸的是中心點到目標四條邊的距離。

4 優缺點

anchor-based
anchor based的優點是可以產生密集的anchor box,使得網絡可以直接進行目標分類和邊界框回歸,提高了目標召回能力,尤其對小目標檢測有明顯的提升。

anchor based的缺點是需要設定很多超參數,如尺度、長寬比等,這些參數很難設計,并且會影響檢測性能。另外,anchor based的方法也會產生很多冗余的框,增加了計算量和內存消耗。

anchor-free
anchor free的優點是不需要預設anchor,只需要對不同尺度的特征圖的目標中心點和寬高進行回歸,減少了耗時和算力。同時,anchor free的方法也可以避免一些由于anchor設置不合理導致的漏檢或重復檢測問題。

anchor free的缺點是由于每個位置只預測一個框,可能會導致一些重疊或遮擋區域無法被檢測到。另外,anchor free的方法也需要一些特殊的損失函數或結構來提高精度和穩定性。

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

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

相關文章

leetcode--層數最深葉子節點的和

leetcode地址:層數最深葉子節點的和 給你一棵二叉樹的根節點 root ,請你返回 層數最深的葉子節點的和 。 示例 1: 輸入:root [1,2,3,4,5,null,6,7,null,null,null,null,8] 輸出:15 示例 2: 輸入&#xff…

多點GRE over IPsecVPN模式下nhrp的調優

一、實驗目的 在多點GRE over IPsecVPN模式下對nhrp進行調優,在總部開啟重定向、在分支開啟shortcut 網絡拓撲: 二、基礎設置 (一)如圖所示配置接口地址和區域,連接PC的接口位于trust區域、連接路由器的接口位于unt…

qt5.15關于qradiobutton遇到的坑

前言 不知道是只有我遇到了,還是qt本身就存在這個bug 當將2個qradiobutton放入到一個布局內,然后進行來回切換,若無數據刷新的情況下,切換無異常,當窗體內有數據開始刷新了,則點擊其中一個qradiobutton&am…

語法糖:代碼中的甜品

人不走空 🌈個人主頁:人不走空 💖系列專欄:算法專題 ?詩詞歌賦:斯是陋室,惟吾德馨 目錄 🌈個人主頁:人不走空 💖系列專欄:算法專題 ?詩詞歌…

以太網電路相關功能說明

RJ45模塊用于PHY芯片之間的互連,如圖1所示,RJ45有兩種組合形式,一種是分立式,網口變壓器和RJ45連接座是分開的,另一種是網口變壓器和RJ45集成在一起。 圖1 RJ45兩種主要形式 接下來以分立式RJ45的百兆網電路做個說明&a…

基于springboot+vue養老院管理系統+lw+源碼+講解+調試+演示視頻

第3章 系統分析 用戶的需求以及與本系統相似的在市場上存在的其它系統可以作為系統分析中參考的資料,分析人員可以根據這些信息確定出本系統具備的功能,分析出本系統具備的性能等內容。 3.1可行性分析 盡管系統是根據用戶的要求進行制作,但…

Matlab基礎語法篇(上)

Matlab基礎語法(上) 一、基知(一)界面介紹(二)常用快捷鍵(三)常用指令(四)Matlab幫助系統 二、運算基礎(一)變量(二&#…

車道線識別研究

想研究車道線識別的深度學習網絡… 目錄 1.車道線數據集匯總及研究1.1 CULane Datesets1.1.1 相關連接1.1.2 介紹 1.2 Tusimple1.3 LLAMAS1.4 APOLLOSCAPE 2.車道線檢測框架2.1 LaneNet:實時車道線檢測框架 1.車道線數據集匯總及研究 參考文檔: 1.車道線…

sysbench 搭建使用

1.下載地址: https://github.com/akopytov/sysbench/tree/0.5 2.安裝 #進入解壓目錄,并且創建安裝目錄: unzip sysbench-0.5.zip cd sysbench-0.5#安裝依賴包 yum -y install automake autoconf libtool mysql-devel#準備編譯 ./autogen.s…

【初階數據結構】深入解析隊列:探索底層邏輯

初階數據結構相關知識點可以通過點擊以下鏈接進行學習一起加油!時間與空間復雜度的深度剖析深入解析順序表:探索底層邏輯深入解析單鏈表:探索底層邏輯深入解析帶頭雙向循環鏈表:探索底層邏輯深入解析棧:探索底層邏輯深入解析隊列:探索底層邏輯深入解析循環隊列:探索…

三、Python日志系統之監控郵件發送

import smtplib from email.mime.text import MIMEText import time import os import datetime from watchdog.observers import Observer from watchdog.events import FileSystemEventHandler# 郵件配置 SMTP_SERVER smtp.example.com SMTP_PORT 587 SMTP_USERNAME your_…

EXISTS、NOT EXISTS、IN和NOT IN辨析

文章目錄 概要EXISTSNOT EXISTSINNOT IN辨析 概要 EXISTS、NOT EXISTS、IN 和 NOT IN 是 SQL 中用于查詢時進行條件判斷的關鍵字,它們在功能上有相似之處,但使用場景和性能表現上有所不同。 EXISTS 1.用途:用于子查詢中,判斷子…

C++:cv.absdiff函數含義

在OpenCV庫中,absdiff函數是一個非常重要的圖像處理函數,其意義在于計算兩個輸入數組(通常是圖像)之間對應元素差的絕對值。這個函數在圖像處理和計算機視覺領域有著廣泛的應用,如圖像對比、運動檢測等。 函數的基本用…

python第三方庫【numpy.array】的使用(超詳細)

NumPy 是 Python 中用于科學計算的基礎庫之一,它提供了高性能的多維數組對象以及這些數組的操作。NumPy 的核心數據結構是 ndarray(N-dimensional array,N維數組),它提供了一種高效的存儲和操作大型多維數組的方法。以…

熬了一晚上,我從零實現了 Transformer 模型,把代碼講給你聽

自從徹底搞懂Self_Attention機制之后,筆者對Transformer模型的理解直接從地下一層上升到大氣層,瞬間打通任督二脈。夜夜入睡之前,那句柔情百轉的"Attention is all you need"時常在耳畔環繞,情到深處不禁拍床叫好。于是…

客戶案例|某大型證券公司數據庫運維場景數據安全實踐

證券行業涉及股票、債券、基金等金融產品的發行、交易和監管,業務具有數據規模大、數據價值高、數據應用場景復雜的顯著特點,其中高速流轉的業務系統中含有海量的客戶個人信息、交易、行情、咨詢等高敏感高價值信息。由于證券期貨業務場景所具有的特殊性…

初中生物知識點總結(人教版)

第一章 認識生物 一、 生物的特征: 1. 生物的生活需要營養 2. 生物能進行呼吸 3. 生物能排出身體內產生的廢物 4. 生物能對外界的刺激做出反應 5. 生物能生長和繁殖 除病毒以外,生物都是由細胞構…

單例模式(大話設計模式)C/C++版本

單例模式 C 餓漢 /* HM hungry man 餓漢 */ #include <iostream> using namespace std; class Singleton { private:Singleton() { cout << "單例對象創建&#xff01;" << endl; };Singleton(const Singleton &);Singleton &operator(c…

C++:cv.contourArea()函數解析

cv::contourArea是OpenCV庫中用于計算輪廓面積的函數。該函數非常適用于圖像處理中的形狀分析、物體檢測等領域。以下是關于cv::contourArea的詳細介紹&#xff1a; 一、函數概述 cv::contourArea是OpenCV中用于計算封閉輪廓面積的函數。它接受一個輪廓作為輸入&#xff0c;并…

Fedora 41 移除 Python 2支持

2024年的今天&#xff0c;在 Python 3 發布 16 年后&#xff0c;Fedora 發行版項目宣布 Fedora 41 將移除 Python 2.7。 除了 PyPy&#xff0c;Fedora 41 以及之后的版本將不再有 Python 2.7。運行時或構建時需要 python2.7 的軟件包也將面臨退役。 Fedora 41 將包含圖像處理…