Youssef’s Status Report 3/25

Current Progress:

  • Wrote out the pose correction rendering code to dynamically highlight user nodes that need correction
  • Went to Home Depot to obtain the wood pieces and get the corresponding cuts completed, beginning assembly
  • Worked on finalizing mirror coordinate mapping component and testing methodology with example data points prior to full integration testing post-hardware completion

Timeline:

  • Our initially scheduled tasks on the timeline focus on the Mirror UI and the Mirror-Camera calibration components which we are on track to fully complete and test in an integrated environment this week. We are slightly behind on the error rendering component of the UI (need to actually have corrective suggestions not just highlighted errors) and the hardware assembly, but we plan to have that finished this week.

Next Steps:

  • Need to update pose correction rendering to actually give corrective suggestions not just error highlighting/signalling
  • Will complete hardware assembly/integration
  • Test mirror mapping component using completed hardware setup

Sruti’s Status Report

Progress:

  • Wrote the scaling algorithm and created a plan, as well as did a preliminary proof of concept test, to calibrate the camera-mirror scaling factor.
  • Finalized dimensions and hardware design.
  • Bought the wood and supplies from home depot and marked their dimensions
  • We were supposed to do the wood working and building today but techspark’s woodshop was closed and so have to push that out to early next week.

In regards to the schedule, I think we are a little behind track especially with the hardware building section, but if we get it done in the next couple of days then we will be on track.

Next Steps:

  • Work on hardware construction
  • Work on completing the mirror-camera integration

Ankita’s Status Report 3/25

Current Progress:

  • Finished finalizing the dimensions for the Mirror frame around the key constraints (primarily the acrylic mirror dimensions and monitor thickness)
  • Researched different smart mirror construction designs and created a plan of assembly and materials required, making sure the monitors are seamlessly attached together and the 2-way mirror is as straight as possible to not distort the reflected image
  • Went to Home Depot to obtain the wood pieces and get the corresponding cuts
  • Helped gather data points on the distance to the mirror and how the reflection changes accordingly (for the Mirror mapping aspect)

Timeline:

  • According to the timeline, we should be focusing on the Mirror UI and the Mirror-Camera calibration components which we are on track to accomplish. We are slightly behind on the error rendering component of the UI and the hardware assembly, but we plan to have that finished this week.

Next Steps:

  • By the end of the week, we plan to finish the hardware assembly and have an MVP of PosePal.
  • We will primarily focus on the error rendering and Mirror-camera mapping aspect.

Team Status Report 3/25

Progress:

  • Wrote the scaling algorithm and created a plan, as well as did a preliminary proof of concept test, to calibrate the camera-mirror scaling factor.
  • Designed the hardware and finalized dimensions
  • Bought the wood and supplies from home depot and marked their dimensions
  • We were supposed to do the wood working and building today but techspark’s woodshop was closed and so have to push that out to early next week.
  • Wrote the error rendering code but it needs to be tested some more.

Next Steps:

  • We are focusing on the Mirror mapping software system this week, which will entail us recording measurements of key distances such as the distance from the user to the mirror, the depth recorded by our Pose Estimation algorithm, the width of their shoulders or arm span in the mirror reflection, and the actual width/arm span of the user. Once we have these measurements, we will be able to perform a linear regression/interpolate between these data points to produce a line of best fit that represents a correlation between the distance from the mirror and how the reflection shows up on the mirror.
  • Any remaining hardware assembly will also be wrapped up this upcoming week.
  • We hope to have an MVP of PosePal by the end of the week!

Challenges

  • Following up from last week, the major hurdle we are facing is completing the integration of the mirror-mapping logic to successfully render pose correction suggestions directly onto the user’s reflection.
  • For this mirror-mapping task, we have finalized the methodology for how to dynamically scale coordinates of the user from the camera feed coordinate space to the coordinate system of the monitor/mirror such that corrective suggestions get rendered in the right position on the reflection
  • We went through an example flow of collecting this data and testing the resulting scale factor measured from it through our algorithm

Timeline

  • We are in the middle of wrapping up hardware construction and integration of the product itself
  • We’ve begun assembly of the frame of the mirror/monitor, and will need to complete final assembly this week to begin testing with the fully integrated product and verify the validity of our mirror-mapping logic and algorithm most importantly

Youssef Status Check 3/18

Current Progress:

  • Worked with group on testing acrylic two way mirror in comparison with mirror sheet approach, confirmed that we want to use the acrylic for improved reflection quality
  • Researched methodologies to implement mirror mapping from camera feed to on-reflection rendering – plan out math and approach for implementation
  • Worked on pose correction rendering and starting with highlighting incorrect nodes

Next Steps:

  • Complete pose correction rendering this week and hardware construction

 

Sruti’s Status Report 3/18

Current Progress:

  • Helped with testing acrylic two way mirror, which we now decided we want to use.
  • Spent significant amounts of time understanding the math and physics behind the mirror-camera integration and presented it to the team. The whole team then  discussed and solidified the approach to solve the problem.
  • Wrote the function to calculate the amount by which an object appears smaller as they move away from the mirror, which we will use for understanding which parts of a body is visible on the mirror.

In regards to the schedule, I think we are mostly on track, but it depends on whether the hardware construction is difficult or not.

Next Steps:

  • Work on completing the mirror-camera integration
  • Work on hardware construction

Ankita’s Status Report 3/18

Current Progress:

  • Started creating a plan of action for the mirror assembly and looked into different methods of construction for smart mirrors
  • Tried using the CDCL human part segmentation model (https://github.com/kevinlin311tw/CDCL-human-part-segmentation) 
    • faced a lot of dependency issues running it on an M1 Mac
  • Helped brainstorm ways of how we could attempt to scale the camera feed coordinates onto the LCD screen behind the mirror (mapping) and looked at past studies
  • Ordered cameras

Timeline:

  • Hardware construction is one of our biggest priorities at the moment as we are currently behind on that, but in regards to the error display and Pose accuracy testing, we are on track.

Next Steps:

  • By the end of the week, I hope to have created a plan for hardware integration, finish constructing the mirror, and help with mapping software as issues arise.

Team Status Report 3/18

Current Progress:

  • Tested the acrylic two way mirror with the monitors. Through the testing, we realized that the acrylic is a much better solution that the mirror film and so decided to stick to using this for the hardware.
  • We spent time doing research into the wooden frame construction and the different tools we have at CMU (like techspark and what is needed to do wood working there) to build the frame. We are now designing the wooden frame to build next week.
  • We have had extensive ideation sessions on how to map the camera coordinates to the mirror coordinates, which included a lot of trigonometry and physics for mirrors. We now have a much better idea of how we want to implement this and have broken them down into sub tasks.
  • We have written a function to calculate the amount by which an object appears smaller as they move away from the mirror, which we will use for understanding which parts of a body is visible on the mirror.

Next Steps:

  • Since we only have one work session scheduled during class time due to the ethics discussion, we are planning to meet 2 more times throughout the week to discuss our progress in our respective sections
  • We divided out the work into actionable sections that should be completed by the end of next week
    • Youssef: Working on how to render the error corrections (highlight/circle nodes with openCV or using tkinter)
    • Sruti: Working on the Camera to Mirror mapping by scaling different nodes and transforming the coordinates using a camera projection matrix
    • Ankita: Working on planning out the hardware assembly, ordering parts, and potentially creating a CAD model of our product

Challenges/Timeline

  • One major challenge is to complete the implementation of our mirror mapping methodology per our outlined approach and verify that it works as expected, tuning as needed
  • We also need to complete the pose correction rendering and ensure that users can suitably understand their errors and correct based on these suggestions
  • We are on track with our original timeline, but are beginning to have tasks with sequential dependencies, particularly on the hardware construction of the mirror itself. We need to have this completed in order to most accurately test the mirror mapping work and implementation as well as the final pose correction rendering

Ankita’s Status Report 3/11

Current Progress:

  • We finished writing all the code for the Pose Correction Algorithm and finished testing all but one pose
  • Our monitors and mirror sheet arrived this week so we created a rough prototype and experimented with different brightness levels of the monitor and displaying different colors
    • We determined the mirror sheet was not as sufficient to provide both the mirror display and let the LCD screen overlay show as the visibility of the mirror aspect was very poor at a distance of 3-4 ft back
    • As a proof-of-concept, however, the mirror performed well as we could observe both our reflection as well as the LCD display
    • We submitted an order for an acrylic mirror sheet which is slightly more expensive but has greater potential to display both images with greater clarity
  • We tested the poses on subjects with different heights (lower limit of ~5′ and upper limit of 6’+), to gauge whether the algorithm would still pinpoint the 33 landmarks and display the correct print statements from the Pose Correction algorithm. From our testing of various poses with the array of heights, we determine the algorithm was robust enough to accommodate all heights.

Timeline:

In regards to the timeline, we still have yet to finish our hardware mirror construction which we estimated would be complete before spring break, however we are relatively finished with the Pose Detection/Correction component and are ready to move on to the second half of the software which includes the Mirror UI.

Next Steps:

  • The hardware assembly is still incomplete as we need to attach the 2 monitors together, create the wooden frame, and attach the newly ordered acrylic mirror to the screen
  • We plan to start working on the error component of the Mirror UI and figuring out whether its possible to overlay a yellow highlighted figure onto a person’s reflection

Youssef Status Report 3/11

Completed Tasks

  • Worked with team in completion of pose correction component and testing pose estimation
  • Tested pose correction system with user testing, started to set up work to test the pose correction with labeled ground truth based on feedback from professor advisor meeting
  • Ordered parts for the hardware and tested different alternatives (i.e. acrylic vs film mirror sheet)

Timeline

  • Still largely on track with original schedule outlined in Gantt chart using slack week before spring break for finishing hardware setup
  • On track with software tasks

Next Tasks

  • Complete hardware construction of mirror and addition of camera for live user feed
  • More rigorous, objective testing of pose correction system via ground-truth comparison
  • Work on rendering of pose corrections

Tools to Learn

  • Need to revise and expand knowledge of tkinter and possibly other libraries to enable the rendering of pose corrections in a visually nice, dynamic, and insightful manner
  • May need to learn techniques for wood-working to assemble the mirror frame itself