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
-
Understanding the user ( semi-literate workers with no experience with tech)
-
Find a suitable method to identify workers and record individual harvests
-
Design an easy to understand front-end interface for easy adoption
-
Find an efficient and fast method for database management
-
Provide visual cues to show progress in the task
Target Users
Key Skills
-
Agriculturists and plantation owners
-
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
-
Biometric finger scanners Requires fingerprint to remain constant, which is not possible for labor intensive jobs
-
Keycard system Requires the worker to carry an external card on his person
-
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.
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