OpenISS -- a unified multimodal motion data delivery framework.
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.
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.
Updates for Linux and C in EL6 (CentOS 6.x), CSI230-101 Fall 2017 course students teams:
Original build automation contributors for Linux in EL6 (CentOS 6.x), CSI230-101 Fall 2016 course students teams:
cmake
cmake
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 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
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.