microstructure-sam2 / README.md
WUT-AI-AI4Mat's picture
Upload model card and dataset checkpoints
dd98b72 verified
|
Raw
History Blame Contribute Delete
3.72 kB
---
license: mit
library_name: pytorch
pipeline_tag: image-segmentation
tags:
- semantic-segmentation
- microstructure
- materials-science
- segment-anything-2
- lora
- sam2
---
# SAM2 Fine-Tuned Checkpoints for Microstructure Segmentation
## Model Description
This repository contains dataset-specific fine-tuned parameter checkpoints for
SAM2.1 Hiera Base+. The files are partial checkpoints and must be loaded with
the exact `sam2.1_hiera_base_plus.pt` base checkpoint and
`configs/sam2.1/sam2.1_hiera_b+.yaml`.
Source code:
https://github.com/WUT-AI-AI4Mat/Segmentation-methods-evaluation-for-quantitative-microstructure-analysis
## Fine-Tuning Routes and Checkpoints
| Dataset | Route | Classes | File |
| --- | --- | ---: | --- |
| Aachen-Heerlen | LoRA plus mask decoder | 2 | `checkpoints/Aachen-Heerlen/sam2_lora_decoder_best.pth` |
| EMPS | LoRA plus mask decoder | 2 | `checkpoints/EMPS/sam2_lora_decoder_best.pth` |
| Grain | LoRA plus mask decoder | 2 | `checkpoints/Grain/sam2_lora_decoder_best.pth` |
| EBC | LoRA, mask decoder, and class tokens | 3 | `checkpoints/EBC/semantic_sam2_best.pth` |
| Super | LoRA, mask decoder, and class tokens | 3 | `checkpoints/Super/semantic_sam2_best.pth` |
| MetalDAM | LoRA, mask decoder, and class tokens | 5 | `checkpoints/MetalDAM/semantic_sam2_best.pth` |
| UHCS | LoRA, mask decoder, and class tokens | 7 | `checkpoints/UHCS/semantic_sam2_best.pth` |
Class counts include background.
## Base Model Requirement
Download the official SAM2.1 Hiera Base+ checkpoint from:
https://dl.fbaipublicfiles.com/segment_anything_2/092824/sam2.1_hiera_base_plus.pt
Do not substitute another SAM2 architecture without changing the model config.
## Training Details
- Base architecture: SAM2.1 Hiera Base+
- Input preprocessing: longest side resized to 1024, padded to 1024 x 1024
- Training batch size: 1
- Epochs: 200
- Optimizer: AdamW
- Learning rate: 0.0001
- Weight decay: 0.0001
- Scheduler: CosineAnnealingLR with minimum learning rate 0.000001
- Early-stopping patience: 50
- LoRA rank: 8
- LoRA alpha: 16
- LoRA dropout: 0.05
- LoRA targets: `qkv` and `proj`
- Binary objective: BCE, Dice, and IoU MSE
- Multiclass objective: cross-entropy and Dice
## Usage
Example for binary EMPS segmentation:
```bash
hf download NAMESPACE/microstructure-sam2 checkpoints/EMPS/sam2_lora_decoder_best.pth --local-dir weights/sam2
python sam2/test_lora_decoder.py \
--dataset-root /path/to/EMPS \
--checkpoint weights/pretrained/sam2.1_hiera_base_plus.pt \
--finetuned-checkpoint weights/sam2/checkpoints/EMPS/sam2_lora_decoder_best.pth \
--output-dir results/sam2_emps
```
For multiclass checkpoints, use `sam2/test_semantic_sam2.py` and pass the
class count from the table.
## Inference Parameters
Automatic mask generation uses `points_per_side=32`, `points_per_batch=64`,
`pred_iou_thresh=0.8`, `stability_score_thresh=0.8`, `box_nms_thresh=0.7`, and
`crop_n_layers=0`. Padded regions are removed before predictions are restored
to the original image size.
## Evaluation, Intended Use, and Limitations
Evaluation saves original-resolution masks and calculates the common benchmark
metrics through `Myutils/metrics.py`. These checkpoints require the exact
SAM2.1 Hiera Base+ base model and matching source code. They are intended for
research reproduction and may not generalize to unseen materials or imaging
conditions. 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. SAM2 and its
base checkpoint remain subject to Meta's upstream terms and are not
redistributed here. A paper citation will be added after publication.