Skip to content
timlandgraf edited this page Feb 6, 2024 · 24 revisions

BeesBook: Tracking All Honeybees in the Observation Hive Over Their Lifetimes

This page gives an overview about the required hard- and software to setup a BeesBook System.

Want to know what the BeesBook system is? Read these papers:

Publications using the BeesBook system

Want to set up a BeesBook system and want to know what to buy? Check out our shopping list on Google Docs: https://docs.google.com/spreadsheets/d/1z-Vb9nyhvx-7WNBayCk0QtEguCbCXwpLEP0vvgKUmIA/edit?usp=sharing

HD Recording

The following software is required for long-term recording of HD videos.

Lighting

The board layout and arduino code to run the flash boards and camera triggers can be found here: https://github.com/BioroboticsLab/bb_irflash

Recording

The code to record video data from XIMEA or FLEA3 cams can be found here: https://github.com/BioroboticsLab/bb_imgacquisition

Software to generate image statistics during the recording can be found here: https://github.com/BioroboticsLab/bb_statistics

Software for a live display of images, decodings, population, and more can be found here: https://github.com/BioroboticsLab/bb_live

Software for a RaspberryPi and a connected camera that measures activity and records video snippets when there is activity (e.g. for an additional exit camera or for smart feeders) is here: https://github.com/BioroboticsLab/bb_raspicam

Video Archival Storage

Code to send the generated video files to an arbitrary mount can be found here: https://github.com/BioroboticsLab/bb_imgstorage_nfs

Processing HD images

The following tools are required to process the video files and extract individual bee detections and tracks.

Localizing and Detection Pipeline

The toolchain to localize bees and decode tags in images and videos can be found here: https://github.com/BioroboticsLab/bb_pipeline

The resulting data will be stored in the bb_binary format

Bee Tracking

The software to apply camera homographies, link detections (marked and unmarked) over time, assign unique track identifiers, and correct tag decoding errors can be found here: https://github.com/BioroboticsLab/bb_tracking

A graphical user interface to annotate own detections to create training data for a tracking classifier is here: https://github.com/BioroboticsLab/bb_analysis

Productivity

Helper tools to interact with a database based on the tracking results can be found here: https://github.com/BioroboticsLab/bb_behavior

Helper tools to convert and draw BeesBook tags, detect fiducial markers, and more can be found here: https://github.com/BioroboticsLab/bb_utils

Software for a server that can be used in an API to retrieve image data from frame IDs can be found here: https://github.com/BioroboticsLab/beesbook_backend

Android-App to decode markers with your phone: https://github.com/BioroboticsLab/beetag_app

Data Analysis

Software to analyze social networks using spectral decomposition over time: https://github.com/BioroboticsLab/bb_network_decomposition

Software to extract the circadian rhythm of an individual: https://github.com/BioroboticsLab/bb_circadian

Software to train and apply a dance/following classifier: https://github.com/BioroboticsLab/bb_dance_networks

High-Speed Waggle Dance Recognition

The waggle dance software (WDD) needs at least 60FPS cameras (low resolution is fine). It can be found here: https://github.com/BioroboticsLab/bb_wdd2

The WDD can optionally use a neural network to improve precision (and detect some other vibratory behaviors). The code to train and apply the network is here: https://github.com/BioroboticsLab/bb_wdd_filter

Software with a basic GUI to connect to the WDD and do some live postprocessing for experimental control is here: https://github.com/walachey/wdd_bridge/

Legacy

Old tracking software: https://github.com/BioroboticsLab/bb_tracking_2016

Old waggle dance detector: https://github.com/BioroboticsLab/bb_wdd

Software to stitch images when one side is recorded by two cameras: https://github.com/BioroboticsLab/bb_stitcher

Software to figure out stitching intervals for bb_stitcher: https://github.com/BioroboticsLab/bb_interval_determination