= 作業対象物認識モジュール
== 内容物
ファイルの内容物は以下のとおりです。

  BagOfKeypoint-????????.tar.gz
    学習ファイル生成プログラム

  BagOfKeypointsModule-????????.tar.gz
    作業対象物認識モジュール

  VideoCaptureModule-????????.tar.gz
    画像キャプチャモジュール

  IplImageOutModule-????????.tar.gz
    指定画像送信モジュール

  IplImageViewerModule-????????.tar.gz
    処理結果画像表示モジュール

  ViewBokResult-????????.tar.gz
    処理結果表示モジュール

  image-????????.tar.gz
    サンプルイメージ

== 必要環境
  * Ubuntu 10.04
  * OpenRTM-aist
    * OpenRTM-aist 1.0を使用してください。
  * Eclipse(RTCLink)
    * http://www.is.aist.go.jp/rt/OpenRTM-aist/htmlからUNIX用全部入りバージョンを
      ダウンロードし、インストールしてください。
  * OpenCV
    * OpenCV 2.0を使用しています
    * sudo apt-get install libcv4 libcv-dev libhighgui4 libhighgui-dev  libcvaux4 libcvaux-dev
      のコマンドを実行してインストールしてください。
  * GTK
    * sudo apt-get install libgtk2.0-0 libgtk2.0-dev libglib2.0-0 libglib2.0-dev
      のコマンドを実行してインストールしてください。
    * ファイルダイアログの表示に使用しています。
  * SDL (Simple DirectMedia Layer)
    * sudo apt-get install libsdl-gfx1.2-4 libsdl-gfx1.2-dev
      のコマンドを実行してインストールしてください。
    * ウインドウの表示などに使用しています。

== コンパイル
*.tar.gzファイルを展開後、ディレクトリ内でmake extract & makeを実行すると
自動的に各モジュールが展開され、コンパイルされます。

    $ tar xvfz bag_of_keypoints_module-????????.tar.gz
    $ cd bag_of_keypoints_module-????????
    $ ls –al
    BagOfKeypoint-????????.tar.gz
    BagOfKeypointsModule-????????.tar.gz
    IplImageOutModule-????????.tar.gz
    IplImageViewerModule-????????.tar.gz
    Makefile*
    README.txt
    VideoCaptureModule-????????.tar.gz
    ViewBokResult-????????.tar.gz
    build.rb*
    image-????????.tar.gz
    
    $ make extract
    $ make




== サンプルシミュレーションの実行手順
次の手順でプログラムを実行します。

(1) BagOfKeypointsModule, VideoCaptureModule, IplImageViewerModule, ViewBoKResultの
    4つのモジュールを起動します
    モジュールを起動する際は、各モジュールのディレクトリ内で"make run"を実行してください

(2) 各モジュールのピンを接続する
    * USBカメラから入力された画像
      * VideoCaptureModule(imageOut) ---> BagOfKeypointsModule(imageIn)
    * 作業対象物認識モジュールで処理した結果の画像
      * BagOfKeypointsModule(imageOut) ---> IplImageViewerModuleComp(imageIn)
    * 作業対象物認識モジュールが認識した対象物名と確率
      * BagOfKeypointsModule(bokOut) ---> ViewBoKResult(bokIn)

(3) 各モジュールをアクティブ状態に設定
    * USBカメラを対象物に向けると、BagOfKeypointsModuleは特徴点の抽出と、
      BagOfKeypointsを使った対象物の認識処理が行われます。

