Ubuntu20.04中复现FoundationPose

Ubuntu20.04中复现FoundationPose

文章目录

  • Ubuntu20.04中复现FoundationPose
    • 1.安装cuda和cudnn
    • 2.下载相关资源
    • 3.环境配置
    • 4.运行model-based demo
    • 5.运行ycbv demo
    • Reference

🚀 非常重要的环境配置 🚀

  • ubuntu 20.04
  • cuda 11.8.0
  • cudnn v8.9.7
  • python 3.9.19
  • torch 2.0.0
  • 显卡RTX 4060 ti

详细信息如下所示:

Image

1.安装cuda和cudnn

具体可以参考这篇:ubuntu配置多版本cuda+cudnn环境,及版本切换方法

2.下载相关资源

  • 下载仓库
git clone https://github.com/NVlabs/FoundationPose.git
  • 下载网络权重,并解压到weights/目录中
  • 下载demo数据,并解压到demo_data/目录中
  • 【可选】下载大规模的数据集:FoundationPose Dataset
  • 【可选】在此处下载我们预处理的参考视图,以便运行model-free的小样本版本。

3.环境配置

首先安装anaconda或者miniconda,具体可以参考这篇:【Linux】Ubuntu20.04版本配置pytorch环境2023.09.05【教程】

  1. 手动安装eigen3到系统
cd $HOME && wget -q https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.tar.gz && \
tar -xzf eigen-3.4.0.tar.gz && \
cd eigen-3.4.0 && mkdir build && cd build
cmake .. -Wno-dev -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS=-std=c++14 ..
sudo make install
cd $HOME && rm -rf eigen-3.4.0 eigen-3.4.0.tar.gz
  1. 创建conda环境并安装依赖
# create conda environment
conda create -n foundationpose python=3.9# activate conda environment
conda activate foundationpose# Install Eigen3 3.4.0 under conda environment
conda install conda-forge::eigen=3.4.0
export CMAKE_PREFIX_PATH="$CMAKE_PREFIX_PATH:/eigen/path/under/conda"# install dependencies
python -m pip install -r requirements.txt# Install NVDiffRast
python -m pip install --quiet --no-cache-dir git+https://github.com/NVlabs/nvdiffrast.git# Kaolin (Optional, needed if running model-free setup)
python -m pip install --quiet --no-cache-dir kaolin==0.15.0 -f https://nvidia-kaolin.s3.us-east-2.amazonaws.com/torch-2.0.0_cu118.html# PyTorch3D
python -m pip install --quiet --no-index --no-cache-dir pytorch3d -f https://dl.fbaipublicfiles.com/pytorch3d/packaging/wheels/py39_cu118_pyt200/download.html# Build extensions
CMAKE_PREFIX_PATH=$CONDA_PREFIX/lib/python3.9/site-packages/pybind11/share/cmake/pybind11 bash build_all_conda.sh

4.运行model-based demo

如果配置过程中都没有问题,那么可以直接运行demo

python rum_demo.py

效果如下所示:

Image
Image

5.运行ycbv demo

首先下载ycbv数据集,链接如下:https://huggingface.co/datasets/bop-benchmark/datasets/tree/main/ycbv,数据集的大小是100GB左右

…待补充…

Reference

[1]FoundationPose: Unified 6D Pose Estimation and Tracking of Novel Objects
[2]FoundationPose复现及Realsense应用
[3]【6D位姿估计】数据集汇总 BOP

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

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

相关文章

如何理解电流镜负载的差分对的增益

我们知道最普通的电阻负载的差分对的差分增益是-gmRD,如果我们不希望输出是双端的,而是希望单端输出,那么使用电阻负载的差分对会导致增益变为原先的一半,因此引入了电流镜负载的差分对,它可以在保证增益与原先相同的情…

Nuxt快速学习开发 - Nuxt3静态资源Assets

Nuxt 使用两个目录来处理样式表、字体或图像等资产。 public/目录内容按原样在服务器根目录中提供。 assets/目录包含您希望构建工具(Vite 或 webpack)处理的所有资产。 public/目录 public目录用作静态资产的公共服务器,可在您的应用程序定…

【LeetCode 128】 最长连续子序列

判断前一位数在不在字典中是这道题的关键之处,这样就可以避免重复查找,从而达到O(n) 的时间复杂度。如果没有这个判断,那么时间复杂度最坏也得是O(N^2)级别的。 1. 题目 2. 分析 合理利用数据结构。本题中使用了set来保存数组的元素&#x…

氮化铝上的厚膜高功率片式电阻器

EAK厚膜高功率片式电阻器和氮化铝片式端接非常适合大多数需要在小尺寸封装中实现高导热性的应用。AlN 是 BeO 的理想替代品,具有高功耗且对环境或健康无危害。厚膜技术以非常实惠的价格提供稳定的电阻元件。 高稳定性厚膜电阻元件 AlN衬底材料 标准电阻范围为 10Ω…

5216万!国内自动化巨头,拟剥离旗下子业务

导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》 近日,中控技术发布公告称,为进一步优化资产结构和产业布局,提升公司核心竞争力,公司拟将其全资子…

多模态LLM 跨越语言与视觉的边界

一、引言 在数字时代的浪潮中,我们被由语言和视觉等多种模态构成的信息海洋所包围。人类大脑以其卓越的多模态上下文理解能力,在日常任务中游刃有余。然而,在人工智能领域,如何将这种能力赋予机器,尤其是如何在语言模…

计算子网掩码

例题 如果子网掩码是255.255.192.0, 那么下面主机()必须通过路由器才能与主机129.23.144.16通信( 1分 )A.129.23.148.127B. 129.23.191.21C. 129.23.127.222D. 129.23.130.33计算 要确定哪些主机必须通过路由器才能与…

MybatisPlus:高效便捷的Java持久层框架

一、MybatisPlus简介 MybatisPlus(简称MP)是一个流行的Java持久层框架,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生,旨在简化数据库操作和提高开发效率。MybatisPlus为开发者提供了一套方便的API和…

运维开发详解:从入门到精通

运维开发(DevOps)是一种整合开发与运维的实践,旨在通过自动化和持续交付提高软件开发和部署的效率。本文将详细介绍运维开发的概念、核心工具和最佳实践,帮助您从入门到精通。 一、运维开发的概念 1. 什么是运维开发&#xff1f…

About Apple Pay

本文翻译整理自:About Apple Pay (更新时间:2017-03-16) https://developer.apple.com/library/archive/ApplePay_Guide/index.html#//apple_ref/doc/uid/TP40014764 文章目录 一、关于 Apple Pay1、使用 Apple Pay2、测试 Apple …

k8s核心组件

Master组件: kube-apiserver:用于暴露Kubernetes API,任何资源请求或调用操作都是通过kube-apiserver提供的接口进行。它是Kubernetes集群架构的大脑,负责接收所有请求,并根据用户的具体请求通知其他组件工作。etcd&am…

SpringBoot3整合SpringDoc实现在线接口文档

写在前面 在现目前项目开发中,一般都是前后端分离项目。前端小姐姐负责开发前端,苦逼的我们负责后端开发 事实是一个人全干,在这过程中编写接口文档就显得尤为重要了。然而作为一个程序员,最怕的莫过于自己写文档和别人不写文档…

找工作小项目:day16-重构核心库、使用智能指针(3)

day16-重构核心库、使用智能指针(3) 最后将使用这个库的方式进行展示。 1、客户端 在while ((o getopt(argc, argv, optstring)) ! -1)所有的操作都是获取参数的操作,threads 、msgs 和wait 分别指线程数、消息长度以及等待时间。 创建一…

【数据结构(邓俊辉)学习笔记】二叉搜索树02——查找、插入和删除

文章目录 1.概述2. 查找2.1 查找:算法2.2 查找:理解2.3 查找:实现2.4 查找:语义 3. 插入3.1 插入:算法3.2 插入:实现 4. 删除4.1 删除:框架4.2 删除:单分支4.3 删除:双分…

Pyqt QCustomPlot 简介、安装与实用代码示例(一)

目录 简介安装实用代码示例带有填充的简单衰减正弦函数及其红色的指数包络线具有数据点的 sinc 函数、相应的误差条和 2--sigma 置信带几种散点样式的演示展示 QCustomPlot 在设计绘图方面的多功能性 结语 所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转…

RERCS系统开发实战案例-Part05 FPM Application的Feeder Class搜索组件的实施

1、通过事务码 SE24对Feeder Class实施 1)接口页签的简单说明: ① IF_FPM_GUIBB:通用UI构建块,整个UIBB模块的基础接口; ② IF_FPM_GUIBB_SEARCH:通用搜索UI构建块,搜索组件UIBB的基础接口&…

期末复习GGG-----查找子串

郭的 char *search( char *s, char *t ){int i0;while(s[i]){int j0;if(s[i]t[0]){while(s[ij]t[j]&&t[j]){j;}if(t[j]\0)return si;}i;}return NULL; } AI的 #include <stdio.h> #include <string.h> #define MAXS 30char *search(char *s, char *t);in…

React项目-Cesium地图初始化

一、环境描述 React集成Cesium地图需要注意软件兼容性问题&#xff0c;可以从官网或者百度文章查询React和Cesium地图的版本兼容性&#xff0c; 1、软件版本 &#xff08;1&#xff09;create-react-app创建项目&#xff1b; &#xff08;2&#xff09;React版本&#xff1a;1…

ctfshow web七夕杯

web签到 执行命令没有回显&#xff0c;我们直接写文件就可以了 有字符长度限制 ls />a nl /*>a访问url/api/a下载文件 easy_calc <?phpif(check($code)){eval($result."$code".";");echo($result); }function check(&$code){$num1…

Golang | Leetcode Golang题解之第164题最大间距

题目&#xff1a; 题解&#xff1a; type pair struct{ min, max int }func maximumGap(nums []int) (ans int) {n : len(nums)if n < 2 {return}minVal : min(nums...)maxVal : max(nums...)d : max(1, (maxVal-minVal)/(n-1))bucketSize : (maxVal-minVal)/d 1// 存储 (…