« 盲視では「見えてる」? それとも「観えてる」? | 最新のページに戻る | 眼球運動の無意識な動きを活用する »

■ サリエンシーマップの計算用コード(2015年6月版)

OpenCV version 3.0 リリースとのこと。OpenCVがversion 2になってからいろいろ弄ろうと思っていたけど後回しにしていたら、いつのまにか3.0が出てしまった。サリエンシーマップを作れるようにとか考えてたのだけれど。

そしたら、公式でSaliency APIってのができてた。"Static Saliency algorithms"のページを見るかぎり、Xiaodi and Zhangという人たちのimplementationみたい。

ほかにもOpenCVでの例はAmir H. BakhtiaryによるIEEE PAMI 1998 Itti et alのコード、それから「OpenCV2.4による顕著性マップの実装」がある。

akisatoさんのはてなのは消えちゃってる。freemlに一部残ってる。openCV以外のコードとしては、akisato-さんのpythonコード、それからopenFrameworksでのofxSaliencyMap、それから大変詳細な説明とC++コードがある。

ただ、だいたいのIttiコードのimplementationというのはベンチマークテスト用の比較対象としてIEEE PAMI 1998でのアルゴリズムがimplementされているのだがそれはstaticな刺激のためのものであって、動画に使うためのサリエンシーはVisual Cognition 2005 (pdf)に書かれているとおりにimplementされている。こちらはmotion energyとかflickerとかが入っていて、彼のC++コードはこちらに基づいて計算される。そういうわけでわたしはこちらのユーザーとしてコードを走らせてる。いくつか調べてみるとちょっと変な挙動がある。

たとえば標準的なCIOFM (color + intensity + orientation + flicker + motion)なモデルを動かすと、Iのみのマップとかと比べると時間的になまったものが出てくる。これはなぜかというとC+I+O+F+Mのfeatureを足し合わせるところで一回leaky integratorを通しているから。ある意味正しいんだろうけど、CIOFMとIの時間的挙動を比較したいこちらとしては困る。


お勧めエントリ


月別過去ログ