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 .

Team Status Report for 2/17

Risk Identification and Mitigation Strategies

Primary Risk Concern: One of the bigger challenges in this project is accurately detecting the expiration date of products using a camera. This primary concern is split into two sub-problems.

  1. Image Clarity for Text Recognition: A concern that has somewhat materialized from last week was Image clarity. Our first camera that we acquired was not able to focus on targets <10cm, which led to blurry numbers and text. We tried to plug this image into google lens to see if a state-of-the-art algorithm could detect the text on the image, but it was unable to. We were surprised as this camera was the same one a previous capstone group used (Where’s the Barcode).
  2. Capture Timing: The final main concern is when the camera acquires the image. The user will face the expiration date towards the camera, but there is no cue when the image is most clear / the expiration date is most in view, and when the camera is most in focus. 

Mitigation Measures

  1. To have lower likelihood of roadblock on the camera hardware, we preemptively ordered multiple cameras (one ArduCam from Inventory, one from Amazon) with low focal distance and auto-focus. 
  2. We have tentatively drafted an algorithm that allows for clear expiration date images. This is purely hypothetical and will not be able to be tested until the camera is integrated with the software, but we plan on syncing the image acquisition with the barcode acquisition. When the barcode is read, the images acquired from the camera +-1 second will be all scanned through an OCR algorithm and the image with the highest classification value will be used. This is based on the principle that if the barcode can be clearly read, hopefully the expiration date can be as well.

Project Design Updates

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

Schedule and Timeline

The project was a little delayed this week due to problems setting up the RPI5. We were unable to use the lab keyboard/mouse to hook up to the RPI, and thus we were blocked from going through the setup process. This is very minor though, and we are roughly ⅓ of a week behind schedule, and we hope to get back on progress this week.

Appendix

(Original Camera Image, target = 15cm)

(Original Camera Image, target = 10cm)

(Original Camera Image, target = 5cm)

 

Additional Questions: 

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

Part A

IntelliStorage is poised to significantly impact public health, safety, and welfare through its innovative approach to household storage management. By leveraging advanced technologies such as barcode scanners, microcontrollers, and a sophisticated camera and database system, IntelliStorage addresses crucial aspects of household management that directly affect the well-being of individuals.

 

From a public health perspective, the system’s ability to track expiration dates is paramount. Food safety is a major concern for households, as the consumption of expired goods can lead to health issues ranging from mild food poisoning to severe allergic reactions. IntelliStorage mitigates this risk by ensuring that consumers are aware of the expiration dates of items within their pantries and refrigerators. By providing daily summaries and consumption suggestions, the system not only promotes the efficient use of food but also significantly reduces the chances of health complications arising from the ingestion of spoiled products.

 

In terms of safety, the absence of physical harm is a critical consideration. Cluttered storage spaces can pose significant risks, including physical injury from falling objects or the growth of harmful bacteria and molds in poorly managed pantries. IntelliStorage’s item detection and management feature organizes and maintains an accurate inventory of stored items, reducing the likelihood of accidents and enhancing the overall safety of the home environment.

 

Furthermore, the welfare of individuals is intricately linked to their ability to access and efficiently manage basic needs, such as food and clothing. IntelliStorage’s comprehensive network across different storage spaces ensures that necessities are adequately stocked, accessible, and utilized before expiration. This level of organization and management not only saves time and resources but also contributes to a sense of security and well-being among users.

 

Part B

One of the social factors that we considered in designing this product solution is the environmental (green) issue of food waste. By using Intellistorage, users can avoid throwing away food that has passed its expiration date and instead consume it before it spoils or donate it to food banks or charities. This will help reduce food waste and its environmental consequences.

 

Another social factor that we considered in designing this product solution is the economic issue of rising food prices. Consumers are paying more for the same amount of food, which can affect their budget and purchasing power. By using our scanner, customers can save money by avoiding buying duplicate items that they already have at home. This will help users optimize their grocery spending and reduce unnecessary costs.

 

Part C

Intellistorage is able to alleviate a lot of unnecessary stress on the supply chain. For many, it is very common to go to the grocery store and buy something you already had at home. By using IntelliStorage, you will be able to keep track of what is already at home, so that there is no need to buy anything that has already been bought. If many adapt this technology in their household, this would lead to less spending and smarter purchases. This would alleviate the need for supermarkets to order excess items, and would decrease demand. 

 

In events of supply chain disruptions such as COVID-19, this decrease in demand would allow for more necessities to be distributed rather than excess that is bound for waste. This should have a very positive economic impact as the goods are being utilized more efficiently, as well as a positive social impact.

 

Jason’s Status Report for 2/17

Accomplishments This Week

Firstly, I worked on the Design Review Presentation that we have next week. Other than the presentation, I worked on configuring the webcam that will be used to detect expiration dates for the scanner module. I first tried configuring with a given camera that we got from storage, however noticed that webcams generally didn’t have an auto focus/zoom mode. This led to lower quality images at close range (<10cm). This realization allowed me to make sure that our camera had good compatibility with close range shots. Then with our newly arrived camera, I have successfully connected the camera to the Rbpi.

Project Schedule and Progress

My progress is on schedule, have done preliminary hardware/software planning and implementation in preparation for next week.

Goals for the Next Week

Next week my goal will be to test the camera with the other hardware components such as the barcode scanner. We would want to scan both barcode and exp. date at the same time, where the trigger of the barcode scanner will be the shared control signal. After configuring them to operate simultaneously, I will research the OCR algorithm for basic implementation, disregarding any confidence score/accuracy requirement.

Jason’s Status Report for 2/10

Accomplishments This Week

Firstly, as the presenter for the Proposal this week, I worked on practicing the presentation material as well as prepare for any possible questions that could come up after the presentation. Other than the proposal, I worked on researching and purchasing materials for the hardware component of our scanner module: a camera that would fit our design requirements.

The camera that we ended up purchasing was a NexiGo N60 1080P Webcam (https://www.amazon.com/Microphone-NexiGo-Computer-110-degree-Conferencing/dp/B088TSR6YJ) which had a balance of budget and high resolution within the dimensions of our scanner module. We would connect this webcam to the microcontroller via USB, and incorporate it for our OCR portion of the project.

Project Schedule and Progress

My progress is on schedule, have done preliminary hardware planning as well as purchasing materials.

Goals for the Next Week

Next week my goal will be to setup and test the camera integration with the Raspberry Pi. This would mean putting the camera on the scanner, and connecting to it and setting up the environment.  I have found a good tutorial on the web to follow (https://www-users.york.ac.uk/~mjf5/shed_cam/src/USB%20webcam.html)

Things to look out for is the compatibility, latency, and image quality that we get from the camera to the RbPI. I will validate any software and hardware issues that may rise during this testing phase.