Skip to content

ArdaGen/STEM-Automated-Nanoparticle-Analysis-YOLOv8-SAM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Automated S/TEM-Nanoparticle-Analysis-YOLOv8-SAM

8

Repository for automated nanoparticle analysis of Scanning Transmission Electron Microscopy (S/TEM) images using YOLOv8 and segment anything model (SAM). This material-agnostic ML workflow successfully detects and segments nanoparticles on different catalytic substrate materials.

9

Sets of object detection, segmentation, and NP analysis results from BF-TEM image of Pt NPs on graphite support (above) and HAADF STEM image of Ru NPs on Alumina support materials (below).

Scripts

  • Velox emd
    Read Thermo Fisher Scientific Velox S/TEM image and metadata
  • Detector
    Run YOLOv8 on the S/TEM images and generate box prompts
    Segment nanoparticles using box prompts and SAM
  • SAM visualize
    Visualize segmentation
  • Analysis
    Particle size and area distribution

Installation

Install PyTorch

Install Ultralytics for YOLOv8

pip install ultralytics

Install Segment Anything Model (SAM)

https://github.com/facebookresearch/segment-anything

weights for YOLOv8 particle detection here

Cite

@misc{genc2024versatilemachinelearningworkflow,
      title={A versatile machine learning workflow for high-throughput analysis of supported metal catalyst particles}, 
      author={Arda Genc and Justin Marlowe and Anika Jalil and Libor Kovarik and Phillip Christopher},
      year={2024},
      eprint={2410.01213},
      archivePrefix={arXiv},
      primaryClass={cond-mat.mtrl-sci},
      url={https://arxiv.org/abs/2410.01213}, 
}

Demo