论文笔记 A Large Contextual Dataset for Classification,Detection and Counting of Cars with Deep Learning

本文主要是介绍论文笔记 A Large Contextual Dataset for Classification,Detection and Counting of Cars with Deep Learning,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ECCV 2016的文章,首先建立了一个从上到下照的车辆影像数据集(即鸟瞰视角),并提出ResCeption神经网络进行训练,进一步建立residual learning with Inception-style layers,进行车辆数目的计算。该方法为车辆数目的计算的一种新方式:通过定位和密度估计方法。对于新的场景或新的目标计数也同样适用。

文章主要关注3个任务点:(1)两类的分类问题(2)目标的检测与定位(3)车辆的计数

数据集介绍

整篇文章最大的贡献之一,就是给出的数据集==该数据集分辨率为每个像素对应地面15cm,因此车辆的大小范围基本是24-48像素。其中,有两个数据集(Vaihingen, Columbus)是灰度图像,其余四个均为RGB彩色图像。因为数据集的尺度比较一致,同时车辆大小比较单一,因此不需要尺度上的变换,而重点放在检测算法精度,以及车辆外形与旋转带来的问题。

数据集为像素级别的标签,同时每一个车在其中心位置标记一点。large trucks都被忽略掉,同时Vans and pickups被同样标记为正样本,而负样本包含boats, trailers and construction vehicles。

同时,为了在大尺度遥感影像中对训练和检测patch进行区分,将影像划分成1024*1024大小的网格,对这些网格进行标记哪些是训练区域,哪些是检测区域,使得训练与检测patch进行区分不重叠。虽然训练与检测的两种patch不重叠,但是训练样本之间可重叠,检测样本之间也可以重叠,并在停车场等密集区域,确保样本之间存在重叠。图像大小均为2048*2048,因此第4个网格的patch作为testing patch,而前3个为训练patch。

下图即为训练与检测patch的分布示意图,图中蓝色区域为training patch areas,红色区域为testing patch areas:
这里写图片描述

同时,数据集中的图片场景如下图展示:
这里写图片描述

Classification

在训练分类时,提出了一种上下文相关的分类训练方法,每15度方向的车辆作为一个整体进行训练,来获得模型的旋转不变性。训练中主要使用了308,988 training patches 和 79,447 testing patches,通过训练判断patch的中心区域是否包含车辆目标. 其训练模型如下右图:
这里写图片描述
其中,左图为标准的Inception layer,右图为本文提出的ResCeption layer方法,可以看出右图最主要的不同是一个1*1的卷积层被用作是一个投影的residual shortcut。

不同网络结构下的分类结果:
这里写图片描述

Detection

首先作者简要说明,其实验发现,标签的加入对于分类结果的精度,并没有很大的提高,因此对于分类任务,无需加入标签训练。然后作者进行检测任务下的实验。

在检测训练时,主要对softmax输出层计算一个热度图,其loss函数如下:
这里写图片描述
其中,等式左边p代表第p个像素位置,右边(o1)代表softmax输出层中存在车辆,(o2)代表不存在车辆。

这里写图片描述
如图,左边为热度图结果,右边为检测结果的一个举例,存在部分误检情况。

检测结果表:
这里写图片描述

Counting

在计数部分,主要对大部分像素存在图像内的车辆进行计数,同时为了使得网络能力更强,类似更深的ResNet想法,文章提出了一个double tall GoogLeNet like network,即将ResCeption layer重复使用两次,从原来的11层变成22层。文章进行了一系列的实验部分,分为几种情况,博客这里仅仅展示一种,详情实验结果参考文章。。。。

其计数分别结果如下:
这里写图片描述

计数示意图如下:
这里写图片描述
左下角数字即为计数结果,蓝色和绿色边界是为了区分每一个stride的大小,从图也可以看出stride之间存在重叠。6个stride共检测出74个车辆,实际为77.

这篇关于论文笔记 A Large Contextual Dataset for Classification,Detection and Counting of Cars with Deep Learning的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1093638

相关文章

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

忽略某些文件 —— Git 学习笔记 05

忽略某些文件 忽略某些文件 通过.gitignore文件其他规则源如何选择规则源参考资料 对于某些文件,我们不希望把它们纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常它们都是些自动生成的文件,比如日志文件、编译过程中创建的临时文件等。 通过.gitignore文件 假设我们要忽略 lib.a 文件,那我们可以在 lib.a 所在目录下创建一个名为 .gi