Answers.Body: <p>You need to define a scoring function, which returns a value of whatever criterion you are interested in, be it 'artisticity' or 'heat'. This could be something you use a machine learning algorithm for, provided you have a set of training data with labelled images.</p>
  
  <p>You then need to extract features from the images. In the case of 'heat' this could be a colour spectrum (ie distribution of colours across the image), or whatever. If it's a reasonably small image, pixel values might be feasible. These features you can feed into your algorithm, and try to learn an association between the feature values and the (assigned by you) label of the image. You will end up with a classifier that takes image features as input, and returns the labels as output. The quality of the classifier depends on your images, the features you selected, and the task.  If there is no structure in the data, then a classifier will not work properly.</p>
  
  <p>If you have a continuous value (eg temperature in degrees C) you would run your two sample images through the classifier, and then compare the output values.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-06-11T19:14:43.340Z
Answers.Text: For a CNN this is the way to go. May be worth mentioning that "provided you have a set of training data with labelled images" probably requires many 1000s of labelled images that the OP needs to source somehow.
Answers.UserDisplayName: Neil Slater
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-06-11T16:02:52.863Z
Answers.LastActivityDate: 2018-06-11T16:02:52.863Z
Answers.UserDisplayName: Oliver Mason
Answers.Body: <p>I think the real problem is, what defines a more artistic image? It's really subjective, I think complexity of the work might be one aspect to consider but still a subjective one, you might want to make the purpose of your ML algorithm more objective or defined.
  But then again, It's just my opinion</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-06-11T15:29:59.653Z
Answers.Text: Yes, I totally agree but assume I would like to build something "artistic according to me".
Answers.UserDisplayName: M. Alican Noyan
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-06-11T14:51:46.257Z
Answers.LastActivityDate: 2018-06-11T14:51:46.257Z
Answers.UserDisplayName: Marco Morales
Answers.Body: <p>My feeling is that, because you are dealing with a subject that his highly subjective, you need to integrate whatever learning algorithm you use with human feedback.</p>
  
  <p>This is to say, crowdsource human opinions on a data set of pictures, train the algorithm to try to intuit what qualities images with similar human rankings share. (Both the positive and negative rankings.) Run the algorithm on a new data set and crowdsource that data set to see if the algorithm gets it right.  Rinse &amp; repeat.</p>
  
  <p>You may also want to utilize demographics in the human crowdsourcing.  Art historians will likely have different criteria for what makes a photo artistic than the general public.  Humans with different educational backgrounds will likely have different criteria for what makes a photo artistic.  </p>
  
  <p>Sans the crowdsourcing, the algorithm will have no ability to determine the aesthetic qualities other than what the programmer defines, and in that case, the algorithm will only be able to determine what photos are artistic to the programmer, limiting the utility.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-06-13T17:22:17.407Z
Answers.LastActivityDate: 2018-06-13T17:22:17.407Z
Answers.UserDisplayName: DukeZhou
Body: <p>I would like to develop a machine learning algorithm, given two photos, that can decide which image is more "artistic".</p>
  
  <p>I am thinking about somehow combining two images, giving it to a CNN, and get an output 0 (the first image is better) or 1 (the second image is better). Do you think this is a valid approach? Or could you suggest an alternative way for this? Also, I don't know how to combine two images.</p>
  
  <p>Thanks!</p>
  
  <p>Edit: Let me correct "artistic" as "artistic according to me", but it doesn't matter, I am more interested in the architecture. You can even replace "artistic" with something objective. Let's say I would like to determine which photo belongs to a more hotter day.</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2020-01-24T14:47:42.417Z
Comments.Text: It is Simple by lighting the image with the datamodel expose the original image with the generated one
Comments.UserDisplayName: Mariya Ronald
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-06-13T17:15:30.490Z
Comments.Text: @DuttaA Art History is the general field for this, subfield photography. :) Composition is perhaps the primary qualities, but others would be contrast, lighting, focus, etc. and more subtle concepts such as "telling a story" or "capturing a moment".
Comments.UserDisplayName: DukeZhou
Tags: <convolutional-neural-networks><image-recognition><art-aesthetics>
Title: Which photo is more artistic?
UserDisplayName: M. Alican Noyan
ThreadText: # Which photo is more artistic?
  
  (Asked by: username_0 on 2018-06-11)
  
  I would like to develop a machine learning algorithm, given two photos, that can decide which image is more "artistic".
  
  I am thinking about somehow combining two images, giving it to a CNN, and get an output 0 (the first image is better) or 1 (the second image is better). Do you think this is a valid approach? Or could you suggest an alternative way for this? Also, I don't know how to combine two images.
  
  Thanks!
  
  Edit: Let me correct "artistic" as "artistic according to me", but it doesn't matter, I am more interested in the architecture. You can even replace "artistic" with something objective. Let's say I would like to determine which photo belongs to a more hotter day.
  
  **Tags:** convolutional-neural-networks, image-recognition, art-aesthetics
  > **Comments:**
  > **username_2**: @DuttaA Art History is the general field for this, subfield photography. :) Composition is perhaps the primary qualities, but others would be contrast, lighting, focus, etc. and more subtle concepts such as "telling a story" or "capturing a moment".  
  > **username_1**: It is Simple by lighting the image with the datamodel expose the original image with the generated one  
  
  ---
  
  ## 3 answers
  
  ### Answer by username_3 on 2018-06-11. Score: 3
  
  You need to define a scoring function, which returns a value of whatever criterion you are interested in, be it 'artisticity' or 'heat'. This could be something you use a machine learning algorithm for, provided you have a set of training data with labelled images.
  
  You then need to extract features from the images. In the case of 'heat' this could be a colour spectrum (ie distribution of colours across the image), or whatever. If it's a reasonably small image, pixel values might be feasible. These features you can feed into your algorithm, and try to learn an association between the feature values and the (assigned by you) label of the image. You will end up with a classifier that takes image features as input, and returns the labels as output. The quality of the classifier depends on your images, the features you selected, and the task. If there is no structure in the data, then a classifier will not work properly.
  
  If you have a continuous value (eg temperature in degrees C) you would run your two sample images through the classifier, and then compare the output values.
  
  > **Comments:**
  > **username_4**: For a CNN this is the way to go. May be worth mentioning that "provided you have a set of training data with labelled images" probably requires many 1000s of labelled images that the OP needs to source somehow.  
  
  ---
  
  ### Answer by username_5 on 2018-06-11. Score: 1
  
  I think the real problem is, what defines a more artistic image? It's really subjective, I think complexity of the work might be one aspect to consider but still a subjective one, you might want to make the purpose of your ML algorithm more objective or defined.
  But then again, It's just my opinion
  
  > **Comments:**
  > **username_0**: Yes, I totally agree but assume I would like to build something "artistic according to me".  
  
  ---
  
  ### Answer by username_2 on 2018-06-13. Score: 0
  
  My feeling is that, because you are dealing with a subject that his highly subjective, you need to integrate whatever learning algorithm you use with human feedback.
  
  This is to say, crowdsource human opinions on a data set of pictures, train the algorithm to try to intuit what qualities images with similar human rankings share. (Both the positive and negative rankings.) Run the algorithm on a new data set and crowdsource that data set to see if the algorithm gets it right. Rinse & repeat.
  
  You may also want to utilize demographics in the human crowdsourcing. Art historians will likely have different criteria for what makes a photo artistic than the general public. Humans with different educational backgrounds will likely have different criteria for what makes a photo artistic.
  
  Sans the crowdsourcing, the algorithm will have no ability to determine the aesthetic qualities other than what the programmer defines, and in that case, the algorithm will only be able to determine what photos are artistic to the programmer, limiting the utility.
  
  
  ---
  
  