microstructure-unet / README.md
WUT-AI-AI4Mat's picture
Upload model card and dataset checkpoints
26a9ecc verified
|
Raw
History Blame Contribute Delete
3.46 kB
---
license: mit
library_name: segmentation_models_pytorch
pipeline_tag: image-segmentation
tags:
- semantic-segmentation
- microstructure
- materials-science
- pytorch
- unet
---
# U-Net for Quantitative Microstructure Segmentation
## Model Description
This repository contains seven dataset-specific U-Net checkpoints used in a
benchmark of microstructure segmentation methods. The model is implemented
with `segmentation_models_pytorch` and uses a ResNet-50 encoder initialized
from ImageNet weights. Inputs are resized to 512 x 512 pixels and predictions
are restored to the original image size with nearest-neighbor interpolation.
Source code:
https://github.com/WUT-AI-AI4Mat/Segmentation-methods-evaluation-for-quantitative-microstructure-analysis
## Checkpoints
| Dataset | Task | Output channels | File |
| --- | --- | ---: | --- |
| Aachen-Heerlen | Binary segmentation | 1 | `checkpoints/Aachen-Heerlen/Best_Model.pth` |
| EMPS | Binary segmentation | 1 | `checkpoints/EMPS/Best_Model.pth` |
| Grain | Binary segmentation | 1 | `checkpoints/Grain/Best_Model.pth` |
| EBC | 3-class segmentation | 3 | `checkpoints/EBC/Best_Model.pth` |
| Super | 3-class segmentation | 3 | `checkpoints/Super/Best_Model.pth` |
| MetalDAM | 5-class segmentation | 5 | `checkpoints/MetalDAM/Best_Model.pth` |
| UHCS | 7-class segmentation | 7 | `checkpoints/UHCS/Best_Model.pth` |
Binary checkpoints produce one foreground logit; background is represented by
the complementary binary label. Multiclass counts include background.
## Training Details
- Input size: 512 x 512
- Batch size: 32
- Epochs: 500
- Optimizer: AdamW
- Learning rate: 0.0003
- Weight decay: 0.001
- Scheduler: CosineAnnealingLR with minimum learning rate 0.000001
- Early-stopping patience: 50
- Binary objective: Dice and BCEWithLogits
- Multiclass objective: Dice and cross-entropy
## Usage
Download a checkpoint and run the matching test entry point from the source
repository. Example for binary EMPS segmentation:
```bash
hf download NAMESPACE/microstructure-unet checkpoints/EMPS/Best_Model.pth --local-dir weights/unet
python CNN/U-net/predict.py \
--dataset-root /path/to/EMPS \
--checkpoint weights/unet/checkpoints/EMPS/Best_Model.pth \
--output-dir results/unet_emps
```
For EBC, Super, MetalDAM, and UHCS, use `CNN/U-net/test_mutil.py` and pass the
matching `--num-classes` value from the table.
## Evaluation
The public evaluation scripts restore predictions to the original resolution,
save raw masks, and calculate mIoU, Dice, precision, recall, accuracy, HD95,
Hausdorff distance, NSD, MAE, MBSS, and MBSS_add using `Myutils/metrics.py`.
Numerical benchmark results will be linked after the associated paper becomes
publicly available.
## Intended Use and Limitations
These checkpoints are intended for research reproduction and comparative
evaluation on the named microstructure datasets. They are dataset-specific and
should not be treated as general-purpose materials segmentation models. Image
acquisition conditions, magnification, annotation conventions, and unseen
microstructures may cause substantial performance degradation. They are not
validated for safety-critical or industrial quality-control decisions.
## License and Citation
The released experiment files are provided under the MIT license. The model
implementation and ImageNet initialization also remain subject to their
upstream terms. A paper citation will be added after publication.