3Dモデルをいろいろ作ってみたい

3Dモデルをいろいろ作ろうとがんばっています。苦労した点、役に立ちそうな情報を発信していきます。

Python

3DモデルのViewerにIM-NETのモデル生成機能を組み込む

前回のブログで「次の目標はこのViewerにIM-NETのモデル生成機能を組み込むことになります。」と書いてから早や3か月、やっとコーディングが終わりました。副業(?)のJavaScriptの仕事がちょっと忙しくなってしまい、Vue.jsとかおじさんの知らないフレームワ…

3DモデルのViewerに機能を追加してみた

前回作成した3DモデルViewerにモデルデータのセーブの機能を追加しました。 セーブ機能つきのViewer画面 大きな変更点は読み込んだ3Dモデルの間でメッシュ<=>ボクセル の相互変換をできるようにして、ボクセルに変換したデータをvox形式で読み書きできる…

vedo libraryを使って3DのViewerを作ってみた

IM-NETを使った3Dモデルの生成の可能性が確認できたところで、さらに手法をいろいろ試すためにはGUIを持ったテストベッドを用意したいと思うようになりました。まず欲しい機能としては以下の2種類の3Dデータ: ボクセルデータ(NxNxNの格子の点の有無で形を表…

学習用3Dデータの準備に関する備忘録

IM-NETのプログラムが掲載されているgitのリポジトリには学習用の3Dデータをどこから取得するかという点についても記述がありました。ShapeNetとうい3Dデータを集めるプロジェクトがあるんですね。 shapenet.org Robotの顔なんていう特殊なカテゴリはありま…

ロボットの頭部をAIでデザインできないかと試してみたい ーフレームワークをPytorchに変更ー

これまで3Dモデル生成のネットワークを作るのにTensorflow/Kerasというフレームワークを使っていたのですが、しばらく前からPytorchというフレームワークを使ってプログラムを作っています。2つのフレームワークはDeep Learning用フレームワークの2大勢力で…

ロボットの頭部をAIでデザインできないかと試してみたい ー3Dの畳込み層を使ってみるー

前回の試作では3Dモデル生成のためのGAN(敵対的生成ネットワーク)の構成は2次元の画像を生成するのと全く同じでした。3次元座標情報をさながら地球儀を紙の世界地図に展開するようなかたちで2次元に展開し、ネットワークに入力していたわけです。その後、GAN…

ロボットの頭部をAIでデザインできないかと試してみたい ー単純に適用してみたー

OBJ形式の3Dモデルをニューラルネットへの入力であるNumpy形式に変換するプログラム、逆にニューラルネットの出力のNumpy形式をOBJ形式に変換するプログラムを作ったので、参考書で定義されているGAN(敵対的生成ネットワーク)で3Dデータを生成してみました。…

ロボットの頭部をAIでデザインできないかと試してみたい ーまだ始めたばかりですがー

以前に3Dモデルをプログラムで生成するツールを試作していましたが、今年はFusion 360でのモデリング作業が主となっていてなかなか手をつけることができませんでした。1年以上の間、こっちのアプローチの作業はしていない... ichidaya.hatenablog.jp ichi…

Scriptを作成してモデリング作業の効率アップ

前回記事のロフト操作だけで宇宙船を造形するというアイデアは半年くらい前から温めていたのですが、試してみるとけっこう手間がかかるためなかなか完成できないというのが実情でした。 ichidaya.hatenablog.jp 基準となる平面を選択後に長さを指定してオフ…

立体地図を作るのに便利なプログラム2種についての覚書

立体地図のモデル(OBJ形式)を制作で品質や作業効率の改善のために以下のようなPythonプログラムを作ってみました。いずれもOBJ形式データを生成するませに標高メッシュの情報を表すCSV形式のデータの前処理を行うプログラムです。 標高値の平滑化(ガウシアン…

立体地図用テクスチャ画像作成に関する備忘録

カラー造形のためのテクスチャ画像を作成する考え方は前回述べたとおりなのですがもう少し実装よりというか、泥臭い作業上の注意点なども記録しておきたいと思います。 テクスチャ画像の生成スクリプトのソースコードを下記に置きました。 MapTexture.py こ…

立体地図を作る -標高メッシュから直接OBJ形式データを生成する-

標高メッシュの情報からOBJ形式の3Dデータを生成するPythonスクリプトを作成。