top of page

DURATION: March 2020 - Present

Coffee Harvest Management System

Individual Project

Problem Statement

Large quantities of coffee cherries are harvested on a daily basis. Workers are paid according to the quantity of coffee they pick. Weighing and logging such large quantities involving many workers is a task that requires immense conscious attention. The problem I am trying to solve is to find a way to make the process more autonomous, require less manpower and more efficient.

Design Challenges

  1. Understanding the user ( semi-literate workers with no experience with tech)

  2. Find a suitable method to identify workers and record individual harvests 

  3. Design an easy to understand front-end interface for easy adoption

  4. Find an efficient and fast method for database management

  5. Provide visual cues to show progress in the task

Target Users

Key Skills

  1. Agriculturists and plantation owners

  2. Workers

Facial Recognition using Python-OpenCV

GUI development using Python-tkinter

Database management system using Python and Microsoft Excel

Hardware and software integration via serial communication

Kickoff

Starting off, I asked myself a few initial questions. What is the need for this application? Who are the primary users? What is their level of comfort with technology? After interviewing a coffee grower, it became evident that the process of coffee weighing and recording was a tedious one which required a lot of supervision, manpower and was extremely inefficient. Therefore my task was clear: Design a system to make the process more autonomous & find a better way to record individual worker harvest quantities.

The old method of the coffee weighment process post-harvest consisted of manually weighing and recording the weights in a notebook. The process required a lot of supervision and was prone to errors. It also required further effort in digitizing the data from the notebook.

Meet the Users

PRIMARY

Name: Dwight Schrute

Age: 45

Role: Farm Owner

Dwight is highly focused on perfection when it comes to post-harvest coffee processing. However, he mainly wants to focus on high value add processes like fermentation and pulping. Harvest quantity weighment, while being an essential process, does not add much value and yet requires a lot of his time and attention. This application allows him to focus his attention on things that matter more.

PRIMARY

Name: Jim Halpert

Age: 30

Role: Contract Worker

Jim spends the bulk of his day harvesting coffee fruit. He now needs to weigh the total coffee he has harvested so that he gets paid accordingly. He needs a way to weigh his harvest accurately and be assured that it is attributed to him so that he is sure to be rightly compensated for his hard work.

Existing Technologies

Cons

  1. Biometric finger scanners                                Requires fingerprint to remain constant, which is not possible                                                                             for labor intensive jobs

  2. Keycard system                                                 Requires the worker to carry an external card on his person      

  3. Retina scanner                                                   Too slow and expensive. Not efficient when carrying heavy                                                                                  coffee weighments

My Solution

Pros

Facial Recognition with 'hog' model 

1. Cheap and easy to set-up

2. Abundance of python library support

3. Faster process

4. Facial landmarks are unchanging unlike surface of fingertips 

Process Flow

The Final Design

Training Phase: Step 1 - Enter Worker Details

Training Phase: Step 2 - Face Scan + Add to Database

Execution Phase: Step 1 - Face Scan + Access Worker's Sheet

Execution Phase: Final Step - Read Weighment + Write to Sheet

CHALLENGE 1

Hardware Integration

The first challenge was to enable communication between the weighing scale and the computer. I needed real time data transfer between two as well as good library support in python. I eventually decided on using a serial-to-ethernet converter as it enabled faster data transfer with no packet losses and strong library support.

CHALLENGE 2

Realtime Database Updation

The challenge was for the application to read the serial data and write them into the database in real-time. For this, I chose Microsoft Excel due to its easy assimilation with Python and its ease of use. I also used the 'xlwings'  library of Python as it was the only library that could modify worksheets in real-time. 

CHALLENGE 3

Error Handling

The most difficult challenge for me was handling the massive number of error cases. Some of these scenarios were "Worker not found", "Page not found", "Worker already added", "Cannot communicate with excel macros". The errors were fixed by tweaking the code through a lot of iterations.

error_icon.jpg

Key Takeaways

The preliminary rendition of the application shows a lot of promise.

  • It performs the task with around 90% accuracy

  • Reduces labor requirement for harvest management

  • Provides instantly available harvest data in digital form

  • Most importantly, it is easily adoptable for users of different levels of tech expertise

Future Scope

The preliminary rendition of the application shows a lot of promise.

  • Increase parallel computing capacity to two weighing scales

  • Improve facial recognition accuracy from 90% to atleast 98%

  • Further improve UI to provide better visual feedback

bottom of page