Blender ウォッチング

AIが画像から3Dモデルを生成する「Pixal3D」をローカルに導入してみた!

 本連載では、無料の高機能3Dモデリングツール「Blender」の使い方や関連情報を幅広くお伝えします。

苦労の後が見えるスザンヌさん

 今回は画像から3DモデルをAIで生成するTencentARCの「Pixal3D」をローカルに導入してみたいと思います。

「Pixal3D」とは

 「Pixal3D」(PIXel Aligned 3D model)は、以前ご紹介した「TripoSR」や「Hunyuan3D」のように、画像を読み込み、3Dモデルに変換してくれるAIモデルです。
 従来の大まかに画像の特徴を取り入れる方法とは違い、ピクセル毎の特徴を3Dに取り入れることで直接ピクセルと3Dを対応させ、詳細な形状とPBRテクスチャを作成するのが特長だそうです。

 オンラインデモもあるのですが(上記ページにリンクあり)、筆者が試した時は混んでいたのか頻繁に失敗し、成功してもモデルのダウンロードにはサブスクリプションが必要だったため、使用を断念しました。

導入

 上記の理由により、ローカル環境へ導入することにしましたが、公式のプロジェクトはあまり簡単には導入できないため、代わりにFabien氏の「Pixal3D Pipeline」を利用させてもらうことにしました。

 これはSaganaki22氏の「ComfyUI」用の「Pixal3D」ノードを含む、「ComfyUI」環境をバッチファイル1つでローカルに構築できるようにしたものです(実際には少し手間が必要です。後述)。

 すでに「ComfyUI」環境があるなら、そちらからインストールする方が早いかもしれません。下記では完全にまっさらな状態からインストールします。

必要な環境

  • Windows11
  • VRAM 12GB以上の「Ampere」アーキテクチャ(RTX30xxシリーズ)以降の「NVIDIA」のGPU
  • 本体RAM 32GB以上
  • 32GB以上の空きストレージ
  • インターネット接続環境と待ち時間(PCの性能と回線速度に依存)

 Turingアーキテクチャ(RTX20xxシリーズ)以前のGPU、NVIDIA以外のGPUには対応していません。CPUのみでの運用も未対応です。Windows 10やRAMが32GB未満の環境での実行は検証していません。

 本記事はWindows11 Pro x64、Core i5-12400F、GeForce RTX 5070 12GB、RAM 32GBの環境で執筆されています。

必要なソフトウェア

 下記のリストのソフトウェアをあらかじめインストールしておいてください。各ソフトウェアのインストールの説明は都合により割愛させていただきます。

「Pixal3D Pipeline」のクローン作成

 まずはプロジェクトをローカルにコピーします。システムドライブ以外のユーザー権限のあるフォルダーを開き、エクスプローラーで右クリックメニューから[ターミナルで開く]を実行し、下記をコピー&ペーストし、[Enter]キーで実行します。

git clone https://github.com/infinition/Pixal3D-pipeline.git
ターミナルを使いgitで「Pixal3D Pipeline」プロジェクトをクローン

クローンが作成後も、ターミナルウィンドウは開いたままにしておいてください。

後でまた使用します(伏線)。

「ComfyUI portable」のインストール

 次に「ComfyUI portable」をインストールします。下記リンク先のページの「Nvidia GPU (CUDA 13.0, Python 3.13)」(左側)をクリックして「ComfyUI_windows_portable_nvidia.7z」をダウンロードします。

左側のボタンをクリックしてダウンロード

 そして「7zip」で展開後、[ComfyUI_windows_portable]フォルダーを、上記でクローンを作成した[Pixal3D-pipeline]フォルダーの直下に移動します。

[ComfyUI_windows_portable]フォルダーを[Pixal3D-pipeline]フォルダー内に移動

SETUP.batの実行

 [Pixal3D-pipeline]フォルダー内の「SETUP.bat」(上図参照)をダブルクリックして実行します。

 新たにコマンドウィンドウが開き、必要なファイルをダウンロード・インストールしていきますが、途中、巨大なモデルウェイトのダウンロードの直前に、下記のような表示が出て一時停止します。

自動的にダウンロード・インストールしていくが、途中で『Download them now? [y/N]』と出て一時停止する。

 25GBのファイルをダウンロードする時間があれば、[Y]キーを押して[Enter]キーと入力すれば再開します。このバッチファイルは再実行すると、既存の物はスキップしてくれるので、ここで中断して後で再開しても問題ありません。

最後に『続行するには何かキーを押してください』と出たら完了

 これで完了です。お疲れさまでした!

実行とエラーの修正

 ……と思っていました。最初は。

 実はここから表示されるエラーとの闘いが始まるのです……。

「Pixal3D」のコントロールパネルとプリセット設定

 とりあえず「START.bat」を実行してみましょう(「Pixal3D-pipeline」フォルダー内)。「SETUP.bat」同様にコマンドウィンドウが開き、しばらくすると、最初に「Pixal3D」の設定ページがWebブラウザーに表示されるはずです。

 しかし、ここで途中でエラーを吐いて停止してしまいました。

「START.bat」を実行してみると、いきなりエラーを吐いて停止してしまった

 どうやら、「watch_pixal3d」モジュールが見つからないらしいのですが、同名のpythonファイルは存在しています。どうやら「control_panel.py」というファイルに問題がある模様です。

 「Pixal3D-pipelinepipeline」にある「control_panel.py」をメモ帳などで開き、検索機能([Ctrl]+[F]キーなど)で『import watch_pixal3d』を探し、その直前に下記を挿入し、保存してください。追加する2行の行頭のスペースは『import watch_pixal3d』の行と揃えてください。

    import os, sys
    sys.path.append(os.getcwd())
「Pixal3D-pipelinepipelinecontrol_panel.py」(①)をメモ帳などで開き、検索機能で『import watch_pixal3d』(②)を探し、その前の行に上記の2行を挿入(③)して保存

 もう一度「START.bat」を実行します。成功していると、「Pixal3D」のコントロールパネルがブラウザーに表示されます。

 ここでGPUにあったプリセットを設定しておく必要があります。

 「VRAM preset」の項を探し、その下のセレクターからPCのGPUに適したプリセットを選択します。そしてもっと下の[Save Settings]ボタンをクリックして設定を保存します。

「VRAM preset」の下のセレクターからPCのGPUに適したプリセットを選択し、さらに下の[Save Settings]ボタンをクリックして設定を保存

 この設定は後述のノードのデフォルト値として使用されますが、ノード上で変更することもできます。

「ComfyUI」の起動

 その後6分ぐらいで、ノードエディターの「ComfyUI」がブラウザー内に表示されるはずです。表示されなければ「http://127.0.0.1:8188/」にアクセスしてみてください。

 右クリックして現れる独自のメニューからノードが追加できますので、早速追加していきます。

 [ノードを追加]-[Pixal3D]から[Pixal3D Model Loader]と[Pixal3D Image To 3D]、[Pixal3D Export GLB]ノードを、同様に[画像]から[画像を読み込む]ノードを追加し、下図のように配置してつないでください。

図のように右クリックから[ノードを追加]-[Pixal3D]と、[画像]サブメニューから図のノードを追加しつなぐ

 早速実行してみたいところですが、モデルのロードに非常に時間がかかりますので、先に問題を解消しておきます。

背景処理用モデル読み込みの抑止

 「Pixal3D」では、背景の削除に「RMBG」モデルを使用します。しかし使用には登録と認証が必要です。

 背景の削除は他の「ComfyUI」ノードを使用したり、なんならWindows付属のペイントでもできますので、無効化してしまうことにします。

 [Pixal3D Model Loader]ノードの[load_rembg]を[false]に、[Pixal3D Image To 3D]ノードの[background_mode]を[none]に設定してください。

 ついでに他の必要なモデルはすべてダウンロード済みですので、[Pixal3D Model Loader]ノードの[download_if_missing]も[false]に設定してしまいます。

[Pixal3D Model Loader]ノードの[load_rembg]と[download_if_missing]を[false]に、[Pixal3D Image To 3D]ノードの[background_mode]を[none]に設定

drtkがインストールされない問題

 「SETUP.bat」実行時、途中で下図のような日本語のエラーメッセージが表示されているはずです(わからない場合は、もう一度「SETUP.bat」を実行してみてください。最後の方で表示されます)。

『drtk: MISSING (drtk: ImportError: DLL load failed while importing interpolate_ext: 指定されたプロシージャが見つかりません。)』とエラー表示

 このエラーメッセージは必須モジュールの1つである「drtk」がインストールされていないことを示しています。すでに「SETUP.bat」によりwheelと呼ばれる形式で保存はされているのですが、条件の一つであるライブラリの「pytorch」が「2.12」でインストールされてしまっているため、正常に読み込めないのです。

 対応するwheelと差し替えるのが早いのですが、配布先に「pytorch 2.12」用はなかったため、「pytorch 2.11」にダウングレードすることにします。

 最初のクローン作成の手順で、ターミナルウィンドウがインストールの親フォルダーで開いたままになっているはずですので、下記をコピペして実行してください。

 閉じてしまった場合は、もう一度インストールの親フォルダーでターミナルウィンドウを開いて実行してください。

Pixal3D-pipeline\ComfyUI_windows_portable\python_embeded\python.exe -m pip install torch==2.11.0 torchvision==0.26.0 torchaudio==2.11.0 --index-url https://download.pytorch.org/whl/cu130

 再び「SETUP.bat」を実行し、上記のエラーが出ていないことを確認したら次に進みます。

Tritonがコンパイルされていない問題

 最後にもう1つ修正しておきます。

 「ComfyUI Portable」で採用している「Python Embedded」にはライブラリの一部が足りない問題があり、[Pixal3D Image to 3D]ノード実行時にエラーを吐いて失敗してしまいます。

 こちらのtriton windowsのwoct0rdho氏のページによると、同ページにリンクされている「python_3.13.2_include_libs.zip」をダウンロードし、中の「libs」と「include」フォルダーを「ComfyUI_windows_portable」の「python_embeded」にコピーすれば解決するそうです。

「python_3.13.2_include_libs.zip」をダウンロード・展開後、「ComfyUI_windows_portable」の「python_embeded」内に「libs」と「include」フォルダーをコピー

 なお、「include」フォルダーはすでにあるので、統合されることになりますが気にしないでください。一方で「Lib」フォルダーと「libs」フォルダーが並びますがこちらも気にしないでください。

実行してみよう

 ようやく準備ができましたので、テストしてみましょう。

通信について

このPixal3D-pipelineは、実行中にEmbeded版Python.exeがAWSとcloudfrontに通信しているようです。必要なファイルが完全に揃っている状態であれば、オフラインでも動きますので、心配な方はLANケーブルを一時的に外すか、下記のようにファイアーウォールの規則にEmbeded版「Pyhthon.exe」を登録すれば、遮断できます。
[設定]-[Windowsセキュリティ]-[ファイアウォールとネットワーク保護]-[詳細設定]-[セキュリティが強化されたWindows Defenderファイアウォール]-[受信の規則]-[新しい規則(右ペイン)]-[プログラム]→[このプログラムのパス]に『(親フォルダー)¥Pixal3D-pipeline¥ComfyUI_windows_portable¥python_embeded¥python.exe』
を指定し、[送信の規則]も同様に設定してください。

 まず、背景がアルファ0(透過する)画像を用意し、[画像を読み込む]ノードに設定します。なければ下の画像を使用してください。

みんな大好きスザンヌさん(今回唯一の「Blender」要素)

 実行ボタンをクリックすると、モデルが読み込まれ、処理が始まります。筆者の環境ではHDDにインストールしている都合で、完了まで10分かかりました。

 一旦モデル読み込みが終わったらかなり短縮されます。

右上に実行の開始と処理中・完了ジョブのリストが表示される

 出来たモデルはジョブリストのジョブの右端にマウスカーソルをのせ、[…]をクリックして[ダウンロード]を実行すると、ダウンロードフォルダーに保存されます。もしくは表示されているパスの場所からコピーしてください。

完了したジョブの右端でマウスホバーし[…]-[ダウンロード]でダウンロード可能

 終了したい時は、「START.bat」実行時に開いたターミナルで[Ctrl]+[C]キーを押して止めてください。単に閉じるボタンで終了すると、Pythonプロセスが実行中で残ったままになり、メモリが解放されなくなることがあります。

終わりに

 お疲れさまでした。次回は色々検証していく予定です。

 ではまた。