Introduction
Syclops is a tool for creating synthetic data from 3D virtual environments.
🎯 Features
📷 Photorealistic renderings of the virtual environment with pixel-perfect annotations
📄 No-Code scene and sensor configuration with a simple YAML syntax
🔧 Extensive randomization tools to increase the diversity of the generated data
💾 Asset management and viewer to easily reuse assets across multiple scenes
📦 Easy to use and extend with a modular architecture
🔍 Annotations
Syclops supports a variety of annotated outputs for different use cases. The following outputs are currently supported:
Output | Description |
---|---|
RGB | Rendered color image |
Semantic Segmentation | Semantic segmentation mask with class ids |
Instance Segmentation | Unique instance id for each object in the scene |
Depth | Distance from the camera to each pixel |
Bounding Boxes | Bounding boxes for each object in the scene |
Object Positions | 3D position of each object in the scene |
Point Cloud | 3D location of each pixel in camera space |
Keypoints | Location of keypoints in camera space |
Object Volume | Volume of each object in the scene |
Structured Light | Projected dot pattern for structured light reconstruction |
📣 Terminology
Term | Description |
---|---|
Scene | A scene is a virtual 3D environment that is used by the pipeline to generate sensor data. |
Job | A job is a YAML file that defines the environment, sensors, and output of a scene. |
Plugin | A plugin is a python class that is used to extend the functionality of the pipeline. It can create new elements in the scene, simulate a sensor, or add a new output. |
Asset | An asset is something that can be used by the pipeline. This can be a 3D model, a texture, or a material. |