fbpx
  • Kornia: библиотека для компьютерного зрения на PyTorch

    Kornia — это библиотека для компьютерного зрения, написанная на PyTorch. Kornia выступает аналогом стандартной библиотеки для задач компьютерного зрения OpenCV. В отличие от традиционных фреймворков для CV задач, Kornia поддерживает вычисления на GPU. Это позволяет внедрять библиотеку в пайплайн обучения нейросети.

    Библиотека состоит из набора рутин и дифференцируемых модулей, которые позволяют решать базовые проблемы из компьютерного зрения. В своей основе библиотека использует PyTorch в качестве бэкенда. Это поддерживает эффективность вычислений и позволяет использовать автоматическое дифференцирование, чтобы считать градиенты сложных функций.

    Если сравнивать Kornia с схожими фреймворками, только в Kornia и tensorflow.image большинство функционала реализовано с поддержкой GPU с разделением данных на батчи, автоматической дифференциацией и возможностью распределенных вычислений.

    Сравнение разных библиотек для CV по их ключевым характеристикам

    Обзор структуры Kornia

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

    Kornia состоит из следующих компонентов:

    • kornia.color: набор функций для цветокоррекции;
    • kornia.contrib: экспериментальный функционал;
    • kornia.feature: модуль для распознавания признаков;
    • kornia.filters: модуль для фильтрации изображения и распознавания границ;
    • kornia.geometry: библиотека для геометрических преобразований изображений;
    • kornia.losses: набор функций потерь, который покрывают ряд задач компьютерного зрения;
    • kornia.utils: функции для преобразования изображения в тензор и набор метрик для проблем компьютерного зрения
    Примеры доступного в библиотеке функционала

    Библиотеку разработали, чтобы помочь пользователям PyTorch, которые занимаются CV задачами. Kornia основывается на готовых опенсорсных решениях, как PIL, skimage, torchvision, tf.image, и вдохновляется OpenCV.