每天一篇目標檢測文獻(六)——Part One

今天看的是《Object Detection with Deep Learning: A Review》


目錄

一、摘要

1.1 原文

1.2 翻譯

二、介紹

2.1 信息區域選擇

2.2 特征提取

2.3 分類

三、深度學習的簡要回顧

3.1 歷史、誕生、衰落和繁榮

3.2 CNN架構和優勢


一、摘要

1.1 原文

Due to object detection’s close relationship with video analysis and image understanding, it has attracted much research attention in recent years. Traditional object detection methods are built on handcrafted features and shallow trainable architectures. Their performance easily stagnates by constructing complex ensembles which combine multiple low-level image features with high-level context from object detectors and scene classifiers. With the rapid development in deep learning, more powerful tools, which are able to learn semantic, high-level, deeper features, are introduced to address the problems existing in traditional architectures. These models behave differently in network architecture, training strategy and optimization function, etc. In this paper, we provide a review on deep learning based object detection frameworks. Our review begins with a brief introduction on the history of deep learning and its representative tool, namely Convolutional Neural Network (CNN). Then we focus on typical generic object detection architectures along with some modifications and useful tricks to improve detection performance further. As distinct specific detection tasks exhibit different characteristics, we also briefly survey several specific tasks, including salient object detection, face detection and pedestrian detection. Experimental analyses are also provided to compare various methods and draw some meaningful conclusions. Finally, several promising directions and tasks are provided to serve as guidelines for future work in both object detection and relevant neural network based learning systems.

1.2 翻譯

由于目標檢測與視頻分析和圖像理解的密切關系,近年來引起了人們的廣泛關注。傳統的目標檢測方法是建立在手工特征和淺層可訓練架構上的。通過構建復雜的集成,將多個低級圖像特征與來自目標檢測器和場景分類器的高級上下文相結合,它們的性能很容易停滯不前。隨著深度學習的快速發展,越來越多功能強大的工具被引入,這些工具能夠學習語義的、高層次的、更深層次的特征,以解決傳統架構中存在的問題。這些模型在網絡架構、訓練策略和優化功能等方面表現不同。本文回顧了基于深度學習的目標檢測框架。我們的回顧首先簡要介紹了深度學習的歷史及其代表工具,即卷積神經網絡(CNN)。然后,我們重點討論了典型的通用目標檢測體系結構以及一些改進和有用的技巧,以進一步提高檢測性能。由于不同的特定檢測任務具有不同的特征,我們還簡要介紹了幾種特定的檢測任務,包括顯著目標檢測、人臉檢測和行人檢測。實驗分析比較了各種方法,得出了一些有意義的結論。最后,提出了幾個有前途的方向和任務,為未來目標檢測和相關的基于神經網絡的學習系統的工作提供指導。

二、介紹

為了理解圖像,我們要對圖像進行分類和精確定位其中目標的概念和位置,這就是“目標檢測”。其中包含許多子任務:人臉檢測、行人檢測、骨架檢測等等。

目標檢測作為計算機視覺的基礎問題之一,能夠為圖像和視頻的語義理解提供有價值的信息,涉及到圖像分類,人類行為分析,人臉識別,自動駕駛等諸多應用。

然而,由于視角、姿態、遮擋和光照條件的巨大變化,通過額外的物體定位任務很難完美地完成目標檢測。近年來,這一領域受到了廣泛的關注。目標檢測的問題定義是確定物體在給定圖像中的位置(物體定位)和每個物體屬于哪個類別(物體分類)。因此傳統目標檢測模型的流水線主要分為三個階段:信息區域選擇、特征提取和分類。

2.1 信息區域選擇

由于不同的物體可能出現在圖像的任何位置,并且具有不同的長寬比或大小,因此使用多尺度滑動窗口掃描整個圖像是一種自然的選擇。由于候選窗口數量多,計算成本高,產生過多冗余窗口。然而,如果只應用固定數量的滑動窗口模板,可能會產生不滿意的區域。

2.2 特征提取

為了識別不同的對象,我們需要提取能夠提供語義和魯棒的表示的視覺特征。然而,由于外觀、光照條件和背景的多樣性,很難手動設計一個魯棒的的特征描述符來完美地描述所有類型的物體。

2.3 分類

目標檢測中,需要使用分類器將目標與其他類進行區分,并表示的更具有層次性、語義性和信息量,以便于視覺的識別。常見分類器有支持向量機(Support Vector Mechine,SVM)、AdBoost和可變形零件模型(Deformable Part-based Model,DPM)。其中DPM比較靈活,可以結合物體的部分與變形的代價處理嚴重變形的情況。它還借助了圖形模型,將低級特征和各部件分解相結合。

本篇文章系統介紹通用目標檢測、顯著性目標檢測、人臉檢測和行人檢測幾個應用領域代表模型和不同特點。這幾類模型關系如下:

通常而言,基于基礎的CNN架構,采用邊界框回歸實現通用目標檢測,局部對比度增強和像素級分割實現顯著性目標檢測。人臉檢測和行人檢測通過多尺度自適應和多特征融合/增強森林實現。上圖中虛線表示相應的域在一定條件下相互轉換。行人和人臉具有相同規則結構,一般物體和場景圖像變化更為復雜。不同圖像需要不同的深度模型。

三、深度學習的簡要回顧

3.1 歷史、誕生、衰落和繁榮

深度學習即為具有深層結構的神經網絡。神經網絡最初用于模擬人類大腦系統,之后由于訓練過擬合,數據缺乏和計算能力的限制,神經網絡與21世紀初就過時了。深度學習與2006年流行,最初在語音識別方面得到突破,其繁榮歸因于以下因素:

  • 大規模帶注釋的訓練數據出現,如ImageNet,展示了強大的學習能力
  • 快速開發高性能并行計算系統,如GPU集群
  • 網絡結構設計和訓練策略方面的重大進展。dropout和數據增強的出現緩解了數據過擬合問題,采用批處理歸一化(BatchNormalization,BN)神經網絡訓練變得高效。各種網絡結構也被提出以提高性能。

3.2 CNN架構和優勢

CNN是最有代表性的深度學習模型,典型的CNN架構被稱為VGG16。它的每一層被稱為一個特征圖,輸入特征映射是不同顏色的通道(如RGB三通道)像素強度3D矩陣。任意一個內層的特征圖都是一個多通道圖像。“像素”就可以稱為一個特定的特征。每個神經元與前一層(感受野)的小部分相鄰神經元相連。在特征映射時進行不同的轉換,如過濾、池化等。濾波(卷積)操作將濾波矩陣(學習權值)與神經元感受野的值進行卷積,并采用非線性函數(如sigmoid,ReLU)獲得最終響應。池化操作如max池化、平均池化、l2池化和局部對比度歸一化,將感受野響應總結為一個值,以產生更具有魯棒性的特征描述。

卷積和池化之間的交錯,可以構造一個初始的特征層次結構,再添加幾個完全連接層(Full Connection,FC)以監督方式進行微調,適應不同視覺任務。經典VGG16具有13個卷積層(Conv),3個全連接層,3個最大池化層和一個softmax分類層。卷積特征圖分辨率通過3*3的濾波窗口生成的。特征圖分辨率通過兩步最大池化層降低。訓練后網絡可以處理任意與訓練樣本大小相同的測試圖像。若大小不同,則需重新縮放和裁剪。

CNN相比于傳統方法的優勢總結如下:

  • 層次化特征表示,通過層次化多階段結構學習到的像素到高級語義特征多層次表示,自動從數據中學習,并通過多層次非線性映射解除輸入數據的隱藏因素
  • 深層架構提高指數級增長的表達能力
  • CNN架構提供聯合優化多個相關任務的機會(Fast RCNN將分類和邊界框回歸結合成多任務學習方式)
  • CNN使得一些經典計算機視覺挑戰可以被重塑為高維數據轉換問題,并從不同角度解決

因此CNN也被用于許多領域,如圖像超分辨率重建、圖像分類、圖像檢索、人臉識別和視頻分析等。

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

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

相關文章

Arthas線上問題診斷器

Arthas是Alibaba開源的java診斷工具 解決問題 這個類從哪個jar 包加載的?為什么會報各種相關的Exception? 遇到問題無法在線上debug,不能直通過加載日志再重新發布 有什么辦法可以監控到JVM的實時運行狀態? …

[Lc5_dfs+floodfill] 簡介 | 圖像渲染 | 島嶼數量

目錄 0.floodfill算法簡介 1.圖像渲染 題解 2.島嶼數量 題解 之前我們在 bfs 中有介紹過[Lc15_bfsfloodfill] 圖像渲染 | 島嶼數量 | 島嶼的最大面積 | 被圍繞的區域,現在我們來看看 dfs 又是如何解決的呢 0.floodfill算法簡介 floodfill算法又叫洪水灌溉或者…

JVM類加載器詳解

文章目錄 1.類與類加載器2.類加載器加載規則3.JVM 中內置的三個重要類加載器為什么 獲取到 ClassLoader 為null就是 BootstrapClassLoader 加載的呢? 4.自定義類加載器什么時候需要自定義類加載器代碼示例 5.雙親委派模式類與類加載器雙親委派模型雙親委派模型的執行…

Chapters 15 16:What Is Architecture?Independence_《clean architecture》notes

What Is Architecture?&Independence **Chapter 15: What Is Architecture?****Key Concepts**:**Code Example: Layered Architecture**: **Chapter 16: Independence****Key Concepts**:**Code Example: Dependency Inversion & Interfaces**: **Combined Example:…

【SPP】RFCOMM 層在SPP中互操作性要求深度解析

藍牙串口協議(SPP)通過 RFCOMM 協議實現 RS232 串口仿真,其互操作性是設備互聯的關鍵。本文基于藍牙核心規范,深度解析 RFCOMM 層的能力矩陣、信號處理、流控機制及實戰開發,結合狀態機、流程圖和代碼示例,…

阻塞式IO與非阻塞IO的區別

阻塞式IO與非阻塞IO的區別 1. 阻塞式IO (Blocking I/O) 定義 當程序發起一個I/O操作(如讀取文件、網絡數據)時,進程會被掛起(阻塞),直到操作完成或超時才會繼續執行后續代碼。在此期間,程序無法…

Gossip協議:分布式系統中的“八卦”傳播藝術

目錄 一、 什么是Gossip協議?二、 Gossip協議的應用 💡三、 Gossip協議消息傳播模式詳解 📚四、 Gossip協議的優缺點五、 總結: 🌟我的其他文章也講解的比較有趣😁,如果喜歡博主的講解方式&…

【C++初階】----模板初階

1.泛型函數 泛型編程:編寫與類型無關的通用代碼,是代碼復用的一種手段。模板是泛型編程的基礎。 2.函數模板 2.1函數模板的概念 函數模板代表了一個函數家族,該函數模板與類型無關,在使用時被參數化,根據實參類型…

git-- github的使用--賬戶和本地連接

以下指令在git 執行bash 流程:先看有沒有密鑰; 沒有的話,在電腦生成密鑰對,公鑰復制到github; 要想使用https,配置令牌,注意令牌有期限問題,連接不了有可能是期限問題 一個電腦對…

OTN(Optical Transport Network)詳解

OTN(光傳送網)是一種基于**波分復用(WDM)**的大容量光傳輸技術,結合了SDH的運維管理優勢和WDM的高帶寬特性,廣泛應用于骨干網、城域核心層及數據中心互聯(DCI)。 1. OTN 的基本概念 …

Python 中列表(List)、元組(Tuple)、集合(Set)和字典(Dict)四大數據結構的完整對比

以下是 Python 中列表(List)、元組(Tuple)、集合(Set)和字典(Dict)四大數據結構的完整對比分析,結合了核心特性、操作方式和應用場景的深度總結: 一、核心特性…

Angular由一個bug說起之十五:自定義基于Overlay的Tooltip

背景 工具提示(tooltip)是一個常見的 UI 組件,用于在用戶與頁面元素交互時提供額外的信息。由于angular/material/tooltip的matTooltip只能顯示純文本,所以我們可以通過自定義Directive來實現一個靈活且功能豐富的tooltip Overlay…

軟件工程面試題(十五)

1、servlet 創建過程以及ruquest,response,session的生命周期? Servlet的創建過程: 第一步 public class AAA extends HttpServlet{ 實現對應的doxxx方法 } 第二步: 在web.xml中配置 <servlet> <servlet-name></servlet-name> <servlet-c…

搭建QNX Software Center的Docker環境

背景 本人使用 Ubuntu Server 22.04 服務器&#xff0c;所以沒有圖形界面&#xff0c;而 QNX Software Center 需要圖形界面。為了保證服務器環境的整理&#xff0c;計劃使用Docker部署QNX Software Center 一瓶安裝圖形界面。本方既是實現方案的記錄。 資源 Dockerfile&…

C#/.NET/.NET Core技術前沿周刊 | 第 31 期(2025年3.17-3.23)

前言 C#/.NET/.NET Core技術前沿周刊&#xff0c;你的每周技術指南針&#xff01;記錄、追蹤C#/.NET/.NET Core領域、生態的每周最新、最實用、最有價值的技術文章、社區動態、優質項目和學習資源等。讓你時刻站在技術前沿&#xff0c;助力技術成長與視野拓寬。 歡迎投稿、推薦…

粘包問題解決方案

粘包問題詳解&#xff1a;TCP協議中的常見問題及Go語言解決方案 一、什么是粘包問題&#xff1f; 粘包問題是指在TCP通信中&#xff0c;發送方發送的多個獨立消息在接收方被合并成一個消息接收的現象。換句話說&#xff0c;發送方發送的多條消息在接收方被“粘”在一起&#…

vue:突然發現onok無法使用

const that this;this.$confirm({title: "修改商品提示",content: "如果當前商品存在于商品活動庫&#xff0c;則在商品活動庫的狀態會下架",onOk: function () {that.submitForm();}}); 突然發現 this.$confirm無法進入onok 最終發現是主題沖突&#x…

redis hashtable 的sizemask理解

在 Redis 的哈希表實現中&#xff0c;index hash & dict->ht[0].sizemask 是計算鍵值對應存儲位置的核心操作。這個操作看起來簡單&#xff0c;但背后涉及哈希表的內存布局和性能優化策略。我們通過以下步驟逐步解析其原理&#xff1a; 一、哈希表的設計目標 快速定位…

Ruby 命令行選項

Ruby 命令行選項 概述 Ruby 是一種廣泛使用的編程語言,它擁有強大的命令行工具,可以幫助開發者進行各種任務。了解 Ruby 的命令行選項對于提高開發效率至關重要。本文將詳細介紹 Ruby 的常用命令行選項,幫助開發者更好地利用 Ruby 的命令行功能。 Ruby 命令行選項概述 R…

【STM32】WDG看門狗(學習筆記)

學習來源----->江協科技STM32 WDG簡介 WDG&#xff08;Watchdog&#xff09;看門狗看門狗可以監控程序的運行狀態&#xff0c;當程序因為設計漏洞、硬件故障、電磁干擾等原因&#xff0c;出現卡死或跑飛現象時&#xff0c;看門狗能及時復位程序&#xff0c;避免程序陷入長…