二つのアルゴリズムによる平面分割の比較
2010/04/10 23:41 - AS3.0
ウチにいらっしゃっる皆さんは実際に参加なさったことと拝察しますが、私はと言えば、公式サイトの動画で見たんです Adobe FLASH PLATFORM CAMP Tokyo。
で、Mario Klingemann 先生ですよ!
私も実際に参加した FITC Tokyo 2009 における発表内容と割と被る部分が多かったんですが、新しい知見も得られました。
その一つが、以前 fladdict さん発信で wonderfl 内でもちょこっと盛り上がった画像の平面分割。 それの Mario さんによるロジックを、今回の発表で見ることができたのは収穫ですね(この絵が出てきたところです)。
fladdict さんのエントリー「コンピューターに絵画を描かせる」に以下の記述がありました。
ちなみにQuasimondoの人は、ConvolutionFilterを使ってエッジ検出して分割をしようと試みていました。
これを初めて読んだとき何を意味するのかさっぱり分からなかったんですが、今回の発表を見てやっと分かりましたよ。
画像のキャニーエッジを取得して、それを分割の判断材料にするというものでした。
ちなみに Mario 先生によるキャニーエッジのアルゴリズムは automated threshold & edge detection をご覧あれ。
キャニーエッジなら、今までコツコツとおこなってきた画像処理の学習でオレオレライブラリも作ったことだし、以前組んだ fladdict ロジックによる平面分割のコードにそのまま突っ込めば Quasimondo ロジックによる平面分割も実装できるな! ってワケで組んでみましたよ。
ただ組んでもアレなので fladdict ロジックと Quasimondo ロジックでどのような違いがでるのか分かるようにしてみました。それが↓
で二つのロジックを比較してみた感想ですが、分割トリガーの閾値を幾つに設定するかでずいぶん変わってくるようなので一概に比較はできないんですが、個人的な好みの話をすると、Quasimondo ロジックよりは fladdict ロジックの方が好きです。
エッジを使うと、自分としてはここは分割して欲しくないと思う場所も分割されてしまうケースが多いように感じました。 エッジ使ってるんだからしょうがないんですけど。