lambdaloop / anipose

🐜🐀🐒🚶 A toolkit for robust markerless 3D pose estimation
http://anipose.org
BSD 2-Clause "Simplified" License
348 stars 64 forks source link

Demo 3D labeled video doesn't look like as in example #88

Open tzeriver opened 2 years ago

tzeriver commented 2 years ago

Hi,

I was trying to run anipose with the demo data, but the 3D labeled video I got looks kind of weird as in the screenshots attached below. Basically it's just some white dots flying around with some color bars pop up from time to time.

I ran everything as default and didn't change any parameters. Does anyone know how to get a normal looking video as shown in the tutorial?

Screen Shot 2022-04-22 at 4 17 16 PM Screen Shot 2022-04-22 at 4 16 31 PM
BerezhnoyD commented 2 years ago

Hi everybody, Same issue there. Can try to add on this. 1) 2d labeling looking good, so I figured out the problem is probably introduced during calibration 2) calibration step looks normal. The initial pixel error is big but I guess it is how it should be as it decreases? Calibration

3) triangulation is probably the problem. It takes much longer than on the example screenshots and the behavior of the cost function also looks weird. Triangulation

And needless to say in the end I get exactly the same videos as @tzeriver

I thought, maybe it is some kind of package version issue as I installed Anipose in the latest DLC-GPU environment. But any ideas are much appreciated.

Thank you, Daniil

greyishfox commented 2 years ago

Hello everyone,

I have encountered the same problem as described above. The resulting model looks similar to @tzeriver and my 2D calibration looks ok (as described by @BerezhnoyD, without any error messages, etc.).

I am using:

Are there any news regarding this issue @lambdaloop ?

Your help is very much appreciated.

BerezhnoyD commented 2 years ago

Hi again, @greyishfox It seems that the problem was not with the triangulation itself, but with the post-processing filters. They are not well documented, so I had to figure them out by myself. Or @lambdaloop maybe there is a documentation that can help? So, if I'm not mistaken, there are two algorithms to smooth the data and get rid of the outliers.

If we apply both of them, we get the videos described by @tzeriver. But if we leave only the RANSAC in the config file we get the graphs like in the tutorial. Solved the issue for me.

image

Hope this helps Sincerely, Daniil

greyishfox commented 2 years ago

Hi @BerezhnoyD

Thank you very much for your help!

Meanwhile I also get nice 3D models similar to the example videos shown in the tutorial but with a slightly different approach. Since version v0.9.0 is the last listed tag of this project, I assumed that version v1.0.1 is not yet stable. Therefore, I simply installed the last stable version v0.9.0.

For anyone unsure how to install a different version: Instead of running "python -m pip install anipose" (from the installation guide) I pointed to an earlier version of my local repo using git (command: git checkout v0.9.0) and installed this version with "python -m pip install -e <PATH TO PROJECT>".

Anyway, depending on the usecase, @BerezhnoyD's solution is probably the better way to go.