2012年8月15日 (水)√で移しておぼろげに
え~と。
過去記事『Beyond the Dead
Center』1行目から9行目参照。
2年後の今日もそんなカンジです。
昨今の世相的に照らし合わせると、あまり適切ではない表現もあるのですが。
本日の当番、プログラマのM.L.K(LはLoopのLです。Loop&Loose!)です。
さてさて、あいも変わらずメディアンカットです。
前回、やっとのこと主成分分析を用いての減色ができました。
が、スロー・プログラムで減色したものよりも、心持ち鮮やかなカンジに減色されているような気がする~、どういうことなん?みたいなカンジになってしまいました。
まあ、鮮やかやからなんやねん、と、おざなりに済ませてしまうこともできたのですが(できたのかよ)、やっぱり釈然としないこともあり、ソースコードをすがつ眺めつ、あれからあれやこれやと考えていたんです。
そこで、気が付いたのですが、スロー・プログラムの色の分割では、どの色のグループを分割するかを決定する際に、グループに含まれる全ての色の、RGBいずれか特定のチャンネルについての中央値との差の絶対値の総和を比較して、一番大きな値のグループを分割の対象としていました。
スロー・プログラムの:s
= Σ(|各標本値-中央値|)
参照)過去記事『Outlier of the
Everywhere』
一方の主成分分析のそれは、それぞれのグループの分散に標本数(グループに含まれるピクセルの数)を掛けたものを比較して、一番大きな値のグループを分割の対象としたのです。
主成分分析の:s
= 分散×標本数
= (Σ((各標本値-平均値)^2)/標本数) x 標本数
=
Σ((各標本数-平均値)^2)
参照)過去記事『斜めになっても、間切り』『With Delicate Bad
Handle』
片や代表値との差の和、片や代表値との差の平方和。
算術的にはえらい違いです。うん、2乗はちょっとヤバい。
例えば、代表値からの差が3の標本5つからなるグループ①と、代表値からの差が4の標本3つからなるグループ②があったとします。
スロー・プログラムの式で言えば、
①=3+3+3+3+3=15
②=4+4+4=12
で、①の方が大きくなり、分割の対象として選ばれます。
主成分分析の式で言えば、
①=3×3+3×3+3×3+3×3+3×3=45
②=4×4+4×4+4×4=48
で、今度は②の方が大きくなり、分割の対象に選ばれてしまいます。
なるほど、主成分分析の式のほうが、代表値の差の大きさがより強調される、と。
そりゃ主成分分析のやりかたの方が、鮮やかなカンジになるワケだ~。
微妙な差の色が広範囲を占めているのをほったらかしにして、ピクセル数は僅かでも、違いが激しい色のグループを悦び勇んで分割するってことですし。
まあ、そういうことでしたら、主成分分析のやりかたで分散を使っているところを、標準偏差にしちゃったらいいんじゃないかな~、と、素朴に思ったり。
あ、ちなみに、標準偏差とは、分散値の平方根のことです。
ある標本値が全体のばらつき具合を考慮して、平均に近いのか、それとも端っこに近いのか、とかを見るときに、分散のままだと標本値と平均値との差とは比べられないので、√して比べられるようにした値です。
というワケで、減色結果です。

ん~。ビミョー。
緑の領域が、若干まったりしたカンジかな~。
とりあえず、いつものように、赤緑2チャンネルの画像を64色に減色した場合の分割を比較してみます。
↑標準偏差を使って分割グループを決めた今回の

↑分散を使って分割グループを決めた前回の
前と比べると、赤や黄色への割り当てが減って、緑への割り当てが増えてますね。
まあ、緑は面積が広いですし。
…。
ここまでの結果だけ見ると、色の散らばりの斜め具合を考慮して分割しなくても、単純に軸と並行な分割でもクオリティ的に十分な気がします。
アイディアはともかく、主成分分析の効果はあまり実感できないかな…。
苦労した割にぱっとせず、がっくしなカンジで、また次回。
| 固定リンク | コメント (0) | トラックバック (0)
「プログラマー」カテゴリの記事
- 技術交流の業(2019.03.07)
- 福袋争奪戦デビュー(2019.01.31)
- 温泉旅行(2019.01.24)
- ゲーセンの近況(2018.11.29)
- 健康的にプログラミングを続けるためのちょっとした習慣(2018.10.18)
この記事へのコメントは終了しました。








コメント