目标检测(二):OverFeat

目标检测:从overfeat到Fast R-CNN 以下内容摘自斯坦福cs231n目标检测课程: 计算机视觉任务: ImageNet 分类和定位任务: Idea #1:定位问题视为回归问题 实现步骤: 1. 训练(或下载)一个分类模型(AlexNet, VGG, Inception) 2. 添加新的全连接层用作“回归” 3. 仅训练“回归”模块,SGD,L2 Loss 4. 测试时加入“分类”和“回归” 回归分为两种: 独立于类别的回归: Class agnostic (4 numbers / per box 阅读详情

说实话这篇论文1看得有点头大,很多过程理解得不够透彻,论文里的插图也并没有看懂,只能结合其他资料大概了解了一下。
本篇论文中作者主要使用了一个共享的CNN来同时解决视觉任务中的分类、定位和检测三个问题。

1 分类

论文使用的CNN网络分为极速版和精准版两个版本,其中极速版的结构如下图所示。整个CNN可以看作一个全卷积网络,并可以作为两个部分看待:前五层为一个特征提取器,得到图像特征;后面的全连接层(实质也为卷积层)为分类层。
极速版结构
其具体的分类步骤为(以下为个人理解):

1.1 多尺度处理

对图像进行缩放,得到6个不同scale的图像,并对其进行翻转,得到6 * 2个输入。(AlexNet是裁剪四个角落和中间区域,并对图像做翻转得到5 * 2个输入图像,然后送进网络里面得到10个结果求平均来进行预测。这样的做法有两个问题,裁剪时可能忽略了图像的一些区域,以及10张图像有很多重叠部分导致了冗余计算。)6个scale如下表所示:
6个scale

1.2 特征提取

对于上述的每一个尺度的图像,将其输入至CNN中,经过前5层卷积层后可以得到带有空间信息的特征张量。在此作者主要提出了一种offset池化方法,用于Layer5特征的池化处理(也就是上表中的从Layer5 pre-pool到post-pool的过程)。接下来对其进行详细介绍。
结合上面的表进行理解,这里我们用scale2来进行举例。offset池化输入的空间大小为20 * 23(对应于Layer5 pre-pool),为了方便理解,这里先用一个维度进行解释,即其短边20。处理过程如下图所示:
offset池化
图中(a)是一维的输入,长度为20个单位。max-pooling核大小为3,且不重叠,这样正常情况下得到的是6个单位的输出(对应b中的 Δ = 0 \Delta=0 Δ=0的情况)。但是作者在此将核的初始位置进行了调整,分别向后调整一个单位( Δ = 1 \Delta=1 Δ=1)和两个单位( Δ = 2 \Delta=2 Δ=2),这样pooling后的输出就变为6 * 3了,其中3代表pooling核的3种初始位置。
拓展到二维空间中,核的初始位置有了3 * 3种情况,这样20 * 23的输入对应的输出也就变为了(6 * 7) * (3 * 3),对应于上表的Layer5 post-pool。

1.3 分类

上面说到特征提取最终得到的特征图大小为(6 * 7) * (3 * 3)。之后还需将此特征图作为输入提交给分类器(第一张图的6-8层)。
在此首先单独考虑一个6 * 7的输入,分类器的卷积核大小为5 * 5,通过卷积核在空间上步长为1的滑动过程,得到输出的大小为2 * 3。故最终分类的输出为(2 * 3)*(3 * 3) * C,其中C是类别总数,这一结果对应于上表中的Classifier map(Pre-reshape)。最后进行reshape得到三维输出6 * 9 * C,对应于上表中Classifier map size。
三维输出6 * 9 * C会进行最大化处理(相当于全局max-pooling),得到一个长度为C的预测结果。注意这只是一个scale的分类结果,还需对总共12个结果求均值得到最终的预测结果。

之前的一些方法是在原始图像上滑动窗口,将所有窗口部分图像输入到CNN进行处理。虽然OverFeat免去了这一步骤,只需输入一次图像,但是工作量都转移到了offset池化这一操作上,这一步骤也使需要处理的数据量大大增加,整个流程还是比较繁琐的,况且还需要输入12个不同scale的图像进行处理。
下图是其分类效果,其中coarse stride表示 Δ = 0 \Delta=0 Δ=0,fine stride表示 Δ = 0 , 1 , 2 \Delta=0,1,2 Δ=0,1,2。个人感觉offset处理效果并不是很明显,反而是accurate model提升效果比较显著,还有多个模型融合也帮助了大量提升。
分类效果

2 定位

定位任务只需将之前的分类层改为回归网络即可,1-5层不用改动。

2.1 边界框预测

同样以scale2的Layer5池化后的特征为例,通过回归预测边界框的过程如下图所示。输入大小为(6 * 7) * (3 * 3),卷积核大小依然为5 * 5,最终的输出为(2 * 3) * (3 * 3),channel数目为4,代表边界框的位置信息。这还只是一个scale下生成的边界框预测,一幅图像最终会预测出(2 * 3) * (3 * 3) * (6 * 2)个边界框。
回归过程
这里有一个问题:是对每个类别分别训练一个边界框回归器还是对所有类别训练一个统一的边界框回归器?作者在文中进行了讨论,发现只使用一个统一的回归器效果更好。推测原因是某些类别样本太少,导致这些类别的错误率偏高,后续可以对相似类别训练一个回归器来提升效果(如各种狗类训练一个回归器,各种猫类训练一个回归器)。

2.2 预测边界框的组合

得到这么多预测的边界框后,自然需要对其进行过滤,不同于经常使用的NMS操作,作者在这里使用了一种独特的方法Combining Predictions,借用别人的描述2,其步骤如下:

  1. 首先对于每个scale计算出前k个类别,对每个类别计算出所有的bouding box。
  2. 然后合并所有scale的bounding box得到集合B,重复以下步骤
    1. ( b 1 ∗ , b 2 ∗ ) = a r g m i n b 1 ≠ b 2 ∈ B m a t c h _ s c o r e ( b 1 , b 2 ) (b^*_1,b^∗_2)=argmin_{b_1\ne b_2\in B}match\_score(b_1,b_2) (b1∗​,b2∗​)=argminb1​̸​=b2​∈B​match_score(b1​,b2​)
    2. 假如 m a t c h _ s c o r e ( b 1 , b 2 ) > t match\_score(b_1,b_2)>t match_score(b1​,b2​)>t,则停止
    3. 否则, B ← B B←B B←B\ { b 1 ∗ , b 2 ∗ } ∪ b o x _ m e r g e ( b 1 ∗ , b 2 ∗ ) \{b^*_1,b^∗_2\}∪box\_merge(b^*_1,b^∗_2) {b1∗​,b2∗​}∪box_merge(b1∗​,b2∗​)

其中 m a t c h _ s c o r e ( b 1 , b 2 ) match\_score(b_1,b_2) match_score(b1​,b2​)计算的是两个边界框中点的距离和交集区域的面积之和,当它大于某个阈值时算法停止; b o x _ m e r g e ( b 1 ∗ , b 2 ∗ ) box\_merge(b^∗_1,b^∗_2) box_merge(b1∗​,b2∗​)计算的是两个边界框坐标的平均值。
这是通过合并具有高置信度的边界框来得到最终预测。这种方法可以淘汰那些低置信度以及低连续(多个边界框相差很远)的类别,会更加鲁棒。

3 检测

检测这部分作者并没有做细致的介绍,只提到以下两点:

  1. 检测的训练和分类的训练差不多,只是以一种spatial的方式,一张图像的多个位置被同时训练。
  2. 和定位任务相比,最主要的是在一个图像中没有物体时,需要加入一个背景类别。

其实检测的目的也就是对物体进行定位和分类,所以上面两个部分的介绍基本可以沿用至此。


  1. Sermanet P, Eigen D, Zhang X, et al. OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks[J]. arXiv: Computer Vision and Pattern Recognition, 2013. ↩︎

  2. 论文笔记:OverFeat ↩︎

OverFeat论文笔记 论文全名:《OverFeat:Integrated Recognition, Localization and Detection using Convolutional Networks》 论文链接:https://arxiv.org/abs/1312.6229v4 参考博客: hjimce大神博客:https://blog.youkuaiyun.com/hjimce/article/details/... 阅读详情

相关推荐

XDS110 USB Debug Probe连接错误-260:CCS Theia环境下的诊断与修复指南

本文详细解析了CCS Theia环境下XDS110 USB Debug Probe连接错误-260的诊断与修复方法。从硬件连接到驱动状态、固件更新到软件配置,提供了全面的排查指南,帮助开发者快速解决这一常见的调试器通信障碍问题,确保嵌入式开发工作流畅进行。

hope8的博客 282

【目标检测】目标检测算法-从OverFeat到YOLO

【目标检测】目标检测算法-从OverFeat到YOLO

星辰不问 2213

华为云CodeHub代码托管

什么是代码托管 代码托管(CodeHub)是面向软件开发者的基于Git的在线代码托管服务,是具备安全管控、成员/权限管理、分支保护/合并、在线编辑、统计服务等功能的云端代码仓库,旨在解决软件开发者在跨地域协同、多分支并发、代码版本管理、安全性等方面的问题。 代码托管具有以下特性 · 在线代码阅读、修改、提交,随时随地开发,不受地域限制。 · 在线分支管理,包含分支新建、切换、合并,实现多分支并行开发,效率高。 master分支:最为稳定,功能比较完整,随时可发布的代码。 develop分支:用于平时开

LUJINYUANA的博客 1万+

目标检测——OverFeat算法解读

overfeat算法解读

lishanlu136的博客 2058

Chronos:学习时间序列的大语言模型(论文解读)

《Chronos:学习时间序列的大语言模型》论文翻译

qq_20144897的博客 9054

【无标题】

可以看到这是一个带过滤的rce,并且还需要绕过空格,通过·查询资料得到了${IFS},$IFS$9,<,$IFS。然后f,l,a,g都被过滤了,可以用中括号[]来进行正则匹配,把GET传的参数改为?cmd=uniq /[e-h][k-n][^-b][e-h],就得到了flag。cmd={%0A"cmd":"/bin/cat /home/rceservice/flag"%0A}可以看到l被过滤了ls用不了了可以用dir用GET传参cmd=dir /,POST传参shell=system。

2501_94507425的博客 303

深度学习-目标检测(一)-R-CNN

目标检测的暴力方法是从左到右、从上到下滑动窗口,利用分类识别目标。为了在不同观察距离处检测不同的目标类型,我们使用不同大小和宽高比的窗口。如下图所示: 这样就变成每张子图片输出类别以及位置,变成分类问题。但是滑动窗口需要初始设定一个固定大小的窗口,这就遇到了一个问题,有些物体适应的框不一样,所以需要提前设定K个窗口,每个窗口滑动提取M个,总共K x M 个图片,通常会直接将图像变形转换成固定大小的图像,变形图像块被输入 CNN 分类器中,提取特征后,我们使用一些分类器识别类别和该边界框的另一个线性回归器。这

m0_73426548的博客 3027

1、动作捕捉技术:概述与历史

本博文全面介绍了动作捕捉技术的概念、历史演变、类型分类以及完整的工作流程。从早期的连续摄影技术到现代数字动作捕捉系统,文章深入探讨了光学、磁性和机械动作捕捉系统的优缺点及适用场景,并详细解析了动作捕捉数据的生成原理与数学基础。此外,还涵盖了特殊部位如手部、面部和木偶的动作捕捉方法,并讨论了动作捕捉在动画制作、虚拟现实、医疗康复等领域的广泛应用与发展前景。

apple5的专栏 220

目标检测算法(二)OverFeat精细分析和讲解并附源码地址

本文从多个方向全面系统地介绍了OverFeat这篇论文,包括论文的背景、创新点、实验结果等方面。通过对论文的分析,我们可以发现,OverFeat提出了一种新的物体检测思路,即将物体检测问题转化为对物体的全局特征的提取和分类,从而实现了物体检测和识别的同时进行。同时,OverFeat还提出了一个基于卷积神经网络的端到端的训练框架,以及一些特殊的卷积核设计和正则化策略,从而进一步提高了检测的准确率和召回率。

Snu77的博客 1729

从地方政府网站抓取政务公开数据:Python爬虫技术详解

在本文中,我们通过具体实例介绍了如何使用Python编写爬虫,从地方政府门户网站抓取政务公开数据。我们使用了requestsSelenium等最新技术,结合SQLite数据库存储抓取的数据,最后使用matplotlib进行数据可视化分析。通过本项目,您可以掌握如何抓取政府网站的公开数据,并将其进行清洗、存储和分析。这些技术对于进行政府政策分析、公共服务分析等方面具有重要的实际意义。希望通过本文的介绍,您能够更好地理解政务数据抓取的流程和方法,并能在实际工作中运用这些技术进行数据采集和分析。

2201_76125261的博客 1703

NEU-DET 冷轧钢缺陷检测:基于 YOLOv8 的目标检测与可视化 UI 实现

冷轧钢的生产过程中,由于设备故障、工艺问题或者人为因素,钢板表面可能会出现多种缺陷,如划痕、裂纹、孔洞等,这些缺陷会严重影响钢材的质量。它比之前的版本(如 YOLOv5、YOLOv4)在速度和精度上都有显著提升,并且对硬件要求较低,适合进行工业界面和嵌入式系统的应用。这些版本相较于更大型的模型(如 YOLOv8x)具有更快的推理速度和较低的资源占用,适合工业生产线中的实时应用。通过将训练好的模型部署到工业生产线摄像头中,我们可以实现实时的缺陷检测,极大地提升生产效率和产品质量。

YOLO 736

OverFeat:Integrated Recognition, Localization and Detection using Convolutional Networks

文章目录概主要内容 Sermanet P., Eigen D., Zhang X., Mathieu M., Fergus R., LeCun Y. OverFeat:integrated recognition, localization and detection using convolutional networks. In International Conference on Learning Representations (ICLR), 2014. 概 通常的sliding window

MTandHJ的博客 311

【教程4>第5章>第23节】基于FPGA的Gardner环实现——环路滤波器模块和Gardner环整体测试

1]黄凌.基于FPGA的QPSK全数字调制解调系统的设计与实现[D].南京航空航天大学[2025-02-02].DOI:10.7666/d.d166927.注意,这里包括一个NCO模块,一个内插模块,一个时偏误差检测模块,一个环路滤波器模块,在gardner环中,wk的反馈输入,变量为ww,从而构成了闭环。[4]李司.基于FPGA的数字接收机同步技术的研究与实现[D].北京交通大学[2025-02-02].DOI:10.7666/d.y1082455.:调整NCO的相位步长,控制采样时刻。

FPGA/MATLAB学习教程/源码/项目合作开发 853

OverFeat 详解

(一)计算机视觉任务(二)分类(三)定位(四)检测

Kula的博客 7259

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【youcans动手学模型】目标检测之 OverFeat 模型

本文介绍目标检测之 OverFeat 模型,并给出 PyTorch 实现方法。 OverFeat 是一种基于卷积网络的图像特征提取器和分类器,是ILSVRC2013定位任务的第1名。

youcans的博客 2176

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

OverFeat心得

OverFeat官方:http://cilvr.nyu.edu/doku.php?id=code:start参考博客: http://blog.youkuaiyun.com/hjimce/article/details/50187881 http://blog.youkuaiyun.com/whiteinblue/article/details/43374195 摘要: 本文提出一种整合框架,通过卷积网络来

u013967613的博客 4121

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

[目标检测]——Overfeat模型

Overfeat模型设计主要为了解决多个物体的检测问题 一、滑动窗口 目标见发

weixin_42067873的博客 705

【计算机视觉CV:目标检测】--2.算法原理(Overfeat、R-CNN)

目标检测算法综述与实现 本文系统介绍了目标检测算法的分类、原理及典型实现。目标检测算法主要分为两类:两步走检测(如R-CNN系列)和端到端检测(如YOLO、SSD)。文章详细阐述了目标检测任务中的分类、定位原理,以及评价指标如IoU和mAP。重点分析了OverFeat和R-CNN两种经典模型:OverFeat采用滑动窗口方法将检测转化为分类问题;R-CNN则通过选择性搜索获取候选区域,结合CNN特征提取和SVM分类实现检测。文章还提供了OverFeat模型的PyTorch实现代码,并总结了R-CNN的优缺点

我是个好人呀,O(∩_∩)O 973

从OverFeat到RCNN:目标检测领域的跨越式进步

各位小伙伴们大家好!在之前的文章中,我们介绍了OverFeat模型👇点击回顾OverFeat模型原理,它是早期将深度学习应用于目标检测的开拓者之一。不过OverFeat存在一些明显局限性:它采用滑动窗口方式在图像上不同位置和尺度进行检测,这种方法类似一种暴力穷举方式,​​计算量大且效率不高​​,由于窗口大小问题,而且难以精确处理​​不同长宽比的物体​​。

qiutesting的博客 1122

Overfeat算法原理介绍

文章定义为一种特征提取器。

yannkaii的博客 1122

Overfeat论文笔记

个人博客:http://www.chenjianqu.com/ 原文链接:http://www.chenjianqu.com/show-67.html 论文《OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks》. Pierre Sermanet,etc. ...

陈建驱的博客 1119

使用sklearn-theano来做object detection目标检测 (OverFeat)

目前目标检测比较好的两种方法是Fast-RCNN和OverFeat。我更喜欢OverFeat,因为OverFeat完全使用CovNet来做Classification,Localization和detection,比Pip Line的方法好多了,简洁并且减少经验性的东西。最终也方便做到end-end的Training。尝试一下如何使用OverFeat。OverFeat的代码包是sklearn-the

taneijia的专栏 4509

【目标检测算法】R-CNN(详解)

目标检测算法之R-CNN学习目标1. 目标检测-Overfeat模型1.1 滑动窗口1.2 Overfeat模型总结2. 目标检测-R-CNN模型2.1 完整R-CNN结构2.2 候选区域(Region of Interest)得出2.3 CNN网络提取特征2.4 特征向量训练分类器SVM2.5 非最大抑制(NMS)2.6 修正候选区域3. 检测的评价指标3.1 IoU交并比3.2 平均精确率(mean average precision)map4. R-CNN总结4.1 流程总结4.2 缺点5. 总结6.

全网粉丝30W+,优快云、稀土掘金人工智能领域签约作者,人工智能、大模型、Python 爬虫,商务合作,请私信沟通。 1万+

2.3 OverFeat

目录2.3 OverFeat2.3.1 任务与评估指标2.3.2 OverFeat 模型设计2.3.3 多尺度分类2.3.4、OverFeat 视图参考文献 2.3 OverFeat OverFeat 是 ILSVRC2013 中目标定位任务的冠军,它提出了一种集成式框架,将图像分类、目标定位以及目标检测三种任务的学习过程集成到同一个 CNN 模型下。其核心原理是利用多尺度选择以及滑动窗口方式进...

weixin_37179744的博客 532

目标检测系列1——Overfeat

Overfeat1 Overfeat1.1 简介1.2 结构1.3 特点 1 Overfeat 1.1 简介 OverFeat 是早期经典的 One-Stage 目标检测的算法。这篇论文使用了很少的改动,把同一个 CNN 网络用到了三个计算机视觉的任务上(分类,定位,检测)。 论文链接: https://arxiv.org/pdf/1312.6229.pdf 1.2 结构 https://blog.youkuaiyun.com/m0_45962052/article/details/104849869 https:/

xiaotiig的博客 416

【CV 目标检测】R-CNN①——Overfeat

Overfeat方法使用滑动窗口进行目标检测,也就是使用滑动窗口和神经网络来检测目标。滑动窗口使用固定宽度和高度的矩形区域,在图像上“滑动”,并将扫描结果送入到神经网络中进行。这种方法类似一种暴力穷举的方式,会消耗大量的算力,并且由于窗口大小问题可能造成效果不准确。

2401_88868983的博客 256
上一篇: 目标检测(三):YOLO及YOLT
下一篇: 目标检测(四):Fast-RCNN
MajinWakeup
博客等级 码龄7年 2粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值