ModelFit, 这是我的纸的脱机配件部分

分享于 

6分钟阅读

GitHub

  繁體 雙語
This is the offline fitting portion of my paper: "Real-Time Continuous Pose Recovery of Human Hands Using Convolutional Networks"
  • 源代码名称:ModelFit
  • 源代码网址:http://www.github.com/jonathantompson/ModelFit
  • ModelFit源代码文档
  • ModelFit源代码下载
  • Git URL:
    git://www.github.com/jonathantompson/ModelFit.git
    Git Clone代码到本地:
    git clone http://www.github.com/jonathantompson/ModelFit
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/jonathantompson/ModelFit
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    

    ModelFit

    offline"基于卷积网络的人手实时连续姿态恢复"( 乔纳森 Tompson,Yann,Lecun,Ken Perlin ) 中描述的离线配件。 这个代码被用来适应 NYU手势数据集的框架。 注意我使用 Primesense Carmine 1.09捕获深度云和 RGB,但是这个代码不应该局限于这个设备的( 只要你调整了相关摄像机参数)。

    概述

    警告:这里代码提供的价格为 代码质量不是本质的坏,它只是不好组织或者用户友好。

    请注意,我已经使用了可用的示例数据。 我强烈建议你下载它并将它的提取到 ModelFit/data/ 目录中,并准备好就可以进行了。

    最后,我想说,UI并不是那么直观或者易于使用,而且我对这里很抱歉。 它是通过按键和鼠标动作的组合来驱动的。 在每个程序开始时,可能会向命令窗口输出一个可能的击键列表。

    下面描述了工作流程。

    第 1部分

    • 如果你使用多个Primesense设备,请使用 CalibrateKinects 项目首先对照相机的( 否则转到第 2部分) 进行 register。

      • 本程序首先使用相同的粒子群拟合算法进行标定模型,然后对它的进行微调。
      • 你应该捕获大约 10帧 static"校准几何图形",这是我用于"。论坛手势数据库"的相同格式的。 我为这个( http://www.korthalsaltes.com/model.php?name_en=icosahedron ) 使用了一个大的二十面体模型,但是你可以做任何你认为可能会工作的结构。
      • 将数据放入 ModelFit/data/calib 并运行 CalibrateKinects
      • 在启动时,将显示第一个kinect点云。 使用鼠标右键拖动将二维模型移动到位置。
      • [] 键循环通过 6个它的他rigid-body-transform系数,调整它的他系数,使模型近似地位于它的中。
      • i 到 switch 到第二个和第三个fram视图。 重复上述步骤将模型移动到位置。
      • f 将模型拟合到点云。 在拟合之后,视图之间的switch 验证匹配( 它只需要近似)。 按 h 将安装的6DOF coeffs保存到磁盘。
      • 使用 i 键选择 kinect 1. 按 c 以在 kinect 0和 1之间运行。
      • 使用 i 键选择 kinect 2. 按 c 以在 kinect 0和 2之间运行。
      • 返回 kinect 0视图并按 x 覆盖所有三个视图以目视检查框架是否正常。
      • 外部摄像机参数自动保存到磁盘。

    第 2部分

    • ModelFit 项目是本代码库的主要主机,并实现了本文描述的粒子群拟合算法。 在本例中,我使用了一个。

      • 在启动时,来自第一个kinect的点云被渲染出来。
      • 使用鼠标右键+ 拖动来更改系数值以及 [] 以更改当前正在修改的系数。 调整系数直到手大致与点云对齐。
      • f 按钮以适应当前帧。 你可能需要手动调整系数,并重复多次拟合。
      • 一旦第一帧看起来很好,按 h 将系数保存到磁盘。
      • g 自动循环剩余的帧,拟合每个帧并将系数保存到磁盘。
      • 你可以能发现,粒子群优化器会发现一些困难或者不明确的帧( 尤其是在所有的kinect视图中都缺少手指)的适合性。 这样你就必须手动调整系数并重新启动自动拟合。
      • 最后按 l 键返回第一帧(。或者 +-,一次通过 1帧),然后按 p 键按顺序播放安装的帧。

    编译和运行

    我已经在 Win 7/8/8.1 64bit + Visual Studio 2012 ( 它是唯一支持的操作系统和编译器) 中烘焙了预先编译的依赖项。 你需要解压以下文件中的lib文件: ModelFitlibWIN7.zip dependancies是跨平台的( linux,Windows 和 OS X ): 如果你想从头开始编译,assimpfreeimage,glfw,zeromq。

    解压缩 WIN7.zip 后,ModelFit.sln 应编译并运行。

    本项目遵循谷歌 C++ 风格惯例:

    http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml

    许可证

    这里程序是自由软件: 可以在自由软件基金会发布或者修改的条件下重新发布它,如许可证版本 3,许可证版本或者更高版本的版本。

    这个程序是分布式的希望它是有用的,但没有任何保修,甚至没有意义的保证。 参看GNU通用公共许可来获得更多细节。

    你应该已经收到了一个GNU通用 public 许可证的副本以及这个程序。 如果没有,请参见 http://www.gnu.org/licenses/


    THIS  离线  
    相关文章