单眼视觉测距法:通过ORB关键点进行简单的单眼视觉测距法(vSLAM的一部分),具有初始化,跟踪,局部地图和包调整功能。 (警告:您好,很抱歉,此项目仅针对课程演示进行了调整,不适用于实际应用!!!)

上传者: 42130889 | 上传时间: 2022-11-28 15:02:23 | 文件大小: 86KB | 文件类型: ZIP
单眼视觉测程 具有4个组成部分的单眼视觉里程表(VO):初始化,跟踪,局部地图和束调整。 阅读《灌篮高手》后,我做了这个项目。 这也是我于2019年3月在NWU开设的EESC-432 Advanced Computer Vision课程的最终项目。 演示: 在上图中: 左侧是视频和检测到的关键点。 右侧是与左侧视频相对应的摄像机轨迹:白线来自VO;白线来自VO。 绿线是事实。 白线上的红色标记是关键帧。 点是地图点,其中红色的点是新三角剖分的。 您可以在此处下载。 报告 我的pdf版本课程报告在。 与本自述文件相比,它对算法的描述更为清晰,因此我建议阅读。 目录 1.算法 通过以下过程/算法来实现此VO: 1.1。 初始化 估计相对相机姿势: 给定视频,将第一帧(图像)设置为参考,并与第二帧进行特征匹配。 计算两个帧之间的基本矩阵(E)和单应矩阵(H)。 用的方法计算它们的对称传递误差,然后选择更好的一个(即,如果H /(E + H)> 0.45,则选择H)。 将E或H分解为两个帧之间的相对姿势,即旋转(R)和平移(t)。 通过使用OpenCV,E给出1个结果,H给出2个结果,满

文件下载

资源详情

[{"title":"( 63 个子文件 86KB ) 单眼视觉测距法:通过ORB关键点进行简单的单眼视觉测距法(vSLAM的一部分),具有初始化,跟踪,局部地图和包调整功能。 (警告:您好,很抱歉,此项目仅针对课程演示进行了调整,不适用于实际应用!!!)","children":[{"title":"Monocular-Visual-Odometry-master","children":[{"title":"python_tools","children":[{"title":"undistort_all_images.py <span style='color:#111;'> 1.43KB </span>","children":null,"spread":false},{"title":"rename_image_filenames.py <span style='color:#111;'> 1.40KB </span>","children":null,"spread":false},{"title":"calibrate_camera.py <span style='color:#111;'> 1.95KB </span>","children":null,"spread":false}],"spread":true},{"title":"src","children":[{"title":"display","children":[{"title":"pcl_display_lib.cpp <span style='color:#111;'> 3.05KB </span>","children":null,"spread":false},{"title":"pcl_display.cpp <span style='color:#111;'> 9.32KB </span>","children":null,"spread":false}],"spread":true},{"title":"geometry","children":[{"title":"motion_estimation.cpp <span style='color:#111;'> 25.04KB </span>","children":null,"spread":false},{"title":"epipolar_geometry.cpp <span style='color:#111;'> 10.15KB </span>","children":null,"spread":false},{"title":"feature_match.cpp <span style='color:#111;'> 11.47KB </span>","children":null,"spread":false},{"title":"camera.cpp <span style='color:#111;'> 1.08KB </span>","children":null,"spread":false}],"spread":true},{"title":"basics","children":[{"title":"opencv_funcs.cpp <span style='color:#111;'> 6.73KB </span>","children":null,"spread":false},{"title":"config.cpp <span style='color:#111;'> 1.12KB </span>","children":null,"spread":false},{"title":"eigen_funcs.cpp <span style='color:#111;'> 1.70KB </span>","children":null,"spread":false},{"title":"basics.cpp <span style='color:#111;'> 1.94KB </span>","children":null,"spread":false},{"title":"yaml.cpp <span style='color:#111;'> 1.62KB </span>","children":null,"spread":false}],"spread":true},{"title":"optimization","children":[{"title":"g2o_ba.cpp <span style='color:#111;'> 13.16KB </span>","children":null,"spread":false}],"spread":true},{"title":"CMakeLists.txt <span style='color:#111;'> 1.02KB </span>","children":null,"spread":false},{"title":"vo","children":[{"title":"vo_commons.cpp <span style='color:#111;'> 533B </span>","children":null,"spread":false},{"title":"vo.cpp <span style='color:#111;'> 22.42KB </span>","children":null,"spread":false},{"title":"map.cpp <span style='color:#111;'> 1.01KB </span>","children":null,"spread":false},{"title":"mappoint.cpp <span style='color:#111;'> 606B </span>","children":null,"spread":false},{"title":"vo_addFrame.cpp <span style='color:#111;'> 5.46KB </span>","children":null,"spread":false},{"title":"vo_io.cpp <span style='color:#111;'> 3.35KB </span>","children":null,"spread":false},{"title":"frame.cpp <span style='color:#111;'> 1.19KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"cmake_modules","children":[{"title":"FindCSparse.cmake <span style='color:#111;'> 576B </span>","children":null,"spread":false},{"title":"FindG2O.cmake <span style='color:#111;'> 3.20KB </span>","children":null,"spread":false}],"spread":true},{"title":"run_vo.cpp <span style='color:#111;'> 11.44KB </span>","children":null,"spread":false},{"title":"doc","children":[{"title":"buglist.md <span style='color:#111;'> 5.43KB </span>","children":null,"spread":false},{"title":"log.md <span style='color:#111;'> 509B </span>","children":null,"spread":false},{"title":"coding_notes.md <span style='color:#111;'> 725B </span>","children":null,"spread":false}],"spread":true},{"title":"CMakeLists.txt <span style='color:#111;'> 2.05KB </span>","children":null,"spread":false},{"title":"config","children":[{"title":"config.yaml <span style='color:#111;'> 4.55KB </span>","children":null,"spread":false}],"spread":true},{"title":"LICENSE <span style='color:#111;'> 1.04KB </span>","children":null,"spread":false},{"title":"test","children":[{"title":"test_epipolor_geometry.cpp <span style='color:#111;'> 5.97KB </span>","children":null,"spread":false},{"title":"test_sophus.cpp <span style='color:#111;'> 3.20KB </span>","children":null,"spread":false},{"title":"test_PnP.cpp <span style='color:#111;'> 3.21KB </span>","children":null,"spread":false},{"title":"test_eigen_basics.cpp <span style='color:#111;'> 5.20KB </span>","children":null,"spread":false},{"title":"test_config_and_read_yaml.cpp <span style='color:#111;'> 757B </span>","children":null,"spread":false},{"title":"CMakeLists.txt <span style='color:#111;'> 690B </span>","children":null,"spread":false},{"title":"test_pcl_display.cpp <span style='color:#111;'> 2.21KB </span>","children":null,"spread":false}],"spread":true},{"title":"README.md <span style='color:#111;'> 12.18KB </span>","children":null,"spread":false},{"title":"data","children":[{"title":"download_instruction.md <span style='color:#111;'> 133B </span>","children":null,"spread":false}],"spread":true},{"title":".gitignore <span style='color:#111;'> 143B </span>","children":null,"spread":false},{"title":"include","children":[{"title":"my_slam","children":[{"title":"display","children":[{"title":"pcl_display_lib.h <span style='color:#111;'> 1.61KB </span>","children":null,"spread":false},{"title":"pcl_display.h <span style='color:#111;'> 1.72KB </span>","children":null,"spread":false}],"spread":false},{"title":"common_include.h <span style='color:#111;'> 572B </span>","children":null,"spread":false},{"title":"geometry","children":[{"title":"camera.h <span style='color:#111;'> 1.15KB </span>","children":null,"spread":false},{"title":"motion_estimation.h <span style='color:#111;'> 5.60KB </span>","children":null,"spread":false},{"title":"feature_match.h <span style='color:#111;'> 2.01KB </span>","children":null,"spread":false},{"title":"epipolar_geometry.h <span style='color:#111;'> 4.50KB </span>","children":null,"spread":false}],"spread":false},{"title":"basics","children":[{"title":"basics.h <span style='color:#111;'> 804B </span>","children":null,"spread":false},{"title":"eigen_funcs.h <span style='color:#111;'> 997B </span>","children":null,"spread":false},{"title":"opencv_funcs.h <span style='color:#111;'> 1.85KB </span>","children":null,"spread":false},{"title":"yaml.h <span style='color:#111;'> 2.17KB </span>","children":null,"spread":false},{"title":"config.h <span style='color:#111;'> 1.60KB </span>","children":null,"spread":false},{"title":"README.md <span style='color:#111;'> 278B </span>","children":null,"spread":false}],"spread":false},{"title":"optimization","children":[{"title":"g2o_ba.h <span style='color:#111;'> 940B </span>","children":null,"spread":false}],"spread":false},{"title":"vo","children":[{"title":"frame.h <span style='color:#111;'> 2.82KB </span>","children":null,"spread":false},{"title":"vo.h <span style='color:#111;'> 3.22KB </span>","children":null,"spread":false},{"title":"vo_io.h <span style='color:#111;'> 1.04KB </span>","children":null,"spread":false},{"title":"README.md <span style='color:#111;'> 127B </span>","children":null,"spread":false},{"title":"vo_commons.h <span style='color:#111;'> 336B </span>","children":null,"spread":false},{"title":"mappoint.h <span style='color:#111;'> 1.05KB </span>","children":null,"spread":false},{"title":"map.h <span style='color:#111;'> 596B </span>","children":null,"spread":false}],"spread":false}],"spread":false}],"spread":true}],"spread":false}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明