机器视觉
文章平均质量分 86
CurrySerena
这个作者很懒,什么都没留下…
展开
-
运行svo 2.0的 vio时遇到opencv冲突的问题
当我运行如下指令时,遇到了如下问题指令cd svo_wssource ./devel/setup.bashroslaunch svo_ros euroc_vio_mono.launchrosbag play MH_01_easy.bag -s 50运行时遇到的问题OpenCV Error: Bad argument (Unknown interpolation method) in resize, file /build/opencv-L2vuMj/opencv-3.2.0+dfs原创 2022-05-11 18:08:22 · 1329 阅读 · 1 评论 -
使用realsense t265测试svo2.0视觉里程计
毕业三年了,现在是第二份工作,第一份工作已经结束一年半了,这意味着,我有一年半的时间没有搞视觉SLAM相关的东西了,虽然在第二份工作也是做视觉相关的,但是只是用到一些目标识别和跟踪的知识,并锻炼了一下工程实现能力,编程能力,一直是我的一块心病,哈哈,由此可见我不用适合做程序员,至少不会是出色的程序员,但是这毕竟是我一个比较靠谱的职业,他可以让我生活的更好一些,所以,我还是在不断坚持,我去面试视觉SLAM岗位,面试官都会问,你有没有做过什么改进,可笑的是,我只是对一些开源的视觉SLAM代码熟悉一些而已。但是不原创 2022-05-10 17:17:59 · 2378 阅读 · 3 评论 -
玩转带外触发的单目相机之一
背景:去年开始研究vins,但是只是用了普通的相机,然后将IMU和相机粘在一起,然后就是联合标定相机和IMU。VINS使用的相机是带有外触发的,还进行了相机和IMU的硬件时间同步。当时我特别想买个带外触发的相机,一直没找到资源,后来一个我在深蓝学院上课认识的小伙伴,去年保研到深大,目前读研一,我工作学习中的好多问题都是请教他才解决的,我认为一个还没大学毕业的学生,达到这个程度已经很厉害了,在这里感谢我的这位小伙伴,我还一直不知道他的名字。后来他给我发过一个淘宝链接,7rJjtcHixxed打kaἲtaӦ原创 2021-01-07 22:19:55 · 830 阅读 · 9 评论 -
ubuntu16.04安装evo
背景:这已经是我第二次尝试安装evo了,最近因为在bundlefusion加入groundtruth的问题搞的很烦躁,我怀疑是不是我给定的groundtruth是不是不正确,所以我就写python脚本,获取计算生成的位姿数据,写入的groundtruth位姿数据.获取数据后,将数据可视化就成了一个很重要的问题,我还是打算使用evo,所以这次又开始了evo安装的旅程.这次安装,第一次尝试又失败了,后来找到一个博客,根据作者提供的思路,最后安装成功了,步骤是这样的:我的python是3.7版本的1原创 2020-08-05 11:38:07 · 1617 阅读 · 0 评论 -
BundleFusion那些事儿
背景:前面几篇博客中写了很多关于BundleFusion的东西,主要包括bundlefusion的论文阅读笔记,.sens数据集的生成等,经过最近几天的工作,我对bundlefusion又有了新的技术积累,在这里整理一下,也算是理一下思路,然后开始新的工作。1. 生成.sens文件根据在https://graphics.stanford.edu/projects/bundlefusion/下载的.zip的数据集可知,一个数据集中包含,以frame-xxxxxx.color.png的彩色图像,有以fr原创 2020-07-30 20:32:37 · 2785 阅读 · 10 评论 -
解析.sens数据集
python脚本在下面网址中https://github.com/ScanNet/ScanNet/tree/master/SensReader/python一定要使用python2运行此脚本.使用指令如下python reader.py --filename /media/yunlei/YL/DATASETS/ICL_DATABASE/lr_kt0/living_room_traj0_frei_png.sens --output_path /media/yunlei/YL/DATASETS..原创 2020-07-29 14:30:04 · 1036 阅读 · 0 评论 -
将TUM数据集制作成BundleFusion数据集
在上一篇文章中,我写到了如何将TUM数据生成BundleFusion所需要的数据集,生成的数据集如下图中所示.并且是将每一组数据的groundtruth.txt中的位姿数据写如到这里的pose文件中,作为每一帧图像的先验位姿.今天我便将生成的数据集转换为了.sens格式,然后运行bundlefusion算法,第一次尝试很失败,1400张图像,最后只重建出了花瓶的一半,还有几片叶子,我不知道哪里出了问题,首先是检查一下数据格式是不是正确,图像的名称,还有每一组数据集最后的info.txt文件的内容,检查.原创 2020-07-24 17:41:41 · 1233 阅读 · 6 评论 -
TUM数据集制作BundleFusion数据集
BundleFusion的数据集中,在生成.sens文件之前,包括彩色图,深度图和一个位姿文件,并且这个pose文件中的位姿态是有变化的,所以我怀疑,推测,在这个pose文件中可以写入groundtruth的位姿,然后在重建的时候就按照传入的位姿进行计算.为了测试一下效果,我从TUM数据集开始入手,这个数据集中有彩色图,深度图,还有根据时间戳配准后的文件association.txt,还有groundtruth.但是groundtruth中的数据要比association.txt中的数据量多很多,前者更加密原创 2020-07-23 16:58:12 · 944 阅读 · 3 评论 -
python中将四元数转换为旋转矩阵
在制作bundlefusion时,想测试TUM数据集,并且将groundtruth写入到数据集中,TUM中给定的groundtruth中的旋转是使用四元数表示的,而bundlefusion中需要SE3的形式,所以我需要首先将四元数转换为旋转矩阵,然后再将其与平移向量合并在一起,因为我之前关于生成bundlefusion数据集写了一些python脚本,所以这次仍然想在原来的脚本上完成这项任务,所以我就在网上搜索,实现方法,最终我成功解决这个问题的方法如下:最近买了个vpn,所以我可以潇洒的在google中原创 2020-07-22 16:19:35 · 6872 阅读 · 0 评论 -
bundlefusion论文阅读笔记
4. 全局位姿对齐(glob pose alignment)输入系统的是使用消费级的传感器获取的RGBD数据流,并且保证这些数据中的彩色图像和深度图像是时间和空间上都对齐的。图像分辨率是640x480,频率是30hz。我们的目的就是要找到frames之间的3D对应,然后根据这些对应信息找到刚体相机变换Ti。Ti(p) = Rip + ti(Ri为旋转,ti为平移),Ti实现从相机系到世界系的映射。并且将系统的第一帧作为世界系的坐标系。4.1 搜索特征匹配(Feature Correspon...原创 2020-07-12 11:09:09 · 1553 阅读 · 0 评论 -
Failed to load nodelet ‘/kinect2_bridge` of type `kinect2_bridge/kinect2_bridge_nodelet` to manager
之前在我的电脑上配置了libfreenect2和iai_kinect2,现在需要在工控机上重新安装这两个库,讲kinectV2相机安置在婴儿车上,然后使用我的ros下获取kinectV2相机的彩色图和灰度图的脚本,获取深度图和彩色图。我成功的安装了libfreenect2安装iai_kinect2的过程中也没有报错,但是当我要运行roslaunch kinect2_bridge kinect2_bridge.launch时,terminal中重复出现这样的错误:Failed to load nod.原创 2020-07-03 14:09:51 · 2388 阅读 · 2 评论 -
ROS下获取kinectv2相机的仿照TUM数据集格式的彩色图和深度图
准备工作: 1. ubuntu16.04上安装iai-kinect2, 2. 运行roslaunch kinect2_bridge kinect2_bridge.launch, 3. 运行 rosrun save_rgbd_from_kinect2 save_rgbd_from_kinect2,开始保存图像.这个保存kinectV2相机的代码如下,完整的工程可以从我的github上下载 https://github.com/Serena2018/save_color_depth_from_kinect2原创 2020-07-02 17:58:48 · 1194 阅读 · 0 评论 -
ROS获取KinectV2相机的彩色图和深度图并制作bundlefusion需要的数据集
背景: 最近在研究BundleFusion,跑通官方数据集后,就想着制作自己的数据集来运行bundlefusion.KinectV2相机可直接获取的图像的分辨率分为三个HD 1920x1080, QHD: 960X540,SD: 512x424.我选择是中间的分辨率qhd.录制了一段时间我去查看,彩色图和深度图,发现两者的帧数不相同,我就很纳闷了,还想着用什么方法对两个进行同步处理,但是我去查看了一下TUM数据集,发现数据集里面的深度图和彩色图的帧数也不相同,我恍然大悟,在orb-slam2运行tum数原创 2020-06-22 13:38:04 · 1568 阅读 · 1 评论 -
python将ros下bag文件的所有topic解析为csv格式
背景:最近在制作kimera的数据集,尤其是运行semantic模块所需要的bag文件中有很多topic,但是很多不知道topic中装的是什么数据,及其格式,所以我就想着怎么可以将bag中的topic都解析数来,这样就能知道bag中都有啥了.有网友提供了下面的代码,我稍作了些修改,可以在python3下可以顺利运行.如果你的文件夹下有多个bag文件,这个代码可以挨个处理这些bag文件,先为每个bag文件创建一个相应的文件夹,然后把bag文件拷贝进去,然后将bag中的topic都解析为csv格式#.原创 2020-06-21 11:18:51 · 2129 阅读 · 2 评论 -
使用iai_kinect2标定kinectV2相机
实验背景:因为需要制作bundlefusion需要的数据集,所以需要使用kinectV2相机获取rgbd图像,年前的时候在我的笔记本上安装了libfreenect2库和iai_kinect2,标定过一次kinecv2相机,然后使用kinectv2相机实时获取的图像实现elasticfusion稠密重建.但是由于当时时间紧迫,很多东西都没有搞明白,所以趁这次机会将一些问题整理一下,记录一下.环境搭建:1. 安装了ROS的kinetic版本libfreenect2和iai_kinect2的安装参考文原创 2020-06-11 19:13:46 · 1773 阅读 · 6 评论 -
python之moviepy库的安装与使用
目的:因为需要保存一个大大的.mp4视频,以防过程中设备出现异常导致整个长长的视频无法正常保存,所以采用分段保存视频的方式,每500帧保存一段,然后再将视频合到一起.最近刚开始学习python,发现python真的很好用,所以这次就使用python中的moviepy库来完成视频的合并.一.安装moviepy1. 你首先尝试使用 pip install moviepy指令是否可以正常安装moviepy库(我在python2.7上和python3.7上都尝试了这中安装方式都安装不了,所以不得不采用下面这原创 2020-06-04 10:04:16 · 8831 阅读 · 0 评论 -
制作.sens数据集跑通bundlefusion
1. 主要参考这篇博客实现https://blog.csdn.net/Wuzebiao2016/article/details/944269052. 首先就是将自己采集的RGBD图像的保存格式向Bundlefusion需要的格式对齐,如彩色图的命名格式是frame-000000.color.png,深度图的命名规则是frame-000000.depth.png.3. 最重要的事情是如何将你准备的数据生成.sens文件(1)将工程中原始的main函数注释掉,然后换成下面的main函数调用工..原创 2020-06-01 11:23:21 · 2090 阅读 · 8 评论 -
使用ros发布UVC相机和串口IMU数据
1.目的:为了可以标定普通USB相机和固定在相机上的外置IMU的外参,我希望通过ROS获取更高分辨率和更高频率的图像数据,并且可以将图像和imu的topic发布出来,直接使用rosbag record录制话题数据,写入bag文件,这样获得的bag文件直接可以用于相机和IMU的外参标定, 标定工具是kalibr.2. 为了达到上述目的,我首先是完成使用ros发布出来从串口获取的imu数据,目前获取的频率是200hz,也是从网上找到的一个ros中串口通信的小demo, 参考 https://bl...原创 2020-05-23 16:00:40 · 790 阅读 · 0 评论 -
mynt product model: D1000-IR-120标定相机和IMU外参之二
1. 在之一中使用kalibr标定mynt相机和内置imu的外参数,使用的是720p,30fps的双目图像和200hz的imu数据,标定结果误差比较大,这一次我们改用480p,60hz的双目图像和200hz的imu数据进行标定,需要在mynt_sdk中的mynteye.launch中进行如下修改.默认获取图像的2560x720,30fps,可以在<argname="stream_mode"default="$(arg stream_2560x720)"/>处修改图像分辨率,如果分辨率改...原创 2020-05-15 11:18:46 · 675 阅读 · 1 评论 -
mynt product model: D1000-IR-120标定相机和IMU外参
1. 首先是安装相应的mynt SDK.http://www.myntai.com/mynteye/depth小觅官网,在sdk下拉菜单中点击MYNT EYE Depth SDK,然后选择Linux Installation 安装安装步骤说明一步步的安装,安装sample后,测试一下安装是否成功.我的电脑上安装了ROS,所以可以点击上面第一幅图中的ROS Installation,主要是操作下面这些步骤,尤其是RViz Display和Publish,launch文件在/hom...原创 2020-05-13 12:08:05 · 742 阅读 · 0 评论 -
VI-ORB环境配置
参考博客:https://blog.csdn.net/qq_38589460/article/details/82559816https://blog.csdn.net/Robot_Starscream/article/details/90245456我电脑上安装的是OpenCV-3.3.1,但是代码需要的是opecv-2.4.3,所以为了避免opencv的卸载和安装,我就使用了编译好的o...原创 2020-05-09 19:07:29 · 411 阅读 · 0 评论 -
slam 常用数据集的帧率
1. kitti数据集的帧率约约为10fps,图像分辨率为1241x3762. Euroc数据集的帧率约为20fps,图像分辨率为752x4803.TUM数据集的帧率约为30fps, 图像分辨率为640x360zed相机获取的HD图像的分辨率为1280x720p,获取的VGA图像分辨率为672x376,mynt相机获取的VGA图像的分辨率为640x480...原创 2020-04-16 13:07:52 · 1516 阅读 · 0 评论 -
双目相机去畸变和极线平行操作
class StereoMatch{public: StereoMatch(void); virtual ~StereoMatch(void); int init(int imgWidth, int imgHeight, const char* xmlFilePath); int bmMatch(cv::Mat& frameLeft, cv::Ma...原创 2019-12-28 21:08:59 · 378 阅读 · 0 评论