A lightweight tool for annotation and patch generation, originally developed for defect marking on leather surfaces, but easily adaptable for general image annotation needs.
📌 This work was partially supported by the Federal Ministry of Science and Education of Bosnia and Herzegovina under the project "Automated Visual Inspection Based on Deep Neural Networks" in 2023/2024, at Faculty of Electrical Engineering, University of Sarajevo.
DefectDetect enables manual image annotation via freehand drawing, the creation of smaller image segments called patches, and flexible export of annotation data in structured JSON format.
Key features:
- 🧩 Patch creation & export with defect severity ratings (0–2)
- 📁 Export in both individual and collective JSON files
- ✅ No installation required — standalone executable
DefectDetect-Application/
├── data/ # Input test images
├── instructions/ # Detailed instructions on how to use the app
├── notebooks/ # Jupyter analysis/evaluation
├── qt_runtime/ # Application source code
├── README.md # Project description
└── .gitignore
🪟 For Windows App: The application does not require installation or dependency setup.
- Go to the Releases section.
- Download the latest release
.zippackage. - Unzip and run the executable file directly.
✅ That’s it — no Python, no installation, just run and annotate!
🐧 For Linux App
-
Go to the Releases section.
-
Download the latest '.zip' package for Linux where you can find
DefectDetect-x86_64.AppImagefile (a single-file Linux executable). -
Make the file executable and run it:
chmod +x DefectDetect-x86_64.AppImage ./DefectDetect-x86_64.AppImage
For detailed instructions:
- Patch-based Export: Create and save patches as separate images.
- Ratings: Assign 0 (none), 1 (partial), or 2 (full) for defect presence in each patch.
- JSON Files:
- Individual: One JSON file per patch
- Collective: One JSON file containing all patches, masks, ratings, etc.
Each collective JSON file includes:
annotations: patch ID, ratings, mask linksclasses: list of defect classesmasks: masks per patchratings: meaning of each ratingorg_patches: position & size of patches
For code examples on parsing and using the JSON files in Python (e.g. in Colab), see
notebooks/DefectDetect_JSON_Examples.ipynb.
- Support for rectangle/circle annotations
- GUI enhancements & internationalization
If you use this tool in your research or publications, please cite:
Arapović, L. (2024). DefectDetect: Application for Defect Annotation on Leather Surfaces. University of Sarajevo – Faculty of Electrical Engineering. (to be changed)
Developed by: Lejla Arapović
Email: [email protected]
Faculty of Electrical Engineering, University of Sarajevo