(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024012107
(43)【公開日】2024-01-25
(54)【発明の名称】3次元(3D)可変分解能領域形状の自動作成
(51)【国際特許分類】
G06F 30/23 20200101AFI20240118BHJP
G06F 30/15 20200101ALI20240118BHJP
G06F 111/10 20200101ALN20240118BHJP
【FI】
G06F30/23
G06F30/15
G06F111:10
【審査請求】未請求
【請求項の数】21
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023098858
(22)【出願日】2023-06-16
(31)【優先権主張番号】17/812,584
(32)【優先日】2022-07-14
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】519084700
【氏名又は名称】ダッソー システムズ シムリア コーポレイション
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】ワン,フフ
(72)【発明者】
【氏名】カンダサミー,サティーシュ
【テーマコード(参考)】
5B146
【Fターム(参考)】
5B146AA05
5B146DJ03
5B146DJ08
5B146DJ11
5B146EA03
5B146EA18
5B146EC02
(57)【要約】 (修正有)
【課題】3次元(3D)可変分解能領域形状を、数値シミュレーションプロセス自動化のための正答投影図画像から自動作成するコンピュータ実装方法、コンピュータシステムを提供する。
【解決手段】モデル化されたオブジェクトを伴うコンピュータ実装数値シミュレーションにおいて使用するための、モデル化されたオブジェクトの3D可変分解能(VR)領域形状を作成するためのコンピュータ実装方法であって、特に、3Dモデル化されたオブジェクトの2次元(2D)正投影図を生成することと、コンピュータベースのレイキャスティング法を使用して2D正投影図の各々のエッジを識別することとを含む。コンピュータベースのレイキャスティング法は、2D正投影図の各1つについて、2D正投影図の平面内で異なる方向から2D正投影図に向かって仮想的光線をキャストすることと、2D正投影図のエッジとの仮想的光線の各々の交点を検出することと、を含む。
【選択図】
図6
【特許請求の範囲】
【請求項1】
モデル化されたオブジェクトを伴うコンピュータ実装数値シミュレーションにおいて使用するための、前記モデル化されたオブジェクトの3次元(3D)可変分解能(VR)領域形状を作成するためのコンピュータ実装方法であって、
3Dモデル化されたオブジェクトの2次元(2D)正投影図を生成することと、
コンピュータベースのレイキャスティング法を使用して、前記2D正投影図の各々のエッジを識別することと
を含み、前記コンピュータベースのレイキャスティング法が、前記2D正投影図の各1つについて、
前記2D正投影図の平面内で異なる方向から前記2D正投影図に向かって仮想的光線をキャストすることと、
前記2D正投影図のエッジとの前記仮想的光線の各々の交点を検出することと
を含む、コンピュータ実装方法。
【請求項2】
前記3Dモデル化されたオブジェクトのバウンディングボックスの寸法を計算することをさらに含み、前記バウンディングボックスの寸法が、前記3Dモデル化されたオブジェクトを完全に包含する可能な限り小さいボックスのサイズを規定する、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記バウンディングボックスの寸法を計算することが、
バウンディングボックスの複数の表面を規定することを含み、前記バウンディングボックスの複数の表面が、
前記3Dモデル化されたオブジェクトの最前点と接触する前面、
前記3Dモデル化されたオブジェクトの最後点と接触する後面、
前記3Dモデル化されたオブジェクトの両側の最遠点とそれぞれ接触する側面、
前記3Dモデル化されたオブジェクトの最低点と接触する底面、および
前記3Dモデル化されたオブジェクトの最高点と接触する上面を含み、
前記前面が前記後面と平行であり、前記底面が前記上面と平行であり、前記側面の各々が他の側面と平行である、請求項2に記載のコンピュータ実装方法。
【請求項4】
前記バウンディングボックスの寸法が、前記バウンディングボックスの複数の表面の相対的位置に基づいて、コンピュータプロセッサによって計算される、請求項3に記載のコンピュータ実装方法。
【請求項5】
前記2D正投影図のうちの1つまたは複数におけるピクセルと前記3Dモデル化されたオブジェクトにおいて表された対応する距離との間のマッピング関係を表すために、コンピュータプロセッサを使用して形状-ピクセルマッピング比率を計算することをさらに含む、
請求項4に記載のコンピュータ実装方法。
【請求項6】
前記形状-ピクセルマッピング比率を計算することが、
前記2D正投影図の各1つについて、隣接するピクセル間のスペースに対応する前記3Dモデル化されたオブジェクトにおける距離を、前記バウンディングボックスの寸法、および前記距離に適用されるピクセルの数に基づいて計算することを含む、請求項5に記載のコンピュータ実装方法。
【請求項7】
前記計算された形状-ピクセルマッピング比率に基づいて、前記2D正投影図のうちの1つまたは複数のピクセルリストを形状点リストに変換することをさらに含み、
前記形状点リスト内の各エントリが、前記リストされた形状点のうちの関連する1つの前記3Dモデル化されたオブジェクト上の位置を識別する座標値のセットを含む、
請求項6に記載のコンピュータ実装方法。
【請求項8】
前記3Dモデル化されたオブジェクトが、タイヤおよびボンネットを備えている3Dモデル化された自動車であり、前記方法が、前記3Dモデル化された自動車の前記ボンネットの高さを計算することをさらに含む、請求項7に記載のコンピュータ実装方法。
【請求項9】
前記ボンネットの高さを計算することが、
前記形状点リストを並べ替えて、前記形状点の各座標値に基づいて垂直方向で2つの最も低い形状点を識別することと、
前記3Dモデル化された自動車のフロントタイヤの最低点に対応する座標値を識別するために、前記形状点の各座標値に基づいて前記垂直方向で前記2つの最も低い形状点のうちの最も前方の1つを識別することと、
前記3Dモデル化された自動車の前記フロントタイヤの前記最低点から上方向に垂直に、仮想的光線をキャストすることと、
前記3Dモデル化された自動車の前記フロントタイヤの前記最低点の垂直上方の3Dモデル化された自動車上の点を、前記キャストされた光線と交差させることと、
前記フロントタイヤの前記最低点から前記フロントタイヤの前記最低点の垂直上方の前記交差させた点までの前記キャストされた光線の長さを、前記3Dモデル化された自動車のボンネットの高さとして識別することとを含む、請求項8に記載のコンピュータ実装方法。
【請求項10】
前記3Dモデル化された自動車のリアタイヤの最低点を識別するために、前記形状点の各座標値に基づいて前記垂直方向で前記2つの最も低い形状点のうちの最も後ろの1つを識別することをさらに含む、
請求項9に記載のコンピュータ実装方法。
【請求項11】
前記VR領域形状の各々について、コンピュータメモリに格納された距離要件に基づいて、前記モデル化された自動車の複数の図の各1つについて前記形状点リストからの前記点を平行移動し、スケーリングすることをさらに含む、
請求項10に記載のコンピュータ実装方法。
【請求項12】
前記2D正投影図のうちの各1つに対応する2D表面メッシュを生成することをさらに含む、請求項11に記載のコンピュータ実装方法。
【請求項13】
前記2D表面メッシュを生成することが、
前記モデル化された自動車の前記複数の図の各1つについて前記形状点リストからの平行移動されてスケーリングされた点に基づいて、2D三角形メッシュ生成器を使用して前記2D表面メッシュを生成することを含む、請求項12に記載のコンピュータ実装方法。
【請求項14】
前記2D表面メッシュのバウンディングボックスの寸法を計算することをさらに含む、
請求項13に記載のコンピュータ実装方法。
【請求項15】
前記2D表面メッシュから中間3Dメッシュを構築することをさらに含む、
請求項12に記載のコンピュータ実装方法。
【請求項16】
前記2D表面メッシュから前記中間3Dメッシュを構築することが、前記2D表面メッシュの各々について、
すべてのファセットの負側が前記モデル化された自動車の内側の方を向くように、前記2D表面メッシュの選択されたファセットを方向付けることと、
前記2D表面メッシュを複製し、複製された2D表面メッシュを生成することと、
前記2D表面メッシュまたは前記複製された2D表面メッシュを押し出すこととを含む、請求項15に記載のコンピュータ実装方法。
【請求項17】
各押し出しが、前記2D表面メッシュまたは前記複製された2D表面メッシュの表面に垂直な方向に実行されて、押し出されたメッシュを生成し、前記VR領域形状の寸法に基づく距離を覆う、請求項16に記載のコンピュータ実装方法。
【請求項18】
前記中間3Dメッシュを交差させて、3Dの前記VR領域形状を有する最終的な3Dメッシュを生成することをさらに含む、
請求項15に記載のコンピュータ実装方法。
【請求項19】
3Dの前記VR形状を有する前記最終的な3Dメッシュを、前記3Dモデル化された自動車の設計において、前記3Dモデル化された自動車の性能または挙動を分析し、期待値を確認するため、および/またはさらなる反復を導くために、コンピュータ実装シミュレーションにおいて利用することをさらに含む、
請求項18に記載のコンピュータ実装方法。
【請求項20】
前記コンピュータベースのシミュレーションで用いられた最終的な設計に基づいて、前記3Dモデル化された自動車の現実世界バージョンを製造することをさらに含む、
請求項19に記載のコンピュータ実装方法。
【請求項21】
モデル化されたオブジェクトを伴うコンピュータ実装数値シミュレーションにおいて使用するための、前記モデル化されたオブジェクトの3次元(3D)可変分解能(VR)領域形状を作成するためのコンピュータシステムであって、前記コンピュータシステムが、
コンピュータプロセッサ、および
前記コンピュータプロセッサに動作可能に結合されたコンピュータベースのメモリを備え、前記コンピュータベースのメモリがコンピュータ可読命令を格納し、前記コンピュータ可読命令が、前記コンピュータプロセッサによって実行された場合、前記コンピュータベースのシステムに、
3Dモデル化されたオブジェクトの2次元(2D)正投影図を生成することと、
コンピュータベースのレイキャスティング法を使用して、前記2D正投影図の各々のエッジを識別することとを実行させ、前記コンピュータベースのレイキャスティング法が、前記2D正投影図の各1つについて、
前記2D正投影図の平面内で異なる方向から前記2D正投影図に向かって仮想的光線をキャストすることと、
前記2D正投影図のエッジとの前記仮想的光線の各々の交点を検出することと
を含む、コンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、3次元(3D:three-dimensional)可変分解能領域形状の自動作成に関連しており、より詳細には、数値シミュレーションプロセス自動化のための正投影図画像からの3次元(3D)自動車形可変分解能領域形状の自動作成に関連している。
【背景技術】
【0002】
数値シミュレーションでは、計算リソースを最適化するために、多くの場合、異なる流体領域において変化するメッシュサイズが適用される。これらの領域は、別々の参照形状によって定義されるサイズを有する可変分解能(VR:variable resolution)領域としても知られている。特に、格子ボルツマン法(LBM:Lattice-Boltzmann Method)に基づくシミュレーションの場合、VR領域は、異なるレベル間で変化する格子改良のサイズを有する。
【発明の概要】
【0003】
1つの態様では、モデル化されたオブジェクトを伴うコンピュータ実装数値シミュレーションにおいて使用するための、モデル化されたオブジェクトの3次元(3D)可変分解能(VR)領域形状を作成するためのコンピュータ実装方法が開示される。このコンピュータ実装方法は、3Dモデル化されたオブジェクトの2次元(2D:two-dimensional)正投影図を生成することと、コンピュータベースのレイキャスティング法を使用して、2D正投影図の各々のエッジを識別することとを含み、コンピュータベースのレイキャスティング法は、2D正投影図の各1つについて、2D正投影図の平面内で異なる方向から2D正投影図に向かって仮想的光線をキャストすることと、2D正投影図のエッジとの仮想的光線の各々の交点を検出することとを含む。
【0004】
一部の実装では、この方法は、3Dモデル化されたオブジェクトのバウンディングボックスの寸法を計算することを含み、バウンディングボックスの寸法は、3Dモデル化されたオブジェクトを完全に含む可能な限り小さいボックスのサイズを規定する。バウンディングボックスの寸法を計算することは、(バウンディングボックスの表面に基づいて)バウンディングボックスを規定することを含んでよい。バウンディングボックスの表面は、3Dモデル化されたオブジェクトの最前点と接触する前面、3Dモデル化されたオブジェクトの最後点と接触する後面、3Dモデル化されたオブジェクトの両側の最遠点とそれぞれ接触する側面、3Dモデル化されたオブジェクトの最低点と接触する底面、および3Dモデル化されたオブジェクトの最高点と接触する上面を含んでよい。前面は後面と平行であり、底面は上面と平行であり、側面の各々は他の側面と平行である。バウンディングボックスの寸法は、バウンディングボックスの表面の相対的位置に基づいて、コンピュータプロセッサによって計算されてよい(または、識別されてよい)。
【0005】
標準的な実装では、この方法は、2D正投影図のうちの1つまたは複数におけるピクセルと3Dモデル化されたオブジェクトにおいて表された対応する距離との間のマッピング関係を表すために、コンピュータプロセッサを使用して形状-ピクセルマッピング比率を計算することを含む。形状-ピクセルマッピング比率を計算することは、例えば、2D正投影図の各1つについて、隣接するピクセル間の空間に対応する3Dモデル化されたオブジェクトにおける距離を、バウンディングボックスの寸法、および当該距離に適用されるピクセルの数に基づいて計算することを含んでよい。
【0006】
特定の実装では、この方法は、計算された形状-ピクセルマッピング比率に基づいて、2D正投影図のうちの1つまたは複数のピクセルリストを形状点リストに変換することをさらに含む。形状点リスト内の各エントリは、リストされた形状点のうちの関連する1つの3Dモデル化されたオブジェクト上の位置を識別する座標値のセットを含んでよい。
【0007】
一部の実装によれば、3Dモデル化されたオブジェクトは、タイヤ、ボンネットなどを含む3Dモデル化された自動車である。一部のそのような実装では、この方法は、3Dモデル化された自動車のボンネットの高さを計算することをさらに含む。ボンネットの高さを計算することは、形状点リストを並べ替えて、形状点の各座標値に基づいて垂直方向で2つの最も低い形状点を識別することと、3Dモデル化された自動車のフロントタイヤの最低点に対応する座標値を識別するために、形状点の各座標値に基づいて垂直方向での2つの最も低い形状点のうちの最も前方の1つを識別することと、3Dモデル化された自動車のフロントタイヤの最低点から上方向に垂直に、仮想的光線をキャストすることと、3Dモデル化された自動車のフロントタイヤの最低点の垂直上方の3Dモデル化された自動車上の点を、キャストされた光線と交差させることと、フロントタイヤの最低点からフロントタイヤの最低点の垂直上方の交差させた点までのキャストされた光線の長さを、3Dモデル化された自動車のボンネットの高さとして識別することとを含んでよい。3Dモデル化されたオブジェクトが3Dモデル化された自動車である実装では、この方法は、3Dモデル化された自動車のリアタイヤの最低点を識別するために、形状点の各座標値に基づいて垂直方向で2つの最も低い形状点のうちの最も後ろの1つを識別することをさらに含んでよい。
【0008】
標準的な実装では、この方法は、VR領域形状の各々について、コンピュータメモリに格納された距離要件に基づいて、モデル化された自動車の複数の図の各1つについて形状点リストからの点を平行移動し、スケーリングすることをさらに含む。
【0009】
一部の実装では、この方法は、2D正投影図のうちの各1つに対応する2D表面メッシュを生成することをさらに含む。2D表面メッシュを生成することは、モデル化された自動車の複数の図の各1つについて形状点リストからの平行移動されてスケーリングされた点に基づいて、2D三角形メッシュ生成器を使用して2D表面メッシュを生成することを含んでよい。
【0010】
標準的な実装では、この方法は、2D表面メッシュのバウンディングボックスの寸法を、2D表面メッシュに基づいて計算することを含む。
【0011】
標準的な実装では、システムは、2D表面メッシュから中間3Dメッシュを構築することを含む。2D表面メッシュから中間3Dメッシュを構築することは、2D表面メッシュの各々について、すべてのファセットの負側がモデル化された自動車の内側の方を向くように、2D表面メッシュの選択されたファセットを方向付けることと、2D表面メッシュを複製し、複製された2D表面メッシュを生成することと、2D表面メッシュまたは複製された2D表面メッシュを押し出すこととを含んでよい。各押し出しは、2D表面メッシュまたは複製された2D表面メッシュの表面に垂直な方向に実行されて、押し出されたメッシュを生成してよく、VR領域形状の寸法に基づく距離を覆ってよい。
【0012】
標準的な実装では、コンピュータは、中間3Dメッシュを交差させて、3DのVR領域形状を有する最終的な3Dメッシュを生成する。3DのVR形状を有する結果として得られた最終的な3Dメッシュは、3Dモデル化された自動車の設計において、3Dモデル化された自動車の性能または挙動を分析し、期待値を確認するため、および/またはさらなる反復を導くために、コンピュータ実装シミュレーションにおいて使用されてよい。さらに、コンピュータベースのシミュレーションに用いられる最終的な自動車設計に基づいて、3Dモデル化された自動車の現実世界バージョン(すなわち、現実世界の自動車)が製造されてよい。
【0013】
別の態様では、モデル化されたオブジェクトを伴うコンピュータ実装数値シミュレーションにおいて使用するための、モデル化されたオブジェクトの3次元(3D)可変分解能(VR)領域形状を作成するためのコンピュータシステムが開示される。このコンピュータシステムは、コンピュータプロセッサ、およびコンピュータプロセッサに動作可能に結合されたコンピュータベースのメモリを含み、コンピュータベースのメモリはコンピュータ可読命令を格納し、これらのコンピュータ可読命令は、コンピュータプロセッサによって実行された場合、コンピュータベースのシステムに、3Dモデル化されたオブジェクトの2次元(2D)正投影図を生成することと、コンピュータベースのレイキャスティング法を使用して2D正投影図の各々のエッジを識別することとを実行させる。コンピュータベースのレイキャスティング法は、2D正投影図の各1つについて、2D正投影図の平面内で異なる方向から2D正投影図に向かって仮想的光線をキャストすることと、2D正投影図のエッジとの仮想的光線の各々の交点を検出することとを含む。
【0014】
さらに別の態様では、コンピュータ可読命令を格納している非一時的コンピュータ可読媒体が開示され、これらのコンピュータ可読命令は、コンピュータベースのプロセッサによって実行された場合、コンピュータベースのプロセッサに、3Dモデル化されたオブジェクトの2次元(2D)正投影図を生成することと、コンピュータベースのレイキャスティング法を使用して2D正投影図の各々のエッジを識別することとを実行させる。コンピュータベースのレイキャスティング法は、2D正投影図の各1つについて、2D正投影図の平面内で異なる方向から2D正投影図に向かって仮想的光線をキャストすることと、2D正投影図のエッジとの仮想的光線の各々の交点を検出することとを含む。
【0015】
一部の実装には、以下の利点のうちの1つまたは複数が存在する。
【0016】
例えば、特定の実装は、1つまたは複数のコンピュータ実装シミュレーションにおいて使用され得る3次元(3D)可変分解能領域形状の自動作成を容易にする。より詳細には、特定の実装は、数値シミュレーションプロセス自動化のための正投影図画像からの3次元(3D)自動車形可変分解能領域形状の自動作成を容易にする。
【0017】
本明細書において開示されたシステムおよび手法の実装は、自動的に素早く実行されることが可能であり、したがって、時間がかかり、手動のプロセスを伴う傾向がある既存の解決策を上回る改善を実現する。例えば、本明細書で開示されたシステムおよび手法は、数分以内にVR6およびVR7を作成することができ、一方、既存の手動の解決策は、数時間または数日を要することがある。さらに、本明細書で開示されたシステムおよび手法の実装は、従来のエッジ検出器を使用するよりも高速であるレイキャスティングを使用して、車両のエッジ情報を抽出する。さらに、本明細書で開示されたシステムおよび手法の実装は、車両モデルとVR領域の参照形状の間の厳密な距離要件を満たすように、2D点の大きさを均一または不均一に変更し、一方、既存の解決策はこれらの目標に達しない。さらに、本明細書で開示されたシステムおよび手法の実装は、新しい単純な(したがって、高速な)信頼できる方法を利用して、3Dメッシュを再構築する。既存の方法は複雑であり、モデルをトレーニングすること、または自動車モデルの画像もしくはスケッチ画像のどちらかである入力2D画像に存在する車両の詳細をすべて解決しようとすることを伴う。本明細書で開示されたシステムおよび手法の実装は、数値シミュレーションの目的により良く適合するように、結果として得られた3Dメッシュを自動的にカスタマイズし、一方、既存の手動のプロセスでは、切断回転軸の選択が通常は主観的であり、誤差をもたらす。
【0018】
説明および図面から、ならびに特許請求の範囲から、他の特徴および利点が明らかになるであろう。
【図面の簡単な説明】
【0019】
【
図1A】コンピュータ実装3D自動車モデルのウォータータイトラップの側断面図である。
【
図1B】VR領域の定義に適していない、ラップからのオフセットモデルを示す図である。
【
図2】3次元(3D)可変分解能(VR)領域形状を自動的に作成するように構成されたコンピュータの略図である。
【
図3】3次元(3D)可変分解能領域形状を作成するためのプロセスの実装を示す高レベルのフローチャートである。
【
図4A】モデル化された自動車のVR7領域の実装の側面図表現および対応する寸法指標である。
【
図5A】モデル化された自動車のVR6領域の実装の側面図表現および対応する寸法指標である。
【
図6】画像処理技術を使用してVR領域を作成するためのプロセスの実装を示す詳細なフローチャートである。
【
図7】は、モデル化された自動車の画像を取り囲むバウンディングボックスの透視図を示すスクリーンショットである。
【
図8A】光線が4方向からモデル化された自動車に向かってキャストされている、モデル化された自動車の正面正投影図のスクリーンショットである。
【
図8B】
図8Aのモデル化された自動車の側面正投影図のスクリーンショットである。
【
図8C】
図8Aのモデル化された自動車の上面正投影図のスクリーンショットである。
【
図9A】レイキャスティング法を使用して3つの正投影図画像から取得された自動車の輪郭画像を示す図である。
【
図9B】レイキャスティング法を使用して3つの正投影図画像から取得された自動車の輪郭画像を示す図である。
【
図9C】レイキャスティング法を使用して3つの正投影図画像から取得された自動車の輪郭画像を示す図である。
【
図10】アルゴリズムの妥当性確認の目的で自動車モデルの3つの正投影図画像から生成された2D表面メッシュを示す図である。
【
図11】表面メッシュから3Dメッシュを構築するためのプロセスの実装を示すフローチャートである。
【
図12A】モデル化された自動車の正面図の対応する2Dメッシュから作成された中間3Dメッシュの透視図である。
【
図12B】モデル化された自動車の側面図の対応する2Dメッシュから作成された中間3Dメッシュの透視図である。
【
図12C】モデル化された自動車の上面図の対応する2Dメッシュから作成された中間3Dメッシュの透視図である。
【
図13】3つの中間3Dメッシュから最終的な3D VRメッシュを作成するための例示的なワークフローの略図である。
【
図14】モデル化された自動車のVR6およびVR7の例示的なメッシュの最終結果の側面図である。
【
図15】内部のピクセルおよび欠落しているピクセルが存在するモデル化された自動車のエリアを示す図である。
【発明を実施するための形態】
【0020】
類似する参照文字は類似する要素を参照する。
【0021】
本文書は、さまざまな用語を使用して、本明細書において示された本発明の概念を説明する。特に示されない限り、以下の用語およびその変形は、次の説明と一致する意味を有していると理解されるべきである。
【0022】
「数値シミュレーション」とは、現実世界のプロセスまたはシステムの数学モデルに基づいて計算を実行することによって、現実世界のプロセスまたはシステムをシミュレートするために、コンピュータによって実行されるプロセスのことを指す。
【0023】
「メッシュ」は、コンピュータ実装環境内で特定の数値シミュレーションをサポートするセルおよびノードのネットワークである。通常、メッシュ内の各セルは、シミュレーションに対する個別の解を表し、さまざまな個別の解が結合されて、メッシュ全体の全体的解を生成することができる。
【0024】
「分解能」とは、例えば、オブジェクトまたはオブジェクトの一部のコンピュータ実装モデルに基づいてコンピュータ実装数値シミュレーションをサポートするために、コンピュータによって生成されたメッシュ内で表された、セルまたは有限要素の密度またはサイズ(例えば、メッシュサイズ)のことを指す。分解能は、コンピュータ実装シミュレーションの効率および有効性に影響を与えることができる。例えば、高分解能のシミュレーションは詳細なデータを生成できるが、コストが高くなり、一方、低分解能のシミュレーションはより安価だが、あまり詳細でないデータを生成する傾向がある。可変分解能(「VR」)領域を利用することは、これら2つの間でバランスを取ろうとする1つの方法である。
【0025】
「可変分解能領域」(または「VR領域」)は、モデル化されたオブジェクト(例えば、自動車)を伴うコンピュータ実装シミュレーションにおいてモデル化されたオブジェクト(例えば、自動車)の内部および/または周囲で定義された領域(例えば、フロー領域)であり、シミュレーション用のメッシュの分解能は、VR領域ごとに変化する。例えば、格子ボルツマン法を用いるシミュレーションなどの、複雑なシミュレーションは、モデル化された自動車を伴うシミュレーションにおけるメッシュに対して、複数の(例えば、最大で11個または12個までの)異なる領域を割り当てることがある。本明細書ではVR6およびVR7と指定される、それらの領域の一部は、モデル化された自動車の外側にあり、(例えば、均一な3ミリメートルのメッシュサイズを有する)VR7領域は、モデル化された自動車の主要な外面に最も近く、(例えば、均一な6ミリメートルのメッシュサイズを有する)VR6は、VR7のすぐ外側にある。
【0026】
「参照形状」とは、本明細書において使用されるとき、特定のVR領域およびそのメッシュが従う外形(または形状)全体のことを指す。標準的な実装では、可変領域VR6およびVR7の参照形状は、基礎となるオブジェクト(例えば、自動車)の輪郭に従い、自動車のさまざまな表面と相対的な特定の、ときには厳密な、(通常は不均一な)位置決め制約/距離制約を受ける。
【0027】
「正投影画像」または「正投影図」という語句は、通常は互いに直角な異なる視点から撮られたオブジェクト(例えば、自動車)の画像(例えば、正面図、側面図、および上面図)のことを指す。
【0028】
「自動的に」とは、一般に、人間のユーザからの特定の指示を必要とせずに、コンピュータ内で何かが起こることを指す。コンピュータ実装プロセスは1つまたは複数のステップを含んでよく、これらのステップは、(例えば、コンピュータがひとりでに実行するプロセスの一部として)人間のユーザからの特定の指示を必要とせずに、それらのステップがコンピュータによって実行される限り、自動的であると見なされ、このことは、プロセス全体が人間のユーザによって開始され得る場合にも当てはまる。
【0029】
他のアプローチ
拡大された形状の外形を制御して、拡大された3D自動車形状を作成する(例えば、VR領域を定義するのに役立つことがある)1つの方法は、3D自動車モデルのウォータータイトラップをオフセットすることである。
図1Aは、3D自動車メッシュモデル100および3D自動車メッシュモデルのウォータータイトラップ101の側断面図を示している。
図1Bは、3D自動車メッシュモデル100およびそのオフセットモデル106の側断面図を、長さの10%の均一なオフセット距離を使用して示している。特定の自動車モデルおよび任意の相対的に大きい開口部またはすき間の存在に応じて、ウォータータイトラップ(例えば、101)は、エンジン区画102および103、キャビン104、ならびに/または排気エリア105などの、自動車の内部領域に入り込んでよい。VR作成に必要とされることがある相対的に大きい距離でそのようなメッシュをオフセットすることの結果は、
図1Bに示されているように、それらの領域内で結果として得られたメッシュが極めて不十分な品質を有するようになるということである。したがって、このアプローチを用いると、自動車のボンネットの下の領域107(エンジン区画102および103での開口部またはすき間に起因する)、キャビン108(キャビン104での開口部またはすき間に起因する)、および/または排気領域109(排気エリア105での開口部またはすき間に起因する)などのエリアに作成された問題のあるメッシュに起因して、生成されたモデルが、VR領域を定義することに適していると見なされなくなることがある。ラップする際の漏出を防ぐために、ラップ動作を実行する前に自動車モデルを手動で密封することは可能であるが、オフセット距離が相対的に大きい場合、オフセット方法は、依然として、不十分な品質を伴ってメッシュモデルを作成する。これは、自動車が通常は空気力学的外形を有するためであり、つまり、自動車の表面は決して平坦ではなく、急な湾曲、後部のスポイラー、アンテナ、および/または屋根のスポイラーなどの構造的突起が、オフセットプロセス中に、メッシュ面からの鋭い押し出しを引き起こす可能性があるということである。
【0030】
さまざまな実装では、本明細書で開示されたシステムおよび手法は、これら(および他の技術的問題)に対する技術的解決策を提供する。
【0031】
技術的開示
コンピュータ実装数値シミュレーションでは、コンピュータは、現実世界のプロセスまたはシステムのコンピュータ実装数学モデルに基づいて計算を実行することによって、現実世界のプロセスまたはシステムをシミュレートする。コンピュータベースのシミュレーションは、セルのネットワークを含んでいるメッシュを使用する数学モデルで表された(例えば、物理的空間または時間の)離散化を伴うことがある。そのような実装では、コンピュータ実装数値シミュレーションの計算がセルごとに実行されてよく、コンピュータ実装数値シミュレーションの結論全体が、セルごとの計算結果の集合から導出され得る。
【0032】
一部の実装では、コンピュータ実装シミュレーションは、モデル化されているプロセスまたはシステムに関連して、異なる物理的空間を離散化する複数のメッシュを含んでよい。各メッシュのサイズ、外形、および分解能は、関連する数値シミュレーションの目標に応じて変化することができる。一般に、より高い分解能のメッシュの使用は、効率が低くなることを代償にして多くの詳細を生成する傾向があり、一方、より低い分解能のメッシュの使用は、より高い効率でより少ない詳細を生成する傾向がある。コンピュータ実装数値シミュレーションにおける分解能(例えば、セルサイズ)は、メッシュごとに、または同じメッシュ内で、変化することができる。一般に、この変化は、できるだけ効率的に、詳細な出力を生成することの利益のバランスを取ろうとする試みにおいて行われ得る。コンピュータ実装数値シミュレーションでは、変化するメッシュ/セルのサイズ設定(分解能)の領域は、可変分解能(「VR」)領域と呼ばれることがある。
【0033】
コンピュータ実装シミュレーションを実行するためのさまざまな方法が存在する。一部のシミュレーションは、例えば、離散粒子のアプローチを使用して流体をシミュレートする。そのようなアプローチは、通常、それらの性質により、安定しており、平均して連続流体力学を再現し、微分方程式の方法を使用するのではなく、離散的方法で微物理プロセスを模倣する。一部のそのような方法は、格子ボルツマン法(LBM)に基づいてよく、粒子は、離散的時間間隔での離散的速度で、離散的方向に移動しながら、空間内の離散的位置に存在してよい。LBMに基づくシミュレーション方法の特定の実装では、VR領域は、異なるレベル間で変化する細分化格子サイズ(lattice refinement size)(例えば、セルサイズ)を有する。
【0034】
例えば、LBMを使用する車両シミュレーションの場合、シミュレーションにおける対象の特定の応用(例えば、空気力学、温度管理、および空力音響)に応じて、多数の(例えば、最大で11個、12個、またはそれ以上のレベルの)VR領域が存在することがある。VRレベルが高いほど、通常はそのVR領域内で適用されるメッシュがより細かくなり、VRレベルが低いほど、通常はそのVR領域内で適用されるメッシュがより粗くなる。計算コストが、各VR領域を定義する形状のサイズと非常に相関性があるため、直方体を細かいVR領域に使用することは、計算的に非効率的であると見なされ得る。したがって、通常は、最適化されたVR領域の外形を使用するベストプラクティスが開発されて適用される。
【0035】
車両を対象とするコンピュータ実装シミュレーションの例示的な実装では、車両の内部または周囲の異なる物理的位置で対象の特性をシミュレートするために、複数のVRレベルが生成されてよい。そのような各VR領域は、例えば、数字(例えば、VR1~VR11)で指定されてよい。1つのそのようなシミュレーションでは、特定のVR領域(例えば、VR8~VR11)は、車両の内部コンポーネント(例えば、冷却ファン、熱交換器、エンジンなど)を取り囲んでよい。車両の内部コンポーネントを取り囲むVR領域では、それらの部品の最適化された拡大係数を使用する通常のオフセットが適切であることがある。しかし、車体に最も近いVR領域を含む、外部のVR領域(例えば、車両の外側の領域)(例えば、VR6およびVR7)では、例えば、計算コストおよびVRの遷移効果(例えば、2つの隣接するVR領域の境界の近くの流動構造の変化)を最小限に抑えるための特定の要件が存在することがある(例えば、the 2022 PowerFLOW User's Guide, Dassault Systemes SIMULIA Corpを参照)。例えば、これらの2つのVR領域(VR6およびVR7)は、車両が移動しているときに、VRの境界が車両に沿ったフローストリームとおおよそ平行になるように、自動車形である必要があることがある。さらに、1つまたは複数の応用の標準的な実装では、VR7は、各方向(水平方向、垂直方向、および横方向)に沿って、それぞれ、車体から均一な距離を有するべきである。しかし、領域VR6と車体の間の距離は、このより大きいVR(VR6)が後部の後流領域を取り囲む必要があることがあり、つまり、このVR(VR6)の後部が車体からさらに離れるという事実に起因して、不均一であることがある。さらに、最適化された計算効率で、車両のフロントバンパーエリアの近くの流れをより良く分解するために、VR6領域と車両のフロントバンパーの間の距離は、車両のボンネットの高さの関数であってよい。さらに、距離要件は、車両の移動方向に沿って要求されるだけでなく垂直方向および横方向でも要求される。これらの2つの方向に沿ったVR6と車両の間の距離は、それぞれ、車両の高さおよび幅の関数である必要があることがある。
【0036】
VR領域の参照形状は車両の外形のすべての詳細を含む必要はなく、通常はクラスAのメッシュ品質を有する必要もないが、前述の制限された要件と共に、単純なオフセット動作だけが車両モデルに適用されて、これらの2つのVR(VR6およびVR7)を作成することは、一般に実現可能ではない。加えて、車両モデル全体をオフセットすることは、車両モデルが有することがある複雑な詳細のため、特に、オフセットサイズが大きい場合、通常は十分に機能しない。この欠点は、オフセットに基づくプロセスの自動化を妨げる。確かに、これらの2つのVR領域形状は、車両モデルのウォータータイトのコピーの周囲に制御格子を作成し、次に、すべての距離要件を満たすように、これらの格子の位置を正確に調整することによって、手動で作成され得る。しかし、この手動のプロセスは、エンジニアが使用している形状ツールに応じて、およびエンジニアのスキルレベルにも応じて、数時間から数日を要する可能性がある。
【0037】
このプロセスを自動化する1つの方法は、車両の画像から、必要とされる3D形状を再構築することであろう。機械学習法を使用して、車両の画像から車両モデル全体を再構築することによって、研究が実施された(例えば、Nozawa, N., Shum, H.P.H., Feng, Q. et al. 3D Car Shape Reconstruction from a Contour Sketch Using GAN and Lazy Learning, Vis Comput. (2021)、およびDinesh Reddy, N., Vo, M., Narasimhan, S. G.: Carfusion: Combining Point Tracking and Part Detection for Dynamic 3D Reconstruction of Vehicles. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp 1906-1915 (2018)を参照)。しかし、これらの方法は、通常、ニューラルネットワークモデルをトレーニングするために、大規模なデータのセットを必要とし、車両の特徴を常に正確に捕捉することを保証できない。これらの方法は、初期設計のため、または自律運転の目的で、車両モデルの定性的な視覚化により適しているが、正確な要件を伴うメッシュモデルの作成には適さない傾向がある。
【0038】
形状スケッチ(例えば、3D Geometry Reconstruction from Orthographic Views: A Method Based on 3D Image Processing and Data Fitting, Computers in Industry, V64, Issue 9, pp 1290-1300 (2013)、およびG. Markowsky, M.A. Wesley, Fleshing out wire frames, IBM Journal of Research and Development 24 (5) (1980) 582-597を参照)または投影(例えば、M.A. Wesley, G. Markowsky, Fleshing out projections, IBM Journal of Research and Development 25 (6) (1981) 934-954を参照)からの2D画像を利用して3D形状を再構築するために開発された他の方法も存在する。それらの方法が2D画像内の詳細な特徴のエッジおよび線(実線および破線の両方)を分析して、すべての深さ情報を取り出すため、取得される形状は、機械学習法を使用する方法と比較して、より正確であることができるが、自動車モデルが、メッシュサイズが他のVR領域と異なる流体ドメインだけを定義するため、自動車モデルのすべての詳細を必要としないVR領域形状のためには、このプロセスは、やり過ぎである可能性がある。加えて、これらの方法は、通常、VR領域の参照形状に必要とされることがある均一または不均一なスケーリングプロセスを含まない。
【0039】
図2は、3次元(3D)自動車形可変分解能領域形状(例えば、数値シミュレーションプロセスの自動化のために、正投影図画像から3次元(3D)自動車形可変分解能領域形状)を自動的に作成するように構成されたコンピュータ250の例示的な実装の略図である。
【0040】
示されたコンピュータ250は、プロセッサ252、コンピュータベースのメモリ254、コンピュータベースのストレージ256、ネットワークインターフェイス258、入出力デバイスインターフェイス260、およびコンピュータ250のコンポーネント間の相互接続として機能する内部バスを含んでいる。バスは通信媒体として機能し、バスを経由してコンピュータ250のさまざまなコンポーネントが互いに通信し、情報をやりとりすることができる。
【0041】
プロセッサ252は、本明細書において開示されたさまざまなコンピュータベースの機能に加えて、本明細書において明示的に開示されない他の支援機能を実行するように構成される。一部の実装では、プロセッサ252が実行するコンピュータベースの機能の一部は、コンピュータ250に実装されるとして本明細書において開示された機能を含む。一部の実装では、プロセッサ252は、コンピュータ可読媒体(例えば、メモリ254および/またはストレージ256)に格納されたコンピュータ可読命令を実行することによって、これらおよび他の機能を実行する。さまざまな実装では、これらのコンピュータ可読媒体のうちの1つまたは複数に格納されたデータおよび/または何らかの外部ソースから(例えば、I/Oデバイスインターフェイス260を介してI/Oデバイスから、および/またはネットワークインターフェイス258を介して外部ネットワークから)受信されたデータを参照して、プロセッサの機能の一部が実行されてよい。
【0042】
示された実装では、プロセッサ252は、単一のノードで単一のハードウェアコンポーネントとして表されている。しかし、さまざまな実装では、プロセッサ252は、異なる物理的位置およびネットワーク位置で、複数のハードウェアコンポーネントにわたって分散されてよい。
【0043】
コンピュータ250は、揮発性および不揮発性の両方のメモリ/ストレージ能力を有する。
【0044】
示された実装では、メモリ254は、揮発性ストレージ能力を提供する。標準的な実装では、メモリ254は、コンピュータ可読命令を格納するコンピュータ可読媒体として機能し、これらのコンピュータ可読命令は、プロセッサ252によって実行された場合、プロセッサ252に、本明細書において開示されたコンピュータベースの機能のうちの1つまたは複数を実行させる。より詳細には、一部の実装では、メモリ254は、本明細書において開示されたシステムおよびコンピュータベースの機能に従って、コンピュータが3次元(3D)可変分解能領域形状を自動的に作成することを可能にするコンピュータソフトウェアを格納する。
【0045】
一部の実装では、コンピュータソフトウェアは、コンピュータソフトウェアによって作成されたVR領域形状を利用するコンピュータベースのシミュレーションを容易にする(メモリ254に格納された)ソフトウェアプログラムと統合されるか、またはそのようなソフトウェアプログラムに関連して利用されるように設計されてよい。例えば、特定の実装では、コンピュータソフトウェアは、Dassault Systemes Simulia Corp.から提供されているPowerFLOW(登録商標)シミュレーションソフトウェアに統合されてよい。
【0046】
PowerFLOW(登録商標)シミュレーションソフトウェアは、流体問題の計算シミュレーションのための優れた解決策を提供する。PowerFLOWは、過渡流動をシミュレートするか定常流動をシミュレートするかにかかわらず、広範囲の応用に適している。PowerFLOWは、DIGITALPHYSICS(登録商標)技術に基づいて改良された粒子に基づく方法を使用して、空気力学シミュレーション、熱シミュレーション(例えば、対流、伝導、放射、および熱交換器を含む)、および空力音響シミュレーションを含む、広範囲のモデル化および分析能力を提供する。PowerFLOW(登録商標)シミュレーションソフトウェアは、自動車および他の陸上輸送、航空宇宙、石油、建物設計および建築/工学/建設(AES:architecture/engineering/construction)、暖房、換気、および空気調節(HVAC:heating, ventilating, and air conditioning)、ならびに電子機器などの産業における流体設計問題をシミュレートすることができる。自動車の応用は、例えば、抗力および揚力に関する自動車全体の外部空気力学、アンダーボディ設計、サイドミラー、アンテナ、ガラスオフセット、および詳細設計に関する騒音源の識別または空力音響、風洞設計および妥当性確認、吸気ポート、マニホールド、暖房、および空気調節のダクト、ボンネットの下の冷却、フィルタ設計、およびフロントガラスのワイパーの設計などを含む。
【0047】
例えば、本明細書において開示された手法を組み込むように適応されたPowerFLOW(登録商標)シミュレーションソフトウェアなどのプログラムは、コンピュータによって実行された場合に、本明細書に含まれている開示に従って3次元(3D)可変分解能領域形状を自動的に作成する能力を有する。
【0048】
図3は、数値シミュレーションプロセスの自動化のために自動車の正投影図画像から3次元(3D)自動車形可変分解能領域形状を自動的に作成する(例えば、コンピュータ200によって実行され得る)方法の高レベルの表現のフローチャートである。これらのステップが、下でさらに詳細に説明される。(214で)示されたフローチャートに表されたプロセスは、自動車モデルの外側のエッジを識別することを含む。標準的な実装では、このプロセスは、レイキャスティングを利用して3つの正投影図画像から自動車モデルの外側のエッジを抽出する。標準的な実装では、このエッジ識別は、エッジ検出器を使用せずに実行されてよい。エッジ検出器は、通常、画像処理手法を実施して、画像内のすべての「境界」を見つける。これらの境界は、例えば、rgb(赤緑青)/カラーグラデーション/変化をチェックすることによって見つけられ得る。エッジ検出器は、通常、画像をグラデーション計算に適したものにするために、画像の前処理を必要とする。例えば、猫を含んでいる画像の場合、猫の目の色が、猫の顔の色と異なる。猫の体の色は、通常、周囲の色と異なる。エッジ検出器は、画像内のすべての「エッジ」を見つける。本明細書において開示されたシステムおよび手法は、画像内の対象のオブジェクトのすべての「エッジ」を必要とせず、オブジェクトの外側境界のみを必要とする。加えて、前処理ステップが必要とされず、それによって計算効率を改善する。
【0049】
次に、(216で)示されたフローチャートに表されたプロセスは、外側のエッジのピクセルを3次元(3D)形状にマッピングすることを含む。標準的な実装では、これは、(例えば、モデル化された自動車の実際の3次元(3D)物理的寸法と自動車モデルのピクセル表現の間の)マッピング関係を確立することを含む。実際の物理的形状情報と画像に存在するピクセル情報の間のマッピング関係が正確であることを保証するのを支援するために、3D自動車モデルにおいて主要な寸法が測定されてよい。
【0050】
次に、(218で)示されたフローチャートに表されたプロセスは、平行移動およびスケーリングのステップを含む。このステップは、各側面の画像から取得された2次元(2D)点の均一なスケーリングおよび不均一なスケーリングを実行することを伴ってよい。さらに、均一なスケーリングおよび不均一なスケーリングは、VR領域の参照形状を作成するための入力要件に従ってよい。
【0051】
次に、(220で)示されたフローチャートに表されたプロセスは、自動車の対応する正投影図画像を使用して自動車の各側面の2Dメッシュを構築することを含む。場合によっては、これは、プロセスの性能および精度を最適化するために、2D点のリサンプリングを含んでよい。
【0052】
次に、示されたフローチャートに表されたプロセスは、(222で)VR領域ごとに各側面の2Dメッシュから3Dメッシュを再構築することを含む。これは、例えば、2D表面メッシュから作成された3つの中間3Dメッシュモデルを交差させることを含んでよい。
【0053】
次に、示されたフローチャートに表されたプロセスは、(224で)自動車のタイヤと地面の間のすべてのすき間を取り囲むように3Dメッシュモデルをカスタマイズすることを含む。一部の実装では、これは、3Dモデルのより低い部分を切断するために、ブール演算を実行するための回転軸を計算することと、次に、得られたメッシュを、車両が位置している地面まで押し出すこととを含んでよい。
【0054】
図4Aは、示された実装では自動車である車両のコンピュータ実装モデル201、および場合によっては複数の可変領域(例えば、VR7)のうちの1つを表す、車両を取り囲んでいる仮想的境界202の側面図であり、仮想的境界202は、モデル201によって表された自動車に基づいて、コンピュータ実装シミュレーションをサポートするために、コンピュータ200によって生成され得る。
【0055】
図4Bは、コンピュータ実装モデル201およびVR7を表す仮想的境界202の上面図である。
【0056】
示されたモデル201で表された自動車は、長さ203、幅208、高さ206を有する。長さ203は、自動車の正面から自動車の背面までの自動車の最大距離を表す。幅208は、サイドミラー210を除く側面から側面までの自動車の最大距離を表す。自動車の高さ206は、アンテナを除くタイヤの底面から自動車の最上部までの自動車の最大距離を表す。
【0057】
標準的な実装では、示された実装において仮想的境界202によって識別された可変領域VR7は、自動車の本体に最も近い可変領域である。可変領域VR7の位置および構成は、仮想的境界202によって表されているように、自動車の本体と相対的なさまざまな制限を受けることがある。例えばメモリ254に格納され得るこれらの制約は、前部の距離204(すなわち、自動車の正面と仮想的境界202の最も前方の部分の間の水平距離)、後部の距離205(すなわち、自動車の背面と仮想的境界202の最も後ろの部分の間の水平距離)、側面の距離209(すなわち、自動車の各側面と仮想的境界202の対応する側面の間の水平距離)、および最上部の距離207(すなわち、自動車の最高点とその最高点の真上の仮想的境界202上の対応する点の間の垂直距離)を含む、可変領域VR7およびその仮想的境界202の外形全体を定義することができる。
【0058】
VR7仮想的境界202の位置および構成の制約は、変化することができる。VR7仮想的境界202は、示された実装に反映されているように、おおよそ自動車形であり、間の空間と共に、モデル化された自動車の外面を取り囲んでいる。さらに、例示的な実装では、前部の距離204および後部の距離205は同じ値であり、この値は、車両の長さ203の関数である。同様に、最上部の距離207は、車両の高さ206の関数である。同様に、各側面の距離209は、車両の幅208の関数である。車両の側面で、VR7仮想的境界は、サイドミラー210を取り囲むべきである(示された実装ではそうなっている)。
【0059】
図5Aおよび5Bは、VR7より大きく、VR7および自動車モデル201の両方を取り囲む別の外側のVR領域を示している。このより大きい外側のVR領域は、VR6と呼ばれ、仮想的境界302によって表されている。
【0060】
可変領域VR6の位置および構成は、仮想的境界302によって表されているように、自動車の本体と相対的なさまざまな制限を受けることがある。例えばメモリ254に格納され得るこれらの制約は、前部の距離303(すなわち、自動車の正面と仮想的境界302の最も前方の部分の間の水平距離)、後部の距離304(すなわち、自動車の背面と仮想的境界302の最も後ろの部分の間の水平距離)、側面の距離308(すなわち、自動車の各側面と仮想的境界302の対応する側面の間の水平距離)、および最上部の距離306(すなわち、自動車の最高点とその最高点の真上の仮想的境界302上の対応する点の間の垂直距離)を含む、可変領域VR6およびその仮想的境界302の外形全体を定義することができる。
【0061】
VR6仮想的境界302の位置および構成の制約は、変化することができる。VR6仮想的境界302は、示された実装に反映されているように、おおよそ自動車形であり、VR7およびモデル化された自動車301の外面の両方より大きい。さらに、例示的な実装では、最上部の距離306および側面の距離308は、依然として、それぞれ車両の高さ305および幅307の関数である。VR7と比較して、これらの2つの距離306および308は、より大きい。前部の距離303は、前輪の最低点とボンネット(例えば、2つの前輪の最低点を接続する線の真上のボンネット上の位置)の間の垂直距離によって定義された車両のボンネットの高さ310の関数である。後部の距離304は、自動車が道路上を移動しているときの車両の後部の後流エリアを考慮するために、前部の距離303より長い。後部の距離304は、車両の高さ305の関数である。これらの距離要件は、流動構造に対する干渉を減らしながら計算の節約を最大化するために要求されることがある。しかし、これらの距離要件は、これらの形状を作成することにおいて、特に、効率的な自動化された方法において、課題をもたらす。
【0062】
標準的な実装では、本明細書で開示されたシステムおよび手法は、モデル化された車両201を伴うシミュレーションをサポートするために、
図4Aおよび4Bに表された可変領域形状(VR7)および
図5Aおよび5Bに表された可変領域形状(VR6)などの、可変領域形状の自動生成を容易にする。
【0063】
図6は、数値シミュレーションプロセスの自動化のために正投影図画像から3次元(3D)自動車形可変分解能領域形状を自動的に作成することをサポートするプロセスの実装を表すフローチャートである。示されているように、さまざまな適用可能な距離要件(例えば、
図4A、4B、5A、および5Bの説明に関連して言及されたような距離要件)を満たすために、3D自動車のメッシュモデルに対して複雑な動作を直接実行する代わりに、このプロセスは、最初に画像処理技術を利用して、この3D問題を2D画像ドメインに変換する。次に、このプロセスは、すべての距離要件に関して2D画像のピクセルを操作し、画像を2D表面メッシュに変換する。その後、本発明は、これらの2D表面メッシュから3Dメッシュモデルを再構築する。
【0064】
より詳細には、最初に、このプロセスは、(401で)3次元(3D)自動車形状をインポートすることを含む。より詳細には、標準的な実装では、このステップは、形状(例えば、3D自動車形状)のコンピュータ表現を、インポートされた形状に基づいてVR領域(例えば、VR6および/またはVR7)の形状の自動作成における初期ステップを容易にするコンピュータ環境にインポートすることを含んでよい。例えば、このステップは、モデルを作成するために使用されたソフトウェアプログラム(例えば、CATIA(登録商標)またはSOLIDWORKS(登録商標)コンピュータ支援設計(CAD:computer-aided design)ソフトウェア、これらは両方ともDassault Systemesから提供されている)から自動車のコンピュータ実装3Dモデルをインポートすることを含んでよい。さらに、自動車の3Dモデルは、形状ツールまたは形状ビューアなどのソフトウェアプログラム(例えば、SOLIDWORKS(登録商標)CADソフトウェアのeDrawingsビューア)にインポートされてよい。標準的な実装では、コンピュータ250は、人間のユーザがコンピュータ250のユーザインターフェイスでインポートの選択肢を選択することに応答して、このインポートを実行してよい。
【0065】
次に、このプロセスは、(402で)インポートされた形状に基づいてモデル化された自動車のバウンディングボックスの寸法を計算することを含む。標準的な実装では、バウンディングボックスは、自動車モデルを構成する点のセットに関して、すべての点が含まれる最も小さい体積を有する最小の、または最も小さい、バウンディングボックスまたは取り囲むボックスを規定する。
図7は、自動車の3Dモデル602を取り囲むバウンディングボックス601の例のグラフィック表現を示している。示されたバウンディングボックス601は、モデル化された自動車602の最前点と接触する前面、モデル化された自動車602の最後点と接触する後面、モデル化された自動車602の両側の最遠点とそれぞれ接触する側面、モデル化された自動車602の最低点と接触する底面、およびモデル化された自動車602上の最高点と接触する上面を含む四角な直方体である。一部の実装では、バウンディングボックスの表面のうちの1つまたは複数は、モデル化された自動車602の2つ以上の点がすべて同じ平面内にあり、その次元において最も遠い点を含んでいる場合、それらの2つ以上の点と接触してよい。例えば、標準的な実装では、バウンディングボックス601の底面は、モデル化された自動車602内の2つ以上のタイヤの最低点と接触してよい。したがって、バウンディングボックス601は、モデル化された自動車602の長さ、高さ、および幅全体を規定する。
【0066】
標準的な実装では、コンピュータ250は、インポートされた形状からバウンディングボックスを直接生成するように構成される。一部の実装では、コンピュータ250は、コンピュータ実行可能命令を格納し、これらのコンピュータ実行可能命令は、コンピュータ250によって実行された場合、コンピュータに、インポートされた形状に基づいてバウンディングボックスを自動的に生成させる。一部のそのような実装では、コンピュータ250は、(401で)モデル化されたオブジェクトがインポートされることに応答して、この機能を自動的に要求する。一部のそのような実装では、コンピュータ250は、ユーザインターフェイスでユーザ選択可能な選択肢を提示するように構成され、この選択肢の選択は、コンピュータ250に、この機能を要求し、次に、インポートされた形状に基づいてバウンディングボックス601を自動的に生成することを実行させる。
【0067】
一部の実装では、コンピュータ250は、例えば
図7に示されているように、モデル化された自動車602の図と一緒にバウンディングボックス601を表示するように構成される。一部の実装では、バウンディングボックスの各寸法(長さ、高さ、および幅)が、ディスプレイ上に提示されるか、またはユーザインターフェイスを介してユーザによってアクセス可能であってよい。例えば、自動車の寸法がすでに知られていて、コンピュータ250に(例えば、メモリ254に)格納されている場合、このステップ(402でのバウンディングボックス情報の計算)は、プロセスから除去されるか、またはスキップされ得る。
【0068】
再び
図6を参照すると、示されたプロセスにおける次のステップは、(403で)インポートされた形状に基づいて自動車の3つの正投影図画像を生成することである。各正投影図画像は、3つの異なる視点のうちの1つから(例えば、自動車の正面から、自動車の側面から、および自動車の上から)それぞれ見られた自動車の2次元(2D)画像である。これらの2D画像の例が、
図8A~8Cに示されている。より詳細には、
図8Aは、モデル化された自動車の正面正投影図画像501を含み、
図8Bは、モデル化された自動車の側面直交図画像502を示し、
図8Cは、モデル化された自動車の上面直交図画像を示している。
【0069】
一部の実装では、コンピュータ250は、(403で)正投影を(ステップ401で)インポートされた形状に適用することによって3つの正投影図を生成するように構成される。正投影は、2次元で3Dオブジェクト(例えば、自動車の3Dモデル)を表す手段である。正投影は、通常、平行投影の形態であり、平行投影では、すべての投影線が投影面(例えば、402で生成されたバウンディングボックスの正面、側面、または上面のうちのいずれか1つ)に対して直角であり、その結果、シーンのすべての平面が、観察表面または観察面上のアフィン変換において現れる。すでに、デジタル3D形状が何らかの形状ソフトウェアまたは純粋な形状ビューアに読み込まれるか、またはインポートされるということが言及された。ほとんどの場合、ソフトウェアまたはビューアは、3D形状が(例えば、コンピュータの表示画面上で)どのように表示されるかを制御する、観察する点/ベクトル/方向を定義することをサポートする。一部の実装では、例えば、ユーザは、形状を拡大、縮小、および/または回転させて、望ましい観察の角度を実現する。しかし、適切なスクリプトを使用して、コンピュータ250によって、これら(および他)の機能が、ユーザの入力も介入もなしで自動的にアクセスされて実施されることが可能である。標準的な実装では、コンピュータ250は、まさにそれを行い、組み込みの機能にアクセスして、例えばX+、X-、Y+などの、観察方向を制御し、スクリプトが、観察方向の選択、画像のスクリーンショット、およびエクスポートを制御する。そのような場合、それは自動化されたプロセスである。
【0070】
標準的な実装では、3つの正投影図画像(例えば、3つの正投影図画像のスクリーンショット)がメモリ254に保存される。
【0071】
次に、
図6を再び参照すると、プロセスが、(404で)画像の境界を抽出することを含んでいる。標準的な実装では、3つの正投影図画像(
図8A~8Cに示されている)がステップ404に供給され、ステップ404で、コンピュータ実装のレイキャスティング法を使用して3つの画像の輪郭またはエッジが抽出されてよい。
【0072】
レイキャスティングとは、仮想的光線が画像にキャストされて、その画像の輪郭線を生成する手法のことを指す。標準的な実装では、3つの正投影画像図(例えば、
図8Aの正面
図501、
図8Bの側面
図502、および
図8Cの上面
図503)の各々について、コンピュータ250は、画像の平面内で(例えば、画像の上から、下から、および各側面から)、画像に向かって、仮想的光線を水平方向または垂直方向にキャストする。この例が
図8Aに表されており、
図8Aは、自動車の正面正投影図画像501を示しており、仮想的光線が、上(光線504)から、下(光線505)から、右側(光線506)から、および左側(光線507)から画像に向かってキャストされている。
【0073】
図に示されているように、特定の方向から来るすべての光線は、互いに平行であり、例えば、バウンディングボックス601の表面のうちの対応する1つに対して直角な方向に移動している。さらに、標準的な実装では、特定の方向から来るすべての光線は、均一に間隔を空けられ、自動車の画像501の全体に広がる。例えば、画像501の上から来るすべての光線504は、垂直方向に配置され、均一に間隔を空けられ、互いに平行であり、バウンディングボックス601の上面に対して直角な方向に移動している。さらに、画像501の上から来る光線504は、自動車の左端から自動車の右端まで、自動車の画像501の全体に広がる。さらに、画像501内の自動車の右側から来るすべての光線506は、水平方向に配置され、均一に間隔を空けられ、互いに平行であり、バウンディングボックス601の右側面に対して直角な方向に移動している。さらに、画像501の自動車の右側から来る光線506は、時間の一番下から自動車の一番上まで、自動車の画像501の全体に広がる。
【0074】
正面直交画像
図501で、4つの異なる直交する方向、すなわち自動車の画像に対して上側504、下側505、右側506、および左側507からキャストされている仮想的光線504、505、506、507の集合は、モデル化されたオブジェクト(自動車)の外側の点から生じており、示された画像の2D輪郭(すなわち、自動車の正面直交図)を完全に走査する。
【0075】
例示的な実装では、各光線は、その発生源から自動車の画像に向かって進み、それらの間の空間(または空白)を横断する。光線の経路に沿って各ピクセルが考慮される。光線が白色以外のピクセルに達した後に、コンピュータ250は、白色以外のピクセルに関する(例えば、そのピクセルの位置を含む)情報を(例えば、メモリ254に)記録する。その後、その光線の横断が終了する。光線が達した最初の白色以外のピクセルは、交点であり、自動車の画像のエッジに沿った点として扱われる。交点であるこれらの点は、対応する視点(例えば、正面、側面、または上面)から見られたときの自動車の外側のエッジ(または輪郭線)を集合的に表す。記録されたピクセル情報は、関連する座標によって対応する交点を識別する座標を含んでよい。正投影画像のうちの特定の1つに対してレイキャスティング手法を使用して記録されたすべての点は、その正投影画像の外側のエッジに沿って存在する。したがって、例えば、座標系の軸上でこれらの点をプロットすることは、対応する正投影画像の輪郭線を提示することになる。
【0076】
特定のレイキャスティングプロセスの間に正投影図画像に向かってキャストされる光線の数は、特定の輪郭線においてもたらされる詳細レベルに影響を与える。一般に、より多くの光線が正投影画像に向かってキャストされた場合、より多くの交点が記録されることが可能であり、より多くの交点が記録された場合、基礎になるオブジェクトの得られた輪郭線(またはエッジ)図に、より高密度にデータ(例えば、交点)を追加することが可能であり、輪郭線(またはエッジ)図により高密度に交点が追加された場合、輪郭線(またはエッジ)図が、モデル化されたオブジェクト(例えば、自動車)に関する、特に、モデル化されたオブジェクト上の小さい構造的特徴に関する、より高い詳細レベルを提供し得る。
【0077】
図8Aでは、光線504、505、506、507が自動車の正面直交画像
図501に向かってキャストされていることのみ示されているが、標準的な実装では、(例えば、4つの異なる直交する方向からの)類似する光線のセットが、側面直交画像
図502および上面直交画像
図503に向かって同様にキャストされる。これらの追加のレイキャスティングの各々は、自動車の輪郭線に対応するが、正面画像図の視点と異なる視点からの(メモリ254に保存される)交点座標のリストを生成する。例えば、側面直交画像
図502に適用されたレイキャスティングプロセスは、左側面画像図の視点からの自動車の輪郭線に対応する交点座標のリストを生成する。同様に、上面直交画像
図503に適用されたレイキャスティングプロセスは、左側面画像図の視点からの自動車の輪郭線に対応する交点座標のリストを生成する。したがって、画像ごとに、画像の各側面で開始する光線は、画像の2D輪郭を完全に走査するために、4つの直交する方向、すなわち、自動車モデルに対して上、下、左、および右から、画像に向かってキャストされる。
【0078】
任意選択により、自動車モデルが複雑な外形を有している場合、コンピュータ250は、追加の光線または光線のセットを、他のキャスティング角度からモデル化された自動車の直交画像図のうちの1つまたは複数に向けてよい。これらの追加の光線または光線のセットは、バウンディングボックスの表面のいずれかに対して直角な角度以外の角度から向けられてよい。これらの追加の光線または光線のセットは、(例えば、
図8Aに表された)「4つの方向」の方法を使用する光線のいずれによってもアクセスできない角またはエリアに達することができてよい。これらの追加の光線と対応する直交画像図の外側のエッジの間の交点が、記録され、メモリ254に保存される。
【0079】
標準的な実装では、コンピュータ250は、レイキャスティングプロセスの間に保存された交点に基づいて、モデル化された自動車の外側のエッジを表す輪郭線画像を(例えば、コンピュータのディスプレイに)生成するように構成されてよい。
図9A~9Cは、前述のレイキャスティングプロセスにおいて走査されたモデル化された自動車の外側のエッジをそれぞれ表すこれらの輪郭線画像の図を示している。輪郭線画像は、正面図の視点の輪郭線画像701、側面図の視点の輪郭線画像702、および上面図の視点の輪郭線画像703を含んでいる。これらの輪郭線画像の各々は、2次元(2D)デカルト座標面(704、705、706、707)に配置され、(404で)レイキャスティングプロセスの間に識別された(かつ保存された)交点に対応する位置でデカルト座標面にプロットされた点の集合で構成されている。標準的な実装では、コンピュータ250は、レイキャスティングの結果に基づいて生成された任意のそのような輪郭線画像を(例えば、メモリ254に)保存するように構成される。
【0080】
例えば、
図9Aは、正面の視点からのモデル化された自動車の輪郭線画像701を示している。コンピュータ250は、
図8Aのモデル化された自動車の正面正投影図画像501に光線をキャストすることによって収集された交点のリストに基づいて、この正面の視点の輪郭線画像701を生成する。示された例では、
図9Aの輪郭線画像701が、
図8Aの正面正投影図画像501に現れたモデル化された自動車の最も外側の輪郭と同じ外形を有するということが分かる。
図9Aの輪郭線画像701は、2Dデカルト座標面704(すなわち、示された例では、Y軸およびZ軸によって定義された平面)に配置され、その最も下の点がy軸上にあり、その最も右の点がz軸上にある。
図9Aの輪郭線画像701上のすべての点は、2Dデカルト座標面704に基づいて対応する座標のセットを有する。したがって、輪郭線画像701に関する寸法情報(例えば、
図9Aにおける幅および高さ)を含む寸法情報が、点座標に基づいて容易に決定され得る。
【0081】
標準的な実装では、コンピュータ250は、(幅の場合)画像内の最も左のy軸座標を有する画像点を識別することによって、および(高さの場合)画像内の最も高いz軸座標を有する画像点を識別することによって、輪郭線画像701の(例えば、幅および高さを含む)寸法情報を決定する。
【0082】
例えば、
図9Bは、側面の視点からのモデル化された自動車の輪郭線画像702を示している。コンピュータ250は、
図8Bのモデル化された自動車の側面正投影図画像502に光線をキャストすることによって収集された交点のリストに基づいて、この側面の視点の輪郭線画像702を生成する。示された例では、
図9Bの輪郭線画像702が、
図8Bの側面正投影図画像502に現れたモデル化された自動車の最も外側の輪郭と同じ外形を有するということが分かる。
図9Bの輪郭線画像702は、2Dデカルト座標面705(すなわち、示された例では、x軸およびz軸によって定義された平面)に配置され、その最も下の点がx軸上にあり、その最も左の点がz軸上にある。
図9Aの輪郭線画像702上のすべての点は、2Dデカルト座標面705に基づいて対応する座標のセットを有する。したがって、輪郭線画像702に関する寸法情報(例えば、
図9Bにおける長さおよび高さ)を含む寸法情報が、点座標に基づいて容易に決定され得る。
【0083】
標準的な実装では、コンピュータ250は、(長さの場合)画像内の最も右のx軸座標を有する画像点を識別することによって、および(高さの場合)画像内の最も高いz軸座標を有する画像点を識別することによって、輪郭線画像702の(例えば、長さおよび高さを含む)寸法情報を決定する。
【0084】
標準的な実装では、最も高いz軸座標を有する
図9Bの画像点を考慮することによって決定された高さは、最も高いz軸座標を有する
図9Aの画像点を考慮することによって決定された高さと同じであるはずである。一部の実装では、コンピュータ250は、これらの2つの決定を比較してよく、これらの2つの決定が異なる場合、コンピュータ250は、結果を破棄し、プロセス内の前のステップ(例えば、ステップ404)に戻り、プロセスの一部をやり直してよい。コンピュータ250がこの比較を行い、比較が一致を明らかにした場合、プロセスは、単に続行することを許可される。
【0085】
例えば、
図9Cは、上面の視点からのモデル化された自動車の輪郭線画像703を示している。コンピュータ250は、
図8Cのモデル化された自動車の上面正投影図画像503に光線をキャストすることによって収集された交点のリストに基づいて、この上面の視点の輪郭線画像703を生成する。示された例では、
図9Cの輪郭線画像703が、
図8Cの上面正投影図画像503に現れたモデル化された自動車の最も外側の輪郭と同じ外形を有するということが分かる。
図9Cの輪郭線画像703は、2Dデカルト座標面706(すなわち、示された例では、x軸およびy軸によって定義された平面)に配置され、その最も下の点がx軸上にあり、その最も左の点がy軸上にある。
図9Cの輪郭線画像703上のすべての点は、2Dデカルト座標面706に基づいて対応する座標のセットを有する。したがって、輪郭線画像703に関する寸法情報(例えば、
図9Cにおける長さおよび幅)を含む寸法情報が、点座標に基づいて容易に決定され得る。
【0086】
標準的な実装では、コンピュータ250は、(長さの場合)画像内の最も右のx軸座標を有する画像点を識別することによって、および(幅の場合)画像内の最も高いz軸座標を有する画像点を識別することによって、輪郭線画像702の(例えば、長さおよび幅を含む)寸法情報を決定する。
【0087】
一部の実装では、コンピュータ250は、これらの(
図9Cの画像703に基づく長さおよび幅の)決定を、(例えば、
図9Aの画像701および/または
図9Bの画像に基づく)他の決定と比較してよく、これらの決定が異なる場合、コンピュータ250は、結果を破棄し、プロセス内の前のステップ(例えば、ステップ404)に戻り、プロセスの一部をやり直してよい。コンピュータ250がこの比較を行い、比較が不一致を明らかにしない場合、プロセスは、単に続行することを許可される。
【0088】
標準的な実装では、コンピュータ250は、このステップで決定された輪郭線画像701、702、703すべての寸法データ(長さ、幅、高さ)を(例えば、メモリ254に)保存する。
【0089】
図6を再び参照すると、示されたプロセスの次のステップで、コンピュータ250は、2Dドメイン内のピクセル(例えば、
図9A~9Cの輪郭線画像および関連する座標によって表されたピクセル)と3D(「現実世界の形状」)ドメイン内のピクセルの間のマッピング関係を表すために、(405で)形状-ピクセルマッピング比率を計算する。標準的な実装では、コンピュータ250は、(402で)バウンディングボックスを生成し、それによって、3Dモデル化された自動車の長さ、幅、および高さを決定する。例えば、コンピュータ250が、(ステップ404で)自動車の長さに対して1000ピクセルを割り当て、(402で)バウンディングボックス計算が5000ミリメートルの自動車の長さを明らかにした場合、コンピュータ250は、(405で)長さ方向では1ピクセルが5ミリメートルを表すという結論を下す。形状-ピクセルマッピング比率は、この例の場合、長さ方向では5:1になる。他の方向において(例えば、幅方向において、および高さ方向において)も、同様の決定が行われてよい。一部の実装では、形状-ピクセルマッピング比率は、異なる方向において同じであってよい。一部の実装では、形状-ピクセルマッピング割当は、異なる方向において異なってよい。
【0090】
例示的な実装では、(405で)形状-ピクセルマッピング比率を計算することにおける最初のステップは、ピクセル/画像ドメインPと形状ドメインGの間のマッピング関係を構築し、それらのドメインの座標系間の関係を識別することである。一般に、画像/ピクセルドメインとは、コンピュータ250がピクセルを扱う画像の世界のことを単に指してよく、一方、形状ドメインとは、現実世界のことを指してよい。画像ドメインの座標系(例えば、
図9Aの707を参照)は、3D形状ドメインにおける座標系804とは異なる。例えば、画像ドメイン内の座標系707の原点(
図9Aを参照)は、画像の左上隅にあり、座標系707の正のY方向が画像に対して下を指しており、正のX方向が右を指している。しかし、形状ドメインでは、各側面の形状点リストを生成するために使用される座標系は、3D自動車形状において使用される座標系804(
図10を参照)と同じであるが、各側面の点を分析するときに、両方向のゼロ点が2D点群の境界に位置するように、原点が平行移動されるという点が異なる。例えば、座標面704、705、および706は、それぞれ、モデル化された自動車の輪郭線図の正面図、側面図、および上面図の座標面である。
【0091】
方程式(1)~(4)は、境界点に関して、ピクセルドメインPと形状ドメインGの間の関係を示している。
PDy_min=GDz_max (1)
PDy_max=GDz_min (2)
PDx_min=GDx_min (3)
PDx_max=GDx_max (4)
ここで、minは最小値を意味し、maxは最大値を表し、PDは(2D)ピクセルドメインのことを指し、GDは(3D)形状ドメインのことを指す。したがって、前述の関係に従って、2Dピクセルドメイン内のy次元の最小値は、(方程式1によって)3D形状ドメイン内のz次元の最大値に等しく、2Dピクセルドメイン内のy次元の最大値は、(方程式2によって)3D形状ドメイン内のz次元の最小値に等しく、2Dピクセルドメイン内のx次元の最小値は、(方程式3によって)3D形状ドメイン内のx次元の最小値に等しく、2Dピクセルドメイン内のx次元の最大値は、(方程式4によって)3D形状ドメイン内のx次元の最大値に等しい。
【0092】
例示的な実装では、ピクセルドメインと形状ドメインの間の変換比率Rは、3つの図について方程式(5)~(7)を使用して(コンピュータ250によって)計算され得る。自動車モデルの3つのスクリーンショットをキャプチャするときに自動車モデルに対する観察角度および仮想カメラの位置が同じであることが保証されないため、Rは、3つの図で異なってよい。
【0093】
【0094】
【0095】
【数3】
ここで、HPはピクセル単位での車両の高さであり、LPはピクセル単位での車両の長さである。計算比率Rは、計算された後に、(例えば、
図6のステップ406で)エッジ(例えば、404で輪郭線図/画像の境界を生成するために使用されたエッジ、
図9A~9Cも参照)のピクセルリストを3D(「現実世界の形状」)ドメインにマッピングするためにコンピュータ250によって使用されてよい。したがって、(例えば、
図9A~9Cの)画像ごとに取得されたピクセル点リストP(x,y)を前提として、コンピュータ250は、(406で)方程式(8)~(10)を使用して形状点リストGを計算する。
【0096】
【0097】
【0098】
【数6】
ここで、P
xおよびP
yはピクセル点リストP(x,y)内の点のx成分およびy成分であり、G
xおよびG
yは形状点リストG(x,y)内の点のx成分およびy成分である。
【0099】
形状点リストは、通常、点のセットのリストであり、例えば、x値およびy値が、形状点ごとの座標を識別する。形状点リストの例示的な表現は次のとおりである。
[108.38171828904731, 132.46654457550227]
[939.3082251717434, 870.0643495981853]
[2658.362701367466, 1315.633635897602]
[84.29689200259236, 144.50895771872976]
[27.09542957226183, 183.64680043421907]
[105.37111500324045, 569.0040210174984]
[4374.406574277382, 948.340035029164]
[4064.314435839274, 186.65740372002594]
[812.8628871678549, 861.0325397407648]
[2041.1890277770578, 138.487751147116]
[3185.218276383668, 162.57257743357098]
[1511.3228494750488, 129.4559412896954]
[3760.2435039727807, 1125.9656288917693]
[1041.668736889177, 876.0855561697991]
[246.86946943616334, 665.3433261633182]
[42.14844600129618, 270.95429572261827]
[3555.5224805379135, 1183.1670913220999]
[1514.3334527608556, 927.2658120285159]
[316.11334500972134, 698.4599623071938]
[3952.92211426442, 1065.7535631756318]
[4067.3250391250813, 186.65740372002594]
[948.340035029164, 42.14844600129618]
[1514.3334527608556, 129.4559412896954]
[4642.350266714193, 689.4281524497732]
[4296.130888846404, 201.71042014906027]
[93.32870186001297, 547.9297980168503]
【0100】
標準的な実装では、コンピュータ250は、前述の計算を実行し、その結果を(例えば、メモリ254に)保存してよい。
【0101】
取得されたピクセルまたは形状点の品質に応じて点密度を増やすか、または減らすために、(例えば、ステップ407で)リサンプリングプロセスが実施されてよい。このステップは、任意選択的であり、コストと精度の間のバランスを最適化するのを支援するために実施されてよい。例示的な実装では、リサンプリングが適用されるときに、コンピュータ250は、すべての点(例えば、10k個の点)を使用して、正確であるが高価な2Dメッシュを作成する代わりに、リスト内で2つおき、または3つおき、あるいはN個(N=2以上の任意の整数)おきに点を選別して維持し、残りの点を破棄する。したがって、輪郭全体を表す情報が維持されるが、分解能または点の数が減らされる。点が、すべての点の中心と相対的に時計回りまたは反時計回りの順序で並べ替えられ得るため、Nが大き過ぎない限り、N個おきに点を選択することは、通常、大きな問題を引き起こさない。このプロセスは、リサンプリングまたはダウンサンプリングと呼ばれる。特定の実装では、他のリサンプリング方法も使用されてもよい。
【0102】
次に、
図6のフローチャートに表されたプロセスに従って、コンピュータ250は、(408で)モデル化された自動車のボンネットの高さを計算する。標準的な実装では、ステップ408でボンネットの高さ310を計算するために、コンピュータ250は、最初に、形状点リストG(x,y)内の点のリストの中から、モデル化された自動車のフロントタイヤの最低点を計算するか、または識別する。コンピュータ250は、(例えば、画像702から)取得された形状点リストを並べ替えて、垂直方向での2つの最低点(すなわち、最も低いz軸座標を有する2つの点)を見つけることによって、この機能を実行してよい。正のx方向が、(例えば、
図9Bに示されているように)自動車の前部から後部に向かって定義されるということを仮定して、(x軸座標の)より低い値を有する点が、左フロントタイヤの点であり、他の点が、左リアタイヤの点である。ステップ409で、リアタイヤの点が、リアタイヤの位置を識別するために使用されてよい。光線が、フロントタイヤでの最低点から開始して、真上に向かって(すなわち、垂直方向に、例えば、
図9Bのz軸と平行に)キャストされる。垂直な光線が、自動車のボンネットを表す画像内の次の点(すなわち、交点)に当たる前に移動する距離は、対象のボンネットの高さ(例えば、
図5Aの310)である。この距離は、その交点でのz軸座標の値によって示される。コンピュータ250は、通常、この値を(例えば、メモリ254に)保存する。
【0103】
次に、
図6のフローチャートに表されたプロセスに従って、コンピュータ250は、(409で)モデル化された自動車のリアタイヤの位置を計算するか、または識別する。このことは上で述べられた。コンピュータ250は、通常、この値(例えば、2つの座標、例えば、xおよびz)も(例えば、メモリ254に)保存する。
【0104】
次に、
図6のフローチャートに表されたプロセスに従って、コンピュータは、(410で)両方のVR(VR6およびVR7)の距離要件に関して、(正面図のリスト、側面図のリスト、および上面図のリストを含む)各図に形状点リストG(x,y)からの点を平行移動およびスケーリングする。標準的な実装では、これらの目的で、(例えば、
図2A、2B、3A、および3Bに表された)距離要件が、コンピュータ250によってメモリ254からアクセスされてよい。したがって、コンピュータ250によって、別々のプロセスにおいてVR6およびVR7を作成するために、これら3つの基礎形状リストが使用される。例示的な実装では、スケーリングは、(例えば、点のリスト内の)各点にスケーリング係数、例えば0.5を掛けることを含んでよい。そのため、[93.32870186001297, 547.9297980168503]が[46.xxx, 273.xxx]になる。例示的な実装では、平行移動は、ある値をこれらの点に加算することを含んでよい。
【0105】
VR7では、各方向に沿ってスケーリングが均一であるため、VR7を作成することは、VR6を作成することより簡単であり得る。例示的な実装によれば、最初に、側面図形状リスト内の点が、VR7の長さおよび自動車の長さ203の比率から計算された係数によってスケーリングされる。次に、平行移動プロセス中に、x方向に沿ってスケーリングされた点の中心が変化しないように、点リストが負のx方向に沿って平行移動される。同様に、距離207が実現され得るように、垂直方向に沿って均一なスケーリングおよび平行移動が実行される。このスケーリングおよび平行移動の方法が上面図および側面図の形状点リストにも適用され、これらの2つの図の点を取得する。
【0106】
VR6の作成に関しては、同様の均一なスケーリングおよび平行移動が、垂直方向および横方向に沿って、ただしより大きい値を使用して、適用される。x方向に沿った前部領域および後部領域では距離要件が異なるため、側面図および上面図の形状点リストは、最初に、距離303の要件を満たすようにスケーリングされて平行移動される。次に、コンピュータ250は、(ステップ409で計算された)リアタイヤの最低点を分離点として使用して、リストを2つの子点リストに分割する。分離点のx値より大きいx値を有するすべての点は、後部の子点リストに属する。分離点のx値以下のx値を有するすべての点は、後部の子点リストに属さない。次に、平行移動された後部の子点リストと自動車モデルのリアバンパーの間の距離が
図5Aおよび5Bの後部の距離304に等しくなるように、後部の子点リストが、ある距離だけ平行移動される。このとき、この平行移動は、前部の子リストと後部の子リストの間にすき間を残す。標準的な実装では、コンピュータ250は、2つの子リストからの2つの終点を使用して線形補間を適用し、このすき間を埋めるための十分な点を追加する。この近似処理は分離エリアの周囲に平坦な外形を作成するが、影響を受ける領域が相対的に小さく、VR7と比較して、自動車のリアウィンドウから遠く離れているため、流れに対する影響は無視できる。
【0107】
この時点で、3つの図について、VR6およびVR7のすべての形状点が生成された。コンピュータ250は、通常、これらの点を(例えば、メモリ254に)保存する。ピクセル点という語句は、通常、各ピクセルが画像内の点であり、その画像内の位置を表すデータを含んでいる、ピクセル点の集合のことを指す。例えば、ピクセル点Pは、コンピュータメモリ254に格納された座標[3,8]の位置を含んでよい。コンピュータ250は、(例えば、x軸、y軸上の)これらの座標を使用して、画像内のピクセルの位置を見つけることができる。コンピュータ250が、各ピクセル点に、方程式5~7で定義されたマッピング係数を掛けた場合、その結果が形状点リストになる。
【0108】
次に、
図6のフローチャートに表されたプロセスに従って、コンピュータ250は、(411で)図ごとに、これらの画像点から2D表面メッシュを生成する。標準的な実装では、コンピュータ250は、Shewchuk J.R.によってLin M.C., Manocha D. (eds) Applied Computational Geometry Towards Geometric Engineering. WACG, Lecture Notes in Computer Science, vol 1148. Springer, Berlin, Heidelbergの「Triangle: Engineering a 2D Quality Mesh Generator and Delaunay Triangulator」という表題の1996年の記事に記載された2D三角形メッシュ生成器などの2D三角形メッシュ生成器を利用して、これを実現する。一部の実装では、この生成器は、対象のメッシュの境界または制約として機能する2D点群を受け取り、制約されたドロネー三角分割法を使用して(例えば、各点をメッシュの三角形セルに変換することによって)三角形メッシュを生成する。任意選択により、さらに品質を改善するために、次に、結果として得られたメッシュが再メッシュ化されてよい。このアルゴリズムの妥当性を確認するための試みとして、自動車モデルの図ごとの形状点リストが、メッシュ生成器に供給されてよい。結果として得られたメッシュの例が、
図10に示されている。これらのメッシュは、正面図のメッシュ801、側面図のメッシュ802、および上面図のメッシュ803を含んでいる。コンピュータ250は、通常、これらのメッシュ801、802、および803を(例えば、メモリ254に)格納する。
【0109】
「再メッシュ化」は、通常、入力メッシュに基づいて、異なるメッシュサイズを作成することを含む。例えば、コンピュータ250が、10mmのメッシュサイズを有するメッシュを有する(例えば、格納している)場合、コンピュータは、(例えば、このメッシュサイズをコンピュータメモリ254に格納された既定のパラメータと比較することによって)このメッシュサイズが粗過ぎるか、または細か過ぎるということを決定してよい。コンピュータ250が、特定のメッシュのメッシュサイズが粗過ぎるか、または細か過ぎるということを決定した場合、コンピュータ250は、形状ツールを使用して、より粗いか、またはより細かいメッシュサイズを有する異なるメッシュを作成してよい。異なるメッシュに関連付けられた形状は、依然として元のモデルを表すが、メッシュの分解能が変更されている。このプロセスは、一般に、「再メッシュ化」と呼ばれる。
【0110】
本文書は、さまざまな場所で、2D点群、2D点リスト、および形状リストという語句を交換可能なように使用する。特に示されない限り、これらの語句は、通常、概念の同じ基本セットのことを指す関連する用語である。
【0111】
次に、
図6のフローチャートに表されたプロセスに従って、コンピュータ250は、(412で)VR6およびVR7の両方の表面メッシュの寸法を計算する。ここで、寸法とは、例えば、VR6およびVR7のバウンディングボックスの長さ、高さ、および幅のことを指してよい。したがって、寸法を取得するために、VR6およびVR7について、バウンディングボックスが別々に計算される。これらの寸法がステップ413において使用され、ステップ413では、コンピュータ250が、表面メッシュから3つの3Dメッシュを構築する。より詳細には、ステップ413で、ステップ411から生成された3つの2D表面メッシュから、3つの中間3Dメッシュが作成される。このステップの例示的な実装では、
図11のフローチャートによって表されたワークフローに基づいて、コンピュータ250によって各2D表面メッシュが処理される。
【0112】
各三角形ファセットは2つの側面を有し、従来通り、自動車モデルに対して外側を向いている側面が、(本明細書においてそうであるように)通常は正の側面と見なされる。(
図11の)ステップ901で、コンピュータ250は、すべてのファセットの負の側面が自動車の内側の方を常に指すように、必要に応じてファセットを反転する。次に(902で)、コンピュータ250は、2D表面メッシュを複製する。次に(903で)、コンピュータ250は、複製されたメッシュをある距離だけ押し出す。この押し出しは、通常、複製されたメッシュの負の側面の表面に対する垂線に沿って発生する。標準的な実装では、押し出しの距離は、(
図6の)ステップ412の出力である。例えば、正面図のメッシュを処理するために、801の複製されたメッシュが、適用できる場合は、X方向でのVR6またはVR7の長さと同等の距離だけ、X方向に沿って押し出される。このようにして、閉じた3Dメッシュが作成される。
【0113】
例えば、
図12Aを参照すると、この3Dメッシュを得るために、入力は、
図10の801に示されたような片面のメッシュであってよい。このメッシュ801は、
図12Aの正面である。例示的な実装では、コンピュータ250は、801の写しを作成し、背面として使用する(または、例えばメモリ内で背面として指定する)ことによって、801/正面から3Dメッシュを作成する。次に、コンピュータ250は、カバーを使用して正面および背面を接続する。標準的な実装では、コンピュータ250は、正面801を複製し、次に正面の複製版を、背面の位置に達するような距離(例えば、事前に定義されてコンピュータメモリに格納された距離)だけ平行移動することによって、背面を作成する。これは、10インチ×10インチの寸法を有する1枚の紙を与えられることに似ている。このとき、20インチの深さを有する直方体を作成するように要求される。これを行うための1つの方法は、同じ10インチ×10インチの寸法を有する別の紙を見つけ、その紙を元の紙から20インチ離れた位置に配置することである(両方の紙がテーブル上にエッジで立っていると想像する)。ここで、2枚の正方形の紙を取得しており、1枚がX=0にあり、もう1枚がX=20にある。残りの作業は、正面、背面を接続する上面、底面、および側面を形成するために、さらに多くの紙を見つけることである。これで、完全な直方体が得られた。
【0114】
次に、コンピュータ250は、(904で)任意選択により、押し出されたメッシュのファセットを反転する。この反転は、すべてのファセットの正の垂線が確実に外の方を指しているようにするために必要とされることがある。自動車の外形の湾曲、または411で点群を2Dメッシュに変換するために使用される方法に応じて、ステップ904から得られた3Dメッシュは、特に角領域において、きれいでないか、または満足のいく品質を有していないことがある。したがって、示されたフローチャートに従い、コンピュータ250は、ステップ905で、細かい分解能(例えば、より小さいメッシュサイズ)を有するメッシュをラップして、メッシュをさらにきれいにする。
【0115】
次に、
図11のフローチャートに表されたプロセスに従って、コンピュータ250は、(906で)(任意選択により)メッシュの間引きを適用して、ファセット数を減らす。標準的な実装では、メッシュ間引き動作は、ここでメッシュオブジェクト内の面の数を減らすために利用されてよい。次に、示されたフローチャートに表されたプロセスに従って、コンピュータ250は、(任意選択により)(907および808で)再メッシュ化およびメッシュクリーニング動作を実行して、メッシュの品質をさらに改善する。
【0116】
次に、コンピュータ250は、(909で)生成された3D中間メッシュを(例えば、コンピュータのディスプレイ上のユーザインターフェイスに)出力する。生成された3D中間メッシュは、(例えば、メモリ254に)保存もされる。
【0117】
最後に、ステップ910で、他のすべての図について前述のプロセスが繰り返される。
【0118】
図12A~12Cは、413(および
図9に表されたプロセス)によって作成された3つの中間メッシュを示している。3つの中間メッシュは、正面図の中間メッシュ1001(
図12A)、側面図の中間メッシュ1002(
図12B)、および上面図の中間メッシュ1003(
図12C)を含んでいる。
【0119】
標準的な実装では、中間メッシュ1001は、正面図の輪郭線画像701の外形に似た断面外形、およびモデル化された自動車の長さに少なくとも等しい距離を有する。標準的な実装では、中間メッシュ1002は、側面の輪郭線画像702の外形に似た断面外形を有し、モデル化された自動車の幅に少なくとも等しい幅を有する。標準的な実装では、中間メッシュ1003は、上面の輪郭線画像703の外形に類似する断面外形を有し、モデル化された自動車の高さに少なくとも等しい高さを有する。
【0120】
次に、
図6のフローチャートに表されたプロセスに従って、コンピュータ250は、(414で)3つの3Dメッシュを交差させる。形状を交差させることは、形状を生成するためのさまざまなソフトウェアにおいてアプリケーションプログラミングインターフェイス(API:application programming interface)として使用できる機能である。例示的な実装では、示されたフローチャート内のステップ414が、この機能を呼び出して利用することを含んでよい。例示的な実装では、2つ以上のオブジェクトの交差は、それらのオブジェクトのすべてに同時に含まれているすべてのものから成る別のオブジェクトになる。
【0121】
これらの交差を実行するためのさまざまな方法および手順が存在する。
図13は、3つの3Dメッシュを交差させる1つの例示的な実装を表している。
図13の例示的な実装によれば、コンピュータ250は、正面図の3Dメッシュ1001と上面図の3Dメッシュ1003の間でブール演算を実行し、共通の領域のみを維持して、メッシュ1104を取得する。他の(共通していない)領域は、削除/破棄される。次に、コンピュータ250は、メッシュ1104および側面図の3Dメッシュ1003に対して2回目のブール演算を実行し、メッシュ1105を生成する。さまざまな実装では、ブール演算のこれらの回の順序は変更され得る。
【0122】
図6を再び参照すると、次に(415で)、コンピュータ250は、最終的な3D VR形状を出力する。一部の実装では、コンピュータ250は、メッシュ1105の底面を切断して蓋をする。次に、コンピュータ250は、タイヤと地面の間のすき間を覆って最終的なメッシュ(例えば、
図13の1106)を生成するように、メッシュの底面を地面の数センチメートル下まで押し出す。一部の実装では、コンピュータ250は、X方向で最も小さい値を有する点を切断動作のための回転軸として使用する。この回転軸は、通常、自動車のフロントグリルエリアにある。これによって、回転軸がさらに下げられた場合に、体積がより小さくなるため、生成されたVR形状が最大の体積を有することができることを保証する。
【0123】
通常は、VR6およびVR7を独立して生成するために、プロセス全体が適用される。
図14は、VR6 1201およびVR7 1202の最終結果の側面図を示している。
【0124】
図16は、本明細書において開示された機能を実行するように構成されたコンピュータシステム1600の実装の略図である。
【0125】
示されたコンピュータシステム1600は、複数のユーザワークステーション1602a、1602b...1602nと、コンピュータメモリ1606およびコンピュータプロセッサ1608を含むサーバ1604とを備えている。ワークステーション1602a、1602b...1602nは、サーバ1604に、および互いに、それらの間の通信を可能にする通信ネットワークを介して、結合される。標準的な実装では、ユーザワークステーション1602a、1602b...1602nの各々は、コンピュータメモリ、ストレージ、コンピュータプロセッサ、I/Oデバイスインターフェイス(1つまたは複数の接続されたI/Oデバイスを含む)、およびネットワークインターフェイス(他のネットワーク接続されたデバイスとの通信を容易にするためにネットワーク1610に接続される)を含むコンピュータ(例えば、コンピュータ250)として実装されてよい。同様に、サーバ1604は、ストレージ、I/Oデバイスインターフェイス(1つまたは複数の接続されたI/Oデバイスを含む)、およびネットワークインターフェイス(他のネットワーク接続されたデバイスとの通信を容易にするためにネットワーク1610に接続される)を使用して構成されてよい。
【0126】
コンピュータシステム1600は、本明細書において開示されたシステムおよび手法を実施するように構成される。しかし、そのよう構成することにおいて、システム1600のさまざまな実装は、システム全体にわたる複数の異なるシステムコンポーネント間でさまざまなメモリ機能および処理機能を分散してよい。標準的な実装では、人間のユーザは、ユーザワークステーション1602a、1602b...1602nのうちの任意の1つまたは複数からシステム1600にアクセスし、情報をやりとりすることができ、それらのユーザワークステーションおよび/またはプロセッサ1604で処理/メモリ機能が実行されてよく、それらの間の通信が、ネットワーク1610を介して発生する。
【0127】
本発明の複数の実施形態が説明された。それにもかかわらず、本発明の思想および範囲から逸脱することなく、さまざまな変更が行われてよいということが理解されるであろう。
【0128】
例えば、本明細書において開示されたシステムおよび手法は、自動車に限定されず、トラックまたは大型トラクターなどの他の車両(および場合によっては、他の車両、オブジェクト、および/または環境)にも適用可能である。一部の実装では、ステップ403でスクリーンショットを撮る前に、サイドミラー(または他の外部の突き出ているオブジェクト)を除去することによって、プロセスが簡略化され得る。外形またはエッジは、ミラーの範囲の周囲で急激に変化し、それが場合によっては、(例えば、ステップ411で)形状点を実際の2Dメッシュに変換するときに課題をもたらす可能性がある。本明細書において開示されたシステムおよびプロセスは、車両の作成されたエッジ画像が完全でない状況に対処するのに十分なほど堅牢である傾向がある。例えば、
図15は、内部のピクセルおよび欠落しているピクセルがそれぞれ存在する、2つの問題のあるエリア1301および1302を示している。ステップ411で制約されたドロネー三角分割を実行するときに、最適化された円直径が選択された。
【0129】
さらに、一部の実装では、本明細書において開示されたシステムおよび手法は、3Dデジタル形状を自動的に作成して、車両をシミュレートするための多様な可変分解能(VR)メッシュ化領域を定義するために、自動化されたシミュレーションワークフローに統合され得る。一部の実装では、システムおよび手法は、初期設計段階で高速方向転換シミュレーションを実行するために、多様な外形設計を使用して複数の車両モデルを素早く作成することに利用され得る。
【0130】
レイキャスティングプロセスは、3方向から、モデル化されたオブジェクト(例えば、自動車)の画像に向かって光線をキャストすることに限定されない。一部の実装では、光線は、3つより多い方向、および場合によっては3つより大幅に多い異なる方向から、モデル化されたオブジェクトに向かってキャストされてよい。
【0131】
本明細書に記載された実施形態例が多くの異なる方法で実装されてよいということが、理解されるべきである。場合によっては、本明細書に記載されたさまざまな方法および機械は、本明細書に記載されているような、コンピュータシステムまたはコンピュータネットワーク環境などの、物理的、仮想的、またはハイブリッドの、汎用コンピュータによってそれぞれ実装されてよい。コンピュータ/システムは、例えば、ソフトウェア命令をCPUによって実行するためにメモリまたは不揮発性ストレージのいずれかに読み込むことによって、本明細書に記載された方法を実行する機械に変換されてよい。当業者は、コンピュータ/システムおよびそのさまざまなコンポーネントが、本明細書に記載された本発明の任意の実施形態または実施形態の組み合わせを実行するように構成されてよいということを理解するはずである。さらに、システムは、コンピュータ/システムに内部または外部で動作可能に結合されたか、あるいは組み込まれた、ハードウェアモジュール、ソフトウェアモジュール、およびファームウェアモジュールの任意の組み合わせを利用して、本明細書に記載されたさまざまな実施形態を実装してよい。
【0132】
本明細書に記載された主題のさまざまな態様は、本明細書において開示された構造および/またはそれらの構造と構造的に同等のもの、ならびに/あるいはそれらの組み合わせ含めて、デジタル電子回路、あるいはコンピュータベースのソフトウェア、ファームウェア、またはハードウェアにおいて実装され得る。一部の実施形態では、本明細書において開示された主題は、1つまたは複数のデータ処理装置(例えば、プロセッサ)によって実行するため、または1つまたは複数のデータ処理装置の動作を制御するためにコンピュータストレージ媒体上でエンコードされた、1つまたは複数のコンピュータプログラム、すなわち、コンピュータプログラム命令の1つまたは複数のモジュールにおいて、実装され得る。代替または追加として、プログラム命令は、人工的に生成された伝搬信号上、例えば、データ処理装置によって実行するために、適切な受信器装置への送信のための情報をエンコードするように生成された、機械によって生成された電気信号、光信号、または電磁信号上で、エンコードされ得る。コンピュータストレージ媒体は、コンピュータ可読ストレージデバイス、コンピュータ可読ストレージ基板、ランダムまたは順次アクセスメモリアレイまたはデバイス、あるいはこれらの組み合わせであることができ、またはこれらに含まれ得る。コンピュータストレージ媒体は単に伝搬信号であると見なされるべきではないが、コンピュータストレージ媒体は、人工的に生成された伝搬信号においてエンコードされたコンピュータプログラム命令のソースまたは行き先であってよい。コンピュータストレージ媒体は、1つまたは複数の別々の物理的コンポーネントまたは媒体、例えば、複数のCD、コンピュータディスク、および/または他のストレージデバイスであるか、またはこれらに含まれ得る。
【0133】
本明細書において説明された特定の動作は、1つまたは複数のコンピュータ可読ストレージデバイスに格納されたデータ、あるいは本明細書に記載されたコンピュータシステムおよび/またはネットワーク環境などの他のソースから受信されたデータに対して、データ処理装置(例えば、プロセッサ/特別にプログラムされたプロセッサ/コンピュータ)によって実行される動作として実施され得る。「プロセッサ」という用語(または同様の用語)は、例えば、プログラマブルプロセッサ、コンピュータ、システムオンチップ、またはこれらのうちの複数のもの、あるいはこれらの組み合わせを含む、データを処理するためのあらゆる種類の装置、デバイス、および機械を包含する。装置は、専用論理回路、例えば、FPGA(field programmable gate array:フィールドプログラマブルゲートアレイ)またはASIC(application specific integrated circuit:特定用途向け集積回路)を、含むことができる。装置は、ハードウェアに加えて、当該のコンピュータプログラムのための実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームの実行時環境、仮想マシン、またはこれらのうちの1つまたは複数の組み合わせを構成するコードを、含むこともできる。装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッドコンピューティングインフラストラクチャなどの、さまざまなコンピューティングモデルインフラストラクチャを実現することができる。
【0134】
本明細書は、多くの特定の実装の詳細を含んでいるが、それらは、すべての発明の範囲または特許請求され得る内容の範囲に対する制限と解釈されるべきではなく、特定の発明の特定の実施形態に固有の特徴の説明と解釈されるべきである。個別の実施形態との関連において本明細書において説明されている特定の複数の特徴を、単一の実施形態において組み合わせて実装することもできる。反対に、単一の実施形態との関連において説明されたさまざまな特徴は、複数の実施形態において別々に、または任意の適切な部分的組み合わせで、実装されることも可能である。さらに、上では特徴が、特定の組み合わせで機能するように説明され、そのように最初に特許請求されることさえあるが、特許請求された組み合わせからの1つまたは複数の特徴が、場合によっては、その組み合わせから削除されることが可能であり、特許請求された組み合わせは、部分的組み合わせまたは部分的組み合わせの変形を対象にしてよい。
【0135】
同様に、本明細書では特定の順序または方法で発生するように動作が説明されることがあるが、望ましい結果を達成するために、そのような動作が、示された特定の順序で、または連続的順序で実行される必要があると理解されるべきではなく、すべての示された動作が実行される必要があると理解されるべきではない。特定の環境では、マルチタスクおよび並列処理が有利であることがある。さらに、前述の実施形態におけるさまざまなシステムコンポーネントの分離は、すべての実施形態においてそのような分離を必要とすると理解されるべきではなく、説明されたプログラムコンポーネントおよびシステムが、一般に、単一のソフトウェア製品内で一緒に統合されるか、または複数のソフトウェア製品にパッケージ化され得ると理解されるべきである。
【0136】
本明細書において述べられた各コンポーネント(例えば、メッシュ生成器、形状ビューア、計算機、形状-ピクセルマッピングコンポーネントなど)は、本明細書に記載された関連するコンピュータ実装機能を実行するために、例えば、コンピュータ可読媒体(例えば、RAM、ROMなどの形態でのハードウェアメモリ)に格納されたコンピュータ可読命令を実行する複数のコンピュータハードウェアコンポーネント(例えば、1つまたは複数のコンピュータプロセッサ)のうちの1つによって実装されてよい。
【0137】
本明細書において開示されたシステムおよび手法は、オブジェクト(例えば、自動車)の設計、分析、および現実世界の製造全体に関連して利用されてよい。通常、本明細書において開示されたシミュレーションプロセスは、モデル化された自動車の設計において、モデル化されたオブジェクト(例えば、自動車)の性能または挙動を分析し、期待値を確認するか、またはさらなる反復を導くために、利用されてよい。通常、設計および分析/シミュレーションの後に、最終的な設計に基づいて、モデル化されたオブジェクト(例えば、自動車)の現実世界版を製造することが続き、この最終的な設計は、製造する前に、本明細書において開示されたシステムおよび手法を利用して、コンピュータベースのシミュレーションに公開されている。モデル化されたオブジェクトの最終的な製造された現実世界版は、物理的なもの(例えば、自動車など)である。このようにして、本発明は、設計および製造の両方のドメインに改善をもたらす。
【0138】
他の実装は、特許請求の範囲内にある。
【手続補正書】
【提出日】2023-09-20
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0019
【補正方法】変更
【補正の内容】
【0019】
【
図1A】コンピュータ実装3D自動車モデルのウォータータイトラップの側断面図である。
【
図1B】VR領域の定義に適していない、ラップからのオフセットモデルを示す図である。
【
図2】3次元(3D)可変分解能(VR)領域形状を自動的に作成するように構成されたコンピュータの略図である。
【
図3】3次元(3D)可変分解能領域形状を作成するためのプロセスの実装を示す高レベルのフローチャートである。
【
図4A】モデル化された自動車のVR7領域の実装の側面図表現および対応する寸法指標である。
【
図5A】モデル化された自動車のVR6領域の実装の側面図表現および対応する寸法指標である。
【
図6】画像処理技術を使用してVR領域を作成するためのプロセスの実装を示す詳細なフローチャートである。
【
図7】は、モデル化された自動車の画像を取り囲むバウンディングボックスの透視図を示すスクリーンショットである。
【
図8A】光線が4方向からモデル化された自動車に向かってキャストされている、モデル化された自動車の正面正投影図のスクリーンショットである。
【
図8B】
図8Aのモデル化された自動車の側面正投影図のスクリーンショットである。
【
図8C】
図8Aのモデル化された自動車の上面正投影図のスクリーンショットである。
【
図9A】レイキャスティング法を使用して3つの正投影図画像から取得された自動車の輪郭画像を示す図である。
【
図9B】レイキャスティング法を使用して3つの正投影図画像から取得された自動車の輪郭画像を示す図である。
【
図9C】レイキャスティング法を使用して3つの正投影図画像から取得された自動車の輪郭画像を示す図である。
【
図10】アルゴリズムの妥当性確認の目的で自動車モデルの3つの正投影図画像から生成された2D表面メッシュを示す図である。
【
図11】表面メッシュから3Dメッシュを構築するためのプロセスの実装を示すフローチャートである。
【
図12A】モデル化された自動車の正面図の対応する2Dメッシュから作成された中間3Dメッシュの透視図である。
【
図12B】モデル化された自動車の側面図の対応する2Dメッシュから作成された中間3Dメッシュの透視図である。
【
図12C】モデル化された自動車の上面図の対応する2Dメッシュから作成された中間3Dメッシュの透視図である。
【
図13】3つの中間3Dメッシュから最終的な3D VRメッシュを作成するための例示的なワークフローの略図である。
【
図14】モデル化された自動車のVR6およびVR7の例示的なメッシュの最終結果の側面図である。
【
図15】内部のピクセルおよび欠落しているピクセルが存在するモデル化された自動車のエリアを示す図である。
【
図16】
3次元可変分解能領域形状の自動作成を実施するように構成されたコンピ
ュータシステムの実装を示す略図である。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0104
【補正方法】変更
【補正の内容】
【0104】
次に、
図6のフローチャートに表されたプロセスに従って、コンピュータは、(410で)両方のVR(VR6およびVR7)の距離要件に関して、(正面図のリスト、側面図のリスト、および上面図のリストを含む)各図に形状点リストG(x,y)からの点を平行移動およびスケーリングする。標準的な実装では、これらの目的で、(例えば、
図4A、4B、5A、および5Bに表された)距離要件が、コンピュータ250によってメモリ254からアクセスされてよい。したがって、コンピュータ250によって、別々のプロセスにおいてVR6およびVR7を作成するために、これら3つの基礎形状リストが使用される。例示的な実装では、スケーリングは、(例えば、点のリスト内の)各点にスケーリング係数、例えば0.5を掛けることを含んでよい。そのため、[93.32870186001297, 547.9297980168503]が[46.xxx, 273.xxx]になる。例示的な実装では、平行移動は、ある値をこれらの点に加算することを含んでよい。
【外国語明細書】