栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

手把手教你跑通6-PACK: Category-level 6D Pose Tracker with Anchor-Based Keypoints

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

手把手教你跑通6-PACK: Category-level 6D Pose Tracker with Anchor-Based Keypoints

项目地址:GitHub - j96w/6-PACK: "6-PACK: Category-level 6D Pose Tracker with Anchor-Based Keypoints" code repository

一、配置环境

   这里强烈建议安装python3.6.7版本,安装低于此版本的python有可能在多线程训练时造成
chunk = read(handle, remaining)的问题。

  • CUDA 9.0
    已经有其他版本CUDA的老铁们不要怕麻烦,最好还是再装个9.0然后多版本切换cuda。ubuntu下安装多版本cuda及版本切换教程_zeeq_的博客-CSDN博客_ubuntu切换cuda版本

  • conda python3.6.7环境
    conda create -n 6pack python==3.6.7
  • 安装torch0.4.1 torchvision0.2.1

    conda install pytorch=0.4.1 torchvision==0.2.1 cuda90 -c pytorch
  • 安装opencv 

    pip install opencv-contrib-python
  • 安装PIL/spicy/numpy/logging     from conda官网安装

    conda install -c conda-forge pillow
    conda install -c conda-forge scipy
    conda install -c conda-forge numpy
    conda install -c conda-forge r-logging

二、准备数据

6PACK需要的训练+测试数据很庞大(快200G了),建议提前一晚下载

  • 下载nocs中如下图所示的4个数据集:GitHub - hughw19/NOCS_CVPR2019: [CVPR2019 Oral] Normalized Object Coordinate Space for Category-Level 6D Object Pose and Size Estimation on Python3, Tensorflow, and Keras

  • 创建My_NOCS文件夹,将上述数据集数据解压其中(记得给Test解压出来的文件改个名为real_val)。由于数据量很大,可以把My_NOCS文件创建在空间充足的硬盘里,然后添加软链接到6pack根目录。ubuntu创建软链接_卒迹的博客-CSDN博客_ubuntu软连接
  • 现在文件夹的形式为My_NOCS/data/real_train, My_NOCS/data/real_val, My_NOCS/data/train,My_NOCS/data/gts
  • 下载NOCS-REAL275-additional.zip并解压到My_NOCS
      由于nocs数据集里没有位姿真值,只有NOCS的真值(每个像素对应的点云在NOCS系下的位置),因此需要从训练数据里生成6D pose。NOCS的原版策略:随机采样mask内的像素,恢复出的真值效果一般。6PACK策略:选取临近mask中心的像素。additional.zip是6-pack官方已经生成好的pose和scale,model_pts是ShapeNetCore中的物体点云。
  • 现在文件夹下有My_NOCS/data_list,My_NOCS/data_pose,My_NOCS/model_pts,My_NOCS/model_scales
  • 在6pack根目录的dataset文件夹下运行命令,生成真值数据,时间较长,我用了6小时。
    python data_preprocess.py
  • 训练时采用数据增强策略,需要用到coco2017数据集,解压后把train2017放到My_NOCS下http://images.cocodataset.org/zips/train2017.zip

至此数据准备工作完成,即构建好了 My_NOCS文件夹。

三、训练
  • 如果训练一开始就卡住,可能是存放数据集的硬盘没添加加权限,用chown -R即可chown -R 用户名:组名 ./ 及 chown用法介绍_micro_boy的博客-CSDN博客_chown
  • category代表训练类别、dataset root指向你的数据集位置、workers是工作线程数,我是莽夫直接用了16。
python train.py --category 1 --dataset_root '/home/robot413/My_NOCS' --workers 16
四、评估+benchmark
python eval.py
python benchmark.py

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/947563.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号