I thought there was a problem with a new version of the software but low and behold I had changed this setting to true when importing images and it after that I found it impossible to get a good alignment.
I am using a Canon 60D camera, and I thought this would give me some extra refinement but it only caused me a lot of issues.
I noticed when I finished an alignment there were random points everyone around the model which looked like noise. A part of me thinks that my lens data thats being imported is just wrong from my Camera and the problem is on my side.
Does anyone know why this caused so much distortion and issues? See the 2 outputs to sketch fab.
EXIF not importing
I want to safe the pain of anyone doing this in the future… I know there is a good purpose for the exif data… It just really caused me a huge amount of issues.
I am pretty certain that exif grouping does not make use of the lens data than any other alignment. It’s a starting point in any case and in most cases RC can get the result even wothout the data.
Exif grouping simply means that all cameras with the same focal length will be undistorted according to the same parameters, which are an average of all images in the group. If you have a fixes lens and don’t change any settings like focus or aperture, then you should get the same or better results with grouping. On the other hand, if you change the settings a lot, then the average is not good enough. You will need to ungroup the images at the and and run one more alignment. The big advantage in my view is that using this exif grouping will result in more cameras aligned because problematic ones can still be solved. The setting that you described simply means that RC groups all the images automatically on import. If you ungroup all of them before alignment, then the results will be exactly the same as if you had switched the setting off.
Nice explanation, clarifies - I think - but could you just re-write the first sentence, which may have a typo, confuses me a bit anyway.
I meant that exif grouping makes no special use of lens data, as I thought Mike had understood it…
So it doesn’t refer to the EXIF data imported from camera with each photo, but still works out focal length, distortion (also anything else, I wonder?) from scratch for each pic, then takes the average and applies that to all of the photos that are incuded in an EXIF grouping?
Whereas, for photos not incuded in an EXIF grouping, it works out and applies focal length, distortion to each photo individually?
So nowhere is it possible to rigidly state ‘this is the EXIF data - trust me - use it just so’?
If so, sounds like yet another weird, misleading name for a setting.
I guess that’s a matter of how you look at it - it never confused me and I had much less to go on back in the days…
Exif data is never ever enough in photogrammetry - it’s only a very rough guideline to give it a name. A bit like saying “look there’s a butterfly” instead of “look there’s a Papilio machaon”. The real focal length can differ quite a bit, just look at the camera info in an anlignment. So there isn’t such a button, only you can give RC more precise data (from a good alignment) and then tell it to apply this rigidly to certain images. But that only works if you change nothing at all from shot to shot.
Yes, maybe it should rather be named “focal length grouping” but the fact is that it says “grouping” and not something else. It is simply a quick and easy way of getting groups of cameras that are likely to have more or less the same distortion parameters. So yes, if not grouped, RC applies.
This explains it pretty good and why you want to use it at first then turn it off.
Grouping can speed up alignment, but as Gotz said, it takes and average of the lens distortion from all the photos. Its faster because RC is not trying to calculate each one. But things like lens or sensor stabilization, or even changing focus, will change the mm of even prime lenses. (google focus breathing) Once a component has been calculated, most of the work has been done, ungrouping and under advanced turning on force rematch, RC will then calculate each shot and adjust the position of the cameras to a more accurate model. It is potentially a faster work flow to use it this way.
Götz Echtenacher said:
“maybe it should rather be named “focal length grouping” but the fact is that it says “grouping” and not something else”
Indeed, and I v usefuly understand that now, but previously I misleadingly understood something else, so it’s not just being pedantic. Needless suffering!
“you can give RC more precise data (from a good alignment) and then tell it to apply this rigidly to certain images”
So that is possible, to rigidly specify, and RC obeys?
Steven Smith said:
“RC is not trying to calculate each one”
but doesn’t it still have to do that in order to
“takes and average of the lens distortion from all the photos”?
All great info, understanding improving - thanks.
“but doesn’t it still have to do that in order to “takes and average of the lens distortion from all the photos”?”
This would seem logical, but RC runs on magic not logic. lol. I’m sure there are all kinds of optimizations and complex maths that would require a PHD and a novel to understand. I wish there was a better more in depth guide explaining each setting better than the generic help in the program. As the staff only offers the minimal amount of help in posts ,I believe it is a mix between language barrier (I could be wrong, they are smarter than me) and not wanting to give away there secret sauce.
If anyone knows of more articles, web pages, youtube videos, or PDFs that go into more of the settings (more than just take overlapping pictures add control points as necessary and calculate depthmaps) that gives you a deeper understanding of the mechanics at work, I would love to read/watch it.
I want one of those big manuals like software used to come with. Remember the ones for Windows 3.1 or 95, or like your car.
This was the document that guided me to turn it on and cause all my problems:
"Camera grouping by EXIF
There is no reason not to use this setting. Enabled grouping can help you avoid the wrong camera and lens estimation. RealityCapture calculates these parameters from all images in one lens group. I strongly recommend this for “one camera with prime lens” turntable scans. Grouping is not necessary for multi-camera rigs."
Other than that issue, that guide is pretty amazing and I would recommend it to anyone getting into or even a vet in photogrammetry.
I am just not sure why it would cause so many problems as it should only really be a good thing for accuracy. I guess the black magic in RC is just far superior
That is one of the best articles I have read in a while. That is where I got the idea of using it at first and then ungrouping. Later down the page it reads
"Now we have almost all of the images aligned in one component. We can finally refine cameras alignment. To do this, we can ungroup all images and run final alignment. During this step, RC will count all the cameras as different lenses, and adjust the small deviations from the different zooms or sensor/lens shifts from optical stabilization (if you used it).
During this step, we can decrease the minimal re-projection error. By default, it is 2px. While it is good enough for most datasets, my personal preference is to refine cameras to the at least 1px error. Setting it lower will give a more precise alignment in the mean and median errors. Fewer errors – better mesh, better mesh – less work in post-processing."
This was the last step I described in aligning that trouble some bathroom with the repeating pattern on the walls form your other post,
Yeah, I think I didnt realize the importance of this step…
“We can finally refine cameras alignment. To do this, we can ungroup all images and run final alignment.” As their previous comment seemed like it makes sense to just keep it always on.
I dont normally need to group anything to refine to 1px error anyways so I probably wont use this feature. But I will keep it in the back of my head.
Agreed, it probably not necessary for project on a fast computer not memory bound, but I have found it helpful on 1000+ photo projects for the time saving, much like using multiple components.
Hehe, runs on magic, I like that!
Tom, I didn’t want to criticize you, just putting it straight.
On easy objects with a perfect image set, you probably won’t need exif grouping. Howecer, mine are usually comlicated with many really difficult corners, so a perfect image set is by definition not possible. That’s why I leave it on on principle so I don’t lose cameras in those tight spots. With no grouping, there are often problems in those corners, which result in either no alignment or super weird distortion models. Grouping helps all that.
Steven, I need to give the 1,0 repro error another chance, thanks for mentioning that. I discarded it because in my opinion it doesn’t help much with alignment, but it might indeed help with noise.
And also thanks for mentioning the article, I need to skim that in a quiet minute. Vlad was quite active here on the forum a while ago and really knows his stuff. However, he is a sculpture /small objects guy and that has slightly different requirements and challenges than large scale stuff and especially interiors (the hardest), which we are all interested in.
By the way, If I dont get 998 out of 1000 aligned on the first go, then I am annoyed - this is how important exif grouping is in my view…
Just make sure you ungroup and refine your alignment as per the document.
Noise is a huge problem when texturing and modeling a large interior room or external structure.
Thats why I am currently pretty strict about getting a good alignment first and foremost.
I keep asking this - is the object of Alignment stage just that - to get the photos aligned - not particularly to get a ‘good’ point cloud? So that, given good photo alignment, Reconstruction can start afresh, without (much) reference to Alignment’s Sparse Point Cloud, to create the final point cloiud, vertices, depth map etc?
May say, that’s academic, why ask - but for instance I might, in a difficult interior, get photos aligned by sticking distinctive objects on the surfaces. Photos would then align using features detected in those objects, but using few features from the actual walls. So the Sparse Point Cloud would contain little info about the actual interior. But with photos aligned, Reconstruction could then have its second go at the photos, and make much more sense of it?
I would like to comment on your 3rd point: that was one of the first basic video tutorials - https://youtu.be/zfW-8v87Bag
I cannot recall any other comments like this but there may sure be others, I still reckon this is just an opinion of a few, why pick up on it? we have come a long way since then, focusing more on implementing your feature requests than making videos, trying to help you troubleshoot every day as much as we can with the knowledge and experience we have, maybe more privately due to the sensitive information, following instructions that we have, while juggling loads of other tasks, within a relatively small team of people…
We do appreciate you being a part of our community and look forward to assisting you as much as we can. This forum is, however, not intented to be a full alternative to our private contact form. Here it is more about discussion with and advice from other users and their experiences.
I understand protecting proprietary information. We just want to understand the switches, knobs, and dials we can turn. RC is touted to be one of if not the best photogrammetry software. The one criticism across all the guides and reviews is little documentation and little help. I have noticed the implementation of great new features to your credit (I’ve been away for a while). I can say most of us just want a better understanding so we can use RC more efficiently and with better confidence.
Can you recommend any guides?