Our client needed an advanced solution for their photo booth in a theme park, where the photos captured of a specific attraction must be processed for the correct extraction of each row of the little train (boat), this to provide end users with excellent quality images of their visit to the park and specifically the use of extraction. The initial photos were sent through a RabbitMQ messaging system. The main challenge was to develop a service that could:
- Read messages from RabbitMQ that contain image IDs.
- Download the original images from the Barrel API.
- Process the images to cut each row of the attraction using an artificial intelligence model.
- Generate final images of each crop + the original image in a smaller size.
- Send the processed images back to the Barrel API for presentation and sale
Unow Solutions developed the system”Photocomposition” to address this challenge. The following are the main features and improvements implemented:
- Reading Messages from RabbitMQ:
- We implemented a Python service that subscribes to the RabbitMQ queue to read messages containing image IDs.
- Interaction with the Barrel API:
- The service consults the API to download the original images.
- Detection of the start and end of each train (boat) with Artificial Intelligence:
- We developed and trained an artificial intelligence model specialized in detecting the initial and final position of each boat. This model, trained by our team, ensures high accuracy and efficiency in image detection.
- Artificial intelligence was trained using a diverse set of image data to ensure that it can handle a wide variety of scenarios and lighting conditions.
- Trim each row:
- Once the boat has been detected, the service proceeds to make the cuts of each of the rows of the train, this evaluated if at least one person is actually detected in the row.
- Create an image of each of the rows + image of the boat with all the rows:
- Once the cutouts have been made, the service integrates each of the cropped photos with the image of the complete boat with all the rows for subsequent submission to the API.
- Sending Processed Images:
- The processed images are sent back to the Barrel API for viewing and sale at the theme park.
- Error Management and Unit Testing:
- We implement a robust error management system to handle any failure during the image download, processing or upload process.
- Extensive unit tests were performed to ensure the reliability of the service.
Using agile methodologies and a rigorous QA process, we were able to meet all of Barrel's requirements. The customer expressed satisfaction with the workflow, the communication and the results obtained. The main advantages are:
- Efficient and Scalable Processing: The solution is capable of handling large volumes of images quickly and accurately.
- Improved End User Experience: The processed images allow each user to take a memory of a photo with their loved ones, thus strengthening family ties and making their visit to the park an unforgettable trip.
Resource Optimization: Automating the process reduces the need for manual intervention, allowing Barrel staff to focus on other critical areas of the business.