seu-labview / RGB-D-modeling

1 stars 0 forks source link

现行方案 #2

Closed Sciroccogti closed 3 years ago

Sciroccogti commented 3 years ago

概述

  1. 使用乐视深度相机,拍摄旋转的小物品,生成 rgb、depth。

注意,此处的小物品需要在 coco 数据集内,否则无法生成 mask。

  1. 使用 Mask RCNN 生成 mask 和 input.txt
  2. 使用 modeling_3d 根据 rgb、depth、mask 生成 .ply 模型

目前问题:物品须在深度相机敏感距离内

使用方法

以采集水杯为例:

  1. 采集图片使用 modeling_3d 中的 myastra:myastra -d cup,其中 cup 为输出文件夹
  2. 生成 mask 使用 Mask-RCNN-TF2:python3 maskrcnn_predict.py
  3. 生成模型使用 modeling_3d 中的 reconstruct:bin/reconstruct cup,其中 cup 为输入文件夹

目前进度

  1. 图片采集已基本实现
  2. Mask-RCNN-TF2 已能在TF2.4+cuda11下跑通,注意需要使用本 org 下的 repo
  3. modeling_3d 时,因为数据不够好(相机未能对准物品、物品旋转不稳定),还不能生成够看的模型
Sciroccogti commented 3 years ago

方案2

回归 ObjectDatasetTools

目前该工具已无需手动修改模型,故也可使用。

使用方法

以采集水杯为例

  1. 可以先用 python3 test-astra.py LINEMOD/cup 检查安装效果,按 s 采图,按 q 退出,双击深度图会输出距离(mm)

    test-astra.py 输出的文件格式可供 Mask-RCNN-TF2modeling_3d 使用

    1. python3 record-astra.py LINEMOD/cup 拍摄旋转的物品,物品周围需有蓝色二维码标记
    2. python3 compute_gt_poses.py LINEMOD/cup && python3 register_segment.py LINEMOD/cup 生成 .ply 文件
    3. sudo snap install meshlab 安装并用 meshlab 查看或修缮 .ply 文件

目前进度

  1. 图像采集已适配
  2. 乐视深度相机需距离拍摄物体0.6m以外,且抖动严重影响拍摄效果,因此需要固定相机,用转盘承载物品。(这也是本项目的计划,只是需要注意这个拍摄距离的要求)
Sciroccogti commented 3 years ago

效果预览:

modeling_3d

QQ图片20210304145828

ObjectDatasetTools

QQ图片20210304145739

模型下载 book-0304.zip