Skip to main content

Viewing and rendering of sequences of 3D data.

Project description

AITV AITViewer

A set of tools to visualize and interact with sequences of 3D data with cross-platform support on Windows, Linux, and Mac OS X.

AITV Sample

Features

  • Easy to use Python interface.
  • Load SMPL[-H | -X] / MANO / FLAME sequences and display them in an interactive viewer.
  • Built-in extensible GUI (based on Dear ImGui).
  • Prebuilt renderable primitives (cylinders, spheres, point clouds, etc).
  • Render videos of the currently loaded sequences.
  • Headless/Offscreen rendering.
  • Support live data feeds and rendering (e.g., webcam).
  • Modern OpenGL shader-based rendering pipeline for high performance (via ModernGL / ModernGL Window).

AITV Interface

Installation

Basic Installation:

pip install aitviewer

Or install locally (if you need to extend or modify code)

git clone git@github.com:eth-ait/aitviewer.git
cd aitviewer
pip install -e .

Note that this does not install the GPU-version of PyTorch automatically. If your environment already contains it, you should be good to go, otherwise install it manually.

Configuration

The viewer loads default configuration parameters from aitvconfig.yaml. There are two ways how to override these parameters:

  • Create a file named aitvconfig.yaml and have the environment variable AITVRC point to it. Alternatively, you can point AITVRC to the directory containing aitvconfig.yaml.
  • Create a file named aitvconfig.yaml in your current working directory, i.e. from where you launch your python program.

Note that the configuration files are loaded in this order, i.e. the config file in your working directory overrides all previous parameters.

The configuration management is using OmegaConf. You will probably want to override the following parameters at your convenience:

  • datasets.amass: where AMASS is stored if you want to load AMASS sequences.
  • smplx_models: where SMPLX models are stored, preprocessed as required by the smplx package.
  • export_dir: where videos and other outputs are stored by default.

Quickstart

View an SMPL template

from aitviewer.renderables.smpl import SMPLSequence
from aitviewer.viewer import Viewer

smpl_template = SMPLSequence.t_pose()

# Display in viewer.
v = Viewer()
v.scene.add(smpl_template)
v.run()

Examples

Check out the examples for a few examples how to use the viewer. Some examples are:

load_3dpw.py: Loads an SMPL sequence from the 3DPW dataset and displays it in the viewer.

load_amass.py: Loads an SMPL sequence from the AMASS dataset and displays it in the viewer.

load_obj.py: Loads meshes from OBJ files.

load_template.py: Loads the template meshes of SMPL-H, MANO, and FLAME.

render_primitives.py: Renders a bunch of spheres and lines.

stream.py: Streams your webcam into the viewer.

vertex_clicking.py: An example how to subclass the basic Viewer class for custom interaction.

Projects using the AITViewer

The following projects have used the AITViewer:

Citation

If you use this software, please cite it as below.

@software{Kaufmann_Vechev_AITViewer_2022,
  author = {Kaufmann, Manuel and Vechev, Velko},
  doi = {10.5281/zenodo.1234},
  month = {7},
  title = {{AITViewer}},
  url = {https://github.com/eth-ait/aitviewer},
  version = {1.0},
  year = {2022}
}

Contact & Contributions

This software was developed by Manuel Kaufmann and Velko Vechev. For questions please create an issue. We welcome and encourage module and feature contributions from the community.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aitviewer-1.0.1.tar.gz (88.5 kB view details)

Uploaded Source

File details

Details for the file aitviewer-1.0.1.tar.gz.

File metadata

  • Download URL: aitviewer-1.0.1.tar.gz
  • Upload date:
  • Size: 88.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.5

File hashes

Hashes for aitviewer-1.0.1.tar.gz
Algorithm Hash digest
SHA256 f0214e2e560bd712f4c4709b9fdfdbb1d50962778807e194b685ab9e1d4df602
MD5 ee23c2abb5cb42e4b3ec2ab81fe7bf67
BLAKE2b-256 bef918bfa79f1cf1004ebcba63e59c2dfe5c798fde9e711620b9f3196b7286b5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page