Вышла новая версия OpenCV 5.0.0


OpenCV logo
Вышел 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).

Ссылки

По теме


Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Arduino Bluetooth CraftDuino DIY Google IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд юмор

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение