bsespede / 3D-pose

Optical multi-view motion capture with calibration suite
GNU General Public License v3.0
25 stars 12 forks source link

about system requirement and camera #1

Open metacybercat opened 4 years ago

metacybercat commented 4 years ago

Hi Sespede, Thank you for your great job, there are some questions for me:)

Can I replace OptiTrack with another camera? What does this need to do? What is the system requirement? Can I run it on mac?

I spent a lot of time configuring the environment but it didn't work. Could you package it into docker?

Thank you~

bsespede commented 4 years ago

Hi there! First of all I'm glad you found it useful.

It should be totally possible to change the camera feed. To do so please you should simply implement the same interface as Optitrack.h. The implementation of this class is exclusively used in the CameraController class, so if you need customize how the capture works you can simply change that class and it should be sufficient.

Regarding system requirements, you should be able to run it in any system. It relies on CMake for building so it should be pretty straight forward to run it on mac, since it only uses OpenCV and boost. I have personally tested it on Windows 10 due to Optitrack camera drivers, but if you are not using Optitrack cameras you should be fine anyhow.

Regarding the docker package, I don't have the time to prepare it for you, but if you have any specific issues during the building process just let me know whats going on and I'll try to give you a hand.

NickBuryak commented 3 years ago

Hi @bsespede ! I'm also interested in replacing Optitrack with another cameras. Instead of providing real time camera feed I would like to use collection of pre recorded frames. Is this possible to accomplish and if so what is the most efficient way to do that? Thanks!

bsespede commented 3 years ago

Hi Nick!

Given that you already have the pre-recorded frames, you might as well just use the opencv methods directly if you want to calibrate a set of cameras (you could just copy the calibration related code from my repo to make it easier).

If your goal is to triangulate the pose you would need to download OpenPose (the version I described in the readme), and override it with my custom code in order to feed a multi-view scene. I don't know if there have been any improvements to OpenPose since I released this code, but I remember having issues using OpenPose for 3D poses out-of-the-box so I needed to add this custom code on top. I think there should be more advanced pose estimation algorithms than OpenPose by now though.

Here are some sample results I've obtained back then: https://www.youtube.com/watch?v=NB0e2oYJmkk https://www.youtube.com/watch?v=dJwznSRtjHA (I've used the code in this repo to generate this visualizations)

Hope it helps!