the framerate can vary a lot depending on the number of found features.
According to [24] a set of around 150 feature points per frame is sufficient
for producing stable AR while retaining real-time performance.
•
Implement tracking of the matched feature points instead of recalculating
them for every frame would result in much greater performance. The cycle
of detecting and matching will be rerun only once the feature points are
not feasible for tracking anymore. This would mean that for every frame,
while the points are trackable, steps 1 to 3 in the ARmsk pipeline will
be skipped. These steps are by far the most processing heavy steps and
with them out the calculation producing real-time AR is close. Techniques
for tracking, such as Pyramidal Optical Flow[19] are already included in
OpenCV.
•
For AR to work robustly there is need of a good marker that has many
distinctive features equally distributed all over the image. This is not
always easy for the human eye to discern which is why there could be a
marker evaluation function implemented where markers are rated. This
can be done by counting the amount of features detected, calculating their
geometric placement and distribution to generate a rating depending on
the results. This function could then be called by a user to preview a
marker and see if it is any good for AR.