Hello Kevin (and others),
I’ve been experiencing similar behavior under somewhat different conditions, believe these problems and ground causes are related, so let’s compare notes and explore workarounds. I get the same sanity check red flag when, instead of running textures, I’m running reconstruction at normal. The one difference is, in console I’m seeing the same invalid function call with identical “0x2012\0x2010\0x2000\0x4999\0x5051” as reported in this post, which also features my response.
Kevin writes,“Tie points are the crucial numbers to watch for this in the case of this crash – an image with_ less than 10 tie points_ is able to reliably cause crashes in my experience.”
In my experience, I get consistent crashing with images having plenty of tie points, but I believe too few where I need them, these regions being in the distance, which only exacerbates re projection errors. I was aware during capture that the subject matter, a transition between a large space in a mining tunnel through a small window high up on a wall leading into an upper chamber (a ventilation branch), would call for great care in how I stack the ordered pairs of images leading into this high up window. Without a jet pack, I was further constrained by precarious stances on ladders set on lose cobble, cantilevering the camera out as far as I could reach at times, really sketchy work conditions. I might have used my extension pole, but believe that wouldn’t have delivered much different perspectives. Another factor, dust and fog really high that day, producing back scatter and polluting the subject matter into the distance. Here’s 2D in 6-panel view showing some of these images with tied points enabled:
You see what I mean with a dearth of tie points in the distance. So, might it be more than simply not having enough tie points in the image, but not enough where they’re needed? I’ve wondered why when users have written in questions about capturing objects, that dominate the center of the frame and asking about how the background figures in, whether it can be masked, whether it’s preferable to let distant background subject matter go into soft focus or dark, why Wishgranter suggested RC supported such notions, that RC doesn’t benefit from that information, that it might even mess with properly modeling the object. I can see how these two scenarios aren’t in conflict. If RC keeps its eye on the object, no problem whatever the background wants to do, but if you’re capturing the environment, now corner to corner in every frame, that data now has to properly triangulate, very different situation.
To Kevin’s thought that the problem is born when insufficient tie points create a situation locally, that may pass the test through alignment, and in his case through reconstruction, but not through unwrap/texture, that this localized solution hits a wall when tied into loops at the macro scale, I find that idea most intuitive. Now what? Should the bar be raised on what allows a component to stay together at alignment? BTW, I also run iterative alignment, ratcheting down on max reprojection error, RC gets me to below .5 with a mean around .3. I can live with some minor flaws around a transition, much support keeping the component whole, but then there needs to be some work around.
My proposed solution is to provide for allowing the user to export either an .rcalign file or a smaller chunk mesh that preserves scale and coordinate system, allowing user to process this smaller section successfully by not requiring it to solve against the global model, to then match it up as close as common scale/coordinate system will satisfy. I can deal with the minor flaws at the seam between the globally modeled set and this smaller problem child mesh. I’m wondering if RC already supports this, haven’t worked with ground control points in my work. Can I set a ground control point in the larger set and export that with the smaller reconstruction region used to define reconstruction of the problem child mesh section, and will that provide this common scale and coordinate system? Thanks for other ideas.