(57)【要約】【課題】  基線長が短い撮像装置に対して、外部パラメータを、モデルを用いて算出する手法を適用した場合でも、高精度に計測を行えることができる撮像装置を提供する。【解決手段】  レンズと、処理部と、を備えた撮像装置であって、レンズは、第１の光を通過させる第１の領域と、第２の光を通過させる第２の領域と、を備え、レンズは所定の条件により撮像装置に拘束されており、第１の領域と第２の領域は、所定の方向に並んで配置されており、処理部は、第１の領域における所定の位置と、第２の領域における所定の位置との相対的な第１の位置関係を、所定の方向の成分を自由度で表したモデルを用いて算出する、ことを特徴とする撮像装置を採用した。【選択図】  図７
2020190411.tif 000002
【特許請求の範囲】
【請求項１】
レンズと、
処理部と、を備えた撮像装置であって、
前記レンズは、
第１の光を通過させる第１の領域と、
第２の光を通過させる第２の領域と、を備え、
前記レンズは所定の条件により前記撮像装置に拘束されており、前記第１の領域と前記第２の領域は、所定の方向に並んで配置されており、
前記処理部は、
前記第１の領域における所定の位置と、前記第２の領域における所定の位置との相対的な第１の位置関係を、前記所定の方向の成分を自由度で表したモデルを用いて算出する、
ことを特徴とする撮像装置。
【請求項２】
前記所定の条件は、前記所定の方向とは別の２方向に変位しないように前記撮像装置に拘束されている、
ことを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記モデルは、前記所定の方向の成分のみを自由度で表している、
ことを特徴とする請求項１または２に記載の撮像装置。
【請求項４】
前記処理部が、
マーカが設けられた装置を撮影することで得られた画像と、前記モデルとを用いて、前記第１の位置関係を算出する、
ことを特徴とする請求項１から３のいずれか１項に記載の撮像装置。
【請求項５】
前記撮像装置は撮像素子をさらに備え、
前記撮像素子には、
前記第１の光を受光する第１の画素と、
前記第２の光を受光する第２の画素と、を備えており、
前記処理部は、
前記第１の画素における所定の位置と、前記第１の領域における所定の位置との相対的な第２の位置関係と、
前記第２の画素における所定の位置と、前記第２の領域における所定の位置との相対的な第３の位置関係と、を前記マーカの画像と前記モデルと、を用いて算出する、
ことを特徴とする請求項１から４のいずれか１項に記載の撮像装置。
【請求項６】
前記モデルは、前記第１の画素における所定の位置と、前記第１の領域における所定の位置との距離と、前記第２の画素における所定の位置と、前記第２の領域における所定の位置との距離が等しくなるように計算されたモデルである、
ことを特徴とする請求項５に記載の撮像装置。
【請求項７】
前記装置は、５つ以上のマーカが所定のパターンにより設けられている、
ことを特徴とする請求項４から６のいずれか１項に記載の撮像装置。
【請求項８】
請求項１から７のいずれか１項に記載の撮像装置を備えたロボット装置であって、
前記撮像装置を用いて、前記ロボット装置を制御する、
ことを特徴とするロボット装置。
【請求項９】
請求項８に記載のロボット装置を用いて、第１の対象物を把持し、第２の対象物に組み付けることで物品の製造を行うことを特徴とする物品の製造方法。
【請求項１０】
レンズを備えた撮像装置と、
前記撮像装置で撮影された画像に所定の処理を行う処理部と、を備えた画像処理装置であって、
前記レンズは、
第１の光を通過させる第１の領域と、
第２の光を通過させる第２の領域と、を備え、
前記レンズは所定の条件により前記撮像装置に拘束されており、前記第１の領域と前記第２の領域は、所定の方向に並んで配置されており、
前記処理部は、
前記第１の領域における所定の位置と、前記第２の領域における所定の位置との相対的な第１の位置関係を、前記所定の方向の成分を自由度で表したモデルを用いて算出し、
前記第１の位置関係を用いて、前記画像に前記所定の処理を行う、
ことを特徴とする画像処理装置。
【請求項１１】
前記所定の処理は、前記画像における所定の対象物に対して３次元計測を行う処理である、
ことを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
レンズを備えた撮像装置と、
前記撮像装置で撮影された画像に所定の処理を行う処理部と、を備えた画像処理装置の画像処理方法であって、
前記レンズは、
第１の光を通過させる第１の領域と、
第２の光を通過させる第２の領域と、を備え、
前記レンズは所定の条件により前記撮像装置に拘束されており、前記第１の領域と前記第２の領域は、所定の方向に並んで配置されており、
前記処理部は、
前記第１の領域における所定の位置と、前記第２の領域における所定の位置との相対的な第１の位置関係、前記所定の方向の成分を自由度で表したモデルを用いて算出し、
前記第１の位置関係を用いて、前記画像に前記所定の処理を行う、
ことを特徴とする画像処理方法。
【請求項１３】
前記処理部が、
マーカが設けられた装置を撮影し、
前記装置を撮影した画像と、前記モデルとを用いて、前記第１の位置関係を算出する、
ことを特徴とする請求項１２に記載の画像処理方法。
【請求項１４】
レンズと、
処理部と、を備えた撮像装置における撮影に用いるパラメータを校正する校正方法であって、
前記レンズは、
第１の光を通過させる第１の領域と、
第２の光を通過させる第２の領域と、を備え、
前記レンズは所定の条件により前記撮像装置に拘束されており、前記第１の領域と前記第２の領域は、所定の方向に並んで配置されており、
前記処理部は、
前記第１の領域における所定の位置と、前記第２の領域における所定の位置との相対的な第１の位置関係を、前記所定の方向の成分を自由度で表したモデルを用いて算出し、
前記第１の位置関係を、前記パラメータとして設定する、
ことを特徴とする校正方法。
【請求項１５】
請求項１２または請求項１３に記載の画像処理方法、または請求項１４に記載の校正方法を実行可能な制御プログラム。
【請求項１６】
請求項１５に記載の制御プログラムを記録した、コンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置に関する。
【背景技術】
【０００２】
近年、ロボット装置により所定の対象物を操作し、組立作業を実現する生産装置が広く用いられるようになっている。このような生産装置において、対象物のピッキングや組立作業を高精度に行うために、ロボット装置と３次元視覚センサを組み合わせた生産装置が知られている。
【０００３】
３次元視覚センサとしては、ステレオカメラのような三角測量の原理に基づいて計測対象の距離を測定する撮像装置が広く用いられている。このような撮像装置を用いてＸＹＺ方向の３次元計測を行う場合には、事前に当該撮像装置に対して、撮像装置の内部・外部パラメータを求める必要がある。ここで、図１０を用いて内部パラメータと外部パラメータについて説明する。
【０００４】
図１０は２台のピンホールカメラＡ、Ｂが配置されたステレオカメラとしての撮像装置をモデル化したものである。ピンホールの位置が光学中心であり、空間の計測点は、そこから光学中心を通る直線と画像面（Ａ像、Ｂ像）が交わったところに像を結ぶ。ここで光学中心を原点とし、光学中心を通り画像面と直交する方向を図１０中のｚ軸にとる。したがってＸＹ平面が画像面になる。このような座標系を撮像装置座標系（ＣＡ、ＣＢ）と呼ぶ。また所定の空間における撮像装置の位置をワールド座標系Ｗで表すものとする。光学中心から画像面までの距離はレンズの焦点距離に相当する。
【０００５】
また、光学中心から画像面に下した垂線と画像面の交点（画像中心）を原点とし、画像の縦横方向をｘｙ軸にとる座標系を画像座標系（ＳＡ、ＳＢ）と呼ぶ。内部パラメータは、画像座標系（ＳＡ、ＳＢ）と撮像装置座標系（ＣＡ、ＣＢ）間のそれぞれの相対関係を表すパラメータである。具体的には、撮像装置の光学特性を意味し、画像中心、焦点距離、セル（画素）サイズ、および、レンズ歪特性等で表せる。
【０００６】
一方、外部パラメータとは、ピンホールカメラＡの撮像装置座標系ＣＡと、ピンホールカメラＢの撮像装置座標系ＣＢ間の相対関係であり、ピンホールカメラＡとピンホールカメラＢとの相対的な位置姿勢により定まる。内部・外部パラメータが定まり、２つのピンホールカメラの撮影画像での計測点の対応付けを行えば、計測点の視差が求まる。よって三角測量の原理により、３次元計測が可能となる。
【０００７】
以上３次元計測を高精度に行うためには、画像座標系（ＳＡ、ＳＢ）および撮像装置座標系（ＣＡ、ＣＢ）の相対関係が重要となり、内部・外部パラメータを高精度に求める必要がある。しかし、内部・外部パラメータを高精度に直接計測するには、精密にカメラの光学特性を測定する必要があるが、光学特性を直接計測するのは非常に困難である。そこで、非特許文献１に記載されているように、あらかじめ形状が既知な校正チャートを、内部・外部パラメータを求めることが必要な２つのカメラで撮影し、画像座標系上での座標を求め、これを所定のモデルにあてはめる。こうすることで、内部・外部パラメータを求める手法が記載されている。この際、２つのカメラの相対的な位置姿勢を表す外部パラメータは、ＸＹＺ方向の並進３成分、および回転３成分を合わせた６自由度でモデル化された上で算出される。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】Ｚ．Ｚｈａｎｇ，  “Ａ  ｆｌｅｘｉｂｌｅ  ｎｅｗ  ｔｅｃｈｎｉｑｕｅ  ｆｏｒ  ｃａｍｅｒａ  ｃａｌｉｂｒａｔｉｏｎ”，（  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｐａｔｔｅｒｎ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｌｌｉｇｅｎｃｅ，  Ｖｏｌ．２２，  Ｎｏ．１１，  ｐａｇｅｓ  １３３０−１３３４）
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、基線長が短い撮像装置に対して、非特許文献１に記載されたような手法で内部・外部パラメータを算出した場合、基線方向以外の外部パラメータの推定誤差が少しでも発生すると、校正により定まるエピポーラ線が大きくずれる。これにより計測点の計測精度が悪くなる。図１１は外部パラメータの推定誤差による算出したエピポーラ線のズレが生じる原因を詳細に説明した図である。図１１（ａ）は基線長が長い場合、図１１（ｂ）は基線長が短い場合を示している。
【００１０】
図１１（ａ）（ｂ）に示すように、エピポーラ線とは、２つの撮像装置の光学中心Ａ、Ｂと計測点を通るエピポーラ平面、と画像面（Ａ像、Ｂ像）との交線である。また、撮像装置Ａの光学中心Ａと撮像装置Ｂの光学中心Ｂを結ぶ線分が基線長であり、結ぶ方向が基線方向である。この光学中心Ａと光学中心Ｂとの相対的な位置関係を定めるものが外部パラメータである。
【００１１】
また、計測点がＡ像およびＢ像に投影される際の点をそれぞれ対応点Ａ、対応点Ｂとする。対応点Ａ、対応点Ｂの対応付けを行う際に、２つのカメラの撮影画像上（Ａ像、Ｂ像）に投影される投影点はエピポーラ線上に存在するという拘束条件が成り立つため、対応点Ａまたは対応点Ｂを算出する際は、エピポーラ線上を探索する。
【００１２】
図１１（ａ）に示すように、基線長がある程度長いカメラであれば、基線方向以外の外部パラメータの推定誤差が発生し、光学中心Ａと光学中心Ｂとの相対的な位置関係がズレても、エピポーラ平面はほとんど傾かないため、エピポーラ線は大きくずれない。よって算出されたエピポーラ線で、対応点Ａ、対応点Ｂを算出しても、計測点の計測精度に大きく影響しない。
【００１３】
しかしながら図１１（ｂ）に示すように、基線長が短いカメラでは、基線方向以外の外部パラメータの推定誤差が少しでも発生すると、光学中心Ａと光学中心Ｂとの相対的な位置関係がズレ、エピポーラ平面が大きく傾く。よってエピポーラ線が本来の物よりも大きくずれる。そのため、基線長が短いカメラに、外部パラメータを、モデルを用いて算出する手法を用いた場合、外部パラメータに少しでも誤差が生じると、エピポーラ線が大きくずれてしまう。よって対応点Ａ、対応点Ｂとの対応付けに失敗し、３次元計測精度が大きく悪化するという課題がある。
【００１４】
そこで本発明は上記課題に鑑み、基線長が短い撮像装置に対して、外部パラメータを、モデルを用いて算出する手法を適用した場合でも、高精度に計測を行えることができる撮像装置を提供する。
【課題を解決するための手段】
【００１５】
上記課題を解決するため本発明においては、レンズと、処理部と、を備えた撮像装置であって、前記レンズは、第１の光を通過させる第１の領域と、第２の光を通過させる第２の領域と、を備え、前記レンズは所定の条件により前記撮像装置に拘束されており、前記第１の領域と前記第２の領域は、所定の方向に並んで配置されており、前記処理部は、前記第１の領域における所定の位置と、前記第２の領域における所定の位置との相対的な第１の位置関係を、前記所定の方向の成分を自由度で表したモデルを用いて算出する、ことを特徴とする撮像装置を採用した。
【発明の効果】
【００１６】
本発明によれば、基線長が短い撮像装置の光学的特性を踏まえて、外部パラメータを算出するためのモデルを１自由度でモデル化している。これにより、基線方向以外の外部パラメータの推定誤差を抑えることができ、計測精度を大幅に向上させることができる。
【図面の簡単な説明】
【００１７】
【図１】実施形態における撮像装置１を示す概略図である。
【図２】実施形態における撮像素子１１と撮像用画素１１１を示す概略図である。
【図３】実施形態における撮像装置１の構造図である。
【図４】実施形態における撮像装置１と画像処理装置２を示す概略図である。
【図５】実施形態における撮像装置１と画像処理装置２の変形例を示す概略図である。
【図６】実施形態における３次元計測を行う際の制御フローチャートである。
【図７】実施形態における撮像装置１を用いた際の内部・外部パラメータについて説明した図である。
【図８】図６におけるＳ１０１の詳細なフローを示したフローチャート図である。
【図９】実施形態における校正チャート５の概略図である。
【図１０】２台のピンホールカメラＡ、Ｂが配置されたステレオカメラとしての撮像装置をモデル化した図である。
【図１１】外部パラメータの推定誤差による算出したエピポーラ線のズレが生じる原因を詳細に説明した図である。
【発明を実施するための形態】
【００１８】
以下、添付図面を参照して本発明を実施するための形態につき説明する。なお、以下に示す実施形態はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は、参考数値であって、本発明を限定するものではない。
【００１９】
（第１の実施形態）
図１は本実施形態における撮像装置１を示した概略図である。本実施形態における撮像装置は、撮像面位相差方式を用いで３次元計測を行う撮像装置である。撮像面位相差方式を用いた撮像装置では、撮像素子の各画素が２つの光電変換部（フォトダイオード）を有する。撮像面位相差方式では、撮像装置の光学系の射出瞳における異なる２つの領域（部分瞳）を通過した光束によって形成される一対の画像（図１０、図１１におけるＡ像、Ｂ像）が得られる。よって、Ａ像、Ｂ像から視差を求め、当該視差から図１０、１１を用いて説明した三角測量の原理に基づいて計測点までの距離を測定する。本実施形態においては撮像面位相差方式を用いた撮像装置が好適である。以下で詳述する。
【００２０】
図１に示すように、撮像装置１は撮像素子１１とレンズ１２を有し、被写体の光学像を、レンズ１２を通して撮像素子１１に結像する。図２は本実施形態における撮像素子１１を詳細に示した図である。図２（ａ）は撮像素子１１の撮像面における撮像用画素１１１の配列の様子を示しており、図２（ｂ）は撮像用画素１１１単体の構造を示している。
【００２１】
図２（ａ）に示すように、撮像素子１１には多数の撮像用画素１１１が配列されている。なお、煩雑さをなくすため、左上側の各画素の配列の態様を部分的に示すに留まり、撮像素子１１の全面における各画素の配列の態様は図示を省略する。また図２（ｂ）より、撮像用画素１１１はマイクロレンズ３１と、２つのフォトダイオードのような光電変換素子３２Ａ、３２Ｂから構成されている。撮像素子１１の全面にこのような撮像用画素１１１が配置されている。
【００２２】
図３は、撮像装置１１における光学系の射出瞳における２つの領域を詳細に示した図である。図３に示すように、光電変換素子３２Ａおよび光電変換素子３２Ｂには、それぞれ射出瞳４１の異なる領域である第一の瞳領域４１Ａを通過した光束４２Ａおよび、第２の瞳領域４１Ｂを通過した光束４２Ｂが入射する。したがって、各撮像用画素１１１の光電変換素子３２Ａは画像信号Ａ（以下、Ａ像）を取得し、各撮像用画素１１１の光電変換素子３２Ｂは画像信号Ｂ（以下、Ｂ像）を取得する。
【００２３】
以上のように、１つの撮像素子、１つのレンズでも、異なる２方向からみたＡ像、Ｂ像を得られるため、三角測量の原理により、計測点の３次元計測を行うことが可能となる。
【００２４】
次に上述した撮像装置１を用いて、３次元測定を行う際に内部・外部パラメータを校正する校正装置を、図４を用いて説明する。図４より、撮像装置１は画像処理装置２と接続されている。画像処理装置２は、撮像装置１の撮影と、撮影画像を処理し処理結果を用いて撮像装置１の内部・外部パラメータの校正および、３次元計測を実施する各機能ブロック（２１１〜２１４）から構成される。撮像装置１が校正パラメータ５を撮影し、得られた校正パラメータ５の撮影画像に基づいて、内部・外部パラメータの校正に必要なデータを取得するものとする。
【００２５】
画像処理装置２は、ＣＰＵ２１を中心に構成されている。画像処理装置２は、演算を行うＣＰＵ２１と、ＲＯＭ２２およびＲＡＭ２３からなるメモリ部と、外部と通信を行うインターフェース（Ｉ／Ｆ）部２４を有している。これらの各ブロックは画像処理装置２内部の通信に用いられるバス２５を介して相互に接続される。各機能ブロック（２１１〜２１４）は、ＣＰＵ２１が制御プログラムを実行することにより実現される。
【００２６】
撮像装置１はインターフェース部２４を介して、画像処理装置２に接続されている。撮像装置１は、撮像装置制御部２１１からの指令に基づき撮影し、撮影画像であるＡ像とＢ像を画像処理装置２に送信する。また、撮像装置制御部２１１は、不図示の照明の点灯や輝度の調整も行う機能を有するものとする。
【００２７】
送信されたＡ像、Ｂ像は画像処理装置２内の画像処理部２１２によって処理される。画像処理部２１１ではこれらのＡ像、Ｂ像に対して、画像処理を行うことにより、内部・外部パラメータを校正する際に必要なデータを得る。本実施形態では、校正チャート５に記された黒丸マーカの画像座標系における中心位置を計測する手法について説明する。本実施形態では、校正チャート５には白背景に、黒色かつ円形のマーカが多数描かれている装置とする。ただし、校正チャート５は円形マーカに限らず、チェスボードないし市松模様の画像パターンを付与したものでもよい。
【００２８】
まず、撮像装置１により構成マーカ５を撮影し、構成チャート５のＡ像、校正チャート５のＢ像を取得し、取得したＡ像、Ｂ像を画像処理部２１２に送信する。そして画像処理部２１２において、撮像装置１から送信されたＡ像に対してエッジ抽出処理を実施する。本実施形態におけるエッジ抽出処理では各エッジの長さと真円度から、校正チャート５の各マーカのエッジを抽出するものとする。抽出エッジに対して楕円近似を行えば、楕円中心の画像座標を求めることができる。この画像座標はＡ像におけるマーカ中心位置となる。Ｂ像に対しても同様の処理を行えば、Ｂ像におけるマーカ中心位置を求めることができる。Ａ像におけるマーカ中心位置が画像座標系ＳＡ、Ｂ像におけるマーカ中心位置が画像座標系ＳＢとなる。
【００２９】
画像処理装置２の校正演算部２１３では、撮像装置１の内部・外部パラメータを演算する機能を備えている。演算方法については後述する。校正演算部２１３で得られた内部・外部パラメータは画像処理装置２内のメモリ、例えばＲＯＭ２２ないしＲＡＭ２３に格納しておく。
【００３０】
画像処理装置２の３次元計測部２１４では、Ａ像、Ｂ像における各投影点の対応付けの処理を行い、内部、外部パラメータを用いて、３次元計測を実施する機能を備えている。３次元計測部２１４が行う３次元計測方法に関する処理については後述する。
【００３１】
本実施形態では図４に示すように画像処理装置２と撮像装置１とは別々の構成となっているが、図５に示すように、画像処理装置２の機能を撮像装置１の内部に設けた、いわゆるスマートカメラのような構成にしてもよい。これにより、別途、画像処理装置２を手配する必要性がないため、設置スペースを削減できる。また、撮像装置１と画像処理装置２の配線作業も図５に示す形態にすれば割愛できるため、装置の立上時間を短縮でき、人的コストの削減も図ることができる。
【００３２】
次に本実施形態における撮像装置１で３次元計測を行う制御のフローを、図６を用いて説明する。図６は本実施形態における３次元計測を行う際の制御フローチャートである。全体の大まかな流れとしては、オフライン作業（Ｓ１０１）と、オンライン作業（Ｓ１０２〜Ｓ１０５）に分けられる。
【００３３】
オフライン作業となっているＳ１０１は、作業者が行う準備作業のステップであり、校正演算部２１３が実施する処理である。撮像装置１の光学特性が変化しない限りは、１度だけ行う処理である。しかし、たとえば作業者が撮像装置１のピントを再調整した場合や、撮像装置１に衝撃が加わり光学特性が変化した場合には、再度Ｓ１０１を実施する必要がある。Ｓ１０１で撮像装置１の構成を行い、内部・外部パラメータを設定してメモリに格納し、準備作業を終了する。
【００３４】
オンライン作業により行われるステップＳ１０２からＳ１０５は、撮像装置１を用いて３次元計測を行うたびに必要であり、３次元計測部２１４が実施する処理である。たとえば、ロボット装置を用いてワークの把持を行い、把持したワークを他のワークに組み付け、物品の製造を行うようなシステムの場合においては、ワークが供給され把持動作を行うたびに実施する処理である。具体的には、撮像装置１を用いてワークの位置姿勢を計測し、この計測結果をもとにロボット装置の位置姿勢を補正し、把持したワークを他のワークに組み付けるような処理を行う。
【００３５】
次に撮像装置１を校正するＳ１０１について説明する。Ｓ１０１は、撮像装置１の校正を実施し、撮像装置１の内部・外部パラメータを取得する工程である。本実施形態の撮像装置を用いた際の内部・外部パラメータについて、図７を用いて説明する。
【００３６】
図７は、本実施形態における撮像装置１を用いた際の各座標系の関係を示した図である。図７（ａ）は本実施形態における射出瞳４１をＹＺ平面で示した図である。図７（ｂ）は射出瞳４１をＸＹ平面で示した図である。図７（ｃ）は撮像用画素１１１をＸＺ平面で示した図である。まず、撮像装置座標系（ＣＡ、ＣＢ）および画像座標系（ＳＡ、ＳＢ）について説明する。先述したように、Ａ像およびＢ像は、それぞれ射出瞳４１の異なる領域である第一の瞳領域４１Ａを通過した光束および、第２の瞳領域４１Ｂを通過した光束が、撮像素子１１上で受光されそれぞれ結像した画像信号である。
【００３７】
よって光学中心はそれぞれ、瞳領域４１Ａの重心位置および、瞳領域４１Ｂの重心位置となる。この重心位置がそれぞれ、撮像装置座標系ＣＡと撮像装置座標系ＣＢの原点位置となる。撮像装置座標系ＣＡの光学中心を光学中心Ａ、撮像装置座標系ＣＢの光学中心を光学中心Ｂと呼称する。光学中心Ａおよび、光学中心Ｂから撮像素子１１への垂線方向が撮像装置座標系ＣＡおよび、撮像装置座標系ＣＢのｚ軸となる。各光学中心Ａ、Ｂから撮像素子１１までの距離が焦点距離である。
【００３８】
図７（ｂ）より、本実施形態では、撮像装置座標系ＣＡから撮像装置座標系ＣＢへの方向を、撮像装置座標系ＣＡおよび撮像装置座標系ＣＢのｘ軸と定義する。
【００３９】
光学中心Ａ、Ｂから撮像素子１１へ下した垂線と、撮像素子１１との交点が、画像座標系ＳＡ、ＳＢの原点位置であり、各原点位置を画像中心Ａ、Ｂと呼ぶ。図７（ｃ）に示すように、本実施形態では、光電変換素子３２Ａと３２Ｂの並び方向（図７（ｃ）のＸ軸方向）を、画像座標系ＳＡ、ＳＢのｘ軸と定義する。レンズ歪補正後においては、画像座標系ＳＡ、ＳＢのｘ軸と、撮像装置座標系ＣＡ、ＣＢのｘ軸は平行となる。
【００４０】
次に内部パラメータおよび、外部パラメータについて説明する。内部・外部パラメータの設定方法においては撮像装置をモデル化する手法を用いる。内部パラメータは画像座標系ＳＡ、ＳＢと撮像装置座標系ＣＡ、ＣＢ間の相対的な位置関係を表すパラメータである。具体的には、撮像装置の光学特性を意味し、画像中心、焦点距離、セル（画素）サイズ、および、レンズ歪特性で表せる。
【００４１】
レンズ歪補正前に画像座標系ＳＡ、ＳＢで計測された座標を（ｕ’，ｖ’）とすると、レンズ歪特性を用いて、レンズ歪補正後の座標（ｕ，ｖ）に以下の式で変換できる。
【００４２】
【数１】
2020190411.tif 000003
【００４３】
Ｋ１、Ｋ２、Ｋ３が半径方向の歪係数、Ｐ１、Ｐ２が円周方向の歪係数であり、これらがレンズ歪特性のパラメータである。ここで、半径ｒは次式で表せる。
【００４４】
【数２】
2020190411.tif 000004
【００４５】
レンズ歪特性以外の内部パラメータから、以下の内部パラメータ行列ＡＡおよび内部パラメータ行列ＡＢが定まる。
【００４６】
【数３】
2020190411.tif 000005
【００４７】
【数４】
2020190411.tif 000006
【００４８】
ここで、ｆＡ，ｆＢは瞳領域４１Ａ，４１Ｂの焦点距離、ｋＡ，ｋＢは撮像素子１１のセル（画素）サイズ、（ｕＡ０，ｖＡ０）は画像座標系ＳＡの画像中心、（ｕＢ０，ｖＢ０）が画像座標系ＳＢの画像中心である。
【００４９】
一方、外部パラメータは撮像装置座標系ＣＡと撮像装置座標系ＣＢとの相対関係であり、撮像装置が２台ある場合は、６自由度でモデル化され、外部パラメータ行列Ｅは次式で表現できる。
【００５０】
【数５】
2020190411.tif 000007
【００５１】
Ｒは回転行列であり３自由で表せ、（ｔ１、ｔ２、ｔ３）は平行移動成分である。
【００５２】
次に、内部パラメータ行列と外部パラメータ行列を用いて、画像座標系ＳＡ上の計測点座標ｍＡ＝（ｕＡ，ｖＡ）と、画像座標系ＳＢ上の計測点座標ｍＢ＝（ｕＢ，ｖＢ）の間に成り立つ関係式について説明する。外部パラメータの一部である（ｔ１、ｔ２、ｔ３）を用いて次式のような行列を定義する。
【００５３】
【数６】
2020190411.tif 000008
【００５４】
このとき、幾何学的に画像座標系ＳＡの計測点座標ｍＡと、画像座標系ＳＢの計測点座標ｍＢには、以下の関係式が成り立つことが一般的に知られている。
【００５５】
【数７】
2020190411.tif 000009
【００５６】
このとき、以下のように行列Ｆを定義する。
【００５７】
【数８】
2020190411.tif 000010
【００５８】
行列Ｆを用いると、数７は以下のようにあらわすことができる。
【００５９】
【数９】
2020190411.tif 000011
【００６０】
ここで、行列Ｆを基礎行列と呼び、数９を基礎方程式と呼ぶ。基礎行列Ｆは９個の成分を持つが、定数倍の自由度があるので、未知数は８個であるとみなせる。よって、理論的には８組以上の対応点データ（ｍＡ，ｍＢ）がわかれば、基礎行列Ｆを決定できる。また、理論的には５点のワールド座標系で既知の点があれば、基礎行列Ｆから内部・外部パラメータを導出できることが一般的に知られている。
【００６１】
しかしながら、現実には、校正時に特徴点位置を画像計測する際に誤差が生じたり、内部パラメータの一部であるレンズ歪特性が現実のレンズ歪特性とは一致しなかったりする。よって、上記の理論上の対応点データ数だけでは、内部・外部パラメータの推定誤差が大きく発生してしまう。そのため、より多くの対応点データを用いて、最適化計算により内部・外部パラメータを推定するのが一般的な校正手法である。
【００６２】
本実施形態では、レンズが１つであり、所定の条件で拘束され、２つの光学中心が相対的に変位し辛いという撮像装置の光学特性を踏まえて、外部パラメータ行列Ｅ’を次式のようにする。そしれ光電変換素子３２Ａと３２Ｂの並び方向であるＸ軸の並進成分ｔ１のみでモデル化する。
【００６３】
【数１０】
2020190411.tif 000012
【００６４】
上記のように、Ｘ軸の並進成分ｔ１のみでモデル化できる理由について詳しく説明する。撮像面位相差方式を用いた撮像装置では、Ａ像とＢ像は同一レンズ１２および撮像素子１１で結像した画像信号である。よって、図７（ｂ）に示すように、第１の瞳領域４１Ａと第２の瞳領域４１Ｂの重心位置のワールド座標系ＷにおけるＹ座標はほぼ等しくなる。つまり、瞳領域４１Ａの光学中心Ａと瞳領域４１Ｂ光学中心のＹ座標がほぼ等しい値となる。
【００６５】
また、第１の瞳領域４１Ａと第２の瞳領域４１Ｂの焦点距離もほぼ等しいので、光学中心Ａと光学中心Ｂのワールド座標系ＷにおけるＺ座標もほぼ等しい値となる。つまり、光学中心Ａ（撮像装置座標系ＣＡの原点）と光学中心Ｂ（撮像装置座標系ＣＢの原点）の、ワールド座標系ＷのＹ座標、Ｚ座標はほぼ等しい値となる。以上のように、外部パラメータをＸ方向の並進成分ｔ１のみでモデル化することができるようになる。
【００６６】
数１０の外部パラメータ行列を用いると、数６は以下のように変換できる。
【００６７】
【数１１】
2020190411.tif 000013
【００６８】
上記の行列を用いると、数７は次式のように変換できる。
【００６９】
【数１２】
2020190411.tif 000014
【００７０】
よって、基礎行列Ｆと基礎方程式は以下のようにあらわせる。
【００７１】
【数１３】
2020190411.tif 000015
【００７２】
【数１４】
2020190411.tif 000016
【００７３】
本実施形態では、数１４に示した基礎方程式に対応点データを代入し、内部・外部パラメータを推定する。以上により、内部・外部パラメータを算出する。なお上記で述べた処理は、画像処理部２１２および校正演算部２１３により行われるものとする。
【００７４】
次に図８を用いてＳ１０１の詳細なフローを説明する。図８は本実施形態におけるＳ１０１の詳細なフローを示したフローチャート図である。なお、以下で詳述するフローの各ステップは画像処理装置２の各機能ブロック（２１１〜２１４）により実行されるものとする。
【００７５】
まずＳ２０１で、撮像装置１を用いて校正チャート５を撮影する。撮像装置制御部２１１が撮像装置１に対してトリガ信号を送信し、撮像装置１１は画像信号を画像処理装置２に送信する。画像信号であるＡ像とＢ像はＲＡＭ２３上にメモリ展開される。
【００７６】
次にＳ２０２で、Ａ像とＢ像の画像座標系ＳＡ、ＳＢにおける、校正チャート５上に配置されているマーカの位置計測を行う。画像処理部２１２はＲＡＭ２３上に展開されているＡ像とＢ像に対して、先述のマーカ位置計測処理を実行する。これにより、画像座標系ＳＡ上のマーカ座標ｍＡｉ＝（ｕＡｉ、ｖＡｉ）と、画像座標系ＳＢ上のマーカ座標ｍＢｉ＝（ｕＢｉ、ｖＢｉ）が求まる。ここでｉはマーカのナンバーとする。画像処理部２１２はここで求めたマーカ座標ｍＡｉ、ｍＢｉを対応点データとしてＲＡＭ２３上にメモリ展開する。
【００７７】
次にＳ２０３で、校正チャート５の位置姿勢を変化させるため、校正チャート５を移動させる。本作業は対応点データであるマーカ座標ｍＡｉ、ｍＢｉを多数得るためである。本作業は、作業者が手動で行ってもよいし、不図示の自動ステージやロボット装置等により自動で校正チャート５を移動させてもよい。
【００７８】
次にＳ２０４で、事前に設定された枚数以上、校正チャート５を撮影した撮影画像があるか判定する。必要枚数以上撮影されていれば、Ｓ２０４：Ｙｅｓより次工程であるＳ２０５に移動する。必要枚数撮影されていなかったら、再度校正チャート５を撮影するため、工程Ｓ２０１の直前まで戻る。
【００７９】
必要枚数は作業者が事前に設定し、必要枚数の値をＲＯＭ２２上に保存しておく。撮影枚数が多いほど、校正精度は向上するが、作業時間がかかるため、必要な校正精度と許容される作業時間から必要枚数を決定する。校正チャート５上のマーカ点数が多ければ、一度で多数の対応点データを得られるので、必要枚数は削減できる。一般的に撮影画像の枚数は、１０から５０枚程度である。
【００８０】
次にＳ２０５で、対応点データと撮像装置モデルを用いて、内部・外部パラメータ推定処理を行う。Ｓ２０２でＲＡＭ２３上に保存されているマーカ座標ｍＡｉ、ｍＢｉを読みだす。これらの対応点データを数１４に代入する。そして、数１４の最適化計算を解けば、基礎行列Ｆ’を求めることができる。
【００８１】
【数１５】
2020190411.tif 000017
【００８２】
図９に示すように、校正チャート５上のワールド座標系Ｗを、左上のマーカを原点とし、校正チャートの法線方向をＺ軸、左上のマーカから右上のマーカ方向をＸ軸、Ｘ、Ｚ軸の外積をＹ軸と定義する。校正チャート５製作時にマーカを高精度に描画することにより、ワールド座標系Ｗにおける各マーカ位置は高精度に定まる。
【００８３】
先述したように、理論的にはワールド座標系Ｗで５点の既知の点があれば、基礎行列Ｆから内部・外部パラメータを導出できる。よって、上記のようにワールド座標系Ｗを定義すれば、高精度に基礎行列Ｆ’から内部・外部パラメータを推定することができる。そしてＳ２０６で校正演算部２１３は推定した内部・外部パラメータをＲＯＭ２２上に保存する。以上でＳ１０１の工程を終了する。
【００８４】
次に図６のＳ１０２からＳ１０５で実行される３次元計測処理について説明する。図６より、まずＳ１０２にて、撮像装置１を用いて、３次元計測を行いたい計測対象を撮影する。撮像装置制御部２１１が撮像装置１に対してトリガ信号を送信し、撮像装置１は画像信号を画像処理装置２に送信する。画像信号であるＡ像とＢ像はＲＡＭ２３上にメモリ展開される。
【００８５】
次にＳ１０３で、ステレオ平行化処理を行う。ステレオ平行化とはＡ像とＢ像の対応点が同じ行座標を持つように、撮影画像を投影処理する手法である。Ｓ１０３の処理を行うことにより、ステレオ対応点探索問題を２次元から１次元の問題に落とし込めるため、処理を簡単にできるメリットがある。
【００８６】
Ｓ１０３におけるステレオ平行化処理の概要を説明する。まず内部パラメータの一部であるレンズ歪特性と数１を用いて、Ａ像およびＢ像に対してレンズ歪補正を行い、レンズ歪補正画像を生成する。次に、光学中心Ａ、Ｂの高さがそろい、光軸方向が平行となるような投影行列を、内部・外部パラメータを用いて算出する。レンズ歪補正画像に対し投影行列を反映させることにより、ステレオ平行化画像を得ることができる。
【００８７】
次にＳ１０４で、ステレオ平行化処理後のＡ像とＢ像に対し、対応点付けによる視差を演算する。対応点付け手法としては、領域ベースマッチングや特徴ベースマッチングがあり、用途によって最適な手法を選択する。領域ベースマッチングの手法としては、ＳＡＤ（ｓｕｍ  ｏｆ  ａｂｓｏｌｕｔｅ  ｄｉｆｆｅｒｅｎｃｅｓ）やＳＳＤ（ｓｕｍ  ｏｆ  ｓｑｕａｒｅｄ  ｄｉｆｆｅｒｅｎｃｅｓ）がある。さらにＮＣＣ（ｎｏｒｍａｌｉｚｅｄ  ｃｒｏｓｓ  ｃｏｒｒｅｌａｔｉｏｎ）などがある。Ｓ１０４で求まった視差をｄ、画像座標系Ａ上の計測座標ｍＡ＝（ｕＡ，ｖ）と、画像座標系ＳＢ上の計測座標ｍＢ＝（ｕＢ，ｖ）とする。ステレオ平行化処理後のため、行座標ｙは等しい値となる。
【００８８】
最後にＳ１０５で、校正結果と視差量を用いて３次元計測を行う。この際、撮像装置座標系ＳＡからみた計測点の座標（ｘ，ｙ，ｚ）は三角測量の原理により、以下のようにあらわせる。
【００８９】
【数１６】
2020190411.tif 000018
【００９０】
ここで、ｆはステレオ平行化処理後の焦点距離、ｂはステレオ平行化処理後の外部パラメータから定まる基線長である。
【００９１】
本実施形態では光電変換素子３２Ａと３２Ｂの並び方向をＸ軸と定義し、外部パラメータを式１０でモデル化したが、並び方向をＹ軸と定義し、下記の数１６でモデル化してもよい。
【００９２】
【数１７】
2020190411.tif 000019
【００９３】
以上本実施形態によれば、基線長が短い撮像装置の光学的特性を踏まえて、外部パラメータを算出するためのモデルを１自由度でモデル化している。特に本実施形態における撮像面位相差方式を用いた撮像装置は、１つのレンズの瞳領域を分割し、１つの撮像素子で得られたＡ像、Ｂ像を得ているため、基線長はレンズ径以下であり、撮像装置に対して基線長が極端に短くなる傾向にある。しかしながら、１つのレンズであるため、１つの撮像装置に所定の条件で拘束すれば２つの光学中心は相対変位し辛いという点に着目し、外部パラメータを算出するためのモデルを１自由度でモデル化している。これにより、基線長が短い撮像装置では、外部パラメータの誤差が生じやすくなる、撮像装置をモデル化して外部パラメータを算出する手法を、問題なく適用することができ、計測精度を大幅に向上させることができる。
【００９４】
また１自由度のみのモデルであるため、外部パラメータを算出する際の演算負荷も減らすことができる。
【００９５】
さらに本実施形態では、レンズの射出瞳４１Ａ，４１Ｂとの相対的な位置関係を自由度で表したモデルを使用している。これにより、レンズの付け替えなどにおいて、撮像素子に対する射出瞳４１Ａ，４１Ｂの位置が変わってしまう場合に対応することができる。
【００９６】
（第２の実施形態）
上述した第１の実施形態では、内部パラメータＡと内部パラメータＢを異なる変数を用いてモデル化した。しかし、第１の実施形態で用いた撮像装置１では、同一のレンズ１２と撮像素子１１を用いているため、Ａ像とＢ像はほぼ等しい光学特性を通して結像された画像である。よって本実施形態では、画像中心以外の内部パラメータＡと内部パラメータＢを同じ変数でモデル化する。
【００９７】
以下では、第１の実施形態とは異なるハードウェアや制御系の構成の部分について図示し説明する。また、第１の実施形態と同様の部分については上記と同様の構成ならびに作用が可能であるものとし、その詳細な説明は省略するものとする。
【００９８】
レンズ歪特性以外の内部パラメータから定まる、内部パラメータ行列ＡＡおよび内部パラメータ行列ＡＢを以下のように定義できる。
【００９９】
【数１８】
2020190411.tif 000020
【０１００】
【数１９】
2020190411.tif 000021
【０１０１】
ここで、ｆは射出瞳４１Ａ，４１Ｂの焦点距離、ｋは撮像素子１１のセル（画素）サイズ、（ｕＡ０，ｖＡ０）は画像座標系ＳＡの画像中心、（ｕＢ０，ｖＢ０）が画像座標系ＳＢの画像中心である。
【０１０２】
以上により撮像装置のモデルを定義する変数を削減できるため、数１４に示した最適化関数の演算時間を短縮できる。また、内部パラメータＡと内部パラメータＢが等しいという拘束条件を用いているため、これらの内部パラメータが大きく異なるような推定誤差を防ぐことが可能となる。
【０１０３】
本実施形態では、すべての内部パラメータを同じ変数でモデル化したが、一部のパラメータのみを同じ変数でモデル化してもよい。
【０１０４】
上述した第１の実施形態、第２の実施形態の処理手順は具体的には画像処理装置２のＣＰＵ２１により実行されるものとして説明した。しかし、上述した機能を実行可能なソフトウェアの制御プログラムおよびそのプログラムを記録した記録媒体を他の電子機器に搭載させて実施しても良い。
【０１０５】
従って上述した機能を実行可能なソフトウェアの制御プログラムおよびそのプログラムを記録した記録媒体、電子機器、アプリケーションは本発明を構成することになる。
【０１０６】
また、上記実施形態では、コンピュータで読み取り可能な記録媒体がＲＯＭ或いはＲＡＭであり、ＲＯＭ或いはＲＡＭに制御プログラムが格納される場合について説明したが、本発明はこのような形態に限定されるものではない。
【０１０７】
本発明を実施するための制御プログラムは、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、制御プログラムを供給するための記録媒体としては、ＨＤＤ、外部記憶装置、記録ディスク等を用いてもよい。
【０１０８】
（その他の実施形態）
また上述した第１の実施形態、第２の実施形態における、ロボット装置は多関節ロボットアームや、パラレルリンク型など異なる形式の関節を有する種々のロボットアームを適用してかまわない。また、各関節を駆動する駆動源は例えば人工筋肉のようなデバイス等であってもよい。
【０１０９】
また上述した第１の実施形態、第２の実施形態は、制御装置に設けられる記憶装置の情報に基づき、伸縮、屈伸、上下移動、左右移動もしくは旋回の動作またはこれらの複合動作を自動的に行うことができる機械に適用可能である。
【符号の説明】
【０１１０】
１  撮像装置
２  画像処理装置
５  校正チャート
１１  撮像素子
１２  レンズ
２１  ＣＰＵ
２２  ＲＯＭ
２３  ＲＡＭ
２４  Ｉ／Ｆ
２５  バス
３１  マイクロレンズ
３２Ａ、３２Ｂ  光電変換素子
４１  射出瞳
４１Ａ、４１Ｂ  瞳領域
４２Ａ、４２Ｂ  光束
１１１  撮像用画素
２１１  カメラ制御部
２１２  画像処理部
２１３  校正演算部
２１４  ３次元計測部
【図１】
2020190411.tif 000022
【図２】
2020190411.tif 000023
【図３】
2020190411.tif 000024
【図４】
2020190411.tif 000025
【図５】
2020190411.tif 000026
【図６】
2020190411.tif 000027
【図７】
2020190411.tif 000028
【図８】
2020190411.tif 000029
【図９】
2020190411.tif 000030
【図１０】
2020190411.tif 000031
【図１１】
2020190411.tif 000032