← На главную

OpenCV 5 выйдет в июне с новым DNN-движком и 80% ONNX

06.06.2026 06:02 · hackernews

В июне 2026 года выйдет OpenCV 5 — крупнейшее обновление библиотеки за последние годы. Главное — полностью переписанный DNN-движок. Если раньше OpenCV едва переваривал 22% ONNX-операторов, то теперь поддерживает более 80%. Старый движок работал как плоский список слоёв и пасовал перед динамическими формами. Новый — графовый: он анализирует модель, делает constant folding, сливает операции и использует общий пул памяти. Всё это работает без дополнительных зависимостей.

Три движка — один API. Можно принудительно выбрать ENGINE_CLASSIC (старый, работает с CUDA и OpenVINO), ENGINE_NEW (новый, пока только CPU) или ENGINE_AUTO — он пробует новый, а если модель не грузится, откатывается на старый. Ещё есть ENGINE_ORT — встроенная обёртка ONNX Runtime, если собрать библиотеку с флагом WITH_ONNXRUNTIME. По умолчанию ENGINE_AUTO, так что большинству кода менять ничего не придётся.

По скорости: на CPU новый движок обходит ONNX Runtime. YOLOv8n — на 11,5% быстрее, DINOv2 small — на 24%, OWLv2 — на 37%, BiRefNet — на 32%. В бенчмарках использовали Intel Core i9-14900KS. OpenCV 5 научился запускать прямо внутри себя LLM и VLM: Qwen 2.5, Gemma 3, PaliGemma, GPT-2/GPT-4. Для этого в библиотеку встроили собственный токенизатор и KV-кэш. Для продакшен-чат-ботов это не замена, но для задач вроде OCR, captioning или open-vocabulary запросов — удобно, не нужен отдельный фреймворк.

В ядре появились нативные типы FP16 и BF16, 0D и 1D тензоры, broadcasting. C API официально deprecated, минимум теперь C++17. NumPy 2.x поддерживается. Переработан Hardware Acceleration Layer (HAL): вендоры подключают оптимизированные ядра через единый контракт. Уже работают Intel IPP, Arm KleidiCV, Qualcomm FastCV, RISC-V Vector. На ARM — ускорение resize и warpAffine в 3–4 раза.

3D-модуль разбили на три: 3d, calib и stereo. Добавили multi-camera calibration, загрузку point cloud и mesh, RGB-D fusion через TSDF и USAC для robust estimation. Документацию перевели на Sphinx + Doxygen — появилась навигация, Python-сигнатуры рядом с C++ и живые туториалы.

OpenCV 5 модернизируется жёстко, но не ломает совместимость. Старый движок остался, классические дескрипторы работают. Если раньше не удавалось загрузить современную модель из-за ONNX — стоит попробовать снова.

Читать оригинал →