2 ポイント 投稿者 GN⁺ 4 시간 전 | 1件のコメント | WhatsAppで共有
  • 写真ライブラリにたまった似た角度の連続写真を自動でつなぎ合わせたところ、意図せず wigglegram が何百個もできてしまった
  • wigglegram は複数フレームを GIF のように繰り返し再生して作る 立体画像 で、同じ場面を少し異なる視点から撮った写真が材料になる
  • 自動抽出には TinEye のような類似画像検索で使われる 知覚ハッシュ(perceptual hashing) を活用し、似た画像同士ほどハッシュが近くなる性質を利用する
  • スクリプトは写真ハッシュを計算し、画像ペアの ハミング距離 を比較して、しきい値以下の似た写真のまとまりを wigglegram として抽出する
  • 一部は意図して撮った結果だが、ほとんどは偶然撮れた写真であり、立体感よりも小さな無意識の動画のような kinescopic な結果も多い

偶然生まれた wigglegram

  • wigglegram は、複数フレームを繰り返し再生して作る ステレオ画像 の一種
  • GIF のようにフレームをループさせると、少し異なる視点の画像が連なって立体的な効果が生まれる
  • 同じ場面を少しずつ違う角度で何枚も撮る癖と、カメラロールを整理しない癖のせいで、写真ライブラリには似た写真が大量にたまっていた
  • こうした写真のまとまりは、「同じ場面を別角度から撮った写真群」という wigglegram の入力条件によく合っている

知覚ハッシュで似た写真を探す

  • 写真ライブラリから似た画像の連続区間を自動で探すため、知覚ハッシュ(perceptual hashing) を導入した
  • 知覚ハッシュは sha1 のような 暗号学的ハッシュ と違い、見た目が似ている画像同士ほどハッシュのビットがより多く重なるように動作する
  • スクリプトはすべての写真のハッシュを計算する
    • ハッシュ計算自体は速い
    • iCloud から写真をダウンロードする過程は遅い
  • ハッシュ間の ハミング距離 を計算して、画像ペアがどれほど似ているかを判断する
  • 例ではハミング距離 10 前後が良い境界に見え、それを基準に似た写真ペアとまとまりを抽出した

自動抽出結果の性質

  • 自動抽出の結果、何百個もの wigglegram が作られた
  • 一部は意図的に撮った写真から生まれたものだが、ほとんどは本当に偶然できた結果である
  • 偶然の写真は、必ずしも典型的な立体画像のようには見えない
    • 多くの結果は “stereoscopic” というより “kinescopic” に近い
    • 小さな無意識の映画のように見える結果もある
  • 旅行先や場所の写真、動物、デザイン作業、彫刻写真など、さまざまな対象から wigglegram が生成された

相性の良い題材

  • 動物 は予測しにくいため、wigglegram の題材と相性が良い
    • 猫、犬、ハトのような例が含まれる
  • デザイン作業も、複数の角度や状態を残しやすいため結果が出やすい
    • iPad Sidecar、baby book、resistor bridge といった作業例がある
  • 彫刻や物体の写真も、複数視点が連なることで wigglegram に変換される
    • Olivetti、frog with a joint のような例が含まれる

公開されているスクリプト

  • スクリプトは GitHub で公開されている
  • Mac では iCloud 写真ライブラリ に対して動作する
  • それ以外では、写真が入っているディレクトリを指定して使える

1件のコメント

 
GN⁺ 4 시간 전
Lobste.rsのコメント
  • 本当に面白くて突飛だ。こんなばかげたアイデアなのに、とてもうまく動いている
    ただ、そのハッシュ化の過程は「批判」という意味ではなく、ダウンロードとハッシュ化の作業量が膨大だという意味でかなり大変そうに見える。こういう手早いおもちゃプロジェクトや実験では、まず動くいちばん単純な方法を使って、バックグラウンドで「長時間」かけて動かしておくのは十分に合理的だ
    こういうことを思いつく想像力があったなら同じやり方をしたのか、それとも似た時間帯に撮られた写真ではないものを先にふるい落としていたのかは分からない。ただ、そうしているうちに「最適な事前フィルタリング」に1週間も費やして飽きてしまい、結局は興味深い結果や面白い結果を出せなかった可能性が高い、という古典的な落とし穴がある

    • 典型的な皿洗い問題みたいだ。10分以内に自分で全部やることもできるけれど、あるいは「その装置」に入れて数時間待てば、個人的な手間はほとんどかからない
  • かなりクールな特殊効果

  • 撮影日時を解析しても似たような結果になるのか気になる。すべての連続写真が素早く撮られたわけではないので、偽陰性がもっと多くなるかもしれない

    • 「ハッシュ候補としてまとめる」ためのフィルタとしては良さそうだ。位置情報があれば一緒に使えるし、少なくともすべての写真をハッシュ化しなくて済む
      しかも macOS では、クラウドから何かをダウンロードしなくても Photos の sqliteデータベースからタイムスタンプと位置情報を直接取得できそうだ
  • 写真の情報をある程度保持して、ハッシュ同士を比較すれば写真の類似度が得られるようなハッシュアルゴリズムがあるとは知らなかった。思いついたことのない用途がものすごくたくさんありそうだ

  • あの荒くてローファイな感じはどうやって出しているんだろう?

    • 256色パレットを使う Floyd-Steinberg dithering
      GIF を作れば、256色パレットは実質的に「無料」で付いてくる。ただし、各ウィンドウがそれぞれ自分のローカルカラーテーブルを持つ複数ウィンドウのフレームを合成するような高度な手法を使わない場合に限る
  • 2013年に当時のパートナーと一緒に、両面鏡の後ろに iPod を3台置き、小さなウェブアプリで制御し、iPad で撮影をトリガーして結果を表示する立体写真ブースを作った
    出来はあまり良くなかったが、作る過程は楽しかった。http://stereogif.me

  • 乗り物酔いしやすい人は、このページを開くとき注意したほうがいい

  • すごい。昔、Nintendo 3DS の写真を受け取って、2つのカメラフレームでアニメーションGIFを作ってくれるサービスがあった
    自分のブログではそれを「wigglepics」と呼んでいて、かなり面白い美学だった

  • この効果が2010年代前半の Tumblr やその周辺サイトで大流行していたのを思い出した
    そのせいで、この数時間ずっと猫の写真を撮って GIF を作っていた