1
0
mirror of https://gitlab.com/Anson-Projects/projects.git synced 2025-08-02 03:21:32 +00:00

Add alt text and meta descriptions to every document

This commit is contained in:
2024-11-24 20:16:35 +00:00
parent a5d831884a
commit f2c52e4b4b
8 changed files with 38 additions and 28 deletions

View File

@@ -2,6 +2,7 @@
title: "Machine Learning Directed Study: Report 2"
description: |
Advanced processing of 3D meshes using Julia, and data science in Matlab.
description-meta: This report details advanced 3D mesh processing for orbital debris characterization using Julia and MATLAB. It covers data gathering from online 3D models, data preparation using a custom Julia library for efficient property extraction, and characterization using Principal Component Analysis (PCA) and k-means clustering. The report also includes visualizations and discusses next steps for dataset expansion and property derivation.
repository_url: https://gitlab.com/orbital-debris-research/directed-study/report-2
date: 2022-04-03
date-modified: 2024-02-29
@@ -25,7 +26,7 @@ excellent source of high-quality 3D models, and all the models have, at worst, a
license making them suitable for this study. The current dataset uses three separate satellite
assemblies found on GrabCAD, below is an example of one of the satellites that was used.
![Example CubeSat Used for Analysis, @interfluo6UCubeSatModel](Figures/assembly.jpg)
![Example CubeSat Used for Analysis, @interfluo6UCubeSatModel](Figures/assembly.jpg){fig-alt="A 3D model of a satellite with deployed solar panels. The satellite bus is a rectangular structure with exposed framework. The solar panels are arranged in a cross-like configuration, with blue and gold panels. The model is shown against a light gray background with a reflective surface."}
## Data Preparation
@@ -47,7 +48,7 @@ project. The characteristic length takes the maximum orthogonal dimension of a b
dimensions then divides by 3 to produce a single scalar value that can be used to get an idea of
thesize of a 3D object.
![Current mesh processing pipeline](Figures/current_process.svg)
![Current mesh processing pipeline](Figures/current_process.svg){fig-alt="A diagram illustrating the current mesh processing pipeline. The pipeline begins with a satellite image and converts it into a mesh. The mesh is brought into code represented by summation symbols over x, y, and z. Finally, properties labeled Ix, Iy, and Iz are extracted from the mesh."}
The algorithm's speed is critical not only for the eventual large number of debris pieces that have
to be processed, but many of the data science algorithms we plan on performing on the compiled data
@@ -105,7 +106,7 @@ lambda_ratio = cumsum(lambda) ./ sum(lambda)
Then plotting `lambda_ratio`, which is the `cumsum`/`sum` produces the following plot:
![PCA Plot](Figures/pca.png)
![PCA Plot](Figures/pca.png){fig-alt="A line graph depicting the cumulative variance of different components. The x-axis represents the components (Iz, Iy, Ix, body z, body y, body x, Lc, and Surface Area), and the y-axis represents the cumulative variance ranging from 0.988 to 1. The variance is calculated as ∑i=1Mλi/∑λ, where λ represents the eigenvalues. The plot shows a rapid increase in cumulative variance for the first few components, followed by a plateau."}
The current dataset can be described incredibly well just by looking at `Iz`, which again the models
are rotated so that `Iz` is the largest moment of inertia. Then including `Iy` and `Iz` means that a
@@ -127,14 +128,14 @@ end
Which produces the following plot:
![Elbow method to determine the required number of clusters.](Figures/kmeans.png)
![Elbow method to determine the required number of clusters.](Figures/kmeans.png){fig-alt="A line graph illustrating the sum of distances to centroids for different numbers of clusters (K). The x-axis represents the number of clusters, ranging from 2 to 20, and the y-axis represents the sum of distances to the centroid. The plot shows a sharp decrease in the sum of distances as the number of clusters increases initially, followed by a gradual flattening of the curve, suggesting diminishing returns with increasing K."}
As can be seen in the above elbow plot, at 6 clusters there is an "elbow" which is where there is a
large drop in the sum distance to the centroid of each cluster which means that it is the optimal
number of clusters. The inertia's can then be plotted using 6 k-means clusters produces the
following plot:
![Moments of Inertia plotted with 6 clusters.](Figures/inertia3d.png)
![Moments of Inertia plotted with 6 clusters.](Figures/inertia3d.png){fig-alt="A 3D scatter plot showing clusters of data points. The plot's axes represent Inertia x, Inertia y, and Inertia z. Six distinct clusters are represented by different colors and labeled accordingly in a legend."}
From this plot it is immediately clear that there are clusters of outliers. These are due to the
different shapes and the extreme values are slender rods or flat plates while the clusters closer to