JP2021016153A - 走査システムのための自動カメラキャリブレーションを実行する方法及びシステム - Google Patents

走査システムのための自動カメラキャリブレーションを実行する方法及びシステム Download PDF

Info

Publication number
JP2021016153A
JP2021016153A JP2020119858A JP2020119858A JP2021016153A JP 2021016153 A JP2021016153 A JP 2021016153A JP 2020119858 A JP2020119858 A JP 2020119858A JP 2020119858 A JP2020119858 A JP 2020119858A JP 2021016153 A JP2021016153 A JP 2021016153A
Authority
JP
Japan
Prior art keywords
calibration
camera
image
polyhedron
light source
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020119858A
Other languages
English (en)
Other versions
JP7417866B2 (ja
JP2021016153A5 (ja
Inventor
イスラム ラッセル
Islam Russell
イスラム ラッセル
イエ シュタオ
Ye Xutao
イエ シュタオ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mujin Inc
Original Assignee
Mujin Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mujin Inc filed Critical Mujin Inc
Publication of JP2021016153A publication Critical patent/JP2021016153A/ja
Publication of JP2021016153A5 publication Critical patent/JP2021016153A5/ja
Priority to JP2023216330A priority Critical patent/JP2024038029A/ja
Application granted granted Critical
Publication of JP7417866B2 publication Critical patent/JP7417866B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • G06T7/344Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • G06T7/85Stereo camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/246Calibration of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/002Diagnosis, testing or measuring for television systems or their details for television cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/239Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Studio Devices (AREA)

Abstract

【課題】自動カメラキャリブレーションを実行するシステム及び方法を提供する。【解決手段】走査システム100において、第1のカメラ170及び第2のカメラ180と通信し、これらの2つのカメラ間に透明なプラットフォーム150が配置される。コンピューティングシステム110は、プラットフォーム上に配置した3Dキャリブレーションパターンを第1のカメラと第2のカメラで撮影した画像を受信し、画像に基づいて、多面体の角に関する座標を特定する。さらに、座標に基づいて、第1のカメラと第2のカメラとの間の空間的関係を特定することで、3Dキャリブレーションパターン以外の物体の3Dモデルを生成する。【選択図】図1B

Description

本発明は、走査システムのための自動カメラキャリブレーションを実行する方法及びシ
ステムに関する。
物体走査を用いて、物体の形状等の、物体の特徴を特定してきた。物体走査のいくつか
の実施態様は、カメラによって取得された物体の画像に頼る。場合によっては、物体走査
の結果を用いて、物体の3次元(3D)モデルを生成してきた。3Dモデルは、ロボット
が物体とインタラクトする状況等の、オートメーションとの関連において使用される場合
がある。
本明細書における実施形態の一態様は、自動カメラキャリブレーションを実行する方法
、コンピューティングシステム及びそれを実行する命令を有する非一時的コンピューター
可読媒体に関連する。コンピューティングシステムは、通信インターフェース及び制御回
路を備える。通信インターフェースは、(i)第1のカメラ、(ii)第2のカメラ、及
び(iii)透明であり、第1のカメラと第2のカメラとの間に配置されるプラットフォ
ームを回転させるアクチュエーターと通信するように構成され、第1のカメラは、プラッ
トフォームの第1の表面に向けられ、第2のカメラは、プラットフォームの第2の、反対
に面する表面に向けられる。制御回路は、3次元(3D)キャリブレーションパターンが
プラットフォームの第1の表面上に配置されるときに、カメラキャリブレーションを実行
するように構成される。3Dキャリブレーションパターンは、第1の組の面と、第1の組
の面の一部ではない別の面(additional face)とを含む、複数の面を有する多面体を備
え、第1の組の面のそれぞれの面上に配置される第1の組の2Dキャリブレーションパタ
ーンを備える。カメラキャリブレーションは、通信インターフェースを介して第1のカメ
ラから第1の組のキャリブレーション画像を受信することであって、第1の組のキャリブ
レーション画像は、多面体の別の面を取り込むことなく、多面体の第1の組の面を取り込
み、第1の組の面上にそれぞれ配置される第1の組の2Dキャリブレーションパターンを
取り込むことと、通信インターフェースを介して第2のカメラから第2の組の1つ以上の
キャリブレーション画像を受信することであって、第2の組の1つの以上のキャリブレー
ション画像は、多面体の別の面を取り込むこととによって実行される。カメラキャリブレ
ーションは、第1の組の2Dキャリブレーションパターンに基づいて、多面体の別の面の
1組のそれぞれの角を表す第1の組の座標を特定することであって、第1の組の座標は、
第1のカメラの位置及び向きを基準としていることと、第2の組の1つ以上のキャリブレ
ーション画像に基づいて、多面体の別の面の1組のそれぞれの角を表す第2の組の座標を
特定することであって、第2の組の座標は、第2のカメラの位置及び向きを基準としてい
ることとによって更に実行される。カメラキャリブレーションは、第1の組の座標及び第
2の組の座標に基づいて、第1のカメラと第2のカメラとの間の空間的関係を記述する変
換関数を特定することによって更に実行される。制御回路は、カメラキャリブレーション
が実行された後に、3Dキャリブレーションパターン以外の物体がプラットフォームの第
1の表面上に配置されるときに、その物体を表現する3Dモデルを生成するように更に構
成され、3Dモデルは、変換関数に基づいて、通信インターフェースを介して第1のカメ
ラから受信される物体の画像に基づいて、及び、通信インターフェースを介して第2のカ
メラから受信される物体の画像に基づいて生成される。
本発明の上述の特徴、目的、及び利点、並びに他の特徴、目的、及び利点は、添付の図
面に示されるような本発明の実施形態の以下の説明から明らかであろう。本明細書に組み
込まれるとともに本明細書の一部をなす添付の図面は更に、本発明の原理を説明するとと
もに、当業者が本発明を実施及び使用することを可能にする役割を果たす。図面は一定縮
尺ではない。
本明細書における一実施形態による、ロボット運用システムと通信する走査システムのブロック図である。 本明細書における一実施形態による、走査システムの構成要素のブロック図である。 本明細書における一実施形態による、カメラキャリブレーションを実行するように構成されるコンピューティングシステムのブロック図である。 本明細書における一実施形態による、走査システムのブロック図である。 本明細書における一実施形態による、走査システムのブロック図である。 本明細書における一実施形態による、第1のカメラと第2のカメラとの間の空間的関係を特定するための方法を示すフロー図である。 本明細書における一実施形態による、走査システムの例示的な構成要素を示す図である。 本明細書における一実施形態による、3Dキャリブレーションパターンの多面体の面を示す図である。 本明細書における一実施形態による、3Dキャリブレーションパターンの多面体の面を示す図である。 本明細書における一実施形態による、3Dキャリブレーションパターンの一部である2Dキャリブレーションパターンを示す図である。 本明細書における一実施形態による、3Dキャリブレーションパターンの一部である2Dキャリブレーションパターンを示す図である。 本明細書における一実施形態による、3Dキャリブレーションパターンの一部である2Dキャリブレーションパターンを示す図である。 本明細書における一実施形態による、走査システム内の種々の座標系を示す図である。 本明細書における一実施形態による、走査システム内の種々の座標系を示す図である。 本明細書における一実施形態による、第1のカメラによって生成される種々のキャリブレーション画像の例を示す図である。 本明細書における一実施形態による、第1のカメラによって生成される種々のキャリブレーション画像の例を示す図である。 本明細書における一実施形態による、第1のカメラによって生成される種々のキャリブレーション画像の例を示す図である。 本明細書における一実施形態による、第2のカメラによって生成される種々のキャリブレーション画像の例を示す図である。 本明細書における一実施形態による、第2のカメラによって生成される種々のキャリブレーション画像の例を示す図である。 本明細書における一実施形態による、第2のカメラによって生成される種々のキャリブレーション画像の例を示す図である。 本明細書における一実施形態による、第2のカメラによって生成される種々のキャリブレーション画像の例を示す図である。
以下の詳細な説明は、本質的に単に例示のものであり、本発明又は本発明の用途及び使
用を限定することを意図するものではない。さらに、前出の技術分野、背景技術、発明の
概要又は以下の詳細な説明において提示されるいかなる明示された又は暗示された理論に
よっても限定する意図はない。
本明細書に記載される実施形態は、走査システムのためのキャリブレーション動作の一
部として、第1のカメラと第2のカメラとの間の空間的関係を特定することに関連する。
一実施形態において、走査システムは、異なる視点から物体の画像を取得することができ
る複数のカメラを備えることができる。それらの画像を用いて、物体の3Dモデルを生成
することができる。場合によっては、3Dモデルを用いて、ロボットと、物体又はその物
体が属する物体群との間のインラタクションを助長することができる。例えば、物体は、
倉庫内の梱包品とすることができ、物体の3Dモデルは、ロボットアームが梱包品をいか
に持ち上げることができるかを判断するために、ロボット制御システムによって使用され
る場合がある。一実施形態において、走査システムの第1のカメラ及び第2のカメラは、
一般的に重なり合わない物体のそれぞれの領域を視認することができる。例えば、走査シ
ステムは、物体が配置される透明なプラットフォームを含むことができる。第1のカメラ
は、例えば、透明なプラットフォームの上面の上方に配置することができ、第1のカメラ
に物体の斜視図を与える方向に向けることができる。この例において、第2のカメラは、
例えば、透明なプラットフォームの底面の下方にわたって配置することができ、第2のカ
メラに物体の底面図を与える方向に向けることができる。上記の例において、第1のカメ
ラは上部カメラと呼ばれる場合があり、第2のカメラは底部カメラと呼ばれる場合がある
。本明細書における実施形態の一態様は、そのような第1のカメラとそのような第2のカ
メラとの間の空間的関係を特定するキャリブレーション動作に関連する。空間的関係は、
例えば、第1のカメラによって取得される画像を第2のカメラによって取得される画像と
合成する方法を決定するために、後に使用することができる。
一実施形態において、キャリブレーション動作は、透明なプラットフォーム上に配置さ
れる3Dキャリブレーションパターンを用いて実行することができる。3Dキャリブレー
ションパターンは、例えば、多面体と、多面体のそれぞれの面上に配置される複数の2D
キャリブレーションパターンとを含むことができる。場合によっては、キャリブレーショ
ン動作は、3Dキャリブレーションパターン上のそれぞれの位置の第1の組の座標(3D
キャリブレーションパターン上のそれぞれの位置を表す第1の組の座標とも呼ばれる)を
特定することを伴うことができ、第1の組の座標は第1のカメラの位置及び向きを基準と
している。キャリブレーション動作は、当該それぞれの位置に関する第2の組の座標(当
該それぞれの位置を表す第2の組の座標とも呼ばれる)を特定することを更に伴うことが
でき、第2の組の座標は第2のカメラの位置及び向きを基準としている。例えば、それぞ
れの位置は、3Dキャリブレーションパターンの多面体の底面角の位置とすることができ
る。第1のカメラと第2のカメラとの間の空間的関係は、底面角に関する第1の組の座標
と、当該底面角に関する第2の組の座標とに基づいて特定することができる。場合によっ
ては、第1のカメラの位置及び向きは第1のカメラの座標系によって表される場合があり
、第2のカメラの位置及び向きは第2のカメラの座標系によって表される場合がある。そ
のような場合に、第1の組の座標は第1のカメラの座標系内に存在する場合があり、第2
の組の座標は第2のカメラの座標系内に存在する場合がある。
一実施形態において、キャリブレーション動作は、3Dキャリブレーションパターンの
他の位置(例えば、上面角)に関する座標を特定し、3Dキャリブレーションパターンの
単数又は複数の寸法についての既知の情報を用いて、その後、第1の組の座標を特定する
ことによって、3Dキャリブレーションパターン上の位置(例えば、底面角)に関する第
1の組の座標を特定することを伴うことができる。例えば、第1の組の座標が3Dキャリ
ブレーションパターンの多面体の底面角に属する場合には、そのような実施形態は、最初
に、多面体の上面角の1組の座標を特定することと、その後、多面体の各辺の既知のサイ
ズ等の、多面体の既知の寸法だけ多面体の上面角から離間した座標として、多面体の底面
角の第1の組の座標を特定することとを伴うことができる。
一実施形態において、キャリブレーション動作は、3Dキャリブレーションパターンの
3Dモデルを特定することを伴うことができる。場合によっては、3Dモデルは、3Dキ
ャリブレーションパターンの多面体の面によって画定されるか、又はより一般的には、多
面体の面を表す仮想面を記述する情報を含むことができる。すなわち、仮想面は、多面体
の3Dモデルの少なくとも一部を形成することができる。そのような実施形態において、
キャリブレーション動作は、多面体の3Dモデルに基づいて、多面体の特定の角(例えば
、上面の角)の座標を特定することができる。例えば、その角の座標は、多面体の少なく
とも3つの仮想面の交点として特定することができる。
一実施形態において、第2のカメラを用いて3Dキャリブレーションパターンの画像(
それはキャリブレーション画像と呼ばれる場合がある)を生成することは、複数対のキャ
リブレーション画像を生成することを伴うことができ、各対は、多面体の特定の面(例え
ば、底面)のシルエットを取り込む第1のキャリブレーション画像と、その面上に配置さ
れる2Dキャリブレーションパターンを取り込む第2のキャリブレーション画像とを含む
。そのような実施形態において、第2のカメラは、ガラス等の透明材料を通して3Dキャ
リブレーションパターンを視認することができる。ガラスは、光の屈折効果又はキャリブ
レーション画像の中への光の散乱を導入する等によって、撮像誤差の発生源を導入する場
合がある。撮像誤差は、キャリブレーション画像から、多面体の面の角を、又は3Dキャ
リブレーションパターンの何らかの他の特徴を正確に識別する難易度を高める場合がある
。しかしながら、角を識別するために第1のキャリブレーション画像及び第2のキャリブ
レーション画像の両方を使用することによって、撮像誤差の影響を補償することができ、
それにより、キャリブレーション画像から3Dキャリブレーションパターンの角又は他の
特徴を識別することができるロバスト性を高めることができ、キャリブレーション動作の
全体的なロバスト性を高めることができる。
一実施形態において、3Dキャリブレーションパターンの多面体の特定の面のシルエッ
トを取り込む第1のキャリブレーション画像は、第1の照明条件で生成することができる
。第1の照明条件は、第2のカメラから見て、多面体のその面の後方にある第1の光源(
例えば、上部光源)を点灯させ(activate)、多面体のその面の方に向けられる第2の光
源(例えば、底部光源)を消灯させる(deactivate)ことによって作り出すことができる
。その後、第1の照明条件が作り出された後に、第2のカメラが第1のキャリブレーショ
ン画像を取得することができる。一実施形態において、多面体のその面上に配置される2
Dキャリブレーションパターンを取り込む第2のキャリブレーション画像は、第2の照明
条件で生成することができる。第2の照明条件は、第1の光源を消灯させ、第2の光源を
点灯させることによって作り出すことができる。その後、第2の照明条件が作り出された
後に、第2のカメラが第2のキャリブレーション画像を取得することができる。
上記で言及されたように、キャリブレーション動作は、走査システムが物体の画像及び
/又は3Dモデルを生成する能力を助長することができ、3Dモデルは、ロボットが物体
とインタラクトする能力を助長することができる。図1Aは、ロボット運用システム10
1と通信するように構成される走査システム100のブロック図を示す。走査システム1
00(レジストレーションシステム100又は製品レジストレーションシステム100と
も呼ばれる)を用いて、物体を走査する、より具体的には、物体の画像を取得することが
でき、その画像を用いて、物体の3Dモデル(例えば、点群)を生成することができる。
物体の画像を用いて、ロボット運用システム101が、物体とインタラクトする能力、又
は物体と実質的に同じ形状及び/又はサイズを有する他の物体とインタラクトする能力を
助長することができる。一実施形態において、走査システム100は、走査システム10
0によって取得された画像に基づいて、物体の3Dモデルを生成するように構成すること
ができ、物体の3Dモデルをロボット運用システム101に通信するように構成すること
ができる。一実施形態において、走査システム100は、物体の取得された画像をロボッ
ト運用システム101に通信するように構成することができ、ロボット運用システム10
1は、取得された画像に基づいて、物体の3Dモデルを生成することができる。
一実施形態において、走査システム100及び/又はロボット運用システム101は、
倉庫、製造工場又は他の構内に配置することができる。そのような実施形態において、走
査される物体は、例えば、倉庫内の製品(例えば、1つの在庫品)、製造工場内の最終製
品を製造する際に使用される部品、又は何らかの他の物体とすることができる。走査シス
テム100は、物体の特性、物体の3Dモデル(例えば、物体の形状及びサイズを記述す
る情報)、又は物体に関する何らかの他の情報を特定するように物体を走査することがで
きる。物体に関する3Dモデル又は他の情報は、物体とインタラクトするために、ロボッ
ト運用システム101によって使用される場合がある。例えば、ロボット運用システム1
01は、ロボットアームを有するロボットを含むことができ、インタラクションは、倉庫
内の梱包品を持ち上げるためのビンピッキング動作等において、ロボットアームが物体を
持ち上げることを伴うことができる。ロボット運用システム101の一例が、「Method a
nd System for Performing Automatic Camera Calibration for Robot Control」と題す
る米国特許出願第16/295,940号に更に詳細に記述されており、その内容全体が
引用することにより本明細書の一部をなす。一実施形態において、ロボット運用システム
101は、ロボットを制御するためのロボット制御システム(ロボットコントローラーと
も呼ばれる)を備えることができる。場合によっては、走査システム100は、ロボット
制御システムに、物体の3Dモデル、物体の取得された画像、又は他の情報を通信するよ
うに構成することができる。一実施形態において、ロボット運用システム101は、1つ
以上のカメラを含む視覚システムを含むことができる。視覚システムの一例が、「Method
and Control System for Updating a First Image Generated by a First Camera Based
on a Second Image Generated by a Second Camera」と題する米国特許出願第16/4
38,084号(MJ0020−US/0077−0005US1)に更に詳細に記述さ
れており、その内容全体が引用することにより本明細書の一部をなす。場合によっては、
走査システム100は、物体の3Dモデル、物体の取得された画像、又は他の情報を視覚
システムに通信するように構成することができる。
図1Bは、走査システム100の一実施形態のブロック図を示す。図1Bに示される実
施形態において、走査システム100は、コンピューティングシステム110(走査制御
システム又はスキャンコントローラーとも呼ばれる)と、アクチュエーター140と、プ
ラットフォーム150と、第1のカメラ170(「カメラ1」と表記される)と、第2の
カメラ180(「カメラ2」と表記される)とを含む。場合によっては、走査システム1
00は、図1Bに示される第1の光源120(「光源1」と表記される)及び第2の光源
130(「光源2」と表記される)等の、1つ以上の光源を更に含むことができる。一実
施形態において、走査システム100は、走査システム100のいくつか又は全ての構成
要素がその中に位置する密閉空間を与える、収納箱のような密閉ハウジングを含むことが
できる。
一実施形態において、プラットフォーム150は、走査されることになる物体がその上
に配置される表面を与えることができる。場合によっては、プラットフォーム150が動
くことによって物体が動くように、プラットフォーム150を動かすことができる。例え
ば、プラットフォーム150は、アクチュエーター140(例えば、モーター)によって
板の中心の周りで回転可能である円形のガラス板とすることができる。プラットフォーム
150を回転させることによって、物体の異なる部分を、例えば、第1のカメラ170の
視野に入れることができる場合がある。一実施形態において、物体を配置することができ
る表面はプラットフォームの第1の表面(例えば、上面)とすることができ、一方、プラ
ットフォームは、第2の、反対に面する表面(例えば、底面)を更に有することができる
一実施形態において、プラットフォーム150は、第1のカメラ170と第2のカメラ
180との間に配置することができる。例えば、図1Bは、プラットフォーム150の第
1の表面152(例えば、上面)と、プラットフォーム150の第2の表面154(例え
ば、底面)とを示し、第1の表面152及び第2の表面154は、プラットフォーム15
0の、互いに反対方向を向く表面である。この例において、第1のカメラ170は、プラ
ットフォーム150の第1の表面152に隣接して配置することができ、第1の表面15
2は第1のカメラ170とプラットフォーム150の第2の表面154との間に配置され
る。例えば、第1のカメラ170は、第1の表面152の上方に配置することができる(
上方にわたって配置されるとも言われる)。さらに、第1のカメラ170は、プラットフ
ォーム150の第1の表面152(例えば、プラットフォーム150の上面)に向けるこ
とができる。この例において更に、第2のカメラ180は、プラットフォーム150の第
2の表面154に隣接して配置することができ、第2の表面154は第2のカメラ180
とプラットフォームの第1の表面152との間に配置される。例えば、第2のカメラ18
0は、第2の表面154の下方に配置することができる(下方にわたって配置されるとも
言われる)。さらに、第2のカメラ180は、プラットフォーム150の第2の表面15
4(例えば、プラットフォーム150の底面)に向けることができる。場合によっては、
第1の表面152及び第2の表面154はいずれも平面とすることができ、かつ互いに平
行とすることができる。
一実施形態において、プラットフォーム150は、ガラス板等の透明なプラットフォー
ムとすることができる。透明なプラットフォーム上に物体が配置されるとき、物体上の種
々の領域を第1のカメラ170又は第2のカメラ180のうちの少なくとも一方から視認
できる場合がある。例えば、物体上の第1の領域(例えば、上部領域)は第2のカメラ1
80から視認できない場合があるが、第1のカメラ170から視認できる場合がある。同
様に、物体の第2の領域(例えば、下部領域)は、第1のカメラ170から視認できない
場合があるが、第2のカメラ180から視認できる場合がある。さらに、いくつかの領域
が、最初に、例えば、第1のカメラ170に対する視野から遮られる場合には、上記で論
じられたように、プラットフォーム150を後に動かすことにより、それらの領域を視野
に入れることができる場合がある。
一実施形態において、第1のカメラ170及び/又は第2のカメラ180は、カラーカ
メラ、白黒カメラ、深度検知カメラ、ビデオカメラ、その任意の組み合わせ、又は任意の
他のタイプのカメラとすることができる。一実施形態において、第1のカメラ170は、
プラットフォーム150の中心から外して配置することができる。そのような実施形態で
は、第1のカメラ170は、プラットフォーム150の中心の真上には配置されない。プ
ラットフォーム150の中心は、例えば、プラットフォーム150の第1の表面152の
中心、プラットフォーム150の第2の表面154の中心、又はそれらの2つの位置の平
均を指す場合がある。より具体的な例として、第1のカメラ170は、図1Bのプラット
フォーム150の中心軸156と交わらないことによって中心から外すことができ、中心
軸156は、プラットフォーム150の第1の表面152又は第2の表面154に対して
垂直であり、かつプラットフォーム150の中心を通って延在する軸とすることができる
。場合によっては、第1のカメラ170は、プラットフォーム150の第1の表面152
に対して第1のカメラ170が傾けられ、プラットフォーム150の第1の表面152の
方向に向けられるような向きを有することができる。そのような向きによって、第1のカ
メラ170は、例えば、物体の平面図のみを有するのとは対照的に、プラットフォーム1
50の第1の表面152上に配置される物体の斜視図を有することができる場合がある。
例えば、プラットフォーム150の第1の表面152上に物体が配置されるとき、第1の
カメラ170を傾けることによって、上部領域及び側部領域等の複数の領域を第1のカメ
ラ170から同時に視認できるようになる場合がある。より具体的な例として、第1のカ
メラ170の光軸がプラットフォーム150の中心軸156と平行でない(又はより一般
的には、一直線に合わせられない)ような向きを有することによって、第1のカメラ17
0をプラットフォーム150の第1の表面152に対して傾けることができる。
一実施形態において、第2のカメラ180は、プラットフォーム150の中心に位置す
ることができる。例えば、第2のカメラ180は、プラットフォーム150の中心軸15
6と交わることができる。より具体的な例として、第2のカメラ180のレンズ又は画像
センサーが中心軸156と交わるときに、第2のカメラ180は、プラットフォーム15
0の中心に位置することができる。別の実施形態では、第2のカメラ180は、プラット
フォーム150の中心から外すことができる。一実施形態において、第2のカメラ180
が、第2のカメラ180の光軸が中心軸156と平行であるか、又は第2のカメラ180
の光軸が第2の表面154によって画定又は形成される仮想面に対して垂直であるような
向きを有するように、第2のカメラ180はプラットフォーム150の第2の表面154
に対して傾斜を有しないようにすることができる。そのような実施形態では、プラットフ
ォーム150の第1の表面上に物体が配置されるとき、第2のカメラ180のその向きに
よって、第2のカメラ180は、プラットフォーム150の透明材料を通して物体を正面
から視認することができる。例えば、プラットフォーム150の第2の表面154が底面
である場合には、第2のカメラ180は、プラットフォーム150のガラス又は他の材料
を通して、例えば、物体の底面図のみを有することができる。第2のカメラ180が傾か
ないことは、プラットフォーム150の透明材料を光が通り抜けることから生じる、光の
屈折量、光の散乱又はひずみの他の発生源を最小化することができる。そのような結果が
、第2のカメラ180によって取得された画像内の撮像誤差の量を低減することができる
一実施形態において、第1の光源120はプラットフォーム150の第1の表面152
に隣接して配置する(例えば、その上方に配置する)ことができ、第1の表面152は第
1の光源120とプラットフォーム150の表面154との間に配置される。第1の光源
120は、プラットフォーム150の第1の表面152に向けることができる。さらに、
第2の光源130はプラットフォーム150の第2の表面154に隣接して配置する(例
えば、その下方に配置する)ことができ、第2の表面154は第2の光源130とプラッ
トフォーム150の第1の表面152との間に配置される。第2の光源130は、プラッ
トフォーム150の第2の表面154に向けることができる。第1の光源120及び第2
の光源130はそれぞれ、例えば、発光ダイオード(LED)、ハロゲンランプ、又は任
意の他の光源とすることができる。さらに、第1の光源120及び第2の光源130は、
プラットフォーム150の第1の表面152及び第2の表面154にそれぞれ向かって、
可視光、赤外線放射又は任意の他の形の光を放射するように構成することができる。いく
つかの実施態様において、コンピューティングシステム110は、プラットフォーム15
0の第1の表面152に関する照明条件を制御するために第1の光源120を制御するこ
とができ、プラットフォーム150の第2の表面154に関する照明条件を制御するため
に第2の光源130を制御することができる。
一実施形態において、コンピューティングシステム110(走査制御システム又は走査
コントローラーとも呼ばれる)は、第1のカメラ170、第2のカメラ180、第1の光
源120、第2の光源130及び/又はアクチュエーター140のうちの1つ以上と通信
することができ、及び/又は1つ以上を制御するように構成することができる。場合によ
っては、通信は、例えば、RS−232インターフェース、ユニバーサルシリアルバス(
USB)インターフェース、イーサネット(登録商標)インターフェース、Blueto
oth(登録商標)インターフェース、IEEE802.11インターフェース、又はそ
の任意の組み合わせを介して行うことができる。場合によっては、通信は、周辺構成要素
相互接続(PCI:peripheral component interconnect)バス等のローカルコンピュー
ターバスを介して行うことができる。
図1Cは、コンピューティングシステム110のブロック図を示す。コンピューティン
グシステム110は、コンピューター、制御チップ、回路基板、又は任意の他のコンピュ
ーティングシステムとすることができる。図1Cのブロック図に示されるように、コンピ
ューティングシステム110は、制御回路111と、通信インターフェース113と、非
一時的コンピューター可読媒体115(例えば、メモリ)とを含むことができる。
一実施形態において、通信インターフェース113は、図1Bのアクチュエーター14
0、第1のカメラ170、第2のカメラ180、第1の光源120及び/又は第2の光源
130と通信し、及び/又は図1Aのロボット運用システム101と通信するように構成
される1つ以上の構成要素を含むことができる。場合によっては、通信インターフェース
113は、有線プロトコル又はワイヤレスプロトコルを介して通信を実行するように構成
される通信回路を含むことができる。一例として、通信回路は、RS−232ポートコン
トローラー、USBコントローラー、イーサネット(登録商標)コントローラー、Blu
etooth(登録商標)コントローラー、PCIバスコントローラー、任意の他の通信
回路、又はその組合せを含むことができる。
一実施形態において、制御回路111は、1つ以上のプロセッサ、プログラマブル論理
回路(PLC)又はプログラマブル論理アレイ(PLA)、フィールドプログラマブルゲ
ートアレイ(FPGA)、特定用途向け集積回路(ASIC)、又は任意の他の制御回路
を含むことができる。一実施形態において、非一時的コンピューター可読媒体115はコ
ンピューターメモリを含むことができる。コンピューターメモリは、例えば、ダイナミッ
クランダムアクセスメモリ(DRAM)、半導体集積メモリ(solid state integrated m
emory)、及び/又はハードディスクドライブ(HDD)を含むことができる。場合によ
っては、非一時的コンピューター可読媒体115は、後に更に詳細に論じられるように、
カメラキャリブレーションを実行する命令等の、制御回路111が実行するように構成さ
れる命令(例えば、コンピューターコード)を記憶することができる。そのような場合に
、制御回路111は、カメラキャリブレーションを実行するコンピューター実行可能命令
を実行するように構成される1つ以上のプロセッサを含むことができる。
一実施形態において、コンピューティングシステム110は、図1Bのアクチュエータ
ー140、図1Bの第1のカメラ170、図1Bの第2のカメラ180、図1Bの第1の
光源120及び/又は図1Bの第2の光源130の動作を含む、走査システム100の動
作のみを制御する専用制御システム(専用コントローラーとも呼ばれる)とすることがで
きる。他の事例では、コンピューティングシステム110は、ロボット運用システム(例
えば、図1Aのロボット運用システム101)の動作等の、別の動作を制御するように構
成することができる。一実施形態において、コンピューティングシステム110は、プラ
ットフォーム150、アクチュエーター140、第1のカメラ170、第2のカメラ18
0、第1の光源120及び/又は第2の光源130等の、走査システム100の他の構成
要素にローカル接続することができる。一実施形態において、コンピューティングシステ
ム110は、走査システム100の1つ以上の他の構成要素からリモート接続することが
できる。例えば、プラットフォーム150、アクチュエーター140、第1のカメラ17
0、第2のカメラ180、第1の光源120及び第2の光源130は倉庫又は他の構内に
位置することができ、コンピューティングシステム110は、倉庫から遠隔しているデー
タセンター又は他の位置に配置することができ、ネットワーク接続を介して、走査システ
ム100のそれらの他の構成要素と通信するように構成することができる。
一実施形態において、コンピューティングシステム110は、第1のカメラ170によ
って取得される画像及び第2のカメラによって取得される画像を引き出すか、又は別の方
法で受信するように構成することができる。場合によっては、画像は、後に更に詳細に論
じられるように、キャリブレーションパターンからなることができる(そのような画像は
、キャリブレーション画像と呼ばれる場合がある)。一実施形態において、コンピューテ
ィングシステム110は、そのようなキャリブレーション画像を取得するために、第1の
カメラ170及び/又は第2のカメラ180を制御するように構成することができる。例
えば、コンピューティングシステム110は、第1のカメラ170及び/又は第2のカメ
ラ180に、第1のカメラ170又は第2のカメラ180の視野内のシーンの画像をそれ
ぞれ取得させるか、又は別の方法で生成させるカメラコマンドを生成するように構成する
ことができる(カメラの視野は、カメラ視野と呼ばれる場合もある)。同じカメラコマン
ド又は異なるカメラコマンドが更に、第1のカメラ170及び/又は第2のカメラ180
に、図1Cの通信インターフェース113を介して、取得された画像をコンピューティン
グシステム110に、又はより一般的には、コンピューティングシステム110によって
アクセス可能な記憶デバイス(例えば、図1Cの非一時的コンピューター可読媒体115
)に通信させることができる。一実施形態において、第1のカメラ170及び/又は第2
のカメラ180は、コンピューティングシステム110からのカメラコマンドを必要とす
ることなく、定期的に、又は規定されたトリガー処理条件に応答して、それぞれのカメラ
視野内のシーンの画像を自動的に取得するか、又は別の方法で生成することができる。そ
のような実施形態では、第1のカメラ170及び/又は第2のカメラ180は、コンピュ
ーティングシステム110からのカメラコマンドを用いることなく、取得された画像をコ
ンピューティングシステム110に、又はより一般的には、コンピューティングシステム
110によってアクセス可能な記憶デバイスに自動的に通信するように構成することもで
きる。
一実施形態において、コンピューティングシステム110の制御回路111又は他の構
成要素は、アクチュエーター140によって受信されるときに、アクチュエーター140
にプラットフォーム150を作動させる(例えば、回転させる)動作コマンドを生成する
ように構成することができる。動作コマンドは、通信インターフェース113を介して、
制御回路111からアクチュエーター140に通信することができる。一例において、ア
クチュエーター140はモーターとすることができ、動作コマンドはモーターコマンド又
は任意の他のタイプの動作コマンドとすることができる。
一実施形態において、コンピューティングシステム110の制御回路111又は他の構
成要素は、第1の光源120及び/又は第2の光源130に関する照明コマンドを生成し
、通信インターフェース113を介して、制御回路111から第1の光源120及び/又
は第2の光源130に照明コマンドを通信するように構成することができる。照明コマン
ドは、例えば、特定の光源を点灯させるか、消灯させるかを、又は光源を点灯させる強度
若しくは持続時間等の、光源を点灯させる方法を制御することができる。
一実施形態において、図1Bの走査システム100内のカメラは第1のカメラ170及
び第2のカメラ180だけである。一実施形態において、走査システム100は、3つ以
上のカメラ等の、別のカメラを含むことができる。例えば、図1Dは、第1のカメラ17
0及び第2のカメラ180だけでなく、第3のカメラ190(「カメラ3」と表記される
)も含む、走査システム100の一実施形態である走査システム100Aを示す。この実
施形態において、第1のカメラ170及び第3のカメラ190はいずれもプラットフォー
ム150の第1の表面152に隣接して配置する(例えば、第1の表面152の上方にわ
たって配置する)ことができ、一方、プラットフォーム150は、第1のカメラ170と
第2のカメラ180との間に位置するだけでなく、第3のカメラ190と第2のカメラ1
80との間に配置される。より具体的には、第1の表面152は第3のカメラ190と、
プラットフォーム150の第2の表面154との間に配置することができ、第1のカメラ
170とプラットフォーム150の第2の表面154との間に配置することができる。第
3のカメラ190は、プラットフォーム150の中心から外すことができるか、又はプラ
ットフォーム150の中心に位置することができる。さらに、第3のカメラ190は、プ
ラットフォーム150の第1の表面152に対して傾けることができるか、又はプラット
フォーム150の第1の表面152に対して傾斜を有しないようにすることができる。第
1のカメラ170及び第3のカメラ190は、プラットフォーム150上に配置される物
体の異なる視点又は観察位置をカバーすることができる。場合によっては、第1のカメラ
170及び第3のカメラ190の両方が存在することにより、コンピューティングシステ
ム110に、第1のカメラ170及び第3のカメラ190の両方から視認可能である物体
上の領域の立体視を与えることができる。
上記で言及されたように、本開示の一態様は、キャリブレーションパターンの画像に基
づいて、カメラキャリブレーションを実行することに関連する。図1Eは、3Dキャリブ
レーションパターン160を用いて、カメラキャリブレーションを実行する実施形態を示
す。より具体的には、3Dキャリブレーションパターン160は、走査システム100の
プラットフォーム150の第1の表面152上に配置され、そのコンピューティングシス
テム110は、3Dキャリブレーションパターン160のキャリブレーション画像に基づ
いて、カメラキャリブレーションを実行するように構成される。後に更に詳細に論じられ
るように、3Dキャリブレーションパターン160の一例が、多面体のそれぞれの面上に
配置される複数の2Dパターンを有する多面体を含む。多面体は、その面のそれぞれに、
又はその面の一部の面のみに配置される、それぞれの2Dパターンを有することができる
上記で言及されたように、第1のカメラ170は、一実施形態において、第1のカメラ
170がプラットフォーム150の第1の表面152に対して傾けられるような向きを有
することができる。そのような向きは、第1のカメラ170に3Dキャリブレーションパ
ターン160の斜視図を与えることができ、それにより、3Dキャリブレーションパター
ン160の複数の面を、第1のカメラ170から視認できるように、又はより一般的には
、第1のカメラ170のカメラ視野内に入れることができるようにする場合がある。一実
施形態では、同様に上記で言及されたように、第2のカメラ180は、第2のカメラ18
0がプラットフォーム150の第2の表面154に対して傾斜を有しないような向きを有
することができる。そのような向きは、3Dキャリブレーションパターン160の多面体
の1つの面のみを、又は面のうちの一部の面のみを第2のカメラ180から視認できるよ
うにする場合がある。例えば、そのような実施形態における第2のカメラ180は、多面
体の底面のみを視認できる場合がある。言い換えると、そのような例における第2のカメ
ラ180は、3Dキャリブレーションパターン160の底面図のみを有する場合がある。
一実施形態において、コンピューティングシステム110は、プラットフォーム150
をその中心の周りで回転させる等、プラットフォーム150を作動させるために、アクチ
ュエーター140を制御するように構成することができる。そのような動作により、3D
キャリブレーションパターン160を、第1のカメラ170及び/又は第2のカメラ18
0に対して異なる位置及び/又は異なる向きに配置することができる。さらに、3Dキャ
リブレーションパターン160の特定の面が、最初に、例えば、第1のカメラ170から
見えないように隠れていた場合には、プラットフォーム150が、その面を、例えば、第
1のカメラ170の視野に入るように後に動かすことができる。一実施形態において、コ
ンピューティングシステム110は、3Dキャリブレーションパターン160の多面体の
1つ以上の面を照明するために、第1のカメラ170及び/又は第2のカメラ180が3
Dキャリブレーションパターン160の画像を取得しているときに点灯するように、第1
の光源120及び/又は第2の光源130を制御するように構成することができる。
図2は、図1Eの3Dキャリブレーションパターン160等のキャリブレーションパタ
ーンのキャリブレーション画像に基づいて、図1A〜図1Eの走査システム100等の走
査システムに関するカメラキャリブレーションを実行する方法200を示すフロー図を示
す。方法200は、一実施形態において、ステップ201〜209に従ってカメラキャリ
ブレーションを実行することができ、その後、カメラキャリブレーションから特定された
情報を用いて、ステップ211において物体の3Dモデルを生成することができる。一実
施形態において、方法200は、コンピューティングシステム110によって、より具体
的には、図1Cの制御回路111によって実行することができる。場合によっては、制御
回路111は、図1Cの非一時的コンピューター可読媒体115上に、又は任意の他の記
憶デバイス上に記憶される命令に基づいて、方法200を実行することができる。
一実施形態において、方法200はステップ201から開始することができ、そのステ
ップでは、制御回路111が、通信インターフェース113を介して、図1B、図1D及
び/又は図1Eの第1のカメラ170から、又はより具体的には、後に論じられる図3A
の第1のカメラ370から、第1の組のキャリブレーション画像を受信する。第1の組の
キャリブレーション画像は3Dキャリブレーションパターン160の画像とすることがで
き、3Dキャリブレーションパターン160は、複数の面を有する多面体を含むことがで
き、複数の面上に配置される複数の2Dキャリブレーションパターンを含むことができる
。複数の面は第1の組の面と、別の面(additional face)とを含むことができる。さら
に、第1の組のキャリブレーション画像は、具体的には、多面体の別の面を取り込むこと
なく、多面体の第1の組の面を取り込むことができ、多面体の第1の組の面上にそれぞれ
配置される第1の組の2Dキャリブレーションパターンを取り込むことができる。
例えば、図3Aは、図2の方法200を実行するための例示的な環境を示し、より具体
的には、図1A〜図1Eの走査システム100の一実施形態である走査システム300を
示す。この実施形態において、走査システム300は、図1B〜図1Eのコンピューティ
ングシステム110を含む。走査システム300は、図1B及び図1D〜図1Eのそれぞ
れプラットフォーム150、アクチュエーター140、第1のカメラ170、第1の光源
120、第2のカメラ180及び第2の光源130のそれぞれの実施形態とすることがで
きる、プラットフォーム350、プラットフォーム350を作動させるように構成される
アクチュエーター340、第1のカメラ370、第1の光源320、第2のカメラ380
及び第2の光源330を更に含む。一実施形態において、プラットフォーム350は第1
の表面352と、第1の表面352の反対に面する第2の表面354とを有し、第1のカ
メラ370と第2のカメラ380との間に配置される。図3Aに示されるように、第1の
カメラ370及び第1の光源320は、プラットフォーム350の第1の表面352に隣
接して配置することができ、第1の表面352は第1のカメラ370とプラットフォーム
350の第2の表面354(例えば、底面)との間に配置され、第1の光源320と第2
の表面354との間に配置される。第1のカメラ370及び第1の光源320は、プラッ
トフォーム350の第1の表面352に面している(例えば、向ける)ことができる。一
例において、第1の表面352は、プラットフォーム350の上面とすることができ、第
1の光源及び第1のカメラ370は第1の表面352の上方にわたって配置することがで
きる。
図3Aに更に示されるように、第2のカメラ380及び第2の光源330はプラットフ
ォーム350の第2の表面354(例えば、底面)に隣接して配置することができ、第2
の表面354は第2のカメラ380とプラットフォーム350の第1の表面352との間
に配置され、第2の光源330と第1の表面352との間に配置される。第2のカメラ3
80及び第2の光源330はプラットフォーム350の第2の表面354に面している(
例えば、向ける)ことができる。一例において、第2の表面354はプラットフォーム3
50の底面354とすることができ、第2の光源330及び第2のカメラ380は第2の
表面354の下方にわたって配置することができる。一実施形態において、第1のカメラ
370及び第2のカメラ380はそれぞれ、それぞれの画像センサー(例えば、電荷結合
ダイオード(charge-coupled diode)すなわちCCDセンサー)を有することができる。
そのような実施形態において、第1のカメラ370/第2のカメラ380のそれぞれの画
像センサーが特定の表面に面しているとき、第1のカメラ370/第2のカメラ380は
、その表面に向けられると見なすことができる。より具体的な例として、第1のカメラ3
70がプラットフォーム350の第1の表面352の上方にわたって配置され、第1の表
面352に向けられる場合には、第1の表面352から反射するか、又は第1の表面35
2上に配置される物体から反射する光が、第1のカメラ370の画像センサーに直接達す
ることができる。この例において、プラットフォーム350は透明とすることができ、光
が、物体の底面から反射した後に、プラットフォーム350を通り抜けることができる。
第2のカメラ380が第2の表面354の下方にわたって配置され、第2の表面354に
向けられる場合には、物体の底面から反射する光が、第2のカメラ380の画像センサー
に直接達することができる。
図3Aの実施形態において、プラットフォーム350は円形のガラス板又は他のタイプ
の透明なプラットフォームとすることができ、アクチュエーター340は、中心軸356
の周りでプラットフォーム350を回転させるように構成することができる。中心軸35
6は、プラットフォーム350の中心355を通り抜け、プラットフォーム350の第1
の表面352又は第2の表面354に対して垂直である軸とすることができる。図3Aの
例において、プラットフォーム350の中心355は、プラットフォーム350の第1の
表面352の中心を指すことができる。図3Aに更に示されるように、アクチュエーター
340は、ローター342と、モーターシャフト344と、モーターシャフト344に取
り付けられる回転伝達部346とを含むモーターとすることができる。ローター342は
、モーターシャフト344を回転させるように構成することができ、モーターシャフト3
44は回転伝達部346を回転させるように構成することができる。回転伝達部346は
、プラットフォーム350をプラットフォーム350の中心軸356の周りで回転させる
ために、プラットフォーム350にトルクを加えるように構成することができる。一例に
おいて、回転伝達部346は、回転をローター342及びモーターシャフト344からプ
ラットフォーム350に伝達するように構成されるギア又はギアボックスとすることがで
きる。別の例において、回転伝達部346が回転するときにプラットフォーム350を回
転させるだけの十分な摩擦で、回転伝達部346はプラットフォーム350の周縁部と接
触することができる。一実施形態において、ローター342はコンピューティングシステ
ム110によって制御することができ、コンピューティングシステム110は、ローター
342に駆動信号又は他の形の動作コマンドを通信するように構成することができる。図
3Aに更に示されるように、第1のカメラ370は、プラットフォーム350の第1の表
面352に対して傾斜を有することができる。例えば、第1のカメラ370は、その光軸
371がプラットフォーム350の中心軸356と平行でないような向きを有することが
できる。この例において、第2のカメラ380は、プラットフォーム350の第2の表面
354に対して傾斜を有しないことができる。例えば、第2のカメラ380は、その光軸
381がプラットフォームの中心軸356と平行であるような向きを有することができる
上記で言及されたように、図2のステップ201は、図1Eの3Dキャリブレーション
パターン160の第1の組のキャリブレーション画像を受信することを伴うことができる
。図3Aは、3Dキャリブレーションパターン160の一実施形態である3Dキャリブレ
ーションパターン360を示し、3Dキャリブレーションパターン360は、プラットフ
ォーム350の第1の表面352上に配置される。一実施形態において、3Dキャリブレ
ーションパターン360は、複数の面を有する多面体362を含む。図3Aの例において
、多面体362は、全部で6つの面を有する、立方体、又はより一般的には、直方体であ
る。別の例では、3Dキャリブレーションパターン360は、四面体又は十二面体等の異
なる多面体を含むことができる。図3B及び図3Cは、図3Aの多面体362の複数の面
を示す。より具体的には、図3Bは、3Dキャリブレーションパターン360の多面体3
62の3つの面、すなわち、面362A、362B及び362Cを識別する。図3Cは、
図3Bにおいて視認できない、多面体362の3つの残りの面、すなわち、面362D、
362E及び362Fを示す。
一実施形態において、多面体362は規定寸法(所定の寸法とも呼ばれる)を有するこ
とができ、規定寸法は、例えば、多面体362の形状及び/又はサイズの規定値とするこ
とができる。例えば、図3Aの多面体362は、立方体の辺ごとに規定寸法「d」(例え
ば、50mm)と実質的に一致するように厳しい公差で製造された立方体とすることがで
きる。製造工程は、規定寸法からの偏差量を、例えば、±0.5mm以下に制限した高い
精度を有していた場合がある。場合によっては、図3Aのコンピューティングシステム1
10は、規定寸法の値を記憶することができるか、又は規定寸法の値を(例えば、リモー
トデータベースから)引き出すことができ、その値を用いて、後に更に詳細に論じられる
ように、カメラキャリブレーションを実行することができる。
一実施形態において、図3B及び図3Cの多面体362の面は第1の組の面362A〜
362Eと、別の面362Fとに分割することができ、別の面362Fは第1の組の面3
62A〜362Eの一部ではない。別の面362Fは多面体362の第2の組の1つ以上
の面の一部と見なすこともでき、第2の組の1つ以上の面(例えば、362F)は、第1
の組の面362A〜362Eと共通の面を有しない。
一実施形態において、第1の組の面362A〜362Eは、(図3Aの)第1のカメラ
370から視認できるか、又は第1のカメラ370から視認できる位置までプラットフォ
ーム350によって回転させることができる多面体362の面とすることができる。例え
ば、第1の組の面362A〜362Eは、多面体362の上面と、4つの側面とを含むこ
とができる。一実施形態において、第1の組の面362A〜362Eは、(図3Aの)第
2のカメラ380から視認できない多面体362の面とすることができる。状況によって
は、第1の組の面362A〜362Eは、多面体362がプラットフォーム350によっ
て動かされるときでも、第2のカメラ380から決して視認できない場合がある。そのよ
うな状況は、例えば、第2のカメラ380が、第1の組の面362A〜362Eから反射
する任意の光を途中で取り込むか、又は別の方法で収集するのを防ぐ位置及び/又は向き
を有するときに生じる場合がある。例えば、これらの状況は、第2のカメラ380がプラ
ットフォーム350の第2の表面354の非常に近くに位置し、プラットフォーム350
の第2の表面354に対する傾斜を有しないときに生じる場合がある。
一実施形態において、別の面362Fは、第1のカメラ370から決して視認できず、
第2のカメラ380から視認できる多面体362の面とすることができる。例えば、別の
面(additional face)362Fは、図3Aのプラットフォーム350(例えば、プラッ
トフォーム350の第1の表面352)と直接接触している多面体362の底面とするこ
とができ、一方、第1の組の面362A〜362Eは、プラットフォーム350と直接接
触していない多面体362の面とすることができる。多面体362が立方体である図3B
及び図3Cの実施形態において、第1の組の面362A〜362Eは厳密に5つの面を有
することができ、別の面362Fは、第2のカメラ380から視認することができ、第1
のカメラ370から視認できないただ1つの、別の面362Fとすることができる。多面
体362が立方体とは異なる(例えば、多面体362が十二面体である)別の実施形態で
は、多面体362の面は、第1のカメラ370から視認できる第1の組の面と、第2のカ
メラ380から視認できるが、第1のカメラ370から視認できない複数の別の面(第2
の組の面とも呼ばれる)とに分割することができる。
図2のステップ201を再び参照すると、そのステップにおける3Dキャリブレーショ
ンパターン160/360は、3Dキャリブレーションパターン160/360の多面体
(例えば、362)の複数の面上にそれぞれ配置される複数の2Dキャリブレーションパ
ターンを更に含むことができる。図3D〜図3Fは、3Dキャリブレーションパターン3
60の2Dキャリブレーションパターンを示す。より具体的には、図3Dは多面体362
の面362A、362B及び362C上にそれぞれ配置される、2Dキャリブレーション
パターン366A、366B及び366Cを示す。図3Eは、図3D内の矢印Aに沿って
視認されるような多面体362を示す。より具体的には、図3Eは、多面体362の面3
62B、362E及び362F上にそれぞれ配置される2Dキャリブレーションパターン
366B、366E及び366Fを示す。図3Fは、図3D内の矢印Bに沿って視認され
るような多面体362を表す。より具体的には、図3Fは、多面体362の面362A、
362D及び362E上にそれぞれ配置される2Dキャリブレーションパターン366A
、366D及び366Eを示す。
一実施形態において、図3D〜図3Fの2Dキャリブレーションパターン366A〜3
66Fは、第1の組の2Dキャリブレーションパターン366A〜366Eと、別の(ad
ditional)2Dキャリブレーションパターン366Fとに分割することができ、第1の組
の2Dキャリブレーションパターン366A〜366Eは多面体362の第1の組の面3
62A〜362E上にそれぞれ配置され、別の2Dキャリブレーションパターン366F
は多面体362の別の面362F上に配置される。別の2Dキャリブレーションパターン
366Fは、第2の組の1つ以上の2Dキャリブレーションパターンの一部と見なすこと
もでき、第1の組の2Dキャリブレーションパターン366A〜366Eと、第2の組の
1つ以上の2Dキャリブレーションパターン(例えば、366F)との間に共通の2Dキ
ャリブレーションパターンは存在しない。一実施形態において、第2の組の1つ以上の2
Dキャリブレーションパターンは、第1のカメラ370から視認できないキャリブレーシ
ョンパターン(複数の場合もある)を含むことができる。上記の実施形態において、又は
別の実施形態において、第2の組の1つ以上の2Dキャリブレーションパターンは、第2
のカメラ380から視認できるキャリブレーションパターン(複数の場合もある)を含む
ことができる。一実施形態において、第2の組の1つ以上の2Dキャリブレーションパタ
ーンは2Dキャリブレーションパターン366Fのみを含む。このシナリオは、例えば、
第2のカメラ380及び3Dキャリブレーションパターン360の両方がプラットフォー
ム350の中心に位置するときに生じる場合がある。別の実施形態において、第2の組の
1つ以上の2Dキャリブレーションパターンは2つ以上の2Dキャリブレーションパター
ンを含む。
一実施形態において、3Dキャリブレーションパターン360の2Dキャリブレーショ
ンパターン366A〜366Fは、多面体362のそれぞれの面362A〜362F上に
固定されるようにして配置することができる。例えば、2Dキャリブレーションパターン
366A〜366Fはそれぞれ、多面体362のそれぞれの面に接着されるか、又は別の
方法で取り付けられるフラットシート(例えば、ステッカー)又は平板とすることができ
る。一実施形態において、2Dキャリブレーションパターン366A〜366Fの1つ以
上は、多面体362のそれぞれの面362A〜362F上に塗布される場合がある。一実
施形態において、2Dキャリブレーションパターン366A〜366Fのいずれかは、多
面体362のそれぞれの面362A〜362Fの中心に位置し、及び/又はそれぞれの面
に対して位置合わせされる場合があるか(図3D及び図3Eの2Dキャリブレーションパ
ターン366Bに関して表される)、又は多面体362のそれぞれの面362A〜362
Fの中心から外れて位置し、及び/又はそれぞれの面と位置合わせされない場合がある(
図3Fの2Dキャリブレーションパターン366Dに関して示される)。
一実施形態において、2Dキャリブレーションパターン366A〜366Fの各2Dキ
ャリブレーションパターンは、ドットのアレイ等の複数のパターン要素を有する場合があ
り、パターン要素はそれぞれ、2Dキャリブレーションパターンの座標系及び/又は3D
キャリブレーションパターン360の座標系において規定された位置(所定の位置とも呼
ばれる)を有することができる。図3Gは、プラットフォーム350の座標系、第1のカ
メラ370の座標系及び第2のカメラ380の座標系だけでなく、3Dキャリブレーショ
ンパターン360の座標系も示す。一実施形態において、3Dキャリブレーションパター
ン360の座標系は、多面体362の辺と位置合わせされる座標軸
を有することができる。3Dキャリブレーションパターン360の座標系の原点は、多面
体362内の或る位置(例えば、多面体362の中心)、多面体362の表面上の或る位
置(例えば、面362Aの中心)、又は任意の他の位置とすることができる。一実施形態
において、図3Gにおいて表されるように、プラットフォーム350の座標系は、プラッ
トフォーム350の中心軸356(図3Aを参照)と位置合わせされる座標軸
を有することができ、プラットフォーム350の中心355に位置する原点を有すること
ができる。場合によっては、第1のカメラ370又は第2のカメラ380の座標系が、カ
メラ370/380の任意のレンズの光軸と位置合わせされる座標軸(第1のカメラ37
0に関して、
及び第2のカメラ380に関して、
)を有することができ、カメラ370/380のレンズの中心、カメラ370/380の
画像センサーの中心若しくは角、又は何らかの他の位置に位置する原点を有することがで
きる。図3Gは、リンク点(link point)357に関する座標系を更に示し、その座標系
は座標軸
によって規定される。この座標系は、後に更に詳細に論じられる。
一実施形態において、3Dキャリブレーションパターン360の各2Dキャリブレーシ
ョンパターン366A〜366Fは、自らの座標系を有することができる。例えば、図3
Hはキャリブレーションパターン366Aに関する第1の座標系を示し、第1の座標系は
座標軸
によって規定される。その図は、キャリブレーションパターン366Bに関する第2の座
標系及びキャリブレーションパターン366Cに関する第3の座標系を更に示す。第2の
座標系は座標軸
によって規定され、一方、第3の座標系は座標軸
によって規定される。キャリブレーションパターンは、「Method and System for Perfor
ming Automatic Camera Calibration for Robot Control」と題する米国特許出願第16
/295,940号において更に詳細に記述されており、その内容全体が引用することに
より本明細書の一部をなす。
図2のステップ201を再び参照すると、そのステップは、制御回路111が、図1B
又は図3Aの第1のカメラ170/370から第1の組のキャリブレーション画像を受信
することを伴うことができる。一実施形態において、3Dキャリブレーションパターン1
60/360が、第1のカメラ170/370に対して異なる位置及び/又は向きに動か
される間に、第1のカメラ170/370によって第1の組のキャリブレーション画像が
取得されるか、又は別の方法で生成される。場合によっては、プラットフォーム150/
350を介してそのような動作を生み出すように、制御回路111がアクチュエーター1
40/340を制御することができる。例えば、制御回路111は、(図1Cの)通信イ
ンターフェース113を介して、アクチュエーター140/340に1つ以上のモーター
コマンドを出力することができる。1つ以上のモーターコマンドは、アクチュエーター1
40/340にプラットフォーム150/350を回転させることができ、これにより、
第1のカメラ170/370に対して複数の向きを有するように、3Dキャリブレーショ
ンパターン160/360が動く。この例において、ステップ201の第1の組のキャリ
ブレーション画像はそれぞれ、3Dキャリブレーションパターン160/360が第1の
カメラ170/370に対して複数の向きを有するときに生成される。一実施形態におい
て、第1の組のキャリブレーション画像の各キャリブレーション画像は、第1のカメラ1
70/370に対する3Dキャリブレーションパターン160/360の異なるそれぞれ
の位置及び/又は向きに対応することができる。言い換えると、3Dキャリブレーション
パターン160/360が第1のカメラ170/370に対して種々の位置及び/又は向
きを有するように動かされるにつれて、3Dキャリブレーションパターン160/360
が異なる位置及び/又は向きにある間に、第1のカメラ170/370が3Dキャリブレ
ーションパターン160/360のそれぞれのキャリブレーション画像を生成する。これ
らのキャリブレーション画像は第1の組のキャリブレーション画像を形成することができ
、第1の組のキャリブレーション画像は、その後、第1のカメラ370からコンピューテ
ィングシステム110の制御回路111に送信することができる。
一実施形態において、第1の組のキャリブレーション画像の各キャリブレーション画像
は、多面体362の少なくとも2つの面(例えば、第1の組の面362A〜362E)と
、第1の組の2Dキャリブレーションパターンの少なくとも2つの2Dキャリブレーショ
ンパターン(例えば、図3D〜図3Fの第1の組の2Dキャリブレーションパターン36
6A〜366E)とを取り込むことができる。例えば、第1の組のキャリブレーション画
像はそれぞれ、図3Aの第1のカメラ370によって生成することができ、第1のカメラ
370は、3Dキャリブレーションパターン360に対して、3Dキャリブレーションパ
ターン360の少なくとも2つの2Dキャリブレーションパターンを第1のカメラ370
から常に視認できるようにする位置及び向きを有することができる。図4Aは、図3Aの
3Dキャリブレーションパターン360の第1の組のキャリブレーション画像のうちの1
つである例示的なキャリブレーション画像500を示す。図4Aの例示的なキャリブレー
ション画像500は、図3A及び図3Dの多面体362の図3B及び図3Dの2Dキャリ
ブレーションパターン366A及び面362Aを取り込む、第1の画像部分566Aを有
することができる。キャリブレーション画像500は、図3B及び図3D両方の2Dキャ
リブレーションパターン366B及び面362Bを取り込む第2の画像部分566Bを更
に有することができ、図3B及び図3D両方の2Dキャリブレーションパターン366C
及び面362Cを取り込む第3の画像部分566Cを更に有することができる。一実施形
態において、第1の組のキャリブレーション画像は、3Dキャリブレーションパターン3
60の多面体362の別の面362Fを取り込まない。
一実施形態において、図1C又は図3Aの制御回路111は、(例えば、図2のステッ
プ201の一部として、又はステップ201後に)、第1の組のキャリブレーション画像
の各キャリブレーション画像から、それぞれの2Dキャリブレーションパターンを取り込
む画像部分(例えば、566A、566B、566C)を抽出することができる。例えば
、制御回路111は、第1の組のキャリブレーション画像のキャリブレーション画像ごと
に、キャリブレーション画像から、第1の2Dキャリブレーションパターンを取り込む第
1の画像部分を抽出することができ、そのキャリブレーション画像は、少なくとも2つの
2Dキャリブレーションパターンを取り込むことができる。一例において、図4Aは、制
御回路111が、キャリブレーション画像500から(図3Dの)2Dキャリブレーショ
ンパターン366Aを取り込む画像部分566Aを抽出することを示す。制御回路111
は、第1の2Dキャリブレーションパターン(例えば、2Dキャリブレーションパターン
366A)のパターン要素を記述する情報を更に記憶することができる。例えば、パター
ン要素がドットである場合には、記憶される情報は、ドットがキャリブレーション画像5
00内に現れるそれぞれの位置のピクセル座標[u v]とすることができる。
一実施形態において、制御回路111は、図4Aのキャリブレーション画像500内の
画像部分566B及び566C等の、キャリブレーション画像内の他の2Dキャリブレー
ションパターンを表す他の画像部分を抽出することができる。画像部分566Bは2Dキ
ャリブレーションパターン366Bを取り込むことができ、画像部分566Cは2Dキャ
リブレーションパターン366Cを取り込むことができる。場合によっては、制御回路1
11は、他の画像部分の検出を助長するために、そして、第1の画像部分の任意の部分が
他の画像部分の一部であると誤って識別される可能性を低減するために、抽出された第1
の画像部分をキャリブレーション画像(例えば、キャリブレーション画像500)から除
去することができる。例えば、制御回路111は、キャリブレーション画像(例えば、キ
ャリブレーション画像500)から第1の画像部分(例えば、画像部分566A)を除去
することによって、更新されたキャリブレーション画像を生成することができる。場合に
よっては、除去は第1の画像部分を黒塗りすることによって行うことができる。一例とし
て、図4Bは更新されたキャリブレーション画像530を示し、第1の画像部分566A
を、第1の画像部分566Aに対応する第1の黒塗りされた部分534に置き換えるよう
に、第1の画像部分566Aが黒塗りされる。場合によっては、第1の画像部分566A
の黒塗りは、第1の画像部分566Aの全てのピクセルを、所定の強度値(例えば、0)
を有するように設定することを伴うことができる。
一実施形態において、制御回路111は、更新されたキャリブレーション画像(例えば
、図4Bの更新されたキャリブレーション画像530)から、第2の2Dキャリブレーシ
ョンパターン(例えば、図3Dのキャリブレーションパターン366C)を取り込む、別
の画像部分とも呼ばれる第2の画像部分(例えば、画像部分566C)を抽出することが
でき、第2の2Dキャリブレーションパターンのパターン要素を記述する情報を記憶する
ことができる。記憶された情報は、例えば、第2の2Dキャリブレーションパターンのパ
ターン要素が更新されたキャリブレーション画像(例えば、更新されたキャリブレーショ
ン画像530)内に現れるそれぞれの位置のピクセル座標[u v]を含むことができ
る。
一実施形態において、制御回路111は、そのような画像部分のうちの1つを除く全て
の画像部分がキャリブレーション画像500から除去されるまで、2Dキャリブレーショ
ンパターンを取り込む第2の画像部分(例えば、566C)及び他の画像部分を除去する
(黒塗りする)ことができる。例えば、図4Cは、更新されたキャリブレーション画像5
30から第2の画像部分556Cを更に除去することによって、制御回路111が別の更
新されたキャリブレーション画像560を生成することを示す。除去は、更新されたキャ
リブレーション画像560内の第2の画像部分566Cを、第2の画像部分566Cに対
応する第2の黒塗りされた部分535に置き換えることによって実行することができる。
制御回路111は、別の更新されたキャリブレーション画像560から、図4Aのキャリ
ブレーション画像500内に表される3つの2Dキャリブレーションパターン366A〜
366Cのうちの第3の2Dキャリブレーションパターン366Bを取り込む第3の画像
部分566Bを抽出することができる。制御回路111は、第3の2Dキャリブレーショ
ンパターン366Bのパターン要素を記述する情報を更に記憶することができる。
一実施形態において、制御回路111は、図2のステップ201において受信された第
1の組のキャリブレーション画像に基づいて、図1B、図1D、図1E及び/又は図3A
の第1のカメラ170/370のキャリブレーションパラメーターの推定値を特定するこ
とができる。例えば、この特定は、第1の組のキャリブレーション画像によって取り込ま
れた第1の2Dキャリブレーションパターンのパターン要素及び第2の2Dキャリブレー
ションパターンのパターン要素を記述する記憶された情報に基づくことができる。場合に
よっては、キャリブレーションパラメーターは、第1のカメラ170/370の画像セン
サー上への画像射影を記述する射影行列K等の内部キャリブレーションパラメーター、又
はレンズひずみ若しくは第1のカメラ170/370が受ける任意の他の形のひずみを記
述するひずみパラメーターとすることができる。そのような例において、特定は、制御回
路111によって実行される内部カメラキャリブレーションの一部とすることができる。
場合によっては、キャリブレーションパラメーターは、第1のカメラ170/370と、
3Dキャリブレーションパターン160/360の特定の2Dキャリブレーションパター
ンとの間の空間的関係、又はより一般的には、第1のカメラ170/370と、図1E及
び/又は図3A〜図3Fの3Dキャリブレーションパターン160/360との間の空間
的関係を記述する変換関数とすることができる。例えば、変換関数は、カメラN(例えば
、第1のカメラ370)の座標系と、2DキャリブレーションパターンM(例えば、第1
の組の2Dキャリブレーションパターン366A〜366Eのいずれか)の座標系との間
の線形変換(例えば、回転及び並進)を記述する行列
とすることができる。より具体的な例として、制御回路111は、第1のカメラ170/
370に関する射影行列KCamera1の推定行列、第1のカメラ170/370に関
する複数のひずみパラメーターのそれぞれの推定値、及び行列
を特定することができる。上記の例において、Camera1は第1のカメラ370を指
すことができ、2DPattern1〜2DPattern5は、2Dキャリブレーショ
ンパターン366A〜366Eをそれぞれ指すことができる。一実施形態において、制御
回路111は、3Dキャリブレーションパターン160/360の第1の組の2Dキャリ
ブレーションパターン(例えば、366A〜366E)のパターン要素(例えば、ドット
)を記述する記憶された情報に基づいて、内部キャリブレーションパラメーターの推定値
及び変換関数の推定関数を特定することができる。例えば、特定は、パターン要素が第1
の組のキャリブレーション画像内に現れる位置を記述するピクセル座標に基づくことがで
き、3Dキャリブレーションパターン160/360の座標系内、又は2Dキャリブレー
ションパターン366A〜366Fのうちの1つの2Dキャリブレーションパターンの座
標系内のパターン要素に関する規定された位置に基づくことができる。特定は、例えば、
Zhengyou Zhangによる「A Flexible New Technique for Camera Calibration」(Technic
al Report MSR-TR-98-71)に記述されているパースペクティブnポイント(Perspective-
n-Point)アルゴリズム(Zhangのアルゴリズムとも呼ばれる)、任意の他のアルゴリズム
、又はその組み合わせを使用することができる。キャリブレーション画像に基づいて、キ
ャリブレーションパラメーターの推定値を特定することは、「Method and System for Pe
rforming Automatic Camera Calibration for Robot Control」と題する米国特許出願第
16/295,940号において更に詳細に記述されており、その内容全体が引用するこ
とにより本明細書の一部をなす。
一実施形態において、推定されるキャリブレーションパラメーターは、第1のカメラ1
70/370と図1B、図1D、図1E及び/又は図3Aのプラットフォーム150/3
50との間の空間的関係、又はより具体的には、第1のカメラ170/370と、プラッ
トフォーム150/350の図3Aの中心355との間の空間的関係を記述する変換関数
とすることができる。例えば、変換関数は、第1のカメラ170/370の座標系と、プ
ラットフォーム150/350の座標系との間の線形変換を記述する行列
とすることができる。場合によっては、プラットフォーム150/350の中心355は
、或る世界点(world point)として取り扱うことができ、
は、第1のカメラ170/370とその世界点との間の関係を記述することができる。場
合によっては、キャリブレーションパラメーターの推定値を特定することは、ハンドアイ
キャリブレーション段階(hand-eye calibration phase)の一部とすることができる。例
えば、ハンドアイキャリブレーション段階は、式:
に基づいて、
を解くことを伴うことができる。
この例において、
は、プラットフォーム150/350の座標系と、図3Gのリンク点357等のリンク点
の座標系との間の空間的関係を記述する変換関数とすることができる。一実施形態におい
て、リンク点357は、プラットフォーム350の中心355以外の、プラットフォーム
350上の任意の点とすることができる。場合によっては、リンク点357は、3Dキャ
リブレーションパターン360に対して静止している点とすることができる。一実施形態
において、リンク点357は、3Dキャリブレーションパターン360と接触しているプ
ラットフォーム350上の任意の点とすることができる。この例において、
は、(図3Aの)アクチュエーター340がプラットフォーム350を回転させるか、又
は別の方法で作動させる量に基づいて、制御回路111によって特定することができる。
例えば、
は、規定された初期位置に対してリンク点357が受ける回転量(例えば、60度又は1
00度の回転)を記述する回転行列を含むことができる。
上記の例において、
は、3Dキャリブレーションパターン160/360の座標系と、第1のカメラ170/
370の座標系との間の空間的関係を記述する行列とすることができ、パースペクティブ
nポイントアルゴリズム又はZhangのアルゴリズム等の、上記のアルゴリズムのうちの1
つに基づいて特定できた場合がある。さらに、
は3Dキャリブレーションパターン160/360の座標系とリンク点357の座標系と
の間の空間的関係を記述する行列とすることができ、一方、
は、第1のカメラ170/370の座標系とプラットフォーム150/350の座標系と
の間の空間的関係を記述する行列とすることができる。上記の例は、式1に基づいて、
及び
を解くハンドアイキャリブレーション演算を伴うことができる。ハンドアイキャリブレー
ション及び式1を解くことは、「Method and System for Performing Automatic Camera
Calibration for Robot Control」と題する米国特許出願第16/295,940号に更
に詳細に記述されており、その内容全体が引用することにより本明細書の一部をなす。
図2に戻ると、方法200は、ステップ203を更に含むことができ、そのステップで
は、制御回路111が、(図1Cの)通信インターフェース113を介して、第2のカメ
ラ180/380から第2の組の1つ以上のキャリブレーション画像を受信することがで
きる。第2の組の1つ以上のキャリブレーション画像は、図3B〜図3Fの多面体362
の図3C/図3Eの面362F(例えば、底面)等の、多面体の別の面を取り込むことが
できる。別の面(例えば、面362F)は、第2のカメラ180/380が向けられる面
とすることができ、及び/又はプラットフォーム150/350(例えば、プラットフォ
ーム350の第1の表面352)と直接接触している多面体362の面とすることができ
る。さらに、第2の組の1つ以上のキャリブレーション画像は、別の面上に配置される別
の2Dキャリブレーションパターン(例えば、2Dキャリブレーションパターン366F
)を取り込むことができるか、又は別の面の輪郭(別の面の外形又はシルエットとも呼ば
れる)を取り込むことができる。
一実施形態において、第2の組の1つ以上のキャリブレーション画像は、異なるそれぞ
れの照明条件で第2のカメラ180/380によって取得された少なくとも一対のキャリ
ブレーション画像を含むことができる。少なくとも一対のキャリブレーション画像は、第
1の照明条件で第2のカメラ180/380によって取得される第1のキャリブレーショ
ン画像と、第1の照明条件とは異なる第2の照明条件で第2のカメラ180/380によ
って取得される第2のキャリブレーション画像とを含むことができ、第1のキャリブレー
ション画像及び第2のキャリブレーション画像はいずれも、プラットフォーム150/3
50上の3Dキャリブレーションパターン160/360の同じ位置及び/又は姿勢に関
して生成される。より具体的には、3Dキャリブレーションパターン160/360は、
少なくとも一対のキャリブレーション画像の第1のキャリブレーション画像が取得される
時点と、少なくとも一対のキャリブレーション画像の第2のキャリブレーション画像が取
得される時点との間で、第2のカメラ180/380に対して静止したままであった場合
がある。場合によっては、第2の組の1つ以上のキャリブレーション画像は、複数対のキ
ャリブレーション画像を含むことができ、各対が、第1の照明条件で第2のカメラ180
/380によって取得されるそれぞれの第1のキャリブレーション画像と、第2の照明条
件で第2のカメラ180/380によって取得されるそれぞれの第2のキャリブレーショ
ン画像とを含む。
一実施形態において、第1の照明条件は、第2のカメラ180/380から見て、3D
キャリブレーションパターン160/360が後方から照明されるバックライト照明条件
である。バックライト照明条件は、例えば、第1の光源120/320を点灯させること
によって作り出すことができる。3Dキャリブレーションパターン160/360は第2
のカメラ180/380と第1の光源120/320との間に配置されるので、第2のカ
メラ180/380から見て、3Dキャリブレーションパターン160/360が後方か
ら照明されると見なすことができる。そのような実施形態では、少なくとも一対のキャリ
ブレーション画像の第1のキャリブレーション画像は、その対のそれぞれのバックライト
キャリブレーション画像と呼ばれる場合がある。場合によっては、第1の照明条件は、第
2の光源130/330が消灯することを更に伴うことができる。場合によっては、後に
更に詳細に論じられるように、バックライトキャリブレーション画像は、3Dキャリブレ
ーションパターン160/360の多面体(例えば、362)の別の面(例えば、362
F)のシルエットを取り込むことができる。
一実施形態において、第2の照明条件は、第2のカメラ180/380から見て、3D
キャリブレーションパターン160/360が前方から照明されるフロントライト照明条
件である。フロントライト照明条件は、例えば、第2の光源130/330を点灯させる
ことによって作り出すことができる。第2の光源130/330は、3Dキャリブレーシ
ョンパターン160/360の多面体の別の面(例えば、362F)(又は第2のカメラ
180/380から視認できる多面体の任意の他の面)を直接照明することができるので
、第2のカメラ180/380から見て、3Dキャリブレーションパターン160/36
0は前方から照明されると見なすことができる。そのような実施形態では、少なくとも一
対のキャリブレーション画像の第2のキャリブレーション画像は、その対のそれぞれのフ
ロントライトキャリブレーション画像と呼ばれる場合がある。場合によっては、第2の照
明条件は、第1の光源120/320を消灯させることを更に伴うことができる。場合に
よっては、後に更に詳細に論じられるように、フロントライトキャリブレーション画像は
、3Dキャリブレーションパターン160/360の多面体の別の面(例えば、362F
)上に配置される2Dキャリブレーションパターン(例えば、366F)を取り込むこと
ができる。一実施形態において、第2の組の1つ以上のキャリブレーション画像は複数対
の画像を含むことができ、各対がそれぞれのバックライトキャリブレーション画像及びそ
れぞれのフロントライトキャリブレーション画像を含む。少なくとも一対のキャリブレー
ション画像の一例として、図5A及び図5Bは、第1の照明条件で第2のカメラ180/
380によって取得される第1のキャリブレーション画像400(例えば、バックライト
キャリブレーション画像)と第2の照明条件で第2のカメラ180/380によって取得
される第2のキャリブレーション画像450(例えば、フロントライトキャリブレーショ
ン画像)との対を示す。
場合によっては、図1B、図1D、図1E及び/又は図3Aの第2のカメラ180/3
80を用いて、その対のそれぞれの第1のキャリブレーション画像400及びその対のそ
れぞれの第2のキャリブレーション画像450の両方を取得することは、撮像誤差源を補
償することができる。例えば、図1D〜図1E/図3Aのプラットフォーム150/35
0の透明材料(例えば、ガラス)は、その材料を通って第2のカメラ180/380まで
進む光を曲げるか、又は別の方法でひずませる場合がある。このひずみは撮像誤差源にな
る場合があり、図1C/図3Aの制御回路111が、例えば、3Dキャリブレーションパ
ターン160/360の多面体(例えば、図3Aの多面体362)の底面角の位置等の図
1E/図3Aの3Dキャリブレーションパターン160/360の特徴を正確に識別する
能力を低下させるおそれがある。2つのキャリブレーション画像400/450は異なる
照明条件で取得されるので、場合によっては、その対のそれぞれの第2のキャリブレーシ
ョン画像450(例えば、フロントライトキャリブレーション画像)が、その対のそれぞ
れの第1のキャリブレーション画像400(例えば、バックライトキャリブレーション画
像)内に存在する場合があるひずみ又は他の撮像誤差を補償するために使用することがで
きる情報を含む場合があり、逆も同様である。例えば、後に更に詳細に論じられるように
、制御回路111は、第2のカメラ180/380によって取得される一対のキャリブレ
ーション画像のそれぞれの第1のキャリブレーション画像400及びそれぞれの第2のキ
ャリブレーション画像450の両方を用いて、3Dキャリブレーションパターン160/
360の多面体の別の面(例えば、図3Eの面362F)の角の位置に関する座標を特定
するように構成することができる。
一実施形態において、第2のカメラ180/380によって取得される一対のキャリブ
レーション画像のそれぞれの第1のキャリブレーション画像400は、上記で言及された
ように、3Dキャリブレーションパターン(例えば、360)の多面体(例えば、362
)の別の面(例えば、362F)のシルエット412を取り込むことができ、バックライ
ト照明条件で生成することができる。一例において、バックライト照明条件は、図1B及
び図3Aの第1の光源120/320(例えば、上部LED)を点灯させ、図1B及び図
3Aの第2の光源130/330(例えば、底部LED)を消灯させることによって作り
出すことができる。例えば、制御回路111は、第1の光源120/320を点灯させ、
第2の光源130/330を消灯させるために、図1Cの通信インターフェース113を
介して、第1の光源120/320及び第2の光源130/330に第1の組の1つ以上
の光源コマンドを出力することができる。第2の光源130/330は、多面体(例えば
、多面体362)の別の面(例えば、面362F)の方に、又は別の面に向けることがで
き、一方、第1の光源120/320は別の面の後方に(例えば、第2の光源130/3
30から見て、又は第2のカメラ180/380から見て後方に)位置すると見なすこと
ができる。この実施形態では、第1の光源120/320が点灯し、第2の光源130/
330が消灯している間に、第2のカメラ180/380に少なくとも一対のキャリブレ
ーション画像のうちの(図5Aの)第1のキャリブレーション画像400を生成させるた
めに、通信インターフェース113を介して、第2のカメラ180/380に第1の組の
1つ以上のカメラコマンドを更に出力することができ、少なくとも一対のキャリブレーシ
ョン画像は、第2のカメラ180/380によって取得されるか、又は別の方法で生成さ
れる第2の組の1つ以上のキャリブレーション画像の一部である。上記の実施形態におい
て、第2の光源130/330は消灯しているので、図1B又は図3Aのプラットフォー
ム150/350の図1B、図1D〜図1E/図3Aの第2の表面154/354(例え
ば、底面)にも、キャリブレーションパターン160/360の多面体(例えば、362
)の別の面(例えば、面362F)にも光は与えられない。したがって、多面体の別の面
は、一対のキャリブレーション画像の第1のキャリブレーション画像(例えば、400)
において暗く見える場合がある。さらに、3Dキャリブレーションパターン160/36
0は、第1の光源120/320を遮るか、若しくは覆い隠す場合があるか、又はより一
般的には、点灯している第1の光源120/320から、第2のカメラ180/380を
部分的に、又は完全に遮断する場合がある。そのような条件が、3Dキャリブレーション
パターン160/360の多面体の別の面(例えば、362F)のシルエット412を更
に強調することができる。
一実施形態において、図5Bの第2のキャリブレーション画像450は、上記で論じら
れたように、フロントライト照明条件の間に生成することができる。一例において、フロ
ントライト照明条件は、図1B又は図3Aの第1の光源120/320(例えば、上部L
ED)が消灯し、第2の光源130/330(例えば、底部LED)が点灯するときに作
り出すことができる。例えば、制御回路111は、通信インターフェース113を介して
、第1の光源120/320に、そして第2の光源130/330を点灯させるために第
2の光源130/330に、第2の組の1つ以上の光源コマンドを出力することができる
。場合によっては、第2の組の1つ以上の光源コマンドは、第1の光源120/320を
消灯させることもできる。第2の光源130/330が点灯しており、第1の光源120
/320が消灯している間に、第2のカメラ180/380に少なくとも一対のキャリブ
レーション画像の第2のキャリブレーション画像450を生成させるために、制御回路1
11は、通信インターフェース113を介して、第2のカメラ180/380に第2の組
の1つ以上のカメラコマンドを更に出力することができ、少なくとも一対のキャリブレー
ション画像は、第2のカメラ180/380によって取得される第2の組の1つ以上のキ
ャリブレーション画像の一部である。図5Bに示されるように、第2のキャリブレーショ
ン画像450は、3Dキャリブレーションパターン160/360の複数の2Dキャリブ
レーションパターン(例えば、366A〜366F)のうちの別の2Dキャリブレーショ
ンパターン(例えば、図3Eの2Dキャリブレーションパターン366F)を取り込む画
像部分466Fを有することができ、別の2Dキャリブレーションパターンは、3Dキャ
リブレーションパターン160/360の多面体の別の面(例えば面362F)上に配置
される。
図5A及び図5Bは、ステップ203における第2の組のキャリブレーション画像が3
Dキャリブレーションパターンの多面体の別の面(例えば、362F)のみを取り込むこ
とができ、かつ多面体の第1の組の面(例えば、面366A〜366E)のいずれも取り
込まない実施形態を示す。別の面は、プラットフォーム150/350と直接接触してい
る面とすることができる。他の実施形態では、第2の組のキャリブレーション画像は、3
Dキャリブレーションパターンの多面体の第1の組の面のうちの1つ以上(例えば、図3
D及び図3Eの面366C又は366E)を取り込むこともできる。例えば、第2のカメ
ラ180/380は、或る角度をなして第1の組の面のうちの1つ以上を視認し、(別の
面362Fを取り込むことに加えて)第1の組の面の1つ以上を取り込むキャリブレーシ
ョン画像を生成できる場合がある。しかしながら、第2のカメラ180/380はプラッ
トフォーム150/350の透明材料を通して第1の組の面の1つ以上(例えば、面36
2C)を視認しているので、第2のカメラ180/380が第1の組の面を正面から視認
していない場合に特に、透明材料は、第2の組の1つ以上のキャリブレーション画像にお
ける第1の組の面の見え方にひずみを導入する場合がある。したがって、制御回路111
は、いくつかの実施態様において、第2の組の1つ以上のキャリブレーション画像から、
多面体の第1の組の面のいずれか(例えば、面362C、362E)を取り込む画像部分
を除去することができる。いくつかの実施態様において、制御回路111は、第1の組の
面のいずれかを取り込む第2の組の1つ以上のキャリブレーション画像の画像部分を単に
無視することができる。
一実施形態において、制御回路111は、第2の組の1つ以上のキャリブレーション画
像に基づいて、第2のカメラ180/380に関するキャリブレーションパラメーターの
推定値を特定するように構成することができる。例えば、制御回路111は、第2のカメ
ラ180/380に関する、射影行列KCamera2又はひずみパラメーター等の、内
部キャリブレーションパラメーターの推定値を特定するために、第2のカメラ180/3
80に関する内部キャリブレーションを実行するように構成することができる。場合によ
っては、キャリブレーションパラメーターは、変換関数
を含むことができ、2DPattern6は、例えば、別の3Dキャリブレーションパタ
ーン366Fを指すことができ、Camera2は第2のカメラ380を指すことができ
る。一実施形態において、内部キャリブレーションパラメーターの推定値又は
の推定関数は、キャリブレーション画像450内に、又はそのパターン要素が現れる第2
の組の1つ以上のキャリブレーション画像の任意の他のキャリブレーション画像内に現れ
る、別の2Dキャリブレーションパターン(例えば、2Dキャリブレーションパターン3
66F)のパターン要素(例えば、ドット)に基づいて特定することができる。その推定
は、第1のカメラ170/370の場合の推定と同じようにして実行することができる。
一実施形態において、ステップ201の間に第1のカメラ170/370によって生成
される第1の組のキャリブレーション画像はそれぞれ、ステップ203の間に第2のカメ
ラ180/380によって生成される第2の組のキャリブレーション画像の少なくとも1
つに対応することができ、逆も同様である。第1の組のキャリブレーション画像のキャリ
ブレーション画像が生成された時点と、第2の組の1つ以上のキャリブレーション画像の
キャリブレーション画像が生成された時点との間の期間において、3Dキャリブレーショ
ンパターン160/360が、第1のカメラ170/370に対して、かつ第2のカメラ
180/380に対して静止したままであった場合には、場合によっては、第1の組のキ
ャリブレーション画像のキャリブレーション画像が、第2の組の1つ以上のキャリブレー
ション画像のキャリブレーション画像に対応すると見なすことができる。両方のキャリブ
レーション画像に関して、3Dキャリブレーションパターン160/360がプラットフ
ォーム150/350上で同じ位置及び/又は姿勢にあった間に、2つのキャリブレーシ
ョン画像が取得されたか、又は別の方法で生成された場合には、場合によっては、第1の
カメラ170/370によって取得されるか、又は別の方法で生成されるキャリブレーシ
ョン画像は、第2のカメラ180/380によって取得されるか、又は別の方法で生成さ
れるキャリブレーション画像に対応すると見なすことができる。
図2に戻ると、方法200はステップ205〜209を更に含むことができ、それらの
ステップでは、制御回路111が、3Dキャリブレーションパターン160/360の多
面体(例えば、多面体362)の1組の角の座標を特定することができる。制御回路11
1は、第1のカメラ170/370に対する(例えば、第1のカメラ170/370の座
標系において)これらの角に関する1組の座標を特定し、第2のカメラ180/380に
対する(例えば、第2のカメラ180/380の座標系において)当該角に関する1組の
座標を特定することができる。場合によっては、制御回路111は、2組の座標を用いて
、第1のカメラ170/370と第2のカメラ180/380との間の空間的関係を特定
することができる。空間的関係は、第2のカメラ180/380に対する第1のカメラ1
70/370の位置及び/又は向きを記述することができ、逆も同様である。一例におい
て、空間的関係は、行列
として表すことができ、その行列は、第1のカメラ170/370の座標系(Camer
a1と表記される)と、第2のカメラ180/380の座標系(Camera2と表記さ
れる)との間の線形変換を表す。
より具体的には、ステップ205において、制御回路111は、第1の組の2Dキャリ
ブレーションパターン(例えば、2Dキャリブレーションパターン366A〜366E)
に基づいて、第1のカメラ170/370の位置及び向きに対する多面体(例えば、多面
体362)の別の面(例えば、面362F)の1組のそれぞれの角を表す第1の組の座標
を特定することができる。例えば、1組のそれぞれの角は、図3Cに表されるような、面
362Fの1組の4つの角364a〜364dとすることができる。場合によっては、こ
の1組のそれぞれの角364a〜364dは、3Dキャリブレーションパターン360の
多面体362の底面角とすることができる。場合によっては、第1の組の座標は、第1の
カメラ170/370の座標系内に存在することができる。一実施形態において、1組の
それぞれの角は3Dキャリブレーションパターン160/360の多面体(例えば、多面
体362)の、例えば、底面の角であるので、それらの角は第2のカメラ180/380
から常に視認できる場合があるのに対して、1組のそれぞれの角の1つ以上は、場合によ
って、第1のカメラ170/370から視認できない場合がある。一実施形態において、
制御回路111は、ステップ201において受信された第1の組のキャリブレーション画
像のキャリブレーション画像ごとにステップ205を実行することができ、ステップ20
5は、キャリブレーション画像内に取り込まれた2Dキャリブレーションパターン及びパ
ターン要素に基づいて、実行することができる。
場合によっては、制御回路111は、3Dキャリブレーションパターン160/360
の幾何学的形状に関する規定された情報(所定の情報とも呼ばれる)を用いて、第1の組
の座標を特定することができる。例えば、ステップ205は、第1の組のキャリブレーシ
ョン画像内の第1の組の2Dキャリブレーションパターン(例えば、366A〜366E
)に基づいて、多面体(例えば、多面体362)の3Dモデルを決定することを伴うこと
ができる。そのような実施形態において、多面体の別の面の1組のそれぞれの角(例えば
、角364a〜364d)に関する第1の組の座標は、多面体(例えば、多面体362)
の3Dモデルに基づいて特定することができる。一実施形態において、多面体の3Dモデ
ルは、多面体の3次元構造を記述することができる。例えば、3Dモデルは、多面体の面
間の空間的関係を記述することができる。場合によっては、多面体の2つ以上の面間の空
間的関係は、行列等の変換関数として表すことができる。
3Dキャリブレーションパターンの多面体の3Dモデルを生成し、使用する一例として
、制御回路111は、第1の組の2Dキャリブレーションパターン(例えば、366A〜
366E)に基づいて、多面体(例えば、多面体362)の第1の組の面(例えば、36
2A〜362E)によって形成されるそれぞれの仮想面を記述する情報を特定することが
できる。この例において、多面体の3Dモデルは、少なくとも、それぞれの仮想面を記述
する情報によって表すことができる。場合によっては、制御回路111は、多面体の3つ
のそれぞれの面(例えば、多面体362の面362A、面362B及び面362C)に対
応する3つの仮想面の交点として、多面体の上面(例えば、図3Bの面362A)の角等
の、多面体の角の座標を特定することができる。また、交点は、それぞれの仮想面のうち
の少なくとも3つが交わる位置と呼ばれる場合もある。場合によっては、多面体の3Dモ
デルは、多面体の寸法の規定値を更に含むことができる。キャリブレーションパターン1
60/360の多面体の寸法(例えば、サイズ)は、制御回路111によって記憶できる
か、又は別の方法でアクセス可能な場合がある規定値を有するので、制御回路111は、
後に更に詳細に論じられるように、規定寸法を用いて、多面体の底面の角等の、多面体の
別の角の座標を更に特定することができる。
一実施形態において、制御回路111は、多面体(例えば、多面体362)の第1の組
の面(例えば、面362A〜362E)間の関係に基づいて、それぞれの仮想面を記述す
る情報を特定することができる。一例として、図3Aの3Dキャリブレーションパターン
360は、3Dキャリブレーションパターン360の多面体362の6つの面362A〜
362Fのそれぞれの向きを規定する、6つの仮想面によって画定することができる。6
つの仮想面はそれぞれ、6つの面362A〜362Fと同一平面をなすことができる。一
実施形態において、制御回路111は、仮想面に対応する面上に配置される2Dキャリブ
レーションパターンのパターン要素に基づいて、特定の仮想面を識別するように構成する
ことができる。例えば、制御回路111は、面362A上に配置される2Dキャリブレー
ションパターン366Aの少なくとも3つのドットの位置に基づいて、図3Dの多面体3
62の面362Aによって画定される仮想面を識別するように構成することができ、それ
らの少なくとも3つのドットは同一直線上にない。より具体的には、制御回路111は、
面362Aによって画定される仮想面を識別する情報を特定するように構成することがで
きる。その情報は、例えば、仮想面に対する法線ベクトル、若しくは平面を表す式(例え
ば、ax+by+cz=0)の形をとることができるか、又は何らかの他の形の情報を有
することができる。制御回路111は、2Dキャリブレーションパターン366Aの少な
くとも3つのドットのそれぞれの位置に基づいて、この情報を特定するように構成するこ
とができる。同様に、制御回路111は、2Dキャリブレーションパターン366B〜3
66Eのパターン要素の位置に基づいて、面362B〜362Eのうちの1つ以上によっ
て画定されるそれぞれの仮想面を識別するように構成することができる。
上記で言及されたように、制御回路111は、多面体の第1の組の面(例えば、362
A〜362E)間の空間的関係を特定することができる。そのような実施形態では、それ
ぞれの仮想面を記述する情報は、多面体(例えば、多面体362)の第1の組の面(例え
ば、面362A〜362E)間の空間的関係に基づくことができる。一実施形態において
、第1の組の面間の空間的関係は変換関数
として表すことができ、2DPatternMは第1の組の2Dキャリブレーションパタ
ーンのうちの1つ(例えば、第1の組の2Dキャリブレーションパターン366A〜36
6Eのうちの1つ)であり、2DPatternNは第1の組の2Dキャリブレーション
パターンのうちの別の1つである。例えば、
は、2Dキャリブレーションパターン366Aによって形成される仮想面と2Dキャリブ
レーションパターン366Bによって形成される仮想面との間の90度回転を記述するこ
とができ、2D Pattern1は図3Dの2Dキャリブレーションパターン366A
を指しており、2D Pattern2は図3Dの2Dキャリブレーションパターン36
6Bを指している。変換関数によって記述されるこの空間的関係を用いて、共通の座標系
において仮想面に関する情報を表すことができる。
を特定する一例として、制御回路111は、
及び
に基づいて、
を特定することができる。
及び
の特定は上記で説明されている。一例において、
及び
の特定は、式:
を解くことを伴うことができる。
上記の式において、[u,v]は、キャリブレーション画像内に2Dキャリブレーショ
ンパターンN(例えば、366A又は366B)のパターン要素が現れるピクセル座標を
指すことができ、kCamera1は、第1のカメラ170/370の射影行列とするこ
とができる。キャリブレーション画像は、ステップ201において受信された第1の組の
キャリブレーション画像のうちの1つとすることができる。さらに、座標[x,y,z]
は2DキャリブレーションパターンNの座標系(2DキャリブレーションパターンNのパ
ターン座標系とも呼ばれる)内のそのパターン要素の規定された座標とすることができる
。上記で言及されたように、
及び
は、2Dキャリブレーションパターン366A(2DPattern1と表記される)と
2Dキャリブレーションパターン366B(2DPattern2と表記される)との間
の空間的関係を特定するために特定することができる。一例において、2Dキャリブレー
ションパターン366Aと2Dキャリブレーションパターン366Bとの間の空間的関係
は、式:
に基づいて特定することができる。
上記の例において、2Dキャリブレーションパターン366Aは面362A上に配置さ
れ、2Dキャリブレーションパターン366Bは面362B上に配置されるので、変換関

は、図3Dの多面体362の面362Aと面362Bとの間の空間的関係を更に記述する
ことができる。一例において、上記で言及されたように、
は、面362Aと面362Bとの間の90度回転を記述することができる。一実施形態に
おいて、制御回路111は、上記で説明されたのと同じようにして、
(2DPattern3、2DPattern4及び2DPattern5はそれぞれ2
Dキャリブレーションパターン366C〜366Eを指す)のうちの1つ以上を特定する
ことができるか、又は2Dキャリブレーションパターンの何らかの他の組み合わせ間の変
換関数を特定することができる。
一実施形態において、制御回路111は、多面体(例えば、多面体362)の第1の組
の面(例えば、362A〜362E)間の空間的関係を用いて、多面体の第1の組の角(
例えば、上面角)に関する1組の座標を特定することができる。これらの座標を用いて、
多面体の他の角(例えば、底面角)に関する座標を特定することができる。例えば、空間
的関係は、
及び
等の変換関数によって記述することができ、第1の組の角は、図3Dの多面体362の面
362Aの角とすることができる。この例において、制御回路111は、上記のように、
図3Dの、面362Aによって画定される第1の仮想面を識別する情報を特定し、面36
2Bによって画定される第2の仮想面を識別する情報を特定し、面362Cによって画定
される第3の仮想面を識別する情報を特定することができる。一実施形態において、制御
回路は、
及び
を用いて、2Dキャリブレーションパターン366Aである、Pattern1の座標系
等の、共通の座標系において上記の情報を表すことができる。より具体的には、制御回路
111が、第2の仮想面を識別する情報を特定するとき、この情報は最初に、面362B
上に配置される2Dキャリブレーションパターン366Bである、Pattern2の座
標系に対して表すことができる。同様に、制御回路111が、第3の仮想面を識別する情
報を特定するとき、この情報は最初に、面362C上に配置される2Dキャリブレーショ
ンパターン366Cである、Pattern3の座標系に対して表すことができる。第2
の仮想面を識別する情報(例えば、法線ベクトル又は仮想面を記述する式)を2Dキャリ
ブレーションパターン366Bの座標系において表すことから、2Dキャリブレーション
パターン366Aの座標系において表すように変換するために、制御回路111は、その
情報に、
又はその逆関数を適用する(例えば、乗算する)ことができる。第3の仮想面を識別する
情報を2Dキャリブレーションパターン366Cの座標系において表すことから、2Dキ
ャリブレーションパターン366Aの座標系において表すように変換するために、制御回
路111は、その情報に、
又はその逆関数を更に適用することができる。
一実施形態において、第1の仮想面、第2の仮想面及び第3の仮想面を識別する情報が
、2Dキャリブレーションパターン366Aの座標系等の共通の座標系に対して表された
後に、制御回路111は、第1の仮想面、第2の仮想面及び第3の仮想面が交わる座標を
特定するように構成することができる。この座標は、第1の組の角のうちの1つ(例えば
、図3Cの角364bの真上にある面362Aの角)の位置とすることができる。一実施
形態において、この交点の特定は、後に更に詳細に論じられるように、制御回路111が
、第4の仮想面及び第5の仮想面を識別する情報を特定した後に行うことができる。
より具体的には、上記の例において、第1の仮想面、第2の仮想面及び第3の仮想面は
、多面体362の第1の組の面362A〜362Eのうちの第1の面362A、第2の面
362B及び第3の面362Cによって画定することができ、より一般的には、それらの
面と同一平面をなすことができる。一実施形態において、制御回路111は、多面体(例
えば、362)の第1の組の面362A〜362Eの第4の面362Dによって画定され
る、より一般的には、第4の面362Dと同一平面をなす第4の仮想面を識別する情報を
特定するように構成することができる。この特定は、3Dキャリブレーションパターン3
60の多面体362の規定寸法「d」に基づくことができる。上記で言及されたように、
規定寸法「d」は、多面体362の3Dモデルの一部とすることができる。3Dモデルは
、例えば、多面体362が立方体であることを示すことができる。制御回路111は、多
面体362が寸法「d」を有する立方体であるので、第4の面362Dが、それゆえ、第
1の面362Aに平行であり、規定寸法「d」に等しい距離だけ第1の面362Aから離
間されると判断することができる。その際、制御回路111は、第1の仮想面に平行であ
り、寸法「d」に等しい距離だけ第1の仮想面から離間される仮想面として第4の仮想面
を特定することができる。
同様に、制御回路111は、(図3Eの)第5の面362Eによって画定されるか、又
はより一般的には、その面と同一平面をなす第5の仮想面を識別する情報を特定するよう
に構成することができる。例えば、制御回路は、多面体362が寸法「d」を有する立方
体であるので、第5の面362Eが、それゆえ、第3の面362Cと平行であり、第3の
面362Cから寸法「d」に等しい距離だけ離間されると判断することができる。その際
、制御回路111は、第3の仮想面と平行であり、第3の仮想面から寸法「d」に等しい
距離だけ離間される仮想面として第5の仮想面を特定することができる。
一実施形態において、制御回路111は、第1の仮想面から第5の仮想面までの仮想面
が互いに交わる点の座標を特定することができ、それらの点はそれぞれ、第1の仮想面か
ら第5の仮想面までの仮想面の中からの少なくとも3つの仮想面の交点である。上記の例
において、第1の仮想面から第5の仮想面までの仮想面は少なくとも4つの交点を有する
ことができ、各交点は、仮想面のうちの少なくとも3つの仮想面の交点である。これら4
つの交点は、多面体362の面362Aの4つの角と一致する場合がある。これら4つの
角は、上記で列挙された第1の組の角とすることができる。一実施形態において、これら
4つの角は、多面体362の1組の上面角とすることができる。一実施形態において、制
御回路111は、例えば、2Dキャリブレーションパターン366AであるPatter
n1の座標系において最初に上記の座標を特定する。制御回路111は、
を用いて、これらの座標を、Pattern1の座標系内から第1のカメラ170/37
0の座標系内に変換するように構成することができる。これらの座標は別の1組の座標と
見なすことができ、その座標を用いて、ステップ205において多面体の別の面(例えば
、362F)の角の第1の組の座標を特定することができる。
より具体的には、ステップ205を再び参照すると、制御回路111は、一実施形態に
おいて、第1の組の角に関して上記で特定された座標に基づいて、3Dキャリブレーショ
ンパターン160/360の多面体(例えば、362)の別の面(例えば、面362F)
の1組のそれぞれの角に関する第1の組の座標を特定することができる。例えば、ステッ
プ205における別の面のそれぞれの角(例えば、角364a〜364d)は多面体(例
えば、多面体362)の底面角とすることができ、一方、上記の第1の組の角(例えば、
面362Aの角)は多面体の上面角とすることができる。場合によっては、第1の組の角
の座標は、別の1組の座標、すなわち第3の組の座標と呼ばれる場合がある。そのような
例において、制御回路111は、第1の組の角(例えば、上面角)に関する別の1組の座
標すなわち第3の組の座標に基づいて、かつ3Dキャリブレーションパターン360の多
面体(例えば、362)の規定寸法に基づいて、別の面の角(例えば、底面角)に関する
第1の組の座標を特定するように構成することができる。
例えば、制御回路111は、多面体の別の面の角に関する第1の組の座標を、別の1組
の座標のそれぞれの座標から規定寸法「d」に等しい距離だけそれぞれ離間された1組の
座標として特定するように構成することができる。例えば、別の1組の座標が3Dキャリ
ブレーションパターン360のキャリブレーションパターン366Aの座標系内の座標[
,y,z]、[x,y,z]、[x,y,z]、[x,y,z
]を含む場合には、制御回路111は、第1の組の座標の対応する座標を、同じくキャ
リブレーションパターン366Aの座標系内の、[x,y,z−d]、[x,y
,z−d]、[x,y,z−d]、[x,y,z−d]に等しいと判断
することができる。そのような例において、制御回路111は、これらの座標をキャリブ
レーションパターン366Aの座標系内から第1のカメラ370の座標系内に変換するた
めに、[x,y,z−d]、[x,y,z−d]、[x,y,z−d
]、[x,y,z−d]のそれぞれを
又はその逆関数と乗算するように構成することができる。
図2に戻ると、方法200はステップ207を更に含むことができ、そのステップでは
、ステップ203において受信された第2の組の1つ以上のキャリブレーション画像に基
づいて、制御回路111が、第2のカメラ180/380の位置及び向きに対する多面体
(例えば、362)の別の面(例えば、362F)の1組のそれぞれの角(例えば、36
4a〜364d)を表す第2の組の座標を特定することができる。一実施形態において、
第2の組の座標は、第2のカメラ180/380の座標系内に存在することができる。ス
テップ209に関して後に更に詳細に論じられるように、制御回路111は、第1の組の
座標を第2の組の座標に変換する変換関数を特定することによって、第1のカメラ170
/370と第2のカメラ180/380との間の空間的関係を特定するように構成するこ
とができ、逆も同様である。第1の組の座標は、第1の組のキャリブレーション画像のう
ちの少なくとも1つのキャリブレーション画像から特定することができ、第2の組の座標
は、第2の組の1つ以上のキャリブレーション画像のうちの1つ以上の対応するキャリブ
レーション画像から特定することができる。上記で論じられたように、第1のカメラ17
0/370によって取得されたキャリブレーション画像及び第2のカメラ180/380
によって取得されたキャリブレーション画像は、2つのキャリブレーション画像が取得さ
れた時点間で、3Dキャリブレーションパターン160/360が両方のカメラに対して
静止したままであった場合には、互いに対応することができる。この実施形態において、
制御回路111は、第2の組のキャリブレーション画像のうちの1つにおいて1組のそれ
ぞれの角(例えば、364a〜364d)が現れるピクセル座標(例えば、4つのピクセ
ル座標)を識別し、そのピクセル座標に逆射影行列
を適用して、第2のカメラ180/380の座標系内のそれぞれの角の対応する座標を特
定することによって、第2の組の座標を特定することができる。一実施形態において、制
御回路111は、第2の組の1つ以上のキャリブレーション画像のキャリブレーション画
像ごとにステップ207を実行することができる。
一実施形態において、第2の組の1つ以上のキャリブレーション画像が、第1の照明条
件で第2のカメラ180/380によって取得される第1のキャリブレーション画像(例
えば、図5Aの400)と、第2の照明条件で第2のカメラ180/380によって取得
される第2のキャリブレーション画像(例えば、図5Bの450)との少なくとも1つの
対を含む場合には、ステップ207は、その対の第1のキャリブレーション画像及びその
対の第2のキャリブレーション画像の両方を用いて実行することができる。第2の組の1
つ以上のキャリブレーション画像が、それぞれの第1のキャリブレーション画像及びそれ
ぞれの第2のキャリブレーション画像の複数対を含む場合には、ステップ207は、その
対のそれぞれの第1のキャリブレーション画像及びその対のそれぞれの第2のキャリブレ
ーション画像を用いて、対ごとに実行することができる。そのような実施形態の一例が図
5C及び図5Dに示される。より具体的には、図5Cは、第1の照明条件で第2のカメラ
180/380によって取得される第1のキャリブレーション画像400の一部を示し、
図5Dは、第2の照明条件で第2のカメラ180/380によって取得される第2のキャ
リブレーション画像450の一部を示す。この例において、制御回路111は、図5B及
び図5Dの第2のキャリブレーション画像450に基づいて、第2のカメラ180/38
0によって取得される一対の画像の第2のキャリブレーション画像450において別の2
Dキャリブレーションパターン(例えば、2Dキャリブレーションパターン366F)の
それぞれの角が現れる1組のピクセル領域を特定することができる。例えば、図5Dは、
制御回路111が、(図3Eの)別のキャリブレーションパターン366Fの4つのそれ
ぞれの角が現れる1組のピクセル領域480a〜480dを特定した例を示す。一実施形
態において、制御回路111は、1組のピクセル領域480a〜480dを、第2のキャ
リブレーション画像450内に現れるそれぞれの周辺パターン要素(例えば、周辺ドット
)付近にある第2のキャリブレーション画像450内の領域として特定するか、又は別の
方法で識別することができる。場合によっては、周辺パターン要素は、そのパターン要素
の少なくとも一方の側において隣接するパターン要素を有しないか、又はそのパターン要
素の複数の側において隣接するパターン要素を有しないパターン要素とすることができる
。例えば、図5Dは、第2のキャリブレーション画像450内に現れる周辺パターン要素
482a〜482dを示し、周辺パターン要素482a〜482dはそれぞれ、その周辺
パターン要素の少なくとも2つの側において隣接するパターン要素を有しない。場合によ
っては、図5Dに示されるように、ピクセル領域480a〜480dはそれぞれ、規定サ
イズを有することができ、及び/又はそれぞれの周辺パターン要素482a〜482dか
ら規定距離だけ離間することができる。他の場合には、ピクセル領域480a〜480d
はそれぞれ、それぞれの周辺パターン要素482a〜482dを含むことができる。
一実施形態において、制御回路111が、図5Dの第2のキャリブレーション画像45
0内のピクセル領域480a〜480dを識別したか、又は別の方法で特定したとき、制
御回路は、同じく1組のピクセル領域480a〜480d内で、図5Cの第1のキャリブ
レーション画像400を探索し、第2のカメラ180/380によって取得される一対の
画像の第1のキャリブレーション画像400内に別の面(例えば、362F)の1組のそ
れぞれの角(例えば、図3Cの364a〜364d)が現れるピクセル座標を識別するこ
とができる。例えば、制御回路111が、一対の画像の第2のキャリブレーション画像4
50から、ピクセル領域のうちの1つがピクセル[u,v]、[u,v]、[u
,v]、[u,v]によって囲まれる長方形領域であると判断する場合には、制
御回路111は、一対の画像の第1のキャリブレーション画像400内の同じ長方形領域
(すなわち、[u,v]、[u,v]、[u,v]、[u,v]によっ
て囲まれる領域)を探索し、多面体の別の面のそれぞれの角のうちの1つの角のピクセル
座標[u,v]を識別することができる。
一実施形態において、第2のカメラ180/380によって取得される一対のキャリブ
レーション画像の第1のキャリブレーション画像(例えば、400)内に1組のそれぞれ
の角が現れるピクセル座標に基づいて、ステップ207において、1組のそれぞれの角に
関する第2の組の座標が特定される。例えば、上記で言及されたように、制御回路111
は、多面体の別の面のそれぞれの角のうちの1つの角のピクセル座標[u,v]を識
別することができる。この例では、制御回路111は、その後、
を計算した結果に基づいて、第2の組の座標のうちの1つ[x’y’z’]を特定するこ
とができる。
異なるそれぞれの照明条件を用いて取得された一対のキャリブレーション画像を使用す
ることを伴う上記の実施形態は、別の面のそれぞれの角のピクセル座標が特定されるロバ
スト性を改善することができる。例えば、図5A〜図5Dを参照すると、その対の第1の
キャリブレーション画像400は、プラットフォーム150/350の透明材料によって
、又は何らかの他の撮像誤差源によって引き起こされるひずみの結果として撮像誤差を含
む場合がある。場合によっては、撮像誤差によって、第1のキャリブレーション画像40
0のいくつかの部分が、3Dキャリブレーションパターン160/360の多面体の面の
角として誤って現れるおそれがある。しかしながら、制御回路111は、その対の第2の
キャリブレーション画像450から識別されるピクセル領域のみに探索を制限することに
よって、そのような部分を多面体の面の角として誤って識別するのを回避することができ
る。第2のキャリブレーション画像450内で視認できるドット又は他のパターン要素に
頼り、そのパターン要素のうちのいくつかに隣接するか、又はそれを包囲する領域のみを
探索して、多面体の面の角を検出することによって、第2のキャリブレーション画像45
0は、ピクセル領域を十分な精度で識別できるようにする場合がある。結果として、第1
の照明条件で取得される第1のキャリブレーション画像400と、第2の照明条件で取得
される第2のキャリブレーション画像450との組み合わせを使用することは、3Dキャ
リブレーションパターン160/360の別の面のそれぞれの角のピクセル座標が特定さ
れるロバスト性を改善することができる。
一実施形態において、ステップ207は、図5B及び図5Dの第2のキャリブレーショ
ン画像450からの情報に基づいて、第2の組の座標を調整することを伴うことができる
。例えば、制御回路111は、図5A及び図5Cの第1のキャリブレーション画像400
内に取り込まれた別の面(例えば、面362F)のシルエット412に基づいて、多面体
(例えば、多面体362)の別の面(例えば、面362F)の1組のそれぞれの角(例え
ば、364a〜364d)の第2の組の座標の第1の推定座標を特定することができる。
一例として、制御回路111は、角364a〜364dの座標の第1の推定座標を[a
’,b’,c’]、[a’,b’,c’]、[a’,b’,c’]及び
[a’,b’,c’]と特定することができる。制御回路111は、角364a〜
364dの座標の第1の推定座標が或る仮想面上に位置するか否かに基づいて、第1の推
定座標を調整することができ、その仮想面は、第2のキャリブレーション画像450内に
現れるパターン要素に基づいて特定される。より具体的には、制御回路111は、第2の
キャリブレーション画像450内に取り込まれた別の2Dキャリブレーションパターン(
例えば、2Dキャリブレーションパターン366F)に基づいて、多面体の別の面(例え
ば、362F)によって形成される仮想面を記述する情報を更に特定することができる。
例えば、仮想面は、別の2Dキャリブレーションパターン366Fの少なくとも3つのド
ット又は他のパターン要素によって画定される平面とすることができ、これら少なくとも
3つのドットは同一直線上にない。その後、制御回路111は、第2の組の座標の第1の
推定座標(例えば、[a’,b’,c’]、[a’,b’,c’]、[a
’,b’,c’]及び[a’,b’,c’])と仮想面との間のそれぞれの偏
差量を特定することができる。特定の推定座標に関する偏差量が、例えば、推定座標と仮
想面との間で最も小さい距離、又は最短距離になる場合がある。この実施形態において、
制御回路111は、第2の組の座標の第1の推定座標と仮想面との間のそれぞれの偏差量
に基づいて、第2の組の座標の第2の推定座標(例えば、[x’,y’,z’]、
[x’,y’,z’]、[x’,y’,z’]及び[x’,y’,z
’])を特定することができる。例えば、制御回路111は、第2の組の座標の調整され
た推定座標と仮想面との間のそれぞれの偏差量を減少させるように、第2の組の座標の第
1の推定座標(例えば、[a’,b’,c’]、[a’,b’,c’]、[
’,b’,c’]及び[a’,b’,c’])を調整することによって、
第2の組の座標の第2の推定座標(例えば、[x’,y’,z’]、[x’,y
’,z’]、[x’,y’,z’]及び[x’,y’,z’])を特定
することができる。この実施形態において、第2の組の座標の第2の推定座標は、後に更
に詳細に論じられるように、ステップ209において使用することができる。
図2に戻ると、方法200はステップ209を更に含むことができ、そのステップでは
、制御回路111が、第1の組の座標及び第2の組の座標に基づいて、第1のカメラ17
0/370と第2のカメラ180/380との間の空間的関係を記述する変換関数を特定
することができる。空間的関係は、例えば、第2のカメラ180/380に対する第1の
カメラ170/370の位置及び向きを記述することができ、逆も同様である。一実施形
態において、変換関数は、第1のカメラ170/370であるCamera1の座標系と
、第2のカメラ180/380であるCamera2の座標系との間の線形変換を記述す
る行列
とすることができる。一実施形態において、ステップ209は、式(同次形):
に基づいて、行列
を特定することを伴うことができる。
上記の例において、[X Y Z]は、ステップ205において特定された第1の組
の座標のうちの1つとすることができ、(例えば、第1のカメラ170/370の座標系
内の)第1のカメラ170/370の位置及び向きを基準としている場合がある。例えば
、座標[X Y Z]は、例えば、図3Cの底面角364aの座標とすることができ、
図4Aのキャリブレーション画像500等の、ステップ201において受信された第1の
組のキャリブレーション画像のうちの1つであるキャリブレーション画像Mから特定する
ことができる。この例において、[X’ Y’ Z’]はステップ207において特定
された第2の組の座標のうちの1つとすることができ、(例えば、第2のカメラ180/
380の座標系内の)第2のカメラ180/380の位置及び向きを基準としている場合
がある。さらに、[X’ Y’ Z’]は[X Y Z]によって表されるのと同じ
角(例えば、底面角364a)の座標とすることができ、キャリブレーション画像Mに対
応するステップ203の第2の組のキャリブレーション画像のうちの1つ以上のキャリブ
レーション画像から特定することができる。例えば、1つ以上のキャリブレーション画像
は、図4A及び図4Bのキャリブレーション画像400及び450とすることができる。
上記で言及されたように、キャリブレーション画像400/450が取得された時点とキ
ャリブレーション画像500が取得された時点との間で、3Dキャリブレーションパター
ン160/360が第1のカメラ170/370及び第2のカメラ180/380に対し
て静止したままであった場合には、キャリブレーション画像400/450はキャリブレ
ーション画像500に対応することができる。一実施形態において、ステップ209は、
角N及びキャリブレーション画像Mの組み合わせごとに上記の式に最も当てはまる行列
を特定することを伴うことができる。
一実施形態において、変換関数(例えば、
)は、第1の変換関数と呼ばれる場合がある。そのような実施形態において、制御回路1
11は、第1のカメラ170/370とプラットフォーム150/350(例えば、プラ
ットフォーム350の中心355)との間の関係を記述する第2の変換関数(例えば、
)を特定することによって、カメラキャリブレーションを実行することができる。この特
定は、上記で論じられたように、第1のカメラ170/370のためのハンドアイキャリ
ブレーションの一部とすることができる。
一実施形態において、制御回路111は、第1の変換関数に基づいて、かつ第1のカメ
ラ170/370のために実行されたハンドアイキャリブレーションに基づいて、第2の
カメラ180/380のためのハンドアイキャリブレーションを実行することができる。
例えば、制御回路111は、第1の変換関数(例えば、
)及び第2の変換関数(例えば、
)に基づいて、第2のカメラ180/380とプラットフォーム150/350(例えば
、プラットフォーム350の中心355)との間の関係を記述する第3の変換関数を特定
することができる。例えば、第3の変換関数は、関係:
に基づいて特定することができる。
一実施形態において、方法200は、第3のカメラ190を有するシステム(例えば、
図1Dのシステム100A)に関して実行することができる。場合によっては、第3のカ
メラ190は、プラットフォーム150/350の第1の表面152/352に隣接して
配置する(例えば、その上方にわたって配置する)ことができ、プラットフォーム150
/350の第1の表面152/352に向けることができ、第1の表面152/352は
第3のカメラ190と、プラットフォーム150/350の第2の表面354との間に配
置される。そのような実施形態では、通信インターフェース113は第3のカメラ190
と通信することができ、制御回路111は、通信インターフェース113を介して、第3
のカメラ190から第3の組のキャリブレーション画像を更に受信することによって、カ
メラキャリブレーションを実行することができ、第3の組のキャリブレーション画像も、
多面体(例えば、多面体362)の第1の組の面(例えば、362A〜362E)と、第
1の組の面上に配置される第1の組のそれぞれの2Dキャリブレーションパターン(例え
ば、2Dキャリブレーションパターン366A〜366E)とを取り込む。制御回路11
1は、別の変換関数(例えば、
)を特定することができ、別の変換関数は、第1のカメラ170/370と第3のカメラ
190との間の空間的関係を記述する。場合によっては、別の変換関数は、ステレオキャ
リブレーション技法に基づいて実行することができる。
図2に戻ると、方法200はステップ211を更に含むことができ、そのステップでは
、制御回路111は、カメラキャリブレーションが実行された後に、3Dキャリブレーシ
ョンパターン160/360以外の物体がプラットフォーム150/350の第1の表面
152/352上に配置されるときに、その物体を表す物体の3Dモデル(例えば、点群
)を生成することができ、3Dモデルは、ステップ209からの変換関数(例えば、
)に基づいて、通信インターフェース113を介して第1のカメラ170/370から受
信される物体の画像に基づいて、そして、通信インターフェース113を介して第2のカ
メラ180/380から受信される物体の画像に基づいて生成される。物体は、例えば、
倉庫内の梱包品又は1つの在庫品とすることができるか、又は製造工場において製品上に
組み立てられることになる構成部品とすることができる。いくつかの実施態様において、
3Dモデルは、第1のカメラ170/370とプラットフォーム150/350との間の
関係を記述する変換関数(例えば、
)、及び第2のカメラ180/380とプラットフォーム150/350との間の関係を
記述する別の変換関数(例えば、
)に基づいて特定することができる。一実施形態において、制御回路111は、ロボット
運用システム101のロボットと物体(又はその物体と同じ形状及び/又はサイズを有す
る他の3D物体)との間のインタラクションを助長するために、通信インターフェース1
13を介して、ロボット運用システム101に3Dモデルを通信するように構成すること
ができる。
種々の実施形態の簡潔な説明
実施形態1は、通信インターフェースと制御回路とを備えるコンピューティングシステ
ムに関する。前記通信インターフェースは、(i)第1のカメラ、(ii)第2のカメラ
、及び(iii)透明であり、該第1のカメラと該第2のカメラとの間に配置されるプラ
ットフォームを回転させるアクチュエーターと通信するように構成され、該第1のカメラ
は該プラットフォームの第1の表面に向けられ、該第2のカメラは該プラットフォームの
第2の、反対に面する表面に向けられる。前記制御回路は、前記プラットフォームの前記
第1の表面上に3次元(3D)キャリブレーションパターンが配置されるときに、カメラ
キャリブレーションを実行するように構成され、前記3Dキャリブレーションパターンは
、第1の組の面と、該第1の組の面の一部ではない別の面とを含む複数の面を有する多面
体を備え、前記第1の組の面のそれぞれの面上に配置される第1の組の2Dキャリブレー
ションパターンを備える。前記カメラキャリブレーションは、前記通信インターフェース
を介して前記第1のカメラから第1の組のキャリブレーション画像を受信することであっ
て、該第1の組のキャリブレーション画像は、前記多面体の前記別の面を取り込むことな
く、前記多面体の前記第1の組の面を取り込み、前記第1の組の面上にそれぞれ配置され
る前記第1の組の2Dキャリブレーションパターンを取り込むことと、前記通信インター
フェースを介して前記第2のカメラから第2の組の1つ以上のキャリブレーション画像を
受信することであって、該第2の組の1つ以上のキャリブレーション画像は前記多面体の
前記別の面を取り込むことと、前記第1の組の2Dキャリブレーションパターンに基づい
て、前記多面体の前記別の面の1組のそれぞれの角を表す第1の組の座標を特定すること
であって、該第1の組の座標は前記第1のカメラの位置及び向きを基準としていることと
、前記第2の組の1つ以上のキャリブレーション画像に基づいて、前記多面体の前記別の
面の前記1組のそれぞれの角を表す第2の組の座標を特定することであって、該第2の組
の座標は前記第2のカメラの位置及び向きを基準としていることと、前記第1の組の座標
及び前記第2の組の座標に基づいて、前記第1のカメラと前記第2のカメラとの間の空間
的関係を記述する変換関数を特定することとによって実行される。前記制御回路は、前記
カメラキャリブレーションが実行された後に、前記プラットフォームの前記第1の表面上
に前記3Dキャリブレーションパターン以外の物体が配置されるときに、該物体を表す3
Dモデルを生成するように更に構成され、前記3Dモデルは、前記変換関数に基づいて、
前記通信インターフェースを介して前記第1のカメラから受信される前記物体の画像に基
づいて、及び、前記通信インターフェースを介して前記第2のカメラから受信される前記
物体の画像に基づいて生成される。
実施形態2は、実施形態1のコンピューティングシステムを含み、前記通信インターフ
ェースは、(i)前記プラットフォームの前記第1の表面に向けられる第1の光源、及び
(ii)前記プラットフォームの前記第2の表面に向けられる第2の光源と通信するよう
に更に構成され、前記プラットフォームは前記第1の光源と前記第2の光源との間に配置
される。さらに、前記第2の組の1つ以上のキャリブレーション画像は、第1のキャリブ
レーション画像及び第2のキャリブレーション画像を含む、少なくとも一対のキャリブレ
ーション画像を含む。前記制御回路は、前記カメラキャリブレーションを実行するときに
、前記第1の光源を点灯させ、前記第2の光源を消灯させるために、前記通信インターフ
ェースを介して前記第1の光源及び前記第2の光源に第1の組の1つ以上の光源コマンド
を出力することと、前記第1の光源が点灯し、前記第2の光源が消灯している間に、前記
第2のカメラに前記少なくとも一対のキャリブレーション画像の前記第1のキャリブレー
ション画像を生成させるために、前記通信インターフェースを介して、第2のカメラに第
1の組の1つ以上のカメラコマンドを出力することであって、前記第1のキャリブレーシ
ョン画像は前記多面体の前記別の面の少なくともシルエットを取り込むことと、前記第2
の光源を点灯させ、前記第1の光源を消灯させるために、前記通信インターフェースを介
して前記第1の光源及び前記第2の光源に第2の組の1つ以上の光源コマンドを出力する
ことと、前記第2の光源が点灯し、前記第1の光源が消灯している間に、前記第2のカメ
ラに、前記少なくとも一対のキャリブレーション画像の前記第2のキャリブレーション画
像を生成させるために、前記通信インターフェースを介して、前記第2のカメラに第2の
組の1つ以上のカメラコマンドを出力することであって、前記第2のキャリブレーション
画像は、別の2Dキャリブレーションパターンを取り込み、該別の2Dキャリブレーショ
ンパターンは前記別の面上に配置され、前記3Dキャリブレーションパターンの一部であ
ることとを行うように構成される。前記制御回路は、前記一対のキャリブレーション画像
の前記第1のキャリブレーション画像及び前記第2のキャリブレーション画像に基づいて
、前記第2の組の座標を特定するように構成される。
実施形態3は、実施形態2のコンピューティングシステムを含み、前記制御回路は、前
記第1のカメラ及び前記第1の光源が前記プラットフォームの前記第1の表面の上方に配
置され、前記第2のカメラ及び前記第2の光源が前記プラットフォームの前記第2の表面
の下方に配置され、前記3Dキャリブレーションパターンの前記別の面が前記プラットフ
ォームの前記第1の表面と接触しているときに、前記カメラキャリブレーションを実行す
るように構成される。
実施形態4は、実施形態2又は3のコンピューティングシステムを含み、前記制御回路
は、前記カメラキャリブレーションを実行するときに、前記少なくとも一対のキャリブレ
ーション画像の前記第2のキャリブレーション画像に基づいて、前記第2のキャリブレー
ション画像内に前記別のキャリブレーションパターンのそれぞれの角が現れる1組のピク
セル領域を特定し、同じく前記1組のピクセル領域内で、前記少なくとも一対のキャリブ
レーション画像の前記第1のキャリブレーション画像を探索し、前記第1のキャリブレー
ション画像内において前記別の面の前記1組のそれぞれの角が現れるピクセル座標を識別
するように構成される。前記1組のそれぞれの角に関する前記第2の組の座標は、前記第
1のキャリブレーション画像内に前記1組のそれぞれの角が現れる前記ピクセル座標に基
づいて特定される。
実施形態5は、実施形態2〜4のいずれか1つのコンピューティングシステムを含み、
前記制御回路は、前記カメラキャリブレーションを実行するときに、前記少なくとも一対
のキャリブレーション画像の前記第1のキャリブレーション画像内に取り込まれた前記別
の面の前記シルエットに基づいて、前記多面体の前記別の面の前記1組のそれぞれの角の
前記第2の組の座標の第1の推定座標を特定し、前記第2のキャリブレーション画像内に
取り込まれた前記別のキャリブレーションパターンに基づいて、前記別の面によって形成
される仮想面を記述する情報を特定し、前記仮想面と前記第2の組の座標の前記第1の推
定座標との間のそれぞれの偏差量を特定し、前記それぞれの偏差量に基づいて、前記第2
の組の座標の第2の推定座標を特定するように構成される。前記変換関数は、前記第2の
組の座標の前記第2の推定座標に基づいて、かつ前記第1の組の座標に基づいて特定され
る。
実施形態6は、実施形態1〜5のいずれか1つのコンピューティングシステムを含み、
前記第1の組のキャリブレーション画像の各キャリブレーション画像は前記第1の組の2
Dキャリブレーションパターンのうちの少なくとも2つの2Dキャリブレーションパター
ンを取り込む。前記制御回路は、前記第1の組のキャリブレーション画像のキャリブレー
ション画像ごとに、前記キャリブレーション画像から、前記少なくとも2つの2Dキャリ
ブレーションパターンの第1の2Dキャリブレーションパターンを取り込む第1の画像部
分を抽出し、前記第1の2Dキャリブレーションパターンのパターン要素を記述する情報
を記憶し、前記キャリブレーション画像から前記第1の画像部分を除去することによって
、更新されたキャリブレーション画像を生成し、前記更新されたキャリブレーション画像
から、前記少なくとも2つの2Dキャリブレーションパターンの第2の2Dキャリブレー
ションパターンを取り込む別の画像部分を抽出し、前記第2の2Dキャリブレーションパ
ターンのパターン要素を記述する情報を記憶するように構成され、前記制御回路は、前記
少なくとも2つの2Dキャリブレーションパターンの前記第1の2Dキャリブレーション
パターンのパターン要素を記述する記憶された情報と、前記少なくとも2つの2Dキャリ
ブレーションパターンの前記第2の2Dキャリブレーションパターンのパターン要素を記
述する記憶された情報とに基づいて、前記第1のカメラのキャリブレーションパラメータ
ーの推定値を特定するように構成される。
実施形態7は、実施形態1〜6のいずれか1つのコンピューティングシステムを含み、
前記制御回路は、前記カメラキャリブレーションを実行するときに、前記第1の組のキャ
リブレーション画像内の前記第1の組の2Dキャリブレーションパターンに基づいて、前
記多面体を表す3Dモデルを特定するように構成される。前記多面体の前記別の面の前記
1組のそれぞれの角に関する前記第1の組の座標は、前記多面体の前記3Dモデルに基づ
いて特定される。
実施形態8は、実施形態7のコンピューティングシステムを含み、前記制御回路は、カ
メラキャリブレーションを実行するときに、前記第1の組の2Dキャリブレーションパタ
ーンに基づいて、前記多面体の前記第1の組の面によって形成されるそれぞれの仮想面を
記述する情報を特定するように構成され、前記3Dモデルは、少なくとも、前記それぞれ
の仮想面を記述する前記情報によって表される。
実施形態9は、実施形態8のコンピューティングシステムを含み、前記制御回路は、前
記カメラキャリブレーションを実行するときに、前記多面体の前記第1の組の面間の空間
的関係を特定するように構成される。前記それぞれの仮想面を記述する前記情報は、前記
多面体の前記第1の組の面間の前記空間的関係に基づいて特定される。
実施形態10は、実施形態8又は9のコンピューティングシステムを含み、前記多面体
の前記別の面の前記1組の角は前記多面体の第2の組の角である。前記制御回路は、前記
カメラキャリブレーションを実行するときに、前記それぞれの仮想面のうちの少なくとも
3つが交わる位置を特定することによって、前記多面体の第1の組の角に関するそれぞれ
の位置を、別の1組の座標として特定するように構成される。前記第1の組の座標は、前
記別の1組の座標及び前記多面体の規定サイズに基づいて特定される。
実施形態11は、実施形態1〜10のいずれか1つのコンピューティングシステムを含
み、前記変換関数は第1の変換関数であり、前記制御回路は、前記第1のカメラと前記プ
ラットフォームの中心との間の空間的関係を記述する第2の変換関数を特定することと、
前記第1の変換関数及び前記第2の変換関数に基づいて、前記第2のカメラと前記プラッ
トフォームの前記中心との間の空間的関係を記述する第3の変換関数を特定することとに
よって更に、前記カメラキャリブレーションを実行するように構成される。
実施形態12は、実施形態1〜11のいずれか1つのコンピューティングシステムを含
み、前記制御回路は、前記プラットフォームに、前記第1のカメラに対して複数の向きを
有するように前記3Dキャリブレーションパターンを回転させるために、前記通信インタ
ーフェースを介して前記プラットフォームに1つ以上のモーターコマンドを出力するよう
に構成され、前記第1の組のキャリブレーション画像は、前記3Dキャリブレーションパ
ターンが前記第1のカメラに対して前記複数の向きを有するときにそれぞれ生成される。
実施形態13は、実施形態1〜12のいずれか1つのコンピューティングシステムを含
み、前記通信インターフェースは、前記プラットフォームの前記第1の表面に向けられる
第3のカメラと通信するように構成される。前記制御回路は、前記通信インターフェース
を介して前記第3のカメラから第3の組のキャリブレーション画像を受信することであっ
て、該第3の組のキャリブレーション画像も前記多面体の前記第1の組の面と、前記第1
の組のそれぞれの2Dキャリブレーションパターンとを取り込むことと、前記第1の組の
キャリブレーション画像及び前記第3の組のキャリブレーション画像に基づいて、別の変
換関数を特定することであって、該別の変換関数は前記第1のカメラと前記第3のカメラ
との間の空間的関係を記述することとによって更に、カメラキャリブレーションを実行す
るように構成される。
実施形態14は、命令を有する非一時的コンピューター可読媒体であって、コンピュー
ティングシステムの制御回路によって実行されるときに、該命令によって、該制御回路が
、前記コンピューティングシステムの通信インターフェースを介して、第1の組のキャリ
ブレーション画像を受信し、該通信インターフェースは、(i)第1のカメラ、(ii)
第2のカメラ、及び(iii)透明であり、該第1のカメラと該第2のカメラとの間に配
置されるプラットフォームを回転させるように構成されるアクチュエーターと通信するよ
うに構成され、該第1のカメラは該プラットフォームの第1の表面に向けられ、該第2の
カメラは該プラットフォームの第2の、反対に面する表面に向けられる、非一時的コンピ
ューター可読媒体に関する。前記第1の組のキャリブレーション画像は、前記第1のカメ
ラから受信され、前記プラットフォームの前記第1の表面上に3次元(3D)キャリブレ
ーションパターンが配置されるときに生成され、前記3Dキャリブレーションパターンは
、第1の組の面と、該第1の組の面の一部ではない別の面とを含む複数の面を有する多面
体を備え、該多面体の該第1の組の面のそれぞれの面上に配置される第1の組の2Dキャ
リブレーションパターンを備える。前記第1の組のキャリブレーション画像は、前記多面
体の前記別の面を取り込むことなく、前記第1の組の面と、前記第1の組の面上にそれぞ
れ配置される前記第1の組の2Dキャリブレーションパターンとを取り込む。前記命令が
前記制御回路によって実行されるときに、前記命令によって、前記制御回路が、前記通信
インターフェースを介して前記第2のカメラから第2の組の1つ以上のキャリブレーショ
ン画像を受信することであって、該第2の組の1つ以上のキャリブレーション画像は前記
多面体の前記別の面を取り込むことと、前記第1の組の2Dキャリブレーションパターン
に基づいて、前記多面体の前記別の面の1組のそれぞれの角を表す第1の組の座標を特定
することであって、該第1の組の座標は位置及び向きを基準としていることと、前記第2
の組の1つ以上のキャリブレーション画像に基づいて、前記多面体の前記別の面の前記1
組のそれぞれの角を表す第2の組の座標を特定することであって、該第2の組の座標は前
記第2のカメラの位置及び向きを基準としていることと、前記第1の組の座標及び前記第
2の組の座標に基づいて、前記第1のカメラと前記第2のカメラとの間の空間的関係を記
述する変換関数を特定することと、前記プラットフォームの前記第1の表面上に前記3D
キャリブレーションパターン以外の物体が配置されるときに、該物体を表す3Dモデルを
生成することであって、該3Dモデルは、前記変換関数に基づいて、前記通信インターフ
ェースを介して前記第1のカメラから受信された該物体の画像に基づいて、及び、前記通
信インターフェースを介して前記第2のカメラから受信された該物体の画像に基づいて生
成されることとを行う。
実施形態15は、物体走査の方法であって、コンピューティングシステムによって、該
コンピューティングシステムの通信インターフェースを介して第1の組のキャリブレーシ
ョン画像を受信することを含む、方法に関し、該通信インターフェースは、(i)第1の
カメラ、(ii)第2のカメラ、及び(iii)透明であり、(ii)前記プラットフォ
ームの第1の表面に面する第1のカメラ、該第1のカメラと該第2のカメラとの間に配置
されるプラットフォームを回転させるように構成されるアクチュエーターと通信するよう
に構成され、該第1のカメラは該プラットフォームの第1の表面に向けられ、該第2のカ
メラは該プラットフォームの第2の、反対に面する表面に向けられる。前記第1の組のキ
ャリブレーション画像は、前記第1のカメラから受信され、前記プラットフォームの前記
第1の表面上に3次元(3D)キャリブレーションパターンが配置されるときに生成され
、前記3Dキャリブレーションパターンは、第1の組の面と、該第1の組の面の一部では
ない別の面とを含む複数の面を有する多面体を備え、該多面体の該第1の組の面のそれぞ
れの面上に配置される第1の組の2Dキャリブレーションパターンを備える。前記第1の
組のキャリブレーション画像は、前記多面体の前記別の面を取り込むことなく、前記第1
の組の面を取り込み、前記第1の組の面上にそれぞれ配置される前記第1の組の2Dキャ
リブレーションパターンを取り込む。該方法は、前記通信インターフェースを介して前記
第2のカメラから第2の組の1つ以上のキャリブレーション画像を受信することであって
、該第2の組の1つ以上のキャリブレーション画像は前記多面体の前記別の面を取り込む
ことと、前記第1の組の2Dキャリブレーションパターンに基づいて、前記多面体の前記
別の面の1組のそれぞれの角を表す第1の組の座標を特定することであって、該第1の組
の座標は位置及び向きを基準としていることと、前記第2の組の1つ以上のキャリブレー
ション画像に基づいて、前記多面体の前記別の面の前記1組のそれぞれの角を表す第2の
組の座標を特定することであって、該第2の組の座標は前記第2のカメラの位置及び向き
を基準としていることと、前記第1の組の座標及び前記第2の組の座標に基づいて、前記
第1のカメラと前記第2のカメラとの間の空間的関係を記述する変換関数を特定すること
と、前記プラットフォームの前記第1の表面上に前記3Dキャリブレーションパターン以
外の物体が配置されるときに、該3D物体を表す3Dモデルを生成することであって、該
3Dモデルは、前記変換関数に基づいて、前記通信インターフェースを介して前記第1の
カメラから受信された該物体の画像に基づいて、そして、前記通信インターフェースを介
して前記第2のカメラから受信された該物体の画像に基づいて生成されることとを更に含
む。
種々の実施形態を上述してきたが、これらの実施形態は、限定としてではなく本発明の
単なる説明及び例として提示されていることを理解すべきである。形式及び細部における
種々の変更は本発明の趣旨及び範囲から逸脱することなく本発明内で行うことができるこ
とは当業者には明らかであろう。したがって、本発明の範囲(breadth and scope)は、
上述の例示的な実施形態のいずれかによって限定されるべきではなく、添付の特許請求の
範囲及びそれらの均等物によってのみ規定されるべきである。本明細書において論考され
た各実施形態、及び本明細書において引用された各引用文献の各特徴は、他の任意の実施
形態の特徴と組み合わせて用いることができることも理解されるであろう。本明細書にお
いて論考された全ての特許及び刊行物は、引用することによりその全体が本明細書の一部
をなす。

Claims (20)

  1. コンピューティングシステムであって、
    (i)第1のカメラ、(ii)第2のカメラ、及び(iii)透明であり、該第1のカ
    メラと該第2のカメラとの間に配置されるプラットフォームを回転させるアクチュエータ
    ーと通信するように構成される通信インターフェースであって、該第1のカメラは該プラ
    ットフォームの第1の表面に向けられ、該第2のカメラは該プラットフォームの第2の、
    反対に面する表面に向けられる、通信インターフェースと、
    前記プラットフォームの前記第1の表面上に3次元(3D)キャリブレーションパター
    ンが配置されるときに、カメラキャリブレーションを実行するように構成される制御回路
    と、
    を備え、前記3Dキャリブレーションパターンは、第1の組の面と、該第1の組の面の一
    部ではない別の面とを含む複数の面を有する多面体を備え、前記第1の組の面のそれぞれ
    の面上に配置される第1の組の2Dキャリブレーションパターンを備え、前記カメラキャ
    リブレーションは、
    前記通信インターフェースを介して前記第1のカメラから第1の組のキャリブレーシ
    ョン画像を受信することであって、該第1の組のキャリブレーション画像は、前記多面体
    の前記別の面を取り込むことなく、前記多面体の前記第1の組の面を取り込み、前記第1
    の組の面上にそれぞれ配置される前記第1の組の2Dキャリブレーションパターンを取り
    込むことと、
    前記通信インターフェースを介して前記第2のカメラから第2の組の1つ以上のキャ
    リブレーション画像を受信することであって、該第2の組の1つ以上のキャリブレーショ
    ン画像は前記多面体の前記別の面を取り込むことと、
    前記第1の組の2Dキャリブレーションパターンに基づいて、前記多面体の前記別の
    面の1組のそれぞれの角を表す第1の組の座標を特定することであって、該第1の組の座
    標は前記第1のカメラの位置及び向きを基準としていることと、
    前記第2の組の1つ以上のキャリブレーション画像に基づいて、前記多面体の前記別
    の面の前記1組のそれぞれの角を表す第2の組の座標を特定することであって、該第2の
    組の座標は前記第2のカメラの位置及び向きを基準としていることと、
    前記第1の組の座標及び前記第2の組の座標に基づいて、前記第1のカメラと前記第
    2のカメラとの間の空間的関係を記述する変換関数を特定することと、
    によって実行され、
    前記制御回路は、前記カメラキャリブレーションが実行された後に、前記プラットフォ
    ームの前記第1の表面上に前記3Dキャリブレーションパターン以外の物体が配置される
    ときに、該物体を表す3Dモデルを生成するように更に構成され、前記3Dモデルは、前
    記変換関数に基づいて、前記通信インターフェースを介して前記第1のカメラから受信さ
    れる前記物体の画像に基づいて、及び、前記通信インターフェースを介して前記第2のカ
    メラから受信される前記物体の画像に基づいて生成される、コンピューティングシステム
  2. 前記通信インターフェースは、(i)前記プラットフォームの前記第1の表面に向けら
    れる第1の光源、及び(ii)前記プラットフォームの前記第2の表面に向けられる第2
    の光源と通信するように更に構成され、前記プラットフォームは前記第1の光源と前記第
    2の光源との間に配置され、
    前記第2の組の1つ以上のキャリブレーション画像は、第1のキャリブレーション画像
    及び第2のキャリブレーション画像を含む、少なくとも一対のキャリブレーション画像を
    含み、
    前記制御回路は、前記カメラキャリブレーションを実行するときに、
    前記第1の光源を点灯させ、前記第2の光源を消灯させるために、前記通信インターフ
    ェースを介して前記第1の光源及び前記第2の光源に第1の組の1つ以上の光源コマンド
    を出力することと、
    前記第1の光源が点灯し、前記第2の光源が消灯している間に、前記第2のカメラに前
    記少なくとも一対のキャリブレーション画像の前記第1のキャリブレーション画像を生成
    させるために、前記通信インターフェースを介して、前記第2のカメラに第1の組の1つ
    以上のカメラコマンドを出力することであって、前記第1のキャリブレーション画像は前
    記多面体の前記別の面の少なくともシルエットを取り込むことと、
    前記第2の光源を点灯させ、前記第1の光源を消灯させるために、前記通信インターフ
    ェースを介して前記第1の光源及び前記第2の光源に第2の組の1つ以上の光源コマンド
    を出力することと、
    前記第2の光源が点灯し、前記第1の光源が消灯している間に、前記第2のカメラに、
    前記少なくとも一対のキャリブレーション画像の前記第2のキャリブレーション画像を生
    成させるために、前記通信インターフェースを介して、前記第2のカメラに第2の組の1
    つ以上のカメラコマンドを出力することであって、前記第2のキャリブレーション画像は
    、別の2Dキャリブレーションパターンを取り込み、該別の2Dキャリブレーションパタ
    ーンは前記別の面上に配置され、前記3Dキャリブレーションパターンの一部であること
    と、
    を行うように構成され、
    前記制御回路は、前記少なくとも一対のキャリブレーション画像の前記第1のキャリブ
    レーション画像及び前記第2のキャリブレーション画像に基づいて、前記第2の組の座標
    を特定するように更に構成される、請求項1に記載のコンピューティングシステム。
  3. 前記制御回路は、前記第1のカメラ及び前記第1の光源が前記プラットフォームの前記
    第1の表面の上方に配置され、前記第2のカメラ及び前記第2の光源が前記プラットフォ
    ームの前記第2の表面の下方に配置され、前記3Dキャリブレーションパターンの前記別
    の面が前記プラットフォームの前記第1の表面と接触しているときに、前記カメラキャリ
    ブレーションを実行するように構成される、請求項2に記載のコンピューティングシステ
    ム。
  4. 前記制御回路は、前記カメラキャリブレーションを実行するときに、
    前記少なくとも一対のキャリブレーション画像の前記第2のキャリブレーション画像に
    基づいて、前記第2のキャリブレーション画像内に前記別のキャリブレーションパターン
    のそれぞれの角が現れる1組のピクセル領域を特定し、
    同じく前記1組のピクセル領域内で、前記少なくとも一対のキャリブレーション画像の
    前記第1のキャリブレーション画像を探索し、前記第1のキャリブレーション画像内に前
    記別の面の前記1組のそれぞれの角が現れるピクセル座標を識別するように構成され、
    前記1組のそれぞれの角に関する前記第2の組の座標は、前記第1のキャリブレーショ
    ン画像内において前記1組のそれぞれの角が現れる前記ピクセル座標に基づいて特定され
    る、請求項2に記載のコンピューティングシステム。
  5. 前記制御回路は、前記カメラキャリブレーションを実行するときに、
    前記少なくとも一対のキャリブレーション画像の前記第1のキャリブレーション画像内
    に取り込まれた前記別の面の前記シルエットに基づいて、前記多面体の前記別の面の前記
    1組のそれぞれの角の前記第2の組の座標の第1の推定座標を特定し、
    前記第2のキャリブレーション画像内に取り込まれた前記別のキャリブレーションパタ
    ーンに基づいて、前記別の面によって形成される仮想面を記述する情報を特定し、
    前記仮想面と前記第2の組の座標の前記第1の推定座標との間のそれぞれの偏差量を特
    定し、
    前記それぞれの偏差量に基づいて、前記第2の組の座標の第2の推定座標を特定するよ
    うに構成され、
    前記変換関数は、前記第2の組の座標の前記第2の推定座標に基づいて、かつ前記第1
    の組の座標に基づいて特定される、請求項2に記載のコンピューティングシステム。
  6. 前記第1の組のキャリブレーション画像の各キャリブレーション画像は前記第1の組の
    2Dキャリブレーションパターンのうちの少なくとも2つの2Dキャリブレーションパタ
    ーンを取り込み、前記制御回路は、前記第1の組のキャリブレーション画像のキャリブレ
    ーション画像ごとに、
    前記キャリブレーション画像から、前記少なくとも2つの2Dキャリブレーションパタ
    ーンの第1の2Dキャリブレーションパターンを取り込む第1の画像部分を抽出し、
    前記第1の2Dキャリブレーションパターンのパターン要素を記述する情報を記憶し、
    前記キャリブレーション画像から前記第1の画像部分を除去することによって、更新さ
    れたキャリブレーション画像を生成し、
    前記更新されたキャリブレーション画像から、前記少なくとも2つの2Dキャリブレー
    ションパターンの第2の2Dキャリブレーションパターンを取り込む別の画像部分を抽出
    し、
    前記第2の2Dキャリブレーションパターンのパターン要素を記述する情報を記憶する
    ように構成され、
    前記制御回路は、前記少なくとも2つの2Dキャリブレーションパターンの前記第1の
    2Dキャリブレーションパターンのパターン要素を記述する記憶された情報と、前記少な
    くとも2つの2Dキャリブレーションパターンの前記第2の2Dキャリブレーションパタ
    ーンのパターン要素を記述する記憶された情報とに基づいて、前記第1のカメラのキャリ
    ブレーションパラメーターの推定値を特定するように構成される、請求項1に記載のコン
    ピューティングシステム。
  7. 前記制御回路は、前記カメラキャリブレーションを実行するときに、前記第1の組のキ
    ャリブレーション画像内の前記第1の組の2Dキャリブレーションパターンに基づいて、
    前記多面体を表す3Dモデルを特定するように構成され、
    前記多面体の前記別の面の前記1組のそれぞれの角に関する前記第1の組の座標は、前
    記多面体の前記3Dモデルに基づいて特定される、請求項1に記載のコンピューティング
    システム。
  8. 前記制御回路は、カメラキャリブレーションを実行するときに、前記第1の組の2Dキ
    ャリブレーションパターンに基づいて、前記多面体の前記第1の組の面によって形成され
    るそれぞれの仮想面を記述する情報を特定するように構成され、前記3Dモデルは、少な
    くとも、前記それぞれの仮想面を記述する前記情報によって表される、請求項7に記載の
    コンピューティングシステム。
  9. 前記制御回路は、前記カメラキャリブレーションを実行するときに、前記多面体の前記
    第1の組の面間の空間的関係を特定するように構成され、
    前記それぞれの仮想面を記述する前記情報は、前記多面体の前記第1の組の面間の前記
    空間的関係に基づいて特定される、請求項8に記載のコンピューティングシステム。
  10. 前記多面体の前記別の面の前記1組の角は前記多面体の第2の組の角であり、前記制御
    回路は、前記カメラキャリブレーションを実行するときに、
    前記それぞれの仮想面のうちの少なくとも3つが交わる位置を特定することによって、
    前記多面体の第1の組の角に関するそれぞれの位置を、別の1組の座標として特定するよ
    うに構成され、
    前記第1の組の座標は、前記別の1組の座標及び前記多面体の規定サイズに基づいて特
    定される、請求項8に記載のコンピューティングシステム。
  11. 前記変換関数は第1の変換関数であり、前記制御回路は、
    前記第1のカメラと前記プラットフォームの中心との間の空間的関係を記述する第2の
    変換関数を特定することと、
    前記第1の変換関数及び前記第2の変換関数に基づいて、前記第2のカメラと前記プラ
    ットフォームの前記中心との間の空間的関係を記述する第3の変換関数を特定することと

    によって更に、前記カメラキャリブレーションを実行するように構成される、請求項1に
    記載のコンピューティングシステム。
  12. 前記制御回路は、前記プラットフォームに、前記第1のカメラに対して複数の向きを有
    するように前記3Dキャリブレーションパターンを回転させるために、前記通信インター
    フェースを介して前記プラットフォームに1つ以上のモーターコマンドを出力するように
    構成され、前記第1の組のキャリブレーション画像は、前記3Dキャリブレーションパタ
    ーンが前記第1のカメラに対して前記複数の向きを有するときにそれぞれ生成される、請
    求項1に記載のコンピューティングシステム。
  13. 前記通信インターフェースは、前記プラットフォームの前記第1の表面に向けられる第
    3のカメラと通信するように構成され、前記制御回路は、
    前記通信インターフェースを介して前記第3のカメラから第3の組のキャリブレーショ
    ン画像を受信することであって、該第3の組のキャリブレーション画像も前記多面体の前
    記第1の組の面と、前記第1の組のそれぞれの2Dキャリブレーションパターンとを取り
    込むことと、
    前記第1の組のキャリブレーション画像及び前記第3の組のキャリブレーション画像に
    基づいて、別の変換関数を特定することであって、該別の変換関数は前記第1のカメラと
    前記第3のカメラとの間の空間的関係を記述することと、
    によって更に、カメラキャリブレーションを実行するように構成される、請求項1に記載
    のコンピューティングシステム。
  14. 命令を有する非一時的コンピューター可読媒体であって、コンピューティングシステム
    の制御回路によって実行されるときに、該命令によって、該制御回路が
    前記コンピューティングシステムの通信インターフェースを介して、第1の組のキャリ
    ブレーション画像を受信し、該通信インターフェースは、(i)第1のカメラ、(ii)
    第2のカメラ、及び(iii)透明であり、該第1のカメラと該第2のカメラとの間に配
    置されるプラットフォームを回転させるように構成されるアクチュエーターと通信するよ
    うに構成され、該第1のカメラは該プラットフォームの第1の表面に向けられ、該第2の
    カメラは該プラットフォームの第2の、反対に面する表面に向けられ、
    前記第1の組のキャリブレーション画像は、前記第1のカメラから受信され、前記プラ
    ットフォームの前記第1の表面上に3次元(3D)キャリブレーションパターンが配置さ
    れるときに生成され、前記3Dキャリブレーションパターンは、第1の組の面と、該第1
    の組の面の一部ではない別の面とを含む複数の面を有する多面体を備え、該多面体の該第
    1の組の面のそれぞれの面上に配置される第1の組の2Dキャリブレーションパターンを
    備え、
    前記第1の組のキャリブレーション画像は、前記多面体の前記別の面を取り込むことな
    く、前記第1の組の面と、前記第1の組の面上にそれぞれ配置される前記第1の組の2D
    キャリブレーションパターンとを取り込み、
    前記命令が前記制御回路によって実行されるときに、前記命令によって、前記制御回路
    が、
    前記通信インターフェースを介して前記第2のカメラから第2の組の1つ以上のキャリ
    ブレーション画像を受信することであって、該第2の組の1つ以上のキャリブレーション
    画像は前記多面体の前記別の面を取り込むことと、
    前記第1の組の2Dキャリブレーションパターンに基づいて、前記多面体の前記別の面
    の1組のそれぞれの角を表す第1の組の座標を特定することであって、該第1の組の座標
    は位置及び向きを基準としていることと、
    前記第2の組の1つ以上のキャリブレーション画像に基づいて、前記多面体の前記別の
    面の前記1組のそれぞれの角を表す第2の組の座標を特定することであって、該第2の組
    の座標は前記第2のカメラの位置及び向きを基準としていることと、
    前記第1の組の座標及び前記第2の組の座標に基づいて、前記第1のカメラと前記第2
    のカメラとの間の空間的関係を記述する変換関数を特定することと、
    前記プラットフォームの前記第1の表面上に前記3Dキャリブレーションパターン以外
    の物体が配置されるときに、該物体を表す3Dモデルを生成することであって、該3Dモ
    デルは、前記変換関数に基づいて、前記通信インターフェースを介して前記第1のカメラ
    から受信された該物体の画像に基づいて、及び、前記通信インターフェースを介して前記
    第2のカメラから受信された該物体の画像に基づいて生成されることと、
    を行う、非一時的コンピューター可読媒体。
  15. 前記通信インターフェースは、(i)前記プラットフォームの前記第1の表面に向けら
    れる第1の光源、及び(ii)前記プラットフォームの前記第2の表面に向けられる第2
    の光源と通信するように更に構成され、前記プラットフォームは前記第1の光源と前記第
    2の光源との間に配置され、
    前記第2の組の1つ以上のキャリブレーション画像は、第1のキャリブレーション画像
    及び第2のキャリブレーション画像を含む、少なくとも一対のキャリブレーション画像を
    含み、
    前記命令が前記制御回路によって実行されるときに、前記命令によって、前記制御回路
    が、
    前記通信インターフェースを介して、前記第1の光源を点灯させ、前記第2の光源を消
    灯させる第1の組の1つ以上の光源コマンドを出力することと、
    前記第1の光源が点灯し、前記第2の光源が消灯している間に、前記第2のカメラに前
    記少なくとも一対のキャリブレーション画像の前記第1のキャリブレーション画像を生成
    させるために、前記通信インターフェースを介して、前記第2のカメラに第1の組の1つ
    以上のカメラコマンドを出力することであって、前記第1のキャリブレーション画像は前
    記多面体の前記別の面の少なくともシルエットを取り込むことと、
    前記通信インターフェースを介して、前記第1の光源を消灯させ、前記第2の光源を点
    灯させる第2の組の1つ以上の光源コマンドを出力することと、
    前記第2の光源が点灯し、前記第1の光源が消灯している間に、前記第2のカメラに前
    記少なくとも一対のキャリブレーション画像の前記第2のキャリブレーション画像を生成
    させるために、前記通信インターフェースを介して、前記第2のカメラに第2の組の1つ
    以上のカメラコマンドを出力することであって、前記第2のキャリブレーション画像は、
    前記別の面上に配置され、前記3Dキャリブレーションパターンの一部である別の2Dキ
    ャリブレーションパターンを取り込むことと、
    前記少なくとも一対のキャリブレーション画像の前記第1のキャリブレーション画像及
    び前記第2のキャリブレーション画像に基づいて、前記第2の組の座標を特定することと

    を更に行う、請求項14に記載の非一時的コンピューター可読媒体。
  16. 前記命令が前記制御回路によって実行されるときに、前記命令によって、前記制御回路
    が更に、前記第1の組のキャリブレーション画像内の前記第1の組の2Dキャリブレーシ
    ョンパターンに基づいて、前記多面体を表す3Dモデルを特定し、
    前記多面体の前記別の面の前記1組のそれぞれの角に関する前記第1の組の座標は、前
    記多面体の前記3Dモデルに基づいて特定される、請求項14に記載の非一時的コンピュ
    ーター可読媒体。
  17. 前記第1の組のキャリブレーション画像の各キャリブレーション画像は、前記第1の組
    の2Dキャリブレーションパターンのうちの少なくとも2つの2Dキャリブレーションパ
    ターンを取り込み、前記命令が前記制御回路によって実行されるときに、前記命令によっ
    て、前記制御回路が、前記第1の組のキャリブレーション画像のキャリブレーション画像
    ごとに、
    前記キャリブレーション画像から、前記少なくとも2つの2Dキャリブレーションパタ
    ーンの第1の2Dキャリブレーションパターンを取り込む第1の画像部分を抽出すること
    と、
    前記第1の2Dキャリブレーションパターンのパターン要素を記述する情報を記憶する
    ことと、
    前記キャリブレーション画像から前記第1の画像部分を除去することによって、更新さ
    れたキャリブレーション画像を生成することと、
    前記更新されたキャリブレーション画像から、前記少なくとも2つの2Dキャリブレー
    ションパターンの第2の2Dキャリブレーションパターンを取り込む別の画像部分を抽出
    することと、
    前記第2の2Dキャリブレーションパターンのパターン要素を記述する情報を記憶する
    ことと、
    を更に行い、
    前記制御回路は、前記少なくとも2つの2Dキャリブレーションパターンの前記第1の
    2Dキャリブレーションパターンのパターン要素を記述する記憶された情報と、前記少な
    くとも2つの2Dキャリブレーションパターンの前記第2の2Dキャリブレーションパタ
    ーンのパターン要素を記述する記憶された情報とに基づいて、前記第1のカメラのキャリ
    ブレーションパラメーターの推定値を特定するように構成される、請求項15に記載の非
    一時的コンピューター可読媒体。
  18. 前記変換関数は第1の変換関数であり、前記命令が前記制御回路によって実行されると
    きに、前記命令によって、前記制御回路が、
    前記第1のカメラと前記プラットフォームの中心との間の関係を記述する第2の変換関
    数を特定することと、
    前記第1の変換関数及び前記第2の変換関数に基づいて、前記第2のカメラと前記プラ
    ットフォームの前記中心との間の関係を記述する第3の変換関数を特定することと、
    によって更に、前記カメラキャリブレーションを実行する、請求項14に記載の非一時的
    コンピューター可読媒体。
  19. 物体走査の方法であって、
    コンピューティングシステムによって、該コンピューティングシステムの通信インター
    フェースを介して第1の組のキャリブレーション画像を受信することを含み、該通信イン
    ターフェースは、(i)第1のカメラ、(ii)第2のカメラ、及び(iii)透明であ
    り、(ii)前記プラットフォームの第1の表面に面する第1のカメラ、該第1のカメラ
    と該第2のカメラとの間に配置されるプラットフォームを回転させるように構成されるア
    クチュエーターと通信するように構成され、該第1のカメラは該プラットフォームの第1
    の表面に向けられ、該第2のカメラは該プラットフォームの第2の、反対に面する表面に
    向けられ、
    前記第1の組のキャリブレーション画像は、前記第1のカメラから受信され、前記プラ
    ットフォームの前記第1の表面上に3次元(3D)キャリブレーションパターンが配置さ
    れるときに生成され、前記3Dキャリブレーションパターンは、第1の組の面と、該第1
    の組の面の一部ではない別の面とを含む複数の面を有する多面体を備え、該多面体の該第
    1の組の面のそれぞれの面上に配置される第1の組の2Dキャリブレーションパターンを
    備え、
    前記第1の組のキャリブレーション画像は、前記多面体の前記別の面を取り込むことな
    く、前記第1の組の面を取り込み、前記第1の組の面上にそれぞれ配置される前記第1の
    組の2Dキャリブレーションパターンを取り込み、
    該方法は、
    前記通信インターフェースを介して前記第2のカメラから第2の組の1つ以上のキャリ
    ブレーション画像を受信することであって、該第2の組の1つ以上のキャリブレーション
    画像は前記多面体の前記別の面を取り込むことと、
    前記第1の組の2Dキャリブレーションパターンに基づいて、前記多面体の前記別の面
    の1組のそれぞれの角を表す第1の組の座標を特定することであって、該第1の組の座標
    は位置及び向きを基準としていることと、
    前記第2の組の1つ以上のキャリブレーション画像に基づいて、前記多面体の前記別の
    面の前記1組のそれぞれの角を表す第2の組の座標を特定することであって、該第2の組
    の座標は前記第2のカメラの位置及び向きを基準としていることと、
    前記第1の組の座標及び前記第2の組の座標に基づいて、前記第1のカメラと前記第2
    のカメラとの間の空間的関係を記述する変換関数を特定することと、
    前記プラットフォームの前記第1の表面上に前記3Dキャリブレーションパターン以外
    の物体が配置されるときに、該3D物体を表す3Dモデルを生成することであって、該3
    Dモデルは、前記変換関数に基づいて、前記通信インターフェースを介して前記第1のカ
    メラから受信された該物体の画像に基づいて、及び、前記通信インターフェースを介して
    前記第2のカメラから受信された該物体の画像に基づいて生成されることと、
    を更に含む、方法。
  20. 前記通信インターフェースは、(i)前記プラットフォームの前記第1の表面に向けら
    れる第1の光源、及び(ii)前記プラットフォームの前記第2の表面に向けられる第2
    の光源と通信するように更に構成され、前記プラットフォームは前記第1の光源と前記第
    2の光源との間に配置され、
    前記第2の組の1つ以上のキャリブレーション画像は、第1のキャリブレーション画像
    及び第2のキャリブレーション画像を含む、少なくとも一対のキャリブレーション画像を
    含み、
    前記方法は、
    前記通信インターフェースを介して、前記第1の光源を点灯させ、前記第2の光源を消
    灯させる第1の組の1つ以上の光源コマンドを出力することと、
    前記第1の光源が点灯し、前記第2の光源が消灯している間に、前記通信インターフェ
    ースを介して、前記第2のカメラに前記少なくとも一対のキャリブレーション画像の前記
    第1のキャリブレーション画像を生成させる第1の組の1つ以上のカメラコマンドを出力
    することであって、前記第1のキャリブレーション画像は前記多面体の前記別の面の少な
    くともシルエットを取り込むことと、
    前記通信インターフェースを介して、前記第1の光源を消灯させ、前記第2の光源を点
    灯させる第2の組の1つ以上の光源コマンドを出力することと、
    前記第2の光源が点灯し、前記第1の光源が消灯している間に、前記通信インターフェ
    ースを介して、前記第2のカメラに前記少なくとも一対のキャリブレーション画像の前記
    第2のキャリブレーション画像を生成させる第2の組の1つ以上のカメラコマンドを出力
    することであって、前記第2のキャリブレーション画像は、前記別の面上に配置され、前
    記3Dキャリブレーションパターンの一部である別の2Dキャリブレーションパターンを
    取り込むことと、
    を更に含み、
    前記第2の組の座標を前記特定することは、前記少なくとも一対のキャリブレーション
    画像の前記第1のキャリブレーション画像及び前記第2のキャリブレーション画像に基づ
    く、請求項19に記載の方法。
JP2020119858A 2019-07-09 2020-07-13 走査システムのための自動カメラキャリブレーションを実行する方法及びシステム Active JP7417866B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023216330A JP2024038029A (ja) 2019-07-09 2023-12-21 走査システムのための自動カメラキャリブレーションを実行する方法及びシステム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/506,695 US10565737B1 (en) 2019-07-09 2019-07-09 Method and system for performing automatic camera calibration for a scanning system
US16/506,695 2019-07-09
JP2019200387A JP6737522B1 (ja) 2019-07-09 2019-11-05 走査システムのための自動カメラキャリブレーションを実行する方法及びシステム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2019200387A Division JP6737522B1 (ja) 2019-07-09 2019-11-05 走査システムのための自動カメラキャリブレーションを実行する方法及びシステム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023216330A Division JP2024038029A (ja) 2019-07-09 2023-12-21 走査システムのための自動カメラキャリブレーションを実行する方法及びシステム

Publications (3)

Publication Number Publication Date
JP2021016153A true JP2021016153A (ja) 2021-02-12
JP2021016153A5 JP2021016153A5 (ja) 2023-01-11
JP7417866B2 JP7417866B2 (ja) 2024-01-19

Family

ID=68740105

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2019200387A Active JP6737522B1 (ja) 2019-07-09 2019-11-05 走査システムのための自動カメラキャリブレーションを実行する方法及びシステム
JP2020119858A Active JP7417866B2 (ja) 2019-07-09 2020-07-13 走査システムのための自動カメラキャリブレーションを実行する方法及びシステム
JP2023216330A Pending JP2024038029A (ja) 2019-07-09 2023-12-21 走査システムのための自動カメラキャリブレーションを実行する方法及びシステム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2019200387A Active JP6737522B1 (ja) 2019-07-09 2019-11-05 走査システムのための自動カメラキャリブレーションを実行する方法及びシステム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023216330A Pending JP2024038029A (ja) 2019-07-09 2023-12-21 走査システムのための自動カメラキャリブレーションを実行する方法及びシステム

Country Status (4)

Country Link
US (3) US10565737B1 (ja)
JP (3) JP6737522B1 (ja)
CN (3) CN117115216A (ja)
DE (1) DE102020106965A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11072074B2 (en) * 2017-12-13 2021-07-27 Cognex Corporation Calibration and operation of vision-based manipulation systems
EP3755970A4 (en) * 2018-09-03 2021-11-24 ABB Schweiz AG ROBOT SYSTEM MANAGEMENT METHOD AND APPARATUS
US10565737B1 (en) 2019-07-09 2020-02-18 Mujin, Inc. Method and system for performing automatic camera calibration for a scanning system
CN110930460B (zh) * 2019-11-15 2024-02-23 五邑大学 面向结构光3d视觉系统的全自动标定方法及装置
CN113219900B (zh) * 2019-12-12 2022-03-29 牧今科技 基于相机生成的图像信息执行运动规划的方法和计算系统
WO2021118702A1 (en) 2019-12-12 2021-06-17 Mujin, Inc. Method and computing system for performing motion planning based on image information generated by a camera
CN110976839B (zh) * 2019-12-24 2021-06-11 中冶南方工程技术有限公司 连铸机上部结构及长水口自动装卸方法
US11826918B2 (en) 2020-02-06 2023-11-28 Berkshire Grey Operating Company, Inc. Systems and methods for camera calibration with a fiducial of unknown position on an articulated arm of a programmable motion device
US11006039B1 (en) 2020-02-13 2021-05-11 Mujin, Inc. Method and system for determining occlusion within a camera field of view
CN111582196B (zh) * 2020-02-13 2021-05-04 牧今科技 用于确定相机视场内的遮挡的方法和系统
US20210291376A1 (en) * 2020-03-18 2021-09-23 Cognex Corporation System and method for three-dimensional calibration of a vision system
DK3890305T3 (da) * 2020-03-31 2022-07-04 Sick Ag Automatisk konfiguration af et stort antal kameraer
US11673567B2 (en) * 2020-04-14 2023-06-13 Plusai, Inc. Integrated fiducial marker for simultaneously calibrating sensors of different types
US11635313B2 (en) * 2020-04-14 2023-04-25 Plusai, Inc. System and method for simultaneously multiple sensor calibration and transformation matrix computation
US11366233B2 (en) 2020-04-14 2022-06-21 Plusai, Inc. System and method for GPS based automatic initiation of sensor calibration
USD976992S1 (en) * 2020-05-22 2023-01-31 Lucasfilm Entertainment Company Ltd. Camera calibration tool
WO2022095704A1 (en) * 2020-11-03 2022-05-12 Ossfila Technology Limited 3d printing calibration artifact, method for 3d printing calibration and 3d printer
US20240054679A1 (en) * 2020-12-29 2024-02-15 Abb Schweiz Ag Method and apparatus for managing camera system
JP2022184415A (ja) * 2021-06-01 2022-12-13 株式会社エビデント 3次元画像表示方法、3次元画像表示装置、およびプログラム
DE102022129462B3 (de) 2022-11-08 2023-11-09 Göpel electronic GmbH Anordnung zur Kalibrierung eines Kamerasystems, Kalibrierkörper und Verfahren zur Durchführung der Kalibrierung

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001243468A (ja) * 1999-12-24 2001-09-07 Sanyo Electric Co Ltd 三次元モデリング装置、方法及び媒体並びに三次形状データ記録装置、方法及び媒体
JP2004213332A (ja) * 2002-12-27 2004-07-29 Olympus Corp キャリブレーション装置、キャリブレーション方法、キャリブレーション用プログラム、及び、キャリブレーション治具
US20070109295A1 (en) * 2003-05-07 2007-05-17 Canon Europa N.V. Photographing apparatus, device and method for obtaining images to be used for creating a three-dimensional model
JP2016121917A (ja) * 2014-12-24 2016-07-07 パナソニックIpマネジメント株式会社 3次元情報復元装置、3次元情報復元システム、及び3次元情報復元方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10104033A (ja) 1996-09-27 1998-04-24 Komatsu Ltd 画像処理装置のキャリブレーションプレート、これを用いたキャリブレーション装置及び3次元位置計測装置
US6101455A (en) * 1998-05-14 2000-08-08 Davis; Michael S. Automatic calibration of cameras and structured light sources
JP4877891B2 (ja) 2001-08-03 2012-02-15 株式会社トプコン 校正用被写体
JP2005189203A (ja) 2003-12-26 2005-07-14 Fuji Xerox Co Ltd 全周囲3dモデル作成方法および装置
DE102009011300B4 (de) * 2009-03-02 2022-08-11 Kuka Roboter Gmbh Beladung von Lademitteln mit Paketen mittels Manipulator
US9188973B2 (en) * 2011-07-08 2015-11-17 Restoration Robotics, Inc. Calibration and transformation of a camera system's coordinate system
WO2015185110A1 (en) * 2014-06-03 2015-12-10 Metaio Gmbh Method and system for presenting a digital information related to a real object
US20160003612A1 (en) * 2014-07-07 2016-01-07 VirtualU Rapid and accurate three dimensional scanner
US9272417B2 (en) * 2014-07-16 2016-03-01 Google Inc. Real-time determination of object metrics for trajectory planning
JP6615486B2 (ja) * 2015-04-30 2019-12-04 株式会社東芝 カメラキャリブレーション装置、方法及びプログラム
US10074191B1 (en) 2015-07-05 2018-09-11 Cognex Corporation System and method for determination of object volume with multiple three-dimensional sensors
US9682481B2 (en) * 2015-10-26 2017-06-20 X Development Llc Communication of information regarding a robot using an optical identifier
CA3014049C (en) 2016-02-08 2021-06-22 Thomas Wagner Systems and methods for providing processing of a variety of objects employing motion planning
US10124489B2 (en) * 2016-02-26 2018-11-13 Kinema Systems Inc. Locating, separating, and picking boxes with a sensor-guided robot
WO2018081967A1 (en) * 2016-11-03 2018-05-11 Intel Corporation Real-time three-dimensional camera calibration
JP6396516B2 (ja) * 2017-01-12 2018-09-26 ファナック株式会社 視覚センサのキャリブレーション装置、方法及びプログラム
CN110506297B (zh) * 2017-04-17 2023-08-11 康耐视公司 高精确度校准系统和方法
CN107478203B (zh) * 2017-08-10 2020-04-24 李�杰 一种基于激光扫描的3d成像装置及成像方法
CN107505324B (zh) * 2017-08-10 2020-06-16 李�杰 基于双目协同激光的3d扫描装置及扫描方法
US10621753B2 (en) * 2017-09-29 2020-04-14 Intel IP Corporation Extrinsic calibration of camera systems
JP7008942B2 (ja) * 2017-12-21 2022-01-25 株式会社安川電機 較正方法及び較正装置
US10839557B1 (en) * 2018-04-03 2020-11-17 A9.Com, Inc. Camera calibration for augmented reality
JP7460532B2 (ja) * 2018-10-10 2024-04-02 株式会社Preferred Networks システム、方法及び装置
US10369701B1 (en) * 2018-10-30 2019-08-06 Mujin, Inc. Automated package registration systems, devices, and methods
US10369698B1 (en) * 2019-03-07 2019-08-06 Mujin, Inc. Method and system for performing automatic camera calibration for robot control
US10565737B1 (en) * 2019-07-09 2020-02-18 Mujin, Inc. Method and system for performing automatic camera calibration for a scanning system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001243468A (ja) * 1999-12-24 2001-09-07 Sanyo Electric Co Ltd 三次元モデリング装置、方法及び媒体並びに三次形状データ記録装置、方法及び媒体
JP2004213332A (ja) * 2002-12-27 2004-07-29 Olympus Corp キャリブレーション装置、キャリブレーション方法、キャリブレーション用プログラム、及び、キャリブレーション治具
US20070109295A1 (en) * 2003-05-07 2007-05-17 Canon Europa N.V. Photographing apparatus, device and method for obtaining images to be used for creating a three-dimensional model
JP2016121917A (ja) * 2014-12-24 2016-07-07 パナソニックIpマネジメント株式会社 3次元情報復元装置、3次元情報復元システム、及び3次元情報復元方法

Also Published As

Publication number Publication date
CN117115216A (zh) 2023-11-24
US20210012534A1 (en) 2021-01-14
US10565737B1 (en) 2020-02-18
JP2021012180A (ja) 2021-02-04
JP7417866B2 (ja) 2024-01-19
CN111199559A (zh) 2020-05-26
JP6737522B1 (ja) 2020-08-12
US11074722B2 (en) 2021-07-27
CN110555872B (zh) 2023-09-05
CN110555872A (zh) 2019-12-10
US11967113B2 (en) 2024-04-23
CN111199559B (zh) 2020-12-25
US20210312664A1 (en) 2021-10-07
JP2024038029A (ja) 2024-03-19
DE102020106965A1 (de) 2021-01-14

Similar Documents

Publication Publication Date Title
JP2021016153A (ja) 走査システムのための自動カメラキャリブレーションを実行する方法及びシステム
JP6836042B2 (ja) 三次元走査支援システム及び方法
US12010431B2 (en) Systems and methods for multi-camera placement
US11688089B2 (en) Method and processing system for updating a first image generated by a first camera based on a second image generated by a second camera
US9432655B2 (en) Three-dimensional scanner based on contours from shadow images
CN110657785B (zh) 一种高效的场景深度信息获取方法及系统
US10447999B2 (en) Alignment of images of a three-dimensional object
WO2019213666A1 (en) Systems and methods for three-dimensional data acquisition and processing under timing constraints
CN107678041A (zh) 用于检测对象的系统和方法
US9992472B1 (en) Optoelectronic devices for collecting three-dimensional data
WO2022078437A1 (zh) 一种移动物体之间的三维处理设备及方法
JPS63233312A (ja) 被測定物体からの反射光による距離測定方法
CN114155349A (zh) 一种三维建图方法、三维建图装置及机器人
JPH08329222A (ja) 3次元位置認識装置
JP2000125289A (ja) 凹部強調画像の作成方法
WO2002074554A1 (fr) Procede pour exprimer un modele tridimensionnel dans un corps transparent, corps transparent dans lequel un modele tridimensionnel est exprime et systeme pour mettre en oeuvre ce procede
WO2020051747A1 (zh) 获取物体轮廓的方法、图像处理装置以及计算机存储介质
KR20190051523A (ko) 발광 다이오드가 설치된 직육면체를 이용한 카메라의 캘리브레이션 장치 및 방법
TWI816166B (zh) 偵測物件深度和水平距離的方法及系統
Kuehnle et al. Real-time 3D environment model for obstacle detection and collision avoidance with a mobile service robot
JP2023169481A (ja) 学習データ生成装置、学習システム、および、学習データ生成方法
JPH045926B2 (ja)
JP2008224328A (ja) 位置演算システム、位置演算装置および位置演算方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221104

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230928

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231102

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20231130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231221

R150 Certificate of patent or registration of utility model

Ref document number: 7417866

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150