画像生成AIのDALL-EでCAE解析の結果っぽいイラストを生成する

CAEと機械学習

文字から画像を生成してくれるDALL-Eは、CAE結果っぽいものを生成できるのか、試してみました。

DALL-Eとは

DALL-Eは、OpenAIが開発した、文字による説明から画像を生成することができる人工知能(AI)プログラムです。

このプログラムは、自然言語処理とGAN(Generative Adversarial Network)を組み合わせて、テキストによるプロンプトから斬新で多様な画像を生成します。漫画のキャラクターや動物から家具や日用品まで、幅広い画像を生成してくれます。

CAEはお絵描き

Images used courtesy of ANSYS, Inc.

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に投入してみましょう。

a 3d rendering of an object with a blue and red color

blip-2のアプトプットである「a 3d rendering of an object with a blue and red color(青と赤で構成された物体の3Dレンダリング)」を、プロンプトとしてそのままDALL-Eに入れてみました。

いい感じですが、コンター図と呼ぶには少しCG感が強いですし、指定が抽象的なためか、4つの画像がほぼ違うものを表現しています。もう少し具体的な説明を加えてみます。

a 3d rendering of an object with a blue and red color Blue and red liquid mixed in a cylinder. The color gradient is output by ANSYS Fluent.

「青と赤が混ざった物体の3Dレンダリング 青と赤の液体が円筒の中で混ざり合っています。色のグラデーションはANSYS Fluentで出力しています」というプロンプトを投入した結果です。

なんか液体がこぼれてしまっているのと、3D-CG感が強いので、背景色を変えるなどしてみます。

a 3d rendering of Contrasting blue and red liquids mixing in a sealed cylinder. output using mathematical functions. White background.

密閉された円筒の中で混ざり合う青と赤の液体の3Dレンダリングです。数学的な関数を使って出力した。白背景。」というプロンプトです。いい感じにコンターっぽくなってきました。

混ざり方がまだ甘い気がするので、もっと派手に混ざってもらいましょう。

a 3d rendering of Contrasting blue and red liquids intricately mixed in a sealed cylinder. output using mathematical functions. White background.

「密閉された円筒の中で複雑に混ざり合う青と赤の液体の3Dレンダリングです。数学的な関数を使って出力した。白背景。」の結果です。

面白い感じの結果になってきました。視点がCAE結果っぽくないので、真横から見た構図に変えてもらいます。

a 3d rendering of Contrasting blue and red liquids intricately mixed in a sealed cylinder. output using mathematical functions.White background. The composition is such that the entire cylinder is shown from the side.

「密閉された円筒の中で複雑に混ざり合う青と赤の液体の3Dレンダリングです。数学的な関数を使って出力した。白を基調とした背景。円筒全体が横から見えるような構図になっています。」の結果です。

十分いい感じですが、まだ3D-CG感が抜けません。ちょっとおしゃれすぎるのかも。

a little tacky 3d rendering of Contrasting blue and red liquids intricately mixed in a sealed cylinder. output using mathematical functions.White background. The composition is such that the entire cylinder is shown from the side.

「密閉された円筒の中で、青と赤の液体が複雑に混ざり合う様子を、数学的な関数を使って出力した、ちょっとダサい3Dレンダリング。背景は白。円筒全体が横から見えるような構図になっています。」

この「ちょっとダサい(a little tacky)」が効いたようで、ちょうどよくCAE結果っぽいコンター図が作成できました。

どうでしょうか。これで、VOF計算しなくても、それっぽいコンター図を出すことができました。VOFは収束性が悪い上に正しい結果なのかも検証しずらいので、もうCAEでなくDELL-Eで適当な絵をかいて出しておけば良い気もします。(そんなことはない)

ちなみに、このプロンプトにたどり着くまでに40creditsほど消費しました。

ねじの応力分布っぽい画像

他にもいくつかコンターっぽい画像を作りましたので、プロンプトと一緒に紹介します。

a slightly tacky 2D contour image of screw, the screw is blue, but locally red in one place. Between the blue and red color is a gradient with green in between. Output using math functions. White background. output using mathematical functions. Composition so that the entire screw is visible from the side.

「ネジの2D輪郭画像で、ネジは青色だが、局所的に一か所だけ赤色になっている、ちょっとダサい画像。青と赤の間には、緑を挟んだグラデーションがある。数学関数を使った出力。白を基調とした背景で、数学的な関数を用いて出力しています。 横から見てネジ全体が見えるように構成した。」

という、まあまあ面倒なプロンプトを入れたわりに、微妙なコンター図になりました。一番右の画像は使えそうですが、CAE結果と呼ぶには苦しいですね。

a slightly tacky 2D contour image of mechanical parts, the screw is blue, but locally red in one place. Between the blue and red color is a gradient with green in between. Output using math functions. White background. output using mathematical functions. Composition so that the entire screw is visible from the side.

機械部品とネジをどっちもプロンプトに混ぜで2Dレンダリングしました。それっぽいイメージではありますが、CAE結果として人間に見せるには無理のある画像群です。

ブロックの応力分布っぽい画像

a slightly tacky 3D contour image of block, the screw is blue, but locally red in one place. Between the blue and red color is a gradient with green in between. Output using math functions. White background. output using mathematical functions. Composition so that the entire screw is visible from the side.

3Dのブロックのイメージにすると、少しそれっぽい結果になります。

Contour diagram of stress distribution in a screw. Stress is concentrated at the root of the screw. The color is a gradation like a color map, and the area where stress is concentrated is red. The background is white. Computer graphics. Output by function.

ちなみに「応力分布のコンター図を出して」などのようなプロンプトを投入しても、意図したような結果にはなりませんでした。色をプロンプト上で指定していく方が、CAEのコンター図のようなイラストを生成できるようです。

まとめ

DALL-EでCAEっぽい画像を出力してみました。

投入するプロンプトエンジニアリングは試行錯誤が必要で、まあまあ面倒です。

今回の試行錯誤で、CAE結果っぽい絵を出すのに便利そうなプロンプトは以下の通りです。

a little tacky 3d rendering of Contrasting
・the blue and red color is a gradient with green
・output using mathematical functions

・White background
・The composition is such that the entire cylinder is shown from the side.

DALL-Eの進化に伴って、必要なプロンプトも変わりそうですが、よければ使ってみてください。

コメント

タイトルとURLをコピーしました