Team Status Report for February 19, 2022

An overview of what we did:

  • Received feedback from our Professor/TA during our weekly meetings on Monday, took notes from the meeting, and discussed as a team afterwards
  • Researched deeper into various object detection algorithms (i.e. SIFT, SURF, BRISK, and more)
  • Determined a list of grocery items to test with and why we chose them
  • Determined the algorithms/approaches we will use for CV (will explain in-depth during the design presentation)
  • Researched into what web application/database to proceed with and determined which ones we will use
  • Created and fleshed out an overall design diagram for our product
  • In the process of testing SIFT, BRISK, and color detection with Google Collab

In terms of what we will do this upcoming week, we hope to do the following:

  • Go through a tutorial of Flask/SQLAlchemy
  • Create the base web application and initial UI
  • Test RPI and ARDUCAM
    • Use RPI to control the ARDUCAM to take a picture
    • Use the RPI to send that picture to a local machine
  • Continue testing SIFT, SURF, and BRISK and getting comfortable with the algorithms in practice
  • Research more on gray-scaling, background subtraction, and color detection
  • Get back on track and/or be ahead by this time next week
  • Assign specific tasks and deadlines for preliminary implementation moving forward

The most significant risks that we know of thus far are:

  • While testing SIFT, we ran into patent issues and we pivoted to testing BRISK
    • Mitigation: Look into how to use a specific version of a library since SIFT was available on cv2 (cv4 is the current version)
  • Using algorithms that demand too much computing power or take too long for the systems we run them on
    • Mitigation: comparing processing on cloud vs local machine
  • Accurate trigger mechanism for when to run object detection
    • Mitigation: Researching fast motion detection processes i.e. background subtraction
  • Poor understanding => poor implementation => non functioning product
    • Mitigation: through research stage, and asking questions on slack to probe the experienced minds of the professors and TA’s

There were no changes made to the schedule.

As for the design, we transitioned from using Django (wasn’t set in stone before, but was heavily leaning towards it) to Flask. Additionally, when researching about databases and Flask, we decided to use a library called SQLAlchemy that assists us in writing high-level (python) SQL code. We also discussed adding the process of gray-scaling images to reduce computation power and increase speed. When needed, (i.e. fruits and vegetables since some are similar in size and color) we will use color detection.

Takshsheel’s Status Report for February 19, 2022

Through this week, most of my time was spent researching background reduction for openCV, working with our team during class time, to discuss different frameworks for the webapp network as well as different background subtraction algorithms. 

With this time through research, I’ve found there to be a few different algorithms for background subtraction, which is an important step for our openCV processing. The 2 primary algorithms that I believe we’d like to use for our project for background subtraction would be one of BackgroundSubtractorCNT or BackgroundSubtractorMOG2 since these algorithms were designed for detection of foreground motion along with being able to differentiate between movement and their shadows moving. I’m not sure which detection algorithm would be the fastest and accurate enough since our goal is just detection of some motion to begin with. So, I think we shall try to use BackgroundSubtractorMOG2 since I was able to find better documentation with public access for the same, and test if we would need a better algorithm to meet our goals. Should that be the case, I’d like to have a working implementation to test soon.

Beyond that, in terms of intangible time spent, I worked on my presentation delivery since it is an area I struggle with. I don’t have any way to show this at the moment, but I hope to show it through the design review presentation that shall be next week. I spent about 2 hours working on learning our design well as well as practicing my delivery for random presentations. I don’t know if it was worth it, but I needed this time to do it well.

In total, including class time and research time, I spent about 10 hours on capstone this week. It needed to be more, but I had an emergency situation take up more of my time. This situation put me behind on my schedule, but now that it has passed, I plan on using more of that time into the project and have tangible deliverable files next week.

 

For next week I plan to have a deliverable openCV background reduction process, and hopefully tests for different algorithms integrated into it too. Completion and a good presentation of the design review is also something that needs to be done next week and I hope to do well there as well.

 

 

Lucky’s Status Report for February 12, 2022

This week I did the following tasks:

  • Presented project proposal
  • Continued research on SIFT algorithm to get a better understanding of how to incorporate it into our computer vision component of our project
  • Researched the differences between SIFT, SURF, OBS to gain a better understanding on the alternatives to ensure we are pursuing the best algorithm to meet our proposed user requirements
  • Did some preliminary research on background subtraction to consider it for our detection of motion in an aisle as referenced by the professor because I had not heard about it before
  • Looked into some comparison of popular methods to track and count people e.g. HOG vs YOLO
  • Did some preliminary research on which database we would use
    • Compared and contrasted SQL and NoSQL
    • Looked into the popular databases used for image classification applications  e.g. Apache Cassandra, MLDB, MySQL, and MangoDB
  • Reconsidered where we would be perform the image processing: on the cloud or on the local machine, and began looking into the pros and cons of both

 

In terms of schedule I feel slightly behind if I am honest due to uncertainty on which steps to take moving forward. I feel as though I am at a state of choice overload for technologies to choose

 

The main way I intend to overcome this hiccup in the process is to go over the options with my teammates in our first meeting this up to make a final decision on what we will attempt first before moving on to testing and implementation

 

This next week, I hope to perform the next steps as outlined in the team status next tasks, and in terms of individual deliverable, I hope to establish the mechanism we will use to communicate between the different cv components, and design an updated model of our system with those decisions in mind.

Takshsheel’s Status Report for February 12, 2022

What I researched/worked on this week:

  • Researched initial openCV algorithms to use for detection of people in a stationary environment.
  • Looked in depth into background subtraction and understood the different steps involved in the algorithm. 
  • Preliminary research into keeping count and detecting multiple objects along with background reduction. 
  • Research into a possible changing background vs not having our items not be in the background. Research to reason about would we want to use 2 cameras for people vs objects vs 1 camera with 2 settings. (2 cameras is expensive vs 1 camera has more algorithmic complexity) 
  • Varying background possibilities due to objects being taken off the shelves one at a time, many at a time etc. 

 

I feel like as a team we are still on track even though post our proposal which was very fleshed out and detailed for which a lot of preliminary research was already done, this week due to the proposals and peer reviewing during the 2 class times which were previously also used for research, but we have made progress with some of the details. On a personal note I think I’m a little behind on the outcomes of the research I wanted to achieve. Eg: Answers to some of the questions that I currently have preliminary research for. To catch up to my perceived readiness, I’d like to ask for advice through our faculty advisor and the TAs, and perform further research as well. 


For next week, I’d like to finish my research and be able to provide a first draft (albeit buggy) of some background subtraction code. So we can check what is visible and what isn’t. I’d also like to finalize what approach I’d like to take with regards to SIFT vs OBS vs SURF etc as well.