Customer Requirements and Challenges
Our client needed an intelligent solution to edit and enhance the images captured in a theme park. The photographs must be delivered with the best possible quality for subsequent commercialization to the end customer. Therefore, it is necessary to make adjustments to lighting, sharpness in people, brightness and saturation. 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 our client's API.
- To process the images with each of the services requested in the request, some of them use an artificial intelligence model to detect darkness.
- Send the processed images back to the client API for presentation and sale
Our Solution
In our consulting firm, we developed a complete service called Photo Enhancer to address these challenges. The following are the main features and improvements implemented:
- Reading Messages from RabbitMQ:some text
- We implemented a Python service that subscribes to the RabbitMQ queue to read messages containing image IDs.
- Interaction with the Barrel API:some text
- The service consults the API to download the original images with their respective configuration variables to detect the services to be applied to each image.
- Darkness Detection with Artificial Intelligence:some text
- We developed and trained an artificial intelligence model specialized in the detection of darkness. This model, trained by our team, ensures high precision and efficiency in detecting dark images to define if the lighting improvement service is being executed.
- Execution of the different services:some text
- Using the variables received, the development is configured in such a way that it only executes the service for each image depending on its status, in the event that one is not active it will not be processed.
- Sending Processed Images:some text
- The images processed in the different services requested are sent back to the Barrel API for viewing and sale at the theme park.
- Error Management and Unit Testing:some text
- 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.