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

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

Deep Learning

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

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

ロボットの顔のモーフィング

IM-NETを使った3Dモデルのモーフィング処理ですが、これまでに集めたロボット頭部のデータをIM-NETに学習させてみました。 1.2つのロボット頭部の3DボクセルデータをそれぞれIM-NETエンコーダで処理 2.得られ2つのたコード(256次元)を加重平均 3.平均…

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

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

state-of-the-artのDeep Learning(IM-NET)を試してみた

前回、Deep Learningを使った3Dデータのモーフィングを試してみて、なんらかの形を作ってはくれるもののちょっと残念な結果に終わったわけですが、我流で進めるのもそろそろ限界かなと思いちょっと世の中の状況を調べてみました。さすがに日本語の書籍で3Dモ…

ロボットの頭部をAIでデザインできないかと試してみたい ーVAEでモーフィングー

前回のブログの終わりに法線ベクトルを使った3Dモデル(VAE:変分オートエンコーダ)の学習を実行中と書きましたがその結果がやっとでました。あれから2週間以上もコンピュータを動かしつづけたわけではなくて、結果を確認してみたら学習に失敗していて何回か…

ロボットの頭部をAIでデザインできないかと試してみたい ー3Dモデル表現方法の変更ー

これまでDeep Learningの入力/出力となるデータとして例えば1x64x64x64といった形式のNumpyデータを使ってきました。64というのは空間をX方向、Y方向、Z方向に分割するときの解像度(数字が大きいほど形状を細かく表現できる)ですが、残った1次元(1チャネル)…

Pytorchの勉強を続ける

Pytorchの勉強を続けています。前回、基本的なGANは動いたと書きましたがどうもうまく学習できていないみたい・・・ オートエンコーダ(AE)のほうが学習状況の確認がしやすい(損失関数が1つだけなのでこいつが単調に減少していってくれればいちおう学習が進ん…

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

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

Deep Learningで3Dデータ生成 -高解像度の3Dモデルを目指して-

RTX3090 GPUボードのおかげでDeep Learningの学習のスピードは相当(200倍程度)速くなることは確認できたのですが、3次元データの解像度を単純に上げていくとGPUメモリ容量の制約でGPU並列処理ができなくなる、すなわち事実上実行不能になるという制約に変わ…

新しいパソコンでDeep Dreamを試してみた

今回購入したパソコンの筐体はいわゆるフルタワー、このサイズのパソコンを買ったのは30年ぶりぐらいかな。中を開けるとこんな感じです。 本体の側面カバーを開けたところ 電子部品としてはマザーボードとグラフィックボード(GEFORCE RTX 3090)だけである意…

GPUでDeep Learningの学習がどれだけ速くなるか

先週、オーダーしていた新しいPCが届きました。グラフィックカードにGEFORCE RTX 3090を搭載、メモリ64Gバイト、CPUは8コア2.5GHzという自分史上最高スペックのマシンです。週末にTensorflow等のDeep Learning用ソフトウェアのセットアップを行い、GPUによる…

やっぱり速いPCが欲しい、という話

GAN(敵対的生成ネットワーク)で生成する3Dモデルの精度やバリエーションをもっと改善したいと学習するモデル解像度を32x32x32から64x64x64にスケールアップしたのですが、結果は惨憺たるものでした。得られた生成モデルに何を入力しても、どれも同じような丸…

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

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