![](https://img-blog.csdnimg.cn/faf01db3f65e4f95851656963da26391.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
━═━═━◥ MR ◤━═━═━
文章平均质量分 87
以实战为线索,VR与AR混合开发,包括视觉SLAM和计算机视觉相关
极客范儿
技术决定下限,审美决定上限
展开
-
SolidWorks上手直接开整
本科学3D建模的时候,学习过犀牛Rhine,当时就惊叹于入籍紧密集成的可视化编程环境,后来又简单学习过了3DMax、Maya,平时使用的频率不多,所以还是初学者水平,现在课题组需要自研一个原型机,需要工业级的曲面建模,所以开始尝试接触SolidWorks,希望这次接着项目的机会能够更加深入学习建模。接着,点击特征工具栏,熟识特征工具栏的命令,这些是对草图进行特征编辑的功能,比如拉伸,切除,旋转,扫描等。打开solidworks,新建零件图,首先,你需要明白,任何草图的绘制都需要先选择基准面。原创 2024-04-10 20:29:20 · 953 阅读 · 0 评论 -
ORB-SLAM3运行自制数据集进行定位教程
目前手上有一个特定的任务,做应急救援的视觉SLAM,目前公共数据集比较少,考虑自建数据集,从网络上爬虫火灾、地震的等手机录制的视频,应用一些现有成熟ORB-SLAM3系统到这个数据集上看效果,然后根据效果得到一些模型改进思路。首先制作相机标定文件,然后使用Cmake工程结合ORB-SLAM3,接着爬虫获取智能手机录制应急救援场景的视频文件,对应时间戳信息,将视频分成多帧图片,最后得到自制数据集。原创 2024-02-12 10:47:05 · 1084 阅读 · 0 评论 -
2023年度学习总结
我被CSDN认证为博客专家啦!这也算是C站对我创作能力的认可。从大一开始在CSDN写作,坚持至今。刚开始写博客只是当作一个学习笔记,把学到的东西记录下来,方便以后重复学习。渐渐地,随着写技术的深度增加,访问量也越来越多,自己的写作能力也慢慢地有所提高。就这样,访问量的提高,粉丝的好评,也让自己的自信心逐渐提高,于是形成了一个良性循环,从而越写越好,越写越多。C站记录了我关于技术的成长,之后的计划是出版一本关于技术的书。十年饮冰,难凉热血。学以致知,然后学以致用。幸运的是,曾经的菜鸟像鸵鸟一样把头扎进沙漠,原创 2023-12-31 15:00:28 · 1589 阅读 · 0 评论 -
INDEMIND双目视觉惯性模组实时生成点云并保存点云图
目前最近的SDK版本是1.4.2,这个相机成本便宜,有硬同步的IMU,频率也够高,自带标定,对于目前我只做视觉SLAM定位足够用了。然而封库,其他各种依赖库要跟着SDK的库,OpenCV不使用ROS自带的版本,使用单独版本3.4.3等等。这个SDK组织得真的是一言难尽,所以分析SDK中实时显示点云图代码并加以改进,记录下学习的过程。原创 2023-06-26 11:30:35 · 957 阅读 · 0 评论 -
2023年“兆易创新杯”第十八届中国研究生电子设计竞赛有感
今年的电赛给我的感觉是时间真的紧张,可能是因为去年有疫情原因影响所以能准备的时间到七月份,今年不到月底就要全部出成品。我们团队一直在自研一款增强现实眼镜,从硬件设计到软件实现全部由我和另外两个小伙伴一起完成,所以就把我们做出来的原型机的一部分拿出来改了改参赛了。原创 2023-06-25 12:02:32 · 1120 阅读 · 2 评论 -
INDEMIND相机ROS bag包数据的回放
实验需要IMU相机,跑算法是在ROS下跑,在 ROS 系统中,可以使用 bag 文件来保存和恢复系统的运行状态,比如相机话题的 bag 包,然后回放用来进行联合外参标定,也可以使用EVO工具显示算法轨迹,这里记录下我学习官方的 rosbag 教程的笔记。原创 2023-06-22 21:47:27 · 631 阅读 · 0 评论 -
Ubuntu18.04安装EVO工具教程
EVO工具全名为“Python package for the evaluation of odometry and SLAM”,使用Python写的轨迹评估工具,目前在SLAM领域论文中的“使用率”逐渐上升,可以说已经成为了作为SLAMer一定要会用的工具。最近需要使用evo工具评测SLAM算法性能并可视化结果所以加以记录。原创 2023-06-06 17:28:02 · 1595 阅读 · 2 评论 -
Unity API详解——Time类
Time类是Unity中获取时间信息的接口类,只有静态属性。本博客介绍Time类的一些静态属性。原创 2023-06-01 16:34:50 · 837 阅读 · 0 评论 -
Unity API详解——Rigidbody类
Rigidbody类的功能是用来模拟GameObject对象在现实世界中的物理特性,包括重力、阻力、质量、速度等。对RIgidbody对象属性的赋值代码通常放在脚本的OnFixedUpdate()方法中。本博客主要介绍Rigidbody类的一些实例属性和实例方法,最后对Rigidbody类中功能相近、关联性较强的API之间的关系进行了注解。原创 2023-05-10 21:50:47 · 717 阅读 · 0 评论 -
Unity API详解——Random类
在Random类中,涉及的静态属性有insideUnitCircle属性、insideUnitSphere属性、onUnitSphere属性、rotationUniform属性、rotation属性和seed属性。由于属性insideUnitCircle、insideUnitSphere和onUnitSphere功能相近,属性rotationUniform和rotation的功能也相近,于是把它们放到一起介绍,接下来详细介绍这些属性。原创 2023-05-01 16:30:52 · 2106 阅读 · 1 评论 -
Unity API详解——Quaternion类
Quaternion类又称四元数,由x、y、z和w这4个分量组成,属于struct类型。在Unity中,用Quaternion来存储和表示对象的旋转角度。Quaternion的变换比较复杂,对于GameObject一般的旋转及移动,可以用Transform中的相关方法实现。本博客介绍Quaternion类的一些实例属性、静态方法和运算符,并对Quaternion类相乘运算符“*”的两种重载格式在功能上的异同进行了简要的注解。原创 2023-04-28 11:40:37 · 1859 阅读 · 0 评论 -
INDEMIND双目惯性模组运行实时ORB-SLAM3教程
现在实验室视觉SLAM已经不够满足,所以需要多模态融合,正巧购入高翔博士推荐的INDEMIND双目惯性模组,根据官方例程在中使用ROS接入ORB-SLAM3,这回有SDK及ORB-SLAM3安装过程中的各种常见性问题解决方法及安装细节,与官网教程略有不同,列举所有默认安装的依赖,做以记录。原创 2023-04-21 20:13:52 · 1189 阅读 · 9 评论 -
2023年“挑战杯”大学生课外学术科技作品竞赛有感
今年大家的学术热情都十分高涨,以前本科的时候参加过小挑,商业性更强,大挑能参加的项目更丰富,更加注重科技创新能力。本次比赛感觉小论文的内容还能继续丰富,于是就拿最近的一项专利投了。首先写了作品申报书,因为最近一直在做元宇宙的应用,所以又手搓了一个Unity融合多传感器的项目……原创 2023-03-25 11:00:29 · 1183 阅读 · 0 评论 -
详谈ORB-SLAM2的回环线程LoopClosing
ORB-SLAM2的回环线程LoopClosing分为2个步骤,非常简单。回环线程第一步是检测回环,就是因为局部建图线程使用关键帧结束后,把关键帧传给回环检测线程,所以两个之间也是有缓冲队列的。第二步就是闭环校正。回环检测的主函数也是一个`无限循环`,不断检测是否出现新关键帧,缓冲队列中检测新的关键帧是否出现闭环,如果形成闭环,那就计算闭环关键帧与闭环关键帧参考的对应场景,两帧之间的匹配关系,做一个相似变换。实际上对于双目相机来说是一个刚体变换,单目相机运行时间久导致基线消失,尺寸会漂移,所以中间会产生一个原创 2023-02-05 21:45:35 · 1050 阅读 · 0 评论 -
详谈ORB-SLAM2的局部建图线程LocalMapping
ORB-SLAM2的局部建图线程LocalMapping分为5个步骤,非常简单。当得到缓冲队列里的关键帧,第一步处理当前关键帧的地图点关系等;第二步判断地图点是否为新创建,如果是那就进入测试,测试地图点的好坏,如果不好的地图点就舍弃;第三步创建新地图点,这里创建的是局部地图(真正会被注册到环境变量的里面的局部地图),trakcing的局部地图只用来跟踪使用;第四步进行局部的BA优化;第五步删除掉冗余的关键帧。在ORB-SLAM2中创建的局部地图点这些都是从头开始创建的,根本没有利用到tracking线程里面原创 2023-02-01 16:37:18 · 649 阅读 · 0 评论 -
详谈ORB-SLAM2的跟踪线程Tracking
ORB-SLAM2的三大线程几乎都是每个部分对应一个函数,非常清晰。函数名起的都十分贴切,望文就能生义,我们更应该关注的是里面的关键帧地图点这些变量是怎么流转的。Tracking线程的流程就是:首先输入一帧图像,然后实际上接着进行5步。初始化(实际上相机刚开始需要初始化过程)、图像预处理(提取ORB特征点)、初始位姿估计(根据前一张图片或者附近的一张图片估计当前帧的位姿)、基于当前帧的位姿构建当前帧的局部地图(当前帧附近的很小的一部分地图)、是否生成新的关键帧。原创 2023-01-28 16:17:03 · 890 阅读 · 0 评论 -
详谈ORB-SLAM2的单目初始化器Initializer
单目初始化器Initializer类,这个类只用于单目初始化,因为这是ORB-SLAM里遗留的一个类,也是祖传代码,双目和RGBD相机只需要一帧就能初始化,因为双目和RGBD相机拍到的点都是有信息的,但是单目相机就不一定了,单目相机必须至少有两副图像才能初始化,对单目初始化器来说有两个帧,一个是参考帧,另一个是当前帧,这是连续的两帧。原创 2023-01-17 21:37:38 · 821 阅读 · 0 评论 -
2022年度学习总结
2022年有焦虑也有成长,记录和总结也是成长的一部分。这一年,我也努力在不确定性中做一些确定的事情,感恩被保护的三年,三年清零抗疫结束,做好自己健康的第一责任人。研一半个学期在网课或者封校中度过,我们抓不住未来,但守得住现在,疫情偷走时间,但也别让它偷走青春,感谢所有人的坚守和努力,疫情终将散去,繁华必将如常! 2022年的初雪鹅毛一般,雪下的真不小,量化自己的经历,记录一下自己一年来的学习成果,回顾过去,展望未来,我将从工作成长、生活娱乐和身体健康三个方面进行总结。原创 2022-12-31 22:56:12 · 841 阅读 · 0 评论 -
详谈ORB-SLAM2的关键帧
关键帧是ORB-SLAM2地图里面重要的组成部分之一。关键帧中要重视的两部分:共视图和生成树。共视图和生成树都是来描述关键帧权重关系的,不同之处在于共视图更为稠密,而生成树更为稀疏。ORB-SLAM2论文中的描述图,蓝色表示关键帧,黑色和红色部分表示特征点,绿色的实际上是一条条线,每条线表示附近的两个关键帧的共视关系共视图仅作为参考用,在做优化的时候不会选择共视图。优化共视图是耗时严重的线程,而且优化共视图的时候要给其它变量加锁,其它线程无法工作,所以进一步导致了优化共视图是一个很长、很复杂的过程。就原创 2022-12-08 11:10:21 · 1330 阅读 · 0 评论 -
2022VR高级研修班总结
本人有幸参加2022VR高级研修班,此次高级研修班由赵沁平院士和丁文华院士领衔,全国知名专家及长期在相关领域从事产业、管理、科研工作的专家参与,带来了18个专题讲座,内容涵盖虚拟现实技术与系统现状与发展、产学研合作与产业协同创新发展,虚拟现实科学技术体系和产业发展与科技支撑保障研究,聚焦于VR领域的新理念、新技术,为广大虚拟现实开发者提供了一场学术盛宴,大咖云集干货满满,给我未来的科研道路发散了思维,开阔了眼界。经过数天的付出,高级研修班接近尾声,回想起来,此次培训真实感触颇深,受益匪浅。其中沈旭昆教授原创 2022-11-28 21:35:51 · 656 阅读 · 4 评论 -
第七届信息类研究生学术论坛参赛有感
因为疫情不仅感叹时光飞逝,上了大半年的网课再次回到校园已经有师弟师妹了。今年的研究生学术论坛更卷了,入围了88项作品。这次科研作品征集研究生在学期间信息类相关研究成果,鼓励实物参展,包括软件系统、硬件系统等,也欢迎高水平学术论文、发明专利等参与交流。优秀科研作品展示并评选出一、二、三等奖,获奖比例在60%以上,地点瀚学楼10层大厅,获奖作品将进行线上宣讲。获奖率在70%,今年因为竞赛异常火爆,控制在60%,但依旧有很多队伍参加。原创 2022-11-19 10:12:56 · 503 阅读 · 0 评论 -
详谈ORB-SLAM2的帧
ORB-SLAM2中帧分为两个部分,帧和关键帧。相机每次接收到一帧图像(双目或RGB-D接收两张图像)构成一帧,关键帧是来自于普通帧,普通帧只能解决当前帧的相机位姿和跟踪状态,只有被选为关键帧,才能决定回环检测、局部建图等工作。普通帧只能解决当前帧的情况,而关键帧可以对整个系统的后续产生影响,了解了普通帧和关键帧的区别能让我们更好的理解ORB-SLAM2算法的代码。原创 2022-11-08 21:11:27 · 1077 阅读 · 0 评论 -
Ubuntu 16.04/18.04上配置ORB-SLAM2环境记录
最近做视觉SLAM时需要配置ORB-SLAM2,ORB-SLAM2是单目视觉SLAM算法中性能优越的解决方案之一,而且还能继续复习下Linux指令,为此做个记录。原创 2022-11-07 21:41:12 · 866 阅读 · 0 评论 -
详谈ORB-SLAM2的地图点MapPoint
ORB-SLAM2中维护的是局部建图,在项目里所谓的地图就是两个数组:特征点数组和关键帧数组。所有关键帧和特征点的结合就是地图信息,所以在ORB-SLAM2中最重要的两个部分就是和。这两个部分在设计上非常像,代码重复率很高。原创 2022-10-24 11:00:21 · 1125 阅读 · 0 评论 -
详谈ORB-SLAM2的特征点提取器ORBextractor
ORB-SLAM2的三大线程中用的类和变量,一个图像输入,最先进行处理的变量就是ORBextractor(),ORB特征提取器。使用了图像金字塔,越往上图像越小,等级(Level)越高, 所以提取同样的特征点的话特征点本身也就越大,暗含的意思就是特征点对应在地图上,在三维结构上里相机更近,Level 1就是把Level 0缩小了,Level 2就是把Level 1缩放,……一层层的缩放关系,原创 2022-10-11 21:30:39 · 913 阅读 · 3 评论 -
HoloLens2的彩色和深度数据流通过主机获取
关于HoloLens 2设备提供了研究者模式,便于开发者访问传感器的原始数据,进行科研开发,本博客根据github项目在线获得图像数据,但是目前达不到实时传输的效果,延迟很高,期望以后的深入学习可以解决。原创 2022-09-26 21:35:34 · 2111 阅读 · 6 评论 -
使用HoloLens 2调用深度相机和前置摄像头
实验要在HoloLens 2上做仿真,HoloLens的SLAM做得很好,它的SLAM过程中是没有用深度相机的,完全依靠左右两侧的4个鱼眼相机,深度相机只在场景建模时候用。HoloLens和人眼的解决方案一样,分两个阶段,先是把场景里3D点的位置确定出来,后面的跟踪就只用特征点的图像坐标和IMU来处理。HoloLens 2研究者模式可以访问深度摄像头、灰度摄像头和IMU上的原始流数据。原创 2022-09-20 08:40:53 · 1894 阅读 · 2 评论 -
R语言基础
R作为一门统计语言,其灵活性不言而喻。由于课程要求,两个都进行使用,但是Matlab用的更加熟练一些。如果单纯把它当一门语言去学习,会发现它并没有什么优势。所以,学习R最好得有统计学的相关知识,否则不如学习其他语言。R最让人着迷的地方是,它有很多统计学牛人编写的R包,这极大丰富了R语言本身。1、安装包和加载包R和Python一样,功能强大是因为R具备丰富的功能包。在R中使用一下packages命令安装一个新的包,比如ggplot2包,注意:包的名字需要用引号括起来。install.packages("原创 2021-06-10 15:07:32 · 226 阅读 · 0 评论