This week Serena and I worked out more details of the software system, since we decided to add obstacles and obstacle avoidance to our use case requirements. We plan to add an obstacle class to the detection model and implement OpenCV object tracking so that our LiDAR can distinguish which close-range items are obstacles to avoid and which close-range items are bottles to pick up. The object tracking would allow for faster updates as the robot is moving without being limited by the speed that our detection model makes inferences.

I did transfer learning with the pre-trained Yolov5s6 model and froze all but the last output layer. I only had 1 class–the water bottle class. The performance seems pretty good according to the precision-recall curve. I was looking at the confusion matrix to determine the accuracy, but the results I got didn’t make sense to me. Before testing various methods to improve the model–different models, freezing less layers, tuning hyperparameters–I need to add another class for detection as we now need the model to recognize obstacles as well. This requires modifying the data parser to label all the plastic bottles as 0 and all other objects in the images as 1. I believe the dataset I am using should be sufficient enough to allow the robot to detect both plastic bottles and obstacles, though it may have a harder time with obstacles since they are such a generalized category. 

I believe I am a little behind schedule due to the introduction of obstacles and will work to introduce them to the dataset and start tuning the model for good accuracy.


0 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *