mapillary / OpenSfM

Open source Structure-from-Motion pipeline
https://www.opensfm.org/
BSD 2-Clause "Simplified" License
3.37k stars 856 forks source link

Is it possible for OpenSFM to be used in image stitching #56

Closed xialang2012 closed 8 years ago

xialang2012 commented 8 years ago

Hi, I use OpenCV to obtain mosaic images, and the there is an example module named stitching in OpenCv to mosaic images. But the problem is that the bundle adjustment functions (BundleAdjusterReproj ) used in OpenCV is time-consuming. So, Is it possible for me to used the OpenSFM to replace BundleAdjusterReproj to improve the performance.

By the way, I am one of the Open Drone Map user, but what is need is just an mosaic image without any geolocation information, the speed of the process is the most important factor.

pmoulon commented 8 years ago

Why not consider to use Hugin?

xialang2012 commented 8 years ago

great idea, I will try it. But, it seems Hugin is too big for me to obtain what I need.

paulinus commented 8 years ago

Do you want to stitch panoramas or aerial images?

If you want panoramas, Hugin should have what you need with a proper UI. OpenSfM assumes that the cameras move and has no support for panoramic sequences at the moment.

If you want to stitch aerial images, Hugin may also work for flat terrains. Otherwise you need to do a 3D reconstruction. OpenDroneMap will do that but quite slowly.

xialang2012 commented 8 years ago

@paulinus aerial images, e.g. UAV. What I want to do is get the stitch aerial images as fast as possible without consider altitude difference, then I will decide if use the OpenDroneMap to do a 3D reconstruction, or get the orthogonal image.

Image Composite Editor provided by Microsoft is a good choice, but it is not an open source software. May be Hugin is one of the good choice.

paulinus commented 8 years ago

Both Image Composite Editor and Hugin are designed for panoramas. They can work to some extend for UAV images as long as the terrain is approximately flat. I would give a try to Hugin. Another option is to run OpenDroneMap with low resolution images first.

xialang2012 commented 8 years ago

Okay, I will try it later.

xialang2012 commented 8 years ago

I have used the Hugin to stitch the images. But the result was not as good as ICE did.