pyslam - MKT

news/2025/11/6 4:37:09/文章来源:https://www.cnblogs.com/gooutlook/p/19195033

 

1 创建环境 pyslam

REM 保存当前目录
set STARTING_DIR=%cd%
set ROOT_DIR=..
cd %ROOT_DIR%REM 检查 conda
conda --version
if errorlevel 1 (echo 错误:请先安装 condapauseexit
)REM 创建环境
call scripts\pyenv-conda-create.bat

  

2 安装库

 

REM 激活环境
conda activate pyslamREM 继续剩余步骤
call scripts\install_git_modules.bat
set WITH_PYTHON_INTERP_CHECK=ON
call scripts\install_pip3_packages.bat
call scripts\install_cpp.bat
call scripts\install_thirdparty.bat
call scripts\install_pip3_semantics.batREM 安装特定版本包
pip install "pyarrow<19"
pip install -U "protobuf>=5,<6"
pip install "numpy<2"REM 返回原目录
cd %STARTING_DIR%
echo 安装完成!

  

 

2-2   call scripts\install_pip3_packages.bat

安装的主要包分类

核心计算机视觉库

  • OpenCV: 从源码编译安装,启用非免费模块
  • scikit-image: 图像处理库
  • kornia: PyTorch的计算机视觉库
  • Pillow-HEIF: HEIF图像格式支持

深度学习框架

  • TensorFlow 2.13: 谷歌深度学习框架
  • PyTorch:
    • macOS: torch==2.1 + torchvision==0.16
    • Linux: torch==2.2.0 + torchvision==0.17(支持CUDA)
  • timm: 预训练模型库

图形界面和可视化

  • PyQt5: 图形用户界面框架
  • pyqtgraph: 科学可视化库
  • rerun-sdk: 数据可视化工具

SLAM相关专用库

  • numpy-quaternion: 四元数运算
  • pyflann-py3: 快速最近邻搜索
  • FAISS: 相似性搜索(支持CPU/GPU)
  • evo: SLAM轨迹评估工具
  • trimesh: 3D网格处理

特定功能模块依赖

MonoGS(3D高斯溅射)

需要CUDA支持,安装:

  • lietorch: Lie群工具
  • simple-knn: K最近邻算法
  • diff-gaussian-rasterization: 高斯溅射渲染
  • 可视化工具:wandb, glfw, PyOpenGL等

mast3r 和 mvdust3r(3D重建)

需要CUDA支持,安装:

  • pytorch3d: Facebook的3D深度学习库
  • roma: 旋转匹配工具
  • gradio: Web界面工具

其他功能模块

  • gdown: Google Drive下载工具
  • hjson: 配置文件读取
  • einops: 张量操作
  • ujson: 快速JSON处理
  • protobuf: 序列化工具(DELF网络需要)

🔧 平台特定处理

macOS特殊处理

  • 使用较旧的torch版本避免段错误
  • 跳过不支持macOS的包(如open3d, megengine)

image

 

安装的主要包分类

核心计算机视觉库

  • OpenCV: 从源码编译安装,启用非免费模块
  • scikit-image: 图像处理库
  • kornia: PyTorch的计算机视觉库
  • Pillow-HEIF: HEIF图像格式支持

深度学习框架

  • TensorFlow 2.13: 谷歌深度学习框架
  • PyTorch:
    • macOS: torch==2.1 + torchvision==0.16
    • Linux: torch==2.2.0 + torchvision==0.17(支持CUDA)
  • timm: 预训练模型库

图形界面和可视化

  • PyQt5: 图形用户界面框架
  • pyqtgraph: 科学可视化库
  • rerun-sdk: 数据可视化工具

SLAM相关专用库

  • numpy-quaternion: 四元数运算
  • pyflann-py3: 快速最近邻搜索
  • FAISS: 相似性搜索(支持CPU/GPU)
  • evo: SLAM轨迹评估工具
  • trimesh: 3D网格处理

特定功能模块依赖

MonoGS(3D高斯溅射)

需要CUDA支持,安装:

  • lietorch: Lie群工具
  • simple-knn: K最近邻算法
  • diff-gaussian-rasterization: 高斯溅射渲染
  • 可视化工具:wandb, glfw, PyOpenGL等

mast3r 和 mvdust3r(3D重建)

需要CUDA支持,安装:

  • pytorch3d: Facebook的3D深度学习库
  • roma: 旋转匹配工具
  • gradio: Web界面工具

其他功能模块

  • gdown: Google Drive下载工具
  • hjson: 配置文件读取
  • einops: 张量操作
  • ujson: 快速JSON处理
  • protobuf: 序列化工具(DELF网络需要)

🔧 平台特定处理

macOS特殊处理

  • 使用较旧的torch版本避免段错误
  • 跳过不支持macOS的包(如open3d, megengine)

 

 

2-3 call scripts\install_cpp.bat

这是一个用于构建PySLAM的C++核心组件的脚本,负责编译高性能的底层算法库。

image

 

image

 

image

 

🏗️ C++ 部分可能包含的组件

基于 PySLAM 项目的性质,C++ 部分可能包含:

1. 高性能计算模块

  • 特征提取加速: ORB, SIFT, SURF 等特征的 C++ 实现
  • 图像处理优化: 图像金字塔、高斯模糊等底层操作
  • 几何计算: 相机几何、位姿估计、三角测量

2. 第三方库绑定

  • OpenCV C++ 扩展: 自定义的 OpenCV 模块
  • 点云处理: PCL 或自定义点云算法
  • 优化库: g2o, Ceres Solver 等图优化库

3. Python 扩展模块

  • C++ Python 绑定: 使用 pybind11 或 Boost.Python
  • 性能关键函数: 将计算密集型部分用 C++ 实现
  •  

image

image

 

image

 

2-4 call scripts\install_thirdparty.bat call

image

 

🎯 功能分类

核心SLAM组件

  • 特征提取: orbslam2_features (ORB特征)
  • 后端优化: g2opy (图优化)、gtsam (因子图)
  • 回环检测: pydbow2/3 (词袋模型)
  • 可视化: Pangolin (3D显示)

深度估计模块

  • 单目深度: ml_depth_pro, depth_anything_v2
  • 立体视觉: raft_stereo, crestereo (高精度立体匹配)
  • 多视图: mast3r, mvdust3r (多视图3D重建)

高级功能

  • 大规模定位: vggt (视觉地理定位)
  • 机器人集成: ros2_pybindings (ROS2接口)
  • 3D处理: open3d (点云处理)

⚙️ 技术特点

  1. 性能优化: C++核心 + Python绑定的混合架构
  2. 多模态感知: 单目/立体/多视图深度估计全覆盖
  3. 可扩展性: 模块化设计,支持多种SLAM方案
  4. 生产就绪: 集成ROS2,支持实际机器人部署
  5. 研究导向: 包含最新学术成果(mast3r, vggt等)

这个第三方库集合为PySLAM提供了完整的视觉SLAM技术栈,从底层特征提取到高级3D重建,支持从基础定位到大规模场景理解的全套功能。

2-5 scripts\install_pip3_semantics.bat

image

 

image

 

🎯 各包详细功能

1. transformers (4.38.2)

  • 功能: HuggingFace的预训练Transformer模型
  • SLAM应用:
    • 场景语义理解
    • 物体识别和分类
    • 视觉语言模型集成
  • 版本锁定原因: 避免新版API破坏性变更

2. f3rm

  • 功能: 稠密CLIP特征提取
  • SLAM应用:
    • 3D场景的语义特征学习
    • 视觉-语言对齐
    • 高级场景理解
  • 特点: 最新的语义SLAM研究方向

3. timm (1.0.15)

  • 功能: PyTorch图像模型库
  • SLAM应用:
    • 提供多种骨干网络
    • 特征提取支持
    • 模型架构基础
  • 版本锁定: 确保兼容性

4. numpy (<2.0)

  • 功能: 数值计算基础库
  • 重要性: 所有科学计算的基础
  • 版本限制: 避免numpy 2.0的破坏性变更

5. opencv-python

  • 安装方式: 从本地whl文件强制重装
  • 目的: 确保正确的OpenCV版本和配置
  • 功能: 图像处理、相机标定、几何计算
  •  

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/957254.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux dbus】1-连接消息总线守护进程,创建名字

前言 本文章以函数dbus_bus_get()和dbus_bus_request_name()两个函数为引子,介绍如何连接消息总线守护进程,并为当前进程起一个名字dbus_bus_get 函数核心概念 dbus_bus_get 是 D-Bus 库(特别是在 libdbus 这个底层…

【Linux dbus】2-dbus发送消息(以创建方法调用为例)的过程

消息(方法调用)创建后的典型流程 仅仅创建消息头是不够的,完整的调用流程如下:创建方法调用消息 - dbus_message_new_method_call添加参数 - dbus_message_append_args发送消息 - dbus_connection_send(可选)等待…

CSP-S 2025 复赛解析

刚写完,暂时只放了代码,具体思路争取在7号晚上补完[CSP-S 2025] 社团招新 / club 题目描述 小 L 是学校算法协会的成员。在今年的学校社团招新中,小 L 一共招收了 \(n\) 个新成员,其中 \(n\) 为偶数。现在小 L 希望…

记录一次Prism9隐式注册引发的事件聚合器失效问题

直接上代码 1、我的注册从App的RegisterTypes方法迁移到了模块public class AccountModule : IModule{public void OnInitialized(IContainerProvider containerProvider){}public void RegisterTypes(IContainerRegis…

20232318 2025-2026-1 《网络与系统攻防技术》实验四实验报告

一、实验内容 本次实验围绕恶意代码分析的核心流程展开,具体包含四项关键任务:一是识别恶意代码的文件类型标识,完成文件脱壳操作与字符串提取,为后续分析扫清障碍;二是运用 IDA Pro 工具对指定 exe 文件开展静态…

用友U8C销售订单开单比较慢

1.登录软件录SPRso_accountmany_m比较耗时 2.检查so_accountmany_m的索引SELECTa.uniqueness 索引类型,b.index_name 索引名称,b.column_name 字段,a.table_name 表名 FROMuser_indexes a ,user_ind_columns b WHEREa.…

Winfrom机器人自动寻路

Winfrom机器人自动寻路public partial class Form1 : Form{private const int MapWidth = 25;private const int MapHeight = 20;private const int CellSize = 50;private List<Obstacle> obstacles = new List…

低代码平台基础知识

1.数据导入 在数据源将数据库下的物理表导入为数据模型 新建 → 数据库表模型 → 搜索 → 导入目录 一 连接方式(实时连接/只读模式/读写模式) 2.空白模型 使用空白模型定义表结构 新建 → 空白模型 切换到字段列表 →…

test first

记录第一次使用 简单写一点内容看看效果展示 展示

Win11 install CUDA 12.5

1.Check pc supported Nvidia GPUnvidia-smi 2.Download CUDA12.5https://developer.download.nvidia.cn/compute/cuda/12.5.0/local_installers/cuda_12.5.0_555.85_windows.exe3.Install CUDA12.5//validate nvcc --…

机器学习-逻辑回归算法-向量版代码

`import numpy as np x_train=[[1,2],[1,3],[1,6],[1,9],[1,2],[1,3],[1,6],[1,9]] y_train=[1,1,0,0,1,1,0,0] x_train_num=len(x_train) 向量化训练组 x_a=np.array(x_train) x_v=(x_a.T) y_v=np.array(y_train) pri…

星期三

今天离散和马原感觉没啥意思。早上第1节课太困了。睡着了。

「学习笔记」文件包含

文件包含开发人员常常把可重复使用的函数写入到单个文件中,在使用该函数时,直接调用此文件,而无需再次编写函数,这一过程就叫做包含。文件包含漏洞 通常出现在动态网页中,有时候由于网站功能需求,会让前端用户选…

【AI说Rust 03】如何在 macos m1 系统搭建 rust 开发环境

在 macOS M1 上搭建 Rust 开发环境非常直接,主要依赖于官方工具 rustup。下面我为你梳理了一份清晰的步骤指南,包含一些实用技巧。 🔧 安装步骤概览 首先,我们来快速了解核心步骤:步骤 关键操作/命令 说明1. 安装…

厨房小白学做饭——4.干锅菜花

1.将菜花掰成朵,倒入清水,少加入一些盐,泡10分钟左右; 2.切一些五花肉备用【五花肉去皮】,切成片,薄厚均匀就行; 3.将线椒切成丝【建议红绿都来点,好看一些】,也可用小米椒切丝,再来四五瓣蒜,拍一下; 4.锅…

操盘计划202511090017

好的,我们来整合信息,直接回答您的两个核心问题。 问题一:哪几只股票重复次数最高? 这里的“重复次数”指的是在所有模型(xgb, lr, rf, svr)和所有预测时间点的综合预测中,同一只股票出现的总次数。次数越高,说…

Effective C++

条款01:视C++为一个语言联邦多重范型编程语言,在某个次语言中,各种高效编程守则简单易懂;但从一个语言移到另一个语言,守则可能改变。 次语言类型:C: Object-Oriented C++: Template C++: STL:条款02: 尽量以co…

厨房小白学做饭——3.虎皮青椒

1.螺丝椒洗好控干水分,同时准备几瓣大蒜,拍一下然后剁碎; 2.去除辣椒籽,将辣椒拍一下,然后切成小段; 3.起锅加油,油热后放入辣椒,用铲子按压,使辣椒受热均匀【火不要开的太大,容易把辣椒炒焦】,边按压边翻炒…

20251105 之所思 - 人生如梦

20251105 之所思今天做的好的事情:1. 主动汇报 和直接上级有一个两周一次半小时的会议,汇报SW这边的一些状态和数据,今天可能是升职以来第一次正式的主动汇报,以前虽然会议是book了,但是每次都是因为老板的时间导…

【Kubernetes】入门-部署Spring应用

Kubernetes 基本概念 Pod 是什么: Kubernetes 中最小的、最简单的部署和管理单元。 类比: 一台“逻辑主机”或一个“虚拟机实例”。 关键点:一个 Pod 可以包含一个或多个紧密相关的容器(例如,一个应用容器和一个日…