1 ポイント 投稿者 GN⁺ 2024-10-24 | 1件のコメント | WhatsAppで共有
  • PabloNetは、Webカメラ映像をリアルタイムdiffusionに変換して額縁型LCDに表示する装置で、生成画像をノートPC上のデモではなく、壁に掛かった物理的なオブジェクトのように体験できる
  • 実装は、StreamDiffusionベースのサーバーとRaspberry Pi 5クライアント、10.1インチ画面、Pi NoIRカメラ、赤外線照明、一般的な額縁を組み合わせたもの
  • 最大の制約は低いフレームレートで、TensorRTと入出力画像の圧縮で改善したものの、反応性の向上にはまだ余地がある
  • 望む画風はプロンプトだけでは作りにくく、前処理フィルターも併せて試した。青いPicassoスタイルは、Canny edge detection、青色のカラーリング、ブラーの組み合わせで得た
  • 2025年1月のアップデートでは、HNでの反響後に注文が入り、Pi Zero、3Dプリントマウント、レーザーカットの背面パネル、WiFiドングルを備えた、より洗練された配送可能バージョンへ発展した

壁に掛けられたリアルタイムdiffusionフレーム

  • PabloNetはWebカメラ入力を受け取り、リアルタイム画像変換を実行し、その結果を額縁形状のLCDに表示する装置
  • ノートPCでStreamDiffusionを実行していた初期実験は面白かったが、ノートPCというフォームファクターが幻想を壊し、一時的で「geeky」に感じられた
  • 壁掛けLCDフレームにすることで、画面は単なるディスプレイではなく、持続性を持つ物体のように振る舞う
    • 異なる時間帯、気分、照明、物体、友人たちと一緒に、再び向き合える
    • 顔、暗い場所での赤外線照明、物体、友人たちとのインタラクション例の動画が含まれている
  • 現在最大の制約は低いFPS
    • TensorRTを使用し、入出力画像を圧縮してフレームレートを高めた
    • それでも、まだ改善の余地は大きい

ハードウェア構成とビジュアルスタイル作り

  • 自作や貢献ができるよう、クライアントとサーバーのコードはpablonetで公開されている
  • 初期ハードウェア構成:
  • カメラ用の穴は、ドリルよりもきれいに切り抜けたパンチでフレームの台紙に開けた
  • 視覚的な結果はプロンプトだけで作ったわけではなく、前処理フィルターも同じくらい重要だった
    • 前処理なしでimg2imgを使うと、結果が現実的に見えすぎることが多かった
    • 青いPicassoスタイルは、Canny edge detection、青色のカラーリング、ブラーの組み合わせで作った

HNでの反応後の配送可能な第2バージョン

  • Hacker Newsのスレッド後、プロジェクトが注目を集め、予想外の注文が入ったため、より洗練された配送可能バージョンを作った
  • 第2バージョンは、元の装置の不便さを減らす方向に変わった
    • 既存の装置は、壁に取り付ける前に電子部品が落ちないよう押さえている必要があった
    • 単にAPIを呼び出して画像を表示する用途には、通常のPiは過剰で高価に感じられた
    • ケーブルの状態も良くなかった
  • 購入した部品をFusion 360でCAD化し、カスタム部品を4回反復して、2つの3Dプリントマウントとレーザーカットの背面パネルに収束した
  • マウントの役割:
    • 画面をフレームのガラスと台紙に合わせて固定する
    • Pi Zeroとカメラを固定する
    • 壁掛け用のkeyhole slotとして機能する
    • ネジとナットでアセンブリをフレームに固定できるようにする
    • はんだごてで3Dプリント物に挿入したthreaded insertとネジで、背面パネルを固定できるようにする

ユーザーが自分で扱えるようにした設定方法

  • 配送可能性を高めるには、ユーザーアフォーダンスを解決する必要があった
    • 初版では、PiのUSBポートで事前設定したBluetoothマウスとキーボードを使っていた
    • ユーザーが背面パネルを開け、USBハブ、有線マウスとキーボード、Bluetoothペアリングを自分で設定しなければならない方式は良くないと判断した
    • これを避けるためにWiFiドングルを追加し、PiがSSH接続用アクセスポイントとして動作しつつ、既存のネットワークインターフェースでインターネットに接続できるようにした
  • 自作の詳細情報はpablonetリポジトリで確認でき、制作依頼はメールで受け付けている

1件のコメント

 
GN⁺ 2024-10-24
Hacker News の意見
  • すごい。コードをざっと見たところ、低いフレームレートを改善するヒントがいくつか見える
    JPEG バイト列を Base64 にエンコードすると、ペイロードが最大で 30% ほど大きくなり、クライアントとサーバーの両方で CPU を使う。WebSocket はバイナリペイロードを送れるので、テキストにする必要はない
    非可逆の JPEG 圧縮も外して、単に生の RGB バイト列をネットワークで送ることも検討に値する。サーバー側では Image.frombuffer(…) を呼ぶだけでよい
    StreamDiffusion はパイプライン内で広範なバッチ処理を行うため高いフレームレートを出せるが、ここではクライアントが一度に 1 フレームだけ送り、応答を待っているので、その利点を得られていない。入力フレームをキューに入れてバッチで消費する方法は、この例を参考にするとよい https://github.com/cumulo-autumn/StreamDiffusion/blob/main/e...
    あるいは SDXL Turbo と Lightning モデルも見る価値がある。img2img では非常に速いが、それぞれ 512² または 1024² ピクセルに解像度制限がある。目標より少し低く見えるが、ハイエンドのコンシューマー向け GPU でローカルのリアルタイム実行が可能だ。参考用コードはここにある https://github.com/GradientSurfer/Draw2Img/tree/main

    • ただ、必ずしもこんなにリアルタイムである必要があるのかとは思う。ボタンのようなものを用意して、人がポーズを取り写真を撮ると、変換を経て絵として戻ってきて、次の写真を撮るまでその絵が残っているほうが自然ではないだろうか? そのほうが芸術的な幻想はより良くなりそうだ。もちろん、もはや「鏡」ではなくなるが
    • これらを全部やった後には、中間フレームに AI が不要な2D 補間も見てみるとよいと思う。ある塊から別の塊へ超高速に線形補間する、速いカーネル数学がある
  • 「芸術を作るのは難しい。だが芸術はたいてい内面世界を表に出すことで、技術はその一部にすぎない。芸術が技術によって過度に選別されてしまうのは残念だ」という言葉について、ラッダイトのように聞こえたくはないが、技術格差が単なる不便にすぎないという考えには疑問がある
    絵を学んだり音楽を作ったりする過程は、自分の内側の何かを変え、より深い人生の教訓を教えてくれるものだと思う
    「偉大な芸術作品は天才が作るのではなく、天才性が突風のように思いがけず訪れるものだ」という言葉を聞いたことがある。芸術家にできる最善は、そうした機会を育てることであり、技術格差を取り除くということは、その育てる過程、自分を変える本質を取り除くことのように見える
    私たちが正体を知らず、どう語ればよいのかも分からないまま、繰り返し戻ってくる深い作動原理がいくつかあるように思う。このプロジェクトは面白く、多くの人に役立ちそうだが、ときどきこういうことを考えてしまう

    • 「内面世界を表に出す」という方向性は正しいと思うが、だからこそこれは芸術というより壁紙に近く感じる。自分の心理を深く掘り下げて真珠をすくい上げる作業ではなく、これらの画像にはそういう性質がない
      プロジェクト全体にそういう性質があるかはもっと曖昧だが、個人的にはないと思う。心理的に駆動されているというより、技術的に駆動されている作業に見える。もちろん鏡は象徴性が大きいので、心理的な作品だと主張するアーティスト・ステートメントを書くことはできるだろう
      それでも気に入っているし、自分が作ったなら誇りに思っただろう。ただ、芸術よりも技巧に近い
      私ならフレームレートを上げるより下げると思う。技術的限界と戦うのではなく、その限界を活用するやり方だ。システムが「良い」画像だけを表示し、別の「良い」画像が生成されるまで画面を更新しないようにする。画像が「良い」かを判断するコードがシステムで最も興味深い部分になり、作者の意図を含むと言えるので、私個人の基準では大文字の A の Art に近づく可能性がある
      Bob Shaw の Light of Other Days のように、画像ストリームをバッファリングすることも試してみたい
      それにハロウィンが近いので、ときどき鑑賞者の後ろに立っている人物をインペインティングしたい誘惑はものすごく大きそうだ
      画像の安定性を得るために、ランダム画像を生成する代わりに、LLM にランダムな動画フィルターのコードを作らせることはできるだろうか? 「入力映像をキュビスム風に見せる動画フィルターを書いて」「油絵風に」「Flash 美学で」といった具合だ。フィルターが生成され、実際にクラッシュしなければ、そのフィルターに切り替える方式だ。可能かどうかは分からない
    • 「内面の何かを表に出す」といった言葉は、ごく短い間なら大衆を感心させられるかもしれないが、良い芸術にはそれ以上のものが必要だ。あらゆる芸術には言語と基準があり、芸術家が必要な技術を学びながら成長する過程で身につけるものだ
      モナ・リザは単に人物をうまく描いた絵ではない。絵画を学んだ人にしか理解できないディテールと意味に満ちている。AI は悪くない、あるいは興味深い画像を生成できるが、絵画の言語を話すことはできない。それには学び、鑑賞するための実際の努力が必要だ。筆遣いの技術を人間の脳や AI ツールに注入したからといって、芸術家になるわけではない
    • 「絵や音楽を学ぶ過程が、自分の内側の何かを変え、より深い人生の教訓を教えてくれる」という考えを強く支持する。絵より単純な例として文章を書くことがある。誰にでも語るべき話はあり、文章も書けるが、他人の時間を費やす価値のある文章にするには、数日ではなく何年も技芸を磨く必要があり、その過程で必然的に自分自身を学び、世界観を結晶化させることになる
    • これは「専門家は不可能だと言うが、アマチュアは毎日それをやってのける」という格言とは逆方向だ
      ときには、数十年にわたる既存の歴史によって形作られていない、新しい目を持つ人が何かを見るのが良い場合もある
    • つまり、最も偉大な芸術を作れるのは、絵の具から自分で作ろうとして植物を育てる人たちだけということだね
  • ちなみに、ディスプレイの固定に使ったフレームのリンクはアクセスがブロックされる
    https://www.leroymerlin.fr/produits/decoration-eclairage/dec...
    気になる人のために言うと、MILO 21 x 29.7 cm 黒フレームです。下のリンクは私の環境では開ける
    https://www.leroymerlin.pt/produtos/decoracao-e-tapetes/mold...
    それと、使われている画面の HMTECH Raspberry Pi Screen 10.1 はかなり見つけにくい。同じくらいの品質と仕様の画面でおすすめはあるだろうか?
    なぜ赤外線照明と赤外線カメラを使っているのかも気になる

    • こういうものを作ろうとして費用を見積もるたびに、結局は古い Android タブレットをキオスクモードにして Web アプリにするほうがずっと安上がりになる
    • 赤外線照明と赤外線カメラを使うのは、暗い場所でも動作させるためだと思う
    • 画面は Amazon で買えるのでは? ただタッチスクリーンなので過剰な気もするし、実際はどんな画面でもよさそう。周囲のフレームは自作すればいい
  • 「芸術の大半は内面世界を表すことで、技術はその一部にすぎない」について、芸術とは感情を保存し、生み出すものだとずっと考えていた。だから壁に貼られたバナナも芸術だし、ポピュラー音楽もやはり芸術だと思う
    学校の影響かもしれないが、自分も「なぜ?」とよく問うようになる
    この発明品自体は間違いなく芸術作品だが、その出力物は私の目にはそうは見えない。雲のようなものだ。いろいろな形を作り、笑えるものもあり、身近な人を思い起こさせるものもあるが、それでも平均化されたランダム性でしかない
    ただ、現実をこのデジタルなランダム性に反射させるというアイデアは、疑いなく芸術だと思う。そして視覚的・聴覚的でなくても、ソフトウェア、ハードウェア、コード、デザインもまた芸術だ。作るのが難しいという点で、最初の段落の主張への反例でもある

    • 「芸術は感情を保存し、生み出すもの」と言うと、意図の役割が曖昧になる。私が怒っていて、特権意識にまみれて BMW を障害者用駐車スペース 2 台分にまたがって二重駐車したら、それは芸術なのか? 確かに感情を呼び起こすし、感情によって生み出された結果でもある
    • 芸術は人を惹きつけ、テーマの提示の仕方が独特でなければならない。また、技術が介在していなければならない。そうでなければ、安っぽい、あるいは表面的に感じられた瞬間に全体が崩れてしまう
      壁に貼られたバナナは芸術ではない。日常的な物を日常的な配置に置いただけだ
      それを芸術だと感じることはできるかもしれないが、そうだとしたら、本物の芸術に十分触れておらず経験の蓄積がないか、これまで表面的な例ばかり見てきたのかもしれない
    • それが「内面世界を表す」という意味ではないのか?
  • カメラがフレームとは別の場所にあったら、もっと格好よさそう。芸術的な鏡をのぞき込むのは少し退屈に見える
    2つ目を作って誰かの家に置き、片方のカメラ映像をもう片方に送るのはどうだろう。別の人の「反射」を見て、2人が同時にその絵を眺める小さな瞬間が生まれる。複数作って、誰を見ているのか絶対に分からないようにしてもいい。額縁版の Omegle になるわけだ

    • 良いアイデアだが、元投稿者が実現しようとしていたものとはまったく別物だ
      こういうものは、すでに公共空間のアートインスタレーションとして作られたことがあると記憶している。世界各地の別の人々を見て、相互作用できるようにする方式だった
      例えばこれ https://www.inavateonthenet.net/news/article/vc-art-installa...
  • 古い作業用の低電圧ブラケットとブラシ付きウォールプレートをいくつか買って(https://www.homedepot.com/p/Carlon-1-Gang-Non-Metallic-Low-V...、[https://www.homedepot.com/p/Commercial-Electric-1-Gang-Brush...](https://www.homedepot.com/p/Commercial-Electric-1-Gang-Brush-Plastic-Wall-Plate-White-5038-WH/207161871))、電源ケーブルを壁の中に通せば、ずっと見栄えがよくなりそう

  • 本当に素晴らしいアイデアで、自分の本棚にも1つ置きたい
    「現在の構成の主な問題は低いフレームレート」とあったが、これは制約というより機能と呼びたい。画像を少し処理して受け止める時間があるのは悪くない
    むしろ更新間隔を5〜15分に延ばし、何かが変化したり動きが検出されたりするたびに新しい画像をキャプチャして生成するようにしたい

  • 画像間に高フレームレートのモーフィング効果を入れることは考えた? 体感フレームレートが上がって、かなり格好よく見えそう

    • 画像全体を約8秒に1枚の速度でインペインティングする作品で、自分が使った手法がそれだった。次のパッチが準備できるまで、結果を「溶かし込む」ように処理する
      https://hardwork.party/aws-epoch-optimizer/
    • フレーム間でスタイルの変化が減らないなら、高フレームレートはむしろ見た目を悪くしそう。現在の動画のフレームのように各フレームが大きく変わると、気が散るしポッピングが大量に発生しそうだ。もしかすると元投稿者は混沌とした感じを狙っているのかもしれない
    • 単純なクロスフェードだけでも十分よい
  • 「芸術が技術を強く選別しすぎている。両者を非相関化できないだろうか?」という方向性が本当に気に入っている
    生成AI的なアプローチに反対する理由は理解できるが、実際には、たまに素晴らしいアイデアが浮かんでも、それを自分で作る技術がない。そうしたアイデア一つひとつのために何カ月、何年も投資することはできないし、熟練したアーティストに数百ドルを払うほど重要なものでもない
    今では、人々が望むものを生成して楽しめる道ができた。それは良いことだ。少なくとも個人的な利用ではそうで、商業目的では少し複雑になる

    • これは実装されていないアイデアに価値があると仮定している。実際のところ、私たちがアイデアに与える価値は、そのアイデアが他者に広がることから生まれるのだと思う。十分にラディカルなアイデアは、他人には理解しにくい場合が多いので、アイデアを出した本人が自ら例を作らなければならない
      だから誰かが「良いアイデアだ」と言うとき、実際の意味は「良い作品だ」に近い
      AIによる制作で裏付けられたアイデアを人々が価値あるものと見るかどうかは、時間が教えてくれるだろう。そもそも区別できるのだろうか? 誰にも分からない
    • しかし残念ながら、両者を切り離すことはできていない
      ここで示されているものは誰にでも作れるわけではなく、現実を歪める機械を作るには技術が必要だという点を、意図せず検証した形になっている。生成された写真が芸術というわけではない
  • 現在の構成の主な問題が低いフレームレートなら、むしろ0.3〜1 fps程度までさらに下げたほうがよいかもしれない!