<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:…...
idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
智能AI电话机器人系统的识别能力现状与发展水平
一、引言 随着人工智能技术的飞速发展,AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术,在客户服务、营销推广、信息查询等领域发挥着越来越重要…...
Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...
2025年- H71-Lc179--39.组合总和(回溯,组合)--Java版
1.题目描述 2.思路 当前的元素可以重复使用。 (1)确定回溯算法函数的参数和返回值(一般是void类型) (2)因为是用递归实现的,所以我们要确定终止条件 (3)单层搜索逻辑 二…...
