// the find
opengeos/geoai
GeoAI: Artificial Intelligence for Geospatial Data
GeoAI is a Python library that wraps PyTorch, SAM, segmentation_models.pytorch, and a handful of geospatial libraries (rasterio, leafmap, torchgeo) behind high-level APIs for satellite/aerial imagery tasks: segmentation, object detection, change detection, land cover classification. It's aimed at geospatial researchers who know GIS but don't want to wire up PyTorch training loops from scratch, and at ML practitioners who don't want to deal with GeoTIFF projections and CRS transforms.
1. Breadth of task coverage is real — SAM integration, DINOv3 fine-tuning, change detection with torchange, super-resolution with ESRGAN, and ONNX export are all present as working notebooks, not placeholders. 2. The QGIS plugin ships subprocess isolation correctly: heavy ML inference runs in a separate managed venv rather than QGIS's Python, which is the right call for avoiding DLL hell on Windows. 3. The example notebook library is large and task-specific (building footprints by continent, wetland mapping, parking detection) — these are the kind of worked examples that save a researcher a week of plumbing. 4. NASA and USGS funding means the project has a real survival runway, not just a grad student's side project.
1. The package is essentially a coordination layer — nearly every interesting operation delegates to samgeo, torchgeo, segmentation_models.pytorch, or leafmap. If any of those break a public API, geoai silently breaks too; there's no abstraction layer that would protect users from upstream churn. 2. The `agent-harness/` directory is a full parallel CLI implementation of the same functionality, which suggests the architecture is not settled — two code paths for the same operations is a maintenance debt that will bite contributors. 3. Installation is painful in practice: the full dependency graph pulls in GDAL, PROJ, rasterio, PyTorch, and the HuggingFace stack simultaneously; conda is the only sane path, and the docs undersell how broken pip installs will be on anything but a clean environment. 4. Test coverage is thin — the test suite in `agent-harness/tests/` has two files and the main `geoai/` package has essentially no unit tests visible in the tree, so regressions in the high-level APIs are caught by users, not CI.