diff --git a/SUMMARY.md b/SUMMARY.md
index 5f631267..7952d1f5 100644
--- a/SUMMARY.md
+++ b/SUMMARY.md
@@ -51,6 +51,7 @@
* [Lyft](data-organization/import/import/supported-formats-pointcloud-episodes/lyft.md)
* [nuScenes](data-organization/import/import/supported-formats-pointcloud-episodes/nuscenes.md)
* [KITTI 360](data-organization/import/import/supported-formats-pointcloud-episodes/kitti360.md)
+ * [SemanticKITTI](data-organization/import/import/supported-formats-pointcloud-episodes/semantic-kitti.md)
* [Volumes](import-and-export/import/supported-annotation-formats/volumes/README.md)
* [Supervisely](data-organization/import/import/supported-formats-volumes/supervisely.md)
* [.NRRD, .DCM volumes](data-organization/import/import/supported-formats-volumes/volumes.md)
diff --git a/data-organization/import/export/export-apps.md b/data-organization/import/export/export-apps.md
index b709598d..5b99f833 100644
--- a/data-organization/import/export/export-apps.md
+++ b/data-organization/import/export/export-apps.md
@@ -18,6 +18,7 @@ from the context menu of a project or dataset or launch the application directly
* [Export activity as csv](https://ecosystem.supervisely.com/apps/export-activity-as-csv)
* [Export to YOLOv8 format](https://ecosystem.supervisely.com/apps/export-to-yolov8)
* [Export to DOTA](https://ecosystem.supervisely.com/apps/export-to-dota)
+ * [Export to SemanticKITTI](https://ecosystem.supervisely.com/apps/export-to-semantic-kitti) - for point cloud episodes
3. [**Export only certain items.**](https://ecosystem.supervisely.com/apps/export-only-labeled-items) App exports only labeled items from project and prepares downloadable tar archive. Annotations will be in Supervisely format. App works with all types of projects: Images, Videos , Point Clouds. Unlabeled items will be skipped. Also there is the additional option to export only annotations without actual data.
diff --git a/data-organization/import/export/export.md b/data-organization/import/export/export.md
index eef578ff..c4ebf8f7 100644
--- a/data-organization/import/export/export.md
+++ b/data-organization/import/export/export.md
@@ -28,7 +28,7 @@ Of course, there are countless other Supervisely Apps that will help download yo
* [Export to YOLOv8 format](https://ecosystem.supervisely.com/apps/export-to-yolov8)
* [Export to DOTA](https://ecosystem.supervisely.com/apps/export-to-dota)
* [Export to Cityscapes](https://ecosystem.supervisely.com/apps/export-to-cityscapes)
-
+* [Export to SemanticKITTI](https://ecosystem.supervisely.com/apps/export-to-semantic-kitti) - for point cloud episodes
Explore more [export applications](https://ecosystem.supervisely.com/export) in the Ecosystem.
**For Python developers** βyou can use our Python SDK to download and convert your data to COCO, YOLO, Pascal VOC formats:
diff --git a/data-organization/import/import/supported-formats-pointcloud-episodes/semantic-kitti.md b/data-organization/import/import/supported-formats-pointcloud-episodes/semantic-kitti.md
new file mode 100644
index 00000000..792bac7e
--- /dev/null
+++ b/data-organization/import/import/supported-formats-pointcloud-episodes/semantic-kitti.md
@@ -0,0 +1,126 @@
+# Overview
+
+{% hint style="success" %}
+Easily import your point cloud episodes with annotations in the SemanticKITTI format.
+{% endhint %}
+
+The SemanticKITTI format is designed for semantic scene understanding of LiDAR sequences. It provides dense point-wise semantic annotations for point cloud episodes, enabling tasks like semantic segmentation, panoptic segmentation, and semantic scene completion. The format supports multiple sequences with semantic classes covering vehicles, buildings, vegetation, road surfaces, and other urban environment objects.
+
+# Input files structure
+
+{% hint style="success" %}
+Example data: [download β¬οΈ](https://github.com/supervisely-ecosystem/demo-semantic-kitti-pointcloud-episodes-annotated/releases/download/v1.0.0/project.zip) - sample data from the official SemanticKITTI dataset
+{% endhint %}
+
+**Format directory structure:**
+
+```text
+π¦SemanticKITTI
+βββπsequences
+β βββπ00
+β β βββπvelodyne
+β β β βββπ000000.bin
+β β β βββπ000001.bin
+β β β βββπ000002.bin
+β β β βββπ...
+β β βββπlabels
+β β β βββπ000000.label
+β β β βββπ000001.label
+β β β βββπ000002.label
+β β β βββπ...
+β β βββπcalib.txt
+β β βββπposes.txt
+β β βββπtimes.txt
+β βββπ01
+β β βββπvelodyne
+β β β βββπ...
+β β βββπlabels
+β β β βββπ...
+β β βββπcalib.txt
+β β βββπposes.txt
+β β βββπtimes.txt
+β βββπ...
+```
+
+**The SemanticKITTI structure is organized as follows:**
+
+- `sequences/` - contains numbered sequence folders
+ - `XX/` - sequence folder (e.g., 00, 01, 02...)
+ - `velodyne/` - contains LiDAR point cloud files in binary format
+ - `labels/` - contains semantic and instance labels for each scan
+ - `calib.txt` - calibration file containing projection matrices
+ - `poses.txt` - camera poses for each scan
+ - `times.txt` - timestamps for each scan
+
+# SemanticKITTI Annotation format
+
+## Point Cloud Files (`.bin`)
+
+Point cloud files are stored in binary format with `.bin` extension. Each file contains a list of 3D points with intensity values.
+
+**Format:** Each point is represented by 4 float32 values:
+
+- `x` - X coordinate (float32)
+- `y` - Y coordinate (float32)
+- `z` - Z coordinate (float32)
+- `intensity` - Reflectance value (float32)
+
+## Label Files (`.label`)
+
+The label files are stored in binary format with the `.label` extension. Each label file corresponds to a single point cloud scan and contains semantic and instance annotations for each point.
+
+**Format:**
+Each label is a 32-bit unsigned integer (`uint32_t`) encoding both semantic class and instance ID:
+
+- **Lower 16 bits** - semantic label (class ID)
+- **Upper 16 bits** - instance ID (temporally consistent across the sequence)
+
+The instance IDs are consistent over the whole sequence, meaning the same object in different scans gets the same ID. This applies to both moving and static objects.
+
+## Calibration File (`calib.txt`)
+
+The calibration file contains projection matrices for transforming between coordinate systems. It includes:
+
+- `P0`, `P1`, `P2`, `P3` - Camera projection matrices (3x4)
+- `Tr` - Transformation matrix from Velodyne to camera coordinates (3x4 or 4x4)
+
+## Poses File (`poses.txt`)
+
+The poses file contains the camera pose (transformation from camera coordinates to world coordinates) for each scan in the sequence. Each line represents a pose as a 3x4 transformation matrix (flattened to 12 values).
+
+**Format:** Each line contains 12 float values representing the first three rows of a 4x4 transformation matrix (the last row is [0, 0, 0, 1]).
+
+## Times File (`times.txt`)
+
+The times file contains timestamps for each scan in the sequence. Each line contains a single float value representing the timestamp in seconds.
+
+# Export
+
+You can export your labeled point cloud episodes data to SemanticKITTI format using the Export to SemanticKITTI application from the Supervisely Ecosystem.
+
+# License
+
+The SemanticKITTI dataset is distributed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 license. You are free to share and adapt the data, but you must give appropriate credit and may not use the work for commercial purposes.
+
+When using the SemanticKITTI dataset, please cite:
+
+```bibtex
+@inproceedings{behley2019iccv,
+ author = {J. Behley and M. Garbade and A. Milioto and J. Quenzel and S. Behnke and C. Stachniss and J. Gall},
+ title = {{SemanticKITTI: A Dataset for Semantic Scene Understanding of LiDAR Sequences}},
+ booktitle = {Proc. of the IEEE/CVF International Conf.~on Computer Vision (ICCV)},
+ year = {2019}
+}
+```
+
+And the original KITTI Vision Benchmark:
+
+```bibtex
+@inproceedings{geiger2012cvpr,
+ author = {A. Geiger and P. Lenz and R. Urtasun},
+ title = {{Are we ready for Autonomous Driving? The KITTI Vision Benchmark Suite}},
+ booktitle = {Proc.~of the IEEE Conf.~on Computer Vision and Pattern Recognition (CVPR)},
+ pages = {3354--3361},
+ year = {2012}
+}
+```
diff --git a/data-organization/import/import/supported-formats-pointcloud-episodes/supervisely.md b/data-organization/import/import/supported-formats-pointcloud-episodes/supervisely.md
index 893fa5e0..1b798bd3 100644
--- a/data-organization/import/import/supported-formats-pointcloud-episodes/supervisely.md
+++ b/data-organization/import/import/supported-formats-pointcloud-episodes/supervisely.md
@@ -1,288 +1,136 @@
-# Overview
+# What is the SemanticKITTI Format?
{% hint style="success" %}
-Easily import your pointcloud episodes with annotations in the Supervisely format. The Supervisely json-based annotation format supports `cuboid_3d` shape figures. It is a universal format that supports various types of annotations and is used in the Supervisely platform.
+Easily import your **LiDAR point cloud sequences** and **3D semantic annotations** using the SemanticKITTI format into Supervisely.
{% endhint %}
-{% hint style="info" %}
-All information about the Supervisely JSON format can be found here
-{% endhint %}
-
-Enterprise users have access to "Import as links" option, which supports import of this format with annotations. This option might be beneficial in many cases, as it allows data import to Supervisely platform without re-uploading, maintaining a single source and speeding up import process.
-
-# Format description
-
-**Supported point cloud format:** `.pcd`
-**With annotations:** yes
-**Supported annotation format:** `.json`.
-**Data structure:** Information is provided below.
+The **SemanticKITTI** format is a widely used standard designed for semantic scene understanding and **autonomous driving** applications. It provides dense point-wise annotations for 3D point cloud episodes, enabling advanced machine learning tasks like **semantic segmentation**, **instance segmentation**, panoptic segmentation, and 3D scene completion. The format supports processing continuous tracking sequences with diverse semantic classes, covering vehicles, pedestrians, buildings, vegetation, road surfaces, and other urban environment objects.
-# Input files structure
+# Input Files Structure
{% hint style="success" %}
-Example data: [download β¬οΈ](https://github.com/supervisely-ecosystem/demo-kitti-3d-episodes/releases/download/v0.0.1/demo_kitti_pointcloud_episodes.zip).
+[Download sample dataset in SemanticKITTI format (15 MB)](https://github.com/supervisely-ecosystem/demo-semantic-kitti-pointcloud-episodes-annotated/releases/download/v1.0.0/project-example.zip)
{% endhint %}
-Both directory and archive are supported.
-
-**Recommended directory structure:**
-
-Root folder for the project named `project name`
-
-- `meta.json` file
-- `key_id_map.json` file
-- Dataset folders, that represents single episode. Each named `dataset_name`, which contains:
- - `annotation.json` - file with whole episode annotation
- - `frame_pointcloud_map.json` - file with pointcloud to episode frame mapping
- - `pointcloud` folder, contains source point cloud files, for example `frame1.pcd, frame2.pcd`
- - `related_images` optional folder, contains photo-context data:
- - Frame folder, each named according to pointcloud (`/related_images/frame1/`), which contains:
- - image files (`.png \ .jpg`)
- - photo context image annotation file (`.json`) - json files, named according to image name (`1.png -> 1.png.json`). Read more in the "Photo context image annotation file" section below.
-
-# Format of Annotations
-
-```json
-{
- "description": "",
- "key": "e9f0a3ae21be41d08eec166d454562be",
- "tags": [],
- "objects": [
- {
- "key": "6663ca1d20c74bea83bd48c24568989d",
- "classTitle": "car",
- "tags": []
- }
- ],
- "framesCount": 48,
- "frames": [
- {
- "index": 0,
- "figures": [
- {
- "key": "cb8e067dadfc423aa8575a0c4e62de33",
- "objectKey": "6663ca1d20c74bea83bd48c24568989d",
- "geometryType": "cuboid_3d",
- "geometry": {
- "position": {
- "x": -10.863547325134277,
- "y": -93.57706451416016,
- "z": -4.598618030548096
- },
- "rotation": {
- "x": 0,
- "y": 0,
- "z": 3.250733629393711
- },
- "dimensions": {
- "x": 1.978,
- "y": 4.607,
- "z": 1.552
- }
- }
- }
- ]
- },
- {
- "index": 1,
- "figures": [
- {
- "key": "71e0fe52dc4f4f6aaf059ad095f43c1f",
- "objectKey": "6663ca1d20c74bea83bd48c24568989d",
- "labelerLogin": "username",
- "updatedAt": "2021-11-11T17:19:11.448Z",
- "createdAt": "2021-11-11T16:53:03.670Z",
- "geometryType": "cuboid_3d",
- "geometry": {
- "position": {
- "x": -11.10418701171875,
- "y": -91.33098602294922,
- "z": -4.5446248054504395
- },
- "rotation": {
- "x": 0,
- "y": 0,
- "z": 3.24780199600921
- },
- "dimensions": {
- "x": 1.978,
- "y": 4.607,
- "z": 1.552
- }
- }
- }
- ]
- }
- ]
-}
+**Format directory structure:**
+
+```text
+π¦SemanticKITTI
+βββπsequences
+β βββπ00
+β β βββπvelodyne
+β β β βββπ000000.bin
+β β β βββπ000001.bin
+β β β βββπ000002.bin
+β β β βββπ...
+β β βββπlabels
+β β β βββπ000000.label
+β β β βββπ000001.label
+β β β βββπ000002.label
+β β β βββπ...
+β β βββπcalib.txt
+β β βββπposes.txt
+β β βββπtimes.txt
+β βββπ01
+β β βββπvelodyne
+β β β βββπ...
+β β βββπlabels
+β β β βββπ...
+β β βββπcalib.txt
+β β βββπposes.txt
+β β βββπtimes.txt
+β βββπ...
```
-**Optional fields and loading**
-These fields are optional and are not needed when loading the project.
-The server can automatically fill in these fields while project is loading.
+**The Semantic KITTI structure is organized as follows:**
-- `id` - unique identifier of the current object
-- `classId` - unique class identifier of the current object
-- `labelerLogin` - string - the name of user who created the current figure
-- `createdAt` - string - date and time of figure creation
-- `updatedAt` - string - date and time of the last figure update
+- `sequences/` - contains numbered sequence folders
+ - `XX/` - sequence folder (e.g., 00, 01, 02...)
+ - `velodyne/` - contains LiDAR point cloud files in binary format
+ - `labels/` - contains semantic and instance labels for each scan
+ - `calib.txt` - calibration file containing projection matrices
+ - `poses.txt` - camera poses for each scan
+ - `times.txt` - timestamps for each scan
-Main idea of `key` fields and `id` you can see below in "Key id map file" section.
+# Semantic KITTI Annotation Format
-**Fields definitions:**
+## Point Cloud Files
-- `description` - string - (optional) - this field is used to store the text to assign to the sequence.
-- `key` - string, unique key for a given sequence (used in key_id_map.json to get the sequence ID)
-- `tags` - list of strings that will be interpreted as episode tags
-- `objects` - list of objects that may be present on the episode
-- `frames` - list of frames of which the episode consists. List contains only frames with an object from the 'objects' field
- - `index` - integer - number of the current frame
- - `figures` - list of figures in the current frame.
-- `framesCount` - integer - total number of frames in the episode
-- `geometryType` - "cuboid_3d" - class shape
+Filename: `.bin`
-**Fields definitions for `objects` field:**
+Point cloud files are stored in binary format with `.bin` extension. Each file contains a list of 3D points with intensity values.
-- `key` - string - unique key for a given object (used in key_id_map.json)
-- `classTitle` - string - the title of a class. It's used to identify the class shape from the `meta.json` file
-- `tags` - list of strings that will be interpreted as object tags (can be empty)
+**Format:** Each point is represented by 4 float32 values:
-**Fields description for `figures` field:**
+- `x` - X coordinate (float32)
+- `y` - Y coordinate (float32)
+- `z` - Z coordinate (float32)
+- `intensity` - Reflectance value (float32)
-- `key` - string - unique key for a given figure (used in key_id_map.json)
-- `objectKey` - string - unique key to link figure to object (used in key_id_map.json)
-- `geometryType` - "cuboid_3d" -class shape
-- `geometry` - geometry of the object
+## Label Files
-**Description for `geometry` field:**
+Filename: `.label`
-- `position` 3D vector X, Y, Z values matches the axes on world coordinates, defined in global frame of reference as:
+The label files are stored in binary format with the `.label` extension. Each label file corresponds to a single point cloud scan and contains semantic and instance annotations for each point.
- - **+x** - forward in the direction of travel ego vehicle
- - **+y** - left
- - **+z** - up
+**Format:**
+Each label is a 32-bit unsigned integer (`uint32_t`) encoding both semantic class and instance ID:
-- `dimensions` is 3D vector with:
+- **Lower 16 bits** - semantic label (class ID)
+- **Upper 16 bits** - instance ID (temporally consistent across the sequence)
- - **x** - width
- - **y** - length
- - **z** - height
+The instance IDs are consistent over the whole sequence, meaning the same object in different scans gets the same ID. This applies to both moving and static objects.
-- `rotation`is 3D Vector with:
- - **x** - pitch
- - **y** - roll
- - **z** - yaw (direction)
+## Calibration File
-Rotation values bound inside \[**-pi** ; **pi** ]
-When `yaw = 0` box direction will be strict `+y`
+Filename: `calib.txt`
-## Key id map file
+The calibration file contains projection matrices for transforming between coordinate systems. It includes:
-You can avoid using key-id-map directly with API and SDK to create your own file structure.
+- `P0`, `P1`, `P2`, `P3` - Camera projection matrices (3x4)
+- `Tr` - Transformation matrix from Velodyne to camera coordinates (3x4 or 4x4)
-The basic idea behind key-id-map is that it maps the unique identifiers of the object to the frame on which the shape is located. The server works with an identifier, but the file system of the loaded project stores these identifiers and object keys on disk, which is necessary for navigation and use of the high-level API and applications.
+## Poses File
-When loading a `dataset` (sequence), the system returns its identifier, after which it is saved to a file on disk, along with the key of the loaded sequence in key-id-map file.
+Filename: `poses.txt`
-When uploading `objects` to the server, a sequence ID is required (to determine which sequence the object belongs to), and it can be read from the key-id-map file by key. The system then returns the IDs of the successfully loaded objects.
+The poses file contains the camera pose (transformation from camera coordinates to world coordinates) for each scan in the sequence. Each line represents a pose as a 3x4 transformation matrix (flattened to 12 values).
-Then, while `figures` uploading to the server, an object identifier is required (which loaded object the shape belongs to), which can again be read from the key-id-map file.
+**Format:** Each line contains 12 float values representing the first three rows of a 4x4 transformation matrix (the last row is [0, 0, 0, 1]).
-While annotating the episode inside Supervisely interface key-id-map file is created automatically, and will be downloaded with the entire project.
-Json format of key_id_map.json:
+## Times File
-```json
-{
- "tags": {},
- "objects": {
- "198f727d40c749eebcacc4aed299b39a": 20520
- },
- "figures": {
- "65f21690780e43b49863c3cbd07eab3a": 503130811
- },
- "videos": {
- "e9f0a3ae21be41d08eec166d454562be": 42656
- }
-}
-```
+Filename: `times.txt`
-- `objects` - dictionary, where the key is a unique string, generated inside Supervisely environment to set correspondence of current object in annotation, and values are unique integer ID corresponding to the current object
-- `figures` - dictionary, where the key is a unique string, generated inside Supervisely environment to set correspondence of object on current frame in annotation, and values are unique integer ID corresponding to the current frame
-- `videos` - dictionary, where the key is unique string, generated inside Supervisely environment to set correspondence of sequence (dataset) in annotation, and value is a unique integer ID corresponding to the current sequence
-- `tags` - dictionary, where the keys are unique strings, generated inside Supervisely environment to set correspondence of tag on current frame in annotation, and values are a unique integer ID corresponding to the current tag
+The times file contains timestamps for each scan in the sequence. Each line contains a single float value representing the timestamp in seconds.
-- **Key** - generated by python3 function `uuid.uuid4().hex`. The unique string. All key values and id's should be unique inside single project and can not be shared between frames\sequences.
-- **Value** - returned by server integer identifier while uploading object / figure / sequence / tag
+# Export
-## Format of frame_pointcloud_map.json
+You can export your labeled point cloud episodes data to Semantic KITTI format using the Export to Semantic KITTI application from the Supervisely Ecosystem.
-This file set mapping between pointcloud files and annotation frames in the correct order.
+# License
-```json
-{
- "0": "frame1.pcd",
- "1": "frame2.pcd",
- "2": "frame3.pcd"
-}
-```
-
-**Keys** - frame order number\
-**Values** - point cloud name (with extension)
-
-## Photo context image annotation file
-
-```json
- {
- "name": "host-a005_cam4_1231201437716091006.jpeg"
- "entityId": 2359620,
- "meta": {
- "deviceId": "CAM_BACK_LEFT",
- "timestamp": "2019-01-11T03:23:57.802Z",
- "sensorsData": {
- "extrinsicMatrix": [
- -0.8448329028461443,
- -0.5350302199120708,
- 0.00017334762588639086,
- -0.012363736761232369,
- -0.0035124448582330757,
- 0.005222293412494302,
- -0.9999801949951969,
- -0.16621728572112304,
- 0.5350187183638307,
- -0.8448167798004226,
- -0.006291229448121315,
- -0.3527897896721229
- ],
- "intrinsicMatrix": [
- 882.42699274,
- 0,
- 602.047851885,
- 0,
- 882.42699274,
- 527.99972239,
- 0,
- 0,
- 1
- ]
- }
- }
- }
-```
+The Semantic KITTI dataset is distributed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 license. You are free to share and adapt the data, but you must give appropriate credit and may not use the work for commercial purposes.
-**Fields description:**
+When using the Semantic KITTI dataset, please cite:
-- name - string - Name of image file
-- Id - (OPTIONAL) - integer >= 1 ID of the photo in the system. It is not required when upload and is filled in automatically when the project is loaded.
-- entityId (OPTIONAL) - integer >= 1 ID of the Point Cloud in the system, that photo attached to. Doesn't required while uploading.
-- deviceId - string- Device ID or name.
-- timestamp - string - Time when the frame occurred in ISO 8601 format
-- sensorsData - Sensors data such as Pinhole camera model parameters. See wiki: Pinhole camera model and OpenCV docs for 3D reconstruction.
- - intrinsicMatrix - Array of number - 3x3 flatten matrix (dropped last zeros column) of intrinsic parameters in row-major order, also called camera matrix. It's used to denote camera calibration parameters. See Intrinsic parameters.
- - extrinsicMatrix - Array of number - 4x3 flatten matrix (dropped last zeros column) of extrinsic parameters in row-major order, also called joint rotation-translation matrix. It's used to denote the coordinate system transformations from 3D world coordinates to 3D camera coordinates. See Extrinsic_parameters.
+```bibtex
+@inproceedings{behley2019iccv,
+ author = {J. Behley and M. Garbade and A. Milioto and J. Quenzel and S. Behnke and C. Stachniss and J. Gall},
+ title = {{SemanticKITTI: A Dataset for Semantic Scene Understanding of LiDAR Sequences}},
+ booktitle = {Proc. of the IEEE/CVF International Conf.~on Computer Vision (ICCV)},
+ year = {2019}
+}
+```
-# Useful links
+And the original KITTI Vision Benchmark:
-- Supervisely Annotation Format
-- Supervisely Pointcloud Episodes Annotation
-- [SDK CLI] Upload projects in Supervisely format
-- [Supervisely Ecosystem] Import Pointcloud Episodes in Supervisely
+```bibtex
+@inproceedings{geiger2012cvpr,
+ author = {A. Geiger and P. Lenz and R. Urtasun},
+ title = {{Are we ready for Autonomous Driving? The KITTI Vision Benchmark Suite}},
+ booktitle = {Proc.~of the IEEE Conf.~on Computer Vision and Pattern Recognition (CVPR)},
+ pages = {3354--3361},
+ year = {2012}
+}
+```
diff --git a/labeling/3D-Point-Clouds/3D-point-cloud-episodes-2/README.md b/labeling/3D-Point-Clouds/3D-point-cloud-episodes-2/README.md
index d2ec9025..83580628 100644
--- a/labeling/3D-Point-Clouds/3D-point-cloud-episodes-2/README.md
+++ b/labeling/3D-Point-Clouds/3D-point-cloud-episodes-2/README.md
@@ -35,7 +35,7 @@ Difference between 3D Point Cloud and 3D Point Cloud Episodes:
Supervisely's 3D AI assistant is a universal tool for automating 3D point cloud labeling. It covers all types of labeling scenarios for 3D point clouds: 3D object detection, ground segmentation, 3D cuboid tracking, transfer of 2D annotations from photo context images to original 3D point clouds. This tool is class-agnostic - it means that it works with any type of objects regardless of their shape and point density.
-### Automatic cuboid adjustment
+### Automatic Π‘uboid Π€djustment
* Automatically adjusts manually created cuboids.
@@ -91,7 +91,7 @@ Patchwork++ segments ground points in 3D point clouds by dividing the space into
It improves upon the original Patchwork by introducing **adaptive plane modeling** and better handling of **non-flat terrain** using **hierarchical spatial partitioning** and **local elevation statistics**.\
Patchwork++ also includes mechanisms to handle **sparse or occluded regions** and improves **computational efficiency**, making it suitable for **real-time applications** in **autonomous driving** and **robotics**.
-[**GndNet**](https://inria.hal.science/hal-02927350/document) is a **neural network architecture** for **ground plane estimation**, trained on the **Semantic KITTI** dataset.\
+[**GndNet**](https://inria.hal.science/hal-02927350/document) is a **neural network architecture** for **ground plane estimation**, trained on the **SemanticKITTI** dataset.\
GndNet first performs **point cloud discretization** into a **2D grid**, then converts the point cloud into a **sparse pseudo-image** via a **pillar encoding feature network**,\
and finally processes this pseudo-image via a **2D convolutional encoder-decoder network** to generate a **high-level representation** of ground elevation per cell.
@@ -373,7 +373,7 @@ AutoImport supports a **wider range of formats** than individual apps and does *
However, for more control or special cases, you can use dedicated Supervisely Apps to import point clouds from specific formats such as **KITTI**, **ROS bag**, **PLY**, and more.
-Similarly, you can export your labeled point cloud data into various formats using standard Supervisely Export Apps. These apps support exporting annotations, projects, or specific point cloud formats including **KITTI 3D**, **ROS Bag**, and others.
+Similarly, you can export your labeled point cloud data into various formats using standard Supervisely Export Apps. These apps support exporting annotations, projects, or specific point cloud formats including **KITTI 3D**, **SemanticKITTI**, **ROS Bag**, and others.
You can find all available import and export apps in the **Import β Pointclouds** and **Export β Pointclouds** categories in the [Supervisely Ecosystem](https://ecosystem.supervisely.com).