FERDA is a multi object tracker developed mainly to meet the needs of biologists analyzing video sequences of small lab animal experiments.
Install Conda: https://conda.io.
Setup Conda environment with GUI support:
$ conda env create -f conda_gui_exported.yml
or tune conda_gui.yml
Setup Conda environment for batch processing (without pyqt):
$ conda env create -f conda_cli_exported.yml
or tune conda_cli.yml
requires:
$ pip install -r requirements.txt
Activate environment if necessary:
$ conda activate ferda_gui
or $ conda activate ferda_cli
Start gui:
$ python main.py
Create a new project. After finishing the new project wizard quit the gui.
Note: when nothing is happening check the progress bars in the terminal.
Process a project using command line interface (possibly on a cluster):
$ python ferda_cli.py --run-tracking --save-results-mot results.csv \ --project <project folder> \ --reidentification-weights /datagrid/ferda/models/180421_reidentification/Cam1_clip/best_model_996_weights.h5
For more check ferda_cli.py
help:
$ python ferda_cli.py --help
ferda_cli.py
for project processingThe usual goal is to assign an id to all tracklets of a reasonable size (e.g. > 10 frames). No id is assigned to short tracklets and to groups of animals.
settings dialog : ctrl + ,
step forward : n
step backward : b
play / pause : space
increase step (step value is visible next to FPS display) : 2
decrease step : 1
assign id to tracklet : d
assign id to tracklet (advanced) : shift + d
show / hide all animals overlays : h
Run unit tests:
python -m unittest discover -v
AttributeError: 'Vertex' object has no attribute 'in_neighbors'
OpenCV Error: Assertion failed (chunk.m_size <= 0xFFFF)
sklearn/preprocessing/label.py:151: DeprecationWarning: The truth value of an empty array is ambiguous.
if len(diff):