Illegal mining (galamsey) is a major environmental issue in Ghana, causing deforestation, water pollution, and land degradation. This project uses Convolutional Neural Networks (CNNs) and satellite imagery to automatically detect illegal mining areas.
# Detection and Monitoring of Illegal Mining Activities Using Machine Learning and Remote Sensing Data
## π Project Overview
Illegal mining (galamsey) is a major environmental issue in Ghana, causing deforestation, water pollution, and land degradation.
This project uses Convolutional Neural Networks (CNNs) and satellite imagery to automatically detect illegal mining areas.
---
## π― Objectives
* Detect illegal mining areas from satellite images
* Differentiate between mining and non-mining regions
* Demonstrate the use of Artificial Intelligence in environmental monitoring
---
## π§ Methodology
### 1. Data Collection
We used a publicly available dataset from Kaggle containing satellite images of:
* Illegal Mining areas (Garimpo)
* Natural land (Rios_Floresta)
### 2. Data Preprocessing
* Images resized to **150x150 pixels**
* Pixel values normalized (0β255 β 0β1)
* Dataset split into:
* 80% Training
* 20% Validation
### 3. Model Used
A **Convolutional Neural Network (CNN)** was implemented to classify images.
#### Model Architecture:
* Input Layer
* Conv2D (32 filters) + MaxPooling
* Global Average Pooling (reduces overfitting)
* Dense Layer (64 neurons)
* Dropout (0.5)
* Output Layer (Sigmoid)
---
## π οΈ Technologies Used
* Python
* TensorFlow / Keras
* NumPy
* Matplotlib
* Jupyter Notebook
---
## π Project Structure
```
illegal-mining-project/
β
βββ dataset/
β βββ illegal/
β βββ legal/
β
βββ illegal_mining.ipynb
βββ test.jpg
βββ README.md
```
## Results
* Training Accuracy: ~99%
* Validation Accuracy: ~95β97%
* Model successfully distinguishes illegal mining areas
## Limitations
- Limited dataset size
- Slight overfitting observed
- Performance depends on image quality
- No real-time detection yet
---
## π How to Run the Project
### Step 1: Install Dependencies
```bash
pip install tensorflow numpy matplotlib notebook
```
### Step 2: Start Jupyter Notebook
```bash
python -m notebook
```
### Step 3: Open Notebook
* Open `illegal_min β¦