I need to measure distance between two AprilTag tags of known size, placed on a flat vertical surface. I have a photo of such surface, taken on a camera with unknown intrinsic parameters. The distance between tags is between 0.5m and 3m, and the size of tags is currently 0.05m, but can be changed.
My question is, is it possible to measure the distance with 1% margin of error using only one photo? Currently I can measure distance in first tag coordinates, then multiply that by the scale of the first tag coordinate system, but that doesn't account for perspective and lens warp and overall gives big errors.