BoxCars:交通监控场景利用3Dbbox进行车辆细粒度分类

论文阅读笔记(一) *论文阅读笔记(一)* ****论文题目:****BoxCars: Improving Fine-Grained Recognition of Vehicles using 3D Bounding Boxes in Traffic Surveillance(链接:https://link.zhihu.com/?target=https%3A//arxiv.org/pdf/1703.00686) *关键词解析:* Fine-grained:就是比普通的图像识别(分类)再精细化一些,比如不但要识别这是一条狗, 阅读详情

BoxCars:Improving Fine-Grained Recognition of Vehicles using 3D Bounding Boxes in Traffic Surveillance

Abstract

本文中我们专注于交通应用中的细粒度车辆识别研究。本文提出了一种与当前细粒度识别(自动部件识别,bilinear pooling)发展方向一致的算法。此外,与其它专注于细粒度车辆识别的方法相比,我们不将自己局限于正面/侧面的视角,而是允许任意角度的车辆识别。我们的方法基于车辆轮廓周报的3Dbbox。Bbox可以自动通过交通监控数据生成。低于无法进行精准构建的场景,我们提出了一种3Dbbox估计的方法。3DBbox用来通过“unpacking”图像到水平面从而正则化图像的视角。本文还提出在CNN训练过程中,随机改变样本的颜色,在图像随机位置增加一个带有随机噪声的矩形区域的方法。我们收集了一个大型的细粒度车辆数据集BoxCar116K,数据集包含从不同监控摄像机拍摄的不同角度的车厢样本11.6万张。我们进行了一系列实验,实验结果证明我们的方法极大的提升了分类的准确率(与不加入提出的方法相比,准确率增加了12个百分点而错误率降低与50%)。我们还展示了我们的方法比STOA细粒度识别方法表现更好。

1、Introduction

无论从应用角度(监控,数据检索等)还是从适用于其他领域的一般性细粒度研究的角度来看,细粒度车辆识别任务都是有趣的。例如Gebru在文献【1】中提出了一种基于车辆细粒度识别的人口统计估计的方法。本文将介绍一种显著提高了多个SOTA的CNN结构在车辆细粒度识别任务中性能的方法。我们的目标场景是交通监控环境,即从任意角度拍摄的车辆图片—我们不将自己局限于前/后视角。由于这些样本是由监控摄像机拍摄的,因此他们具有一定的挑战性—目标通常较小,而且是从普通的角度拍摄(一定高度)。我们利用不同摄像机的图像构建训练和测试集,因为在监视应用程序中,摄像机在什么视角下拍摄道路通常是不可知的。

专注于细粒度车辆识别的方法通常有一定的局限性—他们可以局限于前/后视角或者对所有车都使用3D CAD模型。这两种限制都在大规模部署的时候很不实用。也有一些利用常见方法进行细粒度车辆识别。这些方法主要遵循几个主要方向—自动部件识别【2,3】,bilinear pooling【4,5】,或利用细粒度结构标签【6,7】。我们的方法并不局限于任何特定的视角,也不需要车辆的三维模型。

我们提出了一种正胶的方法,使用改进输入实现更好的图片正则化与数据增强的CNN网络(因此,我们的方法可与其它的方法进行组合)。我们使用车辆轮廓的3Dbbox来正则化车辆样本(见图4例)。这些工作是基于我们之前的会议论文【8】;它进一步提升了算法那表现,我们主要提供了一种无需先验知识的3Dbbox构建方法(见图1)。我们对分类输入的修改能够显著提高分类精度(高达12个百分点,分类误差减少近50%)。

本文的主要贡献如下:

  1. 对我们之前的方法进行复杂彻底的评估【8】。
  2. 新的数据增强技术进一步提高了我们与之前SOTA的车辆细粒度识别方法的优势(Ⅲ-C)。
  3. 通过对训练与测试过程中3Dbbox的估计消除了文献【8】中算法的对3Dbbox的要求(Ⅲ-D)。
  4. 我们给BoxCars数据集收集了更多的样本,将数据集的大小增加了1倍(Ⅳ)。

我们将公开建立的数据集与算法的源码,以供将来参考与对比。

2、Related Work

为了给提出的方法提供上下文,我们总结了现有的细粒度识别方法(包括通用的与专注于车辆的方法)。

A、General Fine-Gained Object Recognition

由于细粒度识别方法通常具有一些共同的特征,因此我们将近年来的文献中的细粒度识别方法分为几个类别。基于部件标注的方法(【9,10】)在这里不做详细的讨论因为通常车辆细粒度分类数据集都没有部件标注。

1)自动部件识别:分类的部分部件可以提供区分度,为细粒度分类任务提供很多信息。然而,假设这些部件位置是已知的是不现实的,因为它需要大量的注释工作。因此,一些论文【2】【3】【11】-【15】试图解决这些问题,并且提出自动部件检测的方法(在训练与测试时)。这些方法的区别主要在于他们用来定位有区分度部件的方式。部件抽取出来的特征通常输入到SVM进行分类。

2)Bilinear Pooling方法:Lin在文献【4】只使用卷积层来提取给双线性分类器分类的特征【16】。Gao在文献【5】中遵循bilinear pooling的方式,提出了一种竞走的bilinear pooling方法,得到了与full bilinear pooling相同的进度且特征数显著降低。

3)其他方法:xie在文献【6】提出使用hyper-class进行数据扩展与细粒度deeplearning。Zhou在文献【7】中使用带有双边图标签利用细粒度标注与粗粒度整体标签(例如轿车、SUV)得到更好的精度。Lin在文献【17】中使用三个神经网络同时进行图像的定位、对齐与分类。三个网络中每个都执行其中的一个任务,之后被连接到一个更大的网络。Yao在文献【13】中提出了一种基于图像随机模板的响应分类方法,利用SVM的响应的综合特征进行分类。Zhang在文献【18】中利用姿态正则化核心与他们的响应包装成特征向量。Chai在文献【19】中提出使用分割算法用于细粒度识别,从而获得图片的前景部分。类似的方法Li在文献【20】中也提了出来;然而,作者使用的是经过针对细粒度识别任务优化与微调过的分割算法。最后Gavves在文献【21】中提出了利用目标proposal获得前景掩模,进行无监督对齐的方法来提升细粒度分类的准确率。

B、Fine-Gained Recognition of Vehicles

车辆细粒度识别的目标是确定车辆的确切类型,即车辆的厂商、车款、车系与年款。识别系统仅仅专注于车辆(与通用细粒度中的鸟与狗等类似)可以从车辆是刚体受益,车辆具有一些独一无二的特征点(例如车牌)与严格的模型(例如3D CAD模型)。

1)限于车辆正面/背面样本的方法:有许多论文【22-29】使用的是常用分类方法:他们检测车上的车牌(作为一个公用的特征点),从车牌周围区域提取特征,且前尾部的车辆区域通常是差异很大的。

也有论文【30-35】直接从前向车辆图片中通过不同方法提取特征,选择性的利用车辆前向结构上的标准部件(例如头灯)。

2)基于3D CAD模型的方法:已经有一些方法利用3D综合模型来处理车辆的视角差异。Lin在文献【36】中提出了联合车辆3D模型拟合与细粒度分类的方法。Hsiao在文献【37】中检测轮廓并使用3D角点匹配3D模型。Krause在问下【38】中提出使用合成数据训练3D模型的几何与与视角分类器,并进行2D图像对齐。Prokaj在文献【39】中提出一种基于离散视点的车辆样本与三维模型的SIFT特征检测方法。

3)其它方法:Gu在文献【40】中提出了一种提取车辆中心的方法,利用bbox的aspect ratio对视角进行粗略估计。然后使用不同外形变化模型来对齐不同视角的数据,使用分割算法进行背景去除。

Stark在文献【41】中提出改进的可形变部件模型(DPM)【42】来处理多类识别问题。,模型通过基于HOG特征【43】的隐藏现行多类SVM构成。作者展示了系统比不同基于线性编码【44】与HOG的方法效果都要好。识别的车辆用于人眼级别的相机校准。

Liu在文献【45】中针对车辆重识别任务采用相对距离,提出使用triplet loss中的Coupled Cluster Loss训练模型。Boonsim在文献【46】提出了夜间车辆细粒度识别的方法。作者利用相对位置与夜间可见特征(灯,车牌)来确定车辆的厂商与车型,这些在车辆

[论文阅读]Improving Fine-Grained Recognition of Vehicles using 3D Bounding Boxes in Traffic Surveilla 这是一篇车辆细粒度识别的论文,它利用3D的bonding box来对3D包裹住的车辆对象拆分至一个平面,利用这个最终的imag进行训练,训练效果最好是在vgg16的分类精度达到84.13,追踪精度达到92.27。对于没有3D包围盒信息的,作者还提供了一种3D包围盒的预测算法。(尽管介绍这部分的写的也太不详细了,而且发布的源码来看也没有包含这部分,只包含了一份预测出的estimated_3DBB... 阅读详情

相关推荐

BoxCar116k数据集学习

数据集包括以下内容: images - dataset images and masks 图片和掩摸(算是对图片轮廓的提取) atlas.pkl - BIG structure with jpeg encoded images, which can be convenient as the whole structure fits the memory and it is possible to...

weixin_44136758的博客 862

VehicleNet: Learning Robust Visual Representation for Vehicle Re-identification(车辆网络:学习用于车辆再识别的鲁棒视觉)

摘要:车辆再识别(re-id)的一个基本挑战是学习鲁棒的和有区别的视觉表示,考虑到不同相机视图的显著的类内车辆变化。由于现有的车辆数据集在训练图像和视点等方面的局限性,我们建议利用四个公共车辆数据集构建一个独特的大规模车辆数据集(称为VehicleNet),并设计一种简单而有效的两阶段渐进方法,以从VehicleNet中学习更强大的视觉表示。我们方法的第一阶段是通过传统的分类丢失训练来学习所有域(即源车辆数据集)的通用表示。这个阶段放松了训练和测试领域之间的完全对齐,因为它与目标车辆领域无关。第二阶段是通过

s123l4的博客 2927

人群密度分析算法调研

概述 人群行为分析算法分为四个主要方向: 1、行人检测(Pedestrian Detection) 2、人群计数(Crowd Counting) 3、人群密度分析(Crowd Density Estimation) 4、人群状态分析(Crowd Behaviour Analysis) 人群计数与人群密度分析为其中重要的组成内容。人群计数与人群密度分析算法通常的方法大致可以分为三种:

abrams90的专栏 1万+

BoxCars:与BoxCars出版物相关的源代码-Box source code

棚车对车辆的细粒度识别 这是Keras + Tensorflow对我们对BoxCars中描述的车辆进行细分类的方法的重新实现:使用交通监控中的3D边界框改进车辆的细粒度识别()。 数值结果略有不同,但相似。 此代码仅用于研究目的。 如果您使用该代码,请引用我们的论文: @ARTICLE{Sochor2018,  author={J. Sochor and J. Špaňhel and A. Herout},  journal={IEEE Transactions on Intelligent Transportation Systems},  title={BoxCars: Improving Fine-Grained Recognition of Vehicles Using 3-D Bounding Boxes in Traffic Surveillance},  year={201

ENVI5.6 自动化流程:GF系列卫星影像批处理与质量优化

本文详细介绍了如何利用ENVI5.6构建针对GF-2、GF-6、GF-7系列卫星影像的自动化批处理流水线。通过配置Batch Processing工具,实现从正射校正到图像融合的全流程批量处理,并分享参数设置、质量监控与故障排查的实战经验,旨在显著提升海量遥感影像的处理效率与成果质量。

efc1234567的博客 603

《数学建模与数学实验》第5版 线性规划 习题3.4

1. 某鸡场有1000只鸡,用动物饲料和谷物混合喂养. 2. 某工厂用A1,A2两台机床加工B1,B2,B3三种不同零件. 3. 某工厂利用两种原料甲、乙生产$A_1、A_2、A_3$三种产品. 4. 每班的护士在值班开始时向病房报到,连续工作8个小时. 5. 某工厂生产 A1 、A2 两种型号的产品 6. 有两个煤厂A,B 7. 某工厂制造三种产品,生产这三种产品需要三种资源 8. 已知某工厂计划生产1,2,3三种产品,各产品需要在ABC设备加工。...

hexiaosi_的博客 2万+

agent-browser OpenClaw 的最佳搭档

agent-browser 是专为 AI Agent 设计的浏览器自动化工具,目前被公认为 OpenClaw 的最佳配套方案。这份技术文档完整记录了其架构、协议、性能调优与常见问题处理,非常适合想让OpenClaw 真正“上手”互联网的开发者与老用户。

liu_zhiyi的博客 1781

Ribo测序翻译效率计算及可视化

本文介绍了一个计算翻译效率(TE)和分析转录-翻译相关性的生物信息学流程。首先通过Python脚本从标准化表达量矩阵(TPM/FPKM)计算TE值,该脚本自动匹配转录组(RNA)和翻译组(Ribo)样本进行比值运算。然后使用R语言进行相关性分析,通过ggplot2绘制样本间转录-翻译表达量的散点图,添加线性回归线和相关系数标注,支持PNG/PDF格式输出。整个流程实现了从原始数据处理到可视化分析的全过程。

Tiaoxiaobai的博客 553

lammps案例:reaxff势模拟Fe(OH)3高温反应过程

所有的reaxff模拟,如:氧化、腐蚀、热裂解、燃烧等模拟,均可采用此模拟框架,只需要更换data文件、势文件,代码中的control文件可以不写,电荷平衡文件也可以用reaxff替换。该案例主要模拟Fe(OH)3在高温下的反应过程,主要代码来自lammps自带的案例。lammps自带案例没有产物输出,故在此基础上稍加修改,增加了产物输出命令。如果需要系统学习反应势的模拟,可考虑报名培训课程。本文分享一个reaxff反应势的案例。in文件代码已经注释,以供参考。大家好,我是小马老师。

lammps_jiayou的博客 1965

Harness Engineering:让Coding Agent真正落地生产

本文将带你系统性地了解如何让Coding Agent真正落地生产,核心是依托(全球领先的持续交付、云成本管理、 feature flagging、安全治理一体化平台),结合企业级AIDD(AI-Driven Development)的工程化实践,构建一套可信赖、可观测、可扩展、可治理的Coding Agent落地体系。核心概念与理论基础:什么是Coding Agent?它和普通的AI代码补全工具(比如GitHub Copilot)有什么区别?什么是Harness Engineering?

移动开发前沿的博客 455

CH7034B显示模块原理图设计,已量产

显示桥接板的价值,不在于简单把 RGB 排线换成另一种接口,而在于能否把并行视频、时钟、显示控制、模拟输出和辅助配置同时组织成稳定系统。当前这张 CH7034B 原理图就是这种思路:U3 CH7034B 作为核心桥接芯片,输入侧是 LCD_R0~R7、LCD_G0~G7、LCD_B0~B7、LCD_DE、LCD_HSYNC、LCD_VSYNC、LCD_CLK 与 LCD_BL,输出侧则通过 DAC0~DAC2 和 DDC_SC/DDC_SD 形成模拟显示接口边界。

不脱发的程序猿 161

Java小白入门200例81之Java接口

作者简介 作者名:编程界明世隐 简介:优快云博客专家,从事软件开发多年,精通Java、JavaScript,博主也是从零开始一步步把学习成长、深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢迎您关注,期待与您一起学习、成长、起飞! 引言 很多Java初学者问我,新手明明很用心、很努力学习的Java知识,转头又忘记了,很让人犯愁,小白如何能够快速成长、成为大牛呢? 其实要成为大神的技巧只有一个:“多学多练”,于是明哥就整理了比较典型的练习实例,通过练习能够快速提升编码技巧和熟练度,让你在成为大

编程界明世隐的博客 1358

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

上一篇: Geometry-constrained Car Recognition Using a 3D Perspective Network
下一篇: MonoGRNet: A Geometric Reasoning Network for Monocular 3D Object Localization
abrams90
博客等级 码龄16年 43粉丝 36原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值