(57)【要約】【課題】シミュレーションの効率化を図る。【解決手段】仮想装置において撮像部の位置を１画素以下の範囲内で動かしつつ、環境マッピングにより画像の計算を複数回実行し、現実装置１０の撮像部による撮像画像をシミュレーションする場合に、初回の画像シミュレーションにおいては、環境マッピングに用いるキューブマップを作成し（Ｓ１０）、キューブマップの参照処理を全画素に対して実行し（Ｓ１２）、撮像部２４の各画素から光線が出射した場合の携帯端末３０上の反射位置を中心とした形状変化度を求める（Ｓ１４）とともに、形状変化度が閾値より大きい特定画素を抽出する（Ｓ１６）。そして、２回目以降の画像シミュレーションにおいては、初回の画像シミュレーションにおいて作成したキューブマップに対する参照処理を、抽出した特定画素のみに対して実行する（Ｓ２０）。【選択図】図４
2017027236.tif 000002
【特許請求の範囲】
【請求項１】
対象物と、前記対象物を照明する照明部と、前記照明部により照明された前記対象物を撮像する撮像部と、を有する現実装置を仮想空間内に再現した仮想装置において、前記撮像部の位置を該撮像部の１画素以下の範囲内で動かしつつ、環境マッピングによる画像シミュレーションを複数回実行し、前記現実装置の前記撮像部による撮像画像をシミュレーションする工程、をコンピュータが実行し、
前記シミュレーションする工程のうち、初回の画像シミュレーションにおいては、前記環境マッピングに用いるキューブマップを作成し、該キューブマップに対する参照処理を前記撮像部の全画素に対して実行するとともに、前記撮像部の画素それぞれに対応する前記対象物上の位置の形状変化度が基準値より大きい場合に該画素を特定画素として抽出し、
前記シミュレーションする工程のうち、２回目以降の画像シミュレーションにおいては、初回の画像シミュレーションにおいて作成した前記キューブマップに対する参照処理を、抽出した前記特定画素のみに対して実行する、
ことを特徴とするシミュレーション方法。
【請求項２】
前記シミュレーションする工程のうち、初回の画像シミュレーションにおいては、前記対象物のポリゴン形状データに基づいて、前記形状変化度を求める前記対象物上の位置を予め選別することを特徴とする請求項１に記載のシミュレーション方法。
【請求項３】
前記対象物のポリゴン形状データに基づいて、ポリゴンの大きさが所定の閾値以下の特定ポリゴンを抽出する工程、を前記コンピュータが更に実行し、
前記シミュレーションする工程のうち、初回の画像シミュレーションにおいては、前記撮像部の画素に対応する前記対象物上の位置を含むポリゴンが前記特定ポリゴンである場合に、該画素に対応する前記対象物上の位置の形状変化度が前記基準値より大きいと判断することを特徴とする請求項１に記載のシミュレーション方法。
【請求項４】
前記撮像部の画素それぞれに対応する前記対象物上の位置は、前記画素から光線が出射された場合に該光線が前記対象物上で反射する位置であることを特徴とする請求項１〜３のいずれか一項に記載のシミュレーション方法。
【請求項５】
前記シミュレーションする工程では、複数回の画像シミュレーションの結果を画素ごとに平均することを特徴とする請求項１〜４のいずれか一項に記載のシミュレーション方法。
【請求項６】
対象物と、前記対象物を照明する照明部と、前記照明部により照明された前記対象物を撮像する撮像部と、を有する現実装置を仮想空間内に再現した仮想装置において、前記撮像部の位置を該撮像部の１画素以下の範囲内で動かしつつ、環境マッピングによる画像シミュレーションを複数回実行し、前記現実装置の前記撮像部による撮像画像をシミュレーションする工程、をコンピュータに実行させ、
前記シミュレーションする工程のうち、初回の画像シミュレーションにおいては、前記環境マッピングに用いるキューブマップを作成し、該キューブマップに対する参照処理を前記撮像部の全画素に対して実行するとともに、前記撮像部の画素それぞれに対応する前記対象物上の位置の形状変化度が基準値より大きい場合に該画素を特定画素として抽出し、
前記シミュレーションする工程のうち、２回目以降の画像シミュレーションにおいては、初回の画像シミュレーションにおいて作成した前記キューブマップに対する参照処理を、抽出した前記特定画素のみに対して実行する、
ことを特徴とするシミュレーションプログラム。
【請求項７】
対象物と、前記対象物を照明する照明部と、前記照明部により照明された前記対象物を撮像する撮像部と、を有する現実装置を仮想空間内に再現した仮想装置において、前記撮像部の位置を該撮像部の１画素以下の範囲内で動かしつつ、環境マッピングによる画像シミュレーションを複数回実行し、前記現実装置の前記撮像部による撮像画像をシミュレーションするシミュレーション部、を備え、
前記シミュレーション部は、
初回の画像シミュレーションにおいては、前記環境マッピングに用いるキューブマップを作成し、該キューブマップに対する参照処理を前記撮像部の全画素に対して実行するとともに、前記撮像部の画素それぞれに対応する前記対象物上の位置の形状変化度が基準値より大きい場合に該画素を特定画素として抽出し、
２回目以降の画像シミュレーションにおいては、初回の画像シミュレーションにおいて作成した前記キューブマップに対する参照処理を、抽出した前記特定画素のみに対して実行する、
ことを特徴とするシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーション方法、シミュレーションプログラム及びシミュレーション装置に関する。
【背景技術】
【０００２】
検査装置や組立装置などの生産設備を仮想化できると、その仮想化した装置で装置運用に関するシミュレーションなどを行うことができるため、現実の装置の運用を効率化できるなどの利点がある。
【０００３】
ここで、仮想化の対象装置がカメラを有している場合には、カメラのシミュレーションも行う必要がある。また、仮想化の対象装置の光学系によっては、照明や物体の映り込みを含めてカメラシミュレーションしなければならないことがある。例えば、パターンを有する照明を被験体表面に写し込み、その写り込んだパターンの歪具合を見ることで被験体の表面状態の異常を検出する検査装置を仮想化した場合などである。
【０００４】
このような映り込みをカメラシミュレーション（レンダリング）する手法として、環境マッピング法が知られている。環境マッピング法では、映り込む物体の周囲に擬似的背景を予めテクスチャーとして用意する。そして、カメラの特定画素（ピクセル）から光線が出射した場合に被検体表面で反射して擬似的背景のどこに当たるかを判定し、カメラ画像のピクセル値を決定する。
【０００５】
なお、特許文献１には、仮想カメラに関する技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−２０７５４９号公報
【特許文献２】特開２０１５−５６０４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
通常、仮想化の対象装置が有するカメラの画素数（横方向×縦方向）がＭ×Ｎであれば、Ｍ×Ｎのピクセル数だけ上述したレンダリングを行う。すなわち、カメラの画像の１ピクセルに対して１つの代表点（例えばピクセル中心）を定め、該代表点から光線が出射した場合に被検体表面で反射して擬似背景のどこにあたるかを判定し、そのピクセルのピクセル値を決定している。
【０００８】
しかしながら、実際のカメラの場合、１ピクセルの輝度値（ピクセル値）はイメージセンサの１ピクセル内に入ってきた全光量が平均化された値である。このため、上記のように、ピクセル値算出を１ピクセルの代表点のみで行うこととすると、現実装置で得られるピクセル値とは異なるシミュレーション結果が得られるおそれがある。
【０００９】
これに対し、本発明者らは、画素サイズ以下でカメラを移動しながら複数回の環境マッピングを行い、得られた画像群を平均することで、現実のカメラに近い精度のシミュレーションを行う発明についての出願を行った（例えば特許文献２等参照）。しかるに、シミュレーションの効率化に関しては、未だ検討や改善の余地が残されている。
【００１０】
１つの側面では、本発明は、仮想装置を利用したシミュレーションの効率化を図ることが可能なシミュレーション方法、シミュレーションプログラム及びシミュレーション装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
一つの態様では、シミュレーション方法は、対象物と、前記対象物を照明する照明部と、前記照明部により照明された前記対象物を撮像する撮像部と、を有する現実装置を仮想空間内に再現した仮想装置において、前記撮像部の位置を該撮像部の１画素以下の範囲内で動かしつつ、環境マッピングによる画像シミュレーションを複数回実行し、前記現実装置の前記撮像部による撮像画像をシミュレーションする工程、をコンピュータが実行し、前記シミュレーションする工程のうち、初回の画像シミュレーションにおいては、前記環境マッピングに用いるキューブマップを作成し、該キューブマップに対する参照処理を前記撮像部の全画素に対して実行するとともに、前記撮像部の画素それぞれに対応する前記対象物上の位置の形状変化度が基準値より大きい場合に該画素を特定画素として抽出し、前記シミュレーションする工程のうち、２回目以降の画像シミュレーションにおいては、初回の画像シミュレーションにおいて作成した前記キューブマップに対する参照処理を、抽出した前記特定画素のみに対して実行するシミュレーション方法である。
【発明の効果】
【００１２】
仮想装置を利用したシミュレーションの効率化を図ることができる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態に係るシミュレーションシステムの構成を概略的に示す図である。
【図２】仮想装置を模式的に示す斜視図である。
【図３】図３（ａ）、図３（ｂ）は、携帯端末の反射表面の形状変化による影響を説明するための図である。
【図４】第１の実施形態における計算部の処理を示すフローチャートである。
【図５】図５（ａ）、図５（ｂ）は、図４のステップＳ１２の処理を説明するための図である。
【図６】形状変化度の計算方法について説明するための図である。
【図７】図７（ａ）は、環境マッピング結果を示す図であり、図７（ｂ）は、形状変化度マップを示す図であり、図７（ｃ）は、形状変化度マップ（閾値処理後）を示す図である。
【図８】図８（ａ）は、図４のステップＳ２０の処理を説明するための図であり、図８（ｂ）は、図４のステップＳ２４の処理を説明するための図である。
【図９】第２の実施形態の基本的な考え方について説明するための図である。
【図１０】第２の実施形態における計算部の処理を示すフローチャートである。
【図１１】識別フラグの設定方法について説明するための図である。
【図１２】図１２（ａ）、図１２（ｂ）は、識別フラグを付加した場合のＣＡＤデータの一例について説明するための図である。
【図１３】第２の実施形態の変形例に係る計算部の処理を示すフローチャートである。
【発明を実施するための形態】
【００１４】
《第１の実施形態》
以下、シミュレーションシステムの第１の実施形態について、図１〜図８に基づいて詳細に説明する。図１は、シミュレーションシステム１００の一例を示した図である。
【００１５】
図１に示すように、シミュレーションシステム１００は、現実装置１０と、情報処理装置２０と、を備える。
【００１６】
現実装置１０は、対象物と、対象物に作用して外部から検出可能な変化を与える作用要素を発生させる発生源と、設定した検出範囲内で作用要素による変化を検出可能な検出部とを含む。本第１の実施形態では、現実装置１０は、携帯端末の検査装置であるものとし、発生源は、携帯端末を照明する照明部であり、検出部は、照明部により照明された携帯端末を撮像する撮像部（イメージセンサ）であるものとする。
【００１７】
情報処理装置２０は、記憶部２１と、計算部２２と、を有する。記憶部２１は、ＲＡＭ（Random Access Memory）などの揮発性記憶装置、及び、ＨＤＤ（Hard Disk Drive）又はフラッシュメモリなどの不揮発性記憶装置を有していてもよい。計算部２２は、ＣＰＵ（Central Processing Unit）又はＤＳＰ（Digital Signal Processor）などのプロセッサであってもよい。計算部２２は、ＡＳＩＣ（Application Specific Integrated Circuit）又はＦＰＧＡ（Field Programmable Gate Array）などのプロセッサ以外の電子回路であってもよい。計算部２２は、例えば、記憶部２１又は他のメモリに記憶されたプログラム（シミュレーションプログラムを含む）を実行する。
【００１８】
記憶部２１は、現実装置１０の３次元情報を記憶する。例えば、記憶部２１は、対象物としての携帯端末、対象物を設置する設置機構、検出部としての撮像部、及び発生源としての照明部の位置・姿勢・形状などを示す３次元ＣＡＤ（computer aided design）データを３次元情報として記憶する。計算部２２は、３次元情報に基づいて現実装置１０を仮想空間内に再現した仮想装置２３を生成する。なお、図１等においては、水平面内の縦方向をＸ方向、横方向をＹ方向として示している。
【００１９】
より具体的には、計算部２２は、現実装置１０に含まれる携帯端末を仮想空間内に再現した携帯端末３０を生成する。また、計算部２２は、現実装置１０に含まれる撮像部を仮想空間内に再現した撮像部２４を生成する。さらに、計算部２２は、現実装置１０に含まれる照明部を仮想空間内に再現した照明部２５（図１では不図示、図２参照）を生成する。その他、計算部２２は、仮想空間内に対象物を設置するための設置機構なども生成する。このようにして、計算部２２は、３次元ＣＡＤデータなどの３次元情報を利用することで仮想空間内に現実装置１０を再現する。
【００２０】
本第１の実施形態では、上述したように、３次元情報を利用して現実装置１０を再現しているため、計算部２２は、現実装置１０の動作と同じ動作を仮想装置２３で再現することができる。
【００２１】
例えば、仮想装置２３においては、図２に示すような明暗の繰り返しパターンが予めテクスチャーとして描画されたスクリーンを有する照明部２５を携帯端末３０の表面に写し込む。そして、仮想装置２３では、携帯端末３０の表面に写り込んだパターンの歪具合を見ることで、携帯端末の表面状態の異常を検出する動作を再現することができる。
【００２２】
このような映り込みをカメラシミュレーション（レンダリング）する場合、一例として、環境マッピング法を用いることができる。この環境マッピング法においては、撮像部２４の特定画素（ピクセル）から光線が出射した場合に携帯端末３０表面で反射して携帯端末３０の周囲６方向に配置されたスクリーン（後述するキューブマップ）のどこに当たるかを判定し、撮像画像の画素値を決定する手法が採られている。
【００２３】
図３（ａ）は、現実装置を図２の矢印Ａ方向から見た状態を模式的に示す図である。現実装置１０の撮像部では、画像の１ピクセルの輝度値は、撮像部（センサ面）の１つの画素（ピクセル）内に入ってきた全光量が平均化された値となる。一方、仮想装置２３では、画素の代表点（例えば中心点）の画素値（ピクセル値）を計算することが一般的である。このようなピクセル値の計算を行っても、図３（ａ）のように携帯端末３０の表面（反射表面）が平坦であれば、１つの画素の異なる箇所におけるキューブマップ上の位置は近似する。このため図３（ａ）のような場合であれば、現実装置１０における画素値と仮想装置２３で計算された画素値との間の差異はほとんどないと考えられる。
【００２４】
一方、図３（ｂ）のように携帯端末３０の表面（反射表面）に形状変化が大きい箇所（傷などの微細構造や端末自身がもつ曲面）が存在する場合、キューブマップ上の広い範囲からの光が１つの画素に入射することがある。この場合、現実装置１０の撮像部では、画像の１画素の輝度値は、スクリーンの広い範囲の明るさを平均したものになる。このため、前述のように、仮想装置２３において画素の代表点の画素値を計算すると、撮像部２４の微小な位置変化によって画素値が変化し、現実装置１０における画素値と仮想装置２３で計算された画素値との間に差異が生じるおそれがある。
【００２５】
そこで、本第１の実施形態では、撮像画像の画素値を決定する処理として、図４のフローチャートに沿った処理を実行する。以下、図４の処理について、その他図面を適宜参照しつつ説明する。
【００２６】
図４の処理では、まず、ステップＳ１０において、計算部２２は、キューブマップを作成する。この場合、計算部２２は、環境マッピングの中心位置から携帯端末の周囲６方向の環境マップをレンダリングにより求めることで、６枚のテクスチャー画像を計算する。
【００２７】
次いで、ステップＳ１２では、全画素のテクスチャーを参照処理し、１回目の画像の計算（画像シミュレーションとも呼ぶ）を行う。例えば、計算部２２は、図５（ａ）に示すように、各画素の中心位置を代表点とすると、図５（ｂ）に示すように、代表点が丸数字「５」番の位置に存在する正規位置において、環境マッピングでレンダリングして記憶部２１に保存する。すなわち、計算部２２は、撮像部２４の各画素の代表点における画素値（ピクセル値）を取得し、記憶部２１に保存する。
【００２８】
次いで、ステップＳ１４では、計算部２２は、各画素の反射位置、すなわち各画素から光線が出射した場合に該光線が反射する携帯端末３０上の位置、の全てで形状変化度を計算する。ここで、形状変化度とは、環境マッピングを行う際に決定される任意画素における、反射位置の法線とその周辺の法線の変化度合いを意味する。例えば、図６に示すように、任意画素（ｘ、ｙ）からの光線の反射位置がｐ0であったとする。この場合、反射位置ｐ0における反射表面の法線をｎ0、反射位置の周辺の反射表面上の点ｐk（ｋ＝１，２，…，Ｎ）における法線をｎkとすると、形状変化度Ｓ（ｘ，ｙ）は、次式（１）のように表すことができる。
【００２９】
【数１】
2017027236.tif 000003
【００３０】
なお、形状変化度は、上式（１）のように、周辺の法線ｎkの基準法線ｎ0に対する角度Δθkの平均値で表すことができる。
【００３１】
ここで、環境マッピングの結果が、一例として図７（ａ）に示すような画像であり、形状変化度の計算結果が、図７（ｂ）に示すような形状変化度マップにより表されたとする。なお、図７（ｂ）においては、色が濃いほど（黒に近いほど）形状変化度が小さく、色が薄いほど（白に近いほど）形状変化度が大きいことを意味している。
【００３２】
次いで、ステップＳ１６では、計算部２２は、形状変化度が所定の閾値以上の画素、すなわち、形状変化度が大きい反射位置に対応する画素、を特定画素として抽出し、記憶部２１に記録する。図７（ｃ）には、形状変化度マップを所定の閾値で処理した後の状態の一例が示されている。なお、図７（ｃ）において黒で示す部分が閾値以上の部分、すなわち形状変化度が大きい部分であり、特定画素として抽出される部分である。計算部２２は、記憶部２１に特定画素の情報を記録する場合、例えば、予め全ての画素の形状変化度を０に初期化しておき、抽出された特定画素の形状変化度を特定の値（例えば２５５）に変更するなどすればよい。
【００３３】
次いで、ステップＳ１８では、計算部２２は、撮像部２４を所定位置に移動させる。この場合、計算部２２は、１画素以下の範囲内で、撮像部２４をＸ方向及び／又はＹ方向に移動させる。ここでは、例えば、図５（ｂ）に示すように、代表点が丸数字「５」番の位置に存在する正規位置から、図８（ａ）に示すように、代表点が丸数字「１」番の位置に存在する位置となるように、撮像部２４をＸＹ方向に移動させる。
【００３４】
次いで、ステップＳ２０では、計算部２２は、特定画素のみテクスチャーの参照処理を行い、画像計算（画像シミュレーション）を実行する。この場合、計算部２２は、１回目の画像シミュレーションにおいて作成したキューブマップを用いることとする。また、計算部２２は、図８（ａ）において白抜き丸数字「１」で示すように、撮像部２４の特定画素の代表点における画素値のみを取得し、記憶部２１に保存する。なお、計算部２２は、特定画素以外の画素値は、１回目の画像計算（Ｓ１２）の計算結果と同値とし、記憶部２１に保存する。本第１の実施形態では、上述のように、２回目以降の画像計算（画像シミュレーション）において、ステップＳ１０で作成したキューブマップを利用して画像計算を行うので、画像シミュレーションごとにキューブマップを作成する場合に比べ、シミュレーションの効率化を図ることが可能である。また、形状変化度の小さい特定画素においては、複数回の画像シミュレーションを行わないので、この点からもシミュレーションの効率化を図ることができる。
【００３５】
次いで、ステップＳ２２では、計算部２２は、特定画素において、所定回数（例えば、全９回）画像を計算したか否かを判断する。すなわち、計算部２２は、特定画素において、代表点が丸数字「１」番〜「９」番の全てにおいて画素値を取得したか否かを判断する。このステップＳ２２の判断が否定された場合には、ステップＳ１８に戻る。ステップＳ１８に戻ると、計算部２２は、撮像部２４の移動（例えば、１番→２番→３番→４番→６番→７番→８番→９番）と、ステップＳ２０の特定画素の代表点における画像の計算（画像シミュレーション）を繰り返し実行する。そして、ステップＳ２２の判断が肯定された場合には、ステップＳ２４に移行する。
【００３６】
なお、ステップＳ２２の判断が肯定された段階では、図８（ｂ）において太線丸数字にて示しているように、特定画素では９箇所において画素値が取得される。一方、特定画素以外の画素では、その中心の１箇所において画素値が取得され、その他の位置の画素値として中心の１箇所と同値が取得されていることになる。
【００３７】
図４に戻り、ステップＳ２４に移行すると、計算部２２は、全ての画素についての画素値を平均し、新たな画像を生成する。この新たな画像は撮像画像のシミュレーション結果となる。なお、ステップＳ２４においては、画素値を平均する場合に限らず、各回の撮像部の移動量を考慮した線形補間処理を行うこととしてもよい。
【００３８】
なお、これまでの説明から分かるように、計算部２２により、仮想装置２３において撮像部の撮像画像をシミュレーションするシミュレーション部としての機能が実現されている。
【００３９】
以上、詳細に説明したように、本第１の実施形態によると、仮想装置２３において撮像部２４の位置を１画素以下の範囲内で動かしつつ、環境マッピングにより画像シミュレーションを複数回実行し、現実装置１０の撮像部による撮像画像をシミュレーションする場合に、初回の画像シミュレーションにおいては、環境マッピングに用いるキューブマップを作成し（Ｓ１０）、キューブマップの参照処理を全画素に対して実行し（Ｓ１２）、撮像部２４の各画素から光線が出射した場合の携帯端末３０上の反射位置を中心とした形状変化度を求める（Ｓ１４）とともに、形状変化度が閾値より大きい画素を特定画素として抽出する（Ｓ１６）。そして、２回目以降の画像シミュレーションにおいては、初回の画像シミュレーションにおいて作成したキューブマップに対する参照処理を、抽出した特定画素のみに対して実行する（Ｓ２０）。これにより、本実施形態では、画像シミュレーションの度にキューブマップを作成しなくてもよいため、シミュレーションの効率化を図ることが可能となる。また、形状変化度の小さい部分に対応する画素では、複数回の画像シミュレーションを行わないため、処理負担や処理時間の低減によりシミュレーションの効率化を図ることができる。
【００４０】
また、本第１の実施形態では、２回目以降の画像の計算においては、特定画素以外の画素値を１回目の画像の計算結果と同値とし、複数の画像の計算結果を平均して、撮像画像をシミュレーションする。これにより、特定画素も特定画素以外の画素も、同様の計算式を用いて撮像画像をシミュレーションすることができる。
【００４１】
なお、上記第１の実施形態では、２回目以降の画像の計算において、特定画素以外の画素値を１回目の画像の計算結果と同値とする場合について説明したが、これに限られるものではない。２回目以降においては、特定画素以外の画素値を定めずに、１回目の画像の計算結果そのものをその画素の画素値として決定してもよい。
【００４２】
なお、上記第１の実施形態では、図４の処理において、画像シミュレーションを９回実行する場合について説明したが、これに限られるものではない。画像シミュレーションの回数や代表点の移動の仕方については、適宜設定することができる。
【００４３】
《第２の実施形態》
次に、第２の実施形態について説明する。本第２の実施形態におけるシミュレーションシステムの装置構成等は、第１の実施形態と同様である。一方、本第２の実施形態では、計算部２２の処理において、携帯端末３０のＣＡＤデータに基づくポリゴンを利用する点が第１の実施形態と異なっている。
【００４４】
ここで、例えば動画のように、撮像部２４や被験体である携帯端末３０が動くなどして、撮像画像になんらかの変化が生じる場合がある。このような場合には、変化が生じる度に、上記第１の実施形態で説明した手順で撮像画像を再計算する必要があるが、その際には形状変化度マップについても計算し直す必要がある。
【００４５】
そこで、本第２の実施形態では、画像を計算する前段階、すなわち携帯端末３０のＣＡＤデータ（ポリゴン形状データを含む）を準備する段階で、ポリゴン形状データそれぞれについて、図３（ｂ）のような形状変化が大きい箇所があるかどうかを大まかに選別（スクリーニング）しておくことで、形状変化度マップの作成処理を簡素化する。
【００４６】
以下、図９（ａ）、図９（ｂ）に基づいて、本第２の実施形態の基本的な考え方について説明する。
【００４７】
通常、３Ｄデータは、図９（ａ）に示すように、複数のポリゴンを含んでいる。なお、ポリゴンとは、３次元コンピューターグラフィックスの分野において、３Ｄデータに含まれる三角形の要素のことを意味する。通常、形状がフラットに近い領域では大きなポリゴンが使用され、形状がフラットではない領域では、その形状を十分に表現できるように小さなポリゴンが使用される。例えば、図９（ａ）の場合、破線で囲まれた範囲のように、微小な突起部分が小さなポリゴンの集合で表現される。
【００４８】
ここで、撮像画像における被写体の分解能（被写体上の画素サイズ）が図９（ｂ）に示すｒｘ，ｒｙであったとすると、図３（ｂ）のような形状変化が大きい箇所となるのは、ポリゴンサイズがｒｘ，ｒｙと同等かそれ以下の場合である。
【００４９】
そこで、計算部２２は、例えばｒｘ,ｒｙに比べてポリゴンのサイズが十分大きければ、そのポリゴンについては形状変化度が小さい領域であると判定し、識別フラグ＝０をセットする。逆にｒｘ，ｒyに比べてポリゴンが同程度以上に小さい場合、そのポリゴンに関しては形状変化度が大きい領域であるとみなし、識別フラグ＝１をセットする。この場合、形状変化度が大きいポリゴンを特定ポリゴンとして抽出しているといえる。なお、図９（ａ）において破線で囲まれた範囲は、形状変化が大きい箇所と判定され、識別フラグ＝１がセットされた範囲であるものとする。
【００５０】
図１０は、本第２の実施形態における処理を示すフローチャートである。図１０においては、図４のステップＳ１４の処理のように全画素に対応する反射位置の形状変化度を計算するのではなく、ステップＳ８において、計算部２２は、予め、形状変化度が大きい位置に存在するポリゴン（特定ポリゴン）を抽出して識別フラグ１を設定しておき、ステップＳ１４’において、画素から光線が出射したとして該光線が識別フラグ＝１のポリゴン（特定ポリゴン）内で反射する場合のみ、反射位置の形状変化度を計算する。一方、反射位置が識別フラグ＝０のポリゴン内の場合には形状変化度を予め定めた値（例えば０）とする。
【００５１】
このように事前に形状変化度の大きい箇所をある程度選別しておくことで、形状変化度の計算の手間および時間を低減することが可能となる。
【００５２】
ここで、ステップＳ８において識別フラグを設定する方法の一例について、図１１に基づいて、詳細に説明する。図１１の例では、計算部２２は、ｓ番目のポリゴンの重心g_sからポリゴンの各頂点v_sm（ただし、ｍ＝１,２,３)までの距離l_s1，l_s2，l_s3を計算により求める。そして、画素サイズｒｘ，ｒｙにサイズ調整用パラメータａを乗じた値よりも各頂点までの距離l_s1，l_s2，l_s3の全てが大きい場合に、識別フラグp_sを０にセットする。一方、その他の場合には、識別フラグp_sを１にセットする。なお、サイズ調整用パラメータａは２〜５程度に設定するとよい。
【００５３】
なお、画素サイズｒｘ、ｒｙは、撮像部２４の視野角や位置、携帯端末３０の位置など撮像条件によって変化する値である。したがって、シミュレーションの過程でｒｘ、ｒｙがどのような値になるかをあらかじめ見積もっておくことが好ましい。また、シミュレーションの過程でｒｘ，ｒｙ値が変化することが予測される場合には、とりうる値のうち最大の値を使用して識別フラグを設定することが好ましい。なお、シミュレーションの過程におけるｒｘ、ｒｙの範囲が予測できない場合には全てのポリゴンの識別フラグを１にセットしておくことができる。この場合、図４と同様の処理を行うことになる。
【００５４】
なお、図１２（ａ）には、識別フラグを付加した場合のＣＡＤデータの例が示されている。通常、図１２（ｂ）に示すようなｓ番目のポリゴンに対しては、各ポリゴンの法線ベクトルn_sと、ポリゴンの三角形の頂点v_s1、v_s2、v_s3の座標が関連付けられるが、本例では、これに加え、図１２（ａ）に示すように、識別フラグp_sをポリゴンそれぞれに対して関連付ける。
【００５５】
なお、これまでの説明から分かるように、本第２の実施形態では、計算部２２により、仮想装置２３において撮像部の撮像画像をシミュレーションするシミュレーション部、及び識別フラグ＝１のポリゴン（特定ポリゴン）を抽出する抽出部、としての機能が実現されている。
【００５６】
以上、説明したように、本第２の実施形態によると、画素から光線が出射したとして該光線の携帯端末３０上での反射位置が識別フラグ＝１の特定ポリゴン内にある場合のみ、反射位置の形状変化度を算出する。これにより、全ての反射位置の形状変化度を算出する場合と比べ、処理の効率化を図ることができる。
【００５７】
なお、上記第２の実施形態においては、画素から光線が出射したとして該光線の携帯端末３０上での反射位置が識別フラグ＝１の特定ポリゴン内にある場合のみ、反射位置の形状変化度を算出する場合について説明したが、これに限られるものではない。例えば、図１３のフローチャートのステップＳ１４”に示すように、計算部２２は、画素から光線が出射したとして該光線の携帯端末３０上での反射位置が識別フラグ＝１の特定ポリゴン内にある場合のみ、その画素を特定画素として抽出し、記憶部２１に記憶してもよい。この場合、計算部２２は、形状変化度を計算しなくてもよいため、抽出される特定画素の数が上記第２の実施形態よりも増える可能性はあるものの、形状変化度の計算に関する処理の手間や時間を削減することができる。
【００５８】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体（ただし、搬送波は除く）に記録しておくことができる。
【００５９】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ（Digital Versatile Disc）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００６０】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００６１】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【００６２】
なお、以上の第１、第２の実施形態及び変形例の説明に関して、更に以下の付記を開示する。
（付記１）  対象物と、前記対象物を照明する照明部と、前記照明部により照明された前記対象物を撮像する撮像部と、を有する現実装置を仮想空間内に再現した仮想装置において、前記撮像部の位置を該撮像部の１画素以下の範囲内で動かしつつ、環境マッピングによる画像シミュレーションを複数回実行し、前記現実装置の前記撮像部による撮像画像をシミュレーションする工程、をコンピュータが実行し、
前記シミュレーションする工程のうち、初回の画像シミュレーションにおいては、前記環境マッピングに用いるキューブマップを作成し、該キューブマップに対する参照処理を前記撮像部の全画素に対して実行するとともに、前記撮像部の画素それぞれに対応する前記対象物上の位置の形状変化度が基準値より大きい場合に該画素を特定画素として抽出し、
前記シミュレーションする工程のうち、２回目以降の画像シミュレーションにおいては、初回の画像シミュレーションにおいて作成した前記キューブマップに対する参照処理を、抽出した前記特定画素のみに対して実行する、
ことを特徴とするシミュレーション方法。
（付記２）  前記シミュレーションする工程のうち、初回の画像シミュレーションにおいては、前記対象物のポリゴン形状データに基づいて、前記形状変化度を求める前記対象物上の位置を予め選別することを特徴とする付記１に記載のシミュレーション方法。
（付記３）  前記対象物のポリゴン形状データに基づいて、ポリゴンの大きさが所定の閾値以下の特定ポリゴンを抽出する工程、を前記コンピュータが更に実行し、
前記シミュレーションする工程のうち、初回の画像シミュレーションにおいては、前記撮像部の画素に対応する前記対象物上の位置を含むポリゴンが前記特定ポリゴンである場合に、該画素に対応する前記対象物上の位置の形状変化度が前記基準値より大きいと判断することを特徴とする付記１に記載のシミュレーション方法。
（付記４）  前記撮像部の画素それぞれに対応する前記対象物上の位置は、前記画素から光線が出射された場合に該光線が前記対象物上で反射する位置であることを特徴とする付記１〜３のいずれかに記載のシミュレーション方法。
（付記５）  前記シミュレーションする工程では、複数回の画像シミュレーションの結果を画素ごとに平均することを特徴とする付記１〜４のいずれかに記載のシミュレーション方法。
（付記６）  対象物と、前記対象物を照明する照明部と、前記照明部により照明された前記対象物を撮像する撮像部と、を有する現実装置を仮想空間内に再現した仮想装置において、前記撮像部の位置を該撮像部の１画素以下の範囲内で動かしつつ、環境マッピングによる画像シミュレーションを複数回実行し、前記現実装置の前記撮像部による撮像画像をシミュレーションする工程、をコンピュータに実行させ、
前記シミュレーションする工程のうち、初回の画像シミュレーションにおいては、前記環境マッピングに用いるキューブマップを作成し、該キューブマップに対する参照処理を前記撮像部の全画素に対して実行するとともに、前記撮像部の画素それぞれに対応する前記対象物上の位置の形状変化度が基準値より大きい場合に該画素を特定画素として抽出し、
前記シミュレーションする工程のうち、２回目以降の画像シミュレーションにおいては、初回の画像シミュレーションにおいて作成した前記キューブマップに対する参照処理を、抽出した前記特定画素のみに対して実行する、
ことを特徴とするシミュレーションプログラム。
（付記７）  前記シミュレーションする工程のうち、初回の画像シミュレーションにおいては、前記対象物のポリゴン形状データに基づいて、前記形状変化度を求める前記対象物上の位置を予め選別することを特徴とする付記６に記載のシミュレーションプログラム。
（付記８）  前記対象物のポリゴン形状データに基づいて、ポリゴンの大きさが所定の閾値以下の特定ポリゴンを抽出する工程、を前記コンピュータに更に実行させ、
前記シミュレーションする工程のうち、初回の画像シミュレーションにおいては、前記撮像部の画素に対応する前記対象物上の位置を含むポリゴンが前記特定ポリゴンである場合に、該画素に対応する前記対象物上の位置の形状変化度が前記基準値より大きいと判断することを特徴とする付記６に記載のシミュレーションプログラム。
（付記９）  前記撮像部の画素それぞれに対応する前記対象物上の位置は、前記画素から光線が出射された場合に該光線が前記対象物上で反射する位置であることを特徴とする付記６〜８のいずれかに記載のシミュレーションプログラム。
（付記１０）  前記シミュレーションする工程では、複数回の画像シミュレーションの結果を画素ごとに平均することを特徴とする付記６〜９のいずれかに記載のシミュレーションプログラム。
（付記１１）  対象物と、前記対象物を照明する照明部と、前記照明部により照明された前記対象物を撮像する撮像部と、を有する現実装置を仮想空間内に再現した仮想装置において、前記撮像部の位置を該撮像部の１画素以下の範囲内で動かしつつ、環境マッピングによる画像シミュレーションを複数回実行し、前記現実装置の前記撮像部による撮像画像をシミュレーションするシミュレーション部、を備え、
前記シミュレーション部は、
初回の画像シミュレーションにおいては、前記環境マッピングに用いるキューブマップを作成し、該キューブマップに対する参照処理を前記撮像部の全画素に対して実行するとともに、前記撮像部の画素それぞれに対応する前記対象物上の位置の形状変化度が基準値より大きい場合に該画素を特定画素として抽出し、
２回目以降の画像シミュレーションにおいては、初回の画像シミュレーションにおいて作成した前記キューブマップに対する参照処理を、抽出した前記特定画素のみに対して実行する、
ことを特徴とするシミュレーション装置。
（付記１２）  前記シミュレーション部は、初回の画像シミュレーションにおいては、前記対象物のポリゴン形状データに基づいて、前記形状変化度を求める前記対象物上の位置を予め選別することを特徴とする付記１１に記載のシミュレーション装置。
（付記１３）  前記対象物のポリゴン形状データに基づいて、ポリゴンの大きさが所定の閾値以下の特定ポリゴンを抽出する抽出部、を更に備え、
前記シミュレーション部は、初回の画像シミュレーションにおいては、前記撮像部の画素に対応する前記対象物上の位置を含むポリゴンが前記特定ポリゴンである場合に、該画素に対応する前記対象物上の位置の形状変化度が前記基準値より大きいと判断することを特徴とする付記１１に記載のシミュレーション装置。
（付記１４）  前記撮像部の画素それぞれに対応する前記対象物上の位置は、前記画素から光線が出射された場合に該光線が前記対象物上で反射する位置であることを特徴とする付記１１〜１３のいずれかに記載のシミュレーション装置。
（付記１５）  前記シミュレーション部は、複数回の画像シミュレーションの結果を画素ごとに平均することを特徴とする付記１１〜１４のいずれかに記載のシミュレーション装置。
【符号の説明】
【００６３】
１０  現実装置
２２  計算部（シミュレーション部、抽出部）
２３  仮想装置
２４  撮像部
２５  照明部
３０  携帯端末（対象物）
【図１】
2017027236.tif 000004
【図２】
2017027236.tif 000005
【図３】
2017027236.tif 000006
【図４】
2017027236.tif 000007
【図５】
2017027236.tif 000008
【図６】
2017027236.tif 000009
【図７】
2017027236.tif 000010
【図８】
2017027236.tif 000011
【図９】
2017027236.tif 000012
【図１０】
2017027236.tif 000013
【図１１】
2017027236.tif 000014
【図１２】
2017027236.tif 000015
【図１３】
2017027236.tif 000016