自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 1_6 建图定位

例如,我们为估计器节点实例化了几种算法,包括SPP、RTD、RTK、PPP、基于SPP的松耦合(LC)和紧耦合(TC)GINS、基于SPP的Solution/Raw/Raw(SRR)和Raw/Raw/Raw(RRR)GVINS、基于RTK的LC GINS、TC GINS、SSR GVINS和RRR GVINS。在这样的系统中,充分利用全球导航卫星系统的作用是麻烦的,因为公式、误差模型、卫星星座、信号频率和服务类型的选择多种多样,这导致了不同的精度、稳健性和使用依赖性。这些细节为我们的系统带来了非凡的性能。

2023-07-11 16:32:33 261

原创 1_5 Occupancy network

本文不想已经存在的单一任务优化方法,而是构建BEV的时空视频特征并联合推断视觉自动驾驶多任务。之前的任务是目标检测和地图语义分割一起做,之后再进行运动预测,本文中三项任务一起进行并可以平衡任务间的性能;本文与之前任务的差别。

2023-07-01 18:11:00 226

原创 1_7后端优化

所谓Bundle Adjustment可以理解为从任意特征点发射出来的几束光线,它们会在几个相机的成像平面上变成像素或是检测到的特征点。如果我们调整各相机姿态和各特征点的空间位置,使得这些光线最终收束到相机光心,简称BA。对这个最小二乘进行求解,相当于对位姿和路标同时做了调整,也就是所谓的BA。相机投影过程是从一个世界坐标系中的点p出发,把相机的内外参数和畸变考虑进来,最后投影成像素坐标。具体,这里的x指代此时相机的位姿,即外参R,t,对应的李群为T,李代数。y为路标,即三维点p,而z为观测数据,即。

2023-06-01 20:32:34 579

原创 1_5 光流法计算VO(optical_flow)

由于上述的光流公式是一个二元一次方程,欠定的,所以需要引入额外的约束。(2) 在不同图像中寻找特征匹配, 非常耗时 O(n^2) 暴力匹配。(1) 在图像中提取特征点并计算特征描述, 非常耗时 ~10+ms ORB,shift耗时更多;(3) 利用匹配点信息计算相机位姿, 比较快速

2023-05-31 16:20:37 845

原创 1_4 3D点与2D匹配计算相机pose

对于BA方法实际上是通过优化最小误差进行实现,而优化方法可以有多种方式,包括采用高斯-牛顿法、g2o、ceres等工具库,这里介绍高斯-牛顿法和g2o两种方法;直接法可以利用opencv中已有的函数solvePnP(pts_3d, pts_2d, K, Mat(), r, t, false)进行求解;对于已知3D点和2D点的匹配关系,进而计算相机位姿的方法有两大类,一类是直接求解法,包括DLS、PNP等;一类是基于BA的优化方法;为了简化计算,这里将。

2023-05-30 08:51:38 613

原创 1_2 图像与图像间恢复pose

采用opencv的findEssentialMat(points1, points2, focal_length, principle_point)函数可以根据图像匹配点计算出本质矩阵,进而通过opencv的recoverPose(essential_matrix, points1,points2,R,t, focal_length, principle_point)计算出旋转R和平移t。由于2d图像计算出的旋转平移没有尺度信息,所以计算过程中采用了归一化信息,即t的模长为1。

2023-05-29 21:25:06 86

原创 1_Occupancy network

标注数据流需要3D数据库,每个场景包含如下数据,分别是多摄像头的图像序列;除此以外,我们需要人工标注常见目标并选择性标注点级别的语义标签;通过slam实现点云重建,重点将点云和IMU位姿进行联合优化。本文构建了3D占据栅格标注数据流程以及标准数据集,并提出了粗到精的占据栅格网络且性能相较于BEVDet和BEVFormer有一定提升。通过占据点与摄像头连线,得到观测和非观测,没有每扫描到的点也设置为非观测点。确定voxel是否3D占据是非常重要的,评估只是在雷达和摄像头的可观测的部分进行。

2023-05-11 17:45:02 293

原创 1_2 pytorch 调试相关问题

由于网络里连用两个nn.ReLU(inplace = True),由于是inplace操作,所以不产生中间变量,导致backward的时候,缺失这部分需要的变量,测试了将 inplace = False,不行,pass。通过nvidia-smi查看显存占用,通过fuser -v /dev/nvidia*进行nvidia的进程,变量赋值时出现错误,就是不能使用 += 等符号,将其拆开写,测试了下,成功。可能是gpu中的显存被占用没有清空;变量名不能用一样的,不行,pass。

2023-05-09 17:41:07 514 1

原创 1_3 工具使用

2、为jupyter添加新的kernel,将conda通过source activate fuyao1切换到对应的环境,之后。3、在jupyter中使用from argparse import SUPPRESS, ArgumentParser。args = cls._parser.parse_args(args=[]) 需要在括号中添加args=[]) 在对应位置添加默认内容default即可。1、获取jupyter 对应kernel。

2023-05-09 07:37:03 544

原创 1_1torch基础知识

一般参数情况下有学习参数使用nn.Module,其他情况用nn.functional相对更简单一些。其中先看官网安装torch需要的cuda版本,之后安装cuda版本,之后采用pip 下载对应的torch的gpu版本whl来进行安装。6、加载预训练模型,torchvision中有很多经典网络架构,调用起来十分方便,并且可用人家训练好的权重参数来继续训练,也就是所谓的迁移学习。需要注意的是别人训练好的任务跟咱们得可不是完全一样,需要把最后head层改一改,一般也就是最后的全连接层,改成咱们自己的任务;

2023-05-08 19:30:00 548

原创 pytorch onnx install

1 which protoc is1191 pip install onnx1192 which pip1193 python1194 conda install pytorch torchvision -c pytorch1195 python1196 conda install future

2023-04-26 13:50:16 115 1

原创 vision环境安装

vision环境安装

2023-01-17 09:08:26 631

原创 pytorch 与 onnx安装

1、which protoc是按照huan环境变量查找可执行程序;2、ananconda 应该不会安装cuda的不同版本,如果需要不同版本,可以安装多个版本的cuda,程序回到不同的文件路径下去找cuda3、conda install 最好不好加-c 和conda-forge, 因为这个是在该库下装软件,不同的库之间的package可能会有冲突; pip install onnx...

2019-01-03 21:38:29 7204

原创 source.list

# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricteddeb-src [arch=amd64] http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-prope...

2018-12-03 17:23:38 815

原创 CMAKE使用

1 、set   设置名称变量   如set(CMAKE_MODULE_PATH    ${CMAKE_CURRENT_SOURCE_DIR})2、project(DriveworksSDK_Samples  C  CXX)?3、find_package(CUDA  REQUIRED) 该命令用于在固定的目录下查找cmake文件,一般为FindCUDA.camke  CUDAConfig....

2018-11-30 16:51:12 569

原创 CS231N_训练神经网络下_更好的优化(7)

一、优化算法          优化算法有很多中,其中最为简单常见的是SGD(stotastic gradient descent)算法,但该算法也有缺点,即对于高维网络的优化,由于高维的网络会存在很多鞍点,即梯度为零的点,如果学习率不大,就有可能会停留在鞍点而无法再优化,所以一种改进的方法是在随机梯度下降算法的基础上加上了动量(momentum)。          动量实际上就是以一定...

2018-11-07 20:27:18 420

原创 深度学习评价指标

     与目标识别不同,目标检测中不仅仅需要在一张图片中检测到是否含有某物体,还需要将该物体的位置找出来,所以在判定模型的好坏时,就有其标准--mAP一、Mean Average Precision--mAP(一)什么是mAP      平均精度均值(mAP)是预测目标位置以及类别的这一类算法的性能度量标准。mAP对于评估目标定位模型、目标检测模型以及实例分割模型非常有用。   ...

2018-10-31 21:42:20 6731 4

原创 与远程服务器交互相关

1、读远程服务器的图片1)显示远程图片ssh -Y USER@REMOTEeog IMG2)也可以在远程简单临时架个服务器,python2 -m SimpleHTTPServer本地浏览器地址输入 服务器IP:8000 也可以看到图 2、tmux操作         tmux安装 sudo apt install tmux   fonts-powerline,其中fon...

2018-10-20 12:36:11 398

原创 COCO数据集格式

一、COCO数据集JSON文件格式json文件主要包含以下几个字段:<class 'dict'>{    "info": info, # dict     "licenses": [license], # list ,内部是dict     "images": [image], # list ,内部是dict     "annotations": [annotat...

2018-10-13 20:20:41 44977 6

原创 numpy相关

1、np.prod(a, axis=None, dtype=None, out=None, keepdims=False)根据给定的轴计算矩阵元素的乘积。空阵列的产物是元素1:>>> np.prod([])1.0默认情况下,计算所有元素的乘积,即使输入数组是二维的:In [3]: np.prod([[1.,2.],[3.,4.]])Out[3]: 24...

2018-09-20 16:42:02 250

原创 python相关

1、*和**的区别函数的参数为了能够接收可变参数,可在变量前加*或者**。加“*”时,函数可接受任意多个参数,全部放入一个元祖中:def F(*args): print(args)F(123,"456")# (123, '456')加“**”时,函数接受参数时,返回为字典,需要写为如下形式:def F(**kwargs): print(kwargs)F...

2018-09-14 08:14:25 262

原创 git常用命令

Command line instructionsGit global setupgit config --global user.name "chenh"git config --global user.email "[email protected]"Create a new repositorygit clone http://gitlab......local:18080...

2018-09-12 14:29:50 169

转载 摄像头内参与畸变校正关系

相机标定问题已经是比较成熟的问题,opencv提供了比较全面的标定、校正等函数接口。对于opencv中基本是给定畸变图获取校正图,那么为了明白校正和畸变的原理,我们需要知道正确的图如何生成畸变图的。那个,在给定的正确的二维点如何得到畸变图像的点呢?是经过如下公式:在此公式中,假如我们知道了正确的二维点集x'和y',那么经过畸变后就得到了畸变的点集x''和y'',其中畸变的计算是在归一化图像...

2018-09-06 15:43:55 7051 1

原创 vs2010外部全局变量在其它文件使用

1、在cpp文件中定义变量RD_OS_Static_ACCType RD_OS_static_obj;         //static object2、在头文件中添加外部引用声明extern RD_OS_Static_ACCType RD_OS_static_obj;         //static object3、在其它文件中添加该头文件#include "RD_ObjS...

2018-08-03 11:09:26 1694

原创 3C-L3相机校正 calibarion cameras

1、图像校正参数从世界坐标的齐次坐标转换到图像的齐次坐标,最终是获取M。2、采用已知的三维坐标点进行标定相机校正的核心就是已知空间中某些点的三维坐标以及对应的图像像素坐标,并进行计算。3、计算校正矩阵方法--得到方程根据上面像素坐标和三维坐标的关系得到如下:进而变换成齐次方程:首先这是一个齐次方程,这里要对其进行限制,防止得到m为零,同时最小化Am,...

2018-08-03 07:39:03 255

原创 3A-2L图像透视(perspective imaging)

1、透视图像坐标系2、模型投影3、在很远的距离,即Z很大时,当移动相机时这个像素点几乎不变,因为Z的变化很小。4、齐次坐标由于在投影变换中x/z和y/z是非线性的,所以这里用一个技巧就是对坐标进行齐次变换,齐次坐标是一个scale不变的,可以通过除以最后一项得到非齐次坐标。5、图像投影这里f是local length焦距,即投影中心projection ...

2018-08-02 07:42:49 621

原创 三、目标检测

对于一个图像有多个目标,为了将所有目标都检测出来,一种简单的方式是首先训练一个可以通过分类识别目标的网络,之后采用滑动窗口的方式检测每个位置是否是一个目标,这种做法需要滑动步长较小,同时需要窗口的有不同大小才能有比较好的效果,但是计算量非常大。如下:...

2018-08-01 18:09:17 259 1

原创 二、特征点检测

对于特征点检测也可以用定位类似的方法,第一个用于表示目标是否存在pc,后面则是对应n个点的坐标,于是:

2018-08-01 18:00:45 252

原创 一、目标定位

1、目标定位是要求图像中只有一个目标,则构建这个目标的位置信息,如一个网络输出8个值,一个是是否有目标的pc,4个目标位置信息的bx,by,bh,bw,其中bx,by为目标中心点坐标,bh,bw为目标的高和宽,最后3项为目标的类别。如下对于有目标的pc为1,后面的值有意义,如果没有目标,则pc值为0,后面的值没有意义,对于loss function,如果有目标,则可以简单用8项的平方差,当...

2018-08-01 17:42:10 8573

原创 摄像头内外参

1、对于外参有六个自由度,其中三个是平移自由度。如两个坐标系,OA和OB,如果在OA坐标系中的点PA,则在OB坐标系中的点坐标为PB,其中PB=PA+OAB,其中OAB为OA坐标系原点在OB坐标系中的坐标,相当于OBA+OAP向量得到OBP。如图:2、对于世界坐标系下的点转换到摄像头坐标系下矩阵如图:3、对于内参,摄像头是将摄像头坐标系下的点通过针孔模型转换到焦距平面,即f平面,于...

2018-08-01 07:33:52 3104

原创 vbox共享文件

1、在vbox的devices中选择最下面的安装2、在加载的光盘中安装对应的Addition,如果是linux的就安装linux的3、选择devices中的share  folder,选择一个本地的文件夹就可以,之后重启4、此时无法打开这个共享文件夹,因为他的权限是root权限,需要在sudu -s下进行mv操作能够拷贝文件。5、sudo usermod -a -G vboxsf ...

2018-06-29 20:59:45 672

原创 anaconda有些库文件找不到

1、更新conda所有库,命令conda update --all2、如果发现有conda.core ERROR的问题,需要设置权限sudo chown -R 1000:1000 /home/fire/anaconda3

2018-06-26 18:40:58 7107

转载 anaconda安装、更新

anaconda官网下载安装:https://www.continuum.io/downloads/anaconda用法:查看已经安装的包:pip list 或者 conda list安装和更新:pip install requestspip install requests --upgrade或者conda install requestsconda update requests更新所有库co...

2018-06-26 15:09:26 66856 1

原创 ubuntu全系统安装

1、安装ubuntu系统,只需要分两个区即可,一个为swap分区,用8G,一个根分区/2、安装系统后不要通过sudo apt update和sudo apt upgrade更新软件源内容和更新软件,我的感觉的原始14.04的依赖解决的比较好,一旦更新后很多依赖包依赖低版本的,而升级后的包的版本过高,导致很多依赖问题,不过不清楚是否是这个原因,有谁了解请分享一下。3、安装nvidia原生驱动(............

2018-06-23 10:06:17 2048 1

原创 caffe2安装

1、查看cuda和cudnn版本cuda 版本 cat /usr/local/cuda/version.txtcudnn 版本 cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 22、可以讲cuda和cudnn升级到8.0和73、安装caffe2,用conda安装比较方便,如果环境不匹配可以多试几次conda install -c ...

2018-05-26 15:03:32 1690 1

原创 cmake使用介绍

使用cmake作为C++工程的管理编译工具。如编译main.cpp文件的cmake文件如下:cmake_minimum_required(VERSION 2.0)project(hello)add_executable(hellomain main.cpp)此时可以直接在工程文件夹下添加一个build文件,之后编译上一层目录,及cmake ..,此时会生成一个makefile文件以及相关信息,此时...

2018-05-12 17:23:58 263

原创 thread cmake 实现

cmake_minimum_required(VERSION 2.6)   #最小的version需求project(threads) #项目名称 find_package(Boost REQUIRED system thread timer chrono) #寻找相应的Boost REQUIRED的库#find_package(Boost 1.58.0 REQUIRED COMPONENTS s...

2018-05-11 20:13:30 3069

转载 boost signals2库的使用

signals2基于Boost的另一个库signals,实现了线程安全的观察者模式。在signals2库中,观察者模式被称为信号/插槽(signals and slots),他是一种函数回调机制,一个信号关联了多个插槽,当信号发出时,所有关联它的插槽都会被调用。许多成熟的软件系统都用到了这种信号/插槽机制(另一个常用的名称是事件处理机制:event/event handler),它可以很好地解耦一...

2018-05-05 14:31:37 447

转载 Distutils使用介绍

Distutils可以用来在Python环境中构建和安装额外的模块。新的模块可以是纯Python的,也可以是用C/C++写的扩展模块,或者可以是Python包,包中包含了由C和Python编写的模块。 一:Distutils简介1.1概念和术语         对于模块开发者以及需要安装模块的使用者来说,Distutils的使用都很简单,作为一个开发者,除了编写源码

2018-05-02 10:17:22 20126 2

原创 protobuf使用

1.下载protobuf下载地址:http://code.google.com/p/protobuf/downloads/list2.编译protobuf解压下载的zip包,cd到protobuf的目录下,执行以下指令:./configuremakemake checkmake install3.检查安装是否成功protoc --version

2018-04-30 21:46:08 275

图像拼接程序 图像拼接程序

图像拼接程序图像拼接程序图像拼接程序图像拼接程序图像拼接程序图像拼接程序图像拼接程序

2011-06-26

深入浅出MFC 点子啊版的

深入浅出mfc,可以很好学习MFC,其中有很多源程序,用来帮助学习,祝学习愉快!!!!

2011-01-05

图像处理程序 MATLAB

本文事关于图像处理的程序,应用MATLAB软件,有结果分析!

2010-12-04

空空如也

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

TA关注的人

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