iWildCam 2022

Overview

This dataset contains approximately 260,000 camera trap images with species-level annotations derived from the WCS Camera Traps dataset, with additional metadata and supplementary training data not included in the original WCS Camera Traps dataset.

This dataset was used for the iWildCam 2022 competition as part of the FGVC9 workshop at CVPR 2022. Original results can be found on Kaggle. The task for this competition was counting the number of individual animals in a sequence of images. Variations on this dataset were used in earlier iWildCam competitions; for additional context, see the iWildCam 2020 and iWildCam 2021 dataset papers.

The dataset is also used in the WILDS benchmark set, for which the task for this dataset is species classification. Updated results are available on the WILDS leaderboard.

The dataset includes three data types: camera trap images, iNaturalist images, and Landsat 8 satellite images.

Camera trap images

Camera trap images were selected from the WCS Camera Traps dataset. The training set contains 201,399 images from 323 locations, and the test set contains 60,029 images from 91 locations. These 414 locations are spread across the globe. A location ID (location) is given for each image, and in some special cases where two cameras were set up by ecologists at the same location, we have provided a sub_location identifier. Camera traps operate with a motion trigger and, after motion is detected, the camera will take a sequence of photos (from 1 to 10 images depending on the camera). We provide a seq_id for each sequence, and the competition task was to count the number of individuals across each test sequence. Species-level annotations are provided for each training image (see metadata/iwildcam2022_train_annotations.json). The dataset also includes count annotations on 1780 of the 36,292 train sequences (see metadata/train_sequence_counts.csv).

The dataset includes GPS locations for the majority of the camera traps, obfuscated within 1km for security and privacy reasons. Some of the obfuscated GPS locations (all from one country) were not released at the request of WCS, but the locations not listed in metadata/gps_locations.json are all from the same country, which may provide information about the species visible at those locations based on what is seen in the training data.

Camera trap images are located in the test and train folders, for example:

train/86760c00-21bc-11ea-a13a-137349068a90.jpg

iNaturalist images

As supplementary data to support the primary task of species classification in camera trap images, the dataset also includes all the images from iNaturalist 2017-2018 datasets containing classes that might be in the iWildCam test set, mapped into the iWildCam categories.

iNaturalist images are stored in the inaturalist_2017 and inaturalist_2018 folders, for example:

inaturalist_2017/Mammalia/Papio anubis/df40033fdbde031e98f27e822e7dce29.jpg

Categories from the iNaturalist 2017 and 2018 datasets are mapped to the categories in the camera trap data according to the files metadata/inaturalist_2017_to_iwildcam_train.json and metadata/inaturalist_2018_to_iwildcam_train.json.

Satellite images

We provide Landsat 8 multispectral imagery for each camera location as supplementary data (in the landsat-npy folder). In particular, each site is associated with a series of patches collected between 2013 and 2019. The patches are extracted from a "Tier 1" Landsat product, which consists only of data that meets certain geometric and radiometric quality standards. Consequently, the number of patches per site varies from 39 to 406 (median: 147). Each patch is 200x200x9 pixels, covering an area of 6km^2 at a resolution of 30 meters / pixel across 9 spectral bands (B1, B2, B3, B4, B5, B6, B7, B10, B11). All patches for a given site are registered, but are not centered exactly at the camera location to protect the integrity of the sites.

Downloading the dataset

This dataset is available as a single zipfile:

Having trouble downloading? Check out our FAQ.

Data format

Camera trap image annotations

The metadata included for the camera trap images follows the COCO Camera Traps .json annotation format, with additional fields. Each training image has at least one associated annotation, containing a category_id that maps the annotation to its corresponding category label. The annotations are organized as follows:

{
  "images" : [image],
  "categories" : [category],
  "annotations" : [annotation]
}

image {
  "id" : str,
  "width" : int,
  "height" : int,
  "file_name" : str,
  "rights_holder" : str,
  "location" : int,
  "sub_location" : int,
  "datetime" : datetime,
  "seq_id" : str,
  "seq_num_frames" : int,
  "frame_num" : int
}

category {
  "id" : int,
  "name" : str
}

annotation {
  "id" : str,
  "image_id" : str,
  "category_id" : int
}

iNaturalist image annotations

The metadata included for the iNaturalist images follows the COCO annotation format, which differs from the format used for the camera trap images only in that location, sequence, and date/time information are not provided.

GPS data

The metadata file gps_locations.json is of the following format:

{
  [location]: {
    "latitude": float,
    "longitude": float
  }
}

Instance masks

The dataset contains an instance mask for each detected object by MegaDetector v4 (detected objects are stored in metadata/iwildcam2022_mdv4_detections.json). These instance masks were generated by running DeepMAC on the bounding boxes from MegaDetector v4. For each image in the train or test directory with name <ID>.jpg, if there are any objects detected in the image, its corresponding instance masks will be stored in instance_masks/<ID>.png. The instance mask details are stored in a single-channel PNG image of the same spatial dimensions as the original image. The pixels in the PNG image are 1-indexed and indicate which detection they belong to (0 is reserved for background). The indices follow the same order as the detections in MegaDetector's output (addressed by ['images']['detections']). When there are overlapping instances, we only preserve the ID of the instance with the higher detection confidence (conf field).

Remote sensing data

The dataset includes Landsat 8 multispectral imagery for each camera location as supplementary data, in the landsat-npy folder. In particular, each site is associated with a series of patches collected between 2013 and 2019. The patches are extracted from a "Tier 1" Landsat product, which consists only of data that meets certain geometric and radiometric quality standards. Consequently, the number of patches per site varies from 39 to 406 (median: 147). Each patch is 200x200x9 pixels, covering an area of 6km^2 at a resolution of 30 meters / pixel across 9 spectral bands. Each patch is saved in NumPy .npy format with np.uint16 dtype under iwc_SITE_IDX/iwc_SITE_IDX_YYYY-MM-DD_multispectral.npy. For each of those NumPy files, there are two similar files (iwc_SITE_IDX_YYYY-MM-DD_pixelqa.npy, iwc_SITE_IDX_YYYY-MM-DD_radsatqa.npy) that encode pixel and radiometric quality assessments, respectively. Those assessments are per-pixel bit flags that are packed into a single np.uint16 channel. Note that all patches for a given site are registered, but are not centered exactly at the camera location to protect the integrity of the site.

Acknowledgments

The iWildCam 2022 competition was sponsored by Wildlife Insights. Data was primarily provided by the Wildlife Conservation Society (WCS) and iNaturalist. Count annotations were generously provided by Centaur Labs.

License

By downloading the Wildlife Conservation Society camera trap images, you agree to the terms in the Community Data License Agreement (CDLA).

By downloading iNaturalist data, you agree to the terms outlined by iNaturalist.

Landsat 8 data is the public domain.

Gratuitous camera trap image

Posted by Dan Morris.