POSTER: A Soviet-Style Synthetic Composite Dataset for Visual Bias Research in Image Embeddings
收藏资源简介:
This dataset and accompanying code support research into visual bias in image embedding models. Using a programmatic compositing pipeline, foreground subjects are placed onto background scenes across six social and occupational categories. By systematically swapping backgrounds while keeping the foreground subject identical, the dataset enables a direct test of the central research question: when an image embedding model encodes a composite image, does it prioritise the foreground subject or the background scene? Why Soviet Propaganda Posters? This project was developed as part of a digital humanities course, with the deliberate aim of grounding the dataset in a historically and artistically meaningful visual corpus. Soviet propaganda posters from the 1930s–1960s represent one of the most studied traditions of applied visual communication — a form of art produced at the intersection of politics, society, and mass media. Their stylistic conventions (flat bold shading, limited colour palettes, heroic composition, clearly delineated subjects) make them particularly well-suited for computational analysis: the visual language is unambiguous, subjects are easy to isolate, and the categorical themes (agriculture, military, industry, family, politics, sport) map naturally onto the social roles that bias research is most concerned with. Studying this visual tradition through the lens of modern image embeddings also raises meaningful questions about how machine learning models encode historical and ideological imagery. Related Work This project is inspired by the fruit-SALAD framework (Ohm et al., 2025) and was developed in parallel with a related project by Bulakova (2026), which takes a complementary approach — curating a hand-picked collection of AI-generated Soviet propaganda posters as a unified stylistic benchmark rather than using programmatic compositing. Both projects share the same core research question and visual domain. Ohm, T., Karjus, A., Tamm, M. V., & Schich, M. (2025). fruit-SALAD: A Style-Aligned Artwork Dataset to reveal similarity perception in image embeddings. Scientific Data, 12(1), 254. https://doi.org/10.1038/s41597-025-04529-4 Bulakova, A. (2026). A Hand-Picked Collection of AI-Generated Soviet Propaganda Posters (v1). Zenodo. https://doi.org/10.5281/zenodo.21354083 Image Generation Foreground subjects and background scenes were generated separately using the ChatGPT image generation model (OpenAI, GPT-4o image generation) with carefully engineered natural-language prompts. Foreground prompts specified isolated full-body subjects on plain cream backgrounds with no scenery, making them straightforward to cut out. Background prompts specified scene-only compositions with a clear empty lower-centre space reserved for character placement. The two sets were then combined programmatically using the included Python script (generate_composites.py), which handles scaling, shadow compositing, positional placement, and metadata logging automatically. Stable Diffusion XL was also evaluated as a generation backend. It was not adopted because it consistently produced photorealistic imagery rather than the flat illustrative poster aesthetic required — a direct visual comparison confirmed the ChatGPT model produced substantially more consistent stylistic results. Not every generated image was retained. Each image was reviewed individually; those that did not clearly represent their intended category, exhibited generation artefacts, or broke stylistic consistency were discarded. The final set is therefore a carefully curated subset of the total generated output. The generation prompts for all retained images are provided in soviet_image_dataset_prompts.csv, included in this record. Categories Six categories are used for both foreground subjects and background scenes: Category Foreground subject Canonical background agriculture Female farm workers with tools, wheat, or produce Fields, farmyards, orchards military Male soldiers with rifles, flags, or field equipment Training grounds, barracks, airfields industry Male and female factory and construction workers Factory floors, foundries, construction sites family Mothers with children in domestic poses Kitchens, living rooms, courtyards politician Fictional civic speakers and officials Public squares, assembly halls, government buildings sport Male athletes across track, field, and team sports Stadia, gymnasiums, training grounds Dataset Statistics Foreground images: 6 categories × 10 images = 60 images Background images: 6 categories × 10 images = 60 images Position variants per pair: 5 (centre, left-lower, right-lower, left-upper, right-upper) Matched composites: 600 images Cross-category composites: 4,800 images Total output images: 5,400 Metadata: 1 × metadata.csv with one row per composite Output Filename Convention Every output image encodes its full provenance in the filename: <type>__fg-<fg_category>__bg-<bg_category>__fgname-<fg_number>__bgname-<bg_number>__pos-<position>.png Example: cross__fg-agriculture__bg-familie__fgname-10__bgname-1__pos-center.png This reads as: a cross-category composite, foreground from agriculture (image 10), placed on a background from familie (image 1), using the centre position variant. Position variants: Value Description center Horizontally centred, bottom at 88% of image height left_lower Left of centre, lower placement right_lower Right of centre, lower placement left_upper Left of centre, higher placement right_upper Right of centre, higher placement Metadata output/metadata.csv contains one row per composite with the following columns: Column Description output_path Relative path to the output image fg_file Foreground source filename fg_category Foreground category label bg_file Background source filename bg_category Background category label is_matched True if fg and bg are canonically paired position_variant Spatial placement variant name fg_x, fg_y, fg_w, fg_h Foreground bounding box in pixels Dataset Contents File / Folder Contents foreground/ 60 background-removed PNG foreground images, 6 categories × 10 images, named 1.png–10.png new_backgrounds/ 60 background scene PNGs, 6 categories × 10 images, named 1.png–10.png soviet_image_dataset_prompts.csv Generation prompts for all foreground and background images output/matched/ 600 matched composite images output/cross/ 4,800 cross-category composite images output/metadata.csv Full metadata table for all 5,400 composites Reproducing the Output git clone https://github.com/HassanShahzad7/DIY-Image-Datasets cd DIY-Image-Datasets python -m venv .venv && source .venv/bin/activate pip install pillow numpy pandas tqdm matplotlib python generate_composites.py Full documentation and configuration options are in the repository README. Code Repository: https://github.com/HassanShahzad7/DIY-Image-Datasets Dependencies: Python 3.8+, Pillow, NumPy, Pandas, tqdm, matplotlib Intended Use: Visual bias research in image embedding models, context-manipulation experiments in computer vision, digital humanities research into Soviet visual culture and machine perception. Ethical Note: All images are synthetically generated for academic research purposes only and do not constitute an endorsement of any political ideology.



