Closed lck666666 closed 2 years ago
This warning is fine, it should not impact the reconstruction.
Nice catch. I have updated the Colab notebook to get the list of images that are successfully registered:
references_registered = [model.images[i].name for i in model.reg_image_ids()]
and then use this subset to restrict the matching and the localization. Does this solve your problem?
In general, it can indeed happen that some images are not registered into the 3D model. You can easy get their names with set(references) - set(references_registered)
and inspect them.
- Nice catch. I have updated the Colab notebook to get the list of images that are successfully registered:
references_registered = [model.images[i].name for i in model.reg_image_ids()]
and then use this subset to restrict the matching and the localization. Does this solve your problem?
Yes, it solved. Thanks!
I want to construct my own sequnce data captured by a camera. I use the script in
Colab/demo.ipynb
We get the following warning when the code runs here.
In fact, when we run the dataset of 10 images in demo, the result is good. When we run our own dataset, if the number of images in mapping is small, such as 10 or 20, there is no problem. However, once the number of images increases, such as 50 and 60, the following warning will occur.
We suspect that this warning is caused by the density of some of the image feature points, but our data set seems to be small and the images are not unusual.
But this still ends up with the corresponding bin file under
sfm_dir
. As shown in the result, thenum_input_images
is 64, thenum_reg_images
is 62. This difference will cause an error in the following code:Because
demo.ipynb
defined reference as all mapping images in the beginning of the code asreferences = [str(p.relative_to(images)) for p in (images / 'mapping/').iterdir()]
, the reconstruction will not necessarily use all references images. The demo script has no errors becausenum_input_images = num_reg_images = 10
. So, we think thereferences
variable should be reassigned after getting the sfm model. Otherwise ifnum_input_images != num_reg_images
, there will be an attribute error.So we have two questions,
Looking forward to your reply! Thanks sincerely.