InspectionGUI is a minimal interface for structural crack detection from images using deep learning written in Python. Transfer learning is utilized in order to fine-tune InceptionV3 using Keras with Tensorflow backend.
Kucuksubasi, F., & Sorguc, A. G. (2018). Transfer Learning-Based Crack Detection by Autonomous UAVs. In 35th International Symposium on Automation and Robotics in Construction (pp. 584–591). Berlin. https://doi.org/10.22260/ISARC2018/0081
- Anaconda/Miniconda or Docker is required to install.
- Tested under Ubuntu 16.04
You can easily install inspectionGUI using conda or docker.
git clone https://github.com/fatihksubasi/inspectiongui
cd /path/to/inspectiongui
conda env create -f environment.yml
chmod +x run_conda.sh
docker pull fatihksubasi/inspectiongui
cd /path/to/inspectiongui
docker build -t fatihksubasi/inspectiongui .
chmod +x run_docker.sh
./run_conda.sh
./run_docker.sh
The container opens the GUI in a new browser tab.
- Select any image in your image folder
- Press 'Load Images'
- Press 'Show Images'
- You can see all images using the slider before detecting the images containing crack.
- Press 'Detect Cracks' button to feed the images into the CNN model.
- Images with detected cracks will appear as soon as testing ends.
- Press 'Clear & Refresh' to remove detected crack images
- You can rerun crack detection function after deleting images in /images/predicted
- Tensorflow version with GPU support gives better performance in detection.
.
├── at_runtime.sh # shell script to handle resolution and user forwarding
├── crack_detection.py # crack detection functions
├── Dockerfile # docker build file
├── environment.yml # conda environment config
├── gui.py # main GUI wrapper
├── images
├── predicted
├── ...
├── 1.png
├── ...
├── inspectiongui.kv # kv language for GUI
├── models
├──brick.h5 # CNN architecture
├── brick.json # CNN weights
├── brick-labels.json # CNN class labels
├── run_conda.sh # shell script to run the GUI
├── run_docker.sh # shell script to run GUI in Docker container
└── README.md