TouchDesinger 簡易ノイズ除去フィルター


TouchDesigner Advent Calendar 2019 8日目の記事にしました。よろしくお願いします。

はじめに

TouchDesignerがメインのアプリで、RealSenseのデプスストリームから物体検出をしようとしていて、まずはノイズを減らしたかったのでOpenCVかなと思っていたところ、同僚がTOPを駆使してささっとやってみせてくれたので真似することにしました。

サンプルファイル

githubにアップしましたので必要に応じて参照してください。
https://github.com/chimanaco/touchdesigner-advent-calendar-2019

サンプルの流れ


画像→ノイズを加える→Low pass filter→Spatial filterとなっています。

Low pass filter

1つめのフィルターです。こんな感じの式を実装しています。

y[n] = ß * x[n] + (1-ß) * y[n-1]

サンプルではßに 0.05を設定し、現行のフレームを0.95倍、最新のフレームを0.05倍してaddしています。ßの値を大きくするほどノイズの影響を受けやすくなります。

Spatial filter

2つめのフィルターです。こちらは単純にblurをかけています。

ノイズにもよりそうですが、俺の目的にはこの2つだけで物体検出に使えそうなイメージが得られました。ここで対象画像と比較しています。

最後に

個人的にMathやAnalyzeなどのCHOPはよく使っていたのですが、TOPのは使ったことが無かったので、今更ですがこれはオペレータごとに変化がビジュアルとしてよく分かる、TouchDesignerの素晴らしい例だと思いました。

残りのアドベントカレンダーの投稿も楽しみにしています。
ありがとうございました。