見出し画像

Niantic Lightship ARDK セマンティック セグメンテーションに追加された様々なチャンネルを検証してみた。

OnePlanet XR について

OnePlanet XR というAR/MR技術に専門特化したコンサルティングサービスです。豊富な実績を元に、AR/MR技術を活用した新たな事業の立ち上げ支援や、社内業務のデジタル化/DX推進など、貴社の必要とするイノベーションを実現いたします。
弊社では、Niantic Lightship ARDKを使ったアプリケーションの開発を行っており、サンフランシスコと日本で開催されたNiantic主催のLightship Summitの会場でアプリケーションの動画を流していただきました。

ご相談から受け付けております。ご興味ございましたらお問い合わせください。

https://1planet.co.jp/xrconsulting.html

Niantic Lightship ARDK のセマンティック セグメンテーションに新しくチャンネルが追加されました。

Niantic Lightship ARDK の 代表的な機能でもある「セマンティック セグメンテーション」に新しいチャンネルが追加されました。今回は既存のチャンネルのおさらいと新しいチャンネルについて説明と動作検証を実施したいと思います。

過去に「セマンティック セグメンテーション」についてブログ記事を投稿しています。こちらも参考にしていただければと思います。

セマンティック セグメンテーションのチャンネルについて

ここではNiantic Lightship ARDK v2.3.0 でサポートしているセマンティック セグメンテーションのチャンネルを紹介します。

正式にサポートしているチャンネル

Niantic Lightship ARDKに正式にサポートしているチャンネルになります。

sky (インデックス:0)

雲を含む空を検出することができます。

ground (インデックス:1)

地面全般を検出します。(道路や土の地面などは別のチャンネルで検出と同時にgroundも検出されるため、複数の検出情報を判定を行う必要があります。)

natural_ground (インデックス:2)

土や草、砂、泥などの地面。草木が生い茂った場所は検出されず、grass として検出されます。

artificial_ground (インデックス: 3)

道路や歩道、カーペット、フローリング、砂利などが検出されます。

water (インデックス: 4)

川、海、池、湖、プール、滝、一部の水たまりを検出します。(飲料水、コップ、ボウル、流し台、風呂は検出されず、反射の強い水も検出されません。)

person (インデックス: 5)

人間を検出します。身体の部位や髪、着用している服などを含みます。(マネキンや玩具、彫像、絵画なども、検出される場合があります。)写実的な画像も検出されます。基礎となるモデルの詳細については、 モデルカード:人物のセグメンテーション をご参照ください。

building (インデックス: 6)

住宅や商業施設、ビルなど建物全般を検出します。

foliage (インデックス: 7)

木の木の葉の部分や幹、鉢植えなどがあります。

grass (インデックス: 8)

芝生などの草を検出します。(背の高い草などは対象外。)

実験的に導入しているチャンネル

Niantic Lightship ARDKに実験段階で導入されたチャンネルになります。

flower_experimental (インデックス: 9)

色鮮やかな花びらを持つ花を検出します。(花の部分のみ検出し、緑色の部分(茎や葉)は検出されません。)

tree_trunk_experimental(インデックス: 10)

葉の生い茂る樹冠や枝と根をつなぐ部分。葉、枝、花や、加工または切断された木材(丸太)は含まれません。

pet_experimental(インデックス: 11)

犬と猫を検出します。(ぬいぐるみは対象外。)

sand_experimental(インデックス: 12)

床や地面にある砂や砂利の表面、濡れた砂、砂の城や砂絵など、あらゆる種類のものを検出します。(土は検出されません。)

tv_experimental(インデックス: 13)

デジタル機器の画面。電源が入っている状態に関わらず検出されます。(画面のベゼルやスタンドは検出されません。)

dirt_experimental(インデックス: 14)

地表を覆う泥や塵を検出します。未舗装の道路を含みます。

vehicle_experimental(インデックス: 15)

自動車、すべての車種やトラックを検出します。オートバイや自転車、人力車、馬車、船、飛行機、ヘリコプター、ホバークラフトにも対応する予定のようです。(個々で精度は異なる模様、)

food_experimental(インデックス: 16)

人間が食べ物として摂取できるものを検出します。

loungeable_experimental(インデックス: 17)

座ることを目的としたすべてのオブジェクトを検出します。ベッド(脚や土台を含む)や、椅子やソファーの脚や土台を含みます。(ペット用のものは検出されません。)

snow_experimental(インデックス: 18)

雪全般を検出します。地表を覆った雪、きれいな雪と汚れた雪も対象です。氷山や氷柱、氷雪像、イグルー(ドーム状の家や建物)や雪の家なども含まれます。飲み物の中の氷、空に舞う雪は検出されません。

セマンティックセグメンテーションの検証を実施

ARDK Example Scenes に含まれているSemanticSegmentationシーンには、検出したチャンネルに対して白色に描画する機能があり、上記で説明した全チャンネル分に対応しています。このSemanticSegmentationシーンを使って、一部のチャンネルの動作検証を実施しました。

以下の環境でビルド〜動作検証を実施しました。

Unity Editor 2020.3.28f1
Niantic Lightship ARDK 2.3
iPhone 12 Pro (iOS 15.6)

sky (インデックス:0)

Niantic Lishtship ARDK セマンティック セグメンテーション sky

雲も含めた空が検出されます。(夜空も検出することができました。)

ground (インデックス:1)


Niantic Lishtship ARDK セマンティック セグメンテーション ground

地面であれば、道路や土の地面であっても検出することができます。

natural_ground (インデックス:2)

Niantic Lishtship ARDK セマンティック セグメンテーション natural_ground

土でできた地面で検証した所、問題なく検出できました。

artificial_ground (インデックス: 3)

Niantic Lishtship ARDK セマンティック セグメンテーション artificial_ground

道路、問題なく検出できました。(人影を識別する挙動もありましたが、一定時間経過すると人影のある道路は道路として認識しました。)

water(インデックス: 4)

Niantic Lishtship ARDK セマンティック セグメンテーション water

waterは川で検証した所、空が水面に映っていたため、川一面が検出することが困難の印象。川だけでなく一部の橋もwaterとして認識することもあった。

person(インデックス: 5)

Niantic Lishtship ARDK セマンティック セグメンテーション person

人の動きをトレースしながら検出。足や手の一部でも検出し、自転車で移動している人も問題なく検出しました。(対象者が遠いと検出が難しく、ある一定の距離まで近づかないと検出は困難。)

building (インデックス: 6)

Niantic Lishtship ARDK セマンティック セグメンテーション building

町中の建物全体を検出されたが、トラッキング時の向きや距離感に応じて検出精度が疎らであった。

foliage (インデックス: 7)

Niantic Lishtship ARDK セマンティック セグメンテーション foliage

植木など緑全般を広範囲に検出。

grass (インデックス: 8)

Niantic Lishtship ARDK セマンティック セグメンテーション grass

地面に多くの雑草がある中、検証を実施した所、雑草が密集している所が検出され、雑草の隙間にある地面も巻き込まれて検出された。雑草がほとんどない地面はgrassとして検出されないが、ある程度の雑草が含まれると地面もgrassとして検出される模様。

flower_experimental (インデックス: 9)

花の花びらだけ検出され、かなり近づかないと検出が困難。

tree_trunk_experimental(インデックス: 10)

木の部分だけが検出され、ある一定の距離まで近づかないと枝までは検出ができない。

pet_experimental(インデックス: 11)

ある一定の距離まで近づかないと検出されないが、動きは追従して認識します。

sand_experimental(インデックス: 12)

grass を 除いた natural_ground のような挙動で検出精度は少し粗い印象。

tv_experimental(インデックス: 13)

テレビの画面を検出。検出精度は高い印象。

vehicle_experimental(インデックス: 15)

走っている車で検証。遠い車は検出は難しく、ある一定の距離まで近づけば問題なく検出できた。車のスピードにも問題なく付いていきながら検出することができた。

food_experimental(インデックス: 16)

食べ物全般を広範囲に検出することができた。検出の精度は粗い印象。

loungeable_experimental(インデックス: 17)

イスは近づくことで全体の検出精度がアップ。少し距離を置くと検出精度が落ちる印象。

まとめ

正式にサポートしているチャンネルの精度は高く感じたが、状況によっては検出精度が落ちる時がありました。実験的に導入しているチャンネルは、個々によって検出精度に差分があったが、思った以上に精度は高かったように感じました。ある一定の距離感を保つことで最適な検出も可能。誤検出するケースもありましたが、実験的に導入しているセマンティック セグメンテーションの信頼度の情報を取得することで、より精度の高い検出も可能なため、この機能を活用しても良いように思いました。

OnePlanet Tech Magazine

Magic Leap 、スマホAR(Niantic Lightship ARDKやWebAR)といったAR技術全般をブログマガジンを連載しています。

OnePlanet XR

AR/MR技術に専門特化したコンサルティングサービス

https://1planet.co.jp/xrconsulting.html

https://1planet.co.jp/xrconsulting.html