自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(691)
  • 资源 (3)
  • 收藏
  • 关注

转载 代码重构终极指南

Martin Fowler曾出版了两本有关重构的书籍,他认为:重构指的是,在不改变代码的外部行为,只改善其内部结构的方式下,修改软件系统的过程。重构是一种有条理的清理代码的方式,可以最大程度地减少引入bug的机会。本质上,重构意味着在代码编写完成后,改进代码的设计。

2024-04-23 09:48:05 260

原创 Linux中V4L2使用

Video for Linuxtwo(Video4Linux2)简称V4L2,是V4L的改进版。V4L2是linux操作系统下用于采集图片、视频和音频数据的API接口,配合适当的视频采集设备和相应的驱动程序,可以实现图片、视频、音频等的采集。在远程会议、可视电话、视频监控系统和嵌入式多媒体终端中都有广泛的应用。

2024-04-22 13:31:25 748

原创 卫星导航简介

本文旨在对卫星导航系统进行简要介绍,包括其基本原理、发展历程以及在现代社会中的广泛应用。文章首先阐述了卫星导航的基本原理,即利用卫星发射的信号进行定位和导航。接着,回顾了卫星导航技术的发展历程,从早期的试验阶段到如今的成熟应用,展示了其不断进步的轨迹。此外,文章还详细介绍了卫星导航系统在交通、军事、农业等多个领域的应用,展示了其在现代社会中的重要作用。最后,总结了卫星导航技术的优势和未来发展趋势,为读者提供了一个全面而深入的卫星导航知识概览。

2024-04-22 13:24:46 724

原创 C++静态变量

C语言中与“静态”相关的词包括,静态全局变量,静态局部变量和静态函数,关键词是static。C语言中的变量从作用域分,可以分为全局变量和局部变量;从存储方式分,可以分为静态存储方式和动态存储方式。

2024-04-22 13:19:15 1046 1

原创 RoadBEV:鸟瞰图中的道路表面重建

本文首次在鸟瞰图中重建道路表面高程,分别提出并且分析了基于单目和双目图像的RoadBEV-mono和RoadBEV-stereo。本文揭示了BEV中单目估计和双目匹配与透视图中的机制相同,但是可以通过缩小搜索范围和直接在高程方向上挖掘特征来改进。在现实世界数据集上进行的全面实验验证了所提出的BEV体积、估计头和参数设置的可行性和优越性。对于单目相机,BEV的重建性能比透视图的重建性能提高了50%。同时,在BEV中,使用双目相机的性能是使用单目相机的三倍。

2024-04-22 09:14:13 803

原创 Ubuntu安装gcc/g++

GCC(GNU Compiler Collection)是由GNU项目开发的一套广泛使用的开源编译器集合。它支持多种编程语言,包括C、C++、Objective-C、Fortran、Ada和其他语言。GCC是一个强大而灵活的编译器,被广泛用于开发各种应用程序、库和操作系统。G++是GCC编译器中用于编译C++程序的前端工具。它支持C++11、C++14、C++17等不同版本的C++标准,并提供了对C++特性的广泛支持。G++通过将C++源代码编译为可执行文件来转换C++程序。

2024-04-22 09:13:01 899

原创 Ubuntu 22.04编译安装ROS noetic

ROS noetic是ROS1的最后一个发行版,它适配了Ubuntu 20.04官方软件源,此后只有ROS2适配Ubuntu的官方软件源,所以如果此后的Ubuntu发行版想安装ROS1,那只能自己行编译安装。

2024-04-22 09:12:26 143

原创 Ubuntu 22.04安装中文输入法

本文旨在详细介绍在Ubuntu 22.04操作系统中安装中文输入法的步骤和方法。我们将从选择适合的中文输入法软件、下载与安装过程、配置输入法设置以及解决可能遇到的问题等方面展开讲解,帮助用户轻松实现在Ubuntu 22.04系统下流畅输入中文的需求。无论你是Ubuntu的新手还是有一定经验的用户,本文都将为你提供清晰、实用的指导,让你能够轻松享受在Ubuntu 22.04上输入中文的便捷体验。

2024-04-15 15:46:47 477

原创 VectorMap论文阅读

自动驾驶系统需要对周围环境具有很好的理解,包括动态物体和静态高精度语义地图。现有方法通过离线手动标注来解决语义构图问题,这些方法存在严重的可扩展性问题。最近的基于学习的方法产生稠密的分割预测结果,这些预测不包含单个地图元素的实例信息,并且需要涉及许多手工设计组件的启发式后处理,以获得矢量化地图。为此,我们引入了一个端到端矢量化高精地图学习pipeline,称为 VectorMapNet。VectorMapNet 采用板载传感器观测,并预测BEV视角中一组稀疏的polyline基元,以对高精地图的几何形状进行

2024-04-15 09:44:10 1110

原创 BEVFormer代码阅读

正负样本的定义用到的就是匈牙利匹配算法,分类损失和类似回归损失的总损失和最小;类回归损失的计算代码如下:这里介绍一下,gt_box 的表示方式,gt_box 的维度是九维的,分别是 [xc,yc,zc,w,l,h,rot,vx,vy];而预测结果框的维度是十维的,所以要对 gt_box 的维度进行转换,转换为的维度表示为 [xc,yc,w,l,cz,h,rot.sin(),rot.cos(),vx,vy]计算类回归损失(L1 Loss)

2024-04-15 09:42:47 834

转载 Sora物理悖谬的几何解释

龙年伊始,Sora横空出世,举世震惊。Sora声称“作为世界模拟的视频生成模型”,豪气干云。有人悲观预言很多传统领域可能被颠覆,其中最为岌岌可危的可能是计算机图形学,短视频和影视娱乐行业。依随OpenAI透露出更多技术细节,很多Sora生成的物理悖谬的视频流传于网络。这里笔者依据现代数学特别是整体微分几何领域的一些观点来解释目前Sora技术路线中的缺陷,希望能够抛砖引玉,为广大AI研究和工程人员拓宽思路,共同促进提高。这里主要用流形嵌入理论、灾变理论(临界态理论)、纤维丛示性类理论、热扩散方程和最优传输方程

2024-04-13 19:48:50 57

原创 Python工具PDB调试器的使用方法

Lib/pdb.pypdb模块定义了一个交互式源代码调试器,用于 Python 程序。它支持在源码行间设置(有条件的)断点和单步执行,检视堆栈帧,列出源码列表,以及在任何堆栈帧的上下文中运行任意 Python 代码。它还支持事后调试,可以在程序控制下调用。在 Python 开发过程中,PDB 调试器是一个非常有用的工具,它可以帮助你快速定位和解决代码中的问题。除了这些常用命令,还有许多其他的命令可以使用,这里就不在一一赘述了。你可以参考对应的官方文档(),来熟悉这些用法。

2024-04-13 19:44:24 1154

转载 自动驾驶中的多目标跟踪(MOT)

在这篇文章里,笔者将试图对自动驾驶中多目标跟踪(Multi-Object Tracking, MOT)领域近几年代表性的论文进行整理,分析各项工作的思路和做法,以便读者能够迅速了解这个领域的前沿动态。顺便,我也对MOT领域的公开数据集、排行榜、评价指标等做了整理,以作为面向初学者或跨行业者的基础知识。我们首先明确一下多目标跟踪的概念。多目标跟踪并不是一个新鲜词,二战期间雷达出现以后,利用雷达对敌方飞机进行跟踪和锁定,就是目标跟踪的早期应用;

2024-04-13 12:17:21 57

原创 鱼眼摄像头畸变校正方法概述

非对称径向畸变是类似于上述的径向畸变效应,但与对称径向畸变不同,非对称径向畸变表征的是依赖于图像中心距离以及被成像对象距离有多远的畸变效应。与以往的径向畸变模型不同,后者是基于点距离图像中心的远近(半径),康拉-布兰特将畸变表征为通过镜头的光的入射角度的函数。在本节中,我们讨论了各种用于鱼眼相机畸变校正的最新方法,旨在将畸变的鱼眼图像转换为经过校正的图像,使其类似于理想针孔相机捕获的图像。通过在大量畸变和未畸变鱼眼图像对的数据集上训练CNNs,它们可以学习预测给定鱼眼图像的无畸变版本的基本模式和关系。

2024-04-13 10:55:05 1069

原创 自动驾驶仿真测试的难点

由于不同国家和地区的车辆行驶环境的差异化,导致测试场景数据的具有很强的地域属性。大家可以想象一下,在美国地区测试完全安全的自动驾驶系统,如果放在中国这样交通环境更加复杂的国家去测试,系统必然会碰到之前没有遇到过的“CornerCase”,那么车辆的安全性将依然是没有保障的。一位仿真专业人士曾在他的文章里讲到过:“在自动驾驶仿真中,是很难有‘参数标定’这个过程的,因为‘真实试验’对安全员有高危性,并且很难执行,因此也就很难调整仿真的参数,没有标定好的参数,又很难预测真实结果,就像个死循环。

2024-04-13 10:46:34 1002

原创 麦肯锡问题分析七步法

在实践中,结合具体的商务案例应用这些步骤,将有助于企业深化对问题的理解,并开发出创新且有效的解决方案。案例分析:针对上述零售企业的问题,公司可能会组建一个跨部门团队,包括销售、市场、产品和财务部门的成员。这一步骤的目的是验证假设的正确性,并进一步细化问题的理解。案例分析:在零售企业的案例中,团队可能会进行市场分析、顾客满意度调查和产品销售数据分析,以识别销售下滑的根本原因。案例分析:零售企业在执行新的市场营销策略后,会密切监控销售数据和顾客反馈,以评估策略的有效性,并在必要时进行调整。

2024-04-12 13:14:59 748

原创 锚框(anchor box)

目标检测算法通常会在输入图像中抽样大量的区域,然后判断这些区域中是否包含我们感兴趣的目标,并调整区域边界,从而更准确地预测目标的真实边界框(ground-truth bounding box)。不同的模型所使用的区域抽样方法可能不同。这里我们介绍其中的一种方法:以每个像素为中心,生成多个缩放比和宽高比不同的边界框,这些边界框被称为锚框(anchor box)。

2024-04-12 11:25:43 874

原创 BEVFormer v2论文阅读

鸟瞰识别模型吸引了人们对自动驾驶的兴趣,因为它们可以自然地将多个传感器的部分原始观测集成到一个统一的整体3D输出空间中。一个典型的BEV模型建立在一个图像主干上,然后是一个视图转换模块,该模块将每个特定的图像特征提升为BEV特征,然后由BEV特征编码器和一些特定任务的头进行处理。虽然在设计视图转换器上投入了很多心血,和不断增加的下游任务并入新的识别框架中,对BEV模型中的图像主干的研究受到的关注要少得多。自动驾驶作为一个前沿、高要求的领域,将现代影像骨干内引到自动驾驶中是顺理成章的事情。

2024-03-23 11:09:20 1144

原创 不要看这些影视作品

这些电影/电视剧很不好看,我帮大家挑出来,以浪费大家时间。

2024-03-23 11:03:35 564

原创 LSS (Lift, Splat, Shoot)论文阅读

计算机视觉算法通常将图像作为输入,并输出与坐标系无关的预测——例如分类——或与输入图像在同一坐标系中的预测——例如目标检测、语义分割或全景分割。这种模式与开箱即用的自动驾驶中的感知算法模式不匹配。在自动驾驶中,将多个传感器作为输入,每个传感器具有不同的坐标系,感知模型最终的任务是在新的坐标系——自车(ego car)坐标系——中产生预测结果,以供下游路径规划器(Planner)使用,如图.2所示。有许多简单、实用的策略可以将单图像范式(paradigm)扩展到多视图场景。

2024-03-17 20:14:03 867

原创 深度学习相关文章

推荐这个Github:机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2)(篇目一是机器学习的资料汇总,篇目二是深度学习的汇总)《Image Scaling using Deep Convolutional Neural Networks》介绍:使用卷积神经网络的图像缩放.《Proceedings of The 32nd International Conference on Machine Learning》介绍:ICML2

2024-03-14 20:42:00 733 1

原创 机器学习算法

在统计学和机器学习领域,线性回归可能是最广为人知也最易理解的算法之一。预测建模主要关注的是在牺牲可解释性的情况下,尽可能最小化模型误差或做出最准确的预测。我们将借鉴、重用来自许多其它领域的算法(包括统计学)来实现这些目标。线性回归模型被表示为一个方程式,它为输入变量找到特定的权重(即系数 B),进而描述一条最佳拟合了输入变量(x)和输出变量(y)之间关系的直线。例如: y = B0 + B1 * x我们将在给定输入值 x 的条件下预测 y,线性回归学习算法的目的是找到系数 B0 和 B1 的值。

2024-03-14 20:40:03 1174

原创 奇异值分解的物理意义

正如本文开头所提到的,奇异值分解应该是本科数学专业线性代数课程的核心部分。除了有一个相当简单的几何解释外,奇异值分解还提供了将线性代数思想应用于实践的极其有效的技术。然而,在本科线性代数课程中似乎经常缺少适当的处理。本文有点印象主义:我的目标是提供一些对奇异值分解背后中心思想的直观见解,然后说明如何充分利用这一思想。更严谨的解释可能很容易找到。

2024-03-14 20:25:22 1188

转载 计算机网络核心概念

计算机网络中的概念非常庞杂,理解起来比较困难,所以这里,我给大家汇总了计算机网络中 89 个常见的概念,希望对你有所帮助。 主机:计算机网络上任何一种能够连接网络的设备都被称为主机或者说端系统,比如手机、平板电脑、电视、游戏机、汽车等,随着 5G 的到来,将会有越来越多的终端设备接入网络。 通信链路:通信链路是由物理链路(同轴电缆、双绞线、光纤等)连接到一起组成的一种物理通路。 传输速率:单位是 bit/s 或者 bps ,用来度量不同链路从一个端系统到另一个端系统传输数据的速率。

2024-03-14 11:18:22 715

转载 有限视角重叠和不准确外参标定下的多相机SLAM的鲁棒初始化

本文提出了一种当相机只有有限的公共视野和不准确的外参标定情形下的用于多相机视觉SLAM系统的鲁棒初始化方法。有限的共同视野导致只有一些特征可以在相机之间匹配上。离线标定后,由于振动或相机错误放置而导致的不准确的外部位姿,使得三角化种子3D点以成功初始化SLAM系统变得更加困难。没有像大多数多相机系统那样将外参设为定值以用于特征匹配和3D点三角化,我们提出将不准确的外参作为软约束来适应标定误差。我们的初始化方法包括在不同相机之间匹配和在两个关键帧之间匹配两个阶段。这两个阶段都涉及优化包含来自不准确标定参数的外

2024-03-14 11:15:51 221

原创 BEVFormer代码运行笔记

注意:根据你的cuda版本选择相应的版本,并注意它们之间的版本依赖关系。把Mini的压缩包都放在同一个目录,例如名为v1.0-mini,然后解压,解压的时候会有一些目录合并。把全量的压缩包都放在同一个目录,例如名为v1.0-full,然后解压,解压的时候会有一些目录合并。把v1.0-mini改名为v1.0-trainval,这样得到的目录是。需要下载TrainVal, Test和can_bus,得到如下文件。需要下载Mini, Test和can_bus,得到如下文件。使用conda创建环境。

2024-03-13 13:16:36 1057

原创 pyinstaller使用笔记

pyinstaller是一个第三方库,它能够在Windows、Linux、 Mac OS X 等操作系统下将 Python 源文件打包,通过对源文件打包, Python 程序可以在没有安装 Python 的环境中运行,也可以作为一个 独立文件方便传递和管理。PyInstaller支持Python 2.7和Python 3.3+。可以在Windows、Mac OS X和Linux上使用,但是并不是跨平台的,而是说你要是希望打包成.exe文件,需要在Windows系统上运行PyInstaller进行打包工作。

2024-03-12 22:13:22 350

原创 DCAI:Data-Centric AI 以数据为中心的AI

想象当中的数据集: usually fairly clean & well-curated (e.g. dog/cat images) 猫就是猫,狗就是狗实际现实生活中的数据集:非常混乱~ https://labelerrors.com/ 比如这个网站里提供了一些人们常用的开源数据集中的错误标签部分两个大佬的meme,乐呵一下Seasoned data scientist: It's more worthwhile to invest in exploring & fixing the data than

2024-03-12 21:54:42 101

转载 数据闭环的核心-Auto-labeling方案分享V2

BEV算法的开发已经到了深水区,各家都投入了大量的精力去做bev的落地开发,其中一块最关键的就是如何高效的完成BEV的数据标注,无论是BEV 3D 目标, BEV 去高精地图 或者是 BEV Occupancy。相比于车端的感知算法,自动标注系统更像是一个不同模块组成的系统, 充分利用离线的算力和时序信息,才能得到更好的感知结果, 实际落地的时候,对于工程师的能力要求上了一个档次,想要把这些大模型大系统玩转的好和高效,也是非常不容易的。

2024-03-12 21:05:30 117

转载 数据闭环的核心-Auto-labeling方案分享V1

在实际工作中,自动驾驶的数据是非常重要的, 如何高效低成本的获得高质量的数据集成为了自动驾驶企业的核心竞争力。随着自动驾驶感知技术的不断发展,对于标注的要求也越来越高,很多标注任务也越来越难。Camera/Lidar 联合标注,3d 语义分割,最近大火的多Camera BEV,如何向特斯拉那样,完成vector space 的自动化标注,目前也没有看到有哪个国内公司能做的。

2024-03-12 21:01:44 76

原创 相机模型Omnidirectional Camera(全方位摄像机)

它是由Geyer和Daniilidis(后来由Barreto和Araujo[8]改进)在2000年开发的,他们的优点是提出了一个包括所有三种类型的中央折反射相机的模型,即使用双曲镜、抛物面镜或椭圆镜的相机。本节的目标是找到场景点的观看方向和其对应图像点的像素坐标之间的关系。Geyer和Daniilidis在2000年发表的具有里程碑意义的论文中指出,每一种折反射(抛物线、双曲线、椭圆线)和标准透视投影都等价于从一个以单一视点为中心的球体到一个以垂直于平面且距离较远的平面为投影中心的平面的投影映射。

2024-03-12 13:36:17 880

原创 BEVFusion论文阅读

融合激光雷达和相机的信息已经变成了3D目标检测的一个标准,当前的方法依赖于激光雷达传感器的点云作为查询,以利用图像空间的特征。然而,人们发现,这种基本假设使得当前的融合框架无法在发生 LiDAR 故障时做出任何预测,无论是轻微还是严重。这从根本上限制了实际场景下的部署能力。相比之下,在BEVFusion框架中,其相机流不依赖于 LiDAR 数据的输入,从而解决了以前方法的缺点。

2024-03-02 22:44:35 975

原创 DETR论文阅读

传统的目标检测任务需要大量的人工先验知识,例如预定义的先验anchor,NMS后处理策略等。这些人工先验知识引入了很多人为因素,且较难处理。如果能够端到端到直接生成目标检测结果,将会使问题变得很优雅。

2024-03-02 21:52:07 990 1

原创 BEVFormer论文阅读

强的backbone依然是涨点的关键Local-attention要不global attention的效果要更好,global attention更加耗时,性能也不太好时序信息的必要,能够有效的提高速度上的指标不建议多任务头,多任务头在3D目标检测表现ok,但是在BEV map的语义分割中性能还是较差。6. 提问Q1:其实纯视觉到底还能走多远?能不能真正的和LiDAR的效果做到一个大差不差的一个性能。

2024-03-01 11:39:25 1065

原创 点云检测网络PointPillar

在此之前对于不规则的稀疏的点云的做法普遍分为两派:一是把点云数据量化到一个个Voxel里,常见的有VoxelNet和SECOND , 但是这种做法比较普遍的问题是由于voxel大部分是空集所以会浪费算力(SECOND利用稀疏卷积解决了它) ,但是二者都还存在高度的信息所以还需要计算三维卷积的。一是从俯视角度将点云的数据进行处理,将高度信息通过一系列手段去除从而获得一种类似Pseudo image的方式从而去用一些经典的图像网络去处理一些任务比如,MV3D和AVOD。

2024-02-28 21:54:19 759

原创 稀疏卷积Sparse Convolution

使用以下稀疏图像作为输入如图所示,我们有一个5×5的3通道图像。除了P1和P2两点外,所有像素都是空,我们称像P1和P2这样的非空点为active input site。在稀疏格式中,数据列表是[[0.1,0.1,0.1], [0.2,0.2,0.2] ,索引列表是[1,2] ,[2,3] ,并且是YX顺序。在卷积过程中卷积核如下定义,每个卷积核是一个3x3矩阵。深色和浅色代表两种滤镜。有两种稀疏卷积。

2024-02-28 21:25:37 672

原创 相机选型介绍

在实践中,偏向于选择微广角或微长焦,用35毫米等效焦距值来初步分析一个镜头的状况是个很好的方法,如果这个值是35毫米,则通常是一个视野和焦距都很适中的镜头,如果这个值是24,则它是一个微广角镜头,如果是48,则是一个微长焦镜头,都是比较常见的。是我们最常说的一个参数,它代表着传感器的尺寸,全画幅自然比半画幅有更高的图像质量,也就是人们常说得底大一级压死人,核心关注的是传感器尺寸,尺寸越大则进光量越大,对画面还原的情况越好,暗光拍摄也会更强,整体质量更优秀。是影响图像质量的重要因素。

2024-02-24 23:59:04 1240

原创 Colmap学习笔记(一):Pixelwise View Selection for Unstructured Multi-View Stereo论文阅读

本文展示一套MVS系统,该系统利用非结构化的图片实现鲁棒且稠密的建模。本文的主要贡献是深度和法向量的联合估计,用光度和几何先验进行像素筛选,多视图几何一致项,该项同时进行精修和基于图片的深度和法向量的融合。在标准数据和大尺度网络图片上的实验证明了其在精度、完善性、效率方面的优异性能。

2024-02-22 19:38:18 447

原创 github使用问题汇总

本文是一篇关于GitHub使用问题的汇总博客,旨在帮助初学者和进阶用户解决在使用GitHub过程中可能遇到的各种问题。博客内容涵盖了从基本设置、仓库操作到版本控制、协作开发等多个方面,包括如何创建和配置GitHub账户、如何创建和克隆仓库、如何处理冲突和合并代码等。通过阅读本文,读者将能够更深入地了解GitHub的功能和操作技巧,提高代码管理和协作开发的效率。

2024-02-07 11:57:32 2861

原创 深度学习中的Droupout

Dropout的作用是防止过拟合。Dropout在训练模型中是如何实现的呢?Dropout的做法是在训练过程中按一定比例(比例参数可设置)随机忽略或屏蔽一些神经元。这些神经元被随机“抛弃”,也就是说它们在正向传播过程中对于下游神经元的贡献效果暂时消失了,反向传播时该神经元也不会有任何权重的更新。所以,通过传播过程,dropout将产生和L2范数相同的收缩权重的效果。

2024-02-06 00:30:43 1291

GitKraken.zip

非常好用的git工具

2021-02-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除