В прошлом году FAIR (исследование искусственного интеллекта в Facebook) объявило, что структура Mask RCNN с использованием инфраструктуры resnet50 была успешно реализована на наборах данных MS COCO и Balloon и были получены ценные результаты (см. специальную страницу github). Кроме того, обученные веса также были выпущены для исследователей и практиков, чтобы они могли передавать обучение для решения различных задач с разумной стоимостью (см. Страница Matterport на github).

В моей другой статье я объяснил, как сделать перенос обучения с такими выпущенными весами MS COCO, чтобы удалить обнаруженное оружие (см. Статью здесь).

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

Это будет более быстрый и простой способ запускать коды Python в Google Colab, где необходимые пакеты уже доступны. В этом смысле вы можете просмотреть и выполнить мой блокнот на Colab.

Если вам нужно запустить на локальном компьютере, рассмотрите необходимые пакеты ниже

Установите cython и Python API для данных MS COCO. Они будут использоваться при предварительной обработке.

Вы можете клонировать код Python Mask RCNN со страницы Matterport.

Не забудьте добавить папку mrcnn, содержащую конфигурации, и папку coco в путь к python.

Импортируйте библиотеки и назначьте значения для необходимых каталогов. Обратите внимание, что здесь, в папке «журналы», оптимизированные веса сохраняются в формате .h5 с соответствующей отметкой времени после каждой эпохи во время обучения. В этом приложении будут использоваться веса, выпущенные MatterPort (COCO_MODEL_PATH), поэтому эта папка не будет использоваться. Также папка «image» содержит изображения для тестирования, мы не будем использовать ее для просмотра результатов любого изображения из любого места.

В этом коде можно настроить загрузку набора данных, увеличение, прогнозирование и выбор маскирования тестовых изображений. Наиболее важные для обучения параметры можно изменить в базовом классе конфигурации «Config», который находится в файле /mrcnn/config.py.

Объект «config», унаследованный от класса «InterferenceConfig», берет параметры из класса «CocoConfig» в файле coco.py и переопределяет их по вашему выбору.

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

Здесь модель создается с учетом приведенной выше конфигурации, архитектура resnet50 структурирована с использованием библиотек Tensorflow и Keras (обратите внимание, что modellib является псевдонимом библиотеки моделей /mrcnn/model.py). Затем загружаются веса.

Набор данных MS COCO содержит 81 класс. На каком языке вы хотите сделать маскировку, вы можете изменить их, не нарушая порядок.

И мы подходим к концу для маскировки изображения. Прочитайте изображение и предскажите.

Я предоставляю несколько великолепных фотографий, замаскированных с помощью Mask RCNN.

Теперь давайте сделаем видео пример. Начните с клонирования примера видео со страницы github.

Каждый кадр в видео обрабатывается одинаково только здесь, весь код смотрите в моем блокноте colab)

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

Маскированные кадры можно комбинировать для создания маскированного видео с помощью метода make_frame с этим кодом Python:

make_video(outvid, images, fps=30)

Поздравляю! Вы можете проверить и скачать замаскированное видео в папке «mytestimagesvideos».

!ls ./mytestimagesvideos