Pascal VOC 2012 Dataset

Estimated reading: 6 minutes 196 views

Visualization of the Pascal VOC 2012 Dataset on the Deep Lake UI

Pascal VOC 2012 Dataset

What is Pascal VOC 2012 Dataset?

The purpose of Pascal VOC 2012(PASCAL Visual Object Classes) dataset is to recognize objects in realistic scenarios from a variety of visual object types that are not pre-segmented objects and is basically used for supervised learning task. The dataset can be used for different object recognition challenges such as classification, detection, segmentation and person layout. There are a whole total of twenty object classes chosen. There are 11,530 images in the train/val data set, including 27,450 ROI tagged objects and 6,929 segmentations.

Download Pascal VOC 2012 Dataset in Python

Instead of downloading the Pascal VOC 2012 dataset in Python, you can effortlessly load it in Python via our Deep Lake open-source with just one line of code.

Load Pascal VOC 2012 Dataset Training and validation Subset in Python

				
					import deeplake
ds = deeplake.load('hub://activeloop/pascal-voc-2012-train-val')
				
			

Load Pascal VOC 2012 Dataset Test Subset in Python

				
					import deeplake
ds = deeplake.load('hub://activeloop/pascal-voc-2012-test')
				
			

Pascal VOC 2012 Dataset Structure

Pascal VOC 2012 Data Fields
For training and validation set
  • images : tensor containing images.
  • instances/instance__mask : tensor for object segmentation.
  • instances/mask_pixel : tensor containing pixel values of instances of objects.
  • actions/box : tensor containing bounding box coordinates for action categories.
  • actions/keypoint: tensor containing a single keypoint for action categories.
  • actions/pose: tensor specifying the pose of the object. Most of the pose categories are ‘unspecified’.
  • actions/label: tensor containing labels that represent action categories.
  • actions/difficult: tensor containing the label that represents if the object is difficult to annotate.
  • boxes/box: tensor that contains the coordinate values of the bounding boxes.
  • boxes/label: tensor that contains the labels of the bounding boxes.
  • boxes/pose: tensor containing the numerical label that represents the index of one of the 5 pose categories.
  • boxes/occlusion: tensor containing the numerical label that represents if the image is occluded or not occluded.
  • boxes/trunc: tensor containing the numerical label that represents if the image is truncated or not truncated.
  • boxes/difficult: tensor containing the numerical label that represents the if the image is difficult or not difficult to annotate.
  • parts/box: tensor that contains the coordinates of the bounding boxes for body parts used for person layout challenge.
  • parts/label: tensor that contains the labels of the bounding boxes for body part used for person layout challenge.
  • semantics/mask: tensor that represents the class mask.
  • semantics/label: tensor that contains the labels of classes present in the image and two extra labels, ‘background’ representing the background of the objects and ‘None’ representing the border/outline of the object or objects difficult to label in the image.
  • metadata/action_train_val_split : tensor containing details of whether image is in train or validation split and is used or not in action detection.
  • metadata/segmentation_train_val_split : tensor that contains the text that gives the details of whether the image is a train split tensor contains the text ‘train’. For images used for validation contains the text ‘validation’. If the image is not used for segmentation it contains the text ‘image not used in segmentation’.
  • metadata/part_train_val_split : tensor that contains the text that gives the details of whether the image is used for training or validation or not used in body part/person layout detection.
  • metadata/main_train_val_split : tensor that contains the text that gives the details of whether the image is used for training or validation or not used in the main set.
  • metadata/image_meta: tensor containing image metadata.
For test set
  • images: tensor containing the images.
  • boxes/box: tensor that contains the coordinate values of the bounding boxes.
  • boxes/label: tensor that contains the labels of the bounding boxes.
  • boxes/pose: tensor containing the numerical label that represents the index of one of the 5 pose categories.
  • boxes/difficult: tensor containing the numerical label that represents the index if the image is difficult to annotate.
  • parts/box: tensor that contains the coordinates of the bounding boxes for body parts used for person layout challenge.
  • parts/label: tensor that contains the labels of the bounding boxes for body part used for person layout challenge.
  • actions/box : tensor containing bounding box coordinates for action categories.
  • actions/keypoint: tensor containing a single keypoint for action categories.
  • actions/pose: tensor specifying the pose of the object. Most of the pose categories are ‘unspecified’.
  • actions/label: tensor containing labels that represent action categories.
  • actions/difficult: tensor containing the label that represents if the object is difficult to annotate.
  • metadata/main_test_set: tensor representing the text that gives the details of whether the image is a test set used for object classification and detection.
  • metadata/part_test_set : tensor representing the text that gives the details of whether the image is a test set used for person layout challenge.
  • metadata/segmentation_test_set: tensor representing the text that gives the details of whether the image is a test set used for class and object segmentation.
  • metadata/image_meta: tensor containing image metadata.
Pascal VOC 2012 Data Splits

How to use Pascal VOC 2012 Dataset with PyTorch and TensorFlow in Python

Train a model on Pascal VOC 2012 dataset with PyTorch in Python

Let’s use Deep Lake built-in PyTorch one-line dataloader to connect the data to the compute:

				
					dataloader = ds.pytorch(num_workers=0, batch_size=4, shuffle=False)
				
			
Train a model on Pascal VOC 2012 dataset with TensorFlow in Python
				
					dataloader = ds.tensorflow()
				
			

Additional Information about Pascal VOC 2012 Dataset

Pascal VOC 2012 Dataset Description

Pascal VOC 2012 Dataset Curators
Mark Everingham, John Winn
Pascal VOC 2012 Dataset Licensing Information
Deep Lake users may have access to a variety of publicly available datasets. We do not host or distribute these datasets, vouch for their quality or fairness, or claim that you have a license to use the datasets. It is your responsibility to determine whether you have permission to use the datasets under their license.
 
If you’re a dataset owner and do not want your dataset to be included in this library, please get in touch through a GitHub issue. Thank you for your contribution to the ML community!
Pascal VOC 2012 Dataset Citation Information
				
					@article{everingham2011pascal,
title={The pascal visual object classes challenge 2012 (voc2012) development kit},
author={Everingham, Mark and Winn, John},
journal={Pattern Analysis, Statistical Modelling and Computational Learning, Tech. Rep},
volume={8},
pages={5},
year={2011}
}
				
			
CONTENTS