This page compares known camera trap solutions that aid with detection and species classification. The table below is a summary of key features that would aid the typical workflow for an ecologist.

Below the table you can find a more detailed summary of each solution and my personal review of it.

Contact Info

<aside> 👋 👤 Petar Gyurov 📨 [email protected] 🌍 Timezone: GMT (London, UK)


Comparison Table



A detection and classification model that has been trained on a vast dataset of camera trap images. Can be trained on custom dataset to improve performance. It's acts as the backend for some of the other solutions listed here.

Personal Evalution

It is fairly easy to run locally, though I did have some issues getting it going on my Windows machine; perhaps the documentation could be updated. Having said all this, I have technical background which means people with less programming experience may find it difficult to setup, and more importantly difficult to use as part of a pipeline or workflow. It is a good backend solution, i.e.: providing a UI wrapper around it would be beneficial. This also brings me to my next point — code structure and documentation — the CameraTraps repository is very dense and I was surprised to see that there isn't an intuitive API to run the model. There is a CLI implemenation but I think that can be supplementary/secondary to an API. I think some structural refactoring would be beneficial.

I would personally be looking to create something like this:

""" Basic example of the top of my head """

from megadetector import MegaDetector

md = MegaDetector(some_config_param_1='blah', some_config_param_2='blah')  # a class that exposes a configurable model instance

<aside> 🏁 BOTTOM LINE — great as a backend for a custom solution to weed out empty images