Giter VIP home page Giter VIP logo

bboxee's Introduction

Bounding Box Editor and Exporter (BBoxEE)

BBoxEE is a open-source tool for annotating bounding boxes and exporting data to training object detectors. BBoxEE was specifically developed for the Animal Detection Network (Andenet) initiative, however, it is not limited to annotating camera trap data and can be used for any bounding box annotation task.

BBoxEE is actively under development by Peter Ersts and Ned Horning of the Center for Biodiversity and Conservation at the American Museum of Natural History. Additional documentation will be forthcoming.

Installation

Dependencies

BBoxEE is being developed with Python 3.6.9 on Ubuntu 18.04 with the following libraries:

  • PyQt5 (5.10.1)
  • TKinter (3.6.9)
  • Pillow (6.1.0)
  • Numpy (1.17.0)

Install GUI libraries:

sudo apt install python3-pyqt5 python3-tk

Install pip3 and install / upgrade dependencies:

sudo apt install python3-pip
sudo -H pip3 install numpy
sudo -H pip3 install --upgrade pillow

Launching BBoxEE

git clone https://github.com/persts/BBoxEE
cd BBoxEE
python3 main.py

This is all you need to do to begin using the base annotation functionality of BBoxEE.


Windows Virtual Environment

Download and install Python3 (tested with Python 3.6.7). During the install make sure to check the box that says "Add Python to environment variables".

Once installed open a CMD window and type the following command to verify python is installed corretly.

python --version

Then build a virtual environment and install the dependencies:

cd c:\
mkdir python
cd python
mkdir python-envs
cd python-envs
python -m venv bboxee-env
bboxee-env\Scripts\activate.bat
python -m pip install --upgrade pip
pip install numpy
pip install pillow
pip install pyqt5

Launching BBoxEE

Clone or download BBoxEE (https://github.com/persts/BBoxEE) into c:\python

cd c:\python\bboxee
python main.py

**Note you will need to activate you virtual environment each time you open an new CMD window.


Assisted Annotation and Exporting

Assisted Annotation is the ability to load an existing object detection model and use the model's prediction(s) as initial annotated bounding box. Assisted Annotation is useful approach for visually assessing the accuracy and precision of your model as you continue to collect additional training data.

Exporting to some formats may require additional libraries / frameworks.

Assisted Annotation with Tensorflow and TFRecord Export

Additional Dependencies:

  • lxml (4.4.2)
  • TensorFlow (1.15.0)
sudo -H pip3 install --upgrade lxml
sudo -H pip3 install matplotlib

For detailed steps to install TensorFlow, follow the TensorFlow installation instructions. A typical user can install Tensorflow using one of the following commands:

# For CPU
sudo -H pip3 install tensorflow==1.15
# For GPU
sudo -H pip3 install tensorflow-gpu==1.15

Assisted Annotation with YOLOv3 (Torch)

Additional Dependencies:

  • Torch (1.0.0)
  • Matplotlib (3.0.2)
  • Opencv-python (3.4.5.20)
sudo -H pip3 install torch
sudo -H pip3 install matplotlib
sudo -H pip3 install opencv-python

Clone Ultralytics YOLOv3 repo:

git clone https://github.com/ultralytics/yolov3 DESTINATION

PYTHONPATH

Add Libraries to PYTHONPATH:

export PYTHONPATH=$PYTHONPATH:DESTINATION

Note: This export command needs to run from every new terminal you start. If you wish to avoid running this manually, you can add it as a new line to the end of your ~/.bashrc file.

Quick Start Guide

We have put together a quick start guide. This quick start guide is intended to introduce the basic functionality of BBoxEE. It is not intended to be a comprehensive user guide. Additional documentation will follow.

bboxee's People

Contributors

persts avatar waylonflinn avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.