Team Status Report for 3/16

Risk Identification and Mitigation Strategies

Primary Risk ConcernOur concern remains the same throughout, however progress has been made since last week. The OCR model has been developed in a very simple way right now, therefore not reaching its 90+ accuracy rate. This should be fixed in the next coming weeks.

Mitigation Measures: Mitigation measures such as different formats for expiration dates have been put into consideration and been developed. Custom data sets to train on the OCR model is also needed for better accuracy.

Project Design Updates

As of the current reporting period, there have been no modifications to the initial design of the project. 

Schedule and Timeline

We are on track with our timeline. 

Siyuan’s Status Report for 3/16

Accomplishments This Week

This week, I focused on the software development aspects of the project. The key accomplishments include:

Modification of API Request for Database Compatibility: I undertook the essential task of modifying the API request functionality to ensure compliance with the data format used in our database. This modification is a vital step towards integrating the barcode scanner module software with our existing data management systems. By aligning the format of the data retrieved from the API with that of our database, we facilitate smoother data integration, storage, and retrieval processes.

Implementing More Features to Barcode Software: A significant development achievement this week was adding more useful information to the API request. Now, the software can get the date and time, and the user can select which item is correct if there are many corresponding items to the barcode.

 

Project Schedule and Progress

I am on schedule, and I have catch up what I missed last week.

 

Goals for the Next Week

Next week, the focus will continue to be on the integration of the scanner module software with the broader system. Alongside development, testing of the newly added features will be conducted to ensure their reliability and effectiveness. Based on the testing results, necessary refinements will be made to enhance the software’s performance and user experience.

Team Status Report for 3/9

Risk Identification and Mitigation Strategies

Primary Risk ConcernSince our project did not progress much this week, our primary risk concern for this phase of the project is still being able to identify the expiration date correctly given the input image taken by our camera. There are many concerns regarding the accuracy of the data, as even the slightest error could lead to faults. For now, we will still focus on preprocessing mechanisms, as we have not implemented character recognition yet. 

Mitigation MeasuresDespite the planned preprocessing procedures we mentioned in the last status report, we still need to consider some things about expiration dates. For the input, we should take into consideration what would be the most common format for expiration dates. Although most USA products are in MM/DD/YYYY format, some products from the Asian food market may have YYYY/MM/DD format. This would imply that software would have to be able to distinguish between them.

Project Design Updates

As of the current reporting period, there have been no modifications to the initial design of the project. 

Schedule and Timeline

We are on track with our timeline. Although we did not expect writing the design review report would take a week, we still have enough time for integration and testing. 

Additional Questions: 

A was written by Yuma Matsuoka, B was written by Jaesup Kim and C was written by Siyuan Li.

Part A

Our project is helping bridge the gap between those who do not have technical knowledge and those who do. In our society, people who have technical knowledge (i.e. students, young people) are able to utilize technologies such as the iPhone, applications, etc to make life easier. For example, those who are young are more likely to use mobile check-in for a flight than those who are old, who are likely to go to the airport early to print out physical passes. Our technology will not discriminate based on technical knowledge, as the entry to operation will be very low. The product will take less than 5 minutes to set up, and will be very intuitive to use. Furthermore, it will be a hard product, hopefully closing the idea gap that apps present. This hopefully will be a step in lowering the implicit accessibility barrier in using technology to simplify our lives.

Part B

Our project helps people from all cultures. Different cultures have different grocery items and foods, and also storage spaces to keep them fresh. Our scanner is able to work on any environment and any storage space, whether it be a fridge or pantry, or a chilled basement. Our product will count for all of those environmental aspects as well as condition of the items. Even products that come from a foreign origin with no barcode will work as you can manually enter the item.

Part C

Our project directly contributes to lessening the environmental impact associated with the disposal of food. Food waste contributes to a significant portion of methane emissions, a potent greenhouse gas, when it decomposes in landfills. By ensuring that families and individuals are reminded of expiration dates, IntelliStorage helps in making sure that groceries are consumed before they spoil, thereby decreasing the volume of food that ends up in landfills. 

Moreover, our project’s efficient management system encourages users to make more conscious purchasing decisions. By having a better overview of what is already stocked at home, users can avoid overbuying, leading to not only less food waste but also a reduction in the carbon footprint associated with the transportation, and packaging of excess groceries.

 

Jason’s Status Report for 3/9

Accomplishments This Week

For this week, we mainly worked on the design review report as a group. We divided the work, and I wrote from sections 4-6 with risk mitigation as well. I also reviewed the feedback from the faculty and revised our report accordingly. I developed diagrams for the product which depicted the system diagram as a whole as well as the OCR flow.

Project Schedule and Progress

Project is going as scheduled on my end, however as the semester ramps up will have to allocate more time towards projects and exams.

Goals for the Next Week
I am going to continue working on the OCR model, which has been started since last week. I will try to get a working model this week with very simple test cases.

Yuma’s Status Report for 3/9

Accomplishments This Week

The main (biggest) part of this week was the design review report. I was in charge of sections 6-9, but ended up helping and rewriting a lot of the stuff in all the other sections. I also fabricated many diagrams that would be put into this report. I think it was a very insightful experience, as trying to explain design choices led me to question my design, sometimes resulting in design changes. It also helped that our design review presentation received constructive criticism, some of which we took in to our design.

One example of a change in design is the temperature sensor. One feedback we received was about the correlation of temperature and “how fast an item expiration goes.” Although it is out of the 12 week project scope to implement some ML algorithm to detect expiration date changes, we decided to install a temperature sensor to our main module. This way we can at least categorize the storage space to be cool/hot and make ROUGH expiration date changes.

Project Schedule and Progress

I did not expect the design review report to take this long. I also did not want to work over spring break, as I was traveling with friends abroad. Therefore, we are behind schedule. I will also be visiting my parents in Philadelphia this coming week as they are being released from the hospital, though I hope to work asynchronously with my teammates.

Goals for the Next Week
I hope to start writing code to integrate the barcode and scanner modules into the main framework. I hope to also tweak the base design based on the design changes we made during the design review process.

Siyuan’s Status Report for 3/9

Accomplishments This Week

This week, I focused on both the documentation and development aspects of the project. The key accomplishments include:

Completion of Design Review Report: I have completed writing crucial sections of the Design Review Report, which include the Introduction, Use Case Requirements, and Architecture.

Implementation of Information Extraction Function: A significant development achievement this week was the implementation of the function that extracts useful information from the API request. With this functionality, the software now can parse information, such as product name and brand.

 

Project Schedule and Progress

I am slightly behind schedule, but the work for next week is still software development. In this case, things are still manageable.

 

Goals for the Next Week

Next week, the focus will shift towards further development of the barcode module software, building upon the foundational work completed this week. Alongside development, testing of the newly added features will be conducted to ensure their reliability and effectiveness. Based on the testing results, necessary refinements will be made to enhance the software’s performance and user experience.

Team Status Report for 2/24

Risk Identification and Mitigation Strategies

Primary Risk Concern: Our primary risk concern for this phase of the project is being able to identify the expiration date correctly given the input image taken by our camera. We have done optimization for our camera, therefore we are now moving on to the processing phase There are many concerns regarding the accuracy of the date, as even the slightest error could lead to a totally wrong information. Therefore, a lot of preprocessing and postprocessing is required to ensure optimal character recognition. For now, we will focus on preprocessing mechanisms, as we have not implemented the character recognition yet. 

 

Mitigation Measures:

We are planning on implementing these preprocessing measures: 

  1. Resizing image
  2. Contrast enhancement
  3. Color to grayscale adjustment
  4. Contour analysis to filter out non-text regions 

 

Other than the image itself, some things to consider for expiration dates in general:

For the input we should take into consideration what would be most common for expiration dates, which would either be started by “Best by”, or “Use by”. Then the date would be divided by “.”, “/”. It would also be in MM/DD/YYYY format. We would also have to be able to take in only MM/DD inputs as well. This would also imply that software would have to keep track of either or both dates, complicating the database.

Project Design Updates

As of the current reporting period, there have been no modifications to the initial design of the project. 

Schedule and Timeline

We are on track of our timeline. Even if the OCR implementation takes longer than expected, we have ample time for integration and testing during the week after Spring Break. 

Yuma’s Status Report for 2/24

Accomplishments This Week

Firstly, we presented our design review this week. During the Q&A, an interesting alternative for storing data on the central computer & edge servers was proposed — ZFS. I spent some time this week conducting a trade study for this technology versus a vanilla implementation of RAID.

On top of this, I was able to setup the repository for the project and draft the bare-bone code used to register items and communicate between nodes. This code is pushed to the repository. A problem I encountered was formatting the data being sent, but was able to resolve it by performing lossless compression on the class member using the pickle library and unpickle-ing it at the recipient. I would say it was a productive week.

Project Schedule and Progress

Although I was a bit behind schedule last week, I managed to bring it back on schedule this week. I hope to work ahead this week, though I am not sure how much can be done as the design review is also due this week.

Goals for the Next Week

I plan on starting to define an interface between Siyuan and Jason’s portions of the code so that we are on the same page about how barcodes and camera input are being put in as data. I also plan on dedicating a lot of time this week to write and clean up the design review document, as well as review comments that were given on our presentation.

Jason’s Status Report for 2/24

Accomplishments This Week

With the optimal camera module chosen and successfully connected to the rbpi, I have now moved on to developing the initial phase of the OCR model. Firstly, I have implemented the preprocessing stage of our model, which included the following list. This implementation used libraries such as Numpy and cv2 from OpenCV. As of now, the implementation is very basic, and therefore needs testing and optimization for better results.  The code will be updated in the github repository. This will be my primary goal for next week.

Preprocessing

  1. Resizing image
  2. Contrast enhancement
  3. Color to grayscale adjustment
  4. Contour analysis to filter out non-text regions

Project Schedule and Progress

My progress is on schedule, however I would want to research and test more on how to perform contour analysis on input image before next week.

Goals for the Next Week

Next week my goal will be to keep working on the image processing model. I will finish the preprocessing part of the model, and then work on the actual OCR part .

Siyuan’s Status Report for 2/24

Accomplishments This Week

During the third week of our project, we achieved significant milestones in software development, specifically in API integration and functionality testing. Key accomplishments include:

API Integration Completion: I successfully integrated the upcitemdb API with a Python script on the Raspberry Pi. This was a crucial step towards enabling our system to fetch product information based on barcode scans.

Functionality Testing of API Requests: Post-integration, I conducted thorough testing to ensure the API requests were functioning as intended. The system is now capable of fetching detailed product information, including product name and brand, using just the barcode. This functionality is pivotal for our inventory management system, as it allows for immediate identification and cataloging of items.

 

Project Schedule and Progress

I am pleased to report that the project is progressing on schedule.

 

Goals for the Next Week

Next week, I will start with the development of the barcode module software. This next phase includes:

Software Development for Barcode Module: I plan to commence development on the core software that will manage the barcode scanning process.

Initial Testing of Barcode Module: Alongside development, I will conduct initial tests on the barcode module software to ensure its compatibility with the hardware setup and its effectiveness in scanning and processing barcode data.