Road surface splits into multiple layers near the edge of the reconstructed area

I am using a custom driving dataset and converted it into the NCore format following the documentation. The generated NCore data can pass the validation/tests described in the documentation, so structurally the dataset seems to be valid.

However, I noticed an important difference when inspecting the converted data. If I export/render the camera images from the generated NCore dataset again, the image content near the left/right edges appears noticeably stretched or distorted. This stretching is not present in the original camera images before the NCore conversion.

At the same time, when training Instant-NuRec on this dataset, the reconstructed road surface is relatively consistent near the central viewing region, but near the lateral boundaries it gradually splits into multiple layers / duplicated surfaces, as shown in the attached screenshot.

Since both problems become more obvious near the edge of the camera FOV, I suspect they may be related. However, I am not sure whether this indicates:

  • an incorrect camera-model / calibration conversion when constructing the NCore dataset;
  • a mismatch between my original camera model and the F-Theta representation expected by Instant-NuRec;
  • an issue with principal point, FOV, distortion coefficients, or camera orientation during the conversion;
  • or simply that my camera configuration / dataset is outside the range that Instant-NuRec is designed to handle well.

My original camera data itself does not show this edge stretching, and the artifact only becomes visible after converting the data into NCore and rendering/exporting it again.

Would this observation suggest that I should first focus on debugging the NCore camera conversion rather than the reconstruction/training stage?

In particular, what would be the recommended way to verify that the camera calibration stored in my NCore dataset is geometrically correct? For example, should I compare pixel-to-ray mappings between the original camera model and the NCore F-Theta model, check reprojection errors at different viewing angles, or compare rendered images at the image center and boundaries?

I would also like to know whether there are known limitations on camera FOV or camera models for Instant-NuRec, and how I can distinguish between a camera-conversion issue and a dataset/camera configuration that is fundamentally unsuitable for Instant-NuRec.

First determine whether pixels or calibration changed

For several frames:

  • decode the original source image;
  • directly decode the image bytes stored in NCore;
  • compare dimensions and pixel differences;
  • do not use a projection renderer for this comparison

The key idea is simple: first compare pixels without involving camera geometry. If those pixels match, the image itself was not stretched by NCore; the stretching must come from how the image is interpreted or displayed.