Binned-KMeans: Extracting Memorable, Explainable, Weighted and Sorted Colour Palettes from Videos
Bibliographic record
Abstract
The generation of color palettes from videos is useful in extracting and studying the dominant colours in videos, such as movies, as well as in comparing and retrieving videos. We introduce Binned-KMeans, a new method for generating colour palettes from video. Our method has demonstrated greater accuracy than standard KMeans, as validated by a user study, in extracting memorable colours from a video. Our method produces palettes that are inherently sorted in a rainbow order, making them easier to compare than traditional, unsorted, palettes. Binned-KMeans palettes contain only saturated, memorable colours by using predefined HSV ranges for each colour bin. This helps our palettes avoid the black, white, grey, beige, and other unmemorable tones that are common in traditional palettes. This convenient grouping of pixels by colour tone makes our method ideal for film colour analysis, allowing us to answer questions about which colours are most commonly used in film. We applied our method to all 73,220 colour films released before 2025 with metadata available. For legal and logistical reasons, we work with movie trailers rather than full movies. Palettes generated with our method have revealed interesting trends in colour use across decades, directors, genres, and even within movie series. Binned-KMeans makes the visual coherence between movies in the same series strikingly apparent, as these films often share the same dominant colour tones. When combined with Minimum Colour Difference, our method is useful for a video retrieval task, identifying the best colour match for a given video, with potential applications in movie recommendation systems. We improved upon a previous related work by using a better saturation weighting formula and processing a significantly larger dataset of movie trailers. We also better handle the removal of Motion Picture Association (MPA) screens when processing trailers. Finally, we are developing a web application to make our palettes explainable by showing the specific video frames that contribute to each colour tile. This application also offers colourbased movie recommendations. Our research aims to provide filmmakers, marketing strategists, and other visual artists with data to support creative decisions, such as which colours to use to evoke certain emotions or stay consistent with a director's unique style. We hope to offer a unique new way of classifying and recommending movies for streaming services.
Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.
How this classification was reachedexpand
Full frame distilled prediction
Teacher imitationNot calibrated prevalence, not ground truth. Human validation pending. Learned from the 10,348 direct Codex labels and 10,348 direct Gemma labels. Candidate is the union of thresholded teacher heads; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels or direct frontier model labels.
Codex and Gemma teacher scores by category
| Category | Codex | Gemma |
|---|---|---|
| Metaresearch | 0.001 | 0.000 |
| Meta-epidemiology (narrow) | 0.001 | 0.001 |
| Meta-epidemiology (broad) | 0.001 | 0.000 |
| Bibliometrics | 0.000 | 0.002 |
| Science and technology studies | 0.001 | 0.000 |
| Scholarly communication | 0.002 | 0.002 |
| Open science | 0.001 | 0.001 |
| Research integrity | 0.000 | 0.001 |
| Insufficient payload (model declined to judge) | 0.001 | 0.000 |
Machine scores (provisional)
The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.
Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.
score_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from itClassification
machine, unvalidatedMachine predicted; a candidate call from one teacher head, not a consensus.
How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".