1. A method comprising: obtaining an original image associated with a first user of a social network; analyzing the original image to determine one or more image feature characteristics of the original image, the one or more image feature characteristics comprising a subject of the original image; selecting by a classifier a photorealistic filter and a non-photorealistic filter, wherein the selection of the photorealistic filter is based on a score that is determined by how the photorealistic filter can correct or enhance the one or more image feature characteristics of the original image and wherein selection of the non-photorealistic filter is based on another score that is determined by how the non-photorealistic filter can reduce one or more artifacts resulting from application of the selected photorealistic filter, and, wherein the classifier is trained with training data corresponding to images shared by other users of the social network connected to the first user via a social graph; applying the photorealistic filter to the original image to generate a first modified image and then applying the non-photorealistic filter to the first modified image to generate a second modified image; and causing the second modified image to be displayed.