Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TPCC algorithm for 3d module(GSoC 2023) #23704

Open
13 tasks
d01pestovrtm opened this issue May 29, 2023 · 0 comments
Open
13 tasks

TPCC algorithm for 3d module(GSoC 2023) #23704

d01pestovrtm opened this issue May 29, 2023 · 0 comments

Comments

@d01pestovrtm
Copy link

d01pestovrtm commented May 29, 2023

Description

The goal of this issue is to implement a Topological Point Cloud Clustering algorithm(TPCC) for the 3D module. Together with #23624, we will implement an algorithm proposed in GSoC 2023 idea: Point Cloud Compression, where TPCC will be used for clustering purposes. TPCC was chosen because it considers the geometric structure of the Point Cloud in comparison to cv::kmeans(). The mathematical aspects of this algorithm can be found in
Topological Point Cloud Clustering.pdf

The stepwise plan for Point Cloud compression is as follows:

  1. Cluster the points using TPCC
  2. Delete noises if needed
  3. Either use an octree compression method for each cluster (lossless compression) or clusterize each cluster again and substitute outgoing clusters with their centroids (lossy compression)

Schedule

The following schedule will be introduced for the PR submissions:

  • Implement a simplex tree data structure
  • Provide a transformation of Point Cloud into a simplex tree
  • Provide special matrix construction for the produced simplicial complex (simplex tree)
  • Clusterize the point cloud by finding the eigenvectors of these matrices

All these steps should be covered by tests:

  • Tests for the simplex tree data structure
  • Tests to ensure the correctness of transforming the Point Cloud into a simplex tree
  • Tests to verify the correctness of matrix creation
  • Tests to ensure mathematical correctness
  • Tests to validate the correctness of observed results
  • Create datasets for performance tests (compression rate, etc.).
  • Performance tests for TPCC

Documentation

The final step of this issue is to write documentation for TPCC, including examples demonstrating its functionality:

  • documentaion for TPCC
  • Examples demonstrating the functionality

Additional context

No response

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants