Назад
Вийшла OpenCV 5: переписаний DNN-рушій і стрибок у підтримці ONNX
SiTech AI Team3 хв читання

Вийшла OpenCV 5: переписаний DNN-рушій і стрибок у підтримці ONNX

Команда OpenCV випустила версію 5.0 з новим рушієм глибинного навчання: покриття операторів ONNX зросло з приблизно 13% до понад 64%, а інференс на CPU випереджає ONNX Runtime на низці моделей.

OpenCV 5 вийшла. Команда OpenCV опублікувала реліз 4 червня 2026 року й називає його одним із найважливіших за всю історію бібліотеки. У OpenCV понад 86 000 зірок на GitHub і більше мільйона встановлень на день; на ній тримаються робототехніка, промисловий контроль, медична візуалізація, AR/VR і значна частина продакшн-систем комп'ютерного зору. Пакет pip має з'явитися 8 червня, а сам реліз приурочено до CVPR 2026 у Денвері.

Переписаний DNN-рушій

Головна зміна — новий рушій глибинного навчання. За даними команди, підтримка операторів ONNX зросла з приблизно 13% у лінійці 4.x до понад 64% в OpenCV 5. Старий рушій імпортував лише невелику частку набору операторів ONNX і не працював із динамічними формами; новий побудований навколо типізованого графа операцій з виведенням форм, згортанням констант і злиттям операторів. Тепер завантажуються моделі з підграфами If і Loop, символічними та динамічними формами, а також графами quantize/dequantize. Злиття Attention і MatMul перетворює конструкцію MatMul → Softmax → MatMul, що лежить в основі трансформерів, на одну об'єднану операцію уваги з реалізацією у стилі FlashAttention.

Три рушії за одним API

Оновлення рідко ламає наявні конвеєри: функції родини readNet приймають аргумент engine. Типовий ENGINE_AUTO спершу пробує новий рушій і повертається до класичного шляху 4.x, якщо модель не завантажилась. ENGINE_NEW примусово вмикає графовий рушій, який поки працює лише на CPU; ENGINE_CLASSIC зберігає старий рушій і залишається шляхом до CUDA та OpenVINO; ENGINE_ORT використовує вбудований ONNX Runtime. Бенчмарки на CPU (Intel Core i9-14900KS, Ubuntu 24.04): XFeat — 6,56 мс проти 8,61, DINOv2 small — 23,78 проти 29,58, YOLOv8n — 10,9 проти 12,15, OWLv2 — 1 090 проти 1 489, BiRefNet — 7 178 проти 9 503. Перевага становить від 4% до 36% залежно від моделі.

LLM, інпейнтинг і худіше ядро

OpenCV 5 уміє запускати великі мовні та візуально-мовні моделі прямо в модулі DNN — з вбудованим токенізатором і KV-кешем для авторегресивного декодування. Підтримано Qwen 2.5, Gemma 3, PaliGemma та родину GPT-2; тест Qwen 2.5 збігся з ONNX Runtime токен у токен. Видалення об'єктів моделлю LaMa виконується за один прохід forward. Новий модуль Features замінює Features2D навченими детекторами ALIKED і DISK та матчером LightGlue, тоді як SIFT і ORB залишаються. Ядро отримало типи FP16 і BF16, підтримку 0D та 1D Mat, broadcasting, сумісність із NumPy 2.x і ключові аргументи; застарілий C API позначено як deprecated, а C++17 став мінімальним стандартом. Оновлений шар апаратного прискорення прозоро підключає ядра Intel IPP, Arm KleidiCV, Qualcomm FastCV і RISC-V Vector — заявлено 3-4-кратне прискорення типових операцій на ARM.

SSiTech

SiTech — веброзробка з підтримкою AI

Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.