Выпуск библиотеки компьютерного зрения OpenCV 4.0
20 ноября 2018 года
Представлен (Архивная копия от 9 апреля 2019 на Wayback Machine) релиз свободной библиотеки OpenCV 4.0 (Open Source Computer Vision Library), предоставляющей средства для обработки и анализа содержимого изображений. OpenCV предоставляет более 2500 алгоритмов, как классических, так и отражающих последние достижения в области компьютерного зрения и систем машинного обучения. Код библиотеки написан на языке С++ и распространяется под лицензией BSD. Биндинги подготовлены для различных языков программирования, включая Python, MATLAB и Java.
Библиотека может применяться для распознавания объектов на фотографиях и видео (например, распознавание лиц и фигур людей, текста и т.п.), отслеживания движения объектов и камеры, классификации действий на видео, преобразования изображений, извлечения 3D-моделей, формирования 3D-пространства из изображения от стереокамер, создания высококачественных изображений через объединение изображений более низкого качества, поиска на изображении объектов, похожих на представленный набор элементов, применения методов машинного обучения, расстановки маркеров, выявления общих элементов на разных изображениях, автоматического устранения дефектов, таких как эффект красных глаз.
- Осуществлён переход на C++11 в качестве основного языка для разработки библиотеки. Соответственно, для сборки теперь требуется наличие компилятора, поддерживающего стандарт C++11. Повышены требования к сборочному инструментарию, для сборки теперь необходимо наличие CMake 3.5.1 или более нового выпуска;
- Проведена чистка C API, удалены многие устаревшие вызовы OpenCV 1.x ;
- В модуле core с языка Си на Си++ полностью переписан код для хранения и чтения структурированных данных в форматах XML, YAML и JSON. Новая реализация потребляет в 3-6 раз меньше памяти;
- Представлен новый модуль G-API (opencv_gapi), выполняющий функции движка для эффективной обработки изображений с использованием алгоритмов на основе графов;
- В модуль DNN (Deep Neural Network) с реализацией алгоритмов машинного обучения на основе нейронных сетей добавлен экспериментальный бэкенд для использования графического API Vulkan на платформах без поддержки OpenCL. Добавлена поддержка формата ONNX (Open Neural Network Exchange) для представления моделей машинного обучения. Добавлена поддержка модели Mask-RCNN
для классификации и распознавание изображений. Проведена оптимизация производительности модуля DNN. Улучшено использование OpenCL-ускорения на GPU AMD и NVIDIA;
- Реализован алгоритм Kinect Fusion для построения 3D-моделей реальных объектов на основе данных от видеокамеры с датчиком глубины. Реализация оптимизирована для CPU и GPU (OpenCL). В состав также добавлен модуль opencv_contrib/rgbd с поддержкой RGB-D (Red-Green-Blue-Depth) камер, таких как используются в приставке Kinect;
- В модуль objdetect добавлены детектор и декодировщик QR-кодов;
- Несколько сотен базовых ядер OpenCV переписаны с использованием универсальных функций, которые сопоставлены с аналогичными функциями расширений SSE2, SSE4, AVX2, NEON и VSX, выбираемых в зависимости от целевой платформы и флагов компиляции. Изменение положительно сказалось на производительности, например, при сборке
OpenCV с флагом CPU_BASELINE=AVX2 наблюдается ускорение выполнения некоторых операций обработки изображений на 15-30%;
- Эффективный и высококачественный алгоритм отслеживания движения объектов DIS (Dense Inverse Search) перемещён из модуля opencv_contrib в модуль video. Более медленный алгоритм оптического потока TV L1 перемещён в opencv_contrib.
Источники
править- Главная ссылка к новости (https://opencv.org/opencv-4-0-...) (Архивная копия от 9 апреля 2019 на Wayback Machine)
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.