本文へスキップ

セマンティック

セマンティック・セグメンテーションとは、画像内の特定の領域にラベルを割り当てる処理である。 環境をより豊かに理解することで、さまざまな創造的なAR機能が可能になる。 例えば、ARペットが地面を識別して走ったり、AR惑星が空を埋め尽くしたり、現実世界の地面がAR溶岩に変わったりすることができます!

スカイチャンネルでマスクされたドットのイメージ

What's new?

ARDK 3は、新しいXRSemanticsSubsystemクラスを通じて、このユニークな機能を提供する。 ARSemanticSegmentationManagerは、このサブシステムのデータを MonoBehaviour として利用可能にし、サブシステムのライフサイクルを管理します。 これらのクラスを通して、ARDKは2つの形で意味的予測を提供する:

  1. "packed semantic channels "と呼ばれる、ビューポート内の各ピクセルの符号なし整数のバッファ。 各整数の32ビットは意味チャネルに対応し、そのチャネル内のオブジェクトがそのピクセルに存在するかどうかによって、有効(値は1)または無効(値は0)になる。 ピクセルは複数のラベルを持つことができる。例えば、groundと natural_groundの両方を持つことができる。
バッファ図
  1. 各意味チャンネルに対して、ビューポート内の各ピクセルの正規化された(0と1の間の)浮動小数点値のバッファがあります。 これらの浮動小数点は、そのピクセルが指定された意味チャネルとして分類されるべき確率を示す。

Unityシーンの統合

デフォルトでは、ARSemanticSegmentationManagerはシンプルで、Inspectorウィンドウにフレームレート設定のパラメータが1つ公開されているだけです。

ARSemanticSegmentationManagerインスペクタ

ARSemanticSegmentationManager自体は複雑ではないが、他のLightshipコンポーネントには、シーンに存在し、アクティブであることを必要とする機能がある。 たとえば、次のようなものがあります。

利用可能なセマンティック・チャンネル

現在利用可能なセマンティックチャンネルを以下のテーブルに示します。 ARDKの新しいバージョンでは、このリストのチャンネルの順序が変更される可能性があるため、アプリではインデックス値ではなく名前を使用することをお勧めします。 実行時に名前を確認するには、XRSemanticsSubsystem.TryGetChannelNamesメソッドまたはARSemanticSegmentationManager.ChannelNamesプロパティを使用します。

チャンネル名はニューラルネットワークモデルから読み込まれるため、セマンティクスサブシステムが起動するとき、モデルが初期化されるとき、チャンネル名が利用可能になるまでに若干の遅延が生じる。 この遅延は、事前にモデルをダウンロードすることで減らすことができる。 詳しくは「ニューラルネットワーク・モデルのプリロード」を参照。

クリックしてセマンティック・チャンネルの表を拡大
インデックスチャンネル名説明
[0]sky雲を含みます。 霧は含まれません。
[1]groundnatural_ground および artificial_groundのすべてを含む。 natural_ground(天然)かartificial_ground(人工)か曖昧な場合は、この2つの組み合わせよりもGround が適している場合があります。
[2]natural_ground土や草、砂、泥、その他の有機地面や自然地面を含みます。 草木が生い茂る地面では、 foliage として検出されることがあります。
[3]artificial_ground道路や歩道、トラック、カーペット、ラグ、フローリング、小道、砂利、一部の競技場などを含みます。
[4]water川、海、池、湖、プール、滝、一部の水たまりを含みます。 飲料水、コップ、ボウル、流し台、風呂の水は含まれません。 反射の強い水は、水としてではなく、反射の中にあるものとして検出されることがあります。
[5]person身体の部位や髪、着用している服などを含みます。 アクセサリーや携帯品は含まれません。 個人は特定されません。 マネキンや玩具、彫像、絵画など、人物を表現するその他の芸術作品は「人物」とはみなされませんが、検出されることがあります。 人物の写実的な画像が「人物」として検出される場合があります。 人物が画像に部分的に写っていたり、しゃがんだり腕を大きく広げたりするなど、通常とは異なる姿勢をとっていたりすると、モデルのパフォーマンスが低下することがあります。
[6]building近代的なものから伝統的なものまで、また住宅や商業施設を含みます。 壁と同義ではありません。
[7]foliage潅木、低木、木の葉の部分や幹、鉢植え、花を含みます。
[8]grass芝生などの草地。背の高い草などは対象外です。

実験的セマンティック・チャンネル

Lightshipは実験的なセマンティック・チャンネルも提供しています。 これらのチャネルは実験的なものであるため、精度の改善が必要な場合があります。これらのチャネルに問題がある場合は、 Lightship Developer Communityにフィードバックをお寄せください。

注意

実験的な機能は、本番レベルのアプリケーションで使用することは推奨されません!

クリックして実験チャンネルを拡大
インデックスチャンネル名説明
[9]flower_experimental鮮やかな色の花びらを持ち、花粉を供給する植物の部分。 緑の部分(茎、葉)は含まない。
[10]tree_trunk_experimental樹木の葉のある樹冠や枝と根をつなぐ部分。 葉、枝、花、加工・切断された木材(丸太)は含まれない。
[11]pet_experimental犬と猫のみ。 犬や猫のぬいぐるみ等には使用できない。
[12]sand_experimental細かく砕かれた岩石や鉱物の粒子。 砂にはさまざまな組成があるが、粒径が小さいことが特徴です。 床や地面にある砂や砂利の表面、濡れた砂、砂の城やサンドアートなど、あらゆる種類のものが含まれる。 土は含まれない。
[13]tv_experimentalデジタル機器の画面部分。 スクリーンをオンにした場合とオフにした場合の両方を含む。 画面周りのフレーム(「ベゼル」)、スタンドを除く。
[14]dirt_experimental泥とほこりが地面を覆っている。 砂とかなり重なる可能性がある。 未舗装路を含む。
[15]vehicle_experimental自動車を構成するすべての部品を含む。 あらゆるタイプの車とトラックをカバー。 オートバイ、自転車、人力車、馬車、トゥクトゥク、電車/路面電車、ボート/船、飛行機/ヘリコプター/ホバークラフトでも使用可能。
[16]food_experimental人間が「飲み物」としてではなく「食べ物」として消費できるものが対象。塩・コショウ、食べ物や材料を含む可能性がある箱や包装も含む。 生きた動物、ペットフード、料理が盛られた皿や食器は含まれない。
[17]loungeable_experimental座ることを目的としたすべての物。 ベッド(脚とベースを含む)、椅子やソファの脚とベースを含む。 ベッド(脚とベースを含む)、椅子やソファの脚とベースを含みます。
[18]snow_experimental大気中の水蒸気が凍結して氷の結晶となり、軽く白い薄片となって降り注ぐか、白い層となった地表。 きれいな雪と汚れた雪を含む。 氷山やつらら、氷や雪の彫刻、イグルーや雪の家。 飲み物の氷、空の雪は含まれない。

さらに詳しく