Here at Cortex we get tons of questions of all kinds from customers, prospects, social media followers, and people at events. Questions around creative trends, social media tips and tricks, creating great content at scale, and specific question like “should I feature people in my photos or not.” But the one question we get the most often is “how on earth do you know this?”
To answer that, we’re doing a bi-weekly deep dive into different aspects of our technology to pull back the curtain on how Cortex comes to its recommendations. For our first installment we’re breaking down how Cortex analyzes colors in photos and videos and makes color recommendations.
How computers think about color
Computer monitors are all made up of an array of pixels, each containing 3 small dots of compounds called phosphors surrounded by a black mask. These phosphors emit either red, green, or blue light when struck by electrons, and the mixture of them produces the color of the pixel you see. This is referred to as the RGB color spectrum, and can produce 16,777,216 distinct colors.
Cortex analyzes each pixel of every photo and video we index and extract the RGB color as the first step in our analysis.
Building a data set
Although being able to see the true color of each pixel allows for an incredible amount of precision, it’s not exactly practical for making recommendations. Mainly because humans can’t distinguish between that many colors. Even if they could, recommendations that specific would be incredibly difficult to carry out, and with that many variations there wouldn’t be enough data around any single color to draw meaningful conclusions.
Therefore, we need to reduce the number of colors analyzed in order to provide actionable recommendations with confidence. While there are many different color spaces to choose from, Cortex the Web Colors space.
Primarily because web colors:
Is well supported across all web standards
Takes less data to store and process
Gives us a sufficiently large data set for each color
These web colors are what is displayed in our Foresight content recommendations
See “Effective Colors” to the right
Reducing from true color to Web colors
In order to determine which Web color to reduce to, Cortex looks at the RGB colors on a 3 dimensional plane.
Once Cortex establishes where in the RGB cube the true color sits, it will calculate the distance between it and the closest Web Color and map it to that color. For recommendations in Foresight, or any recommendation that uses our Getty Images integration, it is useful to use the specific Web Color because it gets as close as possible to the look and feel your audience best responds to.
High level recommendations
There are also times when a specific Web Color is too specific a recommendation to be actionable. When looking at high level trends or giving guidance to photographers in the field, getting hex code color specific is not practical or helpful. For these kinds of discussions it is most useful to look at broad color groups. There are 12 main identifiable colors humans can see that Cortex reduces the Web Colors down to.
Cortex’s 12 Color Groups
Once Cortex maps the web color to its group it looks at how frequently that color occurs in the photo or video (by pixel count). If it is one of the top 3 colors and is over 20% of the image it is considered a “dominant color.” Images are then clustered by the make up of their dominant colors, and each group is compared to rank their performance.
A clusters color makeup will look like this:
Here you can see most of the posts have Cyan as the dominant color, with blue being a strong secondary color. Photos in this cluster may have some white, green, gray, and black, but they only occur in a small number of images in the cluster.
The performance of these colors for this cluster look like this:
While gray is the highest performing, it only appears in a small number of photos so its likely it’s high performance is over represented. Cyan, blue, and white, on the other hand show up with greater frequency so Cyan’s nearly 50% above median performance is a strong trend. When you look at each images performance mapped out, you’ll see a large skew to the left which indicates most images in this cluster over perform the base line. This is a trend you can be confident in following moving forward.
By looking at the strength of trends as well as their performance, Cortex is able to create recommendations on color palettes that will consistently over perform for our clients. Have any further questions about how Cortex thinks about color, or recommendations in general? Have a suggestion for a topic we should cover in a later Tech Deep Dive? Leave a comment or email me firstname.lastname@example.org.