Team Status Report for 4/24/2021

Our project has been going well and it looks like we are on pace to finish in time. We are putting the finishing touches on a lot of our project and are going to start testing and integrating all of the separate pieces now. We have to start working together to make sure all the pieces fit together well.

This is a potential risk bringing everything together. Making sure that all the individual parts of the hardware and the software fit together and then the software and hardware work well together is something that may be difficult. However, with good coordination among the team this is definitely something that we can accomplish.

Our schedule is looking good and without any major issues the schedule should progress smoothly.

Fred’s Status Report for 4/24/2021

This Week

Finished the user preference model. The final method allows users to store their feedback about outfits they are shown and the matching api can call the retrieve method to get the feedback about the outfits

I also worked on updating the hardware. The last gears were too small so we 3d printed bigger gears. After getting the gears I readjusted the base in order to fit the bigger gears.

For Next Week

Finish assembling the hardware and work to test it fully to make sure it is functional.

Work with the group to integrate the user preference model into the matching api.

Sung Hyun’s Status Report for 4/24/2021

This week I have:

– Fixed major bug of user interface and database

– The rack should rotate at “add” page and then the database should be updated at “update_add” page. This is because we don’t want the database to be updated before the user retrieves clothes, because if the database is updated before the rotation, and the system is reset before the user gets the clothes, there will be a disparity between the database and the clothes that are actually hung on the rack

– In order to fix this, we have implemented an update_add page, where the user will insert its preference and press done when the user actually retrieves the clothes.

– Another bug that we noticed was the integration between retriever API and the hardware

– When we tell the servo to rotate to a certain angle, it will rotate with maximum speed / acceleration that would lead to our hardware to break

– In order to mitigate this issue, I have changed the retriever API to know its current location and the destination location and turn 6 degrees of angle at a time, to minimize acceleration / deceleration since f=ma. Simply put, we will stop the servo intentionally before it accelerates too much.

– In addition, I have started the integration between user interface and all the other APIs because the functions in user interface will be the one calling other APIs

– Matching API for example was in a folder, and wasn’t able to import the database, so I have redirected / reorganized the directories.

Next week I will:

– Test the hardware to make sure that it won’t fall apart when we rotate the system by 6 degrees at a time. If this is not enough, we will probably have to find a more sturdy attachment method between the gear and servo and the other gear and the rotating rack.

– Finish integrating between multiple APIs and do a live demo with all the clothes, checking for any new unseen bugs

Henry’s Status Report for 4/24/2021

This week I worked on:

  • Software Integration of Visualizer
    • Integrated all components of the visualizer API. It was running very slowly as there’s a fixed cost every time we use the ML model for classification. To fix this, I created batch classification methods. They increased the runtime per image from 4000 ms to 10 ms.
    • Webscraper integration required an algorithm to determine how well two given labels (one for user’s clothes and one for online clothes) matched. I created my own algorithm that took a weighted average with more weight given to more confident labels. It also uses L2 error for color.
  • Validation Testing for Visualizer
    • Validation testing on the image and labels storage made me realize 1. storage hits were extremely unlikely because the keys was based on specific labels and color. and 2. the storage was too large to fit in memory.
      • 1. color keys is now rounded to closest color our of 125. Only most confident label is used for storage.
      • 2. Instead of an in-memory storage, it will be on-disk with memory-caching using DiskCache.
    • Core functionality of Visualizer is quite good, as seen in interim demo.
  • Final Presentation
    • started working on the final presentation.

For next week:

  • Complete software integration with matching api, user preference model, and user interface.
  • Complete software validation.
  • Keep working on Final Presentation

I am on schedule.

Sung Hyun’s Status Report for 4/10/2021

This week I have

– Debugged the clothes database that is currently categorized as retriever API. The issue I had before with the clothing database is, when it inserts clothes to the database, it would just search through the list and find the first empty space (angle) to insert the clothes. However, this might cause some issue because if all the clothes are placed in one side of the hanger, there might be a hardware malfunction.

– Knowing this I have implemented a function that simply uses coordinates to find the center of gravity of the hanger, assuming all clothes have the same weight, and hang the new clothes to the furthest from the center of gravity.

– slightly altered the add clothes functionality. Initially the user has to input the details of the clothes, but now that Henry has completed his visualizer API, I can just take a picture of the clothes, and this will add to the database and activate the retriever API

Next week I will

– connect the retriever API and the servo to our hardware part of the product.

– make sure than each functionalities of add, remove, get, return clothes are working smoothly and the transitions don’t have any bugs

Team status report for 4/10/2021

This week we assembled most of our hardware parts by laser cutting all the wood pieces. As a team, our biggest focus was how to connect the two gears with precision, and ensuring that the gear rotating the hanger is the absolute center of rotation. In order to achieve this we have Laser cut alignment wood with a hole in the middle because 3D printing will eliminate human error of guessing where the center of the servo is. In addition, we have tested the metal-metal epoxy because this attachment is used between servo and smaller gear and is also used between clothes rack and bigger gear. After waiting for an entire night, we have ensured that it won’t fall off easily, and will hold when we use the servo to rotate the hanger. In addition, this week we have debugged many issues we had with the software so now all we need to do as a group would be debugging the interface between software and hardware, and do some actual function testing for our entire system as a whole.

Getting closer to assembling the entire hardware, we have identified a couple of potential risk factors. One of them would be our design relies on metal-metal epoxy to attach the gears to the servo and the hanger. It was strong enough to stay attached when we had no clothes on, but it might not be able to hold when we rotate with clothes on since the surface area of the gear is not that big. We will mitigate this risk by validating our attachment with clothes on tomorrow, and if this doesn’t work, we might want to get bigger gears to increase the attachment surface area.

These are the pictures of some parts of our hardware

Henry’s Status Report for 4/10/2021

This week I worked on:

  • created new clothing classification model to reduce overfitting. Added stronger preprocessing, dropout layer, batch normalization layer, and trained for less epochs. The new model achieved ~70% validation accuracy.
  • created top-5 accuracy test on test data set. Overall 91% top-5 accuracy (yay! this meets our requirements of 90%)
  • Started software integration of visualizer API. Integrated clothing detection and classification, working on integrating webscrapper right now.
  • Helped Fred with hardware design. We required high precision in assembly so I suggested using laser cut components to aid in assembly. For next week:
  • Finish visualizer software integration and create validation tests for software component.
    • measure accuracy on images scraped from online
    • measure runtime of system
    • measure if storage costs are within our initial predictions

I am on schedule.

Fred’s Status Report for 4/10/2021

This week:

We finished working on a product to show for our presentation on Monday.

  • I needed to laser print more parts in order to attach the servo and turntable bearing to the base. This involved me learning to use inkscape and laser cutting in order to fully create it.
  • I put more work into the user feedback model. Users can now like or dislike clothes and the rating will be saved in a database. This will be called to in other areas of our project to rate the clothing.
  • Began merging the webscraping and clothing recognition model.

For Next Week

  • Finish working on the user feedback model
  • Work more on the software integration and testing.

Sung Hyun’s Status Report for 4/3/2021

This week I have:

– Readjusted the retriever API using the new 270 degrees servo

– The servo, even though according to the description should rotate around 270 degrees, it actually just rotated around 210 degrees, so we might need to account for this through our gear (instead of having a 3:4 gear ratio, we will use around 3:5 gear ratio, so we should adjust this on the hardware side)

– debugged the User interface. There was an issue where the user interface was stuck on a page, so I added Home button and navigation button so that if the user is stuck on one page, they can easily navigate around

Next week I will:

– work on the communication between user interface and matching api and user interface and user preferences api

– make sure the retriever and hardware interact without issues.

– Complete user preference model and debug

Team Status Report for 4/3/2021

This week we received our new servo and tested it out. It fixed all the problems we had with our last servo and it could rotate to fixed degrees so that was one problem we had solved. In addition it was rated stronger so it could handle the loads we needed. So with that we are back on schedule now and we are projected to finish on time.

One small risk we have identified is whether our base will have enough strength to support the clothing on top of it. However, we bought thicker wood to add more strength. In addition we are trying to add weights to the base to make it more sturdy. We believe this will be enough to compensate for this. If not we can add a larger base to the bottom of the stand in order to be able to handle all the weight.