A computer-implemented method comprising: receiving, by a computing system, a first image from a first camera of a set of one or more cameras (105A-F); detecting, in the first image, a face of a first person; comparing, by the computing system, the first image to a set of images stored in a local cache of the computing system, wherein i) the local cache stores data for each person in a set of people, the set of people comprising a proper subset of people with data in a person database, the person database storing respective sets of data for people that have been previously identified in a video stream or are known by other means, and ii) the set of images stored in the local cache include images of one or more persons in the proper subset of people with data in the person database, wherein the images of the set of images have been captured by the one or more cameras (105A-F); determining, based on the comparison, whether the face of the first person matches a face of a person depicted by at least one image of the set of images; and in response to determining that the face of the first person does not match a face of a person depicted by at least one image of the set of images stored in the local cache: selecting, by the computing system and from one or more images of the first person, a highest quality image that includes a highest quality depiction of the face of the first person, the one or more images including the first image; providing the highest quality image to a server system that stores data for multiple people, wherein the server system compares the highest quality image to images from the data for the multiple people to identify the first person, wherein the server system is separate from the local cache of the computing system; and receiving, by the computing system and from the server system, data that identifies the first person. receiving, by a computing system, a first image from a first camera of a set of one or more cameras (105A-F); detecting, in the first image, a face of a first person; comparing, by the computing system, the first image to a set of images stored in a local cache of the computing system, wherein i) the local cache stores data for each person in a set of people, the set of people comprising a proper subset of people with data in a person database, the person database storing respective sets of data for people that have been previously identified in a video stream or are known by other means, and ii) the set of images stored in the local cache include images of one or more persons in the proper subset of people with data in the person database, wherein the images of the set of images have been captured by the one or more cameras (105A-F); i) the local cache stores data for each person in a set of people, the set of people comprising a proper subset of people with data in a person database, the person database storing respective sets of data for people that have been previously identified in a video stream or are known by other means, and ii) the set of images stored in the local cache include images of one or more persons in the proper subset of people with data in the person database, wherein the images of the set of images have been captured by the one or more cameras (105A-F); determining, based on the comparison, whether the face of the first person matches a face of a person depicted by at least one image of the set of images; and in response to determining that the face of the first person does not match a face of a person depicted by at least one image of the set of images stored in the local cache: selecting, by the computing system and from one or more images of the first person, a highest quality image that includes a highest quality depiction of the face of the first person, the one or more images including the first image; providing the highest quality image to a server system that stores data for multiple people, wherein the server system compares the highest quality image to images from the data for the multiple people to identify the first person, wherein the server system is separate from the local cache of the computing system; and receiving, by the computing system and from the server system, data that identifies the first person. selecting, by the computing system and from one or more images of the first person, a highest quality image that includes a highest quality depiction of the face of the first person, the one or more images including the first image; providing the highest quality image to a server system that stores data for multiple people, wherein the server system compares the highest quality image to images from the data for the multiple people to identify the first person, wherein the server system is separate from the local cache of the computing system; and receiving, by the computing system and from the server system, data that identifies the first person.