数据集采集相关指南
数据集采集
以下是数据集采集的相关教程
利用SfM和MVS算法进行稠密点云生成
使用软件:
ffmpeg(可选): 可以利用
ffmpeg
将视频转换为图片(注意视频拍摄方式: 需要绕物体转一圈);ColMap: 一个GUI程序, 用来运行sfm和mvs算法;
meshlab: 用来查看生成的点云, 并调整坐标系.
使用教程:
(1): 拍摄照片
主要有两种方式:
绕物体旋转并拍摄照片, 最好确保要有所有的角度.(30张照片左右, 比较费事)
或者: 拍摄一个视频, 然后利用ffmpeg软件将视频分解为照片(注意视频分辨率)
ffmpeg -i inputfile.avi -r 1 image-%3d.jpeg
(2): 利用Colmap制作dense点云:
参考视频: 【三维重建】利用开源软件colmap实现基于图像的三维重
就按照这个视频做就可以, 一直做到dense点云那一步, 后面的mesh可以根据需要搞
(3): 利用meshlab调整坐标系
0. 实例实物图
1. 上一步得到的dense点云如下所示(meshlab):
目前相当杂乱, 可以先不管缩放. 先调整坐标系;
2. 删除环境点云:
点击改按钮, 可以看到点云的包络体, 这里包络体非常大, 需要删除一些环境的点云:
meshlab操作:
鼠标左边(一直按住): 旋转
ctrl + 鼠标左键: 拖动
Atl + 鼠标左键: 缩放
Shift + 鼠标左键:
鼠标滚轮:
旋转物体到如下状态:
点击选择按钮:
框选物体 并 反转(选择除了框选物体之外的所有点):
Filters --> selection --> Invert Selection
直接apply, 然后关闭该框 删除选中的所有点:
3. 设置坐标轴
Render ---> show Axis
将坐标轴设置为包络体的中心:
Filters --> Normals, Curvatures and Orientation --> Transform: Translate, Center, set Origin
选择Center on Scene BBox
, 然后确定
点击view --> Reset Trackball
4. 旋转坐标系
坐标系: 注意y轴和z轴
红色轴x: 向右
绿色轴y: 向上
蓝色轴z: 向内
接下来, 切换至俯视图(好判断)
Windows --> View from --> Top
Filters ---> Normals...--> Transform
那几项:
先设置旋转: 一定要点开preview
这里可以多摸索摸索: 以这个为例,
接下来, 切换到左视图或者前视图都看看
5. 平移坐标系
最后变换到以下结果
6. 处理缩放
已知盒子是 30 * 25 * 20的, 所以这里可以直接量:
所以缩放10倍:
7. 检查并保存:
需要先按下T
这样差不多就是对的
然后File --> Export Mesh As
保存即可