(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-05
(54)【発明の名称】物体にシンボルを割り当てるシステム及び方法
(51)【国際特許分類】
G06T 7/70 20170101AFI20240628BHJP
【FI】
G06T7/70 A
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023579190
(86)(22)【出願日】2022-06-27
(85)【翻訳文提出日】2024-02-20
(86)【国際出願番号】 US2022035175
(87)【国際公開番号】W WO2022272173
(87)【国際公開日】2022-12-29
(32)【優先日】2021-06-25
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】504382671
【氏名又は名称】コグネックス・コーポレイション
(74)【代理人】
【識別番号】100134832
【氏名又は名称】瀧野 文雄
(74)【代理人】
【識別番号】100165308
【氏名又は名称】津田 俊明
(74)【代理人】
【識別番号】100115048
【氏名又は名称】福田 康弘
(72)【発明者】
【氏名】エル-バークーキー アーメッド
(72)【発明者】
【氏名】ソーター エミリー
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096AA09
5L096CA04
5L096CA05
5L096EA26
5L096FA06
5L096FA12
5L096FA69
5L096FA77
(57)【要約】
画像内の物体にシンボルを割り当てる方法は、撮像装置によってキャプチャされた前記画像を受信するステップであって、前記シンボルが前記画像内に位置している、ステップを含む。前記方法は、更に、第1の座標系において、前記画像内の前記物体の3D姿勢を示す姿勢情報に対応する1つ又は複数の点の3次元(3D)位置を受信するステップと、前記物体の前記1つ又は複数の点の前記3D位置を前記画像内の2D位置にマッピングするステップと、前記画像内の前記シンボルの2D位置と前記画像内の前記物体の前記1つ又は複数の点の前記2D位置との関係に基づいて前記シンボルを前記物体に割り当てるステップと、を含む。
【選択図】
図1A
【特許請求の範囲】
【請求項1】
画像内の物体にシンボルを割り当てる方法であって、
撮像装置によってキャプチャされた前記画像を受信するステップであって、前記シンボルが前記画像内に位置している、ステップと、
第1の座標系において、前記画像内の前記物体の3D姿勢を示す姿勢情報に対応する1つ又は複数の点の3次元(3D)位置を受信するステップと、
前記物体の前記1つ又は複数の点の前記3D位置を前記画像内の2D位置にマッピングするステップと、
前記画像内の前記シンボルの2D位置と前記画像内の前記物体の前記1つ又は複数の点の前記2D位置との関係に基づいて前記シンボルを前記物体に割り当てるステップと、
を含むことを特徴とする方法。
【請求項2】
前記画像内の前記物体の1つ又は複数の点の前記2D位置に基づいて前記物体の表面を決定するステップと、
前記画像内の前記シンボルの前記2D位置と前記物体の前記表面との間の関係に基づいて、前記シンボルを前記物体の前記表面に割り当てるステップと、
を更に含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記シンボルが複数の画像に関連付けられていると判断するステップと、
前記複数の画像の各画像に対する前記シンボルの割り当てを集約するステップと、
前記シンボルの前記割り当ての少なくとも1つが前記シンボルの残りの割り当てと異なるかどうかを判断するステップと、
を更に含むことを特徴とする請求項1に記載の方法。
【請求項4】
前記画像の撮像データに基づいて前記画像内の前記物体のエッジを決定するステップ
を更に含むことを特徴とする請求項1に記載の方法。
【請求項5】
前記シンボル割り当ての信頼スコアを決定するステップ
を更に含むことを特徴とする請求項1に記載の方法。
【請求項6】
1つ又は複数の点の前記3D位置が3Dセンサから受信される
ことを特徴とする請求項1に記載の方法。
【請求項7】
前記画像は、複数の物体を含み、
前記方法は、
前記複数の物体が前記画像内で重なっているかどうかを判断するステップ
を更に含むことを特徴とする請求項1に記載の方法。
【請求項8】
前記画像は、マージンを備えた第1の境界を持つ前記物体と、第2のマージンを備えた第2の境界を持つ第2の物体と、を含み、
前記方法は、
前記第1の境界と前記第2の境界が前記画像内で重なるかどうかを決定するステップ
を更に含むことを特徴とする請求項1に記載の方法。
【請求項9】
前記1つ又は複数の点の前記3D位置が第1時間に取得され、前記画像が第2時間に取得され、
前記1つ又は複数の点の前記3D位置についての前記画像内の前記2D位置へのマッピングは、前記1つ又は複数の点の前記3D位置を前記第1時間から前記第2時間へマッピングすることを含む
ことを特徴とする請求項1に記載の方法。
【請求項10】
前記姿勢情報は、前記第1の座標空間における前記物体の角を含む
ことを特徴とする請求項1に記載の方法。
【請求項11】
前記姿勢情報は、点群データを含む
ことを特徴とする請求項1に記載の方法。
【請求項12】
画像内の物体にシンボルを割り当てるシステムであって、
画像をキャプチャするように構成された校正済み撮像装置と、
プロセッサデバイスと
を備え、
前記プロセッサデバイスは、
前記校正済み撮像装置によってキャプチャされた前記画像を受信するステップであって、前記シンボルが前記画像内に位置している、ステップと、
第1の座標系において、前記画像内の前記物体の3D姿勢を示す姿勢情報に対応する1つ又は複数の点の3次元(3D)位置を受信するステップと、
前記物体の前記1つ又は複数の点の前記3D位置を前記画像内の2D位置にマッピングするステップと、
前記画像内の前記シンボルの2D位置と前記画像内の前記物体の前記1つ又は複数の点の前記2D位置との関係に基づいて前記シンボルを前記物体に割り当てるステップと、
を行うようにプログラムされていることを特徴とするシステム。
【請求項13】
前記物体を支持し、輸送するように構成されたコンベヤと、
前記コンベヤに結合され、前記コンベヤの動きを測定するように構成された運動測定装置と、
を更に備えることを特徴とする請求項12に記載のシステム。
【請求項14】
前記1つ又は複数の点の前記3D位置を測定するように構成された3Dセンサ
を更に備えることを特徴とする請求項12に記載のシステム。
【請求項15】
前記姿勢情報は、前記第1の座標空間における前記物体の角を含む
ことを特徴とする請求項12に記載のシステム。
【請求項16】
前記姿勢情報は、点群データを含む
ことを特徴とする請求項12に記載のシステム。
【請求項17】
前記プロセッサデバイスは、更に、
前記画像内の前記物体の1つ又は複数の点の前記2D位置に基づいて前記物体の表面を決定するステップと、
前記画像内の前記シンボルの前記2D位置と前記物体の前記表面との間の関係に基づいて、前記シンボルを前記物体の前記表面に割り当てるステップと、
を行うようにプログラムされていることを特徴とする請求項12に記載のシステム。
【請求項18】
前記少なくとも1つのプロセッサデバイスは、更に、
前記シンボルが複数の画像に関連付けられていると判断するステップと、
前記複数の画像の各画像に対する前記シンボルの割り当てを集約するステップと、
前記シンボルの前記割り当ての少なくとも1つが前記シンボルの残りの割り当てと異なるかどうかを判断するステップと、
を行うようにプログラムされていることを特徴とする請求項12に記載のシステム。
【請求項19】
前記シンボルに関連付けられた前記画像は複数の物体を含み、
前記プロセッサデバイスは、更に、
前記複数の物体が前記画像内で重なっているかどうかを判断するステップ
を行うようにプログラムされていることを特徴とする請求項12に記載のシステム。
【請求項20】
前記画像は、マージンを備えた第1の境界を持つ前記物体と、第2のマージンを備えた第2の境界を持つ第2の物体と、を含み、
前記プロセッサデバイスは、更に、
前記第1の境界と前記第2の境界が前記画像内で重なるかどうかを決定するステップ
を行うようにプログラムされていることを特徴とする請求項12に記載のシステム。
【請求項21】
前記シンボルを前記物体に割り当てることは、前記シンボルを表面に割り当てることを含む
ことを特徴とする請求項12に記載のシステム。
【請求項22】
画像内の物体にシンボルを割り当てる方法であって、
撮像装置によってキャプチャされた前記画像を受信するステップであって、前記シンボルが前記画像内に位置している、ステップと、
第1の座標系において、1つ又は複数の物体の3D姿勢を示す姿勢情報に対応する1つ又は複数の点の3次元(3D)位置を受信するステップと、
前記物体の前記1つ又は複数の点の前記3D位置を第2座標空間における前記画像内の2D位置にマッピングするステップと、
前記第2座標空間における前記画像内の前記物体の前記1つ又は複数の点の前記2D位置に基づいて前記物体の表面を決定するステップと、
前記画像内の前記シンボルの2D位置と前記画像内の前記物体の前記1つ又は複数の点の前記2D位置との関係に基づいて前記シンボルを前記表面に割り当てるステップと、
を含むことを特徴とする方法。
【請求項23】
前記シンボルを前記表面に割り当てることは、前記第2座標空間における前記表面と前記画像との間の交差を決定することを含む
ことを特徴とする請求項22に記載の方法。
【請求項24】
前記シンボル割り当ての信頼スコアを決定するステップ
を含むことを特徴とする請求項22に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願への相互参照
本出願は、2021年6月25日に出願された「物体にシンボルを割り当てるためのシステム及び方法」と題された米国仮出願第63/215,229号に基づき、その利益を主張し、優先権を主張するものであり、あらゆる目的のためにその全体が参照により本明細書に援用される。
【0002】
連邦政府の後援による研究に関する声明
該当なし
【0003】
本技術は、物体又はシンボル(例えば、バーコード)の画像を取得及び分析するように構成されたマシンビジョンシステムを含む撮像システムに関する。
【背景技術】
【0004】
マシンビジョンシステムは一般に、物体やシンボルの画像をキャプチャし、その画像を分析して物体を識別したり、シンボルを解読したりするのに使用するように構成されている。従って、マシンビジョンシステムは、一般に、画像取得及び画像処理のための1つ又は複数の装置を含む。従来のアプリケーションでは、これらの装置は、バーコードやテキストなどの撮像されたシンボルをデコードする目的など、画像を取得したり、取得した画像を分析したりするために使用できる。状況によっては、マシンビジョン及び他の撮像システムを使用して、対応する撮像装置の視野(field of view(FOV))より大きいかもしれない画像、及び/又は、撮像装置に対して移動しているかもしれない物体の画像を取得することができる。
【発明の概要】
【0005】
実施形態によれば、画像内の物体にシンボルを割り当てる方法は、撮像装置によってキャプチャされた前記画像を受信するステップであって、前記シンボルが前記画像内に位置している、ステップを含む。前記方法は、更に、第1の座標系において、前記画像内の前記物体の3D姿勢を示す姿勢情報に対応する1つ又は複数の点の3次元(3D)位置を受信するステップと、前記物体の前記1つ又は複数の点の前記3D位置を前記画像内の2D位置にマッピングするステップと、前記画像内の前記シンボルの2D位置と前記画像内の前記物体の前記1つ又は複数の点の前記2D位置との関係に基づいて前記シンボルを前記物体に割り当てるステップと、を含む。幾つかの実施形態では、前記マッピングは、前記第1の座標空間内の前記1つ又は複数の点の前記3D位置に基づく。
【0006】
幾つかの実施形態では、前記方法は、前記画像内の前記物体の1つ又は複数の点の前記2D位置に基づいて前記物体の表面を決定するステップと、前記画像内の前記シンボルの前記2D位置と前記物体の前記表面との間の関係に基づいて、前記シンボルを前記物体の前記表面に割り当てるステップと、を更に含んでもよい。幾つかの実施形態では、前記方法は、前記シンボルが複数の画像に関連付けられていると判断するステップと、前記複数の画像の各画像に対する前記シンボルの割り当てを集約するステップと、前記シンボルの前記割り当ての少なくとも1つが前記シンボルの残りの割り当てと異なるかどうかを判断するステップと、を更に含んでもよい。幾つかの実施形態では、前記方法は、前記画像の撮像データに基づいて前記画像内の前記物体のエッジを決定するステップを更に含んでもよい。幾つかの実施形態では、前記シンボル割り当ての信頼スコアを決定するステップを更に含んでもよい。幾つかの実施形態では、1つ又は複数の点の前記3D位置が3Dセンサから受信されてもよい。
【0007】
幾つかの実施形態では、前記方法は、前記複数の物体が前記画像内で重なっているかどうかを判断するステップを更に含んでもよい。幾つかの実施形態では、前記画像は、マージンを備えた第1の境界を持つ前記物体と、第2のマージンを備えた第2の境界を持つ第2の物体と、を含む。前記方法は、前記第1の境界と前記第2の境界が前記画像内で重なるかどうかを決定するステップを更に含んでもよい。幾つかの実施形態では、前記1つ又は複数の点の前記3D位置が第1時間に取得され、前記画像が第2時間に取得される。前記1つ又は複数の点の前記3D位置についての前記画像内の前記2D位置へのマッピングは、前記1つ又は複数の点の前記3D位置を前記第1時間から前記第2時間へマッピングすることを含んでもよい。幾つかの実施形態では、前記姿勢情報は、前記1つ又は複数の点の前記3D位置についての前記画像内の前記2D位置へのマッピングは、前記1つ又は複数の点の前記3D位置を前記第1時間から前記第2時間へマッピングすることを含むことを含んでもよい。幾つかの実施形態では、前記姿勢情報は、点群データを含んでもよい。
【0008】
別の実施形態によれば、画像内の物体にシンボルを割り当てるシステムは、画像をキャプチャするように構成された校正済み撮像装置と、プロセッサデバイスと、を備える。前記プロセッサデバイスは、前記校正済み撮像装置によってキャプチャされた前記画像を受信するステップであって、前記シンボルが前記画像内に位置している、ステップと、第1の座標系において、前記画像内の前記物体の3D姿勢を示す姿勢情報に対応する1つ又は複数の点の3次元(3D)位置を受信するステップと、前記物体の前記1つ又は複数の点の前記3D位置を前記画像内の2D位置にマッピングするステップと、前記画像内の前記シンボルの2D位置と前記画像内の前記物体の前記1つ又は複数の点の前記2D位置との関係に基づいて前記シンボルを前記物体に割り当てるステップと、を行うようにプログラムされている。幾つかの実施形態では、前記マッピングは、前記第1の座標空間内の前記1つ又は複数の点の前記3D位置に基づく。
【0009】
幾つかの実施形態では、前記システムは、前記物体を支持し、輸送するように構成されたコンベヤと、前記コンベヤに結合され、前記コンベヤの動きを測定するように構成された運動測定装置と、を更に備える。幾つかの実施形態では、前記システムは、前記1つ又は複数の点の前記3D位置を測定するように構成された3Dセンサを更に備えてもよい。幾つかの実施形態では、前記姿勢情報は、前記第1の座標空間における前記物体の角を含んでもよい。幾つかの実施形態では、前記姿勢情報は、点群データを含んでもよい。幾つかの実施形態では、前記プロセッサデバイスは、更に、前記画像内の前記物体の1つ又は複数の点の前記2D位置に基づいて前記物体の表面を決定するステップと、前記画像内の前記シンボルの前記2D位置と前記物体の前記表面との間の関係に基づいて、前記シンボルを前記物体の前記表面に割り当てるステップと、を行うようにプログラムされてもよい。幾つかの実施形態では、前記1つのプロセッサデバイスは、更に、前記シンボルが複数の画像に関連付けられていると判断するステップと、前記複数の画像の各画像に対する前記シンボルの割り当てを集約するステップと、前記シンボルの前記割り当ての少なくとも1つが前記シンボルの残りの割り当てと異なるかどうかを判断するステップと、を行うようにプログラムされてもよい。
【0010】
幾つかの実施形態では、前記シンボルに関連付けられた前記画像は複数の物体を含んでよく、前記プロセッサデバイスは、更に、前記複数の物体が前記画像内で重なっているかどうかを判断するステップを行うようにプログラムされてもよい。幾つかの実施形態では、前記画像は、マージンを備えた第1の境界を持つ前記物体と、第2のマージンを備えた第2の境界を持つ第2の物体と、を含んでよい。前記プロセッサデバイスは、更に、前記第1の境界と前記第2の境界が前記画像内で重なるかどうかを決定するステップを行うようにプログラムされている。幾つかの実施形態では、前記シンボルを前記物体に割り当てることは、前記シンボルを表面に割り当てることを含んでもよい。
【0011】
別の実施形態によれば、画像内の物体にシンボルを割り当てる方法は、撮像装置によってキャプチャされた前記画像を受信するステップを含む。前記シンボルが前記画像内に位置している。前記方法は、第1の座標系において、1つ又は複数の物体の3D姿勢を示す姿勢情報に対応する1つ又は複数の点の3次元(3D)位置を受信するステップと、前記物体の前記1つ又は複数の点の前記3D位置を第2座標空間における前記画像内の2D位置にマッピングするステップと、前記第2座標空間における前記画像内の前記物体の前記1つ又は複数の点の前記2D位置に基づいて前記物体の表面を決定するステップと、前記画像内の前記シンボルの2D位置と前記画像内の前記物体の前記1つ又は複数の点の前記2D位置との関係に基づいて前記シンボルを前記表面に割り当てるステップと、を含む。幾つかの実施形態では、前記シンボルを前記表面に割り当てることは、前記第2座標空間における前記表面と前記画像との間の交差を決定することを含んでもよい。幾つかの実施形態では、前記方法は、更に、前記シンボル割り当ての信頼スコアを決定するステップを含んでもよい。幾つかの実施形態では、前記マッピングは、前記第1の座標空間内の前記1つ又は複数の点の前記3D位置に基づく。
【0012】
開示される主題の様々な目的、特徴、及び利点は、同様の参照番号が同様の要素を識別する以下の図面と関連して考慮される場合、開示される主題の以下の詳細な説明を参照することにより、より完全に理解されうる。
【図面の簡単な説明】
【0013】
【
図1A】
図1Aは、本技術の一実施形態による、物体の各面の複数の画像をキャプチャし、物体にシンボルを割り当てるシステムの一例を示す。
【
図1B】
図1Bは、本技術の一実施形態による、物体の各面の複数の画像をキャプチャし、物体にシンボルを割り当てるシステムの一例を示す。
【
図2A】
図2Aは、本技術の一実施形態による、物体の各面の複数の画像をキャプチャし、物体にシンボルを割り当てるシステムの別の例を示す。
【
図2B】
図2Bは、本技術の一実施形態による、
図2Aのシステム内の撮像装置のバンクから取得された画像のセットの例を示す。
【
図3】
図3は、本技術の一実施形態による、物体の各面の複数の画像をキャプチャし、物体にシンボルを割り当てるシステムの別の例を示す。
【
図4】
図4は、開示された主題の幾つかの実施形態による、物体にシンボルを割り当てるシステムの一例を示す。
【
図5】
図5は、開示された主題の幾つかの実施形態による、
図3に示す画像処理装置、サーバ、撮像装置を実現するために使用できるハードウェアの一例を示す。
【
図6A】
図6Aは、本技術の一実施形態による、物体の複数の面の画像を使用して物体にシンボルを割り当てる方法を示す。
【
図6B】
図6Bは、本技術の一実施形態による、複数の物体のうちの1つにシンボルを割り当てるために、画像内の複数の物体の重なり合う表面を解決する方法を示す。
【
図6C】
図6Cは、本技術の一実施形態による、シンボルに対するシンボル割り当て結果を集約する方法を示す。
【
図7】
図7は、本技術の一実施形態による、2つの物体を含む画像の例を示し、少なくとも1つの物体は割り当てられるシンボルを含む。
【
図8A-B】
図8A-Bは、本技術の一実施形態による、重なり合う表面を有する2つの物体を有する画像の例を示し、少なくとも1つの物体は割り当てられるシンボルを含む。
【
図8C】
図8Cは、本技術の一実施形態による、重なり合う表面を有する2つの物体を有する画像の例を示し、少なくとも1つの物体は割り当てられるシンボルを含む。
【
図9】
図9は、本技術の一実施形態による、重なり合う表面を有する2つの物体のうちの1つへのシンボルの割り当てを示す画像の例を示す。
【
図10】
図10は、一実施形態による、画像データを使用することによって、重なり合う表面を有する2つの物体を含む画像内で識別されるシンボルの割り当てを決定する例を示す。
【
図11】
図11は、本技術の一実施形態による、シンボルに対するシンボル割り当て結果を集約する方法を示す。
【
図12A】
図12Aは、画像座標空間と校正ターゲット座標空間との間の変換を見つけるために使用できる工場校正セットアップの一例を示す。
【
図12B】
図12Bは、本技術の一実施形態による、物体の各面の複数の画像をキャプチャし、物体にシンボルを割り当てることを含む工場校正及び現場校正を含む校正プロセスのための座標空間及び他の態様の例を示す。
【
図12C】
図12Cは、本技術の一実施形態による、1つ又は複数の校正ターゲットの異なる位置に関連するフィールド校正プロセスの例を示す。
【
図13A】
図13Aは、物体の各面の複数の画像をキャプチャするシステムに関連付けられた3D座標空間における物体の座標と、撮像装置に関連付けられた2D座標空間における物体の座標との間の対応関係の一例を示す。
【
図13B】
図13Bは、3次元座標空間における物体の座標と2次元座標空間における物体の座標との対応関係の他の例を示す図である。
【
図14】
図14は、一実施形態による、画像内の1つ又は複数の物体の可視表面を決定する例を示す。
【発明を実施するための形態】
【0014】
コンベヤ技術が向上し、物体がより狭いギャップ(つまり、物体間の間隔)を備えたコンベヤ(例えば、ベルトコンベヤ)又は他のコンベヤシステムによって移動されるようになると、撮像装置は、複数の物体を含む単一の画像をキャプチャすることがますます増えている。例として、フォトアイは撮像装置のトリガ周期を制御でき、これにより、特定の物体の画像取得は、物体の前縁(又は他の境界特徴)がフォトアイを横切るときに始まり、物体の後縁(又は他の境界特徴)がフォトアイを横切るときに終了する。関連するコンベヤ上の隣接する物体の間に比較的小さい隙間がある場合、撮像装置は1回のトリガサイクル中に誤って複数の物体をキャプチャする可能性がある。更に、物体上に配置されたシンボル(バーコードなど)は、関連する物体に対する適切な更なるアクションをガイドするためなど、キャプチャされた画像を使用してデコードする必要がある場合がある。従って、どのシンボルがどの物体に関連付けられているかを識別することは重要であるが、キャプチャされた画像内の特定のシンボルにどの物体が対応するかを正確に判断することが困難であるかもしれない。
【0015】
マシンビジョンシステムは複数の撮像装置を含んでもよい。例えば、幾つかの実施形態では、マシンビジョンシステムはトンネル配置(又はシステム)に実装されてよく、これには、撮像装置のそれぞれがコンベヤに対してある角度で配置され、角度のある視野(FOV(field of view))が得られる構造を含んでもよい。トンネルシステム内の複数の撮像装置を使用して、共通のシーンの画像データを取得してもよい。幾つかの実施形態では、共通のシーンは、例えば、テーブルの上やコンベヤの個別のセクションなどの比較的小さな領域を含んでもよい。幾つかの実施形態では、トンネルシステムでは、部分の撮像装置のFOVが重複する場合がある。以下の説明はトンネルシステム又は装置について言及するが、本明細書で説明する画像内の物体にシンボルを割り当てるシステム及び方法は、他のタイプのマシンビジョンシステム装置にも適用できることを理解されたい。
【0016】
図1Aは、本技術の一実施形態による、物体の各面の複数の画像をキャプチャし、物体にシンボルを割り当てるシステム100の一例を示す。幾つかの実施形態では、システム100は、物体(例えば、物体118a、118b)へのシンボルの割り当てを含む、物体118a上のシンボル120など、トンネル102を通って移動する物体(例えば、物体118a、118b)の(例えば、バーコード、二次元(2D)コード、基準マーク(fiducial)、危険物コード、機械可読コードなどの)シンボルを評価するように構成できる。幾つかの実施形態では、シンボル120は、物体118aの上面上の平坦な2Dバーコードであり、物体118a及び118bは、ほぼ直方体の箱である。追加的に又は代替的に、幾つかの実施形態では、撮像される物体には、あらゆる適切な形状が可能であり、物体の上面又はその他の面にある、非ダイレクトパーツマーク(non-direct part mark(DPM))シンボル及びDPMシンボルを含む、あらゆる種類のシンボルとシンボルの位置を撮像して評価できる。
【0017】
図1Aにおいて、物体118a及び118bは、比較的予測可能な連続レート又はエンコーダやその他の運動測定デバイスなどのデバイスによって測定される可変レートで、トンネル102を通って水平方向に物体118a及び118bを移動させるように構成されたコンベヤ116上に配置されている。追加的に又は代替的に、物体は、他の方法(例えば、非線形移動)でトンネル102を通って移動することができる。幾つかの実施形態では、コンベヤ116は、コンベヤベルトを含んでもよい。幾つかの実施形態では、コンベヤ116は、他のタイプの搬送システムから構成することもできる。
【0018】
幾つかの実施形態では、システム100は、撮像装置112及び画像処理装置132を含んでもよい。例えば、システム100は、撮像装置112a、112b、112cを介して代表的に示されている(例えば、トンネル102の部分を実装する)トンネル配置で複数の撮像装置を含むことができ、それぞれに、コンベヤ116の部分を含む、代表的にはFOV114a、114b、114cを介して示される視野(「FOV(field-of-view)」)がある。幾つかの実施形態では、各撮像装置112は、コンベヤの上部又は側面に対して角度を付けて配置することができ(例えば、物体118a及び118bの面上のシンボルの法線方向に対して、又は移動方向に対して、ある角度で)、その結果、FOVが斜めになる。同様に、FOVの一部は、他のFOV(例えば、FOV114a及びFOV114b)と重なってもよい。このような実施形態では、システム100は、物体118a及び/又は118bがコンベヤ116によって移動されるときに、物体118a及び/又は118bの複数の面の1つ又は複数の画像を取得するように構成されてもよい。幾つかの実施形態では、キャプチャされた画像は、各物体上のシンボル(例えば、シンボル120)を識別するために、及び/又はシンボルを各物体に割り当てるために使用されることができ、その後、(必要に応じて)復号化又は分析されてもよい。幾つかの実施形態では、コンベヤ116のギャップ(図示せず)は、コンベヤ116の下に配置された撮像装置又は撮像装置のアレイ(図示せず)を使用して、物体の底面の撮像を容易にすることができる(例えば、2018年4月25日に出願された米国特許出願公開第2019/0333259号に記載されており、その全体が参照により本明細書に援用される)。幾つかの実施形態では、物体の底面からキャプチャされた画像は、物体上のシンボルを識別したり、各物体にシンボルを割り当てたりするために使用することもでき、その後(必要に応じて)デコードできる。尚、3つの撮像装置112からなる2つのアレイが物体118a及び118bの上部を撮像するように示されており、2つの撮像装置112からなる4つのアレイが物体118a及び118bの面を撮像するように示されているが、これは単なる例であり、任意の適切な数の撮像装置を使用して、物体のさまざまな面の画像を取り込むことができる。例えば、各アレイは4つ以上の撮像装置を含んでもよい。更に、撮像装置112は一般に、FOVの方向を変えるためのミラーなしで物体118a及び118bを撮像するように示されているが、これは単なる例であり、1つ又は複数の固定ミラー及び/又は操向可能なミラーを使用して、
図2A~
図3に関して以下に説明するように、1つ又は複数の撮像装置のFOVの方向を変えることができ、これにより、撮像装置とトンネル102内の物体との間の垂直方向又は横方向の距離を短縮することが容易になるかもしれない。例えば、撮像装置112aは、光軸がコンベヤ116に平行になるように配置することができ、1つ又は複数のミラーをトンネル102の上に配置して、撮像装置112aからのFOVをトンネル102内の物体の正面及び上部に向けて方向転換することができる。
【0019】
幾つかの実施形態では、撮像装置112は、任意の適切なタイプの撮像装置を使用して実装されてもよい。例えば、撮像装置112は、エリアスキャンカメラ及び/又はラインスキャンカメラなどの2D撮像装置(例えば、2Dカメラ)を使用して実装されてもよい。幾つかの実施形態では、撮像装置112は、レンズアセンブリと、CCD又はCMOSセンサなどの撮像装置とを含む統合システムであってもよい。幾つかの実施形態では、撮像装置112はそれぞれ、1つ又は複数の画像センサ、少なくとも1つのレンズ構成、及び画像センサに対する計算動作を実行するように構成された少なくとも1つの制御装置(例えば、プロセッサデバイス)を含んでもよい。撮像装置112a、112b、又は112cのそれぞれは、異なる視野(FOV)、関心領域(「ROI」)、又はそれらの組み合わせから画像データを選択的に取得してもよい。幾つかの実施形態では、システム100を利用して、物体の各面の複数の画像を取得することができ、1つ又は複数の画像には複数の物体が含まれてもよい。
図6A~
図6Cに関して以下に説明するように、各面の複数の画像を使用して、画像内のシンボルを画像内の物体に割り当てることができる。物体118は、バーコード、QRコード(登録商標)などの1つ又は複数のシンボルに関連付けられてもよい。幾つかの実施形態では、システム100は、コンベヤ116によって支持される物体の底面(例えば、コンベヤ116上に載っている物体118aの面)の撮像を容易にするように構成することができる。例えば、コンベヤ116は、隙間(図示せず)を設けて実装されてもよい。
【0020】
幾つかの実施形態では、物体118a、118bの間にギャップ122が設けられる。様々な実装では、物体間のギャップのサイズは様々である。幾つかの実装形態では、物体間のギャップは、システム内の物体のすべてのセット間で実質的に同じであることも、システム内の物体のすべてのセットに対して固定の最小サイズを示してもよい。幾つかの実施形態では、システムのスループットを最大化するために、より小さいギャップサイズを使用されてもよい。しかしながら、幾つかの実装形態では、ギャップ(例えば、ギャップ122)のサイズ、及び隣接する物体のセット(例えば、物体118a、118b)の寸法は、特定の物体のシンボルの分析用を含め、撮像装置112によってキャプチャされた結果として得られる画像の有用性に影響を与える可能性がある。幾つかの構成では、撮像装置(例えば、撮像装置112)は、第1の物体上に位置する第1のシンボルが、第2の物体上に位置する第2のシンボルと同じ画像内に現れるような画像を取り込んでもよい。更に、ギャップのサイズが小さい場合、画像内で第1の物体が第2の物体と重なる(つまり、オクルージョン)かもしれない。これは、例えば、ギャップ122のサイズが比較的小さく、第1の物体(例えば、物体118a)が比較的高い場合に起こりうる。このような重複が発生すると、検出されたシンボルが特定の物体に対応するかどうか(つまり、シンボルが物体に対して「オン」(on)又は「オフ」(off)と考えられるべきかどうか)を判断することが非常に困難になることがある。
【0021】
幾つかの実施形態では、システム100は、本明細書ではディメンショナ(dimensioner)又は寸法感知システム(dimension sensing system)とも呼ばれる、三次元(3D)センサ(図示せず)を含むことができ、これは、コンベヤ116上でトンネル102に向かって移動する物体の寸法を測定でき、このような寸法は、1つ又は複数の物体がトンネル102を通って移動するときにキャプチャされる画像内の物体にシンボルを割り当てるプロセスにおいて(例えば、画像処理装置132によって)使用されてもよい。更に、システム100は、コンベヤ116上のトンネル102を通って移動する物体(例えば、物体118a、118b)の物理的な動きを追跡するための装置(例えば、図示しない、エンコーダ又は他の運動測定装置)を含んでもよい。
図1Bは、本技術の一実施形態による、物体の各面の複数の画像をキャプチャし、物体にコードを割り当てるシステムの一例を示す。
図1Bは、トンネルに対する3Dセンサ(又はディメンショナ)及び運動測定装置(例えば、エンコーダ)の配置例を示すシステム140の簡略図を示す。上述したように、システム140は、3Dセンサ(又はディメンショナ)150及び運動測定装置152を含んでもよい。図示の例では、コンベヤ116は、物体118d、118eが1つ又は複数の撮像装置112によって撮像される前に、矢印154で示される方向に沿って物体118d、118eを移動させて3Dセンサ150を通過させるように構成されている。図示の実施形態では、物体118dと118eとの間にギャップ156が設けられており、画像処理装置132は、撮像装置112、3Dセンサ150、及び運動測定装置152と通信可能であってもよい。3Dセンサ(又はディメンショナ)150は、特定の時点で支持構造116によって支持される物体(例えば、物体118d又は118e)の寸法及び/又は位置を決定するように構成されてもよい。例えば、3Dセンサ150は、3Dセンサ150から物体の上面までの距離を決定するように構成することができ、3Dセンサ150に面する表面のサイズ及び/又は向きを決定するように構成することができる。幾つかの実施形態では、3Dセンサ150は、様々な技術を使用して実装することができる。例えば、3Dセンサ150は、3Dカメラを使用して実装できる(例えば、構造化光(structured light)3Dカメラ、連続飛行時間型(continuous time of flight)3Dカメラなど)。別の例として、3Dセンサ150は、レーザ走査システム(例えば、LiDARシステム)を使用して実装することができる。特定の例では、3Dセンサ150は、Cognex Corporationから入手可能な3D-A1000システムを使用して実装することができる。幾つかの実施形態では、3Dセンサ(又はディメンショナ)(例えば、飛行時間(time-of-flight)センサ又はステレオから計算される)は、撮像デバイス(例えば、2Dカメラ)を備えた単一のデバイス又はエンクロージャ内に実装されてもよく、幾つかの実施形態では、(例えば、画像処理装置として利用されてもよい)プロセッサは、3Dセンサ及び撮像装置を備えた装置内に実装されてもよい。
【0022】
幾つかの実施形態では、3Dセンサ150は、システム140の1つ又は複数の部分を参照して定義された座標空間内の物体の各角の3D座標を決定することができる。例えば、3Dセンサ150は、3Dセンサ150を原点として定義されるデカルト座標空間内で少なくともほぼ直方体の形状である物体の8つの角のそれぞれの3D座標を決定することができる。別の例として、別の例として、3Dセンサ150は、コンベヤ116に関して定義された(例えば、コンベヤ116の中心から始まる原点を有する)デカルト座標空間内で少なくともほぼ直方体の形状である物体の8つの角のそれぞれの3D座標を決定することができる。更に別の例として、3Dセンサ150は、(例えば、コンベヤ116に関して定義される、3Dセンサ150に関して定義される、などの)任意の適切なデカルト座標空間内の直方体形状ではない物体の境界ボックス(例えば、8つの角を有する)の3D座標を決定することができる。例えば、3Dセンサ150は、ポリ袋、クッション付き封筒(jiffy mailer)、封筒、シリンダ形状(円柱など)、三角柱、直方体以外の四角柱、五角柱、六角柱、タイヤ(又はトロイドとして近似できる他の形状)などの、任意の適切な非直方体形状の周囲の境界ボックスを識別することができる。幾つかの実施形態では、3Dセンサ150は、物体を直方体形状又は非直方体形状として分類するように構成でき、直方体形状の場合は物体の角を識別し、非直方体形状の場合は直方体境界ボックスの角を識別できる。幾つかの実施形態では、3Dセンサ150は、物体を、(例えば、直方体、円柱、三角柱、六角柱、クッション付き封筒、ポリ袋、タイヤなどの)共通物体のグループ内の特定のクラスに分類するように構成できる。幾つかのそのような実施形態では、3Dセンサ150は、分類された形状に基づいて境界ボックスを決定するように構成することができる。幾つかの実施形態では、3Dセンサ150は、ソフトサイド封筒、(例えば、四つの角がある)ピラミッド型、(例えば、6つの角を有する三角柱、直方体ではない四角柱、10の角を有する五角柱、12の角を有する六角柱などの)その他の角柱などの、非直方体形状の3D座標を決定できる。
【0023】
追加的に又は代替的に、幾つかの実施形態では、3Dセンサ150は、生データ(例えば、点群データ、距離データなど)を、物体の1つ又は複数の点の3D座標を決定できる(例えば、後述する画像処理装置132、1つ又は複数の撮像装置などの)制御装置に提供することができる。
【0024】
幾つかの実施形態では、運動測定装置152(例えば、エンコーダ)は、コンベヤ116及び撮像装置112にリンクされ、コンベヤ116の移動量を示す電子信号を撮像装置112及び/又は画像処理装置132に提供することができ、そして 物体118d、118eは、既知の時間にわたってその上に支持される。これは、例えば、関連する撮像装置(例えば、撮像装置112)の視野に対する物体の計算された位置に基づいて、特定の物体(例えば、物体118d、118e)の画像の取り込みを調整するために役立つかもしれない。幾つかの実施形態では、運動測定装置152は、矢印154の方向に沿ったコンベヤ116の位置を識別するために使用できるパルスカウントを生成するように構成されてもよい。例えば、運動測定装置152は、コンベヤ116上の物体(例えば、物体118d、118e)の位置を識別し追跡するために、画像処理装置132にパルスカウントを提供してもよい。幾つかの実施形態では、運動測定装置152は、コンベヤ116が矢印154の方向に所定の距離(パルスカウント距離)移動するたびに、パルスカウントを増加させることができる。幾つかの実施形態では、物体の位置は、初期位置、パルス数の変化、及びパルス数の距離に基づいて決定できる。
【0025】
図1Aに戻り、幾つかの実施形態では、各撮像装置(例えば、撮像装置112)は、コンベヤ116によって支持される物体(例えば、物体118)の各角の3D位置の撮像装置によってキャプチャされた画像内の2D位置にへのマッピングを容易にするために、(例えば、
図12Aから12Cに関連して以下に説明するように)校正可能である。操向可能なミラーを含む幾つかの実施形態では、そのような校正は、操向可能なミラーを特定の方向に向けて実行することができる。
【0026】
幾つかの実施形態では、画像処理装置132(又は制御装置)は、システム100の様々なコンポーネントの動作を調整することができる。例えば、画像処理装置132は、3Dセンサ(例えば、
図1Bに示される3Dセンサ(又はディメンショナ)150)にコンベヤ116上に位置する物体の寸法を取得させることができ、撮像装置112に各面の画像を取り込ませることができる。幾つかの実施形態では、画像処理装置132は、例えば、操向可能なミラーを制御する、(例えば、物体が撮像装置の視野内にあると予想されるとき)トリガ信号を提供して特定の時間に撮像装置に画像をキャプチャさせる、などによって、各撮像装置の詳細な動作を制御することができる。或いは、幾つかの実施形態では、他の装置(例えば、各撮像装置に含まれるプロセッサ、別個のコントローラ装置など)は、各撮像装置の詳細な動作を制御することができる。例えば、画像処理装置132(及び/又は他の適切な装置)は、各撮像装置及び/又は3Dセンサ(例えば、
図1Bに示される3Dセンサ(又はディメンショナ)150)にトリガ信号を提供することができ、各撮像装置のプロセッサは、トリガに応答して所定の関心領域にわたる事前に指定された画像取得シーケンスを実行するように構成することができる。尚、システム100は、物体の表面を照らすために1つ又は複数の光源(図示せず)を含むこともでき、そのような光源の動作も中央装置(例えば、画像処理装置132)によって調整でき、及び/又は、制御を分散化できる(例えば、撮像装置は1つ又は複数の光源の動作を制御することができ、1つ又は複数の光源に関連付けられたプロセッサは光源の動作を制御することができる、など)。例えば、幾つかの実施形態では、システム100は、単一のトリガイベントの一部としてなど、物体の複数の面の画像を同時に(例えば、同時に又は共通の時間間隔にわたって)取得するように構成することができる。例えば、各撮像装置112は、共通の時間間隔にわたって1つ又は複数の画像のそれぞれのセットを取得するように構成されることができる。追加的に又は代替的に、幾つかの実施形態では、撮像装置112は、単一のトリガイベントに基づいて画像を取得するように構成することができる。例えば、物体118が撮像装置112のFOVに入ったことを判定するセンサ(例えば、接触センサ、存在センサ、撮像装置など)に基づいて、撮像装置112は、物体118の各面の画像を同時に取得することができる。
【0027】
幾つかの実施形態では、各撮像装置112は、コンベヤ116によって支持される物体(例えば、物体118)の特定の面のFOV又は様々なFOVを描写する一組の画像を生成することができる。幾つかの実施形態では、(例えば、コンベヤ上の複数の箱を示す
図13A及び13Bに関連して以下に説明するように)画像処理装置132は、物体118の1つ又は複数の角の3D位置を、各撮像装置によって出力された画像セット内の各画像内の2D位置にマッピングすることができる。幾つかの実施形態では、画像処理装置は、各角の2D位置に基づき、画像のどの部分が各面に関連付けられているかを識別するマスク(例えば、1は特定の面の存在を示し、0は特定の面の不在を示すビットマスク)を生成できる。幾つかの実施形態では、目標物体(物体118aなど)の1つ又は複数の角の3D位置とコンベヤ116上の目標物体118aの前にある物体118c(先行物体)の1つ又は複数の角の3D位置及び/又はコンベヤ116上の目標物体118aの後にある物体118b(後続物体)の1つ又は複数の角の3D位置は、各撮像装置によって出力される画像セット内の各画像内の2D位置にマッピングされてもよい。従って、画像が複数の物体(118a、118b、118c)を捉えている場合、画像内の各物体の1つ又は複数の角を2D画像にマッピングすることができる。
【0028】
幾つかの実施形態では、画像処理装置132は、画像の3D座標空間から画像座標空間への物体の角のマッピング、又は、例えば、複数の平面(例えば、各平面は面に対応し、複数の平面の交差部分はエッジと角を表す)、高さ、幅、奥行きに関連付けられた単一の角の座標、複数のポリゴンなど、面を示すことができるその他の適切な情報に基づいて、画像内のどの物体118がシンボル120を含むかを識別することができる。例えば、取り込まれた画像内のシンボルが物体の角のマッピングされた2D位置内にある場合、画像処理装置132は、画像内のシンボルが物体上にあると判断することができる。別の例として、画像処理装置132は、物体の角の2D位置に基づいて、物体のどの表面にシンボルが含まれているかを識別することができる。幾つかの実施形態では、所与の画像の特定の撮像装置FOVから見える各表面は、どの表面が互いに交差するかに基づいて決定されてもよい。幾つかの実施形態では、画像処理装置132は、2つ以上の物体(例えば、物体の表面)が画像内で重なり合う(すなわち、オクルージョン)ときを識別するように構成されてもよい。一例では、(
図8Aに関して以下で更に説明するように)重なり合う物体は、画像内の物体の表面が互いに交差するか、又は所定のマージンが与えられれば交差するかどうかに基づいて決定されてもよい。幾つかの実施形態では、識別されたシンボルを含む画像に2つ以上の重なり合う物体が含まれる場合、撮像装置のFOVの相対位置及び/又は画像からの2D画像データを使用して、物体の重なり合う表面を解決することができる。例えば、画像の画像データは、画像処理方法を使用して画像内の1つ又は複数の物体のエッジ(又は物体の表面)を決定するために使用され、決定されたエッジを使用して、シンボルが特定の物体上に配置されているかどうかを決定できる。幾つかの実施形態では、画像処理システム132はまた、撮像装置112によってキャプチャされた一組の画像内で識別された一組のシンボル内の各シンボルについてのシンボル割り当て結果を集約して、識別された各シンボルについてのシンボル割り当て結果間に矛盾があるかどうかを判定するように構成されてもよい。例えば、複数の画像で識別されるシンボルの場合、そのシンボルは、そのシンボルが表示される少なくとも1つの画像で異なるように割り当てられるかもしれない。幾つかの実施形態では、競合する割り当て結果を持つシンボルについて、シンボルの割り当て結果に物体が重ならない画像の割り当て結果が含まれる場合、画像処理システム132は、物体が重ならない画像の割り当て結果を選択するように構成されてもよい。幾つかの実施形態では、信頼(confidence)レベル(又はスコア)は、特定の画像のシンボルに対するシンボル割り当てに対して決定されてもよい。
【0029】
上記のように、1つ又は複数の固定ミラー及び/又は操向可能なミラーを使用して、1つ又は複数の撮像装置のFOVを方向転換することができる。これにより、撮像装置とトンネル102内の物体との間の垂直方向又は横方向の距離を短縮することが容易になるかもしれない。
図2Aは、本技術の一実施形態による、物体の各面の複数の画像をキャプチャし、物体にコードを割り当てるシステムの別の例を示す。システム200は、トンネル構成202内に、撮像装置212、214、216、218、220、222の複数のバンクと複数のミラー224、226、228、230を含む。例えば、
図2Aに示される撮像装置のバンクは、左後続バンク212、左先行バンク214、上部後続バンク216、上部先行バンク218、右後続バンク220、及び右先行バンク222を含む。図示の実施形態では、各バンク212、214、216、218、220、222は、物体(例えば、物体208a)の1つ又は複数の面の画像及び物体の1つ又は複数の面の様々なFOVをキャプチャするように構成された4つの撮像装置を含む。例えば、上部先行バンク216及びミラー228は、撮像装置234、236、238、及び240を使用して物体の上面及び背面の画像をキャプチャするように構成されてもよい。図示の実施形態では、撮像装置212、214、216、218、220、222のバンク及びミラー224、226、228、230は、コンベヤ204の上の支持構造242に機械的に結合することができる。尚、バンク撮像装置212、214、216、218、220、222の互いに対する図示の取り付け位置は有利であるかもしれないが、幾つかの実施形態では、物体の異なる面を撮像するための撮像装置は、
図2Aに示す位置に対して再配向することができる(例えば、撮像装置をオフセットさせることができる、撮像装置を面ではなく角に配置することができる、など)。同様に、物体の1つ又は複数の面から画像データを取得するようにそれぞれ構成されたバンクごとに4つの撮像デバイスを使用することに関連する利点があるものの、幾つかの実施形態では、異なる撮像装置の数又は配置、異なる鏡の配置(例えば、操向可能なミラーの使用、追加の固定ミラーの使用など)を使用して、物体の複数の面の画像を取得するように特定の撮像装置を構成することができる。幾つかの実施形態では、撮像装置は、同じシステムに含まれる他の撮像装置に対して重複する取得領域を含む、物体の複数の面の画像を取得する専用にすることができる。
【0030】
幾つかの実施形態では、システム200は、3Dセンサ(又はディメンショナ)206及び画像処理装置232も含む。上記説明したように、複数の物体208a、208b、及び208cがコンベヤ204内に支持され、矢印210によって示される方向に沿ってトンネル202を通って移動することができる。幾つかの実施形態では、撮像装置212、214、216、218、220、222の各バンク(及びバンク内の各撮像装置)は、コンベヤ204によって支持される物体(例えば、物体208a)の特定の面のFOV又は様々なFOVを描写する一連の画像を生成することができる。
図2Bは、本技術の一実施形態による、
図2Aのシステム内の撮像装置のバンクから取得された画像のセットの例を示す。
図2Bにおいて、一連の撮像装置を使用してコンベヤ上の物体(例えば、物体208a)をキャプチャした画像セット260の例が示されている。図示の例では、画像のセットは、撮像装置234、236、238、240とミラー228を使用して物体(例えば、物体208a)の上面及び背面の画像をキャプチャするように構成されている撮像装置216の上部後続バンクによって取得されている(
図2Aに示す)。画像セット260の例はグリッドとして示されており、各列は撮像装置バンクの撮像装置234、236、238、及び240のうちの1つを使用して取得された画像を表す。各行は、第1の物体262(例えば、先行物体)、第2の物体263(例えば、目標物体)及び第3の物体264(例えば、後続物体)が、トンネル(例えば、
図2Aに示すトンネル202)を通って移動するときに、特定の時点で撮像装置234、236、238、及び240のそれぞれによって取得された画像を表す。例えば、行266は、第1の時点でバンク内の各撮像装置によって取得された第1の画像を示し、行268は、第2の時点でバンク内の各撮像装置によって取得された第2の画像を示し、行270は、第3の時点でバンク内の各撮像装置によって取得された第3の画像を示し、行272は、第4の時点でバンク内の各撮像装置によって取得された第4の画像を示し、行272は、第5の時点でバンク内の各撮像装置によって取得された第5の画像を示し、図示の例では、コンベヤ上の第1の物体262と第2の物体263の間及び第2の物体263と第3の物体264の間の隙間のサイズに基づいて、第1の物体262は、第5の画像274内の第2の(又は目標)物体263について取得された第1の画像に現れ、第3の物体264は、第5の画像274内の第2の(又は目標)物体263について取得された画像に現れ始める。
【0031】
幾つかの実施形態では、(例えば、
図12Aから12Cに関連して以下に説明するように)各撮像装置(例えば、撮像装置バンク212、214、216、218、220、222内の撮像装置)を校正することができ、コンベヤ204によって支持される物体(例えば、物体208)の各角の3D位置の撮像装置によってキャプチャされた画像内の2D位置へのマッピングを容易にする。
【0032】
尚、ただし、
図1A~
図2Aは、移動可能な動的支持構造(例えば、コンベヤ116、コンベヤ204)を示すものの、幾つかの実施形態では、静止支持構造は、1つ又は複数の撮像装置によって撮像される物体を支持するために使用されてもよい。
図3は、本技術の一実施形態による、物体の各面の複数の画像をキャプチャし、物体にシンボルを割り当てるシステムの別の例を示す。幾つかの実施形態では、システム300は、複数の撮像装置302、304、306、308、310、及び312を含むことができ、それぞれは、1つ又は複数のイメージセンサ、少なくとも1つのレンズ構成、及びイメージセンサに対して計算操作を実行するように構成される少なくとも1つの制御装置(例えば、プロセッサデバイス)を含むことができる。幾つかの実施形態では、撮像装置302、304、306、308、310、及び/又は312は、操向可能なミラーを含む、及び/又は、操向可能なミラーと関連付けることができる(例えば、2020年10月13日に出願された米国特許出願第17/071,636号に記載されており、その全体が参照により本明細書に援用される)。撮像装置302、304、306、308、310、及び/又は312のそれぞれは、関連する操向可能ミラーの異なる方向に対応して、異なる視野(FOV)から画像データを選択的に取得することができる。幾つかの実施形態では、システム300を利用して、物体の各面の複数の画像を取得することができる。
【0033】
幾つかの実施形態では、システム300は、画像取得のために提示された複数の物体の画像を取得するために使用することができる。例えば、システム300は、撮像装置302、304、306、308、310、312のそれぞれを支持する支持構造と、撮像される1つ又は複数の物体318、334、336を支持するように構成されたプラットフォーム316とを含むことができる(尚、各物体318、334、336は、バーコード、QRコード(登録商標)などの1つ以上のシンボルに関連付けられてもよい。)。例えば、1つ又は複数のロボットアーム(例えば、ロボットビンピッカー(robot bin picker))を含む搬送システム(図示せず)を使用して、(例えば、ビン又は他のコンテナ内の)複数の物体をプラットフォーム316上に配置してもよい。幾つかの実施形態では、支持構造はケージ型支持構造として構成することができる。しかしながら、これは単なる一例であり、支持構造は様々な構成で実現することができる。幾つかの実施形態では、支持プラットフォーム316は、支持プラットフォーム316によって支持される1つ又は複数の物体の底面(例えば、プラットフォーム316上に接する、物体(例えば、物体318、334、又は336)の面)の撮像を容易にするように構成されてもよい。例えば、支持プラットフォーム316は、透明なプラットフォーム、メッシュ又はグリッドプラットフォーム、オープンセンタープラットフォーム、又は任意の他の適切な構成を使用して実装することができる。支持プラットフォーム316の存在を除けば、底面の画像の取得は、物体の他の面の取得と実質的に同様であることができる。
【0034】
幾つかの実施形態では、撮像装置302、304、306、308、310、及び/又は312は、撮像装置のFOVを使用して支持プラットフォーム316上に置かれた物体の特定の面の画像を取得できるように配向することができ、これによって、支持プラットフォーム316上に配置され、支持プラットフォーム316によって支持された物体(例えば、物体318)の各面が、撮像装置302、304、306、308、310、及び/又は312によって撮像されてもよい。例えば、撮像装置302は、支持プラットフォーム316上の支持構造に機械的に結合することができ、支持プラットフォーム316の上面に向けて配向することができ、撮像装置304は、支持プラットフォーム316の下の支持構造に機械的に結合することができ、撮像装置306、308、310、及び/又は312はそれぞれ、支持構造の側面に機械的に結合することができ、これにより、撮像装置306、308、310、及び/又は312のそれぞれのFOVが支持プラットフォーム316の側面(lateral side)に面する。
【0035】
幾つかの実施形態では、各撮像装置は、(例えば、操縦可能なミラーが中立位置にあるとき)他の1つの撮像装置と略平行であり、それ以外の撮像装置に対して垂直な光軸を有するように構成することができる。例えば、撮像装置302及び304は、(例えば、撮像装置が実質的に平行な光軸を有するように)互いに向かい合うように構成することができ、他の撮像装置は、撮像装置302及び304の光軸と直交する光軸を有するように構成することができる。
【0036】
尚、撮像装置302、304、306、308、310、及び312のそれぞれに対する図示の取り付け位置は有利でありうるものの、幾つかの実施形態では、物体の異なる面を撮像するための撮像装置は、
図3に示す位置に対して再配向することができる(例えば、撮像装置をオフセットさせることができ、撮像装置を面ではなく角に配置することができる、など)。同様に、一方、それぞれが物体のそれぞれの面(例えば、物体118の6つの面)から画像データを取得するように構成された6つの撮像装置を使用することに関連する利点(例えば、取得速度の向上)が存在しうるものの、幾つかの実施形態では、撮像装置の異なる数又は配置、ミラーの異なる配置(例えば、固定ミラーの使用、追加の可動ミラーの使用など)を使用して、物体の複数の面の画像を取得するように特定の撮像装置を構成することができる。例えば、撮像装置306及び310が物体318の裏側の画像をキャプチャできるように配置された固定ミラーを、撮像装置308及び312の代わりに使用することができる。
【0037】
幾つかの実施形態では、システム300は、プラットフォーム316上の複数の物体318、334、336のそれぞれを画像化するように構成されてもよい。しかしながら、物体のうちの1つ(例えば、物体318)の撮像中に、プラットフォーム316上に複数の物体(例えば、物体318、334、336)が存在することにより、特定の物体のシンボルの分析を含め、撮像装置302、304、306、308、310、及び/又は312によって取り込まれた結果として得られる画像の有用性に影響を与える可能性がある。例えば、撮像装置306が物体318の1つ以上の表面の画像をキャプチャするために使用されるとき、物体334及び336(例えば、物体334及び336の1つ又は複数の表面)は、画像内に現れ、撮像装置306によってキャプチャされた画像内の物体318と重なってもよい。従って、検出されたシンボルが特定の物体に対応するかどうか(つまり、シンボルが物体にある、又は、ない("or" or "off")かについて)を判断するのは難しい場合がある。
【0038】
幾つかの実施形態では、システム300は、3Dセンサ(又はディメンショナ)330を含むことができる。
図1A、1B、及び2Aに関して上記説明したように、3Dセンサは、支持構造316によって支持される物体(例えば、物体318、334、又は336)の寸法及び/又は位置を決定するように構成されることができる。上述のように、幾つかの実施形態では、3Dセンサ330は、システム300の1つ又は複数の部分を参照して定義された座標空間内の物体の各角の3D座標を決定することができる。例えば、3Dセンサ330は、3Dセンサ330を原点として定義されたデカルト座標空間内で、少なくともほぼ直方体である物体の8つの角のそれぞれの3D座標を決定することができる。他の例として、3Dセンサ330は、支持プラットフォーム316に関して定義された(例えば、支持プラットフォーム316の中心を起点とする原点を有する)デカルト座標空間内で、少なくともほぼ直方体である物体の8つの角のそれぞれの3D座標を決定できる。更に他の例として、3Dセンサ330は、(例えば、支持プラットフォーム316に関して定義される、3Dセンサ330に関して定義される、などの)適切なデカルト座標空間内で、直方体形状ではない物体の(例えば、8つの角を有する)境界ボックスの3D座標を決定することができる。例えば、3Dセンサ330は、ポリ袋、クッション付き封筒(jiffy mailer)、封筒、シリンダ形状(円柱など)、三角柱、直方体以外の四角柱、五角柱、六角柱、タイヤ(又はトロイドとして近似できる他の形状)などの、任意の適切な非直方体形状の周囲の境界ボックスを識別することができる。幾つかの実施形態では、3Dセンサ330は、物体を直方体形状又は非直方体形状として分類するように構成でき、直方体形状の場合は物体の角を識別し、非直方体形状の場合は直方体境界ボックスの角を識別できる。幾つかの実施形態では、幾つかの実施形態では、3Dセンサ330は、物体を、(例えば、直方体、円柱、三角柱、六角柱、クッション付き封筒、ポリ袋、タイヤなどの)共通物体のグループ内の特定のクラスに分類するように構成できる。幾つかのそのような実施形態では、3Dセンサ330は、分類された形状に基づいて境界ボックスを決定するように構成することができる。幾つかの実施形態では、3Dセンサ330は、(例えば、四つの角がある)ソフトサイド封筒、ピラミッド型、(例えば、6つの角を有する三角柱、直方体ではない四角柱、10の角を有する五角柱、12の角を有する六角柱など)その他の角柱などの、非直方体形状の3D座標を決定できる。
【0039】
追加的に又は代替的に、幾つかの実施形態では、3Dセンサ(又はディメンショナ)330は、生データ(例えば、点群データ、距離データなど)を、物体の1つ又は複数の点の3D座標を決定できる(例えば、後述する制御装置332、1つ又は複数の撮像装置などの)制御装置に提供することができる。
【0040】
幾つかの実施形態では、(例えば、
図12A~
図12Cに関連して以下に説明するように)各撮像装置(例えば、撮像装置302、304、306、308、310、及び312)を校正することができ、支持プラットフォーム316によって支持される物体(例えば、物体318)の各角の3D位置を特定の方向において操向可能を使ってミラー撮像装置によってキャプチャされた画像内の2D位置にマッピングすることを容易にする。
【0041】
幾つかの実施形態では、画像処理装置332は、撮像装置302、304、306、308、310、及び/又は312の動作を調整することができ、及び/又は、
図1Aの画像処理装置132及び/又は
図4に関連して以下で説明する画像処理装置410に関連して上述したように画像処理タスクを実行することができる。例えば、画像処理装置332は、例えば、シンボルに関連付けられた画像の3D座標空間から2D画像座標空間への物体の3D角のマッピングに基づいて、画像内のどの物体がシンボルを含むかを識別することができる。
【0042】
図4は、本技術の一実施形態による、物体の複数の面の画像を生成するシステムの例400を示す。
図4に示すように、画像処理装置410(例えば、画像処理装置132)は、複数の撮像装置402(例えば、
図1Aに関連して上述した撮像装置112a、112b、及び112c、
図2A~
図2Bに関連して上述した撮像装置バンク212、214、216、218、220、222内の撮像装置、及び/又は
図3に関連して上述した撮像装置302、304、306、308、310、312)から、画像及び/又は各画像に関する情報(例えば、画像に関連付けられた2D位置)を受信することができる。更に、画像処理装置410は、撮像装置402によって撮像された物体に関する寸法データを、寸法感知システム412(例えば、3Dセンサ(又はディメンショナ)150、3Dセンサ(又はディメンショナ)206、3Dセンサ(又はディメンショナ)330)から受信することができ、寸法感知システム412は、画像処理装置410にローカルに接続されてもよく、及び/又は、ネットワーク接続を介して(例えば、通信ネットワーク408を介して)接続されてもよい。画像処理装置410は、物体が移動した距離を決定するために使用できる、特定の期間(例えば、寸法が決定されてから物体の各画像が生成されるまでの間)にわたるコンベヤの動きを示す値を出力するように構成されたエンコーダ(図示せず)などの、他の任意の適切な運動測定装置から入力を受信することもできる。画像処理装置410はまた、物体を照明するように構成された1つ又は複数の光源(図示せず)(例えば、フラッシュ、投光器など)などの1つ又は複数の他の装置の動作を調整することもできる。
【0043】
幾つかの実施形態では、画像処理装置410は、シンボル割り当てシステム404の少なくとも一部を実行して、物体の面に関連付けられた画像のグループを使用して物体にシンボルを割り当てることができる。追加的に又は代替的に、画像処理装置410は、任意の適切な技術又は技術の組み合わせを使用して撮像装置402によって撮像された物体に関連付けられるシンボル(例えば、バーコード、QRコード(登録商標)、テキストなど)を、シンボル復号化システム406の少なくとも部分を実行して、識別及び/又は復号することができる。
【0044】
幾つかの実施形態では、画像処理装置410は、シンボル割り当てシステム404の少なくとも一部を実行して、本明細書で説明されるメカニズムを使用して物体にシンボルをより効率的に割り当てることができる。
【0045】
幾つかの実施形態では、画像処理装置410は、画像データ(例えば、撮像装置402から受信した画像)及び/又は寸法感知システム412から受信したデータを、通信ネットワーク408を介してサーバ420に通信することができ、サーバ420は、画像アーカイブシステム424及び/又はモデルレンダリングシステム426の少なくとも部分を実行することができる。幾つかの実施形態では、幾つかの実施形態では、サーバ420は、画像アーカイブシステム424を使用して、画像処理装置410から受信した画像データを保存することができる(例えば、物体が損傷していると報告された場合の検索及び検査のために、シンボル復号化システム406によって読み取れなかったシンボルを復号化する試みや、物体に関連付けられたテキストから情報を抽出する試みなどの更なる分析のため)。追加的に又は代替的に、幾つかの実施形態では、サーバ420は、モデルレンダリングシステム426を使用して、ユーザに提示する物体の3Dモデルを生成することができる。
【0046】
幾つかの実施形態では、画像処理装置410及び/又はサーバ420は、デスクトップコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、ウェアラブルコンピュータ、サーバーコンピュータ、物理コンピューティングデバイスによって実行される仮想マシンなどの任意の適切なコンピューティング装置又は装置の組み合わせであることができる。
【0047】
幾つかの実施形態では、撮像装置402は、任意の適切な撮像装置とすることができる。例えば、それぞれは、少なくとも1つのイメージングセンサ(例えば、CCDイメージセンサ、CMOSイメージセンサ、又は他の適切なセンサ)、少なくとも1つのレンズ配置、及びメージングセンサに関する計算操作を実行するように構成された少なくとも1つの制御装置(例えば、プロセッサデバイス)を含む。幾つかの実施形態では、レンズ構成には固定焦点レンズを含めることができる。追加的に又は代替的に、レンズ構成は、液体レンズ又は機械的に調整される既知のタイプのレンズなどの調整可能な焦点レンズを含むことができる。追加的に、幾つかの実施形態では、撮像装置302は、撮像装置のFOVの方向を調整するために使用できる操向可能なミラーを含むことができる。幾つかの実施形態では、1つ又は複数の撮像装置402は、FOV内の物体を照明するように構成される光源(例えば、米国特許出願公開第2019/0333259号に記載の、フラッシュ、高輝度フラッシュ、光源など)を含むことができる。
【0048】
幾つかの実施形態では、寸法感知システム412は、任意の適切な寸法感知システムとすることができる。例えば、寸法感知システム412は、3Dカメラ(例えば、構造化光(structured light)3Dカメラ、連続飛行時間型(continuous time of flight)3Dカメラなど)を使用して実装することができる。他の例として、寸法感知システム412は、レーザ走査システムを使用して実装できる(例えば、LiDARシステム)。幾つかの実施形態では、寸法感知システム412は、任意の適切な座標空間において寸法及び/又は3D位置を生成することができる。
【0049】
幾つかの実施形態では、撮像装置402及び/又は寸法感知システム412は、画像処理装置410に対してローカルであることができる。例えば、撮像装置402は、ケーブル、直接無線リンクなどによって画像処理装置410に接続することができる。他の例として、寸法感知システム412は、ケーブル、直接無線リンクなどによって画像処理装置410に接続することができる。追加的に又は代替的に、幾つかの実施形態では、撮像装置402及び/又は寸法感知システム412は、画像処理装置410からローカル及び/又は遠隔に配置することができ、(例えば、画像データ、寸法、及び/又は位置データなどの)データを通信ネットワーク(例えば、通信ネットワーク408)を介して画像処理装置410(及び/又はサーバ420)に通信することができる。幾つかの実施形態では、1つ又は複数の撮像装置402、寸法感知システム412、画像処理装置410、及び/又は他の任意の適切なコンポーネントは、単一の装置として(例えば、共通のハウジング内に)統合することができる。
【0050】
幾つかの実施形態では、通信ネットワーク408は、任意の適切な通信ネットワーク又は通信ネットワークの組み合わせであることができる。例えば、通信ネットワーク408は、(1つ又は複数の無線ルータ、1つ又は複数のスイッチなどを含むことができる)Wi-Fi(登録商標)ネットワーク、ピアツーピアネットワーク(例えば、Bluetooth(登録商標)ネットワーク)、セルラーネットワーク(例えば、CDMA、GSM、LTE(登録商標)、LTE Advanced、NRなどの適切な規格に準拠する、3Gネットワーク、4Gネットワーク、5Gネットワークなど)、有線ネットワークなどを含むことができる。幾つかの実施形態では、幾つかの実施形態では、通信ネットワーク408は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、公衆ネットワーク(例えば、インターネット)、プライベート又は半プライベートネットワーク(例えば、企業又は大学のイントラネット)、他の適切なタイプのネットワーク、又はネットワークの適切な組み合わせであることができる。
図4に示す通信リンクは、それぞれ、有線リンク、光ファイバリンク、Wi-Fi(登録商標)リンク、Bluetooth(登録商標)リンク、セルラーリンクなどの任意の適切な通信リンク又は通信リンクの組み合わせであることができる。
【0051】
図5は、開示された主題の幾つかの実施形態による、
図4に示す画像処理装置、サーバ、撮像装置を実現するために使用できるハードウェアの例500を示す。
図5は、開示された主題の幾つかの実施形態による、画像処理装置410、サーバ420、及び/又は撮像装置402を実現するために使用できるハードウェアの例500を示す。
図5に示されるように、幾つかの実施形態では、画像処理装置410は、プロセッサ502、ディスプレイ504、1つ又は複数の入力506、1つ又は複数の通信システム508、及び/又はメモリ510を含むことができる。幾つかの実施形態では、プロセッサ502は、中央処理装置(central processing unit(CPU))、グラフィックス処理装置(graphics processing unit(GPU))、特定用途向け集積回路(application specific integrated circuit(ASIC))、フィールドプログラマブルゲートアレイ(field-programmable gate array(FPGA))などの、任意の適切なハードウェアプロセッサ又はプロセッサの組み合わせであることができる。幾つかの実施形態では、ディスプレイ504は、コンピュータモニタ、タッチスクリーン、テレビなどの任意の適切な表示装置を含むことができる。幾つかの実施形態では、ディスプレイ504は省略可能である。幾つかの実施形態では、入力506は、キーボード、マウス、タッチスクリーン、マイクなどの、ユーザ入力を受信するために使用できる任意の適切な入力デバイス及び/又はセンサを含むことができる。幾つかの実施形態では、入力506は省略可能である。
【0052】
幾つかの実施形態では、通信システム508は、通信ネットワーク408及び/又は他の任意の適切な通信ネットワークを介して情報を通信するための任意の適切なハードウェア、ファームウェア、及び/又はソフトウェアを含むことができる。例えば、通信システム508は、1つ又は複数のトランシーバ、1つ又は複数の通信チップ及び/又はチップセットなどを含むことができる。より特定の例では、通信ネットワーク408は、Wi-Fi(登録商標)接続、Bluetooth(登録商標)接続、セルラー接続、イーサネット(登録商標)接続などを確立するために使用できるハードウェア、ファームウェア、及び/又はソフトウェアを含むことができる。
【0053】
幾つかの実施形態では、メモリ510は、例えばプロセッサ502によって、コンピュータービジョンタスクを実行するため、ディスプレイ504を使用してコンテンツを提示するため、通信システム508などを介してサーバ420及び/又は撮像装置402と通信するために使用できる命令、値などを記憶するために使用できる任意の適切な記憶装置を含むことができる。メモリ510は、任意の適切な揮発性メモリ、不揮発性メモリ、ストレージ、又はそれらの任意の適切な組み合わせを含むことができる。例えば、メモリ510は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、電子的に消去可能なプログラマブル読み取り専用メモリ(EEPROM)、1つ又は複数のフラッシュドライブ、1つ又は複数のハードディスク、1つ又は複数のソリッドステートドライブ、1つ又は複数の光学ドライブなどを含むことができる。幾つかの実施形態では、メモリ510には、画像処理装置410の動作を制御するためのコンピュータプログラムを符号化することができる。例えば、そのような実施形態では、プロセッサ502は、コンピュータプログラムの少なくとも部分を実行して、物体の表面を描写する合成画像を生成し、画像データをサーバ420に送信し、1つ又は複数のシンボルを復号するなどすることができる。他の例として、プロセッサ502は、コンピュータプログラムの少なくとも部分を実行して、シンボル割り当てシステム404及び/又はシンボル復号化システム406を実装することができる。更に別の例として、プロセッサ502は、
図6A、6B、及び/又は6Cに関連して以下に説明されるプロセス600、630、及び/又は660の少なくとも部分を実行することができる。
【0054】
幾つかの実施形態では、サーバ420は、プロセッサ512、ディスプレイ514、1つ又は複数の入力516、1つ又は複数の通信システム518、及び/又はメモリ520を含むことができる。幾つかの実施形態では、プロセッサ512は、CPU、GPU、ASIC、FPGAなどの任意の適切なハードウェアプロセッサ又はプロセッサの組み合わせであってもよい。幾つかの実施形態では、ディスプレイ514は、コンピュータモニタ、タッチスクリーン、テレビなどの任意の適切な表示装置を含むことができる。幾つかの実施形態では、ディスプレイ514は省略可能である。幾つかの実施形態では、入力516は、キーボード、マウス、タッチスクリーン、マイクなどの、ユーザ入力を受信するために使用できる任意の適切な入力デバイス及び/又はセンサを含むことができる。幾つかの実施形態では、入力516は省略可能である。
【0055】
幾つかの実施形態では、通信システム518は、通信ネットワーク408及び/又は他の任意の適切な通信ネットワークを介して情報を通信するための任意の適切なハードウェア、ファームウェア、及び/又はソフトウェアを含むことができる。例えば、通信システム518は、1つ又は複数のトランシーバ、1つ又は複数の通信チップ、及び/又はチップセットなどを含むことができる。より特定の例では、通信システム518は、Wi-Fi(登録商標)接続、Bluetooth(登録商標)接続、セルラー接続、イーサネット(登録商標)接続などを確立するために使用できるハードウェア、ファームウェア、及び/又はソフトウェアを含むことができる。
【0056】
幾つかの実施形態では、メモリ520は、例えばプロセッサ512によって、ディスプレイ514を使用してコンテンツを提示するため、1つ又は複数の画像処理装置410と通信するためなどに使用できる命令、値などを記憶するために使用できる任意の適切な記憶装置を含むことができる。メモリ520は、任意の適切な揮発性メモリ、不揮発性メモリ、ストレージ、又はそれらの任意の適切な組み合わせを含むことができる。例えば、メモリ520は、RAM、ROM、EEPROM、1つ又は複数のフラッシュドライブ、1つ又は複数のハードディスク、1つ又は複数のソリッドステートドライブ、1つ又は複数の光ドライブなどを含むことができる。幾つかの実施形態では、メモリ520には、サーバ420の動作を制御するためのサーバプログラムがエンコードされて保持されることができる。例えば、そのような実施形態では、プロセッサ512は、画像処理装置410(例えば、物体に関連付けられたシンボルからデコードされた値など)、画像装置402、及び/又は寸法感知システム412からデータを受信し、及び/又は、シンボル割り当てを保存することができる。他の例として、プロセッサ512は、コンピュータプログラムの少なくとも部分を実行して、画像アーカイブシステム424及び/又はモデルレンダリングシステム426を実装することができる。更に別の例として、プロセッサ512は、
図6A、6B、及び/又は6Cに関連して以下に説明するプロセス600、630、及び/又は660の少なくとも部分を実行することができる。尚、
図5には示されていないが、サーバ420は、画像処理装置410を使用して実装されるそのようなシステムに加えて、又はその代わりに、シンボル割り当てシステム404及び/又はシンボル復号化システム406を実装することができる。
【0057】
図6Aは、本技術の一実施形態による、物体の複数の面の画像を使用して物体にシンボルを割り当てるプロセス600を示す。ブロック602で、プロセス600は、1つ又は複数の画像のセットから識別されたシンボルのセットを受信することができる。例えば、上述したように、例えばシステム100、200、又は300を使用して1つ又は複数の物体から取得した画像を分析して、各画像内の任意のシンボルを識別し、識別されたシンボルを復号することができる。幾つかの実施形態では、識別されたシンボルのセット(リストなど)が生成されてよく、識別された各シンボルは、そのシンボルが識別された画像、画像をキャプチャするために使用される撮像装置、シンボルが識別された画像内のシンボルの2D位置と関連付けられてもよい。ブロック604で、識別されたシンボルのセット内の各シンボルに対して、プロセス600は、3D位置を決定するために使用されるデバイスに関連付けられたトンネル座標空間、及び/又は、物理空間(例えば、
図1Aのコンベヤ116、
図2Aのコンベヤ204、又は
図3の支持プラットフォーム316などのコンベヤ)に基づいて定義されたトンネル座標空間内において、物体の3D姿勢に対応する(例えば、角に対応する)点の3D位置を受け取ることができる。例えば、
図1B、2A、及び3に関連して上述したように、3Dセンサ(例えば、3Dセンサ(又はディメンショナ)150、206、330)は、対応する画像がキャプチャされたとき、及び/又は、物体が特定の場所(例えば、3Dセンサに関連付けられた場所)にあるとき、特定の時点において物体の角の位置を決定することができる。従って、幾つかの実施形態では、角の3D位置は、画像が撮像装置によってキャプチャされた特定の時点又は特定の位置に関連付けられる。別の例として、3Dセンサ(例えば、3Dセンサ(又はディメンショナ)150)は、物体の3D姿勢を示すデータを生成することができ、データ(例えば、点群データ、物体の高さ、物体の幅など)をプロセス600に提供することができ、これにより、物体の1つ以上の点の3D位置を決定できる。幾つかの実施形態では、物体の角に対応する点の3D位置は、物体の3D姿勢を示す情報となりうる。例えば、座標空間内の物体の3D位置は、物体の角に対応するその座標空間内の点の3D位置に基づいて決定できる。以下の
図6A~11の説明は仏体の角に対応する点の位置を参照するが、3D姿勢を示す他の情報(例えば、点群データ、物体の高さなど)が使用されてもよいことに留意すべきである。
【0058】
幾つかの実施形態では、3D位置は、3D位置を測定したデバイスに関連付けられた座標空間内の位置であってよい。例えば、
図1B~
図2Aに関連して上述したように、3D位置は3Dセンサに関連付けられた(例えば、原点が3Dセンサ(又はディメンショナ)に位置する)座標空間で定義できる。別の例として、
図1B~2Aに関連して上記説明したように、3D位置は、動的サポート構造(例えば、コンベヤ116、204などのコンベヤ)に関連付けられた座標空間で定義できる。このような例では、3Dセンサによって測定された3D位置は、測定が行われた特定の時間、及び/又は動的支持構造に沿った特定の位置に関連付けることができる。幾つかの実施形態では、物体の画像がキャプチャされたときの物体の角の3D位置は、初期の3D位置、測定が行われてからの経過時間、及び経過時間中の物体の速度に基づいて導出することができる。追加的に又は代替的に、物体の画像がキャプチャされたときの物体の角の3D位置は、初期3D位置と、測定が行われてから物体が移動した距離(例えば、コンベヤの動きを直接測定する、
図1Bに示す運動測定装置152などの運動測定装置を使用して記録される)に基づいて導き出すことができる。
【0059】
幾つかの実施形態では、プロセス600は、物体の3D姿勢を示す生データ(例えば、点群データ、物体の高さ、物体の幅など)を受信することができ、生データを使用して物体の3D姿勢や物体についての1つ又は複数の特徴の位置(例えば、コーナー、エッジ、表面など)を決定できる。例えば、プロセス600は、2022年5月17日に発行され、その全体が参照により本明細書に援用される、米国特許第11,335,021号に記載されている技術を利用して、物体の3D姿勢を示す生データから、(例えば、直方体物体、ポリ袋、封筒、クッション付き封筒(jiffy mailer)、及び直方体として近似できる物体について)物体の3Dポーズ、及び/又は、物体の1つ又は複数の特徴の位置を決定することができる。別の例として、プロセス600は、2022年5月12日に公開され、その全体が参照により本明細書に援用される米国特許出願公開第2022/0148153号に記載されている技術を利用して、物体の3D姿勢を示す生データから、(例えば、円筒形及び球形の物体について)物体の3D姿勢、及び/又は、物体の1つ又は複数の特徴の位置を決定する。
【0060】
ブロック606で、シンボルに関連付けられた画像内の物体ごとに、プロセス600は、トンネル座標空間内の物体の3D姿勢に対応する点の各3D位置(例えば、コーナーの各3D位置)を画像に関連付けられた撮像デバイスの画像座標空間内の2D位置(及び/又はFOV角度)にマッピングすることができる。例えば、
図12A~
図13Bに関連して以下に説明するように、各コーナーの3D位置は、特定の時間に特定のFOVで撮像デバイスによってキャプチャされた画像内の2D位置にマッピングできる。前述したように、各撮像装置は(例えば、
図12Aから12Cに関連して以下に説明するように)校正可能であり、物体の各角の3D位置を、シンボルに関連付けられた画像内の2D位置にマッピングすることを容易にする。尚、多くの画像では、(例えば、画像セット260に示すように)各角が画像外にある可能性があり、他の画像では、1つ又は複数の角が画像外にあり、1つ又は複数の角が画像内にある可能性がある。幾つかの実施形態では、複数の物体を含む画像の場合、ブロック604~606で説明されるプロセスを使用して、画像内の各物体(例えば、目標物体と、先行物体及び後続物体の1つ又は複数)の3D角は、画像の画像座標空間内の2D位置にマッピングされてもよい。幾つかの実施形態では、各物体(例えば、先行物体、目標物体、後続物体)の寸法データは、例えばメモリに記憶される。
【0061】
ブロック608で、プロセス600は、(例えば、画像コンテンツを分析せずに)画像に関して、例えば物体の角に対応する点の2D位置に基づいて、各画像の一部を物体の表面と関連付けることができる。例えば、プロセス600は、特定の画像の一部を物体の第1の面(例えば、物体の上部)に対応するものとして識別することができ、特定の画像の別の部分を物体の第2面(例えば、物体の正面)に対応するものとして識別することができる。幾つかの実施形態では、プロセス600は、画像のどの部分(例えば、どのピクセル)が物体の特定の面に対応するかを識別するために、任意の適切な技術又は技術の組み合わせを使用することができる。例えば、プロセス600は、物体の角に関連付けられた2D位置の間に線(例えば、ポリライン)を描くことができ、物体の特定の面に関連付けられた線(例えば、ポリライン)の範囲内に入るピクセルをグループ化することができる。幾つかの実施形態では、画像の一部は、画像内の各物体の表面に関連付けられてもよい。幾つかの実施形態では、各物体のコーナーの2D位置と決定された表面は、画像内で2つ以上の物体が重なっている(つまり、オクルージョン)ときを識別するために使用できる。例えば、所与の画像について特定の撮像装置FOVからどの表面が見えるかは、決定された表面のどれが互いに交差するかに基づいて決定されてもよい。
図14は、一実施形態による、画像内の1つ又は複数の物体の可視表面を決定する例を示す。支持構造1404(例えば、コンベヤ又はプラットフォーム)上に配置された物体1402の各表面について、表面法線及びその対応する3D点、並びに撮像装置1406の光軸及びFOV1408は、撮像装置1406から見える可能性がある物体1402の表面を識別するために使用されてもよい。
図14に示す例では、物体1402が移動方向1432に沿って移動すると、物体1402の背面1410及び左面1412が、後続左撮像装置1406から(例えば、撮像装置1406のFOV1408内で)視認可能となるかもしれない。撮像装置1406から見える可能性のある表面1410、1412のそれぞれについて、ワールド3Dの全表面の頂点によって作成されたポリラインは、撮像装置1406の校正を使用して2D画像にマッピングされてもよい(例えば、ブロック606に関して上述したように)。例えば、物体1402の背面1410については、ワールド3Dの全表面の頂点によって作成されたポリライン1414は、2D画像にマッピングされてもよく、物体1402の左表面1412については、ワールド3Dの全表面の頂点によって作成されたポリライン1416は、2D画像にマッピングされてもよい。2D画像内の全表面の頂点の結果として得られるポリラインは、例えば、完全に2D画像の内側にあることも、部分的に2D画像の内側にあることも、完全に2D画像の外側にあることもある。例えば、
図14において、2D画像における背面全体1410のポリライン1418は、部分的に2D画像の内側にあり、2D画像における左面全体1412のポリライン1420は、部分的に2D画像の内側にある。背面全体1410のポリライン1418と2D画像との交点は、背面1401の画像2D内の可視表面領域1424を識別するために決定されてもよく、左面1412全体のポリライン1420と2D画像との交点は、左面1412の画像2D内の可視表面領域1426を識別するために決定されてもよい。画像2D1424、1426内の可視表面領域は、それぞれ背面1410及び左表面1412など、各可視表面に対応する2D画像の部分である。幾つかの実施形態では、必要に応じて、背面1410の2Dの可視表面領域1424及び左表面1412の2Dの可視表面領域1426は、ワールド3Dにマッピングしなおし、背面1410の3D1428の可視表面領域及び左表面1412の3D1430の可視表面領域を決定してもよい。例えば、2Dで識別された可視表面領域は、ワールド3D(又はボックス3D又は物体の座標空間)にマッピングしなおし、例えば、物体上のシンボルの配置が正しいかどうかを判断するなど、追加の分析を実行する、又は、物体の表面に対してシンボルの位置のメートル測定を行ってもよく、これは、物体のどこにシンボルやラベルを付けるかに関する仕様にベンダーが準拠しているかどうかを確認するために重要である。
【0062】
画像内の1つ又は複数の物体又は物体の表面の1つ又は複数のマッピングされたエッジ(例えば、物体の角に対応する点の3D位置のマッピングから決定される境界)のエラーに対処するため、幾つかの実施形態では、1つ又は複数のマッピングされたエッジは、画像の画像データの内容及び画像を生成するために使用される画像処理技術を使用して決定及びリファインされ(refined)てもよい。マッピングされたエッジのエラーは、例えば、物体の不規則な動き(例えば、コンベヤ上で移動するときに物体が揺れる)、3Dセンサデータ(又はディメンショナデータ、校正のエラーなど)のエラーによって引き起こされるかもしれない。幾つかの実施形態では、物体の画像を分析して、シンボルのエッジへの近接性に基づいてエッジをさらにリファインすることができる。従って、エッジに関連付けられた画像データを使用して、エッジがどこに配置されるべきかを決定することができる。
【0063】
各画像について、ブロック610及び612で、画像内で識別されたシンボルを画像内の物体及び/又は物体の表面に割り当てることができる。ブロック610及び612は、特定の順序で示されているが、幾つかの実施形態では、ブロック610及び612は、
図6Aに示されるものとは異なる順序で実行されてもよく、あるいは、バイパスされてもよい。幾つかの実施形態では、ブロック610で、画像ごとに、画像内で識別されるシンボルは、例えば画像内の1つ以上の物体の角に対応する、点の2D位置に基づいて画像内の物体に割り当てられてもよい。従って、シンボルは、画像内の特定の物体、例えば、シンボルが付加されている画像内の物体に関連付けることができる。例えば、シンボルの位置(例えば、関連する画像内のシンボルの2D位置)が、物体の角の2D位置によって画定される境界の内側にあるか外側にあるかを判定することができる。例えば、シンボルの位置が物体の角の2D位置によって画定される境界内にある場合、識別されたシンボルを物体に割り当てる(又は関連付ける)ことができる。
【0064】
幾つかの実施形態では、ブロック612で、例えば、物体の角に対応する点の2D位置とブロック610で決定された物体の1つ又は複数の表面に基づいて、画像内で識別されたシンボルを画像内の物体の表面に割り当ててもよい。従って、シンボルは、画像内の物体の特定の表面、例えば、コードが貼り付けられる物体の表面に関連付けることができる。例えば、シンボルの位置が物体の表面によって定義された境界の内側にあるか外側にあるかを判定することができる。例えば、シンボルの位置が物体の決定された表面の1つによって定義される境界内にある場合、識別されたシンボルを物体の表面に割り当てる(又は関連付ける)ことができる。幾つかの実施形態では、ブロック612での表面へのシンボルの割り当ては、ブロック610でシンボルが物体に割り当てられた後に実行されてもよい。換言すれば、シンボルは、まずブロック610で物体に割り当てられ、次にブロック612で割り当てられた物体の表面に割り当てられてもよい。幾つかの実施形態では、ブロック612で、最初にシンボルを物体に割り当てることなく、シンボルを表面に直接割り当てられてもよい。このような実施形態では、シンボルが添付される物体は、割り当てられた表面に基づいて決定することができる。
【0065】
幾つかの実施形態では、識別されたシンボルに関連付けられた画像には、重なり合わない2つ以上の物体(又は物体の表面)が含まれる場合がある。
図7は、本技術の一実施形態による、2つの物体を含む画像の例を示し、少なくとも1つの物体は割り当てられるシンボルを含む。
図7において、2つの物体704及び706の画像例702が、(例えば、コンベヤ718などの支持構造に関連付られる)対応する3D座標空間716と、画像802をキャプチャするために使用される撮像装置(図示せず)のFOV714とともに示されている。上記説明したように、第1の物体704及び第2の物体706の角の3D位置は、3D画像座標空間にマッピングされてよく、第1の物体704の境界708(例えば、ポリライン)及び第2の物体706の境界710(例えば、ポリライン)を決定するために使用されてよい。
図7において、シンボル712の2D位置は、物体706の表面の境界710内に入る。従って、シンボル712は、物体706に割り当てられてもよい。
【0066】
幾つかの実施形態では、識別されたシンボルに関連付けられた画像には、重なり合う2つ以上の物体(又は物体の表面)が含まれるかもしれない。
図8A-8Cは、本技術の一実施形態による、重なり合う表面を有する2つの物体を有する画像の例を示し、少なくとも1つの物体は割り当てられるシンボルを含む。幾つかの実施形態では、画像内の2つの物体のそれぞれの少なくとも1つの表面が交差する場合、交差する表面は重なっていると判定される(例えば、
図8B及び8Cに示すように)。幾つかの実施形態では、2つの物体の表面に実際の重なりがない場合(すなわち、表面が交差しない場合(例えば、
図8Aに示すように))、2つの物体の境界(ポリラインなど)がまだ十分に近いため、物体の境界の位置を特定したりマッピングしたりする際にエラーが発生すると、不正確なシンボルが割り当てられる可能性がある。そのような実施形態では、(例えば、物体の不規則な動き、寸法データの誤差、校正の誤差などに起因する)エラーによる境界の位置の不確実性を表す各物体のマッピングされたエッジの周囲にマージンが提供されてもよい。マージンを含む物体の境界が交差する場合、物体(又は物体の表面)は重なっていると定義できる。
図8Aにおいて、2つの物体804及び806の画像例802が、対応する3D座標空間820(例えば、コンベヤ822などの支持構造に関連付けれる)と、画像802をキャプチャするために使用される撮像装置(図示せず)のFOV818とともに示されている。
図8Aにおいて、画像802内の第1の物体804(又は第1の物体の表面)は境界808を有し、画像802内の第2の物体806(又は第2の物体の表面)は境界810を有する。第1の物体804の境界808の周囲のマージンは、線813と線815との間に定義される。第2の物体806の境界810の周囲のマージンは、線812と線814との間に定義される。境界806と境界810は近接しているが、重なっていない。しかし、第1の物体804のマージン(先813及び815によって定義される)及び第2の物体806のマージン(線812及び814によって定義される)は、重なり合う(又は交差する)。従って、第1の物体804と第2の物体806は重なり合っていると判定されてもよい。幾つかの実施形態では、(例えば、
図6Aのブロック610及び612で)識別されたシンボル816は、物体806の表面に初期に割り当てられてもよいが、重なり合う表面は、(例えば、
図6A及び
図6Bのブロック614及び616のプロセスを使用して)追加の技術を使用して更に解決されてもよい。
【0067】
別の例では、
図8Bでは、2つの重なり合う物体832及び834(例えば、物体の2つの重なり合う表面)の画像例830が、(例えば、コンベヤ835などの支持構造に関連付られる)対応する3D座標空間833と、画像830をキャプチャするために使用される撮像装置(図示せず)のFOV831とともに示されている。上記説明したように、第1の物体832及び第2の物体824の角の3D位置は、2D画像座標空間にマッピングされてよく、第1の物体832の境界836(例えば、ポリライン)及び第2の物体834の境界838(例えば、ポリライン)を決定するために使用されてもよい。
図1において、
図8Bでは、第1の物体832の境界836と第2の物体834の境界838が重なり領域840で重なり合っている。識別されたシンボル842の2D位置は、物体834の表面の境界838内にある。更に、シンボル842の2D位置は、物体832の表面の境界836のマージン(図示せず)内にある。しかしながら、(例えば、境界のマッピング又は位置特定におけるエラーのために)、シンボル842は重複領域840内に収まらない。従って、(例えば、
図6Aのブロック610及び612で)シンボル842は、初期に物体834に割り当てられてもよいが、潜在的な限界誤差によって生じる可能性のある曖昧さ、重なり合う表面は、追加の技術を使用してさらに解決できる(例えば、
図6A及び
図6Bのブロック614及び616のプロセスを使用して)。
【0068】
別の例では、
図8Cにおいて、2つの重なり合う物体852及び854(例えば物体の2つの重なり合う表面)の画像例850が、(例えば、コンベヤ866などの支持構造に関連付けられる)対応する3D座標空間864と、画像850をキャプチャするために使用される撮像装置(図示せず)のFOV862とともに示されている。上記説明したように、第1の物体852及び第2の物体854の角の3D位置は、3D画像座標空間にマッピングされてよく、第1の物体852の境界858(例えば、ポリライン)及び第2の物体854の境界860(例えば、ポリライン)を決定するために使用されてもよい。
図8Cにおいて、第1の物体852の表面と第2の物体854の表面は重なっている。識別されたシンボル856の2D位置は、表面852及び854の重なり合う表面(例えば、重なり領域855)の境界内にあり、初期に表面854に割り当てられてよいが(例えば、
図6Aのブロック610及び612において)、重なり合う表面は、追加の技術を使用してさらに解決できる(例えば、
図6A及び
図6Bのブロック614及び616のプロセスを使用して)。
【0069】
図6Aに戻り、ブロック614において、シンボルに関連付けられた画像に、画像内の2つ以上の物体間の重なり合う表面が含まれる場合、重なり合う表面は、例えば、
図6Bに関連して以下で更に説明されるプロセスを使用して、初期シンボル割り当てを識別又は確認するために解決されてもよい。ブロック614で、復号化されたシンボルに関連付けられた画像が、画像内の2つ以上の物体間に重なり合う表面を有さない場合、ブロック617で、シンボル割り当てに対する信頼レベル(又はスコア)が決定されてよい。幾つかの実施形態では、信頼レベル(又はスコア)は、例えば0と1の間、又は0%と100%の間などの値の範囲内に収まるかもしれない。例えば、40%の信頼レベルは、シンボルが物体及び/又は表面に貼り付けられる確率が40%であり、シンボルが物体及び/又は表面に貼り付けられない確率が60%であることを示してもよい。幾つかの実施形態では、信頼レベルは、物体の(例えば、物体の角に対応する)点の2D位置によって画定された境界から又は物体の表面によって定義された境界からシンボルの2D位置がどの程度離れているかを示す正規化された尺度であってもよい。例えば、画像内のシンボルの2D位置が、点の2D位置によって画定される境界又は表面によって定義される境界から遠い場合、信頼レベルはより高くてよく、シンボルの2D位置が、点の2D位置によって画定される境界又は表面によって定義される境界に非常に近い場合、信頼レベルはより低くよい。幾つかの実施形態では、信頼レベルは、1つ又は複数の追加要素に基づいてもよく、1つ又は複数の追加要素は、シンボルの2D位置が、物体の点(例えば、角に対応する)の2D位置によって画定される又は物体の表面によって定義される境界線の内側にあるか外側にあるか、FOV内の様々な物体の境界からシンボルの2D位置までの距離の比率、(
図6Bに関してさらに後述するように)画像内に重なっている物体があるかどうか、及び物体の1つ又は複数のエッジ又は物体の表面をリファインするために使用される画像処理技術、画像の内容に基づいて正しいエッジ位置を見つける技術の信頼性、を含むが、これには限定されない。
【0070】
ブロック617で信頼レベルが決定されるか、重なり合う表面が解決されると(ブロック616)、ブロック618で、そのシンボルが識別されたシンボルのセット内の最後のシンボルであるかどうかが決定される。ブロック618でシンボルが識別されたシンボルのセット内の最後のシンボルではない場合、プロセス600はブロック604に戻る。ブロック618で、シンボルが識別されたシンボルのセット内の最後のシンボルである場合、プロセス600は、識別されたシンボルのセット内に複数回出現する任意の識別されたシンボルを識別することができる(例えば、シンボルは複数の画像で識別されます)。識別されたシンボルのセットに複数回出現する各シンボルについて(例えば、複数の関連イメージが関連付けられている各シンボルについて)、シンボルに対するシンボル割り当て結果はブロック620で集約される。幾つかの実施形態では、集約は、各シンボルのシンボル割り当て結果間に矛盾があるかどうかを判断し(例えば、2つの画像に関連付けられたシンボルの場合、各画像のシンボル割り当て結果は異なる)、競合を解決するために使用できる。集約プロセスの一例については、
図6Cを参照して以下で更に説明する。特定のシンボルに関連付けられた異なる画像間の異なるシンボル割り当て結果は、例えば、不規則な動き(例えば、コンベヤ上で移動するときに物体が揺れる)、寸法データの誤差、校正などによって引き起こされるかもしれない。幾つかの実施形態では、シンボル割り当て結果の集約は、2D画像空間で実行されてもよい。幾つかの実施形態では、シンボル割り当て結果の集約は、3D空間で実行することができる。ブロック622で、シンボル割り当て結果は、例えばメモリに記憶されてもよい。
【0071】
上述したように、識別されたシンボルに関連付けられた画像が、画像内の2つ以上の物体間の重なり合う表面を含む場合、重なり合う表面を解決して、シンボルの割り当てを識別又は確認することができる。
図6Bは、本技術の一実施形態による、複数の物体のうちの1つにシンボルを割り当てるために、画像内の複数の物体の重なり合う表面を解決する方法を示す。ブロック632で、プロセス630は、シンボルの2D位置を、重複領域内の各物体の2D境界及び表面(例えば、ポリライン)と比較する。ブロック634において、シンボルを含む画像をキャプチャするために使用される撮像装置の撮像装置FOVに対する画像内の重なり合う各物体(又は各物体の表面)の位置が識別されてもよい。例えば、どの物体(又は物体表面)が撮像装置のFOV内で前方にあり、どの物体が撮像装置のFOV内で後方にあるかを決定することができる。ブロック636で、重なり(又はオクルージョン)を引き起こす物体は、撮像装置の視野に対する重なり合う物体(又は物体表面)の位置に基づいて決定されてもよい。例えば、 撮像装置FOV内の前方にある物体(又は物体表面)は、遮蔽物体(又は物体表面)として識別されてもよい。ブロック638で、シンボルを遮蔽物体(又は物体表面)に割り当てることができる。
【0072】
シンボルが遮蔽物体(又は物体表面)に割り当てられると、プロセス640は、シンボル割り当ての更なる分析又はリファインを実行できるかどうかを決定することができる。幾つかの実施形態では、シンボルが遮蔽物体(又は物体表面)に割り当てられた後、物体が重なっている画像内のそれぞれのシンボル割り当てに対して更なる分析が実行されてもよい。別の実施形態では、シンボルが遮蔽物体又は物体表面に割り当てられた後は、物体が重なっている画像内のシンボル割り当てについては更なる分析が実行されなくてもよい。幾つかの実施形態では、物体(又は物体表面)の1つ以上のパラメータ及び/又はシンボルの位置が所定の基準を満たす場合、シンボルが遮蔽物体又は物体表面に割り当てられた後、物体が重なっている画像内のシンボル割り当てに対して更なる分析が実行されてもよい。例えば、
図6Bにおいて、ブロック640で、シンボルの2D位置が重複領域の端の所定の閾値内にある場合、ブロック642からブロック646で更なる分析を実行してもよい。幾つかの実施形態では、
図9に示すように、所定の閾値は、(例えば、シンボルの2D位置によって画定される)シンボルの1つ又は複数の境界についての、物体(又は物体の表面)間の重複領域のエッジ又は境界に対する近傍であってもよい。
図9の画像例902では、シンボル912は、所定の閾値(例えば、所定のピクセル数又はmm)よりも第1の物体904と第2の物体906との間の重なり領域908のエッジ910に近い。従って、シンボル割り当てに関してさらなる分析を実行することができる。
図9の画像例914では、シンボル924は、第1の物体916と第2の物体918との間の重複領域920のエッジ922から所定の閾値よりも遠い。従って、シンボル割り当てに関して更なる分析は実行されなくてもよい。
【0073】
幾つかの実施形態では、更なる分析が実行されるとき、ブロック642で、シンボルに関連付けられた画像データと、例えば画像内の物体の3D角などの物体の3D姿勢を示す情報とが取り出される。例えば、1つ又は複数の重なり合う物体の1つ又は複数の境界又はエッジに関連付けられた2D画像データを取得することができる。ブロック644では、画像データの内容及び画像処理技術を使用して、1つ又は複数の重なり合う物体の1つ又は複数のエッジ(例えば、物体の3Dコーナーのマッピングから決定される境界)をリファインしてもよい。例えば、
図10のとおり、2つの重なり合う物体(又は物体表面)1004及び1006を有する画像1002を分析して、重なり合う領域1012のエッジに対するシンボル1014の近接度に基づいて、第1の物体1004のエッジ1016を更にリファインしてもよい。従って、エッジ1016に関連付けられた画像データを使用して、エッジ1016がどこに配置されるべきかを決定してもよい。上記のように、エッジ1016の位置のエラーは、物体1004の3Dコーナー(例えば、3Dコーナー1024、1026、1028、1030)のうちの1つ又は複数、例えば3Dコーナー1028及び1030のマッピングにおけるエラーの結果であってもよい。
図10は、また、画像1002をキャプチャするために使用される撮像装置(図示せず)の、(例えば、コンベヤ1022などの支持構造に関連する)対応する3D座標空間1020及びFOV1018を示す。ブロック646で、1つ又は複数の重複物体の1つ又は複数のエッジの位置が調整されると、例えば、シンボルの位置が物体の角の2D位置によって画定される境界内にある場合、シンボルは画像内の物体に割り当てられるかもしれない。更に、幾つかの実施形態では、信頼レベル(又はスコア)が決定され、シンボル割り当てに割り当てられる。幾つかの実施形態では、信頼レベル(又はスコア)は、例えば0と1の間、又は0%と100%の間などの値の範囲内に収まるかもしれない。例えば、40%の信頼水準は、シンボルが物体及び/又は表面に貼り付けられる確率が40%であり、シンボルが物体及び/又は表面に貼り付けられない可能性が60%であることを示してもよい。幾つかの実施形態では、信頼レベルは、シンボルの2D位置が重複領域の境界からどれだけ離れているかを示す正規化された尺度であってもよく、例えば、画像内のシンボルの2D位置が重複領域の境界(又はエッジ)から遠い場合、信頼レベルはより高くてもよく、シンボルの2D位置が重複領域の境界(又はエッジ)に非常に近い場合、信頼レベルはより低くてもよい。幾つかの実施形態では、信頼レベルは、重なり合う物体のうちの1つ又は複数のエッジの位置をリファインするために使用される画像処理技術及びその技術の信頼レベルに基づいて決定し、画像の内容に基づいて正しいエッジの位置を見つけてもよい。幾つかの実施形態では、信頼レベルは、1つ又は複数の追加要素に基づいてもよく、1つ又は複数の追加要素は、シンボルの2D位置が(例えば、コーナーに対応する)物体の点の2D位置によって画定される境界の内側か外側か、シンボルの2D位置が重複領域の境界の内側か外側か、FOV内の様々な物体の境界からシンボルの2D位置までの距離の比率、及び画像内に重なり合う物体があるかどうかを含むが、これに限定されない。ブロック650で、シンボル割り当て及び信頼レベルは、例えばメモリに記憶されてもよい。
【0074】
図6Bのブロック640で、シンボルの2D位置がオーバーラップ領域のエッジの所定の閾値内にない場合、ブロック632からのシンボル割り当てには、ブロック648で信頼レベル(又はスコア)を割り当ててもよい。上記説明したように、信頼レベル(又はスコア)は、例えば、0と1の間、又は0%と100%の間などの値の範囲内に収まってもよい。幾つかの実施形態では、信頼レベルは、シンボルの2D位置が重複領域の境界からどれだけ離れているかを示す正規化された尺度であってよく、例えば、画像内のシンボルの2D位置が重複領域の境界(又はエッジ)から遠い場合、信頼レベルはより高くてもよく、シンボルの2D位置が重複領域の境界(又はエッジ)に非常に近い場合、信頼レベルはより高くてもよくもよい。上述したように、幾つかの実施形態では、信頼レベルは、1つ又は複数の追加要素に基づいてもよく、1つ又は複数の追加要素は、重なり合う物体の1つ又は複数のエッジの位置を調整するために使用される画像処理技術と、画像の内容に基づいて正しいエッジの位置を見つける技術の信頼性、シンボルの2D位置が、(例えば、コーナーに対応する)点又は物体の2D位置によって画定される境界の内側か外側か、シンボルの2D位置が重複領域の境界の内側か外側か、FOV内の様々な物体の境界からシンボルの2D位置までの距離の比率、及び画像内に重複する物体があるかどうかを含むが、これに限定されない。ブロック650で、シンボル割り当て及び信頼レベルは、例えばメモリに記憶されてもよい。
【0075】
図6Aのブロック620に関して上述したように、識別されたシンボルのセット内で複数回出現する任意の識別されたシンボルに対するシンボル割り当て結果(例えば、シンボルが複数の画像で識別される)は、集計されてよく、例えば、特定のシンボルのシンボル割り当て結果間に矛盾があるかどうかを判断し競合を解決してもよい。
図6Cは、本技術の一実施形態による、シンボルに対するシンボル割り当て結果を集約する方法を示す。ブロック662で、プロセス660は、識別されたシンボルのセット内の任意の反復シンボル、例えば、複数の関連画像を有する各シンボルを識別する。ブロック664で、プロセス660は、繰り返されるシンボルごとに、そのシンボルが現れる各関連画像を識別してもよい。ブロック666で、プロセス660は、繰り返されるシンボルに関連付けられた各画像のシンボル割り当て結果を比較してもよい。ブロック668で、シンボル割り当て結果のすべてが、繰り返されるシンボルに関連付けられた各画像について同じである場合、ブロック678では、繰り返されるシンボルに関連付けられた画像に対する共通のシンボル割り当て結果を、例えばメモリに記憶してもよい。
【0076】
ブロック668で、繰り返されるシンボルに関連付けられた画像のシンボル割り当て結果の中に少なくとも1つの異なるシンボル割り当て結果がある場合、プロセス660は、物体が重ならない画像に関連付けられた割り当て結果が少なくとも1つあるならば(例えば、
図7の画像702を参照)、ブロック670で次のことを決定してもよい。物体が重ならない画像に関連付けられたシンボル割り当て結果が少なくとも1つある場合、プロセス660は、ブロック672で、重なり合う物体のない画像に対するシンボル割り当て結果を選択し、選択されたシンボル割り当て結果は、ブロック678で、例えばメモリに記憶してもよい。
【0077】
ブロック670で、重なり合う物体のない画像に関連付けられた少なくとも1つのシンボル割り当て結果がない場合、プロセス660は、ブロック674で、繰り返されたシンボルに関連付けられた画像に対するシンボル割り当て結果の信頼レベル(又はスコア)を比較してもよい。幾つかの実施形態では、プロセス660はブロック670及び672を含まなくてもよく、繰り返されるシンボル(重なり合う物体を含む画像と含まない画像の両方)に対する集約された割り当て結果すべての信頼水準が比較されてもよい。ブロック676において、幾つかの実施形態では、プロセス660は、繰り返されるシンボルに対するシンボル割り当てとして最も高い信頼レベルを有する割り当てを選択してもよい。ブロック678で、選択されたシンボル割り当ては、例えばメモリに記憶されてもよい。
【0078】
図11は、本技術の一実施形態による、シンボルに対するシンボル割り当て結果を集約する方法を示す。
図11において、画像例1102は、第1の物体1106、第2の物体1108、及び第2の物体1108上のシンボル1112をキャプチャする第1の画像装置(図示せず)のFOV1116を示す。画像例1104は、第1の物体1106、第2の物体1108、及び第2の物体1108上のシンボル1112を捕捉する第2の画像装置(図示せず)のFOV1114を示す。画像1104では、第1の物体1106と第2の物体1108は重なり合わず、画像1102では、第1の物体1106と第2の物体1008は重なり合っている。従って、画像1102及び画像1104は、異なるシンボル割り当て結果をもたらす可能性がある。例えば、境界(又はエッジ)1113は、第1の物体1106の正しい境界を表すことができるが、物体1106の上面のエラーにより、エッジがエッジ1115にマッピングされてもよい。その結果、シンボル1112が間違った物体、つまり第1の物体1106に割り当てられるかもしれない。対照的に、この例では、第1の物体1106と第2の物体1108の表面間の分離により、境界のマッピングにおけるエラーは、画像1104におけるシンボル割り当てに曖昧さを引き起こすことはない。
図6Cに関して上述したように、画像1104は重なり合う物体を含まないため、システムはシンボル1112に対するシンボル割り当てを画像1104から選択することができる。
図11はまた、画像例1102及び1104の対応する3D座標空間1118(例えば、コンベヤ1120などの支持構造に関連付けられた)を示す。
図11の別の例では、画像例1130は、第1の物体1134、第2の物体1136、及び第2の物体1136上のシンボルを捕捉する第1の画像装置(図示せず)のFOV1140を示す。画像例1132は、第1の物体1134、第2の物体1136、及び第2の物体1136上のシンボルを捕捉する第2の画像装置(図示せず)のFOV1138を示す。画像1132では、第1の物体1134と第2の物体1136は重なり合わず、画像1132では、第1の物体1134と第2の物体1136は重なり合っている。従って、画像1130及び画像1132は、異なるシンボル割り当て結果をもたらす可能性がある。
図6Cに関して上述したように、画像1132には重なり合う物体が含まれていないため、システムは、画像1132からシンボルに対するシンボル割り当てを選択してもよい。
図11はまた、画像例1130及び1132の対応する3D座標空間1142(例えば、コンベヤ1144などの支持構造に関連付けられた)を示す。
【0079】
図12Aは、画像座標空間と校正ターゲット座標空間との間の変換を見つけるために使用できる工場校正セットアップ(factory calibration setup)の一例を示す。
図12Aに示すように、撮像装置1202は、3D工場座標空間(Xf、Yf、Zf)内の点を2D画像座標空間(xi、yi)上に投影する画像(例えば、画像808)を生成することができる。3D工場座標空間は、工場座標空間と画像座標空間との間の変換を見つけるために使用される校正ターゲットを支持する支持構造804(固定具と呼ばれることもある)に基づいて定義することができる。
【0080】
一般に、撮像装置1202(例えば、カメラ)を校正する全体的な目標は、物理的な3D座標空間(例えば、ミリメートル単位)と画像の2D座標空間(例えば、ピクセル単位)との間の変換を見つけることである。
図12Aの変換は、単純なピンホールカメラモデルを使用したそのような変換の例である。変換は、(例えば、レンズの歪みを表すため)他の非線形成分が含むことができる。変換は外部パラメータと内部パラメータに分割できる。外部パラメータは、物理的な3D座標空間に対する撮像装置の取り付け位置及び向きに依存する可能性がある。内部パラメータは、内部イメージングデバイスパラメータ(センサやレンズのパラメータなど)に依存する可能性がある。校正プロセスの目標は、これらの内部パラメータと外部パラメータの値を見つけることである。幾つかの実施形態では、校正プロセスは2つの部分に分割できる。1つの部分は工場での校正で実行され、もう1つの部分はフィールドで実行される。
【0081】
図12Bは、技術の実施形態に従った、工場校正及び物体の1つ又は複数の面の複数の画像をキャプチャすることを含むフィールド校正(field calibration)を含む校正プロセスのための座標空間及び他の態様の例を示す。
図12Bに示すように、トンネル3D座標空間(例えば、軸Xt、Yt、Ztを有する
図12Bに示すトンネル3D座標空間)は、支持構造1222に基づいて定義することができる。例えば、
図12Bでは、コンベヤ(例えば、
図1A、1B、及び2Aに関連して上述したように)がトンネル座標空間を定義するために使用され、原点1224がコンベヤに沿った特定の位置にある(例えば、Yt=0がコンベヤに沿った特定の点で画定されている場合、例えば、米国特許出願公開第2021/0125373号に記載されているフォトアイ(photo eye)の位置に基づいて定義された点において、Xt=0がコンベヤの片側で定義され、Zt=0がコンベヤの表面で定義される)。他の例として、トンネル座標空間は、(例えば、
図3に関連して上述したように)静止支持構造に基づいて定義することができる。代替的に、幾つかの実施形態では、トンネル座標空間は、物体の位置を測定するために使用される3Dセンサ(又はディメンショナ)に基づいて定義できる。
【0082】
追加的に、幾つかの実施形態では、校正プロセス(例えば、フィールド校正プロセス)中に、校正を実行するために使用される物体(例えば、物体1226)に基づいて物体座標空間(Xb、Yb、Zb)を定義することができる。例えば、
図12Bに示すように、シンボルは物体(例えば、物体1226)上に配置することができ、各シンボルは物体座標空間内の特定の位置に関連付けられる。
【0083】
図12Cは、本技術の一実施形態による、物体の各側面の複数の画像をキャプチャするシステムに関連付けられた3D座標空間内の物体の座標を撮像装置に関連付けられた2D座標空間内の座標に変換するために使用可能な撮像装置モデルを生成するためのフィールド校正プロセス1230の例を示す。幾つかの実施形態では、撮像装置(例えば、撮像装置1202)は、現場に設置される前に校正することができる(例えば、工場校正を実行することができる)。このような校正は、3D工場座標空間内の点を画像座標空間内の2D点にマッピングするために使用できる初期カメラモデルを生成するために使用でる。例えば、
図12Cに示すように、工場校正プロセスを実行して、3D工場座標空間内の点を画像座標空間内の2D点にマッピングするために内部パラメータとともに使用できる外部パラメータを生成することができる。内部パラメータは、焦点距離、画像センサフォーマット、主点など、撮像装置の画像センサのピクセルを撮像装置の画像面に関連付けるパラメータを表すことができる。外部パラメータは、3Dトンネル座標(例えば、工場校正中に使用されるターゲットによって定義された原点を有する)内の点を3Dカメラ座標(例えば、原点として定義されたカメラ中心を有する)に関連付けるパラメータを表すことができる。
【0084】
3Dセンサ(又はディメンショナ)は、トンネル座標空間内で校正物体(例えば、物体1226など、物体座標空間内の各コードの位置を定義するコードが付加された箱)を測定でき、トンネル座標空間内の位置は、校正物体の画像座標空間内の位置と相関付けることができる(例えば(Xt,Yt,Zt)の座標を(xi,yi)に関連付ける)。このような対応関係を使用して、工場の座標空間とトンネルの座標空間の間の変換を考慮してカメラモデルを更新できる(例えば、トンネル座標空間などの1つの3D座標空間を工場座標空間などの別の3D座標空間に関連付ける3D剛体変換を使用して定義できる、フィールド校正外部パラメータ行列を導出することによって)。フィールド校正外部パラメータ行列は、工場校正中に導出されたカメラモデルと組み合わせて使用して、トンネル座標空間内の点(Xt,Yt,Zt)を画像座標空間内の点(xi,yi)に関連付けることができる。この変換を使用して、3Dセンサによって測定された物体の3D点を物体の画像にマッピングすることができ、画像の内容を分析することなく、特定の表面に対応する画像の部分を決定できる。尚、
図12A、12B、および12Cに示されるモデルは、説明が過度に複雑になるのを避けるために、投影によって引き起こされる歪みを補正するために使用できる簡略化された(例えば、ピンホールカメラ)モデルであり、より洗練されたモデル(例えば、レンズ歪みを含む)を、本明細書で説明する機構と関連して使用することができる。
【0085】
尚、これは単なる例であり、トンネル座標空間と画像座標空間の間の変換を定義するために他の技術を使用できる。例えば、工場出荷時の校正とフィールド校正を実行するのではなく、フィールド校正を使用して、トンネル座標を画像座標に関連付けるモデルを導き出すことができる。ただし、新しい撮像装置を使用するには校正全体を実行する必要があるため、撮像装置の交換がより煩雑になるかもしれない。幾つかの実施形態では、校正ターゲットを使用して撮像装置を校正し、3D工場座標空間と画像座標の間の変換を検出すること、及び、現場で撮像装置を校正して、(例えば、コンベヤ、支持プラットフォーム、又は3Dセンサに関連付けられている)トンネル座標間のマッピングを容易にする変換を見つけることは、フィールドキャリブレーションを繰り返すことなく、撮像デバイスの交換を容易にすることができる。
【0086】
図13A及び13Bは、本技術の一実施形態による、校正ターゲット(又は複数のターゲット)の異なる位置に関連するフィールド校正プロセスの例を示す。
図13Aに示されるように、本明細書で説明されるメカニズムは、コンベヤの形状(又は他の輸送システム及び/又は支持構造)に基づいて指定されたトンネル座標空間で定義される、物体に関連付けられた3D点(例えば、物体の角)を工場校正及びフィールド校正に基づいて生成されたモデルに基づいて、画像座標空間内の点にマッピングすることができる。例えば、
図13Aに示すように、本明細書で説明される機構は、支持構造1322に関してトンネル座標(Xt、Yt、Zt)で定義された箱1328に関連付けられた3D点を、撮像装置(例えば、
図12A及び12Bに示される撮像装置1202)に関連付けられた画像座標空間内の点にマッピングすることができる。幾つかの実施形態では、画像空間の各角の2D点を、撮像デバイスの向きの知識とともに使用して、画像の内容を分析せずに、画像内の各ピクセルを物体の特定の表面(又は面)に関連付けることができる(又は、ピクセルが物体に関連付けられていないと判断することができる)。
【0087】
例えば、
図13Aに示すように、撮像装置(例えば、
図12A及び12Bに示される撮像装置1202)は、(例えば、視野1332で)トンネル座標に関して正面上部の角度から画像(例えば、画像1334)を捕捉するように構成される。このような例では、箱の角の2D位置を使用して、画像の第1部分を箱の「左面」側、第2部分を箱の「前面」側、及び第3部分を箱の「上面」側に自動的に関連付けることができる。
図13Aに示すように、角のうちの2つだけが画像1332内に位置し、他の6つの角は画像の外側にある。撮像装置が物体の上から画像をキャプチャするように構成されているという知識に基づいて及び/又は(例えば、トンネル座標に対する撮像装置の位置及び撮像装置の光軸の決定を容易にする)カメラの校正に基づいて、システムは、先頭の左下角と先頭の左上角が両方とも画像内に表示されていると判断できる。
【0088】
図13Bに示すように、箱1328がコンベヤに沿って距離ΔYt移動した後に撮影された第2画像1336が示されている。上述したように、運動測定装置(例えば、エンコーダ)を使用して、
図13Aに示される第1画像1334がキャプチャされた時と2番目の画像1336がキャプチャされた時との間に箱1328が移動した距離を測定できる。このような運動測定装置(例えば、エンコーダとして実装される)の動作は、米国特許第9,305,231号及び2020年10月26日に出願された、米国特許出願公開第2021/0125373号に記載されており,その全体が参照により本明細書に援用される。移動距離及び3D座標を使用して、箱1328の角に対応する第2画像1336内の2D点を決定することができる。撮像装置は物体の上から画像をキャプチャするように構成されているという知識に基づいて、システムは、後尾の右上角が画像1336に表示されているが、後尾の右下角が箱の上部によって遮られていると判断できる。追加的に、箱の上面は見えるが、背面と右側の面は見えない。
【0089】
幾つかの実施形態では、本明細書で説明される機能及び/又はプロセスを実行するための命令を格納するために、任意の適切なコンピュータ可読媒体を使用することができる。例えば、幾つかの実施形態では、コンピュータ可読媒体は、一時的な場合と非一時的な場合がある。例えば、コンピュータ可読媒体は、磁気メディア(ハードディスク、フロッピーディスクなど)、光学メディア(コンパクトディスク、デジタルビデオディスク、ブルーレイディスクなど)、半導体メディア(RAM、フラッシュメモリ、電気的にプログラム可能な読み取り専用メモリ(electrically programmable read only memory(EPROM))、電気的に消去可能なプログラム可能な読み取り専用メモリ(electrically erasable programmable read only memory(EEPROM))など)、送信中に一時的ではない若しくは永続性がある適切なメディア、及び/又は適切な有形メディアなどの媒体を含むことができる。他の例として、一時的なコンピュータ可読媒体は、送信中に一時的であって永続性がない、ネットワーク、ワイヤ、導体、光ファイバー、回路、又はその他の適切な媒体上の信号、及び/又は、適切な無形メディアを含むことができる。
【0090】
尚、本明細書で使用される場合、機構という用語は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の適切な組み合わせを包含しうる。
【0091】
図6のプロセスの上述のステップは、図に示し説明した順序および順序に限定されず、任意の順序又は順序で実行又は実行できることを理解されたい。また、
図6のプロセスの上記のステップの幾つかは、待ち時間及び処理時間を短縮するために、必要に応じて実質的に同時に又は並行して実行又は実行することができる。
【0092】
本発明は、前述の例示的な実施形態において説明及び図示されてきたが、本開示は例としてのみ行われたものであり、以下の特許請求の範囲によってのみ制限される本発明の精神及び範囲から逸脱することなく、本発明の実施の詳細における多くの変更を行うことができることが理解されるべきである。開示された実施形態の特徴は、様々な方法で組み合わせたり再配置したりすることができる。
【国際調査報告】