Автоматизируйте UI без API: RPA-боты с Computer Vision под ключ

Представьте: legacy-система на COBOL, интерфейс без API, а нужно автоматизировать ввод данных. Классический RPA (UiPath, Automation Anywhere) с XPath сломается при первом же смещении кнопки. Альтернатива — RPA-бот с [Computer Vision](https://en.wikipedia.org/wiki/Computer_vision), который «видит» эк

Направления AI-разработки

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1460
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1314
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1012
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1275
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    727
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    1018

Представьте: legacy-система на COBOL, интерфейс без API, а нужно автоматизировать ввод данных. Классический RPA (UiPath, Automation Anywhere) с XPath сломается при первом же смещении кнопки. Альтернатива — RPA-бот с Computer Vision, который «видит» экран как изображение и находит элементы по визуальным признакам. Мы разрабатываем таких ботов под ключ с опорой на YOLOv8, PaddleOCR и методы few-shot обучения, реализуя интеллектуальную автоматизацию. За 5+ лет реализовали 20+ проектов внедрения CV-RPA, включая сложные случаи с Citrix и динамическими UI. Гарантируем стабильность распознавания: точность детекции 95%+ при правильном датасете.

Для обнаружения элементов используем YOLOv8, дообученный на датасете Rico (66k UI) + кастомная разметка под интерфейс заказчика. Аугментация (яркость, контраст, вращение) и квантизация INT8 снижают latency до 50 мс. Текст извлекаем с помощью PaddleOCR (кириллица) или EasyOCR с дообучением на доменном словаре. В результате бот обрабатывает до 10 операций в минуту.

Согласно документации Ultralytics, YOLOv8 достигает mAP 50-95 на UI-датасетах, что подтверждает применимость для автоматизации интерфейсов.

Когда нужен CV-RPA?

Компьютерное зрение для RPA оправдано в конкретных сценариях:

  • Работа с legacy-системами без API и с закрытой оконной иерархией (COBOL/AS400 терминалы, Citrix Virtual Desktop).
  • Веб-приложения с динамически генерируемыми классами (React/Angular с CSS Modules), где XPath нестабилен при каждом деплое.
  • Обработка PDF-документов и scanned images внутри RPA-потока — без OCR интеграция неполна.
  • Автоматизация десктопных приложений третьих сторон без SDK — SAP GUI или 1С в терминальном режиме.

Архитектура CV-RPA бота

import cv2 import numpy as np from ultralytics import YOLO class CVRPAAgent: def __init__(self, ui_detector_model: str): self.detector = YOLO(ui_detector_model) self.screenshot_engine = ScreenshotEngine() def find_element(self, element_type: str, text_hint: str = None) -> tuple[int, int]: screenshot = self.screenshot_engine.capture() detections = self.detector.predict(screenshot, conf=0.7) candidates = [d for d in detections if d.class_name == element_type] if text_hint: candidates = self._filter_by_ocr_text(candidates, screenshot, text_hint) if not candidates: raise ElementNotFoundError(f"Cannot find {element_type}") best = max(candidates, key=lambda d: d.confidence) return best.center_x, best.center_y def click(self, element_type: str, text_hint: str = None): x, y = self.find_element(element_type, text_hint) pyautogui.click(x, y) 

Для обнаружения UI-элементов используем YOLOv8 (GitHub), дообученный на датасете UI компонентов (кнопки, поля ввода, чекбоксы, дропдауны). Базовая модель — Rico Dataset (66k Android UI) + кастомная разметка под конкретный интерфейс заказчика. В процессе обучения применяем аугментацию (изменение яркости, контраста, вращение) для устойчивости к различным условиям скриншотов.

OCR-интеграция для чтения данных

Для извлечения текстовых данных из экрана: PaddleOCR (лучший баланс скорости и точности для кириллицы) или EasyOCR. Интеграция в поток: найти элемент → извлечь из ROI (Region of Interest) текст → передать в логику обработки.

import paddleocr ocr = paddleocr.PaddleOCR(use_angle_cls=True, lang='ru') def extract_text_from_region(image, bbox): x1, y1, x2, y2 = bbox region = image[y1:y2, x1:x2] result = ocr.ocr(region, cls=True) return ' '.join([line[1][0] for line in result[0]]) 

Как CV-RPA справляется с динамическим UI?

Динамические элементы (всплывающие окна, меняющиеся позиции кнопок) — типичная проблема. Мы решаем её через few-shot learning: собираем 5-10 вариантов скриншотов с разным состоянием элемента и дообучаем модель на них. Это даёт устойчивость к изменениям без полного переобучения. Дополнительно используем grid search по порогу уверенности — подбираем conf threshold для минимизации false positives.

Почему CV-RPA надёжнее классического?

CV-RPA в 3 раза устойчивее к изменениям UI по сравнению с классическим RPA на XPath. Вот сравнение ключевых метрик:

Метрика Классический RPA CV-RPA
Устойчивость к смене позиции элемента Низкая Высокая
Устойчивость к смене UI framework Средняя Высокая
Скорость выполнения Быстро На 15–25% медленнее
Точность нахождения элемента 99% (при корректном XPath) 91–96%

Как внедрить CV-RPA: пошаговый процесс

  1. Анализ и сбор данных — скриншоты целевого UI, разметка bounding boxes для каждого типа элементов.
  2. Обучение детектора — дообучение YOLOv8 на собранном датасете, валидация на тестовой выборке.
  3. Интеграция с RPA-платформой — встраивание CV-агента в UiPath / Automation Anywhere через Python Activity.
  4. Тестирование на реальных сценариях — прогон 100+ операций, замер точности и времени.
  5. Деплой и мониторинг — установка на RPA-ферму, логирование ошибок, циклическое дообучение.

Что входит в работу

  • Дообученная модель YOLOv8 под ваш UI
  • Интеграция с OCR (PaddleOCR под кириллицу)
  • Документация по архитектуре и дообучению
  • Поддержка в течение 3 месяцев после сдачи
  • Исходный код агента и конфиги деплоя

Сроки и стоимость

Сложность автоматизации Срок
1–3 процесса, готовые интерфейсы 2–4 недели
5–10 процессов, Citrix/RDP 5–8 недель
Комплексная автоматизация с обучением модели 8–14 недель

Стоимость рассчитывается индивидуально. Свяжитесь с нами для бесплатной консультации — обсудим вашу задачу и подберём оптимальное решение. Закажите пилотный проект: протестируем CV-RPA на одном процессе, оценим точность и время выполнения.