pyg_multitask_learning

Point Cloud Multitask Regression using GNN in Pytorch Geometric.

Install pytorch cuda that works with your conda environment. Also install pytorch_geometric. Then onstall trimesh and skeletor packages.

Point cloud Regression script takes in directories of folders with XYZ files and reads them into a point cloud PyG Dataset. It then trains a multitask regression network to estimate multiple continuos tree parameters. PCDs_newestdata_training_v0 (4).ipynb has end to end code for the pipeline to train a 3-task model.

Example for 2-task learning:

image image

image

image

Skeletor Skeleton Regression script takes in directories of .stl mesh files and reads them into a point cloud PyG Dataset. Where skeletor edges = pyg edge_index and skeletor vertices = pyg.pos.

image

save_mesh_as_images_loop.py will iterate over mesh files and take a side view images of trees and save them as image files.

mesh_to_skeletor_numpy will convert mesh files into skeletor format as numpy arrays which can be used to train a GNN on skeletons instead of PCDs. This allows for faster training as skeletons are less complex and smaller files than PCDs.