1. A method comprising: by one or more computing devices, receiving one or more images associated with a primary user, wherein at least one of the one or more images includes one or more detected faces; by the one or more computing devices, for each of the one or more detected faces, selecting a set of one or more candidates, wherein each of the one or more candidates is a user of a social network, wherein for each of the one or more candidates: a computed measure of affinity of the primary user for the candidate through the social network exceeds a threshold; or the candidate is a member of a predetermined group of users on the social network; by the one or more computing devices, for each of the one or more detected faces, selecting a subset of one or more candidates from the set of candidates based on a facial recognition score calculating by a facial recognition comparison of each candidate to the detected face, wherein each of the candidates in the subset of candidates has a facial recognition score above a predetermined threshold; by the one or more computing devices, for each of the detected faces, calculating a candidate score for each of the candidates, wherein the calculation is based on: the facial recognition score for the candidate; and the computed measure of affinity for the candidate; by the one or more computing devices, for each of the one or more faces, selecting a winning candidate from the subset of candidates to identify the face based on the candidate scores for the face.