BlenderProc2使用过程记录

第一篇 BlenderPrc2安装以及环境配置



前言

该系列记录了如何用Blenderpro来构建自己的场景数据集,从环境搭建到后期构建数据集的整个流程

本文章是第一部分,BlenderPrc2的安装以及环境配置

部分参考https://blog.csdn.net/weixin_49521551/article/details/121573334
官方文档https://dlr-rm.github.io/BlenderProc/


一、Blenderpro是什么?

一个用于真实感渲染的程序性 Blender pipeline。

二、使用步骤

1.创建虚拟环境

为了方便日后的环境管理,我们在anaconda新建一个虚拟环境进行Blenderproc的安装,anaconda安装过程略,新环境命令如下:

conda create -n blender python=3.7  # blender处为你的虚拟环境名称
conda activate blender

2.安装Blenderproc(这一步直接按github官方教程走)

blenderproc的安装有两种方式,第一种是通过github安装,再这里我们使用更简便的方式,在虚拟环境下直接执行
代码如下:

pip install Blenderproc

安装结束后我们根据官方文档,先编写一个quickstart.py的python脚本,内容如下:

import blenderproc as bproc
import numpy as np

bproc.init()

# Create a simple object:
obj = bproc.object.create_primitive("MONKEY")

# Create a point light next to it
light = bproc.types.Light()
light.set_location([2, -2, 0])
light.set_energy(300)

# Set the camera to be in front of the object
cam_pose = bproc.math.build_transformation_mat([0, -5, 0], [np.pi / 2, 0, 0])
bproc.camera.add_camera_pose(cam_pose)

# Render the scene
data = bproc.renderer.render()

# Write the rendering into an hdf5 file
bproc.writer.write_hdf5("output/", data)

之后终端执行命令:

blenderproc run quickstart.py

第一次运行会安装blender和所需要的一些库,包括Imageio库(不用管),运行之后在目录下会有0.dhf5的文件生成,如图
在这里插入图片描述![
此时终端运行:

blenderproc vis hdf5 output/0.hdf5

即可将结果进行可视化,结果如图:
在这里插入图片描述
到这一步,blenderproc的环境安装配置也就完成了,更多的基础示例可以下载github项目工程并参照示例进行。
注:
blenderproc的运行有两种模式

一种是通过设置python脚本运行(github项目工程主目录下运行)

blenderproc run examples/basics/basic/main.py examples/resources/camera_positions examples/resources/scene.obj examples/basics/basic/output

另一种则是通过配置yaml文件进行运行

blenderproc run examples/basics/basic/config.yaml examples/resources/camera_positions examples/resources/scene.obj examples/basics/basic/output

两种方法大同小异,不过官方建议使用第一种方法,并且通过配置yaml文件运行的方法会在之后被移除。
另外,Blender 还有自己的debug UI, 如图所示

只需运行如下代码:

blenderproc debug quickstart.py

现在打开 Blender UI,选择脚本选项卡并加载正确的脚本。要启动 BlenderProc pipeline,现在只需按 RunBlenderProc 。
与正常模式一样,print 语句仍然打印到终端。
pipeline可以运行多次,因为在每次运行的开始,场景都会被清除。

3.IDE 中的断点调试

由于 blenderproc 运行在独立的 python 环境中,因此调试 blenderproc 脚本的方法不能与调试其他 python 脚本的方法相同。
因此,远程调试是必要的,这里以pycharm pro 为例:
首先点击 Edit Configurations
然后点击左上角的加号,新建一个Python Debug Server,如下图所示
在这里插入图片描述
然后在服务器的虚拟环境中运行如下代码:
(需根据窗口中显示的选择符合自己配置的版本号,我这里是213.7172.26)

pip install pydevd-pycharm~=213.7172.26

然后,将以下代码添加到要调试的 blenderproc 脚本的顶部(在import之后)。

import pydevd_pycharm
pydevd_pycharm.settrace('localhost', port=$SERVER_PORT, stdoutToServer=True, stderrToServer=True)

然后,首先在 PyCharm 中运行 Python Debug Server 配置,然后像往常一样通过 CLI 运行 blenderproc 脚本。
PyCharm 就可以进入调试模式,停止下一行代码。现在就可以添加断点并逐步执行。


总结

以上就是第一部分,主要是BlenderProc2的安装以及环境配置。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
回答: 在Blender中,如果你想要实现工件旋转的代码,你可以修改以下几个参数。首先是目标对象的位置和姿态的修改,可以通过调整对象的位置和旋转来实现工件的不同姿态。其次是相机位置的修改,源码中会寻找目标对象们的中心位置,并以此为原点进行相机的旋转变换。你可以在poi-location的地方添加一个随机项,这样可以使得生成的物体在图像上的像素位置不同。此外,安装bop_toolkit可能会遇到一些困难,因为它依赖于Blender的Python环境。你可以使用blenderproc提供的函数进行安装,具体可以参考setup_pip函数。另外,如果你想要使用Robotmaster进行离线编程,它是一款顶尖的软件,几乎支持市场上绝大多数机器人品牌,包括KUKA、ABB、Fanuc等。而RobotStudio是ABB公司配套的软件,支持整个机器人的生命周期,可以使用图形化编程、编辑和调试机器人系统,并模拟优化现有的机器人程序。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [blenderproc 制作位姿估计数据集](https://blog.csdn.net/qq_43814359/article/details/123091541)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [机器人学:(1)机器人基础](https://blog.csdn.net/weixin_43724057/article/details/129637697)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值