simtrack, 基于仿真的跟踪框架

分享于 

6分钟阅读

GitHub

  繁體 雙語
A simulation-based framework for tracking
  • 源代码名称:simtrack
  • 源代码网址:http://www.github.com/karlpauwels/simtrack
  • simtrack源代码文档
  • simtrack源代码下载
  • Git URL:
    git://www.github.com/karlpauwels/simtrack.git
    Git Clone代码到本地:
    git clone http://www.github.com/karlpauwels/simtrack
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/karlpauwels/simtrack
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    SimTrack

    在实时跟踪的基础上,SimTrack 是一种用于实时检测和跟踪多个刚体刚体姿态的基于的多目标跟踪。 SimTrack是在 bsd许可协议下发布的。 SimTrack使用SiftGPU进行特征提取。 请注意,SiftGPU有一个不同的许可证。 如果你在你的研究中使用 SimTrack,请参考以下文章:

    Pauwels,卡尔和 Kragic,Danica ( 2015 ) SimTrack: 基于仿真的尺度实时物体姿态检测与跟踪系统框架。 ,国际智能机器人和系统国际会议,汉堡,德国 2015.

    有关详细信息,请参阅以下文件:

    ,卡尔,;,达芬奇,Ros,Ros,实时姿态检测和跟踪数以百计的物体的实时姿态。 媒体技术和系统的IEEE事务,按媒体。

    请查看以下SimTrack中的这些示例视频:

    系统要求

    • Ubuntu 12.04或者 14.04 ( 使用 16.04的动态分支)
    • Ros或者靛蓝( 用于Ros动力学的动力学分支)
    • 单目照相机或者rgb传感器( 华硕 Xtion,Primesense,Kinect v1或者 Kinect v2 )
    • 安装和工作 NVIDIA 驱动程序和工具包( 版本 6.5或者更高版本)
    • cuda图形处理单元( 类或者上)
      • 两个gpu推荐使用。
      • Xtion风格传感器( 640 x480 ) 至少需要 1.3 GB的免费GPU内存( 300 MB跟踪,1 GB检测),这三个示例对象。 使用 nvidia-smi 检查内存使用情况。
      • Kinect传感器( 1920 x1080 ) 至少需要 2.6 GB免费的内存( 400 MB跟踪在 QHD,2.2位检测全速高清)。 分辨率可以降低,但这不是理想的。

    安装

    安装 wstool:

    
    sudo apt-get install python-wstool
    
    
    
    

    创建你的工作区:

    
    mkdir -p ~/my-ws/src
    
    
    
    

    simtrack.rosinstall的内容复制到文件 ~/my-ws/src/.rosinstall 中

    获取代码:

    
    cd ~/my-ws/src
    
    
    wstool update
    
    
    
    

    安装依赖项:

    
    cd ~/my-ws
    
    
    sudo rosdep init # only if never run before
    
    
    rosdep install --from-paths src --ignore-src
    
    
    
    

    生成:

    
    cd ~/my-ws
    
    
    catkin_make -DCMAKE_BUILD_TYPE="Release"
    
    
    
    

    测试

    检查 nvidia-settings 并验证是否在的OpenGL设置禁用同步到 VBlank。

    初始化环境:

    
    cd ~/my-ws
    
    
    source devel/setup.bash
    
    
    
    

    构建三个演示对象的sift模型。 请注意,绝对路径是必需的:

    
    rosrun interface cmd_line_generate_sift_model `pwd`/src/simtrack/data/object_models/ros_fuerte/ros_fuerte.obj
    
    
    rosrun interface cmd_line_generate_sift_model `pwd`/src/simtrack/data/object_models/ros_groovy/ros_groovy.obj
    
    
    rosrun interface cmd_line_generate_sift_model `pwd`/src/simtrack/data/object_models/ros_hydro/ros_hydro.obj
    
    
    
    

    这个过程应该显示旋转的对象的SIFT keypoints。 将在各自的模型文件夹中创建三个新文件: ,ros_fuerte_SIFT.h5,,( ~7.0MB ),ros_hydro_SIFT.h5,( ~2.9mb ),。

    在三个A4-pages上打印 models_to_print.pdf。 使用打印标尺检查尺寸是否正确。

    parameters.yaml 中将GPU配置调整为你的系统:

    
    simtrack/tracker/device_id: 0
    
    
    simtrack/detector/device_id: 1
    
    
    
    

    例如对于单个gpu系统,将device_id的设置为 0.

    默认配置使用 openni_2-launch,它支持华硕Xtion和Primesense设备。 要使用 Kinect,请将 main.launch 指向 camera_kinect.launch 文件。

    运行 SimTrack:

    
    roslaunch simtrack_nodes main.launch
    
    
    
    

    或者如果你使用的是 Kinect v2,并且安装了驱动程序:

    
    roslaunch simtrack_nodes main_kinect2.launch
    
    
    
    

    追踪器输出在 /simtrack/image 主题上可用。 可以通过 dynamic_reconfigure 来调整跟踪器状态或者光流。

    如果一切顺利,应检测并跟踪打印的页面 ! 有关建模和跟踪你自己对象的帮助,请参阅教程。

    教程

    www.karlpauwels.com/simtrack


      BASE  framework  TRAC  
    相关文章