| CPC G06V 30/413 (2022.01) [G06V 10/32 (2022.01); G06V 10/774 (2022.01); G06V 10/87 (2022.01); G06V 30/414 (2022.01); G06V 30/418 (2022.01)] | 16 Claims |

|
1. A method comprising using at least one hardware processor to:
select a plurality of classifiers from a plurality of available classifiers so as not to exceed a maximum threshold number of classifiers, wherein selecting the plurality of classifiers from the plurality of available classifiers so as not to exceed the maximum threshold number of classifiers comprises
computing an accuracy for each of the plurality of available classifiers,
sorting the plurality of available classifiers in order of computed accuracies,
adding one of the plurality of available classifiers having a highest computed accuracy to an output set, and
adding one or more additional ones of the plurality of available classifiers to the output set, based on an evaluation of a correlation to one or more classifiers already in the output set, until either the output set contains the maximum threshold number of classifiers or all of the plurality of available classifiers have been evaluated;
extract a plurality of patches comprising keypoints in an input image of a document;
for each of the plurality of patches,
construct a gradient map for a plurality of gradient orientations within the patch,
apply the plurality of classifiers to a plurality of rectangles in the gradient map,
wherein each of the plurality of classifiers outputs a value, and
generate a feature descriptor based on the values output by the plurality of classifiers; and
compare the generated feature descriptors to each of a plurality of templates to match the document to one of the plurality of templates for document localization and classification.
|