PIFuHD(2D→3D)Aiが回答したエラーの対処 | パソコンで人生を100倍楽しめ!

パソコンで人生を100倍楽しめ!

自作PC/3DCG/ビデオ/音源/プログラミング少々。

PIFuHD(2D→3D)にエラーが出て3D画像が作れなくなりました。その対処法についてです。

Aiに聞くと(原因)

「エラーの原因は、marching_cubes_lewinerという関数が非推奨になったことかもしれません。」とあります。

 

解決策
①scikit-imageのバージョンを0.19.2にダウングレードする。
②lib.mesh_utilの77行目を書き換えて、marching_cubes_lewinerをmarching_cubesにする。

との答えでした。②の方法を記載します。

 

PIFuHDの使い方は以前の記事(動画付き)を参照してください。

Googleドライブに、PIFuHDのコピーが終了したところから説明します。

 

>>>

全体図

 

以前の記事内容とは若干操作方法が変わります。「すべてのセルを選択」をクリックしての手放操作ではなく、[]にマウスを当て手動で行ってゆきます。

 

それでは、ボタンをクリックしてライブラリを取得します。

※諸々のプログラムの作成者により表示が異なりますが、それでも下方へ順にをクリックで進めばOKです。

 

ライブラリの取得が済んだら、フォルダを表示させ、上部の更新ボタンをクリックします。

 

この作業は、PiFuの実行、使用画像のアップロード手前までに行ってください。


 

「pifuhd」フォルダを表示させたら修正ファイルを探します。「pifuhd」→「lib」→「mesh_util.py」とクリックで進み「mesh_util.py」をダブルクリックすると右側に、ファイル編集が表示されます。スクロールダウンで77行目まで移動します。

 

◇回答 77行目を書き直します。

verts, faces, normals, values = measure.marching_cubes_lewiner(sdf, thresh)を


verts, faces, normals, values = measure.marching_cubes(sdf, thresh)に変更します。

 

※後半部分を消すだけでイケます。

 

作業を保存するため、再び更新ボタンをクリックしておきます。


プログラム編集を非表示にするときは、mesh_util.pyの「X」をクリックします。

 

使用する画像をアップロードします。

アップロードが完了したら、次の[]アイコンにマウスを当てを表示させます。これを順に行いながら進みます。

 

「レンダリング」で下記の表示がされたならば成功です。

 

更新ボタンをクリック、「recon」ファルダをオープンします。そこに、objファイルがあれば成功です!

 

 

mp4取得エラーは無視しています。

 

◇編集後記

Aiに聞いたなんて大げさですが、これは誰でも利用できます。MicrsoftのBingを使います。

MicrsoftのブラウザBingから申請しておけば、次期に使えるようになります。

OpenAiやChatGPTも使っていますが、使い勝手がそちらより便利かもしれません。

 

例えば「今夜の晩御飯を考えて・・・」

のように、漠然とした内容でも答えてくれますが、具体的に質問すればより良い結果が出ます。

 

「今夜の晩御飯を考えて欲しい。条件は、豚肉を使用して15分ほどで作れるもの。600cal程度。・・・」

 などと詳しく入力します。


このブログの回答を得るまで質問は2回で済みました。

 

Aiはweb上の膨大なデータから答えを探してくれますが、時には、回答を間違えることもあるようです。検索と併用しながら、自分なりの納得の行く回答を追及すればよいと思います。

更にこの絵も別なAiに注文、5秒ほどで描いてもらいました。

 

本題のPIFuHDですが、写真から3Dモデルを作成できるオープンソースのプログラムです。Googleドライブへコピーして使います。