A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

Sand Mining Watch

A custom sand-mine detection tool by fine-tuning foundation models for earth observation, which leverage self supervised learning.
https://github.com/berkeleysandproject/sandmining-watch

Category: Natural Resources
Sub Category: Soil and Land

Last synced: about 2 hours ago
JSON representation

Repository metadata

Deep learning methodology to detect sand mines

README.md

Sand Mining Watch

Website | NeurIPS-CCAI presentation

Deep learning methodology to detect sand mines [work in progress].

As the major ingredient of concrete and asphalt, sand is vital to economic growth and will play a key role in aiding the transition to a low carbon society. However, excessive and unregulated sand mining in the Global South has high socio-economic and environmental costs, and amplifies the effects of climate change. Sand mines are characterized by informality and high temporal variability, and data on the location and extent of these mines tends to be sparse. We provide a custom sand-mine detection tool by fine-tuning foundation models for earth observation, which leverage self supervised learning - a cost-effective and powerful approach in sparse data regimes. These tools allow for real-time monitoring of sand mining activity and can enable more effective policy and regulation.

panel1

Datasets

We have acquired data (latitude, longitude, timestamp) on sand mining activities across 21 different river basins across India, through a partnership with Veditum India Foundation. Currently, these data cover 39 distinct mining sites; we expect to expand this to over 100 sites over the course
of our study. We extract image patches (ranging in size from 2.5 sq.km to 582 sq.km) from freely available Sentinel-2 multi-spectral and Sentinel-1 synthetic aperture radar imagery around visually recognizable sand mining footprints at each site3. A majority of Indian rivers are characterized by high average flood discharges and large temporal variability, leading to huge intra-annual variation in sand deposition rates and mining footprints. We consider these changes to be strong natural label augmentations (figure above, inset 1). This allows us to obtain multiple labels (of arbitrary size) for each location that represent the seasonal lifecycle of sand mines. While sub-meter resolution imagery (figure above, inset 2) captures more precise information on mining activity, we believe that 10m imagery will prove to be an effective feature set since it captures broad patterns of importance (i.e. scarring, pitting and flooding) at high temporal & spectral resolution.

System Design

System-Diagram

The system diagram is shown above. It consists of a data generation stage (upper half) and a data modeling stage (lower half).

Install conda enviroment

conda env create -f environment.yml

Structure of the repository

label/ contains the labeling pipeline:

  • observation_selector.ipynb exports Sentinel-1/2 data from Google Earth Engine to Google Cloud Platform (GCP) Storage
  • create_labelbox_dataset.ipynb populates Labelbox dataset with pointers (URLs) to GCP
  • export_annotations.ipynb exports annotations from Labelbox as GeoJSONs to GCP
  • aoi_generator.ipynb populates GCP with coordinates of river boundaries with buffer

train_eval/train_eval.ipynb trains and evaluates models.

inference/inference.ipynb runs predictions on dataset without annotations.

project_config.py holds configuration that is valid for the entire project.

Objects of the class SupervisedTrainingConfig (defined in experiment_configs/schemas.py) hold configuration for a single training run.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 6 days ago

Total Commits: 239
Total Committers: 6
Avg Commits per committer: 39.833
Development Distribution Score (DDS): 0.456

Commits in past year: 14
Committers in past year: 4
Avg Commits per committer in past year: 3.5
Development Distribution Score (DDS) in past year: 0.429

Name Email Commits
tboehnel t****l@g****m 130
Ando Shah a****o@b****u 54
Suraj R. Nair s****r@f****u 25
Gautam Sai Yarramreddy g****y@b****u 20
Suraj R Nair 5****n 8
Tom Bohnel t****l@f****u 2

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 0
Total pull requests: 7
Average time to close issues: N/A
Average time to close pull requests: about 4 hours
Total issue authors: 0
Total pull request authors: 2
Average comments per issue: 0
Average comments per pull request: 0.0
Merged pull request: 7
Bot issues: 0
Bot pull requests: 0

Past year issues: 0
Past year pull requests: 0
Past year average time to close issues: N/A
Past year average time to close pull requests: N/A
Past year issue authors: 0
Past year pull request authors: 0
Past year average comments per issue: 0
Past year average comments per pull request: 0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/berkeleysandproject/sandmining-watch

Top Issue Authors

Top Pull Request Authors

  • tboehnel (5)
  • gautamsaiy (2)

Top Issue Labels

Top Pull Request Labels


Dependencies

environment.yml conda
  • _libgcc_mutex 0.1
  • _openmp_mutex 4.5
  • asttokens 2.2.1
  • backcall 0.2.0
  • backports 1.0
  • backports.functools_lru_cache 1.6.5
  • blosc 1.21.4
  • boost-cpp 1.78.0
  • bzip2 1.0.8
  • c-ares 1.19.1
  • ca-certificates 2023.5.7
  • cairo 1.16.0
  • cfitsio 4.1.0
  • comm 0.1.3
  • curl 8.1.2
  • debugpy 1.6.7
  • decorator 5.1.1
  • executing 1.2.0
  • expat 2.5.0
  • font-ttf-dejavu-sans-mono 2.37
  • font-ttf-inconsolata 3.000
  • font-ttf-source-code-pro 2.038
  • font-ttf-ubuntu 0.83
  • fontconfig 2.14.2
  • fonts-conda-ecosystem 1
  • fonts-conda-forge 1
  • freetype 2.12.1
  • freexl 1.0.6
  • gdal 3.5.2
  • geos 3.11.0
  • geotiff 1.7.1
  • gettext 0.21.1
  • giflib 5.2.1
  • hdf4 4.2.15
  • hdf5 1.12.2
  • icu 70.1
  • importlib-metadata 6.8.0
  • importlib_metadata 6.8.0
  • ipykernel 6.24.0
  • ipython 8.14.0
  • jedi 0.18.2
  • jpeg 9e
  • json-c 0.16
  • jupyter_client 8.3.0
  • jupyter_core 5.3.1
  • kealib 1.4.15
  • keyutils 1.6.1
  • krb5 1.20.1
  • lcms2 2.14
  • ld_impl_linux-64 2.38
  • lerc 4.0.0
  • libaec 1.0.6
  • libblas 3.9.0
  • libcblas 3.9.0
  • libcurl 8.1.2
  • libdap4 3.20.6
  • libdeflate 1.14
  • libedit 3.1.20191231
  • libev 4.33
  • libexpat 2.5.0
  • libffi 3.4.4
  • libgcc-ng 13.1.0
  • libgdal 3.5.2
  • libgfortran-ng 13.1.0
  • libgfortran5 13.1.0
  • libglib 2.76.4
  • libiconv 1.17
  • libkml 1.3.0
  • liblapack 3.9.0
  • libnetcdf 4.8.1
  • libnghttp2 1.52.0
  • libnsl 2.0.0
  • libopenblas 0.3.23
  • libpng 1.6.39
  • libpq 14.5
  • librttopo 1.1.0
  • libsodium 1.0.18
  • libspatialite 5.0.1
  • libsqlite 3.42.0
  • libssh2 1.11.0
  • libstdcxx-ng 13.1.0
  • libtiff 4.4.0
  • libuuid 2.38.1
  • libwebp-base 1.3.1
  • libxcb 1.13
  • libxml2 2.10.3
  • libzip 1.9.2
  • libzlib 1.2.13
  • llvm-openmp 16.0.6
  • lz4-c 1.9.4
  • matplotlib-inline 0.1.6
  • ncurses 6.4
  • nest-asyncio 1.5.6
  • nspr 4.35
  • nss 3.89
  • openjpeg 2.5.0
  • openssl 3.1.1
  • packaging 23.1
  • parso 0.8.3
  • pcre 8.45
  • pcre2 10.40
  • pexpect 4.8.0
  • pickleshare 0.7.5
  • pip 23.1.2
  • pixman 0.40.0
  • platformdirs 3.9.1
  • poppler 22.10.0
  • poppler-data 0.4.12
  • postgresql 14.5
  • proj 9.1.0
  • prompt-toolkit 3.0.39
  • prompt_toolkit 3.0.39
  • pthread-stubs 0.4
  • ptyprocess 0.7.0
  • pure_eval 0.2.2
  • pygments 2.15.1
  • python 3.9.17
  • python-dateutil 2.8.2
  • python_abi 3.9
  • pyzmq 25.1.0
  • readline 8.2
  • six 1.16.0
  • snappy 1.1.10
  • sqlite 3.41.2
  • stack_data 0.6.2
  • tiledb 2.11.3
  • tk 8.6.12
  • tornado 6.3.2
  • traitlets 5.9.0
  • tzcode 2023c
  • wcwidth 0.2.6
  • xerces-c 3.2.4
  • xorg-kbproto 1.0.7
  • xorg-libice 1.1.1
  • xorg-libsm 1.2.4
  • xorg-libx11 1.8.4
  • xorg-libxau 1.0.11
  • xorg-libxdmcp 1.1.3
  • xorg-libxext 1.3.4
  • xorg-libxrender 0.9.10
  • xorg-renderproto 0.11.1
  • xorg-xextproto 7.3.0
  • xorg-xproto 7.0.31
  • xz 5.4.2
  • zeromq 4.3.4
  • zipp 3.16.2
  • zlib 1.2.13
  • zstd 1.5.2

Score: 3.401197381662155