
计算机视觉
文章平均质量分 60
神气爱哥
这个作者很懒,什么都没留下…
展开
-
3d gaussian splatting公式推导
nerf中连续的积分渲染公式是:其中:那么转换为离散公式后有:其中,原创 2024-09-22 12:08:28 · 1113 阅读 · 4 评论 -
IMU与轮速计联合初始化
因此,在xy平面上实际上就是轮速计的积分,轮速计积分虽然比较稳定,但是并不是很好,有时候也会飘,而缺乏绝对观测的原因,一旦飘了一点点就再也回不来了,以至于回环的时候有一个很大的偏差。如果直接用它做积分,立马就要飞掉,甚至你都看不出一点点趋势,发散的非常快,以至于还搞出速度用轮速计,角度用IMU这样的不伦不类的融合方式。以前在有gnss信号的情况下,根本就没做初始化,因为绝对观测会把错误位姿纠正回来,但是在地库中就不能这么搞了,所以也让我认识到初始化的重要性,还是不得不做的。,这里说的初始重力方向。原创 2023-12-28 09:28:49 · 1456 阅读 · 4 评论 -
rviz学习
今天学习rviz,实验了贺一家博士的《从0开始手写vio》课件中的生成模拟IMU数据这一章节,代码如下:/* * Copyright (c) 2010, Willow Garage, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following原创 2021-09-19 18:01:05 · 779 阅读 · 0 评论 -
高精地图应用(八)标牌重建
跟踪预测后,已经能建立多帧之间标牌的一致性关系,而每一帧的外参通过前面的定位环节已经确定了,因此只要建立同名点关系,就可以用三角量测把坐标算出来了。有一种办法是采用特征匹配的方法,通过特征点匹配建立同名点关系,而标牌还多一个单应约束,建立最小二乘问题,问题即可解。但本文并不采用这种方法,特征匹配强依赖于特征点的个数,对照片模糊或特征比较少的要素就无能为力了,本文介绍一种更加通用的方法,直接使用目标检测框来做:基于这样的判断:标牌角点投影到各帧图像中与目标检测的角点重投影误差时的位置就是标牌的位置原创 2021-02-05 13:33:52 · 548 阅读 · 1 评论 -
高精地图应用(七)跟踪预测
之前小结关注的是无人车的定位问题,从本小节开始关注的是建图问题,对于点状要素的建图来说,一般是采用三角测量的方法最关键的在于找到前后帧图像的同名点,一种可行的办法是找到前后帧图像的同名要素,比如如何确定前后两帧的标牌是同一个标牌,这就用到了跟踪预测的方法,opencv自带了许多跟踪方法,比如KCF Tracker、CSRT Tracker等,我实验了许多方法,发现都不是很好,总有跟丢的情况,最后采用的是跟踪算法与匈牙利算法相结合的办法,跟踪算法采用的是http://www.cvl.isy.liu原创 2021-02-03 17:46:03 · 492 阅读 · 0 评论 -
高精度地图(五)纵向定位
当横向定位成功后,无人车视野已经被限制住了,这时标牌等视觉要素跟高精地图的标牌只差了一个纵向上的偏差,对于我们人类来说是很容易找到对应关系的。机器找到对应关系也很简单,这个就要用到著名的匈牙利算法,这里就不过多介绍了,请参考别的文章,我们只说过程:1.将高精度地图通过投影到图像上,如上图,这是5个矩形。目标检测同样有5个矩形(红色阴影),于是可以构建二部图接下来就是确定每个标牌投影的矩形与目标检测每个矩形之间的权值,以确定最佳匹配关系,这里就简单使用中心点的位置以及长宽比...原创 2021-02-03 16:32:18 · 1262 阅读 · 1 评论 -
高精地图应用(四)横向定位
这里的横向定位是基于ICP算法的改进实现的3d-3d的配准方法,步骤:1.将单帧重建车道线的形值点,向高精度地图中的车道线做垂足,考虑到不受高程差异的影响,这里是在平面上完成的。求得的形值点与垂足就组成了一对同名点,我将形值点命名为source,垂足命名为target。会生成很多这样的同名点。2....原创 2020-09-10 18:48:15 · 1842 阅读 · 8 评论 -
高精度地图应用(一)自动驾驶初探
以下都是我的个人理解,说的不对的欢迎狂怼。 借用apollo的架构说事: 自动驾驶由这7部分组成:1.感知。就是指传感器的输入,包括激光雷达、视觉图像、GPS、惯导、毫米波雷达等都可以归类为感知。2.地图。就是指高精度地图,它与普通导航地图的最大区别是:高精度地图主要用于定位,是给机器看的。导航地图主要用于路径规划,是给人看的。高精度地图有着20cm绝对精度,5cm相对精度,具有全要素,车道集级等等,在我看来其就是对真实世界的标注而已,跟图像标注没有什么本质区别...原创 2020-07-26 11:13:06 · 823 阅读 · 1 评论 -
外业采集车
高精度地图外业采集车共有4个设备:1.Lidar扫描仪,可以实时获取在扫描仪坐标系下的点云坐标2.GPS+IMU,GPS提供采集车实时世界坐标,IMU提供采集车的实时姿态,这两者提供了采集车实时POS3.全景摄像机,可以提供实时全景影像,实际上是由6台摄像机组成,5台布置在车头,1台布置在车顶,通过融合程序,最后融合到一起成为全景30度照片4.DMI,绑定在车轮上,可以用来计算采集车里程,可以用来...原创 2020-09-15 09:02:33 · 389 阅读 · 0 评论 -
利用半自动化从点云中提取规则多边形
高精度地图一个重要的矢量数据就是交通标志,比如地面的字符、箭头,路边的限速牌等。在我理解看来,交通标志与车道线是同等重要的,因为它是无人车初始定位的重要匹配依据。写到这就扯远了,我今天要讨论的是,如何用交互的方式从点云中提取规则多边形,这篇文章以地面字符箭头为例,也就是矩形的提取。首先,算法输入是已经分类好的初始点云,如下图所示:这里所说的半自动化是需要用户在点云上点一下,以生成一个种子点,作原创 2018-01-20 15:19:06 · 3315 阅读 · 2 评论 -
ros跑通orbslam2遇到的问题
主要参照两个博客:ROS Kinetic安装ORBSLAM2安装在安装中遇到些问题1、安装kinetic失败sudo apt-get install ros-kinetic-desktop-full执行此命令,很快就结束了,我还以为我的网速快呢,原来是公司把端口给限制了,opt下面根本什么都没有,搬回家里运行了2个小时终于装完了。2、编译ORB_Slame2会遇到error: ‘uslee原创 2018-01-15 10:51:38 · 2271 阅读 · 0 评论 -
PCA的数学原理
转载 2018-01-13 11:13:33 · 293 阅读 · 0 评论 -
利用PCA计算点云的法线
我们知道PCA可以用来降维,并使降维后的数据尽可能保持原来的特征。比如二维散乱的点:经过PCA降维后,编程了一维直线,而该直线保证点尽可能分散,变成如下图(跟最小二乘是一样的):具体原理可参考http://blog.codinglabs.org/articles/pca-tutorial.html前面说的是二维降到一维时的情况,假如我们有一堆散乱的三维点云,则可以这样计算法原创 2017-07-07 09:44:20 · 8877 阅读 · 0 评论 -
sfm流程概述
经过一段时间的刻苦钻研,终于摸到SFM的门了,在此把流程稍微捋一下,后续学到新的慢慢丰富吧1)第一步是特征提取,一般采用SIFT算子,因其具有尺度和旋转不变性2)第二步是匹配和建立track,图像对两两匹配,一般采用欧式距离.有两种方法: 粗暴匹配,对所有特征点都穷举计算距离邻近搜索,建立KD树,缩小搜索范围,能提高效率,但也有可能不是最优,所以邻域取值是关键,越大越准确,越大原创 2017-03-16 16:56:14 · 25931 阅读 · 13 评论 -
证明AX=0的最小二乘解是ATA最小特征值对应的特征向量
坑爹的,csdn没法编辑公式,我只能在word上写好截图了。因此,如果能构造AX=0,则最小二乘解就直接求ATA的最小特征解就可以了,这里举一个平面拟合的例子:假如有一束点云,如何从点云里把平面求出来。啥也不说了,上代码吧:Bool ComplanationFit(Navinfo::Engine::Geometries::Coordinate *pPoints, Int原创 2017-02-10 17:16:49 · 9083 阅读 · 3 评论 -
Eigen最小二乘法拟合三次曲线
用osg做了可视化验证,交互点都存在v3d中了,用了三次曲线作为曲线方程,即y= ax3 + bx2 + cx + d,以一组观测值x,y序列去求未知数a,b,c,d,当然观测个数必须大于4#include #include #include #include #include "OrthoManipulator.h"#include using namespa原创 2016-03-17 15:49:39 · 6078 阅读 · 0 评论