文字から画像を生成してくれるDALL-Eは、CAE結果っぽいものを生成できるのか、試してみました。
DALL-Eとは
DALL-Eは、OpenAIが開発した、文字による説明から画像を生成することができる人工知能(AI)プログラムです。
このプログラムは、自然言語処理とGAN(Generative Adversarial Network)を組み合わせて、テキストによるプロンプトから斬新で多様な画像を生成します。漫画のキャラクターや動物から家具や日用品まで、幅広い画像を生成してくれます。
CAEはお絵描き
CAE(Computer-Aided Engineering)は、物理学の法則を利用したシミュレーションです。私が従事する自動車業界などの製造業でよく使われており、製品の性能をコンピュータ上で予測し設計するためのツールとして、よく用いられています。
CAEに長く関わっていると思うことは、CAEは一種のお絵描きソフトなのではないか、ということです。
CAEは、物理現象を想定し、その現象を再現するモデルを組み、計算して結果を可視化するわけですが、最終的に出てくる結果は、数値と絵(コンター図)です。
ただ、実際の現象が分かっていないCAEなどを依頼されることも多く、「それっぽい絵が出ればいいから!」と言われることすらあります。んなこと依頼すんな。
たまに、「これ別に物理シミュレーションじゃなくても、お絵かきソフトで絵描いたほうがいいんじゃね」と思う事すらあります。
CAEのコンター図をAIは生成できるのか
CAEのコンター図を、意図したようにお絵描きしてくれるようなAIがあれば、やる意味を感じないCAE仕事はAIでお絵描きさせればよいのではないか、という発想に至ります。
DALL-Eに、意図したようなコンター図を作成する能力があるのか、様々なプロンプトを試してみました。
DALL-Eは、最初の50回の画像生成まで無料です。その後、毎月15回ぶんの権利(credit)が与えられるようです。
DALL-EでVOFのCAE結果っぽい画像を作る
コンター図を作成するためのプロンプトに、何を入力するべきか、まずはblip-2と呼ばれるモデルに考えてもらいます。このモデルは、画像を入力として、その画像の説明文を出力します。
試しに、ANSYS FluentのVOF機能を使って「2種類の流体が混ざる」計算をやってみるのコンター図を投入してみました。
a 3d rendering of an object with a blue and red color
VOF計算のコンター図は、AIにはこのように見えたようです。では、DALL-Eに投入してみましょう。
blip-2のアプトプットである「a 3d rendering of an object with a blue and red color(青と赤で構成された物体の3Dレンダリング)」を、プロンプトとしてそのままDALL-Eに入れてみました。
いい感じですが、コンター図と呼ぶには少しCG感が強いですし、指定が抽象的なためか、4つの画像がほぼ違うものを表現しています。もう少し具体的な説明を加えてみます。
「青と赤が混ざった物体の3Dレンダリング 青と赤の液体が円筒の中で混ざり合っています。色のグラデーションはANSYS Fluentで出力しています」というプロンプトを投入した結果です。
なんか液体がこぼれてしまっているのと、3D-CG感が強いので、背景色を変えるなどしてみます。
「密閉された円筒の中で混ざり合う青と赤の液体の3Dレンダリングです。数学的な関数を使って出力した。白背景。」というプロンプトです。いい感じにコンターっぽくなってきました。
混ざり方がまだ甘い気がするので、もっと派手に混ざってもらいましょう。
「密閉された円筒の中で複雑に混ざり合う青と赤の液体の3Dレンダリングです。数学的な関数を使って出力した。白背景。」の結果です。
面白い感じの結果になってきました。視点がCAE結果っぽくないので、真横から見た構図に変えてもらいます。
「密閉された円筒の中で複雑に混ざり合う青と赤の液体の3Dレンダリングです。数学的な関数を使って出力した。白を基調とした背景。円筒全体が横から見えるような構図になっています。」の結果です。
十分いい感じですが、まだ3D-CG感が抜けません。ちょっとおしゃれすぎるのかも。
「密閉された円筒の中で、青と赤の液体が複雑に混ざり合う様子を、数学的な関数を使って出力した、ちょっとダサい3Dレンダリング。背景は白。円筒全体が横から見えるような構図になっています。」
この「ちょっとダサい(a little tacky)」が効いたようで、ちょうどよくCAE結果っぽいコンター図が作成できました。
どうでしょうか。これで、VOF計算しなくても、それっぽいコンター図を出すことができました。VOFは収束性が悪い上に正しい結果なのかも検証しずらいので、もうCAEでなくDELL-Eで適当な絵をかいて出しておけば良い気もします。(そんなことはない)
ちなみに、このプロンプトにたどり着くまでに40creditsほど消費しました。
ねじの応力分布っぽい画像
他にもいくつかコンターっぽい画像を作りましたので、プロンプトと一緒に紹介します。
「ネジの2D輪郭画像で、ネジは青色だが、局所的に一か所だけ赤色になっている、ちょっとダサい画像。青と赤の間には、緑を挟んだグラデーションがある。数学関数を使った出力。白を基調とした背景で、数学的な関数を用いて出力しています。 横から見てネジ全体が見えるように構成した。」
という、まあまあ面倒なプロンプトを入れたわりに、微妙なコンター図になりました。一番右の画像は使えそうですが、CAE結果と呼ぶには苦しいですね。
機械部品とネジをどっちもプロンプトに混ぜで2Dレンダリングしました。それっぽいイメージではありますが、CAE結果として人間に見せるには無理のある画像群です。
ブロックの応力分布っぽい画像
3Dのブロックのイメージにすると、少しそれっぽい結果になります。
ちなみに「応力分布のコンター図を出して」などのようなプロンプトを投入しても、意図したような結果にはなりませんでした。色をプロンプト上で指定していく方が、CAEのコンター図のようなイラストを生成できるようです。
まとめ
DALL-EでCAEっぽい画像を出力してみました。
投入するプロンプトエンジニアリングは試行錯誤が必要で、まあまあ面倒です。
今回の試行錯誤で、CAE結果っぽい絵を出すのに便利そうなプロンプトは以下の通りです。
DALL-Eの進化に伴って、必要なプロンプトも変わりそうですが、よければ使ってみてください。
コメント