FabianPlum / OmniTrax

Deep learning-driven multi animal tracking and pose estimation add-on for Blender
MIT License
29 stars 4 forks source link

[JOSS] OS compatibility #7

Closed lucasmiranda42 closed 11 months ago

lucasmiranda42 commented 1 year ago

Lucas, from your JOSS submission, again.

The package so far looks awesome, to be honest, but it took me a while to get my hands on a proper machine to install it. What are your thoughts / what would the main issues be with making at least the CPU version compatible with other operating systems (ie MacOS, Linux)?

Best!

FabianPlum commented 11 months ago

Hi @lucasmiranda42,

Thanks a lot for all your time and feedback. I finally got around to putting together a working version of OmniTrax for Linux systems (tested on Ubuntu 18.04).

For now the installation defaults to CPU only mode and has been tested and verified with Blender 2.92. While all functionality of the Windows version is now given under Ubuntu (18.04) as well, CPU inference for tracking is extremely slow (~0.2 fps on a CPU vs ~20 to 40 fps on a GPU under Windows 10/11), while pose inference via tensorflow and dlc-live on a CPU runs perfectly well.

You can however relatively easily re-make darknet with GPU, OPENMP, AVX, OPENCV and whatever else you desire in its respective folder (see Makefile in OmniTrax/darknet AFTER triggering the installation via check_packages.py or by enabling the addon in Blender, as when installed on Linux, OmniTrax will clone the latest darknet repo, modify the Makefile and make darknet on the fly), given your system environment is set up accordingly. The omnitrax base installation takes care of everything to get things up and running - tweaking performance is then up to the end-user where desired.

I hope this implementation is satisfactory and enables further users to make use of this toolset!

All the best Fabi