OCR reader for RTS Munity

RTS Munity is an e-sports betting and trading provider. There are many online tournaments held every day, and there are a lot of people watching them online and making their bets. RTS Munity analyzes the gameplay and gives the chances (probabilities) of winning a particular team in real time.

I created a real-time OCR reader of different values of teams and players on video streams of League of Legends game.

Challenges

The first challenge was that there are 57 different values, such as: gold, kills, turrets, minions, health, mana, etc., which can be located in different places for different video stream providers.

I created the algorithm which can automatically recognize layout of these values. It takes about 0.5…2 secs to recognize new layout.

The second challenge was to read all these values in real-time. On possible solution is to utilize server with GPU card. But this would have increased costs.

Instead, I carefully constructed a lightweight CRNN-based model architecture, with only ~ 3 million parameters, to reach an optimal balance between speed and accuracy, which runs fast enough on CPU.

View some other examples of how real-time recognition works