https://github.com/camilomartinezm/supervised-micrograph-segmentation
Segmentation Model for micrographs of hypoeutectoid steels, based on superpixels and textons, with an added ability to estimate the mean apparent interlaminar spacing of pearlite and the mechanical properties.
https://github.com/camilomartinezm/supervised-micrograph-segmentation
machine-learning micrograph segmentation superpixels texton
Last synced: about 2 months ago
JSON representation
Segmentation Model for micrographs of hypoeutectoid steels, based on superpixels and textons, with an added ability to estimate the mean apparent interlaminar spacing of pearlite and the mechanical properties.
- Host: GitHub
- URL: https://github.com/camilomartinezm/supervised-micrograph-segmentation
- Owner: CamiloMartinezM
- License: gpl-3.0
- Created: 2020-11-17T11:02:34.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-01-31T12:34:35.000Z (4 months ago)
- Last Synced: 2025-03-30T01:34:58.353Z (2 months ago)
- Topics: machine-learning, micrograph, segmentation, superpixels, texton
- Language: Python
- Homepage:
- Size: 156 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Supervised Superpixel-Texton Approach for Micrograph Segmentation
**Version 1.0.0**
This repository holds the code and final model for the bachelor thesis titled "[Application of Computer Vision in the Analysis of Microstructures and Obtaining Structure-Property Relations](https://repositorio.uniandes.edu.co/entities/publication/60ccf854-b041-441b-b7f7-8a79662c4bc1)" (2021). This code requires Python 3.6 or newer.
# Project structure
- `model.py` does the "heavylifting", from the loading and pre-processing of images to the training and testing of a segmentation model and the post-processing of segmented micrographs (which include the estimation of the mean apparent interlaminar spacing of pearlite and the mechanical properties, based on that value and the volume fractions of the steel phases and morphologies present).
- `utils_classes.py` and `utils_functions.py` contain helper classes and functions, respectively.
- `app.py` is a console with the most important functions in `model.py`.
### Requirements
Refer to [requirements.txt](requirements.txt).# Segmentation model

# Model selection tool
The console (`app.py`) includes an option to create a brand-new model for segmentation.
### Changeable parameters
- **Labeled images**: If the user has labeled images with the correct format, a folder of annotated images can be specified, thus creating a segmentation model for those classes and images, and not steel micrographs.
- **K**: Number of textons, i.e, number of clusters for *K-Means clustering*.
- **Superpixel-generation algorithm**: Possibilities include quickshift, slic, felzenszwalb and watershed. Depending on the chosen algorithm, the user can change the required parameters to specify.
### Flow diagram
# Notes
* `saved_variables/ground_truth.pickle` and `ground_truth_with_originals.pickle` were deleted because of space.
# License & copyright
© Camilo Martínez M.,Licensed under [GPL v3](LICENSE).