Allen’s Status Report for April 30, 2022

  1. Worked with Lucky to create the final presentation slides
    1. After that, I wrote speaker notes and practiced my presentation while making sure I knew what my setup would be like for when I present
  2. Listened in and filled out peer review forms for everyone’s final presentation during class time
  3. Gave my team’s final presentation on Wednesday during class
  4. Discussed trade-offs/design changes with Lucky in terms of integration
    1. i.e. if integration with the RPI/ARDUCAM system and the web application fails, we can integrate the background subtraction code as a library to the laptop hosting the web application and use a wired webcam to run both people and object detection
    2. i.e. we could use the RPI/ARDUCAM to not only send a trigger to the web application to run object detection, but we could also send a picture to the app as well. This would allow us to seamlessly insert an image into the object detection code without the use of the external webcam.
  5. Worked on integration with the RPI/ARDUCAM and the web application (Very close to being finished!)
    1. I was able to send a trigger from the RPI to the web application and tomorrow I will try the same thing but in the reverse direction
  6. Discussed poster ideas with Lucky and will finalize the poster design tomorrow

I believe that we are on track for the final demo later this week. I believe we may have roughly one full day’s worth of work to do for the final demo. Hopefully we can do that asap so that we have a few days of slack time to polish up our system, run some more tests, and make sure everything is ready to go for Friday.

During this upcoming week, I plan to do the following:

  1. Finalize integration and testing
    1. connect from the web application to the RPI (using same mechanism from the reverse direction that was proven to be successful today)
    2. integrate Lucky’s object detection code with the web application
  2. Complete poster
  3. Complete final video
  4. Complete final paper

Allen’s Status Report for April 23, 2022

  1. Integrated background subtraction code to the RPI (for people detection) and tested with motion (i.e. how much motion will we need to send a signal to the website since the motion detector is so sensitive? For example, we don’t want someone walking around in an aisle to trigger the object detection code multiple times when someone is still in the aisle.)
  2. Worked with Lucky to integrate our two systems together (i.e. he is turning his object detection program into a library for me to integrate to my web application to call on). He is still working on turning his code into a library. Once that is done, we will spend a day or so integrating.
  3. Researched ways to run a python script remotely (i.e. my computer to the RPI), ways to send data from the RPI to my computer, and more. This part was particularly painful this past week. What I’m trying to figure out is sending data from the RPI to the Flask server (through HTTP post requests), but I have been running into issues with having the RPI connect to the server (i.e. URL connection issues)
  4. Discussed what we are going to present for this upcoming week and how we plan to finish out these last two weeks.

I believe that we are on track since integration with the RPI is essentially all we have left in terms of the product. However, there are other deadlines too (i.e. poster, video, etc.) so we will try to finish integration as soon as possible.

During this upcoming week, I plan to do the following:

  1. Finalize integration with the web application and the raspberry pi
  2. Complete poster

Allen’s Status Report for April 16, 2022

  1. Completed the web application (includes some testing on user authentication, password encryption, protection from pages if you aren’t logged in, and more)
  2. Thinking about different methods for integration between the web application, the wireless transfer system (for the people detection), and Lucky’s laptop (for object detection)
  3. Playing around with integration between the three subsystems (i.e. getting one subsystem to run terminal commands from another subsystem; basically a client-server connection)

I believe that we are on track to finish and we will treat the final presentation date as a hard deadline to integrate all of the subsystems and finish testing. That would be the best case scenario, but if we do not, we will still have two weeks to finish before the final demo.

During this upcoming week, I plan to do the following:

  1. Continue integration with the three subsystems
  2. hosting web application on the cloud
  3. complete the final presentation slides
  4. Assisting Lucky and Takshsheel with anything that they need

Allen’s Status Report for April 10, 2022

  1. Performed our interim demo and demonstrated our individual subsystems as well as our updated schedule. Feedback was received and we are in the process of implementing the feedback in addition to the features we still have to do
  2. Improved upon the web application (i.e. added more views, designed more of the UI, and implemented more functionality). The web application is nearly complete (roughly 90% done)
  3. Set up the raspberry pi and camera system and familiarized myself with the tools and interface.
  4. Researched background subtraction algorithms to integrate with the raspberry pi
  5. Played around with using scripts to SSH into the raspberry pi, run commands, and return the result onto our local computer. This is essentially part of integration from the web application to the rpi/camera system.

I believe that quite a bit was done this week but we are a bit behind (because I would like to be done a week before our final demo to polish up anything). I think we can be in the thick of integration/testing by the end of this week and will reach out to the professors next Monday if things look too behind.

During this upcoming week, I plan to do the following:

  1. Continue integration with the web application and wireless transfer system.
  2. Research integration with the wireless transfer system and the object detection algorithm (Lucky’s computer)
  3. Finish the web application and hosting it on the cloud
  4. Figuring out how to set up our system and shelf/items
    1. i.e. will probably need to buy/find/make a shelf
  5. Assisting Lucky and Takshsheel with anything that they need

Allen’s Status Report for April 2, 2022

  1. Met with our group, TA, and professor to discuss the status of our project and talked about what to expect for the upcoming interim demo
  2. Added a global data set to the web application as well as a view for new users to pick items they want analyzed by the object detection algorithm

I believe that our progress is behind. With roughly 3 weeks left, I think that we have our work cut out for us. During carnival, I plan to do lots of work and I want our team to start fully integrating and testing our systems with two weeks to go to be safe.

During this upcoming week, I plan to do the following:

  1. Continue researching web sockets as that is a potential bridge that will allow our subsystems to connect with each other (for integration) (besides hosting the web application on the cloud)
  2. Continue making progress on the web application to be ready for integration next week (hopefully)
  3. Discuss what/how to present our interim demo (Sunday night)
  4. Figuring out how to set up our system and shelf/items
    1. i.e. will probably need to buy/find/make a shelf
  5. Assisting Lucky and Takshsheel with anything that they need

Allen’s Status Report for March 26, 2022

  1. Discussed ethical concerns/precautions that we should consider for our project amongst our team and fellow classmates during our ethics lecture
  2. Researched various ways to set up our wireless system – I have concretely decided on what to do and have the resources ready to start up the system besides one part that was ordered tonight (last piece of the system needed to be purchased)
  3. Discussed in depth the details of integration along with making our system more accessible to more stores in general. In addition to other things, one major thing we decided is to add a global item data store for all stores and aisles and allow users to choose aisles/items to view on their UI.
  4. In regards to the previous point, I mapped out how that would look on the web application in terms of code and design

I believe that our progress is a bit behind – we understand that the interim demo is on the horizon in less than 10 days and our final demo is in about a month. That being said, we want to make sure we have those deadlines in mind to finish as early and robustly as possible.

During this upcoming week, I plan to do the following:

  1. Researching web sockets as that is a potential bridge that will allow our subsystems to connect with each other (for integration) (besides hosting the web application on the cloud)
  2. Adding point #3 above for the web application
  3. Finishing final parts of the web application (i.e. some UI and routing for the page that will show the data to the user)
  4. When the last piece of the wireless system is here by mid-week, I’ll shift my focus to fleshing out the wireless system (the first half of the week will be web application dominant)
  5. Figuring out how to set up our system and shelf/items for our interim demo
  6. Assisting Lucky and Takshsheel with anything that they need

Allen’s Status Report for March 19, 2022

  1. Worked on RPI design/research/ordering more parts and the Ethics assignment on Monday and Wednesday
    1. ~5 hours
  2. During the week before spring break, I spent roughly 18-20 hours setting up the web application (the login/register pages are complete with user authentication, the homepage is set up, and the UI is nearly finished) and writing up my portions of the design review document.

I believe that our progress is slightly behind – we got a lot of work done before spring break, but we’ve had some slack time since break. The necessary parts for the wireless transfer system arrived during the tail end of the week (as I research more, I realize how we need little things along the way, such as: SD card, tripod for camera, etc.), so I’ll be focusing on that this week.

During this upcoming week, I plan to do the following:

  1. Setting up the wireless transfer system now that all of our parts for one system are here (our other RPI is hopefully coming during the first week of April. I say hopefully because it might get backordered, but the expected date of arrival is during the first week of April.)
  2. Finishing final parts of the web application (i.e. some UI and routing for the page that will show the data to the user)
  3. Figuring out how to set up our system and shelf/items for our interim demo
  4. Assisting Lucky and Takshsheel with anything that they need

Allen’s Status Report for February 26, 2022

During this week, I worked on the following (in chronological order):

  1. Worked on Design presentation with my team during Sunday night
    1. ~2-3 hours
  2. Reviewed/conducted peer reviews for the other teams during class time on Monday and Wednesday
    1. ~3 hours
  3. Went through a comprehensive Flask tutorial, researched and planned out how to upload/download from an AWS S3 bucket, researched on how to use an RPI with the ARDUCAM, and researched extra parts that we need to order (camera module and ribbon for RPI to ARDUCAM)
    1. ~5 hours

In the past week, I’ve had two exams so my output this week was not as optimal as I would have liked it to be. This upcoming week should be much more free, allowing me to put in 12+ hours for sure.

I believe that our progress is behind, and I shoulder my fair share of responsibility. The key hindering factor for me (besides having midterms the past two weeks), is that I tend to mostly work on the tail ends of the week. This week, I will work for at least 3/5 of the weekdays for 2+ hours outside of class time. My goal output this upcoming week is 15+ hours.

During the next week, I plan to do the following:

  1. Setting up the backend and frontend of our flask app
  2. Sending dummy data from the RPI to a local machine (i.e. since we need to order a camera module, we cannot take pictures yet. Thus, I’ll send over dummy data to get used to using the RPI so that once our camera module comes in, we’ll be good to go)
  3. Assisting Lucky and/or Takshsheel on object/human detection

Allen’s Status Report for February 19, 2022

During this week, I mainly researched Web Frameworks, Databases, Object-Detection Algorithms, met with my team during class time, discussed through messenger when we were home, and created an overall (and potentially near final draft) design diagram of our product.

After doing research, I have decided that we will use Flask rather than Django for our web framework. Why? Even though I am familiar with Django and haven’t used Flask before, Django is very comprehensive and for the purposes of our web application, we don’t need all of the features that Django provides. As a result, a more lightweight framework (Flask) will be faster, and since it can do all the things I need it to do, it made more sense to me to move on with Flask. Also, Flask is python-based, which is my most comfortable language.

As for the database, I decided to move forward with MySQL with the help of SQLAlchemy. This is because I have experience with MySQL, it’s an ORM structure, and it’s not lightweight. Essentially SQLAlchemy is a library that allows users to write python code that will translate to SQL. Having SQLAlchemy will improve my implementation speed and process since I am much more comfortable with Python than SQL.

In terms of the Object Detection Algorithms, we have seen many. We decided that instead of trying to decide which one to stick with for the semester, we are going to try implementing a few of the ones we have researched. Then, we will evaluate the performances of each and choose the best one.

Lastly, I spent time during the tail-end of the weekend (Friday and Saturday) to create an overall design diagram and tried to be as specific as possible. This diagram encompasses our entire project and also includes submodules for modules that cannot be explained with just one block.

Overall, I spent roughly ~10 hours this week on Capstone.

My progress I believe is behind. I wanted to create the base web application and test out the RPI and ARDUCAM. I did not do either this week and I intend to work much harder next week to compensate so that I can get back on track and/or be ahead of schedule. If I am not on track (standard is based on our defined schedule from the previous presentation) by this time next week, I will ask my TA/Professor for assistance on how to catch up and inform them that I am behind.

In the coming week, I plan to achieve the following: Watch a tutorial video on Flask/SQLAlchemy, create the base web application, start designing the Front-End UI, test out the RPI/ARDUCAM (not just taking pictures because that was supposed to be this week, but also test the transfer of data to a local machine), and work on the design presentation.

Allen’s Status Report for February 12, 2022

For this week, I worked mainly on the tail ends (last Saturday/Sunday) and today (current Saturday). On the front end of the week, I worked on researching SIFT (i.e. how it works and it’s nominal speed/accuracy rates), how an RPI camera (i.e. ARDUCAM) would be controlled with an RPI, how an RPI would transfer data to a web server, and an ideal web framework to use for the web app (the section that I am heading up). This took roughly ~5-6 hours of work and including class time with our presentations and peer reviews, that’s an additional ~4 hours. Today, I was looking over how an RPI would interact with the Django framework (web framework that I am most comfortable with) and refresh myself on how the Django framework works. This took roughly ~3 hours of my day.

I think our progress is just right on track. My team and I should get into the habit of spacing out work throughout the week, which ensures that we clock in hours consistently. This also helps with progress moving along consistently. We have met up roughly 2-3 times each week since school started for around ~2-3 hours each, so our project abstract/proposal were a bit more fleshed out than we probably needed, so we were off to a good start. However, this week definitely could have been more productive, which is why I say that we are just right on track.

In the upcoming week (by Wednesday), I want to firmly decide on what web framework I am going to use for the web application. I am already heavily leaning towards Django, but I want to explore other options as well as different databases too. Additionally, by the end of next week, I want to have setup the backend and frontend (i.e. create the project and begin with initial UI). Lastly, our parts for our system have been picked up recently this week and we want to start testing that the RPI can control the ARDUCAM to take pictures and try to send that information to the backend.