誰の顔でも作れる「ジガゾーパズル」が面白いらしい 25
ストーリー by reo
ドット絵文化の国ですから 部門より
ドット絵文化の国ですから 部門より
ある Anonymous Coward 曰く、
300 のピースを組み合わせて誰の顔でも作ることができるジグソーパズル「ジガゾーパズル」が 本家 /. の記事で取り上げられている。
ピースは全て同じ色味だが、濃淡やグラデーションがそれぞれ異なっている。形は全て同じで互いに組み合わせ可能となっているため厳密には「ジグソーパズル」とは違うのだが、組み合わせ次第でモナ・リザやジョン・F・ケネディ元大統領、ベートーベン等どんな顔でも作ることができるという。ピースの裏側にそれぞれ記号がついており、組み合わせ設計図を元にはめていって絵を完成させるそうだ。
この「ジガゾーパズル」は名前の通り、自分の顔もパズルで作れるとのこと。写真をメールすれば 10 秒程で組み合わせ設計図が送られてくるとのことで、すぐに遊べる仕組みとなっているそうだ。もちろん判別できる階調があれば顔だけでなく他の画像でもパズルにできる (ITmedia +D LifeStyle の記事) 。
ちなみに本家 /. では300 ピースを全て使った場合に作れるパターン数や、JPEG 圧縮との類似性といったアレゲなコメントで盛り上がっている。
ご参考 (スコア:3, 参考になる)
http://portal.nifty.com/2009/11/09/a/ [nifty.com]
ピースの形が同じなら (スコア:2)
これ4つ買って連結して30x40にするとかできますね。
画像は1/4ずつ処理すればいい。
痛パズルとかやる人いそうだな。
Re:ピースの形が同じなら (スコア:1)
エリア間で明度に差があるとうまいこと作れない気がする。
グラデーションパーツ (スコア:2, 興味深い)
グラデーションパーツの存在が、完成状態をそれらしく見せるのにかなり貢献している気がします。
どうやって着想したんだろうか。
Re:グラデーションパーツ (スコア:4, 参考になる)
本家のコメント
http://entertainment.slashdot.org/comments.pl?sid=1474488&cid=30396686 [slashdot.org]
がビンゴなのではと思います。JPEGと同じように120x160の画像を8x8のチャンクにしてそれぞれをcosine gradientで近似するとちょうど15x20ピースになるということです。
おそらく核の部分はそのままJPEGのアルゴリズムを使っているのではないでしょうか?
そうだとしても,それに着目したアイデアはすごいですね。
Re:グラデーションパーツ (スコア:2, 興味深い)
> JPEGと同じように120x160の画像を8x8のチャンクにしてそれぞれをcosine gradientで近似するとちょうど15x20ピースになるということです。
いや、細かいとこを見るとJPEGと全然違うというか「JPEG アルゴリズムを使う」なんてオーバースペックもいいとこですよ。
ジガゾーパズルのピースには、白黒を繰り返すようなピースはありません。四隅の色から、内部は単純に線形補間している感じです。 [nifty.com]
一方、JPEGの基本となるDCTの基底テーブル [iwate-u.ac.jp]を見れば分かりますが、DCTの基底は、基本的に白と黒を何度か繰り返してます。繰り返しが無いのは、DC成分(一番左上)の右隣と下隣の2つだけ。
つまり、DCTを応用するとなると、この2つの8x8の64のパターンのうち、2パターンだけを使ってピースを表現するってことになります。
そんなことのためにわざわざDCTを処理しなくても、画像を30x40に縮小して、それを15x20の「2×2ピクセルなブロック」に分けて考え、その四色をピース四隅の色に対応させるって処理で十分。
処理の流れとしてはこんな感じかな?
1. 画像解像度を30x40に縮小する
2. 画像のコントラスト正規化、ヒストグラム平滑化を行う
3. (2x2ピクセルで構成される)各ブロックをピースに割り当てていく。
ピースの種類が有限なため、誤差が最小になるように最適化問題を解く。
この3の処理は、JPEG圧縮よりも「パレットを割り当てて誤差拡散で減色する」処理の方が近いような気がします。
Re:グラデーションパーツ (スコア:1)
参考になりました。
…となると、うまくやればもっと良いパズルを作ることもできそうですね。
アイデアもいろいろわいてきます。
Re: (スコア:0)
通常はパレットの種類だけの制限だけど(例えば16色のうちならどの色を
何回使っても良い)、この場合は使用回数に制限がありますね。
Re: (スコア:0)
ピクセルベースの発想ではなく、輝度勾配でマッチングさせているように思える。つまり輪郭をピースで書いている。
(たいした根拠なし)
Re: (スコア:0)
グラデーションパターンはいくつか前もって用意して、個数はサンプルから学習させたのではないでしょうか。
難しい問題をがんばって解いたにしろ、難しそうに見えて実は簡単だったと看破したにしろ、いずれにしても大したものです。
もしかして (スコア:1)
無貌なるがゆえにどんな顔もとれるというナイアルラトホテップもこんな仕組みなんだろうか?
らじゃったのだ
恐ろしい (スコア:1, 興味深い)
Re: (スコア:0)
しかし自分に置き換えてみると、晒し者にするぐらいしか用途が無いですな。
美男美女なら、また違うんでしょうけど。
Re:恐ろしい (スコア:1, 興味深い)
ぱっと見の感想 (スコア:0)
帰ってきたDot絵師の逆襲?
Re: (スコア:0)
フォトリアリスティックなコレとは違って
かなり大胆なアレンジが要るとは思いますが
自動処理は無理かな……
Re: (スコア:0)
結局ドット絵師はトライ&エラーでドットをポチポチやってる(プロは効率がいい)んですけど、色数が多くなったり解像度が上がったりすると、もう完全に機械の領域になっちゃう。
今回のは20x15ですけど、色数の制限があるなら機械よりも人間がポチポチやってディフォルメしたほうが見栄えがいいのが出来ますね。
色黒 (スコア:0)
暗闇のサンコンの写真でも可だろうか。
#まあ暗闇でなくてもいいけど。
アイデアはアスキーアートと同じ? (スコア:0)
gif2asciiってのもあったね。
Re:アイデアはアスキーアートと同じ? (スコア:2, 興味深い)
完成例をざっと数えたところ、15×20っぽい。
それで300ピースだから、余計なピースは一つもないことになりますね。
メール画像からのピース変換プログラムは、単なる「画素ブロックからよく似たピースへの置き換え」だけではなく
既存のピースをちょうど使い切るような最適配置を探索する必要があります。
なんとなく、この最適化プログラムこそが、パズルのキモな気がします。
ピースの回転も可能だから、なかなか奥が深そう。
さすがに全探索(300!×4通り)なんて力業は今時のコンピュータでも無理だよなぁ…
Re: (スコア:0)
真っ黒な画像は真っ黒なピースだけで埋めれば良いわけだし。
Re:アイデアはアスキーアートと同じ? (スコア:4, 参考になる)
> 使い切る必要はないのでは?
> 真っ黒な画像は真っ黒なピースだけで埋めれば良いわけだし。
いや、元々の製品には「さまざまなグラデーションが入った300ピース」しか無いんですよ。
それで、15×20(=300)のピースを並べるのだから、300ピースを全て使い切る必要があります。
真っ黒な画像なんかだと、「黒一色」を「グラデーションが入ったピース」で再現するという
無理難題になってしまいます。
配置最適化プログラムもすごいですが、
300ピースの割り当てを決めるのもかなり苦労してそうです。
どんな写真からでもそこそこ再現できるようなパターンを求めて
試行錯誤したんだろうなぁ…
Re:アイデアはアスキーアートと同じ? (スコア:2, 参考になる)
>真っ黒な画像なんかだと、「黒一色」を「グラデーションが入ったピース」で再現するという
>無理難題になってしまいます。
適当な間隔で違うピースを入れて網掛けみたいにするようだね。
アスキーアートとかドット絵とかよりも、新聞の写真なんかに
使われている網点処理に近いんじゃないかな?
画像の明るさ処理が適当でないといい画像にならないと思うの
でコントラスト調整もしてるんだろうな。
Re: (スコア:0)
濃淡のパターン化した後、コントラストを調整して濃淡の数を調整しているだけだと思う。