.NetRocksは、.Netを中心として様々なTechネタの雑談をする、2002年から続く老舗Podcastです。
今回、1112話 Beyond Kinect with Tim Huckaby のTranscribe(書き取り)と翻訳をしました。 2015年3月12日放送です。
使ったもの(tools used):Express Scribe & Music to Code by
翻訳にあたってCarl Franklin氏の了承は頂きました。
リスナーの投稿とか、CarlとRichardのBetter Know Frameworkは飛ばして、ゲストインタビューのみ。
日本語化してない、英語音声書き取りメモは、まんまここにおいてます。
Carl:Tim Huckby を紹介するよ。彼は.netrocksの初期からのゲストってだけではなく、NUIやタッチやジェスチャやニューロインターフェースの業界での最先端の方向づけたる一人者だ。
や、Mr. Huckby 調子はどう?
Tim: まずまずやってる、そっちはどう?
Carl:未来に畏まってるよ。
Tim: 何から話そう?Hololenseの話?emotiv ヘッドセットの話?
Carl:未来のことは話したからさ、現在の話どう?Kinect for Windows v2?
Tim:やー。ちょっとした騒ぎがあってね最近それで。あまりネガティブなことは言いたくなかったんだけど・・・Kinectが今、在庫切れてるって知ってる?
Carl:え。知らなかった!
Tim: Microsoftのコンシューマ部門が、一時的にKinect v2のセンサー在庫切れで、Windows用のだけの話じゃなくて、xboxにも影響してんだよね。僕ら、大きなデモをするつもりで、Kinectたくさん必要だったんだけど、このおかげで大変だったよ。
三月末にはまた在庫来るみたいなんだけど。
まあそれは悪いニュースだったんだけど、いいニュースは、僕らはこの200ドルのデバイスに投資しつづけて、僕らのエンジニアはすごいことを開発しつづけてるんだ。
Carl: Tim、まだKinect for Windowsがもうないってこと言ってなかったね。xbox用のコントローラと40ドルのアダプタを使わないといけないんだっけ?
Tim: アダプタはMSの在庫にあるんだけど、センサーの在庫がないんだって。それだけど、MSはその方が都合がいいんだ。だってxbox用のとまったく同じだし、USBのアダプタでwin機にさしてるだけだから。
Emotivと感情トラッキングのお話##
Carl:emotiv とTan Leと、彼女がどれだけ凄いかの話はしたからさ・・・あ、そうそう。emotiv は 2nd generation の話が出てるんだけど、まだ発売されてないんだ、で出資者たちの間でいろいろ話題になっててさ・・・。
Tim:そうなんだ。それは知らなかったよ。僕はひと月に一度チェックするぐらいだから。あ、で君がさっき言ってた(視聴者からの投稿で、テレビのコントローラーが思考でできるようになって、さらに飽きてきたと検知するとテレビが勝手にチャンネルを変える「カウチポテト」技術の話)話って、全然あり得るよ。僕たちは10年以内に命令が思考で飛ばせるようになるだろうよ。僕の夢は車いすを思考で動かすことなんだ。でも感情をトラックすることはけっこう大変な仕事でね。
Carl:それもうやってるよ!ビデオでemotivと車いすでコントロールしているの見た!
Tim:でもその最後でさ、使用者がパニクちゃったじゃん。コントロールはちゃんとできないんだ。 それはたぶんUse Caseの最終到達点だろうね。 emotivは感情トラッキングだと思うんだけど、それはたとえば、エンジニアが音楽を聴きながらコード書いてて、どんな風に感じているかとか、それがどう使えるかってのが、利用価値があるんじゃないかな?
完全に人間の脳がコマンドにマッピングされるまでは、そうやって間接的な技術が必要だよね。
Carl:それでね、みんなこの一つのデバイス見て全部を解決しようとするけど、たとえばその間に視線をトラッキングして、で、思考コントロールと一緒に制御して、つまりもう一つレイヤを重ねる形にするのはどうだろう。「本当に、その命令を投げたい?」って。じゃないと気まぐれで考えたことが現実になって、ク○○タレ(Sxxt)なことが起こっちゃうからね。
Tim:え、Sxxtってここで言っていいの?
Carl:もちろん消すよ。
広告利用のお話##
Tim: 君がソフトウェア的に解決するって話をもってきたんで言っちゃうと、僕らは感情トラッキングを「幸せ」かどうかって判別するとこまではやってんだ。で「幸せ」だと感知したときに、何かの広告を投げると。CPGとかブランドにとっては、すごく重要なことなんだ。
あ、ブランドってのは、ペリエとか、クリネックスとかCokeとかPepsiとか何でもいい。CPGってのは Consumer Packaged Goods(消費者向けパッケージ商品)で、僕らはそんな会社とKinectを使ったビジネスについてどうやってクーポンを投げるか話しているんだけど、一番注目されているのは人種性別年齢によって変える広告を激安で実現することなんだ。Kinectって200ドルだけど、僕らは3年費やして技術者が三角関数とか、積分とかやって、人種と性別と年齢を見分けることができるようになった。
で、面白いのは、彼ら(ブランド)は僕や君やRichardなんか興味ないんだ。ミレニアム世代にCPGが注目している。 しかも人種もどうだっていいんだ。世界はどんどん混血していって、茶色化しているからね。 ちなみにこの混血ってのがすごく人種トラッキングには難しいんだけど、ブランド側はもうどうでもよくなってきている。20年前はそうじゃなかったけど。
まあ、ある程度例外があって、世界の中には地域的に一人種だけがマーケットに影響するってポケットになってるところもあるけど。ロスアンゼルスなんかそうだよね。ヒスパニックの中流家庭のミレニアム世代が一番、マーケットに影響を与えてるから、彼らにターゲットを絞って広告するんだ。ダイエットペプシとか。Kinectを使ってね。
Richard: で、Kinectで何を見てるの? ほぼ棒人間にしか見えないんだけど?
Tim: はは、Carlも笑うよね。そうそう。スケルトントラッキングが一番楽にできるところで、.Netのワークショップでもいつもスケルトンから入る。Carlのジェスチャーパックもつかってね。でも、Kinectは他の機能もすごくて、赤外線と深度センサーカメラが特にね、それを組み合わせたりとか。
Kinectって、基本的にデータを投げてて、人間側が反応しているだけなんだ。で、複数のカメラを使えば、どこに人間がいるのかわかって、新しいのだと30フィート内にいる人間が分かる。それだと一番近い人間がだれかもわかるし、どこに顔があるかってのもわかる。それで、路上とかで顔写真をとることもできるんだね。で、そのデータをクラウドに2Dであげて、Azureでも何でもいいけど、そこにあるFunctionとかサービスで三角関数使ってそのプロファイルを3Dモデルに持ってくんだ。人種性別年齢別のプロファイルにね。で、そのデータをリアルタイムに顧客にもどす。
Carl: ねえ、ドアの前に来る宗教勧誘の人種性別年齢をとったりすることもできたらいいよね。
Tim:ははは。もしその宗教が同じ格好して、同じ本を同じ側の手にもっていたら、できるよね!
もっと、現実的な利用法の話をしよう。うちの分社で、透明の冷蔵庫を作っているんだ。でそのドアはタッチスクリーンになっている。そこで、広告とか、ゲームとか流せるよね。で、Kinectを使って誰かが近くに来たら、透明のドアに戻すんだ。それで何が入っているか分かるからね。(訳注:これは米国の食料品店頭での、巨大冷蔵庫の話です)僕はライ豆を探しているときにCokeの宣伝なんか見たくないし、それでコーンや緑豆とか見えなくなっちゃうのヤだし。
人種性別年齢のトラッキングは本当に面白いんだ。北米ではもうプライバシーなんてなくなっちゃってんじゃん?別に君が誰だかを知らなくてもいいんだけど、君がミレニアム世代の男性かどうかは知りたいんだ。そしたら、的を絞ってエナジードリンクの広告を見せることができる。エナジードリンクのマーケットは凄い大きいんだよ。ミレニアム世代男性をターゲットにしててね。
もちろんミレニアム世代って誰だって話だけど、まあ、僕たちの半分の年齢だよね(笑) 子供たちの話。
Carl: じゃさ、君のアルゴリズムだと、年齢が分かっちゃうの?
Tim: うん。正確にね。今までもそういうの会ったけど、あまり正確ではなかった。僕らのは正確だよ。とはいってもブランドが気にするのはミレニアム世代だから、それって10歳の年齢範囲があるけど。
でも僕らは5歳の誤差で判別できる。もちろんよーーーーく見ないといけないけど。
Carl: じゃ、僕がカメラの前に行くと、体重計と減量ピルとセロリの広告を見せられるわけだ!
Tim: ははは。そういえば、僕らのデモの中で、凄い人気あるのがあってね。トップFortuneのCEOにも大人気だったんだけど・・・人種性別年齢の判別プログラムでは、僕は50代男性として、それもどのくらいのレベルで自信もって言えるか、の正確性レベルつきで出るんだけど、それにはバニティ(美化)モードってのがあってね。 チートなんだけど、そのメトリクスだと、君を20代でハンサムって判別することができるんだ!
Carl:すげえ!それやりたい!!
Tim: 了解!
でもそれ、キモくね?って話##
Richard: キモイ、って反応はないの?
Tim:もっちろんあるよ! 沢山! まだ個人判別のところまで話してないよね。
Carl:そうそう、まだキモイ話はしてない。
Tim: エンジニア達が作る技術は凄いんだけど、プライバシー法ってのがあるからね。 もし、僕が消費者で、Nordstrom(アメリカの大手の高級服飾品デパート)のウェブサイトで、お客様の動きをトラッキングしていいか?なんて訊かれたら、絶対!絶対!イエスとは言わない。
誰がイエスっていうとおもう? うちのカミさんだよ! だって40%オフだよ?子供の靴が!
まだ顔認識とか顔によるアイデンティティの話はしてないよね。これって実は人種性別年齢によるアイデンティティよりは簡単なんだ。いくつかの顔写真の平均値を出しすパターンはもうできているし。
これってけっこうパワフルなもので、たとえばRichardがザック(リチャードの犬) をつれて毎朝散歩のついでに近くのセブンイレブンに行くとするよね。この技術で簡単に「リチャードはここに来たことがある」って判別することができる。 またその上に「リチャードは、Cokeをいつも買う」ってことも言える。
近未来的に、小売系のCPGとかブランドのCEOがやりたいのは、僕のカミさんをNordstromでトラッキングして、カミさんが何を買うのか、何を買わないのかってのを知る、でその上でカミさんが2回見て買わなかったら、何かインセンティブを彼女に与えてどうにか買ってもらおうとする、ってところなんだ。
Carl: ねえ、リチャード。今何時だと思う?
Richard: ああ。ハッピータイムだね
(ここで、視聴者プレゼントと、ゲストが5000ドルを与えられたら、どんなGeekなものを買うか?という小休止コーナー
Timさんはもし$5000貰ったらHololensが欲しいのだそう。値段がどうであっても。)
小売りの話から、会員サービスでの摩擦緩和の話##
R: で、僕が犬の散歩をするときの話に戻るけど、それっていつもやってんだよ。近くのStarbucksに行くんだけど、もうオーダーしなくても、そこの店員は僕が近くに来てドアのところに犬の紐結ってると、もうコーヒー作ってんだ。君がさっき言った僕の顔を認識したりどうのっての、近所のStarbucksと何が違うの?
C:でもリチャード、違うよ。人間がやってんじゃないんだし。君が薬局に行ったら「リチャード、君の痔にこのPreparationHとお勧めするよ」なんて言われたら 何で知ってんだ!?ってなるだろ。
R:だってそこで買ったことあるから、経験値を投げてるだけだろ。
C: じゃ、たとえば「そのおなかの傷あとに何か塗ったほうがいい」とか言われたら、明らかに服の仲間で見ているわけだろ?
T: や、キモい仮説はいくらでもたてられるけど、服の中までは見れないよ
C:やんないとは限らないじゃないか!
T:プライバシー保護法もあるしね。でもほかにリチャードや君が絶対イエスという使用法もあるよ。たとえばリチャードが犬のザックと地元じゃないトロントのスターバックスに飛んだとして、そこでも同じ顧客サービスが実現できるんだよ。20フィート近くまで来たら同じコーヒーを作る。こういうのは消費者としていいよね。
C:僕が今あるもので考えていたのは、店の入り口は行ったらクレジットカードか何かをスキャンして次に買いそうなものを予測する技術とかね。
T:それってさっきお気楽に話したオプトインサービスと連携できるよね。たとえば君のIOSとかAndroidの携帯にインストールしたアプリに、低消費電力のBluetoothかなんかとひもつけて、Geofencingかなにかを空港で実現する。で君が領域内に入ってきて、もしクレジットカードか何かのプレミアム会員だったら、Pushで通知を送るんだ。この「クラブラウンジ」に入る資格がありますよ。誰もクレジットカードの会員特典なんて把握してないだろ?
C: そりゃいいね。
R:だよね。だってカウンターで聞いたりしたくないしね。あんたは入れないよ、って言われて恥ずかしい思いするかかもだし。
T:正直言って、クレジットカードの会員特典なんてすべて把握してる?
R:ぜんぜん。
T:Seinfieldは分かってるかもだけど。俺も全然。(訳者注:Amexの昔のCMネタです)
C:それっていいアイデアだなって思うのは、摩擦緩和させるからね。リチャードとよく話しているんだけど、がっかりする結果の可能性があることは、やりたくないもんね。サービスデスクで断られるとか。
R:だよね。拒否られるのはたくさんだ。カミさんにたくさんやられているから。
C:はははは!
R:え、今声に出して言っちゃった?
C:訂正しといたほうがいいよ。
R:訂正するごめん。愛しているよディア!
R:この(カード会社の会員特典での使用例)「選択パラドクス」だよね(注 Barry Schwartzによるベストセラー心理学本)さらに力のあるものになろうとすると、他に「使われる」チャンスの方が増える、と。で、そのパラドクスを小さくするツールがあるっていいよね。
C:まったくだ。
複数Kinectで使う##
T:これができるってすごいことだし、うれしいんだよね。しかも何億もするようなセキュリティシステムを使わずに200ドルだけでやっちまってて、.Netの高レベル言語でやってんだから。むしろ美しいよ。
R:僕にとってはこれは屋内収容度センサーとして使いたいな。ビルの部屋が使われているかどうか知るための。これ使えばばかなり正確なところまでだれかが部屋にいるかどうかわかるし、何をしているかもわかるかもしれない。
T :それもできるよね。でも、人種性別年齢トラッキングのデモでもやったけど、何かの前に行かないといけないんだ。
だから、Vimeoかなにかで開発者用のビデオを作ったほうがいいかな、とも思っている。だってこれを必要としている人たちにいきなり見せたら、パニクるからね。
C:やってみたいのは、100人くらい入る部屋に人入れて、Kinectをあちこちにおいてサービスを走らせて何人中にいるか数えるんだ。結構面白いプロジェクトになるんじゃないかな。
T:デジタル広告のからくる依頼には、広告の前に来た人を数えて、見たかどうか、どのくらい長く見たかってのを分析するってのがあるよ。それをビッグデータに流してAzure上で解析するんだ。 やつらにとっては金の山さ。6人しか一度には見れないKinect使ってさ。たぶんそのプロジェクトはやるんじゃないかな。6人少なくともトラックして、いつスクリーンを見たか、いつ目をそらしたか、いつハッピーになったかとか。
C:この比較的安いデバイスをデイジーチェーンするのは面白そうだよね。コンファレンスとかでさ。
T:面白いだろ。ああそういえば、Scott Guthrie(Microsoftの偉い人)がBuildイベントで何かアナウンスしたときに、聴衆がハッピーだったかどうかを統計とって、きれいにグラフ化して見せればさ、来ているようなプログラマとかにはウケるんじゃないかな。.Net とかHololensとかUniversal APIとかに興味あるやつらなんだし。
ハッピーかどうか##
R: ところでどうやって、ハッピーかどうか、を判断するの?
T:や、あまりちゃんとはできないよ。(笑)
Carlは知ってると思うけど特にAPI使ってたりするとさ結構だませちゃうんだよ。ブランドやCPGはそんなの気にやしないけど、人はハッピーだってふりができる。うそ笑いしてね。
基本的には数学なんだよリチャード。 口の周りを見て、上弦かどうかっていう。それで笑っていれば多分ハッピーだ、と判断すると。
C:Tim、写真を顔の前にもってきて試したことある?
T:もちろんあるよ!そういうの沢山やったよ。ばかばかしいほどにね。サングラスや付け髭とか。冗談みたいなテストやったり、ブラッドピットの写真に棒つけて年齢性別プロファイルとったりして。
でも君もよく知っているように、Kinectはそれでは騙されないんだよ。
T:Kinectってスケルトンデータを基にして認識しているから、人間かどうかは骨構造でわかってしまうんだ。写真は2Dだから、僕らのソフトウェアにとってはただのゴミとして認識される。たとえブラッドピットの写真でもね。全部試してみたよ、リチャード。
C: ハロウィンのかぶりものとかはどう?
T:3Dのもので、出来が良ければハロウィンのかぶりもので、人種年齢性別のプロファイルとれるんじゃないかな。僕らのソフトはどれだけの自信を持って言えるかの数値も答えにつけるんだ。「ティム、君は男性で、これは80%正確な答えです。 ティム、50歳代で、60%正確な答えです」とかね。
C:ティム、今日のお肌はなんだかゴムっぽいね、とか?
T:そうそう。 で、キモいってところの話に戻るけど、一応但し書きをつけないといけないんだ。「お客様が年齢より上にみられたくなければ、または違う性別に判断されることを良しとされないなら、この装置の前に立たないでください。」ってね。うちの嫁さん、キャリーとは結婚してもう26年目だけど、彼女は絶対、絶対この装置の前に立たないだろうね。だって、歳がばれちゃうじゃん!(笑)
R:こないだ見かけた商品でさ、メガネなんだけどカメラの光を反射して、顔を真っ白にしてしまうってのがあったよ。普通のめがね見えるんだけど、CCD受光カメラから見ると、顔がすっかり真っ白になるってやつ。
T:面白いじゃん!
C:それ見た!
Kinectが苦手なこと##
T: もし顔認識でトラッキングされたくなかったら…たとえば空港とか今はセキュリティでいっぱいだろ。もし、顔認識をカメラをごまかしたかったら、顔を横向きに倒すといいよ。すべての顔認識プロ恨むhw平行な二つの目の位置を見つけるところから始まって、そこから顔認識をするんだ。
R:へえ。
T:うん。言わないほうがよかったかな(笑)
R: じゃ、アイパッチつけてる奴とかどうなるの?
T:難しいね。認識正確度ゼロ。サングラスつけている奴とか、髭とか。そう、髭づらの君を45歳から55歳のカナダ人だと見分けるのは難しいよ。
R:顔の輪郭を壊しちゃうから?
T:や、顔の部品が多くなると、計算をしなきゃいけない所も多くなって、それが互いに一々ちぐはぐになるんだ。
R:emotivの話に戻るけど、一つのセンサーに注目していると間違ったデータを貰うことがあるんだよね。だから間違ったデータを正しいデーターとを常に比べて両方見ないと。軍隊なんかが使っているF22(ステルス飛行機)やD25(カメラセンサー)なんかはそうやってて、間違ったデータはどんどん捨ててしまって合成されたデータで正確性を上げているんだ。
このKinectがやっているのは光学レンズと、赤外線レンズで合成したデータを取ってきている。もし複数のKinectでとれる情報を増やして合成できたらもっとすごいよね。
T: 正直な話、この200ドルのKinectカメラを使ってだとけっこう環境の影響を受けやすいんだ。結局これって赤外線使っているから、蛍光灯に光に弱くってね。僕らのラボでテストしているところは蛍光灯だらけだから完全な環境ではないんだ。蛍光灯で顔の輪郭がぼやけてしまうからね。写真に詳しい人なら良くわかる話だと思うけど。
顔の輪郭がぼやけてしまうと、なかなかちゃんとデータが取れない。正確性が下がるよね。
C:ティム、スケルトンのトラッキングに関しては、古いKinectは蛍光灯でうまくいかなくて、太陽光だと全くダメだったんだけど、この二つは新しいKinect v2ではずいぶん解決したと思うよ。特に蛍光灯の下の環境では何よりもいい。もしそれでもしビットレートをこぼし続けるようなら、窓を開けるといいよ。
太陽光を入れればいいんだ。少なくともスケルトントラッキングはそれでうまくいくよ。
T:いいこと教わったよ。ここのInterknowlogyのエンジニアの中でどの光の塩梅が一倍、新バージョンのデバイスのテストに良いのか、まだ把握してないからね。いろいろ試しているけど、焦点をあてた顔に光を当てるてのもいいみたいなんだけど、何が一番なのかはわからない。分からないなりに正確性の戻り値で返してはいるけど。
C:太陽光けっこういいよ。他にはねえ、僕が書いたプログラムの中でスケルトンとビデオを重ねるのがあるんだけど、A)同期を取ること と、B)十分な反応速度を出すこと、が難しかった。
知ってると思うけど、もし十分反応速度がほしかったら、MultiframeReaderは使わないこと。あれはゴミだよ。ほんとに。これは(MSの)Kinectチームから聞いたんだ。
あれ使わないで、Body Frame ReaderとほかのすべてのFrameをもってきて、最後にColor Frameを取りに行くんだ。BodyFrameReaderの中のColorFrameを使えば、毎秒30フレームをずっと持ってき続けることができる。そうすれば十分速い。
それでKinect ツールの抽象化ツールを書いて、Githubにのっけてるんだ。CarlFranklinって僕のアカウント名であげたよ。Kinect Toolはそのプロセスを抽象化したものだよ。かなり暗いところでも、MultiframeReaderと同じでイベントを投げるだけだけど、毎秒30フレームを実現できる。
T: Kinect Toolはすごくいいよね。よく知ってるよ。
R:で、蛍光灯にそんな弱いなら、どこでこれを使えるの? ショッピングモールなんか無理でしょ。
T: そうなんだけどね。CPGやブランドにとってはそこまで正確である必要がないんだ。ただ、エンジニアは100%正確であることを求めるから、彼らにはあまり人気ないよ。CPGにとっては半分でいいんだけどね。50%正しければ、説得できる。あ、説得ってのは何かを買ってもらうことって意味で彼らが使ってる言葉だよ。見て、その商品を買ったら、説得できたってこと。
C:ここで発表することがある。Gesture Pack、あれ、オープンソースにするよ。たった今から。(笑)
T:いいじゃん。Linuxでも動くようにしてよ。
C:や、それは誰かほかの人にやってもらって。
R:ははは。
Bluetoothの可能性と、しめ。##
T: ああそれでね、R&Dでやっていることなんだけど、もう時間足りないかな?手短に話すね。Kinectの最終到達点だよあれ。このInterknowlogyで、IOSとAndroid上でKinectトラッキングをするんだ。Bluetoothで飛ばしてね。なぜそんなことするかって?エンジニアたちはただ遊んでただけなんだけど、これでArgumented Reality(現実に投影したデジタルデータ)を実現できる。そう、Richard、Stacyがやってるようなさ(Richardの奥さんは服飾デザイナー)。スクリーンの前に立ってKinectが着せ替えをしてくれるんじゃなくて、その着せ替えをの中で携帯でできるんだ。
C: それ、SignalRを使ってやったよ。Pwopスタジオ(Carlの運営するスタジオ)でね。で、それをブラウザで実現してほかのデバイスで見れるようにしたんだ。Signal Rは、普通のソケットだからどこでも動くし。リアルタイムでできるし。
T: うん。KinectってUSB3を使うし、しかも早くデータを流すし、低出力のBluetoothがそのデーターを流すことができるとは知らなかった。あれはすごいな
C:僕はBluetoothは苦手でね。最近はよくなってきているのかもだけど
T:Bluetoothは皆に嫌われているけど避けて通れないじゃん。
C:僕はBluetoothがなくても生きていける。
T:だってさ、NFCはソフトウェアスタンダードではなかったんだけど、Starbucksがその権利を買って独自で使っている。で今になってNFCが虫の息だって話。あまりいい技術でもないしね。Faxだってさ、90年代の過去の技術だけど、今でも使われてるじゃん?
R:法律サービスでだけだよ。
C:もう時間かな? ティム、ありがとう。またおしゃべりしよう。
T:そうだね。もっと頻繁に会わないとね。