Видео 360 в ориентированное изображение (Indoors)

Краткая информация

Извлекает 360-градусные изображения из 360-градусного видео в набор данных ориентированных изображений. Результаты работы этого инструмента могут быть добавлены в карты и сцены с поддержкой этажей в ArcGIS Pro.

Использование

  • Этот инструмент поддерживает 360-градусное видео в формате MP4, снятое 360-градусной камерой. Видео должны использовать равнопрямоугольное представление.

  • Значение параметра Целевое ориентированное изображение должно быть задано как слой ориентированных изображений с поддержкой z-значений.

    Примечание:

    Создайте набор данных ориентированных изображений с помощью инструмента Создать набор данных ориентированных изображений.

  • Целевой слой ориентированных изображений может быть основан на локальном наборе данных ориентированных изображений или размещенном сервисе объектов. При импорте фотографий в размещенный сервис объектов сервис объектов должен поддерживать вложения объектов.

  • Выполните пространственную привязку выходных объектов, используя параметры Контрольная точка 1 и Контрольная точка 2. Установите значения параметров следующим образом:

    • Время видео — укажите временную отметку воспроизведения видео для определения местоположения камеры в формате чч:мм:сс.с.

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

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

      Расстояние между местоположениями камеры должно быть не менее 1 метра.

    Подсказка:

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

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

    • Интервал извлечения — промежуток времени между выходными изображениями. По умолчанию составляет 2 секунды, что примерно соответствует 4-6 футам (1,2-1,8 метра) движения при среднем темпе ходьбы.
    • Временная отметка начала — временная отметка, с которой начнется извлечение изображений из видео в формате чч:мм:сс.с. Например, используйте значение 00:15:10, чтобы начать извлечение с 15 минут 10 секунд видео. Значение по умолчанию — начало видео.
    • Временная отметка конца — временная отметка, с которой будет остановлено извлечение изображений из видео в формате чч:мм:сс.с. Например, используйте значение 01:10:00, чтобы завершить извлечение на отметке 1 час 10 минут видео. Значение по умолчанию — конец видео.
    Примечание:

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

  • Этот инструмент использует визуальную одновременную локализацию и картографирование (VSLAM) для определения относительных позиций и ориентаций извлеченных изображений. Точность VSLAM зависит от таких факторов, как размытие движения, количество отслеживаемых точек (краев, углов, текстур) в окружении и скорость движения камеры.

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

    • Если целевой векторный слой ориентированных изображений уже учитывает этажи, инструмент сохраняет значения ID уровней в настроенном поле уровня слоя. В противном случае инструмент сохранит значения ID уровней в поле LEVEL_ID слоя. При необходимости инструмент добавит поле LEVEL_ID.
    • Если контрольные точки не указаны, выходные объекты перемещаются и масштабируются в соответствии с протяженностью и высотой выбранного объекта Уровней. Все выходные объекты получают значение ID уровня выбранного объекта Уровней.
    • При указанных контрольных точках выходные объекты получают пространственную привязку (перемещаются, вращаются и масштабируются) на основе контрольных точек. Объекты с пространственной привязкой, находящиеся внутри выбранного объекта Уровней, получают ID уровня и высоту этого уровня; объекты за пределами уровня получают ID Null и высоту 0.

Параметры

ПодписьОписаниеТип данных
Входное Видео 360

Входной файл .mp4, содержащий 360-видео, из которого будут извлечены 360-изображения.

File
Целевое ориентированное изображение

Целевой слой ориентированных изображений, в который будут добавлены объекты.

Oriented Imagery Layer
Целевая папка изображений

Существующая папка, в которую будут записаны файлы изображений.

Folder
Контрольная точка 1
(Дополнительный)

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

  • Время видео — временная отметка видео в формате чч:мм:сс.с.
  • Местоположение камеры — точечный объект, представляющий местоположение камеры на карте в указанную временную отметку видео.

Value Table
Контрольная точка 2
(Дополнительный)

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

  • Время видео — временная отметка видео в формате чч:мм:сс.с.
  • Местоположение камеры — точечный объект, представляющий местоположение камеры на карте в указанную временную отметку видео.

Value Table
Входной объект Уровней
(Дополнительный)

Входной слой Уровни из модели Indoors, содержащий выбранный объект уровня. Инструмент присваивает значение LEVEL_ID выбранного объекта уровня полю ID уровня выходного ориентированного изображения.

Feature Layer
Интервал извлечения
(Дополнительный)

Интервал извлечения изображений из входного видео. Можно выбрать единицу измерения интервала: миллисекунды, секунды или минуты. Значение по умолчанию — 2 секунды, минимальное значение — 0,2 секунды (200 миллисекунд).

Time Unit
Временная отметка начала
(Дополнительный)

Начальная отметка в видео, с которой начнется извлечение изображений. Допустимый формат ввода — чч:мм:сс.с.

String
Временная отметка окончания
(Дополнительный)

Конечная отметка в видео, на которой закончится извлечение изображений. Допустимый формат ввода — чч:мм:сс.с.

String

Производные выходные данные

ПодписьОписаниеТип данных
Обновленное ориентированное изображение

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

Oriented Imagery Layer
Обновленная папка изображений

Обновленная папка, в которую будут записаны файлы изображений.

Folder

arcpy.indoors.ThreeSixtyVideoToOrientedImagery(in_360_video, target_oriented_imagery, target_image_folder, {control_point_1}, {control_point_2}, {in_levels_feature}, {extraction_interval}, {start_timestamp}, {end_timestamp})
ИмяОписаниеТип данных
in_360_video

Входной файл .mp4, содержащий 360-видео, из которого будут извлечены 360-изображения.

File
target_oriented_imagery

Целевой слой ориентированных изображений, в который будут добавлены объекты.

Oriented Imagery Layer
target_image_folder

Существующая папка, в которую будут записаны файлы изображений.

Folder
control_point_1
[control_point_1,...]
(Дополнительный)

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

  • Время видео — временная отметка видео в формате чч:мм:сс.с.
  • Местоположение камеры — точечный объект, представляющий местоположение камеры на карте в указанную временную отметку видео.

Value Table
control_point_2
[control_point_2,...]
(Дополнительный)

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

  • Время видео — временная отметка видео в формате чч:мм:сс.с.
  • Местоположение камеры — точечный объект, представляющий местоположение камеры на карте в указанную временную отметку видео.

Value Table
in_levels_feature
(Дополнительный)

Входной слой Уровни из модели Indoors, содержащий выбранный объект уровня. Инструмент присваивает значение LEVEL_ID выбранного объекта уровня полю ID уровня выходного ориентированного изображения.

Feature Layer
extraction_interval
(Дополнительный)

Интервал извлечения изображений из входного видео. Можно выбрать единицу измерения интервала: миллисекунды, секунды или минуты. Значение по умолчанию — 2 секунды, минимальное значение — 0,2 секунды (200 миллисекунд).

Time Unit
start_timestamp
(Дополнительный)

Начальная отметка в видео, с которой начнется извлечение изображений. Допустимый формат ввода — чч:мм:сс.с.

String
end_timestamp
(Дополнительный)

Конечная отметка в видео, на которой закончится извлечение изображений. Допустимый формат ввода — чч:мм:сс.с.

String

Производные выходные данные

ИмяОписаниеТип данных
updated_oriented_imagery

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

Oriented Imagery Layer
updated_image_folder

Обновленная папка, в которую будут записаны файлы изображений.

Folder

Пример кода

ThreeSixtyVideoToOrientedImagery, пример 1 (окно Python)

Пример скрипта окна Python для использования функции ThreeSixtyVideoToOrientedImagery в режиме прямого запуска.

import arcpy

#Note: Video timestamps are strings in format hh:mm:ss.s

arcpy.indoors.ThreeSixtyVideoToOrientedImagery(r"C:\SiteFootage\Building1_Floor1.mp4", r"C:\Campus.gdb\OIDataset", r"C:\Data\ImagesFolder", 
                                               "", "", "", "", "", "")
ThreeSixtyVideoToOrientedImagery, пример 2 (окно Python)

В следующем автономном скрипте показано использование функции ThreeSixtyVideoToOrientedImagery.

# Import system modules
import arcpy

# Create temporary control point feature classes in memory for camera locations
sr = arcpy.SpatialReference(102100) # WGS 1984 Web Mercator (Auxiliary Sphere)
arcpy.management.CreateFeatureClass("memory", "point_1_fc", "POINT", spatial_reference=sr)
arcpy.management.CreateFeatureClass("memory", "point_2_fc", "POINT", spatial_reference=sr)

# Add camera locations to the temporary control point feature classes
with arcpy.da.InsertCursor(r"memory\point_1_fc", ["SHAPE@XY"]) as cursor:
    cursor.insertRow([arcpy.Point(-13046063.3, 4036427.6)])
with arcpy.da.InsertCursor(r"memory\point_2_fc", ["SHAPE@XY"]) as cursor:
    cursor.insertRow([arcpy.Point(-13046055.9, 4036422.1)])

# Set local variables

# Set the control point parameter values
# Note: Video timestamps are strings in format hh:mm:ss.s
control_point_1 = ["00:05:40.7", r"memory\point_1_fc"]
control_point_2 = ["00:11:25.3", r"memory\point_2_fc"]

# Specify indoor level for floor awareness
arcpy.management.MakeFeatureLayer(r"C:\IndoorsModel.gdb\Indoor\Levels", "levels_lyr", 
                                  "NAME = 'Building 1 Floor 1'")
in_levels_feature = "levels_lyr"

# Set remaining parameter variables
in_360_video = r"C:\SiteVideos\Building1_Floor1.mp4"
target_oriented_imagery = r"C:\Campus.gdb\OIDataset" 
target_image_folder = r"C:\Data\ImagesFolder"
extraction_interval = "5 Seconds"
start_timestamp = "00:05:35"
end_timestamp="00:15:00"



# Run the tool
arcpy.indoors.ThreeSixtyVideoToOrientedImagery(in_360_video, target_oriented_imagery, target_image_folder, control_point_1, control_point_2, 
in_levels_feature, extraction_interval, start_timestamp, end_timestamp) 

# Release memory
del cursor
arcpy.Delete_management(r"memory\point_1_fc")
arcpy.Delete_management(r"memory\point_2_fc")

Параметры среды

Этот инструмент не использует параметры среды геообработки

Информация о лицензиях

  • Basic: Нет
  • Standard: Нет
  • Advanced: Обязательно ArcGIS Indoors Pro или ArcGIS Indoors Maps

Связанные разделы