/SNA-pointcloud

Using Social Network Analysis (SNA) and community detection on point cloud data, in an endeavor to do part segmentation.

Primary LanguageJupyter NotebookOtherNOASSERTION


               

Social Network Analysis (SNA) & Graph ML to do Part Segmentation of Point Cloud Data using Community Detection

Python igraph Sklearn Pandas Matplotlib seaborn DGL

This repository contains the code (and a sample of data) of a research project at the intersection of SNA, Graph ML, and the built environment. This research encompasses several steps:

  1. Importing point cloud data into python.
  2. Converting point cloud data to the corresponding Adjacency matrix.
  3. Creating an undirected Graph network (using igraph).
  4. Analyze the created Graph using different metrics (e.g., centrality measures).
  5. Conduct community detection (CD) on the graph using different methods (i.e., Label Propagation, Eigenvector, Infomap, and Components).
  6. Visualize and compare the results (of different CD methods)

Requirements

Python Pandas

Project Dir Structure

.
├── data
│   ├── 101000 points
│   ├── 164000 points
│   ├── 244000 points
│   ├── 61700 points
│   ├── 68400 points
│   └── 99000 points
├── images
│   └── logos
├── outputs
│   ├── Graph Visualization
│   └── Stats
└── utils

13 directories

Data

Pointcloud data is a csv file with "space" separator, containg six/6 features (See Table [1]).

Table [1] : A sample of our input CSV data

Contact

If you have any questions, feel free to contact TekBoArt @tekboart.

License

Shield: CC BY-NC-SA 4.0

  • Refer to the file LICENSE for more information regarding the license of this repository.

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

CC BY-NC-SA 4.0