360 ビデオ → 方向付き画像 (360 Video To Oriented Imagery) (Indoors)

サマリー

360 度ビデオから方向付き画像データセットに 360 度画像を抽出します。 このツールの出力は、ArcGIS Pro のフロア対応マップおよびシーンに追加できます。

使用法

  • このツールは、360 度カメラで撮影された 360 度 MP4 ビデオをサポートしています。 このビデオでは正距円筒リプレゼンテーションが使用されている必要があります。

  • [ターゲットの方向付き画像] パラメーターの値は、Z 対応の方向付き画像レイヤーである必要があります。

    注意:

    方向付き画像データセットは、[方向付き画像データセットの作成 (Create Oriented Imagery Dataset)] ツールを使用して作成します。

  • ターゲットの方向付き画像レイヤーは、ローカルの方向付き画像データセット、またはホスト フィーチャ サービスのものです。 ホスト フィーチャ サービスに写真をインポートするとき、フィーチャ サービスはフィーチャ アタッチメントをサポートしている必要があります。

  • [コントロール ポイント 1] および [コントロール ポイント 2] パラメーターを使用して、出力フィーチャをジオリファレンスします。 パラメーターの値を次のように設定します:

    • [ビデオ時間] - カメラ位置を指定するビデオ再生タイムスタンプを hh:mm:ss.s の形式で指定します。

      ビデオの開始または終了から 5 秒以上あり、コントロール ポイントの間隔が 5 秒以上となるタイムスタンプを使用します。

    • [カメラの位置] - 指定したタイムスタンプにおけるカメラの配置位置が反映されるポイントをマップ上に配置します。

      カメラ位置の間隔は 1 メートル以上にする必要があります。

    ヒント:

    ジオリファレンスの際の精度を向上させるには、コントロール ポイントの間隔をできるだけ広くします。

  • ビデオ パスに沿って画像を自動的に抽出する方法を指定するには、次のビデオ抽出パラメーターを使用します:

    • [抽出間隔] - 出力画像の時間間隔。 デフォルトは 2 秒であり、これは平均的な歩く速度で約 4 ~ 6 フィート (1.2 ~ 1.8 メートル) の移動に相当します。
    • [開始タイムスタンプ] - ビデオからの画像の抽出を開始するタイムスタンプ (hh:mm:ss.s 形式)。 たとえば、ビデオの冒頭から 15 分 10 秒で抽出を開始するには、値 00:15:10 を使用します。 デフォルトはビデオの冒頭です。
    • [終了タイムスタンプ] - ビデオからの画像の抽出を停止するタイムスタンプ (hh:mm:ss.s 形式)。 たとえば、ビデオの冒頭から 1 時間 10 分で抽出を終了するには、値 01:10:00 を使用します。 デフォルトはビデオの末尾です。
    注意:

    実際の開始時間、終了時間、抽出画像の時間間隔は、入力ビデオの品質によって変化する場合があります。

  • このツールは、VSLAM (visual simultaneous localization and mapping) を使用して、抽出画像の相対的な位置と方向を決定します。 VSLAM の精度は、被写体ぶれ、環境内のトラッキング可能な位置 (エッジ、コーナー、テクスチャー) の数、カメラの移動速度などの要因に左右されます。

  • 屋内マップで使用するために画像をどのように準備するかを指定するには、[入力レベル フィーチャ] パラメーターを使用します。 このパラメーターの値を指定した場合、出力フィーチャは次のように構成されます:

    • ターゲットの方向付き画像レイヤーがすでにフロア対応である場合、そのレイヤーに構成されているフロア フィールドにレベル ID の値が格納されます。 そうでない場合、レイヤーの LEVEL_ID フィールドにレベル ID の値が格納されます。 必要に応じて、LEVEL_ID が追加されます。
    • コントロール ポイントが指定されていない場合、選択したレベル フィーチャの範囲と標高に合わせて出力フィーチャが移動およびスケール処理されます。 すべての出力フィーチャに、選択したレベル フィーチャのレベル ID の値が割り当てられます。
    • コントロール ポイントが指定されている場合、それらのコントロール ポイントに基づいて出力フィーチャがジオリファレンス (移動、回転、スケール処理) されます。 選択したレベル フィーチャ内にあるジオリファレンスされたフィーチャにはそのレベルの ID と標高が割り当てられ、レベルの外にあるフィーチャには Null の ID と標高 0 が割り当てられます。

パラメーター

ラベル説明データ タイプ
入力 360 ビデオ

360 画像の抽出元となる 360 ビデオが格納されている入力 .mp4 ファイル。

File
ターゲットの方向付き画像

フィーチャの追加先となる、ターゲットの方向付き画像レイヤー。

Oriented Imagery Layer
ターゲットの画像フォルダー

画像ファイルが書き込まれる既存のフォルダー。

Folder
コントロール ポイント 1
(オプション)

出力フィーチャのジオリファレンスに使用される 1 つ目のコントロール ポイント。

  • [ビデオ時間] - hh:mm:ss.s 形式のビデオ タイムスタンプ。
  • [カメラの位置] - 指定したビデオ タイムスタンプにおけるカメラの位置を表すポイント フィーチャ。

Value Table
コントロール ポイント 2
(オプション)

出力フィーチャのジオリファレンスに使用される 2 つ目のコントロール ポイント。

  • [ビデオ時間] - hh:mm:ss.s 形式のビデオ タイムスタンプ。
  • [カメラの位置] - 指定したビデオ タイムスタンプにおけるカメラの位置を表すポイント フィーチャ。

Value Table
入力レベル フィーチャ
(オプション)

選択したレベル フィーチャが格納されている Indoors モデルからの入力レベル レイヤー。 このツールは、選択されているレベル フィーチャの LEVEL_ID の値を出力方向付き画像フィーチャのレベル ID フィールドに割り当てます。

Feature Layer
抽出間隔
(オプション)

画像が入力ビデオから抽出される間隔。 間隔の単位として、ミリ秒、秒、または分を選択できます。 デフォルトは 2 秒であり、最小は 0.2 秒 (200 ミリ秒) です。

Time Unit
開始タイムスタンプ
(オプション)

画像の抽出を開始するビデオの開始ポイント。 hh:mm:ss.s の形式で指定する必要があります。

String
終了タイムスタンプ
(オプション)

画像の抽出を終了するビデオの終了ポイント。 hh:mm:ss.s の形式で指定する必要があります。

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

360 画像の抽出元となる 360 ビデオが格納されている入力 .mp4 ファイル。

File
target_oriented_imagery

フィーチャの追加先となる、ターゲットの方向付き画像レイヤー。

Oriented Imagery Layer
target_image_folder

画像ファイルが書き込まれる既存のフォルダー。

Folder
control_point_1
[control_point_1,...]
(オプション)

出力フィーチャのジオリファレンスに使用される 1 つ目のコントロール ポイント。

  • ビデオ時間 - hh:mm:ss.s 形式のビデオ タイムスタンプ。
  • カメラの位置 - 指定したビデオ タイムスタンプにおけるカメラの位置を表すポイント フィーチャ。

Value Table
control_point_2
[control_point_2,...]
(オプション)

出力フィーチャのジオリファレンスに使用される 2 つ目のコントロール ポイント。

  • ビデオ時間 - hh:mm:ss.s 形式のビデオ タイムスタンプ。
  • カメラの位置 - 指定したビデオ タイムスタンプにおけるカメラの位置を表すポイント フィーチャ。

Value Table
in_levels_feature
(オプション)

選択したレベル フィーチャが格納されている Indoors モデルからの入力レベル レイヤー。 このツールは、選択されているレベル フィーチャの LEVEL_ID の値を出力方向付き画像フィーチャのレベル ID フィールドに割り当てます。

Feature Layer
extraction_interval
(オプション)

画像が入力ビデオから抽出される間隔。 間隔の単位として、ミリ秒、秒、または分を選択できます。 デフォルトは 2 秒であり、最小は 0.2 秒 (200 ミリ秒) です。

Time Unit
start_timestamp
(オプション)

画像の抽出を開始するビデオの開始ポイント。 hh:mm:ss.s の形式で指定する必要があります。

String
end_timestamp
(オプション)

画像の抽出を終了するビデオの終了ポイント。 hh:mm:ss.s の形式で指定する必要があります。

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: No
  • Standard: No
  • Advanced: 次のものが必要 ArcGIS Indoors Pro または ArcGIS Indoors Maps

関連トピック