| CPC G05D 1/0274 (2013.01) [G06T 7/74 (2017.01); G06V 10/44 (2022.01); G06V 10/457 (2022.01); G06V 10/462 (2022.01); G06V 20/56 (2022.01); G06V 20/588 (2022.01); G06V 40/10 (2022.01); G06T 2207/30196 (2013.01); G06T 2207/30204 (2013.01); G06T 2207/30252 (2013.01)] | 16 Claims |

|
15. A moving body monitoring system comprising
a moving body;
a camera that captures a plurality of images;
a storage apparatus; and
a server apparatus comprising a circuit,
wherein the storage apparatus stores information on identifiers, positions, and attitudes of a plurality of markers disposed at predetermined positions and visually distinguishable from each other, and information on a map containing a passageway for the moving body,
wherein the circuit performs:
calculating a first position and a first attitude of the moving body indicating a relative position and a relative attitude of the moving body with respect to a reference position and a reference attitude, based on the plurality of images captured by the camera, using Simultaneous Localization and Mapping (SLAM);
extracting one of the plurality of markers from an image captured by the camera, calculating a second position and a second attitude of the moving body indicating a position and an attitude of the moving body in the map, based on a position and an attitude of the one extracted marker, and calculating an angle of a direction of the camera with respect to a normal line to a plane of the one marker, based on a position and an attitude of the moving body in a marker coordinate system with an origin at the one marker; and
correcting the first position and the first attitude based on the second position and the second attitude to generate a third position and a third attitude of the moving body,
wherein the circuit further determines, based on the calculated angle, whether or not to correct the first position and the first attitude based on the second position and the second attitude, such that:
when the calculated angle is not larger than a first threshold, the circuit does not correct the first position and the first attitude based on the second position and the second attitude, and generates the first position and the first attitude as the third position and the third attitude; and
when the calculated angle is larger than a first threshold, the circuit corrects the first position and the first attitude based on the second position and the second attitude to generate the third position and the third attitude, and
wherein the circuit further performs recording a trajectory of the moving body.
|