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
- Host: GitHub
- URL: https://github.com/berkeleysandproject/sandmining-watch
- Owner: BerkeleySandProject
- License: gpl-3.0
- Created: 2023-06-27T22:59:58.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-20T14:33:34.000Z (8 months ago)
- Last Synced: 2025-04-17T14:12:01.744Z (11 days ago)
- Language: Jupyter Notebook
- Size: 305 MB
- Stars: 5
- Watchers: 4
- Forks: 3
- Open Issues: 0
- Releases: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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.
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
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) Storagecreate_labelbox_dataset.ipynb
populates Labelbox dataset with pointers (URLs) to GCPexport_annotations.ipynb
exports annotations from Labelbox as GeoJSONs to GCPaoi_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
- Name: Berkeley Sand Project
- Login: BerkeleySandProject
- Email:
- Kind: organization
- Description: A set of projects run by the School of Information at UC Berkeley, around sand mining
- Website: www.globalpolicy.science
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/127349565?v=4
- Repositories: 4
- Last ynced at: 2024-05-22T00:05:38.698Z
- Profile URL: https://github.com/BerkeleySandProject
GitHub Events
Total
- Watch event: 2
Last Year
- Watch event: 2
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 | 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
Top Issue Authors
Top Pull Request Authors
- tboehnel (5)
- gautamsaiy (2)
Top Issue Labels
Top Pull Request Labels
Dependencies
- _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