当前位置: 首页 > article >正文

每天一篇目标检测文献(六)——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也被用于许多领域,如图像超分辨率重建、图像分类、图像检索、人脸识别和视频分析等。

相关文章:

每天一篇目标检测文献(六)——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 dete…...

ESXI 安装及封装第三方驱动和在ESXI系统下安装驱动

ESXI 安装及封装第三方驱动和在ESXI系统下安装驱动 准备工作在线安装 Windows PowerShell离线安装 Windows PowerShell更新在线更新离线更新 下载 ESXi-Customizer-PS-v2.6.0.ps1安装Python安装pip安装相关插件 下载离线捆绑包下载对应的网卡驱动(如果纯净版可以进去…...

【12】Ajax的原理和解析

一、前言 二、什么是Ajax 三、Ajax的基本原理 3.1 发送请求 3.2 解析内容 3.3 渲染网页 3.4 总结 四、Ajax 分析 五、过滤请求-筛选所有Ajax请求 一、前言 当我们在用 requests 抓取页面的时候,得到的结果可能会和在浏览器中看到的不一样&a…...

双塔模型2之如何选择正确的正负样本

双塔模型:正负样本 选对正负样本的作用 > 改进模型的结构 正样本 什么是正样本?答:曝光且有点击的 “用户-物品” 二元组 存在的问题:存在28法则,即少部分物品(比如热门物品)占大部分点击…...

《八大排序算法》

相关概念 排序:使一串记录,按照其中某个或某些关键字的大小,递增或递减的排列起来。稳定性:它描述了在排序过程中,相等元素的相对顺序是否保持不变。假设在待排序的序列中,有两个元素a和b,它们…...

清晰易懂的Rust安装与配置教程

Rust 是一门以安全性和性能著称的系统级编程语言,适合开发操作系统、游戏引擎和高性能服务。本教程将手把手教你安装 Rust 并配置开发环境,从安装到运行第一个程序,全程无坑! 一、安装 Rust(全平台通用) 1…...

零基础使用AI从0到1开发一个微信小程序

零基础使用AI从0到1开发一个微信小程序 准备操作记录 准备 想多尝试一些新的交互方式,但我没有相关的开发经验,html,JavaScript 等都不了解,看了一些使用AI做微信小程序的视频教程,觉得自己也行…...

基于Spring Boot的社区互助平台的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…...

【Elasticsearch入门到落地】10、初始化RestClient

接上篇《9、hotel数据结构分析》 上一篇我们讲解了导入的宾馆数据库tb_hotel表结构的具体含义,并分析如何建立其索引库。本篇我们来正式进入链接Elasticsearch的Java代码的编写阶段,先进行RestClient的初始化。 RestClient的初始化分为三步,…...

【AI大模型系列】DeepSeek V3的混合专家模型机制-MoE架构(八)

一、什么是MoE架构 MoE架构的核心思想是将输入数据分配给不同的专家子模型,然后将所有子模型的输出进行合并,以生成最终结果。这种分配可以根据输入数据的特征进行动态调整,确保每个专家处理其最擅长的数据类型或任务方面,从而实…...

HarmonyOS之深入解析如何根据url下载pdf文件并且在本地显示和预览

一、文件下载 ① 网络请求配置 下载在线文件,需要访问网络,因此需要在 config.json 中添加网络权限: {"module": {"requestPermissions": [{"name": "ohos.permission.INTERNET","reason&qu…...

HTML5贪吃蛇游戏开发经验分享

HTML5贪吃蛇游戏开发经验分享 这里写目录标题 HTML5贪吃蛇游戏开发经验分享项目介绍技术栈核心功能实现1. 游戏初始化2. 蛇的移动控制3. 碰撞检测4. 食物生成 开发心得项目收获后续优化方向结语 项目介绍 在这个项目中,我使用HTML5 Canvas和原生JavaScript实现了一…...

AI 的出现是否能替代 IT 从业者?

AI 的出现是否能替代 IT 从业者? AI 的快速发展正在深刻改变各行各业,IT 行业也不例外。然而,AI 并非完全替代 IT 从业者,而是与其形成互补关系。本文将从 AI 的优势、IT 从业者的不可替代性、未来趋势等方面,探讨 AI…...

git 操作记录

1、检查子模块是否在主分支上 [git submodule foreach --recursive \\n [ "$(git rev-parse HEAD)" "$(git rev-parse origin/master)" ] \\n && echo " 一致: $name" || echo "不一致: $name"] 使用 git submodule fore…...

QSettings用法实战(相机配置文件的写入和读取)

很多情况,在做项目开发的时候,将参数独立出来是比较好的方法 例如:相机的曝光次数、曝光时长等参数,独立成ini文件,用户可以在外面修改即可生效,无需在动代码重新编译等工作 QSettings便可以实现该功能 内…...

机器学习——集成学习框架(GBDT、XGBoost、LightGBM、CatBoost)、调参方法

一、集成学习框架 对训练样本较少的结构化数据领域,Boosting算法仍然是常用项 XGBoost、CatBoost和LightGBM都是以决策树为基础的集成学习框架 三个学习框架的发展是:XGBoost是在GBDT的基础上优化而来,CatBoost和LightGBM是在XGBoost的基础上…...

SpringBoot集成Logback终极指南:从控制台到云端的多维日志输出

一、基础配置&#xff1a;快速启用Logback 1. 依赖管理&#xff08;SpringBoot默认支持Logback&#xff09; <!-- 无需额外依赖&#xff0c;但需要排除其他日志框架 --> <dependency><groupId>org.springframework.boot</groupId><artifactId>…...

[蓝桥杯 2023 省 A] 网络稳定性

题目来自DOTCPP&#xff1a; 思路&#xff1a; ①由于题目没有告诉我们成树形结构&#xff0c;可能成环。因此&#xff0c;我们要自己构建树。 ②本体我们通过kruskal重构树&#xff0c;按边权从大到小排序&#xff0c;那么查询的两个点的最近公共祖先权值就是答案。 ③在通…...

SSM框架加成SpringBoot项目

&#x1f353;博主介绍&#xff1a; 资深程序设计专家&#xff0c;专注于网站开发与文档写作&#xff0c;拥有六年互联网行业经验。精通Java、Python、PHP等主流语言&#xff0c;擅长从需求分析到系统设计的全流程开发。累计开发过数百个网站及应用程序&#xff0c;注重代码质量…...

鸿蒙项目源码-天气预报app-原创!原创!原创!

鸿蒙天气预报项目源码包运行成功含文档ArkTS语言。 我半个月写的原创作品&#xff0c;请尊重原创。 原创作品&#xff0c;盗版必究&#xff01;&#xff01;&#xff01;&#xff01; 原创作品&#xff0c;盗版必究&#xff01;&#xff01;&#xff01;&#xff01; 原创作品…...

一文聊聊接入钉钉H5微应用系统实现免登操作技术思路实现验证

一文聊聊接入钉钉H5微应用系统实现免登操作技术思路实现验证 如何创建钉钉应用实现H5端免登录创建钉钉内部应用1.进入钉钉开放平台&#xff0c;配置自己的应用信息2.配置应用相关信息&#xff08;建议选择旧版&#xff0c;后续有一个token获取&#xff0c;新版会提示URL不安全&…...

测试开发-定制化测试数据生成(Python+jmeter+Faker)

实现步骤 步骤一&#xff1a;使用pythonfaker随机生成测试数据 在python中开发脚本&#xff0c;随机生成所需要的数据。import json from faker import Faker faker Faker(locale"zh_CN")def generate_faker_user():return {"name" : faker.name(),&qu…...

智能体开发平台与大模型关系图谱

架构层级分解(以飞速灵燕智能体平台为例)动态交互流程 3. 关键连接点说明 4. 典型数据流示例...

LinuxTCP/UDP基础概念

TCP&#xff08;传输控制协议&#xff09; TCP 是一种面向连接的、可靠的、基于字节流的传输层通信协议。它的主要特点包括&#xff1a; 面向连接&#xff1a;在传输数据之前&#xff0c;需要通过“三次握手”建立连接&#xff1b;传输结束后&#xff0c;通过“四次挥手”断开…...

docker日志大小和保存管理

目录 背景&#xff1a;云服务器小磁盘被docker日志占满 docker日志存放位置查看 避免被无感占满&#xff0c;建议进行配置日志选项&#xff0c;可以缩小文件保留大小和保留个数/时间 注意&#xff1a;compress选项 背景&#xff1a;云服务器小磁盘被docker日志占满 docke…...

Hive SQL实现近N周的数据统计查询

文/朱季谦 先前遇到过一个需求&#xff0c;需要基于HIVE统计近N周范围的数据&#xff0c;例如&#xff0c;统计近7周范围的数据指标。 需要用HIVE SQL去实现该功能&#xff0c;而HIVE SQL并没有PostgreSQL那样例如通过函数to_char((to_date(202550, YYYWW) - INTERVAL 5 weeks…...

【百日精通 JAVA | SQL篇 | 第一篇】初识数据库

一、数据库是什么&#xff1f; 数据库是一类软件&#xff0c;数据库的作用用于管理系统(这是一款成品软件&#xff0c;内部应用了很多数据结构)。 二、数据库分为两大类 1.关系型数据库 对于数据的要求比较严格 通常是以表格的方式来组织数据的。(和Excel差不多) 典型代表…...

大数据Spark(五十六):Spark生态模块与运行模式

文章目录 Spark生态模块与运行模式 一、Spark生态模块 二、Spark运行模式 Spark生态模块与运行模式 一、Spark生态模块 Spark 生态模块包括&#xff1a;SparkCore、SparkSQL、SparkStreaming、StructuredStreaming、MLlib 和 GraphX。与 Hadoop 相关的整个技术生态如下所示…...

Postman 7.3.5 旧版下载指南(Win64)及注意事项

Postman-win64-7.3.5-Setup 是 Postman 的一个旧版本&#xff08;2019年发布&#xff0c;适用于 Windows 64位系统&#xff09;。以下是相关信息和建议&#xff1a; 1. Postman 7.3.5 版本说明 功能&#xff1a;用于 API 开发、测试和协作。 系统要求&#xff1a;Windows 64位…...

人工智能在自然语言处理中的应用:从理论到实践的探索

自然语言处理&#xff08;Natural Language Processing&#xff0c;NLP&#xff09;一直是人工智能领域的重要研究方向。随着深度学习技术的飞速发展&#xff0c;NLP在近年来取得了突破性进展&#xff0c;从文本生成到机器翻译&#xff0c;从情感分析到智能问答&#xff0c;自然…...