Replies: 3 comments 3 replies
-
Hi there @frenchnat, We've built an integration with Anipose here: https://github.com/talmolab/sleap-anipose This is still a WIP, but the |
Beta Was this translation helpful? Give feedback.
-
Hi @talmo, Thanks a lot for this. I used a checkerboard to present to the cameras for calibration but I can see in the documentation that sleap only supports charuco board calibration, does it mean I can't do 3D tracking based on my 2D tracking with sleap then? |
Beta Was this translation helpful? Give feedback.
-
Hi @frenchnat, I looked through the If you would rather not wait, you can use Anipose for calibration - it does not matter which software you used to annotate. In fact, calibration is usually done before starting the annotation process using just raw videos (wherein the calibration board was filmed). The Aniposelib docs on their config.yaml for calibration are a bit much in my opinion. I would personally prefer to follow along the aniposelib calibration tutorial and use a script such as the following to perform calibration: from aniposelib.boards import Checkerboard
from aniposelib.cameras import CameraGroup
# TODO: Replace with paths to your videos
vidnames = [['calib-charuco-camA-compressed.MOV'],
['calib-charuco-camB-compressed.MOV'],
['calib-charuco-camC-compressed.MOV']]
# TODO: Replace with names you would like to use for your cameras
cam_names = ['A', 'B', 'C']
n_cams = len(vidnames)
# TODO: Fill out the parameters specific to your checkerboard
board = Checkerboard(
squaresX=7,
squaresY=10,
square_length=25, # here, in mm but any unit works
marker_length=18.75,
marker_bits=4, dict_size=50)
# TODO: Change the fisheye=False if your cameras are not fisheye
# the videos provided are fisheye, so we need the fisheye option
cgroup = CameraGroup.from_names(cam_names, fisheye=True)
# this will take about 15 minutes (mostly due to detection)
# it will detect the charuco board in the videos,
# then calibrate the cameras based on the detections, using iterative bundle adjustment
cgroup.calibrate_videos(vidnames, board)
# if you need to save and load
# example saving and loading for later
cgroup.dump('calibration.toml') Let us know if you need any help. Thanks, |
Beta Was this translation helpful? Give feedback.
-
Hi,
I am currently doing pose estimation tracking with sleap on 2 camera views and I would like to do 3D tracking with Anipose but their tutorial is based on 2D tracking with DLC. Is there a tutorial for using Anipose with sleap out there?
Thanks a lot!
Beta Was this translation helpful? Give feedback.
All reactions