Labeled training data for detection of aircraft in Planet satellite imagery
PlanesNet is a labeled dataset consiting of image chips extracted from Planet satellite imagery. The purpose of PlanesNet is to serve as labeled training data to train machine learning algorithms to detect the locations of airplanes in Planet's medium resolution remote sensing imagery.
The dataset includes 32000 20x20 RGB images labeled with either a "plane" or "no-plane" classification. Image chips were derived from PlanetScope full-frame visual scene products, which are orthorectified to a 3 meter pixel size.
PlanesNet will be continusouly updated as new Planet imagery is collected becomes available to grow the dataset. Current PlanesNet images were collected as late as July 2017.
The "plane" class includes 8000 images. Images in this class are near-centered on the body of a single airplane, with the majority of the plane's wings, tail, and nose also visible. Examples of different aircraft sizes, orientations, and atmospheric collection conditions are included. Example images from this class are shown below.
The "no-plane" class includes 24000 images. A third of these are a random sampling of different landcover features - water, vegetion, bare earth, buildings, etc. - that do not include any portion of an airplane. The next third are "partial planes" that contain a portion of an airplane, but not enough to meet the full definition of the "plane" class. The last third are "confusers" - chips with bright objects or strong linear features that resemble a plane - that have previously been mislabeled by machine learning models. Example images from this class are shown below.
Provided is a zipped directory planesnet.7z that contains the entire dataset as .png image chips. Each individual image filename follows a specific format: label __ scene id __ longitude _ latitude.png
The dataset is also distributed as a compressed "pickled" file planesnet.pklz. This file can be loaded into a Python dictionary object by using the gzip and pickle modules.
# Python 3
import gzip
import pickle
f = gzip.open('planesnet.pklz', 'rb')
planesnet = pickle.load(f)
f.close()
The loaded dictionary object will contain the following elements:
The list values at index i in labels, scene_ids, and locations each correspond to the i-th image in the data array.
Satellite imagery used to build PlanesNet is made available through Planet's Open California dataset, which is openly licensed. As such, PlanesNet is also available under the same CC-BY-SA license.