Inspired by @anbello 's work, @ppoirier 's work and @LuckyBird 's work.
GoodRobots created an excellent project for vision based precision landing. It use multiple fiducial markers. However, when landing on a limit space (for example, landing on a charging station or on a vehicle). Its markers arrangement makes landing spot off-center (drones will land on the smallest marker).
I have a different approach. By utilizing the ability of pose estimation of markers and LANDING_TARGET MAVLink 2.0 extension fields. We can have multiple markers in different size, but allow drones to land on center of landing pad. In this approach, each marker does not treated as the landing target. Each marker provides a landing target offset.
For example, if drones see marker id 1, then landing target is 0.2m down from marker id 1. Multiple small markers can be placed alone the edge of the landing pad, to avoid drones get lost during the final approach stage