class XRSemanticsSubsystem
(Niantic.Lightship.AR.XRSubsystems.XRSemanticsSubsystem)
概要
セマンティック セグメンテーション機能と対話するためのインターフェースを定義します。
class XRSemanticsSubsystem:
SubsystemWithProvider< XRSemanticsSubsystem, XRSemanticsSubsystemDescriptor, XRSemanticsSubsystem.Provider >,
ISubsystemWithModelMetadata {
public:
class Provider;
// properties
uint TargetFrameRate;
HashSet<string> SuppressionMaskChannels;
uint?LatestFrameId;
bool IsMetadataAvailable;
// methods
XRSemanticsSubsystem();
bool TryGetSemanticChannel(
string channelName,
out XRTextureDescriptor semanticsChannelDescriptor,
out Matrix4x4 samplerMatrix,
XRCameraParams?cameraParams = null
);
bool TryAcquireSemanticChannelCpuImage(
string channelName,
out XRCpuImage cpuImage,
out Matrix4x4 samplerMatrix,
XRCameraParams?cameraParams = null
);
bool TryGetPackedSemanticChannels(
out XRTextureDescriptor packedSemanticsDescriptor,
out Matrix4x4 samplerMatrix,
XRCameraParams?cameraParams = null
);
bool TryAcquirePackedSemanticChannelsCpuImage(
out XRCpuImage cpuImage,
out Matrix4x4 samplerMatrix,
XRCameraParams?cameraParams = null
);
bool TryGetSuppressionMaskTexture(
out XRTextureDescriptor suppressionMaskDescriptor,
out Matrix4x4 samplerMatrix,
XRCameraParams?cameraParams = null
);
bool TryAcquireSuppressionMaskCpuImage(
out XRCpuImage cpuImage,
out Matrix4x4 samplerMatrix,
XRCameraParams?cameraParams = null
);
bool TryGetChannelNames(out IReadOnlyList<string> names);
bool TrySetChannelConfidenceThresholds(Dictionary<string, float> channelConfidenceThresholds);
bool TryResetChannelConfidenceThresholds();
static bool Register(XRSemanticsSubsystemCinfo semanticsSubsystemCinfo);
};
詳細なドキュメント
セマンティック セグメンテーション機能と対話するためのインターフェースを定義します。
プロパティ
TargetFrameRate
uint TargetFrameRate
セマンティック セグメンテーション推論を実行するプラットフォームのターゲットフレームレートを指定します。
目標フレームレート。
パラメーター:
System.NotSupportedException
- スローされたフレームレート設定はサポートされていません。
LatestFrameId
uint? LatestFrameId
最新のセマンティック セグメンテーション予測のフレームidを返します。
フレームid。
パラメーター:
System.NotSupportedException
- フレーム ID の取得がサポートされていない場合にスローされます。
IsMetadataAvailable
bool IsMetadataAvailable
メタデータが現在のデバイスにダウンロードされており、復号されている場合はtrueが返ります。 セマンティックセグメンテーションのラベル名や推論結果は、この値がtrueである場合のみ取得できます。
メタデータが利用可能かどうかを確認します。
パラメーター:
System.NotSupportedException
- スローされたフレームレート設定はサポートされていません。
メソッド
XRSemanticsSubsystem
XRSemanticsSubsystem()
機能プロバイダを作成してサブシステムを構築します。
TryGetSemanticChannel
bool TryGetSemanticChannel(
string channelName,
out XRTextureDescriptor semanticsChannelDescriptor,
out Matrix4x4 samplerMatrix,
XRCameraParams? cameraParams = null
)
セマンティック・チャンネルのテクスチャ記述子と、テクスチャをビューポートにフィットさせるために使用される行列を取得します。
パラメーター:
channelName
- 必要なセマンティック・チャンネルの文字列。
semanticsChannelDescriptor
- プロバイダーから利用可能であれば、入力されるセマンティック・チャンネルのテクスチャ記述子。
samplerMatrix
- 正規化されたビューポート座標から正規化されたテクスチャ座標に変換します。
cameraParams
- ビューポートを記述します。
System.NotSupportedException
- 実装がセマンティック・チャンネルテクスチャをサポートしていない場合にスローされます。
戻り値:
セマンティック・チャンネルのテクスチャ・ディスクリプタが利用可能で、返される場合はtrue。 それ以外の場合、false。
TryAcquireSemanticChannelCpuImage
bool TryAcquireSemanticChannelCpuImage(
string channelName,
out XRCpuImage cpuImage,
out Matrix4x4 samplerMatrix,
XRCameraParams? cameraParams = null
)
最新のセマンティック・チャンネルXRCpuImageの取得を試みる。
パラメーター:
channelName
- 必要なセマンティック・チャンネルの文字列。
cpuImage
- このメソッドが true
を返した場合、取得した XRCpuImage を返します。 XRCpuImageは呼び出し元が処分しなければなりません。
samplerMatrix
- ビューポートからテクスチャ座標に変換する行列。
cameraParams
- サンプリングするビューポートのパラメータ。
戻り値:
XRCpuImage の取得に成功した場合に true
を返します。 そうでなければ false
を返します。
TryGetPackedSemanticChannels
bool TryGetPackedSemanticChannels(
out XRTextureDescriptor packedSemanticsDescriptor,
out Matrix4x4 samplerMatrix,
XRCameraParams? cameraParams = null
)
パックされたセマンティック・テクスチャ記述子を取得します。
パラメーター:
packedSemanticsDescriptor
- プロバイダから利用可能であれば、入力されるパックされたセマンティック・テクスチャ記述子。
samplerMatrix
- ビューポートからテクスチャ座標に変換する行列。
cameraParams
- ビューポートを記述します。
System.NotSupportedException
- packed semantics texture をサポートしていない場合にスローされます。
戻り値:
packed semantics texture descriptorが利用可能であればtrueを返す。 それ以外の場合、false。
TryAcquirePackedSemanticChannelsCpuImage
bool TryAcquirePackedSemanticChannelsCpuImage(
out XRCpuImage cpuImage,
out Matrix4x4 samplerMatrix,
XRCameraParams? cameraParams = null
)
パックされたセマンティックチャンネルの最新のCPU画像の取得を試みます。
パラメーター:
cpuImage
- このメソッドが true
を返した場合、取得した XRCpuImage を返します。 XRCpuImageは呼び出し元が処分しなければなりません。
samplerMatrix
- ビューポートからテクスチャ座標に変換する行列。
cameraParams
- ビューポートを記述します。
戻り値:
TryGetSuppressionMaskTexture
bool TryGetSuppressionMaskTexture(
out XRTextureDescriptor suppressionMaskDescriptor,
out Matrix4x4 samplerMatrix,
XRCameraParams? cameraParams = null
)
最新のセマンティックからセマンティック抑制マスクテクスチャの記述子の生成を試みます。
パラメーター:
suppressionMaskDescriptor
- プロバイダから取得可能な場合に設定されるセマンティック抑制マスクテクスチャの記述子。
samplerMatrix
- ビューポートからテクスチャ座標に変換する行列。
cameraParams
- ビューポートを記述します。
System.NotSupportedException
- セマンティック抑制マスクテクスチャが実装でサポートされていない場合にスローされます。
戻り値:
セマンティック抑制マスクテクスチャの記述子が取得可能な場合はtrueが返ります。 それ以外の場合、false。
TryAcquireSuppressionMaskCpuImage
bool TryAcquireSuppressionMaskCpuImage(
out XRCpuImage cpuImage,
out Matrix4x4 samplerMatrix,
XRCameraParams? cameraParams = null
)
最新のセマンティックから抑制マスクのXRCpuImageの生成を試みます。
パラメーター:
cpuImage
- このメソッドが true
を返した場合、取得した XRCpuImage を返します。 XRCpuImageは呼び出し元が処分しなければなりません。
samplerMatrix
- ビューポートからテクスチャ座標に変換する行列。
cameraParams
- ビューポートを記述します。
戻り値:
TryGetChannelNames
bool TryGetChannelNames(out IReadOnlyList<string> names)
現在のセマンティックモデルのセマンティックチャンネル名のリストを取得します。
パラメーター:
System.NotSupportedException
- チャネル名の読み込みが実装によってサポートされていない場合にスローされます。
戻り値:
セマンティックカテゴリーのラベルリスト。 メタデータがまだ利用可能になっていない場合、リストは空になる。
TrySetChannelConfidenceThresholds
bool TrySetChannelConfidenceThresholds(Dictionary<string, float> channelConfidenceThresholds)
パックされたセマンティックチャンネルバッファに指定されたセマンティックチャンネルを含めるために使用される信頼度の閾値を設定します。
各セマンティック・チャンネルは、ARセッション中にこの関数によって新しい値が設定されるまで、モデルによって選択されたデフォルトの閾値を使用します。
パラメーター:
channelConfidenceThresholds
- 必要とされるセマンティック・チャンネルの名前を指定するキーと、プラットフォームが指定されたチャネルをパックされたセマンティックバッファに含める閾値を設定する0から1までの値で構成される辞書。 キーは、TryGetChannelNamesが返すリストに存在するセマンティックチャネル名でなければなりません。
System.NotSupportedException
- 信頼度の閾値の設定が実装によってサポートされていない場合にスローされます。
戻り値:
閾値が設定されていればtrue。 それ以外の場合、false。
TryResetChannelConfidenceThresholds
bool TryResetChannelConfidenceThresholds()
すべてのセマンティック・チャンネルの信頼度閾値を、現在のモデルのデフォルト値にリセットします。
これにより、TrySetChannelConfidenceThresholdsで行った変更はすべて元に戻ります。
パラメーター:
System.NotSupportedException
- 信頼度閾値のリセットが実装でサポートされていない場合にスローされます。
戻り値:
閾値がリセットされた場合はtrueが返ります。 それ以外の場合、false。
Regiter
static bool Register(XRSemanticsSubsystemCinfo semanticsSubsystemCinfo)
セマンティック・サブシステム実装の記述子を登録します。
パラメーター:
semanticsSubsystemCinfo
- セマンティック・サブシステムの実装構築情報。
戻り値:
ディスクリプタが登録されていればtrue。 それ以外の場合、false。