DOI: 10.5061/dryad.v41ns1s8s
title: 3,832 annotated images of scanned Hollywood pressbooks for object detection Model

description: 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.
description: # 3,832 annotated images of scanned Hollywood pressbooks for object
 detection Model Dataset DOI:
 [10.5061/dryad.v41ns1s8s](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 ###### Annotation
 Classes | **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.json` file 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](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](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](https://cocodataset.org/#home) * *.jpg -
 original image files * 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](https://roboflow.com/formats/yolov11-pytorch-txt) for more info about the annotation format. * 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](https://roboflow.com/formats/yolov11-pytorch-txt) for more info about the annotation format. * 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](https://roboflow.com/formats/yolov11-pytorch-txt) for more info about the annotation format. * 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.pt` and `last.pt` files which can be used in other computer vision projects. **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](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** 1. Download the COCO or YOLOv11 zip file to your computer 2. Decompress the archive 3. Look in the train, valid, and test folders - each image is one individual page of a pressbook 4. Check the above section for descriptions of how the annotations are stored in each format **How to Train Your Own Model:** 1. Download the zip file `ballyhoo.v15-yolo_augmented.yolov11.zip` and decompress the archive 2. Verify that the images and labels are in the train, valid, and test folders 3. Create a Python environment (such as using `venv` or `conda` 4. Install necessary dependents ```other pip3 install ultralytics ``` 1. Create a python file: ```other 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: * [https://universe.roboflow.com/ballyhoo/ballyhoo](https://universe.roboflow.com/ballyhoo/ballyhoo) Data was derived from the following sources: * [https://mediahist.org/collections/pressbooks](https://mediahist.org/collections/pressbooks)