1. An object identification system comprising: a processor configured to: receive observed object data from at least one communicatively connected sensor and convert the observed object data received to an observed normal map; receive a plurality of reference normal maps from a communicatively connected normal map database; register the observed normal map and each of the plurality of reference normal maps to produce a plurality of registered normal map pairs, whereby the processor: calculates a 3-D rotation matrix for the observed normal map and each reference normal map; produces 2-D planar transform weights by warping a 2-D position of surface normals of at least one of the observed normal map and each reference normal map in an image plane; and jointly optimizes the 3-D rotation matrix and the 2-D planar transform weights until convergence to the registered normal map pair; calculate a match score for each of the plurality of registered normal map pairs, and determine at least one best match, thereby identifying the object.