SAGE is a machine learning model for primary particle segmentation in HRTEM/TEM images of soot aggregates. Utilizing the capabilites of Mask R-CNN, SAGE aims to eliminate the bottleneck of manually segmenting TEM images to obtain morphological information about soot aggregates, allowing for more streamlined quantitative analysis and generalization of soot structures. By training models with a combination of synethetically generated TEM images followed by fine-tuning with a smaller amount of manually segmented TEM images, SAGE is able to generalize to a larger spectrum of samples.
Please cite the corresponding paper for any work related to using SAGE models for primary particle segmentation or building upon this workflow:
-
SAGE Training Pipeline: Train new models, or further fine-tune SAGE models using the pipeline found in
SAGE_train.ipynb -
SAGE Pretrained Models: Analyze images and compare results using 5 different pretrained models. These models can be downloaded from SAGE releases, or through either notebook.
- SAGE0: Model trained using sythetically generated TEM images of soot
- SAGE1: Fine-tuned version of SAGE0, implementing additional training on manual segmentations
- SAGE2: Further fine-tuned model, trained on a second set of manual segmentations for better generalization.
- COCO1: Model trained using same images/segmentations as SAGE1, but initialized on COCO weights rather than SAGE0 weights
- COCO2: Model trained using same images/segmentations as SAGE1, but initialized with COCO1 model rather than SAGE1
-
Model Visualizations: Visualize and save predictions made by SAGE models on your dataset (
SAGE_ANALYZE.ipynb) -
Model Comparison: Compare various model's performance metrics (
SAGE_ANALYZE.ipynb) -
Geometry Extraction: Extract morphological information (dp, Rg, dF, etc) from TEM images (
SAGE_ANALYZE.ipynb)
git clone https://github.com/comp-comb/SAGE.git2. Install Micromamba (Recommended) or Conda
cd SAGEMicromamba
micromamba env create -f requirements.yml -yConda
conda env create -f requirements.ymlMicromamba
micromamba activate SAGE-envConda
conda activate SAGE-envOnce your virtual environment is activated, launch Jupyter Notebook to view and run the notebooks included in this repository.
Launch Jupyter Notebook
jupyter notebookCopy and paste one of the links into your browser, showing the folder contents of the repository. Usage on remote machines may require some port forwarding.
This notebook demonstrates the process for training a model to detect primary particles in TEM images of soot.
This notebook demonstrates how to perform analysis of images using trained models, as well as methods to compare performance between different models.
The developed models were trained and tested used Nvidia Tesla K-80 GPUs.
Later TensorFlow versions (TF 2.11+) losses support for Tesla K-80 GPUs. For newer GPUs, a compatible version of CUDA, CUDANN, and TensorFlow is recommended, and should work with minimal adjustments to existing the codebase.
This research was partially funded by the Wisconsin Space Grant Consortium (WSGC) through the Dr. Laurel Salton Clark Graduate and Professional Award. The authors acknowledge support from the National Science Foundation, United States, as some of this material is based upon work supported by the National Science Foundation, Unites States under Grant No. 2144290.