NASA Harvest Field Boundary Detection Challenge
Can you detect field boundaries for Rwandan smallholder farmers in a satellite image dataset?
$5 000 USD
3 months to go
16 active · 194 enrolled
Earth Observation

Join us for a Q&A webinar on 7 December at 5 PM GMT -->

Small farms (<2ha) produce about 35% of the world’s food, and are mostly found in low- and middle-income countries. Mapping these farms allows policy-makers to allocate resources and monitor the impacts of extreme events on food production and food security. Unfortunately, these field-level maps remain mostly unavailable in low and middle income countries, where the food insecurity risk is highest. Combining machine learning with Earth Observation data from satellites like the PlanetScope constellation can help improve agricultural monitoring, cropland mapping, and disaster risk management for these small farms.

In this challenge, the goal is to classify crop field boundaries using multispectral observations collected by PlanetScope, available through the NICFI basemaps program. Fields are located in Rwanda’s Eastern Province (Intara y’lburasirazuba) and spread over the districts of Gatsibo and Nyagatare. The NASA Harvest Rwanda field boundary training dataset was generated by TaQadam through a team of annotators, and curated by Radiant Earth Foundation.

To be eligible for cash prizes, winners will release their top solutions under an open source license for ongoing use and learning. The winners’ solutions will be published on GitHub following Radiant Earth’s model repository template with proper documentation, and added to the Radiant MLHub model repository.

About USDA-Foreign Agricultural Service ( and USAID (

This challenge and the training dataset collection and curation are based upon work by NASA Harvest supported by USDA-Foreign Agricultural Service and USAID, under Award Number FX22TA10960R004 and Project Title Earth Observations for Field Level Agricultural Resource Mapping (EO-Farm): Pilot in Rwanda in Support of NISR.

About University of Maryland, NASA Harvest (

NASA Harvest is NASA’s Food Security and Agriculture program based at the University of Maryland. NASA Harvest’s mission is to enable and advance the adoption of satellite Earth observations by public and private organizations to benefit food security, agriculture, and human and environmental resiliency in the US and worldwide. They accomplish this through a multidisciplinary and multisectoral Consortium of leading scientists and agricultural stakeholders at the University of Maryland and implement it together with partners across the globe. Visit NASA Harvest on Twitter and Github.

About Radiant Earth Foundation (

Radiant Earth Foundation is a nonprofit technology company working to create a more sustainable ecosystem of machine learning (ML) and Earth observation (EO) data, standards, and tools. Guided by core characteristics of neutrality, collaboration, and innovation, Radiant maintains Radiant MLHub, an open-access geospatial training data library to ease the discovery of ML-ready data and models. Radiant also supports the development of community standards that enable interoperability of EO data and ML tools, and provides information and training to help advance the capacity of those working on global challenges using ML and EO. Visit Radiant Earth on Twitter and GitHub.


Field Boundary Labels were created only for fields large enough to be distinguished on the Planet basemaps and for fields completely contained in the chip; this means that not all the pixels are labeled in each chip . Since the reference data has only partially labeled chips the metric used for evaluation should not penalise for classifying fields beyond those in the training dataset. However, during code review, code will be evaluated to make sure you are not taking advantage of this and that your solution will be useful to the host.

The evaluation metric for this challenge is Recall:

You will predict field boundary masks for arrays of 256x256 for each one of the test chips. For your submission you will convert each predicted array into a pandas dataframe and then flatten them using the unstack function. The flattened dataframes will have one record for each combination of row and column (65536 records) and one value for the predicted label. You will concatenate all unstacked dataframes into a single dataframe with 851 968 records and save the output as two column csv (tile_row_column, label) as your submission file.

Your submission file should look like this:

Tile_row_column   Label   
Tile1_0_0           0   
Tile1_0_1           1   
Tile1_0_2           0

1st Place: $2 500 USD

2nd Place: $1 500 USD

3rd Place: $1 000 USD


Competition closes on 26 February 2023.

Final submissions must be received by 11:59 PM GMT.

We reserve the right to update the contest timeline if necessary.


Teams and collaboration

You may participate in competitions as an individual or in a team of up to four people. When creating a team, the team must have a total submission count less than or equal to the maximum allowable submissions as of the formation date. A team will be allowed the maximum number of submissions for the competition, minus the total number of submissions among team members at team formation. Prizes are transferred only to the individual players or to the team leader.

Multiple accounts per user are not permitted, and neither is collaboration or membership across multiple teams. Individuals and their submissions originating from multiple accounts will be immediately disqualified from the platform.

Code must not be shared privately outside of a team. Any code that is shared, must be made available to all competition participants through the platform. (i.e. on the discussion boards).

The Zindi data scientist who sets up a team is the default Team Leader but they can transfer leadership to another data scientist on the team. The Team Leader can invite other data scientists to their team. Invited data scientists can accept or reject invitations. Until a second data scientist accepts an invitation to join a team, the data scientist who initiated a team remains an individual on the leaderboard. No additional members may be added to teams within the final 5 days of the competition or last hour of a hackathon.

The team leader can initiate a merge with another team. Only the team leader of the second team can accept the invite. The default team leader is the leader from the team who initiated the invite. Teams can only merge if the total number of members is less than or equal to the maximum team size of the competition.

A team can be disbanded if it has not yet made a submission. Once a submission is made individual members cannot leave the team.

All members in the team receive points associated with their ranking in the competition and there is no split or division of the points between team members.

Datasets and packages

The solution must use publicly-available, open-source packages only.

You may use only the datasets provided for this competition. Automated machine learning tools such as automl are not permitted.

If the challenge is a computer vision challenge, image metadata (Image size, aspect ratio, pixel count, etc) may not be used in your submission. You are not allowed to use the latitude and longitude of the pixels as predictors in your model either.

You may use pretrained models as long as they are openly available to everyone.

You are allowed to access, use and share competition data for any commercial,. non-commercial, research or education purposes, under a CC BY 4.0 license.

You must notify Zindi immediately upon learning of any unauthorised transmission of or unauthorised access to the competition data, and work with Zindi to rectify any unauthorised transmission or access.

Your solution must not infringe the rights of any third party and you must be legally entitled to assign ownership of all rights of copyright in and to the winning solution code to Zindi.

Submissions and winning

You may make a maximum of 10 submissions per day.

You may make a maximum of 300 submissions for this competition.

Before the end of the competition you need to choose 2 submissions to be judged on for the private leaderboard. If you do not make a selection your 2 best public leaderboard submissions will be used to score on the private leaderboard.

During the competition, your best public score will be displayed regardless of the submissions you have selected. When the competition closes your best private score out of the 2 selected submissions will be displayed.

Zindi maintains a public leaderboard and a private leaderboard for each competition. The Public Leaderboard includes approximately 20% of the test dataset. While the competition is open, the Public Leaderboard will rank the submitted solutions by the accuracy score they achieve. Upon close of the competition, the Private Leaderboard, which covers the other 80% of the test dataset, will be made public and will constitute the final ranking for the competition.

Note that to count, your submission must first pass processing. If your submission fails during the processing step, it will not be counted and not receive a score; nor will it count against your daily submission limit. If you encounter problems with your submission file, your best course of action is to ask for advice on the Competition’s discussion forum.

If you are in the top 10 at the time the leaderboard closes, we will email you to request your code. On receipt of email, you will have 48 hours to respond and submit your code following the Reproducibility of submitted code guidelines detailed below. Failure to respond will result in disqualification.

To be eligible for cash prizes, 1st, 2nd, or 3rd on the final leaderboard will release their top solutions under an open source license for ongoing use and learning. The winners’ solutions will be shared in a well-organized code repository with proper documentation, and added to the Radiant MLHub model repository.

If two solutions earn identical scores on the leaderboard, the tiebreaker will be the date and time in which the submission was made (the earlier solution will win).

If the error metric requires probabilities to be submitted, do not set thresholds (or round your probabilities) to improve your place on the leaderboard. In order to ensure that the client receives the best solution Zindi will need the raw probabilities. This will allow the clients to set thresholds to their own needs.

The winners will be paid via bank transfer, PayPal, or other international money transfer platform. International transfer fees will be deducted from the total prize amount, unless the prize money is under $500, in which case the international transfer fees will be covered by Zindi. In all cases, the winners are responsible for any other fees applied by their own bank or other institution for receiving the prize money. All taxes imposed on prizes are the sole responsibility of the winners. The top 3 winners or team leaders will be required to present Zindi with proof of identification, proof of residence and a letter from your bank confirming your banking details.Winners will be paid in USD or the currency of the competition. If your account cannot receive US Dollars or the currency of the competition then your bank will need to provide proof of this and Zindi will try to accommodate this.

Payment will be made after code review and sealing the leaderboard.

You acknowledge and agree that Zindi may, without any obligation to do so, remove or disqualify an individual, team, or account if Zindi believes that such individual, team, or account is in violation of these rules. Entry into this competition constitutes your acceptance of these official competition rules.

Zindi is committed to providing solutions of value to our clients and partners. To this end, we reserve the right to disqualify your submission on the grounds of usability or value. This includes but is not limited to the use of data leaks or any other practices that we deem to compromise the inherent value of your solution.

Zindi also reserves the right to disqualify you and/or your submissions from any competition if we believe that you violated the rules or violated the spirit of the competition or the platform in any other way. The disqualifications are irrespective of your position on the leaderboard and completely at the discretion of Zindi.

Please refer to the FAQs and Terms of Use for additional rules that may apply to this competition. We reserve the right to update these rules at any time.

Reproducibility of submitted code

  • If your submitted code does not reproduce your score on the leaderboard, we reserve the right to adjust your rank to the score generated by the code you submitted.
  • If your code does not run you will be dropped from the top 10. Please make sure your code runs before submitting your solution.
  • Always set the seed. Rerunning your model should always place you at the same position on the leaderboard. When running your solution, if randomness shifts you down the leaderboard we reserve the right to adjust your rank to the closest score that your submission reproduces.
  • Custom packages in your submission notebook will not be accepted.
  • You may only use tools available to everyone i.e. no paid services or free trials that require a credit card.


A README markdown file is required

It should cover:

  • How to set up folders and where each file is saved
  • Order in which to run code
  • Explanations of features used
  • Environment for the code to be run (conda environment.yml file or an environment.txt file)
  • Hardware needed (e.g. Google Colab or the specifications of your local machine)
  • Expected run time for each notebook. This will be useful to the review team for time and resource allocation.

Your code needs to run properly, code reviewers do not have time to debug code. If code does not run easily you will be bumped down the leaderboard.

Consequences of breaking any rules of the competition or submission guidelines:

  • First offence: No prizes for 6 months and 2000 points will be removed from your profile (probation period). If you are caught cheating, all individuals involved in cheating will be disqualified from the challenge(s) you were caught in and you will be disqualified from winning any competitions for the next six months and 2000 points will be removed from your profile. If you have less than 2000 points to your profile your points will be set to 0.
  • Second offence: Banned from the platform. If you are caught for a second time your Zindi account will be disabled and you will be disqualified from winning any competitions or Zindi points using any other account.
  • Teams with individuals who are caught cheating will not be eligible to win prizes or points in the competition in which the cheating occurred, regardless of the individuals’ knowledge of or participation in the offence.
  • Teams with individuals who have previously committed an offence will not be eligible for any prizes for any competitions during the 6-month probation period.

Monitoring of submissions

  • We will review the top 20 solutions of every competition when the competition ends.
  • We reserve the right to request code from any user at any time during a challenge. You will have 24 hours to submit your code following the rules for code review (see above). Zindi reserves the right not to explain our reasons for requesting code. If you do not submit your code within 24 hours you will be disqualified from winning any competitions or Zindi points for the next six months. If you fall under suspicion again and your code is requested and you fail to submit your code within 24 hours, your Zindi account will be disabled and you will be disqualified from winning any competitions or Zindi points with any other account.