Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tree Detector

Tree Detector enables you to plot trees in OpenStreetMap (OSM) extremely efficiently. Using a Faster R-CNN model, finetuned on satellite imagery of trees, Tree Detector suggests trees that a user can easily accept.

Demo

Demo Video of the Tree Detector

Installation

As the model weights are ~166MB, this repository stores them with Git LFS. Install it and activate it once before cloning:

brew install git-lfs   # macOS
git lfs install
git clone https://github.com/paul-rabel/tree_detector.git

If you already cloned without Git LFS, first install it, then run git lfs pull inside the repository to get the actual weights.

Requirements

Requirement Simple Usage More Training
Chrome
Python 3.10+
torch
torchvision
Pillow
numpy
pycocotools
Jupyter / Notebook
tkinter

To install all (except Chrome & tkinter), run:

pip install -r requirements.txt

Simple Usage (no modifications / extra training)

  1. Change to Developer Mode in Chrome Extensions
  2. Upload (Load Unpack) ./extension

Upload Extension

  1. Activate the server (s.t. the browser extension can communicate with the backend)
python server/server.py
  1. Open OpenStreetMap and click the Edit button
  2. Activate the browser extension in chrome
    • For best performance use zoom level $18 - 21$
    • Keep the left iD sidebar open - the tool needs it

Project Structure

Each component has its own README:

  • extension/ — the Chrome extension: screenshots the map, overlays detections, and plots accepted trees in the iD editor.
  • server/ — the local detection server: receives screenshots, runs the model, returns bounding boxes.
  • model/ — the Faster R-CNN model, fine-tuned weights, inference code, and the training notebook.
  • model/Training Classifier/ — tooling to label satellite images for (re)training.

About

Tree Detector enables you to plot trees in OpenStreetMap (OSM) extremely efficiently. Using a Faster R-CNN model, finetuned on satellite imagery of trees, Tree Detector suggests trees that a user can easily accept and plot on OSM.

Topics

Resources

Stars

4 stars

Watchers

2 watching

Forks

Contributors

Languages