OpenISS / OpenISS

OpenISS -- a unified multimodal motion data delivery framework.
Apache License 2.0
22 stars 21 forks source link
artists iss kinect library linux media motion-capture nuitrack osx siggraph vfx web-services windows wrappers

OpenISS

CII Best Practices

OpenISS is a motion capture data aggregation and delivery framework for VFX that has library instances abstracting various middleware and cameras for many application types.

Applications include AI+Art, performing arts, interactive film, facial animation, NUI applications using OpenGL, Processing, TensorFlow, Keras, and MARF.

The OpenISS framework provides a uniform abstraction layer over libfreenect, libfreenect2, librealsense, OpenNI2, NiTE2, NuiTrack, Azure SDK, PCL, and ROS and has REST and SOAP web services. There are different front-end modules as well based on OpenGL, Processing, and web browsers (JS).

The public GitHub updates are done periodically from private forks where a lot of integration / contributions happen.

History

OpenISS is inspired by the development of ISSv1, ISSv2, ISSv3 and MultiCamTk++, but is being built from scratch using C/C++ and various wrappers and uses similar or same open-source libraries, middleware and toolkits for sensors and creative coding. Various wrappers are being developed. See background on the inspirational ISS below. OpenISS API is likewise for the first time made it possble to access Kinect 1 and 2 as well as OpenCV as REST and SOAP services for creative near-realtime online broadcasting. OpenISS is poised to be the core replacement for ISSv2's pipeline. It also serves as an educational tool for graduate and undergraduate students in computer vision, computation arts, pattern recognition, AI, machine learning, and game development. It is designed to be portable.

Contributors

Current

Recent

Web Services

Early C API and Linux Builds

Build Instructions

Docker

Ubuntu

MacOS

EL7

EL7 (RHEL, CentOS, Scientific Linux) are as of September 2018 default and preferred build, so the development effort focuses around this platform, but it is known to run on macOS and Ubuntu.

EL6

EL6 is now considered legacy.

Notice, EL6 requires a newer kernel for proper USB3 and NVIDIA support. If you prefer to install dependencies manually, you can follow the scripts referenced here (build.sh and el6.sh) and repeat their relevant steps one by one.

Install:
        yum install git
        git clone https://github.com/OpenISS/OpenISS.git
        git submodule update --init --recursive
        Navigate to OpenISS/src
        Run the command:
            make deps

        This will install all of the 3rd party
        dependencies

Compile:    
        cd OpenISS/src
        make

Clean:      
        Navigate to OpenISS/src
        Run the command:
            make clean

        Removes the installed dependencies

TODO

Build Support

Wrappers

Background on the ISSv1, ISSv2, ISSv3

OpenISS’s core goals are to enable achieving something akin to the original ISS below in an open educational setting. Then, to build custom applications based on it, using OpenISS API as a core.

Academic Publications

Videos

References and Acknowledgements