|
【ブラウザはGoogle Chrome】
●最新版ダウンロードはこちら 【お知らせ】Windows7でChromeがフリーズを起こす場合は、コントロールパネル⇒管理ツール⇒サービス でWindows Media Player Network Sharing Serviceを停止かつ無効にします。Micorosoftのバグです。 |
【Kinectが変えるセンシングの世界】~トランジスタ技術【増刊】『今すぐ使える パソコン計測USBマイコン基板』の付録で作る~ |
||
【リンクフリー】 私設研究所ネオテックラボ Neo-Tech-Lab.co.uk 【記載者】 【私設研究所Neo-Tech-Lab】 上田 智章 |
作成日 2012/06/09 更新 2012/06/09 更新 2012/07/07 最終更新 2013/01/14 |
|
ここにチェックボックス型外部コンテンツ・メニューが入ります。 | ||
|
【ブラウザはGoogle Chrome】
●最新版ダウンロードはこちら 【お知らせ】Windows7でChromeがフリーズを起こす場合は、コントロールパネル⇒管理ツール⇒サービス でWindows Media Player Network Sharing Serviceを停止かつ無効にします。Micorosoftのバグです。 |
【はじめに】このページは、CQ出版株式会社トランジスタ技術2012年8月号(7月10日発売)に投稿した記事『見えない量をビジュアルに! 奥行きカメラKinectで3D計測』及びインターフェース2013年1月号(11月25日発売)の記事『研究 人間センシング』の筆者個人サイト内サポートページです。以下に記事に登場するサンプル・プログラムと実験や説明のYouTube動画を置いておきます。 |
★XBOX360用のKinectでもVisualC# 2010とSDKの基なら動作します。 |
【Kinect】『手で操作するNUIの実験』【近接トラッキング】Kinect for Windows SDKがVer.1.6になった事により、赤外線カメラの生画像(640×480画素, 30FPS, 16bits/pixel)が得られるようになったので、40cm未満の近距離で使えるハンド・トラッキングを行ってみました。一番簡単なNUI: Natural User Interfaceです。 デジタル・サイネージの分野で、手を振って簡単なジェスチャーを認識させているのと等価なものです。 スクリーン座標と赤外線強度(概ね距離に逆比例)が得られるので、東芝のパソコンに実装されたようなNUIが構成できます。 【Kinect】『デプスカメラの撮影可能範囲(最大10m?)の確認実験』【SDK Ver.1.6】インターフェース2013年1月号のオフ会『人間センシングを考える会』で質問いただいたKinectの距離測定可能範囲についてですが、Kinectブログを読んでみたところ、SDK Ver.1.6からDepthImagePixelという構造体が追加されており、 従来のDepthImageFrame.CopyPixelDataToに代わって DepthImageFrame.CopyDepthImagePixelDataToというメソッドが追加されていました。 DepthImagePixelはDepth(short型)とPlayerIndexを持っています。Depthはミリ・ピッチです。 加えてデプスが測定できた画素を示すIsKnownDepth(bool型)も持っています。 なんと最大10mまで測れるようになったとのことです。 但し、外部照明などの障害要因がない場合、画面中央のチャンピオン・データであろうと思います。 早速試してみました。マンション廊下は窓から6m離れています。 最初に赤外線ドット・パターンで測定。次に新しい仕様のデプスカメラを使いました。 つまり、1ドット以下のシフト量に対応する演算を行っていることがわかります。 骨格追尾(Skeletal Tracking)にまで対応しているのかは試していません。 【サンプル・プログラム】 『Kinectデプスカメラ(SDK Ver.1.6)』 【注意】最初、モノクロ赤外線画像が見づらいので、フル・スクリーンにしてご覧ください。 【Kinectのランダムドットパターンで人間センシング】Kinect for Windows SDK Ver. 1.6からColorImageStreamで赤外線カメラ画像(16bit/画素)のキャプチャーが可能になりました。つまりランダム・ドット・パターンで投影された被写体の画像取得が行えるようになりました。 これを使って、人物だけを抽出する実験を行ってみました。 まず、人物のいない投影像から実際に投影されているランダム・ドット・パターンを取得します。 次に、キャプチャ画像と反転ランダム・ドット・パターンの相互相関を取れば、 人物によってシフトした領域だけが抽出できます。 その結果、判明した事は、Kinectは小数点以下のシフト量の相関値も算出しているという事です。 今後、Base Transition Ruleを使ってDepth Cameraを構成したいと思います。 |
【Kinectで熱源追尾】Kinect for Windows SDKがVer.1.6になった事により、赤外線カメラの生画像(640×480画素, 30FPS, 16bits/pixel)が得られるようになり、加えて赤外線投影も停止できるようになりました。そこで、Kinectでサーモビューワーを作る前段階として、赤外線カメラとして使い、熱源追尾を行ってみました。内蔵の加速度センサ(Kionix KXSD9-1026)の数値変化からヘッドを動かしているようすがわかります。まさか熱源誘導ミサイル作るわけにもいかないし、用途は?ですが。 ところで、この赤外線プロジェクタの照射オフ機能は、Kinect for Windows限定で、Kinect for Xbox360の方では使えませんでした。 しかし、制御上は点灯と消灯の2状態を持っているので①意図的な禁止、②バグ、③回路結線上の制約等が考えられます。 ②なんか直ぐわかるはずで、有り得ないミスです。③はIRカメラ系の電源制御とまとめられてしまっている可能性はありますが..... 案外、①で『Xbox360のIRカメラの性能が良過ぎるのを隠したいからではないのか?』と勘繰っています。 オフにできないなら、そうだ!シールをプロジェクタの窓に貼って遮光してしまえばわかるか.... |
【Kinect for Windows SDKがVer.1.6に。多機能センサ化】SDKが10月にVersion1.6になった。主な変更点は以下の通り。 ①ColorStreamのモードに赤外線カメラのキャプチャモード(640×480画素, 30FPS)が追加されたので、 ランダム・ドット・パターン投影生画像が取得可能になった。1画素あたり16bitのグレイスケール。 これで、ソフトウェアで超近距離モードのデプス・カメラを作れるだろう。 ただ個人的には、DepthStreamの方に出力してほしかった。カラーカメラと同時使用ができなくなる。 ②仰角制御用に実装されているKionixの3軸直交加速度センサのX, Y, ZがVector4で取得可能となった。 ③赤外線プロジェクタの照射をOffにできるようになった。 つまり、①と組み合わせて、赤外線カメラとしても使えるようになった。 まだ十分に使い込んでいないが、ヘアドライヤーの熱風やライト等の熱源は見えた。 ④カラーイメージのバランス、ガンマ補正、コントラストなどを調整可能になった。 ⑤ 【私の勘違いでした】 ⑥カラーイメージとデプスイメージ、骨格情報間の座標変換の方式が変更された。 (一応、旧関数はまだ利用できる。) 【図1】赤外線ランダム・ドット・パターンを照射中の撮影事例 【図2】プロジェクタの照射を停止。赤外線カメラキャプチャの事例 【図3】増感処理時の赤外線カメラ映像の例(実験には暗幕が必要だな。) 【図4】雨天で夕方並みの暗さでも赤外線領域では太陽光で明るい 【図5】ランダム・ドットで精確な位置を決める場合に、赤外線反射強度マップでおおよその位置関係を出すのもありだな。 |
【Kinect for Windows SDK Ver.1.6インストール】① Visual C# 2010 Expressをダウンロードしてインストールしてくださいhttp://www.microsoft.com/ja-jp/dev/express/default.aspx Microsoft社のLive IDを取得して正規登録(無料)をしてください。 http://www.microsoft.com/ja-jp/mscorp/account/default.aspx ② Kinect for Windows SDK Ver.1.6をダウンロードしてインストールしてください http://www.microsoft.com/en-us/kinectforwindows/ ③ Kinect for Windows Developer Toolkitをダウンロードしてインストールしてください (上記のサイトで連続して作業できます) http://www.microsoft.com/en-us/download/details.aspx?id=27226 ④ Microsoft Speech Platform - Software Development Kit (SDK) (Version 11)を ダウンロードしてインストールしてください ⑤ http://www.microsoft.com/en-us/download/details.aspx?id=34809 日本語ランゲージパックをダウンロードしてインストールしてください ⑥ http://www.neo-tech-lab.co.uk/ARsensing/DownloadVer1.6/ 私のサイトにもサンプルプログラムを用意していますのでもしよろしければ参考にしてください。 |
【Kinect for Windows SDK Ver.1.6】『サンプル・プログラム集』2012年10月にリリースされたKinect for Windows SDK Version1.6で動作する基本サンプル・プログラムを用意しました。(^_^;)下記の通りサンプル・プログラム集ツリーの中に個別ダウンロード・リンクを用意してあります。 |
|
【説明】 こまごまと作業があるので、現時点で準備できたサンプルプログラム集です。 【動作条件】 プログラムは筆者の元で動作を確認済みです. プログラムは,Microsoft社のVisual C# 2010とKinect for Windows SDK Version1.6を用いて記述しています. 1)ソフトウェア開発は、Windows7以降のOSが稼働するパソコン上で行う必要があります。 この制約は、Microsoft社のKinect for Windows SDKが動作可能な環境がWindows7以上である必要があるためです. 2)Microsoft社のVisual Studio 2010 Express版のVisual C# 2010 Express Editionのダウンロードが必要です. 【ダウンロードURL】http://www.microsoft.com/ja-JP/dev/express/default.aspx 3)Microsoft社のKinect for Windows SDK Version1.6をダウンロードしてください. 現在、最新版のバージョンは1.6ですが,オンライン・ドキュメントが読みづらいので,Version1.0をダウンロードしてください. 【ダウンロードURL】http://www.microsoft.com/en-us/kinectforwindows/ 【利用条件】 1)プログラムは,Kinect for Windows SDK Version1.6を用いてVisual C# 2010で記述しています。 Windows7以降でしか動作いたしません。 2)プログラムのバイナリは添付していませんので,Visual C# 2010 Express Editionでビルドしなければなりません. Visual Studio 2012 Expressでは現時点で動作確認を行っていません。 【著作権】 今回収録したプログラム(C#)のソースコードの全部または一部は,商用/非商用に関わりなくご利用いただくことができます. プログラムの改編はご自由にしていただいてかまいませんが,動作の補償は一切行いません. ただし,サンプル・プログラムや本アーカイブ自体の2次配布や販売は行わないでください. また,個別の質問や技術相談等のサポートは有償となります. 【免責】 (1)プログラムやデータの使用により,使用者に損失が生じたとしても,著作権者は,その責任を負いません. (2)プログラムやデータにバグや欠陥があったとしても,著作権者は,修正や改良の義務を負いません. |
【Kinect for Windows SDK Version1.6用サンプルコード】2012年10月にKinect for Windows SDK Version1.6がリリースされましたので、【ダウンロードフォルダ】http://www.neo-tech-lab.co.uk/ARsensing/DownloadVer1.6にサンプルコードを置いておきます。<KinectProjectVer1.6> | ├─<Bitmap_GetColorImage> 【サンプル・プログラム】『Kinectからカラー画像をキャプチャーする』 | ├─Bitmap_GetColorImage.sln 【Visual C#ソリューション】ダブルクリックでC#プロジェクトが起動します。 | └─<Bitmap_GetColorImage> | ├─<image> 【関係画像ファイルフォルダ】 | ├─Form1.cs 【サンプル・プログラムの主要ソース】 | └─Program.cs 【起動部分】変更不要 | ├─<Bitmap_GetDepthImage> 【サンプル・プログラム】『Kinectからデプス・イメージをキャプチャーする』 | ├─Bitmap_GetDepthImage.sln 【Visual C#ソリューション】ダブルクリックでC#プロジェクトが起動します。 | └─<Bitmap_GetDepthImage> | ├─<image> 【関係画像ファイルフォルダ】 | ├─Form1.cs 【サンプル・プログラムの主要ソース】 | ├─NTL_ColorBar.cs 【奥行き値を表示色に変換する為のツールのソース】 | └─Program.cs 【起動部分】変更不要 | ├─<Bitmap_GetPlayerDepthImage> 【サンプル・プログラム】『Kinectから取得したデプス・イメージから人物部分を切り取って表示する』 | ├─Bitmap_GetPlayerDepthImage.sln 【Visual C#ソリューション】ダブルクリックでC#プロジェクトが起動します。 | └─<Bitmap_GetPlayerDepthImage> | ├─<image> 【関係画像ファイルフォルダ】 | ├─Form1.cs 【サンプル・プログラムの主要ソース】 | ├─NTL_ColorBar.cs 【奥行き値を表示色に変換する為のツールのソース】 | └─Program.cs 【起動部分】変更不要 | ├─<Bitmap_GetPlayerColorImage> 【サンプル・プログラム】『Kinectから取得したカラー画像から位置ズレを補正して人物部分を切り取って表示する』 | ├─Bitmap_GetPlayerColorImage.sln 【Visual C#ソリューション】ダブルクリックでC#プロジェクトが起動します。 | └─<Bitmap_GetPlayerColorImage> | ├─<image> 【関係画像ファイルフォルダ】 | ├─Form1.cs 【サンプル・プログラムの主要ソース】 | ├─NTL_ColorBar.cs 【奥行き値を表示色に変換する為のツールのソース】 | └─Program.cs 【起動部分】変更不要 | ├─<Bitmap_GetSkeletonData> 【サンプル・プログラム】『Kinectから取得した骨格情報を表示する(人物部分切取処理を含む)』 | ├─Bitmap_GetSkeletonData.sln 【Visual C#ソリューション】ダブルクリックでC#プロジェクトが起動します。 | └─<Bitmap_GetSkeletonData> | ├─<image> 【関係画像ファイルフォルダ】 | ├─Form1.cs 【サンプル・プログラムの主要ソース】 | ├─NTL_ColorBar.cs 【奥行き値を表示色に変換する為のツールのソース】 | ├─SkeletonData.cs 【骨格情報を取り扱う為のツールのソース】 | └─Program.cs 【起動部分】変更不要 | ├─<Bitmap_GetSkeletonAfterimage> 【サンプル・プログラム】『Kinectから取得した骨格情報のうち右手と左手の軌跡を残像表示する』 | ├─Bitmap_GetSkeletonAfterimage.sln 【Visual C#ソリューション】ダブルクリックでC#プロジェクトが起動します。 | └─<Bitmap_GetSkeletonAfterimage> | ├─<image> 【関係画像ファイルフォルダ】 | ├─Form1.cs 【サンプル・プログラムの主要ソース】 | ├─NTL_ColorBar.cs 【奥行き値を表示色に変換する為のツールのソース】 | ├─SkeletonData.cs 【骨格情報を取り扱う為のツールのソース】 | └─Program.cs 【起動部分】変更不要 | ├─<Bitmap_CircleEstimation> 【サンプル・プログラム】『Kinectから取得した右手と左手の残像履歴から円運動を検出・表示する』 | ├─Bitmap_CircleEstimation.sln 【Visual C#ソリューション】ダブルクリックでC#プロジェクトが起動します。 | └─<Bitmap_CircleEstimation> | ├─<image> 【関係画像ファイルフォルダ】 | ├─Form1.cs 【サンプル・プログラムの主要ソース】 | ├─NTL_ColorBar.cs 【奥行き値を表示色に変換する為のツールのソース】 | ├─NTL_SkeletonData.cs 【骨格情報を取り扱う為のツールのソース】 | ├─NTL_EstimationCircle.cs 【残像履歴から円または円弧の中心座標、半径、軌跡の種類を判別する為のツールのソース】 | └─Program.cs 【起動部分】変更不要 | ├─<Bitmap_GestureDetect> 【サンプル・プログラム】『Kinectから取得した右手の残像履歴から円運動を検出してYouTube動画を切り替える』 | | ★このサンプル・プログラムはブロードバンド・インターネット接続環境で使用する必要があります. | ├─Bitmap_GestureDetect.sln 【Visual C#ソリューション】ダブルクリックでC#プロジェクトが起動します。 | └─<Bitmap_GestureDetect> | ├─<image> 【関係画像ファイルフォルダ】 | ├─Form1.cs 【サンプル・プログラムの主要ソース】 | ├─NTL_ColorBar.cs 【奥行き値を表示色に変換する為のツールのソース】 | ├─NTL_SkeletonData.cs 【骨格情報を取り扱う為のツールのソース】 | ├─NTL_EstimationCircle.cs 【残像履歴から円または円弧の中心座標、半径、軌跡の種類を判別する為のツールのソース】 | └─Program.cs 【起動部分】変更不要 | ├─<HowToUseMDX3D> 【サンプル・プログラム】『Kinect設定環境下でManaged DirectXを利用する』デプスイメージ取得と回転キューブ描画表示の共存 | ├─HowToUseMDX3D.sln 【Visual C#ソリューション】ダブルクリックでC#プロジェクトが起動します。 | └─<HowToUseMDX3D> | ├─<image> 【関係画像ファイルフォルダ】 | ├─App.config 【Managed DirectXをFrameworks4.0上で利用するための設定ファイル】 | ├─Form1.cs 【サンプル・プログラムの主要ソース】 | └─Program.cs 【起動部分】変更不要 | ├─<KinectSpeech> 【サンプル・プログラム】『KinectのSpeech APIによる音声認識を行う』 | ├─KinectSpeech.sln 【Visual C#ソリューション】ダブルクリックでC#プロジェクトが起動します。 | └─<KinectSpeech> | ├─<image> 【関係画像ファイルフォルダ】 | ├─Form1.cs 【サンプル・プログラムの主要ソース】 | └─Program.cs 【起動部分】変更不要 | ├─<KinectSpeechControl> 【サンプル・プログラム】『KinectのSpeech APIによる音声認識を使ってLEDやリモコン制御を行う』 | | ★このサンプル・プログラムの実行にはUSB-ADC基板と専用回路が必要です. | ├─KinectSpeechControl.sln 【Visual C#ソリューション】ダブルクリックでC#プロジェクトが起動します。 | └─<KinectSpeechControl> | ├─<image> 【関係画像ファイルフォルダ】 | ├─Form1.cs 【サンプル・プログラムの主要ソース】 | └─Program.cs 【起動部分】変更不要 | ├─<Kinect_GestureControl> 【サンプル・プログラム】『Kinectから取得した右手の残像履歴から円運動を検出してリモコンを制御する』 | | ★このサンプル・プログラムの実行にはUSB-ADC基板と専用回路が必要です. | ├─Kinect_GestureControl.sln 【Visual C#ソリューション】ダブルクリックでC#プロジェクトが起動します。 | └─<Kinect_GestureControl> | ├─<image> 【関係画像ファイルフォルダ】 | ├─Form1.cs 【サンプル・プログラムの主要ソース】 | ├─NTL_ColorBar.cs 【奥行き値を表示色に変換する為のツールのソース】 | ├─NTL_SkeletonData.cs 【骨格情報を取り扱う為のツールのソース】 | ├─NTL_EstimationCircle.cs 【残像履歴から円または円弧の中心座標、半径、軌跡の種類を判別する為のツールのソース】 | └─Program.cs 【起動部分】変更不要 | ├─<Kinect_ARSensing> 【サンプル・プログラム】『Kinectによる拡張現実センシングを行う』 | | ★このサンプル・プログラムの実行にはUSB-ADC基板と専用回路が必要です. | ├─Kinect_ARSensing.sln 【Visual C#ソリューション】ダブルクリックでC#プロジェクトが起動します。 | └─<Kinect_ARSensing> | ├─<image> 【関係画像ファイルフォルダ】 | ├─Form1.cs 【サンプル・プログラムの主要ソース】 | ├─NTL_ColorBar.cs 【奥行き値を表示色に変換する為のツールのソース】 | ├─NTL_FIFO.cs 【センサ値保存FIFOを利用する為のツールのソース】 | ├─NTL_SkeletonData.cs 【骨格情報を取り扱う為のツールのソース】 | ├─NTL_EstimationCircle.cs 【残像履歴から円または円弧の中心座標、半径、軌跡の種類を判別する為のツールのソース】 | └─Program.cs 【起動部分】変更不要 | ├─<KinectVitalMonitor> 【サンプル・プログラム】『Kinectによる呼吸モニタ』 | | ★このサンプル・プログラムはインターフェース2013年1月号に関係します.(2012年11月24日発売予定) | ├─Kinect_KinectVitalMonitor.sln 【Visual C#ソリューション】ダブルクリックでC#プロジェクトが起動します。 | └─<KinectVitalMonitor> | ├─<image> 【関係画像ファイルフォルダ】 | ├─Form1.cs 【サンプル・プログラムの主要ソース】 | ├─NTL_ColorBar.cs 【奥行き値を表示色に変換する為のツールのソース】 | └─Program.cs 【起動部分】変更不要 | ├─<Kinect_ProximitySensor> 【サンプル・プログラム】『Kinectによる近接位置での手操作のデモを行う』(NUI: Natural User Interface) | | ★このサンプル・プログラムはインターフェース2013年1月号に関係します.(2012年11月24日発売予定) | ├─Kinect_ProximitySensor.sln 【Visual C#ソリューション】ダブルクリックでC#プロジェクトが起動します。 | └─<Kinect_ProximitySensor> | ├─<image> 【関係画像ファイルフォルダ】 | ├─<Wave> 【関係waveファイルフォルダ】 | ├─Form1.cs 【サンプル・プログラムの主要ソース】 | ├─NTL_ColorBar.cs 【奥行き値を表示色に変換する為のツールのソース】 | └─Program.cs 【起動部分】変更不要 | ├─<FTDI_BitBangI2C_3> 【サンプル・プログラム】『FT232RでI2Cインターフェースを構成して3軸加速度センサKXTI9-1001に接続』 | | ★このサンプル・プログラムはインターフェース2013年1月号に関係します.(2012年11月24日発売予定) | ├─FTDI_BitBangI2C_3.sln 【Visual C#ソリューション】ダブルクリックでC#プロジェクトが起動します。 | └─<FTDI_BitBangI2C_3> | ├─<image> 【関係画像ファイルフォルダ】 | ├─<FTDI> 【関係waveファイルフォルダ】 | ├─Form1.cs 【サンプル・プログラムの主要ソース】 | └─Program.cs 【起動部分】変更不要 | ├─<WaveCreator6.xlsm> 【サンプル・プログラム】『Excel VBAでエレクトーン風のWave File(*.wav)を作成』 | ★このサンプル・プログラムはインターフェース2013年1月号に関係します.(2012年11月24日発売予定) | ├─<Kinect_MusicSystemLite> 【サンプル・プログラム】『Kinectによる拡張現実楽器演奏システムの簡易体験版』(加速度センサ無し) | | ★このサンプル・プログラムはインターフェース2013年1月号に関係します.(2012年11月24日発売予定) | | ★Kinectのデプスカメラは30FPSですので、加速度センサ無しの単独音楽演奏はかなりきついです。 | ├─Kinect_MusicSystemLite.sln 【Visual C#ソリューション】ダブルクリックでC#プロジェクトが起動します。 | └─<Kinect_MusicSystemLite> | ├─<image> 【関係画像ファイルフォルダ】 | ├─<DataDrums> 【関係waveファイルフォルダ】標準ドラムセットの音 | ├─<DataWaves> 【関係waveファイルフォルダ】エレクトーン風味の音(WaveCreator[DDS]で合成) | ├─Form1.cs 【サンプル・プログラムの主要ソース】 | ├─NTL_ColorBar.cs 【奥行き値を表示色に変換する為のツールのソース】 | └─Program.cs 【起動部分】変更不要 | ├─<GPS_recorder> 【サンプル・プログラム】『FT232RでGPSの吐き出すデータを記録』 | | ★このサンプル・プログラムはインターフェース2013年1月号に関係します.(2012年11月24日発売予定) | ├─GPS_recorder.sln 【Visual C#ソリューション】ダブルクリックでC#プロジェクトが起動します。 | └─<GPS_recorder> | ├─Form1.cs 【サンプル・プログラムの主要ソース】 | └─Program.cs 【起動部分】変更不要 | ├─<GPSsensor> 【サンプル・プログラム】『GPSの緯度・経度データを地図上に表示する』 | | ★このサンプル・プログラムはインターフェース2013年1月号に関係します.(2012年11月24日発売予定) | ├─MapViewer.htm 【HTMLとJavaScript】ダブルクリックでブラウザが起動してGoogle Mapが表示されます。(インターネット接続環境で使う必要があります) | ├─GoogleMapViewer.js 【Googleマップを表示するJavaScript】 | └─JSONdata_for_GoogleMapViewer.js 【JavaScriptのJSON形式データ】 | ├─<SASrecorder> 【サンプル・プログラム】『いびきと鼻呼吸を記録』 | | ★このサンプル・プログラムはインターフェース2013年1月号に関係します.(2012年11月24日発売予定) | ├─SASrecorder.sln 【Visual C#ソリューション】ダブルクリックでC#プロジェクトが起動します。 | └─<SASrecorder> | ├─Form1.cs 【サンプル・プログラムの主要ソース】 | └─Program.cs 【起動部分】変更不要 | └─<ECGsignal2.xlsm> 【サンプル・プログラム】『Excel VBAで心電図データを処理(リアルタイム処理向け)』 ★このサンプル・プログラムはインターフェース2013年1月号に関係します.(2012年11月24日発売予定) ★普段の整理が悪いので、どのパソコンでどのバージョンで作ったんだったか? orz..... 以下1件を追加予定です。 【CyberBoard】幼児言語教育用クラウド版(インターネット接続環境で使用します) ★下記ソフトウェアは別の機会に公開する予定です。 【Kinect_CyberEyes】 【Kinect_HyperDepthCamera】 【Kinect_InfraredHeartRateMonitor】 【HowToUseMDX3Dの表示例】 |
【Kinect for Windows SDK Ver.1.0】『サンプル・プログラム集』下記URLより全プロジェクトファイルを一括ダウンロードすることができます。http://www.neo-tech-lab.co.uk/ARsensing/Download/KinectProjectVer1.zip このzipを解凍すると、Kinect_ARsensingが拡張現実センシングのソースです。 下のサンプル・プログラム集ツリーの中に個別ダウンロード・リンクも用意してあります。 記事の都合により、Kinect for Windows SDK Version1.0を使用しています。 もし、SDKを最新版のVersion1.5をご利用なら、Microsoft.Kinectの参照を一旦削除して、 プロジェクト(P)-参照の追加(F)で.NETタブから参照を取り直してください。問題なく動作するはずです。 初心者の方にはSDKはVersion1.0の方がドキュメントが付属しているので使いやすいと思います。 日本語音声認識やFace Tracking、上半身Skeletal Tracking、3次元グラフィックス対応の要求のある中級以上の方にはVersion1.5がいいかもしれません。 ★レーザーポインタの実験用ソフトウェアは分離して公開中です。 |
|
【説明】 こまごまと作業があるので、現時点で準備できたサンプルプログラム集です。 【動作条件】 プログラムは筆者の元で動作を確認済みです. プログラムは,Microsoft社のVisual C# 2010とKinect for Windows SDK Version1.0を用いて記述しています. 1)ソフトウェア開発は、Windows7以降のOSが稼働するパソコン上で行う必要があります。 この制約は、Microsoft社のKinect for Windows SDKが動作可能な環境がWindows7である必要があるためです. 2)Microsoft社のVisual Studio 2010 Express版のVisual C# 2010 Express Editionのダウンロードが必要です. 【ダウンロードURL】http://www.microsoft.com/ja-JP/dev/express/default.aspx 3)Microsoft社のKinect for Windows SDK Version1.0をダウンロードしてください. 現在、最新版のバージョンは1.5ですが,オンライン・ドキュメントが読みづらいので,Version1.0をダウンロードしてください. 上級者の方で,Version1.5をお使いになる場合には,Microsoft.Kinectの参照を一旦削除して取り直してください. 【ダウンロードURL】http://www.microsoft.com/en-us/kinectforwindows/ 【利用条件】 1)プログラムは,Kinect for Windows SDK Version1.0を用いてVisual C# 2010で記述しています。 Windows7でしか動作いたしません。 2)プログラムのバイナリは添付していませんので,Visual C# 2010 Express Editionでビルドしなければなりません. 【著作権】 今回収録したプログラム(C#)のソースコードの全部または一部は,商用/非商用に関わりなくご利用いただくことができます. プログラムの改編はご自由にしていただいてかまいませんが,動作の補償は一切行いません. ただし,サンプル・プログラムや本アーカイブ自体の2次配布や販売は行わないでください. また,個別の質問や技術相談等のサポートは有償となります. 【免責】 (1)プログラムやデータの使用により,使用者に損失が生じたとしても,著作権者およびCQ出版は,その責任を負いません. (2)プログラムやデータにバグや欠陥があったとしても,著作権者およびCQ出版は,修正や改良の義務を負いません. |
【Kinect for Windows SDK Version1.0用サンプルコード】<KinectProjectVer1.0> | ├─<Bitmap_GetColorImage> 【サンプル・プログラム】『Kinectからカラー画像をキャプチャーする』 | ├─Bitmap_GetColorImage.sln 【Visual C#ソリューション】ダブルクリックでC#プロジェクトが起動します。 | └─<Bitmap_GetColorImage> | ├─<image> 【関係画像ファイルフォルダ】 | ├─Form1.cs 【サンプル・プログラムの主要ソース】 | └─Program.cs 【起動部分】変更不要 | ├─<Bitmap_GetDepthImage> 【サンプル・プログラム】『Kinectからデプス・イメージをキャプチャーする』 | ├─Bitmap_GetDepthImage.sln 【Visual C#ソリューション】ダブルクリックでC#プロジェクトが起動します。 | └─<Bitmap_GetDepthImage> | ├─<image> 【関係画像ファイルフォルダ】 | ├─Form1.cs 【サンプル・プログラムの主要ソース】 | ├─NTL_ColorBar.cs 【奥行き値を表示色に変換する為のツールのソース】 | └─Program.cs 【起動部分】変更不要 | ├─<Bitmap_GetPlayerDepthImage> 【サンプル・プログラム】『Kinectから取得したデプス・イメージから人物部分を切り取って表示する』 | ├─Bitmap_GetPlayerDepthImage.sln 【Visual C#ソリューション】ダブルクリックでC#プロジェクトが起動します。 | └─<Bitmap_GetPlayerDepthImage> | ├─<image> 【関係画像ファイルフォルダ】 | ├─Form1.cs 【サンプル・プログラムの主要ソース】 | ├─NTL_ColorBar.cs 【奥行き値を表示色に変換する為のツールのソース】 | └─Program.cs 【起動部分】変更不要 | ├─<Bitmap_GetPlayerColorImage> 【サンプル・プログラム】『Kinectから取得したカラー画像から位置ズレを補正して人物部分を切り取って表示する』 | ├─Bitmap_GetPlayerColorImage.sln 【Visual C#ソリューション】ダブルクリックでC#プロジェクトが起動します。 | └─<Bitmap_GetPlayerColorImage> | ├─<image> 【関係画像ファイルフォルダ】 | ├─Form1.cs 【サンプル・プログラムの主要ソース】 | ├─NTL_ColorBar.cs 【奥行き値を表示色に変換する為のツールのソース】 | └─Program.cs 【起動部分】変更不要 | ├─<Bitmap_GetSkeletonData> 【サンプル・プログラム】『Kinectから取得した骨格情報を表示する(人物部分切取処理を含む)』 | ├─Bitmap_GetSkeletonData.sln 【Visual C#ソリューション】ダブルクリックでC#プロジェクトが起動します。 | └─<Bitmap_GetSkeletonData> | ├─<image> 【関係画像ファイルフォルダ】 | ├─Form1.cs 【サンプル・プログラムの主要ソース】 | ├─NTL_ColorBar.cs 【奥行き値を表示色に変換する為のツールのソース】 | ├─SkeletonData.cs 【骨格情報を取り扱う為のツールのソース】 | └─Program.cs 【起動部分】変更不要 | ├─<Bitmap_GetSkeletonAfterimage> 【サンプル・プログラム】『Kinectから取得した骨格情報のうち右手と左手の軌跡を残像表示する』 | ├─Bitmap_GetSkeletonAfterimage.sln 【Visual C#ソリューション】ダブルクリックでC#プロジェクトが起動します。 | └─<Bitmap_GetSkeletonAfterimage> | ├─<image> 【関係画像ファイルフォルダ】 | ├─Form1.cs 【サンプル・プログラムの主要ソース】 | ├─NTL_ColorBar.cs 【奥行き値を表示色に変換する為のツールのソース】 | ├─SkeletonData.cs 【骨格情報を取り扱う為のツールのソース】 | └─Program.cs 【起動部分】変更不要 | ├─<Bitmap_CircleEstimation> 【サンプル・プログラム】『Kinectから取得した右手と左手の残像履歴から円運動を検出・表示する』 | ├─Bitmap_CircleEstimation.sln 【Visual C#ソリューション】ダブルクリックでC#プロジェクトが起動します。 | └─<Bitmap_CircleEstimation> | ├─<image> 【関係画像ファイルフォルダ】 | ├─Form1.cs 【サンプル・プログラムの主要ソース】 | ├─NTL_ColorBar.cs 【奥行き値を表示色に変換する為のツールのソース】 | ├─NTL_SkeletonData.cs 【骨格情報を取り扱う為のツールのソース】 | ├─NTL_EstimationCircle.cs 【残像履歴から円または円弧の中心座標、半径、軌跡の種類を判別する為のツールのソース】 | └─Program.cs 【起動部分】変更不要 | ├─<Bitmap_GestureDetect> 【サンプル・プログラム】『Kinectから取得した右手の残像履歴から円運動を検出してYouTube動画を切り替える』 | | ★このサンプル・プログラムはブロードバンド・インターネット接続環境で使用する必要があります. | ├─Bitmap_GestureDetect.sln 【Visual C#ソリューション】ダブルクリックでC#プロジェクトが起動します。 | └─<Bitmap_GestureDetect> | ├─<image> 【関係画像ファイルフォルダ】 | ├─Form1.cs 【サンプル・プログラムの主要ソース】 | ├─NTL_ColorBar.cs 【奥行き値を表示色に変換する為のツールのソース】 | ├─NTL_SkeletonData.cs 【骨格情報を取り扱う為のツールのソース】 | ├─NTL_EstimationCircle.cs 【残像履歴から円または円弧の中心座標、半径、軌跡の種類を判別する為のツールのソース】 | └─Program.cs 【起動部分】変更不要 | ├─<HowToUseMDX3D> 【サンプル・プログラム】『Kinect設定環境下でManaged DirectXを利用する』回転するキューブを表示 | ├─HowToUseMDX3D.sln 【Visual C#ソリューション】ダブルクリックでC#プロジェクトが起動します。 | └─<HowToUseMDX3D> | ├─<image> 【関係画像ファイルフォルダ】 | ├─App.config 【Managed DirectXをFrameworks4.0上で利用するための設定ファイル】 | ├─Form1.cs 【サンプル・プログラムの主要ソース】 | └─Program.cs 【起動部分】変更不要 | ├─<KinectSpeech> 【サンプル・プログラム】『KinectのSpeech APIによる音声認識を行う』 | ├─KinectSpeech.sln 【Visual C#ソリューション】ダブルクリックでC#プロジェクトが起動します。 | └─<KinectSpeech> | ├─<image> 【関係画像ファイルフォルダ】 | ├─Form1.cs 【サンプル・プログラムの主要ソース】 | └─Program.cs 【起動部分】変更不要 | ├─<KinectSpeechControl> 【サンプル・プログラム】『KinectのSpeech APIによる音声認識を使ってLEDやリモコン制御を行う』 | | ★このサンプル・プログラムの実行にはUSB-ADC基板と専用回路が必要です. | ├─KinectSpeechControl.sln 【Visual C#ソリューション】ダブルクリックでC#プロジェクトが起動します。 | └─<KinectSpeechControl> | ├─<image> 【関係画像ファイルフォルダ】 | ├─Form1.cs 【サンプル・プログラムの主要ソース】 | └─Program.cs 【起動部分】変更不要 | ├─<Kinect_GestureControl> 【サンプル・プログラム】『Kinectから取得した右手の残像履歴から円運動を検出してリモコンを制御する』 | | ★このサンプル・プログラムの実行にはUSB-ADC基板と専用回路が必要です. | ├─Kinect_GestureControl.sln 【Visual C#ソリューション】ダブルクリックでC#プロジェクトが起動します。 | └─<Kinect_GestureControl> | ├─<image> 【関係画像ファイルフォルダ】 | ├─Form1.cs 【サンプル・プログラムの主要ソース】 | ├─NTL_ColorBar.cs 【奥行き値を表示色に変換する為のツールのソース】 | ├─NTL_SkeletonData.cs 【骨格情報を取り扱う為のツールのソース】 | ├─NTL_EstimationCircle.cs 【残像履歴から円または円弧の中心座標、半径、軌跡の種類を判別する為のツールのソース】 | └─Program.cs 【起動部分】変更不要 | └─<Kinect_ARSensing> 【サンプル・プログラム】『Kinectによる拡張現実センシングを行う』 | ★このサンプル・プログラムの実行にはUSB-ADC基板と専用回路が必要です. ├─Kinect_ARSensing.sln 【Visual C#ソリューション】ダブルクリックでC#プロジェクトが起動します。 └─<Kinect_ARSensing> ├─<image> 【関係画像ファイルフォルダ】 ├─Form1.cs 【サンプル・プログラムの主要ソース】 ├─NTL_ColorBar.cs 【奥行き値を表示色に変換する為のツールのソース】 ├─NTL_FIFO.cs 【センサ値保存FIFOを利用する為のツールのソース】 ├─NTL_SkeletonData.cs 【骨格情報を取り扱う為のツールのソース】 ├─NTL_EstimationCircle.cs 【残像履歴から円または円弧の中心座標、半径、軌跡の種類を判別する為のツールのソース】 └─Program.cs 【起動部分】変更不要 |
【拡張現実センシング移植へのヒント】拡張現実センシング(Kinect_ARsensing)のソースはForm1.csだけを少し直せば流用できます。Form1.csの後ろの部分に ●InitializeSerialPort(string com) 仮想シリアルポートを設定して開く ●TerminateSerialPort() 仮想シリアルポートを解放する ●SerialPort_for_ADC_DataReceived データ受信イベント (チャンネル切り替えが発生していた場合には再度ADCの初期化を行います) ●ADCInitialize() ADCの初期化設定を行います。 サンプリング速度、入力チャンネルの切り替え等 ●ADCTerminate() ADCをパワーダウンモード、停止状態に設定します ●ADCConvert() ADCの変換(コンバージョン)をスタートさせます ●ADCGetValue() ①ADcount AD変換値のバイナリー まずここに変換結果を格納します。 ②SensorValue 0.0V~1.0Vになるように変換しています。所謂表示値です。 ③sSensorValue 実際にlabelで表示するために、string形式に変換します。 単位も適当に[V]、[lux]、[℃]と付けてかまいません。 ④MeasureValue 表示色に対応させるための変数です。0~255の値にすることで (最小)濃灰⇒灰⇒淡灰⇒青⇒淡青⇒緑⇒黄⇒橙⇒赤⇒白(最大) にカラーマッピングされます。 なお、ソースにあるようにはみ出た分は強制的に0または255にされます。 |
【第2章Appendix1で使った実験用プログラムについて】【説明】必要なオープン・ソースのライブラリはソースフォージにあります。 ①DirectShowNet ⇒ v2.1 ⇒ DirectShowLibV2-1.zip DirectShowLibV2-1.zipをダウンロードして解凍すると、libフォルダ内に、『DirectShowLib-2005.dll』があります。 ②DirectShowSamples ⇒ 2010-February ⇒ DirectShowSamples-2010-February.zip DirectShowSamples-2010-February.zipをダウンロードして解凍すると、Samples/Capture/DxSnapフォルダの中に『Capture.cs』があります。 ③『DirectShowLib-2005.dll』と『Capture.cs』を1つのフォルダの中にコピーしてください。 ④Capture.csをメモ帳で開いて、namespaceを下のように書き換えます。 ⑤WebCamCapture.zipをダウンロードして解凍してください。 ⑥WebCamCapture/WebCamCapture/Libフォルダ内に、『DirectShowLib-2005.dll』とメモ帳で修正した『Capture.cs』をコピーします。 ⑦WebCamCapture/WebCamCapture.slnをダブル・クリックしてVisual C#プロジェクトを起動します。 ⑧ソリューション・エクスプローラー内の『DirectShowLib-2005.dll』と『Capture.cs』を右クリックしてメニューを出して削除します。 ⑨プロジェクト(P)-参照の追加(F)でLibフォルダ内にある『DirectShowLib-2005.dll』の参照を取ります。 ⑩プロジェクト(P)-既存項目の追加(G)でLibフォルダ内にある『Capture.cs』を追加します。 【備考】 ●USB接続できるWebカメラが必要です。 起動すると、静止画を取り込むボタンをクリックするごとに、レーザー光点のスクリーン座標が得られます。 ●部屋を暗くして、レーザー光源が目立つ状態で実験を行います。 明るいと、レーザー光の光点座標が検出できません。 |
【GPLライセンス】 なんでこのプロジェクトだけ面倒くさい事をするのかって? こうしないと、私のソースにGPLが感染してしまうからなのです。 DirectShowNetはGPLライセンスなので、それを組み込んだバイナリ(実行形式ファイル .dll, .exe)を第三者に 公開してしまうと、組み込んだForm1.csにまでGPLが及んでしまいます。つまり、全ソースの公開義務が生じて しまいます。それを後になって別の手段でキャプチャーしてもGPLが外れない恐れが出てしまうのです。 従って、DirectShowNetを組み込んでしまった状態以降は、そのソースを改訂した後、皆さんがバイナリー(実行 形式ファイル .dll, .exe)を第3者に公開するのであれば、GPLにのっとってソース公開をしてくださいね? |
【ランダム・ドット・パターンの生成】超高精度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画素ランダム・ドット・パターン】 |
【放射線センサとホットスポットの可視化】メモ【説明】2012年8月号で試作を検討したものの、動作確認用線源が手元にはなく(当たり前か...)、頼みの綱の蛍光灯用グロー球に塗布された微量の放射性物質からの放射線強度も検出限界付近ということがわかり記事にできなかった内容です。 |
|
シンチレータの特性 セシウム・シンチレータは通常の環境光下ではただの白っぽい結晶です。 しかし、ガンマ線やレーザー光が入射すると可視光域で光ります。 この写真はシンチレータ(セシウム)に(ポインタ用)赤色レーザーを照射したところ。 実は結構な超高輝度で輝き、『オリハルコンの輝き』をイメージするくらいギラギラ。 きっと直視は眼に悪い。翌日、眼がボンヤリ....失明の恐れもあるかもしれない。 追試するならサングラスが必要だと思います。 セシウム原子の蛍光ですかね? 自作Kinect用プロジェクタの実験中にたまたま発光現象に気付きました。 決して放射線で光っているのではないので、ご安心を。 (また、放射性セシウムでもありませんので、電凸しないでくださいね) |
2012年7月号の特集記事『徹底調査!売れ筋№1』の131頁で紹介しているOPT101Pは、フォトダイオードと電流-電圧変換器が一体化した可視光センサですが、シンチレータ(scintillator)と組み合わせると放射線センサを構成することができるはずです。
シンチレータとは、放射線の輻射で励起させて可視光を発光させるデバイスのことです。秋月電子通商で購入することができます。 シンチレータをOPT101Pに張り合わせて、外部からの光を遮光するよう薄い金属で被覆すれば、ガンマ線を検出することができるはずです。また、PINダイオードとオペアンプを組み合わせても同様の回路は簡単に構成することができます。 秋月電子通商には、他にも放射線センサというカテゴリーが用意されていました。セシウム汚染の除染作業で、拡張現実センシングでホットスポットを可視化することができれば、強力なツールとなることと思います。 残念ながら筆者の環境では線源がなかったので実例を示す事ができませんでしたが、拡張現実センシングの最も有力なアプリケーションになると思います。 OPT101P |
【拡張現実】KINECT、拡張現実関連動画集 |
【説明】 2012年8月号のKinect特集に関連した動画集です。 |
【Holophonic Sensor with Random Holes】1chで音源座標を特定できるマイクロフォン電気学会マグネティックス研究会(2012年6月21日発表)MAG-12-059 新技術“Random Path Holophonic センサー”による励磁音響信号源の三次元画像化に関する基礎研究 ○阿部正紀(東京工業大学, フォスメガ),上田智章(フォスメガ),松下伸広,北本仁孝,半田 宏(東京工業大学) 多数の小穴をランダムに配置したマイクロフォンは、音源の3次元座標に固有のインパルス応答を持つので、1chでも音源の3次元座標を特定することができます。 将来的には、携帯電話やモバイル機器に、医療用超音波断層撮影装置の機能を組込んで、健康管理ツールとして利用できる可能性があります。 |
【Prime Sense社の発明のクレーム】★クレーム:Claim とは、発明の『特許請求の範囲』のことです。この辺の情報は、企業の特許部(知的財産部)あたりでなければ興味のない人が殆どだとは思いますが、一応書いておきましょう。 Kinectセンサの開発元であるイスラエルのPrime Sense社が出願している明細書 US20100118123 『DEPTH MAPPING USING PROJECTED PATTERNS』を眺めてみると面白いことがわかる。 下に請求項の部分を下に抜き出した。 クレーム 1-21、25-45 は削除されている。 これは、多くの場合、以下の2つのケースが考えられる。 1) 先行技術が存在して請求項として権利を認められず削除された 2) 異種の技術であるため、明細書を分離するよう米国特許庁から命令された 1)は軍事技術で利用されていたような技術の場合、ありがちなことなのだが、極秘文書扱いで封印されている場合がある。 しかし、誰か民間人が同じ発明をしてしまった場合には、極秘文書の扱いを解除され公開されることがあるのだ。 このような場合には、特許の権利は当然認められることはない。まあ、アメリカ特有の現象だ。 いずれにしても、この発明の基本部分はクレーム22, 46, 49, 51ということになる。 これらの請求項の要素を全て含んでいる後続の発明は全て抵触することになる。 さて、そこで問題なのは、これら4つの発明要素は全てマイクロレンズアレイによるランダムドットパターン・プロジェクタ を想定していることだ。つまり、今回のパソコン用プロジェクタやスライド方式、プラネタリウム方式は範囲外となるのだ。 (でも商品化される際は自己責任でお願いします。) 【US20100118123の請求の範囲】【典型的なピンホール型プラネタリウム・プロジェクタの構造】 |
|
【Kinectに馴染めない方へ】
『記事読んでやってみたけど、やっぱり無理。買った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の指示に従ってください。 【動作確認】①MikuMikuDance_v739dotフォルダ内のMikuMikudance.exeをダブル・クリックして起動します。②『モデル操作』ボックス内の『読 込』ボタンをクリックし、『初音ミク.pmd』を読み込みます。 モデル情報が表示されるので、『Ok』ボタンを押します。 ③メニューの『物理演算(P)』のプルダウン・メニューから『常に演算(E)』を選択してチェックを入れます。 物理演算の結果、重力の影響がリアルタイムにシミュレーションされ、髪の毛が動いたはずです。 ④『物理演算(P)』-『重力設定(G)』の『ノイズ付加』のチェックを入れ、向きxのスライドをどちらかに動かすと、風が吹いているようになります。『OK』ボタンをクリックして戻ります。 ⑤『モーションキャプチャ(K)』のプルダウン・メニューのKinect(K)を選びます。 Kinectの2m位の位置に立つと赤人(red human)が画面右上に現れるはずです。 ⑥『モーションキャプチャ(K)』-『capture(C)』を選ぶとモーション・キャプチャの記録が開始されます。 同じメニューで停止させるまで、モーションを記録する事ができます。 ⑦記録が終了したら結果を見てみましょう。 右下の『再生』ボックスの『再生』ボタンをクリックすればキャプチャーした内容を確認することができます。 ⑧『ファイル』メニューの保存やモーション・データの保存などを使えば、モデルごと保存したり、他のモデルの振り付けに使えるモーション・データだけを保存したりできます。 ★詳しくお知りになりたい方は、MMDの入門書がありますので、そちらをご覧ください。 |
|