This is my Bachelor's thesis at Petro Mohyla Black Sea National University, which consists of two parts:
- Training Building Segmentation Model
- Software Development
The software is a desktop application that detects infrastructure objects and displays them in a GUI built with PyQt6. It allows users to load satellite images, visualize detected features, and manage layer interactions.
The model is a U-Net with ResNet34 backbone which automatically detects building footprints from satellite images. The model performs semantic segmentation, identifying the exact pixels where buildings are located.
model-train/ (use this in a separate venv)
├── building_segmentation.ipynb
├── requirements.txt
src/
├── gui/
├── object_detection/
├── resources/
│ ├── demo_images/
│ ├── icons/
│ └── model/
├── utils/
└── main.py
tests/
└── test_gui.py
app.spec
build.sh
requirements.txt
setup.py
- Load and display satellite images
- Detect and overlay infrastructure objects
- Manage visual layers (add, remove, reorder)
- Simple and clean PyQt6 interface
- Modular design with separate logic and UI layers
- Includes automated tests for core GUI functionality
- Provides custom building segmentation model
Clone the repository:
git clone https://github.com/MsRapunzel/software-for-infrastructure-objects-detection.git
cd software-for-infrastructure-objects-detection
Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate
Install dependencies:
pip install -r requirements.txt
Run tests:
pip install pytest pytest-qt
PYTHONPATH=src pytest -s -v tests/test_gui.py
Run the application:
python src/main.py
Clone the repository:
git clone https://github.com/MsRapunzel/software-for-infrastructure-objects-detection.git
cd software-for-infrastructure-objects-detection
Make build.sh
executable:
chmod +x build.sh
Run build script:
./build.sh
The built app will appear in the dist/
directory.
- Go to the Releases tab on GitHub (or open the latest).
- Download
.dmg
for macOS. - Open the downloaded file, then drag and drop
.app
file to/Applications
folder.
Note: On first launch macOS may block the app with warning: "macOS cannot verify that this app is free from malware". In this case:
- Press and hold Control ^ and click the app, then select "Open" from the context menu.
- Go to System Settings > Privacy & Security and click "Open Anyway" if the app has appeared under Security.