Zixuan’s Status Report for 3/6/2021

This week I successfully installed OpenPose on my laptop and tested it with some images and videos. It took a very long time for OpenPose to run and the frame-rate was only 0.1 fps, so we decided to switch from OpenPose to TensorFlow OpenPose. TensorFlow OpenPose is a library based on the original OpenPose, which lacks some features (such as hand detection) but runs much faster. It is also compatible with TX2, which is the board we decided to use.

After installing tf-openpose, since there are 4 different models included in the library, I ran a set of 50 images with each model to test the runtime and accuracy. It appears that the CMU model is obviously the most accurate one; since we want high accuracy for our project, we will use the CMU model though it takes much longer than the other models.

I also tested tf-openpose with images from different workouts videos to get a better sense of the performance. These results give me a general idea of which poses are harder to detect, and I will try to improve the accuracy by preprocessing the images (rotate, resize, etc.).

I think we are on schedule. Next week I will present our design presentation and work on pose alignment and comparison.

Zixuan’s Status Report for 2/27/2021

This week I read some papers and tutorials about OpenPose and looked into some projects using it. I also started to get familiar with OpenPose. It took me a very long time to install all the prerequisites of OpenPose and fix the errors. When I tried to configure and build it, I encountered some issues because my mac os is outdated and some brew packages no longer support high sierra.

I think the progress is on schedule and I will resolve these issues next week (hopefully tomorrow). I will also run OpenPose with sample images and compare some poses.

Maddie’s Status Report for 2/27/2021

This week I devoted my time to making initial plans for the user interface.  I sketched out a couple potential designs that we would want to use for our layout of both our Home Screen and our workout screen.  I also spent my time searching for some workout videos that we would want to use for our library.  I currently have a small selection of videos with a good angle and good lighting, as well as exercises that would work well with our game.  I plan to continue searching for more videos through the end of the weekend.

Next week, I plan to finish planning the interface layout and begin actually implementing the UI.  I also plan to start breaking the YouTube videos I have found so far down by exercise so that I can begin assembling the workout library.

Team Status Report for 2/27/2021

Currently, the most significant risk to the success of our project is that we are already behind schedule (based on our Gantt chart). We wanted to have our board by this coming Monday, but we haven’t ordered a board yet because we are potentially changing our first choice board from the Xavier NX to the Xavier AGX. This is because the AGX is available according to the inventory list, so it’s now within our budget. The only thing that is preventing us from finalizing our decision is that we haven’t been able to find as many resources for using OpenPose on the AGX as we have been able to find for using OpenPose on the NX.

We’re planning on finalizing which board we want to use by Sunday so we will still have time to get an NX approved by our TA and ordered by Tuesday. If we end up choosing to use an AGX, we won’t be very behind schedule because we could pick that board up on Monday.

Sarah’s Status Report for 2/27/2021

On Monday, I presented my group’s proposal. After presenting, I updated the “proposal presentation slides” page on our WordPress by replacing the plain URL with an into an image of our first slide with an embedded URL.

On Thursday, after all the proposal presentations, I looked at the instructions for purchasing stuff, and at the parts inventory list. I saw that there are 2 Xavier AGX boards available, so I started searching for tutorial videos/articles online about the AGX with OpenPose. However, it seems like there are more resources about OpenPose on an NX board. I will continue searching for more about OpenPose on the AGX, though, because it seems more powerful than the NX based on it’s specs.

Our progress is behind schedule because we haven’t ordered a board yet. We originally wanted to have it ordered and shipped by this coming Monday, but we haven’t decided whether we want to change our board to the AGX yet.

To catch us up, I want to choose a board by Sunday. This is just in case we choose the NX,  because then we can still get it approved by the TA and place the order so it can be ordered by Tuesday. If we choose the AGX, then we’ll be on schedule, because we can get it approved by the TA probably on Monday, and pick it up on the same day.

 

 

Maddie’s Status Report for 3/27/2021

This week I worked on hardware setup of the TX2.  I had some issues with installing the NVIDIA Jetpack 4.4.1 onto my VirtualBox ubuntu machine, but once I got that resolved, setup was able to proceed as planned.

I also met with Sarah to work on the workout algorithm, as well as beginning the UI by feeding the exercise gifs through OpenCV and outputting them on repeat to the screen.  This will help as we progress with image preprocessing in OpenCV as well as outputting the user video with detected key points to the user interface.

I’m meeting with Sarah again tomorrow to continue work on the workout algorithm and library so that we can start running parts of our code on the TX2.  I want to get OpenCV image processing running on the board so that we can test the speeds.

Maddie’s Status Report for 2/20/2021

This week, I spent most of my time creating the Gantt schedule for my team to follow this semester.  I focused on breaking down our project down into smaller tasks and subtasks that will help us to stay organized and keep from being overwhelmed by the scale of the project.  I blocked out a rough schedule for us to begin with, though we will continue to update it as the semester progresses.  I also contributed to the development of our slides for our project proposal.

Next week, I plan to begin working on the design for our project’s UI, as well as searching for videos from which we would want to construct our workout video library.

Zixuan’s Status Report for 2/20/2021

This week I researched on OpenPose and the hardware parts we were planning to use. I read some papers related to our project to have a better understanding of the technical challenges we might encounter as well as possible ways to solve them. I also worked on the proposal presentation slides with my teammates.

Our progress is on schedule. Next week I will work with my teammates to incorporate the feedback we got from the proposal presentation into our project and finalize our design plans. I will also familiarize myself with OpenPose and try to test it with some images.

Sarah’s Status Report for 2/20/2021

This week, I set up the team’s WordPress by drafting all of our required assignments/status reports and pages. I think this will make it easier for us to keep track of the due dates for these.

I also worked on the proposal presentation slides.

Next week, I hope to present our proposal presentation, and incorporate any feedback we get during it. Hopefully, this will allow us to finalize our plan and begin working on phase 1 of our schedule.

 

Team Status Report for 2/20/2021

The biggest risks to the success of our project are our hardware performance and overall latency (from hardware and software). We made backup plans to address both concerns, in case our initial plans don’t meet our performance goals.

Our current plan is to use the Xavier NX, though our backup plan for hardware is to use a Jetson Nano, which is cheaper than a Xavier NX or AGX Xavier. If that doesn’t work well, or our budget doesn’t allow, our next backup will be our laptops.

Our backup plan for latency (because we want to perform real-time processing of images of the user) is to end workouts with a “Score loading” screen, to provide some extra buffer time for our scoring/image processing algorithms to finish.

We divided our project into tasks (and subtasks) and divided them up among ourselves. We reflected this division of labor in our Gantt Chart.