cvg / limap

A toolbox for mapping and localization with line features.
BSD 3-Clause "New" or "Revised" License
661 stars 67 forks source link

Launching on dataset of images #35

Open DaddyWesker opened 12 months ago

DaddyWesker commented 12 months ago

Hello and thanks for your code.

Is it possible to run your code on a dataset consists of images only with no extra parameters? I mean i have only folder with images from the same camera but nothing else - no camera parameters or precomputed results. Anything could be done to run your code on such image folder?

DaddyWesker commented 11 months ago

Ok, so my bad was to try launch Fitnmerge on the image dataset. I've tried to launch python runners/hypersim/triangulation.py on my dataset and got 0 triangulated points. I've put right focal value to K matrix and cx/cy too.

SO for every image I've got something like that

==============================================================================
Triangulating image #150 (149)
==============================================================================
  => Image sees 0 / 2533 points
  => Triangulated 0 points

And in the end

==============================================================================
Retriangulation
==============================================================================
  => Completed observations: 0
  => Merged observations: 0

After that

F0713 16:32:17.251066 11389 sfm.cc:473] Check failed: bundle_adjuster.Solve(&reconstruction) 
*** Check failure stack trace: ***
    @     0x7f393e6021c3  google::LogMessage::Fail()
    @     0x7f393e60725b  google::LogMessage::SendToLog()
    @     0x7f393e601ebf  google::LogMessage::Flush()
    @     0x7f393e6026ef  google::LogMessageFatal::~LogMessageFatal()
    @     0x555d900afe0d  colmap::RunPointTriangulatorImpl()
    @     0x555d900b02de  colmap::RunPointTriangulator()
    @     0x555d90060bb2  main
    @     0x7f3911bbb083  __libc_start_main
    @     0x555d9006aefe  _start
Traceback (most recent call last):
  File "/home/daddywesker/anaconda3/envs/limap/lib/python3.8/subprocess.py", line 516, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['colmap', 'point_triangulator', '--database_path', 'tmp/colmap_outputs/db.db', '--image_path', 'tmp/colmap_outputs/images', '--input_path', 'tmp/colmap_outputs/sparse/reference_model', '--output_path', 'tmp/colmap_outputs/sparse']' died with <Signals.SIGABRT: 6>.
python-BaseException

I guess this error is related to 0 triangulated points.

DaddyWesker commented 11 months ago

Well, i was able to launch colmap_triangulation.py on my data. Glad I've got prepared data using colmap. Though 0 triangulated points running runners/hypersim/triangulation.py bothers me still.

B1ueber2y commented 11 months ago

Hi. Thanks a lot for the interest! The current line mapping only supports running on posed images. So you need to first run COLMAP (or any other SfM software) to get the extrinsic parameters for each image. You can refer to the newly released documentation here: http://b1ueber2y.me/projects/LIMAP/docs/tutorials/triangulation.html#line-mapping-on-a-set-of-images

In addition to this, we are currently building a hybrid SfM system that can estimate the poses inside the LIMAP framework with both points and lines considered, but it will only be released in another few months. Thanks a lot!