Аннотация: Чтобы облегчить разработку приложений ИИ в сценариях видео, платформа вывода Modelarts извлекает некоторые общие процессы в сценариях вывода видео и предварительно устанавливает их в базовом изображении.Друзьям нужно просто написать сценарии предварительной и постобработки., вы можете разрабатывайте сервисы искусственного интеллекта видео-типа так же, как разрабатывайте сервисы искусственного интеллекта графического типа.
Эта статья опубликована в сообществе Huawei Cloud Community "Видеоинференс на платформе Modelarts", оригинальный автор: HW007.
Те, кто знаком с рассуждениями Modelarts, знают, что на платформе Modelarts вы можете легко развернуть службу ИИ, просто настроив сценарии предварительной обработки, вывода и постобработки модели для вывода изображений, текста, аудио- и видеовходов. Однако для определения типа видео пользователи должны были загружать и декодировать видеофайлы в своих собственных сценариях, а затем передавать обработанные файлы в OBS. Чтобы облегчить разработку приложений ИИ в сценариях видео, платформа логического вывода Modelarts извлекает некоторые общие процессы в сценариях логического вывода видео и предустановляет их в базовом изображении.Вы можете разрабатывать сервисы ИИ видеотипа точно так же, как разрабатывать сервисы ИИ графического типа.
1. Общее описание конструкции
Общий процесс рассуждений для извлечения видеосцен выглядит следующим образом:
Как показано на рисунке выше, процесс сцены обработки видео можно разделить на шесть частей: «ввод источника видео», «декодирование видео», «предварительная обработка», «вывод модели», «постобработка» и «вывод». вывод результата». Среди них заранее подготовлены три серых модели: «ввод видеоисточника», «декодирование видео» и «вывод результата логического вывода». Три части «предварительная обработка», «вывод модели» и «постобработка» могут быть свободно настроены пользователем. Конкретные методы настройки заключаются в следующем:
1) Пользовательская модель: Modelarts уже предоставила метод загрузки моделей.Пользователям нужно только поместить свои собственные модели в формате «сохраненная_модель» в указанный каталог моделей.
2) Пользовательская предварительная обработка: Modelarts предоставит пользователю декодированные данные видеокадра, пользователю нужно только переписать статический метод «_preprocess» класса «VideoService» в «customize_service.py», входные параметры функции «_preprocess» и выходные данные. параметры Ограничения следующие:
3) Индивидуальная постобработка: Modelarts предоставит пользователю вывод модели и данные декодированного видеокадра. Пользователю нужно только переписать статический метод "_postprocess" класса "VideoService" в "customize_service.py". Входные параметры и ограничения по выходным параметрам следующие:
2. Демонстрационный опыт
1) Загрузите вложение к этой статье, как показано на рисунке ниже, вложение содержит отлаженную папку «модель» пакета модели видеовывода OK, а также предоставляет проверочный случай, написанный на основе структуры tox для пользователей для отладки своего пакета модели. офлайн. .
2) Перенесите папку «model» из пакета аксессуаров в HUAWEI CLOUD OBS.
Поместите папки «test/test_data/input» и «test/test_data/output» в пакете вложений на тот же уровень, что и предыдущая папка «model» в HUAWEI CLOUD OBS.
3) Импорт модели: в интерфейсе импорта модели Modelarts выберите «Импорт из OBS» и выберите каталог модели, только что переданный в OBS. Как показано ниже:
После настройки каждой конфигурации модели следующим образом нажмите «Создать модель»:
Вы можете видеть, что модель была создана успешно:
4) Разверните сервис, разверните указанную выше модель как онлайн-сервис и во время развертывания выберите ресурсные узлы с графическими процессорами (доступны как общедоступные пулы, так и эксклюзивные пулы):
Вы можете видеть, что служба была успешно развернута:
5) Создать задание: выберите Создать задание в интерфейсе сервиса.
Выберите входное видео и выберите видеофайл, загруженный во входную папку в OBS на шаге 2), следующим образом:
Выберите выходной путь и выберите выходную папку, загруженную в OBS на шаге 2), следующим образом:
6) Дождитесь завершения обработки видео:
Проверьте выходную папку в OBS, вы можете увидеть результат рассуждений после того, как видео было разделено на картинки.
7) Пользователи могут заменить файлы модели в формате «сохраненная_модель» в папке модели в соответствии со своими потребностями и изменить функции «_preprocess» и «_postprocess» в «customize_service.py», чтобы завершить свою собственную бизнес-логику. После модификации вы можете запустить «test/run_test.sh», чтобы заранее проверить, можно ли нормально вывести измененный пакет модели.После завершения автономной отладки вывод можно выполнить в обычном режиме, а затем отправить пакет модели в OBS. и разверните его следующим образом: сервис Modelarts.
Среди них требования к пакету модели для видеовывода следующие:
Требования к структуре пакета модели:
└── модель
├── config.json (обязательно, файл конфигурации, связанный с выводом Modelarts)
├── custom_service.py (обязательно, файл вывода)
├── save_model.pb (обязательно, файл модели в формате SavedModel)
└── переменные (обязательно, файл модели в формате SavedModel)
├── переменные.данные-00000-из-00001
└── переменные.index
Формат файла config.json соответствует спецификации Modelarts.support.huaweicloud.com/engineers-no…
В настоящее время только среда выполнения tensorflow «tf1.13-python3.7-gpu-async» поддерживает вывод видео, то есть поле «model_type» в файле config.json должно быть «TensorFlow», а поле «runtime» должно быть "tf1.13" -python3.7-gpu-async".
В тексте «customize_service.py» должен быть класс «VideoService», а класс «VideoService» должен иметь два статических метода «_preprocess» и «_postprocess», а соответствующие ограничения подписи функции следующие:
Нажмите «Подписаться», чтобы впервые узнать о новых технологиях HUAWEI CLOUD~