ブログ@kaorun55

HoloLensやKinectなどのDepthセンサーを中心に書いています。

HoloLens Spectator Viewを試してみた

HoloLensのアプリで装着している人以外がその映像を見るにはMixed Reality Captureを使いますが、遅延があったり無線接続が不安定だったりカメラ画像があまりきれいではなかったりします。

それらを解決する一つの方法として、Spectator Viewというものがリリースされました。

f:id:kaorun55:20170225144532p:plain

Spectator view

試してみて動くところまではできました。右側のカラー映像が結果です。

間違っているところなどあればフィードバックいただけると助かります。 

 

概要

Spectator ViewはHoloLensアプリに第三者視点を提供します。いままでもMixed Reality Captureでできましたが、よりきれいな映像にすることができます。

Spectator Viewの特長をまとめるとこのようになります。

  • カメラ映像はデジタル一眼レフカメラなど高性能なカメラを使用する
  • 表示されるホログラム(オブジェクト)はPCで描画する
  • Sharingアプリのみ対象となる(スタートメニューなどの表示はできない)
  • HoloLensの位置情報のみ実機から取り込む

制約としては下記が考えられます。

  • Sharingを前提とするためスタートメニューやバイナリのみのアプリには使えない。
  • HoloLensが2台以上必要

このことから、開発したアプリを公の場で発表する、プロモーションビデオの撮影という用途になると思います。

 


Microsoft HoloLens: Uses for Spectator View

 

事前準備

必要なソフトウェアやリグのための3Dモデルはこちらにあります。cloneするかHoloLensCompanionKit全体をダウンロードしてください。

github.com

 

必要な機材

f:id:kaorun55:20170225150902p:plain

Spectator Viewには写真の機材が必要です。

  • DSLR:Digital Single Lens Reflex:デジタル一眼レフカメラ
  • Tripod:三脚
  • Hotshoe Fastener:カメラの上につける雲台
  • 3D Printed Adapter:雲台とブラケットをつなげるアダプター
  • Aluminum HoloLens Bracket:アルミで作成されたHoloLensを固定するブラケット

3D Printed Adapter」および「Aluminum HoloLens Bracket」は自分で作る必要があります。

 このほかに下記機材が必要です

  • HDMIケーブル:カメラ映像をキャプチャするためのケーブル
  • HDMIキャプチャーツール:カメラのHDMI出力をPCに取り込むための機材

カメラとレンズは下記を推奨のようです。合わせて約50万円です。

Canon デジタル一眼レフカメラ EOS 5D Mark III ボディ EOS5DMK3

Canon デジタル一眼レフカメラ EOS 5D Mark III ボディ EOS5DMK3

 

 

Canon 単焦点広角レンズ EF14mm F2.8 L II USM フルサイズ対応

Canon 単焦点広角レンズ EF14mm F2.8 L II USM フルサイズ対応

 

Hotshoeはちょっと値段が高い(元のAmazon.comが$6(600円)くらい、Amazon.co.jpが6000円くらい)ので別で買った方がよさそうです。。。

HDMIキャプチャボードは下記のようです(PCIe接続)。約24,000円です。

Blackmagic Design intensity pro 4k ビデオキャプチャボード

Blackmagic Design intensity pro 4k ビデオキャプチャボード

 

 

今回使用した機材

カメラについてはHDMI出力できれば良さそう。キャプチャーボードは最初の写真を見る限りUSB接続でも良さそうということで、下記2つを購入して試しました。両方で約8万円です。

【国内正規品】 GoPro ウェアラブルカメラ HERO5 Black

【国内正規品】 GoPro ウェアラブルカメラ HERO5 Black

 

 

Blackmagic Design キャプチャーカード Intensity Shuttle for USB 3.0 000856

Blackmagic Design キャプチャーカード Intensity Shuttle for USB 3.0 000856

 

 

ソフトウェアのセットアップ

手順はこちらに詳しく書いてあります。

github.com

必要なソフトウェア

Desktop Video SDKが見つけづらかったので注意してください。下記画像の「Desktop Video 10.8.3 SDK」です。 

f:id:kaorun55:20170225154340p:plain

それぞれインストールを行います。OpenCVは展開してCドライブ直下においてください(「C:\opencv」となるように)。

Caribration

カメラとHoloLensのRGBカメラの位置を合わせるためにキャリブレーションを行います。

「HoloLensCompanionKit\HoloLensCompanionKit-master\SpectatorView\Calibration」にある「Calibration.sln」を開きます。

「dependencies.props」というファイルがあるので、下記2つのパスが通っていることを確認してください。

  • OpenCV:C:\OpenCV\build\x64\vc14
  • BlackMagic SDK:C:\BlackMagic\Blackmagic DeckLink SDK 10.8.3\Win\include

f:id:kaorun55:20170225154712p:plain

実行するとカメラの映像が表示されます。

f:id:kaorun55:20170225155024p:plain

つぎにHoloLensとカメラを配置します。今回はリグがないので、HoloLensの上にGoProをおいているだけです。

f:id:kaorun55:20170225155046p:plain

HoloLensとPCはUSBケーブルで接続します。

Calibrationプロジェクトの「stdafx.h」を開き、デバイスポータルのユーザー名とパスワードを設定します。事前にHoloLensのデバイスポータルをONにして、ユーザー名とパスワードを設定してください。

f:id:kaorun55:20170225182122p:plain

次に キャリブレーションを行います。GitHubにあるキャリブレーションパターンを印刷します。固めのボードに張るとよいと思います。

Caribrationアプリを起動し、キャリブレーションボードを動かします。途中Mixed Reality Captureが起動するので、HoloLensのカメラ撮影時のLEDが点滅します。

f:id:kaorun55:20170225175556p:plain

「C:\Users\<ユーザー名>\Documents\CalibrationFiles」にカメラ画像とHoloLensの画像および「CalibrationData.txt」が生成されます。

f:id:kaorun55:20170225182640p:plain

Compositorのビルド

必要かどうかわかりませんが「HoloLensCompanionKit\SpectatorView\Compositor」をビルドします。HoloLensの実機情報をやりとりする部分です。PC側のCompositorはx64、HoloLensに組み込む側はx86ですので両方のビルドを行い「CopyDLL.cmd」を実行します。

Unityサンプルを起動する

「HoloLensCompanionKit-master\SpectatorView\Samples\SharedHolograms」をUnityで起動します。Holograms-240をベースにSpectator Viewのアドインが入っています。

先ほどの「CalibrationData.txt」をProjectビューに追加します。

f:id:kaorun55:20170225183040p:plain

メニューに「Spectator View」が追加されます。「Compositor」を開くと新しいウィンドウが表示されます。これがSpectator Viewの画面になります。

f:id:kaorun55:20170225183043p:plain

f:id:kaorun55:20170225183041p:plain

「Spectator View」のアドインは「AddIns\HolographicCameraRig」になるようです。

f:id:kaorun55:20170225183044p:plain

ビルド設定から「Run In Backgorund」にチェックします。これで(Unityエディター側の動作だと思いますが)ウィンドウがバックグラウンド状態でも実行されます。

f:id:kaorun55:20170225183045p:plain

Sharingサービスを実行します。

f:id:kaorun55:20170225183046p:plain

ここで表示されるサーバーのIPアドレスを後で使用します。

場合によってはSchemaバージョンエラーが出る場合があります。その場合はオリジナルのHolograms-240やHoloToolkit-UnityにあるSharingServerを使用してください。f:id:kaorun55:20170225184125p:plain

Spectator View(HoloLens)とSharingサーバーのIPアドレスを設定します。

f:id:kaorun55:20170225183047p:plain

まずはエディター上で実行してSharingサーバーに接続できることを確認します。

f:id:kaorun55:20170225183048p:plain

続いてUWPを行い、HoloLensにデプロイします。

HoloLens上でこのアプリを実行し(デバイスポータルから起動すると楽です)、Sharingサーバーに接続されていることを確認します。次にUnityエディター上で実行し、サーバーおよびHoloLensに接続できると、PC上のカメラ位置がHoloLensに同期するようになります。

 

機材が複雑かつ3Dプリントで作成する必要がある、環境構築が煩雑、HoloLensが2台以上必要であることから、なかなか試しづらいですがアプリデモでは必要になってくるかと思います。

自分も3台のHoloLensでMixed Reality Captureを使った第三者視点はやったので。

 

 

デベロッパーズサミット2017で展示、登壇しました

2017年2月16(木)のデベロッパーズサミット2017で展示、登壇してきました。

展示

TMCNベースでPETS、ホロラボ、ショッカソン、HoloEyes 連合で展示をしていました。

HoloLensが目を引くので、休憩時間中は人もたえず、3,4台体制だったので、今回も結構な人数に体験してもらうことができたと思います。

f:id:kaorun55:20170217145611j:plain

f:id:kaorun55:20170217145618j:plain

 

登壇

17:25分からの枠でした。

200-300人くらいでしょうか。おかげさまで満席でした。

最初に聞いてみたところ、HoloLens持ってる人は数人、興味あるけど買ってない人が9割くらい、まだかぶったことがないひとが6割くらいのようです。

 

Togetterのまとめと当日の資料はこちらです。

togetter.com

 

docs.com

HoloLens Meetupを開催しました。

1/28(土)の福岡を皮切りに、全国4か所でHoloLens Meetupを開催しました。

参加してくれた方々、協力してくれた各地のスタッフの方々、会場提供などご協力いただいた方々ありがとうございます。

各地それぞれ楽しく会を開催できました。

2016/12/2の日本での予約開始時にリリースが2017/1/18に決まったことを受けてTMCNや各地のxMCNメンバーの方に持ちかけたところ、みなさん乗ってくれました。

1/18に株式会社ホロラボの登記をしたこともあり、会社紹介もかねて回ることができて良かったです。

 

HoloLens所持者を対象としたハンズオンと、興味あるからすべてを対象としたミートアップの2部構成で、ハンズオンは92人、ミートアップは237人の方にご参加いただきました(スタッフ除く)。

f:id:kaorun55:20170213094947p:plain

ハンズオンでは、1台のHoloLensを使ったアプリ開発の初歩から複数台のHoloLensの空間を強調させるSharing体験までを行いました。Sharingは複数台のHoloLensが必要ですが、HoloLensの真価を発揮するための重要な特徴であることから、せっかく集まるこの機会に体験してもらおうと考えました。

 

今回ぼくが使った資料はこちらにまとめています。ハンズオン、ミートアップで使用した資料をまとめています。HoloLensの概要から開発体験までできました。実施したうえでの改定事項も対応していきます。

docs.com

 

 

1/28(土) Fukuoka HoloLens Meetup vol.1

最初のイベントは福岡で17人の方にご参加いただき開催しました。

日本マイクロソフトの高橋忍さんにもご参加いただき、HoloLensを含めたマイクロソフト全体の話や、ハンズオンのフィードバックをいただくことができました。

f:id:kaorun55:20170213081140p:plain

 

togetter.com

2/2(木) Tokyo HoloLens Meetup vol.1

平日の日中、HoloLens所持者対象にもかかわらず60人以上の方がハンズオンに参加してくれました。スタッフと合わせると80台を超えたHoloLensが集結しました。

f:id:kaorun55:20170213081252p:plain

Photo by 集合写真家Masahiro Takechi

この写真がHoloLensの生みの親であるAlex Kipmanまで届いたこと。

 

 HoloLens公式アカウントからリプライをもらったことが、個人的に非常にうれしかったです。

 

 

ミートアップも申し込みで約200人、スタッフも合わせて実際に参加された人数が約180人、HoloLensの台数は数えきれないほどになりました。

日本マイクロソフトのWindows本部長である三上さんからも開会のあいさつをいただきました。

 

ここで発表していただいた坪倉さんのスライドがとても分かりやすいので、特に広告などコンシューマー向けにHoloLensの利用を検討している方は一度見ておくべし。と思います。

www.slideshare.net

 

取材記事もでています。

 

robotstart.info

 

PANORA VR » HoloLensはおもちゃではない——クリエイターが語る「仕事でMR」の魅力とは?

 

togetter.com

 

ハンズオン、ミートアップの様子は動画でも公開しています。

www.youtube.com

www.youtube.com

2/4(木) Osaka HoloLens Meetup vol.1

大阪は34人の方に参加していただきました。

日本マイクロソフトの西脇さんとちょまどさんにもご参加いただき、日本のコミュニティでは初の公開となるSruface Studioのデモが行われました。Surface Studio、DialとHoloLensの連携も今後楽しみですね。

f:id:kaorun55:20170213081407p:plain

大阪開催の後、参加者の @sumihiro さんが、iPhone用のHoloLensキーボードを作ってくれました。HoloLensは日本語入力が難しいのですが、このアプリでだいぶ改善されました。

 

 

togetter.com

2/11(土) Tohoku HoloLens Meetup vol.1

最後の東北では15人の方にご参加いただきました。

日本マイクロソフトの金尾さんから、マイクロソフト全体の中でのHoloLensの位置づけについてお話いただきました。

f:id:kaorun55:20170213081446p:plain

 

hololens.connpass.com

 

ミートアップを終えて

HoloLensを購入して、コミュニティに参加する人が100人近くもいることが今回一番の驚きです。日本の購入数の初動が「欧州6か国合計」の3倍と言われるなど、たくさんのHoloLensが日本に来ています。

今回のミートアップで各地でHoloLensを活用しようとしている方たちとたくさん出会えたので、これからも継続して進めていこうと思います。

 

Structure Sensorで3Dスキャンした人のモデルをHoloLensで表示させたときのまとめ

思い付きで3Dスキャンしたデータにリグ(ボーン)、モーションをつけてHoloLensに入れてみたら、思いのほか反響があったのでおおよその手順を記録しておきます。

慣れるとスキャンからリグ入れまでで30-60分でしょうか。

詳しい人からすると目新しいものではないかもしれませんが、手軽にここまでできるようになったというのは進歩なんだろう思います。

f:id:kaorun55:20170123020613p:plain

モデル

フリー素材です。常識の範囲内でご使用ください。

https://www.dropbox.com/sh/kxtcgvzbgxo4bzv/AAAS1TkKjCWPe826qYXQkhr_a?dl=0

必要な機材、アプリ

  • Storcutre Sensor:iPadに装着する3Dスキャナーです。iPadの世代によってStructure Sensorのブラケットが違うの注意してください。Structure Sensor単体で$379です。
  • iPad:Structure Sensorを装着します。
  • itSeez3D:3Dスキャンアプリです。クラウドで処理してダウンロードする際に課金されます。サブスクリプションによって値段が変わりますが、1体あたり$7と考えておけばいいと思います。
  • Unity:HoloLensアプリを作ります。
  • Maya(Blender):3Dスキャンしたモデルデータにリグ(ボーン)を入れます。ぼくはMayaの自動リグを使いました(廉価版のMaya LTでも可)。出力はFBXにします。
  • Motion Builder(Blender):モーションデータを加工します。UnityはBVHファイルが使えないので、モデルデータに埋め込むか、BVHをFBXに変換します。
  • HoloLens:オプション。見るだけならUnityエディター上でも、VRデバイスでもなんでも。

手順

1. iPadにStructure Sensorを接続し、itSeez3Dで3Dスキャンします。このとき、Tポーズでとることで、リグを入れて好きなようにできます。ただし、Tポーズの3Dスキャンが難しいのでAポーズでリグを入れてモデルを調整するやり方でもいいかもしれません。

f:id:kaorun55:20170123021134j:plain

2. スキャンデータはクラウドに上げて処理されます。しばらくすると、iPadでプレビューできます。itSeez3Dアプリでここまでの手順は無料です。

f:id:kaorun55:20170123022719p:plain

3. 3Dデータに問題なければダウンロードします。ここで課金が発生します。

f:id:kaorun55:20170123022853p:plain

4. 3Dモデルの形式はOBJなので、MeshLabなどで見られます。

f:id:kaorun55:20170123021233p:plain

5.このモデルをMayaに入れ、モデルを調整(スケールの関係でX,Y,Zの大きさをそれぞれ100倍、正面を向くように回転)し、自動リグ処理をします。

このファイルをFBXで出力すれば、Unity上で扱えるようになります。

f:id:kaorun55:20170123021305p:plain

6.モーションデータを作成します。UnityはBVHファイルが使えないので、Motion Builderでモデルデータに埋め込むか、BlenderでBVHをFBXに変換します。

7.3DモデルとモーションデータをUnityに入れ、アプリを作成します。

そのままだとHoloLensで表示するには重いのでメッシュの数を減らしたり、ボーンも調整してあげると、きれいに表示できるようになります。

 

ちなみに、モーションデータはPerfume official global websiteのものを使用しています。


Perfume x TMCN x HoloLens

3Dスキャン、リグ入れは場所、機動性とトレードオフで改善可能なので、それも進めようと思います。

「株式会社ホロラボ」を作りました

1月18日付けで株式会社ホロラボを起こしました。

hololab.co.jp

個人事業主になったのが2012年の9月なので、あれから4年ちょっと経ちました。

www.naturalsoftware.jp

 

おかげ様でKinect、RealSense、LeapMotionなどでお仕事をいただけて(なので、上記は「独立」ではないですね)最近はHoloLensにシフトしてきました。

まさに今日からHoloLensが日本国内で出荷され、これからHoloLensを使っていこうという方が多いと思います。今回はKinectのころと比べて企業の動きも早く、すでに研究など進めているところが多いと感じます。

そんな中、立ち上げにどうしたらいいか?困ったときにどうしたらいいか?という拠り所になれればいいなと思っています。去年の5月から続けていた助走期間が思ったより効いていると実感しています。

個人的には個人事業の延長なので、アプリ開発支援や開発、トレーニングなどできればと思います。開発の話もいくつかいただくので、開発メンバーも入ってほしいという思いもあります。

個人事業主になったときと同様、どこまで続けられるかはわかりませんが、今後ともよろしくお願いいたします。

 

 

HoloLensアプリの開発を始めるまでの資料を作りました

今月末からのHoloLensイベントでのハンズオンに向けて、開発環境のセットアップとハンズオン資料を公開しました。

使用バージョンは以下の通りです。

  • Unity 5.5.0p2
  • Visual Studio 2015 Community/Enterprise
  • HoloToolkit v1.5.5.0

バージョンの組み合わせにより、動かない機能があったりするので、しばらくはこの組み合わせで進めます。

HoloLens Meetupについて

ハンズオンとMeetup(勉強会)の2部構成になっています。

ハンズオンは「ご自身のHoloLens持ち込みが必須」となっています(HoloLens最大の特徴であるSharing体験も行います)。

Meetupは参加条件ありませんので、ぜひぜひご参加ください。

2016年のふりかえり

今年も無事に終わりました。

みなさまありがとうございました。

3月までは今まで通りだったのですが、4月にHoloLensのWave1の通知が来てからガラッと方向が変わりました。

2017年はHoloLens/Windows Holographicの予定です。

 

後半はCoderDojo調布の立ち上げに参加して、月1回の道場のメンターをしています。自分の子どもが小学生になったこともあり、子ども向け、大人向け、地域向けにいろいろ出来ればと思います。

HoloLensダイジェスト

www.naturalsoftware.jp

www.naturalsoftware.jp

www.naturalsoftware.jp

 

細かいところはこちらで

www.naturalsoftware.jp

 

出版

TFSUGで1冊だせました。

勉強会も空いてしまったのですが、ぼちぼちやっていきたいなと。。。

www.naturalsoftware.jp

2016年の記事一覧

4月以降はほぼHoloしか書いてませんね。。。

www.naturalsoftware.jp

去年のふりかえり

www.naturalsoftware.jp