论文解读 | 如何进行精确的对象检测和语义分割?谷歌研究员提出丰富的特征层次结构!

原创 | 文 BFT机器人 

图片

01

摘要

本文关注经典的PASCAL VOC数据集上的对象检测性能问题,近年来性能趋于稳定。作者提出一种简单且可扩展的检测算法,相较于之前最佳结果,在VOC 2012数据集上将平均精度(mAP)提高了30%以上,达到了53.3%的mAP。

该方法的关键点在:

(1)将高容量的卷积神经网络(CNN)用于自底向上的区域建议,以实现对象的定位和分割。

(2)在标记训练数据稀缺的情况下,通过监督预训练辅助任务,然后进行领域微调,可以显著提升性能。

由于将区域建议与CNN相结合,该方法被称为R-CNN:具有CNN特征的区域。此外,作者还将R-CNN与OverFeat进行了比较,后者是基于类似CNN架构的滑动窗口检测器。结果显示,在200类ILSVRC2013检测数据集上,R-CNN的性能明显优于OverFeat。

02

介绍

在20世纪90年代,CNN得到广泛应用,但后来受支持向量机的兴起影响而逐渐退出。2012年,Krizhevsky等人通过在ImageNet上训练大型CNN取得了显著的图像分类成果,重新引起人们对CNN的兴趣。

他们的成功包括对网络结构的调整。作者介绍了CNN在目标检测中的应用,并解决了图像分类和目标检测之间的差距。作者表明CNN在PASCAL VOC目标检测中显著提高性能,专注于深度网络定位目标和在少量带注释的数据上训练高容量模型。

作者采用了“使用区域识别”范式来解决CNN定位问题,这一方法在目标检测和语义分割领域都获得了成功。在测试时,作者的方法生成了约2000个与类别无关的区域建议,通过CNN从每个建议中提取固定长度的特征向量,并使用特定类别的线性支持向量机进行分类。

作者还采用了一种简单的技术(仿射图像扭曲)来处理区域提议,使其适应固定大小的CNN输入,不受区域形状的限制。作者将这一方法称为R-CNN,即具有CNN特征的区域。

在更新版本中,作者将R-CNN与最近提出的OverFeat检测系统进行了比较,发现R-CNN在200类ILSVRC2013检测数据集上表现明显优于OverFeat,mAP分别为31.4%和24.3%。

检测面临的第二个挑战是标记数据稀缺,解决方案通常是使用无监督预训练和监督微调。作者的第二个主要贡献是证明,在大数据集(ILSVRC)上进行监督预训练,然后在小数据集(PASCAL)上进行特定领域微调,是有效学习高容量CNN的方法。

在实验中,微调使得检测性能的mAP提高了8个百分点。作者还提到了其他研究,表明Krizhevsky的CNN在多个识别任务上可以作为特征提取器,无需微调。

作者强调了了解方法的失效模式对改进至关重要,他们报告了一个边界盒回归方法可以显著减少错误定位,这是主要的误差模式。最后,作者指出由于R-CNN在区域上操作,将其扩展到语义分割任务是很自然的。作者在PASCAL VOC分割任务上也获得了竞争力的结果,平均分割准确率为47.9%。

图片

图1:目标检测系统。(1)获取输入图像;(2)提取大约2000个自下而上的区域建议;(3)使用大型卷积神经网络(CNN)计算每个建议的特征;(4)使用特定类别的线性支持向量机对每个区域进行分类。

03

基于R-CNN的目标检测

3.1 模块设计

区域建议大量的论文提出了与类别无关的候选区域生成方法。例如:对象性、选择搜索、类别无关的候选目标、约束参数最小切割(CPMC)、多尺度组合、Ciresan[等。Ciresan用CNN检测有丝分裂的细胞,是候选区域方法的一个特例。当然,R-CNN是一种选择搜索的候选区域方法,用选择搜索是为了方便与之前的检测方法比较。

特征提取为了提取区域建议的特征,作者采用了Krizhevsky等人所描述的CNN(使用Caffe实现)。每个区域建议被转换为固定的227 × 227像素大小的输入,以便与CNN架构兼容。作者选择了简单的方法来实现这一点,即将候选区域周围的像素通过翘曲转换到所需的大小。

在翘曲之前,紧密边界框会被扩大,以确保在翘曲后的图像中包含足够的上下文像素(作者使用了p = 16)。图2展示了扭曲训练区域的随机抽样过程。此外,替代的扭曲方法在附录A中有详细讨论。

图片

3.2 测试时间检测

在测试时,作者对测试图像进行选择性搜索以提取大约2000个区域建议(我们在所有实验中都使用选择性搜索的“快速模式”)。作者扭曲每个提议,并通过CNN向前传播,以计算特征。

然后,对于每个类,我们使用为该类训练的支持向量机对每个提取的特征向量进行评分。给定图像中所有得分区域,我们应用贪婪非最大抑制(独立于每个类),如果该区域与大于学习阈值的较高得分选择区域有交集-过并(IoU)重叠,则拒绝该区域。

3.3 训练

监督训练作者使用大规模辅助数据集(ILSVRC2012分类)对CNN进行了判别性预训练。在这个预训练阶段,他们仅使用图像级别的标注信息(不使用边界框标签)。

所使用的CNN架构与Krizhevsky等人的工作相似,性能接近于他们的模型。在ILSVRC2012分类验证集上,相对于前一名,错误率高出2.2个百分点。这个差距是由于训练过程的简化造成的。

特定领域的微调 为了使CNN适应新的任务(目标检测)和新的域(扭曲的区域建议),作者继续对CNN参数进行随机梯度下降(SGD)微调,使用扭曲的区域提议。

在微调过程中,作者用具有(N + 1)个分类层的随机初始化替换了原CNN的Imagenet特定的1000个分类层,其中N为对象类别数量,加1代表背景。网络结构保持不变。

对于VOC数据集,N = 20,而对于ILSVRC2013数据集,N = 200。作者将所有与ground-truth框重叠IoU大于0.5的区域建议视为阳性,其余视为阴性。SGD的初始学习率为0.001(预训练学习率的1/10),这样可以在微调的同时避免破坏初始参数。每次SGD迭代中,作者以32个正窗口(涵盖所有类别)和96个背景窗口的比例构建大小为128的小批量,因为正窗口比背景窗口更为罕见。

04

可视化,模型比较和误差模式

4.1 网络体系结构

本文主要使用了Krizhevsky等人[25]提出的网络架构来展示R-CNN的检测性能。然而,研究发现网络架构的选择对R-CNN的性能产生重要影响。在本文中,作者还尝试了使用Simonyan和Zisserman[43]最近提出的16层深度网络进行VOC 2007测试,这个网络被称为O-Net,与之前使用的T-Net进行比较。

作者从Caffe模型动物园下载了VGG ILSVRC 16层模型的预训练网络权重,并对O-Net进行微调,微调的过程与T-Net相似,只是使用了较小的minibatch来适应GPU内存。结果显示,使用O-Net的R-CNN在性能上明显优于使用T-Net的R-CNN,平均准确度从58.5%提升到66.0%。然而,需要注意的是,使用O-Net的R-CNN的计算时间较长,转发时间大约是使用T-Net的R-CNN的7倍。

4.2 检测误差分析

作者使用了Hoiem等人的优秀检测分析工具,以揭示我们方法的误差模式,了解微调如何改变它们,并将我们的误差类型与DPM进行比较。分析工具的完整总结超出了本文的范围,我们鼓励读者参考来理解一些更精细的细节(例如“规范化AP”)。由于分析最好是在相关图的上下文中进行,在图5和图6的标题中给出了讨论。

图片

图片

4.3 限定框回归

在误差分析的基础上,实现了一种简单的减小定位误差的方法。受DPM中使用的边界盒回归的启发,我们训练了一个线性回归模型,在给定pool5特征的情况下,为选择性搜索区域建议预测一个新的检测窗口。表1、表2和图5的结果表明,这种简单的方法修复了大量的错误定位检测,将mAP提高了3到4个点。

图片

图片

4.4 定性结果

对ILSVRC2013的定性检测结果如图8和图9所示。每张图像从val2集合中随机采样,并显示了精度大于0.5的所有检测器的所有检测结果。请注意,这些都不是精心设计的,并给出了实际运行中的探测器的真实印象。更多的定性结果显示在图10和图11中,但是这些都是经过整理的。我们选择每张图片是因为它包含了有趣的、令人惊讶的或有趣的结果。这里也显示了精度大于0.5的所有检测结果。

图片

图片

05

语义分割

区域分类是语义分割的标准技术,使得R-CNN能够轻松应用于PASCAL VOC分割挑战。为了与领先的语义分割系统“二阶池”(O2P)直接进行比较,作者在O2P的开源框架内进行了工作。

O2P系统利用CPMC生成每张图像的150个区域建议,通过支持向量回归(SVR)预测每个类别的每个区域的质量。O2P方法的高性能归功于CPMC区域质量和多种特征类型(如SIFT和LBP的多样变体)的强大二阶池化。


此外,作者还注意到Farabet等人最近使用CNN作为多尺度逐像素分类器,在一些密集场景标记数据集上展示了良好结果,尽管这些数据集不包括PASCAL。

为了进行比较和评估,作者在PASCAL分割训练集上遵循相关工作并进行了扩展,包括了Hariharan等人提供的额外注释。设计决策和超参数通过在VOC 2011验证集上进行交叉验证来完成。

CNN功能分割 在对CPMC区域进行特征计算方面,作者尝试了三种策略,这些策略都始于将区域周围的矩形窗口扭曲到227 × 227的尺寸。第一种策略(full)忽略了区域的形状,直接在扭曲的窗口上计算CNN特征,类似于在检测任务中的做法。然而,这样的特征计算忽略了区域的非矩形形状。

第二种策略(fg)只在区域的前景蒙版上计算CNN特征,背景部分使用均值进行替换,使得在均值减去后背景区域为零。第三种策略(full+fg)将前两种策略的特征连接在一起,作者的实验验证了它们在提取特征时的互补性。

在VOC2011数据集上的结果作者对比了他们在VOC 2011验证集上的结果与O2P方法的结果。作者使用了三种特征计算策略,发现在每个策略中,fc6层的性能总是优于fc7层。

在特征计算策略方面,fg策略稍微优于full策略,表明掩膜区域形状提供了更强的信号。然而,使用完整特征和掩膜区域形状的联合策略(full+fg)表现最佳,达到了47.9%的平均准确度,相比O2P方法稍高。


作者强调,即使在掩膜区域形状信息已知的情况下,完整特征仍然提供了丰富的上下文信息。此外,在VOC 2011测试集上,作者的方法在11个类别中取得了最高的分割精度,在各个类别之间的平均分割精度达到了47.9%。

图片

图片

06

总结

本文提出了一种简单且可扩展的目标检测算法,在PASCAL VOC 2012数据集上相对于最佳结果提高了30%。首先他们采用了大容量的卷积神经网络来处理自底向上的区域建议,从而实现目标的定位和分割。

其次,在数据稀缺的情况下,他们通过在具有丰富数据的辅助任务(如图像分类)上进行监督预训练,然后在目标检测这种数据稀缺的任务上进行微调,展示了训练大型卷积神经网络的范例。

作者认为,这种"有监督的预训练/特定领域微调"的方法对于解决各种数据稀缺的视觉问题都非常有效。

作者 | 不加糖

排版 | 居居手

更多精彩内容请关注公众号:BFT机器人

本文为原创文章,版权归BFT机器人所有,如需转载请与我们联系。若您对该文章内容有任何疑问,请与我们联系,将及时回应。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/76404.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

React构建的JS优化思路

背景 之前个人博客搭建时,发现页面加载要5s才能完成并显示 问题 React生成的JS有1.4M,对于个人博客服务器的带宽来说,压力较大,因此耗费了5S的时间 优化思路 解决React生成的JS大小,因为我用的是react-router-dom…

虚拟机怎么连接加密狗?USB Sever连接方法

公司想把软件都迁移到虚拟机,但是没法连接加密狗,怎么办? 让USB Sever来连接就行了! 第一步, 根据加密狗的数量, 选一台合适的朝天椒USB Sever, 第二步, 将加密狗全部插在朝天椒U…

【AI绘画】3分钟学会ikun幻术图

目录 前言一、效果展示二、准备工作三、操作步骤3.1平台创建实例3.2 启动SD 四、安装QR Code Monster 模型五、成图 前言 大家热爱的ikun幻术在今天的分享中将呈现。在本文中,我们将揭示一个备受欢迎的图像幻术技术,让您感受到令人惊叹的视觉创造力。 …

BBS项目day03、首页(前端文章布局、分类布局、标签布局)、个人站点(前后端实现)

一、首页 路由 from django.contrib import admin from django.urls import path, re_path from app01 import views from django.views.static import serve from django.conf import settingsurlpatterns [path(admin/, admin.site.urls),# 注册path(register/, views.reg…

数据分析两件套ClickHouse+Metabase(二)

Metabase篇 Metabase安装部署 任何问题请查看 -> 官方文档 jar包从GitHub下载 -> 地址 同样有个问题, 默认数据源里没有ClickHouse, 不过ClickHouse官方提供了插件包 -> 插件包 在安装metabase目录下新建一个plugins文件夹, 把下载的clickhouse.metabase-driver.ja…

安卓:网络框架okhttp

目录 一、okhttp介绍 1. OkHttpClient类: 常用方法: 2. Request类: 常用方法: 3. Response类: 常用方法: 4. Call类: 常用方法: 5. Interceptor接口: 常用方法&…

Three.js 设置模型材质纹理贴图和修改材质颜色,材质透明度,材质网格

相关API的使用: 1 traverse (模型循环遍历方法) 2. THREE.TextureLoader(用于加载和处理图片纹理) 3. THREE.MeshLambertMaterial(用于创建材质) 4. getObjectByProperty(通过材…

机器学习理论笔记(一):初识机器学习

文章目录 1 前言:蓝色是天的机器学习笔记专栏1.1 专栏初衷与定位1.2 本文主要内容 2 机器学习的定义2.1 机器学习的本质2.2 机器学习的分类 3 机器学习的基本术语4 探索"没有免费的午餐"定理(NFL)5 结语 1 前言:蓝色是天…

实例038 设置窗体在屏幕中的位置

实例说明 在窗体中可以设置窗体居中显示,本例通过设置窗体的Left属性和Top属性可以准确设置窗体的位置。运行本例,效果如图1.38所示。 技术要点 设置窗体在屏幕中的位置,可以通过设置窗体的属性来实现。窗体的Left属性表示窗体距屏幕左侧的…

android wifi扫描 framework层修改扫描间隔

frameworks/opt/net/wifi/service/java/com/android/server/wifi/ScanRequestProxy.java 这个也就是说前台应用可以在120s(2分钟) 扫描 4 次 * a) Each foreground app can request a max of* {link #SCAN_REQUEST_THROTTLE_MAX_IN_TIME_WINDOW_FG_APPS} scan every* {l…

高并发数据抓取实战:使用HTTP爬虫ip提升抓取速度

又到每天一期学习爬虫的时间了,作为一名专业的爬虫程序员,今天要跟你们分享一个超实用的技巧,就是利用HTTP爬虫ip来提升高并发数据抓取的速度。听起来有点高大上?别担心,我会用通俗易懂的话来和你们说,让你…

【论文阅读】基于深度学习的时序预测——Non-stationary Transformers

系列文章链接 论文一:2020 Informer:长时序数据预测 论文二:2021 Autoformer:长序列数据预测 论文三:2022 FEDformer:长序列数据预测 论文四:2022 Non-Stationary Transformers:非平…

git命令使用

君子拙于不知己,而信于知己。——司马迁 清屏:clear 查看当前面板的路径:pwd 查看当前面板的文件:ls 创建文件夹:mkdir 文件夹名 创建文件:touch 文件名 删除文件夹:rm -rf 文件夹名 删除文件:r…

Vue Baidu Map--自定义点图标bm-marker

自定义点图标 将准备好的图标放到项目中 使用import引入&#xff0c; 并在data中进行声明 <script> import mapIconRed from ./vue-baidu-map/img/marker_red_sprite.png export default {data() {return {mapIconRed,}}, } </script>在<bm-marker>中加入参…

考公-判断推理-逻辑判断-削弱类

否定论点&#xff0c;根本排除 例题 例题 例题 例题 例题 例题 变化小&#xff0c;胖了瘦了 例题 例题 拆桥 例题 例题 例题 例题 例题 例题 例题 例题 例题 A类比非常弱 D削弱了论据 例题 因果倒置例题 例题 例题

从零开始学习 Java:简单易懂的入门指南之MAth、System(十二)

常见API&#xff0c;MAth、System 1 Math类1.1 概述1.2 常见方法1.3 算法小题(质数)1.4 算法小题(自幂数) 2 System类2.1 概述2.2 常见方法 1 Math类 1.1 概述 tips&#xff1a;了解内容 查看API文档&#xff0c;我们可以看到API文档中关于Math类的定义如下&#xff1a; Math类…

平板选择什么电容笔比较好?ipad手写笔推荐品牌

在现在的生活上&#xff0c;有了iPad平板&#xff0c;一切都变得简单了许多&#xff0c;也让我们的学习以及工作都更加的便利。这其中&#xff0c;电容笔就起到了很大的作用&#xff0c;很多人都不知道&#xff0c;到底要买什么牌子的电容笔&#xff1f;哪些电容笔的性价比比较…

设计HTML5文本

网页文本内容丰富、形式多样&#xff0c;通过不同的版式显示在页面中&#xff0c;为用户提供最直接、最丰富的信息。HTML5新增了很多文本标签&#xff0c;它们都有特殊的语义&#xff0c;正确使用这些标签&#xff0c;可以让网页文本更严谨、更符合语义。 1、通用文本 1.1、标…

GPT内功心法:搜索思维到GPT思维的转换

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

想要自学华为HCIA/HCIP/HCIE认证,并顺利通过考试,不用报班

1、了解认证考试的要求&#xff1a;在开始自学之前&#xff0c;你需要详细了解华为HCIA/HCIP/HCIE认证的考试要求&#xff0c;包括考试科目、考试时间、考试费用等信息。你可以访问华为官方网站或者咨询华为认证中心&#xff0c;获取相关信息。 2、确定考试科目和学习路线&…