OpenARK:加州大学伯克利分校开源可穿戴式增强现实(AR)系统

 

刚刚在北京结束的Ismar2019增强现实领域的顶级学术会议年大会上,来自加州大学伯克利分校的openark开发团队提供了一个教程,介绍了这个强大的增强现实开源,OpenARK。

 

OpenARK:加州大学伯克利分校开源可穿戴式增强现实(AR)系统_第1张图片

OpenARK是于2016年在加州大学伯克利分校创建的开源可穿戴式增强现实(AR)系统。基于C ++的软件提供了创新的核心功能,可为各种现成的AR组件提供动力,包括透明眼镜,深度摄像头和IMU。

 

开源平台包括高级模块,以帮助人机交互,例如3D手势识别,平面检测,化身/姿势跟踪和多用户协作,还包含基本工具,例如基于AR的相机校准,深度到立体声,SLAM以及它。当前,它同时支持PMD Pico Flexx和Intel RealSense SR300摄像机。该项目在Windows和Linux上都原生构建。

 

我们来看下他的演示视频:

 

 

 

看到下面这种图是不是在很多科幻片中见过,隔空放大缩小飞机模型:

 

 

OpenARK:加州大学伯克利分校开源可穿戴式增强现实(AR)系统_第2张图片

OpenARK:加州大学伯克利分校开源可穿戴式增强现实(AR)系统_第3张图片

在看看现实增强拼积木:

OpenARK:加州大学伯克利分校开源可穿戴式增强现实(AR)系统_第4张图片

 

 

特点

  • 多目标追踪,实时模拟用户的手势和周围物体

  • OpenARK:加州大学伯克利分校开源可穿戴式增强现实(AR)系统_第5张图片

 

  • 硬件整合,将OpenARK与您选择的硬件设置集成

  • OpenARK:加州大学伯克利分校开源可穿戴式增强现实(AR)系统_第6张图片

 

  • 游戏引擎支持,将跟踪结果无缝地传输到流行的游戏引擎(例如Unity)。

  • OpenARK:加州大学伯克利分校开源可穿戴式增强现实(AR)系统_第7张图片

 

  • 技术堆栈:C ++,OpenCV,PCL,Boost,OpenNI,RealSense 3D SDK,PMD SDK

  • 状态:Beta 0.8

  • 应用演示:vimeo.com/205084929

依赖

Hardware

  • Depth Camera

  • RGB Camera

  • Transparent AR Glasses (optional)

Software

  • Eigen 3

  • OpenCV 3.2.0+

  • PCL 1.8

  • Boost 1.6.4

  • Ceres-solver

  • DBoW2

  • etc. for the full list, see DEPENDENCIES.md

安装

Building From Scratch

以下文档中提供了说明:

 

  • Windows:documentation / Windows-build-instructions.pdf

https://github.com/augcog/OpenARK/blob/master/documentation/Windows-build-instructions.pdf

现在可以使用新的依赖项包安装程序,它可以加快设置过程。请阅读说明文件/Windows-build-instructions-quick.md以获取说明。可以在https://github.com/sxyu/OpenARK-Deps/releases/download/0.0.1/openark-deps-vc14-win64.exe中找到安装程序。

 

  • Linux:documentation/Linux-build-instructions.md

https://github.com/augcog/OpenARK/blob/master/documentation/Linux-build-instructions.md

 

要使用头像模块/演示:您将需要手动下载SMPL模型文件。指令位于data / avatar-model / README.md中。您也可以通过运行data / avatar-dataset / download.sh下载数据集样本。

 

对于Windows需要预编译二进制文件

此处https://github.com/augcog/OpenARK/releases提供了用于64位Windows的预构建二进制文件。仅针对主要版本进行了更新。静态库(带有标头)和演示程序都包括在内。为了使SVM正常工作,svm /文件夹必须存在于当前目录中或OPENARK_DIR环境变量指向的目录下。

 

使用

用Visual Studio C++ 打开OpenARK项目:

设置完所有依赖的库 (OpenCV, PCL, etc.) 通过下面配置添加需要的库文件, add openark_x_x_x.lib to Project > MyProjectProperties > Linker > Input > Additional Dependencies. 

然后添加include目录OPENARK_DIR/include to C/C++ > General > Additional Include Directories. 

最后确定在 C/C++ > Code Generation, Runtime Library 设置为 Multi-threaded DLL (/MD)开发模式.

 

现在你可以使用 #include OpenARK's 该语句包含OpenARK.所需要的头文件进行开发。

 

我们来看看这是执行手部检测程序的代码:

 

...#include "core.h"#include "SR300Camera.h"
#include "opencv2/core.hpp"#include ...int main() {    ark::DepthCamera & camera = ark::SR300Camera(); // OpenARK camera backend    ark::HandDetector detector(); // OpenARK hand detector; also see PlaneDetector        // start the camera; alternatively, call nextFrame() manually inside the loop (slower)    camera.beginCapture();     ...    while (true) {        cv::imshow("XYZ Map", camera.getXYZMap());
        detector.update(camera);        std::vector hands = detector.getHands();                // do something with the hands detected        ...                // quit when q is pressed        if (cv::waitKey(1) == 'q') break;    }        ...    // automatically stops capture on exit}

相关论文源码下载地址:关注“图像算法”微信公众号 回复“增强现实

你可能感兴趣的:(图像算法)