当前位置: 首页 > news >正文

<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是一个类的实例数量,\alpha_{t}FL_{c}是惩罚因子和焦点损失,但针对某一类。

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算子是基于一阶导数的离散差分算子&#xff0c;其中Sobel对于像素值的变化是十分敏感的&#xff0c;在进行边缘检测的时候&#xff0c;Sobel算子常用于对周围像素的重要性进行检测。 Sobel算子包括检验水平方向的算子和检测竖直方向的算子 计算机梯度值的操作如下&#x…...

扩展一下BenchmarkSQL,新增支持ASE/HANA/DB2/SQLServer,可以随便用了

1 背景 提到数据库的性能,自然就避不开性能测试。有专用于测试OLTP的,也有偏重于OLAP的。本文介绍的BenchmarkSQL就属于测试OLTP中的一个,基于TPCC的。网上有很多介绍TPC*的相关测试的文章,大家可以自行脑补。而PostgreSQL自带的pgbench是属于TPCC的前一个基准测试程序,偏…...

Android 静默安装成功后自启动

近期开发上线一个常驻app&#xff0c;项目已上线&#xff0c;今天随笔记录一下静默安装相关内容。我分三篇静默安装&#xff08;root版&#xff09;、静默安装&#xff08;无障碍版&#xff09;、监听系统更新、卸载、安装。 先说说我的项目需求&#xff1a;要求app一直运行&am…...

计算机二级真题讲解每日一题:《format格式化》

描述 在右侧答题模板中修改代码&#xff0c;删除代码中的横线&#xff0c;填写代码&#xff0c;完成如下功能。 接收用户输入的一个小于 20的正整数&#xff0c;在屏幕上逐行递增显示从 01 到该正整数&#xff0c;数字显示的宽度为 2&#xff0c;不足位置补 0&#xff0c;后面追…...

RabbitMQ问题

如何实现顺序消费&#xff1f; 消息放入到同一个队列中消费 如何解决消息不丢失&#xff1f; 方案&#xff1a; 如上图&#xff1a;消息丢失有三种情况&#xff0c;解决了以上三种情况就解决了丢失的问题 1、丢失1--->消息在到达交换机的时候&#xff1b;解决&#xff1…...

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 远程文件读取 木马文件写入 权限提升 方法一 解锁密钥 方法二&#xff1a; linux内核漏洞提权 总结 环境安装 Kali2021.4及其prime靶机 靶机安装&#xff1a;Prime: 1 ~ Vul…...

JVM快速入门(1)JVM体系结构、运行时数据区、类加载器、线程共享和独享、分区、Java对象实例化

5.1 JVM体系结构 线程独占区-程序计数器&#xff08;Program Counter Register&#xff09; 程序计数器是一块较小的内存空间&#xff0c;它可以看做是当前线程所执行的字节码的行号指示器&#xff1b;在虚拟机的概念模型里&#xff0c;字节码解释器工作时就是通过改变这个计数…...

CSS3新属性(学习笔记)

一、. 圆角 border-radius:; 可以取1-4个值&#xff08;规则同margin&#xff09; 可以取px和% 一般用像素&#xff0c;画圆的时候用百分比&#xff1a;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: 是前端项目工程化的具体解决方案。 主要功能&#xff1a;它提供了友好的前端模块化开发支持&#xff0c;以及代码压缩混淆、处理浏览…...

数据仓库的分层理论

数据仓库的分层理论是为了更好地组织和管理数据&#xff0c;支持复杂的数据分析和决策支持。在这一理论中&#xff0c;数据仓库被分为多个层次&#xff0c;每个层次都有其特定的作用和设计原则。以下是每一层的详细介绍&#xff0c;以及以销售人员为例的Doris建表实例。 ODS层…...

MySQL 8.0-索引- 不可见索引(invisible indexes)

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

Uibot6.0 (RPA财务机器人师资培训第3天 )财务招聘信息抓取机器人案例实战

训练网站&#xff1a;泓江科技 (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的关系

目录 它们的比较&#xff1a; 结论&#xff1a; Eureka和Nacos都是服务发现和注册中心&#xff0c;它们在微服务架构中扮演着关键角色&#xff0c;但它们是由不同的组织开发的&#xff0c;服务于类似但不完全相同的目的。以下是它们之间的关系&#xff1a; Eureka&#xff1a…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析

今天聊的内容&#xff0c;我认为是AI开发里面非常重要的内容。它在AI开发里无处不在&#xff0c;当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗"&#xff0c;或者让翻译模型 "将这段合同翻译成商务日语" 时&#xff0c;输入的这句话就是 Prompt。…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是&#xff1a;将一个 Flask Web 应用生成成纯静态 HTML 文件&#xff0c;从而可以部署到静态网站托管服务上&#xff0c;如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中&#xff0c;新增了一个本地验证码接口 /code&#xff0c;使用函数式路由&#xff08;RouterFunction&#xff09;和 Hutool 的 Circle…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局&#xff1a;刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断"&#xff0c;医生需通过显微镜观察组织切片&#xff0c;在细胞迷宫中捕捉癌变信号。某省病理质控报告显示&#xff0c;基层医院误诊率达12%-15%&#xff0c;专家会诊…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式&#xff0c;以r为参数&#xff1a; p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]&#xff1b; 此多项式的根为&#xff1a; 尽管看起来这个多项式是特殊的&#xff0c;其实一般的三次多项式都是可以通过线性变换化为这个形式…...

2.3 物理层设备

在这个视频中&#xff0c;我们要学习工作在物理层的两种网络设备&#xff0c;分别是中继器和集线器。首先来看中继器。在计算机网络中两个节点之间&#xff0c;需要通过物理传输媒体或者说物理传输介质进行连接。像同轴电缆、双绞线就是典型的传输介质&#xff0c;假设A节点要给…...

电脑桌面太单调,用Python写一个桌面小宠物应用。

下面是一个使用Python创建的简单桌面小宠物应用。这个小宠物会在桌面上游荡&#xff0c;可以响应鼠标点击&#xff0c;并且有简单的动画效果。 import tkinter as tk import random import time from PIL import Image, ImageTk import os import sysclass DesktopPet:def __i…...