RINIONS
- 「日本人のお客さんが殆どいないので,いまいちやる気 出ないです」状態
RINIONS : Real Time Input from NI/NUI and Output to the Network and Shared Memory System
- 用語: NI: Natural Interaction, NUI: Natural User Interface
Rinions
- Rinions は Kinect/Xtion からのジョイントデータを Second Life ビューアに転送することによって,Second Life ビューアでのリアルタイム アニメーションを可能にします.また v3.1.0からは BVHファイルへの入出力もサポートします.
最新バージョンは 3.4.0 (2013 3/4). Kinect SDK 1.6/1.7 または OpenNI2+NITE2
- 音声によるコントロール (Kinect SDK のみ)
- OpenNI2 + NiTE2 のサポート
- ログ機能の強化
- フェイス トラッキングのサポート
- ジョイントの回転角度の制限機能
- BVHファイルと MikuMikuDance(MMD) のサポート.(ただし,MMDのサポートはまだ実験段階です).
- Imprudence, Firestorm, Singularity のビューアをサポート.
- ビューアの変更は軽微なので,他のビューアにも(コンパイルさえ出来れば)適用可能です.
- もし,適用ビューアの希望があれば,Rinions フォーラム にリクエストを出してください(日本語で)
- 使用可能なビューアのリストはここ
- 名前の変更理由 (SLKinect -> Rinions)
- Kinect が無くても動く. (Kinect は MS のトレードマークかも知れないし)
- Second Life (SL) でなくても動く.
アニメーション中継サーバ
- アニメーション中継サーバ (anm_server) は,ネットワーク上で Rinions間 のジョイントデータの転送を行います.これにより,リモートユーザとの間でジョイントデータの共有が可能となります.
- anm_server の詳細はこちら
Rinions の主な機能
- デュアル ライブラリ スタック (OpenNI2+NiTE2 と Kinect SDK 1.6/1.7 のどちらでも動作可能)
- 音声によるコントロール (Kinect SDK のみ)
- 関節情報のログ機能
- ユーザの関節の座標を取得し,回転のクオータニオンを計算し,それらを共有メモリに書き込む.同時に,データをネットワークサーバに送信することも可能.
- 各種のデータファイルやネットワーク上のサーバから関節のデータを読み込むことが可能.
- UDP ホールパンチング による NAT越え
- スピードの向上 (~30FPS)
- データ精度の向上 (OpenNI では回転行列の代わりに,座標データからクォータニオンを計算)
- データの保存と読み込み
- OpenNI の生データ, Joints Text File(オリジナル), BVH ファイルをサポート.
- MikuMikuDance のモーションファイル (VMD) のサポートは現段階では実験的
- アニメーション中継サーバ間との QoSをサポート
- 64bit/32bit版の選択可能
- OpenNI ではキャリブレーションポーズが不要
- Xtion のサポート
- LED と チルトモータのサポート (Kinect SDK では LED は制御できません)
- 移動平均(自前実装またはSDK実装)によるデータの補正
- Cygwin 環境で動作する anm_server を同梱
OpenNI/NiTE と Kinect SDK の比較 (Rinions は両方のSDKをサポートします)
デバイス | 検出の開始速度 | ユーザの誤検出 | トラッキングスピード | 検出のソフトウェア リセット | カメライメージの初期化 | ユーザの回転(後ろ向き) | 上半身の検出 | オーディオ | 顔検出 | |
Kinect SDK 1.6 | Kinect | 早い | しばしば | カメライメージに遅れる | 可能 | 早い | 検出不能 | 検出可能 | 可 | 可 |
OpenNI2 + NiTE2 | Xtion, Kinect | 非常に遅い | ときどき | 早い | 可能 | 遅い | 検出可能 | 検出不能 | まだ不可 | OpenCVを使用する |
- デバイス欄の Kinect は Kinect for Xbox360 と Kinect for Windows の両方を表します.
Kinect for Xbox360 で OpenNI+NITE を使用する場合は,avin2 ドライバが必要です.
音声制御 (Kinect SDK 1.6)
- Kinect SDK 用
- 以下,中学生レベル英語....
- You need to install Runtime of Speech Platform. Please execute SpeechPlatformRuntime.msi at Redist folder of Rinions (Program Folder)
- if you want to open sensor (camera) view and start detection, please say Window, Camera, Two, Start, Record Or say W, C, Two, Start and Record
- About menu open commands. (Window must be foreground)
- Please say menu string or alphabet in ( )
- File or F : Open File Menu ............... As Menu is File (F)
- Window or W : Open Window Menu
- Setting or T : Open Setting Menu
- Help or H : Open Help Menu
- It available at sub menu
- About sensor (camera) view commands.
- Start : Start to detect skeleton
- Record : Start to record skeleton
- Stop : If Rinions is executing record, stop to record. If Renions is not executing record, stop to detection.
- User : Search next user.
- Motor up : Tilt motor is up
- Motor down : Tilt motor is down
- Motor center : Tilt motor is center
- These speech grammar file is speech_grammar.grxml at same folder with Rinions.exe. You can edit it.
ログ機能
- Rinions can save Log Files. Format of the Log File is Joints Text File Format + Joint Angle.
- About Setting of Log File
OpenNI
- Rinions 3.2 can detect face position using OpenCV.
- If you want to face detection,
- Download and extract OpenCV
- Copy data folder from OpenCV to Rinions program Folder. ex.) C:\Program Files (x86)\NSL\Rinions
関節の回転角度の制限
- At Rinions 3.2, you can restrict joint rotation using joint_restriction.txt
- Please see joint_restriction.txt in Rinions Program Folder. ex.) C:\Program Files (x86)\NSL\Rinions
- More detail is here.
- see also http://wiki.secondlife.com/wiki/Suggested_BVH_Joint_Rotation_Limits (this is QAvimator coodinate)
BVH ファイルのサポート
- v3.1 から BVH をサポートします.
- BVHファイルの読み込み,書き出しが可能です.
- 座標のスケールを変換して書き出し可能です.
- SL/OS 用に BVHファイルを分割して書き出し可能です.
MikuMikuDance のサポート
- この機能は現時点ではまだ実験段階です.
- モーションキャプチャ
- VMD ファイルの読み込み (複雑なものは再生困難です)
アニメーションデータの保存とロード
- ユーザのトラッキング中にセンサーウィンドウの記録ボタンをクリックすると,アニメーションデータは一時データとしてハードディスクに書き込まれます.
- その後,ファイルメニュー のデータ保存 を選択すると,任意のファイル名で一時データを保存できます.
- ファイルメニュー のデータ読込 を選択して,ファイルからデータを読み込む事ができます.ファイルフォーマットは自動認識されます.
サポートするデータファイル
- OpenNI の生データ
- Joints Text ファイル
- BVH ファイル
- VMD ファイル (実験段階: 複雑なものは再生困難です)
チュートリアル ビデオ (Youtube)
- Rinions のインストール: http://youtu.be/jU1xxu19Gn4
- 簡易セットアップ: http://youtu.be/3gatR6MbtAU
- アニメーション中継サーバの利用(実験サーバを使用): http://youtu.be/x942bCfTSso
- PC上で動作するローカルなアニメーション中継サーバの利用: http://youtu.be/aNCvDxzlGjA
- Joints Text ファイルの保存とロード: http://youtu.be/MoUXM1XCP64
デモ
- ローカルダンス: http://youtu.be/tl2gLw-GJws
- ネットワークを使用: http://youtu.be/KhqbGAWqvLI
- 無理やり多重起動: http://youtu.be/WOX3GuaIJ60
ライセンス
非商用で使用する場合は,自由に使用して構いません.
再配布する場合は,公開している全ての物を含めること.コピーライトは削除しないでください.
商用で使用する場合は連絡を. iseki@solar-system.tuis.ac.jp
This software is free for non-commercial use. Distribution and the use library is also free for non-commercial use.
Distribution must include all elements as provided, including the library. Copyright notices to all material must remain intact and as displayed in all components.
If you want to use this software for business (i.e. when you demand value from sales, use, or otherwise from this software), please send e-mail to iseki@solar-system.tuis.ac.jp.
免責
このソフトウェア群は無保証です.
このソフトウェア群を使用することにより蒙ったいかなる損害に対しても,保障は一切行いません.
全て自己責任で使用してください.
This software is not guaranteed at all. The author makes no representations regarding the fitness of this software and does not assume responsibility for any problems that may occur with the use, remodeling, or re-distribution of this software under any circumstances.
Use is entirely at your own risk.
謝辞
- Thanks for Kinect Hackers.
- Thanks for Japanese Kinect Hackers.
- Thanks for Imprudence Viewer development Team.
- Thanks for Firestorm Viewer development Team.
- Thanks for Singularity Viewer development Team.
- Thanks for Cygwin development Team. anm_server.exe is compiled using cygwin.
- Thanks for other All developers of Open Source.
- Thanks for students of NSL.
- And Thaks for your bug reports.