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

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

▶ ゼジャン・ハーレイ・テクノロジー・カンパニー・リミテッドの特許一覧

<>
  • 特許-物体測定のためのシステム及び方法 図1
  • 特許-物体測定のためのシステム及び方法 図2
  • 特許-物体測定のためのシステム及び方法 図3
  • 特許-物体測定のためのシステム及び方法 図4
  • 特許-物体測定のためのシステム及び方法 図5
  • 特許-物体測定のためのシステム及び方法 図6
  • 特許-物体測定のためのシステム及び方法 図7
  • 特許-物体測定のためのシステム及び方法 図8
  • 特許-物体測定のためのシステム及び方法 図9
  • 特許-物体測定のためのシステム及び方法 図10
  • 特許-物体測定のためのシステム及び方法 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-22
(45)【発行日】2024-03-04
(54)【発明の名称】物体測定のためのシステム及び方法
(51)【国際特許分類】
   G01B 11/25 20060101AFI20240226BHJP
【FI】
G01B11/25 H
【請求項の数】 13
(21)【出願番号】P 2022577224
(86)(22)【出願日】2021-04-12
(65)【公表番号】
(43)【公表日】2023-07-20
(86)【国際出願番号】 CN2021086557
(87)【国際公開番号】W WO2021253940
(87)【国際公開日】2021-12-23
【審査請求日】2022-12-14
(31)【優先権主張番号】202010563722.3
(32)【優先日】2020-06-19
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】521312237
【氏名又は名称】ゼジャン・ハーレイ・テクノロジー・カンパニー・リミテッド
(74)【代理人】
【識別番号】110002262
【氏名又は名称】TRY国際弁理士法人
(72)【発明者】
【氏名】リュウ ウィ
(72)【発明者】
【氏名】ジォウ ウィンコ
(72)【発明者】
【氏名】ジォウ ルゥ
【審査官】仲野 一秀
(56)【参考文献】
【文献】中国特許出願公開第107578464(CN,A)
【文献】中国特許出願公開第108458671(CN,A)
【文献】中国特許出願公開第109945792(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01B 11/00-11/30
(57)【特許請求の範囲】
【請求項1】
システムであって、
イメージング装置によって獲得された光バーを有する物体の画像を取得するように構成された第1取得モジュールであって、前記光バーは前記物体に光ビームを照射する光センサによって形成される第1取得モジュールと、
前記光ビームによって形成された曲面をシミュレートするように構成された測定モデルを取得するように構成された第2取得モジュールと、
前記光バーを有する前記物体の画像、及び前記測定モデルに少なくとも部分的に基づいて、前記物体の少なくとも一部の位置情報を決定するように構成された決定モジュールと、を含み、
前記測定モデルは、前記イメージング装置によって獲得された、それぞれ、前記光センサによって校正物体上に形成された光バーを有する該校正物体の複数の第1校正画像を取得することと、
前記複数の第1校正画像のそれぞれについて、前記第1校正画像内の光バーの中心点を決定することと、を含み、
前記第1校正画像内の光バーの中心点を決定することは、
前記第1校正画像をグレースケール画像に変換することと、
グレースケールの閾値を超えるグレースケール値で前記グレースケール画像内の複数の画素を初期の中心点として決定することと、
前記初期の中心点においてガウス畳み込みを実行することと、
前記ガウス畳み込みが実行された前記初期の中心点を含む画素セットにおいて主成分分析(PCA)を実行することにより、ターゲット画素を決定することと、
前記ターゲット画素を前記第1校正画像内の前記光バーの中心点として指定することと、を含み、
前記測定モデルは、予備測定モデルを取得することと、
前記複数の第1校正画像に対応する複数の中心点に基づいて、前記予備測定モデルを校正することによって、前記測定モデルを取得することと、
を含む操作を介して取得されることを特徴とするシステム。
【請求項2】
少なくとも1つのプロセッサ、少なくとも1つの記憶媒体、及びネットワークに接続された通信プラットフォームを含む演算装置で実施される方法であって、
イメージング装置によって獲得され、物体に光ビームを照射する光センサによって形成される光バーを有する物体の画像を取得するとと、
前記光ビームによって形成された曲面をシミュレートするように構成された測定モデルを取得することと、
前記光バーを有する前記物体の画像、及び前記測定モデルに少なくとも部分的に基づいて、前記物体の少なくとも一部の位置情報を決定することと、
前記測定モデルは、前記イメージング装置によって獲得された、それぞれ、前記光センサによって校正物体上に形成された光バーを有する該校正物体の複数の第1校正画像を取得することと、
前記複数の第1校正画像のそれぞれについて、前記第1校正画像内の光バーの中心点を決定することと、を含み、
前記第1校正画像内の光バーの中心点を決定することは、
前記第1校正画像をグレースケール画像に変換することと、
グレースケールの閾値を超えるグレースケール値で前記グレースケール画像内の複数の画素を初期の中心点として決定することと、
前記初期の中心点においてガウス畳み込みを実行することと、
前記ガウス畳み込みが実行された前記初期の中心点を含む画素セットにおいて主成分分析(PCA)を実行することにより、ターゲット画素を決定することと、
前記ターゲット画素を前記第1校正画像内の前記光バーの中心点として指定することと、を含み、
前記測定モデルは、予備測定モデルを取得することと、
前記複数の第1校正画像に対応する複数の中心点に基づいて、前記予備測定モデルを校正することによって、前記測定モデルを取得することと、
を含む操作を介して取得される、ことを特徴とする方法。
【請求項3】
前記第1校正画像内の光バーの中心点を決定することは、さらに、
前記素セットに基づいて、前記第1校正画像内の前記光バーの中心点の法線ベクトルを決定することと、
前記法線ベクトルに基づいて前記第1校正画像内の前記光バーの中心点を決定することと、を含む、ことを特徴とする請求項に記載の方法。
【請求項4】
前記画素セットに基づいて、前記第1校正画像内の前記光バーの中心点の法線ベクトルを決定することは、
前記画素セットにおける前記複数の画素のそれぞれについて、
前記第1校正画像の画素座標系における前記画素の位置情報に基づいて、共分散行列を決定することと、
前記共分散行列の固有値及び固有ベクトルをることと、
前記画素セットにおける前記複数の画素に対応する複数の共分散行列の複数の固有値及び固有ベクトルに基づいて、前記第1校正画像内の前記光バーの中心点の法線ベクトルを決定することと、を含む、ことを特徴とする請求項に記載の方法。
【請求項5】
前記法線ベクトルに基づいて、前記第1校正画像内の前記光バーの中心点を決定することは、
前記法線ベクトルに基づいて、前記画素セットから少なくとも2つの基準画素を決定することと、
前記第1校正画像内の前記少なくとも2つの基準画素に基づいて、前記第1校正画像内の前記光バーの中心点を決定することと、を含む、ことを特徴とする請求項又はに記載の方法。
【請求項6】
前記複数の第1校正画像に対応する複数の中心点に基づいて、前記予備測定モデルを校正することによって、測定モデルを取得することは、
世界座標系における前記複数の中心点の位置情報を決定することと、
前記世界座標系における前記複数の中心点の位置情報に基づいて、前記予備測定モデルを校正することによって、測定モデルを取得することと、を含む、ことを特徴とする請求項2~5のいずれか一項に記載の方法。
【請求項7】
前記複数の第1校正画像に対応する複数の中心点に基づいて、前記予備測定モデルを校正することによって、測定モデルを取得することは、
前記複数の中心点の位置情報を世界座標系から前記イメージング装置のカメラ座標系に変換することと、
前記カメラ座標系における前記複数の中心点の位置情報に基づいて、前記予備測定モデルを校正することによって、測定モデルを取得することと、を含む、ことを特徴とする請求項2~5のいずれか一項に記載の方法。
【請求項8】
前記複数の第1校正画像に対応する複数の中心点に基づいて、前記予備測定モデルを校正することによって、測定モデルを取得することは、
前記複数の中心点に基づいて、前記予備測定モデルの複数のパラメーターの予備値を更新することを含むことを特徴とする請求項2~7のいずれか一項に記載の方法。
【請求項9】
前記イメージング装置は、
前記イメージング装置によって獲得された校正物体の複数の第2校正画像を取得することと、
前記複数の第2校正画像のそれぞれについて、前記第2校正画像から少なくとも1つの特徴点を抽出することと、
世界座標系における前記校正物体の特徴情報を取得することと、
前記世界座標系における前記校正物体の前記特徴情報、及び前記複数の第2校正画像に対応する複数の特徴点に基づいて、前記イメージング装置を校正することと、
を含む操作を介して校正される、ことを特徴とする請求項2に記載の方法。
【請求項10】
前記光バーを有する前記物体の画像、及び前記測定モデルに基づいて、前記物体の少なくとも一部の位置情報を決定することは、
前記イメージング装置のイメージングモデルを取得することであって、前記イメージングモデルは前記イメージング装置に関連付けられた座標系間の変換関係を示すことと、
前記光バーを有する前記物体の前記画像、前記イメージングモデル、及び前記測定モデルに基づいて、前記物体の少なくとも一部の位置情報を決定することと、を含む、ことを特徴とする請求項2~のいずれか一項に記載の方法。
【請求項11】
前記光バーを有する前記物体の前記画像、前記イメージングモデル、及び前記測定モデルに基づいて、前記物体の少なくとも一部の位置情報を決定することは、
前記物体の前記画像内の前記光バーの中心点を決定することと、
前記イメージング装置の前記イメージングモデルから、前記物体の前記画像内の前記光バーの中心点に対応する光線方程式を取得することと、
前記光線方程式及び前記測定モデルの表面方程式に基づいて、 前記物体の少なくとも一部を表す点の座標を決定することと、を含むことを特徴とする請求項10に記載の方法。
【請求項12】
前記表面方程式は、自由曲面をシミュレートする自由曲面方程式又は初等解析面をシミュレートする多項方程式のうちの少なくとも1つを含む、ことを特徴とする請求項11に記載の方法。
【請求項13】
非一時的なコンピュータ可読媒体であって、少なくとも1つのプロセッサによって実行される場合、前記少なくとも1つのプロセッサに方法を実行するように指示する実行可能な命令を含み、前記方法は、
イメージング装置によって獲得され、物体に光ビームを照射する光センサによって形成される光バーを有する前記物体の画像を取得するとと、
前記光ビームによって形成された曲面をシミュレートするように構成された測定モデルを取得することと、
前記光バーを有する前記物体の画像、及び前記測定モデルに少なくとも部分的に基づいて、前記物体の少なくとも一部の位置情報を決定することと、を含み、
前記測定モデルは、前記イメージング装置によって獲得された、それぞれ、前記光センサによって校正物体上に形成された光バーを有する該校正物体の複数の第1校正画像を取得することと、
前記複数の第1校正画像のそれぞれについて、前記第1校正画像内の光バーの中心点を決定することと、を含み、
前記第1校正画像内の光バーの中心点を決定することは、
前記第1校正画像をグレースケール画像に変換することと、
グレースケールの閾値を超えるグレースケール値で前記グレースケール画像内の複数の画素を初期の中心点として決定することと、
前記初期の中心点においてガウス畳み込みを実行することと、
前記ガウス畳み込みが実行された前記初期の中心点を含む画素セットにおいて主成分分析(PCA)を実行することにより、ターゲット画素を決定することと、
前記ターゲット画素を前記第1校正画像内の前記光バーの中心点として指定することと、を含み、
前記測定モデルは、予備測定モデルを取得することと、
前記複数の第1校正画像に対応する複数の中心点に基づいて、前記予備測定モデルを校正することによって、前記測定モデルを取得することと、
を含む操作を介して取得される、ことを特徴とする非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
<関連出願の相互参照>
本開示は、2020年6月19日に出願された中国特許出願第202010563722.3号に対する優先権を主張し、その内容全体を参照により本明細書に組み込む。
【0002】
本開示は、一般に、機械視覚技術に関し、特に、物体測定のためのシステム及び方法に関する。
【背景技術】
【0003】
機械視覚技術の発展に伴い、物体測定の探求が急速に発展している。レーザ技術は、物体測定のために広く使われている。一般に、レーザ技術を使用して、物体測定システムは、レーザ送信機によって物体に放射されるレーザビームに基づいて物体(例えば、工業部品)を測定し得る。また、平面モデルを使用して、レーザビームによって形成される平面を模擬し得るが、これは、レーザビームによって形成される曲面に適用できない可能性があり、それによって、平面モデルに基づいて物体測定の測定精度が低下する。従って、測定精度が改善された物体測定のためのシステム及び方法を提供することが望ましい。
【発明の概要】
【0004】
本開示の一態様は、物体測定のためのシステムに関する。システムは、命令のセットを含む少なくとも1つの記憶媒体と、少なくとも1つの記憶媒体と連通する少なくとも1つのプロセッサとを含む。命令のセットを実施すると、少なくとも1つのプロセッサは、システムに操作を実行させるように指示され得る。操作は、イメージング装置によって獲得された光バーを有する物体の画像を取得することを含み得る。光バーは、物体に光ビームを照射する光センサによって形成され得る。操作は、測定モデルを取得することを含み得る。測定モデルは、光ビームによって形成された曲面をシミュレートするように構成され得る。操作は、光バーを有する物体の画像及び測定モデルに少なくとも部分的に基づいて、物体の少なくとも一部の位置情報を決定することをさらに含み得る。
【0005】
幾つかの実施形態では、測定モデルは、操作を介して取得され得る。操作は、イメージング装置によって獲得された校正物体の複数の第1校正画像を取得することを含み得る。複数の第1校正画像のそれぞれは、光センサによって校正物体上に形成された光バーを有し得る。操作は、複数の第1校正画像のそれぞれについて、第1校正画像内の光バーの中心点を決定することを含み得る。操作は、予備測定モデルを取得することと、複数の第1校正画像に対応する複数の中心点に基づいて、予備測定モデルを校正することによって、測定モデルを取得することとをさらに含み得る。
【0006】
幾つかの実施形態では、第1校正画像内の光バーの中心点を決定することは、第1校正画像をグレースケール画像に変換することと、前記グレースケール画像内の画素のグレースケール値に基づいて、前記グレースケール画像内の複数の画素を含む画素セットを決定することと、前記画素セットを分析することによってターゲット画素を決定することと、前記ターゲット画素を前記第1校正画像内の前記光バーの中心点として指定することと、を含み得る。
【0007】
幾つかの実施形態では、第1校正画像内の光バーの中心点を決定することは、前記第1校正画像に対応するグレースケール画像内の複数の画素を含む画素セットに基づいて、前記第1校正画像内の前記光バーの中心点の法線ベクトルを決定することと、前記法線ベクトルに基づいて前記第1校正画像内の前記光バーの中心点を決定することと、を含み得る。
【0008】
幾つかの実施形態では、画素セットに基づいて、前記第1校正画像内の前記光バーの中心点の法線ベクトルを決定することは、前記画素セットにおける前記複数の画素のそれぞれについて、前記第1校正画像の画素座標系における前記画素の位置情報に基づいて、共分散行列を決定することと、前記共分散行列の固有値及び固有ベクトルを取得することと、前記画素セットにおける前記複数の画素に対応する複数の共分散行列の複数の固有値及び固有ベクトルに基づいて、前記第1校正画像内の前記光バーの中心点の法線ベクトルを決定することと、を含み得る。
【0009】
幾つかの実施形態では、前記法線ベクトルに基づいて、前記第1校正画像内の前記光バーの中心点を決定することは、前記法線ベクトルに基づいて、前記画素セットから少なくとも2つの基準画素を決定することと、前記第1校正画像内の前記少なくとも2つの基準画素に基づいて、前記第1校正画像内の前記光バーの中心点を決定することと、を含み得る。
【0010】
幾つかの実施形態では、前記複数の第1校正画像に対応する複数の中心点に基づいて、前記予備測定モデルを校正することによって、測定モデルを取得することは、世界座標系における前記複数の中心点の位置情報を決定することと、前記世界座標系における前記複数の中心点の位置情報に基づいて、前記予備測定モデルを校正することによって、測定モデルを取得することと、を含み得る。
【0011】
幾つかの実施形態では、前記複数の第1校正画像に対応する複数の中心点に基づいて、前記予備測定モデルを校正することによって、測定モデルを取得することは、前記複数の中心点の位置情報を世界座標系から前記イメージング装置のカメラ座標系に変換することと、前記カメラ座標系における前記複数の中心点の位置情報に基づいて、前記予備測定モデルを校正することによって、測定モデルを取得することと、を含み得る。
【0012】
幾つかの実施形態では、前記複数の第1校正画像に対応する複数の中心点に基づいて、前記予備測定モデルを校正することによって、測定モデルを取得することは、前記複数の中心点に基づいて、前記予備測定モデルの複数のパラメーターの予備値を更新することを含み得る。
【0013】
幾つかの実施形態では、前記イメージング装置は、操作によって校正される。操作は、イメージング装置によって獲得された校正物体の複数の第2校正画像を取得することを含み得る。前記操作は、前記複数の第2校正画像のそれぞれについて、前記第2校正画像から少なくとも1つの特徴点を抽出することを含み得る。前記操作は、世界座標系における前記校正物体の特徴情報を取得することと、前記世界座標系における前記校正物体の前記特徴情報、及び前記複数の第2校正画像に対応する複数の特徴点に基づいて、前記イメージング装置を校正することとをさらに含み得る。
【0014】
幾つかの実施形態では、前記光バーを有する前記物体の画像、及び前記測定モデルに基づいて、前記物体の少なくとも一部の位置情報を決定することは、前記イメージング装置のイメージングモデルを取得することであって、前記イメージングモデルは前記イメージング装置に関連付けられた座標系間の変換関係を示すことと、前記光バーを有する前記物体の前記画像、前記イメージングモデル、及び前記測定モデルに基づいて、前記物体の少なくとも一部の位置情報を決定することと、を含み得る。
【0015】
幾つかの実施形態では、前記光バーを有する前記物体の前記画像、前記イメージングモデル、及び前記測定モデルに基づいて、前記物体の少なくとも一部の位置情報を決定することは、前記物体の前記画像内の前記光バーの中心点を決定することと、前記イメージング装置の前記イメージングモデルから、前記物体の前記画像内の前記光バーの中心点に対応する光線方程式を取得することと、前記光線方程式及び前記測定モデルの表面方程式に基づいて、前記物体の少なくとも一部を表す点の座標を決定することと、を含み得る。
【0016】
幾つかの実施形態では、前記表面方程式は、自由曲面をシミュレートする自由曲面方程式又は初等解析面をシミュレートする多項方程式のうちの少なくとも1つを含み得る。
【0017】
本開示の更なる態様は、物体測定のための方法に関する。この方法は、少なくとも1つのプロセッサ、少なくとも1つの記憶媒体、及びネットワークに接続された通信プラットフォームを含む演算装置で実施され得る。方法は、イメージング装置によって獲得された光バーを有する物体の画像を取得することを含み得る。光バーは、物体に光ビームを照射する光センサによって形成され得る。方法は、測定モデルを取得することを含み得る。測定モデルは、光ビームによって形成された曲面をシミュレートするように構成され得る。方法は、光バーを有する物体の画像、及び測定モデルに少なくとも部分的に基づいて、物体の少なくとも一部の位置情報を決定することをさらに含み得る。
【0018】
本開示の別の更なる態様は、実行可能な命令を含む非一時的なコンピュータ可読媒体に関する。実行可能な命令が少なくとも1つのプロセッサによって実行されると、実行可能な命令は、少なくとも1つのプロセッサに方法を実行するように指示し得る。方法は、イメージング装置によって獲得された光バーを有する物体の画像を取得することを含み得る。光バーは、物体に光ビームを照射する光センサによって形成され得る。方法は、測定モデルを取得することを含み得る。測定モデルは、光ビームによって形成された曲面をシミュレートするように構成され得る。方法は、光バーを有する物体の画像、及び測定モデルに少なくとも部分的に基づいて、物体の少なくとも一部の位置情報を決定することをさらに含み得る。
【0019】
追加の特徴は、一部は以下の説明に記載され、一部は以下及び添付の図面を検討することで当業者に明らかになり、あるいは、実施例の作成又は操作によって学習することができる。本開示の特徴は、以下に論じる詳細な例に記載される方法論、手段、及び組み合わせのさまざまな態様を実践又は使用することによって実現し達成することができる。
【図面の簡単な説明】
【0020】
本開示は、例示的な実施形態に関してさらに説明される。これらの例示的な実施形態は、図面を参照して詳細に説明する。これらの実施形態は、非限定的な例示的な実施形態であり、図面のいくつかの図を通して同様の参照番号が同様の構造を表す。
図1】本開示の幾つかの実施形態による例示的な物体測定システムを示す概略図である。
図2】本開示の幾つかの実施形態による例示的な演算装置の例示的なハードウェア及び/又はソフトウェアコンポーネントを示す概略図である。
図3】本開示の幾つかの実施形態による例示的な端末装置の例示的なハードウェア及び/又はソフトウェアコンポーネントを示す概略図である。
図4】本開示の幾つかの実施形態による例示的な処理装置を示すブロック図である。
図5】本開示の幾つかの実施形態による物体測定のための例示的なプロセスを示すフローチャートである。
図6】本開示の幾つかの実施形態による、光バーを有する物体の画像を取得するための例示的なプロセスを示す概略図である。
図7】本開示の幾つかの実施形態による、測定モデルを取得するための例示的なプロセスを示すフローチャートである。
図8】本開示の幾つかの実施形態による、測定モデルを取得するための例示的なプロセスを示すフローチャートである。
図9】本開示の幾つかの実施形態による、イメージング装置を校正するための例示的なプロセスを示すフローチャートである。
図10】本開示の幾つかの実施形態による物体測定のための例示的なプロセスを示すフローチャートである。
図11】本開示の幾つかの実施形態による例示的な物体測定を示すブロック図である。
【発明を実施するための形態】
【0021】
以下の詳細な説明では、関連する開示の完全な理解を提供するために、多数の具体的な詳細が例として示されている。しかしながら、当業者には、本開示がそのような詳細なしに実施され得ることが明らかであろう。他の例では、周知の方法、手順、システム、コンポーネント、及び/又は回路は、本開示の態様を不必要に曖昧にすることを避けるために、詳細なしで比較的高いレベルで説明されている。開示された実施形態に対する様々な修正は、当業者には容易に明らかであり、本明細書で定義された一般原則は、本開示の精神及び範囲から逸脱することなく、他の実施形態及び用途に適用され得る。したがって、本開示は、示された実施形態に限定されず、特許請求の範囲と一致する最も広い範囲が与えられるべきである。
【0022】
本明細書で使用される「システム」、「エンジン」、「ユニット」、「モジュール」、及び/又は「ブロック」という用語は、異なるコンポーネント、要素、部品、セクション、又は異なるレベルのアセンブリを区別するための1つの方法であることを理解されたい。ただし、同じ目的を達成する可能性がある場合は、用語を他の表現に置き換えることができる。
【0023】
一般に、本明細書で使用される「モジュール」、「ユニット」、又は「ブロック」という用語は、ハードウェア又はファームウェアで具現化されたロジック、又はソフトウェア命令の集まりを指す。本明細書で説明されるモジュール、ユニット、又はブロックは、ソフトウェア及び/又はハードウェアとして実装され得、任意の種類の非一過性のコンピュータ可読媒体又は他の記憶装置に記憶され得る。幾つかの実施形態では、ソフトウェアモジュール/ユニット/ブロックをコンパイルし、実行可能なプログラムにリンクすることができる。ソフトウェアモジュールは、他のモジュール/ユニット/ブロックから、又はそれら自体から呼び出すことができ、且つ/又は検出されたイベント若しくは割込みに応答して起動することができることを理解されたい。演算装置(例えば、図2に示すプロセッサ220)で実行するように構成されたソフトウェアモジュール/ユニット/ブロックは、コンパクトディスク、デジタルビデオディスク、フラッシュドライブ、磁気ディスク、又は任意の他の有形媒体などのコンピュータ可読媒体上で、あるいはデジタルダウンロードとして提供することができる(そして、実行前にインストール、圧縮解除、又は復号化が必要な、圧縮又はインストール可能な形式で最初に保存することができる)。このようなソフトウェアコードは、演算装置による実行のために、実行中の演算装置の記憶装置に部分的又は完全に記憶され得る。ソフトウェア命令は、EPROMなどのファームウェアに組み込まれ得る。ハードウェアモジュール(又はユニット又はブロック)は、ゲート及びフリップフロップなどの接続されたロジックコンポーネントに含まれてもよく、且つ/又はプログラマブルゲートアレイ又はプロセッサなどのプログラマブルユニットに含まれてもよいことがさらに理解されたい。本明細書に記載のモジュール(又はユニット又はブロック)又は演算装置の機能は、ソフトウェアモジュール(又はユニット又はブロック)として実施され得るが、ハードウェア又はファームウェアで表され得る。一般に、本明細書に記載のモジュール(又はユニット又はブロック)は、物理的な構成又はストレージに関係なく、他のモジュール(又はユニット又はブロック)と組み合わせたり、又はサブモジュール(又はサブユニット又はサブブロック)に分割したりすることができる論理モジュール(又はユニット又はブロック)を指す。
【0024】
ユニット、エンジン、モジュール、又はブロックが、別のユニット、エンジン、モジュール、又はブロック「の上にある」、「に接続された」、「に結合された」と呼ばれる場合、文脈が明確にそうでないことを示さない限り、それは、別のユニット、エンジン、モジュール、又はブロックの直接上にあるか、別のユニット、エンジン、モジュール、又はブロックに直接接続又は結合されたか、別のユニット、エンジン、モジュール、又はブロックと直接通信する可能性があり、あるいは、介在するユニット、エンジン、モジュール、又はブロックが存在する可能性がある。本明細書で使用される場合、「及び/又は」という用語は、関連するリストされたアイテムの1つ又は複数の任意の及び全ての組み合わせを含む。
【0025】
本明細書で使用される用語は、特定の実施例及び実施形態のみを説明するためのものであり、限定することを意図するものではない。本明細書で使用されるように、「一(a)」、「一(an)」及び「前記(the)」という単数形は、文脈がそうではないと明確に示さない限り、複数形も含むことが意図され得る。「含む」及び/又は「備える」という用語は、本開示で使用される場合、整数、装置、行動、記載された特徴、ステップ、要素、操作、及び/又はコンポーネントの存在を指定するが、1つ又は複数の他の整数、装置、行動、機能、ステップ、要素、操作、コンポーネント、及び/又はそれらのグループの存在又は追加を排除しないことをさらに理解されたい。
【0026】
さらに、本開示の説明において、「第1」、「第2」などの用語は、区別する目的でのみ使用され、相対的な重要性を示したり暗示したりすると解釈することができず、順序を示したり暗示したりすると理解することもできない。
【0027】
本開示で使用されるフローチャートは、本開示の幾つかの実施形態に従ってシステムが実施する操作を示す。フローチャートの操作は順番通りではなく実施され得ることを明確に理解されたい。逆に、操作は逆の順序で、又は同時に実施され得る。さらに、1つ又は複数の他の操作がフローチャートに追加され得る。フローチャートから1つ又は複数の操作が削除され得る。
【0028】
本開示の一態様は、物体測定のためのシステム及び方法に関する。光センサ(例えば、レーザ送信機)は、物体(例えば、工業部品)に向かって光ビームを放射することによって物体を照射することができ、光ビームは物体上に光バーを形成し得る。イメージング装置(例えば、カメラ、ビデオレコーダ)は、光バーを有する物体の画像をキャプチャし得る。システム及び方法は、イメージング装置から光バーを有する物体の画像を取得することができる。さらに、システム及び方法は、測定モデル(曲面モデルとも呼ばれる)を取得し得る。測定モデルは、光ビームによって形成された曲面をシミュレートするように構成され得る。システム及び方法は、光バーを有する物体の画像、及び測定モデルに少なくとも部分的に基づいて、物体の少なくとも一部の位置情報を決定し得る。例えば、システム及び方法は、イメージング装置の世界座標系又はカメラ座標系における物体の少なくとも一部を表す点の座標を決定し得る。
【0029】
本開示のシステム及び方法によれば、曲面をシミュレートできる測定モデルが物体測定のために使用されるので、物体測定の測定精度が向上し得る。
【0030】
図1は、本開示の幾つかの実施形態による例示的な物体測定システムを示す概略図である。示されるように、物体測定システム100は、サーバー110、ネットワーク120、イメージング装置130、ユーザ装置140、記憶装置150、及び光センサ160を含み得る。
【0031】
サーバー110は、単一のサーバー又はサーバーグループであり得る。サーバーグループは、集中化又は分散され得る(例えば、サーバー110は分散システムであり得る)。幾つかの実施形態では、サーバー110は、ローカル又はリモートであり得る。例えば、サーバー110は、ネットワーク120を介して、イメージング装置130、ユーザ装置140、及び/又は記憶装置150に記憶されている情報及び/又はデータにアクセスし得る。別の例として、サーバー110は、記憶されている情報及び/又はデータにアクセスするために、イメージング装置130、ユーザ装置140、及び/又は記憶装置150に直接接続され得る。幾つかの実施形態では、サーバー110は、クラウドプラットフォーム上で実装され得る。単なる例として、クラウドプラットフォームは、プライベートクラウド、パブリッククラウド、ハイブリッドクラウド、コミュニティクラウド、分散型クラウド、インタークラウド、マルチクラウドなど、又はそれらの任意の組み合わせを含み得る。幾つかの実施形態では、サーバー110は、本開示の図2に示される1つ又は複数のコンポーネントを含む演算装置200上で実装され得る。
【0032】
幾つかの実施形態では、サーバー110は、処理装置112を含み得る。処理装置112は、本開示に記載の1つ又は複数の機能を実行するために、物体測定に関する情報及び/又はデータを処理し得る。例えば、処理装置112は、イメージング装置130によって獲得された光バーを有する物体の画像を取得し得る。処理装置112は、測定モデルを取得し得る。さらに、処理装置112は、光バーを有する物体の画像及び測定モデルに少なくとも部分的に基づいて、物体の少なくとも一部の位置情報を決定し得る。別の例として、処理装置112は、予備測定モデルを校正することによって、測定モデルを取得し得る。更なる例として、処理装置112は、イメージング装置130を校正し得る。幾つかの実施形態では、処理装置112は、1つ又は複数の処理装置(例えば、シングルコア処理装置又はマルチコアプロセッサ)を含み得る。単なる例として、処理装置112は、中央処理ユニット(CPU)、特定用途向け集積回路(ASIC)、特定用途向け命令セットプロセッサ(ASIP)、グラフィックス処理ユニット(GPU)、物理処理ユニット(PPU)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジック装置(PLD)、コントローラー、マイクロコントローラーユニット、縮小命令セットコンピュータ(RISC)、マイクロプロセッサなど、又はそれらの任意の組み合わせを含み得る。
【0033】
幾つかの実施形態では、サーバー110は不要であり得、サーバー110の機能の全部又は一部は、物体測定システム100の他のコンポーネント(例えば、イメージング装置130、ユーザ装置140)によって実施され得る。例えば、処理装置112は、イメージング装置130、ユーザ装置140、又は光センサ160に一体化され得、処理装置112の機能(例えば、物体の少なくとも一部の位置情報を決定すること)は、イメージング装置130、ユーザ装置140、又は光センサ160によって実施され得る。
【0034】
ネットワーク120は、物体測定システム100のための情報及び/又はデータの交換を容易にし得る。幾つかの実施形態では、物体測定システム100の1つ又は複数のコンポーネント(例えば、サーバー110、イメージング装置130、ユーザ装置140、記憶装置150、光センサ160)は、ネットワーク120を介して、物体測定システム100の他のコンポーネントに情報及び/又はデータを送信し得る。例えば、サーバー110は、ネットワーク120を介してイメージング装置130から光バーを有する物体の画像を取得し得る。別の例として、サーバー110は、ネットワーク120を介して、物体の少なくとも一部の位置情報をユーザ装置140に送信し得る。幾つかの実施形態では、ネットワーク120は、任意のタイプの有線若しくは無線ネットワーク、又はそれらの組み合わせであり得る。単なる例として、ネットワーク120は、ケーブルネットワーク(例えば、同軸ケーブルネットワーク)、有線ネットワーク、光ファイバーネットワーク、電気通信ネットワーク、イントラネット、インターネット、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、無線ローカルエリアネットワーク(WLAN)、メトロポリタンエリアネットワーク(MAN)、公衆電話網(PSTN)、ブルートゥース(登録商標)ネットワーク、ジグビー(ZigBee)ネットワーク、近距離無線通信(NFC)ネットワーク、など、又はそれらの任意の組み合わせを含み得る。
【0035】
イメージング装置130は、画像(本明細書における「画像」は、単一の画像又はビデオのフレームを指す)を獲得するように構成され得る。幾つかの実施形態では、イメージング装置130は、カメラ130-1、ビデオレコーダ130-2、画像センサ130-3などを含み得る。カメラ130-1は、ガンカメラ、ドームカメラ、一体型カメラ、単眼カメラ、双眼カメラ、多視点カメラなど、又はそれらの任意の組み合わせを含み得る。ビデオレコーダ130-2は、PCデジタルビデオレコーダ(DVR)、埋め込みDVRなど、又はそれらの任意の組み合わせを含み得る。画像センサ130-3は、電荷結合装置(CCD)、相補型金属酸化膜半導体(CMOS)など、又はそれらの任意の組み合わせを含み得る。イメージング装置130によって獲得された画像は、2次元画像、3次元画像、4次元画像などであり得る。幾つかの実施形態では、イメージング装置130は複数のコンポーネントを含み得、複数のコンポーネントのそれぞれは、画像を獲得することができる。例えば、イメージング装置130は、画像又はビデオを同時にキャプチャすることができる複数のサブカメラを含み得る。幾つかの実施形態では、イメージング装置130は、獲得された画像を、ネットワーク120を介して物体測定システム100の1つ又は複数のコンポーネント(例えば、サーバー110、ユーザ装置140、記憶装置150)に送信し得る。
【0036】
ユーザ装置140は、ネットワーク120を介して、サーバー110、イメージング装置130、記憶装置150、及び/又は光センサ160から、情報及び/又はデータを受信するように構成され得る。例えば、ユーザ装置140は、サーバー110から物体の少なくとも一部の位置情報を受信し得る。幾つかの実施形態では、ユーザ装置140は、ネットワーク120を介してサーバー110、イメージング装置130、記憶装置150、及び/又は光センサ160から受信した情報及び/又はデータを処理し得る。例えば、ユーザ装置140は、物体の少なくとも一部の位置情報から座標を抽出し得る。幾つかの実施形態では、ユーザ装置140は、ユーザインターフェースを提供し得、このユーザインターフェースを介して、ユーザが情報を閲覧し、且つ/又はデータ及び/又は命令を物体測定システム100に入力し得る。例えば、ユーザは、ユーザインターフェースを介して座標を閲覧し得る。別の例として、ユーザは、ユーザインターフェースを介して、物体測定パラメーターに関連付けられた命令を入力し得る。幾つかの実施形態では、ユーザ装置140は、携帯電話140-1、コンピュータ140-2、ウェアラブル装置140-3など、又はそれらの任意の組み合わせを含み得る。幾つかの実施形態では、ユーザ装置140は、テキスト、画像、オーディオ、ビデオ、グラフ、アニメーションなど、又はそれらの任意の組み合わせのような人間可読形式の情報を表示することができるディスプレーを含み得る。ユーザ装置140のディスプレーは、陰極線管(CRT)ディスプレー、液晶ディスプレー(LCD)、発光ダイオード(LED)ディスプレー、プラズマディスプレーパネル(PDP)、三次元(3D)ディスプレーなど、又はそれらの組み合わせを含み得る。幾つかの実施形態では、ユーザ装置140は、ネットワーク120を介して、物体測定システム100の1つ又は複数のコンポーネント(例えば、サーバー110、イメージング装置130、記憶装置150、光センサ160)に接続され得る。
【0037】
記憶装置150は、データ及び/又は命令を記憶するように構成され得る。データ及び/又は命令は、例えば、サーバー110、イメージング装置130、光センサ160、及び/又は物体測定システム100の任意の他のコンポーネントから取得され得る。幾つかの実施形態では、記憶装置150は、本開示で説明される例示的な方法を実行するようにサーバー110が実行又は使用しえるデータ及び/又は命令を記憶し得る。幾つかの実施形態では、記憶装置150は、大容量ストレージ、リムーバブルストレージ、揮発性読み書きメモリ、読み出し専用メモリ(ROM)など、又はそれらの任意の組み合わせを含み得る。例示的な大容量ストレージは、磁気ディスク、光ディスク、ソリッドステートドライブなどを含み得る。例示的なリムーバブルストレージは、フラッシュドライブ、フロッピーディスク、光ディスク、メモリカード、zipディスク、磁気テープなどを含み得る。例示的な揮発性読み書きメモリは、ランダムアクセスメモリ(RAM)を含み得る。例示的なRAMは、ダイナミックRAM(DRAM)、ダブルデータレート同期ダイナミックRAM(DDR SDRAM)、スタティックRAM(SRAM)、サイリスタRAM(T-RAM)、およびゼロキャパシタRAM(Z-RAM)などを含み得る。例示的なROMは、マスクROM(MROM)、プログラマブルROM(PROM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、コンパクトディスクROM(CD-ROM)、及びデジタルバーサタイルディスクROMなどを含み得る。幾つかの実施形態では、記憶装置150は、クラウドプラットフォーム上で実装され得る。単なる例として、クラウドプラットフォームは、プライベートクラウド、パブリッククラウド、ハイブリッドクラウド、コミュニティクラウド、分散型クラウド、インタークラウド、マルチクラウドなど、又はそれらの任意の組み合わせを含み得る。
【0038】
幾つかの実施形態では、記憶装置150は、物体測定システム100の1つ又は複数のコンポーネント(例えば、サーバー110、イメージング装置130、ユーザ装置140、光センサ160)と通信するためにネットワーク120に接続され得る。物体測定システム100の1つ又は複数のコンポーネントは、ネットワーク120を介して、記憶装置150に記憶されているデータ又は命令にアクセスし得る。幾つかの実施形態では、記憶装置150は、物体測定システム100の1つ又は複数のコンポーネント(例えば、サーバー110、イメージング装置130、ユーザ装置140、光センサ160)に直接接続又は通信し得る。幾つかの実施形態では、記憶装置150は、サーバー110、イメージング装置130、ユーザ装置140、又は光センサ160など、物体測定システム100の他のコンポーネントの一部であり得る。
【0039】
光センサ160は、光ビームを生成して物体に向かって光ビームを放射することによって物体を照射するように構成され得る。物体は、生物的物体及び/又は非生物的物体を含み得る。生物的物体は、人、動物、植物など、又はそれらの任意の組み合わせを含み得る。非生物的物体は、天然物(例えば、石)、人工物(例えば、工業部品)など、又はそれらの任意の組み合わせを含み得る。幾つかの実施形態では、光ビームは、線構造の光ビーム、例えば、レーザビームを含み得る。それに応じて、光センサ160は、レーザビームを生成して物体に照射するように構成されたレーザ送信機を含み得る。幾つかの実施形態では、光センサ160は、ネットワーク120を介して、物体測定システム100の1つ又は複数のコンポーネント(例えば、サーバー110、イメージング装置130、ユーザ装置140、記憶装置150、光センサ160)に接続され得る。幾つかの実施形態では、光センサ160は、イメージング装置130に一体化され得る。
【0040】
上記の説明は、単に例示を目的として提供されたものであり、本開示の範囲を限定することを意図していないことに留意されたい。当業者であれば、本開示の教示に基づいて、複数の変形及び修正を行ってもよい。しかしながら、それらの変形及び修正は、本開示の範囲から逸脱するものではない。
【0041】
図2は、本開示の幾つかの実施形態による例示的な演算装置の例示的なハードウェア及び/又はソフトウェアコンポーネントを示す概略図である。幾つかの実施形態では、サーバー110は、演算装置200上で実装され得る。例えば、処理装置112は、演算装置200上で実装され、本開示で開示される処理装置112の機能を実行するように構成され得る。
【0042】
演算装置200は、本明細書で説明される物体測定システム100の任意のコンポーネントを実装するのに使用され得る。例えば、処理装置112は、そのハードウェア、ソフトウェアプログラム、ファームウェア、又はそれらの組み合わせを介して、演算装置200上で実装され得る。このようなコンピュータは1つしか示されていないが、便宜上、本明細書で説明される物体測定に関するコンピュータ機能は、処理負荷を分散するために、多数の同様のプラットフォーム上に分散方式で実装され得る。
【0043】
演算装置200は、例えば、データ通信を容易にするために、それに接続されたネットワークとの間に接続されたCOMポート250を含み得る。演算装置200はまた、プログラム命令を実行するための、1つ又は複数のプロセッサ(例えば、ロジック回路)の形態のプロセッサ(例えば、プロセッサ220)を含み得る。例えば、プロセッサ220は、その中にインタフェース回路及び処理回路を含み得る。インタフェース回路は、処理回路が処理するための構造化データ及び/又は命令をエンコードする電子信号をバス210から受信するように構成され得る。処理回路は、論理計算を行い、次に、電子信号としてエンコードされた結論、結果、及び/又は命令を確認し得る。次に、インタフェース回路は、バス210を介して処理回路から電子信号を送り出し得る。
【0044】
演算装置200は、例えば、演算装置200によって処理及び/又は送信される様々なデータファイルを記憶するための、ディスク270、読み出し専用メモリ(ROM)230、又はランダムアクセスメモリ(RAM)240を含む異なる形態のプログラムストレージ及びデータストレージをさらに含み得る。演算装置200はまた、プロセッサ220によって実行されるROM230、RAM240、及び/又は別のタイプの非一過性の記憶媒体に記憶されているプログラム命令を含み得る。本開示の方法及び/又はプロセスは、プログラム命令によって実施され得る。演算装置200はまた、演算装置200と他のコンポーネントとの間の入力/出力をサポートするI/Oコンポーネント260を含み得る。演算装置200はまた、ネットワーク通信を介してプログラミング及びデータを受信し得る。
【0045】
単に説明のために、1つのプロセッサのみが図2に示されている。複数のプロセッサ220も考えられる。よって、本開示で説明されるように1つのプロセッサ220によって実行される操作及び/又は方法ステップは、複数のプロセッサによって一緒にまたは別々に実行され得る。例えば、本開示において、演算装置200のプロセッサ220がステップA及びステップBの両方を実行する場合、ステップA及びステップBは、演算装置200における2つの異なるプロセッサ220によって一緒に又は別々に実行され得る(例えば、第1プロセッサがステップAを実行し、第2プロセッサがステップBを実行するか、又は、第1及び第2プロセッサが一緒にステップA及びBを実行する)ことを理解されたい。
【0046】
図3は、本開示の幾つかの実施形態による例示的な端末装置の例示的なハードウェア及び/又はソフトウェアコンポーネントを示す概略図である。幾つかの実施形態では、ユーザ装置140は、図3に示される端末装置300上で実装され得る。
【0047】
図3に示すように、端末装置300は、通信プラットフォーム310、ディスプレー320、グラフィック処理ユニット(GPU)330、中央処理ユニット(CPU)340、I/O350、メモリ360、及びストレージ390を含み得る。幾つかの実施形態では、システムバス又はコントローラー(図示せず)を含むがこれらに限定されない任意の他の適切なコンポーネントも、端末装置300に含まれ得る。
【0048】
幾つかの実施形態では、操作システム370(例えば、iOS(登録商標)、Android(登録商標)、Windows Phone(登録商標))及び1つ又は複数のアプリケーション(アプリ)380は、CPU340によって実行されるために、ストレージ390からメモリ360にロードされ得る。アプリケーション380は、処理装置112から物体測定又は他の情報に関する情報を受信してレンダリングするためのブラウザ又は任意の他の適切なモバイルアプリを含み得る。ユーザインタラクションは、I/O350を介して達成され、ネットワーク120を介して処理装置112及び/又は物体測定システム100の他のコンポーネントに提供され得る。
【0049】
図4は、本開示の幾つかの実施形態による例示的な処理装置を示すブロック図である。処理装置112は、第1取得モジュール410、第2取得モジュール420、決定モジュール430、及び校正モジュール440を含み得る。
【0050】
第1取得モジュール410は、イメージング装置(例えば、イメージング装置130)によって獲得された光バーを有する物体の画像を取得するように構成され得る。光バーを有する物体の画像の取得に関するより多くの説明は、本開示の他の箇所で見つけることができる。例えば、図5の操作510及びその関連説明を参照されたい。
【0051】
第2取得モジュール420は、測定モデルを取得するように構成され得る。測定モデルは、光ビームが物体に向かって放射されるときに光ビームによって形成された表面(例えば、曲面)をシミュレートするために使用され得る。測定モデルの取得に関するより多くの説明は、本開示の他の箇所で見つけることができる。例えば、図5の操作520及びその関連説明を参照されたい。
【0052】
決定モジュール430は、光バーを有する物体の画像及び測定モデルに少なくとも部分的に基づいて、物体の少なくとも一部(例えば、物体の表面上の位置点)の位置情報を決定するように構成され得る。決定モジュール430は、イメージング装置(例えば、イメージング装置130)のイメージングモデルを取得し得る。さらに、決定モジュール430は、光バーを有する物体の画像、イメージングモデル、及び測定モデルに基づいて、物体の少なくとも一部の位置情報を決定し得る。物体の少なくとも一部の位置情報の決定に関するより多くの説明は、本開示の他の箇所で見つけることができる。例えば、図5の操作530及びその関連説明を参照されたい。
【0053】
校正モジュール440は、測定モデルを取得するように構成され得る。幾つかの実施形態では、校正モジュール440は、イメージング装置によって獲得された校正物体の複数の第1校正画像を取得し得る。複数の第1校正画像のそれぞれは、光センサによって校正物体上に形成された光バーを有し得る。複数の第1校正画像のそれぞれについて、校正モジュール440は、第1校正画像内の光バーの中心点を決定し得る。さらに、校正モジュール440は、予備測定モデルを取得し得る。校正モジュール440は、複数の第1校正画像に対応する複数の中心点に基づいて、予備測定モデルを校正することによって、測定モデルを取得し得る。測定モデルの取得に関するより多くの説明は、本開示の他の箇所で見つけることができる。例えば、図7のプロセス700、図8のプロセス800、及びそれらの関連説明を参照されたい。
【0054】
校正モジュール440は、イメージング装置を校正するようにさらにさらに構成され得る。幾つかの実施形態では、校正モジュール440は、イメージング装置によって獲得された校正物体の複数の第2校正画像を取得し得る。複数の第2校正画像のそれぞれについて、校正モジュール440は、第2校正画像から少なくとも1つの特徴点を抽出し得る。さらに、校正モジュール440は、世界座標系における校正物体の位置情報を取得し得る。世界座標系における校正物体の位置情報、及び複数の第2校正画像に対応する複数の特徴点に従って、校正モジュール440はイメージング装置を校正し得る。イメージング装置の校正に関するより多くの説明は、本開示の他の箇所で見つけることができる。例えば、図9のプロセス900及びその関連説明を参照されたい。
【0055】
処理装置112内のモジュールは、有線接続又は無線接続を介して互いに接続又は通信し得る。有線接続は、金属ケーブル、光ケーブル、ハイブリッドケーブルなど、又はそれらの任意の組み合わせを含み得る。無線接続は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、ブルートゥース(登録商標)、ジグビー(ZigBee)、近距離無線通信(NFC)など、又はそれらの任意の組み合わせを含み得る。幾つかの実施形態では、モジュールの2つ以上は、単一のモジュールとして組み合わせられてもよく、モジュールのいずれか1つは、2つ以上のユニットに分割され得る。例えば、第1取得モジュール410及び第2取得モジュール420は、光バーを有する物体の画像及びイメージング装置のイメージングモデルの両方を取得し得る単一のモジュールとして組み合わせられてもよい。別の例として、校正モジュール440は、測定モデルを取得するように構成された測定モデル校正モジュールと、イメージング装置を取得するように構成されたイメージング装置校正モジュールとに分割され得る。幾つかの実施形態では、処理装置120は、1つ又は複数の追加モジュールを含み得る。例えば、処理装置112はまた、信号(例えば、電気信号、電磁信号)を物体測定システム100の1つ又は複数のコンポーネント(例えば、イメージング装置130、ユーザ装置140)に送信するように構成された送信モジュールを含み得る。別の例として、処理装置112は、物体測定に関連付けられた情報及び/又はデータ(例えば、光バーを有する物体の画像、測定モデル、物体の少なくとも一部の位置情報)を記憶するために使用されるストレージモジュール(図示せず)を含み得る。
【0056】
図5は、本開示の幾つかの実施形態による物体測定のための例示的なプロセスを示すフローチャートである。幾つかの実施形態では、プロセス500は、物体測定システム100によって実行され得る。例えば、プロセス500は、記憶装置(例えば、記憶装置150、ROM230、RAM240、及び/又はストレージ390)に記憶されている命令のセット(例えば、アプリケーション)として実施され得る。幾つかの実施形態では、処理装置112(例えば、演算装置200のプロセッサ220、移動装置300のCPU340、及び/又は図4に示す1つ又は複数のモジュール)及び/又は図11に示す物体測定装置1100(例えば、図11に示す1つ又は複数のコンポーネント)は、命令のセットを実行し得、それに応じて、プロセス500を実行するように指示され得る。以下に示される図示されたプロセスの操作は、例示を意図したものである。幾つかの実施形態では、プロセス500は、説明されていない1つ又は複数の追加操作を用いて、且つ/又は議論された1つ又は複数の操作なしで達成され得る。さらに、図5に示され、以下に説明されるプロセス500の操作の順序は、限定することを意図するものではない。
【0057】
510では、処理装置112(例えば、図4に示される第1取得モジュール410、図11に示される獲得コンポーネント1110)(例えば、プロセッサ220のインタフェース回路)は、イメージング装置(校正されたカメラとも呼ばれる)(例えば、イメージング装置130)によって獲得された光バーを有する物体の画像(ターゲット画像とも呼ばれる)を取得し得る。
【0058】
図1に関連して説明したように、物体は、生物的物体(例えば、人、動物、植物)及び/又は非生物的物体(例えば、天然物、人工物)を含み得る。例えば、物体は、工業部品を含み得る。
【0059】
幾つかの実施形態では、処理装置112は、物体上で光バー(レーザフリンジとも呼ばれる)を形成するために、光ビームを生成して物体上に照射するように光センサ(構造化光センサとも呼ばれる)(例えば、光センサ160)に指示され得る。光センサは、光ビームを生成して照射するために使用される装置を指し得る。単なる例として、光センサは、例えば、低コスト、小型、軽量、利便性、及び柔軟性の利点を有するレーザセンサなどのライン構造化光センサであり得る。例えば、光センサは、レーザビームを生成して照射するために使用されるレーザ送信機であり得る。幾つかの実施形態では、光バーの形状は、規則的又は不規則(または変形)であり得る。幾つかの実施形態では、光バーの形状は、物体の形状及び/又は物体を照明する光ビームの方向に基づいて決定され得る。例えば、光ビームが物体の真上から物体を照明し、且つ物体の形状が長方形である場合、光ビームによって物体上で形成された光バーの形状は、正四角形又は多角形、例えば、長方形、六角形であり得る。別の例として、光ビームが物体の左上から物体を照明する場合、光ビームによって物体上で形成された光バーの形状は、不規則、例えば、捻れた長方形であり得る。
【0060】
幾つかの実施形態では、光バーが物体上に形成された後、処理装置112はイメージング装置130(例えば、カメラ130-1、ビデオレコーダ130-2、画像センサ130-3など)に、光バーを有する物体の画像を獲得(又はキャプチャ)するように指示し得る。単なる例として、画像は、イメージング装置130によって獲得されたビデオ内のフレームであり得る。処理装置112は、ビデオから画像(即ち、フレーム)を取得及び/又は決定し得る。例えば、処理装置112は、ビデオ内の複数のフレームを取得するために、ビデオにフレーミング操作を実行し得る。処理装置112は、複数のフレームのうちの1つを画像として指定し得る。
【0061】
幾つかの実施形態では、光バーを有する物体の画像は、イメージング装置130によって獲得され、記憶装置(例えば、記憶装置150、記憶装置220、及び/又はストレージ390)に記憶され得る。処理装置112は、ネットワーク(例えば、ネットワーク120)を介して、記憶装置から光バーを有する物体の画像を取得し得る。イメージング装置による光バーを有する物体の画像の獲得に関するより多くの説明は、本開示の他の箇所で見つけることができる。例えば、図6及びその関連説明を参照されたい。
【0062】
幾つかの実施形態では、処理装置112は、イメージング装置が画像を獲得する前に、校正プロセスを介してイメージング装置を校正し得る。本明細書で使用される場合、イメージング装置の校正は、イメージング装置の校正パラメーター(例えば、本開示の他の箇所で説明されるように、内部パラメーター、外部パラメーターなど)の値及び/又は1つ又は複数の校正パラメーターのタイプを更新することを指す。例えば、処理装置112は、イメージング装置の以前の校正で決定された予備値を有する複数の校正パラメーターを含む、イメージング装置によって獲得された校正物体(校正ターゲット又は校正ボードとも呼ばれる)の複数の校正画像(第2校正画像とも呼ばれる)を取得し得る。複数の第2校正画像のそれぞれについて、処理装置112は、第2校正画像から少なくとも1つの特徴点を抽出し得る。処理装置112は、世界座標系における校正物体の位置情報を取得し得る。さらに、処理装置112は、世界座標系における校正物体の位置情報、及び複数の第2校正画像に対応する複数の特徴点に基づいて、複数の校正パラメーターの少なくとも一部の予備値を更新することによって、イメージング装置を校正し得る。イメージング装置の校正に関するより多くの説明は、本開示の他の箇所で見つけることができる。例えば、図9及びその関連説明を参照されたい。
【0063】
520では、処理装置112(例えば、第2取得モジュール420、図11に示される獲得コンポーネント1110)(例えば、プロセッサ220のインタフェース回路)は、測定モデル(校正された曲面モデルとも呼ばれる)を取得し得る。
【0064】
測定モデルは、光ビームが物体に向かって放射されるときに光ビームによって形成された表面(例えば、曲面)をシミュレートするために使用され得る。幾つかの実施形態では、測定モデルは、光ビームによって形成された曲面をシミュレートする表面方程式を含み得る。幾つかの実施形態では、曲面内の点は、光センサまで同じ又は同様の距離を有し得る。
【0065】
幾つかの実施形態では、表面方程式は、自由曲面をシミュレートする自由曲面方程式及び/又は初等解析面をシミュレートする多項方程式(例えば、二項式、三項式)を含み得る。例えば、測定モデルは、次の表面方程式(1)として表され得る。
【0066】
幾つかの実施形態では、処理装置112は、モデル校正プロセスを介して測定モデルを取得し得る。例えば、処理装置112は、イメージング装置によって獲得された校正物体の複数の校正画像(第1校正画像とも呼ばれる)を取得し得る。複数の第1校正画像のそれぞれは、光センサによって校正物体上に形成された光バーを有し得る。複数の第1校正画像のそれぞれについて、処理装置112は、第1校正画像内の光バーの中心点を決定し得る。処理装置112は、予備測定モデル(以前の校正で取得された以前の表面モデルとも呼ばれる)を取得し得る。さらに、処理装置112は、複数の第1校正画像に対応する複数の中心点に基づいて、予備測定モデルを校正することによって、測定モデルをし得る。測定モデルの取得に関するより多くの説明は、本開示の他の箇所で見つけることができる。例えば、図7図8、及びそれらの関連説明を参照されたい。
【0067】
幾つかの実施形態では、測定モデルは、事前に取得され、記憶装置(例えば、記憶装置150、記憶装置220、及び/又はストレージ390)に記憶され得る。処理装置112は、ネットワーク120を介して記憶装置から測定モデルを取得し得る。
【0068】
530では、処理装置112(例えば、決定モジュール430、図11に示される決定コンポーネント1120)(例えば、プロセッサ220の処理回路)は、光バーを有する物体の画像及び測定モデルに少なくとも部分的に基づいて、物体の少なくとも一部の位置情報(例えば、物体の表面上の位置点)を決定し得る。
【0069】
物体の少なくとも一部の位置情報は、世界座標系又はカメラ座標系における物体の少なくとも一部の座標(例えば、3次元座標)を含み得る。
【0070】
処理装置112は、イメージング装置(例えば、イメージング装置130)のイメージングモデル(カメライメージングモデルとも呼ばれる)を取得し得る。イメージングモデルは、イメージング装置によって物体の画像を取得するために使用され得る。幾つかの実施形態では、イメージングモデルは、座標系(例えば、世界座標系、カメラ座標系、網膜座標系、及び画素座標系)、及び座標系のうちの任意の2つ間の変換関係を示し得る。本明細書で使用されるように、網膜座標系は、網膜座標系の軸に対する画素の物理的距離が画像内の画素の位置を表す座標系を指し得る。画素座標系は、画素の座標を表す、画像内に位置する画素の列と行の座標系を指し得る。幾つかの実施形態では、物体の画像を取得するために、物体の座標は、世界座標系からカメラ座標系に変換され、次にカメラ座標系から網膜座標系に変換され、さらに網膜座標系から画素座標系に変換され得る。幾つかの実施形態では、物体の画像を取得するために、物体の座標は、世界座標系と画素座標系との間の変換関係に基づいて、世界座標系から画素座標系に変換され得る。
【0071】
幾つかの実施形態では、イメージングモデルは、線型モデル、非線型モデル、又はそれらの組み合わせを含み得る。線型モデルは、ピンホールイメージングモデルを含み得る。イメージングモデルがピンホールイメージングモデルを含む場合、イメージングモデルは、物体の画像を取得するために使用される複数の光線方程式を含み得る。光線方程式に関するより多くの説明は、本開示の他の箇所で見つけることができる。例えば、図10及びその関連説明を参照されたい。
【0072】
幾つかの実施形態では、処理装置112は、イメージング装置130(例えば、カメラ130-1、ビデオレコーダ130-2、画像センサ130-3など)からイメージングモデルを取得し得る。幾つかの代替実施形態では、イメージングモデルは、事前に取得され、記憶装置(例えば、記憶装置150、記憶装置220、及び/又はストレージ390)に記憶され得る。処理装置112は、ネットワーク120を介して記憶装置からイメージングモデルを取得し得る。
【0073】
さらに、処理装置112は、光バーを有する物体の画像、イメージングモデル、及び測定モデルに基づいて、物体の少なくとも一部の位置情報を決定し得る。幾つかの実施形態では、処理装置112は、物体の画像内の光バーの中心点を決定し得る。さらに、処理装置112は、イメージング装置のイメージングモデルから、物体の画像内の光バーの中心点に対応する光線方程式を取得し得る。光線方程式及び測定モデルの表面方程式に従って、処理装置112は、物体の少なくとも一部を表す点の座標を決定し得る。物体の少なくとも一部の位置情報の決定に関するより多くの説明は、本開示の他の箇所で見つけることができる。例えば、図10及びその関連説明を参照されたい。
【0074】
幾つかの実施形態では、光バーは、物体上の他の位置に移動され得る。例えば、光センサ(例えば、光センサ160)に光ビームの入射方向を変えるように指示することによって、光バーは他の位置に移動され得る。さらに、処理装置112は、操作510~530を複数回実行することによって、物体上の異なる位置を表す他の点の座標を決定し得る。物体上の複数の位置を表す複数の点を座標に従って、処理装置112は、物体の3次元形状を決定し得る。
【0075】
上記の説明は、単に例示を目的として提供されたものであり、本開示の範囲を限定することを意図していないことに留意されたい。当業者であれば、本開示の教示に基づいて、複数の変形又は修正を行ってもよい。しかしながら、それらの変形及び修正は、本開示の範囲から逸脱するものではない。例えば、1つ又は複数の他のオプションの操作(例えば、記憶操作、送信操作)がプロセス500の他の箇所に追加され得る。記憶操作において、処理装置112は、物体測定に関連付けられた情報及び/又はデータ(例えば、光バーを有する物体の画像、測定モデル、物体の少なくとも一部の位置情報、物体の3次元形状)を、本開示の他の箇所で開示された記憶装置(例えば、記憶装置150、ストレージ220、ストレージ390)に記憶し得る。送信操作において、処理装置112は、物体の3次元形状をユーザ装置140に送信し得る。別の例として、操作510及び操作520は、処理装置112が光バーを有する物体の画像及びイメージング装置のイメージングモデルを取得し得る単一の操作に組み合わせられてもよい。また別の例として、操作520は省略され得る。処理装置112は、測定モデルを取得することを含む操作をさらに実行し得る。
【0076】
図6は、本開示の幾つかの実施形態による、光バーを有する物体の画像を取得するための例示的なプロセスを示す概略図である。図6に示すように、測定される物体610は、測定プラットフォーム620上に置かれる。光センサ(例えば、レーザ送信機)160は、レーザビームを生成して物体610に照射し得る。光センサ160内の円筒鏡は、レーザビームを表面630(レーザ表面630とも呼ばれる)に拡大し得る。レーザ表面630は、測定モデルによってシミュレートされ得る。例えば、レーザ表面630は、測定モデルの表面方程式によってシミュレートされ得る。レーザ表面630は、物体の表面と交差して、光バー611、例えば、レーザフリンジを形成し得る。イメージング装置130(例えば、電荷結合装置(CCD))は、光バー611を有する物体610の画像をキャプチャし得る。処理装置112は、イメージング装置130から光バー611を有する物体610の画像を取得し得る。光バー611の中心点に従って、処理装置112は、中心点からイメージング装置へ物体によって反射される光の投影経路640(即ち、光線)をシミュレートする光線方程式を決定し得る。処理装置112は、測定モデルの表面方程式及び光線方程式に基づいて、レーザ表面630と投影経路640との交点の座標を決定し得る。交点は、物体610の表面上の光バー611が位置する領域内の位置点であり得る。さらに、処理装置112は、レーザビームの入射方向、又は光センサ160の移動若しくは回転を制御することによって、物体610の複数の異なる画像を取得し得る。物体610の複数の異なる画像のそれぞれは、物体の異なる位置に光バー611を有し得る。物体610の複数の異なる画像に従って、処理装置112は、物体610の3次元形状を決定し得る。
【0077】
幾つかの実施形態では、レーザビームによって形成されたレーザ表面630は平面であると仮定され、物体610を測定するために使用される測定モデルは、レーザ平面をシミュレートできるモデル(例えば、平面モデル)を含み得る。幾つかの実施形態では、光センサ160によって放射されるレーザビームは、絶対的な直線でなくてもよく、レーザビームによって形成されたレーザ表面630は曲面を含み得る。従って、平面モデルを使用して、レーザビームによって形成された曲面を平面としてシミュレートすると、物体610の3次元形状の精度が低下する可能性がある。上述の問題に対処するために、本開示の一態様は、レーザビームによって形成された曲面をシミュレートするように構成された測定モデルを使用することによって、測定精度が改善された物体測定のためのシステム及び方法を提供する。
【0078】
図7は、本開示の幾つかの実施形態による、測定モデルを取得するための例示的なプロセスを示すフローチャートである。幾つかの実施形態では、プロセス700は、物体測定システム100によって実行され得る。例えば、プロセス700は、記憶装置(例えば、記憶装置150、ROM230、RAM240、及び/又はストレージ390)に記憶されている命令のセット(例えば、アプリケーション)として実施され得る。幾つかの実施形態では、処理装置112(例えば、演算装置200のプロセッサ220、移動装置300のCPU340、及び/又は図4に示す1つ又は複数のモジュール)及び/又は図11に示す物体測定装置1100(例えば、図11に示す1つ又は複数のコンポーネント)は、命令のセットを実行し得、それに応じて、プロセス700を実行するように指示され得る。以下に示される図示されたプロセスの操作は、例示を意図したものである。幾つかの実施形態では、プロセス700は、説明されていない1つ又は複数の追加操作を用いて、且つ/又は議論された1つ又は複数の操作なしで達成され得る。さらに、図7に示され、以下に説明されるプロセス700の操作の順序は、限定することを意図するものではない。
【0079】
710では、処理装置112(例えば、図4に示される校正モジュール440、図11に示される校正コンポーネント1130)(例えば、プロセッサ220のインタフェース回路)は、イメージング装置(例えば、イメージング装置130)によって獲得された校正物体の複数の第1校正画像(レーザフリンジ画像とも呼ばれる)を取得し得る。
【0080】
校正物体は、パターンアレイを有する板(例えば、平板)を指し得る。幾つかの実施形態では、パターンアレイは、一定の間隔を有する複数の点を含み得る。校正物体は、チェッカーボード校正ボード、ソリッド円形アレイ校正ボードなどを含み得る。
【0081】
複数の第1校正画像のそれぞれは、光センサ(例えば、光センサ160)によって校正物体上に形成された光バーを有し得る。幾つかの実施形態では、処理装置112は、校正物体上に光バーを形成するために、光センサ160に光ビームを生成して校正物体に照射するように指示し得る。光バーが校正物体上に形成された後、処理装置112は、イメージング装置130(例えば、カメラ130-1、ビデオレコーダ130-2、画像センサ130-3など)に、校正物体の第1校正画像を獲得(又はキャプチャ)するように指示し得る。さらに、イメージング装置130又は光センサ160に対する校正物体の位置(例えば、高さ、方向)は調整され得、次に処理装置112は、校正物体の別の第1校正画像を獲得し得る。複数の第1校正画像は、校正物体の異なる位置に対応し得る。単なる例として、処理装置112は、校正物体を支持するために使用される測定プラットフォーム(例えば、図6に示される測定プラットフォーム)を制御することによって、イメージング装置130又は光センサ160に対する校正物体の位置を調整し得る。
【0082】
幾つかの実施形態では、複数の第1校正画像は、事前に取得され、記憶装置(例えば、記憶装置150、記憶装置220、及び/又はストレージ390)に記憶され得る。処理装置112は、ネットワーク(例えば、ネットワーク120)を介して記憶装置から複数の第1校正画像を取得し得る。
【0083】
720では、複数の第1校正画像のそれぞれについて、処理装置112(例えば、校正モジュール440、図11に示される校正コンポーネント1130)(例えば、プロセッサ220の処理回路)は、第1校正画像内の光バーの中心点(ターゲットレーザフリンジ中心点とも呼ばれる)を決定し得る。幾つかの実施形態では、第1校正画像内のターゲットレーザフリンジ中心点の決定は、ターゲットレーザフリンジ中心点を識別すること、及び/又は第1校正画像(例えば、第1校正画像の画素座標系)内のターゲットレーザフリンジ中心点の位置を決定することを含み得る。
【0084】
幾つかの実施形態では、処理装置112は、第1校正画像をグレースケール画像に変換し得る。処理装置112は、グレースケール画像に基づいて、第1校正画像内のターゲットレーザフリンジ中心点を決定し得る。単なる例として、処理装置112は、輝度平均化アルゴリズムを使用して、第1校正画像をグレースケール画像に変換し得る。例えば、輝度平均化アルゴリズムを使用して、第1校正画像内の各画素について、処理装置112は、画素に対応する赤(R)、緑(G)、及び青(B)の3つのカラーチャンネルの輝度値の平均値を決定することによって、画素のグレースケール値を決定し得る。グレースケール画像内の画素のグレースケール値(グレースケール特徴情報とも呼ばれる)に従って、処理装置112は、グレースケール画像内の複数の画素を含む画素セットを決定し得る。画素セット内の複数の画素の少なくとも一部は、光バーが画像に表されることを表し得る。例えば、処理装置112は、グレースケール画像内の画素のグレースケール値に対して柱状分析を実行し得る。柱状分析によれば、処理装置112は、グレースケール値がより高い(例えば、グレースケール閾値を超える)グレースケール画像内の2%~10%の画素を、初期中心点(候補レーザフリンジ中心点とも呼ばれる)として決定し得る。初期中心点を含むセットは、画素セットと見なされ得る。言い換えれば、初期中心点は、画素セット内の複数の画素であり得る。オプションで、処理装置112は、画素セット内の複数の画素に対してガウス畳み込み(例えば、5*5の2次元ガウス畳み込み)をさらに実行し得、その結果、画素セット内の干渉点が除去され得る。
【0085】
処理装置112は、画素セット(又は、ガウス畳み込みを実行した画素セット)を分析することによって、ターゲット画素を決定し得る。例えば、処理装置112は、画素セットに対して主成分分析(PCA)を実行することによって、ターゲット画素を決定し得る。PCAは、任意のサイズの窓を有してもよく、例えば、N*N、Nは正の整数である。具体的には、処理装置112は、第1校正画像の画素座標系における画素セット内の複数の画素の座標の平均値を決定し、次に平均値をターゲット画素の座標として指定し得る。さらに、処理装置112は、ターゲット画素を、第1校正画像内の光バーの中心点として指定し得る。処理装置112は、第1校正画像の画素座標系におけるターゲット画素の座標を、光バーの中心点の座標として指定し得る。
【0086】
幾つかの実施形態では、光バーの中心点は、画素セット内の複数の画素のうちの1つであり得る。画素セット内の複数の画素から光バーの中心点を決定するために、処理装置112は、画素セットに基づいて、第1校正画像内の光バーの中心点の法線ベクトルを決定し得る。次に、処理装置112は、中心点の法線ベクトルに基づいて、光バーの中心点を決定し得る。具体的には、画素セット内の複数の画素のそれぞれについて、処理装置112は、第1校正画像の画素座標系における画素の位置情報(例えば、座標)に基づいて、共分散行列を決定し得る。例えば、処理装置112は、以下の式(2)に従って画素の2*2共分散行列を決定し得る。
処理装置112は、共分散行列の固有値及び固有ベクトルを取得し得る。画素セット内の各画素は、共分散行列に対応し得る。各共分散行列は、固有値及び固有ベクトルに対応し得る。画素セット内の複数の画素に対応する複数の共分散行列の複数の固有値及び固有ベクトルに従って、処理装置112は、第1校正画像内の光バーの中心点の法線ベクトルを決定し得る。例えば、処理装置112は、複数の画素に対応する複数の共分散行列の複数の固有値のうちの最大の固有値を決定し得る。処理装置112は、最大の固有値を有する共分散行列に対応する固有ベクトルを光バーの中心点の法線ベクトルとして指定し得る。法線ベクトルは、固有値が最大の共分散行列を有する画素に対応し得る。
【0087】
さらに、処理装置112は、法線ベクトルに基づいて、第1校正画像内の光バーの中心点を決定し得る。例えば、処理装置112は、法線ベクトルに対応する画素セット内の画素を第1校正画像内の光バーの中心点として指定し、第1校正画像の画素座標系における法線ベクトルに対応する画素の座標を光バーの中心点の座標として指定し得る。別の例として、処理装置112は、法線ベクトルに基づいて画素セットから少なくとも2つの基準画素を決定し得る。処理装置112は、少なくとも2つの基準画素に基づいて中心点を決定し得る。具体的には、処理装置112は、法線ベクトルに対応する画素から法線ベクトルの方向に沿った少なくとも1つの基準画素、及び法線ベクトルに対応する画素から法線ベクトルの反対方向に沿った少なくとも1つの基準画素を決定し得る。単なる例として、処理装置112は、法線ベクトルの方向に沿った3つの基準画素、及び法線ベクトルの反対方向に沿った3つの基準画素を決定し得る。法線ベクトルに対応する画素セット内の画素はとして表され得、基準画素はpjとして表され得、j=i-3,i-2,i-1,i,i+1,i+2,i+3である。第1校正画像内の少なくとも2つの基準画素に従って、処理装置112は、第1校正画像内の光バーの中心点を決定し得る。例えば、処理装置112は、以下の式(3)に従って、少なくとも2つの基準画素のグレースケール値、及び第1校正画像内の少なくとも2つの基準画素の位置情報(例えば、画素座標系における少なくとも2つの基準画素の座標)に基づいて、画素座標系内の光バーの中心点のサブ画素座標を決定し得る。
【0088】
730では、処理装置112(例えば、校正モジュール440、図11に示される校正コンポーネント1130)(例えば、プロセッサ220のインタフェース回路)は、予備測定モデルを取得し得る。
【0089】
幾つかの実施形態では、予備測定モデルは、予備値を有する複数のパラメーターを含み得る。予備値を有する複数のパラメーターは、物体測定システム100のデフォルト設定であり得るし、異なる状況下で調整可能であり得る。例えば、予備測定モデルは、以下の式(4)として表され得る。
A'x2+B'y2+C'z2+D'xy+E'yx+F'zx+G'x+H'y+I'z+J'=0 (4)、
ここで、A'、B'、C'、D'、E'、F'、G'、H'、I'、J'は、予備測定モデルの複数のパラメーター(モデルパラメーターとも呼ばれる)を表す。
【0090】
幾つかの実施形態では、予備測定モデルは、事前に取得され、記憶装置(例えば、記憶装置150、記憶装置220、及び/又はストレージ390)に記憶され得る。処理装置112は、ネットワーク120を介して記憶装置から予備測定モデルを取得し得る。
【0091】
740では、処理装置112(例えば、校正モジュール440、図11に示される校正コンポーネント1130)(例えば、プロセッサ220の処理回路)は、複数の第1校正画像に対応する複数の中心点に基づいて、予備測定モデルを校正することによって、測定モデルを取得し得る。
【0092】
幾つかの実施形態では、処理装置112は、複数の中心点及び予備測定モデルに基づいて、測定モデルの複数のパラメーターの値を決定し得る。例えば、処理装置112は、複数の中心点の座標又はサブ画素座標を予備測定モデルに入力し、予備測定モデルに対してフィッティング操作(例えば、反復最小二乗法)を実行することによって、測定モデルの複数のパラメーターの値を決定し得る。さらに、処理装置112は、決定された複数のパラメーターの値を使用して、予備測定モデルの複数のパラメーターの少なくとも一部の予備値を更新することによって、測定モデルを決定し得る。例えば、処理装置112は、式(4)の複数のパラメーターの予備値(例えば、A'、B'、C'、D'、E'、F'、G'、H'、I'、J')を決定された複数のパラメーターの値に置き換えることによって、測定モデルを決定し得る。測定モデルの取得に関するより多くの説明は、本開示の他の箇所で見つけることができる。例えば、図8及びその関連説明を参照されたい。
【0093】
上記の説明は、単に例示を目的として提供されたものであり、本開示の範囲を限定することを意図していないことに留意されたい。当業者であれば、本開示の教示に基づいて、複数の変形又は修正を行ってもよい。しかしながら、それらの変形及び修正は、本開示の範囲から逸脱するものではない。
【0094】
図8は、本開示の幾つかの実施形態による、測定モデルを取得するための例示的なプロセスを示すフローチャートである。幾つかの実施形態では、プロセス800は、物体測定システム100によって実行され得る。例えば、プロセス800は、記憶装置(例えば、記憶装置150、ROM230、RAM240、及び/又はストレージ390)に記憶されている命令のセット(例えば、アプリケーション)として実施され得る。幾つかの実施形態では、処理装置112(例えば、演算装置200のプロセッサ220、移動装置300のCPU340、及び/又は図4に示す1つ又は複数のモジュール)及び/又は図11に示す物体測定装置1100(例えば、図11に示す1つ又は複数のコンポーネント)は、命令のセットを実行し得、それに応じて、プロセス800を実行するように指示され得る。以下に示される図示されたプロセスの操作は、例示を意図したものである。幾つかの実施形態では、プロセス800は、説明されていない1つ又は複数の追加操作を用いて、且つ/又は議論された1つ又は複数の操作なしで達成され得る。さらに、図8に示され、以下に説明されるプロセス800の操作の順序は、限定することを意図するものではない。
【0095】
810では、処理装置112(例えば、校正モジュール440、図11に示される校正コンポーネント1130)(例えば、プロセッサ220のインタフェース回路)は、イメージング装置によって獲得された校正物体の複数の第1校正画像を取得し得る。操作810は、図7に関連して説明された操作710と同様の方法で実行され得る。その説明はここでは繰返さない。
【0096】
820では、複数の第1校正画像のそれぞれについて、処理装置112(例えば、校正モジュール440、図11に示される校正コンポーネント1130)(例えば、プロセッサ220の処理回路)は、第1校正画像内の光バーの中心点を決定し得る。例えば、処理装置112は、第1校正画像の画素座標系における光バーの中心点の座標又はサブ画素座標を決定することができる。操作820は、図7に関連して説明された操作720と同様の方法で実行され得る。その説明はここでは繰返さない。
【0097】
830では、処理装置112(例えば、校正モジュール440、図11に示される校正コンポーネント1130)(例えば、プロセッサ220の処理回路)は、世界座標系における複数の第1校正画像に対応する複数の中心点の位置情報(例えば、座標、サブ画素座標)を決定し得る。複数の第1校正画像に対応する複数の中心点は、図7で説明したように決定され得る。世界座標系における中心点の位置情報は、世界座標系によって示される中心点の座標を含み得る。
【0098】
幾つかの実施形態では、複数の中心点の座標及びサブ画素座標は、図7に示すように、複数の第1校正画像の画素座標系で決定され得る。画素座標系は2次元座標系であり得る。測定モデルは、3次元座標系、例えば、世界座標系又はイメージング装置のカメラ座標系でのモデルであり得る。処理装置112は、画素座標系と世界座標系との間の変換関係(マッピング行列とも呼ばれる)に基づいて、複数の中心点の座標又はサブ画素座標を、第1校正画像の画素座標系から世界座標系に変換し得る。画素座標系と世界座標系との間の変換関係は、イメージング装置を校正するプロセス(例えば、図9に示されるプロセス900)において決定され得る。
【0099】
さらに、処理装置112は、世界座標系における複数の中心点の位置情報(例えば、座標、サブ画素座標)に基づいて、予備測定モデルを校正することによって、測定モデルを取得し得る。測定モデルの取得は、図7に関連して説明された操作740と同様の方法で実行され得る。その説明はここでは繰返さない。
【0100】
幾つかの実施形態では、精度が向上した測定モデルを取得するために、処理装置112は、操作840及び850をさらに実行し得る。
【0101】
840では、処理装置112(例えば、校正モジュール440、図11に示される校正コンポーネント1130)(例えば、プロセッサ220の処理回路)は、複数の中心点の位置情報(例えば、座標、サブ画素座標)を世界座標系からイメージング装置のカメラ座標系に変換し得る。
【0102】
幾つかの実施形態では、処理装置112は、世界座標系とカメラ座標系との間の変換関係に基づいて、複数の中心点の座標及びサブ画素座標を世界座標系からカメラ座標系に変換し得る。世界座標系とカメラ座標系との間の変換関係は、イメージング装置を取得するプロセス(例えば、図9に示されるプロセス900)において決定され得る。
【0103】
850では、処理装置112(例えば、校正モジュール440、図11に示される校正コンポーネント1130)(例えば、プロセッサ220の処理回路)は、カメラ座標系における複数の中心点の位置情報(例えば、座標、サブ画素座標)に基づいて、予備測定モデルを校正することによって、測定モデルを取得し得る。カメラ座標系における複数の中心点の位置情報に基づく測定モデルの取得は、図7の操作740に関連して説明された画素座標系における複数の中心点の位置情報に基づく測定モデルの取得と同様又は同じ方法で実行され得る。その説明はここでは繰返さない。その説明はここでは繰返さない。
【0104】
上記の説明は、単に例示を目的として提供されたものであり、本開示の範囲を限定することを意図していないことに留意されたい。当業者であれば、本開示の教示に基づいて、複数の変形又は修正を行ってもよい。しかしながら、それらの変形及び修正は、本開示の範囲から逸脱するものではない。
【0105】
図9は、本開示の幾つかの実施形態による、イメージング装置を校正するための例示的なプロセスを示すフローチャートである。幾つかの実施形態では、プロセス900は、物体測定システム100によって実行され得る。例えば、プロセス900は、記憶装置(例えば、記憶装置150、ROM230、RAM240、及び/又はストレージ390)に記憶されている命令のセット(例えば、アプリケーション)として実施され得る。幾つかの実施形態では、処理装置112(例えば、演算装置200のプロセッサ220、移動装置300のCPU340、及び/又は図4に示す1つ又は複数のモジュール)及び/又は図11に示す物体測定装置1100(例えば、図11に示す1つ又は複数のコンポーネント)は、命令のセットを実行し得、それに応じて、プロセス900を実行するように指示され得る。以下に示される図示されたプロセスの操作は、例示を意図したものである。幾つかの実施形態では、プロセス900は、説明されていない1つ又は複数の追加操作を用いて、且つ/又は議論された1つ又は複数の操作なしで達成され得る。さらに、図9に示され、以下に説明されるプロセス900の操作の順序は、限定することを意図するものではない。
【0106】
910では、処理装置112(例えば、校正モジュール440、図11に示される校正コンポーネント1130)(例えば、プロセッサ220の処理回路)は、予備値を有する複数の校正パラメーターを含むイメージング装置によって獲得された校正物体の複数の第2校正画像を取得し得る。
【0107】
処理装置112は、イメージング装置に、校正物体の複数の第2校正画像を獲得(又はキャプチャ)するように指示し得る。幾つかの実施形態では、処理装置112は、イメージング装置に、複数の第2校正画像を取得するために異なる角度から校正物体を撮影するように指示し得る。追加的又は代替的に、処理装置112は、イメージング装置に、異なる位置に位置又は配置された校正物体の複数の第2校正画像を獲得(又はキャプチャ)するように指示し得る。例えば、イメージング装置は、ある位置における校正物体の第2校正画像を獲得(又はキャプチャ)し得る。校正物体が別の位置に移動された後、イメージング装置は、校正物体の別の第2校正画像を獲得(又はキャプチャ)し得る。
【0108】
幾つかの実施形態では、複数の第2校正画像は、事前に取得され、記憶装置(例えば、記憶装置150、記憶装置220、及び/又はストレージ390)に記憶され得る。処理装置112は、ネットワーク(例えば、ネットワーク120)を介して記憶装置から複数の第2校正画像を取得し得る。
【0109】
920では、複数の第2校正画像のそれぞれについて、処理装置112(例えば、校正モジュール440、図11に示される校正コンポーネント1130)(例えば、プロセッサ220の処理回路)は、第2校正画像から少なくとも1つの特徴点を抽出し得る。
【0110】
少なくとも1つの特徴点は、例えば、第2校正画像内の少なくとも1つのコーナー点を含み得る。本明細書で使用されるように、コーナー点は、画像で表されるエッジの接続点を指し得る。幾つかの実施形態では、処理装置112は、特徴点抽出アルゴリズム、例えば、コーナー点抽出アルゴリズムに基づいて、第2校正画像から少なくとも1つの特徴点(例えば、コーナー点)を抽出し得る。コーナー点抽出アルゴリズムは、Kitchen-Rosenfeldアルゴリズム、Harrisアルゴリズム、Kanade-Lucas-Tomasi(KLT)トラッキングアルゴリズム、最小単値セグメント同化核(small univalue segment assimilating nucleus、SUSAN)など、又はそれらの任意の組み合わせを含み得る。
【0111】
930では、処理装置112(例えば、校正モジュール440、図11に示される校正コンポーネント1130)(例えば、プロセッサ220の処理回路)は、世界座標系における校正物体の特徴情報を取得し得る。
【0112】
特徴情報は、サイズ(例えば、長さ、幅、高さ)、世界座標系における校正物体の座標を含み得る。幾つかの実施形態では、特徴情報は、事前に取得され、記憶装置(例えば、記憶装置150、記憶装置220、及び/又はストレージ390)に記憶され得る。処理装置112は、ネットワーク120を介して記憶装置から特徴情報を取得し得る。
【0113】
940では、処理装置112(例えば、校正モジュール440、図11に示される校正コンポーネント1130)(例えば、プロセッサ220の処理回路)は、世界座標系における校正物体の特徴情報と、複数の第2校正画像に対応する複数の特徴点とに基づいて、イメージング装置を校正し得る。
【0114】
幾つかの実施形態では、イメージング装置は、予備値を有する複数の校正パラメーターを含み得る。複数の校正パラメーターは、内部パラメーター、外部パラメーター、イメージング装置に関連付けられた座標系(即ち、世界座標系、カメラ座標系、網膜座標系、及び画素座標系)のうちの任意の2つの間の変換関係などを含み得る。内部パラメーターは、イメージング装置自体の特性に関連するパラメーターを指し得る。内部パラメーターは、例えば、焦点長、サイズ、画素の座標などを含み得る。外部パラメーターは、世界座標システムにおけるイメージング装置のパラメーターを指し得る。外部パラメーターは、例えば、イメージング装置の位置、回転方向を含み得る。変換関係は、例えば、回転、平行移動、ズーム、歪みなどを含み得る。例えば、画素座標系における画素の座標は、回転、平行移動、ズーム、又は歪みのうちの少なくとも1つの操作を実行することによって、世界座標系に変換され得る。
【0115】
幾つかの実施形態では、複数の校正パラメーターの予備値は、事前に(例えば、以前の校正で)取得され、記憶装置(例えば、記憶装置150、記憶装置220、及び/又はストレージ390)に記憶され得る。処理装置112は、ネットワーク120を介して記憶装置から複数の校正パラメーターの予備値を取得し得る。幾つかの実施形態では、複数の校正パラメーターの予備値は、オペレータによって、又はシステム100のデフォルト設定に従って設定され得る。
【0116】
幾つかの実施形態では、複数の第2校正画像から抽出された複数の特徴点(例えば、コーナー点)は複数の第2校正画像の画素座標系にあり得る。世界座標系における校正物体の特徴情報(例えば、座標)と、画素座標系における複数の特徴点(例えば、複数の特徴点の座標)とに従って、処理装置112は、イメージング装置に関連付けられた世界座標系と画素座標系との間の変換関係を決定し得る。例えば、処理装置112は、画素座標系における複数の特徴点からコーナー点の座標、及び校正物体の特徴情報からコーナー点に対応する校正物体の位置点の座標を取得し得る。さらに、処理装置112は、コーナー点及びコーナー点に対応する校正物体上の位置点の座標に基づいて、世界座標系と画素座標系との間の変換関係を決定し得る。世界座標系と画素座標系との間の変換関係は、単一のマッピング行列とも呼ばれる。単一のマッピング行列は、イメージング装置の画素座標系における画素座標と世界座標系における座標との間のマッピング関係を指し得る。単なる例として、単一のマッピングは、3*3行列であり得る。
【0117】
決定された世界座標系と画素座標系との間の変換関係に従って、処理装置112は、イメージング装置の複数の校正パラメーター(例えば、内部パラメーター、外部パラメーター)の値を決定し得る。決定された世界座標系と画素座標系との間の変換関係は、イメージング装置の複数の校正パラメーターの値に基づいて構築され得る。処理装置112は、決定された変換関係からイメージング装置の複数の校正パラメーターの値を取得し得る。さらに、処理装置112は、決定されたイメージング装置の複数の校正パラメーターの値を使用して、複数の校正パラメーターの予備値を更新することによって、イメージング装置を校正し得る。例えば、処理装置112は、複数の校正パラメーターの予備値を決定されたイメージング装置の複数の校正パラメーターの値に置き換えることによって、イメージング装置を決定し得る。
【0118】
幾つかの実施形態では、イメージング装置が校正された後、処理装置112は、イメージング装置から座標系(即ち、世界座標系、カメラ座標系、網膜座標系、及び画素座標系)の任意の2つの間の変換関係を取得し得る。
【0119】
上記の説明は、単に例示を目的として提供されたものであり、本開示の範囲を限定することを意図していないことに留意されたい。当業者であれば、本開示の教示に基づいて、複数の変形又は修正を行ってもよい。しかしながら、それらの変形及び修正は、本開示の範囲から逸脱するものではない。
【0120】
図10は、本開示の幾つかの実施形態による物体測定のための例示的なプロセスを示すフローチャートである。幾つかの実施形態では、プロセス1000は、物体測定システム100によって実行され得る。例えば、プロセス1000は、記憶装置(例えば、記憶装置150、ROM230、RAM240、及び/又はストレージ390)に記憶されている命令のセット(例えば、アプリケーション)として実施され得る。幾つかの実施形態では、処理装置112(例えば、演算装置200のプロセッサ220、移動装置300のCPU340、及び/又は図4に示す1つ又は複数のモジュール)及び/又は図11に示す物体測定装置1100(例えば、図11に示す1つ又は複数のコンポーネント)は、命令のセットを実行し得、それに応じて、プロセス1000を実行するように指示され得る。以下に示される図示されたプロセスの操作は、例示を意図したものである。幾つかの実施形態では、プロセス1000は、説明されていない1つ又は複数の追加操作を用いて、且つ/又は議論された1つ又は複数の操作なしで達成され得る。さらに、図10に示され、以下に説明されるプロセス1000の操作の順序は、限定することを意図するものではない。
【0121】
1010では、処理装置112(例えば、校正モジュール440、図11に示される校正コンポーネント1130)(例えば、プロセッサ220の処理回路)は、イメージング装置を校正し得る。イメージング装置の校正は、図9に関連して説明されたプロセス900と同様の方法で実行され得る。その説明はここでは繰返さない。
【0122】
1020では、処理装置112(例えば、校正モジュール440、図11に示される校正コンポーネント1130)(例えば、プロセッサ220の処理回路)は、測定モデルを取得し得る。測定モデルの取得は、図7に関連して説明されたプロセス700、又は図8に関連して説明されたプロセス800と同様の方法で実行され得る。その説明はここでは繰返さない。例えば、測定モデルは表面方程式を含み得る。表面方程式は、光センサ(例えば、光センサ160)によって放射された光ビームによって形成される曲面をシミュレートし得る。
【0123】
1030では、処理装置112(例えば、第1取得モジュール410、図11に示される獲得コンポーネント1110)(例えば、プロセッサ220のインタフェース回路)は、イメージング装置によって獲得された光バーを有する物体の画像を取得し得る。操作1030は、図5に関連して説明されたプロセス510と同様の方法で実行され得る。その説明はここでは繰返さない。
【0124】
1040では、処理装置112(例えば、決定モジュール430、図11に示される決定コンポーネント1120)(例えば、プロセッサ220の処理回路)は、物体の画像内の光バーの中心点を決定し得る。光バーの中心点の決定は、図7に関連して説明された操作720と同様の方法で実行され得る。その説明はここでは繰返さない。
【0125】
1050では、処理装置112(例えば、決定モジュール430、図11に示される決定コンポーネント1120)(例えば、プロセッサ220の処理回路)は、イメージング装置のイメージングモデルから、物体の画像内の光バーの中心点に対応する光線方程式を取得し得る。
【0126】
光線方程式は、物体からイメージング装置のイメージング平面への光の投影経路(即ち、光線)をシミュレートし得る。物体の画像内の画素のそれぞれは、画素と画素に対応する物体上の物理点との間の光線をシミュレートする光線方程式に対応し得る。例えば、物体の画像内の光バーの中心点に対応する光線方程式は、中心点と中心点に対応する物体上の物理点との間の光線をシミュレートし得る。本明細書で使用されるとき、中心点に対応する物体上の物理点は、物体上の物理点及び中心点が物体の画像内の物体の同じ部分又は位置を表すことを指す。幾つかの実施形態では、光バーの中心点における画素が決定されると、イメージング装置のイメージングモデルは、光バーの中心点に対応する光線方程式を含み得る。処理装置112は、イメージング装置のイメージングモデルから、光バーの中心点に対応する光線方程式を取得し得る。光線方程式は、イメージング装置の複数の校正パラメーターの少なくとも一部に基づいて構築され得る。画像内の画素のそれぞれは、光線方程式に対応し得る。光線方程式は、システム100のデフォルト設定であり得る。例えば、光線方程式は、イメージング装置の複数の校正パラメーターの少なくとも一部に基づいて決定され得る。イメージング装置の複数の校正パラメーターが決定された後、光線方程式は決定され得る。
【0127】
光バーの中心点に対応する光線方程式は、イメージング装置のカメラ座標系を使用して表され得る。幾つかの実施形態では、光バーの中心点に対応する光線方程式は、世界座標系とカメラ座標系との間の変換関係に基づいて、イメージング装置のカメラ座標系から世界座標系に変換され得る。世界座標系とカメラ座標系との間の変換関係は、イメージング装置を校正する操作において決定され得る。
【0128】
1060では、処理装置112(例えば、決定モジュール430、図11に示される決定コンポーネント1120)(例えば、プロセッサ220の処理回路)は、光線方程式及び測定モデルに基づいて、物体の少なくとも一部を表す点の位置情報(例えば、座標)を決定し得る。例えば、処理装置112は、光線方程式及び表面方程式に基づいて、物体の少なくとも一部を表す点の座標を決定し得る。
【0129】
図5の操作530に関連して説明したように、測定モデルの表面方程式は、レーザビームが物体に向かって放射されて物体上に光バーを形成するときにレーザビームによって形成される曲面をシミュレートし得る。例えば、曲面を有するレーザビームは、物体の表面と交差して光バーを形成し得る。幾つかの実施形態では、処理装置112は、光線方程式及び表面方程式を解くことによって、光バーの中心点に対応する光線方程式によってシミュレートされた光線と、測定モデルの表面方程式によってシミュレートされた曲面との間の交点の座標を決定し得る。交点は、物体の少なくとも一部を表す点を含み得る。幾つかの実施形態では、光線方程式及び測定モデルがイメージング装置のカメラ座標系によって示される場合、物体の少なくとも一部を表す点の座標は、カメラ座標系における座標であり得る。光線方程式及び測定モデルが世界座標系によって示される場合、物体の少なくとも一部を表す点の座標は、世界座標系における座標であり得る。また、カメラ座標系における座標は、世界座標系とカメラ座標系との間の変換関係に基づいて、カメラ座標系から世界座標系に変換され得る。
【0130】
上記の説明は、単に例示を目的として提供されたものであり、本開示の範囲を限定することを意図していないことに留意されたい。当業者であれば、本開示の教示に基づいて、複数の変形又は修正を行ってもよい。しかしながら、それらの変形及び修正は、本開示の範囲から逸脱するものではない。
【0131】
図11は、本開示の幾つかの実施形態による例示的な物体測定装置を示すブロック図である。物体測定装置1100は、獲得コンポーネント1110、決定コンポーネント1120、及び校正コンポーネント1130を含み得る。
【0132】
獲得コンポーネント1110は、イメージング装置(例えば、イメージング装置130)によって獲得された光バーを有する物体の画像を取得するように構成され得る。光バーを有する物体の画像の取得に関するより多くの説明は、本開示の他の箇所で見つけることができる。例えば、図5の操作510及びその関連説明を参照されたい。
【0133】
獲得コンポーネント1110は、測定モデルを取得するように構成され得る。測定モデルは、光ビームが物体に向かって放射されるときに光ビームによって形成された表面(例えば、曲面)をシミュレートするために使用され得る。測定モデルの取得に関するより多くの説明は、本開示の他の箇所で見つけることができる。例えば、図5の操作520及びその関連説明を参照されたい。
【0134】
決定コンポーネント1120は、光バーを有する物体の画像及び測定モデルに少なくとも部分的に基づいて、物体の少なくとも一部(例えば、物体の表面上の位置点)の位置情報を決定するように構成され得る。決定コンポーネント1120は、イメージング装置(例えば、イメージング装置130)のイメージングモデルを取得し得る。さらに、決定コンポーネント1120は、光バーを有する物体の画像、イメージングモデル、及び測定モデルに基づいて、物体の少なくとも一部の位置情報を決定し得る。物体の少なくとも一部の位置情報の決定に関するより多くの説明は、本開示の他の箇所で見つけることができる。例えば、図5の操作530及びその関連説明を参照されたい。
【0135】
校正コンポーネント1130は、測定モデルを取得するように構成され得る。幾つかの実施形態では、校正コンポーネント1130は、イメージング装置によって獲得された校正物体の複数の第1校正画像を取得し得る。複数の第1校正画像のそれぞれは、光センサによって校正物体上に形成された光バーを有し得る。複数の第1校正画像のそれぞれについて、校正コンポーネント1130は、第1校正画像内の光バーの中心点を決定し得る。さらに、校正コンポーネント1130は、予備測定モデルを取得し得る。校正コンポーネント1130は、複数の第1校正画像に対応する複数の中心点に基づいて、予備測定モデルを校正することによって、測定モデルを取得し得る。測定モデルの取得に関するより多くの説明は、本開示の他の箇所で見つけることができる。例えば、図7のプロセス700、図8のプロセス800、及びそれらの関連説明を参照されたい。
【0136】
校正コンポーネント1130は、イメージング装置を校正するようにさらに構成され得る。幾つかの実施形態では、校正コンポーネント1130は、イメージング装置によって獲得された校正物体の複数の第2校正画像を取得し得る。複数の第2校正画像のそれぞれについて、校正コンポーネント1130は、第2校正画像から少なくとも1つの特徴点を抽出し得る。さらに、校正コンポーネント1130は、世界座標系における校正物体の位置情報を取得し得る。世界座標系における校正物体の位置情報、及び複数の第2校正画像に対応する複数の特徴点に従って、校正コンポーネント1130はイメージング装置を校正し得る。イメージング装置の校正に関するより多くの説明は、本開示の他の箇所で見つけることができる。例えば、図9のプロセス900及びその関連説明を参照されたい。
【0137】
物体測定装置1100内のモジュールは、有線接続又は無線接続を介して互いに接続又は通信し得る。有線接続は、金属ケーブル、光ケーブル、ハイブリッドケーブルなど、又はそれらの任意の組み合わせを含み得る。無線接続は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、ブルートゥース(登録商標)、ジグビー(ZigBee)、近距離無線通信(NFC)など、又はそれらの任意の組み合わせを含み得る。上記の説明は、単に例示を目的として提供されたものであり、本開示の範囲を限定することを意図していないことに留意されたい。当業者であれば、本開示の教示に基づいて、複数の変形又は修正を行ってもよい。しかしながら、それらの変形及び修正は、本開示の範囲から逸脱するものではない。
【0138】
幾つかの実施形態では、本開示はまた、プログラムコードを記憶する可読記録媒体(例えば、不揮発性記憶媒体)を提供し得る。プログラムコードは、本開示の他の箇所で説明されるプロセス(例えば、プロセス500、プロセス700、プロセス800、プロセス900、プロセス1000)を実施するために実行され得る。
【0139】
幾つかの実施形態では、本開示は、命令を含むコンピュータプログラム製品も提供し得る。命令は、本開示の他の箇所で説明されるプロセス(例えば、プロセス500、プロセス700、プロセス800、プロセス900、プロセス1000)を実施するために実行され得る。コンピュータプログラム製品は、1つ又は複数の可読媒体を含み得る。可読媒体は、コンピュータ可読信号媒体又は可読記録媒体を含み得る。
【0140】
可読記録媒体は、電気、磁気、光学、電磁気、赤外線、又は半導体、又はそれらの任意の組み合わせのシステム又は装置を含み得る。例えば、可読記録媒体は、1つ又は複数のランダムワイヤーとの電気的な接続、ポータブルディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュメモリー、光ファイバー、コンパクトディスクROM(CD-ROM)、光記憶装置、磁気記憶装置など、又はそれらの任意の組み合わせを含み得る。可読記録媒体は、プログラムを包含又は記憶する任意の有形的表現媒体を含み得る。プログラムは、コマンド実行システム、装置など、又はそれらの任意の組み合わせによって使用され得る。
【0141】
このように基本的な概念を説明したが、この詳細な開示を読んだ後、当業者には、前述の詳細な開示が単なる例として提示することを意図しており、限定するものではないことが明らかになるであろう。本明細書では明示的に述べていないが、様々な変更、改良、及び修正が可能であり、当業者に意図されている。これらの変更、改良、及び修正は、本開示によって示唆されることを意図しており、本開示の例示的な実施形態の精神及び範囲内にある。
【0142】
さらに、本開示の実施形態を説明するために特定の用語が使用されている。例えば、「1つの実施形態」、「一実施形態」及び/又は「幾つかの実施形態」という用語は、その実施形態に関連して説明される特定の特徴、構造、又は特性が、本開示の少なくとも1つの実施形態に含まれることを意味する。従って、本明細書の様々な部分における「一実施形態」、「1つの実施形態」又は「代替の実施形態」への2つ以上の言及は、必ずしもすべてが同じ実施形態を指しているとは限らないことが強調され、理解されるべきである。さらに、特定の特徴、構造、又は特性は、本開示の1つ又は複数の実施形態において適切に組み合わせられ得る。
【0143】
さらに、当業者には理解されるであろうが、本開示の態様は、任意の新規かつ有用なプロセス、機械、製造、又は物質の複合配置、又はその新規かつ有用な改善を含む、多数の特許可能なクラス又は文脈のいずれにおいても本明細書で図示及び説明され得る。そこで、本開示の態様は、本明細書では「ユニット」、「モジュール」、又は「システム」と一般的に呼ばれる、完全にハードウェア、完全にソフトウェア(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、又はソフトウェアとハードウェアの実装を組み合わせて実装され得る。さらに、本開示の態様は、コンピュータ-可読プログラムコードが具現化された1つ又は複数のコンピュータ可読媒体に具現化されたコンピュータプログラム製品の形態をとり得る。
【0144】
コンピュータ可読信号媒体は、例えば、ベースバンドで、又は搬送波の一部として、コンピュータ可読プログラムコードが組み込まれた伝搬データ信号を含み得る。このような伝搬信号は、電磁気、光学など、又はそれらの任意の組み合わせを含む、様々な形態のいずれかをとり得る。コンピュータ可読信号媒体は、コンピュータ可読記録媒体ではなく、命令実行システム、器具、又は装置によって、又はそれらに関連して使用するためのプログラムを通信、伝搬、又は転送し得る任意のコンピュータ可読媒体であり得る。コンピュータ可読信号媒体に具現化されたプログラムコードは、無線、有線、光ファイバーケーブル、RFなど、又は前述の任意の適切な組み合わせを含む任意の適切な媒体を使用して送信され得る。
【0145】
本開示の態様のための操作を実行するためのコンピュータプログラムコードは、Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Pythonなどのオブジェクト指向プログラミング言語、「C」プログラミング言語、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAPなどの従来の手続き型プログラミング言語、Python、Ruby、及びGroovyなどの動的プログラミング言語、又はその他のプログラミング言語を含む1つ又は複数のプログラミング言語の組み合わせで書かれ得る。プログラムコードは、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、独立型ソフトウェアパッケージとして、部分的にユーザのコンピュータ上で、部分的に遠隔コンピュータ上で、又は完全に遠隔コンピュータ若しくはサーバー上で実行され得る。後者のシナリオでは、遠隔コンピュータは、ローカルエリアネットワーク(LAN)又は広域ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続され得る。あるいは、接続は、外部コンピュータ(例えば、インターネットサービスプロバイダーを使用したインターネットを介して)に、又は、クラウドコンピューティング環境で行われ、又は、Software as a Service(SaaS)などのサービスとして提供され得る。
【0146】
さらに、処理要素若しくはシーケンスの列挙された順序、又はそれらの数字、文字、若しくはその他の指定の使用は、特許請求の範囲で指定されている場合を除き、請求されたプロセス及び方法を任意の順序に限定することを意図していない。上記の開示は、開示の様々な有用な実施形態であると現在考えられている様々な例を通して論じているが、そのような詳細は単にその目的のためのものであり、添付の特許請求の範囲は開示された実施形態に限定されず、逆に、開示された実施形態の精神及び範囲内にある変更及び同等の構成をカバーすることを意図している。例えば、上述の様々なコンポーネントの実装は、ハードウェア装置で具現化され得るが、ソフトウェアのみのソリューション、例えば既存のサーバーまたはモバイルデバイスへのインストールとしても実装され得る。
【0147】
同様に、本開示の実施形態の前述の説明において、様々な特徴が、様々な実施形態1つ又は複数の理解を助ける開示を効率化する目的で、単一の実施形態、図、又はその説明にグループ化されることがあることが理解されるべきである。ただし、この開示の方法は、特許請求された主題が各請求項で明示的に列挙されているよりも多くの特徴を必要とするという意図を反映していると解釈されるべきではない。むしろ、特許請求された主題は、単一の前述の開示された実施形態のすべての特徴よりも少ない特徴にある可能性がある。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11