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.
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 were acquired from satellite images of Marseille city by requesting two differents API:
- Google Maps API
- Bing API
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.
- Abib Alimi
- Ahmed Blidia
- Louis Lahmadi
- Alexandre Perdomo
- Nicolas Rochet
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
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