3D物体分类---ModelNet .OFF格式生成多视角图像(Mat方法之第一步体素化)
强烈建议使用Blender方法!!!
- 授人以鱼不如授人以渔 - |
---|
写文章的初衷是我在处理ModelNet的.OFF文件时遇到太多困难,只为后来的你减少不必要的麻烦,思路和代码都是我历经千辛万苦才摸索出来的,百度很难找到,代码现已全部上传至GitHub。需要特别说明的是,代码不是拿来即用的,你需要仔细按照你自己的路径修改 |
目前我找到的方法有两种,一种是利用Blender软件和python生成多视角图像数据集,第二种是将.OFF转为.MAT再转为.PNG。
本文为Blender方法的第一步。
两种方法具体步骤:
- Blender方法
- 首先要实现Blender对.OFF文件的读取与显示
https://blog.youkuaiyun.com/jorg_zhao/article/details/86309774 - 然后利用python调用Blender完成多视角数据集的生成
https://blog.youkuaiyun.com/jorg_zhao/article/details/88345324
- 首先要实现Blender对.OFF文件的读取与显示
- Mat方法
- 首先将.OFF文件转为.MAT文件(实际上就是体素化)
https://blog.youkuaiyun.com/jorg_zhao/article/details/86647696 - 然后用python将不同视角的.MAT文件转为多视角图片
https://blog.youkuaiyun.com/jorg_zhao/article/details/88345366
- 首先将.OFF文件转为.MAT文件(实际上就是体素化)
展示一下
历经千辛万苦,终于成功把ModelNet10/40 OFF格式转为MAT格式,各种CNN模型输入的格式要么是MAT格式要么是IMAGE格式,因此OFF格式必须转换为CNN模型可接受格式。
另外,也实现了对三维物体MAT格式进行多视角图片转换,这一步是为了我的方法而做的。
但是,临近年关,不知道能否年前把这些代码整理完,公布出来,要尽快催促自己完成!!!加油!!!
1. ModelNet10/40 .OFF文件转.MAT文件(即体素化)
需要说明的是,上图还不是这一次更新得到的。
1.1 ModelNet OFF体素化代码解释
本次代码更新是读取ModelNet10/40文件夹,自动全部一次生成对应的.MAT文件
代码参数说明:
参数一共有4项:
- volume_size
设置体素化文件的大小,假如volume_size=300,最终输出体素大小为300×300×300 - angle_inc
这个参数是实现读取.OFF文件然后旋转一定角度,再生成体素文件,如果angle_inc=1,则表示每隔1度就旋转一次,并保存为.MAT文件,最终对应一个.OFF文件将生成360(360/1)个.MAT文件,如果angle_inc=90,则每90度旋转一次,最后得到4个角度的.MAT文件,即0°,90°,180°,360°。 - off_path
指定ModelNet10/40路径 - mat_path
设置体素化ModelNet10/40的目标路径
1.2 你想要的的代码在这里
- 代码上传GitHub:
https://github.com/zeaggler/ModelNet_OFF2MAT
如果有任何问题,留言给我,看到会回复的。。。