【本サイトのご利用指針】
当サイトはSPAM対策等のためJavaScriptを使っています。
JavaScriptの実行を可能な状態にしてご利用下さい。
Please enable the execution of JavaScript!









































【Kinect】『深度情報を音に変換する代替視覚システム Cyber Eye』

~音の拡張現実センシング 3次元情報を音で知覚するサイバー・アイ~

『Kinectが変えるセンシングの世界』
    【リンクフリー】 私設研究所ネオテックラボ Neo-Tech-Lab.co.uk
【記載者】 【私設研究所Neo-Tech-Lab】 上田 智章
作成日 2013/03/30
ここにチェックボックス型外部コンテンツ・メニューが入ります。




【ブラウザはGoogle Chrome】
●最新版ダウンロードはこちら

【お知らせ】

Windows7でChromeがフリーズを起こす場合は、コントロールパネル⇒管理ツール⇒サービス でWindows Media Player Network Sharing Serviceを停止かつ無効にします。Micorosoftのバグです。

【はじめに】

 このページは、筆者個人サイト内サポートページです。
 以下にKinectのデプス・カメラで得られる深度情報を音に変換して3次元の知覚をサポートするCyber Eye(サイバー・アイ)のサンプル・プログラムと実験や説明のYouTube動画を置いておきます。

                         『Kinectが変えるセンシングの世界』

【Kinect】代替視覚Cyber Eye【拡張現実】

代替視覚システム(サイバー・アイ:Cyber Eyes)とは、知覚コンバータの一種で、デプス・カメラで捉えた3次元深度情報に基づいて、音響オブジェクト(周波数、強度、音色、位相差、ホロフォニックな3次元立体音響)に変換・生成することで、視覚障害を持った人に聴覚で『見る』ことができるようにサポートする新世代デバイスを示す造語です。
脳神経に直接接続できるBCI(Brain Computer Interface)の実用化は感染症や拒絶反応等の理由でまだまだ遠い将来であると考えられます。それまでの間のつなぎ技術の位置づけです。実は2010年頃から細々と趣味で研究してきました。
今回は頭部インパルス応答を考慮した立体音響オブジェクトを使っていないので、まだまだ『見る』状態には遠く及ばず、ただ『感じる』レベルまでを試作しました。
それでも5本のスキャンラインをステレオで聞き取るだけでもプラットフォームなどの端面に対して自分の姿勢がどういう状態にあるのか認識することができるのではないかと思います。
健常者でも利用価値はあります。ランダム・ドットを全方位に投影して、魚眼レンズのカメラで撮影してデプスを獲得すれば、死角がなくなり、防犯やセキュリティー面の向上が可能となります。

【サンプルプログラム】(Kinect for Windows SDK版)

試作体験版を限定公開します。ステレオ5音源バージョンです。ヘッドセットが必要です。
このプロジェクトはKinect for Windows SDK Ver.1.7で作成しました。
【サンプルプログラム】『Cyber Eye Version1.2』試作体験版
  ★プロジェクトファイル(ソースリスト)が含まれます。只今、NTL_KinectLibも同梱。


【Version1.2】『Cyber Eye』Kinectを使った試作体験版                               ★たかはる画伯のホームページ


【Version1.2】体験版ソフトウェアの表示例                                   深度と音階の関係

【健常者向けの想定用途と今後の方向性】

Cyber Eyeは決して視覚障害者向けの用途にとどまる物ではありません。ずばり防犯や安全確保のための全方位見守りです。
携帯型エージェント・システムと考えても良いかもしれません。クラウドシステムとの融合で雨が降る前に予測したりとか。
最終形態は健常者が使う拡張感覚システム(人工超能力)を想定しているのです。
頭部インパルス応答を考慮した立体音響オブジェクトによりスキャンすることなく、物体の存在が把握できる。
今後は脈波検出と同様、パソコンの内蔵カメラまたはUSB接続カメラを用いてデプスカメラを構成し、まずはパソコン・ベースのCyber Eyeを作る。

【海外の先行研究事例】

CASBliP(Cognitive Aid System for Blind People)


【小型・低価格Kinect実現のためのヒント】

【説明】
Twitterで2名の方が発言されていたので書いておきます。

Q:Kinectはどこまでコンパクトにできる?

A:記事でやったようにm系列パターンでフレーム毎に反転させるプロジェクタなら、カメラとプロジェクタの同期手段さえあれば、プロジェクタの量産原価は数100円切る可能性があります。
 無論、Prime Sense社の現行アルゴリズムでは専用プロセッサが必要となるのでそんなに安くできません。コンパクト化は無理でしょう。
 しかし、実はこの処理には別解が複数存在しています。その場合、携帯のプロセッサで十分ではないかと思われます。
 またリアルタイム性にこだわらず、単眼式3次元立体カメラ程度の話なら、そもそも現行アルゴリズムでも十分ですね。
 しかも、将来のモバイル機器には情報提供用にコンパクトなプロジェクタが実装される可能性が高いです。
 そうなると、アプリ開発のレベルで済みそうですね。

Q:記事の手作りKinectはプロジェクタが勿体ない。

A:ですね。しかし、実験条件を絞り込む必要があり、結局はエプソン製のプロジェクタを購入して正解でした。
 記事でも少し図を入れていますが、160×120画素程度のモノクロ液晶パネルを使ってプロジェクタは構成できます。
 ロボットの視覚センサなら、トラ技2012年3月号の頒布カメラと組み合わせて作れそうでしょ?
 赤外線でプロジェクタを構成するなら、パターンを反転させる必要もありませんから、スライドやガラス板に蒸着させるなどの方法で印刷したランダムパターン板を使う事だってできます。もうこうなると、LED懐中電灯に毛が生えた程度のコストで携帯電話に機能追加したり、ロボット・アイが製作できますよね。
 GERBERフォーマットで穴データを作成してプリント基板加工機でメタルマスク用の薄いアルミ板に穴をあけるとか、P板.comに発注するとかも考えてみたが、製作に時間がかかりすぎる欠点があります。
 筆者は、ネットで検索して見つけた、京都大学の直ぐ傍にある株式会社 鈴木マイクロフィルム研究所で【画像データ⇒スライド】にしていただきました。送料別で2,310円でした。
 可視光3次元スキャナを作るのなら、これが使えるのでは?


【図】低価格版Kinect実現のためのヒント

右側の写真は、手作りランダム・ドット・プロジェクタとUSBカメラでデプス・カメラを構成したもの。スライド方式でランダム・ドットを投影。カメラ用のレンズは比較的容易に入手することができる。秋月電子通商でも購入可能。ライトは100円ショップで見つけたLED5個の懐中電灯。50cmくらいは投影できます。三脚も100円ショップで調達しました。

【自作Kinectもどき Version 2.1】




【超高性能な次世代Kinectを自作するプロジェクト】

Kinectの特許調査の結果、イスラエルのPrime Sense社の現行の請求項には全てマイクロレンズアレイを使っている条件が含まれている。
つまり、プロジェクタにマイクロレンズアレイを使わなければ抵触しない。
ランダム・ドット・パターンを投影する方法は他に幾らでもあるし、極端な話、漢字を投影してもデプス・カメラは構成できる。
他にも回避策は無数に有る事が判明した。
Kinectには、XBOX360に搭載されているIBM PowerPCカスタムのXenon 3.2GHz(3コアプロセッサ)と同じものが1プロセッサ搭載されているが、
XBOX360のCPUコアの性能は115GFLOPSとされているから、Kinectでは38GFLOPS程度が使われていることになる。
Kinectのデプスカメラのアルゴリズムは、様々なケースでのスループットを検証した結果、
1988年頃の情報処理技術(イスラエル)で構成されているように思える。
(★イスラエルの科学技術力は日本より概ね20年先行している。勿論、当時はスパコンでなんとか動作する程度のものであったろうが.....。)
距離レンジを設定しており、背後に鏡がある状態だとデプスカメラは1FPS程度でしか動作しない事から探索型アルゴリズムである。
つまり、1989年以降に開発済みの高速アルゴリズム(10種程度)を使えば最大1000倍に高速化が行えるので、
距離レンジ・フリーで30FPSで動作するデプスカメラを2GFLOPS程度で実現できる計算だ。



2012年10月、Kinect for Windows SDKがVersion1.6になった事で、IRカメラ画像の取得と赤外線プロジェクタのオフが行えるようになった。
これによって、Kinectで撮影されたIRカメラ画像を使って、パソコン側でデプス・カメラ・アルゴリズムの検証が可能になったのだ。
自作のUSBカメラ+プロジェクタだと照度の関係や構造の堅牢さに問題があって検証しづらいことも多かったので、
Kinectを使って、
  ①デプス・カメラ・超高速アルゴリズムの検証
  ②顔追尾(face tracking)・顔認識、表情キャプチャの改良
  ③骨格追尾アルゴリズムの改良(トラ技2012年8月号で公開した円運動推定アルゴリズムの上位版)
  ④手追尾(finger tracking)
等を行おうと思う。
とはいえ、最新のアルゴリズム(ポリゴン・モデル・トラッキング)はまだ一般のPC(1台)には荷が重い。
1989年レベルから徐々にやっていこうと思う。(★恐らく2000年以降のレベルはGPUを使ってもまだ無理だろう。)
Intel CORE i3~i5で動作する程度を見極めたい。

【ランダム・ドット・パターンの生成】

超高精度Kinectを実現するためのランダム・ドット・パターン生成プログラムを例示します。
35mmスライド用相当のデータです。数値変更により別サイズのデータも作成可能です。
【言語】Excel VBA (独自開発のbitmap作成ライブラリを使っています)

【ソース】ランダム・ドット・パターン生成プログラム(Excel 2010 .xlsm 3.5MB)
【ソース】ランダム・ドット・パターン生成プログラム(旧バージョン .xls 25MB)

【画像データ】3200×2400画素のランダム・ドット・パターン(.bmp)
【画像データ】3200×2400画素のランダム・ドット・パターン(.png)
【画像データ】3200×2400画素のランダム・ドット・パターン(.jpg)
【画像データ】3200×2400画素のランダム・ドット・パターン(.gif)

★筆者は、京都大学の直ぐ傍にある株式会社 鈴木マイクロフィルム研究所
  画像データ⇒スライド にしていただきました。送料別で2,310円。

【3200×2400画素ランダム・ドット・パターン】








































【Kinectに馴染めない方へ】

MikuMikuDanceで遊んでみませんか?

『記事読んでやってみたけど、やっぱり無理。
買ったKinectが勿体無いな...』という方に。
樋口優氏(ハンドルネーム)によって開発されたフリーウェアMikuMikuDanceで遊んでみませんか?
誰でも簡単に3次元グラフィックスの動画や静止画が作れます。
このMikuMikuDanceの最新版Ver.7.39.dotにはKinect接続機能があり、モーション・キャプチャで振り付けを行うことができます。

【インストール手順】

MikuMikuDanceのダウンロード・サイトの1.3 MikuMikuDance(DirectX9 Ver)をダウンロードします。
 zipファイルを解凍して、フォルダーごと保存してください。
②次に、Kinectを使うモジュールを提供されているMogg氏のサイトに行き、
 MoggNUIのVersion 0.3.2をダウンロードします。
 同梱ファイルのReadme_JPN.txtの指示に従ってください。
(Kinect for Windows SDK Ver.1.0用です。ご注意を!)


【動作確認】

①MikuMikuDance_v739dotフォルダ内のMikuMikudance.exeをダブル・クリックして起動します。
②『モデル操作』ボックス内の『読 込』ボタンをクリックし、『初音ミク.pmd』を読み込みます。
 モデル情報が表示されるので、『Ok』ボタンを押します。
③メニューの『物理演算(P)』のプルダウン・メニューから『常に演算(E)』を選択してチェックを入れます。
 物理演算の結果、重力の影響がリアルタイムにシミュレーションされ、髪の毛が動いたはずです。
④『物理演算(P)』-『重力設定(G)』の『ノイズ付加』のチェックを入れ、向きxのスライドをどちらかに動かすと、風が吹いているようになります。『OK』ボタンをクリックして戻ります。
⑤『モーションキャプチャ(K)』のプルダウン・メニューのKinect(K)を選びます。
 Kinectの2m位の位置に立つと赤人(red human)が画面右上に現れるはずです。
⑥『モーションキャプチャ(K)』-『capture(C)』を選ぶとモーション・キャプチャの記録が開始されます。
 同じメニューで停止させるまで、モーションを記録する事ができます。
⑦記録が終了したら結果を見てみましょう。
 右下の『再生』ボックスの『再生』ボタンをクリックすればキャプチャーした内容を確認することができます。
⑧『ファイル』メニューの保存やモーション・データの保存などを使えば、モデルごと保存したり、他のモデルの振り付けに使えるモーション・データだけを保存したりできます。
★詳しくお知りになりたい方は、MMDの入門書がありますので、そちらをご覧ください。