Final tests & comments - OSLL/duckietown-cslam GitHub Wiki
The final version of the marker detector from the new_marker_detector
branch shows the following statistics of the number of processed 1296x976 frames per second:
Hardware | Library | FPS |
---|---|---|
Raspberry Pi 4 |
Apriltags3 |
1.9 |
ArUco |
14.3 |
|
Intel Core i7 8550U |
Apriltags3 |
15.1 |
ArUco |
76.3 |
The final version from new_marker_detector_only_cpp processes a 1296x976 frame with 1 marker in about 30ms, with 3 — in about 61ms. However, for this, detection is called on the callback argument itself (in order not to make copies — one takes about 13 ms), which makes it impossible to directly implement image_queue, and hence the simultaneous operation by several ImageProcessors.
Possible next steps include tasks:
-
Move detection node to c++
-
Send images from camera_node via
publish(const boost::shared_ptr<M> &)
(in this case the argument in the callback is allowed to be weak copied) -
Organize receiving frames directly from the detection container (the authors of ArUco also have a library for working with the RPI camera)
-
Adjust the ArUco configuration to the specifics of the problem being solved