touchdesigner
Body Motion Detection with Webcam in TouchDesigner
1. はじめに
ここではKinetc等のDepth Cameraを利用せず、一般的なウェブカメラによるフレーム差分での簡易動作解析を紹介する。動作解析処理について深く知りたい人はComputer Vision分野(OpenCV等)を学ぶと理解が深まる。
参考
Cache TOPを使う方法
Time Displacement(Texture 3D TOPとTime Machine TOP)を使う方法
参考チュートリアル:YouTube - Easy movement detection
2. TouchDesignerの起動と準備
TouchDesignerを起動後、スタートアップオペレータは削除して、Paletteを閉じる。
3. Video Device In TOP
Video Device In TOPを追加する。
必要に応じて、Video Inタブ > Deviceの接続カメラを切り替える。
下図はViewerがOFFの状態だが、授業内ではONにして解説する。
NON-COMMERCIAL版では出力解像度に制限があるため接続カメラの解像度が高いと警告マークが出るので、Commonタブの以下を変更する。
Output Resolution: Custom Resolution
Resolution: 1280, 720
4. Cache TOPとCache Select TOP
Cache TOPを追加して、Video Device In TOPと接続する。
Cache Sizeは32(初期値)のまま変更しない。
Cache Select TOPを追加して、Cache TOPを食わせる(ドラック&ドロップ)。
Cache Index: -5(5フレーム差分、60fps)とする。
Cache Select TOPのCache Indexは、Cache TOPのCache Sizeで溜めたフレーム(初期値32)以下にはできない。仮に設定しても処理されない。
5. Composite TOP
Composite TOPを追加して、Cache TOPとCache Select TOPを接続する。
Operation: Substractionに設定する。
60fpsの5フレーム差分画像が表示される。
6. 調整用オペレータ
下図のように画像調整用のオペレータを追加する。
パラメータは一例であり、調整しだいで最終出力画像が変化する。
Level TOP
Brightness: 2
Threshold TOP
Threshold: 0.2
Blur TOP
Pre-Shrink: 0.2
Filter Size: 32
Level TOP
Brightness: 10
RGB Key TOP
7. 応用編Trace SOP(紹介のみ)
Trace SOPを利用すれば、ビットマップではなくベクター?に変換できる。
SOPをTOPとして利用するためには、Geometry COM、Camera COMP、Light COMP、Render TOPを介して、Cameraの位置を調整する必要がある。