Оптимизация самообучающегося игрового бота: поиск альтернативы Tesseract

    В рамках учебного проекта для развития навыков программирования я разрабатываю на Python самообучающегося бота с компьютерным зрением. Его задача - автоматически проходить простой двухмерный шутер. Для реализации нейросети используется модель Sequential из библиотеки TensorFlow/Keras. Визуальный модуль работает, однако процесс обучения проходит крайне медленно.

    Основная логика обучения построена на системе вознаграждений. Бот получает очки за уничтожение врагов и сбор бонусов, которые отображаются на экране в виде числа. Для считывания этого значения я применял библиотеку Tesseract OCR, преобразуя изображение счёта в числовые данные для дальнейшего расчёта награды.

    Ключевая проблема

    Использование Tesseract привело к серьёзным утечкам памяти, что негативно сказывается на стабильности и продолжительности работы программы.

    Цель и запрос

    Я рассматриваю возможность полностью отказаться от Tesseract и перейти к прямому отслеживанию игровых событий (уничтожение врагов, сбор предметов) внутри логики программы. Однако я не уверен в оптимальном способе реализации этого подхода.

    • Основной вопрос: Какие существуют эффективные методы для прямой регистрации игровых событий, минуя распознавание текста с экрана?
    • Дополнительно: Я осознаю, что описание проблемы может быть недостаточно подробным без фрагментов кода. Готов дополнить вопрос конкретными участками программы, если вы подскажете, какие именно части стоит привести для более точного анализа ситуации.