В прошлом году 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