{
  "fetched_at": "2026-10-24T15:10:11Z",
  "source_url": "https://www.kaggle.com/competitions/dstl-satellite-imagery-feature-detection/data",
  "pages": [
    {
      "name": "data-description",
      "content": "<p>In this competition, Dstl provides you with 1km x 1km satellite images in both 3-band and 16-band formats. Your goal is to detect and classify the types of objects found in these regions. </p>\r\n<h4>3- and 16-bands images</h4>\r\n<p>There are two types of imagery spectral content provided in this competition. The 3-band images are the traditional RGB natural color images. The 16-band images contain spectral information by capturing wider wavelength channels. This multi-band imagery is taken from the multispectral (400 – 1040nm) and short-wave infrared (SWIR) (1195-2365nm) range. All images are in GeoTiff format and might require GeoTiff viewers (such as <a href=\"http://www.qgis.org/\">QGIS</a>) to view. Please refer to our <a href=\"https://www.kaggle.com/c/dstl-satellite-imagery-feature-detection/details/data-processing-tutorial\">tutorial</a> on how to programmatically view the images.</p>\r\n<h4><img src=\"https://storage.googleapis.com/kaggle-media/competitions/kaggle/5916/media/6100-Frag_3.png\" alt=\"Ortho Ready Standard Imagery © 2016 DigitalGlobe, Inc.\" width=\"336\" height=\"314\" style=\"display: block; margin-left: auto; margin-right: auto;\" /></h4>\r\n<p>All imagery credit to: Satellite Imagery © DigitalGlobe, Inc.</p>\r\n<h4>Imagery details</h4>\r\n<ul>\r\n<li>Sensor : WorldView 3</li>\r\n<li>Wavebands :</li>\r\n<ul>\r\n<li>Panchromatic: 450-800 nm</li>\r\n<li>8 Multispectral: (red, red edge, coastal, blue, green, yellow, near-IR1 and near-IR2) 400 nm - 1040 nm</li>\r\n<li>8 SWIR: 1195 nm - 2365 nm</li>\r\n</ul>\r\n<li>Sensor Resolution (GSD) at Nadir :</li>\r\n<ul>\r\n<li>Panchromatic: 0.31m </li>\r\n<li>Multispectral: 1.24 m</li>\r\n<li>SWIR: Delivered at 7.5m</li>\r\n</ul>\r\n<li>Dynamic Range</li>\r\n<ul>\r\n<li>Panchromatic and multispectral : 11-bits per pixel</li>\r\n<li>SWIR : 14-bits per pixel</li>\r\n</ul>\r\n</ul>\r\n<h4>Object types</h4>\r\n<p>In a satellite image, you will find lots of different objects like roads, buildings, vehicles, farms, trees, water ways, etc. Dstl has labeled 10 different classes:</p>\r\n<ol>\r\n<li><strong>Buildings</strong> - large building, residential, non-residential, fuel storage facility, fortified building</li>\r\n<li><strong>Misc. Manmade structures </strong></li>\r\n<li><strong>Road </strong></li>\r\n<li><strong>Track </strong>- poor/dirt/cart track, footpath/trail</li>\r\n<li><strong>Trees </strong>- woodland, hedgerows, groups of trees, standalone trees</li>\r\n<li><strong>Crops </strong>- contour ploughing/cropland, grain (wheat) crops, row (potatoes, turnips) crops</li>\r\n<li><strong>Waterway </strong></li>\r\n<li><strong>Standing water</strong></li>\r\n<li><strong>Vehicle Large </strong>- large vehicle (e.g. lorry, truck,bus), logistics vehicle</li>\r\n<li><strong>Vehicle Small </strong>- small vehicle (car, van), motorbike</li>\r\n</ol>\r\n<p>Every object class is described in the form of <a href=\"https://en.wikipedia.org/wiki/Polygon\">Polygons</a> and MultiPolygons, which are simply a list of polygons. We provide two different formats for these shapes: <a href=\"http://geojson.org/\">GeoJson</a> and <a href=\"https://en.wikipedia.org/wiki/Well-known_text\">WKT</a>. These are both open source formats for geo-spatial shapes. </p>\r\n<p>Your submission will be in the WKT format. </p>\r\n<h4>Geo Coordinates</h4>\r\n<p>In this dataset that we provide, we create a set of geo-coordinates that are in the range of x = [0,1] and y = [-1,0]. These coordinates are transformed such that we obscure the location of where the satellite images are taken from. The images are from the same region on Earth.</p>\r\n<p>To utilize these images, we provide the grid coordinates of each image so you know how to scale them and align them with the images in pixels. You need the Xmax and Ymin for each image to do the scaling (provided in our <strong>grid_sizes.csv</strong>) Please refer to our <a href=\"https://www.kaggle.com/c/dstl-satellite-imagery-feature-detection/details/data-processing-tutorial\">tutorial</a> on how to programmatically view the images.</p>\r\n<h2>File descriptions</h2>\r\n<ul>\r\n<ul>\r\n<li><strong>train_wkt.csv</strong> - the WKT format of all the training labels</li>\r\n<ul>\r\n<li>ImageId - ID of the image</li>\r\n<li>ClassType - type of objects (1-10)</li>\r\n<li>MultipolygonWKT - the labeled area, which is multipolygon geometry represented in WKT format </li>\r\n</ul>\r\n<li><strong>three_band.zip</strong> - the complete dataset of 3-band satellite images. The three bands are in the images with file name = {ImageId}.tif. MD5 = 7cf7bf17ba3fa3198a401ef67f4ef9b4 </li>\r\n<li><strong>sixteen_band.zip</strong> - the complete dataset of 16-band satellite images. The 16 bands are distributed in the images with file name = {ImageId}_{A/M/P}.tif. MD5 = e2949f19a0d1102827fce35117c5f08a</li>\r\n<li><strong>grid_sizes.csv </strong>- the sizes of grids for all the images</li>\r\n<ul>\r\n<li>ImageId - ID of the image</li>\r\n<li>Xmax - maximum X coordinate for the image</li>\r\n<li>Ymin - minimum Y coordinate for the image</li>\r\n</ul>\r\n<li><strong>sample_submission.csv</strong> - a sample submission file in the correct format</li>\r\n<ul>\r\n<li>ImageId - ID of the image</li>\r\n<li>ClassType - type of objects (1-10)</li>\r\n<li>MultipolygonWKT - the labeled area, which is multipolygon geometry represented in WKT format</li>\r\n</ul>\r\n<li><strong>train_geojson.zip</strong> - the geojson format of all the training labels (essentially these are the same information as train_wkt.csv) </li>\r\n</ul>\r\n</ul>\r\n<pre>filename_to_classType = {<br />'001_MM_L2_LARGE_BUILDING':1,<br />'001_MM_L3_RESIDENTIAL_BUILDING':1,<br />'001_MM_L3_NON_RESIDENTIAL_BUILDING':1,<br />'001_MM_L5_MISC_SMALL_STRUCTURE':2,<br />'002_TR_L3_GOOD_ROADS':3,<br />'002_TR_L4_POOR_DIRT_CART_TRACK':4,<br />'002_TR_L6_FOOTPATH_TRAIL':4,<br />'006_VEG_L2_WOODLAND':5,<br />'006_VEG_L3_HEDGEROWS':5,<br />'006_VEG_L5_GROUP_TREES':5,<br />'006_VEG_L5_STANDALONE_TREES':5,<br />'007_AGR_L2_CONTOUR_PLOUGHING_CROPLAND':6,<br />'007_AGR_L6_ROW_CROP':6, <br />'008_WTR_L3_WATERWAY':7,<br />'008_WTR_L2_STANDING_WATER':8,<br />'003_VH_L4_LARGE_VEHICLE':9,<br />'003_VH_L5_SMALL_VEHICLE':10,<br />'003_VH_L6_MOTORBIKE':10}</pre>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Description",
      "content": "<p>The proliferation of satellite imagery has given us a radically improved understanding of our planet. It has enabled us to better achieve everything from mobilizing resources during disasters to monitoring effects of global warming. What is often taken for granted is that advancements such as these have relied on labeling features of significance like building footprints and roadways fully by hand or through imperfect semi-automated methods.<br /><img src=\"https://storage.googleapis.com/kaggle-media/competitions/kaggle/5916/media/_competition_dstl.png\" alt=\"\" width=\"660\" height=\"151\" /></p>\r\n<p>As these large, complex datasets continue to increase exponentially in number, the <a href=\"https://www.gov.uk/government/organisations/defence-science-and-technology-laboratory\" target=\"_blank\">Defence Science and Technology Laboratory (Dstl)</a> is seeking novel solutions to alleviate the burden on their image analysts. In this competition, Kagglers are challenged to accurately classify features in overhead imagery. Automating feature labeling will not only help Dstl make smart decisions more quickly around the defense and security of the UK, but also bring innovation to computer vision methodologies applied to satellite imagery.</p>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Evaluation",
      "content": "<p>Submissions are evaluated on <strong>Average Jaccard Index</strong> between the predicted multipolygons and the actual multipolygons. This is a vector-based metric where we use polygon geometries to evaluate how well your predictions are aligned with the answer. </p>\r\n<p>The <a href=\"https://en.wikipedia.org/wiki/Jaccard_index\">Jaccard Index</a> for two regions A and B, also known as the \"intersection over union\", is defined as:</p>\r\n<p>$$Jaccard = {\\frac{TP}{TP+FP+FN} }= {{|A \\cap B|}\\over{|A \\cup B|}} = {{|A \\cap B|}\\over{|A| + |B| - |A \\cap B|}}$$<a href=\"https://commons.wikimedia.org/wiki/File:Intersection_of_sets_A_and_B.svg#/media/File:Intersection_of_sets_A_and_B.svg\"><img src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/1/1f/Intersection_of_sets_A_and_B.svg/1200px-Intersection_of_sets_A_and_B.svg.png\" alt=\"Intersection of sets A and B.svg\" width=\"150\" style=\"display: block; margin-left: auto; margin-right: auto;\" /></a></p>\r\n<p>where TP is the true positives area, FP is the false positives area, and FN is the false negatives area. </p>\r\n<p>For each object class, of each image, we calculate the TP, FP, and FN areas. We then sum the total TP, total FP, and total FN across all the images, then the Jaccard is calculated for that class using total TP, total FP, and total FN. Then, we average all the Jaccard Indexes for all the 10 classes. </p>\r\n<h2>Submission File</h2>\r\n<p>For every row in the dataset, submission files should contain the following: ImageId (string), ClassType (int), and MultipolygonWKT (multipolygon coordinates in WKT format). You must submit a row for every ImageId and every ClassType. The complete format is in the sample_submission.csv file. If you want to predict an empty polygon for the class, put down MULTIPOLYGON EMPTY. Please submit all the rows in exactly the same order as sample_submission.csv, otherwise you might get a \"key not found error\". </p>\r\n<p>The file should contain a header and have the following format:</p>\r\n<pre>ImageId,ClassType,MultipolygonWKT<br />6020_0_1, 1, MULTIPOLYGON EMPTY<br />6120_2_4,1,\"POLYGON ((0 0, 0.009188 0, 0.009188 -0.009039999999999999, 0 -0.009039999999999999, 0 0))\"<br />etc.</pre>\r\n<h2>Submission Time</h2>\r\n<p>If you have complex polygons, it could take a longer time (4+ mins) to evaluate your submission. Please be patient when the submission is getting evaluated! If you find yourself getting timed out, please consider simplifying (smoothing) your polygons to reduce both the submission file size and the time it takes to evaluate the submission. </p>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Prizes",
      "content": "<ul>\r\n<li>1st place - $50,000</li>\r\n<li>2nd place - $30,000</li>\r\n<li>3rd place - $20,000</li>\r\n</ul>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "rules",
      "content": "\r\n\t<!-- Begin Base Rules -->\r\n    <h3>One account per participant</h3>\r\n    <p>You cannot sign up to Kaggle from multiple accounts and therefore you cannot submit from multiple accounts.</p>\r\n    <h3>No private sharing outside teams</h3>\r\n    <p>\r\n        Privately sharing code or data outside of teams is not permitted.\r\n        It's okay to share code if made available to all participants on the forums.\r\n    </p>\r\n    <h3>Team Mergers</h3>\r\n    <p>\r\n        Team mergers are allowed and can be performed by the team leader. In order to merge, the combined team must have a total submission count less than or equal to the maximum allowed as of the merge date. The maximum allowed is the number of submissions per day multiplied by the number of days the competition has been running.<br/>\r\n    </p>\r\n\r\n    <h3>Team Limits</h3>\r\n    <p>There is no maximum team size.</p>\r\n    <h3>Submission Limits</h3>\r\n    <p>You may submit a maximum of 3 entries per day.</p>\r\n    <p>You may select up to 2 final submissions for judging.</p>\r\n    <h3>Competition Timeline</h3>\r\n    <p>Start Date: <strong>12/15/2016 12:00 AM UTC</strong></p>\r\n    <p>Merger Deadline: <strong>2/28/2017 11:59 PM UTC</strong></p>\r\n    <p>Entry Deadline: <strong>2/28/2017 11:59 PM UTC</strong></p>\r\n    <p>End Date: <strong>3/7/2017 11:59 PM UTC</strong></p>\r\n\t<!-- End Base Rules -->\r\n<ul>\r\n<li>Pre-trained models are allowed in the competition, but need to be posted on the forum first.  </li>\r\n<li>Employees of the Government of the United Kingdom are invited to participate in the challenge but will not be eligible to win cash prizes. </li>\r\n</ul>\r\n<h3>COMPETITION-SPECIFIC TERMS</h3>\r\n<p>COMPETITION NAME (the 'Competition'): Dstl Satellite Imagery Feature Detection</p>\r\n<p>COMPETITION SPONSOR: Dstl</p>\r\n<p>COMPETITION WEBSITE: https://www.kaggle.com/c/dstl-satellite-imagery-feature-detection</p>\r\n<p>PRIZES: $100,000 total prize pool</p>\r\n<h3>COMPETITION FRAMEWORK</h3>\r\n<p>These are the complete, official rules for the Competition (the 'Competition Rules') and incorporate by reference the contents of the Competition Website listed above.</p>\r\n<p>By downloading a dataset linked from the Competition Website, submitting an entry to this Competition, or joining a Team in this Competition, you are agreeing to be bound by these Competition Rules which constitute a binding agreement between you and the Competition Sponsor.</p>\r\n<p>The Competition is sponsored by the Competition Sponsor listed above and hosted on the Sponsor's behalf by Kaggle Inc ('Kaggle').</p>\r\n<p>The Competition will run from Start Date to End Date as listed on the Competition Website. Note that Competition deadlines are subject to change and additional hurdle deadlines may be introduced during the Competition. Any additional or altered deadlines not already described in these Competition Rules will be publicized to the Participants via the Competition Website. It is the Participant's responsibility in this Competition to check the website regularly throughout the Competition to stay informed of any new or updated deadlines. Neither Kaggle nor Competition Sponsor are responsible for any Participant's failure to do so.</p>\r\n<p>Each registered individual or Team is referred to as a Participant. You may only participate using a single, unique Kaggle account registered at http://www.kaggle.com. Participating using more than one Kaggle account per individual Participant is a breach of these Competition Rules and Competition Sponsor reserves the right to disqualify any Participant (or Team including Participant) who is found to breach these Competition Rules.</p>\r\n<h3>ELIGIBILITY</h3>\r\n<p>The Competition is open to all individuals over the age of 18 at the time of entry and to all validly formed legal entities that have not declared or been declared in bankruptcy.</p>\r\n<p>Officers, directors, employees and advisory board members (and their immediate families and members of the same household) of the Competition Sponsor, Kaggle and their respective affiliates, subsidiaries, contractors (with the express exception of Kaggle's authorized Kaggle Community Evangelists), agents, judges and advertising and promotion agencies are not eligible to participate in the Competition.</p>\r\n<p>You are not eligible to receive any Prize in the Competition if you are a resident of a country designated by the United States Treasury’s Office of Foreign Assets Control (see &lt;http://www.treasury.gov/resource-center/sanctions/SDN-List/Pages/default.aspx&gt; for additional information).</p>\r\n<h3>SUBMISSIONS</h3>\r\n<p>'Submission' means the material submitted by you in the manner and format specified on the Website via the Submission form on the Website. You (or if you are part of a Team, your Team) may submit up to the maximum number of Submissions per day as specified above. All Submissions must be uploaded to the Website in the manner and format specified on the Website. Submissions must be received prior to the Competition deadline and adhere to the guidelines for Submissions specified on the Website.</p>\r\n<p>Submissions may not use or incorporate information from hand labeling or human prediction of the validation dataset or test data records.</p>\r\n<p>If the Competition is a multi-stage Competition with temporally separate training data and/or leaderboard data, one or more valid Submissions must be made and selected during each stage of the Competition in the manner described on the Competition Website.</p>\r\n<h3>INTELLECTUAL PROPERTY</h3>\r\n<h4>DATA</h4>\r\n<p>'Data' means the Data or Datasets linked from the Competition Website for the purpose of use by Participants in the Competition. For the avoidance of doubt, Data is deemed for the purpose of these Competition Rules to include any prototype or executable code provided to Participants by Kaggle or Competition Sponsor via the Website. Participants must use the Data only as permitted by these Competition Rules and any associated data use rules specified on the Competition Website.</p>\r\n<p>Unless otherwise permitted by the terms of the Competition Website, Participants must use the Data solely for the purpose and duration of the Competition, including but not limited to reading and learning from the Data, analyzing the Data, modifying the Data and generally preparing your Submission and any underlying models and participating in forum discussions on the Website. Participants agree to use suitable measures to prevent persons who have not formally agreed to these Competition Rules from gaining access to the Data and agree not to transmit, duplicate, publish, redistribute or otherwise provide or make available the Data to any party not participating in the Competition. Participants agree to notify Kaggle immediately upon learning of any possible unauthorized transmission or unauthorized access of the Data and agree to work with Kaggle to rectify any unauthorized transmission. Participants agree that participation in the Competition shall not be construed as having or being granted a license (expressly, by implication, estoppel, or otherwise) under, or any right of ownership in, any of the Data.</p>\r\n<h4>EXTERNAL DATA</h4>\r\n<p>Unless otherwise expressly stated on the Competition Website, Participants must not use data other than the Data to develop and test their models and Submissions. Competition Sponsor reserves the right in its sole discretion to disqualify any Participant who Competition Sponsor discovers has undertaken or attempted to undertake the use of data other than the Data, or who uses the Data other than as permitted according to the Competition Website and in these Competition Rules, in the course of the Competition.</p>\r\n<h4>CODE SHARING</h4>\r\n<p>Participants are prohibited from privately sharing source or executable code developed in connection with or based upon the Data, and any such sharing is a breach of these Competition Rules and may result in disqualification.</p>\r\n<p>Participants are permitted to publicly share source or executable code developed in connection with or based upon the Data, or otherwise relevant to the Competition, provided that such sharing does not violate the intellectual property rights of any third party. By so sharing, the sharing Participant is thereby deemed to have licensed the shared code under the MIT License (an open source software license commonly described at &lt;http://opensource.org/licenses/MIT&gt;).</p>\r\n<h4>OPEN-SOURCE CODE</h4>\r\n<p>A Submission will be ineligible to win a prize if it was developed using code containing or depending on software licensed under an open source license:</p>\r\n<p>* <em>other than</em> an Open Source Initiative-approved license (see &lt;http://opensource.org/&gt;); or<br />* an open source license that prohibits commercial use.</p>\r\n<h3>WINNING</h3>\r\n<h4>DETERMINING WINNERS</h4>\r\n<p>This Competition is a challenge of skill and the final results are determined solely by leaderboard ranking on the private leaderboard (subject to compliance with these Competition Rules). Participants' scores and ranks on the Competition Website at any given stage of the Competition will be based on the evaluation metric described on the Competition Website, as determined by applying the predictions in the Submission to the ground truth of a validation dataset whose instances were a fixed set sampled from the Data.</p>\r\n<p>The evaluation metric used for scoring and ranking Submissions will be displayed on the Competition Website.</p>\r\n<p>Prize awards are subject to verification of eligibility and compliance with these Competition Rules. All decisions of the Competition Sponsor and judges will be final and binding on all matters relating to this Competition. Competition Sponsor reserves the right to examine the Submission and any associated code or documentation for compliance with these Competition Rules. In the event that the Submission demonstrates a breach of these Competition Rules, Competition Sponsor may at its discretion take either of the following actions:</p>\r\n<p>* disqualify your Submission(s); or <br />* require that you remediate within one week all issues identified in your Submission(s) (including, without limitation, the resolution of license conflicts, the fulfillment of all obligations required by software licenses, and the removal of any software that violates the software restrictions).</p>\r\n<h4>RESOLVING TIES</h4>\r\n<p>A tie between two or more valid and identically ranked submissions will be resolved in favour of the tied submission that was submitted first.</p>\r\n<h4>DECLINING PRIZES</h4>\r\n<p>A Participant may decline to be nominated as a Winner by notifying Kaggle directly within one week following the Competition deadline, in which case the declining Participant forgoes any prize or other features associated with winning the Competition. Kaggle reserves the right to disqualify a Participant who so declines at Kaggle's sole discretion if Kaggle deems disqualification appropriate.</p>\r\n<h3>WINNERS' OBLIGATIONS</h3>\r\n<h4>DELIVERY &amp; DOCUMENTATION</h4>\r\n<p>As a condition of receipt of the Prize, the Prize winner must deliver the final model’s software code as used to generate the winning Submission and associated documentation (consistent with the winning model documentation template available on the kaggle wiki at https://www.kaggle.com/wiki/WinningModelDocumentationTemplate) to the Competition Sponsor. The delivered software code must be capable of generating the winning Submission and contain a description of resources required to build and/or run the executable code successfully.</p>\r\n<p>If a potential winning Participant or Team member is a U.S. citizen, potential winner must also sign and return an IRS W-9 form, or if a foreign resident, an IRS W-8BEN form, within the stated time in order to claim the prize.</p>\r\n<p>Potential winners will be disqualified and the prize may be awarded to an alternate winner (the next-ranked qualified Participant on the leaderboard) if</p>\r\n<p>* the required documentation is not returned within 14 days after receipt of any request to provide documentation;<br />* prize notification letter/email or prize is returned as undeliverable; or<br />* potential winner or winning Team member is disqualified for any reason.</p>\r\n<p>By accepting any Prize, each Participant receiving a Prize thereby agrees to use of his/her name, address, likeness and/or Prize information by Kaggle and Competition Sponsor for promotional purposes in any medium without additional compensation.</p>\r\n<h4>PARTICIPANT INTELLECTUAL PROPERTY LICENSING</h4>\r\n<p>As a further condition of receipt of a Prize, each winning Participant thereby licenses their winning Submission and the source code used to generate the Submission according to the Winner License Type specified above (note: if no Winner License Type is specified above, the Winner License Type is deemed to be Non-Exclusive License).</p>\r\n<h5>PUBLIC COMPETITIONS: NON-EXCLUSIVE LICENSE</h5>\r\n<p>If the Winner License Type for the Competition (see Winner License Type above) is a Non-Exclusive License then each Winner by accepting a Prize thereby:</p>\r\n<p>* grants to Competition Sponsor and its designees a worldwide, non-exclusive, sub-licensable, transferable, fully paid-up, royalty-free, perpetual, irrevocable right to use, not use, reproduce, distribute, create derivative works of, publicly perform, publicly display, digitally perform, make, have made, sell, offer for sale and import their winning Submission and the source code used to generate the Submission, in any media now known or hereafter developed, for any purpose whatsoever, commercial or otherwise, without further approval by or payment to Participant; and<br />* represents that he/she/it has the unrestricted right to grant that license.</p>\r\n<h5>RESEARCH COMPETITIONS: OPEN SOURCE LICENSE</h5>\r\n<p>If the Winner License Type for the Competition (see Winner License Type above) is Open Source License, then each Winner by accepting a Prize thereby:</p>\r\n<p>* licenses their winning Submission and the source code used to generate the Submission under the MIT License (an open source software license commonly described at &lt;http://opensource.org/licenses/MIT&gt;), unless another open source license is chosen explicitly from the list of those approved by the Open Source Initiative at &lt;http://opensource.org/licenses/&gt;; and<br />* represents that he/she/it has the unrestricted right to grant that license.</p>\r\n<h5>RECRUITING COMPETITION SUBMISSION LICENSE GRANT</h5>\r\n<p>If the Competition is classed above as a Recruiting Competition, Participant agrees to grant and hereby grants to Competition Sponsor a perpetual, irrevocable, worldwide, royalty-free, transferable, and sublicenseable right to use, review, reproduce, and internally distribute the Submission (including any and all submitted source code) in connection with evaluating Participant's suitability for employment, provided that the Submission licensed as set forth above will not be used for Competition Host’s commercial purposes except as may otherwise be set forth in this Agreement.</p>\r\n<h4>CHEATING</h4>\r\n<p>Participating using more than one Kaggle account is deemed cheating and, if discovered, will result in disqualification from the Competition and any other affected Competitions and may result in banning or deactivation of affected Kaggle accounts.</p>\r\n<h4>RECEIVING PRIZES</h4>\r\n<p>After verification of eligibility, each Prize winner will receive the prize in the form of a check or wire transfer made out to the Prize winner (if an individual, or to the individual Team members if a Team). Allow 30 days from final confirmation for Prize delivery. Any winners who are U.S. citizens will receive an IRS 1099 form in the amount of their prize at the appropriate time. Prize winners are responsible for any taxes, fees or other liability resulting from their receipt of a Prize.</p>\r\n<h3>TEAMS</h3>\r\n<h4>FORMING A TEAM</h4>\r\n<p>Multiple individuals or entities may collaborate as a team (“Team”). You may not participate on more than one Team. Each Team member must be a single individual operating a separate Kaggle account. You must register individually for the Competition before joining a Team. You must confirm your Team membership to make it official by responding to the Team notification message which will be sent to your Account.</p>\r\n<p>Team membership may not exceed the Maximum Team Size.</p>\r\n<h4>TEAM MERGERS</h4>\r\n<p>Teams may be permitted to merge at Kaggle’s discretion, so long as the merged Team meets all requirements in these Competition Rules. Kaggle will review any merger request and will either approve or reject the request within three business days. Merger requests may be rejected if the combined number of Entries made by the merging Teams exceeds the number of Entries permissible at the date of the merger request. Team merger requests will not be permitted within seven days of any deadline listed on the Competition Website.</p>\r\n<h4>TEAM PRIZES</h4>\r\n<p>If a Team wins a monetary Prize, Competition Sponsor will allocate the Prize money in even shares between the Team members unless the Team unanimously contacts Kaggle via the Competition Website within three business days following the Submission deadline to request an alternative prize distribution.</p>\r\n<h3>WARRANTIES AND OBLIGATIONS</h3>\r\n<h4>PARTICIPANT WARRANTIES AND OBLIGATIONS</h4>\r\n<p>By registering, you agree that (a) your Account is complete, correct and accurate and (b) your registration may be rejected or terminated and all Entries submitted by you and/or your Team may be disqualified if any of the information in your Account is (or Competition Sponsor has reasonable grounds to believe it is) incomplete, incorrect or inaccurate. You are solely responsible for your Account. All registration information is deemed collected in the United States.</p>\r\n<p>Participation is subject to all federal, state and local laws and regulations. Void where prohibited or restricted by law. You are responsible for checking applicable laws and regulations in your jurisdiction before participating in the Competition to make sure that your participation is legal. You are responsible for all taxes and reporting related to any award that you may receive as part of the Competition. You are responsible for abiding by your employer's policies regarding participation in the Competition. Competition Sponsor disclaims any and all liability or responsibility for disputes arising between you and your employer related to this Competition.</p>\r\n<p>Each Participant is solely responsible for all equipment, including but not necessarily limited to a computer and internet connection necessary to access the Website and to develop and upload any Submission, and any telephone, data, hosting or other service fees associated with such access, as well as all costs incurred by or behalf of the Entrant in participating in the Competition.</p>\r\n<p>By entering a Submission, you represent and warrant that all information you enter on the Website is true and complete to the best of your knowledge, that you have the right and authority to make the Submission (including any underlying code and model) on your own behalf or on behalf of the persons and entities that you specify within the Submission, and that your Submission:</p>\r\n<p>* is your own original work, or is used by permission, in which case full and proper credit and identify is given and the third party contributions are clearly identified within your Submission;<br />* does not contain confidential information or trade secrets and is not the subject of a registered patent or pending patent application;<br />* does not violate or infringe upon the patent rights, industrial design rights, copyrights, trademarks, rights of privacy, publicity or other intellectual property or other rights of any person or entity;<br />* does not contain malicious code, such as viruses, timebombs, cancelbots, worms, Trojan horses or other potentially harmful programs or other material or information; <br />* does not and will not violate any applicable law, statute, ordinance, rule or regulation;<br />* does not trigger any reporting or royalty obligation to any third party; and<br />* was not previously published and has not won any other prize/award. <br />A breach of any of these warranties will result in the corresponding Submission being invalid.</p>\r\n<h4>LIMITATION OF LIABILITY</h4>\r\n<p>By participating in the Competition, each Participant agrees to release, indemnify and hold harmless Competition Sponsor, Kaggle, their respective affiliates, subsidiaries, advertising and promotions agencies, as applicable, and each of their respective agents, representatives, officers, directors, shareholders, and employees from and against any injuries, losses, damages, claims, actions and any liability of any kind resulting from or arising out of your participation in or association with the Competition. Competition Sponsor is not responsible for any miscommunications such as technical failures related to computer, telephone, cable, and unavailable network or server connections, related technical failures, or other failures related to hardware, software or virus, or incomplete, late or misdirected Submissions. Competition Sponsor reserves the right to cancel, modify or suspend the Competition should any computer virus, bug or other technical difficulty or other causes beyond the control of Competition Sponsor corrupt the administration, security or proper play of the Competition, and to determine winners from among Submission not affected by the corruption, if any, in its sole discretion.</p>\r\n<p>Neither Kaggle nor Competition Sponsor are responsible for (a) late, lost, stolen, damaged, garbled, incomplete, incorrect or misdirected Entries or other communications, (b) errors, omissions, interruptions, deletions, defects, or delays in operations or transmission of information, in each case whether arising by way of technical or other failures or malfunctions of computer hardware, software, communications devices, or transmission lines, or (c) data corruption, theft, destruction, unauthorized access to or alteration of Submission materials, loss or otherwise. Neither Kaggle nor Competition Sponsor are responsible for electronic communications or emails which are undeliverable as a result of any form of active or passive filtering of any kind, or insufficient space in any email account to receive email messages. Competition Sponsor disclaims any liability for damage to any computer system resulting from participation in, or accessing or downloading information in connection with, the Competition.</p>\r\n<h4>RESERVATION OF RIGHTS</h4>\r\n<p>Competition Sponsor reserves the right to modify the Start Date, End Date, and the right to modify, add or remove additional Competition deadlines for any reason. Any changes will be communicated through the Competition Website. Competition Sponsor also reserves the right to modify, remove or add Data to the Website upon notice via the Competition Website. NEITHER KAGGLE NOR COMPETITION SPONSOR ARE RESPONSIBLE FOR ANY FAILURE OF A PARTICIPANT TO RECEIVE DATA CHANGES.</p>\r\n<h3>MISCELLANEOUS</h3>\r\n<h4>SEVERABILITY</h4>\r\n<p>The invalidity or unenforceability of any provision of these Competition Rules shall not affect the validity or enforceability of any other provision. In the event that any provision is determined to be invalid or otherwise unenforceable or illegal, these Competition Rules shall otherwise remain in effect and be construed in accordance with their terms as if the invalid or illegal provision was not contained herein.</p>\r\n<h4>LAW</h4>\r\n<p>You agree that these terms and the relationship between you and Competition Sponsor shall be governed by the laws of the State of California and the United States of America.</p>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Timeline",
      "content": "<ul>\r\n<li><strong>February 28, 2017</strong> - Entry deadline. You must accept the competition rules before this date in order to compete.</li>\r\n<li><strong>February 28, 2017</strong> - Team Merger deadline. This is the last day participants may join or merge teams.</li>\r\n<li><strong>March 7, 2017</strong> - Final submission deadline.</li>\r\n</ul>\r\n<p>All deadlines are at 11:59 PM UTC on the corresponding day unless otherwise noted. The competition organizers reserve the right to update the contest timeline if they deem it necessary.</p>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Data Processing Tutorial",
      "content": "<h3>How to read WKT format</h3>\r\n<p>We have found these packages helpful:</p>\r\n<p>Python - <a href=\"http://toblerity.org/shapely/\">shapely</a>.<code>loads()</code></p>\r\n<p>R - <a href=\"https://cran.r-project.org/web/packages/rgeos/rgeos.pdf\">rgeos</a> </p>\r\n<h3>How to read geojson format</h3>\r\n<p>We have found these packages helpful:</p>\r\n<p>Python -  <a href=\"https://docs.python.org/2/library/json.html\">json</a>, <a href=\"https://pypi.python.org/pypi/geojson\">geojson</a>, <a href=\"http://toblerity.org/shapely/\">shapely</a> (use json, then convert into shapely's <code>MultiPolygon</code>)</p>\r\n<p>R - <a href=\"https://github.com/ropensci/geojsonio\">geojsonio</a></p>\r\n<h3>How to project geometry to pixel coordinates</h3>\r\n<p>In this dataset that we provide, we create a set of geo-coordinates that are in the range of x = [0,1] and y = [-1,0]. These coordinates are transformed such that we obscure the location of where the satellite images are taken from. The images are from the same region on Earth.</p>\r\n<p>To utilize these images, we provide the grid coordinates of each image so you know how to scale them and align them with the images in pixels. In grid_sizes.csv, you are given the Xmax and Ymin values for each imageId. </p>\r\n<p>For each image, you should be able to get the width (W) and height (H) from the image raster. For a 3-band image that is 3391 x 3349 x 3, W is 3349, and H is 3391. Then you can scale your data as follows:</p>\r\n<p>$$W^\\prime = W \\cdot \\frac{W} {W+1}$$</p>\r\n<p>$$x^\\prime = \\frac{x}{x_{max}} \\cdot W^\\prime$$<br />$$H^\\prime = H \\cdot \\frac{H}{H+1}$$</p>\r\n<p>$$y^\\prime = \\frac{y}{y_{min}}\\cdot H^\\prime$$</p>\r\n<h3>How to convert your results back into Multipolygon</h3>\r\n<p>It's best to use cascaded_union() to flatten a list of polygons into a non-overlapping multipolygon. </p>\r\n<p>Scaling your results back to the original coordinates:</p>\r\n<p>$$ x = x^\\prime \\cdot \\frac{x_{max}}{W^\\prime}$$</p>\r\n<p>$$ y = y^\\prime \\cdot \\frac{y_{min}}{H^\\prime}$$</p>\r\n<p>Then it's easy to use <a href=\"http://toblerity.org/shapely/\">shapely</a> to output the multipolygon to wkt format: <code>multipoly.wkt</code></p>\r\n<h3>How to open GeoTiff files in Python</h3>\r\n<p><a href=\"http://www.gdal.org/\">GDAL</a> is great but a bit difficult to install. If you just want to read the files as rasters, <a href=\"https://pypi.python.org/pypi/tifffile\">tifffile</a> is a lightweight package to open the GeoTiff files. </p>\r\n<p>For example, the following code reads you the size of the 16-band images:</p>\r\n<pre>import gdal<br />from gdalconst import * <br /><br />img_filename_16bandA = 'data/16band/6100_1_3_A.tif'<br />img_filename_16bandM = 'data/16band/6100_1_3_M.tif'<br />img_filename_16bandP = 'data/16band/6100_1_3_P.tif' <br /><br />datasetA = gdal.Open(img_filename_16bandA, GA_ReadOnly )<br />datasetM = gdal.Open(img_filename_16bandM, GA_ReadOnly )<br />datasetP = gdal.Open(img_filename_16bandP, GA_ReadOnly ) <br /><br />print 'Size is ',datasetA.RasterXSize,'x',datasetA.RasterYSize, \\<br /> 'x',datasetA.RasterCount<br />print 'Size is ',datasetM.RasterXSize,'x',datasetM.RasterYSize, \\<br /> 'x',datasetM.RasterCount<br />print 'Size is ',datasetP.RasterXSize,'x',datasetP.RasterYSize, \\<br /> 'x',datasetP.RasterCount</pre>\r\n<p>Outputs:</p>\r\n<pre>Size is 136 x 134 x 8<br />Size is 848 x 837 x 8<br />Size is 3391 x 3348 x 1</pre>\r\n<p>Or you could use <code>tifffile</code>:</p>\r\n<pre>import tifffile as tiff<br />P = tiff.imread(img_filename_16bandP) <br />tiff.imshow(P)</pre>\r\n<h3>How to open GeoTiff files in R</h3>\r\n<p>Thanks to community member <a href=\"https://www.kaggle.com/santiagomota\">smota</a>'s <a href=\"https://www.kaggle.com/c/dstl-satellite-imagery-feature-detection/forums/t/26506/welcome?forumMessageId=150761#post150761\">post</a>: </p>\r\n<pre>devtools::install_github(\"ropensci/geojsonio\")<br />library(\"geojsonio\")<br />install.packages(\"rgdal\", type = \"source\")<br />install.packages(\"rgeos\", type = \"source\")<br />library(\"rgdal\")<br />library(\"rgeos\")<br />library(ggplot2)<br />grid_6010_4_4 &lt;-geojson_read(\"./data/train_geojson/train_geojson/6010_4_4/Grid_6010.geojson\", method = local, what= 'sp')<br />plot(grid_6010_4_4)<br />ggplot(grid_6010_4_4, aes(long, lat, group = group)) + geom_polygon()</pre>\r\n<p>To access images:</p>\r\n<pre>library(raster)<br />raster_6044_4_4 &lt;- raster(\"./data/three_band/6040_4_4.tif\")<br />plot(raster_6044_4_4)<br />library(rgdal)<br />gdal_6044_4_4 &lt;- readGDAL(paste0(\"./data/three_band/\", '6040_4_4', \".tif\"))<br />plot(gdal_6044_4_4)</pre>\r\n<h3>Got Docker?</h3>\r\n<p>Yes! This <a href=\"https://github.com/wendykan/docker-python-GDAL/blob/master/Dockerfile\">dockerfile</a> should be useful for Python users.</p>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    }
  ]
}