This paper details the design and implementation of a garbage detection system utilizing YOLOv5, a cutting-edge, real-time object detection neural network. The system employs the pre-trained YOLOv5 Nano model, which has been adapted to a dataset specifically tailored for garbage detection. A significant challenge encountered during the study was the issue of model convergence, attributed to data inconsistencies in determining what constitutes garbage. To address this, a series of custom datasets were utilized in a trial-and-error approach, enabling the model to attain stability and achieve reliable performance metrics. The study further incorporates an MLOps pipeline, streamlining the processes of data collection, processing, model training, and testing. This pipeline optimizes the garbage detection model for deployment on edge devices, enabling cameras to capture video stream metadata for more efficient trash collection. By integrating AI-driven object detection with video metadata, the system promotes environmental sustainability through improved waste management practices.
This study examines how the adoption of DevOps practices and microservices architecture shifts the responsibility for maintenance from operations teams to developers, who are now tasked with managing both their code and its dependencies. Although containerization technologies facilitate this transition, a significant limitation persists in the continuous delivery pipeline, which typically supports developers only until deployment. To overcome this challenge, Non-functional Production Regression Testing (NPRT) is introduced as an extension of the pipeline into the production environment. NPRT automates the deployment of a new version (canary) alongside a stable version, monitoring and comparing their performance and executing an automatic rollback in the event of a detected regression. We implemented NPRT within Kubernetes by developing Deployer, a tool that integrates continuous integration systems with monitoring frameworks and Kubernetes clusters. The effectiveness of NPRT was evaluated through real-world applications, including an Apache middleware and Rails application, ensuring continuous, automated testing and improved production reliability.