Jason’s Status Report for 4/27

Accomplishments This Week

This week I worked on testing and verifying our design as a whole. Our verification process will mainly focus on accuracy and latency, so that the user interaction will be seemless during the demo. I will continue to work with Yuma and Siyuan for verification over the week. I also worked on the final poster which is due in a couple days.

Project Schedule and Progress

I am on schedule, and my progress is still good.

Goals for the Next Week

Next week, I will work with my team to deliver the final poster, report and prepare the demo.

Jason’s Status Report for 4/20

Accomplishments This Week

This week I was able to integrate the ocr and camera module together so that we can move onto the full integration and validation phase. I also worked on the final presentation.

Project Schedule and Progress
Hopefully I have erased all the roadblocks for the team with the ocr and camera integration done. I will now move onto validating our integrated modules and testing the user interface of the scanner.

Goals for the Next Week
I will now test and validate our combined scanner module physically, and help Yuma with UI development as well as debug any issues that arise during the testing phase.

 

As you’ve designed, implemented and debugged your project, what new tools or new knowledge did you find it necessary to learn to be able to accomplish these tasks? What learning strategies did you use to acquire this new knowledge?

New tools and knowledge that I gained through capstone was learning how to use new libraries such as Tensorflow, tesseract, opencv, and etc. I had to self learn a lot of materials and go through google to get the appropriate datasets and algorithms for OCR as well.

Jason’s Status Report for 4/6

Accomplishments This Week

This week I started integrating the OCR model, camera function, and pipeline to the rest of the modules. This took tweaking some of the code to properly function as intended. Also, the new camera arrived with the specs that we wanted and has been tested to be better than all of our previous cameras.

Project Schedule and Progress
We will follow our revised schedule which will keep us busy for the next few weeks, but manageable at the same time. I will talk about plans about verification in the next step.

Verification

For my individual verification, I have divided into 3 parts. 1 is to verify that my pipeline is sending and receiving all of the components to the central module in a timely manner. This will be done by running test cases and timing the process on the scanner module. I have mitigated potential risks by saving the data into memory instead of disk, so that it can reduce latency. 2 is to test the image acquisition process with the barcode scanning. I need to make sure nothing hinders both processes running at the same time, and make sure the images are what we want. This will be done by hand taking photos at a real setting with real products with expiration dates, and see if barcode scanning works as well. Last would be verifying that the OCR model works as planned with the rbpi, and that the model is producing the expected results. This will also be done by testing with real inputs at a real scenario.

Goals for the Next Week
I will continue to integrate the modules together, and verify that my submodule are working with the integrated module.

Jason’s Status Report for 3/30

Accomplishments This Week

This week I finished the camera pipeline and worked with the new expiration date database in order to achieve the 90% accuracy model. A new camera was ordered that would possibly get better results, as we figured a more close range, autofocus camera would be fit. The integration of the camera will not take any more time, as the code has already been written. Importantly, I have totally revamped the OCR model which was a lot of work but would guaranteed better results if completed.

Project Schedule and Progress
Our schedule has been revised in order to keep up with all of the updates of the project. This includes my expiration date algorithm, which took quite more time than anticipated due to the lack of available datasets in the web and infrastructure.

Goals for the Next Week
I am hoping that I will be able to train the model with the given dataset before the Interim Demo, and showcase the handmade expiration date OCR model. After that, I will move on from the model itself, and work with Yuma and Siyuan on integrating the camera module with the rest of the module.

Jason’s Status Report for 3/23

Accomplishments This Week

This week I was able to further improve on the OCR model and was able to test it out locally on some example expiration dates. It now detects various formats of dates, with a 80%+ accuracy. I also worked with Siyuan and Yuma to get the camera take pictures and send them to the OCR engine. I will work on making the interface and flow of the OCR more smoothly.

Project Schedule and Progress
Progress is being made, and OCR has been implemented. Now we need the camera to take the photos to extract the expiration dates and save them to the database.

Goals for the Next Week
My goal is to get the pipeline working for image acquisition and processing by this week, and with the OCR giving promising results I am confident that I will achieve by the deadline.

Jason’s Status Report for 3/16

Accomplishments This Week

This week I was able to develop a simple OCR model that takes in an image input and feeds it through preprocessing, and outputs the resulting expiration date with its confidence score. It also detects the date format if the expiration date is in MM/DD/YYYY or DD/MM/YYYY.

Project Schedule and Progress

I am on schedule, and as I have ample time next week I will dedicate more effort into refining the OCR model.

Goals for the Next Week

I will continue developing the OCR model and improve the accuracy using custom data sets.

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.

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 .

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.