Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 18(188)

Рубрика журнала: Информационные технологии

Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6, скачать журнал часть 7, скачать журнал часть 8, скачать журнал часть 9, скачать журнал часть 10

Библиографическое описание:
Серкова О.Н. ОБЗОР САМЫХ ПОПУЛЯРНЫХ ИНСТРУМЕНТОВ КОМПЬЮТЕРНОГО ЗРЕНИЯ: ПЛЮСЫ И МИНУСЫ // Студенческий: электрон. научн. журн. 2022. № 18(188). URL: https://sibac.info/journal/student/188/252834 (дата обращения: 29.03.2024).

ОБЗОР САМЫХ ПОПУЛЯРНЫХ ИНСТРУМЕНТОВ КОМПЬЮТЕРНОГО ЗРЕНИЯ: ПЛЮСЫ И МИНУСЫ

Серкова Олеся Николаевна

студент, кафедра математической кибернетики и информационных технологий, Московский технический университет связи и информатики,

РФ, г. Москва

OVERVIEW OF THE MOST POPULAR COMPUTER VISION TOOLS: ADVANTAGES AND DISADVANTAGES

 

Olesya Serkova

student, Mathematical Cybernetics and Information Technology, Moscow Technical University of Communication and Informatics

Russia, Moscow

 

АННОТАЦИЯ

В статье проводится обзор самых популярных и современных инструментов компьютерного зрения, выделяются их плюсы и минусы.

ABSTRACT

The article provides an overview of the most popular and modern computer vision tools, highlights their pros and cons.

 

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

Keywords: computer vision, machine learning, pattern recognition, motion recognition, big data, artificial intelligence, machine learning libraries.

 

Введение

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

Анализируя развитие отрасли, можно увидеть какие из инструментов закрепились на рынке, а какие утратили потенциал. На текущий момент самые мощные или популярные программные средства компьютерного зрения:

  • OpenCV
  • Viso Suite
  • TensorFlow
  • CUDA
  • MATLAB
  • Keras
  • SimpleCV
  • BoofCV
  • CAFFE
  • OpenVINO
  • DeepFace
  • YOLO

Теперь рассмотрим каждый из инструментов.

OpenCV

OpenCV – это библиотека программного обеспечения для машинного обучения и компьютерного зрения с открытым исходным кодом. Созданный с целью обеспечения общей инфраструктуры для приложений компьютерного зрения, OpenCV обеспечивает доступ к более чем 2500 классическим и современным алгоритмам.

Эти алгоритмы полезны для нескольких задач, включая обнаружение и распознавание лиц, удаление красных глаз, идентификацию объектов, извлечение 3D-моделей объектов, отслеживание движущихся объектов и сшивание нескольких кадров в изображение с высоким разрешением.

 

Рисунок 1. Пример работы OpenCV

 

OpenCV имеет несколько интерфейсов, таких как C++, Python, Java и MATLAB, и поддерживает большинство операционных систем, включая Windows, Android, Linux и Mac. Библиотека компьютерного зрения широко используется международными компаниями, включая Google, Facebook*, IBM, Toyota, Sony, Honda и Microsoft.

Плюсы:

  • Де-факто стандартный инструмент для обработки изображений;
  • Бесплатная библиотека с открытым исходным кодом;
  • Качественна поддержка;
  • Доступ к более чем 2500 алгоритмам;
  • Позволяет настроить код для конкретных целей.

Минусы:

  • Не так прост в использовании, как другие инструменты, такие как MATLAB;
  • Довольно крутая кривая обучения.

Viso Suite

Viso Suite – это комплексная платформа компьютерного зрения для бизнеса, позволяющая создавать, развертывать и контролировать реальные приложения компьютерного зрения. Платформа без кода основана на лучшем в своем классе программном стеке для компьютерного зрения, включая CVAT, OpenCV, OpenVINO, TensorFlow или PyTorch.

Viso Suite включает в себя более 15 продуктов в одном решении, включая аннотацию изображений, обучение моделей, управление моделями, разработку приложений без кода, управление устройствами, связь IoT и пользовательские панели мониторинга. Предприятия и правительственные организации по всему миру используют Viso Suite для создания и эксплуатации своего портфеля приложений компьютерного зрения (для промышленной автоматизации, визуального контроля, удаленного мониторинга и многого другого).

Архитектура, основанная на модели, обеспечивает надежную и безопасную инфраструктуру для построения конвейеров компьютерного зрения со строительными блоками. Модульная архитектура позволяет использовать любую камеру (CCTV, IP, USB и т. д.), любое вычислительное оборудование (CPU, GPU, VPU, TPU и т. д.) или ML-фреймворк. Высокая расширяемость позволяет легко добавлять пользовательский код или интегрироваться с Tableau, PowerBI, SAP или внешними базами данных (AWS S3, MongoDB и т. д.).

 

Рисунок 2. Viso Suite, платформа компьютерного зрения без кода

 

Плюсы:

  • Комплексная платформа для создания и доставки всех приложений компьютерного зрения с помощью одного решения;
  • Кроссплатформенность: конструируется один раз, развертывается в любом месте, используя любую камеру или модель искусственного интеллекта;
  • Полное управление периферийными устройствами, безопасное развертывание на большом парке устройств;
  • Подходит для профессиональных команд, экспертов по зрению и недавно обученных разработчиков;
  • Корпоративный уровень, безопасность с нулевым доверием, управление доступом и полная конфиденциальность данных.

Минусы:

  • Корпоративная платформа не имеет свободного плана.

TensorFlow

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

TensorFlow является одним из самых простых инструментов компьютерного зрения и позволяет пользователям разрабатывать модели машинного обучения, связанные с компьютерным зрением, для таких задач, как распознавание лиц, классификация изображений, обнаружение объектов и многое другое. Tensorflow, как и OpenCV, также поддерживает различные языки, такие как Python, C, C++, Java или JavaScript.

 

Рисунок 3. Глубокое обучение с TensorFlow

 

Для реальных проектов компьютерного зрения TensorFlow Lite – это легкая реализация для машинного обучения на устройстве с периферийными устройствами. TensorFlow Lite значительно ускоряет реализацию с уменьшенным размером модели и высокой точностью при гораздо более высокой эффективности, что позволяет запускать машинное обучение везде.

Плюсы:

  • Это платформа с открытым исходным кодом;
  • Платформа совместима с несколькими языками;
  • Обеспечивает постоянные обновления для большего количества функций и улучшений;
  • Мощные функции и хорошая производительность.

Минусы:

  • Это чрезвычайно ресурсоемкий инструмент.

CUDA

CUDA (сокращение от Compute Unified Device Architecture) – это параллельная вычислительная платформа и модель интерфейса прикладного программирования (API), разработанная NVIDIA. Это позволяет разработчикам использовать мощность графических процессоров для ускорения работы приложений.

Инструментарий включает в себя библиотеку NVIDIA Performance Primitives (NPP), которая предоставляет функции обработки изображений, видео и обработки сигналов с GPU-ускорением для нескольких областей, включая компьютерное зрение. Кроме того, архитектура CUDA полезна для широкого круга задач, таких как распознавание лиц, манипуляции с изображениями, исполнение 3D-графики и другие. Обработка изображений в режиме реального времени с помощью Nvidia CUDA поддерживается для реализаций Edge AI для выполнения вывода ИИ на устройстве на периферийных устройствах, таких как Jetson TX2.

Он поддерживает различные языки программирования, включая C, C++, Python, Fortran или MATLAB, а также совместим с большинством операционных систем.

Плюсы:

  • Библиотека поставляется с более чем 5000 примитивами для обработки изображений и сигналов;
  • Включает в себя поддержку нескольких языков;
  • Быстрота и эффективность;
  • Мощный, высокопроизводительный анализ видео.

Минусы:

  • Высокое энергопотребление;
  • Ограниченная кроссплатформенная гибкость.

MATLAB

MATLAB – это платформа программирования, которая полезна для ряда различных приложений, таких как машинное обучение, глубокое обучение и обработка изображений, видео и сигналов.

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

Плюсы:

  • Простота в использовании и изучении;
  • Много бесплатных ресурсов;
  • Писать код проще поскольку это язык программирования;
  • Имеет удобный автоматический процесс отладки;
  • Считается лучшим инструментом для исследователей;
  • Все функции хорошо документированы.

Минусы:

  • Инструмент не является бесплатным для использования;
  • Медленный для многих задач;
  • Сложно интегрируется со сторонними инструментами.

Keras

Keras – это библиотека программного обеспечения с открытым исходным кодом на основе Python, которая выступает в качестве интерфейса для платформы машинного обучения TensorFlow. Особенно подходит для начинающих, так как позволяет быстро построить модель нейронной сети, обеспечивая при этом поддержку бэкенда.

Плюсы:

  • Простота в использовании;
  • Обеспечивает поддержку нескольких бэкэндов;
  • Поставляется с отличной поддержкой.

Минусы:

  • Недостаток некоторых функций;
  • Сложная отладка.

SimpleCV

SimpleCV – это коллекция библиотек и программного обеспечения с открытым исходным кодом, которая позволяет легко разрабатывать приложения для компьютерного зрения.  Предоставляет доступ к нескольким мощным библиотекам компьютерного зрения, таким как OpenCV, без необходимости обладать глубокими знаниями о сложных концепциях, таких как битовая глубина, цветовые пространства, управление буфером или форматы файлов.

SimpleCV написан на Python и совместим с несколькими операционными системами, такими как Mac, Windows и Linux.

Плюсы:

  • Бесплатное использование;
  • Большинство алгоритмов в значительной степени оптимизированы;
  • Хорошая документация.

Минусы:

  • Не поддерживает никаких языков программирования, кроме Python.

BoofCV

BoofCV – это программное обеспечение компьютерного зрения на основе Java, специально написанное для решений компьютерного зрения в режиме реального времени. BoofCV поставляется с открытым исходным кодом и выпущен под лицензией Apache 2.0, что делает его бесплатным для использования в академических и коммерческих целях.

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

Плюсы:

  • Имеет удобный интерфейс;
  • Обеспечивает поддержку нескольких языков.

Минусы:

  • Медленнее в низкоуровневых операциях.

CAFFE

CAFFE или сверточная архитектура для быстрого встраивания функций – это платформа глубокого обучения и компьютерного зрения, разработанная в Калифорнийском университете в Беркли.

Этот фреймворк написан на языке программирования C++ и поддерживает несколько архитектур глубокого обучения, связанных с классификацией и сегментацией изображений. Он особенно полезен для исследовательских целей и промышленного внедрения благодаря своей отличной скорости и возможностям обработки изображений.

Плюсы:

  • Открытый исходный код;
  • Быстрота и простота в использовании;
  • Поддерживает несколько языков.

Минусы:

  • Недостаточно документации;
  • Обеспечивает только частичную поддержку обучения с несколькими графическими процессорами.

OpenVINO

OpenVINO (Open Visual Inference and Neural Network Optimization) – это набор комплексных инструментов компьютерного зрения, которые полезны для разработки приложений, имитирующих человеческое зрение. Разработанный Intel, это бесплатный кроссплатформенный инструмент.

Инструмент OpenVINO поставляется с моделями для нескольких задач, таких как обнаружение объектов, распознавание лиц, раскраска, распознавание движений и многое другое.

Плюсы:

  • Это бесплатный и эффективный инструмент;
  • Поддержка нескольких платформ глубокого обучения;
  • Совместим с операционными системами Windows, Mac и Linux;
  • Быстро растущая экосистема, хорошая поддержка оборудования.

Минусы:

  • Всего несколько примеров использования Python.

DeepFace

DeepFace в настоящее время является самой популярной библиотекой компьютерного зрения с открытым исходным кодом для распознавания лиц с глубоким обучением. Библиотека предлагает простой способ выполнения компьютерного зрения на основе распознавания лиц с помощью Python.

Если необходим инструмент обработки изображений для распознавания лиц, проверки лиц или анализа атрибутов лица в режиме реального времени, DeepFace – отличный способ использовать наиболее эффективные модели распознавания глубокого обучения (Google FaceNet, VGG-Face, OpenFace, Facebook DeepFace и многое другое).

Плюсы:

  • Открытым исходный кодом, даже для коммерческого использования;
  • Легок и прост в установке;
  • Поддерживает популярные модели и детекторы;
  • Оптимизирован для выполнения вывода на устройстве в режиме реального времени (Edge AI).

Минусы:

  • Нет облачного API.

YOLO

YOLO является одним из самых быстрых инструментов компьютерного зрения в 2022 году. Разработанный Джозефом Редмоном и Али Фархади в 2016 году, он был специально создан для обнаружения объектов в режиме реального времени.

YOLO обязан своей скоростью нейронной сети, которая анализирует полное изображение, которое затем разбивает на сетки. Затем программное обеспечение одновременно предсказывает вероятности каждой сетки.

 

Рисунок 4. Обнаружение объектов в реальном времени с помощью YOLO

 

Плюсы:

  • Скорость обработки;
  • Инструмент очень точный, с минимальными фоновыми ошибками;
  • Алгоритм обладает первоклассными возможностями обучения.

Минусы:

  • Не эффективен в обнаружении мелких объектов;
  • Поддержка сообщества ограничена.

Заключение

В данной стать были рассмотрены самые популярные инструменты компьютерного зрения. Все они имеют свои достоинства и недостатки. Для каждой конкретно задачи следует выбирать определённый инструмент, так как при разных кейсах преимущество будет на стороне одного из вышеперечисленных. Каждый из них имеет подробную документацию и на просторах интернета есть множество примеров использования данных технологий.

*(социальная сеть, запрещенная на территории РФ, как продукт организации Meta, признанной экстремистской – прим.ред.)

 

Список литературы:

  1. Алексеева, В. А. Использование методов машинного обучения в задачах бинарной классификации//Автоматизация процессов управления. – 2015. – № 3 (41). – С. 58-63.
  2. Коротеев, М. В. Обзор некоторых современных тенденций в технологии машинного обучения//E-Management. – 2018. – № 1. – С. 26-35.
  3. Peter Harrington «Machine Learning in Action» Released April 2012 Publisher(s): Manning Publications ISBN: 9781617290183
  4. Machine Learning, IBM Limited Edition by Judith Hurwitz and Daniel Kirsch Published by John Wiley & Sons, Inc., 2018

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.