Skip to content

Latest commit

 

History

History
56 lines (41 loc) · 5.1 KB

README_5.md

File metadata and controls

56 lines (41 loc) · 5.1 KB

Практика 5. Создание пользовательского приложения с применением классификации, детектирования и трекинга.

Цели

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

Задачи

В интернете содержится большое количество видео типа "топ X пород собак". В большинстве таких видео нет соответствия между представленной собакой и ее породой. Задача: автоматизировать классификацию представленных собак по породам. Необходимо разработать приложение для:

  • детектирования собак;
  • распознавания (классификации) породы;
  • сохранения информации о породе в текстовый файл;
  • сохранения ОДНОЙ фотографии каждой собаки.

Основные задачи:

  1. Скачать обученные сети squeezenet1.1, mobilenet-ssd.
  2. Реализовать приложения для сбора статистики (представительства) объектов по типам.

Дополнительные задачи:

  1. Используйте собственную реализацию детектора и решения задачи о назначениях Практики 4 для детектирования и отслеживания объектов.
  2. Для случая, когда на видео присутствует два объекта одного класса, удалить из списка пород собак повторяющиеся. Для каждой породы сохранить фото каждой собаки данной породы, представленной на видео.
  3. Вывести топ-1, топ-3 пород собак, представленных на видео.

Общая последовательность действий

  1. Скачать обученную сеть squeezenet1.1.
  2. Скачать модель для детектирования объектов mobilenet-ssd.
  3. Использовать решение Практики 2 для детектирования объектов.
  4. Использовать решение Практики 4 для трекинга(отслеживания) каждого объекта(собаки). Примечание: используйте собственный детектор.
  5. Сохранить необходимую информацию (классы собак и одно изображение представителя данного класса) на диск.

Детальная инструкция по выполнению работы

    1. в папке <openvino_dir>/deployment_tools/tools/model_downloader/ запустить скрипт downloader.py с необходимыми параметрам для скачивания обученных моделей squeezenet1.1, mobilenet-ssd. Пример:

      $ cd "C:\Intel\computer_vision_sdk\deployment_tools\tools\model_downloader"
      $ python downloader.py --name mobilenet-ssd --output <destination_folder>
  1. Перенести исходный код практики <project_source>/src/practice4.cpp в <project_source>/src/practice5_YOUR_NAME.cpp, удостовериться в его работоспособности на видео data/topdogs.mp4.
  2. В файле <project_source>/src/practice5_YOUR_NAME.cpp подключить заголовочный файл classificator.h и создать объект класса DnnClassificator.
  3. В файле <project_source>/src/practice5_YOUR_NAME.cpp в функции main при помощи DnnClassificator добавить классификацию объектов для областей изображения, на которых был детектированы собаки.
  4. Записать породу собаки, полученную при помощи DnnClassificator, в текстовый файл.
  5. Сохранить ОДНО изображение каждой собаки на диск.
  6. Решить задачи из списка Дополнительные задачи.