-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reconstruction of sparse model from known camera poses gives few 3D points #497
Comments
The image_id in the database must match the image_id in the images.txt. Also make sure that the images.txt contains exactly the same image observations as listed in the keypoints table in the database. Note that you simply set the point3D_id of each observation to -1.
|
@ahojnnes, got it. Thank you! |
Hello!
But I end up getting this error
I have tried this with a different set of images (same quantity and name) as well as with a copy of the original calibration model folder, (same pictures) but have not had success. I would greatly appreciate it I could get some feedback on what I'm doing incorrectly.
Thanks in Advance ! |
@pilafniev, have you opened a database with features fetched on step Then, you select directory with images in usual way and click Finally, you click In this case ids are the same as names, but they may differ like in your case.
If you had few images (in my case Though, for the start I'd recommend to use 5-10 images to reconstruct a part of the object and check whether it works. |
Thanks for the quick response Char-lie! |
@pilafniev, let's chat under the gist https://gist.github.com/char-lie/61d74885eaf4d62fcf1b959f7f7947d5 to not add noise to this topic. Add a comment there for me to know that you're there. |
i had the same issue, and figured out that the images need to saved as 001.png and not 1.png If you're using python, you can use the zfill inbuilt function to solve this |
May I inquire what does it mean "make sure that the images.txt contains exactly the same image observations as listed in the keypoints table in the database." I also meet the problem "Reconstruction of sparse model from known camera poses gives few 3D points". I only got 50 points. The images.txt is as follow:IMAGE_ID, QW, QX, QY, QZ, TX, TY, TZ, CAMERA_ID, NAME17 -0.50659437247277972 0.55052513676466619 -0.45108488725187412 0.48662782499783158 -608.04364158215401 7978.9498298370399 94.003846592845406 1 st_2423083900_v.JPG 15 -0.4497561703953718 0.5969986891298632 -0.38752224897079829 0.53957247791295748 -2346.0030574711 7648.31798122905 92.371038992067895 1 st_2423034734_v.JPG 9 -0.45956632164037281 0.5895321758506763 -0.39843648277114785 0.5315063300165499 -2063.2478187449001 7729.7733057866099 92.642837708446294 1 st_2423042925_v.JPG 8 -0.46924565599851153 0.58239497385672245 -0.40920897652013133 0.52265918368311559 -1777.6716047806599 7800.7683387683301 92.914347934454995 1 st_2423051150_v.JPG 12 -0.47881288267613653 0.57472086727237326 -0.41998485828289062 0.51385490843054116 -1486.2603659445399 7861.8535223339204 93.188756560923807 1 st_2423059309_v.JPG 11 -0.4972975087138265 0.55880975957656775 -0.44090479827627949 0.49601391037545867 -904.46557818347105 7950.4853809752403 93.730320296270605 1 st_2423075725_v.JPG 13 -0.48838958980223929 0.56678683271738806 -0.43020307884675268 0.50512731640821684 -1196.1855375164 7911.5244862078898 93.459683206173693 1 st_2423067517_v.JPG 14 -0.439574774950997 0.60414463403607999 -0.37635488497863945 0.5478505991097451 -2628.82222213456 7555.3728232480298 92.095748034546801 1 st_2423026558_v.JPG 10 -0.42920335667870357 0.61088928620139382 -0.36544731777438866 0.55591997315404151 -2904.74547910302 7453.2263306479399 91.823366802318404 1 st_2423018350_v.JPG 16 -0.41915468823294588 0.61737186570053704 -0.35428408332676081 0.56359925042098558 -3176.7070670816202 7340.9980907996396 91.5506949450631 1 st_2423010158_v.JPG 4 -0.47365767413122345 0.57932208897761073 -0.40295487621330417 0.52693613720747767 -1899.5921860780199 8143.5876022913299 -62.046288852337398 1 st_2417467070_v.JPG 7 -0.42660614932218549 0.61193195413991019 -0.35151436874362707 0.56567139350490192 -3283.2491229912298 7718.1074907059901 -62.005701965793101 1 st_2417428662_v.JPG 2 -0.40630252888014495 0.62360516953504219 -0.33038122047090523 0.58041631327429566 -3812.4369487051299 7482.14100189689 -61.985111308764701 1 st_2417413276_v.JPG 3 -0.43560676142711213 0.60553875913312194 -0.36226190251206869 0.55887017685222606 -3013.0987239098399 7822.1459710626596 -62.015056892611803 1 st_2417436347_v.JPG 1 -0.44548926570088909 0.59974982261659326 -0.37250492111360067 0.55052660985895852 -2739.67865548605 7916.7332842431597 -62.023784850428903 1 st_2417444032_v.JPG 6 -0.45530848563867965 0.59264598217603637 -0.3825912880808246 0.54322079212845753 -2459.8477205013501 8002.7697399321196 -62.031983205063298 1 st_2417451717_v.JPG 5 -0.46412311872366369 0.5861834984075629 -0.39312774673920109 0.53519081793753642 -2180.8524531511398 8078.0399461260804 -62.0394494954908 1 st_2417459402_v.JPG My commands: colmap exhaustive_matcher --database_path /home/haochen/NeRF/report/database.db --SiftMatching.guided_matching 1 colmap point_triangulator --database_path /home/haochen/NeRF/report/database.db --image_path /home/haochen/NeRF/report/images --input_path /home/haochen/NeRF/report/sparse/created/model --output_path /home/haochen/NeRF/report/sparse/model Please see the following logs of point_triangulator . ==============================================================================
|
Maybe a little bit late but i found out that if you use
the order of the image will change and does not match with the order of your original database.db / images.bin file. If you remove this part the sift feature extraction time will roughly be the same and the images will be loaded in the identical order (mostly). |
I use a calibration object to know positions and directions of cameras in my static rig.
Then, I try to follow the instruction Reconstruct sparse/dense model from known camera poses.
My OS is Xubuntu 18.04.
First, I create a sparse model with cameras' positions
points3D.txt
file blank, because the instruction saysThe points3D.txt file should be empty
images.txt
I clean lines that contain information about points; though, it was not clear for me: FAQ saysevery other line in the images.txt should also be empty
without specifying whatevery other line
means (should it be clarified in FAQ?)cameras.txt
file untouchedThen, I extract and match features without any problems
Note that
model_images
are not the same as were used for camera calibration.Finally, triangulation fails
I caught an error caused by different identifiers of images between calibration sparse model and new model that I want to reconstruct
I've changed ids by hand and got very few points triangulated
Surface I want to reconstruct has not a lot of SIFT matches, so the procedure provides bad sparse point cloud, and patch match processes only 16 images of 24.
If I avoid triangulation and use result of sparse reconstruction of calibration object in patch match procedure, I have all 24 images processed and dense reconstruction result is much more complete.
Am I doing all right?
I have an assumption that my calibration object is similar to scanned objects in that sense that they have the same neighboring images and direct reconstruction of dense point cloud works fine.
Though, it's strange: I use calibration object just because I cannot match features of another images well, and, according to FAQ, I should use features matching to use calibration object.
The text was updated successfully, but these errors were encountered: