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

网站建设与维护的试卷/专业排名优化工具

网站建设与维护的试卷,专业排名优化工具,seo搜索优化专员,跨境b2c网站01 算法介绍 自主泊车是智能驾驶领域中的一项关键任务。传统的泊车算法通常使用基于规则的方案来实现。因为算法设计复杂,这些方法在复杂泊车场景中的有效性较低。 相比之下,基于神经网络的方法往往比基于规则的方法更加直观和多功能。通过收集大量专家…

01 算法介绍

自主泊车是智能驾驶领域中的一项关键任务。传统的泊车算法通常使用基于规则的方案来实现。因为算法设计复杂,这些方法在复杂泊车场景中的有效性较低。

相比之下,基于神经网络的方法往往比基于规则的方法更加直观和多功能。通过收集大量专家泊车轨迹数据,基于学习的仿人策略方法,可以有效解决泊车任务。

在本文中,我们采用模仿学习来执行从 RGB 图像到路径规划的端到端规划,模仿人类驾驶轨迹。我们提出的端到端方法利用目标查询编码器来融合图像和目标特征,并使用基于 Transformer 的解码器自回归预测未来的航点。

我们在真实世界场景中进行了广泛的实验,结果表明,我们提出的方法在四个不同的真实车库中平均泊车成功率达到了 87.8%。实车实验进一步验证了本文提出方法的可行性和有效性。

输入:1.去完畸变的 RGB 图 2.目标停车位

输出:路径规划

图片

论文精读博客参考链接:https://blog.csdn.net/qq_45933056/article/details/140968352

源代码:https://github.com/qintonguav/ParkingE2E

02 算法部署后的 demo 效果展示

图片

图片

03 实现过程

3.1 算法整体架构

图片

多视角 RGB 图像被处理,图像特征被转换为 BEV(鸟瞰图)表示形式。使用目标停车位生成 BEV 目标特征,通过目标查询将目标特征和图像 BEV 特征融合,然后使用自回归的 Transformer 解码器逐个获得预测的轨迹点。

3.2 训练过程

注:训练数据集是去完畸变的图像,在数据处理时需要对 4 路鱼眼相机进行标定,获取相机内外参,对鱼眼图进行去畸变,去完畸变的图像会被制作成训练集

获取去完畸变的 RGB 图像和目标停车位做为输入:

(去完畸变的 RGB 图像示例)

图片

目标停车位坐标示例:

{
"x": 83.93134781878057,
"y": -7.080006849257972,
"z": -7.404438257656194,
"yaw": 20.95510451530132
}
  • 使用 EfficientNet 从 RGB 图像中提取特征;
  • 将预测的深度分布 ddep 与图像特征 Fimg 相乘,以获得具有深度信息的图像特征;
  • 将图像特征投影到 BEV 体素网格(特征的大小为 200×200,对应实际空间范围 x∈[−10m, 10m], y∈[−10m, 10m],分辨率为 0.1 米)中,生成相机特征 Fcam。

BEV 视图示例:

图片

  • 使用深度 CNN 神经网络提取目标停车位特征 Ftarget
  • 在 BEV 空间,将相机特征 Fcam 和目标停车位特征 Ftarget 进行融合,获取融合特征 Ffuse
  • 使用 Transformer 解码器以自回归方式预测轨迹点

预测的轨迹序列示例:

[[-0.17014217376708984, -0.010008811950683594], [-0.3298116556863353, -0.011956165423615472], [-0.4854376561367579, -0.02052420170634236], [-0.6337416331734281, -0.03509474854381417], [-0.774850889165686, -0.05409092178920946], [-0.9106318371186677, -0.07662342910150008], [-1.0429499912911764, -0.10220288211346742], [-1.1730293341546085, -0.130403150090076], [-1.3014671109093938, -0.16081194272771432], [-1.4284175031869575, -0.19315076247807056], [-1.5537739117230407, -0.22739195648381574], [-1.6773593831451739, -0.2637573983721455], [-1.7991250198403412, -0.3025803813592571], [-1.9192866870681176, -0.34410827406410627], [-2.0383187092132995, -0.3883681895794497], [-2.1567872059422366, -0.43518302389208097], [-2.275088086162824, -0.4843281463722012], [-2.393198715763861, -0.5357188397161318], [-2.5105481374226417, -0.5894858888356189], [-2.6260817537118184, -0.6458681996255287], [-2.7385546018760474, -0.7049937228225489], [-2.84701611529502, -0.7667346960596122], [-2.9513409844272736, -0.8308041149223722], [-3.0525702187102848, -0.8970783878192974], [-3.1528531887709175, -0.9658913604113011], [-3.25493913830157, -1.0379629359384206], [-3.3612681922638727, -1.1139021444876271], [-3.4725675825974993, -1.193842039192509], [-3.58588491431963, -1.2783030155644421], [-3.69307804107666, -1.3711423873901367]]

实现过程图标表示:

图片

3.3 推理过程

  1. 在 RViz 界面软件中使用“2D-Nav-Goal”来选择目标停车位
目标停车位停车轨迹示例:
position:
x: -6.49
y: -5.82
z: 0.0
orientation:
x: 0.0
y: 0.0
z: 0.0
w: 1.0目标停车位停车轨迹示例:position:x: -6.49y: -5.82z: 0.0orientation:x: 0.0y: 0.0z: 0.0w: 1.0
  1. 获取起始位姿,将以起始点为原点的世界坐标转化为车辆坐标
起始轨迹位姿示例:
position:
x: -0.16161775150943924
y: 0.018056780251669124
z: 0.006380920023400627
orientation:
x: -0.0002508110368611588
y: 0.0008039258947159855
z: 0.010172557118261405
w: 0.9999479035823092
  1. 组合数据输入到 transformer 进行推理,预测轨迹序列
预测的轨迹序列示例:
[[-0.17014217376708984, -0.010008811950683594], [-0.3298116556863353, -0.011956165423615472], [-0.4854376561367579, -0.02052420170634236], [-0.6337416331734281, -0.03509474854381417], [-0.774850889165686, -0.05409092178920946], [-0.9106318371186677, -0.07662342910150008], [-1.0429499912911764, -0.10220288211346742], [-1.1730293341546085, -0.130403150090076], [-1.3014671109093938, -0.16081194272771432], [-1.4284175031869575, -0.19315076247807056], [-1.5537739117230407, -0.22739195648381574], [-1.6773593831451739, -0.2637573983721455], [-1.7991250198403412, -0.3025803813592571], [-1.9192866870681176, -0.34410827406410627], [-2.0383187092132995, -0.3883681895794497], [-2.1567872059422366, -0.43518302389208097], [-2.275088086162824, -0.4843281463722012], [-2.393198715763861, -0.5357188397161318], [-2.5105481374226417, -0.5894858888356189], [-2.6260817537118184, -0.6458681996255287], [-2.7385546018760474, -0.7049937228225489], [-2.84701611529502, -0.7667346960596122], [-2.9513409844272736, -0.8308041149223722], [-3.0525702187102848, -0.8970783878192974], [-3.1528531887709175, -0.9658913604113011], [-3.25493913830157, -1.0379629359384206], [-3.3612681922638727, -1.1139021444876271], [-3.4725675825974993, -1.193842039192509], [-3.58588491431963, -1.2783030155644421], [-3.69307804107666, -1.3711423873901367]]
  1. 将预测的轨迹序列发布到 rviz 进行可视化

图片

04 评估指标

端到端实车评估:在实车实验中,我们使用以下指标来评估端到端停车性能。

图片

关键词解释:

PSR:停车成功率

NSR:无车位率

PVR:停车违规率

APE:平均位置误差

AOE:平均方向误差

APS:平均停车得分

APT:平均停车时间

05 局限性

  1. 由于数据规模和场景多样性的限制,我们的方法对移动目标的适应性较差
  2. 训练过程需要专家轨迹
    .(img-7orUMtby-1731052248424)]

关键词解释:

PSR:停车成功率

NSR:无车位率

PVR:停车违规率

APE:平均位置误差

AOE:平均方向误差

APS:平均停车得分

APT:平均停车时间

05 局限性

  1. 由于数据规模和场景多样性的限制,我们的方法对移动目标的适应性较差
  2. 训练过程需要专家轨迹
  3. 与传统的基于规则的停车方法相比仍有差距

相关文章:

自动泊车端到端算法 ParkingE2E 介绍

01 算法介绍 自主泊车是智能驾驶领域中的一项关键任务。传统的泊车算法通常使用基于规则的方案来实现。因为算法设计复杂,这些方法在复杂泊车场景中的有效性较低。 相比之下,基于神经网络的方法往往比基于规则的方法更加直观和多功能。通过收集大量专家…...

《手写Spring渐进式源码实践》实践笔记(第十七章 数据类型转换)

文章目录 第十七章 数据类型转换工厂设计实现背景技术背景Spring数据转换实现方式类型转换器(Converter)接口设计实现 业务背景 目标设计实现代码结构类图实现步骤 测试事先准备属性配置文件转换器工厂Bean测试用例测试结果: 总结 第十七章 数…...

W3C HTML 活动

关于W3C(万维网联盟)的HTML活动,我们可以从HTML的不同版本的发展历程中了解其主要的活跃时期和贡献。 HTML 2.0:这个版本的HTML是由Internet工程工作小组(IETF)的HTML工作组于1996年开发的。它是HTML的早期…...

机器学习—为什么我们需要激活函数

如果我们使用神经网络中每个神经元的线性激活函数,回想一下这个需求预测示例,如果对所有节点使用线性激活函数,在这个神经网络中,事实证明,这个大神经网络将变得与线性回归没有什么不同,所以这将挫败使用神…...

软考系统架构设计师论文:论软件的可靠性评价

试题四 论软件的可靠性评价 软件可靠性评价是软件可靠性活动的重要组成部分,既适用于软件开发过程,也可针对最 终软件系统。在软件开发过程中使用软件可靠性评价,可以使用软件可靠性模型,估计软件当前的可靠性,以确认是否可以终止测试并发布软件,同时还可以预计软件要达…...

C++:线程(thread)的创建、调用及销毁

在 C 中,线程的管理主要依赖于标准库 std::thread,自 C11 起,这一功能被标准化,使得我们能够更加方便地创建、管理和销毁线程。这里我们详细讲解线程的创建、调用和销毁流程。 1. 线程的创建 创建线程通常是为了在单独的线程中执…...

关于随身wifi,看了再决定要不要买!2024年最受欢迎的随身wifi品牌推荐!

话费、流量费缴纳起来肉疼,毕竟不是每个月都有很大需求,主打一个该省省该花花。特别是短租人群、在校学生、出差或旅游的人群、追求高性价比的人群,随身Wifi特别实用,出门当WiFi,在家当宽带,两不耽误&#…...

SpringMVC总结 我的学习笔记

SpringMVC总结 我的学习笔记 一、SpringMVC简介1.MVC2.SpringMVC概述3. SpringMVC中的核心组件4.SpringMVC核心架构流程 二、SpringMVC框架实例具体实现使用注解实现 四、数据处理及跳转1.结果跳转方式2.处理器方法的参数与返回值处理提交数据数据显示到前端 五、RestFul风格1.…...

DevCheck Pro手机硬件检测工具v5.33

前言 DevCheck Pro是一款手机硬件和操作系统信息检测查看工具,该软件的功能非常强大,为用户提供了系统、硬件、应用程序、相机、网络、电池等一系列信息查看功能 安装环境 [名称]:DevCheckPro [版本]:5.33 [大小]&a…...

数据分析ReAct工作流

让我用一个数据分析项目的例子来展示plan-and-execute框架的应用。这个例子会涉及数据处理、分析和可视化等任务。 from typing import List, Dict, Any from dataclasses import dataclass import json from enum import Enum import logging from datetime import datetime#…...

Rust-AOP编程实战

文章本天成,妙手偶得之。粹然无疵瑕,岂复须人为?君看古彝器,巧拙两无施。汉最近先秦,固已殊淳漓。胡部何为者,豪竹杂哀丝。后夔不复作,千载谁与期? ——《文章》宋陆游 【哲理】文章…...

Flutter鸿蒙next 中的 Expanded 和 Flexible 使用技巧详解

在 Flutter 开发中,Expanded 和 Flexible 是两个非常常用的布局控件,它们可以帮助开发者更加灵活地管理 UI 布局的空间分配。虽然它们看起来非常相似,但它们的功能和使用场景有所不同。理解这两者的区别,能帮助你在构建复杂 UI 布…...

【微信小游戏学习心得】

这里是引用 微信小游戏学习心得 简介了解微信小游戏理解2d游戏原理数据驱动视图总结 简介 本人通过学习了解微信小游戏,学习微信小游戏,加深了对前端框架,vue和react基于数据驱动视图的理解,及浏览器文档模型和javaScript之间的关…...

Python | Leetcode Python题解之第539题最小时间差

题目: 题解: def getMinutes(t: str) -> int:return ((ord(t[0]) - ord(0)) * 10 ord(t[1]) - ord(0)) * 60 (ord(t[3]) - ord(0)) * 10 ord(t[4]) - ord(0)class Solution:def findMinDifference(self, timePoints: List[str]) -> int:n len…...

Zookeeper运维秘籍:四字命令基础、详解及业务应用全解析

文章目录 一、四字命令基础二、四字命令详解三、四字命令的开启与配置四、结合业务解读四字命令confconsenvi命令Stat命令MNTR命令ruok命令dump命令wchswchp ZooKeeper,作为一款分布式协调服务,提供了丰富的四字命令(也称为四字短语&#xff…...

Error: `slot-scope` are deprecated报错解决

本人新手菜鸡,文章为自己遇到问题的记录,如有错误或不足还请大佬批评指正 问题描述 在Vue3环境下使用slot插槽,出现‘slot-scope’ are deprecated报错问题,经过查找发现,是因为在slot插槽使用中,vue2和vu…...

Excel(图例)中使用上标下标

单元格中 1、在Excel单元格中刷黑要设置成上标的字符,如m2中的2; 2、单击右键,在弹出的对话框中选择“设置单元格格式”; 3、在弹出的“设置单元格格式”对话框中选择上标(或下标); 4、最后…...

熔断和降级

目录 隔离和降级 FeignClient整合Sentinel 通过Feign设置服务降级 1.创建类实现FallbackFactory接口,并让这个类和使用FeignClient的接口类绑定 2.让order-service服务的feign开启sentinel 3.测试,只开启order-service服务,而不开启user-…...

【学习笔记】Linux系统基础知识 6 —— su命令详解

提示:学习Linux系统基础命令 su 命令详解,包含通过 su 命令切换用户实例 一、前期准备 1.已经正确安装并成功进入Linux系统 说明:本实验采用的 Redhat 系统(因系统不一致,可能部分显示存在差异) 二、学…...

docker-compose命令介绍

docker-compose命令介绍 docker-compose1. docker-compose是什么2. Compose file format3. 命令3.1 服务相关命令upruncreatestartrestartdownstopkillrmpauseunpause 3.2 镜像相关命令3.3 查看相关命令 docker-compose 学了docker,然后就直接去学k8s了。恍恍惚惚几…...

Spring学习笔记_29——@Transactional

Transactional 1. 介绍 Transactional 是 Spring 框架提供的一个注解,用于声明方法或类级别的事务属性。 Spring事务:Spring学习笔记_28——事务-CSDN博客 当你在一个方法或类上使用 Transactional 注解时,Spring 会为该方法或类创建一个…...

github使用基础

要通过终端绑定GitHub账号并进行文件传输,你需要使用Git和SSH密钥来实现安全连接和操作。以下是一个基本流程: 设置GitHub和SSH 检查Git安装 通过终端输入以下命令查看是否安装Git: bash 复制代码 git --version配置Git用户名和邮箱 bash …...

Flink-Kafka-Connector

Apache Flink 是一个用于处理无界和有界数据的开源流处理框架。它支持高吞吐量、低延迟以及精确一次的状态一致性等特性。Flink 社区提供了丰富的连接器(Connectors)以方便与不同的数据源进行交互,其中就包括了 Apache Kafka 连接器。 Apach…...

远程终端vim里使用系统剪切板

1、本地通过终端远程linux server,由于不是桌面环境/GUI,终端vim里似乎没办法直接使用系统剪切板,即便已经是clipboard。 $ vim --version | grep clipboard clipboard keymap printer vertsplit eval …...

底层视角看C语言

文章目录 main函数很普通main函数之前调用了什么main函数和自定义函数的对比 变量名只为人而存在goto是循环的本质指针变量指针是一个特殊的数字汇编层面看指针 数组和指针数组越界问题低端地址越界高端地址越界 引用就是指针 main函数很普通 main函数是第一个被调用的函数吗&…...

【点云学习笔记】——分割任务学习

3D点云实例分割 vs 3D点云语义分割 1. 功能对比 代码1(实例分割):用于3D点云中的实例分割任务,其目标是将点云中的物体分割成独立的实例。每个实例可能属于相同类别但需要被分开,比如在自动驾驶中的多个行人、汽车&am…...

Qt——窗口

一.窗口概述 Qt 窗口是通过 QMainWindow 类来实现的。 QMainWindow是一个为用户提供主窗口程序的类,继承QWidget类,并且提供一个预定义的布局。包含一个菜单栏(menu bar),多个工具栏(tool bars&#xff0…...

InfluxDB性能优化指南

1. 引言 1.1 InfluxDB的简介与发展背景 InfluxDB是一个开源的时间序列数据库(TSDB),由InfluxData公司开发,专门用于处理高频率的数据写入和查询。其设计初衷是为物联网、应用程序监控、DevOps和实时分析等场景提供一个高效的存储…...

负载均衡式在线oj项目开发文档2(个人项目)

judge模块的框架 完成了网页渲染的功能之后,就需要判断用户提交的代码是否是正确的,当用户点击提交之后,就会交给路由模块的/judge模块,然后这个路由模块就需要去调用jude模块了,也就是需要一个新的jude模块&#xff…...

ssm081高校实验室管理系统的设计与实现+vue(论文+源码)_kaic

毕 业 设 计(论 文) 题目:高校实验室管理系统的设计与实现 摘 要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很…...