Skip to content

HerySon/Hack4Nature

 
 

Repository files navigation

Project Description

This project was initiated by le Donut Infolab a french association who launched a series of hackathon about biodiversity, Hack4nature. This project address the Challenge 4 about Tree Detection, aiming to provide an open-source individual tree detection tool based on machine learning algorithms.

The motivation behind this tool is to help cities in the management of urban plants inventory and encourage citizens to contribute to this tool to add information on this topic, particularly by helping to annotate new images to enrich the training dataset for machine learning algorithms.

The work presented here is a first iteration which provide a prototype of tree identification from satellite images of Marseille city. The prototype is a web page running at this adress mainly developped by one of my data science student's group @LeWagon Marseille and extended by contributors of the tech communtity of Data for Good Provence.

Model

To perform the task of tree identification, we used a pre-trained deep neural network model called DeepForest implemented with pytorch in a package distributed in this repository. DeepForest uses a deep learning object detection networks, trained on RGB images tree from the National Ecological Observatory Network (USA) which predict bounding boxes of individual trees crowns. In order to achieve more generalizable detection, we fine-tuned DeepForest on tree images acquired from satellite images of various région of Marseille city (France).

Data sources

Data were acquired from satellite images of Marseille city by requesting two differents API:

  • Google Maps API
  • Bing API

Prototype architecture

As a first iteration, the python code used for this prototype was packaged into a docker image, deployed on Google Cloud Run. A web interface, made with the python package Streamlit, was deployed on Heroku server, using an API (made with FastAPI) to query the deep learning model predictions.

Contributors

  • Abib Alimi
  • Ahmed Blidia
  • Louis Lahmadi
  • Alexandre Perdomo
  • Nicolas Rochet

Bibliography

Lot of work have already been proposed for tree dectection, but few applicable to images taken from Marseille's region. See the Detect tree project page for details on state of the art and similar project

Install

Create a python3 virtualenv and activate it:

sudo apt-get install virtualenv python-pip python-dev
deactivate; virtualenv -ppython3 ~/venv ; source ~/venv/bin/activate

Clone the project and install it:

git clone git@github.com:{group}/Hack4Nature.git
cd Hack4Nature
pip install -r requirements.txt
make clean install test                # install and test

Functionnal test with a script:

cd
mkdir tmp
cd tmp
Hack4Nature-run

Licence

Contributing

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 96.9%
  • Python 3.0%
  • Makefile 0.1%