I am using a third party service which processes images and returns some metadata:

The data (and ranges) looks like this

  1. sharpness 0-1
  2. brightness 0-1
  3. contrast: 0-1
  4. dominant color: hex
  5. array of 'accent' colors: hex
  6. array of 'other' detected colors: hex

I know this is highly subjective, but given this data what might you consider a reasonable algorithm for identifying a better or worse image.

For context, the images are used on the web, for an accommodation booking service - think Airbnb.

closed as too broad by Crazy Dino, scottbb, Philip Kendall, mattdm, StephenG Feb 27 '18 at 16:17

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    Voting to close this as it's purely opinion based as it is so subjective. Are the standards to your degree of quality or the general end user? – Crazy Dino Feb 27 '18 at 12:22
  • 3
    This really isn't possible, there won't be one rule which applies to all photos - it also changes depending on the subject, the colour focus and what exactly you want to do with the photo - also voting to close due to how subjective the question is and in my opinion there not being an objective answer. – Matthew Feb 27 '18 at 12:33
  • 3
    Sharpness = 0.05 ...But, but, but... it was a photo of a match-head at f1.4 ... – Tetsujin Feb 27 '18 at 12:41
  • 1
    Can I get a ruling on whether a discussion of deep learning techniques is outside the scope of this SE? I think OP could solve the problem with these parameters and a couple hundred "good" and "bad" images. – PhotoScientist Feb 27 '18 at 14:09
  • 2
    @PhotoScientist go to meta! It's a great place to get the sidebar questions about the exchange discussed. – Crazy Dino Feb 27 '18 at 17:21

I know this is highly subjective, but given this data what might you consider a reasonable algorithm for identifying a better or worse image.

It sounds like you're probably asking more about how to choose the bounds in the given parameters for acceptable photos, like "sharpness > x", than about what algorithm to use. The algorithm seems pretty straightforward: look at the values for the various parameters and decide whether they indicate that the image is acceptable.

I don't think we can reasonably tell you what the bounds on those parameters should be. We don't know what you would consider acceptable. Instead, pick some number of images from your collection and ask the relevant stakeholders in your project to rate them as acceptable or unacceptable. Further, have them indicate which parameters the unacceptable images fail in: sharpness, contrast, brightness, or color. Then analyze the data: were all images marked unacceptable for sharpness below some threshold? This is how you establish bounds for sharpness. Repeat for the other parameters.

I think you could use this system to reject user-submitted images that fall outside the acceptable range for the given parameters, but you'll probably still want a human to review each photo to make sure the the content is appropriate.

Not the answer you're looking for? Browse other questions tagged or ask your own question.