IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ パロ アルト リサーチ センター インコーポレイテッドの特許一覧

特許7616891ARオーバーレイを使用した変化検出方法及びシステム
<>
  • 特許-ARオーバーレイを使用した変化検出方法及びシステム 図1
  • 特許-ARオーバーレイを使用した変化検出方法及びシステム 図2A
  • 特許-ARオーバーレイを使用した変化検出方法及びシステム 図2B
  • 特許-ARオーバーレイを使用した変化検出方法及びシステム 図3
  • 特許-ARオーバーレイを使用した変化検出方法及びシステム 図4
  • 特許-ARオーバーレイを使用した変化検出方法及びシステム 図5A
  • 特許-ARオーバーレイを使用した変化検出方法及びシステム 図5B
  • 特許-ARオーバーレイを使用した変化検出方法及びシステム 図5C
  • 特許-ARオーバーレイを使用した変化検出方法及びシステム 図5D
  • 特許-ARオーバーレイを使用した変化検出方法及びシステム 図6A
  • 特許-ARオーバーレイを使用した変化検出方法及びシステム 図6B
  • 特許-ARオーバーレイを使用した変化検出方法及びシステム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-08
(45)【発行日】2025-01-17
(54)【発明の名称】ARオーバーレイを使用した変化検出方法及びシステム
(51)【国際特許分類】
   G06T 7/174 20170101AFI20250109BHJP
   G06T 7/13 20170101ALI20250109BHJP
   G06T 7/70 20170101ALI20250109BHJP
   G06T 19/00 20110101ALI20250109BHJP
【FI】
G06T7/174
G06T7/13
G06T7/70 Z
G06T19/00 600
【請求項の数】 20
(21)【出願番号】P 2021010668
(22)【出願日】2021-01-26
(65)【公開番号】P2021131853
(43)【公開日】2021-09-09
【審査請求日】2024-01-24
(31)【優先権主張番号】16/795,379
(32)【優先日】2020-02-19
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】504407000
【氏名又は名称】パロ アルト リサーチ センター,エルエルシー
(74)【代理人】
【識別番号】100094569
【弁理士】
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100109070
【弁理士】
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【氏名又は名称】西島 孝喜
(74)【代理人】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【弁理士】
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【弁理士】
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100158551
【弁理士】
【氏名又は名称】山崎 貴明
(72)【発明者】
【氏名】マシュー・エー.・シュリーブ
(72)【発明者】
【氏名】リサ・エス.イー.・リザンラルソン
【審査官】吉田 千裕
(56)【参考文献】
【文献】米国特許第09886771(US,B1)
【文献】特開2020-003995(JP,A)
【文献】特開2019-191927(JP,A)
【文献】特開2017-091078(JP,A)
【文献】米国特許出願公開第2007/0124709(US,A1)
【文献】米国特許第09824453(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/174
G06T 7/13
G06T 7/70
G06T 19/00
(57)【特許請求の範囲】
【請求項1】
物理的物体と前記物理的物体に対応する参照モデルとの間の差異を検出するためのコンピュータによって実行される方法であって、
前記物理的物体の現実世界画像を取得することと、
前記参照モデルから生成された三次元(3D)オーバーレイを前記現実世界画像内の前記物理的物体上に投影することによって、拡張現実(AR)画像を生成することであって、前記AR画像を生成することは、前記参照モデルの姿勢を前記物理的物体の姿勢に位置合わせすることを含む、生成することと、
生成された前記AR画像及び前記現実世界画像に基づいて、前記物理的物体と前記参照モデルとの間の前記差異を検出することと、
前記現実世界画像及び前記AR画像をユーザに表示することにより、前記ユーザが前記現実世界画像又は前記AR画像に注釈を付加して、検出された前記差異の位置又は大きさを示すことを容易にすることと、
を含む、方法。
【請求項2】
前記参照モデルの前記姿勢を前記物理的物体の前記姿勢に位置合わせすることは、前記現実世界画像内及び前記参照モデルから生成された前記画像内の整合キーポイントを特定することを含む、請求項1に記載の方法。
【請求項3】
前記現実世界画像及び前記AR画像は、前記ユーザに交互に表示される、請求項1に記載の方法。
【請求項4】
前記AR画像と前記現実世界画像との間の前記1つ以上の差異が、色差、テクスチャの違い、又は構造的差異を含む、請求項1に記載の方法。
【請求項5】
前記色差を計算することは、
前記AR画像と前記現実世界画像との間の色値の差を画素レベルで計算することと、
前記色値の前記差を二値化することによって差分マスクを生成することと、
を含む、請求項に記載の方法。
【請求項6】
前記色差を計算することは、前記AR画像と前記現実世界画像との間のカラーキャリブレーションの違いを求めることを更に含む、請求項に記載の方法。
【請求項7】
前記構造的差異を計算することは、
前記AR画像のエッジマップ及び前記現実世界画像のエッジマップを生成することと、
前記エッジマップを相互から減算することと、
を含む、請求項に記載の方法。
【請求項8】
前記現実世界画像内の前記物理的物体及び前記物理的物体の前記姿勢を認識するように認識エンジンを訓練することを更に含む、
請求項1に記載の方法。
【請求項9】
モデルデータベースにアクセスして、認識された前記物理的物体に基づく参照モデルを取得することであって、前記モデルデータベースは、複数のコンピュータ支援設計(CAD)モデル、複数の3Dメッシュ、及び参照物体の画像のうちの1つ以上を含む、取得することを
更に含む、
請求項に記載の方法。
【請求項10】
前記物理的物体と前記参照モデルとの間の検出された前記差異の位置、大きさ、又は種類を含む差分ファイルを出力することを更に含む、請求項1に記載の方法。
【請求項11】
物理的物体と前記物理的物体に対応する参照モデルとの間の差異を検出するためのコンピュータシステムであって、
プロセッサと、
前記プロセッサに結合され、前記プロセッサによって実行されると、前記プロセッサに方法を実行させる命令を記憶している記憶デバイスであって、前記方法は、
前記物理的物体の現実世界画像を取得することと、
前記参照モデルから生成された3Dオーバーレイを前記現実世界画像内の前記物理的物体上に投影することによって、拡張現実(AR)画像を生成することであって、前記AR画像を生成することは、前記参照モデルの姿勢を前記物理的物体の姿勢に位置合わせすることを含む、生成することと、
生成された前記AR画像及び前記現実世界画像に基づいて、前記物理的物体と前記参照モデルとの間の前記差異を検出することと、
前記現実世界画像及び前記AR画像をユーザに表示することにより、前記ユーザが前記現実世界画像又は前記AR画像に注釈を付加して、検出された前記差異の位置又は大きさを示すことを容易にすることと、
を含む、記憶デバイスと、
を備える、コンピュータシステム。
【請求項12】
前記参照モデルの前記姿勢を前記物理的物体の前記姿勢に位置合わせすることは、前記現実世界画像内及び前記参照モデルから生成された前記画像内の整合キーポイントを特定することを含む、請求項11に記載のコンピュータシステム。
【請求項13】
前記現実世界画像及び前記AR画像は、前記ユーザに交互に表示される、請求項11に記載のコンピュータシステム。
【請求項14】
前記AR画像と前記現実世界画像との間の前記差異が、色差、テクスチャの違い、又は構造的差異を含む、請求項11に記載のコンピュータシステム。
【請求項15】
前記色差を計算することは、
前記AR画像と前記現実世界画像との間の色値の差を画素レベルで計算することと、
前記色値の前記差を二値化することによって差分マスクを生成することと、
を含む、請求項14に記載のコンピュータシステム。
【請求項16】
前記色差を計算することは、前記AR画像と前記現実世界画像との間のカラーキャリブレーションの違いを求めることを更に含む、請求項15に記載のコンピュータシステム。
【請求項17】
前記構造的差異を計算することは、
前記AR画像のエッジマップ及び前記現実世界画像のエッジマップを生成することと、
前記エッジマップを相互から減算することと、
を含む、請求項14に記載のコンピュータシステム。
【請求項18】
前記方法は、
前記現実世界画像内の前記物理的物体及び前記物理的物体の前記姿勢を認識するように認識エンジンを訓練することを更に含む、
請求項11に記載のコンピュータシステム。
【請求項19】
前記方法は、
モデルデータベースにアクセスして、認識された前記物理的物体に基づく参照モデルを取得することであって、前記モデルデータベースは、複数のコンピュータ支援設計(CAD)モデル、複数の3Dメッシュ、及び参照物体の画像のうちの1つ以上を含む、取得することを更に含む、
請求項18に記載のコンピュータシステム。
【請求項20】
前記方法は、前記物理的物体と前記参照モデルとの間の検出された前記差異の位置、大きさ、又は種類を含む差分ファイルを出力することを更に含む、請求項11に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概略的には拡張現実(AR)に関する。より具体的には、本開示は、設計と製造品との間の変化を検出するためにARオーバーレイを実施するシステム及び方法に関する。
【背景技術】
【0002】
近年、3Dプリンティング又は付加製造は、3Dプリンティング技術の精度、再現性及び材料範囲の向上などの急速な発展により、工業生産における有望なソリューションとなっている。3Dプリンティングでは、食品製造、ファッションデザイン、自動車製造、アジャイルツーリング、医療用途などの、ラピッドプロトタイピングを超える実用的な用途が数多く見出されている。
【0003】
しかしながら、技術上の限界により、製造品に欠陥が生じる場合がある。そのような欠陥には、材料の過剰な積層又は積層不足、あるいは構造的崩壊が含まれ得る。欠陥が微細である場合もあり、欠陥の検出がユーザにとって困難である場合や、高価である場合がある。例えば、製造された物体の特定の構造体が、当初の設計よりもわずかに厚いか又は薄い場合や、平坦であるべき表面がわずかに湾曲している場合がある。いくつかのシステムでは、そのような欠点及び欠陥を検出するために、高度な機械視覚技術及び高価な撮像機器(例えば、3Dレーザスキャナ、コンピュータ体軸断層撮影(computerized axial tomography:CT)機械、X線機械など)を使用する必要があり得る。いくつかのシステムでは、製造された物体が設計されたものと同じであるかどうかを判定するために、人による検査が必要である。
【0004】
3Dプリンティングされた物体の品質を検査することに加えて、風化、摩耗、保守不良などの様々な環境要因によって引き起こされる可能性のある、物体の構造及び外観のわずかな変化を検出することが必要な場合がある。このような変化を検出することは、製造された物体が設計要件を満たすように、又は機器を適時に保守できるようにする上で重要であり得る。変化及び/又は変化の大きさを検出する能力は、製造された物体の修復が必要な場合に、そのような修復を容易にすることもできる。
【発明の概要】
【0005】
一実施形態は、物理的物体と、物理的物体に対応する参照モデルとの間の差異を検出するためのシステムを提供することができる。動作中に、システムは、物理的物体の現実世界画像を取得し、参照モデルから生成された三次元オーバーレイを現実世界画像内の物理的物体上に投影することによって、拡張現実(AR)画像を生成する。AR画像の生成中に、システムは、参照モデルの姿勢を物理的物体の姿勢に位置合わせする。システムは、生成されたAR画像及び現実世界画像に基づいて、物理的物体と参照モデルとの間の差異を検出することができる。
【0006】
この実施形態の変形例では、参照モデルの姿勢を物理的物体の姿勢に位置合わせすることは、現実世界画像内及び参照モデルから生成された画像内の整合キーポイントを特定することを含み得る。
【0007】
この実施形態の変形例では、システムは、現実世界画像及びAR画像をユーザに交互に表示することにより、ユーザが現実世界画像又はAR画像に注釈を付加して、検出された差異の位置及び/又は大きさを示すことを容易にしてもよい。
【0008】
この実施形態の変形例では、システムは、AR画像と現実世界画像との間の1つ以上の差異を自動的に計算し、計算された差異の位置及び/又は大きさを示す注釈を自動的に生成することができる。
【0009】
更なる変形例では、AR画像と現実世界画像との間の差異が、色差、テクスチャの違い、又は構造的差異を含んでもよい。
【0010】
更なる変形例では、色差を計算することは、AR画像と現実世界画像との間の色値の差を画素レベルで計算することと、色値の差を二値化することによって差分マスクを生成することと、を含んでもよい。
【0011】
更なる変形例では、色差を計算することは、AR画像と現実世界画像との間のカラーキャリブレーションの違いを求めることを更に含んでもよい。
【0012】
更なる変形例では、構造的差異を計算することは、AR画像のエッジマップ及び現実世界画像のエッジマップを生成することと、エッジマップを相互から減算することと、を含んでもよい。
【0013】
この実施形態の変形例では、システムは、現実世界画像内の物理的物体及び物理的物体の姿勢を認識するように認識エンジンを訓練してもよい。
【0014】
更なる変形例では、システムは、モデルデータベースにアクセスし、認識された物理的物体に基づいて参照モデルを取得してもよい。モデルデータベースは、複数のコンピュータ支援設計(CAD)モデル、複数の3Dメッシュ、及び参照物体の画像のうちの1つ以上を含む。
【0015】
この実施形態の変形例では、システムは、物理的物体と参照モデルとの間の検出された差異の位置、大きさ、又は種類を含む差分ファイルを出力してもよい。
【図面の簡単な説明】
【0016】
図1】一実施形態による、新規な変化検出システムの例示的な使用シナリオを示す。
【0017】
図2A】一実施形態による変化検出例を示す。
【0018】
図2B】一実施形態による、異なる視野角で検出された変化を示す。
【0019】
図3】一実施形態による例示的な変化検出システムを示す。
【0020】
図4】一実施形態による、コンピュータ生成モデルと物理的物体との間の例示的な位置合わせを示す。
【0021】
図5A】一実施形態による画像差異計算方法を示す。
図5B】一実施形態による画像差異計算方法を示す。
図5C】一実施形態による画像差異計算方法を示す。
図5D】一実施形態による画像差異計算方法を示す。
【0022】
図6A】一実施形態による、例示的なARベースの変化検出プロセスを示すフロー図を示す。
【0023】
図6B】一実施形態による、例示的なARベースの変化検出プロセスを示すフロー図を示す。
【0024】
図7】一実施形態による、変化検出システムを容易にする例示的なコンピュータシステムを示す。
【0025】
図面中、同じ参照番号は、同じ図形要素を指す。
【発明を実施するための形態】
【0026】
以下の説明は、当業者が実施形態を製造及び使用することを可能にするために提示され、特定の用途及びその要件に関連して提供される。開示される実施形態に対する様々な修正は、当業者には容易に明らかとなり、本明細書に定義される一般原理は、本開示の趣旨及び範囲から逸脱することなく、他の実施形態及び用途に適用され得る。したがって、本発明は、示される実施形態に限定されるものではなく、本明細書に開示される原理及び特徴と一致する最も広い範囲を与えられるものである。
概要
【0027】
本明細書に記載される実施形態は、製造された製品の設計と製品自体との間の変化を検出する技術的問題を解決する。いくつかの実施形態では、インテリジェントな変化検出システムは、相互に重なり合っている2つの画像間の差異を検出する人間の知覚能力を取り込むことができる。より具体的には、システムは、AR技術を使用して、検査中の製品の参照モデル(例えば、3Dコンピュータ支援設計(CAD)モデル)を物理的製品に投影及び位置合わせすることができる。投影像のオンとオフとを素早く切り替えることにより、製品の非拡張ビューと拡張ビューとが、AR機器の人間のユーザ(例えば、AR対応ゴーグルを装着しているユーザ)に交互に表示される。したがって、人間のユーザは、3D参照モデルと物理的製品との間の差異を識別し、次いで、そのような変化をARアプリケーションでラベル付けすることができる。あるいは、自動変化検出モジュールを使用して、物理的製品と参照モデルとの間の変化又は差異を検出することもできる。ARアプリケーションはまた、他のアプリケーション(例えば、製造品の欠陥を修正するためのアプリケーション)によって使用可能な、検出された差異を定量化できる出力(ファイル又はパラメータのセットなど)を生成してもよい。
ARベースの変化検出システム
【0028】
前述のように、製造された物体の欠点又は欠陥は、検出が難しい場合がある。欠点又は欠陥は、(例えば、3Dプリンティングされる物体の観点から)理想的とは言えない製造条件、あるいは(例えば、風化、摩耗、保守不良などの)様々な環境条件の結果であり得る。高価で実装が難しい場合がある高度な機械視覚技術と比較すると、人による検査は低コストであり、柔軟性を提供することができる。しかしながら、人間の知覚システムは、「変化盲」として知られるように、環境のわずかな変化を視覚的に観測することが難しいことが知られている。この変化盲現象は、検査員が(物理的物体である)製造された物体と(多くの場合、コンピュータ生成された単数又は複数の画像の形態である)参照モデルとの間の差異を検出することを困難にする。
【0029】
人間が2つの画像間のわずかな変化を検出するのを助ける方法の一つは、2つの画像を(例えば、一方が他方の上に重なるように)位置合わせして、これら2つの画像を素早く連続的に表示することである。変化は、画像内の様々な画素の時間的持続性を乱していることで、わずかであっても人間の目に非常に明らかとなり得る。いくつかの実施形態では、新規な変化検出システムは、検査員が製造品とその本来の設計との間の変化を検出することを容易にするために、検査員が物理的製品を目視で検査している間に、AR技術を使用して参照モデルの画像(単数又は複数)を物理的製品上に位置合わせ及び投影することができる。この新規な変化検出システムは、投影画像のオンとオフとを素早く切り替えることにより、検査員がモデル画像と物理的製品とを迅速に連続して見ることを可能にする。この結果、検査員は、参照モデルと物理的製品との間の差異を容易に認識し、欠陥を特定することができる。
【0030】
図1は、一実施形態による、新規な変化検出システムの例示的な使用シナリオを示す。図1に示す例では、検査員又はユーザ102は、パーソナルコンピュータ(personal computer:PC)、ハンドヘルドコンピュータ、ヘッドマウントコンピュータ(head-mounted computer:HMC)、又はスマートグラスを含むことができる拡張現実(AR)機器104の一部を装備し、製造品又は現実世界物体106を検査している。図1に示す例では、AR機器104は、ハンドヘルドコンピュータ(例えば、タブレットコンピュータ又はスマートフォン)を含むことができる。一般に、AR機器104は、カメラと、カメラによってキャプチャされた画像を表示するためのディスプレイとを有する任意のコンピューティングデバイスを含むことができる。製造品106は、機械(例えば、プリンタ、自動車、又は飛行機エンジン)あるいはツール(例えば、プライヤ又はレンチ)の一部であってもよい。
【0031】
AR機器104は、現実世界環境又はシーン内の現実世界物体又は物理的物体の画像をキャプチャして表示することができる。AR機器104は、二次元(2D)センサ及び三次元(3D)センサの双方を含む様々なセンサ(例えば、センサ112)を使用して、現実世界環境のモデルを構築することができる。いくつかの実施形態では、AR機器104は、RGB-D(カラー+奥行き)カメラに加えて、自己位置推定及び環境地図作成の同時実行(simultaneous localization and mapping:SLAM)形式のアルゴリズムを使用して、現実世界環境のモデルを構築することができる。このような情報を、次に、現実世界のシーン内の現実世界物体上にコンピュータ生成物体(例えば、設計モデル)を位置合わせしてオーバーレイするために使用してもよい。
【0032】
いくつかの実施形態では、AR機器104は、任意選択的に、現実世界物体106の画像をネットワーク110を介してサーバ108に送信してもよい。サーバ108は、特徴抽出及び追跡などの様々な画像認識動作を実行する認識エンジン122を含むことができる。サーバ108内の認識エンジン122は、抽出され追跡された特徴に基づいて現実世界物体106を識別し、AR機器104のカメラに対するその姿勢(例えば、距離及び向き)を判定することができる。例えば、サーバ108内の認識エンジン122は、現実世界物体106を特定のモデルのプリンタとして識別することができ、また、プリンタがタブレットコンピュータ104のカメラに対して前方を向いていると判定することができる。あるいは、現実世界物体106に関連する識別情報をユーザが入力として認識エンジン122に提供してもよい。例えば、現実世界物体106を識別するために使用可能な名称、モデル番号、部品番号、又は任意の識別情報をユーザが提供してもよい。更に、現実世界物体106が識別され、その姿勢が判定されると、サーバ108は、識別された現実世界物体106に対応する参照モデル及びその判定された姿勢を送信して、AR機器(例えば、タブレットコンピュータ104)が現実世界物体(例えば、タービン)106のキャプチャされた画像上に設計モデルの画像を投影又はオーバーレイし、参照モデルの姿勢が現実世界物体106の姿勢に位置合わせされるようにしてもよい。より具体的には、サーバ108は、現実世界物体106に対応する参照モデルをモデルデータベース124から選択し、参照モデルの姿勢が現実世界物体106の姿勢と一致するように参照モデルの姿勢を調整することができる。換言すれば、ユーザ102がAR機器104を使用して見た参照モデルの形状及びサイズは、現実世界物体106の形状及びサイズと実質的に同じであってもよい。この結果、参照モデルの画像が現実世界物体106のキャプチャ画像と実質的に重複してもよい。参照モデルのそのような画像は、AR画像内のオーバーレイ画像であることを意味する3Dオーバーレイとも呼ばれ得る。代替的な実施形態では、AR機器又はタブレットコンピュータ104自体が、画像認識操作を実行するための認識エンジン114と、参照モデルを提供するためのモデルデータベース116とを含んでもよく、現実世界物体106の画像をリモートサーバに送信する必要がない。
【0033】
AR機器104は、現実世界物体106のキャプチャされた画像と、参照モデル(すなわち、3Dオーバーレイ)の姿勢を位置合わせした画像とを交互に表示するように構成することができる。例えば、各画像を数百ミリ秒~数秒の持続時間にわたって表示してもよい。いくつかの実施形態では、ユーザ102は、AR機器104を各画像の持続時間に関して構成することができる。更に、ユーザ102は、各画像が表示される回数を設定することもできる。例えば、ユーザ102は、各画像(キャプチャされた画像及び投影画像を含む)が、AR機器104のディスプレイによって毎回1秒間ずつ10回表示されるように、AR機器104を構成することができる。
【0034】
AR機器104はまた、ユーザ102が現実世界物体106上の変化又は欠陥が検出された位置をマーキングするために撮影画像に注釈を付加することを可能にする注釈モジュール118を含んでもよい。例えば、ユーザ102は、特定の描画ツールを使用して、検出された変化又は欠陥の位置をマーキングすることができる。あるいは、ユーザ102は、参照モデル(例えば、CADモデル)の画像に注釈を付加することができ、そのような注釈を使用して、更新された設計モデルを生成することができる。例えば、CADモデルをユーザに表示する際に特定の構成要素が強調され、現実世界物体106の対応する構成要素がCADモデルとは異なることを示すような方法で、CADモデル内の特定の構成要素に注釈を付加してもよい。いくつかの実施形態では、サーバ108は、参照モデル上の注釈を生成することの可能な注釈モジュール126を含んでもよい。このような注釈が、現実世界物体106と参照モデルとの間の検出された差異に基づいて生成されてもよい。
【0035】
図2Aは、一実施形態による変化検出例を示す。図2Aの左端の図は、タービン202を示す物理的環境の非拡張画像である。中央の図は、同じ物理的環境の拡張現実画像であり、タービンCADモデル204のコンピュータ生成画像がタービン202上に投影されている。CADモデル204の姿勢は、コンピュータ生成画像がタービン202の画像と重なるようにタービン202の姿勢と一致している。図2Aの右端の図は、タービン202の注釈付き画像である。より具体的には、図2Aの右端の図は、注釈206及び注釈208を含み、各注釈は、タービン202上におけるタービン202とタービンCADモデル204との間の変化又は差異の位置を、(例えば矢印を用いて)示している。より具体的には、差異の領域は丸で囲まれているか、又は強調表示されている。いくつかの実施形態では、注釈(例えば、注釈208)が変化の大きさを更に示してもよい。例えば、注釈208は、タービン202の縁部とタービンCADモデル204との間のずれが1mmであることを示してもよい。
【0036】
なお、図2Aに示す例では、物理的物体は一定の角度から見られている。実際には、物理的物体とその参照モデルとの間の全ての差異をキャプチャするためには、物理的物体を様々な視野角から検査する必要がある。視野角を調整するために、AR機器(例えば、スマート眼鏡又はタブレットコンピュータ)を装備したユーザがAR機器のカメラの視野角を調節してもよく、又は、ユーザが物理的物体の向きを調節してもよい。このような調節が、手動で、又は自動制御を使用して行われてもよい。例えば、タブレットコンピュータを持っているユーザが、物体の画像を様々な角度からタブレットコンピュータ上のカメラでキャプチャできるように、大型の物体(例えば、プリンタ)の周囲を歩き回ってもよい。あるいは、カメラを動かさずに様々な視野角からより小さい物体の画像をキャプチャできるように、より小さい物体(例えば、プリンタ部品)が回転ステージ上に配置されてもよい。回転ステージが、手動で又は自動的に制御されてもよい。図2Bは、一実施形態による、異なる視野角で検出された変化を示す。視野角が変化すると、以前には検出できなかった変化又は差異が検出され得ることに留意されたい。
【0037】
図3は、一実施形態による例示的な変化検出システムを示す。変化検出システム300は、撮像モジュール302、表示モジュール304、認識モジュール306、モデルデータベース308、位置合わせモジュール310、画像差異検出モジュール312、視覚化モジュール314、及び注釈モジュール316を含むことができる。
【0038】
撮像モジュール302は、物理的世界の画像をキャプチャする役割を果たしてもよい。より具体的には、撮像モジュール302は、3Dプリンティングを使用して製造された製品、又はメンテナンス中の機器などの物理的物体の画像をキャプチャすることができる。いくつかの実施形態では、撮像モジュール302は、静止画像及びビデオをキャプチャすることの可能な2D又は3Dカメラを含んでもよい。表示モジュール304は、撮像モジュール302によってキャプチャされた画像及び、そのような画像の拡張バージョンを表示する役割を果たしてもよい。
【0039】
認識モジュール306は、撮像モジュール302によってキャプチャされた画像を解析してもよい。より具体的には、認識モジュール306は、教師あり学習などの様々な機械学習技術を使用して、キャプチャされた画像内の物体及びその姿勢を認識することができる。いくつかの実施形態では、認識モジュール306は、対象の物体の3Dスキャンを実行することによって得られる3D設計モデル(例えば、3DのCADモデル)又は情報を使用して訓練することができる。物体の様々な姿勢を記録することができるように、3D設計モデル又は3Dスキャン結果を訓練中に操作してもよい。その後、訓練された認識モジュール306が、キャプチャされた画像又はビデオストリームにおける物体の姿勢を識別してもよい。
【0040】
モデルデータベース308が、複数の物体の設計ファイル(例えば、3DのCADファイル)を含んでもよい。例えば、モデルデータベース308が、様々なモデルのプリンタの設計ファイル又はプリンタの様々な部品の設計ファイルを含んでもよい。システムは、認識モジュール306の出力に基づいて、識別された物体に対応する設計ファイルにアクセスすることができる。一実施例では、キャプチャされたシーン内の物体が特定のモデルのプリンタであると認識モジュール306が識別した場合に、モデルデータベース308に記憶されているそのようなプリンタのCADファイルが抽出されてもよい。
【0041】
位置合わせモジュール310は、参照モデルの姿勢を、キャプチャされた画像内の物理的物体の姿勢に位置合わせ又は一致させる役割を果たしてもよい。より具体的には、位置合わせモジュール310は、参照モデル(例えば、CADモデル)から画像を出力することができる。出力された画像が、キャプチャされた画像内の物理的物体の姿勢と実質的に一致する姿勢のこの物理的物体のCADモデルを含んでもよい。いくつかの実施形態では、位置合わせモジュール310は、特徴検出器(例えば、頑健な特徴量の高速化(speeded up robust Features:SURF)検出器)を使用して、キャプチャされた画像及びコンピュータ生成画像における整合キーポイントを見つけてもよい。例えば、キャプチャされた画像内のコーナーポイントを、コンピュータ生成画像内のコーナーポイントに一致させてもよい。次いで、これらの整合キーポイントの対を使用してアフィン変換行列を定義し、1つの画像を他の画像の同じ座標空間にマッピングすることができる。より具体的には、物体のCAD画像を、その物体のキャプチャされた画像の同じ座標空間にマッピングすることができる。位置合わせモジュール310は、位置合わせを一度行うだけでよいことに留意されたい。一度位置合わせを行うと、キャプチャされた画像内の物理的物体の位置及び/又は向きを、物理的物体とその参照モデルとの間の位置合わせに影響を及ぼすことなく変更することができる。換言すれば、参照モデルの姿勢は物理的物体の姿勢にロックされ、物理的物体の姿勢変化に従って変化することが可能である。
【0042】
図4は、一実施形態による、コンピュータ生成モデルと物理的物体との間の例示的な位置合わせを示す。左側の図は、タービンのキャプチャされた画像と、タービンCADモデルのコンピュータ生成画像とを並べて示している。図4はまた、複数の線を示し、それぞれの線は、物理タービンモデル内の(円でマーキングされた)1つの点を、タービンCADモデル内の(十字でマーキングされた)点と結び付けている。これらの結び付けられた点は、画像を記録するために位置合わせモジュール310によって使用される整合キーポイントである。次いで、位置合わせモジュール310は、1つの画像からのキーポイントの一セットが整合キーポイントの対応するセットの真上に配置されるように2つの画像をオーバーレイ及びブレンドすることによって、2つの画像を位置合わせしてもよい。
【0043】
いくつかの実施形態では、位置合わせモジュール310は、整合キーポイントを見出す代わりに、キャプチャされた画像内の物理的物体に完全に位置合わせされたCAD画像を出力することによって、CADモデルを直接操作してもよい。より具体的には、位置合わせモジュール310は、キャプチャされた画像内の特定のキーポイント(例えば、縁部又は角部)を識別し、識別されたキーポイントの相対位置に基づいて物理的物体の姿勢を推測してもよい。参照モデル(例えば、CADモデル)が典型的には全ての点の位置情報を記録するので、位置合わせモジュール310は、物理的物体の推測された姿勢に従ってモデル画像を容易に出力し、キャプチャされた画像上にモデル画像をオーバーレイすることができる。
【0044】
図3に戻ると、画像差異検出モジュール312は、非拡張画像(例えば、図2A及び図2Bの左端の画像)と、コンピュータ生成モデルが物理的物体上に重なっている拡張画像(例えば、図2A及び図2Bの中央の画像)との間の変化を検出することができる。いくつかの実施形態では、画像差異検出モジュール312は、グレースケール強度値又は色強度値の差異を(例えば画素レベルで)計算し、差異値を二値化することによって差分マスクを生成することができる。
【0045】
キャプチャされた画像内の画素の色、テクスチャ又は濃淡は、撮像条件(例えば、照明条件)の変動のためにコンピュータ生成モデル画像内の対応する画素とは異なる場合がある。更に、カメラとCADモデルとの間のカラーキャリブレーションの違いが、2つの画像間に色差を生じさせる可能性がある。しかしながら、このような色差は人為的な効果であり、変化を反映するものではない。システムがこのような人為的な効果を実際の変化として扱うことを防ぐために、いくつかの実施形態では、画像差異検出モジュール312は、色を比較する際に照明又はカラーキャリブレーションの違いを考慮に入れる。より具体的には、画像差異検出モジュール312は、非拡張画像及び拡張画像のそれぞれに対してカラーヒストグラムを生成し、そのような生成されたカラーヒストグラムを使用して、2つの画像間の様々な色の画素の頻度を比較することができる。画像差異検出モジュール312は更に、計数に基づいて2つの画像間の色を一致させてもよい。図2Aを一例として使用すると、中央の画像に示されるCADモデル内の青色(青色_参照と呼ばれる)は、タービンのキャプチャされた画像内の青色(青色_物理と呼ばれる)とは異なる。しかしながら、各画像内の対応する青色を有する画素数は、ほぼ同じである必要がある。したがって、画像差異検出モジュール312は、カラーヒストグラムを一致させることによって、1つの画像内の1つの色と他の画像内の対応する色とを、これら2つの色の値(例えばRGB値又はグレースケール値)が異なる場合であっても一致させることができる。画像差異検出モジュール312はまた、2つの色の間の値の差異を取得してもよく、そのような値の差異は予測される差である。更に、画像差異検出モジュール312は、2つの画像(すなわち、非拡張画像と拡張画像)間の色を比較する際に、各画素位置における色差を計算することができ、特定の画素位置における色差が予測される差よりも特定の閾値だけ大きい場合、画像差異検出モジュール312は、この画素位置を色変化が生じる位置として記録することができる。
【0046】
現実世界画像とコンピュータ生成モデル画像との間のテクスチャの違いは、真の差異である可能性もあるが、照明条件に起因するアーチファクトでもあり得ることに留意されたい。システムは、真の差異とアーチファクトとを区別するために、照明条件(例えば、照明角度又は強度)を変化させ、テクスチャの違いが同じままであるか否かを確認してもよい。テクスチャの違いが真の差異である場合には、照明条件を変更しても、検出されるテクスチャの違いは、大きさが変化するだけであり、位置は変化しないであろう。
【0047】
画像差異検出モジュール312は、色差をキャプチャできることに加えて、非拡張画像と拡張画像との間の構造の変化をキャプチャすることも可能である。一部の実施形態では、画像差異検出モジュール312は、構造の変化をキャプチャするために、最初に各画像についてエッジマップを計算し、一連のモルフォロジ演算子を各エッジ画像に適用してもよい。一実施形態では、半径10のディスク演算子を使用して、各画像から生成されたエッジマップのダイレーションを行うことができる。画像差異検出モジュール312は、エッジマップ間の論理差を(例えば、「and」演算子又は「or」演算子を使用することによって)更に計算して差分ファイルを出力することができ、差分ファイルは、論理値「1」が差異を示し、論理値「0」が差異がないことを示すバイナリ画素マップであってもよい。更に、画像差異検出モジュール312は、別の一連のモルフォロジ演算子を使用して、無関係なエッジの差異を取り除くことができる。一実施形態では、半径11のエロージョンモルフォロジ演算子を使用することができる。
【0048】
図5A図5Dは、一実施形態による画像差異計算方法を示す。これらの実施例では、物理的物体はプリンタであってもよく、参照モデルはプリンタのCADモデルであってもよい。より具体的には、図5Aは、プリンタCADモデルの計算されたエッジマップを示し、図5Bは、物理的プリンタの計算されたエッジマップを示している。図5Cは、2つのエッジマップ間の差異を示している。図5Dは、CADモデル上で変化が検出された位置を強調表示することによって、検出された差異を示している。
【0049】
図3に戻ると、視覚化モジュール314は、検出された変化をユーザが視覚化することを容易にする役割を果たすことができる。いくつかの実施形態では、視覚化モジュール314は、対応する画素を(図5Dに示すような)拡張画像又は非拡張画像のいずれかで強調表示することによって、検出された変化を提示してもよい。視覚化の結果を、次に表示モジュール304によってユーザに表示してもよい。ユーザが変化検出結果を検証及び修正することを、視覚化された変化が支援してもよい。例えば、視覚化された変化は、特定の領域にユーザの注意を向けさせて、ユーザがそのような差異が真の差異であるか、又はアーチファクトであるかをより詳しく調べて判定できるようにしてもよい。ユーザは、そのような変化を詳しく調べるために、拡張ビューのオンとオフとを能動的に切り替えて、拡張画像と非拡張画像との間の差異が分かるようにしてもよい。例えば、図5Dでは、領域502が強調表示され、画像差異検出モジュール312によって検出された変化を示している。しかしながら、ユーザが詳しく調べた結果、そのような変化又は差異が物理的プリンタ上の光反射によって引き起こされたものであり、無視してよいことが分かることもあり得る。更に、変化を様々な視野角から検出できるように、ユーザがシステムの視野角を調整してもよい。いくつかの実施形態では、視覚化モジュール314は任意選択であってもよい。画像を使用してユーザに変化を表示する代わりに、検出された変化の位置及び/又は大きさを記録する出力ファイルに変化を自動的に記録してもよい。例えば、3Dプリンティングされた物体の右角に3mmの過剰に積層された材料があることを、出力ファイルが示してもよい。
【0050】
図3では、注釈モジュール316は、ユーザが2つの画像(すなわち、非拡張画像と拡張画像)間の実際の変化の位置を特定すると、ユーザが単一又は複数の画像に注釈を付加することを可能にする。ユーザは、(図2A及び図2Bの右端の画像によって示される)非拡張画像又は(図5Dと同様の)拡張画像のいずれかに注釈を付加することができる。図2A及び図2Bに示される実施例では、ユーザは、画像編集ツールを使用して、変化領域の境界を手描きすることが可能であり、また、注釈モジュール316が境界領域を強調表示してもよい。一方、拡張画像内に注釈が作成される場合には、ユーザは、CADツールに組み込まれている編集機能により、CADモデル内の特定の構成要素又は下位構成要素を選択及び強調表示することで、構成要素又は下位構成要素で検出された変化を示すことが可能であってもよい。注釈が、画像差異検出モジュール314の出力に基づき、システムによって自動的に生成されるシナリオでは、ユーザは、システムによって生成された注釈を承諾するか、又は拒否するかを決定することができる。例えば、システムによって生成された注釈が(例えば様々な照明条件による色差などの)アーチファクトに関連するものである場合には、ユーザは、注釈がシステム出力の一部にならないように、この注釈を拒否することを選択してもよい。
【0051】
図6Aは、一実施形態による、例示的なARベースの変化検出プロセスを示すフロー図を示す。システムは、変化を検出する前に、1つ以上の3D設計ファイルを使用してAR位置合わせモジュール(AR「トリガ」とも呼ばれる)を訓練する(作業602)。このような3D設計ファイルを、元の設計モデル(例えば、3Dモデル)から取得してもよく、又は対象物体の3Dスキャンを実行することによって抽出してもよい。例えば、物理的物体の3Dスキャンによって3Dメッシュファイルを生成してもよい。訓練されたARトリガをシステムで使用して、記憶されているビデオキャプチャ又はライブビデオキャプチャから設計ファイル又はメッシュファイルの正確な位置合わせを復元してもよい。より具体的には、訓練されたARトリガは、検査中の物体(例えば、カメラの視野内の物体)を識別し、その位置合わせ情報を抽出することができる。
【0052】
作業中に、システムは、検査中の物理的物体の画像を取得する(作業604)。画像は、リアルタイムでローカルにキャプチャされるか、リモートにストリーミングされるか、又は記憶装置から取得されてもよい。あるシナリオでは、ユーザは、物理的物体と同じ場所でカメラを操作して、物理的物体の画像をキャプチャしてもよい。別のシナリオでは、ユーザは、単に物理的物体のビデオファイルにアクセスするのみであってもよい。
【0053】
続いて、システムは、訓練されたARトリガを使用して、画像内の物理的物体及びその姿勢を認識し(作業606)、モデルデータベースにアクセスして、物理的物体に対応する参照モデル(例えば、CADモデル)を取得する(作業608)。システムは、取得された画像内の物理的物体の認識された姿勢に従って物理的物体の参照モデルを更に位置合わせし(作業610)、位置合わせされた参照モデルを元の画像内の物理的物体上にオーバーレイすることによってAR画像を生成することができる(作業612)。拡張画像では、参照モデルの姿勢が画像内の物理的物体の姿勢と一致するため、参照モデルは、周囲環境に干渉することなく物理的物体と実質的に重なる。
【0054】
次いで、システムは、非拡張画像及び拡張画像をユーザに表示することができる(作業614)。例えば、システムは、ARオーバーレイのオンとオフとを素早く切り替えることにより、ユーザが非拡張画像及び拡張画像を素早く連続して見ることを可能にする。
【0055】
ユーザは、表示された非拡張画像及び拡張画像に基づいて、画像の一方又は両方に手動で注釈を付加することができる(作業616)。例えば、ユーザは、強調表示ツールを使用して、参照モデルとは異なる物理的物体上の領域を強調表示することができる。次いで、システムは、ユーザ注釈に基づいて出力を生成することができる(作業618)。
【0056】
図6Bは、一実施形態による、例示的なARベースの変化検出プロセスを示すフロー図を示す。作業622~632は、図6Aに示される作業602~612と同様のものであり得る。
【0057】
AR画像を生成した後、システムは、元の非拡張画像及び拡張画像を変化検出モジュールに入力することができる(作業634)。変化検出モジュールは、拡張画像と非拡張画像との間の差異を自動的に計算することができる(作業636)。差異は、表面テクスチャの違い、色差、及び構造的差異(高さ又は幅の差など)を含み得る。次いで、システムは、色差、テクスチャの違い、又は構造的差異の位置をマーキングする注釈を自動的に生成することができる(作業638)。いくつかの実施形態では、システムによって生成された注釈は、その位置に加えて、1つ以上の差異の大きさを示してもよい。システムは、システムによって生成された注釈をユーザに提示することができる(作業640)。様々な視覚化技術を使用して、差異の位置をマーキングすることができる。いくつかの実施形態では、差異が検出された画素を強調表示してもよい。差異位置マーキングは、拡張画像又は非拡張画像のいずれでも行うことができ、ユーザに提示することができる。
【0058】
システムは、検出された差異の位置をマーキングし、そのようなマーキングをユーザに提示することによって、ユーザに変化の可能性を提案する。画像解析アルゴリズムを使用して検出された拡張画像と非拡張画像との間の差異は、必ずしも製品の設計からの逸脱を反映しているわけではないことに留意されたい。場合によっては、このような差異は、画像がキャプチャされる際に照明条件によって引き起こされたアーチファクトである可能性がある。時には、そのような差異は、製品の品質に影響を与えるものではなく、無視することができる。いくつかの実施形態では、ユーザは、マーキングされた位置で更なる検査を実施することができる(作業642)。例えば、ユーザは、そのような位置に真の変化が存在するかどうかを判定するために領域を更に検査するために、カメラを操作してマーキングされた位置にズームインすることができる。あるいは、ユーザは、マーキングされた位置がよりよく見えるように、カメラの視野角を変更してもよい。システムは、カメラがその姿勢を変更するたびに、カメラに対する物理的物体の新しい位置合わせを自動的に取得することができ、また、参照モデルの姿勢を調整して、参照モデルが物理的物体上に適切に投影されるようにすることができる。ユーザは、更なる検査を実施している間に、提案された変化の位置の拒否、改良、又は承諾を選択してもよい。
【0059】
ユーザは、手動での検査の実施に続いて、システムによって生成された注釈を修正することができる(作業644)。システムは次いで、システムによって生成された注釈のユーザによる修正に基づき、(ファイル又はパラメータのセットであり得る)出力を生成することができる(作業646)。出力ファイルは、システムによって検出された全ての変化と、ユーザが手動でマーキングした変化とをマッピング及び定量化することができる。いくつかの実施形態では、出力ファイルは、信頼度、変化の種類、変化の大きさなどのメトリックを含むことができる。出力ファイルは、ユーザが製造品(例えば、3Dプリンティング製品)の欠陥を定量化することを可能にすることにより、製造プロセスを改善するために使用可能な貴重な情報を提供することができる。いくつかの実施形態では、出力ファイルを、図2A及び図2Bに示すものと同様の注釈付き画像の形式とすることができる。別の実施形態では、出力ファイルは、注釈が埋め込まれたCADファイルの形式であってもよく、構成要素への注釈は、前述の変化メトリック(例えば、画素位置、信頼度、変化の種類、変化の大きさなど)を含むことができる。出力は、製品のその後の製造の指針として使用可能な修正された参照モデルを更に含んでもよい。例えば、3Dプリンティングされた物体をその設計モデルと比較することによって、設計からの製造上の逸脱の可能性を検出することができる。このような逸脱を、モデルパラメータを微調整することによって補償してもよい。
【0060】
いくつかの実施形態では、ユーザは、出力が生成される前にカメラの視野角を調整して、物理的物体の新たな画像を取得してもよく、また、変化検出プロセス全体を繰り返すことにより、元々はカメラの視野から外れていた位置で生じた変化をユーザが識別することが可能であってもよい。前述のように、カメラの視野を修正することで、3Dモデルが異なる位置に位置合わせされて、修正されたカメラ視野内の物理的物体の姿勢と一致してもよい。このようなプロセスを、物理的物体のそれぞれ及び全ての部分がユーザによって検査されるまで、複数回繰り返してもよい。
例示的なコンピュータ及び通信システム
【0061】
図7は、一実施形態による、変化検出システムを容易にする例示的なコンピュータシステムを示す。コンピュータシステム700は、プロセッサ702、メモリ704、及び記憶デバイス706を含む。コンピュータシステム700は、ディスプレイデバイス710、キーボード712、ポインティングデバイス714、カメラ716に連結され得、1つ以上のネットワークインタフェースを介してネットワーク708にも連結され得る。記憶デバイス706は、オペレーティングシステム718及び変化検出システム720を格納することができる。
【0062】
変化検出システム720は、コンピュータシステム700によって実行されると、コンピュータシステム700に、本開示に記載される方法及び/又はプロセスを実行させることができる命令を含むことができる。変化検出システム720は、画像内の物理的物体及びその姿勢を認識するための命令(認識モジュール722)と、物理的物体の姿勢に基づいて(モデルデータベース740から取得されてもよい)3Dモデルを位置合わせするための命令(位置合わせモジュール724)と、姿勢を位置合わせされた3Dモデルを物理的物体上にオーバーレイしてAR画像を生成するための命令(AR画像生成モジュール726)と、AR画像と元の画像との間の差異を検出するための命令(画像差異検出モジュール728)と、検出された差異の視覚的表現をユーザに提示するための命令(視覚化モジュール730)と、ARオーバーレイのオンとオフとを切り替えることによって、AR画像及び元の画像をユーザに交互に表示するための命令(AR切り替えモジュール732)と、ユーザが手動検査に基づいて画像に注釈を付加することを可能にするための命令(注釈モジュール734)と、システムによって検出された変化及びユーザが手動でマーキングした変化の全てをマッピング及び定量化する出力ファイルを生成及び出力するための出力モジュール(出力モジュール736)と、を含む。
【0063】
一般に、本発明の実施形態は、物理的物体とその摩耗前の参照モデル又は元の状態であってもよい標準との間の変化又は差異を検出するためのソリューションを提供する。より具体的には、ARオーバーレイを、(設計モデル又は3Dメッシュファイルを含んでもよい)参照モデルに基づいて生成し、物理的物体の現実世界画像上に配置することができる。参照モデルは、AR画像中で参照モデルが物理的物体と重なる一方で環境を変えることのないように、物理的物体と実質的に同じ姿勢を有することができる。ユーザに提示する際にARオーバーレイのオンとオフとが素早く切り替えられ得ることで、ユーザは参照モデルと物理的物体との間の差異を認識しやすくなる。更に、システムは、AR画像と元の画像との間の差異を検出することができる自動変化検出モジュールも含むことができる。システムによって検出された変化は、それらが実際の変化であるか、又はアーチファクトであるかをユーザが確認する必要がある。システムは、画像中の差異の位置をマーキングして、マーキングをユーザに提示することができ、ユーザは次に、マーキングされた位置に注意を払い、2つの画像の差異が物理的物体とその参照モデルとの間の実際の変化を反映しているか否かを判定することができる。変化を検出するプロセスに検査員が関与することで、変化検出プロセスにおけるシステムの精度及び柔軟性が大幅に向上する。例えば、検査員は、必要に応じてカメラの視野角及びズーム距離を変更することができる。更に、照明条件が異なるために画像の差異が実際の変化を反映していない場合があることからも、検査員による確認が必要である。一方、人間による検査のみに依存するアプローチと比較して、本開示のシステムは、変化を検出する速度及び精度を改善することができる。一部の変化は、微細であるために、検査員が気付くことができない場合がある。しかしながら、システムは、ARオーバーレイのオンとオフとを素早く連続して切り替えることで、検査員の知覚を強化する。また、3Dモデルを含むAR画像と物理的物体を含む元の画像との差異を自動的に計算することの可能な変化検出モジュールは、検査員の注意を、変化が生じ得る潜在的な位置へと効果的に向けさせることで、検査効率を大幅に高めることができる。
【0064】
いくつかの実施形態では、ARオーバーレイを、リアルタイムでキャプチャされた画像にローカルに又はリモートに適用してもよい。あるいは、ARオーバーレイをアーカイブ画像に適用してもよい。換言すれば、ユーザは、製品のライブビデオをストリーミングすることによって製品を遠隔検査してもよく、又は、ユーザは、以前にキャプチャ及び記憶されたビデオファイルにアクセスすることによって製品を検査してもよい。これにより、製造品のオンライン検査及びオフライン検査の双方が可能になる。
【0065】
「発明を実施するための形態」の節に記載される方法及びプロセスは、上に論じられるようなコンピュータ可読記憶媒体内に記憶され得るコード及び/又はデータとして具体化され得る。コンピュータシステムが、コンピュータ可読記憶媒体上に記憶されたコード及び/又はデータを読み取って実行すると、コンピュータシステムは、データ構造及びコードとして具体化され、コンピュータ可読記憶媒体内に記憶された方法及び処理を実行する。
【0066】
更に、上述の方法及び処理は、ハードウェアモジュール又は装置に含まれてもよい。ハードウェアモジュール又は装置としては、特定用途向け集積回路(application-specific integrated circuit、ASIC)チップ、フィールドプログラム可能ゲートアレイ(field-programmable gate array、FPGA)、特定の時刻に特定のソフトウェアモジュール又はコードを実行する専用又は共有プロセッサ、及び、既知の又は後に開発される他のプログラム可能論理デバイスを含むことができるが、これらに限定されない。ハードウェアモジュール又は装置が起動されると、それらの内部に含まれる方法及び処理が実行される。
【0067】
本明細書に記載される前述の実施形態は、例示及び説明のみを目的として提示されている。これらは、網羅的であること、又は本発明を開示される形態に限定することを意図するものではない。したがって、多くの修正及び変形が、当業者には明らかであろう。加えて、上記の開示は、本発明を限定することを意図するものではない。本発明の範囲は、添付の特許請求の範囲によって定義される。
図1
図2A
図2B
図3
図4
図5A
図5B
図5C
図5D
図6A
図6B
図7