CS230-Microcrystal-Facet-Segmentation
June 19, 2020 ยท View on GitHub
Microcrystal facet segmentation algorithm based on U-NET architecture.
Table of contents
General info
The goal of this project is to train an appropriate CNN architecture that is able to perform semantic segmentation of cuprous oxide Cu2O nanocrystal facets.
Baseline Model
keras implementation (https://github.com/divamgupta/image-segmentation-keras/)
Screenshots

Technologies
- python - version 3.6.5
- keras - version 2.3.0
- keras_segmentation
- opencv_python - version 4.2.0.32
- Augmentor - version 0.2.8
Code Examples
Show examples of usage:
from keras_segmentation.models.unet import unet_mini
model = unet_mini(n_classes=4, input_height=96, input_width=96 )
model.train(
train_images = "Dataset/train/",
train_annotations = "Dataset/train_labels/",
checkpoints_path = "Dataset/checkpoints",
val_images = "Dataset/test/",
val_annotations = "Dataset/test_labels/",
epochs=50, validate=True, batch_size=8,
optimizer_name="adam",
gen_use_multiprocessing=True,
auto_resume_checkpoint=False,
val_batch_size=2,
)
Features
List of features ready and TODOs for future development
- Train on 3 different U-NET architecture variants
Status
Project is: finished
Report
CS230 Winter 2020 (http://cs230.stanford.edu/projects_winter_2020/reports/32641590.pdf)