(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024122909
(43)【公開日】2024-09-09
(54)【発明の名称】数値シミュレーションのセットアップを自動化するための換気グリルの開口サイズの自動決定
(51)【国際特許分類】
G06F 30/10 20200101AFI20240902BHJP
G06F 30/20 20200101ALI20240902BHJP
G06T 19/00 20110101ALI20240902BHJP
G06T 7/12 20170101ALI20240902BHJP
【FI】
G06F30/10 100
G06F30/20
G06T19/00 A
G06T7/12
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024026478
(22)【出願日】2024-02-26
(31)【優先権主張番号】18/175,670
(32)【優先日】2023-02-28
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】514180812
【氏名又は名称】ダッソー システムズ アメリカス コーポレイション
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】ワン,フフ
(72)【発明者】
【氏名】カンダサミー,サティーシュ
【テーマコード(参考)】
5B050
5B146
5L096
【Fターム(参考)】
5B050AA03
5B050BA09
5B050CA08
5B050EA12
5B050EA26
5B050FA02
5B050FA05
5B146AA04
5B146AA05
5B146BA04
5B146DE12
5B146DJ01
5B146DJ03
5B146DJ07
5B146DJ11
5B146EC04
5L096AA09
5L096FA06
5L096FA59
5L096FA67
(57)【要約】
【課題】 数値シミュレーションのセットアップを自動化するための換気グリルの開口サイズの自動決定を提供する。
【解決手段】 コンピュータ実装環境における入力に基づいて数値シミュレーションのセットアップを自動化するために換気グリルの開口サイズの推定を自動決定することを含む、コンピュータ実装方法を開示する。このコンピュータ実装方法は、第1の軸を中心に3次元グリルジオメトリを様々な回転角度で配置しながら3次元グリルジオメトリの複数のコンピュータレンダリング画像のスクリーンショットを作成すること、もしある場合、スクリーンショットされた3次元グリルジオメトリの画像の他のどれよりも大きい総開口値を有する3次元グリルジオメトリの画像をスクリーンショットのどれが有するのかを識別すること、及び識別した画像を換気グリルの開口サイズの推定を決定するための更なる処理用のターゲット画像として指定することを含む。
【選択図】
図2
【特許請求の範囲】
【請求項1】
コンピュータ実装環境における入力に基づいて数値シミュレーションのセットアップを自動化するために換気グリルの開口サイズの推定を自動決定することを含むコンピュータ実装方法であって、
第1の軸を中心に3次元グリルジオメトリを様々な回転角度で配置しながら前記3次元グリルジオメトリの複数のコンピュータレンダリング画像のスクリーンショットを作成すること、
もしある場合、前記スクリーンショットされた3次元グリルジオメトリの画像の他のどれよりも大きい総開口値を有する前記3次元グリルジオメトリの画像を前記スクリーンショットのどれが有するのかを識別すること、及び
前記識別した画像を前記換気グリルの開口サイズの推定を決定するための更なる処理用のターゲット画像として指定すること
を含む、コンピュータ実装方法。
【請求項2】
前記総開口値は、前記対応する回転角度で前記3次元グリルジオメトリを配置した状態で、前記対応するスクリーンショット内で表示されるときの前記3次元グリルジオメトリ内の開口部のサイズを表す、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記総開口値が前記スクリーンショットの少なくとも一部又は全てについて異なる、請求項2に記載のコンピュータ実装方法。
【請求項4】
もしある場合、前記スクリーンショットされた3次元グリルジオメトリの画像のどれが前記最大の総開口値を有するのかを識別することが、
前記スクリーンショットのそれぞれについて
前記第1の軸を中心に前記対応する回転角度で配置される前記対応するスクリーンショット内で表示されるときの前記グリルジオメトリ内の開口部の面積を表す面積値を計算すること、及び
前記最大の総開口値を有する前記スクリーンショットされた3次元グリルジオメトリの画像として、前記最大の計算済みの面積値を有する前記スクリーンショットを指定すること
を含む、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記3次元グリルジオメトリの前記複数のコンピュータレンダリング画像の前記スクリーンショットを作成することが、
前記スクリーンショットを作成する視点を定めるための初期視線ベクトルを識別すること
を含む、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記3次元グリルジオメトリの前記複数のコンピュータレンダリング画像の前記スクリーンショットを作成することが、
前記第1の軸を中心に前記3次元グリルジオメトリの前記画像を第1の回転角度で配置しながら前記3次元グリルジオメトリの前記コンピュータレンダリング画像の第1のスクリーンショットを作成すること、
前記3次元グリルジオメトリの前記コンピュータレンダリング画像を前記第1の軸を中心とした2つ以上の後続の回転角度に前記第1の軸を中心に回転させること、及び
前記第1の軸を中心とした前記2つ以上の後続の回転角度のそれぞれに配置された前記3次元グリルジオメトリの前記コンピュータレンダリング画像の後続のスクリーンショットを作成すること
を更に含む、請求項1に記載のコンピュータ実装方法。
【請求項7】
前記3次元グリルジオメトリの前記コンピュータレンダリング画像を前記第1の軸を中心に回転させることは、回転角度が増加するにつれて連続スクリーンショット内で前記画像の前記総開口値が小さくならない限り第1の方向で行われ、
回転角度が増加するにつれて連続スクリーンショット内で前記画像の前記総開口値が小さくなることに応答し、前記コンピュータ実装方法が
前記3次元グリルジオメトリの前記コンピュータレンダリング画像を前記第1の軸を中心として、前記第1の方向とは反対の第2の方向に回転させること、及び
前記3次元グリルジオメトリの前記画像を前記第2の方向に回転させた後の後続の角度に配置しながら前記3次元グリルジオメトリの前記コンピュータレンダリング画像の後続のスクリーンショットを作成すること
を更に含む、請求項6に記載のコンピュータ実装方法。
【請求項8】
前記最大総開口値を有するものとして前記スクリーンショットのどれも識別されない場合、前記第1の軸と異なる第2の軸を中心とした異なる回転角度において前記3次元グリルジオメトリのコンピュータレンダリング画像のスクリーンショットを作成すること
を更に含む、請求項1に記載のコンピュータ実装方法。
【請求項9】
前記ターゲット画像の較正係数を計算することであって、前記較正係数はピクセル対実距離比を表す、計算すること、
前記ターゲット画像のエッジを抽出すること、
前記抽出したエッジに基づいて前記ターゲット画像内の輪郭を識別すること、及び
前記識別した輪郭内の面積を計算すること
を更に含む、請求項1に記載のコンピュータ実装方法。
【請求項10】
前記面積計算に基づいて外れ値の輪郭を棄却して保存された輪郭のみを含む輪郭リストを生成すること、
前記輪郭リスト内で表される輪郭ごとに2次元有向境界ボックスを計算し、前記2次元有向境界ボックスのそれぞれについて幅値及び長さ値を返すこと、
前記2次元有向境界ボックスのそれぞれについて前記幅値と前記長さ値との間の最小値を識別すること、及び
前記識別した最小値に基づいて前記換気グリルの開口サイズの推定を表す最終開口サイズ値を計算すること
を更に含む、請求項9に記載のコンピュータ実装方法。
【請求項11】
前記3次元グリルジオメトリをソースアプリケーションからインポートすること、及び
前記3次元グリルジオメトリに基づいて有向境界ボックスを計算すること
を更に含む、請求項1に記載のコンピュータ実装方法。
【請求項12】
前記3次元グリルジオメトリのコンピュータレンダリング画像のピクセル領域と前記3次元グリルジオメトリに基づくグリルの現実世界のバージョンを含めるための物理領域とを関連付けるための空間較正ボックスを作成すること
を更に含む、請求項1に記載のコンピュータ実装方法。
【請求項13】
前記計算した最終開口サイズに基づき、コンピュータ実装環境における前記数値シミュレーションのセットアップの一部として2つ以上の可変解像度領域オプションのうちの特定のものを前記グリルジオメトリに自動で割り当てること
を更に含む、請求項1に記載のコンピュータ実装方法。
【請求項14】
前記自動で割り当てた可変解像度領域に基づいて前記3次元グリルジオメトリに対する前記数値シミュレーションを実行すること
を更に含む、請求項13に記載のコンピュータ実装方法。
【請求項15】
前記数値シミュレーションを実行した後の前記3次元グリルジオメトリに基づき、現実世界の機械を使って複数の現実世界のグリルを製造することを更に含む、請求項14に記載のコンピュータ実装方法。
【請求項16】
コンピュータ実装環境における入力に基づいて数値シミュレーションのセットアップを自動化するために換気グリルの開口サイズの推定を自動決定することを含むコンピュータ実装方法であって、
3次元グリルジオメトリをインポートすること、
前記3次元グリルジオメトリに基づいて有向境界ボックスを計算すること、
前記インポートされた3次元グリルジオメトリの初期視線ベクトルを識別すること、
前記3次元グリルジオメトリのコンピュータレンダリング画像のピクセル領域と前記3次元グリルジオメトリに基づくグリルの現実世界のバージョンを含めるための物理領域とを関連付けるための空間較正ボックスを作成すること、
前記初期視線ベクトルによって定められた視点から、及び前記3次元グリルジオメトリを様々な向きに配置しながら前記3次元グリルジオメトリの一連のコンピュータレンダリング画像をスクリーンショットすることであって、それぞれの向きは第1の軸を中心とした様々な回転角度にある前記3次元グリルジオメトリの前記画像を示す、スクリーンショットすること、
もしある場合、前記スクリーンショットされた3次元グリルジオメトリの画像の他のどれよりも大きい総開口値を前記スクリーンショットされた3次元グリルジオメトリの画像のどれが有するのかを識別すること、
前記スクリーンショットされた3次元グリルジオメトリの画像の他のどれよりも大きい総開口値を有するものとして識別した前記スクリーンショットされた3次元グリルジオメトリの画像内の前記画像をターゲット画像として指定すること、
前記ターゲット画像の較正係数を計算すること、
前記ターゲット画像のエッジを抽出すること、
前記ターゲット画像内の輪郭を識別すること、
前記識別した輪郭内の面積を計算すること、
前記面積計算に基づいて外れ値の輪郭を棄却して保存された輪郭のみを含む輪郭リストを生成すること、
前記輪郭リスト内で表される輪郭ごとに2次元有向境界ボックスを計算し、前記2次元有向境界ボックスのそれぞれについて幅値及び長さ値を返すこと、
前記2次元有向境界ボックスのそれぞれについて前記幅値と前記長さ値との間の最小値を識別すること、及び
前記識別した最小値に基づいて前記換気グリルの開口サイズの推定を表す最終開口サイズ値を計算すること
を含む、コンピュータ実装方法。
【請求項17】
前記計算した最終開口サイズに基づき、コンピュータ実装環境における数値シミュレーションのセットアップの一部として2つ以上の可変解像度オプションのうちの特定のものを前記グリルジオメトリに関連する領域に自動で割り当てること、及び
前記自動で割り当てた可変解像度領域に基づいて前記3次元グリルジオメトリに対する前記数値シミュレーションを実行すること
を更に含む、請求項16に記載のコンピュータ実装方法。
【請求項18】
前記数値シミュレーションを実行した後の前記3次元グリルジオメトリに基づき、現実世界の機械を使って複数の現実世界のグリルを製造することを更に含む、請求項17に記載のコンピュータ実装方法。
【請求項19】
コンピュータ実装環境における入力に基づいて数値シミュレーションのセットアップを自動化するために換気グリルの開口サイズの推定を自動決定するように構成されるコンピュータシステムであって、
コンピュータプロセッサと、
前記コンピュータプロセッサに動作可能に結合されたコンピュータベースのメモリとを含み、前記コンピュータベースのメモリは、前記コンピュータプロセッサによって実行されるとき、
第1の軸を中心に3次元グリルジオメトリを様々な回転角度で配置しながら前記3次元グリルジオメトリの複数のコンピュータレンダリング画像のスクリーンショットを作成すること、
もしある場合、前記スクリーンショットされた3次元グリルジオメトリの画像の他のどれよりも大きい総開口値を有する前記3次元グリルジオメトリの画像を前記スクリーンショットのどれが有するのかを識別すること、及び
前記識別した画像を前記換気グリルの開口サイズの推定を決定するための更なる処理用のターゲット画像として指定すること
を前記コンピュータベースのシステムに行わせるコンピュータ可読命令を記憶する、
コンピュータシステム。
【請求項20】
コンピュータベースのプロセッサによって実行されるとき、
第1の軸を中心に3次元グリルジオメトリを様々な回転角度で配置しながら前記3次元グリルジオメトリの複数のコンピュータレンダリング画像のスクリーンショットを作成すること、
もしある場合、前記スクリーンショットされた3次元グリルジオメトリの画像の他のどれよりも大きい総開口値を有する前記3次元グリルジオメトリの画像を前記スクリーンショットのどれが有するのかを識別すること、及び
前記識別した画像を換気グリルの開口サイズの推定を決定するための更なる処理用のターゲット画像として指定すること
を含むプロセスを利用することにより、コンピュータ実装環境における入力に基づいて数値シミュレーションのセットアップを自動化するために前記換気グリルの開口サイズの推定を前記コンピュータベースのプロセッサに自動決定させるコンピュータ可読命令を記憶する、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
発明の分野
本開示は換気グリルの開口サイズを決定することに関し、より具体的には、コンピュータ実装環境における数値シミュレーションのセットアップを自動化するために換気グリルの開口サイズを自動決定することに関する。
【背景技術】
【0002】
背景
数値シミュレーションでは、計算リソースを最適化するために、様々な流体領域において多様なメッシュサイズが適用されることが多い。これらの領域は可変解像度(VR)領域としても知られており、別々の参照ジオメトリによって画定されるサイズを有する。とりわけ格子ボルツマン法(LBM)に基づくシミュレーションでは、VR領域が様々なレベル間で多様な格子細分化サイズを有する。
【発明の概要】
【課題を解決するための手段】
【0003】
発明の概要
一態様では、コンピュータ実装環境における入力に基づいて数値シミュレーションのセットアップを自動化するために換気グリルの開口サイズの推定を自動決定することを含む、コンピュータ実装方法が開示される。このコンピュータ実装方法は、第1の軸を中心に3次元グリルジオメトリを様々な回転角度で配置しながら3次元グリルジオメトリの複数のコンピュータレンダリング画像のスクリーンショットを作成すること、もしある場合、スクリーンショットされた3次元グリルジオメトリの画像の他のどれよりも大きい総開口値を有する3次元グリルジオメトリの画像をスクリーンショットのどれが有するのかを識別すること、及び識別した画像を換気グリルの開口サイズの推定を決定するための更なる処理用のターゲット画像として指定することを含む。
【0004】
別の態様では、コンピュータ実装環境における入力に基づいて数値シミュレーションのセットアップを自動化するために換気グリルの開口サイズの推定を自動決定することを含む、コンピュータ実装方法が開示される。このコンピュータ実装方法は、3次元グリルジオメトリをインポートすること、3次元グリルジオメトリに基づいて有向境界ボックスを計算すること、インポートされた3次元グリルジオメトリの初期視線ベクトルを識別すること、3次元グリルジオメトリのコンピュータレンダリング画像のピクセル領域と3次元グリルジオメトリに基づくグリルの現実世界のバージョンを含めるための物理領域とを関連付けるための空間較正ボックスを作成すること、初期視線ベクトルによって定められた視点から、及び3次元グリルジオメトリを様々な向きに配置しながら(それぞれの向きは第1の軸を中心とした様々な回転角度にある3次元グリルジオメトリの画像を示す)3次元グリルジオメトリの一連のコンピュータレンダリング画像をスクリーンショットすること、もしある場合、スクリーンショットされた3次元グリルジオメトリの画像の他のどれよりも大きい総開口値をスクリーンショットされた3次元グリルジオメトリの画像のどれが有するのかを識別すること、スクリーンショットされた3次元グリルジオメトリの画像の他のどれよりも大きい総開口値を有するものとして識別したスクリーンショットされた3次元グリルジオメトリの画像内の画像をターゲット画像として指定すること、ターゲット画像の較正係数を計算すること、ターゲット画像のエッジを抽出すること、抽出したエッジに基づいてターゲット画像内の輪郭を識別すること、識別した輪郭内の面積を計算すること、面積計算に基づいて外れ値の輪郭を棄却して保存された輪郭のみを含む輪郭リストを生成すること、輪郭リスト内で表される輪郭ごとに2次元有向境界ボックスを計算し、2次元有向境界ボックスのそれぞれについて幅値及び長さ値を返すこと、2次元有向境界ボックスのそれぞれについて幅値と長さ値との間の最小値を識別すること、及び識別した最小値に基づいて換気グリルの開口サイズの推定を表す最終開口サイズ値を計算することを含む。
【0005】
更に別の態様では、コンピュータシステムが、コンピュータ実装環境における入力に基づいて数値シミュレーションのセットアップを自動化するために換気グリルの開口サイズの推定を自動決定するように構成される。コンピュータシステムは、コンピュータプロセッサとコンピュータプロセッサに動作可能に結合されたコンピュータベースのメモリとを含み、コンピュータベースのメモリは、コンピュータプロセッサによって実行されるとき、第1の軸を中心に3次元グリルジオメトリを様々な回転角度で配置しながら3次元グリルジオメトリの複数のコンピュータレンダリング画像のスクリーンショットを作成すること、もしある場合、スクリーンショットされた3次元グリルジオメトリの画像の他のどれよりも大きい総開口値を有する3次元グリルジオメトリの画像をスクリーンショットのどれが有するのかを識別すること、及び識別した画像を換気グリルの開口サイズの推定を決定するための更なる処理用のターゲット画像として指定することをコンピュータベースのシステムに行わせるコンピュータ可読命令を含む。
【0006】
更に別の態様では、非一時的コンピュータ可読媒体が、コンピュータベースのプロセッサによって実行されるとき、第1の軸を中心に3次元グリルジオメトリを様々な回転角度で配置しながら3次元グリルジオメトリの複数のコンピュータレンダリング画像のスクリーンショットを作成すること、もしある場合、スクリーンショットされた3次元グリルジオメトリの画像の他のどれよりも大きい総開口値を有する3次元グリルジオメトリの画像をスクリーンショットのどれが有するのかを識別すること、及び識別した画像を換気グリルの開口サイズの推定を決定するための更なる処理用のターゲット画像として指定することを含むプロセスを利用することにより、コンピュータ実装環境における入力に基づいて数値シミュレーションのセットアップを自動化するために換気グリルの開口サイズの推定をコンピュータベースのプロセッサに自動決定させるコンピュータ可読命令を記憶する。
【0007】
一部の実装形態では以下の利点の1つ又は複数が存在する。
【0008】
例えば一定の実装形態は、1つ又は複数のコンピュータ実装シミュレーションで利用され得るグリルジオメトリのための3次元(3D)可変解像度領域の自動作成を容易にする。より具体的には、これは計算リソースの優れた効率を伴ってシミュレーションが実行されるように、つまりかかるリソースの可用性とかかるシミュレーションにおける精度及び詳細さの必要性とのバランスを取るように行われる。
【0009】
本明細書で開示するシステム及び技法の実装形態は、グリルの開口部の計算/推定を自動で及び迅速に行えるようにするのに対し、従来の一部の手法は時間がかかり、手動プロセスを伴い、及び/又は非効率的である傾向がある。
【0010】
本明細書で開示するシステム及び技法の実装形態は、例えば測定、推定、VR領域の設定を行うとき、及び/又はグリル若しくはグリルを含む特定の環境のシミュレーションを試みるとき、技術者の判断における不正確さ及び誤りを排除するのに役立つ。精度及び一貫性の改善を実現することができる。
【0011】
本明細書で開示するシステム及び技法の実装形態は、シミュレーションワークフローの自動化を促進する。
【0012】
本明細書で開示するシステム及び技術の実装形態は、とりわけ異なる車両モデル/設計間で異なる水平/垂直バー及び/又は車両ロゴ並びにグリルの開口部/穴の形状の多様性等の視覚ノイズがある状態で、開口部の位置を識別しそのサイズを決定することに関連する技術的課題を克服する。
【0013】
本明細書で開示するシステム及び技法の実装形態は、優れた参照ジオメトリがないことにより空間較正が困難であること、及び自動化されたシミュレーションワークフローでは手動による空間較正が実現可能でない又は実用的でない場合があることに関連する技術的課題を克服する。
【0014】
本説明及び図面並びに特許請求の範囲から他の特徴及び利点が明らかになる。
【0015】
同様の参照文字は同様の要素を指す。
【図面の簡単な説明】
【0016】
図面の簡単な説明
【
図1A】車両グリル、シミュレーションセットアップのための囲みVR10領域及びVR11領域、並びに車両グリルのための有向境界ボックスの一例の正面図を示す。
【
図1B】車両グリル、シミュレーションセットアップのための囲みVR10領域及びVR11領域、並びに車両グリルのための有向境界ボックスの一例の側面図を示す。
【
図2】換気グリルの開口サイズを自動決定するプロセスの一例を表すフローチャートである。
【
図3A】或る回転角度で生成されたグリルの画像及び空間較正ボックスの例を示す。
【
図3B】或る回転角度で生成されたグリルの画像及び空間較正ボックスの例を示す。
【
図3C】或る回転角度で生成されたグリルの画像及び空間較正ボックスの例を示す。
【
図5A】画像内の総開口面積を計算するための候補画像の準備に使用される光線投射方法を示す。
【
図5B】画像内の総開口面積を計算するための候補画像の準備に使用される光線投射方法を示す。
【
図6A】最大開口面積を有するターゲット画像から抽出された輪郭を示す。
【
図6B】単一の穴の開口サイズを計算するために使用されるその穴の有向境界ボックスを示す。
【
図8】本明細書で開示する機能を実行するように構成されるコンピュータの概略図である。
【発明を実施するための形態】
【0017】
詳細な説明
本明細書では、本明細書に記載する発明概念を説明するために様々な用語を使用する。別段の定めがない限り、以下の用語及びその変形は以下の内容と一致する意味を有するものとして理解すべきである。
【0018】
「数値シミュレーション」とは、現実世界のプロセス又はシステムの数学的モデルに基づいて計算を実行することにより、現実世界のプロセス又はシステムをシミュレートするためにコンピュータによって実行されるプロセスを指す。
【0019】
「メッシュ」とは、コンピュータ実装環境内で一定の数値シミュレーションを支援するセル及びノードのネットワークである。典型的には、メッシュ内の各セルはシミュレーションの個々の解を表し、様々な個々の解を組み合わせてメッシュ全体の全体解を生成することができる。
【0020】
「解像度」とは、例えば物体又はその一部のコンピュータ実装モデルに基づくコンピュータ実装数値シミュレーションを支援するためにコンピュータによって生成されるメッシュ内で表されるセルの密度若しくはサイズ(例えばメッシュサイズ)又は有限要素の密度若しくはサイズを指す。解像度は、コンピュータ実装シミュレーションの効率及び効果に影響を与え得る。例えば高解像度のシミュレーションは詳細なデータを生成できるがコストが高いのに対し、低解像度のシミュレーションはより安価だがより詳細でないデータを生成する傾向がある。可変解像度(「VR」)領域を利用することは、この2つを上手く両立させるための1つのやり方である。
【0021】
「可変解像度領域」(又は「VR領域」)とは、モデル化された物体(例えばグリル又はグリルを含む車両若しくは他のコンポーネント)を含むコンピュータ実装シミュレーションにおいて、モデル化された物体(例えばグリル)又はモデル化された物体の一部の中で及び/又はその周囲で画定される領域(例えばフロー領域)であり、シミュレーションのためのメッシュの解像度はVR領域ごとに異なる。例えば格子ボルツマン法を含むような複雑なシミュレーションは、モデル化された車両又は大型産業機械を含むシミュレーションにおいて複数(例えば最大11又は12)の異なるVR領域をメッシュに割り当てることができる。
【0022】
「開口部」又は「隙間」又は「穴」等の語句は、グリルの片側(例えば前側)から反対側(例えば後側)への開口を指し、動作中に流体(例えば空気)がグリルを通過することを可能にする。
【0023】
「境界ボックス」とは、N次元(Nは3に等しくあり得る)の点集合Sに対する最低限又は最小の境界又は囲みボックスであり、即ち全ての点が含まれる最小の測度(例えば体積)を有するボックスである。「有向境界ボックス」(又はOBB)とは、結果の向きに関して制約を受けない計算された最小境界ボックスである。有向境界ボックスは、ボックスのエッジが既定の又はグローバル(デカルト)座標軸と平行だという制約を最小境界ボックスが受ける「座標軸に平行な最小境界ボックス」とは対照的である。
【0024】
「初期視線ベクトル」という語句は、モデル化されたグリル101のジオメトリの外側(及び例えばその前方)を起点とし、モデル化されたグリル101のジオメトリに向けられたベクトルを指す。一般的な用語では、「ベクトル」という語は大きさ(更に任意の大きさ)及び方向を有する幾何学的物体を指す。一部の実装形態では、「初期視線ベクトル」は、グリル101のジオメトリのための有向境界ボックス105の面(例えば前面)に向かう(即ち向けられる)方向で構成される。更に一部の実装形態では、「初期視線ベクトル」は、OBB105の前面に対して垂直になるように構成される。サイズ及び方向に応じて、「初期視線ベクトル」の視点及び方向は、モデル化されたグリル101のジオメトリの開口部の1つ又は複数の一部(例えばグリルの前面からグリルの後面まで)を通る視界を提供することができる。例示的なシミュレーションでは、+X方向は車両のフロントバンパーから車両のトランク/後部領域の方向を指す。そのため、仮想世界内の最小のX値を有する面は、現実世界で最初に空気に「直面する」前面に対応する。(例えば一部のスポーツカーでは)後部領域又は(一部の機械では)側部にあるグリルについては、前面が常に車/機械の外部領域に向いている。車/機械の内側方向及び外側方向を決定するために、コンピュータは、光線投射方法を実装してグリルからの光線の放射と車/機械の境界ボックスとの間の交差位置を計算することができる。
【0025】
技術的開示
コンピュータ実装数値シミュレーションでは、現実世界のプロセス又はシステムのコンピュータ実装数学モデルに基づいて計算を実行することにより、コンピュータが現実世界のプロセス又はシステムをシミュレートする。コンピュータベースの数値シミュレーションは、数学モデルで表現された物理的空間又は時間をセルのネットワークを含む仮想メッシュで離散化することを含み得る。このようなコンピュータ実装数値シミュレーションを支援するための計算はコンピュータによってセルごとに実行されてもよく、その後、やはりコンピュータにより、セルごとの計算結果の全体(又は一部のセグメント)から全体的な結論が導出され得る。
【0026】
一部のコンピュータ実装数値シミュレーションでは、セルの集合でそれぞれ構成される複数のメッシュを、例えばモデル化されているシステムの表面又は表面付近の離散的な物理領域に適用することができる。そのような各メッシュのサイズ、形状、及び解像度は、モデル化されているシステムのサイズ及び形状、及び/又は数値シミュレーションの目的に影響され得る。更に、典型的にはコンピュータ実装数値シミュレーションにおける解像度(例えばセルのサイズ)はメッシュごとに異なり得る。概して、解像度の高いメッシュを使用することはより多くの詳細及び情報をもたらすが、相対的な効率が低くなる傾向があるのに対し、解像度の低いメッシュを使用することはより少ない詳細及び情報をもたらすが、相対的な効率は高くなる傾向がある。概して、非常に詳細なシミュレーション結果をもたらす利益とそれを効率的に行う利益とのバランスを取るように、メッシュのサイズを変化させることが望ましい。典型的なコンピュータ実装数値シミュレーションでは、例えばモデル化されているシステムの表面又は表面付近の異なる物理領域に適用されるメッシュを可変解像度(「VR」)領域と呼ぶ。
【0027】
計算流体力学(CFD)は、自動車のグリルを通る及び/又はその周りの流量等の流量を含む問題を解析し解決するために数値解析及びデータ構造を使用する、流体力学の数値シミュレーションの特定の形式を表す。コンピュータを使用してこれらの計算を実行し、関連するデータ構造を記憶し、流体(例えば空気)の自由流量、及び例えば境界条件を表すメモリ内のデータによって画定され得るグリルの表面との流体の相互作用のシミュレーションを促進することができる。
【0028】
例示的実装形態によるCFD手順は、問題及び/又はシステム(例えばグリル並びにグリルを通る及びグリル付近の流量条件のシミュレーション)のジオメトリ及び物理的境界を画定することを含むことができ、これはコンピュータ支援設計(CAD)を使用して画定することができる。そこからデータを処理(クリーンアップ)し、流体体積(又は流体領域)を抽出することができる。検討中の流体が占める体積は、コンピュータによって離散的なセル(メッシュ)に分割することができる。メッシュは、均一又は不均一、構造化又は非構造化であってもよく、例えば六面体、四面体、角柱状、ピラミッド型、又は多面体要素の何れか1つ又はその組み合わせで構成される。物理モデリングは、例えばその全てがコンピュータメモリ内に記憶され得る、流体運動、エンタルピー、放射等を定める方程式を使用して定めることができる。境界条件もコンピュータメモリ内で定めることができる。これは、流体領域の境界面における流体の挙動及び特性を記述することを含み得る。過渡現象の問題では、初期条件もコンピュータメモリ内で定めることができる。これらの前処理ステップが実行されると、コンピュータはシミュレーションを実行することができ、方程式は定常状態又は過渡として(例えばセルごとに)反復的に解かれる。最後に、結果として得られる解(セルごとの個々の解の集合又は他の組み合わせであり得る)の解析及び視覚化にコンピュータ内の後処理プロセッサが使用され得る。
【0029】
そのような一部のコンピュータ実装CFD手順は格子ボルツマン法(LBM)を利用する。LBMでは、ストリーミング及び衝突(緩和)プロセスによって格子上の流体密度をシミュレートすることができる。一般的な流体挙動を模倣するようにモデル化された流体を簡単に作ることができ、複雑な環境における流体を簡単にシミュレートすることができるのでこの種の方法は汎用性が高い傾向があるのに対し、他のCFD方法は複雑な境界が関与する場所では機能するのが難しい場合がある。
【0030】
一部のコンピュータ実装手順では、これらの(及び他の)種類のシミュレーションで計算リソースを最適化するために、(例えばグリル付近の)異なる流体領域で変化させたメッシュサイズを適用することができる。これらの領域は、ここでも可変解像度(又は「VR」)領域と呼ぶことができる。このような一部の領域は、別々の参照ジオメトリによって定められるサイズ及び形状を有し得る。LBMベースのシミュレーションでは、異なるVR領域が異なるレベル(例えば異なるVR領域内)で異なる格子精密化サイズを有する場合がある。LBMを使用する標準的な車両シミュレーションでは、例えば問題となっている特定の応用(例えば空気力学、熱管理、空力音響学)に応じて、シミュレーション領域内で最大11又は12レベルのVR領域が適用される(又は適用可能である)場合がある。VRレベルが高いことは、そのVR領域内でより細かいメッシュが適用されることを概して意味する。VRレベルが低いことは、そのVR領域内でより粗いメッシュが適用されることを概して意味する。計算コストは、使用する最も細かいVRレベル及びVR領域のサイズの影響を著しく受け得る。従って、任意の流体領域の過剰解像度を避けることを目的としたベストプラクティスが通常利用される。
【0031】
車両の全ての重要な領域の中でも、グリルは(例えば典型的なグリル101の設計に存在する狭い隙間/穴104を横切る)流量勾配を完全に捕捉するために、より微細な解像度のメッシュを必要とする傾向がある領域である。(例えば
図1A及び
図1B参照)。その結果、車両のグリル領域付近のシミュレーションでより細かいメッシュのVRが適用される傾向がある。より具体的には、典型的なLBMシミュレーションでは、
図1A及び
図1Bに概略的に示すように、車両のグリル101を囲むように最も細かい可変解像度VR領域の2つ(例えばVR10 103及びVR11 102)が適用され得る。図示の実装形態では、VR11 102の方がVR10 103よりもグリル101に近い。そのため、VR11 102の方がVR10 103よりもグリル101を密接に包み込む。VR11 102及びVR10 103の各々は、その中の狭い隙間/穴104を考慮することなくグリルの全体的な形状に近似する。殆どの場合、VR11に使用されるメッシュサイズは1mmであり、VR10のメッシュサイズは2mmである。この大雑把な戦略はシミュレーションのセットアップを単純化するが、シミュレーションリソースをことによると浪費する可能性がある(例えばグリルの開口サイズが(VR11ではなく)VR10だけで十分なほど大きい場合)。グリルを横切る流れを解像するには最低8ボクセルが通常必要である。従って、一部の例ではグリルを囲むVR11が不要であり得る(例えば開口サイズが16mmよりも大きい場合)。
図1A及び
図1Bでは、可変解像度領域VR10 103及びVR11 102が車両のグリル101を囲むように示されている。1mmのメッシュサイズを有し得るVR10 102は、2mmのメッシュサイズを有し得るVR11 102よりもグリル101に近い。
【0032】
(CAD又はメッシュファイルのレンダリングとしてコンピュータ画面上に表示され得る)図示の画像で表すグリル101は、グリル101を(例えば
図1Aで認識できるグリルの前面から前面の反対側にあるグリルの後面へと)貫通するほぼ均一な隙間/穴104のハニカムパターンを画定する構造を有する内部部分を取り囲む外側リム108を画定するように輪郭付けされた剛体を有する。実際、図示のグリル101の内部部分の全ての隙間/穴104は、隙間/穴104の一部が外側リム108によって切り取られる内部部分の縁(上部、下部、及び側部)を除き、内部部分の他の全ての隙間/穴104と同じ又は同様である。
図1Bの側面図で示すように、グリル101の内部部分の前面は、外側リム108の前縁から少し前方に延びている。審美的な観点から、パターンによって生じる視覚効果は見る者にとって心地よい又は魅力的なものとなり得る。機能的な観点から、パターンは、グリルを介して例えば車両のアンダーフード領域への空気流連絡路を提供する。この空気流は、典型的には運転中にとりわけ車両がエンジン又は電気モータの影響下で動作している間、車両から熱を除去するのに役立つ。グリル101の狭い隙間/穴104は、空気が車両の外側からグリル100を通ってほぼ水平方向(例えば
図1Bの左から右)に、及び車両のアンダーフード領域内に流入することを可能にする。
【0033】
図示の実装形態では、有向境界ボックス105が示されている。概して境界ボックスは、グリルモデルを構成する点集合の最低限又は最小の境界又は囲みボックスを取り囲んで画定する仮想ボックスである。境界ボックスは(例えば重力方向に対して平行及び垂直に配置されたデカルト座標軸と平行なエッジと共に)軸方向に位置合わせすることができる。或いは及び図示の実装形態によって表すように、境界ボックスは、境界ボックスの内部体積を最小化する(図示の)やり方でグリル101の設計に対して方向付けることができる。
【0034】
従って図示のOBB105は、全ての点が含まれる最小の体積を有する、自動車モデルを構成する点集合の最低限又は最小の境界又は囲みボックスを画定する。図示のOBB105は、モデル化されたグリル101の最も前の点に接触する前面、モデル化されたグリル101の最も後ろの点に接触する後面、モデル化されたグリル101の両側の最も遠い点にそれぞれ接触する側面、モデル化されたグリル101の最も低い点に接触する底面、及びモデル化されたグリル101上の最も高い点に接触する上面を有する正方形の立方体である。一部の実装形態では、モデル化されたグリル101上の複数の点が全て同一平面内にあり、その寸法内の最も遠い点を含む場合、それらの点に境界ボックスの表面の1つ又は複数が接触し得る。OBB105の寸法は、モデル化されたグリル101の全体的な長さ、高さ、及び幅を暗に定める。
【0035】
図示の実装形態では、初期視線ベクトル106も示されている。視線ベクトルは、モデル化されたグリル101の外側(及び前方)を起点とし、グリル101の前面に向けられ、OBB105の前面107に対して垂直に方向付けられたベクトルである。視線ベクトル106からモデル化されたグリル101を見ることは、グリル101の隙間/穴104を画定する構造の深さ(例えば
図1Aの深度)及び輪郭を所与とし、グリル101の隙間/穴104を通してできるだけ多くのものを見る可能性を高める。
【0036】
グリルの開口サイズを測定するための様々なやり方がある。従前の各方法には欠点がある。
【0037】
例えば手動測定は、グリルの開口サイズを求めるための比較的簡単なやり方である。しかし、設計及び車両モデルが多様であるためグリルの開口サイズは一様でない場合があり、VRの割り当てを決定するためにどのサイズを使用すべきかを決定するために、開口サイズに基づくVRの割り当てはエンジニアの主観に、時として不正確で一貫性のない判断に左右される場合がある。加えて開口部の3D形状によっては、距離測定のために2点を選ぶことが幾らか主観的であり得るので、サイズを手動で測定することは人為的な誤差を生じさせる可能性がある。更に、手動のサイズ測定及びVR領域のその後の手動の割り当ては、手動入力を望ましくは最小化する自動化されたワークフローでは、(速度又は効率の観点から)実行可能又は実用的でない可能性がある。従って、シミュレーションワークフローの自動化を促進し、任意の人的要因による不確実性を低減するために、開口サイズを正確に測定するための自動化された方法が必要とされる。
【0038】
この目標は、3Dジオメトリを解析し、可能性のある隙間を識別し、次いで隙間のサイズを計算しようと試みることによってことによると達成することができる。例えばジオメトリが三角形化されている場合、全ての三角形の中心点から光線を放射することができ、これらの光線の移動距離を測定することによって隙間のサイズを決定することができる。この光線追跡法の性能を改善するために八分木等のアルゴリズムを使用することができるが、返された距離がターゲットの隙間/開口部に属するかどうかを判定することは依然として困難である。別の方法は2つの物体から2組の点を識別し、次いでドロネー四面体分割を利用してそれらの2つの物体又は2点間の隙間を計算することであり得る。(例えばS.Goswami,G.Burenkov,2022,“Detection of gaps between objects in computer added design defined geometries”、米国特許出願第16/504,599号参照)。しかし、隙間距離及びこれらの2つの物体が形成する角度の閾値を定めるためにユーザ入力が通常必要であり、そのことはシミュレーションワークフローを自動化する目的にとって望ましくない。
【0039】
本明細書で開示するシステム及び/又は技法の実装形態は、これらの技術的課題/問題の1つ又は複数に対処し及び/又はそれを解決する。
【0040】
更に、とりわけグリルに組み込まれる又は取り付けられる可能性のある水平/垂直バー及び/又は車両ロゴ等の視覚ノイズ及び/又は障害物が存在する場合、グリルの隙間/穴の位置及びサイズを識別するためにグリルジオメトリの3次元(3D)形状解析を利用することは困難である。本明細書で開示するシステム及び技法の実装形態はそのような課題に対処する。
【0041】
加えて、グリルの開口部/穴の形状は車両モデル/設計によって異なる場合がある。例えば異なる車両モデル/設計におけるグリル開口部は、長方形、六角形、及び円形等であり得る。これらの異形は、開口部の全体的なサイズを検出しようとする際に追加の課題をもたらす。本明細書で開示するシステム及び技法の実装形態は、そのような課題を考慮しても適切なVRの割り当てを識別する推定を促進する。
【0042】
更に例えばアクティブグリルシャッタが存在するとき、視野角が車両の移動方向と平行である場合、グリルの向き及び平面板の可能な傾斜に応じて開口サイズが視覚的に小さく見えることがある。このことは、グリルの開口サイズを解析することが任意の画像処理技法を直接使用する場合に課題を生じさせる。本明細書で開示するシステム及び技法の実装形態は、これらの技術的問題に対処しそれを克服する。
【0043】
加えて、画像処理方法を使用して形状を解析する場合又は実際の開口サイズを決定する場合、優れた参照ジオメトリがないことにより空間較正が困難になり得る。自動化されたシミュレーションワークフローでは、実際に手動の空間較正は特に実行可能ではない。本明細書で開示するシステム及び技法の実装形態は、これらの技術的問題に対処しそれを克服する。
【0044】
更に、コンピュータプログラムが画像の解析を実行し開口サイズを決定できるように、最適化された視野角を有するグリルの画像をコンピュータプログラムで作成することは、既知の技法では困難であり得る。本明細書で開示するシステム及び技法の実装形態は、これらの技術的問題に対処しそれを克服する。
【0045】
加えて、本明細書で開示するシステム及び技法の実施形態は、ノイズの存在下で開口部の輪郭を識別し全体的な開口サイズを決定することができ、及び/又は様々な方向及び設計を有するグリルを扱うことができる。
【0046】
他の技術的課題及び問題も本明細書で対処することができる。
【0047】
一部の実装形態では、本明細書で開示するシステム及び技法は、自動化された計算流体力学(CFD)シミュレーションワークフロー(例えばCFDシミュレーションを行うためにコンピュータ上で実行されるコンピュータソフトウェアによって実装される)に統合して車両グリルの開口サイズとして使用される値を自動で評価及び/又は決定することができ、それによりCFDシミュレーションにおけるシミュレーションリソースを最適化するためにグリル領域に正しいVR領域を割り当てることができる。一部の実装形態では、本明細書で開示するシステム及び技法は、換気用に設計された任意の機器又は装置の開口サイズを検出するために利用することができる。
【0048】
例示的なコンピュータ環境
図8は、グリルジオメトリのコンピュータベースの表現に基づいて車両のグリルの開口サイズを表す値を自動決定するように構成されるコンピュータ1000の例示的実装形態の概略図である。一部の実装形態では、この決定は、精度と効率という競合する利益のバランスを適切に取るように、グリルを含むコンピュータベースのシミュレーション(例えばCFD)において、グリルにおける又はグリル付近の1つ又は複数の3次元(3D)可変解像度(VR)領域の(例えばコンピュータ1000による)自動割り当てを促進し又は可能にする。
【0049】
図示のコンピュータ1000は、プロセッサ1002、コンピュータベースのメモリ1004、コンピュータベースのストレージ1006、ネットワークインタフェース1007、入出力装置インタフェース1010、及びコンピュータ1000のコンポーネント間の相互接続として機能する内部バス1012を有する。バス1012は、コンピュータ1000の様々なコンポーネントが互いに通信及び相互作用することができる通信媒体として機能する。
【0050】
プロセッサ1002は、本明細書で開示する様々なコンピュータベースの機能、並びに本明細書で明示的には開示しない他の支援機能を実行するように構成される。プロセッサ1002が実行するコンピュータベースの機能の一部は、コンピュータ1000(又はプロセッサ1002)に特に起因するものとして本明細書で開示する機能である。一部の実装形態では、コンピュータ可読媒体(例えばメモリ1004及び/又はストレージ1006)上に記憶されたコンピュータ可読命令を実行することにより、プロセッサ1002がこれらの及び他の機能を実行する。様々な実装形態において、プロセッサ機能の一部は、これらのコンピュータ可読媒体の1つ又は複数の中に記憶されたデータ及び/又は何らかの外部ソースから(例えばI/O装置インタフェース1010を介してI/O装置から及び/又はネットワークインタフェース1007を介して外部ネットワークから)受信されるデータに関して実行され得る。図示の実装形態におけるプロセッサ1002は、ネットワーク上の単一のノードにおける単一のハードウェアコンポーネントとして表される。しかし様々な実装形態において、プロセッサ1002は様々な物理的な及びネットワークの位置/ノードにある複数のハードウェアコンポーネントに分散され得る。
【0051】
コンピュータ1000は、揮発性及び不揮発性両方のメモリ/記憶能力を(例えばメモリ1004内に)有する。図示のように、メモリ1004は、コンピュータのオペレーティングシステム1020並びに実行可能ソフトウェア1008をホストするように構成される。典型的な実装形態では、メモリ1004は、プロセッサ1002によって実行されるとき、本明細書で開示するコンピュータベースの機能の1つ又は複数をプロセッサ1002に実行させるコンピュータ可読命令を記憶するコンピュータ可読媒体として機能する。より詳細には、一部の実装形態では、メモリ1004は、例えばグリルジオメトリの(例えばコンピュータメモリ内にCADファイルとして記憶される)コンピュータベースの表現に基づいて車両のグリルの開口サイズを表す値を決定すること、及び/又はグリルを含むコンピュータベースのシミュレーションで使用される、グリルにおける又はグリル付近の1つ又は複数の3次元(3D)可変解像度(VR)領域(開口サイズの決定された値に基づく)を自動で識別し割り当てること、及び/又はグリルにおける又はグリル付近の割り当てられた3D VR領域の1つ又は複数を利用してグリルを含むコンピュータベースのシミュレーションを行うことを含む、本明細書で開示する様々な機能をコンピュータ1000が実行することを可能にするコンピュータソフトウェアを記憶する。様々な実装形態において、このコンピュータソフトウェアは独立したコンポーネントであり得るが、他の実装形態では、このコンピュータソフトウェアは、グリルジオメトリに基づくシミュレーションを実行する際に開口サイズの計算値、(計算された開口サイズに基づく)VR領域の割り当て、又はその両方を利用するコンピュータベースのシミュレーションを促進し実行するために、メモリ1004内に記憶された別のソフトウェアプログラムに統合され、及び/又は関連して利用されるように設計され、利用されるように動作可能であり得る。
【0052】
例えば一定の実装形態では、前述のコンピュータソフトウェアはDassault Systemes Simulia Corp.から入手可能なPowerFLOW(登録商標)シミュレーションソフトウェアに統合され得る。PowerFLOW(登録商標)シミュレーションソフトウェアは、流量問題の計算シミュレーションのための独自のソリューションを提供する。このソフトウェアは、過渡流又は定常流のシミュレーションを問わず幅広い応用に適している。DIGITALPHYSICS(登録商標)テクノロジに基づく強化された粒子ベースの方法を使用し、PowerFLOWは、空気力学シミュレーション、熱シミュレーション(例えば対流、伝導、輻射、及び熱交換器を含む)、及び航空音響シミュレーションを含む幅広いモデリング及び解析機能を提供する。PowerFLOW(登録商標)シミュレーションソフトウェアは、自動車及び他の地上輸送、航空宇宙、石油、建築設計及び建築/エンジニアリング/建設(AEC)、暖房、換気、及び空調(HVAC)、並びにエレクトロニクス等の産業における流量設計問題をシミュレートすることができる。自動車の応用は、例えば抗力及び揚力に関する車全体の外部空力学、底部の設計、サイドミラー、アンテナ、ガラスオフセット、及び詳細設計のための騒音源の特定又は空力音響学、風洞の設計及び検証、吸気ポート、マニホールド、暖房及び空調ダクト、ボンネット冷却、フィルタ設計、並びにフロントガラスワイパー設計等を含む。例えば本明細書で開示する技法を組み込むように適合されるPowerFLOW(登録商標)シミュレーションソフトウェア等のプログラムは、コンピュータによって実行されるとき、車両のグリルの開口サイズを表す値を自動決定する能力、(例えばコンピュータベースのシミュレーション目的で)グリルにおける又はグリル付近の3次元(3D)可変解像度(VR)領域を促進し及び/又は自動で割り当てる能力、及び/又は割り当てられた3D VR領域に基づいてグリルのシミュレーションを実行する能力を有することができる。
【0053】
図示の実装形態では、コンピュータ1000は、実質的に任意の形式のコンピュータベースの記憶装置又はコンポーネントであり得る記憶装置1006も有する。
【0054】
図2は、グリルのジオメトリを含むグリルの仮想的な3次元のコンピュータベースの表現に基づいてグリルの開口部のサイズを表す値を決定するためのプロセスの例示的実装形態を表すフローチャートである。一部の実装形態では、この値は(例えば計算流体力学の観点から)コンピュータベースの環境内でグリルをシミュレートすることに関連して使用するための、グリルにおける又はグリル付近の1つ又は複数の3次元(3D)可変解像度領域の自動の又は少なくとも単純化された割り当てを促進する及び/又は可能にするために利用することができる。例示的実装形態では、図示のフローチャートによって表すプロセスは
図8のコンピュータ1000等のコンピュータベースの環境内で実装され、図示の処理ステップはプロセッサ1002によって又はプロセッサ1002の支援若しくは関与によって実行される。
【0055】
図示のフローチャートによるプロセスは、(201で)3次元(3D)グリルジオメトリをインポートすることを含む。典型的な実装形態では、このインポートステップは、3Dグリルジオメトリのコンピュータベースの表現を(例えば或るアプリケーションから別のアプリケーションに)インポートすることを含む。この場合のソース(又はオリジン)アプリケーションは、例えば3Dグリルジオメトリのコンピュータ表現が作成及び/又は記憶されたソフトウェアアプリケーションであり得る。このアプリケーションは、Dassault Systemesから入手可能なSOLIDWORKS(登録商標)CADソフトウェア等のコンピュータ支援設計(CAD)アプリケーションであり得る。この場合のデスティネーションアプリケーションは、さもなければ
図2に示すプロセスが行われる(例えば3Dグリルジオメトリのコンピュータ表現が本明細書に記載の通り処理及び解析される)ソフトウェアアプリケーションとなる。或る特定の例では、デスティネーションアプリケーションは、
図2に示し本明細書に記載する機能を含むように適合される、同じくDassault Systemesから入手可能なPowerFLOW(登録商標)シミュレーションソフトウェアであり得る。デスティネーションアプリケーションは、(例えば
図8の1010に接続される)コンピュータ画面上で3Dグリルの視覚表現を見ることを容易にするジオメトリツール又はジオメトリビューアを含み得る。3Dグリルジオメトリは、例えばステップ201でジオメトリプログラムからインポートされたCAD又はメッシュファイル内に含まれ得る。
【0056】
一部の実装形態では、インポートプロセス(102)はコンピュータ(例えば1000)によって自動で実行される。一部の実装形態では、(102での)インポートプロセスは、(例えばコンピュータ1000のユーザインタフェースにおいて)人間ユーザがインポートオプションを選択すること、又はインポートを開始するための他の何らかのステップ若しくはステップの組み合わせを行うことに応答して実行される。例示的実装形態では、このインポートプロセスが
図1A及び
図1Bに示すグリル101の設計を表すデータのインポートをもたらす。しかし(ステップ201で)インポートされるデータは、OBB105、視線ベクトル106、又は3D VR領域102、103の何れかを表す情報を典型的には含まない。例示的実装形態では、
図1A及び
図1Bに示すグリル101のジオメトリを表すデータがCADファイルから又はCADファイル形式でインポートされる。
【0057】
次に、図示のフローチャートに従い、コンピュータ1000はインポートされたグリル(例えば101)のジオメトリに関する有向境界ボックス(OBB)105を(202で)計算する。典型的な実装形態では、このステップは
図1A及び
図1Bに示すように、OBB105を完全に画定するために、インポートされたグリル101の設計に対するOBB105のための仮想パラメータを決定することを含む。OBB105は、典型的にはインポートされたグリル(例えば101)のジオメトリから直接生成される。これに関してコンピュータ1000は、コンピュータプロセッサ1002によって実行されるとき、インポートされたグリル(例えば101)のジオメトリに基づいてOBB105のパラメータ(及び任意で例えば
図1A及び
図1Bに示すOBB105の視覚表現)をコンピュータプロセッサ1002に自動で生成させるコンピュータ実行可能命令を記憶する。
【0058】
一部の実装形態では、コンピュータ1000は(例えばモデル化されたグリル(例えば101)が201でインポートされることに応答して)このOBB生成機能を自動で要求する。一部の実装形態では、コンピュータ1000は、例えば人間ユーザからの外部プロンプトに応答してOBB生成機能を要求する。後者の場合、コンピュータ1000は、自らのユーザインタフェースにおいてユーザが選択可能な選択項目を提示するように構成することができ、その選択項目を人間ユーザが選択することは、コンピュータ1000にOBB生成機能を要求させて、インポートされたグリルジオメトリに基づいてOBB105を自動で生成させる。
【0059】
OBB105を生成するために、インポートされたグリルジオメトリを表すデータセットにコンピュータ1000が適用することができる様々な最小境界ボックスアルゴリズムがある。
【0060】
例えばコンピュータ1000は、インポートされたグリルジオメトリのデータセットに回転キャリパアルゴリズムを適用することができる。この回転キャリパアルゴリズムは、International Journal of Computer & Information Sciencesの183~199頁、Finding Minimal Enclosing Boxesと題されたJoseph O’Rourkeによる1985年の論文に記載されている手法に基づき得る。この手法は最小の囲みボックスを以下のように、つまり1)点集合の凸包のエッジをどちらも含む、最小体積の囲みボックスの隣接する面が2つ存在しなければならない(この基準はボックスのエッジと同一線上の単一の凸包のエッジによって、又は隣接するボックスの面内にある2つの異なる凸包のエッジによって満たすことができる)ように、及び2)他の4つの面は凸包の点を含むだけでよい(それらの面が含む点は異なる必要はなく、例えばボックスの角にある単一の凸包の点はこれらの4つの基準のうちの3つを既に満たしている)ように特徴付ける補助定理に基づく。(Shamos, M., 1978. “Computational Geometry,” Yale University. pp. 76-81も参照されたい)。
【0061】
最小境界ボックスの体積を1よりも大きい任意の定数係数の中で、線形時間で近似することも可能である。これを行うための1つのアルゴリズムは、点集合の直径の近似を求め、その直径に対して方向付けたボックスを最小体積の境界ボックスの初期近似として使用することを含む。次いでこの初期境界ボックスをより小さな立方体のグリッドに分割し、入力の凸包の境界付近のグリッド点をコアセットとして使用し、コアセットはその最適境界ボックスが元の入力の最適境界ボックスに近似する小さい点集合である。最後に(前述の)O’Rourkeのアルゴリズムを適用して、このコアセットの正確な最適境界ボックスを求めることができる。
【0062】
(ステップ202で)計算されると、OBB105はデータとして(例えばコンピュータメモリ1004内に)記憶することができる。更に一部の実装形態では、コンピュータ1000は、(例えば1010に結合された)コンピュータディスプレイ画面上でOBB105の視覚表現を生成するように構成されてもよく、その視覚表現は
図1A及び/又は
図1BのOBB105の視覚表現のように表示され得る。更に一部の実装形態では、コンピュータ1000は、そのディスプレイ上でOBB105の視覚表現を提示するように構成され得る。一部の実装形態では、OBB105の視覚表現がOBB105に関連するグリル101のジオメトリの画像と共に提示される。一部の実装形態では、他の様々な情報(例えば長さ、高さ、及び/又は幅等の寸法)及び/又はOBB105のコーナノードの位置情報がディスプレイ上のユーザインタフェースによってユーザに表示されてもよく又はユーザにとってアクセス可能であり得る。
【0063】
典型的な実装形態では、OBB105は各側面(又は面)が任意の隣接する側面(又は面)に対して垂直な6面の3Dボックスである。この例を
図1A及び
図1Bに示し、OBB105は3Dであり、前面107、後面109、右側面111、左側面113、上面115、及び底面117の6つの側面(又は面)を有する。これらの面107~117のそれぞれは隣接する面に対して垂直である。例えばOBB105の前面107は隣接する上面115、隣接する底面117、及び隣接する側面111、113に対して垂直である。
【0064】
次に、図示のフローチャート内で表すプロセスに従い、コンピュータ1000は(203で)初期視線ベクトル106を計算する。典型的な実装形態では、コンピュータ1000はグリルのO+BB105情報を使用して初期視線ベクトル106を計算する。コンピュータ1000がグリルのOBB105情報を使用して初期視線ベクトル106を計算することができる様々なやり方がある。例えば殆どの場合、検討対象のグリルはフロントグリルであり、車両は典型的な慣例により常にX方向に沿って(例えば図示のように)配置される。そのためコンピュータ1000は、それらの実装形態では単に+X方向を視線方向として使用することができる。更にジオメトリツールには、典型的には「ズームトゥフィット:zoom to fit」機能が組み込まれている。そのためコンピュータ1000は、+X方向を視線方向として設定し、そのズームトゥフィットを使用してグリルの完全なビューを作成することができる。更に一定の実装形態では、コンピュータ1000がOBB情報を取得すると、システムはOBBの中心を開始点として指定することができ、ベクトルの方向はOBBの前面に対して垂直になる。
【0065】
図1A及び
図1Bに示すような典型的な実装形態では、ステップ205で撮影される開始画像内で開口部が見える(透かして見ることができる)可能性が比較的高いことを確実にするために、初期視線ベクトル106がOBB105の前面に対して垂直であり、前面に向かっている。
【0066】
一部の実装形態では、コンピュータ1000は、初期視線ベクトル106の視覚表現を提示するように構成することができる。一部の実装形態では、初期視線ベクトル106の視覚表現は、初期視線ベクトル106が
図1B内で表示されるのと同じやり方で、つまり初期視線ベクトル106がグリル101のジオメトリ及び関連するOBB105の画像と共に表示され得る。一部の実装形態では、他の様々な情報(例えば長さ、高さ、及び/又は幅等の寸法)及び/又はOBB105のコーナノードの位置情報がディスプレイ上のユーザインタフェースによってユーザに表示されてもよく又はユーザにとってアクセス可能であり得る。
【0067】
次に、図示のフローチャートに従い、コンピュータ1000は(204で)空間較正ボックス302を作成する。本質的に、画像を使用して距離を測定するにはピクセル領域(例えばグリルの画像)と物理領域(例えばモデル化されたグリルの現実世界のバージョン)との間の関係(又は比率)を確立する必要がある。このプロセスを空間較正と呼び、この点に関して求められる関係/比率は変換比率又は較正係数によって表される(ピクセル対実距離比と呼ばれ得る)。
【0068】
例示的実装形態では、コンピュータ1000が式1:
【数1】
によってピクセル対実距離比を計算し、但しL
rはモデル化された物体(例えばグリル)の現実世界の長さであり、L
pはモデル化された物体の画像内で示されるピクセル単位の対応する長さである。例えば物体の画像が(例えば画面上で)回転される場合、画像内で表示されるピクセル単位の目に見える擬似サイズが変化するため、この較正係数は変化する可能性がある。
【0069】
空間較正ボックス302を作成する様々なやり方がある。典型的には、空間較正ボックス302は
図3A~
図3Cに示すようなものであり、非常に小さい厚さ(例えば1ミリメートル)の3Dボックス又は2次元(2D)の正方形である。コンピュータ1000は、空間較正ボックス302の高さ(H
SCB)及び幅(W
SCB)をOBB105の高さ(H
OBB)に等しく設定する。コンピュータ1000は、空間較正ボックス302の幾何学的中心を(
図3A、
図3B、及び
図3Cに示すように)グリル301のジオメトリの画像の左側(又は右側)に配置するが、空間較正ボックス302の幾何学的中心をOBB105の前面107の中心に合わせる。この薄い較正ボックス302が必要なのは、グリル301の寸法が分かっていてもグリル301のジオメトリ自体を回転プロセス中に較正目的で使用できないからである。その理由は、グリル301は314で見えるような非自明な厚さを通常有するからである。314(
図3A)から315(
図3C)へのグリルの厚さの外観の変化を比較することによって示すように、この厚さは、グリル301のジオメトリの画像が(水平軸304を中心に)回転されるとき、グリル301のジオメトリの見かけの高さ又は幅を人為的に増加させ得る人工的なボリュームを画像内に作り出す。
【0070】
図3Aは、201でインポートされたグリルジオメトリデータから生成されている可能性があるグリル301のジオメトリの正面画像の隣に例示的な空間較正ボックス302を示すビューである。
図3A~
図3Cのグリルジオメトリ301は、
図1Aのグリルジオメトリ101の図に類似している。空間較正ボックス302の頂点の2つが、
図3Aの中で312及び313として印付けされている。また、水平回転軸304及び垂直回転軸306という2つの回転軸も示されている。これらの軸304、306の各々はモデル化されたグリル301の画像を通る(例えばモデル化されたグリル301の画像の幾何学的中心を通る)。
【0071】
図3Bは、グリル301のジオメトリの正面画像の隣に空間較正ボックス302の画像を示すという点で
図3Aの画像に類似する画像308を示す。同様に
図3Cは、グリル301のジオメトリの正面画像の隣に空間較正ボックス302の画像を示すという点で
図3Aの画像と類似している画像309を示す。但し、画像308及び309は
図1の画像307の(水平軸304を中心とする)逆(時計回り)回転及び順(反時計回り)回転から生成された例示的なものである。グリル301のジオメトリのビュー及びグリル301の開口部は、図示のように画像が水平軸を中心に回転されるとき、サイズ及びジオメトリの点で異なるように見える。
【0072】
典型的な実装形態では、コンピュータ1000は、開始画像を(例えば水平軸304を中心に)逆方向又は順方向又はその両方に回転させることにより、
図3A、
図3B、及び
図3Cに示すような一連の画像を生成するように構成される。更にコンピュータ1000は、何らかの初期角度(任意で0度として指定され得る)を含む各回転角度において画像のスクリーンショットを撮るように構成され得る。スクリーンショットは、その作成時に(例えばメモリ1004内に)保存することができる。これにより、グリル301のジオメトリ及びグリル301のジオメトリの隣にある空間較正ボックス302の一連の画像が(共通の軸、例えば水平軸304を中心とする)様々な回転角度で生成される。
【0073】
再び
図2のフローチャートを参照し、コンピュータ1000は(205で)、グリル301及び空間較正ボックス302がディスプレイ画面上に同時に存在し、回転角度がゼロ度の状態でグリル301及び空間較正ボックス302のスクリーンショットを撮る。この回転角度(ゼロ度)は殆どの場合、203で計算された初期視線ベクトル106によって定められる視点及び方向からのグリル301及び空間較正ボックス302のビューに対応し得る。従って、このスクリーンショットを生成するために使用される視野角は初期視線ベクトル106によって決定される。このようにして捕捉された画像は、グリル301及び空間較正ボックス302を(水平軸304を中心に回転させた)様々な回転角度で示す一連の画像内の第1の画像又は一次画像307として指定することができる。
【0074】
次に、図示のフローチャートに従い、コンピュータ1000は(206で)グリル301のジオメトリ及び空間較正ボックス302の画像を回転させる。一実装形態では、この回転は水平軸304を中心に行われる。しかし他の実装形態では、この回転が代わりに垂直軸306を中心に行われる。回転方向は、(
図3Aの水平軸304の周りの曲線矢印によって表す)順方向又は(
図3Aの水平軸304の周りの曲線矢印の反対の)逆方向とすることができる。コンピュータが(206で)画像を回転させる角度量は変化し得る。様々な実装形態において、角度は1度以下、2度以下、3度以下、4度以下、5度以下、10度以下等である。
【0075】
例示的実装形態では、回転(例えば水平軸304を中心とした順方向への回転)は、画像の視覚的外観を
図3A(307)のように見えるものから
図3C(309)のように見えるものへと変える。見て分かるように、グリル301のジオメトリがこれらの2つの画像307及び309において同じであるにもかかわらず、グリル301に対する視点及び視野角が変化するので、その外観(グリルの開口部のどの程度が透けて見えるのかを含む)は変化する。他の変化も明らかである。例えばグリルの厚さの外観は、グリル301のジオメトリの画像を(水平軸304を中心に)順方向に回転させたとき(
図3Aのビュー307内の)314から(
図3Cのビュー309内の)315に増加する。
【0076】
画像が(例えば
図3Aのビュー307から
図3Cのビュー309へと)回転されると、コンピュータ1000は(207で)新しいビュー(309)の新しいスクリーンショットを撮る。コンピュータ1000は、典型的には(205で撮影及び保存した)元のスクリーンショットと共に、新しいスクリーンショットをメモリ(例えば1004)内に記憶する。
【0077】
典型的には、ステップ206及び207は、異なる視点/視野角から同じグリル301のジオメトリを示す一連の複数の異なる画像を生成するために、異なる回転角度で撮られたスクリーンショットと共に同じ画像を用いて複数回繰り返される。これらのスクリーンショットの各々は、メモリ(例えば1004)内に一緒に記憶することができる。一部の実装形態では、異なる視点/視野角は、コンピュータ1000が各スクリーンショットの画像を前のスクリーンショットよりも少し順方向に回転させることによって生じる。一部の実装形態では、異なる視点/視野角は、コンピュータ1000が各スクリーンショットの画像を前のスクリーンショットよりも少し逆方向に回転させることによって生じる。一部の実装形態では、異なる視点/視野角は、コンピュータ1000が(205で撮影及び保存した)元のスクリーンショットの視野角及び視点に対して異なる量だけ画像を順方向及び逆方向に回転させることによって生じ得る。
【0078】
例えば特定のグリル設計及びその向きによっては、初期視線ベクトル106を使用して生成される画像307が開口サイズを解析するのに最適な画像でない可能性があるので、前述の手法は有用である。その理由の1つは、開口部の穴が(例えば周囲の構造物によって)塞がれ、誤解を招くほど小さい開口部が画像内に表示される可能性があることである。このような(例えば誤解を招くほど小さい開口サイズが表示された)画像を開口サイズの計算に使用した場合、重大な誤差が生じる可能性がある。開口サイズを手作業で(例えば現実世界の技術者によって)測定する場合、技術者は開口サイズを実際に測定する前に現実世界のグリルを回転させて最良の視野角を見つけることができる。このプロセスを模倣するために、コンピュータ1000は、ステップ206で(その幾何学的中心において旋回される)グリル301のジオメトリの画像をその水平軸304を中心に回転させる。カメラの視野角及び位置(即ちスクリーンショットが207で撮られる視点)は、ジオメトリを回転させるプロセスの間変更されないままである。グリル301及び較正ボックス302を含むスクリーンショットが(207で)θ°の回転角度ごとに撮られる。θの値は、性能及び精度のバランスを取るために最適化することができる。回転は、例えばターゲット画像がどの角度で見つかるのかに応じて、時計回り方向及び反時計回り方向又はその両方で順次行われ得る。ここでも、画像308及び309は逆方向(時計回り)及び順方向(反時計回り)の回転から生成された例示的なものである。
【0079】
コンピュータ1000が異なる視点/視野角から同じグリル301のジオメトリを示す複数の異なる画像を生成すると、コンピュータ1000は(208で)それらの画像のうちのどれが最大の開口サイズを有するのかを識別する。このプロセスについては以下で更に論じる。何れの画像も最大の開口サイズを有するものとして(208で)識別できない場合、図示のフローチャートによれば、コンピュータ1000はステップ209に進み、(209で)グリルジオメトリの画像(例えば初期画像307)を垂直軸206に沿って回転させ、(207で)θ°の回転角度ごとにスクリーンショット207を撮り、垂直軸306を中心とする異なる回転角度で空間較正ボックス302と並んだグリル301のジオメトリを示す新しい一連の画像を生成する。この新しい1組の画像を生成した後、コンピュータ1000はステップ208に戻り、(異なる視野角及び視点から同じグリルジオメトリを示し、今度は水平軸204の代わりに垂直軸206を中心に回転させた)最大開口サイズを有する画像を(今回はスクリーンショット画像の新しい集合の中から)見つけようと試みる。
【0080】
典型的な実装形態では、(208で)最も大きい(又は最大)の開口サイズを有する画像が識別されると、コンピュータはその特性を示す指示と共にその画像をメモリ内に保存し又はメモリ内でフラグを立てる。
【0081】
次に、図示のフローチャートに従い、コンピュータ1000は、最大の開口サイズを有するものとして(208で)決定された画像の較正係数(又はピクセル対実距離比)を(210で)計算する。空間較正ボックス302の物理的な高さは、その作成時にステップ204から既に知られている(及びメモリ、例えば1004内に記憶されている)ので、空間較正ボックス302のピクセル単位の高さだけを求める必要がある。一実施形態では、これは光線(310、311)をディスプレイ画面の上側の角及びその近傍から垂直下方向に(
図3Aの画像307内の光線310参照)、及びディスプレイ画面の下側の角から垂直上方向に(
図3Aの画像307内の光線311参照)投射することを含むプロセスによって計算することができる。これらの光線(310、311)が投射される角は、ディスプレイ画面の空間較正側の角(即ち空間較正ボックス302が位置するグリル301のジオメトリ側)である。
【0082】
一部の実装形態では、一度に一本の光線が画像307の上縁から及び画像307の下縁から投射され得る。例えば図示の実装形態では、各光線投射の最初のもの、上縁及び下縁は画像307の最も左の縁に最も近くあることができ、後続の各光線は前の光線の数(1つ又は複数の)ピクセル隣の上縁及び下縁上の点を起点として(空間較正ボックス302に向けて)投射され得る。一部の実装形態では、(横方向に数ピクセル(1つ又は複数)互いに隔てられる)複数の光線が画像307の上縁から下方向に同時に、及び画像307の下縁から上方向に同時に投射され得る。
【0083】
投射された光線の特定の一本が暗くなったピクセルに一度も衝突又は到達しない場合、典型的な実装形態では、コンピュータ1000は、空間較正ボックス302のどの部分もその投射光線が横切る経路に沿って存在しないと結論付けることができる。例えば
図3Aの左端の光線(下方投射及び上方投射)は、暗くなったピクセルに到達することなしに画像307の全体を横断することになる。それが生じると、コンピュータ1000は、空間較正ボックス302のどの部分もそれらの左端の光線が横切る経路に沿って存在しないと結論付ける。他方で、投射された光線の特定の一本が暗くなったピクセルに衝突又は到達する場合、典型的な実装形態では、コンピュータ1000は、その暗くなったピクセルが空間較正ボックス302に対応する(及びその一部を形成する)と結論付けることができる。
【0084】
典型的な実装形態では、ピクセルが較正ボックス302に属することを示す任意の暗くなったピクセル(例えば黒い色を有するピクセル)に投射光線(例えば投射光線310及び311の各グループからの一本)が当たるとき、コンピュータ1000はその光線の移動距離を(例えばメモリ1004内に)記録する。典型的な実装形態では、移動距離はピクセル単位で記録される。例示的実装形態では、光線310、311の各グループからの少なくとも一本の光線が1つの黒いピクセルに当たるとき投射プロセスが停止する。ピクセル単位のこれらの2つの衝突点の座標が返される(及び例えばメモリ1004内に記憶される)。これらの2つの座標は、空間較正ボックス302の頂点312及び頂点313にそれぞれ属する。従ってコンピュータ1000は、これらの2つの頂点間の垂直距離に等しいものとして空間較正ボックス302のピクセル単位の高さを決定することができる(及び決定する)。較正ボックス302は2次元(2D)領域内の正方形なので、画像内のその位置情報(例えばその4つの頂点の座標)はコンピュータ1000によって知られている。従ってコンピュータ1000は、空間較正ボックスの物理的な高さ(例えばミリメートル単位)をそのピクセル単位の高さで除算することによって較正係数を識別することができる(及び識別する)。そのとき較正係数の単位は、物理的寸法をピクセル当たりmmの単位で表すmm/ピクセル(mmは代表的なものとして選択しており、他の物理的単位が選択されてもよい)とすることができる。
【0085】
代替的実施形態では、較正ボックス302のピクセル高さは、ボックスの4つのエッジを表すピクセル情報をまず抽出し、次いで1対の平行な点集合を見つけてそれらの2つの点集合間の距離を計算すること、又は全てのエッジ点間の最大距離を見つけて対角距離を求め、ピタゴラスの定理を使用してボックスの高さを計算することによって得ることができる。かかる実装形態では、コンピュータ1000がこれらの計算を行うことになる。グリル301及び較正ボックス302は画像307の中に一緒に存在するので、較正ボックス302のエッジ情報を抽出するために幾らかの作業を行う必要がある。1つの方法はグリル301を非表示にし、視線ベクトルを変えずにボックスだけで別のスクリーンショットを撮り、次いで(例えば上述したように光線投射を使用する)エッジ検出を実行して較正ボックス302のエッジ情報を抽出することである。別の方法は、ビュー内の較正ボックス302のジオメトリに色を割り当て、その色のRGB(赤色、緑色、青色)値を使用して較正ボックス302を識別することである。一実装形態では、ジオメトリ表示ツールは、ジオメトリに表示色を割り当てるオプションを提供する。例えばジオメトリツールにボックスがロードされると、ユーザはそのボックスの色をユーザに表示される既定色(通常灰色)ではなく黄色又は赤色に設定することができる。ユーザが較正ボックスに赤色を設定したとする。するとコンピュータ1000は、このボックス及びグリルを含む所与の画像の色又はRGB値を確認することができる。コンピュータ1000は問題のボックスが赤色だと認識することができるので、コンピュータ1000は任意の赤色ピクセルがボックスに属することを知る/指定することができる。従って、この点に関してコンピュータ1000は較正ボックスの位置を識別することができる。
【0086】
最大開口面積を有するターゲット画像の識別
一実施形態では、コンピュータ1000は、既定の総数の画像を取得した後で回転スクリーンショット撮影プロセスを停止する。この既定の数はメモリ(例えば1004)内に記憶されてもよく、一部の事例ではユーザが指定してもよい。かかる実装形態では、この数に達したときにプロセスが終了する。コンピュータ1000は、典型的には全ての収集画像をメモリ(例えば1004)内に記憶する。
【0087】
上述したように、コンピュータ1000は(ステップ208で)、収集された画像のどれが収集されている画像のうちで最も大きい(又は最大)の可視開口サイズを有するのかを求める。例示的実装形態では、収集された画像は、0°の回転角度で撮影された初期画像、逆回転から作成された画像セット、及び順回転から作成された画像セットの3つのグループに分類される。例示的実装形態では、それぞれの穴がAiの面積を有する。コンピュータ1000は、穴の全ての面積を合計し、総開口面積Aを得るように構成される。各画像についてコンピュータ1000は、全画像のうちの全てのAiの最大値に等しい、最大開口面積と示される面積Aを更に決定する。最大開口面積が表示された画像は、最大の開口サイズを表すのでターゲット画像である。このターゲット画像を検索するために、コンピュータ1000は初期画像から始まる各画像の総開口面積を計算し、次いで例えば回転角度が増加する順に逆回転画像セットを掃引する。殆どの場合、コンピュータが初期画像から逆回転画像セットを通して進むにつれ、総開口面積について計算される値が画像ごとに変化する(例えば増加又は減少する)。典型的な実装形態では、掃引プロセスにおいて考慮される、特定の画像について計算された総開口面積が減少している(即ち直前の画像について計算された総開口面積よりも小さい)と判明した場合/とき、コンピュータ1000は掃引プロセスを停止する。この画像(即ち総開口面積が減少した画像の直前のシーケンス内の画像)が選択され、メモリ1004内で一時的なターゲット画像として指定される。
【0088】
次いでこの例のコンピュータ1000は、回転角度が増加する順に順回転画像セットを掃引して、前に指定した一時的なターゲット画像よりもその総開口面積が大きい任意の画像があるかどうかを判定する。同様に、或る画像から次の画像へと値が減少していると判明した場合/とき、コンピュータ1000は(順回転画像の)掃引プロセスを停止する。
【0089】
(逆回転画像を走査することによって見出された)前に指定した一時的なターゲット画像よりもその総開口面積が大きい画像を順回転画像の掃引が得ない場合、コンピュータ1000は、一時的なターゲットを最終ターゲット画像(即ち全ての捕捉画像の中で最大の開口面積を有する画像)として(メモリ1004内で)指定する。順回転画像の掃引が、(逆回転画像を走査することによって見出された)前に指定した一時的なターゲット画像よりもその総開口面積が大きい任意の画像を明らかにした場合、コンピュータ1000は、総開口面積の減少を示した画像の直前に来た順回転画像のシーケンス内の画像を最終ターゲット画像として(メモリ1004内で)指定する。順掃引及び逆掃引が(初期画像に対して)即座の減少する総開口面積を明らかにした場合、コンピュータ1000は初期画像を最終ターゲット画像として(メモリ1004内で)指定する。従って例示的実装形態では、このプロセスが完了すると最終ターゲット画像がコンピュータ1000によって識別される。
【0090】
上述したプロセスは、グリル301と同様のメッシュ又はハニカム設計を有するグリル、又は水平バー設計を有する401と同様のグリルに対して上手く機能し得る。グリルが回転されているとき、グリル401の水平バー402(又はグリル301の六角形の穴)は、グリル内の穴(例えば403)を見る遮蔽を作り出す。従って、総開口面積を画像ごとに解析するとき明白な変化が明らかであり(及び前述の方法を使用して識別することができ)、そのためロゴ404等のノイズの多い物体が存在しても回転プロセスを終了することができる。しかしグリルが(ロゴの有無にかかわらず)垂直に並べられたバーを有する406と同様の設計を有する場合、水平軸を中心にグリルを回転させたとき、グリルの回転時に垂直バー406が如何なる穴も塞ぐことがないため、総開口面積の変化はあったとしても取るに足らないものになる。この課題に対処するのを助けるために、一部の実装形態ではコンピュータ1000は、ステップ208でターゲット画像が見つからない場合にグリルをその垂直軸306に沿って回転させる追加のステップ209を導入することができる。ステップ208の画像掃引プロセスは、(初期ビュー、グリルを左に回転させた一連のビュー、及びグリルを右に回転させた一連のビューをスクリーンショットすることによって作成される)これらの新しい画像セットに対して繰り返される。
【0091】
代替的実施形態では、コンピュータ1000は、θの各角度において生成画像を動的に解析し、現在の画像の総開口面積を計算した後でのみ新しい画像を生成し続けることにより、回転スクリーンショット撮影プロセスを停止する。このプロセスは、初期-逆方向-順方向のスクリーンショット捕捉のシーケンスに依然として従う。上記の第1の実施形態で使用した方法と比較し、この方法は関与する特定のグリル設計に応じてより少ない又は同数の画像を解析することになり得る。
【0092】
画像内の総開口面積の計算
1つの穴の開口サイズはその面積に比例するので、穴の全体的な開口サイズを計算するのに相当量の計算リソースを費やす代わりに、典型的な実装形態ではコンピュータ1000は、より計算集約的でないやり方で、ステップ208で総開口面積を計算する。開口面積をグリルのフレームから区別するために、コンピュータは2色の又は互いに異なる外観(例えば白色及び黒色)でのみ構成される2値画像として画像を作成し、又はかかる2値画像へと画像を変換する。例示的実装形態では、カラー画像又はグレースケール画像を2値画像に変換するための任意の画像プロセス技法を利用する代わりに、ジオメトリツール又はビューアの背景色を白色に設定しグリルジオメトリの色を黒色に設定することによってスクリーンショットが撮影されるとき、ステップ205でコンピュータ1000が2値画像を直接生成する。
【0093】
ジオメトリツール又はビューアの背景色を白色に設定し、グリル501のジオメトリの色を黒色に設定した(ステップ205で作成された)グリル501の2値画像の例示的な外観を
図5Aの画像502の一部として示す。画像502には、グリル501のジオメトリの隣にある空間較正ボックス505のビューも含まれている。
【0094】
図5Aに示す画像502は、グリル501及び較正ボックス505の周囲の空間503の色が(グリル501の開口部のように)白色であるので、コンピュータ1000による総開口面積の計算に直接使用することはできない。回転させた場合、空間503の総面積の変化は、入力グリル501の未知の形状が原因で予測できない(ここで言う「入力グリル」という語句はプログラム又はジオメトリビューア内にロードされたグリルデータに関する)。その結果、ターゲット画像検索プロセスに誤差が生じる可能性がある。この課題を克服するために、コンピュータ1000は空間503を黒く着色し、グリル501の穴/開口部のみが白い
図5Bの画像506を生成する。白い穴/開口部から見た画像506の残りの部分は黒色である。
【0095】
コンピュータ1000が
図5Aの画像502から
図5Bの画像506を生成することができる様々なやり方がある。一実装形態によれば、コンピュータ1000は、光線投射方法を利用し、画像502の四方全てから水平又は垂直の内向き方向に光線504を射出することにより(例えば
図5A参照)、前述の空間着色プロセスを自動化する。コンピュータ1000は、各光線504が訪れる各ピクセルの色を調べ、そのピクセルの元の色が白色であった場合はそのピクセルの色を黒色に更新する。各光線504は、既に黒色であったピクセルに到達したとき(光線が到達したとき)停止する。一部の例では、既に黒いピクセルに到達することは、問題の光線がグリルの境界に到達している可能性があり、従って停止できる(及び停止する)ことを表す。
【0096】
しかし、較正ボックス505の色も黒色であるため、特別に扱われなければアルゴリズムを機能しなくさせる。例えば画像502の左側から来る光線504が空間較正ボックス505の左端に到達したとき単に停止した場合、空間較正ボックス505とグリル501との間の白い空間503の一部が黒くならず、開口面積のその後の計算が損なわれる。この課題に対処する1つのやり方は以下の通りである。較正ボックス505の4つの頂点の座標情報は較正係数の計算時に(210で)コンピュータ1000によって以前に得られている(及びメモリ1004内に記憶されている)ので、コンピュータ1000は単に、空間較正ボックス505のゾーン内(即ち頂点における角を有する長方形によって輪郭付けされた空間内)にある光線が到達するピクセルの色を更新せず、光線がそのゾーンの外側にあるピクセルに到達するとピクセルの色の(白色から黒色への)更新を再開する。更に、ピクセルが黒色(空間較正ボックスのゾーン内)でも、コンピュータは光線が黒いピクセルに到達したときさもなければ行うように光線を停止するのではなく、空間較正ボックスのゾーンを光線が進み続けることを可能にする。このプロセスが完了すると、画像506に示すように、グリル501及び較正ボックス505を囲む全ての空間が黒く着色される。
【0097】
本明細書では、特定のやり方で使用されるものとして黒色及び白色の着色が説明されている。他の実装形態では、着色はたった今説明したもの(及び
図5A及び
図5Bの中で表したもの)と逆にすることができる。更に他の実装形態では、単に白黒の着色の代わりに様々な色、陰影、パターン等を利用することができる。
【0098】
例示的実装形態では、コンピュータ1000が
図5Bの画像506内の白色ピクセルの総数を計算する。コンピュータ1000は、この値(画像506内の白色ピクセルの総数)を画像506内の総開口面積として指定する。コンピュータがこの(白色ピクセルの総数をカウントする)タスクを達成することができる様々なやり方がある。例示的実装形態では、コンピュータ1000が、OpenCV(登録商標)ライブラリの関数findNonZeroを利用して画像506内の白色ピクセルの総カウント数を計算する。(例えばBradski, G., 2000. The OpenCV Library. Dr. Dobb’s Journal of Software Tools参照)。
【0099】
グリル全体の開口サイズの計算
(208で)最終的なターゲット画像、即ち最大開口面積を有する画像が見つかると、コンピュータ1000は、ステップ210でこの画像の較正係数(又はピクセル対実距離比)を計算する。上述したように、コンピュータ1000は(上記の及びここで再び転載する)式1:
【数2】
によってピクセル対実距離比を計算し、但しL
rはモデル化された物体(例えばグリル)の現実世界の長さであり、L
pはモデル化された物体の画像のピクセル単位の対応する長さである。
【0100】
グリル全体の開口サイズの値(例えば異常値を除いた平均値)を計算するには、画像から全ての開口部の情報(例えば隙間/穴の輪郭/形状)をまず抽出する必要がある。この目標を達成するための最初のステップとして、
図2のフローチャートによれば、コンピュータ1000は(211で)ターゲット画像内の全ての物体のエッジを抽出する。例示的実装形態では、コンピュータ1000はエッジ情報を得るためにCannyエッジ検出器を利用することができる。Cannyエッジ検出器は、例えばCanny,J.A Computational Approach to Edge Detection,Institute of Electrical and Electronics Engineers(IEEE)Transactions on Pattern Analysis and Machine Intelligence,8,679-698(IEEEのウェブサイトで入手可能)に記載されているようなエッジ検出に対する計算手法を実装することができる。例示的なCannyエッジ検出アルゴリズムは以下のステップ、つまり:1)ノイズを除去するためにガウシアンフィルタを適用して画像を平滑化すること、2)画像の強度勾配を求めること、3)勾配の大きさの閾値処理又は下限カットオフ抑制を適用してエッジ検出に対するスプリアス応答を取り除くこと、4)二重閾値を適用して潜在的なエッジを決定すること、5)ヒステリシスによってエッジを追跡すること:弱いエッジ及び強いエッジに接続されていない他の全てのエッジを抑制することによってエッジの検出を確定することを含む。典型的な実装形態ではエッジ検出が2値画像を生成し、2値画像ではターゲット画像からのエッジが1として表現され(画像内で黒いピクセルとして表示される場合があり)、エッジ以外のものは0として表現される(画像内で白いピクセルとして表示される場合がある)。エッジ検出プロセスの改変形態もあり得る。コンピュータ1000は、典型的には210で抽出したエッジ情報を(メモリ1004内に)保存し、抽出したエッジ情報を図示のプロセスのステップ212に供給する。
【0101】
次にコンピュータ1000は(212で)、抽出されたエッジ情報によって表されるターゲット画像内の全ての輪郭を見つけ、それらの面積を計算する。輪郭は、本質的に同じ色又は強度を有する(境界に沿った)連続点をつなぐ曲線である。輪郭は、形状解析並びに物体の検出及び認識に有用なツールであり得る。一部の実装形態では、コンピュータ1000がOpenCV(登録商標)のfindContours関数(例えばBradski, G., 2000. The OpenCV Library. Dr. Dobb’s Journal of Software Tools参照)を利用して、例えば抽出されたエッジ情報に基づいて輪郭の計算を実行する。この関数は、典型的には上記で論じたエッジ抽出プロセスによって生成されたターゲット画像の2値画像形式から輪郭を取得する。例示的実装形態では、コンピュータ1000は、Satoshi SuzukiらによってTopological structural analysis of digitized binary images by border following, in Computer Vision, Graphics, and Image Processing, 30(1):32-46, 1985)と題された論文の中で示された記述に基づく輪郭を見つけるためのアルゴリズムを使用する。コンピュータ1000は、典型的には(212で)生成された輪郭をメモリ1004内に保存する。
【0102】
図6Aは、ターゲット画像の1組の抽出されたエッジ情報から輪郭を求めることによって生成された画像の一例を示す。
図6Aの画像は、グリルの全てのエッジ(例えば立体と空間との間の境界)が濃い線で示され、他の全ての空間が白色で示されているターゲット画像のグリルを示す。従って画像内の濃い線は、グリルのターゲット画像からの全てのエッジの輪郭を示す。一部の実装形態では、コンピュータ1000は、1010に接続され得る自らのディスプレイ上に
図6Aに示す画像を生成するように構成される。これらの(例えば
図6Aに示す)捕捉した輪郭は未処理であり、少なくともターゲット輪郭601に加えて、602、603、及び604等のノイズの多い輪郭を含むので、グリル全体の開口サイズを直接計算するために使用するにはあまり適していない。602はグリル全体の境界を指し、そのため典型的な実装形態では無関係だと考えられ、除外される。603及び604及び/又は他の任意の部分的な穴については、典型的な実装形態におけるコンピュータはそれらを横切る流れを解決することはなく、その理由は穴の総数に対するその小さな割合を考慮するとコストがかかりすぎ、不要である傾向があるからである。基本的にコンピュータはそれらを省き、それによる結果は取るに足らないものである。この点で、ターゲット輪郭610はフルサイズの、即ちグリルの両側、上部、又は下部にある開口パターンの端によって切り捨てられないグリルの開口部に対応する。輪郭602は、他の全ての輪郭を囲む輪郭である。輪郭603は、輪郭603内の空間の上部を横切って延びる輪郭である。輪郭604は、グリルの開口パターンの両側、上部、又は下部にあるグリル内の開口部に対応し、従ってグリル内の開口パターンの両側、上部、及び下部の内側に現れるフルサイズの(切り捨てられない)ターゲット輪郭610よりも小さい、時には著しく小さいので切り捨てられる。
【0103】
外れ値(例えば602、603、604)を棄却するために、最初のステップとして、ステップ212で全ての未処理の輪郭の面積を計算する。例示的実装形態では、面積はOpenCV(登録商標)のminAreaRect関数を利用して計算することができる。この計算は、全ての未処理の輪郭の面積値のリストを作成する。一部の実装形態では、このリストは(212で)輪郭601内の空間、並びに輪郭602、603、604、及びコンピュータ1000によって識別されている可能性がある他の任意の輪郭内の全ての空間について計算された面積を識別する。
【0104】
次に
図2のフローチャートの213で、コンピュータ1000は(212で計算された)面積値に基づいて外れ値(例えば輪郭602、603、及び604)を棄却し、全ての候補輪郭のリストを得る。一部の実装形態では、コンピュータ1000は以下の例示的プロセスに従ってこの(外れ値を棄却する)ステップを実行する。
【0105】
まずコンピュータ1000は、式2:
【数3】
を用いて未処理の輪郭面積リスト内で挙げられる各要素の計算済みの面積に関する偏差値を計算し、但しA
iはi番目の輪郭の面積であり、
【数4】
は未加工の輪郭面積リスト内の全ての面積の中央値であり、A
diはi番目の輪郭の中央値からの偏差である。従ってコンピュータ1000は、未処理の輪郭面積リスト内で挙げられる面積値のそれぞれについて1つの偏差値がある状態で、これらの計算された偏差値A
diを含むリストを生成する(及びメモリ1004内に記憶する)。
【0106】
次にコンピュータ1000は、計算された偏差値のリスト内の偏差値の中央値を計算し、この中央値は
【数5】
と表す(及びメモリ1004内に記憶する)ことができる。
【0107】
次にコンピュータ1000は、式3:
【数6】
を用いて偏差リスト内の全ての要素を
【数7】
によって正規化し、但しA
niは正規化された面積の偏差値である。A
niは、
【数8】
がゼロだと検出される場合はゼロに設定される。
【0108】
次いでコンピュータ1000は、最適化された無次元係数(non-dimensional factor)s(試験に基づく経験値)を選択し、Ani値(又は正規化された面積の偏差値)がsよりも大きい未処理の輪郭面積リストの任意の要素を除去する。こうして601のような一定のターゲット開口部のみを含む新しい輪郭リストが得られる。
【0109】
再び
図2を参照し、次に図示のフローチャートに従い、コンピュータは(214で)、ステップ213から得られた候補輪郭リスト内で表される各輪郭又は開口部605について2D有向境界ボックス606(例えば
図6B参照)を計算する。例示的実装形態では、有向境界ボックス606はOpenCV(登録商標)のminAreaRect関数を利用して計算することができる。(例えばBradski, G., 2000. The OpenCV Library. Dr. Dobb’s Journal of Software Tools参照)。この関数は「回転キャリパ」アルゴリズムを実装し(例えばShamos, M., 1978. “Computational Geometry,” Yale University. pp. 76-81参照)、かかるアルゴリズムを入力点の凸包に適用する。この点に関して「凸包」という語句は、特定の形状を含む最小の凸集合を指す。この例では、入力点は605に示す点であり得る。605の形状を画定する点を所与とし、このアルゴリズムはコンピュータが面積を求めるボックス606を作成する。
【0110】
返される有向境界ボックス606のボックス情報は、各有向境界ボックス606の幅WBB及び長さLBBを含む。コンピュータ1000は、典型的にはこの情報をメモリ1004内に記憶する。
【0111】
次いでコンピュータ1000は、(215で)全てのボックスについてこれらの2つの間の最小値を計算する。この得られた最小値が、この開口部の隙間サイズである。候補輪郭リスト全体を反復することにより、隙間サイズの新しいリストが形成される。次いで本発明は、面積リストの代わりにこの隙間サイズリストを入力として、ステップ213で利用した外れ値棄却アルゴリズムを適用して追加の外れ値を更に除去する。ステップ216で、本発明は、最終的な隙間サイズリストの平均を計算してピクセル単位のグリルの全体的な開口サイズを得る。mm単位(又は他の物理単位)の最終的な物理的全体開口サイズは、ピクセル単位のサイズを式1で定めた較正係数と乗算することによって計算される。
【0112】
一実装形態によれば、コンピュータが幅(W)及び長さ(L)を得た後、隙間サイズはW及びL間の小さい方の値、つまり隙間サイズ=min(W,L)となる。これは長方形のボックスであり、コンピュータは典型的には穴を横切る流れを解決し、つまりW及びL間の小さい方の値を使用してそこに配置する必要があるメッシュセルの数を決定する。以前はコンピュータが全ての穴/輪郭のW及びLを取得し、隙間サイズ=min(W,L)を用いて全ての穴の隙間サイズのリストを得ていた。
【0113】
典型的な実装形態では、コンピュータはグリルを覆うためにVR11及びVR10を適用する。VR11のメッシュサイズは1mmであり、VR10のメッシュサイズは2mmである。例えば返された隙間サイズが8mmの場合、隙間を横切る8つのメッシュセルが必要になるのでVR11が必要となる。返された隙間サイズが16mmの場合、コンピュータはこの16mmの隙間を横切る8つのセルを与える2mmのVR10を適用するものとして、計算時間を節約するためにVR11を削除する。
【0114】
図7Aは(六角形の外形とメッシュのオーバーレイによって表す)グリルの概略図である。図示のグリルは小さなものであり、関連するメッシュのVR領域はVR11(例えば最も細かいVR領域)であり、VR11は図示の通りグリルの一番上から一番下まで8行のセルをもたらす。
【0115】
図7Bは(六角形の外形及びメッシュのオーバーレイによって表す)グリルの概略図である。図示のグリルはより大きなものであり、関連するメッシュのVR領域はVR11(例えば最も細かいVR領域)であり、VR11は図示の通りグリルの一番上から一番下まで16行のセルをもたらす。このVR11メッシュの適用は計算リソースの浪費(即ち非効率的な使用)を招く。
【0116】
図7Cは(六角形の外形及びメッシュのオーバーレイによって表す)グリルの概略図である。図示のグリルは(
図7Bのような)より大きなものであり、関連するメッシュのVR領域は本明細書に記載のプロセスに基づいてコンピュータ1000によって自動で選択され適用されるVR10(例えば2番目に細かいメッシュ)であり、VR10は図示の通りグリルの一番上から一番下まで8行のセルをもたらす。このVR10メッシュの適用は、計算リソースの効率的な使用及び任意のシミュレーションの高い精度をもたらす。
【0117】
図9は、本明細書で開示する機能を実行するように構成されるコンピュータシステム1100の実装形態の概略図である。
【0118】
図示のコンピュータシステム1100は、複数のユーザワークステーション1102a、1102b...1102n、並びにコンピュータメモリ1106及びコンピュータプロセッサ1108を有するサーバ1104を含む。ワークステーション1102a、1102b...1102nは、その間の通信を可能にする通信ネットワーク1110を介してサーバ1104に及び互いに結合される。典型的な実装形態では、ユーザワークステーション1102a、1102b...1102nの各々は、コンピュータメモリ、ストレージ、コンピュータプロセッサ、(1つ又は複数の接続されたI/O装置を有する)I/O装置インタフェース、及び(他のネットワーク接続装置との通信を容易にするためにネットワーク1110に接続される)ネットワークインタフェースを有するコンピュータ(例えばコンピュータ1000)として実装され得る。同様に、サーバ1104は、ストレージ、(1つ又は複数の接続されたI/O装置を有する)I/O装置インタフェース、及び(他のネットワーク接続装置との通信を容易にするためにネットワーク1110に接続される)ネットワークインタフェースを用いて構成され得る。
【0119】
コンピュータシステム1100は、本明細書で開示するシステム及び技法を実装するように構成される。しかしそれを行う際、システム1100の様々な実装形態は様々なメモリ及び処理機能をシステムにわたる複数の異なるシステムコンポーネント間に分散させることができる。典型的な実装形態では、人間ユーザはユーザワークステーション1102a、1102b...1102nの何れか1つ又は複数からシステム1100にアクセスしシステム1100と相互作用することができ、処理/メモリ機能は、これらのユーザワークステーション及び/又はプロセッサ1104において、その間の通信がネットワーク1110を介して行われる状態で実行され得る。
【0120】
本発明の幾つかの実施形態を記載してきた。それでもなお、本発明の趣旨及び範囲から逸脱することなく様々な修正を加えることができることが理解されよう。
【0121】
例えば本明細書で開示するシステム及び技法は車両のグリルに限定されず、空気又は流体の流れを促進及び/又は制御する実質的に任意の種類のグリルに適用するように拡張することができる。
【0122】
加えて一部の実装形態では、本明細書で開示するシステム及び技法は、グリルをシミュレートするための多様な可変解像度(VR)メッシュ領域を画定するための3Dデジタルジオメトリを自動で作成するために自動化されたシミュレーションワークフローに統合することができる。一部の実装形態では、初期の設計段階において高速ターンアラウンドシミュレーションを実行するために、本システム及び技法を利用して多様な外形設計を有する複数のグリルモデルを迅速に作成することができる。
【0123】
光線投射プロセスは、全方向からモデル化された物体(例えば車)の像に向かって光線を投射することに限定されない。一部の実装形態では、モデル化された物体に向けて2つ以上の任意の方向から光線が投射され得る。
【0124】
本明細書に記載の実施形態の例は、多くの異なるやり方で実装できることを理解すべきである。一部の例では、本明細書に記載の様々な方法及び機械は、本明細書に記載するようなコンピュータシステム等の物理的、仮想的、若しくはハイブリッド汎用コンピュータ、又はコンピュータネットワーク環境によってそれぞれ実装することができる。コンピュータ/システムは、例えばCPUによる実行のためにソフトウェア命令をメモリ又は不揮発性ストレージ内にロードすることによって本明細書に記載の方法を実行する機械へと変換することができる。コンピュータ/システム及びその様々なコンポーネントは、本明細書に記載する本発明の任意の実施形態又は実施形態の組み合わせを実行するように構成され得ることを当業者なら理解すべきである。更に本システムは、コンピュータ/システムに内部的に若しくは外部的に動作可能に結合される、又はコンピュータ/システムに組み込まれるハードウェア、ソフトウェア、及びファームウェアモジュールの任意の組み合わせを利用して本明細書に記載の様々な実施形態を実装することができる。
【0125】
本明細書で開示した内容の様々な態様は、デジタル電子回路によって、又は本明細書で開示する構造を含むコンピュータベースのソフトウェア、ファームウェア、又はハードウェア及び/又はその構造上の等価物によって、及び/又はそれらのものの組み合わせによって実装することができる。一部の実施形態では、本明細書で開示する内容は1つ又は複数のコンピュータプログラム、つまり1つ又は複数のデータ処理機器(例えばプロセッサ)による実行のために、又はかかるデータ処理機器(例えばプロセッサ)の動作を制御するためにコンピュータ記憶媒体上に符号化される、コンピュータプログラム命令の1つ又は複数のモジュールによって実装され得る。或いは又は加えて、プログラム命令は人工的に生成された伝搬信号、例えばデータ処理機器による実行のために適切な受信機器に伝送するための情報を符号化するために生成される、機械生成の電気信号、光信号、又は電磁信号上に符号化され得る。コンピュータ記憶媒体は、コンピュータ可読記憶装置、コンピュータ可読記憶基板、ランダムアクセス又はシリアルアクセスメモリアレイ又は装置、又はそれらのものの組み合わせとすることができ、又はそれらの中に含めることができる。コンピュータ記憶媒体は伝搬信号だけだと考えるべきではないが、コンピュータ記憶媒体は人工的に生成された伝搬信号の中に符号化されたコンピュータプログラム命令のソース又は宛先であり得る。コンピュータ記憶媒体は、1つ又は複数の別個の物理的コンポーネント又は媒体、例えば複数のCD、コンピュータディスク、及び/又は他の記憶装置とすることもでき、又はそれらに含まれ得る。
【0126】
本明細書に記載した一定の操作は、1つ又は複数のコンピュータ可読記憶装置上に記憶されるデータ、又は本明細書に記載したコンピュータシステム及び/又はネットワーク環境等の他のソースから受信されるデータに対してデータ処理機器(例えばプロセッサ/特別にプログラムされたプロセッサ/コンピュータ)によって実行される操作として実装され得る。「プロセッサ」(等)の用語は、プログラマブルプロセッサ、コンピュータ、システムオンチップ、又は上記のものの複数若しくは組み合わせを例として含む、データを処理するためのあらゆる種類の機器、装置、及び機械を包含する。機器は専用論理回路、例えばFPGA(書き換え可能ゲートアレイ)又はASIC(特定用途向け集積回路)を含むことができる。機器は、ハードウェアに加えて、当該コンピュータプログラムの実行環境を作成するコード、例えばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、又はそれらのものの1つ若しくは複数の組み合わせを構成するコードも含むことができる。機器及び実行環境は、ウェブサービス、分散コンピューティング、及びグリッドコンピューティングインフラ等の様々な異なる計算モデルインフラを実現することができる。
【0127】
本明細書は多くの具体的な実装形態の詳細を含むが、これらは任意の発明又は特許請求の範囲に記載され得る内容の範囲に対する限定として解釈すべきではなく、むしろ特定の発明の特定の実施形態に固有の特徴の説明として解釈すべきである。別個の実施形態の文脈で本明細書に記載した一定の特徴は、単一の実施形態において組み合わせて実装することもできる。逆に、単一の実施形態の文脈で記載した様々な特徴は、複数の実施形態において別々に又は任意の適切なサブコンビネーションで実装することもできる。更に、特徴は一定の組み合わせで作用するものとして上記で説明し、当初はそのように主張したとしても、一部の事例では主張される組み合わせからの1つ又は複数の特徴を組み合わせから削除することができ、主張される組み合わせはサブコンビネーション又はサブコンビネーションの改変形態を対象とし得る。
【0128】
同様に、本明細書では操作を特定の順序又はやり方で行うものとして記載する場合があるが、これは所望の結果を達成するために、かかる操作が図示の特定の順序若しくは逐次的な順序で実行されること、又は図示の全ての操作が実行されることを要求するものとして理解されるべきではない。一定の状況では、マルチタスク及び並列処理が有利な場合がある。更に上記の実施形態の中の様々なシステムコンポーネントの分離は、全ての実施形態においてかかる分離を必要とするものとして理解されるべきではなく、記載したプログラムコンポーネント及びシステムは概して単一のソフトウェア製品に統合できること又は複数のソフトウェア製品にパッケージ化できることが理解されるべきである。
【0129】
本明細書で言及した各機能コンポーネントは、例えば本明細書に記載した関連するコンピュータ実装機能を実行するためにコンピュータ可読媒体(例えばRAM、ROM等の形式のハードウェアメモリ)上に記憶された特別にプログラムされたコンピュータ可読命令を実行する、1つ又は複数のコンピュータハードウェアコンポーネント(例えば1つ又は複数のコンピュータプロセッサ)によって実装され得る。
【0130】
本明細書で開示したシステム及び技法は、物体(例えばグリル)の全体的な設計、解析、及び現実世界の製造に関連して利用することができる。典型的には、本明細書で開示したシミュレーションプロセスは、モデル化された物体(例えばグリル)の性能又は挙動を解析して、モデル化された物体及び/又は(グリルを含む)関連システムの設計における予想を確認するために又は更なる反復を導くために利用され得る。典型的には、本明細書で開示したシステム及び技法を利用し、設計及び解析/シミュレーションに続いて、コンピュータベースのシミュレーションに製造前にさらされている最終設計に基づいてモデル化された物体(例えばグリル)の現実世界のバージョンが製造される。モデル化された物体の最終的に製造された現実世界のバージョンが、物理的な物(例えばグリル等)となる。
【0131】
他の実装形態も特許請求の範囲に含まれる。
【符号の説明】
【0132】
101 グリル
102 VR11
103 VR10
104 隙間/穴
105 有向境界ボックス
106 視線ベクトル
107 前面
108 外側リム
109 後面
111 右側面
113 左側面
115 上面
117 底面
301 グリル
302 空間較正ボックス
304 水平軸
306 垂直回転軸
307 画像
308 画像
309 画像
310 光線
311 光線
312 頂点
313 頂点
401 グリル
402 水平バー
403 穴
404 ロゴ
406 垂直バー
501 グリル
502 画像
503 空間
504 光線
505 空間較正ボックス
506 画像
601 ターゲット輪郭
602 輪郭
603 輪郭
604 輪郭
605 開口部
606 有向境界ボックス
1000 コンピュータ
1002 プロセッサ
1004 メモリ
1006 記憶装置
1007 ネットワークインタフェース
1008 ソフトウェア
1010 入出力装置インタフェース
1012 ローカルバス
1020 オペレーティングシステム
1100 コンピュータシステム
1102a ユーザワークステーション
1102b ユーザワークステーション
1102n ユーザワークステーション
1104 サーバ
1106 コンピュータメモリ
1108 コンピュータプロセッサ
1110 通信ネットワーク
【外国語明細書】