ブログ@HoloLabInc

株式会社ホロラボのブログです

「スキルアップ週間」という名の「モブワーク」をやってみました

中村です。

今週はメンバー間の技術共有、4月になって受託開発案件が落ち着いたこと、連休前の気分転換などから「スキルアップ週間」と称して「モブワーク」のイベントをやってみました。

speakerdeck.com

目的は基本スキル向上と共有(実践練習の場)とし、お題に対する感性を目的としない、さまざまな技術やツール、日ごろ勉強している内容の実践の場と定義しました。完成を目的としないことで、実験のしやすさや、注力するポイントを変えるなど、チームの興味に柔軟に対応できるようにしています。このあたりは Coderetreat の思想を取り入れています。

参加メンバーには1日~3日の時間をとってもらい、チーム編成、アプリ開発(2時間 x 3スプリント)を行いました。毎日作るものは同じでゼロから作るようにしています。これはアプリを作るうえでよくある「作り直したい」を仕組みとしていれているのと、同じことを繰り返すことで内部の洗練を目的にしています。また、毎日最初から始めることで、1日だけの参加者にも入りやすいようにしています。

「毎日ゼロから作る」、「チームを毎日変える」、「全チーム、全日同じテーマで作る」あたりは変数なので、いろいろ変えてみてもおもしろそうです。

f:id:kaorun55:20210430165340p:plain

f:id:kaorun55:20210430165347p:plain

初日は作ることにフォーカスをするチームが多く「まずはやってみる」から始まり、2日目は設計・テストへの興味、3日はUI/UXへの取り組みと、同じことを繰り返すためより全体を見通して考えられるようになったように感じました。

ホロラボも30人を超えてきて、フルリモートワークということでメンバー間同士のつながりも意識的にしないといけないということでの今回の取り組み、参加メンバーからは「普段は話さない人と話せた」、「知識の共有ができた」、「個々人で考えてること、意識の疎通は難しい」などのコメントがもらえたので、今後も継続してやってみようと思います。

(オンラインだと、わいわいやってる様子の写真が取れないので、楽しさを伝えきれないのが悩ましいですw)

mixpace Remote Renderingの紹介セッションに登壇しました

中村です。

4/27に日本マイクロソフト主催の「『Azure Remote Renderingを活用して超重量級CAD/BIMを扱う「mixpace Remote Rendering」のご紹介』」に登壇しました。

1時間ほどで内容は下記になっており、HoloLensの概要からAzure Remote Renderingの概要、活用事例まで広く情報を得ることができます。

アーカイブの公開もありますので是非ご覧ください。

  • HoloLens 2、 Azure Remote Rendering 概要(日本マイクロソフト 鈴木あつしさん)
  • mixpace概要(SB C6S 遠藤さん)
  • mixpace Remote Rendering概要(中村)
  • mixpace Remote Rendering + BIM 360事例(東急建設 橋口さん)

URL

サイト

special.nikkeibp.co.jp

アーカイブ配信はこちら(要申し込み)

sbb.smktg.jp

スライドはこちら

speakerdeck.com

mixpace Remote Renderingについて

prtimes.jp

合わせて読みたい

mixpace Remote Renderingは国土交通省 関東地方整備局さまでも活用いただいており、その概要をPTC社のセミナーでも紹介しております。

こちらも要登録ではありますが、ぜひご覧ください。

prtimes.jp

blog.hololab.co.jp

「Kobe HoloLens Meetup! vol.4 - Ignite 座談会」に登壇しました

中村です

2021年4月23日に開催された「Kobe HoloLens Meetup! vol.4 - Ignite 座談会」に登壇しました。

内容としてはMicrosoft Meshの全体観、Azure Remote Rendering、 Azure Object Anchorsについてです。

LTでMicrosoft Regional Directorの 室長さんが登壇されたこともあり、後半の座談会はビジネス寄りになりました。こっちよりでの座談会は珍しい気がしますので、ぜひご覧ください。

arkobe.connpass.com

動画はこちら

www.youtube.com

スライドは「Microsoft Ignite Recap Community Day」と同じなので下記を参照ください。

blog.hololab.co.jp

HoloLens 2でBCPDを用いた空間位置合わせシステムについて

f:id:stopengin0012:20210421143158p:plain

ホロラボ 斎藤です。今回、R&Dチームの取り組みの一つとして、BCPDを用いた空間位置合わせに関する調査を行ってみました。

1. はじめに

AR/MRにおいて、コンテンツを含む仮想空間と現実空間を合わせることはとても重要です。 それぞれの空間の位置、回転、およびスケールを合わせることによって、ユーザーに違和感なく現実への情報の重ね合わせを行うことができます。

そこで、今回はBCPD(Bayesian Coherent Point Drift)という点群位置合わせの手法の一つを用いて、HoloLens 2で空間位置合わせを行ってみました。

まずはデモ動画をご覧になってください。

www.youtube.com

2. 空間位置合わせとは

特にHoloLens2では、仮想空間の座標系の原点位置および回転は、アプリ起動時の端末位置および回転となります。 しかし、このままだと現実との空間座標系が合っていないため、仮想空間を現実に重畳できません。 したがって、何らかの方法で仮想空間と現実空間の位置合わせを行う必要があります。

今回のデモでいうと、仮想的な家具を示すオブジェクト(水色がベッド、ピンク色がたんす)を、空間位置合わせを使って、 現実の家具の位置へ重畳することにあたります。仮想的な家具を示すオブジェクトの初期配置は起動位置によって違うため、 起動後に仮想空間と現実空間の位置回転の差分を計算し、仮想空間の補正をしていきます。

f:id:stopengin0012:20210421104348p:plain
デモにおける空間位置合わせのイメージ

仮想空間と現実空間の位置合わせのために、よく使われる手法としては、画像マーカーを用いる方法が挙げられます。 また既存サービスとしては、Microsoft社のAzure Spatial Anchors *1 や、Azure Object Anchors *2、およびPTC社のVuforia *3 などが挙げられます。 現状 HoloLens 2 以外では、Immersal \ *4 も注目されています。 ホロラボにおいても、位置合わせに関する研究開発を行っています。

3. BCPD(Bayesian Coherent Point Drift)とは

点群位置合わせ手法の一つで、点と点の対応関係を効率よく導くことができる手法です。基本的には非剛体の点群位置合わせ手法ではありますが、パラメータを調整して剛体位置合わせに用いることもできます。 github.com

今回は、BCPDを剛体位置合わせ用のパラメータを指定することで、あらかじめ取得した部屋の点群と、位置合わせしたいタイミングでの部屋の点群の間のRST行列を得ます。 ここでのRST行列とは、回転(Rotate)・拡大縮小(Scale)・平行移動(Translate)を含む4行4列の行列を指します。 下記図は、あらかじめ取得した部屋の点群(青色)と、位置合わせしたいタイミングでの部屋の点群(緑色)、変換した結果の点群(水色)の関係を示しています。

f:id:stopengin0012:20210330140122g:plain
BCPDを使った部屋の点群位置合わせ

4. システム概要

システム概要図を以下に示します。

f:id:stopengin0012:20210330142732p:plain
システム概要図

まず、今回あらかじめ部屋の点群(ターゲット点群)を取得しておきます。

①まず、位置合わせしたいタイミングでの部屋の点群データ(インプット点群)を取得します。 取得にはMRTKのサービスロケータから取得できるSpatial Mapを使用しています。 (Spatial Understandingも使えると思います。)

②次に取得した部屋の点群データ(インプット点群)をローカルネットワークを介してPCへ送信します。 今回BCPDの計算自体は計算用のPCを用意して、ローカルネットワークを介してやり取りをしています。 ただ、手法としてはHoloLens 2上で計算することもできるはずです。

③インプット点群と、あらかじめ取得しておいたターゲット点群を使ってBCPDの計算を行い、二つの点群の間のRST行列を取得します。

④取得した二つの点群の間のRST行列をHoloLens2端末へ送信します。

⑤二つの点群の間のRST行列を用いて、空間をの位置合わせを行います。

5. おわりに

今回はHoloLens 2における、BCPD(Bayesian Coherent Point Drift)という点群位置合わせの手法の一つを用いた空間位置合わせシステムを開発しました。 現在、2章で紹介した他の手法と比較して、精度、計算の速さ、利用点群の組み合わせ(例えば、全部屋をターゲットとして、インプットを一部屋にした場合はどうなるか?)についても調査を進めています。 また、点群取得デバイスが違う場合(例えば、iPadのLidarで取得した点群をターゲットにした場合)ではどうすればよいか?などについても研究を進めていきたいと考えています。

*1 Azure Spatial Anchors :

https://azure.microsoft.com/ja-jp/services/spatial-anchors/

*2 Azure Object Anchors :

https://azure.microsoft.com/ja-jp/services/object-anchors/

*3 Vuforia :

https://developer.vuforia.com/

*4 Immersal : https://immersal.com/

「Microsoft Ignite Recap Community Day」に登壇しました

2021/03/24(水)に開催された「Microsoft Ignite Recap Community Day」に登壇しました。

申し込みが1000人を超え、YouTube視聴者も常時400人を超えてる状態でした。

Microsoft MVPの宮浦さん、堀尾さんと、3月上旬に発表されたMicrosoft Mesh, Azure Remote Rendering, Azure Object Anchorsについてのキャッチアップです。

当日は時間が短めだったことや、スライドや音声にトラブルがあったりだったので、近々再演したいねと3人で話してます。

msdevjp.connpass.com

スライド

Microsoft Mesh @ 中村

www.slideshare.net

Azure Remote Rendering @ 堀尾さん

speakerdeck.com

Azure Object Anchors @ 宮浦さん

www.slideshare.net