(57)【要約】【課題】テンプレートのデータ量削減と処理負荷の低減が可能な画像処理装置、ロボット制御システム、ロボット、画像処理方法及び画像処理プログラム等を提供すること。【解決手段】画像処理装置は、画像平面４２０から仮想の球面４２５に写像したテンプレート画像である球面テンプレート画像を記憶するテンプレート画像記憶部と、撮像部２０による撮像画像に対してテンプレートマッチング処理を行う画像処理部と、を含む。画像処理部は、画像平面４２０から仮想の球面４２５に撮像画像を写像し、その写像した撮像画像である球面撮像画像と球面テンプレート画像とにより、仮想の球面４２５上においてテンプレートマッチング処理を行う。【選択図】      図３
2014238687.tif 000002
【特許請求の範囲】
【請求項１】
画像平面から仮想の球面に写像したテンプレート画像である球面テンプレート画像を記憶するテンプレート画像記憶部と、
撮像部による撮像画像に対してテンプレートマッチング処理を行う画像処理部と、
を含み、
前記画像処理部は、
前記画像平面から前記仮想の球面に前記撮像画像を写像し、前記写像した前記撮像画像である球面撮像画像と前記球面テンプレート画像とにより、前記仮想の球面上において前記テンプレートマッチング処理を行うことを特徴とする画像処理装置。
【請求項２】
請求項１において、
前記テンプレート画像記憶部は、
前記球面テンプレート画像として、前記撮像部の光軸上に物体が配置された場合における前記物体の画像を記憶することを特徴とする画像処理装置。
【請求項３】
請求項２において、
前記テンプレート画像記憶部は、
前記撮像部の光軸上において前記撮像部から異なる距離に前記物体が配置された場合における複数の前記球面テンプレート画像を記憶することを特徴とする画像処理装置。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記画像処理部は、
前記仮想の球面上の座標を前記画像平面上の座標に変換し、前記変換した前記画像平面上の座標における前記撮像画像の画素値を前記仮想の球面上の座標での画素値として取得することを特徴とする画像処理装置。
【請求項５】
請求項４において、
前記画像処理部は、
前記撮像画像をテクスチャーマッピングにより前記仮想の球面にマッピングすることで、前記仮想の球面上の座標での画素値を取得することを特徴とする画像処理装置。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記画像処理部は、
前記テンプレートマッチング処理の結果に基づいて、物体の位置姿勢を検出することを特徴とする画像処理装置。
【請求項７】
請求項６において、
前記画像処理部は、
前記仮想の球面上での前記テンプレートマッチング処理により検出した前記物体の位置姿勢を、３次元空間での位置姿勢に変換することにより、前記３次元空間での前記物体の位置姿勢を検出することを特徴とする画像処理装置。
【請求項８】
画像平面から仮想の球面に写像したテンプレート画像である球面テンプレート画像を記憶するテンプレート画像記憶部と、
撮像部による撮像画像に対してテンプレートマッチング処理を行う画像処理部と、
前記テンプレートマッチング処理の結果に基づいてロボットを制御するロボット制御部と、
を含み、
前記画像処理部は、
前記画像平面から前記仮想の球面に前記撮像画像を写像し、前記写像した前記撮像画像である球面撮像画像と前記球面テンプレート画像とにより、前記仮想の球面上において前記テンプレートマッチング処理を行うことを特徴とするロボット制御システム。
【請求項９】
請求項８において、
前記テンプレート画像記憶部に記憶された前記球面テンプレート画像を表示する表示部を含むことを特徴とするロボット制御システム。
【請求項１０】
画像平面から仮想の球面に写像したテンプレート画像である球面テンプレート画像を記憶するテンプレート画像記憶部と、
撮像部による撮像画像に対してテンプレートマッチング処理を行う画像処理部と、
ロボットのアームと、
前記テンプレートマッチング処理の結果に基づいて前記アームを制御するロボット制御部と、
を含み、
前記画像処理部は、
前記画像平面から前記仮想の球面に前記撮像画像を写像し、前記写像した前記撮像画像である球面撮像画像と前記球面テンプレート画像とにより、前記仮想の球面上において前記テンプレートマッチング処理を行うことを特徴とするロボット。
【請求項１１】
撮像部による撮像画像を画像平面から仮想の球面に写像し、
前記写像した前記撮像画像である球面撮像画像と、前記画像平面から前記仮想の球面に写像したテンプレート画像である球面テンプレート画像とにより、前記仮想の球面上においてテンプレートマッチング処理を行うことを特徴とする画像処理方法。
【請求項１２】
撮像部による撮像画像を画像平面から仮想の球面に写像し、
前記写像した前記撮像画像である球面撮像画像と、前記画像平面から前記仮想の球面に写像したテンプレート画像である球面テンプレート画像とにより、前記仮想の球面上においてテンプレートマッチング処理を行う、
ステップをコンピューターに実行させる画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、ロボット制御システム、ロボット、画像処理方法及び画像処理プログラム等に関する。
【背景技術】
【０００２】
特定のパターン（例えば、特定の画像そのものや特徴量等）の位置を画像から検出する手法として、ピンホールカメラモデルを想定したテンプレートマッチングが知られている。この手法では、特定のパターンをテンプレートとして、画像の各位置におけるテンプレートと画像との類似度を求め、その類似度が最も高い位置を検出する。
【０００３】
カメラで画像を撮影する場合、３次元空間を平面に写像することになる。そのため、カメラから見た物体までの距離と物体の姿勢が同一であっても、光軸上（オンアクシス）と光軸外（オフアクシス）とで画像上での物体の見え方が異なる。このような画像に対してテンプレートマッチングを行う場合、物体の見え方が異なることに対して何らかの対処が必要である。
【０００４】
例えば特許文献１には、オフアクシスでの像の歪みではないが、物体の動きによる像の歪みに対して位置検出の精度を向上する手法が開示されている。この手法では、３つ以上のテンプレートを用いたマッチングを行い、その結果に基づいて像の歪み方を推定し、その推定した歪み方に基づいた補正を行う。
【０００５】
また特許文献２には、オンアクシスでのテンプレートのみを用意し、テンプレートウィンドウの画像平面上におけるスライド位置に応じてホモグラフィー行列を求め、そのホモグラフィー行列によりテンプレートを変形し、その変形したテンプレートによりマッチングを行う手法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−２２９８３４号公報
【特許文献２】米国特許出願公開第２００９／９６７９０号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記のようなオフアクシスでの物体の見え方の違いに対するテンプレートマッチングでは、テンプレートのデータ量増大や処理負荷の増大という課題がある。
【０００８】
例えば特許文献１の手法を適用した場合、オンアクシスのテンプレートだけでなく、オフアクシスの各位置での見え方に応じた大量のテンプレートを用意する必要があるため、テンプレートのデータ量が膨大となる。また特許文献２の手法を用いた場合、テンプレートをスライドさせながらマッチングを行う際に、スライド位置に応じてホモグラフィー行列が異なるため、ホモグラフィー変換を繰り返し行う必要がある。そのため、処理負荷が増大する。
【０００９】
本発明の幾つかの態様によれば、テンプレートのデータ量削減と処理負荷の低減が可能な画像処理装置、ロボット制御システム、ロボット、画像処理方法及び画像処理プログラム等を提供できる。
【課題を解決するための手段】
【００１０】
本発明の一態様は、画像平面から仮想の球面に写像したテンプレート画像である球面テンプレート画像を記憶するテンプレート画像記憶部と、撮像部による撮像画像に対してテンプレートマッチング処理を行う画像処理部と、を含み、前記画像処理部は、前記画像平面から前記仮想の球面に前記撮像画像を写像し、前記写像した前記撮像画像である球面撮像画像と前記球面テンプレート画像とにより、前記仮想の球面上において前記テンプレートマッチング処理を行う画像処理装置に関係する。
【００１１】
本発明の一態様によれば、画像平面から仮想の球面に写像された撮像画像と、画像平面から仮想の球面に写像されたテンプレート画像とにより、仮想の球面上においてテンプレートマッチング処理が行われる。これにより、テンプレートのデータ量削減と処理負荷の低減が可能になる。
【００１２】
また本発明の一態様では、テンプレート画像記憶部は、前記球面テンプレート画像として、前記撮像部の光軸上に物体が配置された場合における前記物体の画像を記憶してもよい。
【００１３】
仮想の球面に写像した画像では、画像平面上の画像とは異なり、オフセット角（撮像部の光軸と撮像部から見た物体の方向との成す角度）に依らず物体の見え方は同一となる。そのため、本発明の一態様では、光軸外のテンプレート画像が不要となり、光軸上のテンプレート画像で高精度なテンプレートマッチングを行うことが可能である。これにより、テンプレートの記憶領域を必要最小限に抑えることができる。
【００１４】
また本発明の一態様では、前記テンプレート画像記憶部は、前記撮像部の光軸上において前記撮像部から異なる距離に前記物体が配置された場合における複数の前記球面テンプレート画像を記憶してもよい。
【００１５】
このようにすれば、仮想の球面内での位置だけでなく、撮像部から物体までの距離を検出することが可能となる。このように距離毎のテンプレート画像を用意する場合、オフセット角毎にテンプレートを用意すると膨大なデータ量となるが、本発明の一態様では、光軸外のテンプレート画像が不要であるため、テンプレートのデータ量を大幅に抑制可能である。
【００１６】
また本発明の一態様では、前記画像処理部は、前記仮想の球面上の座標を前記画像平面上の座標に変換し、前記変換した前記画像平面上の座標における前記撮像画像の画素値を前記仮想の球面上の座標での画素値として取得してもよい。
【００１７】
仮想の球面上でテンプレートマッチングを行うためには、仮想の球面の各座標においてテンプレート及び撮像画像がどのような画素値をもつのかを知る必要があるが、本発明の一態様によれば、仮想の球面から画像平面への座標変換により、テンプレートマッチングに必要な仮想の球面での画素値を取得できる。
【００１８】
また本発明の一態様では、前記画像処理部は、前記撮像画像をテクスチャーマッピングにより前記仮想の球面にマッピングすることで、前記仮想の球面上の座標での画素値を取得してもよい。
【００１９】
このようにすれば、グラフィックス処理のＡＰＩ等を用いてＧＰＵにテクスチャーマッピング処理を行わせることが可能となり、ＧＰＵのグラフィックス処理能力を利用して高速にテンプレートや撮像画像を球面写像できる。
【００２０】
また本発明の一態様では、前記画像処理部は、前記テンプレートマッチング処理の結果に基づいて、物体の位置姿勢を検出してもよい。
【００２１】
また本発明の一態様では、前記画像処理部は、前記仮想の球面上での前記テンプレートマッチング処理により検出した前記物体の位置姿勢を、３次元空間での位置姿勢に変換することにより、前記３次元空間での前記物体の位置姿勢を検出してもよい。
【００２２】
このようにすれば、仮想の球面上でのテンプレートマッチングにより、３次元空間での物体の位置姿勢を検出することができる。例えば、ロボット制御に本発明を適用した場合、マッチング結果からワールド座標系での位置姿勢を検出し、ロボットアーム等の制御を行うことが可能となる。
【００２３】
また本発明の他の態様は、画像平面から仮想の球面に写像したテンプレート画像である球面テンプレート画像を記憶するテンプレート画像記憶部と、撮像部による撮像画像に対してテンプレートマッチング処理を行う画像処理部と、前記テンプレートマッチング処理の結果に基づいてロボットを制御するロボット制御部と、を含み、前記画像処理部は、前記画像平面から前記仮想の球面に前記撮像画像を写像し、前記写像した前記撮像画像である球面撮像画像と前記球面テンプレート画像とにより、前記仮想の球面上において前記テンプレートマッチング処理を行うロボット制御システムに関係する。
【００２４】
また本発明の他の態様では、前記テンプレート画像記憶部に記憶された前記球面テンプレート画像を表示する表示部を含んでもよい。
【００２５】
また本発明の更に他の態様は、画像平面から仮想の球面に写像したテンプレート画像である球面テンプレート画像を記憶するテンプレート画像記憶部と、撮像部による撮像画像に対してテンプレートマッチング処理を行う画像処理部と、ロボットのアームと、前記テンプレートマッチング処理の結果に基づいて前記アームを制御するロボット制御部と、を含み、前記画像処理部は、前記画像平面から前記仮想の球面に前記撮像画像を写像し、前記写像した前記撮像画像である球面撮像画像と前記球面テンプレート画像とにより、前記仮想の球面上において前記テンプレートマッチング処理を行うロボットに関係する。
【００２６】
また本発明の更に他の態様は、撮像部による撮像画像を画像平面から仮想の球面に写像し、前記写像した前記撮像画像である球面撮像画像と、前記画像平面から前記仮想の球面に写像したテンプレート画像である球面テンプレート画像とにより、前記仮想の球面上においてテンプレートマッチング処理を行う画像処理方法に関係する。
【００２７】
また本発明の更に他の態様は、撮像部による撮像画像を画像平面から仮想の球面に写像し、前記写像した前記撮像画像である球面撮像画像と、前記画像平面から前記仮想の球面に写像したテンプレート画像である球面テンプレート画像とにより、前記仮想の球面上においてテンプレートマッチング処理を行う、ステップをコンピューターに実行させる画像処理プログラムに関係する。
【図面の簡単な説明】
【００２８】
【図１】撮像部で物体を撮影した場合の画像上での見え方の模式図。
【図２】ホモグラフィー変換についての説明図。
【図３】球面テンプレートマッチング処理についての説明図。
【図４】球面テンプレートマッチングを用いて物体の位置姿勢を検出する処理のフローチャート。
【図５】球面写像の第１の手法についての説明図。
【図６】球面写像の第２の手法についての説明図。
【図７】球面写像の第２の手法についての説明図。
【図８】球面テンプレートマッチング処理のフローチャート。
【図９】球面テンプレート画像を生成する処理のフローチャート。
【図１０】走査窓における球面撮像画像を生成する処理のフローチャート。
【図１１】仮想の球面上で検出した物体の位置姿勢を３次元空間での位置姿勢に変換する処理の説明図。
【図１２】仮想の球面上で検出した物体の位置姿勢を３次元空間での位置姿勢に変換する処理の説明図。
【図１３】ロボットシステムの構成例。
【図１４】ロボットシステムの第２構成例。
【図１５】ロボット制御システム及びロボットシステムの詳細な構成例。
【発明を実施するための形態】
【００２９】
以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【００３０】
１．本実施形態の手法
以下では、本実施形態のテンプレートマッチングを３次元空間における物体の位置姿勢の検出に適用する場合を例にとり説明する。なお、本実施形態はこれに限定されず、仮想の球面上に写像することにより被写体像の変形をキャンセルできるアプリケーションであれば、適用可能である。
【００３１】
図１に、ピンホールカメラモデルにおいて、撮像部２０（カメラ）で物体４５０（被写体）を撮影した場合の画像上での見え方を模式的に示す。図１では、物体４５０は、平面４３０上のオンアクシス及びオフアクシスに配置されている。オンアクシスとは、撮像部２０の光軸４４０上に物体４５０が存在する状態のことであり、オフアクシスとは、撮像部２０の光軸４４０上以外の位置に物体４５０が存在する状態のことである。
【００３２】
撮像部２０により物体４５０を撮影すると、３次元空間に配置された物体４５０は画像平面４２０に写像される。このとき、オンアクシスでの像４６０とオフアクシスでの像４７０は、見え方（形や大きさ）が異なっている。例えばオンアクシスの像４６０では、物体４５０の上平面のみが写っているが、オフアクシスの像４７０では物体４５０の右側面も写っている。また、オンアクシスとオフアクシスで撮像部２０から物体５０までの距離が変わるため、像の大きさも多少異なっている。更に、オフアクシスにおいて、光軸４４０からのオフセット角θが変化すると、見え方もそれに応じて異なったものとなる。
【００３３】
さて、このような画像から物体４５０の位置姿勢を検出することを考える。位置姿勢を高精度に検出するためには、そもそも、正確なテンプレートマッチングが必要である。正確なテンプレートマッチングを行う手法としては、空間中のさまざまな位置における物体の姿勢毎にテンプレートを用意する手法が考えられる（例えば特許文献１を、物体の位置姿勢検出に適用した場合）。
【００３４】
しかしながら、この手法では、テンプレートのデータサイズが膨大になるという課題がある。これは、上述のように、光軸４４０からのオフセット角θが変わると、物体４５０の見え方が変わり、それぞれテンプレートが必要となるためである。また、オフセット角θが同一であっても、撮像部２０から物体４５０までの距離が変わると見え方が異なるので、各オフセット角θにおいて距離を変化させた膨大なテンプレートを用意しなければならないためである。
【００３５】
一方、オフセット角θ毎にテンプレートを用意するのではなく、オフセット角θに応じてテンプレートを変形する手法が考えられる。この手法では、オフセット角θ毎のテンプレートが不要となるため、テンプレートのデータサイズを削減できる。例えば特許文献２の手法では、ホモグラフィー変換によりテンプレートを変形する。
【００３６】
図２に、ホモグラフィー変換についての説明図を示す。図２では、オフセット角θに物体４５０が配置されているとする。この物体４５０を撮影すると、画像上では像４７５が得られる。ホモグラフィー変換ではホモグラフィー行列により変換を行うが、ホモグラフィー行列は、オフセット角θの像４７５をオンアクシス（θ＝０度）での像４６５に変換する行列である。即ち、ホモグラフィー変換は、ピンホールカメラモデルにおけるピンホールを中心とした球面４３５を考え、オフセット角θでの球面４３５の接平面に像４７５を写像し、その接平面上の像４９０をオンアクシスでの球面４３５の接平面に移動させ、その像４８０を画像平面４２０へ写像する変換と等価である。
【００３７】
さて、上記のようなホモグラフィー変換において、撮像部２０から見たときの物体４５０の距離と姿勢は、オンアクシスとオフアクシスで同一となるはずである。それにも関わらず、画像平面４２０上では、オフアクシスでの像４７５はオンアクシスでの像４６５に比べて伸びており、画像平面４２０上での見え方は異なったものとなる。これは、球面４３５の法線と画像平面４２０が成す角度が、オフセット角θに応じて異なるためである。このように、オフセット角θに応じて画像平面４２０上での像が異なるため、オフセット角θに応じてホモグラフィー行列も異なったものとなる。
【００３８】
特許文献２では、オンアクシスでのテンプレートを用意しておき、そのテンプレートをホモグラフィー行列の逆行列により変換し、その変換したテンプレートによりマッチングを行う。マッチングでは、走査窓の位置（即ちオフセット角θ）を移動させながら類似度を算出するため、その位置毎にホモグラフィー行列（の逆行列）を求めてテンプレートを変換する必要がある。そのため、ホモグラフィー変換の繰り返し演算が発生し、テンプレートマッチングの処理負荷が非常に大きなものとなるという課題がある。
【００３９】
以上の図１、図２で説明したような課題は、画像平面４２０上でテンプレートマッチングを行うことに本質的に起因している。即ち、画像平面４２０上でマッチングすることにより、カメラ光軸外（オフアクシス）に置かれた物体５０の画像平面４２０での見え方が、オフセット角θに応じて変わるためである。
【００４０】
そこで本実施形態では、球面上においてテンプレートマッチングを行う。具体的には、画像処理装置（例えば、後述する図１５の記憶部１３０及び処理部１１０）は、テンプレート画像記憶部１３２と画像処理部１１２を含む。図３に示すように、テンプレート画像記憶部１３２は、画像平面４２０から仮想の球面４２５に写像したテンプレート画像である球面テンプレート画像を記憶する。画像処理部１１２は、撮像部２０による撮像画像に対してテンプレートマッチング処理を行う。このとき画像処理部１１２は、画像平面４２０から仮想の球面４２５に撮像画像を写像し、その写像した撮像画像である球面撮像画像と球面テンプレート画像とにより、仮想の球面４２５上においてテンプレートマッチング処理を行う。
【００４１】
このようにすれば、オフセット角θに応じたテンプレートのデータや、オフセット角θに応じたテンプレートの変形が不要となり、テンプレートのデータ量を削減すると共に軽負荷でテンプレートマッチングを行うことが可能となる。即ち、図３に示すように、撮影された物体４５０の像を球面４２５へ写像するということは、結局、物体４５０が配置された球面４３５から仮想的な球面４２５へ写像しているということである。この場合、平面への写像ではないため、図２で説明したようなホモグラフィーの関係が生じず、オフセット角θに関わらずオンアクシスの像４８５もオフアクシスの像４９５も同一となる。これにより、オフセット角θに依らないテンプレートのみで、ホモグラフィー変換による変形をすることなく、テンプレートマッチングを行うことができる。
【００４２】
また、画像平面４２０から球面４２５への写像は単純な座標変換であり、１回だけ行えば済むため、特許文献２のようにホモグラフィー変換を繰り返し行う場合に比べて処理負荷が軽くなり、高速処理が可能である。例えば、後述のようにＧＰＵのテクスチャーマッピング機能を用いることにより、球面４２５への座標変換を高速に実行可能である。
【００４３】
ここで、画像平面４２０とは、撮像部２０が３次元空間の像を結像させる平面のことである。例えばピンホールカメラモデルを採用した場合、ピンホールから光軸４４０方向へ撮像部２０の焦点距離だけ離れると共に光軸４４０に直交する平面である。実際にはピンホールを挟んで被写体と反対側に存在するが、数学的に等価であることからピンホールより被写体側に設定することが一般的である（透視投影モデル）。
【００４４】
また、球面４２５とは、球面上でテンプレートマッチングを行うために仮想的に設定した球面（被写体側に設定した半球面）である。例えばピンホールカメラモデルを採用した場合、ピンホールを中心とする球面であり、その半径は任意に設定することが可能であるが、例えば半径は撮像部２０の焦点距離である。
【００４５】
また本実施形態では、テンプレート画像記憶部１３２は、球面テンプレート画像として、撮像部２０の光軸４４０上に物体４５０が配置された場合（オンアクシス）における物体４５０の画像を記憶する。
【００４６】
より具体的には、テンプレート画像記憶部１３２は、撮像部２０の光軸４４０上において撮像部２０から異なる距離に物体４５０が配置された場合における複数の球面テンプレート画像を記憶する。例えば、光軸４４０に沿って離散的な距離を設定し、その各距離に物体４５０を種々の姿勢で配置した場合の球面テンプレート画像を記憶しておく。テンプレートマッチングでは、各距離及び各姿勢の球面テンプレート画像を用いて順次マッチングを行い、類似度が最も高い球面テンプレート画像を検出して物体４５０までの距離及び物体４５０の姿勢を決定する。
【００４７】
このように、本実施形態によれば、オンアクシスのテンプレート画像のみを記憶しておけばよいため、テンプレートの記憶領域を必要最小限に抑えることができる。また、撮像部２０からの距離に応じて物体４５０の見え方が異なるため、３次元空間での位置姿勢を検出するためには、距離毎及び姿勢毎のテンプレートが必要である。しかしながら、本実施形態ではオフセット角θ毎にデータを用意する必要がないため、物体の位置姿勢検出においてもテンプレートのデータ量を大幅に抑制可能である。
【００４８】
２．物体の位置姿勢検出処理
図４に、本実施形態の球面テンプレートマッチングを用いて物体の位置姿勢を検出する処理のフローチャートを示す。各ステップにおける処理の詳細については、後述する。
【００４９】
図４の処理を開始すると、検出対象となる被写体のオンアクシスのテンプレート画像を取得する（ステップＳ１）。次に、そのオンアクシスのテンプレート画像を球面上に写像する（ステップＳ２）。次に、撮像した画像を球面上に写像する（ステップＳ３）。次に、球面上に写像したテンプレート画像及び撮像画像を用いて、球面上でテンプレートマッチングを行う（ステップＳ４）。次に、テンプレートマッチングで検出した球面上での位置姿勢と、最もマッチングしたテンプレートに対応する距離とを、３次元空間（ワールド座標系）での座標及び姿勢へ変換する（ステップＳ５）。
【００５０】
この処理手順のうち、テンプレート画像を作成するステップＳ１、Ｓ２は、物体検出を行う前に予め実行する。そして、作成したテンプレート画像をテンプレート画像記憶部１３２へ記憶しておく。物体検出のリアルタイム処理では、テンプレート画像記憶部１３２からテンプレート画像を読み出してステップＳ３〜Ｓ５を実行する。或は、球面へ写像する前のテンプレート画像をテンプレート画像記憶部１３２へ記憶しておき、物体検出のリアルタイム処理でステップＳ１〜Ｓ５を実行してもよい。
【００５１】
３．球面写像の手法
３．１．第１の手法
次に、撮像画像やテンプレート画像を球面４２５へ写像する手法について詳細に説明する。図５に、球面写像の第１の手法についての説明図を示す。
【００５２】
図５に示すように、画像平面４２０上にｘ軸及びｘ軸に直交するｙ軸を設定し、光軸４４０と画像平面４２０の交点を原点Ｏ＝（０，０）とする。ｘ軸、ｙ軸は任意に設定可能であるが、例えば撮像素子の水平走査方向と垂直走査方向であってもよいし、或はカメラの内部パラメーターをキャリブレートした座標系であってもよい。また、球面４２５の半径をＦとする。半径Ｆは任意に設定可能であるが、例えばカメラの焦点距離であってもよいし、或はＦ＝１としてもよい。
【００５３】
第１の手法では、画像平面４２０上の点Ｐ’＝（ｘ，ｙ）を球面４２５上の点Ｐ＝（ｕ，ｖ）へ変換する変換式を用いて写像する。球面４２５上の座標としては、例えば極座標（φ，ｓａｒｃ）を採用できる。φは、ｘ軸と線分ＯＰ’が成す角度である。ｓａｒｃは、球面４２５と光軸４４０の交点から点Ｐまでの大円上の円弧の長さである。
【００５４】
原点Ｏから点Ｐ’までの距離をｒとすると、下式（１）が成り立つ。
【数１】
2014238687.tif 000003
【００５５】
上式（１）を整理すると、下式（２）に示す変換式が得られる。
【数２】
2014238687.tif 000004
【００５６】
上式（２）の座標変換は、例えばＧＰＵ（Graphics Processing Unit）の機能であるレンダラーのピクセルシェーダーにより実現することができる。具体的には、撮像画像をテクスチャーとして、平面座標であるテクスチャー座標（ｕ、ｖ）＝（ｘ，ｙ）から球面座標（φ，ｓａｒｃ）へのテクスチャーマッピングを行う。即ち、ピクセルシェーダーが球面座標（φ，ｓａｒｃ）をテクスチャー座標（ｘ，ｙ）へ変換し、その変換したテクスチャー座標（ｘ，ｙ）の画素値を球面座標（φ，ｓａｒｃ）の画素値として取得する。このようなテクスチャーアクセスにより、上記の変換式による座標変換が実現される。なお、この場合には、実際には上式（２）の逆変換を行っていることになる。
【００５７】
なお、ＧＰＵによるテクスチャーマッピングを用いた球面写像のより詳細な処理手順については、図１０や図１１で後述する。
【００５８】
３．２．第２の手法
図６、図７に、球面写像の第２の手法についての説明図を示す。第２の手法では、カメラの内部パラメーターの行列と対応付けた変換により写像する。
【００５９】
図６に示すように、３次元空間をユークリッド座標系で表すものとし、球面４２５の中心（ピンホール位置）を原点とし、光軸方向にｚ軸を設定し、画像平面４２０に平行にｘ軸、ｙ軸を設定する。ここでは、画像平面４２０をｚ＝１に設定し、球面４２５の半径を１とする。なお、Ｐ、Ｐ’の上に矢印が付された符号は、それぞれ点Ｐ、点Ｐ’の位置ベクトルを表す。
【００６０】
まず、カメラの内部パラメーターについて説明する。図６では、点Ｐが球面４２５上にあるが、ここでは３次元空間の任意の点とする。３次元空間の任意の点Ｐから画像平面４２０上の点Ｐ’への変換は、一般的に下式（３）と表せる。
【数３】
2014238687.tif 000005
【００６１】
現実のカメラで撮影した場合、上式（３）の行列Ｋは下式（４）のようになる。（Ｃｘ，Ｃｙ）は、センサー中心と光軸のずれである。ｆは、光学系の焦点距離である。ａはアスペクトレシオであり、水平方向と垂直方向の画素ピッチの比を表す。ｓはスキューであり、光軸に対するセンサー平面の傾きによるものである。このような行列Ｋを、カメラの内部パラメーターと呼ぶ。
【数４】
2014238687.tif 000006
【００６２】
さて、上式（３）、（４）は、３次元空間の点Ｐを画像平面４２０上の点Ｐ’に写像する変換である。即ち、その逆変換である下式（５）を考えれば、画像平面４２０上の点Ｐ’を３次元空間の点Ｐに写像する変換となる。
【数５】
2014238687.tif 000007
【００６３】
この逆変換では、写像先に制限が無いため、そのままでは３次元空間内のどの面に点Ｐが写像されるかは決まっていない。そこで、テンプレートマッチングを行う球面４２５に点Ｐが存在するという条件（下式（６））を課すことにより、上式（５）の逆変換を、画像平面４２０から球面４２５への写像と考えることができる。
【数６】
2014238687.tif 000008
【００６４】
第１の手法で上述したように、テクスチャーマッピングで座標変換を行う場合には球面４２５から画像平面４２０への変換を用いている。即ち、実際の処理では上式（３）に相当する変換が分かっていればよい。以下では、上式（６）の条件の下で上式（３）に相当する変換を算出する。
【００６５】
図７に、光軸に平行で点Ｐ及び点Ｐ’を通る平面での断面図を示す。ｒは、光軸から点Ｐまでの距離である。θｍは、点Ｐの位置ベクトルと画像平面４２０が成す角度（図５のθとはθｍ＝π／２−θの関係）である。ｄは、点Ｐのｚ座標である。ｒ’は、光軸から点Ｐ’までの距離である。このとき、点Ｐが半径１の球面４２５上に存在するという条件により下式（７）が成り立つ。
【数７】
2014238687.tif 000009
【００６６】
ここで、適切なカメラキャリブレーションが行われ、適切な座標系を設定した場合には、行列Ｋは下式（８）のような単位行列と考えてよい。以下では説明を簡単にするため行列Ｋを単位行列とする。
【数８】
2014238687.tif 000010
【００６７】
そうすると、上式（３）、（７）、（８）より下式（９）が求められる。φは、図５の角度φと同一である。
【数９】
2014238687.tif 000011
【００６８】
上式（９）の第３行左辺は、点Ｐ’の座標（ｘ’，ｙ’，１）であり、上式（９）の第３行右辺は、上式（７）より極座標の変数φ，θｍで表されている。即ち、上式（９）は、球面４２５上の点Ｐの座標（φ，θｍ）を画像平面４２０上の座標（ｘ’，ｙ’）に写像する変換式となっている。なお、上式（９）の第２行と第３行を結ぶ等号は、斉次座標における同値関係を表す。即ち、３次元ユークリッド空間とその空間内に置かれたｚ＝１の２次元平面を考えた場合に、第２行の３次元ユークリッド空間中の点Ｐが、ｚ＝１の２次元平面上の点Ｐ’に写像されることを表す。
【００６９】
４．球面テンプレートマッチング処理
次に、球面テンプレートマッチング処理の詳細について説明する。図８に、球面テンプレートマッチング処理のフローチャートを示す。
【００７０】
この処理を開始すると、予め球面上に写像されたテンプレート画像を取得する（ステップＳ２１）。次に、球面上の走査窓（Sliding Window）の極座標（Φ，Θ）を設定する（ステップＳ２２）。例えば、走査窓の左端（走査窓の中でφが最小の位置）をΦとし、走査窓の下端（走査窓の中でθｍが最小の位置）をΘとする。次に、走査窓内の撮像画像を球面画像に変換する（ステップＳ２３）。次に、球面テンプレート画像と走査窓の球面画像の類似度を算出する（ステップＳ２４）。類似度としては、例えばＳＳＤ（Sum of Squared Difference）やＳＡＤ（Sum of Absolute Difference）を用いることができる。例えばＳＳＤの場合、下式（１０）により類似度ＲＳＳＤを算出する。Ｉ（φ，θｍ）は走査窓の球面画像であり、Ｔ（φ，θｍ）は球面テンプレート画像である。
【数１０】
2014238687.tif 000012
【００７１】
次に、類似度の最大値を検出したか否かを判定する（ステップＳ２５）。類似度の最大値が検出されていない場合には、ステップＳ２２に戻り、走査窓の座標を所定の刻みでシフトさせて再設定する。類似度の最大値が検出された場合には、その最大値の座標を検出位置とし、処理を終了する。
【００７２】
図９に、球面テンプレート画像を生成する処理のフローチャートを示す。この処理は、図８のステップＳ２１の前に行う処理であり、例えばＯｐｅｎＧＬ等のＡＰＩ（Application Programming Interface）を用いて処理手順をプログラムコードとして記述し、ＧＰＵ（Graphics Processing Unit）に実行させることにより実現できる。
【００７３】
この処理を開始すると、物体の３次元モデルデータを所定の方向から見た透視変換画像を生成し、その透視変換画像をテクスチャーバッファーにセットする（ステップＳ４１）。次に、座標変数を初期値φ＝φＢｏｔｔｏｍ、θｍ＝θＢｏｔｔｏｍに設定する（ステップＳ４２、Ｓ４３）。次に、単位行列をメモリーにロードし、その単位行列を角度φだけ回転し、その回転した単位行列を角度θｍだけ回転する（ステップＳ４４）。次に、回転した単位行列のｚ軸成分を球面上の点Ｚ（＝Ｐ）の座標として取得する（ステップＳ４５）。次に、点Ｚに対応する画像平面上の点Ｐ’の座標を求める（ステップＳ４６）。次に、点Ｐ’の画素値をテクスチャーバッファーから取得し、その画素値を球面テンプレート画像Ｔ（φ，θｍ）に代入する（ステップＳ４７）。このような行列の回転変換をＧＰＵによりハードウェア処理することで、画像平面から仮想の球面への座標変換を高速に処理することが可能となる。
【００７４】
次に、θｍが最大値θＴｏｐであるか否かを判定する（ステップＳ４８）。θｍ＜θＴｏｐである場合には、Δθを一定の刻みとしてθｍ＝θｍ＋Δθとし（ステップＳ４９）、ステップＳ４４に戻る。θｍ＝θＴｏｐである場合には、φが最大値φＴｏｐであるか否かを判定する（ステップＳ５０）。φ＜φＴｏｐである場合には、Δφを一定の刻みとしてφ＝φ＋Δφとし（ステップＳ５１）、ステップＳ４３に戻る。φ＝φＴｏｐである場合には、処理を終了する。
【００７５】
なお、必要に応じて球面テンプレート画像Ｔ（φ，θｍ）から画像特徴量を抽出し、それを最終的な球面テンプレート画像としてもよい。
【００７６】
図１０に、走査窓における球面撮像画像を生成する処理のフローチャートを示す。この処理は、図８のステップＳ２３で実行する処理である。図９の処理と同様に、ＯｐｅｎＧＬ等のＡＰＩを用いて実現できる。
【００７７】
この処理を開始すると、図８のステップＳ２２で設定した走査窓の極座標（Φ，Θ）を取得する（ステップＳ６１）。次に、座標変数を初期値φ＝φＢｏｔｔｏｍ、θｍ＝θＢｏｔｔｏｍに設定する（ステップＳ６２、Ｓ６３）。次に、単位行列をメモリーにロードし、その単位行列を角度φ＋Φだけ回転し、その回転した単位行列を角度θｍ＋Θだけ回転する（ステップＳ６４）。次に、回転した単位行列のｚ軸成分を球面上の点Ｚ（＝Ｐ）の座標として取得する（ステップＳ６５）。次に、点Ｚに対応する画像平面上の点Ｐ’の座標を求める（ステップＳ６６）。次に、点Ｐ’の画素値をテクスチャーバッファーから取得し、その球面撮像画像の画素値Ｉ（φ，θｍ）に代入する（ステップＳ６７）。
【００７８】
次に、θｍが最大値θＴｏｐであるか否かを判定する（ステップＳ６８）。θｍ＜θＴｏｐである場合には、Δθを一定の刻みとしてθｍ＝θｍ＋Δθとし（ステップＳ６９）、ステップＳ６４に戻る。θｍ＝θＴｏｐである場合には、φが最大値φＴｏｐであるか否かを判定する（ステップＳ７０）。φ＜φＴｏｐである場合には、Δφを一定の刻みとしてφ＝φ＋Δφとし（ステップＳ７１）、ステップＳ７３に戻る。φ＝φＴｏｐである場合には、処理を終了する。
【００７９】
なお、必要に応じて球面撮像画像から画像特徴量を抽出し、それを最終的な球面撮像画像としてもよい。また、走査窓をスライドさせたときに、以前に設定した走査窓と重なった部分がある場合には、その重なった部分については写像を行わずに、既に球面写像された画素値を再利用してもよい。
【００８０】
５．３次元空間座標への変換処理
次に、球面テンプレートマッチングで検出した球面上での物体の位置姿勢を、３次元直交座標系（ユークリッド座標系）での物体の位置姿勢に変換する処理の詳細について説明する。
【００８１】
図１１、図１２に、変換処理の説明図を示す。図１２は、図１１の座標系を＋ｚ方向から見たものである。直交座標（ｘ，ｙ，ｚ）及び極座標（φ，θ）の定義は、上述した図５等と同様である。変換により求める３次元空間の点をＰ”＝（ｘ，ｙ，ｚ）とする。
【００８２】
まず、物体位置の変換について説明する。球面テンプレートマッチングでは、極座標でのマッチング位置（φ，θ）が決定される。また、テンプレートは距離毎に用意されており、最もマッチしたテンプレートに紐付けられた距離Ｄが決定される。このとき、下式（１１）が成り立つ。
【数１１】
2014238687.tif 000013
【００８３】
上式（１２）をｘ、ｙ、ｚについて解くことで、下式（１２）が得られる。この下式（１２）により、球面上の座標を３次元空間の座標に変換できる。
【数１２】
2014238687.tif 000014
【００８４】
なお、図９や図１０で説明したような行列を回転させる手法により３次元空間の点Ｐ”＝（ｘ，ｙ，ｚ）を求めてもよい。
【００８５】
次に、物体姿勢の変換について説明する。球面テンプレートマッチングでは、テンプレートは姿勢毎に用意されており、最もマッチしたテンプレートに紐付けられた姿勢が決定される。決定した姿勢を下式（１３）の行列Ｈで表す。
【数１３】
2014238687.tif 000015
【００８６】
ここで、行列Ｈの列ベクトルａ＝（ａｘ，ａｙ，ａｚ）は、物体に固定された座標系（ローカル座標系）のｘ軸方向の単位ベクトルを空間座標系（ワールド座標系）で表したものである。同様に、列ベクトルｂ＝（ｂｘ，ｂｙ，ｂｚ）、ｃ＝（ｃｘ，ｃｙ，ｃｚ）は、それぞれ物体座標系のｙ軸、ｚ軸方向の単位ベクトルを空間座標系で表したものである。
【００８７】
テンプレートはオンアクシスのものなので、テンプレートマッチングで決定した行列Ｈはオンアクシスでの姿勢を表している。この姿勢を、マッチング位置（φ，θ）に基づいて回転させたものが３次元空間での姿勢となる。即ち、この回転行列をＲとすると、下式（１４）により３次元空間での姿勢（行列Ｈ”）を求めることができる。
【数１４】
2014238687.tif 000016
【００８８】
回転行列Ｒは、以下のようなものである。即ち、オンアクシスでのテンプレート画像平面の法線方向は、−ｚ方向の単位ベクトルｅ０であり、下式（１５）である。また、点Ｐ”方向の単位ベクトルｅ１は、下式（１６）である。単位ベクトルｅ０、ｅ１の成す面に垂直な単位ベクトルｅ２は、下式（１７）となる。ここで、ｅ２＝（ｎｘ，ｎｙ，ｎｚ）とおく。
【数１５】
2014238687.tif 000017
【数１６】
2014238687.tif 000018
【数１７】
2014238687.tif 000019
【００８９】
単位ベクトルｅ０、ｅ１の成す角度はθ（下式（１８））なので、単位ベクトルｅ２＝（ｎｘ，ｎｙ，ｎｚ）を軸として角度θだけ回転させる行列が求める回転行列Ｒである。即ち、回転行列Ｒは下式（１９）である。
【数１８】
2014238687.tif 000020
【数１９】
2014238687.tif 000021
【００９０】
以上に説明した実施形態では、画像処理部１１２（例えば、図１５の画像処理部１１２）は、仮想の球面４２５上の座標（φ，θ）（又は（φ，θｍ））を画像平面４２０上の座標（ｘ’，ｙ’）に変換し、その変換した画像平面４２０上の座標（ｘ’，ｙ’）における撮像画像の画素値を仮想の球面４２５上の座標（φ，θ）での画素値Ｉ（φ，θ）として取得する。
【００９１】
球面４２５上でテンプレートマッチングを行うためには、球面４２５上の各座標においてテンプレート及び撮像画像がどのような画素値をもつのかを知る必要がある。この点、本実施形態によれば、球面４２５上の座標（φ，θ）を参照すると座標変換が行われ、画素値Ｉ（φ，θ）が取得されるので、テンプレートマッチングに必要な画素値を得ることができる。
【００９２】
また本実施形態では、画像処理部１１２は、撮像画像をテクスチャーマッピングにより仮想の球面４２５にマッピングすることで、仮想の球面４２５上の座標（φ，θ）での画素値Ｉ（φ，θ）を取得する。
【００９３】
例えば本実施形態では、図５で説明した第１の手法のように、幾何的に求めた座標変数の変換式に基づいて座標変換を行う。或は、図６、図７で説明した第２の手法のように、３次元座標から平面座標への変換であるカメラの内部パラメーター行列に対応付けた手法により、行列演算により座標変換を行ってもよい。或は、図９、図１０等で説明した手法のように、空間座標の３軸の単位ベクトルを列ベクトルとして並べたものである単位行列を回転させることにより、座標変換を行ってもよい。
【００９４】
このようにすれば、グラフィックス処理のＡＰＩ等を用いてＧＰＵにテクスチャーマッピング処理を行わせることが可能となり、ＧＰＵのグラフィックス処理能力を利用して高速な球面写像が可能となる。特に、図９、図１０等で説明した単位行列の回転を用いる座標変換では、ＧＰＵはこのような行列の回転演算を得意としており、更なる高速化を期待できる。
【００９５】
また本実施形態では、画像処理部１１２は、テンプレートマッチング処理の結果に基づいて、物体の位置姿勢を検出する。
【００９６】
具体的には、画像処理部１１２は、仮想の球面４２５上でのテンプレートマッチング処理により検出した物体の位置姿勢（座標（φ，θ）、距離Ｄ、行列Ｈ）を、３次元空間での位置姿勢（座標（ｘ，ｙ，ｚ）、行列Ｈ”）に変換することにより、３次元空間での物体の位置姿勢を検出する。
【００９７】
このようにすれば、球面４２５上でのテンプレートマッチングにより、３次元空間での物体の位置姿勢を検出することができる。例えばロボット制御では、作業空間に固定されたワールド座標系として一般的にユークリッド座標系が用いられている。本実施形態では、マッチング結果からユークリッド座標系での位置姿勢を検出できるので、その検出結果に基づいてロボットアーム等の制御を行うことが可能となる。
【００９８】
６．ロボットシステム
以上に述べた本実施形態の球面テンプレートマッチングは、例えばロボット制御における物体検出に適用することが可能である。以下では、球面テンプレートマッチングを適用したロボット制御について説明する。
【００９９】
図１３にロボットシステムの構成例を示す。ロボットシステムは、ロボット制御システム１０（情報処理装置）と、撮像部２０（カメラ）と、ロボット３０とを含む。
【０１００】
ロボット制御システム１０は、撮像部２０により得られる画像に基づいて、制御信号を生成し、制御信号に基づいてロボット３０を制御する。ロボット制御システムの詳細は後述する。ロボット制御システム１０の一部又は全部の機能は、例えばＰＣ等の情報処理装置などにより実現される。なお、ロボット制御システム１０の一部又は全部の機能を、撮像部２０やロボット３０により実現したり、情報処理装置とは異なる電子機器により実現してもよい。また、本実施形態のロボット制御システム１０の一部又は全部の機能は、情報処理装置もしくは撮像部２０、ロボット３０と通信により接続されたサーバにより実現されてもよい。
【０１０１】
撮像部２０は、作業スペースを撮影する。この撮像部２０は、例えばＣＣＤ等の撮像素子と光学系を含む。また画像処理用等に用いられるデバイス（プロセッサー）を含むことができる。撮像部２０は、ロボット３０やワーク４０が位置し得る作業スペースを撮影することができる位置に配置される。例えば、撮像部２０は、ワーク４０の直上でもよいし（固定カメラ）、ロボット３０のアーム３２０やエンドエフェクター３３０等に取り付けられてもよい（可動カメラ）。ここで、ワーク４０とは、ロボット３０における加工対象物のことをいう。なお、撮像部２０は、一台で作業スペース全体又は一部を撮影してもよいし、複数台によって、作業スペースの全体又は一部を撮影してもよい。また、撮像部２０による撮像画像の取得以外の手法、例えばレーザー等を用いた３次元スキャン等を用いてもよい。
【０１０２】
ロボット３０は、アーム３２０及びエンドエフェクター３３０（例えばハンド）を有し、ロボット制御システム１０からの制御信号に従い処理を行う。ロボット３０は、例えばワーク４０の把持や加工などの処理を行う。
【０１０３】
ここで、アーム３２０とは、ロボット３０の一部の領域であって、一つ以上の関節を含む可動領域のことをいう。また、アーム３２０のエンドポイントとは、アーム３２０の先端部分の領域であって、ロボット３０のエンドエフェクター３３０以外の他の領域と接続されていない領域のことをいう。さらに、エンドエフェクター３３０とは、ワーク４０を把持したり、ワーク４０に加工を施すためにアーム３２０のエンドポイントに取り付ける部品のことをいう。なお、アームのエンドポイントの位置は、エンドエフェクター３３０の位置としてもよい。
【０１０４】
以上の図１３はロボット３０とロボット制御システム１０とが別体として存在するロボットシステムの例であるが、本実施形態では、ロボット制御システム１０がロボット３０に内蔵されてもよい。
【０１０５】
図１４に、そのようなロボットシステムの構成例を示す。このロボットシステムは、ロボット本体３０（アーム３２０及びエンドエフェクター３３０を有する）と、ロボット本体３０を支えるベースユニット部と、を含み、そのベースユニット部にロボット制御システム１０が格納される。図１４のロボットシステムでは、ベースユニット部に車輪等が設けられ、ロボット全体が移動可能な構成となっている。なお、図１３は単腕型の例であるが、ロボットは図１４に示すように双腕型等の多腕型のロボットであってもよい。
【０１０６】
７．ロボット制御システム
図１５に、ロボット制御システム及びこれを含むロボットシステムの詳細な構成例を示す。ロボット制御システム１０は、処理部１１０と、ロボット制御部１２０と、記憶部１３０と、Ｉ／Ｆ部１４０（入力部）と、を含む。なお、処理部１１０と記憶部１３０が、本実施形態の球面テンプレートマッチングを行う画像処理装置に対応する。
【０１０７】
処理部１１０は、記憶部１３０からのデータや、Ｉ／Ｆ部１４０において受信した撮像部２０或いはロボット３０からの情報等に基づいて種々の処理を行う。この処理部１１０の機能は、各種プロセッサー（例えばＣＰＵ、ＧＰＵ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムなどにより実現できる。
【０１０８】
球面上テンプレートマッチングによる物体検出は、処理部１１０が行う。具体的には、処理部１１０は画像処理部１１２と物体検出部１１４を含む。また記憶部１３０は、ワーク４０の球面テンプレート画像を記憶するテンプレート画像記憶部１３２を含む。そして、画像処理部１１２は、テンプレート画像記憶部１３２から球面テンプレート画像を読み出し、Ｉ／Ｆ部１４０を介して撮像部２０から撮像画像を取得する。画像処理部１１２は、撮像画像を球面に写像し、球面テンプレートマッチングを行う。物体検出部１１４は、球面上テンプレートマッチングで検出したワーク４０の球面上での位置姿勢を、３次元空間での位置姿勢に変換する。
【０１０９】
処理部１１０は、検出したワーク４０の３次元空間での位置姿勢に基づいて、ロボット３０の制御信号を生成し、制御信号をロボット制御部１２０に出力する。なお、この制御信号によりアーム３２０のエンドポイントがワーク４０に近づいた後、更にビジュアルサーボを行い、その制御信号をロボット制御部１２０に出力してもよい。ここで、ビジュアルサーボとは、エンドポイントの所望の位置姿勢を実現する参照画像（ターゲット画像）を用意しておき、撮像画像が参照画像に近づくようにエンドポイントを制御することにより、エンドポイントを所望の位置姿勢に制御する手法である。
【０１１０】
ロボット制御部１２０は、処理部１１０から出力された制御信号に基づいて、ロボット３０を制御する。
【０１１１】
記憶部１３０は、データベースを記憶したり、処理部１１０等のワーク領域となるもので、その機能はＲＡＭ等のメモリーやＨＤＤ（ハードディスクドライブ）などにより実現できる。
【０１１２】
Ｉ／Ｆ部１４０は、ロボット制御システム１０に対するユーザーからの入力等を行ったり、撮像部２０やロボット３０からの情報を受け付けるためのインターフェースである。ユーザーからの入力等に関しては、スイッチやボタン、キーボード或いはマウス等から構成されてもよい。
【０１１３】
ロボット３０は、アーム３２０及びエンドエフェクター３３０の他に制御部３１０を含む。制御部３１０は、ロボット制御システム１０からの情報を受け付け、ロボット３０の各部（アーム３２０及びエンドエフェクター３３０等）の制御を行う。
【０１１４】
なお、本実施形態のロボット制御システム１０は、更に表示部を含んでもよい。そして、テンプレート画像記憶部１３２に記憶された球面テンプレート画像を、その表示部に表示させてもよい。例えば、図１３に示すように情報処理装置でロボット制御システム１０を構成し、その情報処理装置に表示部を設けてもよい。或は、図１４に示すようにロボット制御システム１０をロボット本体３０と一体に構成し、そのロボットシステムに表示部を設けてもよい。
【０１１５】
このようにすれば、例えばテンプレート生成ツール等により予め生成した球面テンプレート画像をユーザーが表示部に表示させてチェックすることが可能となる。これにより、正しい球面テンプレート画像が生成されているか、或は球面テンプレート画像が正しくテンプレート画像記憶部１３２に格納されているか等を、チェックすることができる。
【０１１６】
ここで、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また本実施形態及び変形例の全ての組み合わせも、本発明の範囲に含まれる。また画像処理装置、ロボット制御システム、ロボット、ロボットシステムの構成・動作・作動方法や、球面写像の処理手法、球面テンプレートマッチングの処理手法、マッチング位置から３次元座標への変換手法、ロボットの制御手法等も、本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【０１１７】
１０  ロボット制御システム、２０  撮像部、３０  ロボット（ロボット本体）、
４０  ワーク、５０  物体、１１０  処理部、１１２  画像処理部、
１１４  物体検出部、１２０  ロボット制御部、１３０  記憶部、
１３２  テンプレート画像記憶部、１４０  Ｉ／Ｆ部、３１０  制御部、
３２０  アーム、３３０  エンドエフェクター、４２０  画像平面、
４２５  球面、４３０  平面、４３５  球面、４４０  光軸、４５０  物体、
４６０，４６５，４７０，４７５，４８０，４８５，４９０，４９５  像、
Ｐ，Ｐ’，Ｐ”  点、ｘ，ｙ，ｚ  座標、θ，θｍ，φ  角度
【図１】
2014238687.tif 000022
【図２】
2014238687.tif 000023
【図３】
2014238687.tif 000024
【図４】
2014238687.tif 000025
【図５】
2014238687.tif 000026
【図６】
2014238687.tif 000027
【図７】
2014238687.tif 000028
【図８】
2014238687.tif 000029
【図９】
2014238687.tif 000030
【図１０】
2014238687.tif 000031
【図１１】
2014238687.tif 000032
【図１２】
2014238687.tif 000033
【図１３】
2014238687.tif 000034
【図１４】
2014238687.tif 000035
【図１５】
2014238687.tif 000036