Домой Статьи и аналитика Технологии OpenCV 5.0.0

OpenCV 5.0.0

Крупный релиз популярной библиотеки компьютерного зрения приносит новый DNN-движок, поддержку ONNX и масштабную чистку старого кода.

Обновленная библиотека OpenCV 5.0.0
Запуск библиотеки OpenCV 5.0.0 Источник: linux.org.ru

Состоялся релиз OpenCV 5.0.0 — масштабное обновление известной открытой библиотеки компьютерного зрения и обработки изображений. Новая версия вышла 6 июня 2026 года и уже получила статус актуальной в официальном репозитории проекта на GitHub. Проект по-прежнему распространяется под свободной лицензией Apache-2.0.

Главная цель этого релиза — эволюция OpenCV из классической библиотеки для работы с картинками в современную универсальную платформу для задач компьютерного зрения и искусственного интеллекта. Разработчики провели масштабную чистку старого программного интерфейса, полностью пересобрали модуль нейросетевого инференса, улучшили работу с форматом ONNX, заложили основу для запуска мультимодальных языковых моделей, а также серьезно обновили стек для трехмерной графики и калибровки камер. Ветка OpenCV 5 признана стабильной, и вся будущая новая функциональность теперь будет развиваться именно в ней.

Основные изменения

  • Совершенно новый движок DNN-инференса.
    В модуле dnn появился альтернативный движок, который работает параллельно со старым. Он научился эффективнее обрабатывать динамические формы тензоров, сложные подграфы и актуальные функции ONNX. Заявлено покрытие свыше 80% спецификации ONNX, тогда как в ветке OpenCV 4.x этот показатель не превышал 23%. Это ключевое нововведение релиза, превращающее библиотеку в полноценный встроенный инструмент для запуска современных нейросетей.

  • Управление движками через функцию загрузки модели.
    В привычных функциях вроде cv::dnn::readNet() добавлен специальный параметр ENGINE_AUTO. По умолчанию система сперва тестирует новый движок, а в случае сбоя возвращается к проверенному классическому варианту. Поведение можно настроить вручную через переменную окружения OPENCV_FORCE_DNN_ENGINE, выбрав старый движок, новый, автоматический режим или задействовав ONNX Runtime. Это позволяет безболезненно внедрять новые модели, не переписывая старый код целиком.

  • Прямая интеграция с ONNX Runtime.
    Библиотеку теперь можно компилировать со встроенной поддержкой ONNX Runtime. Собственный парсер OpenCV формирует граф для ORT самостоятельно, избавляя от необходимости ставить громоздкий полный пакет ONNX. Для сборки используются флаги CMake -DWITH_ONNXRUNTIME=ON и -DDOWNLOAD_ONNXRUNTIME=ON, а для видеокарт NVIDIA предусмотрен параметр -DDOWNLOAD_ONNXRUNTIME_GPU=ON. Функция актуальна для тех, кому требуется аппаратное ускорение на GPU уже сейчас, поскольку собственный DNN-движок новой версии пока функционирует исключительно на центральном процессоре.

  • Поддержка vision-language models.
    Обновленный DNN-модуль получил встроенные токенизаторы, механизмы внимания, блоки декодирования, средства постобработки и KV-кеш. Эти компоненты необходимы для запуска VLM-моделей прямо «из коробки», что позволяет библиотеке уверенно работать на стыке компьютерного зрения и текстового анализа.

  • Ограничения графического ускорения для нового DNN.
    Нативная поддержка GPU в свежем движке пока отсутствует — разработчики обещают добавить ее в следующих обновлениях. Для работы с графическими чипами рекомендуется применять классический движок или собирать проект с ONNX Runtime. Для тяжелого десктопного или серверного CUDA-инференса сама по себе библиотека пока не заменяет специализированные программные среды.

  • Отказ от устаревших парсеров Darknet и Caffe.
    Команда проекта удалила старые парсеры Darknet и Caffe за ненадобностью, так как индустрия практически полностью перешла на формат ONNX. Поддержка TFLite сохранена через старый движок, а ее перенос на новую архитектуру запланирован на будущее. Теперь основным стандартом обмена моделей официально назначен ONNX.

  • Глобальная чистка устаревшего API.
    Из проекта окончательно удален C API версии 1.x: классические функции вроде cvCreateMat() и старые типы данных вроде CvMat больше не поддерживаются. Кроме того, полностью убрана поддержка OpenVX, а модуль G-API и традиционный ML-модуль перенесены в репозиторий opencv_contrib. Этот шаг давно назрел для избавления от накопившегося за десятилетия технического долга.

  • Модернизация модуля Features2D.
    Модуль, переименованный в Features, адаптирован под современные векторные представления, получаемые из нейросетей. В ядре библиотеки остались только проверенные алгоритмы вроде SIFT, ORB, FAST, GoodFeaturesToTrack и MSER, тогда как редкие и устаревшие детекторы отправились в opencv_contrib. Добавлены современные детекторы ALIKED, DISK и сопоставитель LightGlue, что отражает тренд на замену классических математических методов нейросетевыми.

  • Расширение базовых типов данных в Core.
    В ядро добавлены типы CV_16BF / cv::bfloat, CV_32U, CV_64U, CV_64S и CV_Bool. Разработчики улучшили обращение с многомерными массивами, одномерными структурами и скалярами. Библиотека теперь всегда имеет доступ к LAPACK, собирая собственное минимальное встраиваемое подмножество при отсутствии системной библиотеки. Это важно для точных вычислений и работы с современными форматами вроде bfloat16.

  • Оптимизация процедур обработки изображений.
    В модуле imgproc коренным образом переработаны функции warpAffine, warpPerspective и remap. Прирост производительности составляет от 10% до более чем 300% в зависимости от целевой платформы, разрешения снимков, форматов данных и используемых флагов. Такие улучшения ускоряют рутинные задачи вроде потоковой обработки видео, стабилизации кадров и подготовки датасетов.

  • Современный механизм вывода текста.
    Устаревшая система рендеринга текста уступила место движку на базе библиотеки STB и шрифту Rubik с поддержкой вариативных начертаний. Появилась возможность загружать сторонние шрифты и корректно использовать Unicode. Тем не менее, сложные письменности вроде арабской или деванагари пока требуют подключения Harfbuzz, а цветные эмодзи все еще не поддерживаются. Нововведение облегчает создание отладочных визуализаций без подключения сторонних зависимостей.

  • Переработка инструментов 3D и калибровки.
    Пакет calib3d разделен на независимые компоненты geometry, calib, stereo и ptcloud. Стандартным бэкендом для устойчивого расчета матриц и гомографии стал алгоритм USAC. Появились средства многокамерной калибровки, начальные инструменты для работы с сетками и облаками точек (включая TSDF и ICP), а также импорт и экспорт файлов .ply и .obj. Это критически важно для робототехнических систем, технологий SLAM и приложений виртуальной реальности.

  • Обновленная документация и примеры кода.
    Устаревшие примеры были удалены, а оставшиеся материалы актуализированы. Для демонстрации возможностей DNN теперь используется единый набор данных, загружаемый скриптом download_models.py, и добавлены экспериментальные сценарии для VLM и LDM. Документация переведена на современный движок с быстрым поиском, адаптивным дизайном и удобной навигацией, что упростит разработчикам освоение свежей версии.

Выпуск OpenCV 5.0 знаменует собой важный этап модернизации проекта: библиотека избавилась от громоздкого наследия прошлого и сделала уверенный шаг в сторону экосистемы ONNX, нейросетевого инференса, трехмерного анализа и гетерогенных вычислений. Переход на новую версию потребует от разработчиков определенной правки кода из-за удаления старых интерфейсов, однако открывает доступ к передовым технологиям компьютерного зрения.

>>> Источник

© Linux.org.ru

Источник: https://www.linux.org.ru