AWSを活用した3Dモデル検索サービスの導入

3D モデルは、コンピューター ゲーム、映画、エンジニアリング、小売、広告、その他多くの分野で広く使用されています。市場には 3D モデルを作成するためのツールが多数ありますが、優れた 3D モデル検索ツールの開発は非常に困難であるため、3D モデル データベースを直感的に検索して類似の 3D モデルを見つけることができるツールはほとんどありません。モデル記述子の作成と特徴ベクトルの抽出には複雑な計算と AI/ML フレームワーク、大量の形状データを保持してインデックス付けするデータベース、大規模なデータセットでのほぼリアルタイムのパターン マッチングが必要です。

ここに画像の説明を挿入

推奨事項: NSDT エディターを使用して、プログラム可能な 3D シーンを迅速に構築する

1. 解決すべきビジネス上の問題

この記事では、3D モデリング ビジネスにおける実際のビジネス問題を理解し、そのソリューションを AWS クラウドに実装する方法を見てみましょう。

仮定のビジネス上の問題から始めましょう。エンジニアリング設計会社 X は、従来のデータ ストアに多数の 3D モデルを保存しており、そのモデルをオンラインで販売する新しいビジネスを開始したいと考えていました。企業は、写真、手描き、または 3D モデル オブジェクトを使用して視覚的な検索を実行し、一致する 3D モデルを見つけて、顧客が必要なモデルを簡単に選択して購入できるサービスを提供したいと考えています。

ここで、X 社はレガシー データベースに多数の 3D モデルを持っています。最初のステップは、モデルをクラウド ストレージ (できれば S3) にダウンロードし、これらのモデルの形状と特徴データを抽出し、データにインデックスを付けることで、類似したモデルをグループ化して効率的に検索できるようにします。

2. 特徴の生成とインデックス作成

以下の図は、形状データと特徴データの生成とインデックス付けのアーキテクチャを示しています。
ここに画像の説明を挿入

ソリューションを実装するために必要な手順は次のとおりです。

  • サーバーレス バッチ コンピューティング プラットフォームを提供する AWS Batch を設定して、レガシー データベースに接続し、3D モデル ファイルを S3 バケットにダウンロードするサービスを実行します。毎晩実行するようにスケジュールすることができます。
  • AWS Lambda 関数を実装して、S3 バケットにダウンロードした 3D モデルを処理し、形状表現アルゴリズムを使用して形状データを生成します。結果の形状データは Amazon DynamoDB に保存される必要があります。この Lambda 関数は、S3 バケットの書き込みイベントをトリガーするように設定できます。
  • 別の AWS Lambda 関数を実装して、さまざまな角度で 3D モデルの複数のスナップショットを作成し、それらを画像として S3 バケットに保存します。
  • 既知の ImageNet データセットで事前トレーニングされた畳み込みニューラル ネットワーク (CNN) モデル、または Amazon SageMaker でトレーニングおよびデプロイされたモデルを使用して、生成された画像から特徴を抽出します
  • Amazon SageMaker は、AWS クラウドで迅速にデプロイ可能な機械学習モデルの作成、トレーニング、デプロイを可能にするフルマネージドの機械学習プラットフォームです。このモデルを使用すると、画像テクスチャ、ジオメトリデータ、メタデータを抽出して Amazon DynamoDB に保存できます。
  • 別のラムダ関数を作成して、ステップ 2 で生成された形状データをステップ 4 で抽出した特徴データで強化します。形状データが特徴データで強化されるようになりました。形状データは浮動小数点数の配列です。次のステップは、類似した形状をグループ化することです。
  • AWS ラムダ関数を使用して、Amazon OpenSearch Service 上に参照 k-NN インデックスを構築します。これは、Elastic Search を大規模にデプロイ、保護、実行することを簡単かつコスト効率よく行うフルマネージド サービスです。Amazon OpenSearch Service は、k-最近傍 (k-NN) 検索を提供します。これは、形状データをベクトルとして保存し、k-NN アルゴリズムを使用して、ユークリッド距離またはコサイン類似度によって類似した形状データをグループ化できます。

これで、特徴量豊富な形状記述子を生成し、k-最近傍 (k-NN) アルゴリズムを使用してそれらにインデックスを付けました。次に、3D モデルまたはモデルの 2D ビュー (正面図、上面図、側面図を描画するツールを使用できます) を提示してアプリケーションにクエリを実行し、Amazon OpenSearch のインデックス付きデータから類似のモデルを検索します。

3. 3Dモデル検索

以下の図は、モデル リポジトリから類似のモデルを見つけるためのリアルタイム 3D モデル検索のアーキテクチャを示しています。
ここに画像の説明を挿入

  • S3 でホストされている Web アプリケーションを使用して、3D モデル オブジェクト (利用可能な場合) をアップロードしたり、スケッチ アプリケーションを使用してモデルの上面、正面、側面のビューを描画し、それらのビューを画像としてアップロードしたりできます。さまざまな角度からより多くのビュー画像が表示されると、より正確な結果が得られます。
  • アップロードされた画像は、Amazon API Gateway 経由で AWS Lambda に送信されます。
  • AWS Lambda 関数は、アップロードされたモデル/画像の形状記述子を生成し、Amazon SageMaker リアルタイム エンドポイントを呼び出して特徴データを抽出します。
  • AWS Lambda 関数は、形状記述子を特徴データで強化します。
  • AWS Lambda 関数は、Amazon Elastic Search Service (Amazon OpenSearch Service) インデックスの k 最近傍にクエリを送信します。k 個の類似モデル データのリストと、モデルのそれぞれの Amazon S3 URI を返します。
  • AWS Lambda 関数は、事前署名された Amazon S3 URL を生成し、クライアント Web アプリケーションに返し、同様のモデルを視覚化します。

この記事の目的は、AWS のサービスを使用した AWS クラウド上の 3D モデル検索サービスのアーキテクチャと高レベルの実装の詳細を説明することです。詳細を提供するために、以下の FAQ セクションを追加しました。

4. よくある質問

  • 3D 形状記述子とは何ですか?

3D 形状記述子は、3D オブジェクトの幾何学的性質を捉えるために 3D モデルの表面上の点を表すために使用される一連の数値です。これは 3D オブジェクトのコンパクトな表現であり、記述子は意味のある距離メトリックを持つベクトル空間を形成します。

  • 3D 形状記述子を生成するにはどうすればよいですか?

3D 形状記述子の生成に使用できるアルゴリズムは多数あります。3D モデルをさまざまな角度で回転させることによって生成される 2D ビュー データのセットを生成します。ビューが多いほど精度が高くなります。一般的なアルゴリズムは、ライト フィールド ディスクリプタ (LFD) とマルチビュー畳み込みニューラル ネットワーク (MVCNN) です。

  • 事前トレーニング済み CNN モデルとは何ですか?

事前トレーニング済みモデルは、私たちが抱えている問題と同様の問題を解決するために誰かによって作成され、トレーニングされたモデルです。私たちのケースでは、ImageNet データベースからの 100 万を超える画像でトレーニングされた、事前トレーニング済みの resnet50 畳み込みニューラル ネットワークを使用できます。resnet50 は、SageMaker の組み込みアルゴリズムとして利用できます。

  • SageMakerとは何ですか?

これは、機械学習モデルを迅速かつ簡単に構築およびトレーニングし、実稼働対応のホスティング環境に直接デプロイできる、フルマネージドの機械学習サービスです。

  • Amazon Elastic Search Service と Amazon OpenSearch Service。

Amazon Elastic Search Service (現在は Amazon OpenSearch Service) は、OpenSearch の最新バージョンと、OpenSearch Dashboard と Kibana を活用した視覚化を提供します。大量のデータの取り込み、保護、検索、集計、表示、分析を簡単に行うことができます。

  • Amazon OpenSearch Service の k-NN とは何ですか?

これにより、ベクトル空間内の点を検索し、ユークリッド距離またはコサイン類似度によってそれらの点の「k 個の最近傍」を見つけることができます。


元のリンク: AWS に基づく 3D モデル検索 - BimAnt

おすすめ

転載: blog.csdn.net/shebao3333/article/details/132406279