The Street View House Numbers (SVHN) Dataset

From TC11
Jump to: navigation, search

Datasets -> Datasets List -> Current Page

Created: 2012-01-05
Last updated: 2012-001-17

Contact Author

For questions regarding the dataset, please contact

Current Version

Example images from the SVHN dataset. Full numbers format: original variable resolution images with character level bounding boxes.
Example images from the SVHN dataset. Cropped digits format: character level images in a MNIST-like format, fixed resolution of 32x32 pixels.

1.0 (also available from the SVHN Web site)


OCR, Natural Scene, Scene Text, Numbers, Scene Text Recognition


SVHN is a real-world image dataset for developing machine learning and object recognition algorithms with minimal requirement on data preprocessing and formatting. It can be seen as similar in flavor to MNIST (e.g., the images are of small cropped digits), but incorporates an order of magnitude more labeled data (over 600,000 digit images) and comes from a significantly harder, unsolved, real world problem (recognizing digits and numbers in natural scene images). SVHN is obtained from house numbers in Google Street View images.

  • 10 classes, 1 for each digit. Digit '1' has label 1, '9' has label 9 and '0' has label 10.
  • 73257 digits for training, 26032 digits for testing, and 531131 additional, somewhat less difficult samples, to use as extra training data
  • Comes in two formats:
    • 1. Original images with character level bounding boxes.
    • 2. MNIST-like 32-by-32 images centered around a single character (many of the images do contain some distractors at the sides).

Technical Details

Format 1: Full Numbers

These are the original, variable-resolution, color house-number images with character level bounding boxes, as shown in the examples images above. (The blue bounding boxes in the example image are just for illustration purposes. The bounding box information are stored in digitStruct.mat instead of drawn directly on the images in the dataset.)

Each tar.gz file contains the orignal images in png format, together with a digitStruct.mat file, which can be loaded using Matlab. The digitStruct.mat file contains a struct called digitStruct with the same length as the number of original images. Each element in digitStruct has the following fields: name which is a string containing the filename of the corresponding image. bbox which is a struct array that contains the position, size and label of each digit bounding box in the image.

Eg: digitStruct(300).bbox(2).height gives height of the 2nd digit bounding box in the 300th image.

Format 2: Cropped Digits

Character level ground truth in an MNIST-like format. All digits have been resized to a fixed resolution of 32-by-32 pixels. The original character bounding boxes are extended in the appropriate dimension to become square windows, so that resizing them to 32-by-32 pixels does not introduce aspect ratio distortions. Nevertheless this preprocessing introduces some distracting digits to the sides of the digit of interest. Loading the .mat files creates 2 variables: X which is a 4-D matrix containing the images, and y which is a vector of class labels.

To access the images, X(:,:,:,i) gives the i-th 32-by-32 RGB image, with class label y(i).


Please cite the following reference in papers using this dataset:

  1. Yuval Netzer, Tao Wang, Adam Coates, Alessandro Bissacco, Bo Wu, Andrew Y. Ng Reading Digits in Natural Images with Unsupervised Feature Learning NIPS Workshop on Deep Learning and Unsupervised Feature Learning 201 (PDF)

Submitted Files


This dataset is provided for non-commercial use only.

By downloading and using the dataset you agree to acknowledge it's source and cite the above papers in related publications. Please link to the authors' URL for this dataset as

Version 1.0

Format 1: Full Numbers

Format 2: Cropped Digits

This page is editable only by TC11 Officers .