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

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

Следовательно, Deep Learning учится на огромных объемах неструктурированных данных, которые людям обычно требуются десятилетия, чтобы понять этот процесс. Это разновидность машинного обучения.

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

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

Классическая модель глубокого обучения - извлечение признаков, классификация.

Модель трансферного обучения - классификация.

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

Intel предоставляет предварительно обученные модели!

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

Вы можете найти дистрибутив Intel OpenVINO с предварительно обученными моделями здесь.

Точно так же различные платформы предоставляют различные предварительно обученные модели, которые можно использовать для решения различных задач. Итак, очевидный вопрос: какая модель будет работать лучше всего, если у меня есть предварительно обученные модели, предоставленные различными платформами для решения одной и той же проблемы? Различные инструменты демонстрируют разные функции и производительность при обучении разных типов глубоких сетей на разных аппаратных платформах, что затрудняет конечным пользователям выбор подходящей пары программного и аппаратного обеспечения. На это отвечает Бенчмаркинг. Бенчмаркинг - это сравнительное исследование производительности сети на
различных платформах. Он может быть как внутренним, так и внешним. Внутренний сравнительный анализ - это процесс, в ходе которого компания или организация изучает свой собственный бизнес, пытаясь определить наилучшую практику или методологию проведения конкретная задача. Внешний сравнительный анализ, который иногда называют сравнительным анализом конкурентов, сравнивает эффективность бизнеса с показателями других компаний.

В этой статье я буду тестировать производительность person-detection-retail-0013 с помощью набора инструментов Intel OpenVINO и ssd_resnet_50_fpn_coco от Tensorflow. Проблема, которую я решил, заключалась в обнаружении пешеходов и повторной идентификации. Также использовался набор данных торгового центра. Учитывая все крайние случаи и возможности появления пешеходов в толпе (возможны перекрытия пешеходов в толпе), следующий график был построен с использованием matplotlib.

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

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

Набор данных также снабжен наземными истинными значениями каждого пешехода, присутствующего в кадре.

Минимальная высота пьедестала составляет ›100 пикселей (можно рассчитать на основании предоставленных данных). Производительность варьируется в зависимости от технических характеристик каждой модели. Предварительно обученная модель person-detection-retail-0013 хорошо работает, если человек в кадре стоит вертикально и параллельно кадру изображения, и модель имеет покрытие окклюзии

Сравнивая скорости сетей, модели Intel OpenVINO быстрее, чем модели тензорного потока, потому что модели OpenVINO работают на C ++, тогда как модели тензорного потока работают на Python. Среднее время, затрачиваемое моделью ssd_resnet на обработку кадра, составляет 3 секунды, тогда как для person-detection-retail-0013 оно составляет 0,34 секунды.

Вывод:

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

Также производительность модели зависит от того, насколько хорошо собираются данные. Например, обнаружение пешеходов может происходить в помещении или на улице. Есть несколько наборов данных, которые специально содержат кадры с пешеходами в помещении. Некоторые наборы данных содержат комбинацию пешеходов в помещении и на улице. Если у нас есть комбинация таких данных, результат может иногда привести к переобучению, потому что модель может также определять другие объекты как людей. Следовательно, перед обучением вашей модели убедитесь, что данные хорошо структурированы для повышения производительности. Как мы видели, Deep Learning использует структурированные данные и прогнозирует вывод неструктурированных данных. Модели Intel OpenVINO хорошо работают даже с частично контролируемыми данными.

Читайте также:

Оптимизатор модели

Демонстрация отслеживания пешеходов с использованием OpenVINO Toolkit

Это сообщение в блоге, сделанное в рамках конкурса Intel® Student Ambassador.