Intelligence本記事では、Point-Eと呼ばれる機械学習手法を用いてテキストから3次元点群を生成する方法をご紹介します。openai/point-ePoint-E概要Point-Eは、OpenAIが発表した拡散モデルを用いた3次元点群生成技術です。generation)は、1つのサンプルを生成する際に複数のGPUを用いて多くの処理時間を要することが課題でした。Point-Eでは、まずテキストから画像への拡散モデルを使用して、単一の合成ビューを生成し、次に生成された画像を使用し、2つ目の拡散モデルを使用して3次元点群を生成しています。この構成はサンプルの品質ではSOTAを達成していませんが、従来技術と比較し、1~2桁高速であり、限定的なユースケースで実用的なトレードオフを提供すると示されています。Prompts詳細はこちらの論文をご参照ください。本記事では上記手法を用いて、テキストから3次元点群を生成します。デモ(Colaboratory)それでは、実際に動かしながらテキストから3次元点群を生成します。ソースコードは本記事にも記載していますが、下記のGitHubでも取得可能です。Colaboratoryで開くこともできます。このデモはPythonで実装しています。Pythonの実装に不安がある方、Pythonを使った機械学習について詳しく勉強したい方は、以下の書籍やオンライン講座などがおすすめです。本記事では、現役機械学習エンジニアとして働く筆者が実際に読んだ書籍の中でおすすめの書籍をレベル別に紹介しています。本記事では、機械学習エンジニアとして働く筆者が、AI・機械学習をまったく知らない方でも取り組みやすいおすすめのオンライン講座をご紹介しています。環境セットアップそれではセットアップしていきます。Colaboratoryを開いたら下記を設定しGPUを使用するようにしてください。初めにGithubからソースコードを取得します。fc8a607c08a3ea804cc82bf1ef8628f88a3a5d2f次にライブラリをインストールします。.最後にライブラリをインポートします。marching_cubes_mesh以上で環境セットアップは完了です。PointCloud学習済みモデルのセットアップ続いて学習済みモデルをロードします。テキストではなく、画像から3次元点群を生成するモデルをロードします。3.0],)テスト画像のセットアップ続いてモデルに入力する画像をロードします。Image.open('/content/point-e/point_e/examples/example_data/cube_stack.jpg')imgInferenceそれでは、画像から3次元点群を生成します。0.75)))出力結果は以下の通りです。画像から生成された点群が3次元上にプロットされた結果が表示されます。PointCloudそれでは、本題のテキストから3次元点群を生成していきます。先ほどと同様に学習済みモデルをロードしていきます。all)Inferenceそれではテキストから3次元点群を生成していきます。0.75)))出力結果は以下の通りです。点群をPlotlyで表示してみます。),)fig_plotly.show(renderer="colab")出力結果は以下の通りです。PointCloudの方法をご紹介しました。処理速度の速さからサービス適用時などに応答性の向上が見込めます。本記事では、機械学習を動かすことにフォーカスしてご紹介しました。学術的に体系立てて学びたいという方には以下の書籍などがお勧めです。*このブログについてホームサイトマップTeDokologyTeDokology。