• Andrey Filippov's avatar
    CLAUDE: Fix renderNadirSequence(): missing ref->scene transform of pXpYD · a3f665e2
    Andrey Filippov authored
    getNadirDisparityMaps() returns pXpYD in the SEGMENT REFERENCE frame
    (Cuas.transformFromVirtual() output), but renderNadirSequence() passed it
    to renderGPUFromDSI() with ZERO3 pose and the scene as its own reference,
    so each scene image was sampled at reference-frame coordinates. Each nadir
    frame thus carried an extra ref->scene terrain warp: effective camera
    poses vs the segment reference were ~doubled (ground translation 2x, small
    rotations ~2x), and the identity transform also canceled ERS compensation.
    On flat terrain the extra plane homography mimics a valid pose change, so
    COLMAP converged self-consistently but disagreed with the exported poses
    (Sim(3)/free monocular scale absorbs the 2x translation; rotations do not
    scale, explaining the large angular residuals, worst on high-rotation-rate
    sequences).
    
    Now transformToScenePxPyD() maps the reference-frame pXpYD into each
    scene's own frame (pose + ERS, same machinery as the verified
    frozen-terrain path) before rendering with ZERO3/self, where the identity
    pass is an exact pass-through. Output becomes a global-shutter virtual
    view at each scene's nominal pose. Also converts disparity to the scene
    frame for 16-sensor parallax compensation, and drops the defensive clone
    (the transform returns new arrays). Docs updated to state the frame
    conventions.
    Co-authored-by: 's avatarClaude <claude@elphel.com>
    a3f665e2
Name
Last commit
Last update
..
com/elphel/imagej Loading commit data...
epfl Loading commit data...
JP46_Reader_camera0.java Loading commit data...