1. A method comprising: determining a three-dimensional (3D) model of a face of an individual based on a plurality of different images of the individual; extracting two-dimensional (2D) patches from the 3D model; and generating a plurality of signatures of the face using different combinations of the 2D patches, wherein the plurality of signatures correspond to respective views of the 3D model from different angles; determining a plurality of attributes of the individual that semantically describe characteristics of the individual; and indexing the plurality of signatures based on the plurality of attributes.