Primary competition visual

Autonomous Shopper Prediction by Cape AI

Helping South Africa
R20 000 ZAR
Challenge completed almost 4 years ago
Prediction
88 joined
26 active
Starti
Sep 03, 21
Closei
Nov 21, 21
Reveali
Nov 21, 21
Can you predict if a customer has taken a product from the shelf?

This is a private hackathon open to Deep Learning IndabaX South Africa 2021 attendees. If you are a computer vision nut or machine learning ninja, or just an artificial intelligence enthusiast and would like to participate, sign up for the Deep Learning IndabaX South Africa 2021 mailing list here. You will receive the secret code via email. To be eligible for the prizes, winners must have a bank account with a registered South African bank.

Imagine walking into a store, grabbing something from the shelf, and leaving. This is grab-and-go technology. This is Moonshop.

Cape AI has created Africa’s first autonomous shopping solution, Moonshop, that utilises a completely camera-based approach to recognise which products are taken by which customers, and to charge them accordingly. This is in contrast to other pre-existing autonomous shopping solutions that make use of other sensory data (such as weighted shelving data and location based information) to make their predictions.

Cape AI, in partnership with Wellness Warehouse, has already launched one Moonshop at the Ideas Cartel in Cape Town, South Africa. They are in the process of creating a white-label autonomous shopping solution for one of the largest retailers in South Africa.

While Cape AI’s solution is highly cost-effective and elegant, it does not come without its challenges. Determining when a customer took products from the shelf in their shopping session is one of the most fundamental challenges to providing a highly accurate and reliable autonomous shopping solution. This challenge falls under the well-researched field of human action recognition and will form the basis of this hackathon.

In this hackathon, you will be predicting whether or not a stream of 30 video frames from a real customer’s shopping session contains a “take” action (i.e., if the stream contains footage of the customer taking a product off of the shelf).

However, you won’t be using the raw video footage as input. The team at Cape AI has already run a 2D Pose Estimation model (MediaPipe’s Pose Landmark model (BlazePose GHUM 3D)) over each frame of the collected shopping footage, extracting estimates of the xy-coordinates of 33 points on the shopper’s body (known as key points).

The pose estimation process can be illustrated visually as follows.

On the left, you can see a picture of Cape AI’s CEO, Pieter Boon, performing a take action at the Wellness Warehouse Moonshop at Ideas Cartel. On the right, you can see the same image after the Pose Estimation model has estimated the key points on Pieter’s body.

If you want to find out more about how Pose Estimation works under the hood, there are many excellent resources on the internet that contain in-depth tutorials on using the technique. OpenCV is an excellent place to start.

You can also find out more about which body parts these key points correspond to in the Data section.

Therefore, this challenge is one of time series prediction and more specifically involves the classification of sequences of 66-element vectors of key points (two elements per estimated key point) as “take” actions (or “no-take” actions).

Your solution can be used to optimise the current performance of Cape AI’s autonomous shopping solution by helping streamline the journey from video collection to prediction and the eventual charging of the customer.

About Moonshop (moonshoptechnologies.com)

Cape AI has created Africa’s first autonomous shopping solution, Moonshop, that utilises a completely camera-based approach to recognise which products are taken by which customers, and to charge them accordingly. This is in contrast to other pre-existing autonomous shopping solutions that make use of other sensory data (such as weighted shelving data and location based information) to make their predictions.

About Deep Learning IndabaX South Africa (indabax.co.za)

Deep Learning IndabaX South Africa is a non-profit organization that connects people, builds communities, creates leaders and recognises excellence in the development of AI. The Deep Learning IndabaX South Africa is a local branch of the Deep Learning Indaba movement, whose goal is to strengthen machine learning in South Africa

South Africans have the talent to develop AI. Deep Learning IndabaX helps nurture this talent by hosting events, building a community and connecting people with similar interests.

Deep Learning IndabaX is building an ecosystem for nurturing talent so that South Africans can continue to grow their careers and create opportunities in the future. Join us!

About Cape AI (cape-ai.com)

Cape AI is an innovative AI consulting company that helps forward-thinking businesses to embrace AI and drive their business forward. From inception to deployment, we're here to help in every step of the process.

We offer tailored solutions and strategic consultancy across all aspects of AI, from helping clients define their needs and challenges to optimisng machine learning models. We have clients from diverse sectors including finance, retail, healthcare and insurance. We offer the best talent in the industry for our clients - with a 100% focus on building up your ideal solution.

Rules

This is a private hackathon open to Deep Learning IndabaX South Africa 2021 attendees. If you are a computer vision nut or machine learning ninja, or just an artificial intelligence enthusiast and would like to participate, sign up for the Deep Learning IndabaX South Africa 2021 mailing list here. You will receive the secret code via email. To be eligible for the prizes, winners must have a bank account with a registered South African bank.

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 at 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 user who sets up a team is the default Team Leader. 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 the last hour of a hackathon, unless otherwise stated in the competition rules

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. Your models should not use any of the metadata provided.

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

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

The data used in this competition is the sole property of Zindi and the competition host. You may not transmit, duplicate, publish, redistribute or otherwise provide or make available any competition data to any party not participating in the Competition (this includes uploading the data to any public site such as Kaggle or GitHub). You may upload, store and work with the data on any cloud platform such as Google Colab, AWS or similar, as long as 1) the data remains private and 2) doing so does not contravene Zindi’s rules of use.

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 on 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.

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 5 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 submission guidelines detailed below. Failure to respond will result in disqualification.

If your solution places 1st, 2nd, 3rd, 4th, and 5th on the final leaderboard, you will be required to submit your winning solution code to us for verification, and you thereby agree to assign all worldwide rights of copyright in and to such winning solution to Zindi.

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 suit their own needs.

The winners will be paid via bank transfer, PayPal, or other money transfer platform. 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 their respective banks confirming their banking details.

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.
  • We expect full documentation. This includes:
  • All data used
  • Output data and where they are stored
  • Explanation of features used
  • A requirements file with all packages and versions used
  • Your solution must include the original data provided by Zindi and validated external data (if allowed)
  • All editing of data must be done in a notebook (i.e. not manually in Excel)
  • Environment code to be run. (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.

Data standards:

  • Your submitted code must run on the original train, test, and other datasets provided.
  • If external data is allowed, external data must be freely and publicly available, including pre-trained models with standard libraries. If external data is allowed, any data used should be shared with Zindi to be approved and then shared on the discussion forum. Zindi will also make note of the external data available on the data page.
  • Packages:
  • You must submit a requirements file with all packages and versions used.
  • If a requirements file is not provided, solutions will be run on the most recent packages available.
  • 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.

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

  • First offence: No prizes or points for 6 months (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 or Zindi points for the next six months.
  • 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.
Evaluation

The error metric for this competition is the Area Under the Curve (AUC).

For every row in the dataset, submission files should contain 2 columns: ID and Target

Your submission file should look like this (numbers to show format only):

ID         Target   
ID_028OAO   0.93   
ID_08QSKI   0.12   
ID_0VI1I0   0.67
Prizes

1st Place: R 10 000

2nd Place: R 5 000

3rd Place: R 3 000

4th Place: R 1 000

5th Place: R 1 000

The top 5 teams on the private leaderboard at the end of the competition will be required to submit their code in notebook format and a short video presentation outlining their solution to Cape AI by GMT: 25/11/2021 21:59. Final prizes will be awarded based on a combination of the teams’ ranking on the private leaderboard and the presentation video to Cape AI. More information on the video requirements will be shared with the top 5 teams at the close of the competition. The final top 5 order will be announced at the closing ceremony of Deep Learning IndabaX South Africa 2021 on the 26th of November 2021.

Timeline

Competition closes on 21 November 2021

Final submissions must be received by 20:59 GMT.

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

The top 5 teams on the private leaderboard at the end of the competition will be required to submit their code in notebook format and a short video presentation outlining their solution to Cape AI by GMT: 25/11/2021 21:59.

The final top 5 order will be announced at the closing ceremony of Deep Learning IndabaX South Africa 2021 on the 26th of November 2021.