About the Client
Our client was an international IT company Yellow Media with which we cooperated under the white-label model. The company provides services to clients from various industries and markets, and develops unique, effective, and innovative software products for leading enterprises. Accordingly, they provided our Data Scientists as outsourced specialists for their client.
Business Context
Data scientists of Amazinum performed a white-label task. YelowMedia’s client planned to create a certain social network for video content. Accordingly, end users have to upload videos that do not violate social network policies. Such requirements usually include checking for violence, explicit nudity, sexual situations, etc.
Tasks for Data Scientists
Among the main tasks that the client set before our specialists were:
- The process of checking videos for prohibited content such as violence, explicit nudity, sexual situations, etc.
- Setting technical conditions for videos such as:
- Uploading short videos up to a minute
- Parallel processing of a large number of videos
Amazinum Data Scientists in Action
Before starting the task, our specialists researched the capabilities of the model to determine whether they could train a custom model or use one of the existing services. Training required data – a labeled video dataset. However, since the client did not provide the necessary data, Data Scientists analyzed cloud services that would provide an opportunity to use the existing proprietary model. In conclusion, specialists chose AWS Rekognition. After gaining access, they made an API that would use this service and provide conclusions on moderation.
The solution provided by our Data Scientists consisted of two parts.
To handle the flow of simultaneous requests from the client, our developers have developed an API that works asynchronously. It runs separate preprocessing for video, as AWS recognition has clear standards for video characteristics, to run video moderation jobs. Such characteristics are:
- Video codec H.264
- Extension of MP4
- Additional custom characteristic – maximum resolution of the video (we resize the video for faster analysis since the experiments show that the resolution affects the running time of the job)
After processing, the video is sent to S3 (Amazon bucket storage) and added to the Redis queue waiting for the analysis.
Amazinum Data Scientists also developed a background script that checks the queue every second. Thus, the whole process went like this:
The script looks at the status of jobs for videos processed through Rekognition and checks their completion status. If the analysis is finished, it saves the results in the Redis, frees the queue, and runs the Rekognition Content Moderation job for a video from the waiting queue. In this way, all videos that were added via the API are processed as soon as possible by incoming order.
Challenges for Amazinum Data Scientists
During the execution of the task, our specialists encountered certain difficulties:
Latency – The process of publishing videos goes a long way and processing speed is a crucial metric for a client. During the processing workflow, we get links to user videos that are stored on local storage, perform preprocessing, upload them to cloud storage, run the analysis in Rekognition, process the results, and save them to Redis. This way we face the latency problem because we get many intermediate steps which reduce the throughput.
As a result, the architecture was designed modularly – split into two major parts. As well as parallelizing everything as much as possible. Separate processes for separate modular tasks.
Service Limitations and Scaling – AWS Rekognition has a quota for the number of videos that can be processed simultaneously. The service allows you to launch 20 jobs, but we aim to handle a constant stream of customer requests.
Accordingly, we designed an architecture with queue management that will work around such limitations. We aimed to develop a solution that can scale easily by demand due to the nature of the business domain which is also one of the advantages of using assembly with cloud services. Also, the service allows the client to contact AWS Support to increase the quota.
Monitoring Efficiency – AWS Rekognition starts the analysis in the form of Jobs, accordingly, it does not give information about when the analysis ended.
The monitoring problem was taken into account during development. The solution was designed to address this correspondingly, flexibly, and efficiently.
Review
AI Development for IT Company
Their easy solutions to complex problems, pleasant communication, and the team members’ responsibility are impressive.
Amazinum impresses the client with their ability to provide easy solutions to complex issues. Their responsible team manages the project efficiently, ensuring everything is at a high level. They also facilitate pleasant communication through online meetings.
5.0
★ ★ ★ ★ ★
Their easy solutions to complex problems, pleasant communication, and the team members’ responsibility are impressive.