dddjjjbbb / Grunz

"Grunz" aims to streamline the pre/post processing of camera trap data via MegaDetector. The code was written to aid the work of the Institut für Ökologie at the Technische Universität Berlin.
GNU General Public License v2.0
5 stars 2 forks source link

Grunz

"Grunz" aims to streamline the pre/post-processing of camera trap data via MegaDetector. The code was written to aid the work of the Institut für Ökologie at the Technische Universität Berlin.

What does this project hope to achieve?

There are two problems it seeks to solve:

  1. Removing the manual and costly process of classifying videos containing animals vs those without.
  2. Drastically reducing the technical process of doing so. The user should not have to focus on the means to get the required result.

Why is it called Grunz?

As the initial research goal related to the impact of 🐖's on ecosystems in Berlin, Germany and as German pigs "grunz" and not "oink", this seemed like a fitting name :)

Tech

Important notes


from cameratraps.ct_utils import truncate_float
import cameratraps.visualization.visualization_utils as viz_utils
from cameratraps.detection.run_tf_detector import ImagePathUtils, TFDetector
import cameratraps.visualization.visualization_utils as viz_utils
from cameratraps.data_management.annotations import annotation_constants

Features

How to run "Grunz"

In the interest of getting the job done without fuss, I've tried to hide as much complexity as possible. Running "Grunz" should thus be very simple.

VM

Clone the repo

git clone --recursive https://github.com/dddjjjbbb/Grunz

Fetch the latest changes from upstream in each submodule

git checkout master; git pull

Download the MegaDetector model file

Note: If you do not have wget installed simply open the url above in your browser and save the file.

IMPORTANT: Ensure you save this file to the root directory of the project. i.e. it should be at the same level as main.py

Dependencies

Before running the command below, please note the following: If you intend to run Grunz on a machine with a GPU (which will likely be necessary at some point), change tensorflow to tensorflow-gpu in the requirements.txt file before installing the dependencies.

pip install -r requirements.txt

For pre pro.

python main.py --pre "grunz/data"

IMPORTANT: Please note, if running on a Windows machine, the path delimiter will differ. i.e. use backslashes in place of the forward slashes used in the documentation.

For post pro.

python main.py --post "grunz/output/20201016-0040.json"

License

GNU GPL v2