improc

2値化画像とムーニー顔

二値化

これが何の画像か分かりますか? 正解はこちら
心理学をやっている人ならこのダルメシアンの画像は何度も目にしていたことがあると思いますが、画像処理を使えばこの種の画像をいろいろと作ることができます。

基本的には、画像をただ二値化するだけです。

library( imager )
img = grayscale( boats )
img = isoblur( img, 1 ) # ぼかし処理
img = threshold( img ) #二値化処理
plot( img )

ただし、二値化処理の前にぼかしを入れているのがポイントです。事前に画像をぼかすことによって、処理後の画像を滑らかにすることができます(ぼかし無しで二値化を行うとノイズが目立ちます)。

実は、このぼかし処理を工夫することで面白い効果を得ることができます。ぼかし処理の際の引数の値を大きくし、強くぼけた画像にしてから二値化を行うと、完成する画像からは細部の情報が失われます。
顔画像に対して様々なぼかし強度のもとで二値化を行うとこんな感じになります。

ぼかしが強いほど顔の細部は失われ、大雑把な陰影のみになります。二値化された顔画像は Mooney face と呼ばれ顔知覚などの研究で使われることがありますが、ぼかし強度を段階的に操作することによって、顔か顔でないかの境界上にあるような画像を作ることができます。そのような顔画像刺激は顔知覚の感度を調べたりするのに有用ですね。

風景に対しても同じような画像処理を行うことができます。大雑把な画像から始めて徐々に細部のある画像を見せていけば、ある段階で被験者はそこに何が映っているのかに気付くことになります。その過程の脳活動を追うなどすれば知覚の成立した瞬間、あるいは人間がものごとを理解した瞬間に対応するような脳活動を拾えるかもしれません。

コメント

Copied title and URL