3,832 annotated images of scanned Hollywood pressbooks for object detection Model
Data files
Oct 02, 2025 version files 27.50 GB
-
ballyhoo.v15-yolo_augmented.coco.zip
13.63 GB
-
ballyhoo.v15-yolo_augmented.yolov11.zip
13.67 GB
-
example-training.zip
203.20 MB
-
pressbooks-all_digitized.csv
278.85 KB
-
pressbooks-sample_for_annotation.csv
42.19 KB
-
README.md
8.36 KB
Abstract
From the 1910s through the 1980s, Hollywood studios promoted their movies through the creation and dissemination of pressbooks—bound pamphlets containing publicity materials, advertising layouts, accessories for sale, and other promotional tactics. These promotional booklets were sent to exhibitors and press outlets, making them vital nodes within the wider networks of film circulation and culture. This study investigates the reach of these publications by running similarity analyses between Hollywood pressbooks and Chronicling America, the Library of Congress’ expansive collection of local newspapers. High-throughput computing infrastructure and sophisticated machine vision workflows enable us to ask questions about Hollywood pressbooks, including who used them, how, and whether the publicity text, promotional photos, and ads from the pressbooks permeated American newspapers and magazines as the studios had intended.
We used machine learning techniques to identify and classify separate articles, images, and other elements from each page. A team of three data annotators spent two months reviewing 3,832 page scans to identify and classify image segments. This annotation data was augmented using standard techniques including adding in copies of the existing data that was rotated and sheared, along with rotated bounding boxes, and used to train a YOLOv11 object detection model. The machine vision model was then applied to the entire corpus of digitized pressbooks (25,854 pages). By separating the unique elements from each page, we were able to perform much more granular comparisons between pressbook contents and American newspapers. This dataset contains the original images, annotation data, and model weights.
Dataset DOI: 10.5061/dryad.v41ns1s8s
Description of the data and file structure
The dataset includes 25595 images. 3,832 images were manually reviewed and annotated by FitzWhittemore, Proctor, and Riley.
The following pre-processing was applied to each image:
- Auto-orientation of pixel data (with EXIF-orientation stripping)
- Auto-contrast via adaptive equalization
The following augmentation was applied to create 7 versions of each source image:
- 50% probability of horizontal flip
- Equal probability of one of the following 90-degree rotations: none, clockwise, counter-clockwise
- Random rotation of between -10 and +10 degrees
- Random shear of between -10° to +10° horizontally and -10° to +10° vertically
- Random brigthness adjustment of between -15 and +15 percent
- Random exposure adjustment of between -10 and +10 percent
- Salt and pepper noise was applied to 0.14 percent of pixels
The following transformations were applied to the bounding boxes of each image:
- Random rotation of between -4 and +4 degrees
| Class Name | Count |
|---|---|
| article | 13,665 |
| author | 205 |
| cartoon_or_advertisement | 13,423 |
| headline | 23,180 |
| image_caption | 17,923 |
| masthead | 298 |
| newspaper_header | 1,780 |
| page_number | 2,406 |
| photograph | 9,067 |
| table | 1,731 |
| wcftr-attribution | 6 |
Files and variables
Pressbooks Information
We have included two CSV files to provide information about the pressbooks used to create this dataset.
pressbooks-all_digitized.csv contains a list of every pressbook that is digitized and available online in the Media History Digital Library.
pressbooks-sample_for_annotation.csv contains a subset of the entire pressbook collection. This is the smaller sample that the data annotators worked with.
ZIP Files
The dataset contains a handful of zip files.
- Annotated Dataset formatted in different standards:
- COCO -- ballyhoo.v15-yolo_augmented.coco.zip
- Annotation data can be found in the
_annotations.coco.jsonfile in each of the train, valid, and test folders - Directory Structure:
- README.dataset.txt - Basic attribution and license info
- README.roboflow.txt - Summary of image pre-processing completed using Roboflow
- test (60 images; ~0.02%)
- _annotations.coco.json - annotations data in COCO (Common Objects in Context) format. See https://cocodataset.org/#home
- *.jpg - original image files
- train (25,411 images ~99.02%)
- _annotations.coco.json - annotations data in COCO (Common Objects in Context) format. See https://cocodataset.org/#home
- *.jpg - original image files
- valid (118 images; ~0.05%)
- _annotations.coco.json - annotations data in COCO (Common Objects in Context) format. See https://cocodataset.org/#home
- *.jpg - original image files
- Annotation data can be found in the
- YOLOv11 -- ballyhoo.v15-yolo_augmented.yolov11.zip
- Annotation data can be found in the "labels" subdirectory in each of the train, valid, and test folders
- Directory Structure:
- README.dataset.txt - Basic attribution and license info
- README.roboflow.txt - Summary of image pre-processing completed using Roboflow
- test (60 images; ~0.02%)
- images
- *.jpg - original image files
- labels
- *.txt - annotation data for each image file. Names of text files match the filenames of the jpeg files in the 'images' folder. See https://roboflow.com/formats/yolov11-pytorch-txt for more info about the annotation format.
- images
- train (25,411 images ~99.02%)
- images
- *.jpg - original image files
- labels
- *.txt - annotation data for each image file. Names of text files match the filenames of the jpeg files in the 'images' folder. See https://roboflow.com/formats/yolov11-pytorch-txt for more info about the annotation format.
- images
- valid (118 images; ~0.05%)
- images
- *.jpg - original image files
- labels
- *.txt - annotation data for each image file. Names of text files match the filenames of the jpeg files in the 'images' folder. See https://roboflow.com/formats/yolov11-pytorch-txt for more info about the annotation format.
- images
- COCO -- ballyhoo.v15-yolo_augmented.coco.zip
- Example training outputs
- example-training.zip
- test_images -- 5 subdirectories for distinct pressbooks. Each contains individual pages as separate PNG files. A "results" directory for each pressbook contains JPEGs of each page with bounding boxes and detected classes superimposed on the image.
- runs/detect -- 2 subdirectories with the results of us training a model using YOLOv11
- For each run, we include graphs representing the model's precision over the training process along with a CSV file of these statistics
- The weights subdirectory contains
best.ptandlast.ptfiles which can be used in other computer vision projects.
- example-training.zip
Note on Splits: We have kept the default splits (distribution between test, train, and valid sets) as automatically applied by Roboflow during the annotation process. Because we added annotation tasks in batches, these splits do not align with best practices of approximately 70% for training, 15% for validation, and 15% for testing. If training a model using these annotations, we highly recommend that you re-assign the splits before training. The optimal splits will vary depending on your project goals.
Note on File names: The file names of each image and text contain useful information to identify the original pressbook. For example, in the image file pressbook-aip-beach-blanket-bingo-page-0_jpg.rf.2f2d2204bb9d1d7d781554718f66f3c3.jpg, the first portion of the file name pressbook-aip-beach-blanket-bingo is an identifier string which can be appended to http://mediahist.org/reader.php?id= to access the full pressbook (and its metadata) in the MHDL website, i.e. http://mediahist.org/reader.php?id=pressbook-aip-beach-blanket-bingo For all files in the COCO and YOLO zip archives, the string that is before -page-X_jpg.rf.[hash].jpg (or -page-X_txt.rf.[hash].txt) is the identifier string.
Code/software
How to access the raw data
- Download the COCO or YOLOv11 zip file to your computer
- Decompress the archive
- Look in the train, valid, and test folders - each image is one individual page of a pressbook
- Check the above section for descriptions of how the annotations are stored in each format
How to Train Your Own Model:
- Download the zip file
ballyhoo.v15-yolo_augmented.yolov11.zipand decompress the archive - Verify that the images and labels are in the train, valid, and test folders
- Create a Python environment (such as using
venvorconda - Install necessary dependents
pip3 install ultralytics
- Create a python file:
from ultralytics import YOLO
model = YOLO('INSERT_MODEL_NAME')
# Train the model
results = model.train(data='PATH_TO_DATASET', epochs=CHOOSE_AND_EXPERIMENT, imgsz=640)
You will need to provide a model name, specify the exact path to the decompressed data download, and experiment with the desired number of epochs.
Optionally, you can run the training using a distributed computing process, though your code will need to be adjusted for this to work.
Access information
Other publicly accessible locations of the data:
Data was derived from the following sources:
