毕设项目名为:视觉定位算法的研究与比较。
打算把学习的流程记录一下,目前打算无论什么报错都事无巨细的记录一下,最后可能总结一个可行的方案。
该项目以一个已经成熟的开源算法为基础,该开源算法可在github下载。源码名叫hierarchical localization toolbox。是一个视觉定位工具箱,具体的代码都还没有看,也没有跑起来。目前只是顺利进行完开题答辩,大致了解了这个东西是干什么的。
今天就先配环境。
要求的是pytorch1.1以上,pytorchvision0.3以上,opencv-python,pycolmap。
应用anaconda管理项目,conda info --envs查看现有环境,activate camara切换到我的环境camara
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch 安装pytorch11.3版本

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python 安装opencv-python

https://gitee.com/hanyunlong12/pycolmap

先下载pycolmap的源码(比github稳定)

终于知道怎么样导入项目了:只要安装路径下有setup.py文件就可以自动安装。
安装之前需要安装CMake,pip install CMake即可

又出现报错如图所示,估计是有些环境变量没有设置好。他需要的是gcc和g++编译器的位置。可以将MinGW的bin目录加入到环境变量的path中。我是直接从命令行配置的cmake -DCMAKE_CXX_COMPILER=/pathto/g++ -DCMAKE_C_COMPILER=/pathto/gcc /pathto/source 虽然出现了报错,但是再运行编译指令的时候总算是不报环境变量的错了。

在pycolamp编译之前,一定要确保自己的colmap是完好的。虽然我下载的colmap点击bat文件可以直接运行,但我猜想可能还有一些库没有装好。所以不行。
最后发现,原因竟然是因为没有安装VS2017。。。我实在是搞不懂为什么一定要安装VS2017!安装好之后才能启用CMake,指定源文件,目录下必须有CMakeList.txt才能开始编译。
最终,尝试了无数种方法都无法正确地指定编译器,我觉着是不是他妈我的编译器出问题了?于是我下了一个CLion想编译一个程序看看行不行,结果出乎我的意料,竟然可以编译!我又尝试了命令行编译,也可以找到编译器,我真的纳了大闷了。不管了,索性我直接用CLion来编译。
这个玩意真就跟套娃一样,
首先是要gflags,
然后把gflag编译好的东西也要套进glogs里面才能编译,
这些东西加上LAPACK要套到ceres里才能编译,再套到colmap里,最后套到pycolmap里。这一套操作看似很费功夫,但比起指定编译器怎么也指定不了的这种感觉,简直不要爽太多。
然而到最后编译colmap的时候,又出问题了,他报的错误是
如图所示,它显示ceres编译的最终目录下没有ceresconfig.cmake文件。其他项目编译的时候都没有问题,唯独这个有问题。当时想了很久也没有想到解决方案,怀疑会不会是编译器的问题,看到网上大部分编译都是在VS下编译的,我就下了一个VS尝试一下。
VS上cmake的流程和CLion上大同小异。
在这里点击“打开CMake编辑器”就能够比较可视化地指定路径,照猫画虎我编译好了gflag,glogs,eigen3,ceres然而到colmap的时候又出问题了,编译出来的东西依然没有ceresconfig.cmake文件。上网上搜索了一下,大概是因为eigen3.3和ceres有冲突,于是将eigen调到了3.2,ceres调整到了1.14,花费了不少工夫,结果依然是cmake不出来。真的绝望了。
暂时告一段落,看看后面有没有别的方法。

视觉定位毕设项目日记 1相关推荐

  1. 视觉定位毕设项目日记 2

    思来想去,我认为刚开始入手深度学习领域如果使用windows操作系统可能过于繁琐了,于是我准备开始使用Linux来完成毕设项目的工作. 考虑到以后可能需要用NVIDIA显卡来加速训练,我决定不用虚拟机 ...

  2. 场景几何约束在视觉定位中的探索

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:计算机视觉工坊 导读 视觉定位是自动驾驶和移动机器人领域 ...

  3. 2-Entity RANSAC:在变化的环境中进行稳健的视觉定位

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 摘要 视觉定位由于其低成本和稳定的传感器而受到广泛关注, 这在许多 ...

  4. CVPR 2021| 端到端场景无关视觉定位算法(SuperGlue一作出品)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 今天要介绍的文章是"Back to the Feature: Learning Robust ...

  5. android app系统的测试_计算机毕设项目003之基于Android系统的App点餐外送系统

    计算机毕设项目之基于Android系统的App点餐外送系统 一. 项目名称 基于Android系统的App点餐外送系统 二. 项目简介 本项目是基于Android系统的手机点餐系统,整个项目分为App ...

  6. 轨迹匹配地图 python_基于地图的视觉定位(一)

    这里备份一下,全文在github上 TurtleZhong/Map-based-Visual-Localization​github.com 基于地图的视觉定位 基于已知地图的视觉定位是一个比较大的问 ...

  7. 计算机毕业设计答辩慌?软工本科 Java EE 毕设项目答辩问题、答案汇总指南奉上

    文章目录 前言 一.关于数据库的问题 1.1.为什么采用 MySQL 数据库? 1.2.系统数据是如何跟数据库进行交互? 1.3.JDBC 连接数据库所需四要素? 1.4.JDBC 的操作步骤有几步? ...

  8. php的web表单系统源码毕设_从业十多年看了千百套Java毕设项目,整理出100个精品!免费分享...

    加班无数个昼夜看了千百套Java毕设项目,发现这100个精品!今天免费分享给大家!再给大家推荐一条由浅入深的JAVA学习路径,首先完成 Java基础.JDK.JDBC.正则表达式等基础实验,然后进阶到 ...

  9. 线特征作为视觉描述:用于视觉定位的上下文感知线特征描述符

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨paopaoslam 来源丨泡泡机器人SLAM 标题: Line as a Visual Sen ...

最新文章

  1. 综述的综述!5 篇2020 年「图像分割算法」最佳综述论文详解
  2. html 二叉树模式,重建二叉树.html
  3. python—OpenCV2中 cv2.VideoCapture(),read(),waitKey()的使用
  4. 双方互GAN,不如来试试群体博弈?更快更强更自由 | ICLR 2021
  5. hdu5249KPI动态中位数(两个set)
  6. 前端模块化(一):模块化那些事儿
  7. Entity Framework Core 实现全局查询过滤
  8. Android内核开发:在源码树中添加新的app应用
  9. sap模块介绍_一分钟掌握SAP小知识-系统基本操作
  10. 数据类型 --生成器
  11. java接口的实现原理_Java接口和抽象类原理详解
  12. 《西点军校的经典法则》序 -- 責任(せきにん)、栄誉(えいよ)、国家(こっか)
  13. 基于Tensorflow深度学习的ECG身份识别方法(二)
  14. 【实践】基于CentOS7部署Ceph集群(版本10.2.2)
  15. linux va start,linux下strftime(),va_start(),va_end()函数的用法
  16. Matlab —— 02 基本操作与矩阵输入
  17. Redis学习(二)之 Redis Cluster集群
  18. chrome显示比例 Android,Android版Chrome在大尺寸平板电脑中将默认采用桌面模式
  19. acwing 217.绿豆蛙的归宿
  20. selenium爬堆糖网壁纸

热门文章

  1. CMD命令行中以管理员权限启动应用程序实现方法
  2. 快播CEO王欣:流量跌到零也要转型
  3. 笔记----DX11.0转为DX11.2
  4. 利用Hadoop和Spark处理用户心跳周期数据
  5. 雨棚板弹性法计算简图_顾祥林梁板结构PPT课件.ppt-资源下载人人文库网
  6. 怎么用mcgspro打开mcgs文件_留言赠书 | 快速从Mcgs嵌入版升级到McgsPro
  7. 竞品分析报告各要素解析
  8. php教程后盾人,后盾人“你我最好的老师”
  9. 【face-api.js】前端实现,人脸捕获、表情识别、年龄性别识别、人脸比对、视频人脸追踪、摄像头人物识别
  10. ECG ×AI: 机器/深度学习的ECG应用入门(3)