A collection of segmentation models for water and river detection
Project description
Models Package
A comprehensive Python package for water and river segmentation using deep learning models with satellite imagery data.
🌊 Features
- Abstract Base Model: Extensible architecture for different segmentation models
- Water Segmentation: Advanced model using Sentinel-1, Sentinel-2, and terrain data
- River Segmentation: Specialized model for river detection and analysis
- Data Integration: Built-in support for MinIO, TimescaleDB, and Kafka streaming
- Data Validation: Pydantic schemas for robust data handling
- Production Ready: Optimized for real-world deployment scenarios
📦 Installation
pip install models-package
Development Installation
pip install models-package[dev]
🚀 Quick Start
Water Segmentation
from models_package import WaterSegmentationModel
# Initialize the water segmentation model
model = WaterSegmentationModel(
model_path="path/to/model.pth",
model_name="WaterSegmentation",
model_indx=0 # 0 for 7-band model, 1 for 9-band model
)
# Load the model weights
model.load_model()
# Setup connections (optional)
model.minIOConnection(
address="localhost",
port=9000,
target="bucket-name",
access_key="access_key",
secret_key="secret_key"
)
# Make predictions
result = model.predict({
"folder_link": "path/to/satellite/data",
"location": "area_name"
})
print(f"Water coverage: {result['water_coverage_stats']['water_percentage']:.2f}%")
River Segmentation
from models_package import RiverSegmentationModel
# Initialize the river segmentation model
model = RiverSegmentationModel(
model_path="path/to/river_model.pth",
model_name="RiverSegmentation",
input_size=(512, 512),
model_architecture="unetplusplus",
encoder_name="efficientnet-b3"
)
# Load model and make predictions
model.load_model()
result = model.predict({
"image_link": "path/to/image",
"filename": "river_image.jpg"
})
📋 Requirements
- Python >= 3.8
- PyTorch >= 1.9.0
- CUDA compatible GPU (recommended)
- See
pyproject.tomlfor complete dependency list
🤝 Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/new-feature) - Commit your changes (
git commit -am 'Add new feature') - Push to the branch (
git push origin feature/new-feature) - Create a Pull Request
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
📧 Contact
- Author: Jason
- Email: ikakandris@gmail.com
- Repository: https://github.com/deepblue597/models_package
Requirements
- Python >= 3.8
- PyTorch >= 1.9.0
- See requirements.txt for full dependencies
License
MIT License
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
models_package-0.1.3.tar.gz
(128.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file models_package-0.1.3.tar.gz.
File metadata
- Download URL: models_package-0.1.3.tar.gz
- Upload date:
- Size: 128.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
51e4766e58b90c6a04bd317712cdd42d9d9b41828618455deaa78964ee6e5809
|
|
| MD5 |
b8a03e9f7713971bea096b9d2f9ff4eb
|
|
| BLAKE2b-256 |
af70ff381c59fcf7a257b0ed3bc7b7be4eee3caa96149fd74a4e1f1ac14e7657
|
File details
Details for the file models_package-0.1.3-py3-none-any.whl.
File metadata
- Download URL: models_package-0.1.3-py3-none-any.whl
- Upload date:
- Size: 19.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc1e1f7e3d5f4a869fe2a31600a3d0f0e5614f8e87a0256948f311b3fc71de6c
|
|
| MD5 |
69958b724a5cf520330454d192754b88
|
|
| BLAKE2b-256 |
38934b7fe2c711b1797b18139e3dc3764cdd79629f476905202a9af4b19f9b83
|