岩崎学園 学園祭でARやVRの講演を行いました
今日は横浜 岩崎学園さんの学園祭にご招待いただきました。
この学園祭には毎年お邪魔していて、これまでもラボでセンサー&デバイスを並べてパビリオン化したりしました。
今回は学園祭のイベントの一つとして最新のITテクノロジーを紹介するセッションが設けられ、今後世界を変えていくであろう、いや今年くらいからもう変えてきているテクノロジーの中でARやVR技術の紹介をするパートを担当させてもらえることになりました。
もう一つのパートはロボットで、こちらはアイ・エム・ジェイすまのべの加茂さん、田野さんにお話頂きました。
こちらが会場、広い!そして奥深いw
フロントスクリーンだけでは見えないので会場後半用にもう一枚スクリーンが出ていますね。
これがなんと、満員になるという自分的緊急事態。あわわわわ。
そんな熱気溢れる会場で最初のパートであるコミュニケーションロボットについての講演が始まりました。
今市場に出てきているコミュニケーションロボットを特徴によってチャートに分類し、わかりやすく教えて頂きました。
うちの奥さんもわかりやすいって言ってました(笑)
あと田野さんのChoregrapheを使ったPepperのライブコーディングには身を乗り出して興味を示している学生さんも多くおられましたね!
続きまして、AR、VRのセッションです。
本セッションではVRの歴史から今後の展望、そしてARやらVRやらどう違うの?と知っているとちょっと頭がよさそうに思われるようなことを中心に構成しました。さらにMixed Reality、MRについても言及するかたちにしました。
ちょっと盛り込み過ぎで30分が意外とすぐで話足りなかったです(笑)
セッション資料を公開しましたのでこちらもよかったらご覧ください。
記念シータ!
壇上なう。 - Spherical Image - RICOH THETA
セッションのあとは体験時間。
KINECTコンテンツ「きゃらみらー」やすまのべさんが持ってきてくださったたくさんのロボットやVRコンテンツを学生たちが行列を作って体験していました。
というわけで、お招きくださった岩崎学園・情報科学専門学校さま、ロボットの話をしてくださったアイ・エム・ジェイすまのべさん、そして集まってくれた学生の皆さんありがとうございました。
またゆっくりテクノロジーの話をしたいですね!
あ、Pepperの発送も楽しかったですw
NVIDIA GPU搭載ノートPCでKINECT V2のパフォーマンスが極端に悪くなったときの対処法
初めて技術ブログ的な事を書きます。慣れないですねw
高性能ノートPCでKINECT V2が牛歩のようなパフォーマンスに(涙)
さて、NVIDIA GPU を搭載したノートPCでKINECT V2のパフォーマンスが極端に落ちる現象がありました。
ぼくが使っているPCはマウスコンピュータ製 GeForce® GTX™ 970M / インテル® HD グラフィックス 530 搭載のG-Tuneです。
そこそこ強力なゲーミングPCなのでバッテリーの持続性よりはパフォーマンスを重視したいのでWindowsの電源オプションを「高パフォーマンス」として圧倒的なスピードを出してゆきたいですよね。
ところがです、どんだけスムーズだろうと期待してKINECT V2を利用するアプリケーションを立ち上げると、、「おおおおお、遅い」
フレームレートが全く上がりません。
奇妙なことに電源オプションを「省電力」とするとフレームレートは回復します。
しかしCPUスピードが絞られるのでアプリケーションは結局スムーズに動きません。
この現象には、ノートPCの省電力化のためにテクノロジー「Optimus」が関わっているのではないかと思います。
Optimusは高パフォーマンスなNVIDIA GPUと低消費電力のCPUインテグレートのIntel GPUを自動で切り替えることでバッテリー持続時間を延ばしてくれるようですが、ここぞというときにIntelのGPUが使われてしまってPCが本領を発揮してくれないことも多々あります。
このGPU切り替えはNVIDIAコントロールパネルから行うことができます。
ただ、この設定だけではKINECT V2のパフォーマンスは上がりませんでした。
その原因は、KINECT V2アプリケーションは、根底のサービスプロセス「KinectService」と協調して動作しているからだと思います。
このKinectServiceをNVIDIA GPUで動作させない限りパフォーマンスは上がりません。
BIOS設定でNVIDA GPUの利用を強制する
PCを強制的にNVIDIA GPUで動作させるオプションがBIOSにありました。
[Advanced] - [Advanced Chipset Control] - [MSHYBRID or DISCRETE Switch]
この設定を [DISCRETE] とします。
以上でPCはOS起動時から強制的にNVIDIA GPUで動作するようになり、サービスプログラムである「KinectService」もハイパフォーマンスで動作するようになりました。
なお、GPU Switchというプログラムでも切り替えができるようです。
ただぼくの場合は切り替え後の挙動が不安定だったのでBIOS設定がおススメです。
なお、少し古いPCの場合はBIOSに設定がないものもあるようです。
おまけ:BIOS設定画面ってどうやって出すの?
Windows8以降BIOS画面を出すの大変ですよね?
もっのすごい高速にF1とか押す、、わけじゃなくてこうやります。
結構知らない人もいるかもと思い載せます。
OSはWindows 10 Pro build 1607 です。
[設定] - [更新とセキュリティ]
[回復] - [PCの起動をカスタマイズする] - [今すぐ再起動する]
[詳細オプション]
ここで[再起動]するとBIOS設定画面に自動的に入ります。
Maker Faire Tokyo 2016 でJulie Watai - ハイテク・ブーブークッションを展示!
2016年8月6日、7日はMaker Faire Tokyo 2016に出展しました。
昨年に続き2回目です。
今年はモノづくりメディア「fabcross」さん、そしてフォトグラファー、モノづくり女子としても有名なJulie Wataiさんと作っている「ハイテク・ブーブークッション」をfabcrossブースに展示します。
ハイテク・ブーブークッションについては近々fabcrossさんより記事がリリースされると思いますので楽しみにしてくださいね!
展示の様子
fabcrossブースはこような感じ。
楽しいモノづくりがテーマで、プリンをぷるぷるさせるマシンなどはマジ狂気を感じましたね!
さて、ハイテク・ブーブークッションの方はJulieさんもデコレーションを手伝ってくれてスタンバイOKです。
体験の様子はこんな感じです。
座る人皆さんが大笑いしたり失笑したり。
怒る人はいなかったので良かったです。
やっぱりさすがMFTに足を運ぶ皆さん、素直に楽しんでくれてよかったです!
子どもたちも嬉し恥ずかし喜んでくれましたね!
このハイテク・ブーブークッション制作については近々リリースされるfabcrossさんの記事に掲載があると思いますのでここではざっくりとした情報をお伝えするに留めますが、システム的にはかわいいクッションの皮を被ったハイテクの集合体です。
クッション内部のケツ圧検知デバイスはTMCN泉田さんのフルスクラッチ。
USB接続でセンシングデータをPCで受け取り、映像と音のコンテンツはTMCN松山さんによるTouchDesignerアプリケーション。
かわいい声はプロの声優さん、吉村加奈子さんがご協力くださいました。
おならの音はこちらから。こんな専門的なサイトがあるなんて知らなかったです。
商用もOK!
そしてこの作品は Mashup Awards 2016 に挑戦します。
トライする部門は「おばかアプリ部門」です!
このハイスキルなチームがハイテクの粋を集めて制作した「Julie Watai - ハイテク・ブーブークッション」。
ぜひ応援してくださいね!
MVPアワードキットを手にして思ったこと
今日US MicrosoftさんよりMVPアワードキットが届きました!
立派でかっこいい!
"2016"の部分は差し込み式別パーツになっていて、これからも受賞を続ければ"2017", "2018"と積みあがっていくようになっているのですね。
これはこれからもどんどん積み上げていきたいですね!
ちなみに箱はこんな感じ。最初MGかRGのガンプラだ!と思ったサイズ感。
しかしずっしり重い。ただものではない感じでした。
開封したファーストビューはこのように。
きちんと名前入りのところがスペシャル感があります。
これまでのエンジニア的経歴やハイライト
このアワードキットを手にして、エンジニアとして非常に名誉なことで新たなステージに立った気がしました。
今まで経験したことや努力したこと楽しんだことがここに結実したんだなと思いました。
というわけでここで突然ですがこれまでのエンジニア的経歴やハイライトを振り返ってみようと思いましたw
インターネット前
初めてコンピューターに触れたのは小学生の終わりごろだったと思います。富士通のFM-8というコンピューターを短期触らせてもらったところだと思います。
F-BASICをとにかく書き写して入力して画面に線が出るのが楽しかったです。
その後初めて自分のパソコンとして迎え入れたのが世界で初めてCD-ROMを標準搭載したハイパーメディアパソコン FM-TOWNSです。
この子はなんかアンチ派も多かったけどほんと革新的でしたね!
メインメモリ2MBしかないけどi386をネイティブに使えるので4GBという壮大な、あまりにも壮大なアドレス空間にアクセスできるポテンシャルを持っていました。メインメモリ2MBしかないけど。
この子でしばらくゲームをしていたのですが、すぐに遊ぶ(遊ばされる)のには飽きて自分で作りたくなってきました。
HIGH-Cコンパイラという4万もするCコンパイラを新聞を配って溜めたお金で買い学校から帰ってきては開発をして、ちっちゃいドラクエを作りましたw
malloc等でメモリ管理するあたりがよくわからなくて、ワールドの端から端までの大きさは全4画面。
一応城に入って人と会話するあたりは作ったけど、戦闘シーンを作るときに根気が尽きました、今だったらマッシュアップアワード等に応募するような目標を立ててもっとがんばれたかもw
インターネット後
そんなわけで学校卒業後そのまま特に就職活動をすることもなくCが書けるということでシステム開発会社へ就職。未だに就職活動というのをしたことがないのです。
Cで開発をしたり、ドット絵を書いたりしていましたがだんだんとVisualBasicで開発することが増えた時期でしたね。
その後ですがDelphiでの開発をする機会が増えました。
Delphi、今振り返っても(まだありますけど)、素晴らしい生産性を誇る開発環境でした。システムのモックなどはパーツをどんどん貼っていけばものの半日で結構大きなシステムでも全画面作れて人に見せられるようなスピードでしたね。
そしてDelphiにはVCLというフレームワークが備わっており、ソースコードも付属していました。
ある時期このVCLのソースコードを読み込むという勉強を自主的にやっていました。
これが、ぼくとしては衝撃的だったんです。
美しいクラス構造に感銘を受けるのはもちろんですが、拡張が後々想定されるところに布石が打ってあったり、開発者が欲しくなるであろう箇所にはちゃんと拡張ポイントが用意されてあったり。
ああ、これがフレームワークを作る人の神の思想なんだ、と感激しました。
MFCを作った人とは違う人だ、絶対に違うw
その後、C#をよく使うようになってこれはDelphiのにおいがすると思いました。
それは気のせいではなく、DephiのアーキテクトがC#の設計者でもあったのですね。
この事実を知った時には点と点が繋がって線になった気がしました(そのまま)。
その後、お仕事的なハイライトというと、、
- ほぼ初めてのPerlで大規模サイトの開発に従事、盛大にサイトをストップさせ、会議室で詰め寄られたけど、おかげでPerlのスペシャリストに直々にコードレビューをしてもらえ、分厚いオライリーのPerl本をぼろぼろになるまで読んで再トライ。最後にはよくなったねと言われたこと
- 急にWindowsのファイルシステムフィルタードライバーを書いてって言われて、アメリカから"Windows NT Installable File System Kit"なるものを取り寄せ、盛大にPCたちを死のブルースクリーンに追いやりつつ開発したこと
- 急にワールドワイドな某大企業の、数々の社内システムの基盤として長きにわたって使われることを目指したJavaフレームワークの開発にアサインされて、正しいオブジェクト指向についてこれでもかと叩き込まれたこと
などなど、なかなかムリゲーでハードな体験でしたが、これが無ければ今は無かったなと思います。
その後は東京転勤となり、特に知り合いも居なかったのでKINECTアプリを作ってみたり、iOSでARアプリを作ってみたりして楽しいことをとにかくやって、人に見せる機会があれば見せていこうという感じでやってきました。
これが最近の数年の活動ですが、MS MVPというかたちで結実したので良かったです。
さてさて、今はゴールではなくて新しいスタート地点に立ったのだと思っています。
一日は24時間しかないので、時間を何にどれだけ割り振って、どんなアウトプットを出すかを考えながら新しい道を楽しく進んでゆけると良いのではないかな、と思っています。
アイドルGEEKERS VR特集に出演しました
2016/08/01 でしたが、「アイドルGEEKERS」というWeb配信の番組に出演させて頂きました。
アイドルGEKERSはひょんなことからお知り合いになったパーソナリティの桐島ローランドさんとGEEK見習い女子、そしてガチGEEKがトークする番組でYoutubeチャンネルから配信されています。
そして今回出演したのは「最新VR特集」です。
ひとりだと心細いので、お友達のMPV 初音 玲さん、泉本 優輝さんも誘って遊びに行ってきました!
いやあーなんか、すっごく楽しかったです!!
また遊びに行きたいっす!
KINECTを使ったMR体験、HoloLensが2台も来ちゃっていいの?HTC VIVEでMRもやっちゃった超豪華スペシャルでした。
ダイジェスト記事やダイジェスト映像が公開されているのでよかったらぜひ。
コレが未来! 話題のVRが続々登場!!「アイドルGEEKERS最新VR特特集」おさらいレポート – アイドルGEEKERS
KINECTでMixedReality映像を楽しめる「きゃらみらー」
ぼくがKINECTで色々と実験をする過程で生まれてきたのが「きゃらみらー」という製品です。
KINECTで変身というと実に王道なKINECTコンテンツなのですが、テクニカル的には下記のチャレンジをしています。
- KINECTのdepthデータを使った空間センシング
- 空間センシングデータとCGのZバッファのリアルタイムミキシング
- CGとリアル物体のZ軸上での入り繰りが考慮されたカラー映像出力
- 30FPS(実際には60~120FPS程度で動作)での高速処理
開発はUnityで行っており、depthのミキシングなどはGPUのPixel Shader内で行っているのでそれほど難しいものではありませんでした。
ネックとなってくるのはメインメモリにあるKINECTから入力されたカラーデータ、depthデータ、カラーとdepthのマッピングデータをGPUメモリへ転送する負荷です。
単純に処理をすると上記大量のデータを毎フレーム転送するため、フレーム処理落ちが発生してきます。
そこで、毎フレーム更新する必要がない、少し更新が遅れても体験上違和感のない情報については1フレームあたりにGPUへ転送するデータ量を量を一括バッファ送信から8分の1サイズまで任意選択が可能となる実装としました。
例えば4分の1サイズとした場合は、最初のフレームでバッファの最初の4分の1のところまで転送。2フレーム目では4分の1から4分の2のところまで転送、というように4フレームに渡ってデータを送信します。
バッファ転送の分割量はアプリ起動中でも動的に変えられるので「ちょっともたついてる?」と思ったら誰にも気づかれずに調整することができるようになっています。
KINECTを用いたMixed Realityの考え方については、以前会津大学で講義を行ったスライドがありますのでよかったらぜひ。
そうそう、無理やりOculusにKINECT V2を搭載して動けるKINECT MRも試作してみました。重量的に重くてあんまり動けないです(笑)
MVP受賞しまして、ブログはじめました。
こんにちは。TMCNの前本です。
突然ですが「Microsoft MVP」を受賞しました。
カテゴリーは「Windows Development」。
以前は独立していたKINECTなどが包含されたカテゴリーです。
不束者ではございますが、今後ともどうぞよろしくお願い致します。
ブログをはじめた理由
今回MVPへ応募するにあたって、昨年からの様々な活動報告をまとめる必要がありました。
これまでは会社のブログやfacebookでの書き込みを主にしていましたが情報がまとまっていないため手間がかかりましたし、審査される方も大変だろうな、という日本人ならではのおもてなしの精神からまとめ場所を作らねばと思ったのです。
あと会社のブログシステムがかなりアレでスマホでは超見にくいし、コードを綺麗に見せたりというのも大変なのでちょっととてもアレだなと思っていたのでメインをこちらに移します。
名誉のために言うとシステム開発会社なのでいつもはお客さんの綺麗なサイトを作っているんですよ。
歯医者が自分の歯を治せない、美容師が自分の髪を切れないのと同じことが起こっているのですね。
あとfacebookでは流れてしまいそうなイベント参加の記録なんかもこっちにストックしていこうかな。
というわけでKINECT, HoloLens, AR, VR, MR, UWP, Unityあたりの情報がこれからここには載っていくのではないかと思いますので、どうぞどうぞよろしくお願いします。
#はてなブログ書きやすい(当社比)