(57)【要約】【課題】キャリブレーションパターン画像の撮像の手間を簡略化することができるとともに、より広い領域にて高い精度でディストーション補正をすることができる画像処理装置、画像処理方法、及びコンピュータプログラムを提供する。【解決手段】撮像手段でキャリブレーションパターン画像を取得し、取得したキャリブレーションパターン画像に基づいてキャリブレーションを実行してディストーション補正する。撮像手段で撮像することが可能な撮像範囲に配置した特徴点が一定の間隔を有する複数のキャリブレーションパターン画像を取得し、それぞれ特徴点群を抽出する。撮像範囲の互いに異なる領域にてそれぞれ抽出した特徴点群に基づいて、キャリブレーションを実行する。【選択図】図８
2011118553.tif 000002
【特許請求の範囲】
【請求項１】
撮像手段でキャリブレーションパターン画像を取得し、取得したキャリブレーションパターン画像に基づいてキャリブレーションを実行してディストーション補正する画像処理装置であって、
前記撮像手段で撮像することが可能な撮像範囲に配置した第一の特徴点が第一の間隔を有するキャリブレーションパターン画像を取得し、第一の特徴点群を抽出する第一抽出手段と、
前記撮像手段で撮像することが可能な撮像範囲に配置した第二の特徴点が第二の間隔を有するキャリブレーションパターン画像を取得し、第二の特徴点群を抽出する第二抽出手段と
を備え、
前記撮像範囲の互いに異なる領域にて抽出した前記第一の特徴点群及び前記第二の特徴点群に基づいて、キャリブレーションを実行するようにしてあることを特徴とする画像処理装置。
【請求項２】
前記第二の間隔は、前記第一の間隔よりも広くなるようにしてあり、
前記第一抽出手段は、特徴点が疎に写り得る領域にて前記第一の特徴点群を抽出し、前記第二抽出手段は、特徴点が密に写り得る領域にて前記第二の特徴点群を抽出するようにしてあることを特徴とする請求項１記載の画像処理装置。
【請求項３】
複数のキャリブレーションパターン画像の中から一のキャリブレーションパターン画像を基準画像として設定する設定手段と、
前記基準画像を平面視した状態を示す第一の座標系と、前記基準画像を表示する第二の座標系との関係を示す射影変換パラメータを設定する射影変換パラメータ設定手段と、
前記基準画像と前記基準画像以外のキャリブレーションパターン画像との関係を、前記基準画像を基準にした、前記第一の座標系における拡大率を含めたアフィン変換パラメータにて設定するアフィン変換パラメータ設定手段と、
前記撮像手段によるレンズ歪を補正するためのレンズ歪パラメータと該レンズ歪パラメータの関係を設定するレンズ歪パラメータ設定手段と、
前記第一の座標系における前記基準画像に基づいた座標データ、及び前記第二の座標系にて表示されている前記基準画像を含む複数配置の特徴点の座標データに基づいて、前記射影変換パラメータ、前記アフィン変換パラメータ及び前記レンズ歪パラメータを最適化するパラメータ最適化手段と
を備えることを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記射影変換パラメータの概算値を、前記レンズ歪がない状態を前提として算出する射影変換パラメータ算出手段と、
前記アフィン変換パラメータの概算値を、前記レンズ歪がない状態を前提として算出するアフィン変換パラメータ算出手段と
を備え、
前記パラメータ最適化手段は、前記射影変換パラメータの概算値と前記アフィン変換パラメータの概算値とを初期値として、前記射影変換パラメータ、前記アフィン変換パラメータ及び前記レンズ歪パラメータを最適化するようにしてあることを特徴とする請求項３記載の画像処理装置。
【請求項５】
キャリブレーションパターン画像を複数使用するか否かの選択を受け付ける選択受付手段を備えることを特徴とする請求項１乃至４のいずれか一項に記載の画像処理装置。
【請求項６】
キャリブレーションの実行に用いた前記第一の特徴点群及び／又は前記第二の特徴点群を表示する特徴点表示手段を備えることを特徴とする請求項５記載の画像処理装置。
【請求項７】
前記選択受付手段にて選択を受け付けたキャリブレーションパターン画像ごとに、前記撮像手段に対して再度取得する指示の入力を受け付ける取得指示受付手段を備えることを特徴とする請求項５又は６に記載の画像処理装置。
【請求項８】
前記第一の特徴点群及び／又は前記第二の特徴点群を抽出することができる領域を表示する抽出領域表示手段を備えることを特徴とする請求項１乃至７のいずれか一項に記載の画像処理装置。
【請求項９】
撮像手段でキャリブレーションパターン画像を取得し、取得したキャリブレーションパターン画像に基づいてキャリブレーションを実行してディストーション補正する画像処理装置で実行することが可能な画像処理方法であって、
前記撮像手段で撮像することが可能な撮像範囲に配置した第一の特徴点が第一の間隔を有するキャリブレーションパターン画像を取得し、第一の特徴点群を抽出する工程と、
前記撮像手段で撮像することが可能な撮像範囲に配置した第二の特徴点が第二の間隔を有するキャリブレーションパターン画像を取得し、第二の特徴点群を抽出する工程と、
前記撮像範囲の互いに異なる領域にて抽出した前記第一の特徴点群及び前記第二の特徴点群に基づいて、キャリブレーションを実行する工程と
を含むことを特徴とする画像処理方法。
【請求項１０】
撮像手段でキャリブレーションパターン画像を取得し、取得したキャリブレーションパターン画像に基づいてキャリブレーションを実行してディストーション補正する画像処理装置で実行することが可能なコンピュータプログラムであって、
前記画像処理装置を、
前記撮像手段で撮像することが可能な撮像範囲に配置した第一の特徴点が第一の間隔を有するキャリブレーションパターン画像を取得し、第一の特徴点群を抽出する第一抽出手段、
前記撮像手段で撮像することが可能な撮像範囲に配置した第二の特徴点が第二の間隔を有するキャリブレーションパターン画像を取得し、第二の特徴点群を抽出する第二抽出手段、及び
前記撮像範囲の互いに異なる領域にて抽出した前記第一の特徴点群及び前記第二の特徴点群に基づいて、キャリブレーションを実行する手段
として機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像手段で取得したキャリブレーションパターン画像に基づいて、高い精度でディストーション補正することができる画像処理装置、画像処理方法、及びコンピュータプログラムに関する。
【背景技術】
【０００２】
従来、撮像手段で検査対象物を撮像し、撮像された多値画像を用いて検査対象物の検査や欠陥の検出をすることにより検査対象物が良品であるか否かを判定する検査システム、欠陥検出システム等が多々開発されている。しかし、撮像装置で画像を取得する場合、レンズ歪、遠近歪等により画像が歪んでいることが多く、正しくディストーション補正しなければ良品判定等にそのまま使用することができない。
【０００３】
斯かる問題を解決するために、例えば非特許文献１では、一定の規則性を有するキャリブレーションパターンの画像を、傾きを変えて複数取得し、撮像装置のレンズ歪、焦点距離等の内部パラメータ、撮像装置の三次元的な位置、姿勢等の外部パラメータを求める方法が開示されている。このようにすることで、撮像した画像を正しくディストーション補正することができ、より高い精度で良品判定を行うことが可能となる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】チャン．チー（Ｚｈａｎｇ  Ｚ．）、「カメラのキャリブレーションにおける柔軟な新技術（Ａ  ｆｌｅｘｉｂｌｅ  ｎｅｗ  ｔｅｃｈｎｉｑｕｅ  ｆｏｒ  ｃａｍｅｒａ  ｃａｌｉｂｒａｔｉｏｎ．）」、テクニカルリポート  ＭＳＲ−ＴＲ−９８−７１、マイクロソフト研究所、１９９８年
【発明の概要】
【発明が解決しようとする課題】
【０００５】
非特許文献１に開示されている方法では、キャリブレーションパターンの画像を、傾きを変えて複数取得する必要があるので、撮像装置とキャリブレーションパターンとの相対的な傾斜角度を何回も変えて撮像する必要があり、画像の取得が煩雑であるという問題点があった。
【０００６】
また、求めるべきパラメータの数が多く、取得された画像数が少ない場合、全てのパラメータを特定することができないおそれもあり、撮像装置とキャリブレーションパターンとの相対的な傾斜角度が適切ではない場合には、パラメータを正しく求めることができないという問題点もあった。
【０００７】
本発明は上記事情に鑑みてなされたものであり、キャリブレーションパターンの画像の取得の手間を簡略化することができるとともに、より広い領域にて高い精度でディストーション補正をすることができる画像処理装置、画像処理方法、及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために第１発明に係る画像処理装置は、撮像手段でキャリブレーションパターン画像を取得し、取得したキャリブレーションパターン画像に基づいてキャリブレーションを実行してディストーション補正する画像処理装置であって、前記撮像手段で撮像することが可能な撮像範囲に配置した第一の特徴点が第一の間隔を有するキャリブレーションパターン画像を取得し、第一の特徴点群を抽出する第一抽出手段と、前記撮像手段で撮像することが可能な撮像範囲に配置した第二の特徴点が第二の間隔を有するキャリブレーションパターン画像を取得し、第二の特徴点群を抽出する第二抽出手段とを備え、前記撮像範囲の互いに異なる領域にて抽出した前記第一の特徴点群及び前記第二の特徴点群に基づいて、キャリブレーションを実行するようにしてあることを特徴とする。
【０００９】
また、第２発明に係る画像処理装置は、第１発明において、前記第二の間隔は、前記第一の間隔よりも広くなるようにしてあり、前記第一抽出手段は、特徴点が疎に写り得る領域にて前記第一の特徴点群を抽出し、前記第二抽出手段は、特徴点が密に写り得る領域にて前記第二の特徴点群を抽出するようにしてあることを特徴とする。なお、「特徴点が疎に写り得る領域」とは、所定の画素数で表示される表示画面に対して、特徴点が所定間隔よりも狭く写る領域を意味しており、「特徴点が密に写り得る領域」とは、所定の画素数で表示される表示画面に対して、特徴点が所定間隔よりも広く写る領域を意味している。
【００１０】
また、第３発明に係る画像処理装置は、第２発明において、複数のキャリブレーションパターン画像の中から一のキャリブレーションパターン画像を基準画像として設定する設定手段と、前記基準画像を平面視した状態を示す第一の座標系と、前記基準画像を表示する第二の座標系との関係を示す射影変換パラメータを設定する射影変換パラメータ設定手段と、前記基準画像と前記基準画像以外のキャリブレーションパターン画像との関係を、前記基準画像を基準にした、前記第一の座標系における拡大率を含めたアフィン変換パラメータにて設定するアフィン変換パラメータ設定手段と、前記撮像手段によるレンズ歪を補正するためのレンズ歪パラメータと該レンズ歪パラメータの関係を設定するレンズ歪パラメータ設定手段と、前記第一の座標系における前記基準画像に基づいた座標データ、及び前記第二の座標系にて表示されている前記基準画像を含む複数配置の特徴点の座標データに基づいて、前記射影変換パラメータ、前記アフィン変換パラメータ及び前記レンズ歪パラメータを最適化するパラメータ最適化手段とを備えることを特徴とする。
【００１１】
また、第４発明に係る画像処理装置は、第３発明において、前記射影変換パラメータの概算値を、前記レンズ歪がない状態を前提として算出する射影変換パラメータ算出手段と、前記アフィン変換パラメータの概算値を、前記レンズ歪がない状態を前提として算出するアフィン変換パラメータ算出手段とを備え、前記パラメータ最適化手段は、前記射影変換パラメータの概算値と前記アフィン変換パラメータの概算値とを初期値として、前記射影変換パラメータ、前記アフィン変換パラメータ及び前記レンズ歪パラメータを最適化するようにしてあることを特徴とする。
【００１２】
また、第５発明に係る画像処理装置は、第１乃至第４発明のいずれか１つにおいて、キャリブレーションパターン画像を複数使用するか否かの選択を受け付ける選択受付手段を備えることを特徴とする。
【００１３】
また、第６発明に係る画像処理装置は、第５発明において、キャリブレーションの実行に用いた前記第一の特徴点群及び／又は前記第二の特徴点群を表示する特徴点表示手段を備えることを特徴とする。
【００１４】
また、第７発明に係る画像処理装置は、第５又は第６発明において、前記選択受付手段にて選択を受け付けたキャリブレーションパターン画像ごとに、前記撮像手段に対して再度取得する指示の入力を受け付ける取得指示受付手段を備えることを特徴とする。
【００１５】
また、第８発明に係る画像処理装置は、第１乃至第７発明のいずれか１つにおいて、前記第一の特徴点群及び／又は前記第二の特徴点群を抽出することができる領域を表示する抽出領域表示手段を備えることを特徴とする。
【００１６】
次に、上記目的を達成するために第９発明に係る画像処理方法は、撮像手段でキャリブレーションパターン画像を取得し、取得したキャリブレーションパターン画像に基づいてキャリブレーションを実行してディストーション補正する画像処理装置で実行することが可能な画像処理方法であって、前記撮像手段で撮像することが可能な撮像範囲に配置した第一の特徴点が第一の間隔を有するキャリブレーションパターン画像を取得し、第一の特徴点群を抽出する工程と、前記撮像手段で撮像することが可能な撮像範囲に配置した第二の特徴点が第二の間隔を有するキャリブレーションパターン画像を取得し、第二の特徴点群を抽出する工程と、前記撮像範囲の互いに異なる領域にて抽出した前記第一の特徴点群及び前記第二の特徴点群に基づいて、キャリブレーションを実行する工程とを含むことを特徴とする。
【００１７】
次に、上記目的を達成するために第１０発明に係るコンピュータプログラムは、撮像手段でキャリブレーションパターン画像を取得し、取得したキャリブレーションパターン画像に基づいてキャリブレーションを実行してディストーション補正する画像処理装置で実行することが可能なコンピュータプログラムであって、前記画像処理装置を、前記撮像手段で撮像することが可能な撮像範囲に配置した第一の特徴点が第一の間隔を有するキャリブレーションパターン画像を取得し、第一の特徴点群を抽出する第一抽出手段、前記撮像手段で撮像することが可能な撮像範囲に配置した第二の特徴点が第二の間隔を有するキャリブレーションパターン画像を取得し、第二の特徴点群を抽出する第二抽出手段、及び前記撮像範囲の互いに異なる領域にて抽出した前記第一の特徴点群及び前記第二の特徴点群に基づいて、キャリブレーションを実行する手段として機能させることを特徴とする。
【００１８】
第１発明、第９発明及び第１０発明では、撮像手段でキャリブレーションパターン画像を取得し、取得したキャリブレーションパターン画像に基づいてキャリブレーションを実行してディストーション補正する。撮像手段で撮像することが可能な撮像範囲に配置した第一の特徴点が第一の間隔を有するキャリブレーションパターン画像を取得し、第一の特徴点群を抽出する。同様に、撮像手段で撮像することが可能な撮像範囲に配置した第二の特徴点が第二の間隔を有するキャリブレーションパターン画像を取得し、第二の特徴点群を抽出する。撮像範囲の互いに異なる領域にて抽出した第一の特徴点群及び第二の特徴点群に基づいて、キャリブレーションを実行する。特徴点の間隔が異なるキャリブレーションパターン画像に基づいて、それぞれ別個の領域における特徴点群を抽出することができるので、特徴点を抽出することが困難である領域を減少させることができ、より広い領域にてキャリブレーションを実行することができる。
【００１９】
第２発明では、第二の間隔は、第一の間隔よりも広くなるようにしてあり、特徴点が疎に写り得る領域にて第一の特徴点群を抽出し、特徴点が密に写り得る領域にて第二の特徴点群を抽出する。これにより、特徴点が疎に写り得る領域では、特徴点の間隔が狭いキャリブレーションパターン画像を用い、特徴点が密に写り得る領域では、特徴点の間隔が広いキャリブレーションパターン画像を用いることにより、より広い領域にて高い精度でキャリブレーションを実行することが可能となる。
【００２０】
第３発明では、複数のキャリブレーションパターン画像の中から一のキャリブレーションパターン画像を基準画像として設定し、基準画像を平面視した状態を示す第一の座標系と、基準画像を表示する第二の座標系との関係を示す射影変換パラメータを設定する。また、基準画像と基準画像以外のキャリブレーションパターン画像との関係を、基準画像を基準にした、第一の座標系における拡大率を含めたアフィン変換パラメータにて設定し、撮像手段によるレンズ歪を補正するためのレンズ歪パラメータと該レンズ歪パラメータの関係を設定する。第一の座標系における基準画像に基づいた座標データ、及び第二の座標系にて表示されている基準画像を含む複数配置の特徴点の座標データに基づいて、射影変換パラメータ、アフィン変換パラメータ及びレンズ歪パラメータを最適化することにより、座標系変換の過程においてドット落ち等の弊害が生じる可能性がなく、キャリブレーションの信頼性を高め、より高い精度で射影変換パラメータ及びレンズ歪パラメータを求めることが可能となる。
【００２１】
第４発明では、射影変換パラメータの概算値を、レンズ歪がない状態を前提として算出し、アフィン変換パラメータの概算値を、レンズ歪がない状態を前提として算出する。射影変換パラメータの概算値とアフィン変換パラメータの概算値とを初期値として、射影変換パラメータ、アフィン変換パラメータ及びレンズ歪パラメータを最適化することにより、座標系変換の過程において各パラメータが発散して特定することができないおそれを未然に回避することができ、キャリブレーションの信頼性を高め、より高い精度で射影変換パラメータ及びレンズ歪パラメータを求めることが可能となる。
【００２２】
第５発明では、キャリブレーションパターン画像を複数使用するか否かの選択を受け付ける選択受付手段を備えることにより、画像歪の程度に応じてキャリブレーションパターン画像を複数使用するか否かを選択することが可能となる。
【００２３】
第６発明では、キャリブレーションの実行に用いた第一の特徴点群及び／又は第二の特徴点群を表示することにより、どの特徴点群が画像のどの部分で抽出されているのか目視で確認することができ、実行されたキャリブレーションの信頼性を容易に判断することが可能となる。
【００２４】
第７発明では、選択を受け付けたキャリブレーションパターン画像ごとに、撮像手段に対して再度取得する指示の入力を受け付けることができるので、キャリブレーションパターン画像が、画像歪に十分に対応していない場合、例えば特徴点が密（疎）に写り得る領域にも関わらず特徴点の間隔が狭い（広い）キャリブレーションパターン画像である場合であっても、再度特徴点の間隔が広い（狭い）キャリブレーションパターン画像を新たに取得することにより、より広い領域にて高い精度でキャリブレーションを実行することが可能となる。
【００２５】
第８発明では、第一の特徴点群及び／又は第二の特徴点群を抽出することができる領域を表示することにより、どの特徴点群が画像のどの部分で抽出されるのか目視で確認することができ、実行するキャリブレーションの信頼性を高めることが可能となる。
【発明の効果】
【００２６】
本発明によれば、特徴点の間隔が異なるキャリブレーションパターン画像に基づいて、それぞれ別個の領域における特徴点群を抽出することができるので、特徴点を抽出することが困難である領域を減少させることができ、より広い領域にてキャリブレーションを実行することができる。例えば、特徴点が疎に写り得る領域では、特徴点の間隔が狭いキャリブレーションパターン画像を用い、特徴点が密に写り得る領域では、特徴点の間隔が広いキャリブレーションパターン画像を用いることにより、より広い領域にて高い精度でキャリブレーションを実行することが可能となる。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施の形態に係る画像処理装置の構成を模式的に示すブロック図である。
【図２】本発明の実施の形態に係る画像処理装置の一構成例を示す機能ブロック図である。
【図３】特徴点の間隔が同一であるキャリブレーションパターン画像を用いる場合の、特徴点の分布を示す例示図である。
【図４】本発明の実施の形態に係る画像処理装置が取得した複数のキャリブレーションパターン画像の例示図である。
【図５】ワールド座標系から、ピクセル座標系へ射影変換する状態の例示図である。
【図６】ピクセル座標系のキャリブレーションパターン画像における特徴点の座標をワールド座標系へ変換する状態の例示図である。
【図７】基準画像における特徴点のワールド座標系の位置と、図６にて変換された、基準画像以外のキャリブレーションパターン画像における特徴点群のワールド座標系の位置との関係を示す例示図である。
【図８】本発明の実施の形態に係る画像処理装置の画像処理部の主制御部によるキャリブレーションの処理手順を示すフローチャートである。
【図９】本発明の実施の形態に係る画像処理装置のキャリブレーションの実行に必要な情報を設定するキャリブレーション設定画面の例示図である。
【図１０】本発明の実施の形態に係る画像処理装置のキャリブレーションパターン画像データを取得する画像登録画面の例示図である。
【図１１】本発明の実施の形態に係る画像処理装置のキャリブレーション実行結果を示すキャリブレーション設定画面の例示図である。
【図１２】本発明の実施の形態に係る画像処理装置のキャリブレーションパターン画像データの画像登録画面の例示図である。
【図１３】本発明の実施の形態に係る画像処理装置の拡大率を設定することが可能なキャリブレーション設定画面の例示図である。
【図１４】本発明の実施の形態に係る画像処理装置の画像処理部の主制御部によるキャリブレーション実行後の画像処理手順を示すフローチャートである。
【図１５】ディストーション補正後の画像の例示図である。
【発明を実施するための形態】
【００２８】
以下、本発明の実施の形態に係る画像処理装置について、図面を参照して説明する。なお、参照する図面を通じて、同一又は同様の構成又は機能を有する要素については、同一又は同様の符号を付して、詳細な説明を省略する。
【００２９】
図１は、本発明の実施の形態に係る画像処理装置の構成を模式的に示すブロック図である。図１に示すように本実施の形態に係る画像処理装置２は、キャリブレーションパターン画像を取得する撮像手段であるカメラ１及び取得したキャリブレーションパターン画像又は各種の画像変換処理を実行した後のキャリブレーションパターン画像を表示する表示装置３に接続されている。
【００３０】
画像処理装置２は、少なくともＣＰＵ（中央演算装置）、ＬＳＩ等で構成された主制御部２１、メモリ２２、記憶手段２３、入力手段２４、出力手段２５、通信手段２６、補助記憶手段２７及び上述したハードウェアを接続する内部バス２８で構成されている。主制御部２１は、内部バス２８を介して画像処理装置２の上述したようなハードウェア各部と接続されており、上述したハードウェア各部の動作を制御するとともに、記憶手段２３に記憶されているコンピュータプログラム５に従って、種々のソフトウェア的機能を実行する。メモリ２２は、ＳＲＡＭ、ＳＤＲＡＭ等の揮発性メモリで構成され、コンピュータプログラム５の実行時にロードモジュールが展開され、コンピュータプログラム５の実行時に発生する一時的なデータ等を記憶する。
【００３１】
記憶手段２３は、内蔵される固定型記憶装置（ハードディスク、フラッシュメモリ）、ＲＯＭ等で構成されている。記憶手段２３に記憶されているコンピュータプログラム５は、プログラム及びデータ等の情報を記録したＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ等の可搬型記録媒体４から、補助記憶手段２７によりダウンロードされ、実行時には記憶手段２３からメモリ２２へ展開して実行される。もちろん、通信手段２６を介して外部のコンピュータからダウンロードされたコンピュータプログラムであっても良い。
【００３２】
記憶手段２３は、取得したキャリブレーションパターン画像の画像データを記憶しておくキャリブレーションパターン画像データ記憶部２３１と、キャリブレーションの実行により算出される射影変換パラメータ、レンズ歪パラメータ、ユーザから入力を受け付けた所望の補正後の画像を生成するためのアフィン変換パラメータ等の、各種パラメータを記憶するパラメータ記憶部２３２とを備えている。キャリブレーションパターン画像データ記憶部２３１には、一定の規則に従って配置されている特徴点を抽出することができるキャリブレーションパターン画像の画像データを記憶する。キャリブレーションパターン画像の画像データは、撮像面に対するカメラ１の位置、角度等を変えることなく、キャリブレーションパターンを配置する位置だけを変更することにより、複数撮像されて記憶される。パラメータ記憶部２３２には、ディストーション補正を行うために必要なパラメータが記憶されており、補正後の画像を生成する場合に参照される。設定時に行う、キャリブレーションの実行、及び所望の補正後の画像を生成するためのパラメータ調整処理によって、これらのパラメータが算出され、設定され、記憶される。例えば検査の実行時には、これらのパラメータを参照することで、補正後の画像の生成処理（ディストーション補正）を実行する。
【００３３】
通信手段２６は内部バス２８に接続されており、インターネット、ＬＡＮ、ＷＡＮ等の外部のネットワークに接続されることにより、外部のコンピュータ等とデータ送受信を行うことが可能となっている。すなわち、上述した記憶手段２３は、画像処理装置２に内蔵される構成に限定されるものではなく、通信手段２６を介して接続されている外部のサーバコンピュータ等に設置されているハードディスク等の外部記録媒体であっても良い。
【００３４】
入力手段２４は、キーボード及びマウス等のデータ入力媒体の他、液晶パネル等と一体となったタッチパネル等の入力情報を取得する装置全般を含む広い概念である。出力手段２５は、レーザプリンタ、ドットプリンタ等の印刷装置等を意味する。
【００３５】
カメラ（撮像手段）１は、ＣＣＤ撮像素子を備えたＣＣＤカメラ等である。表示装置３は、ＣＲＴ、液晶パネル等を有する表示装置である。カメラ１、表示装置３等は、画像処理装置２と一体化されていても良いし、分離されていても良い。外部制御機器６は、通信手段２６を介して接続されている制御機器であり、例えばＰＬＣ（プログラマブルロジックコントローラ）等が相当する。ここで外部制御機器６とは、画像処理装置２による画像処理結果に応じて後処理を実行する機器全般を意味している。
【００３６】
図２は、本発明の実施の形態に係る画像処理装置２の一構成例を示す機能ブロック図である。図２において、本実施の形態に係る画像処理装置２は、カメラ１と、画像処理装置２の処理を実行する画像処理部７と、記憶手段２３と、入力受付・画像表示部８とから構成される。
【００３７】
カメラ１は、例えばディジタルカメラであり、一定間隔に配置されている特徴点を有するキャリブレーションパターン、例えばチェスボードパターン、ドットパターン等を撮像し、多値画像データとして取得して画像処理部７へ出力する。
【００３８】
画像処理部７は、配置数設定手段７１と、座標系設定手段７２と、基準配置設定手段７３と、第一抽出手段７４と、第二抽出手段７５と、射影変換パラメータ算出手段７６と、アフィン変換パラメータ算出手段７７と、レンズ歪パラメータ設定手段７８と、パラメータ最適化手段７９と、補正後画像生成手段８０と、後処理手段８１とを備えている。また、画像処理部７は、図１に示す主制御部２１、メモリ２２、及び外部との各種インタフェース等を含んで構成されており、配置数設定手段７１、座標系設定手段７２、基準配置設定手段７３、第一抽出手段７４、第二抽出手段７５、射影変換パラメータ算出手段７６、アフィン変換パラメータ算出手段７７、レンズ歪パラメータ設定手段７８、パラメータ最適化手段７９、補正後画像生成手段８０、及び後処理手段８１の処理動作を制御する。
【００３９】
記憶手段２３は、画像メモリや処理に必要な各種パラメータを記憶する手段として機能し、カメラ１により取得したキャリブレーションパターン画像の画像データだけでなく、キャリブレーションの実行により算出される射影変換パラメータ、レンズ歪パラメータ、ユーザから入力を受け付けた所望の補正後の画像を生成するためのアフィン変換パラメータ等の各種パラメータを随時記憶する。なお、画像については、画像データとしてではなく、画素ごとの輝度値データとして記憶しても良い。
【００４０】
入力受付・画像表示部８は、コンピュータ用のモニタ等の表示装置３、マウス、キーボード等の入力手段２４で構成される。入力受付部は、例えばダイアログボックスとして表示装置３の表示画面上に設けられ、配置数設定受付手段８２と、座標系設定受付手段８３と、基準配置設定受付手段８４と、選択受付手段８５と、取得指示受付手段８６と、後処理設定受付手段８９とを含む。画像表示部８７は、表示装置３の表示画面上の入力受付部に隣接して設けられ、補正前画像表示手段９１と、補正後画像表示手段９２とを含む。ユーザは、画像表示部８７にて、取得したキャリブレーションパターン画像、補正後の画像等を、表示装置３の表示画面上に表示させることができる。また、特徴点表示手段８８により、抽出した特徴点群、特徴点群を抽出した領域等を重ね合わせて表示することができる。
【００４１】
次に、画像処理部７の各構成について説明する。
【００４２】
配置数設定手段７１は、キャリブレーションを実行するためのキャリブレーションパターン画像を、カメラ１の撮像可能範囲内に配置する配置数を設定する。配置数の入力は、入力受付・画像表示部８の配置数設定受付手段８２にて受け付ける。本実施の形態では、配置数が‘１’、すなわちキャリブレーションパターン画像が１つであっても良いし、特徴点の間隔が同じ、又は異なる複数のキャリブレーションパターン画像を配置しても良い。
【００４３】
座標系設定手段７２は、キャリブレーションパターン画像を平面視した状態を示す座標系であるワールド座標系（第一の座標系）を設定する。ワールド座標系の設定に関する情報の入力は、入力受付・画像表示部８の座標系設定受付手段８３にて受け付ける。すなわち、基準画像のワールド座標系における座標位置、座標間隔等の情報の入力を受け付ける。
【００４４】
基準配置設定手段（設定手段）７３は、配置する複数のキャリブレーションパターン画像の中から、基準となるキャリブレーションパターン画像を基準画像として設定する。基準となるキャリブレーションパターン画像の設定は、入力受付・画像表示部８の基準配置設定受付手段８４にて受け付ける。
【００４５】
第一抽出手段７４及び第二抽出手段７５は、一定の間隔にて特徴点が配置されているキャリブレーションパターン画像の画像データから特徴点群を抽出する。図３は、特徴点の間隔が同一であるキャリブレーションパターン画像を用いる場合の、特徴点の分布を示す例示図である。
【００４６】
図３（ａ）は、特徴点の間隔が比較的狭い場合の例を、図３（ｂ）は、特徴点の間隔が比較的広い場合の例を、それぞれ示している。図３では、チェスボードパターンのキャリブレーションパターンを例示しており、特徴点３０、３０、・・・を黒四角形の頂点としている。図３（ａ）に示すように特徴点の間隔が比較的狭い場合、高い精度でキャリブレーションを実行することができるものの、特徴点を正しく抽出することができる領域、すなわち特徴点が密に写り得る領域が境界線３１より下の部分だけとなり、狭い領域でしかキャリブレーションを実行することができない。
【００４７】
一方、図３（ｂ）に示すように特徴点３０、３０、・・・の間隔が比較的広い場合、高い精度でキャリブレーションを実行することはできないものの、特徴点３０、３０、・・・を正しく抽出することができる領域が境界線３２まで引き上げられ、図３（ａ）と比べてキャリブレーションを実行することができる領域、すなわち特徴点が疎に写り得る領域は広くなる。したがって、画像歪の程度に応じて両者を組み合わせることで、より広い領域において高い精度でキャリブレーションを実行することができる。
【００４８】
図４は、本発明の実施の形態に係る画像処理装置２が取得した複数のキャリブレーションパターン画像の例示図である。図４の例では、図４（ｂ）は、図４（ａ）と特徴点３０、３０、・・・の間隔が同一であり、配置を変更してあるキャリブレーションパターン画像である。また、図４（ｃ）は、図４（ａ）よりも特徴点３０、３０、・・・の間隔が広く、しかも配置も変更してあるキャリブレーションパターン画像である。
【００４９】
図２に戻って、射影変換パラメータ算出手段７６は、基準画像を平面視した状態を示すワールド座標系（第一の座標系）から、基準画像を表示する表示画面上でのピクセル座標系（第二の座標系）へ射影変換する射影変換パラメータを算出する。図５は、ワールド座標系から、ピクセル座標系へ射影変換する状態の例示図である。
【００５０】
図５では、図４（ａ）に示すキャリブレーションパターン画像をピクセル座標系で表示されている基準画像として用い、ワールド座標系に設定されている平面視した基準画像から、ピクセル座標系で表示されている基準画像へ射影変換する射影変換行列Ｈを求めている。具体的には、変換元であるワールド座標系の座標データ（ｘｉ、ｙｉ）（理想データ）と、変換先であるピクセル座標系の座標データ（ｘｉ’、ｙｉ’）（実測データ）との間の対応関係である（式１）を具備する射影変換パラメータａ〜ｈを求める。なお、ｉは、各キャリブレーションパターン画像における、それぞれの特徴点３０、３０、・・・を示している。ここで「理想データ」とは、画像から実測した「実測データ」ではなく、ワールド座標における座標位置、座標間隔に基づいて数値的に算定した値を意味している。
【００５１】
【数１】
2011118553.tif 000003
【００５２】
射影変換パラメータａ〜ｈを求めるためには、（式１）の分母を両辺に乗算した状態で、左辺と右辺との差分の二乗の総和が最小になるよう、最小二乗法を用いる。（式１）の分母を両辺に乗算した状態で、左辺と右辺との差分の二乗の総和は、（式２）のように表される。
【００５３】
【数２】
2011118553.tif 000004
【００５４】
（式２）に、変換元であるワールド座標系の座標データ（ｘｉ、ｙｉ）、及び変換先であるピクセル座標系の座標データ（ｘｉ’、ｙｉ’）を代入して整理することにより、（式３）を得る。
【００５５】
【数３】
2011118553.tif 000005
【００５６】
（式３）を最小化する射影変換パラメータａ〜ｈは、行列Ａの転置行列をＡT として、（式４）で求めることができる。なお、ここではレンズ歪を考慮しない場合の、射影変換パラメータの概算値を求めることになる。射影変換パラメータの概算値は、後のパラメータ最適化手段７９により最適値を求めるための初期値、及び以下に記述するアフィン変換パラメータの概算値を求めるための参照パラメータとして用いる。
【００５７】
【数４】
2011118553.tif 000006
【００５８】
図２に戻って、アフィン変換パラメータ算出手段７７は、基準画像以外のキャリブレーションパターン画像における特徴点の座標データを、算出した射影変換パラメータの逆変換パラメータを用いてワールド座標系へと変換し、ワールド座標系における基準画像に基づいた座標データから、ワールド座標系に変換した後の各配置の特徴点の座標データへアフィン変換するアフィン変換パラメータを配置ごとに算出する。すなわち、まず射影変換パラメータａ〜ｈを用いた射影変換行列Ｈの逆行列を算出して、基準画像以外のキャリブレーションパターン画像、例えば図４の例では図４（ｂ）、図４（ｃ）の画像の特徴点３０、３０、・・・の座標位置を、ワールド座標系へと変換する。
【００５９】
その後、変換された座標データに基づいて、基準画像と基準画像以外の各配置との対応関係を、ワールド座標系（平面視した基準画像を基準にした座標系）におけるアフィン変換パラメータＳ、Ｔ、θ、αにて表す。なお、アフィン変換パラメータＳ、Ｔは、それぞれ基準画像を基準としたワールド座標系のＸ軸方向の平行移動量、Ｙ軸方向の平行移動量を、θは回転量を、αは拡大率を、それぞれ示している。
【００６０】
図６は、ピクセル座標系のキャリブレーションパターン画像における特徴点の座標データをワールド座標系へ変換する状態の例示図である。図６（ａ）は、図４（ｂ）に示すキャリブレーションパターン画像の特徴点をワールド座標系へ変換する状態の例示図であり、図６（ｂ）は、図４（ｃ）に示すキャリブレーションパターン画像の特徴点３０、３０、・・・をワールド座標系へ変換する状態の例示図である。
【００６１】
図６（ａ）では、図４（ｂ）に示すピクセル座標系での表示画像６１の特徴点の座標データを、ワールド座標系６２へ変換した状態を示している。同様に図６（ｂ）では、図４（ｃ）に示すピクセル座標系での表示画像６３の特徴点の座標データを、ワールド座標系６４へ変換した状態を示している。このように、特徴点の間隔がピクセル座標系にて異なることから、ワールド座標系における特徴点の間隔は、図６（ｂ）の方が広くなっている。
【００６２】
図７は、基準画像における特徴点のワールド座標系の位置と、図６にて変換された、基準画像以外のキャリブレーションパターン画像における特徴点群のワールド座標系の位置との関係を示す例示図である。図７では、特徴点群を点列ではなく、座標の目盛りを示す正方形群の各頂点として示している。したがって、特徴点は特徴点群に含まれる各正方形の頂点に位置している。
【００６３】
図７では、平面視した基準画像の左上端の特徴点を原点とし、基準画像の特徴点の間隔を１目盛で示したワールド座標系において、基準画像の特徴点の位置を示す特徴点群１７１と、図４（ｂ）に相当するキャリブレーションパターン画像の特徴点群をワールド座標系へ変換した特徴点群１７２と、図４（ｃ）に相当するキャリブレーションパターン画像の特徴点群をワールド座標系へ変換した特徴点群１７３とを同一スケール上に示している。このように、他の特徴点群１７２、１７３は、基準画像の特徴点群１７１を基準として、Ｘ軸方向及びＹ軸方向へ平行移動するとともに、回転させて拡大又は縮小することで求めることができる。すなわち、他の特徴点群１７２、１７３は、基準画像の特徴点群１７１を基準として、アフィン変換パラメータである、Ｘ軸方向の平行移動量Ｓ、Ｙ軸方向の平行移動量Ｔ、回転量θ、拡大率αで、それぞれ表すことができる。
【００６４】
すなわち、アフィン変換パラメータである、Ｘ軸方向の平行移動量Ｓ、Ｙ軸方向の平行移動量Ｔ、回転量θ、拡大率αを用いて、変換元の座標データ（ｘｉ、ｙｉ）（理想データ）と、変換先の座標データ（ｘｉ’、ｙｉ’）（実測データをワールド座標系に変換したデータ）との関係を示すと、（式５）となる。
【００６５】
【数５】
2011118553.tif 000007
【００６６】
これらのアフィン変換パラメータを求めるには、（式５）の左辺と右辺との差分の二乗の総和が最小になるよう非線形最小二乗法を適用すれば良い。具体的には（式６）が最小となるアフィン変換パラメータ、Ｘ軸方向の平行移動量Ｓ、Ｙ軸方向の平行移動量Ｔ、回転量θ、拡大率αを求めれば良い。なお、ここではレンズ歪を考慮しない場合の、アフィン変換パラメータの概算値を求めることになる。求めたアフィン変換パラメータの概算値は、後のパラメータ最適化手段７９により最適値を求めるための初期値として用いる。
【００６７】
【数６】
2011118553.tif 000008
【００６８】
なお、拡大率αを‘１’に固定した場合、同一サイズのキャリブレーションパターン画像を複数用いてキャリブレーションを実行することができる。拡大率αを‘１’以外の値を許容することにより、サイズの異なる複数のキャリブレーションパターン画像を用いてキャリブレーションを実行することができる。拡大率αに‘１’以外の値を用いる場合、あらかじめ特徴点の間隔が既知であるときには、拡大率αを適切な値（例えば‘２’、‘１／３’等）に固定することで、より厳密なキャリブレーションを実行することが可能となる。
【００６９】
図２に戻って、レンズ歪パラメータ設定手段７８は、レンズ歪を補正するためのレンズ歪パラメータと該レンズ歪パラメータの関係を設定する。レンズ歪パラメータの関係は特に限定されるものではないが、変換元の座標データ（ｘｉ、ｙｉ）と、変換先の座標データ（ｘｉ’、ｙｉ’）との関係を、例えば（式７）のように、低次のレンズ歪パラメータＫ1 、高次のレンズ歪パラメータＫ2 、レンズ歪の中心のＸ座標ｕ、Ｙ座標ｖの４つを用いて設定することができる。なお、後のパラメータ最適化手段７９により最適値を求めるための初期値（概算値）は、レンズ歪の中心を画像の中心、その他の高次・低次のレンズ歪パラメータを０（ゼロ）としておけば良い。
【００７０】
【数７】
2011118553.tif 000009
【００７１】
パラメータ最適化手段７９は、ワールド座標系（平面視した基準画像を基準にした座標系）における基準画像に基づいた座標データ、及び配置ごとに抽出されたピクセル座標系における特徴点の座標データに基づいて、あらかじめ概算値を算出してある射影変換パラメータａ〜ｈ、アフィン変換パラメータＳ、Ｔ、θ、α、及びレンズ歪パラメータＫ1 、Ｋ2 、ｕ、ｖを最適化する。
【００７２】
すなわち、変換元であるワールド座標系における基準画像に基づいた座標データ（ｘｉ、ｙｉ）（理想データ）と、変換先となるピクセル座標系における基準画像を含む全配置のキャリブレーションパターン画像ｎ（ｎは１からＮまでの自然数）における特徴点の座標データ（Ｘni’、Ｙni’）（実測データ）との関係を、それぞれ変換関数Ｆ、Ｇで表すものとし、両者の差分の二乗の総和が最小になるよう各変換パラメータを一括して算出すれば良い。具体的には、まずワールド座標系における基準画像に基づいた座標データ（ｘｉ、ｙｉ）をアフィン変換により（ｘni、ｙni）に変換する。変換式は（式８）に表すようになる。
【００７３】
【数８】
2011118553.tif 000010
【００７４】
次に、アフィン変換により変換された座標データ（ｘni、ｙni）を、レンズ歪がない状態のピクセル座標系の座標データ（Ｘni、Ｙni）に（式９）により変換する。
【００７５】
【数９】
2011118553.tif 000011
【００７６】
さらに、レンズ歪パラメータの関係を示す（式７）を用いることで、レンズ歪を考慮した場合のピクセル座標系の座標データ（Ｘni’ 、Ｙni’ ）に（式１０）により変換する。
【００７７】
【数１０】
2011118553.tif 000012
【００７８】
（式８）から（式１０）をまとめることで、変換元であるワールド座標系における基準画像に基づいた座標データ（ｘｉ、ｙｉ）と、変換先となる基準画像を含む全配置のキャリブレーションパターン画像ｎ（ｎは１からＮまでの自然数）における特徴点の座標データ（Ｘni’、Ｙni’）との関係を、（式１１）に示す変換関数Ｆ、Ｇでそれぞれ表すことができる。
【００７９】
【数１１】
2011118553.tif 000013
【００８０】
パラメータを最適化するためには、非線形最小二乗法（例えばレーベンバーグ・マーカート法）により、（式１２）が最小となる射影変換パラメータａ〜ｈ、アフィン変換パラメータＳ、Ｔ、θ、α、及びレンズ歪パラメータＫ1 、Ｋ2 、ｕ、ｖを算出すれば良い。
【００８１】
【数１２】
2011118553.tif 000014
【００８２】
なお、各配置間での違いを示すのはアフィン変換パラメータのみであり、その他の射影変換パラメータ、レンズ歪パラメータは共通化することができる。これは、撮像する平面とカメラ１との位置関係が不変であり、キャリブレーションパターンの配置のみを変えた画像を撮像して取得するためである。
【００８３】
補正後画像生成手段８０は、最適化した射影変換パラメータ、及びレンズ歪パラメータと、補正後の画像を生成するためにユーザからの入力を受け付けるアフィン変換パラメータとを用いて、ディストーション補正した画像を生成する。入力受付・画像表示部８の画像表示部８７は、生成した補正後の画像を補正後画像表示手段９２にて表示装置３に表示することができる。
【００８４】
なお、アフィン変換パラメータの入力は、入力受付・画像表示部８にて受け付ける。本発明の実施の形態では、カメラ１の位置及び角度を固定しているので、ワールド座標系における基準画像を基準にした、平行移動量Ｘ、Ｙ、回転量θ及び拡大率αをアフィン変換パラメータとしてユーザの入力を受け付けることにより、所望の位置に、所望の大きさ、所望の角度を有する補正後の画像を生成するよう設定することができる。
【００８５】
以下、補正後画像生成手段８０の具体的な処理方法を記述する。まず、ユーザから入力を受け付けたアフィン変換パラメータを合成したアフィン変換行列を算出する。次に、算出したアフィン変換行列の逆行列を算出し、算出したアフィン変換行列の逆行列と、パラメータ最適化手段７９により取得した射影変換パラメータ（射影変換行列）とを合成した、合成射影変換行列を算出する。算出する合成射影変換行列は、補正後の画像における座標データを、補正前の画像における座標データ（ただし、レンズ歪がない状態）に変換するための行列となる。
【００８６】
算出した合成射影変換行列と、パラメータ最適化手段７９で取得したレンズ歪パラメータとを用いることで、所望の位置、大きさ、角度を有する補正後の画像における各画素の座標データに対応した、補正前の画像における座標データを求めることができ、補正後の画像を生成することができる。すなわち、まず合成した射影変換行列を用いた（式１）に補正後の画像の各画素の座標データを代入して座標変換する。次に、変換した座標データを、パラメータ最適化手段７９で取得したレンズ歪パラメータを用いた（式７）に代入して座標変換することで、対応した補正前の画像における座標データを取得する。
【００８７】
取得した補正前の画像における座標データに対応する画素値を用いて、最寄りの画素の画素値をそのまま補正後の画素の画素値とすることもできるし、より高精度な補正後の画像を生成するために、近傍の画素の画素値を補間して適正な画素値を求めることもできる。補間方法には、例えば最寄りの４画素の線形補間を行うバイリニア補間を用いることもできるが、当該補間方法に限定されるものではない。このように、補正後の各画素における画素値を順次求めていくことにより、補正後の画像を生成することができる。
【００８８】
設定時には、キャリブレーションの実行に加え、どのような補正後の画像を生成するかを実際の補正後の画像を視認しながら調整し、調整したアフィン変換パラメータを、パラメータ最適化手段７９によって最適化された射影変換パラメータ、レンズ歪パラメータに対応付けて、パラメータ記憶部２３２に記憶する。一方、検査の実行時には、記憶してある調整済みのアフィン変換パラメータ、及び最適化された射影変換パラメータ、レンズ歪パラメータを参照することで、最新の入力画像に対して繰り返し補正後の画像生成処理（ディストーション補正）を実行し、補正した画像に対して所望の後処理を行うことで、信頼性の高い検査を実行することが可能となる。
【００８９】
後処理手段８１は、入力受付・画像表示部８の後処理設定受付手段８９にて、ユーザから受け付けた後処理の選択に応じて、キャリブレーションを実行してディストーション補正した画像を後処理する。後処理は、例えばＯＣＲ、パターンサーチ等、ユーザが実行を所望する検査、画像処理である。後処理の結果は、外部制御機器６へ出力され、外部制御機器６により外部の機器等の動作を制御する。
【００９０】
図８は、本発明の実施の形態に係る画像処理装置２の画像処理部７の主制御部２１によるキャリブレーションの処理手順を示すフローチャートである。本発明の実施の形態に係る画像処理方法の各処理手順は、画像処理部７の内部に格納された本発明に係るコンピュータプログラム５に従って実行される。
【００９１】
図８において、画像処理部７の主制御部２１は、キャリブレーションを実行するためのキャリブレーションパターン画像を、カメラ１の撮像可能範囲内に配置する配置数を設定する（ステップＳ８０１）。配置数の入力は、入力受付・画像表示部８の配置数設定受付手段８２にて受け付ける。本実施の形態では、配置数が‘１’、すなわちキャリブレーションパターン画像が１つであっても良いし、特徴点の間隔が異なる複数のキャリブレーションパターン画像を配置しても良い。
【００９２】
主制御部２１は、設定した配置数分のキャリブレーションパターン画像を取得したか否かを判断し（ステップＳ８０２）、主制御部２１が、設定した配置数分のキャリブレーションパターン画像を取得していないと判断した場合（ステップＳ８０２：ＮＯ）、主制御部２１は、カメラ１によりキャリブレーションパターン画像を取得する（ステップＳ８０３）。主制御部２１が、設定した配置数分のキャリブレーションパターン画像を取得したと判断した場合（ステップＳ８０２：ＹＥＳ）、主制御部２１は、所定の領域（第一の領域）にて特徴点（第一の特徴点）を抽出し（ステップＳ８０４）、所定の領域とは異なる領域（第二の領域）にて特徴点（第二の特徴点）を抽出する（ステップＳ８０５）。
【００９３】
キャリブレーションパターン画像は、一定の間隔にて特徴点３０、３０、・・・が配置されている。特徴点３０、３０、・・・の間隔が比較的狭い場合、高い精度でキャリブレーションを実行することができるものの、特徴点３０、３０、・・・を正しく抽出することができる領域が比較的狭くなる。一方、特徴点３０、３０、・・・の間隔が比較的広い場合、高い精度でキャリブレーションを実行することはできないものの、特徴点３０、３０、・・・を正しく抽出することができる領域が比較的広くなる。したがって、画像歪の程度に応じて、異なる領域にて特徴点３０、３０、・・・を抽出することにより、より広い領域において高い精度でキャリブレーションを実行することができる。
【００９４】
主制御部２１は、配置する複数のキャリブレーションパターン画像の中から、基準となるキャリブレーションパターン画像を基準画像として設定する（ステップＳ８０６）。基準となるキャリブレーションパターン画像の設定は、入力受付・画像表示部８の基準配置設定受付手段８４にて受け付ける。
【００９５】
主制御部２１は、基準画像を平面視した状態を示すワールド座標系から、基準画像へ射影変換する射影変換パラメータ（概算値）を算出し（ステップＳ８０７）、基準画像以外のキャリブレーションパターン画像における特徴点の座標データを、算出した射影変換パラメータの逆変換パラメータを用いてワールド座標系へと変換し、基準画像と基準画像以外の各配置との対応関係を、ワールド座標系（平面視した基準画像を基準にした座標系）における基準画像を基準にした、ワールド座標系における拡大率を含めたアフィン変換パラメータ（概算値）として算出する（ステップＳ８０８）。
【００９６】
主制御部２１は、レンズ歪を補正するためのレンズ歪パラメータと該レンズ歪パラメータの関係を設定（概算値はレンズ歪の中心を画像の中心、その他の高次・低次のレンズ歪パラメータを‘０（ゼロ）’とする）し（ステップＳ８０９）、ワールド座標系（平面視した基準画像を基準にした座標系）における基準画像に基づいた座標データ、及び配置ごとに抽出されたピクセル座標系における特徴点の座標データに基づいて、あらかじめ概算値を算出してある射影変換パラメータａ〜ｈ、アフィン変換パラメータＳ、Ｔ、θ、α、及びレンズ歪パラメータＫ1 、Ｋ2 、ｕ、ｖを最適化する（ステップＳ８１０）。各変換パラメータは、非線形最小二乗法等により最適化する。なお、１枚のみの画像に対してキャリブレーションを実行する場合には、上述したアフィン変換パラメータのＳ、Ｔ、θの値を‘０（ゼロ）’に、αの値を‘１’に固定して処理すれば良い。
【００９７】
主制御部２１は、最適化した各変換パラメータを用いた場合の誤差が所定値以下であるか否かを判断する（ステップＳ８１１）。主制御部２１が、誤差が所定値より大きいと判断した場合（ステップＳ８１１：ＮＯ）、主制御部２１は、処理をステップＳ８０１へ戻して上述した処理を繰り返す。主制御部２１が、誤差が所定値以下であると判断した場合（ステップＳ８１１：ＹＥＳ）、主制御部２１は、記憶手段２３に各変換パラメータを記憶し（ステップＳ８１２）、以後の処理に使用する。具体的には、射影変換パラメータａ〜ｈ、及びレンズ歪パラメータＫ1 、Ｋ2 、ｕ、ｖを記憶しておき、所望の補正後の画像を生成するためのアフィン変換パラメータＳ0、Ｔ0、θ0、α0として、所望の値の入力を受け付ける。所望の値の入力を受け付けた後は、受け付けたアフィン変換パラメータも記憶しておく。
【００９８】
図９は、本発明の実施の形態に係る画像処理装置２のキャリブレーションの実行に必要な情報を設定するキャリブレーション設定画面の例示図である。図９の例では、キャリブレーションパターン画像表示領域１９１に、キャリブレーションパターン画像の画像データとして記憶されている画像を表示するとともに、抽出された特徴点を重畳して表示することができる。
【００９９】
パターンタイプ設定領域１９２では、例えばプルダウンメニュー等により、チェスボードタイプ、又はドットタイプのいずれかのキャリブレーションパターンの選択を受け付けることができる。ティーチング画像枚数設定領域１９３では、キャリブレーションの実行に用いるキャリブレーションパターン画像の枚数の指定を受け付けることができる（選択受付手段８５）。マルチサイズ対応指定領域１９４では、キャリブレーションパターン画像において特徴点の間隔の異なる画像を用いるか否かの指定を受け付けることができる。
【０１００】
キャリブレーションパターン画像設定領域１９５にて、キャリブレーションの実行に用いるキャリブレーションパターン画像データの確認・登録・更新等を行う（取得指示受付手段８６を含む）。すなわち、登録番号の入力を受け付け、登録番号に対応した現時点で登録されている画像と、抽出された特徴点群とが画像表示領域１９１に表示される。未登録、又は不適当である場合には、新規に取得、又は再度取得するよう、画像登録ボタンを選択する（取得指示受付手段８６）ことによりポップアップ表示される画像登録画面にて指示を受け付ける。
【０１０１】
図１０は、本発明の実施の形態に係る画像処理装置２のキャリブレーションパターン画像を取得する画像登録画面の例示図である。図１０の例では、カメラ１により取得した最新の画像がキャリブレーションパターン画像表示領域１９１に表示される。「登録」ボタンを選択することで、現在表示されている画像が、キャリブレーションに用いる画像データとしてキャリブレーションパターン画像データ記憶部２３１に記憶される。
【０１０２】
なお、前述のティーチング画像枚数設定領域１９３にて、キャリブレーションの実行に用いるキャリブレーションパターン画像の枚数を変更する指定、例えば１枚から３枚に増やす指定を受け付けた場合、キャリブレーションパターン画像設定領域１９５にて、登録番号の入力として未取得の登録番号の指定を受け付け、「画像登録」ボタンを選択することで図１０に示す画像登録画面を起動することにより、新たなキャリブレーションパターン画像を取得することができる。
【０１０３】
図９に戻って、キャリブレーション実行指示ボタン１９６を選択することで、キャリブレーションを実行する。キャリブレーション結果表示領域１９７にて、キャリブレーションの実行結果として、用いた特徴点の数（有効点数）、平均誤差、最大誤差、ステータスが表示される。
【０１０４】
図１１は、本発明の実施の形態に係る画像処理装置２のキャリブレーション実行結果を示すキャリブレーション設定画面の例示図である。図１１の例では、ステータスが「成功」であり、キャリブレーションが正常に完了したことを示している。
【０１０５】
なお、キャリブレーションの実行に用いる特徴点が、キャリブレーションパターン画像のどこに配置されているのかを表示画面にて確認することができることが好ましい。さらに、図２に示す特徴点表示手段８８として、画像登録画面にて新たな画像を登録しようとする場合、それまでに登録されているキャリブレーションパターン画像に対して抽出された特徴点群を重畳表示させるようにすることが好ましい。図１２は、本発明の実施の形態に係る画像処理装置２のキャリブレーションパターン画像データの画像登録画面の例示図である。
【０１０６】
図１２に示すように、既に記憶されているキャリブレーションパターン画像から抽出された特徴点群３０ａ、３０ｂが表示態様、例えば色を変えて表示される。図１２の例では、表示画面の下半分をカバーしているものの、上半分がまだ十分にカバーされていないと判断することができ、次に取得するキャリブレーションパターン画像の配置を、特徴点群の未抽出領域３０ｃと重ね合わせることにより、例えば表示画面全域にわたってキャリブレーションを実行することができる。
【０１０７】
また、表示態様に応じて、どのキャリブレーションパターン画像が対応しているのかを、特徴点対応表示領域１２１にて表示しても良い。このようにすることで、どの特徴点群がどのキャリブレーションパターン画像に対応しているのか目視で確認しながら、次のキャリブレーションパターン画像の配置を設定することができ、効率的である。
【０１０８】
さらに、特徴点群を抽出することができる領域である抽出領域を表示しても良い。抽出領域表示手段として、キャリブレーションパターン画像ごとに、特徴点群を抽出することができる領域の境界を示す座標位置を、画像データに対応付けて記憶しておく。これにより、キャリブレーションパターン画像の配置を変更することにより、特徴点群を抽出することができる領域が重複しているか否かを目視で確認することができ、抽出領域が重なり合うことなく、可能な限り表示画面全体を覆うように配置することにより、より高い精度でキャリブレーションを実行することができる。
【０１０９】
また、アフィン変換パラメータのうち、拡大率αは、あらかじめサイズを特定することができる場合においては、表示画面上から容易に設定することができることが好ましい。図１３は、本発明の実施の形態に係る画像処理装置２の拡大率αを設定することが可能なキャリブレーション設定画面の例示図である。
【０１１０】
図１３に示すように、パターンサイズの倍率入力領域１３１を設けてあり、基準画像に対する拡大率αの値を入力することにより、任意の倍率のキャリブレーションパターン画像を設定することが可能となっている。なお、拡大率αの値を入力することに限定されるものではなく、例えば、パターンサイズの実寸値を入力することで、内部的に拡大率αを算出して使用しても良い。
【０１１１】
図１４は、本発明の実施の形態に係る画像処理装置２の画像処理部７の主制御部２１によるキャリブレーション実行後の画像処理手順を示すフローチャートである。本発明の実施の形態に係る画像処理方法の各処理手順は、画像処理部７の内部に格納された本発明に係るコンピュータプログラム５に従って実行される。
【０１１２】
図１４において、画像処理部７の主制御部２１は、キャリブレーションパターン画像を取得し（ステップＳ１４０１）、アフィン変換パラメータの設定を受け付ける（ステップＳ１４０２）。取得するキャリブレーションパターン画像は、キャリブレーション実行時と同一の画像であっても良いし、異なる画像であっても良い。
【０１１３】
主制御部２１は、設定を受け付けたアフィン変換パラメータ、上述したキャリブレーションの実行により最適化して記憶してある射影変換パラメータ及びレンズ歪パラメータに基づいて、ディストーション補正を実行し（ステップＳ１４０３）、ディストーション補正が適切であるか否かを判断する（ステップＳ１４０４）。主制御部２１が、ディストーション補正が適切ではないと判断した場合（ステップＳ１４０４：ＮＯ）、主制御部２１は、再度上述したキャリブレーションを実行する指示を受け付けたか否かを判断する（ステップＳ１４０５）。
【０１１４】
主制御部２１が、キャリブレーションを実行する指示を受け付けていないと判断した場合（ステップＳ１４０５：ＮＯ）、主制御部２１は、処理をステップＳ１４０１へ戻して、上述した処理を繰り返す。主制御部２１が、キャリブレーションを実行する指示を受け付けたと判断した場合（ステップＳ１４０５：ＹＥＳ）、主制御部２１は、図９に示す設定の調整後に、上述した図８に示すキャリブレーションを実行する。
【０１１５】
主制御部２１が、ディストーション補正が適切であると判断した場合（ステップＳ１４０４：ＹＥＳ）、主制御部２１は、設定を受け付けたアフィン変換パラメータを、キャリブレーションにより最適化して記憶してある射影変換パラメータ及びレンズ歪パラメータに対応付けて記憶手段２３に記憶する（ステップＳ１４０６）。
【０１１６】
図１５は、ディストーション補正後の画像の例示図である。図１５（ａ）、（ｂ）、（ｃ）は、それぞれ図４（ａ）、（ｂ）、（ｃ）に対応する補正後の画像を示している。
【０１１７】
図１５（ａ）では、図４（ａ）を基準画像として用い、基準画像が直立するようにアフィン変換パラメータを設定しているため、基準画像はＸ軸、Ｙ軸に沿って配置されている。基準画像が直立するようにアフィン変換パラメータを設定しているため、他のキャリブレーションパターン画像は、図１５（ｂ）、図１５（ｃ）に示すように、基準画像から配置を変えた分、パターンの配置がずれた状態で表示されていることが分かる。
【０１１８】
なお、図１５には、キャリブレーションパターン画像を補正した画像を例示しているが、実際の使用時にはキャリブレーションパターン画像ではなく、最新の入力画像に対して補正が繰り返し行われ、補正後の画像をリアルタイムに表示する。これにより、例えば検査対象物を斜めから撮像した場合であっても、真上から撮像した画像として常時補正されて表示することができるので、後処理での検査等の信頼性を高めることができる。
【０１１９】
また、本実施の形態では、ディストーション補正を行う方法として画像自体を直接補正する方法を記載しているが、画像自体は補正することなく、補正をしていない画像に対して所望の処理を行った後に、計測結果（座標データ等）を補正するようにしても良い。画像自体は補正することなく、計測結果のみを数値的に補正する方法の場合、画像の補正に要する時間を省略して高速にディストーション補正を行うことが可能となる。ただし、歪んだ状態の画像に対して直接計測処理を行う必要があるため、比較的歪の程度が小さい場合や歪の影響を受けにくい計測処理の場合に効果的である。
【０１２０】
以上のように本実施の形態によれば、特徴点の間隔が異なるキャリブレーションパターン画像に基づいて、互いに異なる領域における特徴点群を抽出することができるので、特徴点を抽出することが困難である領域を減少させることができ、より広い領域にてキャリブレーションを実行することができる。例えば、特徴点が疎に写り得る領域では、特徴点の間隔が狭いキャリブレーションパターン画像を用い、特徴点が密に写り得る領域では、特徴点の間隔が広いキャリブレーションパターン画像を用いることにより、より広い領域にて高い精度でキャリブレーションを実行することが可能となる。
【０１２１】
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨の範囲内であれば多種の変更、改良等が可能である。
【符号の説明】
【０１２２】
１  カメラ（撮像手段）
２  画像処理装置
３  表示装置
４  可搬型記録媒体
５  コンピュータプログラム
６  外部制御機器
７  画像処理部
８  入力受付・画像表示部
２１  主制御部
２２  メモリ
２３  記憶手段
２４  入力手段
２５  出力手段
２６  通信手段
２７  補助記憶手段
２８  内部バス
【図１】
2011118553.tif 000015
【図２】
2011118553.tif 000016
【図７】
2011118553.tif 000017
【図８】
2011118553.tif 000018
【図１４】
2011118553.tif 000019
【図３】
2011118553.tif 000020
【図４】
2011118553.tif 000021
【図５】
2011118553.tif 000022
【図６】
2011118553.tif 000023
【図９】
2011118553.tif 000024
【図１０】
2011118553.tif 000025
【図１１】
2011118553.tif 000026
【図１２】
2011118553.tif 000027
【図１３】
2011118553.tif 000028
【図１５】
2011118553.tif 000029