iCorpusStudio

管理者:角 康之()
本ホームページは,インタラクション統合分析環境iCorpusStudioの紹介と解説を行うものです.

インデックスに戻る

PREVIOUS:iCorpusStudioのセットアップ

NEXT:より発展的なラベル演算

チュートリアル

本項では,実際の実験データをサンプルとし,それをiCorpusStudioで分析していく過程での操作を解説します.

チュートリアル目次

  1. サンプルデータ
  2. 起動とプロジェクトの取り扱い
  3. 動画・音声ファイルの閲覧
  4. ラベリング作業
  5. ラベルの検索
  6. オーバーラップの検出
  7. インタラクション成分のグラフ化

1.サンプルデータ

チュートリアルで利用するサンプルデータがご入用の方は,iCorpusStudio本体と同様こちらにご連絡ください.サンプルデータを別途送付いたします.また,iCorpusStudio本体の申し込みをいただいた方は,ダウンロードページからサンプルデータをダウンロードしてください.

ダウンロード後,解凍して保存してください.
この実験は,3人の被験者が「来年の研究室の備品・人物をどう配置するか」に関して合意を形成していく過程を,多視点カメラおよびマイクで記録したものです.動画の同期は取れた状態ですが,音声の同期はとれていません.アラームとライト点灯が同時に行われる装置を使って同期タイミングを明示しています.

※注意:動画はffdshow Video Codingによって圧縮されています.動画が再生できない場合には, こちらのページからffdshowのインストールを行ってから閲覧してください.



ページの先頭に戻る

2.起動とプロジェクトの取り扱い

解凍したiCorpusStudioのフォルダ内にある「iCorpusStudio.exe」を起動してください.初回起動時には言語選択ダイアログが表示されますので,ご使用の言語を選択してください.
起動直後は下図のようなメイン画面が出力されます.

※この際,同時に複数のiCorpusStudioを起動してしまうとエラーが発生する場合があります.その際には全てのiCorpusStudioを終了させ,再起動してください.



次に,プロジェクトの保存を行います.iCorpusStudioのプロジェクトには,以下のデータが保存されます.
「ファイル」→「プロジェクトの保存」を選択するとダイアログが開きますので,ファイル名を"tutorial.proj"として保存してください.パス指定の関係上,プロジェクトの保存フォルダはデフォルトの「iCorpusStudio\project」内にすることをお勧めいたします.
今後iCorpusStudio上でデータの変更を行った場合には, 必ず「プロジェクトファイルの保存」「上書き保存」でプロジェクトファイルを更新してください.

保存したプロジェクトは,「ファイル」→「プロジェクトを開く」から起動することができます.

ページの先頭に戻る

3.動画・音声ファイルの閲覧

メニューの「ファイル」→「動画・音声ファイルを開く」から選択するか,メイン画面に動画・音声ファイルをドラッグ&ドロップすることで動画・音声ファイルを追加することができます.ここではサンプル内の全てのファイルを追加します.



次にオフセットの調整を行います.アラーム装置の時刻から,オフセットは映像を0とすると となっているのがわかるので,音声画面の右上にあるボタン「Offset」に上記の値を入力します.
これにより,メイン画面・映像・音声を同期させた状態で再生・一時停止・停止が行えるようになりました.それぞれの操作は,メイン画面や映像・音声画面の左上にあるボタンで行うことができます.

ページの先頭に戻る

4.ラベリング作業

既存データのロード

ラベルデータはcsv形式で保存されています.すでに作成されているラベルは以下の方法で開くことができます. また,作成したラベルはプロジェクトを保存した際に自動的に保存され,プロジェクトに登録されます.

手作業ラベリング

ここでは手作業ラベリングの例として,被験者の指差しをラベリングする際の作業を解説します. メイン画面の空白部で右クリック→「Add BlankRow」を選択し,新たな行を作ってタイトル部を「S1_pointing」とします.
次に使用するラベルの登録を行います.作成したデータ行部分で右クリック→「Property」を選択すると,下のようなプロパティウィンドウが開きます.左上にあるテキストボックスに利用するラベルを入力し,「追加」ボタンを選択する(またはEnterキー)とラベルが登録されます.
ここでは,ボードごとの指差しをラベリングするため「S-left」「S-right」「N-left」「N-right」のラベルを用意しておきます.

ラベルの登録後は,メイン画面のデータ行部分で右クリック→「Add Label」から作成したいラベルを選択すると,前のラベル終点から右クリックした地点までの ラベルを作成することができます.

例:00:38.100〜00:39.600間でS1の「S-left」への指差しをラベリングする

  1. 00:38.100地点で右クリック→「Add Label」から「 」を選択して空ラベル作成
  2. 00:39.600地点で右クリック→「Add Label」から「S-left」を選択してラベル作成



ページの先頭に戻る

5.ラベルの検索

作成したラベルをプロジェクト全体から検索し,そのひとつひとつを閲覧していくことが出来ます. ここでは,事前準備としてサンプルの動画・音声・ラベルデータを開き,オフセット調整を行った状態で解説を行います.

5-1.キーワード検索(例:ラベル"north"を全て検索)

キーワード検索では,データ行の名前もしくはデータラベルの名前にキーワードが含まれるものを検索します.

  • メイン画面下部にあるテキストボックスに検索したいラベル名「north」を入力して「検索」ボタンを押すか,メニューの「編集(E)」→「検索(F)」と選択して検索フォームを開き,ラベル名「north」を入力し「検索」ボタンを押してください.

  • 新たに検索結果画面が開きます.(検索フォームが開かれていない場合はそちらも開きます)
  • 検索結果の項目を選択することで,メイン画面の時刻がラベル発生時刻に自動的に移動します.また,再生時にはラベル部分だけを再生することができます.
  • ラベル名の行を選択することでラベル名を編集できます.置換をしたい場合などに利用してください.

    5-2.詳細検索(例:データ行が「S1」,ラベル名が「south」,発生時刻が0秒 - 100秒のものを検索)

    詳細検索では,検索対象のデータ行・ラベル名・発生時刻を指定した上で検索を行うことができます.

  • メニューの「編集(E)」→「検索(F)」と選択して検索フォームを開きます.
  • タブから「詳細検索」を選択し,ラベル名・行タイトル・発生時刻を入力して(指定しない場合は空欄にしてください),「検索」ボタンを押します.
  • 検索結果画面が開きます.

    ページの先頭に戻る

    6.インタラクションのオーバーラップ検出

    iCorpusStudioでは,作成したラベルからAND/OR演算を行い,新たなデータ行とラベルを作成することができます.演算のAND,ORはそれぞれ以下のようになります.

    ここでは,サンプルデータから「3人全員がsouthを見ている」という場面(共同注視)の取得を行います.
    1. 事前準備として,サンプルのラベルデータから「S1_gaze.csv」「S2_gaze.csv」「S3_gaze.csv」を開いておきます.
    2. メイン画面のメニューから「プラグイン」→「オーバーラップ検出」を選択し,オーバーラップ作成画面を開きます.
    3. まず,「S1とS2が共にsouthを見ている」場面をラベル化します.Row1は「S1_gaze」→「south」,Row2は「S2_gaze」→「south」,演算子は「And」とします.出力されるデータ行を「jointattention_south」,ラベルデータを「jointattention_south」とします.これらを入力した後に「追加」ボタンを押し,演算を登録します.
    4. 次に「3人がが全員southを見ている」場面をラベル化します.Row1は先ほど作った「jointattention_S1S2」→「jointattention_south」,Row2は「S3_gaze」→「south」,演算子は「And」とします.出力されるデータ行を「jointattention_S1S2」,ラベルデータを「jointattention_south」とします.さらに,「Color」ボタンを押して,作成するラベルの色を青にしておきます.これらを入力した後に「追加」ボタンを押し,演算を登録します.

    5. 下の表にて演算内容を確認し(誤りがある場合は「削除」ボタンで一旦削除し,もう一度登録しなおしてください),正しいようであれば「OK」を押して演算を開始します.

    6. 下の図のようなデータ行とラベルが作成されればオーバーラップ検出は成功です.

    ページの先頭に戻る

    7.インタラクション成分のグラフ化

    iCorpusStudioでは,一定の時間幅の中にあるラベルの合計時間・個数をカウントし,表示する機能があります.この機能を使うことで,その会話の全体的な傾向を見ることが出来ます.

    ここでは,3人の指差し回数をグラフ化します.
    1. 事前準備として,サンプルのラベルデータから「S1_pointing.csv」「S2_pointing.csv」「S3_pointing.csv」を開いておきます.
    2. メイン画面のメニューから「プラグイン」→「グラフ表示」を選択し,オーバーラップ作成画面を開きます.
    3. S1の指差しグラフに関する設定を行います.
      1. ラベルの登録を行います.リストボックスから「S1_pointing」を選択し,その横のチェックボックスから「S-left」「S-right」を選択して, 「→」ボタンを押すことでラベルが登録されます.
      2. 必要なラベルが登録されたことを右の表で確認してから,グラフの名前として「S1-pointing」,色を青と指定します.
      3. 「↓」を押し,S1のグラフの登録を行います.

    4. 3.と同様に,S2の指差しグラフを以下のように設定します.
      1. 使用ラベル:「S2_pointing」→「S-right」「S-left」
      2. グラフ名:「S2_pointing」
      3. グラフの色:緑
    5. 3.と同様に,S3の指差しグラフを以下のように設定します.
      1. 使用ラベル:「S3_pointing」→「S-right」「S-left」「N-left」
      2. グラフ名:「S3_pointing」
      3. グラフの色:赤
    6. グラフのフォーム名を「pointing」とします.
    7. Windowの幅を10,shift幅を1とします.1秒ごとに前後10秒間のラベルに対して総計時間・個数をカウントし,グラフ化します.
    8. 以上の設定が終わったら「OK」を押してください.しばらく計算をした後,グラフ画面「pointing」が開きます.

    9. 開いたグラフ画面では,「総計時間表示」「頻度表示」「頻度の類型表示」「各グラフのヒストグラム」を表示することが出来ます. また,グラフ上の青線はメイン画面における現在時刻であり,グラフ上をクリックして選択することで, メイン画面・メディアを同期した状態で選択した時刻に移動させることが出来ます. さらに,「ファイル」から画面のbitmap,csvデータを保存することが出来ます.

    ページの先頭に戻る