(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-26
(45)【発行日】2024-02-05
(54)【発明の名称】撮像装置、画像処理装置、画像処理方法、撮像装置の校正方法、ロボット装置、ロボット装置を用いた物品の製造方法、制御プログラムおよび記録媒体
(51)【国際特許分類】
G01B 11/245 20060101AFI20240129BHJP
G01B 11/00 20060101ALI20240129BHJP
G01C 3/06 20060101ALI20240129BHJP
B25J 13/08 20060101ALI20240129BHJP
【FI】
G01B11/245 H
G01B11/00 H
G01C3/06 120P
B25J13/08 A
(21)【出願番号】P 2019094047
(22)【出願日】2019-05-17
【審査請求日】2022-05-06
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】檀 慶太
【審査官】眞岩 久恵
(56)【参考文献】
【文献】特開2017-167126(JP,A)
【文献】特開2018-128397(JP,A)
【文献】特開2017-040549(JP,A)
【文献】特開2016-169989(JP,A)
【文献】特開2017-003279(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01B 11/00-11/30
G01C 3/06
B25J 13/08
(57)【特許請求の範囲】
【請求項1】
第1の瞳領域および第2の瞳領域を有するレンズを通して対象を撮影する撮像素子を
有する撮像装置
と、
処理部を有する処理装置と、
を備える3次元計測装置であって、
前記レンズは、前記第1の瞳領域と前記第2の瞳領域とが並ぶ
第1の方向とは別の
、前記第1の方向に直交する第2方向
と前記第1の方向および前記第2の方向に直交する第3方向とに
おいて変位しないように前記撮像装置に拘束されており、
前記処理部は、前記第1の瞳領域と前記第2の瞳領域との相対的な第1の位置関係を表す第1のパラメータを、前記第1の位置関係
が前記第1の瞳領域と前記第2の瞳領域との前記第1の方向における位置関係を
示す1自由度で表
されたモデルを用いて設定し、前記撮像素子が計測対象を撮影して得られた画像信号および前記第1のパラメータを用いて3次元計測を行う、
ことを特徴とする
3次元計測装置。
【請求項2】
前記撮像素子は、前記第1の瞳領域を通過した光を受光する第1の光電変換素子と、
前記第2の瞳領域を通過した光を受光する第2の光電変換素子と、を有している、
ことを特徴とする請求項1に記載の
3次元計測装置。
【請求項3】
前記撮像素子には、1つのマイクロレンズと、前記第1の光電変換素子と、前記第2の光電変換素子と、を含む画素が配列されており、
前記第1の光電変換素子が、前記1つのマイクロレンズを介して、前記第1の瞳領域を通過した光を受光し、前記第2の光電変換素子が、前記1つのマイクロレンズを介して、前記第2の瞳領域を通過した光を受光する、
ことを特徴とする請求項2に記載の
3次元計測装置。
【請求項4】
前記処理部が行う前記3次元計測は、
前記画像信号に前記第1のパラメータを用いてステレオ平行化処理を施し、前記ステレオ平行化処理後の前記画像信号から演算された視差を用いて行う、
ことを特徴とする請求項1から3のいずれか1項に記載の
3次元計測装置。
【請求項5】
前記処理部は、
前記第1の光電変換素子と前記第1の瞳領域との相対的な第2の位置関係を表す第2のパラメータと、
前記第2の光電変換素子と前記第2の瞳領域との相対的な第3の位置関係を表す第3のパラメータと、を設定し、
前記第2のパラメータおよび前記第3のパラメータをさらに用いて前記3次元計測を行う、
ことを特徴とする請求項2または3に記載の
3次元計測装置。
【請求項6】
前記第2のパラメータおよび前記第3のパラメータは、前記第1の光電変換素子と前記第1の瞳領域との距離と、前記第2の光電変換素子と前記第2の瞳領域との距離が等しくなるように計算されたモデルである、
ことを特徴とする請求項5に記載の
3次元計測装置。
【請求項7】
前記処理部は、
前記撮像素子がマーカを撮影して得られた画像を用いて、前記第1のパラメータを設定する、
ことを特徴とする請求項1から6のいずれか1項に記載の
3次元計測装置。
【請求項8】
請求項1から7のいずれか1項に記載の
3次元計測装置と、
ロボット装置
と、を備えたシステムであって、
前記
3次元計測装置を用いて、前記ロボット装置を制御する、
ことを特徴とする
システム。
【請求項9】
請求項8に記載の
システムを用いて、
前記ロボット装置が、第1の対象物を把持し、第2の対象物に組み付けることで物品の製造を行うことを特徴とする物品の製造方法。
【請求項10】
請求項1
から7のいずれか1項に記載の
3次元計測装置
を構成するカメラであって、
前記カメラの内部に前記処理部
を設けた
ことを特徴とするカメラ。
【請求項11】
前記第3の方向は、前記撮像素子の撮像面に直交する、
ことを特徴とする請求項1
から7のいずれか1項に記載の
3次元計測装置。
【請求項12】
請求項1に記載の
3次元計測装置を用い、前記撮像素子で撮影された画像に画像処理を行う画像処理方法であって、
前記画像信号から視差を求め、前記視差を用いて前記3次元計測を行う、
ことを特徴とする画像処理方法。
【請求項13】
前記処理部が、
前記第1の瞳領域を通過した光によって形成される第1の画像に対応した第1の画像信号と、前記第2の瞳領域を通過した光によって形成される第2の画像も対応した第2の画像信号と、から視差を求め、前記視差を用いて前記3次元計測を行う、
ことを特徴とする請求項12に記載の画像処理方法。
【請求項14】
請求項1に記載の
3次元計測装置を用いて、前記第1のパラメータを校正する校正方法であって、
前記撮像素子がマーカを撮影して得られた画像を用いて、前記第1のパラメータを設定する、
ことを特徴とする校正方法。
【請求項15】
請求項12または請求項13に記載の画像処理方法、または請求項14に記載の校正方法を実行可能な制御プログラム。
【請求項16】
請求項15に記載の制御プログラムを記録した、コンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像装置に関する。
【背景技術】
【0002】
近年、ロボット装置により所定の対象物を操作し、組立作業を実現する生産装置が広く用いられるようになっている。このような生産装置において、対象物のピッキングや組立作業を高精度に行うために、ロボット装置と3次元視覚センサを組み合わせた生産装置が知られている。
【0003】
3次元視覚センサとしては、ステレオカメラのような三角測量の原理に基づいて計測対象の距離を測定する撮像装置が広く用いられている。このような撮像装置を用いてXYZ方向の3次元計測を行う場合には、事前に当該撮像装置に対して、撮像装置の内部・外部パラメータを求める必要がある。ここで、
図10を用いて内部パラメータと外部パラメータについて説明する。
【0004】
図10は2台のピンホールカメラA、Bが配置されたステレオカメラとしての撮像装置をモデル化したものである。ピンホールの位置が光学中心であり、空間の計測点は、そこから光学中心を通る直線と画像面(A像、B像)が交わったところに像を結ぶ。ここで光学中心を原点とし、光学中心を通り画像面と直交する方向を
図10中のz軸にとる。したがってXY平面が画像面になる。このような座標系を撮像装置座標系(C
A、C
B)と呼ぶ。また所定の空間における撮像装置の位置をワールド座標系Wで表すものとする。光学中心から画像面までの距離はレンズの焦点距離に相当する。
【0005】
また、光学中心から画像面に下した垂線と画像面の交点(画像中心)を原点とし、画像の縦横方向をxy軸にとる座標系を画像座標系(SA、SB)と呼ぶ。内部パラメータは、画像座標系(SA、SB)と撮像装置座標系(CA、CB)間のそれぞれの相対関係を表すパラメータである。具体的には、撮像装置の光学特性を意味し、画像中心、焦点距離、セル(画素)サイズ、および、レンズ歪特性等で表せる。
【0006】
一方、外部パラメータとは、ピンホールカメラAの撮像装置座標系CAと、ピンホールカメラBの撮像装置座標系CB間の相対関係であり、ピンホールカメラAとピンホールカメラBとの相対的な位置姿勢により定まる。内部・外部パラメータが定まり、2つのピンホールカメラの撮影画像での計測点の対応付けを行えば、計測点の視差が求まる。よって三角測量の原理により、3次元計測が可能となる。
【0007】
以上3次元計測を高精度に行うためには、画像座標系(SA、SB)および撮像装置座標系(CA、CB)の相対関係が重要となり、内部・外部パラメータを高精度に求める必要がある。しかし、内部・外部パラメータを高精度に直接計測するには、精密にカメラの光学特性を測定する必要があるが、光学特性を直接計測するのは非常に困難である。そこで、非特許文献1に記載されているように、あらかじめ形状が既知な校正チャートを、内部・外部パラメータを求めることが必要な2つのカメラで撮影し、画像座標系上での座標を求め、これを所定のモデルにあてはめる。こうすることで、内部・外部パラメータを求める手法が記載されている。この際、2つのカメラの相対的な位置姿勢を表す外部パラメータは、XYZ方向の並進3成分、および回転3成分を合わせた6自由度でモデル化された上で算出される。
【先行技術文献】
【非特許文献】
【0008】
【文献】Z.Zhang, “A flexible new technique for camera calibration”,( IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.22, No.11, pages 1330-1334)
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、基線長が短い撮像装置に対して、非特許文献1に記載されたような手法で内部・外部パラメータを算出した場合、基線方向以外の外部パラメータの推定誤差が少しでも発生すると、校正により定まるエピポーラ線が大きくずれる。これにより計測点の計測精度が悪くなる。
図11は外部パラメータの推定誤差による算出したエピポーラ線のズレが生じる原因を詳細に説明した図である。
図11(a)は基線長が長い場合、
図11(b)は基線長が短い場合を示している。
【0010】
図11(a)(b)に示すように、エピポーラ線とは、2つの撮像装置の光学中心A、Bと計測点を通るエピポーラ平面、と画像面(A像、B像)との交線である。また、撮像装置Aの光学中心Aと撮像装置Bの光学中心Bを結ぶ線分が基線長であり、結ぶ方向が基線方向である。この光学中心Aと光学中心Bとの相対的な位置関係を定めるものが外部パラメータである。
【0011】
また、計測点がA像およびB像に投影される際の点をそれぞれ対応点A、対応点Bとする。対応点A、対応点Bの対応付けを行う際に、2つのカメラの撮影画像上(A像、B像)に投影される投影点はエピポーラ線上に存在するという拘束条件が成り立つため、対応点Aまたは対応点Bを算出する際は、エピポーラ線上を探索する。
【0012】
図11(a)に示すように、基線長がある程度長いカメラであれば、基線方向以外の外部パラメータの推定誤差が発生し、光学中心Aと光学中心Bとの相対的な位置関係がズレても、エピポーラ平面はほとんど傾かないため、エピポーラ線は大きくずれない。よって算出されたエピポーラ線で、対応点A、対応点Bを算出しても、計測点の計測精度に大きく影響しない。
【0013】
しかしながら
図11(b)に示すように、基線長が短いカメラでは、基線方向以外の外部パラメータの推定誤差が少しでも発生すると、光学中心Aと光学中心Bとの相対的な位置関係がズレ、エピポーラ平面が大きく傾く。よってエピポーラ線が本来の物よりも大きくずれる。そのため、基線長が短いカメラに、外部パラメータを、モデルを用いて算出する手法を用いた場合、外部パラメータに少しでも誤差が生じると、エピポーラ線が大きくずれてしまう。よって対応点A、対応点Bとの対応付けに失敗し、3次元計測精度が大きく悪化するという課題がある。
【0014】
そこで本発明は上記課題に鑑み、基線長が短い撮像装置に対して、外部パラメータを、モデルを用いて算出する手法を適用した場合でも、高精度に計測を行えることができる撮像装置を提供する。
【課題を解決するための手段】
【0015】
上記課題を解決するため本発明においては、レンズと、処理部と、を備えた撮像装置であって、前記レンズは、第1の光を通過させる第1の領域と、第2の光を通過させる第2の領域と、を備え、前記レンズは所定の条件により前記撮像装置に拘束されており、前記第1の領域と前記第2の領域は、所定の方向に並んで配置されており、前記処理部は、前記第1の領域における所定の位置と、前記第2の領域における所定の位置との相対的な第1の位置関係を、前記所定の方向の成分を自由度で表したモデルを用いて算出する、ことを特徴とする撮像装置を採用した。
【発明の効果】
【0016】
本発明によれば、基線長が短い撮像装置の光学的特性を踏まえて、外部パラメータを算出するためのモデルを1自由度でモデル化している。これにより、基線方向以外の外部パラメータの推定誤差を抑えることができ、計測精度を大幅に向上させることができる。
【図面の簡単な説明】
【0017】
【
図1】実施形態における撮像装置1を示す概略図である。
【
図2】実施形態における撮像素子11と撮像用画素111を示す概略図である。
【
図3】実施形態における撮像装置1の構造図である。
【
図4】実施形態における撮像装置1と画像処理装置2を示す概略図である。
【
図5】実施形態における撮像装置1と画像処理装置2の変形例を示す概略図である。
【
図6】実施形態における3次元計測を行う際の制御フローチャートである。
【
図7】実施形態における撮像装置1を用いた際の内部・外部パラメータについて説明した図である。
【
図8】
図6におけるS101の詳細なフローを示したフローチャート図である。
【
図9】実施形態における校正チャート5の概略図である。
【
図10】2台のピンホールカメラA、Bが配置されたステレオカメラとしての撮像装置をモデル化した図である。
【
図11】外部パラメータの推定誤差による算出したエピポーラ線のズレが生じる原因を詳細に説明した図である。
【発明を実施するための形態】
【0018】
以下、添付図面を参照して本発明を実施するための形態につき説明する。なお、以下に示す実施形態はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は、参考数値であって、本発明を限定するものではない。
【0019】
(第1の実施形態)
図1は本実施形態における撮像装置1を示した概略図である。本実施形態における撮像装置は、撮像面位相差方式を用いで3次元計測を行う撮像装置である。撮像面位相差方式を用いた撮像装置では、撮像素子の各画素が2つの光電変換部(フォトダイオード)を有する。撮像面位相差方式では、撮像装置の光学系の射出瞳における異なる2つの領域(部分瞳)を通過した光束によって形成される一対の画像(
図10、
図11におけるA像、B像)が得られる。よって、A像、B像から視差を求め、当該視差から
図10、11を用いて説明した三角測量の原理に基づいて計測点までの距離を測定する。本実施形態においては撮像面位相差方式を用いた撮像装置が好適である。以下で詳述する。
【0020】
図1に示すように、撮像装置1は撮像素子11とレンズ12を有し、被写体の光学像を、レンズ12を通して撮像素子11に結像する。
図2は本実施形態における撮像素子11を詳細に示した図である。
図2(a)は撮像素子11の撮像面における撮像用画素111の配列の様子を示しており、
図2(b)は撮像用画素111単体の構造を示している。
【0021】
図2(a)に示すように、撮像素子11には多数の撮像用画素111が配列されている。なお、煩雑さをなくすため、左上側の各画素の配列の態様を部分的に示すに留まり、撮像素子11の全面における各画素の配列の態様は図示を省略する。また
図2(b)より、撮像用画素111はマイクロレンズ31と、2つのフォトダイオードのような光電変換素子32A、32Bから構成されている。撮像素子11の全面にこのような撮像用画素111が配置されている。
【0022】
図3は、撮像装置11における光学系の射出瞳における2つの領域を詳細に示した図である。
図3に示すように、光電変換素子32Aおよび光電変換素子32Bには、それぞれ射出瞳41の異なる領域である第一の瞳領域41Aを通過した光束42Aおよび、第2の瞳領域41Bを通過した光束42Bが入射する。したがって、各撮像用画素111の光電変換素子32Aは画像信号A(以下、A像)を取得し、各撮像用画素111の光電変換素子32Bは画像信号B(以下、B像)を取得する。
【0023】
以上のように、1つの撮像素子、1つのレンズでも、異なる2方向からみたA像、B像を得られるため、三角測量の原理により、計測点の3次元計測を行うことが可能となる。
【0024】
次に上述した撮像装置1を用いて、3次元測定を行う際に内部・外部パラメータを校正する校正装置を、
図4を用いて説明する。
図4より、撮像装置1は画像処理装置2と接続されている。画像処理装置2は、撮像装置1の撮影と、撮影画像を処理し処理結果を用いて撮像装置1の内部・外部パラメータの校正および、3次元計測を実施する各機能ブロック(211~214)から構成される。撮像装置1が校正パラメータ5を撮影し、得られた校正パラメータ5の撮影画像に基づいて、内部・外部パラメータの校正に必要なデータを取得するものとする。
【0025】
画像処理装置2は、CPU21を中心に構成されている。画像処理装置2は、演算を行うCPU21と、ROM22およびRAM23からなるメモリ部と、外部と通信を行うインターフェース(I/F)部24を有している。これらの各ブロックは画像処理装置2内部の通信に用いられるバス25を介して相互に接続される。各機能ブロック(211~214)は、CPU21が制御プログラムを実行することにより実現される。
【0026】
撮像装置1はインターフェース部24を介して、画像処理装置2に接続されている。撮像装置1は、撮像装置制御部211からの指令に基づき撮影し、撮影画像であるA像とB像を画像処理装置2に送信する。また、撮像装置制御部211は、不図示の照明の点灯や輝度の調整も行う機能を有するものとする。
【0027】
送信されたA像、B像は画像処理装置2内の画像処理部212によって処理される。画像処理部211ではこれらのA像、B像に対して、画像処理を行うことにより、内部・外部パラメータを校正する際に必要なデータを得る。本実施形態では、校正チャート5に記された黒丸マーカの画像座標系における中心位置を計測する手法について説明する。本実施形態では、校正チャート5には白背景に、黒色かつ円形のマーカが多数描かれている装置とする。ただし、校正チャート5は円形マーカに限らず、チェスボードないし市松模様の画像パターンを付与したものでもよい。
【0028】
まず、撮像装置1により構成マーカ5を撮影し、構成チャート5のA像、校正チャート5のB像を取得し、取得したA像、B像を画像処理部212に送信する。そして画像処理部212において、撮像装置1から送信されたA像に対してエッジ抽出処理を実施する。本実施形態におけるエッジ抽出処理では各エッジの長さと真円度から、校正チャート5の各マーカのエッジを抽出するものとする。抽出エッジに対して楕円近似を行えば、楕円中心の画像座標を求めることができる。この画像座標はA像におけるマーカ中心位置となる。B像に対しても同様の処理を行えば、B像におけるマーカ中心位置を求めることができる。A像におけるマーカ中心位置が画像座標系SA、B像におけるマーカ中心位置が画像座標系SBとなる。
【0029】
画像処理装置2の校正演算部213では、撮像装置1の内部・外部パラメータを演算する機能を備えている。演算方法については後述する。校正演算部213で得られた内部・外部パラメータは画像処理装置2内のメモリ、例えばROM22ないしRAM23に格納しておく。
【0030】
画像処理装置2の3次元計測部214では、A像、B像における各投影点の対応付けの処理を行い、内部、外部パラメータを用いて、3次元計測を実施する機能を備えている。3次元計測部214が行う3次元計測方法に関する処理については後述する。
【0031】
本実施形態では
図4に示すように画像処理装置2と撮像装置1とは別々の構成となっているが、
図5に示すように、画像処理装置2の機能を撮像装置1の内部に設けた、いわゆるスマートカメラのような構成にしてもよい。これにより、別途、画像処理装置2を手配する必要性がないため、設置スペースを削減できる。また、撮像装置1と画像処理装置2の配線作業も
図5に示す形態にすれば割愛できるため、装置の立上時間を短縮でき、人的コストの削減も図ることができる。
【0032】
次に本実施形態における撮像装置1で3次元計測を行う制御のフローを、
図6を用いて説明する。
図6は本実施形態における3次元計測を行う際の制御フローチャートである。全体の大まかな流れとしては、オフライン作業(S101)と、オンライン作業(S102~S105)に分けられる。
【0033】
オフライン作業となっているS101は、作業者が行う準備作業のステップであり、校正演算部213が実施する処理である。撮像装置1の光学特性が変化しない限りは、1度だけ行う処理である。しかし、たとえば作業者が撮像装置1のピントを再調整した場合や、撮像装置1に衝撃が加わり光学特性が変化した場合には、再度S101を実施する必要がある。S101で撮像装置1の構成を行い、内部・外部パラメータを設定してメモリに格納し、準備作業を終了する。
【0034】
オンライン作業により行われるステップS102からS105は、撮像装置1を用いて3次元計測を行うたびに必要であり、3次元計測部214が実施する処理である。たとえば、ロボット装置を用いてワークの把持を行い、把持したワークを他のワークに組み付け、物品の製造を行うようなシステムの場合においては、ワークが供給され把持動作を行うたびに実施する処理である。具体的には、撮像装置1を用いてワークの位置姿勢を計測し、この計測結果をもとにロボット装置の位置姿勢を補正し、把持したワークを他のワークに組み付けるような処理を行う。
【0035】
次に撮像装置1を校正するS101について説明する。S101は、撮像装置1の校正を実施し、撮像装置1の内部・外部パラメータを取得する工程である。本実施形態の撮像装置を用いた際の内部・外部パラメータについて、
図7を用いて説明する。
【0036】
図7は、本実施形態における撮像装置1を用いた際の各座標系の関係を示した図である。
図7(a)は本実施形態における射出瞳41をYZ平面で示した図である。
図7(b)は射出瞳41をXY平面で示した図である。
図7(c)は撮像用画素111をXZ平面で示した図である。まず、撮像装置座標系(C
A、C
B)および画像座標系(S
A、S
B)について説明する。先述したように、A像およびB像は、それぞれ射出瞳41の異なる領域である第一の瞳領域41Aを通過した光束および、第2の瞳領域41Bを通過した光束が、撮像素子11上で受光されそれぞれ結像した画像信号である。
【0037】
よって光学中心はそれぞれ、瞳領域41Aの重心位置および、瞳領域41Bの重心位置となる。この重心位置がそれぞれ、撮像装置座標系CAと撮像装置座標系CBの原点位置となる。撮像装置座標系CAの光学中心を光学中心A、撮像装置座標系CBの光学中心を光学中心Bと呼称する。光学中心Aおよび、光学中心Bから撮像素子11への垂線方向が撮像装置座標系CAおよび、撮像装置座標系CBのz軸となる。各光学中心A、Bから撮像素子11までの距離が焦点距離である。
【0038】
図7(b)より、本実施形態では、撮像装置座標系C
Aから撮像装置座標系C
Bへの方向を、撮像装置座標系C
Aおよび撮像装置座標系C
Bのx軸と定義する。
【0039】
光学中心A、Bから撮像素子11へ下した垂線と、撮像素子11との交点が、画像座標系S
A、S
Bの原点位置であり、各原点位置を画像中心A、Bと呼ぶ。
図7(c)に示すように、本実施形態では、光電変換素子32Aと32Bの並び方向(
図7(c)のX軸方向)を、画像座標系S
A、S
Bのx軸と定義する。レンズ歪補正後においては、画像座標系S
A、S
Bのx軸と、撮像装置座標系C
A、C
Bのx軸は平行となる。
【0040】
次に内部パラメータおよび、外部パラメータについて説明する。内部・外部パラメータの設定方法においては撮像装置をモデル化する手法を用いる。内部パラメータは画像座標系SA、SBと撮像装置座標系CA、CB間の相対的な位置関係を表すパラメータである。具体的には、撮像装置の光学特性を意味し、画像中心、焦点距離、セル(画素)サイズ、および、レンズ歪特性で表せる。
【0041】
レンズ歪補正前に画像座標系SA、SBで計測された座標を(u’,v’)とすると、レンズ歪特性を用いて、レンズ歪補正後の座標(u,v)に以下の式で変換できる。
【0042】
【0043】
K1、K2、K3が半径方向の歪係数、P1、P2が円周方向の歪係数であり、これらがレンズ歪特性のパラメータである。ここで、半径rは次式で表せる。
【0044】
【0045】
レンズ歪特性以外の内部パラメータから、以下の内部パラメータ行列AAおよび内部パラメータ行列ABが定まる。
【0046】
【0047】
【0048】
ここで、fA,fBは瞳領域41A,41Bの焦点距離、kA,kBは撮像素子11のセル(画素)サイズ、(uA0,vA0)は画像座標系SAの画像中心、(uB0,vB0)が画像座標系SBの画像中心である。
【0049】
一方、外部パラメータは撮像装置座標系CAと撮像装置座標系CBとの相対関係であり、撮像装置が2台ある場合は、6自由度でモデル化され、外部パラメータ行列Eは次式で表現できる。
【0050】
【0051】
Rは回転行列であり3自由で表せ、(t1、t2、t3)は平行移動成分である。
【0052】
次に、内部パラメータ行列と外部パラメータ行列を用いて、画像座標系SA上の計測点座標mA=(uA,vA)と、画像座標系SB上の計測点座標mB=(uB,vB)の間に成り立つ関係式について説明する。外部パラメータの一部である(t1、t2、t3)を用いて次式のような行列を定義する。
【0053】
【0054】
このとき、幾何学的に画像座標系SAの計測点座標mAと、画像座標系SBの計測点座標mBには、以下の関係式が成り立つことが一般的に知られている。
【0055】
【0056】
このとき、以下のように行列Fを定義する。
【0057】
【0058】
行列Fを用いると、数7は以下のようにあらわすことができる。
【0059】
【0060】
ここで、行列Fを基礎行列と呼び、数9を基礎方程式と呼ぶ。基礎行列Fは9個の成分を持つが、定数倍の自由度があるので、未知数は8個であるとみなせる。よって、理論的には8組以上の対応点データ(mA,mB)がわかれば、基礎行列Fを決定できる。また、理論的には5点のワールド座標系で既知の点があれば、基礎行列Fから内部・外部パラメータを導出できることが一般的に知られている。
【0061】
しかしながら、現実には、校正時に特徴点位置を画像計測する際に誤差が生じたり、内部パラメータの一部であるレンズ歪特性が現実のレンズ歪特性とは一致しなかったりする。よって、上記の理論上の対応点データ数だけでは、内部・外部パラメータの推定誤差が大きく発生してしまう。そのため、より多くの対応点データを用いて、最適化計算により内部・外部パラメータを推定するのが一般的な校正手法である。
【0062】
本実施形態では、レンズが1つであり、所定の条件で拘束され、2つの光学中心が相対的に変位し辛いという撮像装置の光学特性を踏まえて、外部パラメータ行列E’を次式のようにする。そしれ光電変換素子32Aと32Bの並び方向であるX軸の並進成分t1のみでモデル化する。
【0063】
【0064】
上記のように、X軸の並進成分t
1のみでモデル化できる理由について詳しく説明する。撮像面位相差方式を用いた撮像装置では、A像とB像は同一レンズ12および撮像素子11で結像した画像信号である。よって、
図7(b)に示すように、第1の瞳領域41Aと第2の瞳領域41Bの重心位置のワールド座標系WにおけるY座標はほぼ等しくなる。つまり、瞳領域41Aの光学中心Aと瞳領域41B光学中心のY座標がほぼ等しい値となる。
【0065】
また、第1の瞳領域41Aと第2の瞳領域41Bの焦点距離もほぼ等しいので、光学中心Aと光学中心Bのワールド座標系WにおけるZ座標もほぼ等しい値となる。つまり、光学中心A(撮像装置座標系CAの原点)と光学中心B(撮像装置座標系CBの原点)の、ワールド座標系WのY座標、Z座標はほぼ等しい値となる。以上のように、外部パラメータをX方向の並進成分t1のみでモデル化することができるようになる。
【0066】
数10の外部パラメータ行列を用いると、数6は以下のように変換できる。
【0067】
【0068】
上記の行列を用いると、数7は次式のように変換できる。
【0069】
【0070】
よって、基礎行列Fと基礎方程式は以下のようにあらわせる。
【0071】
【0072】
【0073】
本実施形態では、数14に示した基礎方程式に対応点データを代入し、内部・外部パラメータを推定する。以上により、内部・外部パラメータを算出する。なお上記で述べた処理は、画像処理部212および校正演算部213により行われるものとする。
【0074】
次に
図8を用いてS101の詳細なフローを説明する。
図8は本実施形態におけるS101の詳細なフローを示したフローチャート図である。なお、以下で詳述するフローの各ステップは画像処理装置2の各機能ブロック(211~214)により実行されるものとする。
【0075】
まずS201で、撮像装置1を用いて校正チャート5を撮影する。撮像装置制御部211が撮像装置1に対してトリガ信号を送信し、撮像装置11は画像信号を画像処理装置2に送信する。画像信号であるA像とB像はRAM23上にメモリ展開される。
【0076】
次にS202で、A像とB像の画像座標系SA、SBにおける、校正チャート5上に配置されているマーカの位置計測を行う。画像処理部212はRAM23上に展開されているA像とB像に対して、先述のマーカ位置計測処理を実行する。これにより、画像座標系SA上のマーカ座標mAi=(uAi、vAi)と、画像座標系SB上のマーカ座標mBi=(uBi、vBi)が求まる。ここでiはマーカのナンバーとする。画像処理部212はここで求めたマーカ座標mAi、mBiを対応点データとしてRAM23上にメモリ展開する。
【0077】
次にS203で、校正チャート5の位置姿勢を変化させるため、校正チャート5を移動させる。本作業は対応点データであるマーカ座標mAi、mBiを多数得るためである。本作業は、作業者が手動で行ってもよいし、不図示の自動ステージやロボット装置等により自動で校正チャート5を移動させてもよい。
【0078】
次にS204で、事前に設定された枚数以上、校正チャート5を撮影した撮影画像があるか判定する。必要枚数以上撮影されていれば、S204:Yesより次工程であるS205に移動する。必要枚数撮影されていなかったら、再度校正チャート5を撮影するため、工程S201の直前まで戻る。
【0079】
必要枚数は作業者が事前に設定し、必要枚数の値をROM22上に保存しておく。撮影枚数が多いほど、校正精度は向上するが、作業時間がかかるため、必要な校正精度と許容される作業時間から必要枚数を決定する。校正チャート5上のマーカ点数が多ければ、一度で多数の対応点データを得られるので、必要枚数は削減できる。一般的に撮影画像の枚数は、10から50枚程度である。
【0080】
次にS205で、対応点データと撮像装置モデルを用いて、内部・外部パラメータ推定処理を行う。S202でRAM23上に保存されているマーカ座標mAi、mBiを読みだす。これらの対応点データを数14に代入する。そして、数14の最適化計算を解けば、基礎行列F’を求めることができる。
【0081】
【0082】
図9に示すように、校正チャート5上のワールド座標系Wを、左上のマーカを原点とし、校正チャートの法線方向をZ軸、左上のマーカから右上のマーカ方向をX軸、X、Z軸の外積をY軸と定義する。校正チャート5製作時にマーカを高精度に描画することにより、ワールド座標系Wにおける各マーカ位置は高精度に定まる。
【0083】
先述したように、理論的にはワールド座標系Wで5点の既知の点があれば、基礎行列Fから内部・外部パラメータを導出できる。よって、上記のようにワールド座標系Wを定義すれば、高精度に基礎行列F’から内部・外部パラメータを推定することができる。そしてS206で校正演算部213は推定した内部・外部パラメータをROM22上に保存する。以上でS101の工程を終了する。
【0084】
次に
図6のS102からS105で実行される3次元計測処理について説明する。
図6より、まずS102にて、撮像装置1を用いて、3次元計測を行いたい計測対象を撮影する。撮像装置制御部211が撮像装置1に対してトリガ信号を送信し、撮像装置1は画像信号を画像処理装置2に送信する。画像信号であるA像とB像はRAM23上にメモリ展開される。
【0085】
次にS103で、ステレオ平行化処理を行う。ステレオ平行化とはA像とB像の対応点が同じ行座標を持つように、撮影画像を投影処理する手法である。S103の処理を行うことにより、ステレオ対応点探索問題を2次元から1次元の問題に落とし込めるため、処理を簡単にできるメリットがある。
【0086】
S103におけるステレオ平行化処理の概要を説明する。まず内部パラメータの一部であるレンズ歪特性と数1を用いて、A像およびB像に対してレンズ歪補正を行い、レンズ歪補正画像を生成する。次に、光学中心A、Bの高さがそろい、光軸方向が平行となるような投影行列を、内部・外部パラメータを用いて算出する。レンズ歪補正画像に対し投影行列を反映させることにより、ステレオ平行化画像を得ることができる。
【0087】
次にS104で、ステレオ平行化処理後のA像とB像に対し、対応点付けによる視差を演算する。対応点付け手法としては、領域ベースマッチングや特徴ベースマッチングがあり、用途によって最適な手法を選択する。領域ベースマッチングの手法としては、SAD(sum of absolute differences)やSSD(sum of squared differences)がある。さらにNCC(normalized cross correlation)などがある。S104で求まった視差をd、画像座標系A上の計測座標mA=(uA,v)と、画像座標系SB上の計測座標mB=(uB,v)とする。ステレオ平行化処理後のため、行座標yは等しい値となる。
【0088】
最後にS105で、校正結果と視差量を用いて3次元計測を行う。この際、撮像装置座標系SAからみた計測点の座標(x,y,z)は三角測量の原理により、以下のようにあらわせる。
【0089】
【0090】
ここで、fはステレオ平行化処理後の焦点距離、bはステレオ平行化処理後の外部パラメータから定まる基線長である。
【0091】
本実施形態では光電変換素子32Aと32Bの並び方向をX軸と定義し、外部パラメータを式10でモデル化したが、並び方向をY軸と定義し、下記の数16でモデル化してもよい。
【0092】
【0093】
以上本実施形態によれば、基線長が短い撮像装置の光学的特性を踏まえて、外部パラメータを算出するためのモデルを1自由度でモデル化している。特に本実施形態における撮像面位相差方式を用いた撮像装置は、1つのレンズの瞳領域を分割し、1つの撮像素子で得られたA像、B像を得ているため、基線長はレンズ径以下であり、撮像装置に対して基線長が極端に短くなる傾向にある。しかしながら、1つのレンズであるため、1つの撮像装置に所定の条件で拘束すれば2つの光学中心は相対変位し辛いという点に着目し、外部パラメータを算出するためのモデルを1自由度でモデル化している。これにより、基線長が短い撮像装置では、外部パラメータの誤差が生じやすくなる、撮像装置をモデル化して外部パラメータを算出する手法を、問題なく適用することができ、計測精度を大幅に向上させることができる。
【0094】
また1自由度のみのモデルであるため、外部パラメータを算出する際の演算負荷も減らすことができる。
【0095】
さらに本実施形態では、レンズの射出瞳41A,41Bとの相対的な位置関係を自由度で表したモデルを使用している。これにより、レンズの付け替えなどにおいて、撮像素子に対する射出瞳41A,41Bの位置が変わってしまう場合に対応することができる。
【0096】
(第2の実施形態)
上述した第1の実施形態では、内部パラメータAと内部パラメータBを異なる変数を用いてモデル化した。しかし、第1の実施形態で用いた撮像装置1では、同一のレンズ12と撮像素子11を用いているため、A像とB像はほぼ等しい光学特性を通して結像された画像である。よって本実施形態では、画像中心以外の内部パラメータAと内部パラメータBを同じ変数でモデル化する。
【0097】
以下では、第1の実施形態とは異なるハードウェアや制御系の構成の部分について図示し説明する。また、第1の実施形態と同様の部分については上記と同様の構成ならびに作用が可能であるものとし、その詳細な説明は省略するものとする。
【0098】
レンズ歪特性以外の内部パラメータから定まる、内部パラメータ行列AAおよび内部パラメータ行列ABを以下のように定義できる。
【0099】
【0100】
【0101】
ここで、fは射出瞳41A,41Bの焦点距離、kは撮像素子11のセル(画素)サイズ、(uA0,vA0)は画像座標系SAの画像中心、(uB0,vB0)が画像座標系SBの画像中心である。
【0102】
以上により撮像装置のモデルを定義する変数を削減できるため、数14に示した最適化関数の演算時間を短縮できる。また、内部パラメータAと内部パラメータBが等しいという拘束条件を用いているため、これらの内部パラメータが大きく異なるような推定誤差を防ぐことが可能となる。
【0103】
本実施形態では、すべての内部パラメータを同じ変数でモデル化したが、一部のパラメータのみを同じ変数でモデル化してもよい。
【0104】
上述した第1の実施形態、第2の実施形態の処理手順は具体的には画像処理装置2のCPU21により実行されるものとして説明した。しかし、上述した機能を実行可能なソフトウェアの制御プログラムおよびそのプログラムを記録した記録媒体を他の電子機器に搭載させて実施しても良い。
【0105】
従って上述した機能を実行可能なソフトウェアの制御プログラムおよびそのプログラムを記録した記録媒体、電子機器、アプリケーションは本発明を構成することになる。
【0106】
また、上記実施形態では、コンピュータで読み取り可能な記録媒体がROM或いはRAMであり、ROM或いはRAMに制御プログラムが格納される場合について説明したが、本発明はこのような形態に限定されるものではない。
【0107】
本発明を実施するための制御プログラムは、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、制御プログラムを供給するための記録媒体としては、HDD、外部記憶装置、記録ディスク等を用いてもよい。
【0108】
(その他の実施形態)
また上述した第1の実施形態、第2の実施形態における、ロボット装置は多関節ロボットアームや、パラレルリンク型など異なる形式の関節を有する種々のロボットアームを適用してかまわない。また、各関節を駆動する駆動源は例えば人工筋肉のようなデバイス等であってもよい。
【0109】
また上述した第1の実施形態、第2の実施形態は、制御装置に設けられる記憶装置の情報に基づき、伸縮、屈伸、上下移動、左右移動もしくは旋回の動作またはこれらの複合動作を自動的に行うことができる機械に適用可能である。
【符号の説明】
【0110】
1 撮像装置
2 画像処理装置
5 校正チャート
11 撮像素子
12 レンズ
21 CPU
22 ROM
23 RAM
24 I/F
25 バス
31 マイクロレンズ
32A、32B 光電変換素子
41 射出瞳
41A、41B 瞳領域
42A、42B 光束
111 撮像用画素
211 カメラ制御部
212 画像処理部
213 校正演算部
214 3次元計測部