レビューメディア「ジグソー」

2週間遅れの公開です。

最初に、皆様に、レビューの公開が遅れたことをお詫びいたします。

ジグソー運営事務局にお願いをして、2週間遅れで公開しました。

7月2日に左大腿四頭筋の腱を断裂するケガをして、
7月24日入院、7月25日に4時間30分の手術を行い、
8月9日に25本の抜鉤がおわり、
やっと病室にディスクトップとkinectを持ち込み、レビューを開始しました。
明日で6週間の入院生活のちょうど折り返し、残り3週間です。
主治医の先生によると、退院予定は、9月4日~9月8日らしいです。

掲載している画像も、むさ苦しい病室のベットの私の画像ですので、お許しください。
のちのち、許可を取って、(美人)看護師さんの画像に切り替えていきます。


骨格情報は、kinectの基礎となる情報なので、しっかり勉強していきます。

■マスク画像の作成
kinectアプリ開発は、れいんさんに敬意を表してダックで行くことにします。
(私もけっこうダック好きです。)
今回は、コンラッド・キング・ダックです。

まず、顔の上に描画するマスク画像を作成します。
今回は、Photoshopでマスクを作成して、PNG形式で書きだしました。
マスク作成(Photoshop)
マスク作成(Photoshop)


やってみよう!Kinectアプリ開発 - 第4回 骨格情報の利用
に従いプログラムの修正を行いました。
第3回で追加した、エレベータ機能は残しました。

■ソース一式はこちらから
KinectCameraSample-04A.zip

■実行結果

体を傾けても、マスク画像は水平のままです。

★★★関節の向きの利用★★★
関節の向きを利用して上書きするマスク画像を頭の向きによって変形させる修正です。

修正をしたソース一式はこちらから
KinectCameraSample-04B.zip

■実行結果
マスクの傾き
マスクの傾き



赤外線レーザのランダムドットを照射して得られる深度情報を利用してマスク画像の縮小・拡大を行う修正を行います。

やってみよう!Kinectアプリ開発 - 第5回 深度情報の利用
に従いプログラムの修正を行いました。

■ソース一式はこちらから
KinectCameraSample-05A.zip

■実行結果
縮小
縮小

拡大
拡大


★★★深度情報の表示(画像・深度情報が同一の解像度の場合)★★★
深度情報を利用して、プレイヤーのいない点を塗ってみる修正です。

■ソース一式はこちらから
KinectCameraSample-05B.zip

■実行結果


ここで、問題が発生しました。
何度やっても人がいない状態でプログラムを起動すると、10秒ほどでOutOfMemoryエラーが発生してしまいます。
http://stackoverflow.com/questions/6713868/rendertargetbi...
上記URLを参考に
private void fillBitmap()の最後に★の行を追加します。
不思議なことにOutOfMemoryエラーがぴたっと止まりました。

// 画面に表示するビットマップに描画
drawConText.Close();
bmpBuffer.Render(drawVisual);
GC.Collect(); //★これを追加

あくまでも対処療法ですので、根本的修正が見つかりましたら、削除してください。


今回は、音声処理のために4つのマイクを使用したマイクロフォンアレイを利用して、音源の方向を取得する修正です。

■吹き出し画像作成
マスク画像作成と同様に吹き出し用の画像を作成していきます。
吹き出しの中にも2羽のダックを入れてみました。(iOS SmartTubから)
Photoshopでマスクを作成して、PNG形式で書きだしました。
吹き出し作成
吹き出し作成


やってみよう!Kinectアプリ開発 - 第6回 音源の方向の取得
に従い修正しました。

■ソース一式はこちらから
KinectCameraSample-06A.zip

■実行結果
吹き出し
吹き出し



今回は、NUI(Natural User Interface)APIの主要な機能の一つとされている音声認識の勉強です。

まず、
やってみよう!Kinectアプリ開発 - 第7回 音声認識
に従い
Microsoft Speech Platform Software Development Kit (Version 11)

Kinect for Windows Language Packs v1.5.0 日本語用ロケール
をインストールします。
続いて、プロフラムの修正を行います。
更に認識させる単語を追加しました。
漢字で渡すと認識されなかったので、認識にはカタカナ、表示は漢字にしてみました。
// 関数を追加
private void RegWord(string strKana, string strKanji, ref Choices words, ref Hashtable ht)
{
  words.Add(strKana);
  ht[strKana] = strKanji;
}

private SpeechRecognitionEngine InitSpeechEngine()
{
...
  htWord = new Hashtable();

  RegWord("キネクト", "キネクト", ref words, ref htWord);
   RegWord("テスト", "テスト", ref words, ref htWord);
   RegWord("ジグソー", "Zigsow", ref words, ref htWord);

   RegWord("サイケツ", "採血", ref words, ref htWord);
   RegWord("テンテキ", "点滴", ref words, ref htWord);
   RegWord("ケンオン", "検温", ref words, ref htWord);
   RegWord("リハビリ", "リハビリ", ref words, ref htWord);
   RegWord("カイシン", "回診", ref words, ref htWord);
   RegWord("ストレッチャー", "ストレッチャー", ref words, ref htWord);
   RegWord("トイレ", "トイレ", ref words, ref htWord);
   RegWord("ケンサ", "検査", ref words, ref htWord);
   RegWord("シーティ", "CT", ref words, ref htWord);
   RegWord("エムアールアイ", "MRI", ref words, ref htWord);
   RegWord("シーピーエム", "CPM", ref words, ref htWord);
・・・

// 表示文字を漢字にするため修正
private void SpeechRecognized( object sender, SpeechRecognizedEventArgs e)
{
  if (e.Result != null && e.Result.Confidence >= 0.3)
  {
    recognizedText = e.Result.Text;
    if (htWord[recognizedText] != null)
      recognizedText = (string)htWord[recognizedText];
  }
  else
  {
    recognizedText = null;
  }
}

■ソース一式はこちらから
KinectCameraSample-07A.zip

■実行結果
6人部屋なので、声に出して「ジグソー」というと、何?と言われてしまうので、
「CT」と「リハビリ」にしてみました。
CT
CT

リハビリ
リハビリ


★★★ まとめ ★★★
ベットでiPadでちょこちょこ見ていたのですが、
実際に理解しながら、ソースを打ち込んで行くと
こんなにも進むのが速いのとは思ってもいませんでした。

皆さんは、更に3回目レビューの2週間先に進んでいらっしゃるので、
頑張って追いつこうと思います。

24人がこのレビューをCOOLしました!

コメント (0)

ZIGSOWにログインするとコメントやこのアイテムを持っているユーザー全員に質問できます。

YouTube の動画を挿入

YouTube の URL または動画の ID を入力してください

動画の ID が取得できません。ID もしくは URL を正しく入力してください。

ニコニコ動画の動画を挿入

ニコニコ動画の URL または動画の ID を入力してください

動画の ID が取得できません。ID もしくは URL を正しく入力してください。

ZIGSOWリンク挿入

検索対象とキーワードを入力してください

    外部リンクを挿入

    リンク先の URL とタイトルを入力してください

    URL を正しく入力してください。

    画像を挿入(最大サイズ6MB)

    画像を選択してください

    ファイルサイズが6MBを超えています

    別の画像を追加

    ほかのユーザーのレビュー

    ZIGSOW にログイン

    ZIGSOW会員登録(無料)はこちらから