Use Cases

Kinect Fusion 

The Kinect Fusion application is a computer vision algorithm developed originally in C++ with the aim to recreate and render a video at real time. It can run on existing datasets as well as in real-time with input frames from an attached RBG-d camera.


An open-source implementation of Kinect Fusion in Java is available on GitHub. This implementation includes more than 7.000 LoC, and it has been used with TornadoVM to accelerate the algorithm directly from Java onto GPUs.


This image shows a screenshot of the execution with TornadoVM on an NVIDIA GPU 1050. The left side shows the input of the program, while the right side shows the output that has been accelerated with TornadoVM. The input corresponds to different cameras/options from the Kinect camera, such as the depth image, track model and light-scene.

Overall, TornadoVM has accelerated the pure Java implementation of Kinect Fusion by 47x, while achieving 800x performance speedup for particular kernels.