Ting’s Status Report for 3/11/23

This week we got the code for YOLO to sucessfully run through, and we were able to start training. This is a great development for us, as we had been working to decipher the file structure to get the code to run for a couple of weeks. It trained very slowly though, since it was running on CPU, with 1 epoch taking almost 30 minutes. We will use the GPU on the ECE machines to run the code. Vasudha and I met with Prof. Mukherjee on 3/2 to get FastX set up to be able to do that. If that does not work, I will be using my leftover GCP credits to train. We are on track in terms of the software, and the next step after break is to start mass training, getting in as many epochs as we can with whatever GPU limits we have.

We further improved on the mechanical design of our structure, discussing with the professor and TA about a wooden frame that would encase the bin. As we wrote the design document, we decided that we will have 2 designs, one of which is backup. If the wooden frame design is too hard to woodwork, we will have the lid be overhanging the rest of the structure, which serves as handles on the side. We spent most of the week working on the design document. We are slightly behind in the mechanical aspect. Hopefully our materials that we ordered will arrive by the time we’re back from break, and we’ll start construction when the team is back from break. New tools needed for us is using the GPU on ECE machines, and learning how to run our python jupyter notebook on it. 

Team status report for 3/11/23

Great news for us during the last week before spring break: the model could finally run through training! On Friday, Ting and Vasudha met with Tamal to set up the HH 1305 machines environment so we could run YOLO on GPU, which would make training a lot faster. Coming back from spring break, we will run through training with 150 epochs (or more) and start fine tuning with more datasets that we have collected.

We have also decided to switch from Jetson Nano to Jetson Xavier NX after studying their capabilities. We determined that Xavier’s computational power, measured in FPS (frames per second) for GPU , is more suitable for running a CV model as complicated as YOLO.

We have also finalized our mechanics design (mostly the material and structure of the lid and the swinging door) after discussion with the staff meeting. Besides that, most of our work is devoted to finishing the design report. We have pinned down details of the core components mentioned in the design presentation and we have done more research to justify our design decisions. Overall, it was an all-inclusive overview of our design and experimenting process over the first half of this semester.

Our biggest risk is once again the mechanical construction of the lid, once again due to our lack of knowledge in the area. To mitigate the risk, we have spent 3 hours a week researching and redesigning to improve our design, and this past week, after talking to the TA and Professor, we once again updated our design, this time constructing a wooden lid frame supported by four legs that the trash can can be easily removed from for emptying. Here is a picture of our latest design https://drive.google.com/file/d/1kVl_is8CKyrQoq8ftapcW93fXAPjJfYD/view?usp=drivesdk

As contingency plans, we have kept several backup design plans that can be adapted if our main bin design fails. Regarding construction itself, we found that the techspark workers can possibly help us out with cutting the materials we need, lowering the overall risk as well. With the success of our model being able to run through training, we are on track in terms of software, but still a little behind mechanically due to the materials not yet arriving, as well as our recent changes in design. 

Another risk is not being able to get the code running on the 1305 machines. We mitigate this by setting up GCP credits. 

Next week our goal is to train as many epochs as we can on the 1305 machines. We also plan to start constructing our structure. 

 

Q: As you’ve now established a set of subsystems necessary to implement your project, what new tools have your team determined will be necessary for you to learn to be able to accomplish these tasks?

  1. Right after the break, we will start setting up Jetson and deploy our detection & classification code to it. So working with Jetson and the CIS camera attached to it will be a major task.
  2. We will also migrate the ML model from Google Colab to run on the HH 1305 ECE machines. We will use FastX as our new tool. 
  3. Although not immediately, after integration with Jetson is on track, we will also start some mechanical work such as laser cutting to build the mechanics section of Dr. Green.

Aichen’s Status Report for Mar 11th

Good news before spring break! After writing scripts to process the labeling files as Ting and I have discussed, our model is finally able to run through the whole training process! Using Google Colab without GPU, training for a single epoch took more than half an hour (while the default number of epochs is 150). Therefore, we have worked on using the HH 1305 machines as well as GCP credits to accelerate the training process. Once running on GPU, training will be done soon and we will use backup datasets to practice fine tuning.

As we were starting to set up Jetson, we realized that the Jetson Xavier NX (paired with a microSD memory card) is a better choice in terms of computing power than the Jetson Nano that we’ve chosen before. After a brief research, we decided to switch. After spring break, we will set up Jetson & camera and deploy image capture and (change) detection code to Jetson.

Besides that, this week I have used the most of our time on the design doc. Alas, simply moving stuff from a google doc to the latex version took so long. On Friday (Mar 3rd) as I am writing now, I have just finished 2 hours of proofreading and reformatting and we are finally ready to submit.

In the coming weeks, setting up Jetson and integrating what we have now will be a major task. As none of us has worked with Jetson extensively before, there would be challenges. Either way, I am excited to transform work from computers to reality.

 

Link to code (update mostly on scripts organizing training data):

https://github.com/AichenYao/capstone-scripts