Instance segmentation of cracks in concrete, fine-tuned from YOLACT (Bolya et al.). The default config trains one class, crack, on the images in this repo.
Images and COCO-style annotations live in data/concrete_cracks.
| Split | Images | Crack instances |
|---|---|---|
| Train | 434 | 954 |
| Val | 29 | 67 |
Images are in train/JPEGImages and val/JPEGImages. Annotations are train/annotations.json and val/annotations.json.
The active config is yolact_base_config in data/config.py: ResNet-101 backbone, 550px images, 25,000 iterations. Checkpoints are written to weights/ and are not stored in git.
conda env create -f environment.yml
conda activate yolact-envOr install PyTorch 1.0.1 or newer, then:
pip install cython
pip install opencv-python pillow pycocotools matplotlibFrom the repo root, with the crack config already selected in data/config.py:
python train.pyPoint evaluation at a checkpoint you trained:
python eval.py --trained_model weights/<your-checkpoint>.pthThis repository does not include a reported mAP.
The training and model code is YOLACT, by Daniel Bolya, Chong Zhou, Fanyi Xiao, and Yong Jae Lee.