spacelyのブログ

Spacely Engineer's Blog

Spacelyの研究開発プロジェクト紹介

はじめに

スペースリーの研究開発チームでエンジニアをしている植木です。この記事ではスペースリーで行っている研究開発について紹介します。

弊社は空間データプラットフォームを提供しており、具体的なアプリケーションとしては、不動産領域でのVR/Web内覧サービスや、研修領域に向けたVR研修サービスなどがあります。

VRというと3DCGのゲームやエンタメのイメージが強いと思いますが、弊社では360°カメラで撮影した実写の画像や動画をコンテンツとするサービスを展開しています。
VRを扱う会社でありつつ実写画像をメインで扱うため、画像や空間を認識するComputer Visionと、その結果をユーザに提示するComputer Graphicsの両方の研究開発を行っている点がユニークで魅力的かなと思います。
この記事を通じて弊社の研究開発に少しでも興味を持ってもらえたら幸いです。

弊社のサービスについて

まずは簡単に弊社のサービスについて説明します。
弊社は、360度パノラマ画像/動画や3Dデータなどの空間表現に必要なデータを空間データとして、それらを管理し汎用的に閲覧可能にするプラットフォームを提供しています。
聞き馴染みがないかもしれませんがBtoBtoCの会社なので、もしかしたら引越し先を検討している際などに弊社のWebビューワーを知らずに利用した事がある方もいらっしゃるかもしれません。
また、VRとは言うものの、特に不動産内覧サービスではVRヘッドセットを使わず、PCやスマートフォンのブラウザ上で閲覧するスタイルに重点を置いています。一方で、研修領域に向けてはVRヘッドセットを使って使用するアプリケーションの開発を行っています。

今年2月にはパノラマ画像のみを使って3Dに変換した物件を閲覧する3Dプレイヤーをリリースしました。(下のリンクから実際に3Dコンテンツを閲覧できます。)

3Dプレイヤー サンプルプロジェクト "3Dプレイヤー サンプルプロジェクト"

Matterportなど類似するサービスもありますが、弊社の3Dコンテンツは市販の360°カメラで撮影した2Dパノラマ画像だけを使って作成するので、LiDARなどの特殊なセンサーが無くても、低コストで誰でも簡単に3Dコンテンツの作成ができる点で異なります。

以上のように、スペースリーでは物件内で撮影されたパノラマ画像や一般画像、間取り図といった不動産にまつわるデータを数多く保有しており、 これらのデータを活用してより便利で新しいWebVR体験の提供を目指しています。

研究開発プロジェクト紹介

シーンカテゴリ推定機能

スマートフォンで撮影した一般画像や、市販の360度カメラで撮影したパノラマ画像を、機械学習を使って撮影されたシーンカテゴリに分類する技術です。
例えばキッチンで撮影した画像を弊社のサービスに登録するとその画像ファイルに対して「キッチン」のラベルを付与します。
こちらの機能はクラウドサーバ上で推論を実行する通常のモデルに加えて、スマートフォン上で推論を行うためにMobileNetのような軽量なモデルも作成しています。
こちらの機能は主に撮影時などのVRコンテンツ作成時に、各画像へのタイトルやタグの付与などの用途で利用されています。

オブジェクト・シーン認識機能

撮影されたパノラマ画像の中に写っているオブジェクトやシーン全体を認識する技術です。
具体的には、Object-DetectionとSemantic-Segmentationそれぞれの推定モデルを作成し、アプリケーションに応じて使い分けています。
弊社の不動産領域での活用のために、屋内シーンに特化した独自のデータセットを作成し、推論モデルを作成しました。
また、弊社が主に扱うのはパノラマ画像のため一般的な画像と異なり大きく歪んでいます。この歪みを考慮するためにも独自のデータセットの作成が必要でした。
こちらも一般的な画像認識技術ですが、様々な自動化ツールの実装のための基礎的な機能として広く活用しています。

セグメンテーション画像例

バーチャル家具配置機能

物件の画像を見るだけでは空間のサイズ感や家具をどのように配置して生活するかイメージすることは難しいので、誰でも簡単にバーチャル空間で家具を配置できる機能を提供しています。
この機能では誰でも簡単に好きな家具レイアウトをシミュレーションするだけでなく、自動で家具配置の提案を行う機能や、配置した家具をフォトリアルにレンダリングする機能も提供しています。
限られた情報を使った家具の自動配置や、フォトリアルなレンダリングは比較的ユニークでチャレンジングな課題のため今後も継続的な研究開発が必要です。

家具配置画面のスクリーンショット

フォトリアルなレンダリングのBefore/After

こちらのサービスのWebUIの実装に関する記事は以下にあるので、興味がある方は是非ご覧ください。 tech.spacely.co.jp

物件の3D化機能

360°カメラで撮影したパノラマ画像を使って物件の3D化を行う技術です。
物件全体の3D再構成を実現するためには、各部屋の形状に関する情報が必要になります、精度の高い3D再構成のためには空間内に配置されている家具などのオブジェクトの3D情報の取得も必要ですし、複雑な形状の部屋では複数枚撮影したパノラマ画像を組み合わせて1つの空間を再構成する必要もあります。
また、上記の一連のデータが得られたら、それらの情報を使って実際に3Dの物件構造を再構成しWebビューワーとしてブラウザ上で閲覧可能にする必要があります。
これらの機能はWebGLを用いて実装しており、さらなる改善と機能追加のために日々開発を行っています。

3D再構成した物件例

部屋の形状推定機能

3Dコンテンツ作成の鍵となる機能で、パノラマ画像から部屋の形状の推定を行っています。
部屋の形状はパノラマ画像を入力として、部屋の角の位置や、壁と床・壁と天井の境界線を認識する事で推定しています。
こちらは実際に作成した3Dコンテンツデータからデータセットを作成し、推定モデルのトレーニングを行いました。サービス提供を通じて継続的にデータを収集し、モデルの精度を向上させるためのMLOpsの仕組みも構築しています。

部屋の形状推定例

間取り図認識機能

間取り図も物件情報を把握する上でとても重要な情報源です。しかし、画像データの間取り図のままでは非構造化データなのでプログラムで扱うには不便です。
この間取り図の画像データを構造化データに変換するためにも機械学習モデルを活用しています。
構造化された間取り図データがあると、物件内での部屋の位置関係などが把握できるため、3Dコンテンツ作成ステップの一部の自動化に役立ちます。
下画像は間取り図認識結果の一例です。左が入力画像で、右が構造化データに変換された間取り図を表示したものです。

間取り図認識の例

その他プロトタイピングや技術検証など

これまでは実際に提供しているサービスに関わる技術を紹介しましたが、その他にも様々な技術検証やプロトタイピングを行っています。
近年ではNeRFを使った空間の3D再構成技術が日々進化しているので、弊社のサービスにも活用できないか技術検証をしています。
tech.spacely.co.jp

また、LiDARなどのdepthセンサーで得られる点群情報を使わず2D画像のみを使った複雑な空間や家具の3D再構成は難易度が高く、以下の記事のように以前技術検証を行いましたが、研究開発の課題として残っています。
tech.spacely.co.jp

最近では生成AI技術の精度が格段に上がっていますが、弊社では特に画像生成AIを活用したサービスや機能のプロトタイピングや技術検証を行っています。

最後に

それぞれ簡易でふわっとした紹介でしたが、少しでも弊社で行っている研究開発のイメージが伝われば幸いです。
また、スペースリーでは開発メンバーを募集中です。
冒頭でも述べたとおり、CVとCGの双方の技術を使って実用的なサービス開発が出来るのが弊社の特徴だと思いますので、それらの技術領域の研究開発に興味がある方は是非こちらの採用サイトをご覧ください!