PoseViz
| description | A web-based visualization and playback tool for 3D body tracking data. |
| website | https://fietkau.software/poseviz |
| last change | Fri, 15 May 2026 10:00:19 +0000 (12:00 +0200) |
PoseViz
PoseViz is a browser-based 3D visualization for pose tracking data recordings. Body tracking data, which can be gathered from infrared or stereoscopic depth sensors or estimated from normal 2D video feeds, is visualized as skeletons. It can be augmented with several optional inference visualizations, such as estimated gazes or projected walking trajectories.
This program was initially developed for the DFG-funded research project HoPE, which was concerned with the study of people’s behavior in front of large interactive public screens. After the project’s conclusion, the software was migrated to Julian Fietkau’s custody in a private capacity.
A custom file format for scene-based pose tracking data, also called PoseViz, was developed in tandem with this visualization software. It is loosely based on the Wavefront OBJ 3D model format and is relatively easy to intuit in a text editor. At time of writing, no tool to record/generate PoseViz files has been published, since in the course of the research project, they were deeply embedded in each sensor setup. Scene-based body tracking data differs from typical skeletal animation data (e.g. BioVision Hierarchy) by being oriented around a fixed spatial context which actors may enter or leave over the course of a recording, instead of aiming to record one specific actor’s body movements. Nonetheless, BVH rendering support has been added to PoseViz for demonstration purposes.
Requirements
This software requires a browser with support for dynamic JavaScript model imports to run.
On the server side, it requires a web server capable of serving static files – it cannot be loaded from a local directory (“file:” schema) on account of using JavaScript modules.
PoseViz is written in plain JavaScript and has no build steps.
The repository bundles the necessary parts of three.js to avoid third-party server requests at runtime. This project’s license does not apply to three.js. The most recent version can be found on the three.js website or repository.
Contributors
- Julian Fietkau: founder and maintainer
- Jan Schwarzer: Kinect v2 handling
- James Beutler: MediaPipe BlazePose handling
License
Copyright (C) Julian Fietkau and contributors
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.