Giter VIP home page Giter VIP logo

Comments (11)

oilbird avatar oilbird commented on May 24, 2024 1

Thank you for the reply, attached is the two videos, toml file and the generated pickle.
califilesgutanipo.zip

from anipose.

cgutierrez-Ibanez avatar cgutierrez-Ibanez commented on May 24, 2024 1

I just realized i log in with a different account. same person.

from anipose.

lambdaloop avatar lambdaloop commented on May 24, 2024

Hi @cgutierrez-Ibanez ,

Thank you for filing this issue.
It seems to not be finding any detected checkerboards pairs, which is odd since it seems that checkerboards are detected in all frames.

I need to reproduce this bug to diagnose it further.

Could you share:

  • your config.toml file
  • the pickle file that is generated
  • the calibration videos used

Thank you!

from anipose.

lambdaloop avatar lambdaloop commented on May 24, 2024

Hi @cgutierrez-Ibanez ,

I was able to reproduce the issue.

It turns out that you had misspecified your camera regex pattern, so that it was not matching your files appropriately. In particular, your cam_regex variable was set to:
cam_regex = 'cam([1-9])$'
which translates to 'cam' followed by a digit 1-9 (which is the name of the camera), followed by the end of the filename.

However, your calibration video files are named cam1cut.avi and cam2cut.avi , so the "cam1" and "cam2" parts are not at the end of the name. To fix this, simply update the cam_regex to:
cam_regex = 'cam([1-9])'

You will need to delete your detections.pickle file to reprocess properly.
After changing cam_regex and deleting the pickle file, I was able to obtain a good calibration.

Let me know if that works.

from anipose.

lambdaloop avatar lambdaloop commented on May 24, 2024

To mitigate this issue for future users, I will update Anipose to throw an error/warning when the camera regex name does not match the files to highlight this issue better.

from anipose.

lambdaloop avatar lambdaloop commented on May 24, 2024

Hi @cgutierrez-Ibanez ,

Did you end up trying out the fix? Did it work for you?

Let me know

from anipose.

cgutierrez-Ibanez avatar cgutierrez-Ibanez commented on May 24, 2024

Hi,

Sorry, it has been a busy week. Yes, it works! thank you. It now creates a full calibration, but then when trying to analyze videos, it seems to start deeplabcut, but then nothing happens. I believe the naming is correct. I named the cameras cam1 and cam 2 and the video files are named xxxcam1.avi and xxxcam2.avi, I tried cam_regex = 'cam([1-9])$' and cam_regex = 'cam([1-9])' but in both cases is the same. I have a main anipose3d folder in which there is a session1folder, and in there two subfolders, one called calibration and the other videos-raw. Is probably some naming problem or something I am missing on the tom file. or maybe the path to the deeplabcut folder?

from anipose.

lambdaloop avatar lambdaloop commented on May 24, 2024

Ah, I think for your folder structure, you should set nesting = 1 in your config.toml.

from anipose.

cgutierrez-Ibanez avatar cgutierrez-Ibanez commented on May 24, 2024

sorry about that. Now is (mostly) working. I can get 3d poses, which look very similar to what I got using the deeplabcut triangulation. The one problem is that using filter-3d gives me almost completely blank .csv files.

also, while I have your attention, in the 3d pose files, is the data in mm? Thank you for all the help, patience and great work.

from anipose.

lambdaloop avatar lambdaloop commented on May 24, 2024

Yes, if you've got missing data, the 3D median filter probably will not work that well. In any case, there is now a better filter available, which smooths the data and can constrain the length of certain joint pairs. It will also interpolate the missing data.

Here's an example configuration for constrained optimization:

[triangulation]
optim = true
constraints = [
    ['right_middle_knuckle', 'right_wrist'], ['left_middle_knuckle', 'left_wrist'] # set of constant limb length constraints written out as pairs
]
scale_smooth = 2 # strength of smoothness constraint, higher gives smoother trajectory
scale_length = 2 # strength of length constraint, higher enforces less variability in limb lengths
reproj_error_threshold = 5 # in pixels, for robust triangulation
score_threshold = 0.3 # score threshold for triangulation
n_deriv_smooth = 2 # derivative to minimize for smoothness

from anipose.

lambdaloop avatar lambdaloop commented on May 24, 2024

I think the original issue is resolved, so I am closing this issue.

from anipose.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.