I want to share some relevant info to heat this topic up. The zinger - I seem to get better (aerial mapping) results with JPEG than DNG. For all you fancy HDR EXR 32-bit float color wizards out there this probably isn't relevant, but thanks for your posts, and especially the
xkcd link. It gave me a sanity check.
TLDR - With optimal post-processing, I can get ~5-10% "better" results (so far) with JPG/TIFF compared to DNG.
--Alexey or someone at Agisoft - Why?!-- Colorblind-friendly screenshot attached showing a tantalizingly blurry draft table of results from tests with one of two datasets. cool blues are "better", warm reds are "worse" and white is 50th percentile.
I define "Better" as higher initial tie-point count and count after gradual selection optimization, while not worse error/RMSE. Camera position error is generally within 1-2 mm (xyz), RMS reprojection error is within ~0.002 pix, and mean keypoint size is slightly smaller. Exactly what makes things better is elusive, but the raw conversion software is a primary factor. So far I get the best results with Affinity Photo (beta) raw converter. Capture One (Express for Sony) comes in second, followed by DNG which doesn't give me any options and is my "baseline" raw. JPG seems barely worse than TIFF with a significant size advantage, but possibly slower processing (next phase of testing if I bother).
--longer version below with more detail--
I am intrigued by initial results comparing dng vs tiff vs jpg. Mostly I've focused on dng vs JPG since at ~95-100% quality (no chroma subsampling, floating-point discrete cosine transform) there is not a lot of visual difference between the two, while JPGs are ~25%-75% smaller within that range. This will be more relevant to aerial mapping than HDR 3D modeling since our focus is on 3D mapping with orthos as a complementary but usually not primary product. Our focus is on optimizing processing speed, accuracy, and project size.
I just spent an
æon [time is blurry in this strange pandemic world] generating and processing JPGs, TIFs and DNGs with a variety of settings and colorspaces in more than a hundred iterations with two sets of .ARW files from a Sony A7R; one with 120 images and one with 1000 images. I'm wrapping up a few things on the 1000 image set, but it seems to generally prove out the best results from the 120 image set. All of my post-processing tried to work primarily with raw processors, colorspaces, levels, exposure, tones, and base curves. I didn't do any denoising, sharpening, lens correction, chromatic aberration correction, etc. One of the most frustrating aspects was the way that different raw converters honor (or don't) the sensor crop values, which I don't even understand.
From what I HAVE been able to understand about metashape processing (thanks for your posts Alexey), Metashape uses the raw image values for each pixel. I don't know if there's any "auto-leveling" step in the image-matching algorithms, but I don't think so, since adding auto-leveling seems to improve results for a given dataset, provided that the auto-scaling doesn't make images too different. I would dearly love some insight into what the image-matching algorithms are most sensitive to. I am curious about the DNG baseline exposure scaling, and I wonder if some kind of "auto-leveling" preprocessing step algorithm would make a difference - I'm guessing that an image-by-image auto-leveling wouldn't be quite as good as a running average for adjacent images (maybe a refinement step?). In general in my peeks at image characteristics it seemed like processing workflows that generated fewer unique colors might produce slightly better results but a lot of those details are fuzzy to me (I'm a geologist, Jim, not a colorspace wizard!).
The imagery has PPK GNSS trigger-event-based camera positions with lever arms to GNSS antenna. I am processing with only camera positions, and evaluating error between photosets after processing.