
Вышел OpenCV 5.0.0.
Что нового:
- C++17 теперь является минимально необходимым стандартом C++.
- Удалена поддержка Python 2. OpenCV теперь требует Python 3.6 или более поздней версии.
- Большая чистка от накопившегося за годы технического долга:
- Удален C API. Все функции C (cvCreateMat(), cvFindContours() и т. д.) и структуры C (CvMat и подобные) были удалены. Некоторые макросы CV_, такие как CV_8U, все еще используются. Эра API OpenCV 1.x закончена.
- Удалена поддержка OpenVX.
- Модуль Classic ML перемещен в opencv_contrib.
- Модуль Features2D переименован в Features.
- Несколько устаревших детекторов и дескрипторов были перенесены в opencv_contrib; SIFT, ORB, FAST, GoodFeaturesToTrack и MSER остались в основном репозитории.
- Проведена очистка модуля Objdetect. Детекторы на основе алгоритмов Хаара и HOG были перенесены в opencv_contrib (xobjdetect). Современные детекторы на основе глубокого обучения работают быстрее и точнее.
- Модуль Calib3d разделен на четыре модуля:
geometry — классические алгоритмы для работы с геометрией в 2D, 3D и nD;
calib — калибровка камеры;
stereo — оценка карты глубины с помощью стереосоответствия;
ptcloud — высокоуровневые алгоритмы для работы с 3D (визуальная одометрия, TSDF (объемная интеграция) и т. д.). - Удалено около 50% примеров на C++ и устаревшие или избыточные примеры на Python.
- Радикально переработан модуль DNN. Новый движок обеспечивает лучшую поддержку динамических форм, подграфов и других современных функций ONNX, охватывая более 80% спецификации ONNX (существенное улучшение по сравнению с OpenCV 4.x, который охватывает менее 23%).
- Интеграция с ONNX Runtime. Теперь OpenCV можно собрать с подключенным ORT. OpenCV использует собственный парсер ONNX для построения графа ORT внутри, поэтому требуется только сам ORT, а не полный пакет ONNX, что позволяет сохранить небольшой размер бинарного файла. Чтобы включить ORT, передайте в CMake параметры -DWITH_ONNXRUNTIME=ON -DDOWNLOAD_ONNXRUNTIME=ON. Для работы на графических процессорах NVIDIA используйте -DWITH_ONNXRUNTIME=ON -DDOWNLOAD_ONNXRUNTIME_GPU=ON.
- Новый движок пока работает только на CPU. Поддержка GPU будет добавлена в последующих релизах (если требуется ускорение с помощью графического процессора, можно либо принудительно использовать классический движок, либо собрать OpenCV с использованием ORT и NVIDIA).
- Удалены парсеры Darknet и Caffe (подавляющее большинство моделей переведено на ONNX). TFLite по-прежнему поддерживается через классический движок, но планируется переход на новый движок.
- Добавлена поддержка VLM (моделей визуального и языкового восприятия). Новый движок включает в себя токенизаторы и все необходимые компоненты: слои внимания, блоки декодирования, постобработку, KV-кэш для сквозного запуска VLM.
Таким образом, выпуск новой версии обозначает важный вектор движения OpenCV к решению CV-задач, с использованием современных нейросетевых моделей (VLM).
Ссылки
По теме
