arpg / vicalib

Visual-Inertial Calibration Tool

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unknown issue with vicalib ir camera calibration

Algomorph opened this issue · comments

Firstly, thanks for these great libraries.

We got it working on two machines, both running Ubuntu w/ GTX 780Ti cards.
We cannot seem to get it working on our third machine. That one is also running Ubuntu, but with a GTX 760.

I'm running out of things to try at this point. We were using the library versions from 4 days ago on all three machines. Today I pulled the changes from the git repos and re-built virtually everything on machine 3, which prompted a distro upgrade (ubuntu 14.10 only had protobuf 2.5), but got exactly the same result in the end.

This is for the third machine:
HAL seems to be working. The only think I have doubts about is all that noise in the depth feed.
Here is what SensorViewer looks like:
http://s16.postimg.org/amydpr4dh/Screenshot_from_2015_04_28_16_50_15.png

Here is what vicalib looks like (note the whitish feed for IR instead of what SensorViewer shows):
http://s15.postimg.org/70hjg6d7f/Screenshot_from_2015_04_28_16_46_11.png

Everything builds without error at this point. Any clues?

This may be related. This is output of the protonect depth feed on the third machine.
The ARPG/Dorian's version (same strange artifacts and noice as the SensorViewer depth feed above):
http://s30.postimg.org/4iyrdeozl/Screenshot_from_2015_04_28_17_15_54.png
The upstream OpenKinect version:
http://s10.postimg.org/ranrpexrt/Screenshot_from_2015_04_28_17_16_48.png

There was some kind of important fix in the upstream 28 days ago:
OpenKinect/libfreenect2#171

Could this be related? Is it possible to get HAL/vicalib working with the OpenKinect trunk version?

Hi! You caught us in the middle of some major changes in some of our core libraries, so I am pretty sure there might still be some kinks to iron out. We mostly code for OSX, but as @crheckman mentioned, we try to keep our code working for Linux as well. Specifically our Jenkins build environment is Ubuntu 14.04 with GCC 4.8.2.

Vicalib and its dependencies (HAL and Calibu) does not make use of CUDA, so I would discard your graphics card as an issue for things not working.

The changes in our libraries in the past 4 days affect how they are exported. We used to automatically export libraries in the user path, but that seemed to have created confusion with some people who preferred "make install". We have disabled the automatic exporting of our packages now, and have provided the typical "make install" functionality. As such, I recommend cleaning your build directories for our libraries, and especially, delete entries in your "~/.cmake/packages" path. Then rebuild everything and "make install". If you still prefer to export packages locally, then you will have to enable that option under cmake's advanced options for the library being built.

When you say things are not working, what exactly is the issue? The application seems to be compiling and running fine. If it is just the IR pattern, it could be a driver issue. What camera are you using? Seems to be the Kinect One.. if so, which freenect2 version did you build?

Ah I see you mentioned the driver. Yes, I would recommend using the latest version of freenect2. I believe HAL's freenect2 driver should work with any version of it, unless they made major changes in how the camera is initialized, etc. It just wraps any camera driver (in this case the freenect2) to a generic camera class.

Actually, I messed up on the command I used for vicalib, my bad. I forgot to use [range=ir2] for the ir feed. Everything works now, hurray! I'm closing this. Yeah, using the latest libfreenect2 is a good idea :-) 👍