UE 5.7 preview MHA stereo calibration tests, LLH vs Calibration app

I was testing importing stereo MHA data using the old Calibration app (offline) vs LLH in UE 5.7 using a non-standard calibration board (in this case, the smaller board used by FG, 9x12 6mm).

Calibration results were similar (mse of 0.113 offline vs 0.125 from UE 5.7) which are extremely good, but the depth map reconstruction was way different.

Now, in UE 5.7, the calibration process appears to be 2 step: There’s a “pre-select” frames button and “run calibration” button. By the way they are placed, I assume you run the pre-select first then run the calibration.

I’ve done this before with the standard board, with no issues, but the pre-selection process would not select any frames with the non-standard board. (and I did make sure the numbers were correct in config)

However, it does seem that the first step is optional to some extent, as I could still run the calibration without that (resulting in the calibration results seen below)

So my questions are: Why can’t the “pre-select” frames not discover any with this non-standard board, what is the purpose of pre-selecting in the first place and why are the depth map results so different with similar calibration results?

I know it is preview and all, and not quite finished, but I found it interesting.

Hi Bryan,

Details of the new Generate Calibration workflow can be found at the following link:

https://dev.epicgames.com/documentation/en-us/metahuman/generate-calibration

Calibration board size can be configured in the Config section of the Calibration Generation window.

Board Pattern Width and Board Pattern Height should match the number of squares of your board (note: in the legacy Stereo Capture Tools calibration app, this used to be number of squares - 1).

Run Calibration now expects a number of selected frames as input. These can be selected manually or automatically via the Run Auto Frame Selection process.

Run Auto Frame Selection aims to choose suitable frames for the calibration process, omitting frames where the board cannot be detected (e.g. blurry frames or overexposed frames) and optimising for good coverage and pose variation. This selects frames based on their quality rather than simply sampling frames throughout the footage as was the case in 5.6.

One common reason that the process may fail to select frames is if the input footage is out of focus/blurry.

By default the Sharpness Threshold in the Options tab is set to 0.5 px with any frames higher than this value ignored. Increasing the Sharpness Threshold means the grid detection process is less constrained but likely resulting in a lower quality calibration.

We do not anticipate any differences in the generation of depth maps in 5.7. The differences you are seeing may be due to the viewport settings in the MetaHumanIdentity asset editor. I would advise setting the Depth Data Near (cm) and Depth Data Far (cm) to cover the approximate distances of the head with respect to the cameras in 3D space.