A system for object detection and pose estimation comprising: a memory in which feature vector instructions, matching instructions, and voting instructions are stored; and a processor coupled to the memory, the processor configured via execution of: the feature vector instructions to obtain a mesh for a scene input, to select a set of scene point pairs of the mesh, and to determine a respective feature vector for each scene point pair of the set of scene point pairs; the matching instructions to find, for each feature vector, a respective plurality of nearest neighbor point pairs in feature vector data of a plurality of models, the feature vector data of each model being indicative of a corresponding object of a plurality of objects, and further to compute, for each nearest neighbor point pair of the pluralities of nearest neighbor point pairs, a respective aligning transformation from the respective scene point pair to the nearest neighbor point pair, thereby defining a respective model-transformation combination for each nearest neighbor point pair, each model-transformation combination specifying the respective aligning transformation and the respective model with which the nearest neighbor point pair is associated; and the voting instructions to increment, with each binning of a respective one of the model-transformation combinations, a respective bin counter for the model-transformation combination, and further to select a number of the model-transformation combinations in accordance with the bin counters to detect a number of the objects in the scene input and estimate a pose of each detected object. a memory in which feature vector instructions, matching instructions, and voting instructions are stored; and a processor coupled to the memory, the processor configured via execution of: the feature vector instructions to obtain a mesh for a scene input, to select a set of scene point pairs of the mesh, and to determine a respective feature vector for each scene point pair of the set of scene point pairs; the matching instructions to find, for each feature vector, a respective plurality of nearest neighbor point pairs in feature vector data of a plurality of models, the feature vector data of each model being indicative of a corresponding object of a plurality of objects, and further to compute, for each nearest neighbor point pair of the pluralities of nearest neighbor point pairs, a respective aligning transformation from the respective scene point pair to the nearest neighbor point pair, thereby defining a respective model-transformation combination for each nearest neighbor point pair, each model-transformation combination specifying the respective aligning transformation and the respective model with which the nearest neighbor point pair is associated; and the voting instructions to increment, with each binning of a respective one of the model-transformation combinations, a respective bin counter for the model-transformation combination, and further to select a number of the model-transformation combinations in accordance with the bin counters to detect a number of the objects in the scene input and estimate a pose of each detected object. the feature vector instructions to obtain a mesh for a scene input, to select a set of scene point pairs of the mesh, and to determine a respective feature vector for each scene point pair of the set of scene point pairs; the matching instructions to find, for each feature vector, a respective plurality of nearest neighbor point pairs in feature vector data of a plurality of models, the feature vector data of each model being indicative of a corresponding object of a plurality of objects, and further to compute, for each nearest neighbor point pair of the pluralities of nearest neighbor point pairs, a respective aligning transformation from the respective scene point pair to the nearest neighbor point pair, thereby defining a respective model-transformation combination for each nearest neighbor point pair, each model-transformation combination specifying the respective aligning transformation and the respective model with which the nearest neighbor point pair is associated; and the voting instructions to increment, with each binning of a respective one of the model-transformation combinations, a respective bin counter for the model-transformation combination, and further to select a number of the model-transformation combinations in accordance with the bin counters to detect a number of the objects in the scene input and estimate a pose of each detected object.