<REAL-TIME TRAFFIC OBJECT DETCTION FOR AUTONOMOUS DRIVING>论文阅读
Abstract
随着计算机视觉的最新进展,自动驾驶迟早成为现代社会的一部分,然而,仍有大量的问题需要解决。尽管现代计算机视觉技术展现了优越的性能,他们倾向于将精度优先于效率,这是实时应用的一个重要方面。大型目标检测模型通常需要更高的计算能力,这是通过使用更复杂的机载硬件来实现的,对于自动驾驶来说,这些要求转化为燃料成本的增加,并最终导致里程的减少,此外,尽管有计算需求,但现有的目标检测器还远远不能满足实时性的要求。在本研究中,我们评估了我们先前提出的高效行人检测器LSFM在成熟的自动驾驶基准上的鲁棒性,包括不同的天气状况和夜间场景。我们将LSFM模型扩展到一般的目标检测,以实现交通场景中的实时目标检测。我们在交通目标检测数据集上评估了其性能、低延迟性和可推广性。进一步地,我们讨论了当前自动驾驶背景下目标检测系统所采用的关键性能指标的不足,并提出了一种更适合的、包含实时性要求的替代方案。
Introduction
自动驾驶旨在通过替代人类驾驶员来改善道路安全性、舒适性、交通拥堵和油耗等问题。自动驾驶的承诺是革命性的,但也伴随着诸多挑战。自动驾驶系统的管道由众多模块组成,感知是第一位的。感知系统的主要功能是从自车周围环境中获取至关重要的信息,并以易于消费的格式传输给自主系统。计算成本直接影响自动驾驶车辆的行驶里程,因为它直接转化为燃料成本并增加了硬件需求。一个合理的设置和一个强大的GPU可以单独花费大量的里程,而现有的目标检测方法远远没有达到实时的( 30F P S)。除目标检测外,感知模块还具有多个感知子程序,进一步收紧了约束。因此,需要一种具有优越精度、最小硬件占用和计算效率的轻量级目标检测器。
行人是自动驾驶感知的重要交通目标,并且,由于他们不太的衣服和体型,导致行人检测非常困难。在研究领域中,使用复杂的目标检测架构进行行人检测是一种普遍的做法。然而,如果一个架构在附加约束的行人检测中表现良好,那么当扩展到其他交通对象时,它应该表现良好。最近提出的LSFM在行人检测上取得了最佳的性能。它对运动模糊具有鲁棒性,推理时间较短,效果良好,特别是在小遮挡和严重遮挡的情况下。在这篇工作中,我们扩展了LSFM到多类目标检测并且证明了在交通目标检测的泛化性。我们还评估了其在合成数据集上,以及在恶劣天气和光照条件下(包括夜间)的泛化能力。
主要工作如下:
1、我们评估了LSFM [ 15 ]在夜晚场景中的可推广性,并在KITTI [ 16 ]排行榜上进行了比较。
2、我们通过结合多类目标检测来扩展LSFM [ 15 ],以方便交通目标检测。
3、我们提出了一种新的实时目标检测的关键性能指标。
4、我们使用传统的和实时的评价指标,在公认的自动驾驶基准上评估LSFM [ 15 ]用于交通目标检测的性能。
Efficient traffic object detection
LSFM是一个有效的行人检测器。由于行人是最具挑战性的交通对象,一个高效、高性能的行人检测架构应该能够很好地推广到其他交通对象。
3.1 Localized Semantic Feature Mixers
LSFM把RAW images作为输入,使用ConvMLPPin backbone去提取高级语义特征。这些特征然后送入SP3,将其分割成不同大小的patch,使得每个阶段的特征图产生等数量的patch。除此之外,把空间相似度高的patch对齐、展平,然后凭借从单一的1D向量。它们通过一个单一的全连接层,以局部化(localized)的方式进行过滤和富集。此外,DFDN通过MLPMixer块混合这些局部语义特征来检测目标;因此,命名为"局部语义特征混合器"(Localized Semantic Feature Mixers)
3.2 Extension for Traffic Object Detection
LSFM 使用了行人的高层语义特征表示,即中心、尺度和偏移表示。在检测头中制定了3个目标,每个目标都用一个专用的子网络进行优化。使用有Fcoal loss的二元交叉熵损失去进行中心预测,以使训练对严重的前后背景不平衡更鲁棒。具体来说,使用焦点损失的α变体[ 19 ],其中α是高斯基惩罚减少项,以减轻中心学习。为了扩展行人检测模型并实现多类目标检测,需要改变检测头部以进行多类分类。此外,尺度和偏移预测分支可以不受影响,因为这些属性可以以类不可知的方式进行学习。对于行人检测,该损失通过对象实例的数量进行归一化,这允许在训练期间对拥挤和更简单的场景进行统一的关注。然而,如果简单地将所有类的损失累加并与实例总数进行归一化处理,则优化结果会偏向于密度较高的类。为了解决这个问题,我们将每个类别的中心损失分别用批次中出现的次数进行归一化。则多目标最终的中心损失方程为:C是类别数量,Kc是一个类的实例数量,和
是惩罚因子和焦点损失,但针对某一类。
3.3 Real-Time Objective Performance
由于自动驾驶需要时间关键的感知,因此目标检测等感知任务需要实时工作,虽然不同领域对实时性的定义不同,但30F P S是自动驾驶情况下可接受的阈值。平均精度( mean average precision,mAP )是目标检测的一个著名的关键性能指标;然而,它与推理时间无关,因此不适合自动驾驶等实时系统。为此,我们提出了实时目标性能( Real-Time Objective Performance,简称mAP ),它是由实时系统的mAP衍生出来的一个关键性能指标。下面的方程表示RTOP与性能p和FPS的关系。p是性能评估,mAP是基本单元,T为实时帧率,b是调整缩放的权重,设置T=30,b=2。
Results
首先验证了在LSFM在变化光照条件下的性能。
4.1 Evaluation on KITTI Pedestrian Benchmark
为了确保公平的比较,KITTI数据集[ 16 ]的测试集在官方服务器上被保留,这些数据集的评估只能通过在官方服务器上的请求来实现。 LSFM [ 15 ]比现有的基于相机的方法有显著的优势,表现出对严重遮挡的鲁棒性。
4.2 Performance at the night Time
运动模糊是造成目标检测器定位不准确的主要因素之一,由于运动模糊是由于相机快门打开时场景的变化引起的。为了评估LSFM [ 15 ]在极端低照度条件下(夜晚)的性能,以及它对强化运动模糊的鲁棒性,我们在Euro City Persons [ 23 ]夜晚数据集上进行了测试。LSFm在夜间合理且较小的情况下性能优于SPNet,但是LSFM和SPNEt在夜间的性能差距小于白天的,这蒸馏了LSFM对强烈运动模型具有鲁棒性
相关文章:

<REAL-TIME TRAFFIC OBJECT DETCTION FOR AUTONOMOUS DRIVING>论文阅读
Abstract 随着计算机视觉的最新进展,自动驾驶迟早成为现代社会的一部分,然而,仍有大量的问题需要解决。尽管现代计算机视觉技术展现了优越的性能,他们倾向于将精度优先于效率,这是实时应用的一个重要方面。大型目标检测…...
优化 - 排序算法
一、概念 冒泡排序从左往右比较相邻的两个元素,右比左小就换位,这样最大值就出现在了右边最后一个元素上,再从左边第一个元素开始往右比较到倒数第二个元素,如此重复...选择排序 通过线性查找(从左往右挨个查找&#…...
Python实战:深拷贝与浅拷贝
1. 引言 在Python中,对象是通过对内存中的数据进行引用来实现的。当我们创建一个对象并将其赋值给另一个变量时,实际上是将这个对象的引用复制给了另一个变量。这意味着,如果原始对象发生改变,引用该对象的变量也会受到影响。为了…...
rollup打包起手式
使用Rollup打包JavaScript rollup是一款小巧的javascript模块打包工具,更适合于库应用的构建工具;可以将小块代码编译成大块复杂的代码,基于ES6 modules,它可以让你的 bundle 最小化,有效减少文件请求大小,vue在开发的时候用的是webpack,但是…...
【笔记】语言实例比较 3. 无重复字符的最长子串 C++ Rust Java Python
语言实例比较 3. 无重复字符的最长子串 C Rust Java Python C C: 9ms O ( N 2 ) O(N^2) O(N2), 8.68MB mem O ( 1 ) O(1) O(1) 滑动窗口循环 class Solution { public:int lengthOfLongestSubstring(const string s) {//s[start,end) 前面包含 后面不包含int res(0);for (…...
int的大小你知道时4个字节,那么类的大小你知道怎么计算吗?
文章目录 1、如何计算类对象的大小2、类对象的存储方式猜测3、结构体内存对齐规则1、如何计算类对象的大小 class A { public: void PrintA() { cout<<_a<<endl; } private: char _a; };问题: 类中既可以有成员变量,又可以有成员函数,那么一个类的对象中包含了…...

OpenCV学习笔记(十一)——利用Sobel算子计算梯度
Sobel算子是基于一阶导数的离散差分算子,其中Sobel对于像素值的变化是十分敏感的,在进行边缘检测的时候,Sobel算子常用于对周围像素的重要性进行检测。 Sobel算子包括检验水平方向的算子和检测竖直方向的算子 计算机梯度值的操作如下&#x…...

扩展一下BenchmarkSQL,新增支持ASE/HANA/DB2/SQLServer,可以随便用了
1 背景 提到数据库的性能,自然就避不开性能测试。有专用于测试OLTP的,也有偏重于OLAP的。本文介绍的BenchmarkSQL就属于测试OLTP中的一个,基于TPCC的。网上有很多介绍TPC*的相关测试的文章,大家可以自行脑补。而PostgreSQL自带的pgbench是属于TPCC的前一个基准测试程序,偏…...
Android 静默安装成功后自启动
近期开发上线一个常驻app,项目已上线,今天随笔记录一下静默安装相关内容。我分三篇静默安装(root版)、静默安装(无障碍版)、监听系统更新、卸载、安装。 先说说我的项目需求:要求app一直运行&am…...
计算机二级真题讲解每日一题:《format格式化》
描述 在右侧答题模板中修改代码,删除代码中的横线,填写代码,完成如下功能。 接收用户输入的一个小于 20的正整数,在屏幕上逐行递增显示从 01 到该正整数,数字显示的宽度为 2,不足位置补 0,后面追…...

RabbitMQ问题
如何实现顺序消费? 消息放入到同一个队列中消费 如何解决消息不丢失? 方案: 如上图:消息丢失有三种情况,解决了以上三种情况就解决了丢失的问题 1、丢失1--->消息在到达交换机的时候;解决࿱…...
flutter->Scaffold左侧/右侧侧边栏和UserAccountsDrawerHeader的使用
//appBar的 leading/actions 和 Scaffold的drawer/endDrawer 冲突只能存在一个 import package:flutter/material.dart;void main() {runApp(MyApp()); }class MyApp extends StatelessWidget {const MyApp({super.key});overrideWidget build(BuildContext context) {retur…...

vulnhub prime1通关
目录 环境安装 1.信息收集 收集IP 端口扫描 目录扫描 目录文件扫描 查找参数 打Boss 远程文件读取 木马文件写入 权限提升 方法一 解锁密钥 方法二: linux内核漏洞提权 总结 环境安装 Kali2021.4及其prime靶机 靶机安装:Prime: 1 ~ Vul…...

JVM快速入门(1)JVM体系结构、运行时数据区、类加载器、线程共享和独享、分区、Java对象实例化
5.1 JVM体系结构 线程独占区-程序计数器(Program Counter Register) 程序计数器是一块较小的内存空间,它可以看做是当前线程所执行的字节码的行号指示器;在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数…...

CSS3新属性(学习笔记)
一、. 圆角 border-radius:; 可以取1-4个值(规则同margin) 可以取px和% 一般用像素,画圆的时候用百分比:border-radius:50%; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8&q…...

41-Vue-webpack基础
webpack基础 前言什么是webpackwebpack的基本使用指定webpack的entry和output 前言 本篇开始来学习下webpack的使用 什么是webpack webpack: 是前端项目工程化的具体解决方案。 主要功能:它提供了友好的前端模块化开发支持,以及代码压缩混淆、处理浏览…...
数据仓库的分层理论
数据仓库的分层理论是为了更好地组织和管理数据,支持复杂的数据分析和决策支持。在这一理论中,数据仓库被分为多个层次,每个层次都有其特定的作用和设计原则。以下是每一层的详细介绍,以及以销售人员为例的Doris建表实例。 ODS层…...

MySQL 8.0-索引- 不可见索引(invisible indexes)
概述 MySQL 8.0引入了不可见索引(invisible index),这个在实际工作用还是用的到的,我觉得可以了解下。 在介绍不可见索引之前,我先来看下invisible index是个什么或者定义。 我们依然使用拆开来看,然后再把拆出来的词放到MySQL…...

Uibot6.0 (RPA财务机器人师资培训第3天 )财务招聘信息抓取机器人案例实战
训练网站:泓江科技 (lessonplan.cn)https://laiye.lessonplan.cn/list/ec0f5080-e1de-11ee-a1d8-3f479df4d981https://laiye.lessonplan.cn/list/ec0f5080-e1de-11ee-a1d8-3f479df4d981https://laiye.lessonplan.cn/list/ec0f5080-e1de-11ee-a1d8-3f479df4d981(本博…...
Eureka和Nacos的关系
目录 它们的比较: 结论: Eureka和Nacos都是服务发现和注册中心,它们在微服务架构中扮演着关键角色,但它们是由不同的组织开发的,服务于类似但不完全相同的目的。以下是它们之间的关系: Eureka:…...

深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...
0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化
是不是受够了安装了oracle database之后sqlplus的简陋,无法删除无法上下翻页的苦恼。 可以安装readline和rlwrap插件的话,配置.bahs_profile后也能解决上下翻页这些,但是很多生产环境无法安装rpm包。 oracle提供了sqlcl免费许可,…...

Linux基础开发工具——vim工具
文章目录 vim工具什么是vimvim的多模式和使用vim的基础模式vim的三种基础模式三种模式的初步了解 常用模式的详细讲解插入模式命令模式模式转化光标的移动文本的编辑 底行模式替换模式视图模式总结 使用vim的小技巧vim的配置(了解) vim工具 本文章仍然是继续讲解Linux系统下的…...

qt+vs Generated File下的moc_和ui_文件丢失导致 error LNK2001
qt 5.9.7 vs2013 qt add-in 2.3.2 起因是添加一个新的控件类,直接把源文件拖进VS的项目里,然后VS卡住十秒,然后编译就报一堆 error LNK2001 一看项目的Generated Files下的moc_和ui_文件丢失了一部分,导致编译的时候找不到了。因…...