Розробка інтелектуальних RPA-ботів з Computer Vision для роботи з UI

Проектуємо та впроваджуємо системи штучного інтелекту: від прототипу до production-ready рішення. Наша команда поєднує експертизу в машинному навчанні, дата-інжинірингу та MLOps, щоб AI працював не в лабораторії, а в реальному бізнесі.
Показано 1 з 1Усі 1566 послуг
Розробка інтелектуальних RPA-ботів з Computer Vision для роботи з UI
Середній
від 1 тижня до 3 місяців
Часті запитання

Напрямки AI-розробки

Етапи розробки AI-рішення

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1285
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1198
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    902
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1120
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    588
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    855

Розробка інтелектуальних RPA-ботів з Computer Vision для автоматизації UI

Класичні RPA-боти (UiPath, Automation Anywhere, Blue Prism) взаємодіють з UI через селектори та координати. Вони крихкі: якщо кнопка змістилася на 5 пікселів, бот зломається. Computer Vision усуває цю залежність: бот «бачить» екран як зображення й знаходить потрібний елемент за візуальними ознаками, незалежно від його позиції та внутрішньої структури DOM або ієрархії вікон.

Коли підхід CV необхідний

Розширення CV для RPA виправдане в конкретних сценаріях:

  • Робота з застарілими системами без доступу до API та закритою ієрархією вікон (старі терміналі COBOL/AS400, Citrix Virtual Desktop)
  • Веб-додатки з динамічно генерованими класами (React/Angular з CSS Modules), де XPath нестійкий
  • Робота з PDF-документами та сканованими зображеннями в потоці RPA
  • Автоматизація стороннього настільного програмного забезпечення без SDK

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

import cv2
import numpy as np
from ultralytics import YOLO

class CVRPAAgent:
    def __init__(self, ui_detector_model: str):
        # YOLOv8 дофінальтрований на UI елементах
        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, дофінальтрований на наборі даних компонентів 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]])

Робота в середовищах Citrix та RDP

У середовищі Citrix бот не має доступу до ієрархії вікон віддаленого робочого столу. Рішення: захоплення снімків екрана через Citrix Virtual Channel або простий захист екрана, аналіз через модель CV, клацання через віртуальне введення мишею/клавіатурою. Додаткова складність: стиснення відеопотоку Citrix зменшує якість зображення — навчаємо модель на снімках екрана низької якості.

Метрики надійності

Метрика Класичний RPA CV-RPA
Стійкість до зміни позиції елемента Низька Висока
Стійкість до зміни UI framework Середня Висока
Швидкість виконання Швидко На 15–25% повільніше
Точність пошуку елемента 99% (з коректним XPath) 91–96%
Складність автоматизації Графік
1–3 процеси, готові інтерфейси 2–4 тижні
5–10 процесів, Citrix/RDP 5–8 тижнів
Комплексна автоматизація з навчанням моделі 8–14 тижнів