About the Project
Inspiration
Smallholder farmers in Northern India (especially in Uttar Pradesh and Bihar) face fragmented landholdings and diverse cropping patterns. Unlike larger farms in the USA or Europe, these smaller farms lack reliable, timely data on crop health and distribution. This inspired us to leverage Sentinel-2 satellite imagery to bridge this information gap and empower farmers with data-driven support.
What We Learned
We learned how powerful remote sensing and machine learning can be when combined. Concepts like spectral indices taught us how vegetation reflects differently across wavelengths. For example:
NDVI = \((NIR − Red) / (NIR + Red)\)
NDWI = \((NIR − SWIR) / (NIR + SWIR)\)
These indices helped us quantify crop health, water stress, and vegetation density.
How We Built It
Processed Sentinel-2 data using Rasterio and GDAL.
Computed vegetation indices and added them as engineered features.
Designed a multi-branch model:
Branch 1: Gradient Boosted Trees on tabular indices.
Branch 2: U-Net for pixel-wise semantic segmentation of crops.
Aggregated predictions into a CSV mapping pixel counts → crop types, e.g.:
```CropName, PixelCount Wheat, 23142 Rice, 18432 Maize, 9780
**Challenges We Faced**
1. Handling noisy labels from small, fragmented plots.
2. Scaling computations on large .tif files efficiently.
3. Aligning remote sensing data with ground truth labels for validation.
Despite these hurdles, our system provides an interpretable, scalable way to monitor crops, supporting better agricultural decision-making in data-scarce regions.
Built With
- amazon-web-services
- colab
- feature-engineering
- for-optimized-geospatial-ops)-?-raster-processing-&-performance-critical-tasks-?-frameworks-&-libraries-tensorflow-/-pytorch-?-deep-learning-models-(u-net-for-segmentation)-scikit-learn-?-traditional-ml-(random-forest
- gdal
- github
- gradient-boosted-trees)-rasterio
- kaggle
- ml/dl-model-training-c++-(optional
- pandas-?-numerical-&-tabular-data-handling-matplotlib
- python
- qgis
- shapely-?-geospatial-data-processing-numpy