- 博客(196)
- 资源 (4)
- 收藏
- 关注
原创 最新激光雷达闭环检测/地点识别算法CVTNet(2023)
CVTNet以激光点云多类投影生成的二维图为输入,利用cross transformer将多类信息交叉融合,为激光点云提取强特异性描述子,实现SLAM闭环检测或全局定位功能。此外,CVTNet生成的全局描述子具备车辆yaw角旋转不变性,提升车辆多视角地点识别精度。各项试验表明,CVTNet达到了SOTA的地点识别精度,且实时性适用于自动驾驶要求。代码地址:https://github.com/BIT-MJY/CVTNet。论文地址:https://arxiv.org/abs/2302.01665。
2023-04-01 10:26:49
731
1
原创 onnxruntime (C++/CUDA) 编译安装及部署
前几天使用了LibTorch对模型进行C++转换和测试,发现速度比原始Python的Pytorch模型提升了2倍。现在尝试以下另一种跨平台的模型转换方式——Onnx,可实现跨X86/ARM架构的迁移应用。本文主要介绍C++版本的onnxruntime使用,Python的操作较容易就不再提及了。一、克隆及编译git clone --recursive https://github.com/Microsoft/onnxruntimecd onnxruntime/git checkout v1.8.0
2022-03-15 15:50:09
26558
18
原创 FAISS C++版本安装教程
FAISS的Python版本安装起来是很快乐的,conda就可以轻松安装。但是C++版本需要花费一点功夫。网上关于C++的教程除了官方以外少之有少,官方教程又过于繁琐,特此整理自己的安装流程,希望帮助到大家。对官方教程感兴趣的,关注:https://github.com/facebookresearch/faiss/blob/main/INSTALL.md预编译按照官方github的要求,首先cmake预编译:cmake -DBUILD_TESTING=ON -DFAISS_ENABLE_GPU=
2022-03-11 11:54:04
7241
7
原创 Github常用License总结(MIT/Apache/GPL)
MIT:比较宽松的许可证是 MIT 许可证,只要用户在项目副本中包含了版权声明和许可声明,他们就可以拿你的代码做任何想做的事情,你也无需承担任何责任。from: https://www.zhihu.com/question/27114031ApacheApache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。需要满足的条件也和BSD类似:需要给代码的用户一份Apache Lic
2022-03-01 13:14:45
3972
1
原创 Github SSH方式避开私有仓密码输入
SSH配置流程:https://blog.youkuaiyun.com/u013778905/article/details/83501204克隆方式:git clone git@github.com:xxx/xxx.gitgit@github.com:xxx/xxx.git来自于:
2022-02-22 18:51:17
672
原创 os.system()中路径包含空格导致无法读取文件
问题os.system()中路径包含空格导致无法读取文件pcd_root = "/media/mjy/My Passport/data/bkp/1208/02/1208_1/02"cmd = "ls " + pcd_root + "/*.pcd >> " + pcd_csv_fileos.system(cmd)将会报错,因为My Passport中间包含空格,导致执行linux系统命令ls的时候被分割开。解决方法在本地新建软连接:ln -s /media/mjy/My\ Pas
2021-12-17 11:32:44
1442
1
原创 git push方法
克隆下来以后进入文件夹git add .git commit -m "doing..."git config --global user.email "xxxx@xxxx"git config --global user.name "xxxx"git push -u origin main若有权限,则需要输入用户名和token
2021-10-18 23:42:03
4002
1
原创 GeForce RTX 3070 with CUDA capability sm_86 is not compatible with the current PyTorch.
此前一直使用tensorflow2最近入坑pytorch配置环境时出现GeForce RTX 3070 with CUDA capability sm_86 is not compatible with the current PyTorch.按照我之前的教程,ubuntu20.04 配置pytorch深度学习环境 + SSD目标检测_一只小菜鸟的博客-优快云博客_ubuntu配置pytorch环境总体流程没毛病,就是显卡过新,CUDA和Pytorch的安装需要注意。按照官网提示:S
2021-10-11 16:27:14
1046
原创 LEGO-LOAM(LOAM)部分公式推导---未完待续
一、featureAssociation相关推导1)高频率里程计位姿累积函数:integrateTransformation void integrateTransformation(){ float rx, ry, rz, tx, ty, tz; AccumulateRotation(transformSum[0], transformSum[1], transformSum[2], -transformCu
2021-07-08 22:25:05
1715
2
原创 VNC远程桌面使用方法
参考:https://blog.youkuaiyun.com/weixin_41803874/article/details/81233789一共两台电脑,分别为服务端和客户端,为与场景联系方便,我们将需要被显示桌面的电脑称为移动端,将显示移动端桌面并进行远程操控的电脑成为遥控端。一、遥控端准备直接下载VNC Viewer,网址为:https://www.realvnc.com/en/connect/download/viewer/根据系统的不同选择不同版本,由于博主遥控端为Ubuntu,因
2021-07-05 00:31:37
77868
8
原创 PCL安装报错error: ‘shared_ptr’ does not name a type
将所有报错的位置的shared_ptr均更换为boost::shared_ptr
2021-06-30 00:01:28
1045
1
原创 BLAM源码解析(五)—— 回环检测
上一节介绍了BLAM的帧间匹配和帧图匹配,代码简洁明了。本节介绍BLAM的回环检测模块。具体代码块如下: // Check for new loop closures. bool new_keyframe; if (HandleLoopClosures(msg_filtered, &new_keyframe)) { // We found one - regenerate the 3D map. PointCloud::Ptr regenerated_map(new
2021-06-28 11:30:37
728
3
原创 BLAM源码解析(四)—— 基于ICP的位姿更新
第三节我们介绍了定时器的定时回调,实现对激光数据的批量循环处理,在每一个激光数据的循环当中,除了一开始filter_的点云过滤,最重要的其实是下面的基于ICP的位姿更新,即 if (!odometry_.UpdateEstimate(*msg_filtered)) {接下来重点关注UpdateEstimate函数,此函数由第一节介绍的里程计模块实现。bool PointCloudOdometry::UpdateEstimate(const PointCloud& points)
2021-06-28 11:01:24
668
1
原创 BLAM源码解析(三)—— 定时器总揽大局
上一节介绍了激光数据的回调,最终被依次推入到容器之中,存储在pcl_pcld_queue。那么激光数据的使用是怎么实现的,就是这一节要介绍的内容。回想第一节我们介绍的定时器estimate_update_timer_,一秒进行20次的回调,进入回调函数BlamSlam::EstimateTimerCallback,接下来介绍此函数。BlamSlam::EstimateTimerCallback此函数位于src\blam_slam\src\BlamSlam.cc,内容如下:void ..
2021-06-28 10:04:37
371
原创 BLAM源码解析(二)—— 从激光回调入手
上一节(https://blog.youkuaiyun.com/weixin_44684139/article/details/118279360)我们介绍了系统各个模块的初始化,加载了许多的参数,创建了许多的发布者,构建了因子图、初始八叉树地图等。本节介绍激光数据回调以后的相关内容。激光雷达数据订阅者建立于src\blam_slam\src\BlamSlam.cc的 pcld_sub_ = nl.subscribe("pcld", 100, &BlamSlam::PointCloudCallb
2021-06-27 22:41:57
432
原创 BLAM源码解析(一)—— 模块初始化
对BLAM在线部分进行解析。blam_slam.cc文件直接进行初始化: if (!bs.Initialize(n, false /* online processing */)) {其中两个参数,n代表ros句柄,false代表不进行日志记录。让我们跳转到BlamSlam.cc,看一下初始化的作用:首先在句柄n的命名空间blam_slam中,附加命名空间BlamSlam:name_ = ros::names::append(n.getNamespace(), "Blam
2021-06-27 22:20:45
1980
1
原创 Github的readme文件链接colab
首先在google drive的的指定colab文件右键“获取链接”如:https://colab.research.google.com/drive/1gq0Qn-_PdKFZFr_LIxd-WWJBT3Mm1TP4?usp=sharing然后在readme文件中写入:[](https://colab.research.google.com/drive
2021-04-27 21:38:46
654
原创 Github的readme文件上传图片并进行排列(居中、同行等)
Github上自述文件引用图片的写法为:图片引用首先上传图片至自己的github仓库,并获取其网址,如:https://github.com/BIT-MJY/Active-SLAM-Based-on-Information-Theory/blob/master/img/1-2.png则在readme文件中引用图片的格式为:<img src="https://github.com/BIT-MJY/Active-SLAM-Based-on-Information-Theory/blob/maste
2021-04-27 21:35:22
5950
原创 基于Mutual Information的Active SLAM《Information-Theoretic Exploration with Bayesian Optimization》
关于论文Information-Theoretic Exploration with Bayesian Optimization的解读和复现
2021-04-23 11:47:24
895
7
原创 PNG/JPG 转 EPS
按住shift右键,在此处打开Powershell窗口然后在终端输入:bmeps -c map1.png map1.eps或bmeps -c map2.jpg map2.eps
2021-04-20 02:38:25
406
原创 Ubuntu20运行OverlapNet
OverlapNet源码:https://github.com/PRBonn/OverlapNet一、设置ubuntu默认使用python3:https://www.cnblogs.com/dancesir/p/14201267.html二、配置深度学习环境https://blog.youkuaiyun.com/weixin_44684139/article/details/109011361三、创建环境注意依赖库版本必须严格根据github对应conda create --name tf5 pytho
2021-03-17 14:10:00
880
6
原创 PCL点云拼接(合并,并非配准)
#include <cmath>#include <vector>#include <string>#include "montage/common.h"#include "montage/tic_toc.h"#include <nav_msgs/Odometry.h>#include <opencv/cv.h>#include <pcl_conversions/pcl_conversions.h>#include &l
2021-03-03 15:57:04
2693
8
原创 pcl安装报错undefined reference to `LZ4_compress_HC_continue‘
报错内容:kdtree.so.1.8.1:undefined reference to `LZ4_decompress_safe_continue’解决办法:/pcl/build/kdtree/CMakeFiles/pcl_kdtree.dir/下的link.txt里在末尾写上:-llz4即:/usr/bin/c++ -fPIC -std=c++11 -pthread -fopenmp -O3 -DNDEBUG -Wl,–as-needed -shared -Wl,-soname,
2021-01-12 12:13:12
3831
3
原创 3D点云标注工具
https://github.com/lcas/cloud_annotation_toolhttps://github.com/walzimmer/3d-bat
2020-12-24 13:29:59
2328
原创 pcl::PointXYZRGB 报错 has no member named ‘__getMD5Sum’
报错内容:/opt/ros/melodic/include/ros/message_traits.h: In instantiation of ‘static const char* ros::message_traits::MD5Sum<M>::value(const M&) [with M = pcl::PointCloud<pcl::PointXYZRGB>]’:/opt/ros/melodic/include/ros/message_traits.h:255:10
2020-12-18 14:48:58
3306
1
原创 PFH点特征直方图及其pcl用法
部分参考:https://blog.youkuaiyun.com/qq_25491201/article/details/51104390表面法线和曲率可以好的代表一个点的几何特征。然而它们算得很快,而且算法简单,但是它们不能捕获细节,它们只是点的近邻的几何特征的近似估计。作为一个直接的结论,大多数的场景往往会包括很多有着相似特征的点,这会减少它们所带来的消息量,也容易造成混淆和错误的匹配。这时候就要一个具备更加丰富信息的特征描述方法——点特征直方图Point Feature HistogramPFH的目标是通过
2020-12-11 12:12:25
1423
2
原创 基于aloam研究ceres的构建方式
aloam相比于loam增加了ceres库自动微分,而不需要手推高斯牛顿,这是非常方便的。对于aloam源码,在laserOdometry中,有关ceres的部分: ceres::LossFunction *loss_function = new ceres::HuberLoss(0.1); // 鲁棒核 ceres::LocalParameterization *q_parameterization = new ceres::EigenQuaternionParamete
2020-11-26 13:33:27
1078
1
原创 ROS多机时间同步
参考:https://blog.youkuaiyun.com/hnlyzxy123/article/details/89528511设备:一台搭载ubuntu18.04的笔记本、一台搭载ubuntu20.04的笔记本(1) 服务器端配置(18.04)sudo apt install ntpsudo gedit /etc/ntp.conf在打开的文件中加入:restrict 192.168.43.0 mask 255.255.255.0 nomodify notrapserver 127.127.1.0
2020-11-20 12:02:24
1874
2
原创 Eigen四元数的坐标变换和坐标系变换
参考:https://www.cnblogs.com/jerry323/p/9097264.html一共有两个机器人,一号和二号。一号位姿 q1 = [0.35, 0.2, 0.3, 0.1],t1=[0.3, 0.1, 0.1]。二号位姿 q2=[-0.5, 0.4, -0.1, 0.2], t2=[-0.1, 0.5, 0.3]。某点在一号坐标系下坐标为p=[0.5, 0, 0.2]。求p在二号坐标系下的坐标。假设在世界坐标系中p点的坐标为P。用四元数做旋转则有(在Eigen
2020-11-19 16:57:01
5364
原创 LOAM编译及遇到的问题
一、依赖库安装首先进行如下依赖库的安装:sudo apt-get updatesudo apt-get install git build-essential linux-libc-devsudo apt-get install cmake cmake-gui sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-devsudo apt-get install mpi-default-dev openmpi-bin openmpi-co
2020-11-15 16:56:18
3375
4
原创 矩阵求导公式(引自维基百科)
1.总体情况2.分子布局(Numerator layout)和分母布局(Denominator layout)首先我们常说 y 对 x 求导,这里的 y 和 均x 默认为列向量,y为(mx1), x为(nx1)(1)分子布局——较为常用y 对 xT 求导,得到mxn的矩阵。比如雅可比矩阵,就是典型的分子布局。雅可比矩阵形式如下:可见y依然是竖向变化的,而横向是对不同的x求导,也就是说x是横向的。所以是y对 xT 求导。(2)分母布局yT 对 x 求导,得到nxm的矩阵。其实此矩阵是分子布局
2020-11-13 17:20:30
10373
ceres-1.14.0-for-eigen.tar.gz
2020-03-15
(管理员身份运行)stop_windows_update.exe
2019-12-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人