Still image camera calibration

61 views
Skip to first unread message

perarnetron

unread,
Feb 18, 2012, 8:29:34 AM2/18/12
to libmv-devel
Hello everyone,

some time ago I put together an add-on for Blender that does camera
calibration (focal length and camera orientation) based on still
images. More info and source code is available here: http://code.google.com/p/blam/.

Would it make sense to integrate such functionality into libmv or is
it beyond the scope of the library? The reason I'm asking is that I'm
investigating what it would take to integrate photo matching (with a
UI similar to that of SketchUp http://www.youtube.com/watch?v=BRM7WXU5GrY)
into Blender. It would be nice to put the core photo matching code in
a separate library, preferably an existing one, and libmv came to
mind.

Let me know what you think.

thanks

Pierre Moulon

unread,
Feb 18, 2012, 5:15:54 PM2/18/12
to libmv...@googlegroups.com
Hi,

Thanks for your interest. It's funny I have give a look at your project two days ago...

It could be developped in a fork on github with a QT front end to draw vanishing lines and rectangular region to perform simple reconstruction on principal plane axis (XY, YZ ...).

As long as you have implemented interesting computer vision algorithm it's interesting for libmv.
Libmv focus on clean implementation of computer vision stuff.

I have already start a basic UI some month ago to draw lines, it could be used as a start. The vanishing constrain as the SketchUp perform is another story I think...

Let's continue the discussion.
Cheers,
Pierre.

2012/2/18 perarnetron <perar...@gmail.com>

--
You received this message because you are subscribed to the Google Groups "libmv-devel" group.
To post to this group, send email to libmv...@googlegroups.com.
To unsubscribe from this group, send email to libmv-devel...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/libmv-devel?hl=en.




--
Regards/Cordialement,
Pierre M

perarnetron

unread,
Feb 19, 2012, 6:38:02 AM2/19/12
to libmv-devel
> As long as you have implemented interesting computer vision algorithm it's
> interesting for libmv.
> Libmv focus on clean implementation of computer vision stuff.

The routines I have in mind are
1. Computation of focal length and camera orientation from vanishing
lines for two axes (the same as this http://www.youtube.com/watch?v=BRM7WXU5GrY)
2. Computation of optical center coordinates from vanishing lines for
three axes
3. Computation of camera orientation from a known focal length and
vanishing lines for one axis.
4. Reconstruction of 3D geometry with rectangular faces (see
http://vimeo.com/35153437 at 1:00)

These, especially the first three, are pretty simple compared to the
motion tracking code currently in libmv and clean and self contained
implementations are definitely possible.

> I have already start a basic UI some month ago to draw lines, it could be
> used as a start. The vanishing constrain as the SketchUp perform is another
> story I think...

Cool. What do you mean by "the vanishing constraint"? For routines
1-3, what's needed in terms of UI is a variable number of line
segments with adjustable endpoints plus the ability to draw an image
and lines on top of it. Not that complicated in other words. Routine 4
requires a slightly more complex UI allowing extrusion of quads and
adjustment of their vertices.

If I decide to give this a go, I'll probably focus on 1-3 to begin
with.


>
>
>
>
>
>
>
>
>
> > Hello everyone,
>
> > some time ago I put together an add-on for Blender that does camera
> > calibration (focal length and camera orientation) based on still
> > images. More info and source code is available here:
> >http://code.google.com/p/blam/.
>
> > Would it make sense to integrate such functionality into libmv or is
> > it beyond the scope of the library? The reason I'm asking is that I'm
> > investigating what it would take to integrate photo matching (with a
> > UI similar to that of SketchUphttp://www.youtube.com/watch?v=BRM7WXU5GrY)

Julien Michot

unread,
Feb 19, 2012, 8:08:03 AM2/19/12
to libmv...@googlegroups.com
Hey ! That would be great!
Right now we only handle localisation and reconstruction from/of 3D points but lines, planes and related algorithms would be cool to have inside libmv.
Libmv looks more and more like an image-based localisation and reconstruction that a pure structure-from-motion library.
That would be cool to have something like Google SketchUp integrated into Blender (UI) using libmv as back-end (even having a small GUI inside libmv as Pierre propose), especially when you have already working routine in python.

I would say go ahead !

/Julien

Virgil Stokes

unread,
Feb 19, 2012, 11:39:22 AM2/19/12
to libmv...@googlegroups.com
It would be interesting and IMHO very useful to have a suite of camera
calibration methods in libmv.

Best regards,
--V

perarnetron

unread,
Feb 22, 2012, 11:30:58 AM2/22/12
to libmv-devel
Thanks for your input guys. I can't make any promises as to when I'll
get started on this, but it's good to see that you're interested. I'll
let you know if I make any progress.

Has anyone managed to generate a valid Xcode project using cmake by
the way? Xcode fails to parse the one i created.

thanks

On Feb 19, 5:39 pm, Virgil Stokes <v...@it.uu.se> wrote:
> On 18-Feb-2012 14:29, perarnetron wrote:
>
>
>
>
>
>
>
> > Hello everyone,
>
> > some time ago I put together an add-on for Blender that does camera
> > calibration (focal length and camera orientation) based on still
> > images. More info and source code is available here:http://code.google.com/p/blam/.
>
> > Would it make sense to integrate such functionality into libmv or is
> > it beyond the scope of the library? The reason I'm asking is that I'm
> > investigating what it would take to integrate photo matching (with a
> > UI similar to that of SketchUphttp://www.youtube.com/watch?v=BRM7WXU5GrY)

Julien Michot

unread,
Feb 24, 2012, 11:19:21 AM2/24/12
to libmv...@googlegroups.com

Hi,
I haven't spent time on the compilation on mac OS. If you can fix this, that would be cool ;)

Best regards / MVH / Cordialement
Julien Michot

Reply all
Reply to author
Forward
0 new messages