Learning Compact Multifeature Codes for Palmprint Recognition From a Single Training Image per Palm