每天一篇目标检测文献(六)——Part One

news2025/4/2 9:28:45

今天看的是《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.coloradmin.cn/o/2325363.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

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,它们…

零基础使用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架构的核心思想是将输入数据分配给不同的专家子模型,然后将所有子模型的输出进行合并,以生成最终结果。这种分配可以根据输入数据的特征进行动态调整,确保每个专家处理其最擅长的数据类型或任务方面,从而实…

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

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

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

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

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

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

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

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

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

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

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

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

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

实现步骤 步骤一:使用pythonfaker随机生成测试数据 在python中开发脚本,随机生成所需要的数据。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(传输控制协议) TCP 是一种面向连接的、可靠的、基于字节流的传输层通信协议。它的主要特点包括: 面向连接:在传输数据之前,需要通过“三次握手”建立连接;传输结束后,通过“四次挥手”断开…

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

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

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

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

Gossip协议:分布式系统中的“八卦”传播艺术

目录 一、 什么是Gossip协议?二、 Gossip协议的应用 💡三、 Gossip协议消息传播模式详解 📚四、 Gossip协议的优缺点五、 总结: 🌟我的其他文章也讲解的比较有趣😁,如果喜欢博主的讲解方式&…