current state

235 views
Skip to first unread message

Pau Gargallo

unread,
Aug 21, 2013, 6:06:56 PM8/21/13
to libmv...@googlegroups.com
Hi all!

I hope there is still someone here.  After 4 years since I last committed something, I'm trying to find out the state of the creature.  I see that it evolved considerably so I'm a bit lost.

As far as I could see on github, the branch libmv/libmv is stalled and most recent commits are happening mostly around Nazg-Gul/libmv and wg-perception/libmv.

Could I ask who is currently developing or using the library, and where is the discussion about it going on if anywhere?

Thanks!
pau


Sergey Sharybin

unread,
Aug 22, 2013, 3:00:55 AM8/22/13
to libmv...@googlegroups.com
Hi,

Not sure about wg-perception's branch, it's started as a GSoC project and i've been in contact with Pablo for a while. But then contact lost and no request to port anything to official libmv happend from that project.

Currently libmv is developing by me and Keir inside blender [1]. This is actually a subset of libmv, but most recent updates are always there. My branch (which is Nazg-gul/libmv) contains all the stable changes we made in blender. Some changes might not be there, but that branch is the most up-to-date and most upstream version of libmv anyway. There's also Joseph Mansfield who's a Google summer of code project being mentoring by Keir, hope he'll stuck to libmv development after the summer as well :) (He's working on libmv bundled to blender sources btw).

As for using libmv, for my knowledge some universities are using it (i've met some guys at Siggraph who're using libmv), also blender's motion tracking is like 100% libmv. Maybe somebody else uses it, which would be interesting to know.

Most of the discussion happens in blender IRC room (#blendercoders at irc.freenode.net). There's also #libmv IRC room at freenode and this mailing list, but there was no discussion there for some time. That's because of a historical question: current libmv development is driven by blender. But we're happy to help with questions raised here in ML or in IRC :)



--
--
========================
libmv...@googlegroups.com
http://code.google.com/p/libmv
 
---
You received this message because you are subscribed to the Google Groups "libmv-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to libmv-devel...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.



--
With best regards, Sergey Sharybin

Pierre Moulon

unread,
Aug 22, 2013, 3:18:58 AM8/22/13
to libmv-devel
Hi Pau,

Another fork is the openMVG project [1]

This is a fork started with my thesis and on which I have added and perform some cleaning:
- noise adaptive model estimation,
- fast un-ordered image feature tracking
- a complete SfM chain


Regards,
Pierre



2013/8/22 Sergey Sharybin <serge...@gmail.com>



--
Regards/Cordialement,
Pierre M

Pau Gargallo

unread,
Aug 22, 2013, 5:09:23 AM8/22/13
to libmv...@googlegroups.com
Thanks a lot for the explanations Sergey and Pierre,

That clarifies many things.  If I got it right, we have:

 - The old libmv/libmv
 - Nazg-gul/libmv which is updated with the changes happening in Blender.
 - Blender's libmv which seems to be a subset of the original that did evolve.
 - wg-perception/libmv which seems to be a "port" to OpenCV (don't know what port means here)
 - Pierre's openMVG which seems a non-mergeable fork that did evolve on its own.


Sergey,

should I consider your branch to be the official one?

how do the changes move between this branch and blender's svn?

thanks again,
pau



Alexander Duda

unread,
Aug 22, 2013, 8:07:11 AM8/22/13
to libmv...@googlegroups.com
Hi,

the port to OpenCV means that libmv is modified to reuse as much as possible functionality from OpenCV to include it into OpenCV as module. The idea is that, nowadays OpenCV is quite strong in first part of the sfm pipeline (image manipulation, feature detection, feature matching, ...) but has a lack of multiple view gemometry algorithm.

The hole project started as GSoC and when got kind of stuck. The problem is that restructuring libmv takes more time than moving algorithm from libmv piece by piece to a new library following the OpenCV conventions. At least this is my opinion. Maybe the OpenCV developer have another one.

Therefore, I ended up creating a new library which is supposed to have the following attributes:
 * following OpenCV conventions
 * complete language bindings for ruby (http://www.ropencv.aduda.eu); later on python / java 
 * reusing OpenCV algorithms like five_point (OpenCV master), ...
 * reusing modified libmv algorithm and unit tests

My motivation for this is that from a research point of view it is very interesting to include acoustic cameras (sonar) into the sfm pipeline for real world scenarios like http://robotik.dfki-bremen.de/en/research/projects/robex.html. I would be more than happy if there are more people out there willing to contribute. 

Regards
Alex

Pau Gargallo

unread,
Aug 22, 2013, 5:24:31 PM8/22/13
to libmv...@googlegroups.com
Thanks for the explanation Alex,

It would be great to have everything available in OpenCV.  It's a pity though if the code in Blender and the code in OpenCV can not be the same.

I'm sorry for not being able to help. Thanks all for the efforts,
pau







Sergey Sharybin

unread,
Aug 23, 2013, 3:08:28 AM8/23/13
to libmv...@googlegroups.com
Hey,

Nice to know this. And yes, nice to know our work from libmv side helps OpenCV project as well :)

As for code in Blender and OpenCV -- it's rather complicated. Libmv is tiny little creature, which is easy to re-use only things we need in Blender. Keeps compilation damn heck easy and relative fast. As a Blender developer i really love this.

But i think it'll be interesting to discuss ways of joining forces implementing some new features which are easy-to-use in both Libmv and OpenCV.
Reply all
Reply to author
Forward
0 new messages