2020.10.13

最先端モバイルAR技術を活用してリノベーション・リフォーム分野に作業支援の実証実験について

Pocket

はじめに

こんにちは、次世代システム研究室のB.M.Kです。

この数年、拡張現実技術(AR)の研究開発は国内外で非常に盛んでいて不動産、インテリアデザイン、ゲーム、ヘルスケア等の大幅な分野に応用されています。それらの分野の中でARの特徴をフルに発揮できる分野そして実用性が高いかつ比較的に実証実験を行いやすい分野が不動産分野だと言われます。不動産分野の中でもAR技術の応用が非常にポテンシャルがあるのはリノベーション・リフォーム分野です。リノベーション・リフォームとは部屋のボロボロになった部分を修復したり、新たな機能や価値を付け加えたりする改装工事を意味します。

リノベーション・リフォームにて「工事後の状態をイメージしにくい」、「可視化力が弱い」という大きな課題を抱えています。例えば床・壁クロス張り替えというリノベーション・リフォーム分野の一番基本的な工事を行う時に業者さんから持ち運んできた紙ベースカタログを見て、何の素材を選ぶかカタログに掲載されている床材、壁紙のサンプルからそれらの素材を部屋に張り替えた後の状態を頭の中で想像して判断するしかないという現在の主なプロセスだと思います。このプロセスの結果は個々の人間の想像力に依存してしまい、工事後の結果が最初に想像した状態と全然違う状態になることが珍しくありません。そして、紙ベースカタログの使用なので床材、壁紙などの選択肢が限られるという別の課題もあります。幸いなことに、「可視化力」がAR技術の強みであり、AR技術とデジタル化を活用したら、これらの課題を克服することができます。

今回は最先端モバイルAR技術(アップルの最新ARフレームワークARKit 4.0 及びLiDAR深度センサーが搭載されている新型iPad Pro 2020)を利用して「工事後の状態の可視化力が弱い」及び「素材の選択肢が限られる」という二つの課題を実証実験で解決してみたいと思います。


図1: Ipad Pro 2020 に搭載されているLiDARセンサー

LiDARとはLight Detection and Ranging(光検出と測距)の略語で対象物にレーザをパルス状に照射し、反射して戻ってくるまでの時間(光の飛行時間)を計測することで距離を測る技術です。光の飛行時間はToF(Time of Flight)と呼ばれ、これを用いて距離を計算する方法をToF法といいます。

今回の実証実験の環境は物が置かれていない空間と家具などの物が置いてある空間を分けて実施しました。まず物が置かれていない空間でのデモです。



本デモではまず、空間の全平面(水平面、垂直面)を認識して検出します。そして、機械学習を活用して平面の分類(床、壁、天井、テーブル、座席、ドア、窓という7周類の平面)を同時に行います。分類ができた後、ユーザーの指示によりどの平面を表示するかリアルタイムに処理します。そして各平面毎に仮想 3D平面オブジェクトを実平面上にオーバーレイレンダリングを行い、それらのオブジェクトの表面素材の色、テクスチャー等の変更処理を行います。

開発環境

  • MacBook Pro Catalina 10.15.5
  • Xcode Version 12.0 beta 4
  • iPadOS Version 14.0
  • iPad Pro 11インチ(第2世代)
  • Unity 2020.1.0f1
  • AR Foundation 4.1.0-preview.6

主な処理

平面認識

現在モバイルAR技術(iOSのARKit、AndroidのARCore)は空間内の実物体の自然特徴とAR端末(スマホ等)に搭載されている内部センサーを活用して実物体を認識とトラッキング(追跡)を行います。平面認識を行う時に、テーブルや壁などの一般的な水平面または垂直面にあるように見える特徴点のクラスターを探し、これらの特徴点のクラスターをアプリで平面として使用できるようにします。最新のiPad Pro 2020ではLiDARから取得した深度データを活用することで特徴点がほぼない平面又は特徴点なしの画面でも素早く検出できるようになりました。

平面分類

最新ARKit 4.0 及びiPad Proでは平面認識が素早く検出できるようになるだけのではなく、機械学習(ディープラーニング)を活用することで平面検出をしながら平面分類をリアルタイムに実現できるようになりました。リアルタイムの平面分類を実現するのに最も重要な役割を果たすコンポーネントは、ニューラルエンジンと呼ばれるコンポーネントです。ニューラルエンジンとはiPhone XのCPUチップ「A11 Bionic」で初めて搭載され、機械学習関連の処理に特化したSoC(System on Chip) の一部を意味します。近年半導体各社は、「ニューラルプロセッシングユニット(NPU)」と呼ばれるCPU/SoCの開発を積極的に進めています。画像や音声、自然言語の認識処理を行うためには、大量の比較的単純な演算を高速かつ低電力で実行する性能が求められるため、機械学習専用プロセッサを提供しようというわけです。iPhone XS/XS Maxの製品紹介文にある「毎秒5兆の演算処理」という処理能力に至って、iPad Pro 2020 に搭載されている「A12Z」がより機能強化が続けられてきました。

仮想3D平面オブジェクトのレンダリングとマテリアルの色とテクスチャーの変更処理

空間内に認識された平面の色とテクスチャーの変更処理を実現するために、まず実平面上に仮想3D平面オブジェクトをオーバーレィレンダリングする必要になります。端末を実平面にかざし、端末画面の中心点から仮想レイキャスティングを行い、実平面と交差する点で アンカー(ARPlaneAnchor)というものを置きます。そして、アンカーの位置に仮想平面オブジェクトをレンダリングを行います。アンカーの詳細については、以下のリンクをご参照下さい。
ARPlaneAnchor

今回はUnityを利用することで、仮想3D平面オブジェクトをレンダリングする時、平面のメッシュとマテリアルの構成で実施ます。そのため、 Unityのメッシュレンダラーを経由したら、レンダリングされるオブジェクトのマテリアルを取得することができます。マテリアルが取得できるとマテリアルの属性である色、そしてメインテクスチャー等を弄ることができます。


図2: 仮想3D平面オブジェクトのレンダリング

家具などの物が置いてある空間の場合

実際、リノベーション・リフォームの工事着手前の検討段階でソファ、テーブルなどの移動しにくい大きな家具が既に空間内に存在していることが珍しくありません。これらの場合では、奥行きデータを活用して、室内の家具を移動しないままの状態で工事後のイメージがどこまで実現できるのかを以下の実証実験を行いました。



本デモでは奥行きデータを利用する場合としない場合を分けてデモをしました。
iPad Pro 2020に搭載されている深度センサーLiDARを利用すると空間内の実物体までの距離をメートル単位で取得することができます(取得した結果がデップマップと呼ばれます)。仮想オブジェクトをレンダリングする時に、これらの深度データを利用しない場合、デフォルトとしてユーザーの視野内一番手前の位置でレンダリングします。深度データを活用すると、毎フレームでレンダリングしたい仮想オブジェクトの位置と環境内の実物体の位置(デップマップの活用)を比較し、実物体と重なる仮想オブジェクトのピクセルをレンダリングしたい処理を行います。結果は仮想オブジェクトが実物体の後ろになるような感覚を与えることができます。

まとめ

今回は最先端モバイルAR技術(ARKit 4.0及び深度センサーLiDAR)を活用してリノベーション・リフォーム分野に作業支援の実証実験を行いました。物が置かれていない空間の場合、毎フレームに処理される平面検出、平面分類、仮想オブジェクトのレンダリング、マテリアルの色とテクスチャーの変更処理等が早く行うことができ、仮想空間と実空間との融合の精度がかなり高いと思います。ソファ、テーブル、家具等の物が置いてある空間の場合、同時に平面検出、分類をしながら奥行きデータの参照、レンダリングを処理することは計算がまだ重く、オバーレィレンダリングの結果はまだ少し不安定の状態になってしまいます。しかし、毎年アップルがCPUチップの処理能力、ニューラルエンジン、センサーをどんどん強化していくので近い将来に精度が益々向上されると信じます。

最後に

次世代システム研究室では、アプリケーション開発や設計を行うアーキテクトを募集しています。アプリケーション開発者の方、次世代システム研究室にご興味を持って頂ける方がいらっしゃいましたら、ぜひ 募集職種一覧 からご応募をお願いします。

Pocket

関連記事