(57)【特許請求の範囲】
【請求項１】
コンピュータに、
同一形状の複数の物体が撮影された撮影画像を取得し、
前記撮影画像に含まれる前記複数の物体それぞれに対する複数の基準点の位置を受け付け、前記複数の基準点の間隔に基づいて、前記撮影画像の各画素における縮尺を算出し、
前記撮影画像の各画素における縮尺を基にして、各画素における縮尺が一定となる補正画像を生成し、
前記補正画像に対してテンプレートマッチングを実行することで対象物を検出する
処理を実行させることを特徴とするテンプレートマッチングプログラム。
【請求項２】
前記撮影画像の各画素における縮尺を算出する処理は、前記複数の基準点の間隔を基にして、前記撮影画像の前記物体の位置に対応する局所的な縮尺を算出し、前記局所的な縮尺を用いて補間を行うことで、前記撮影画像の各画素における縮尺を算出することを特徴とする請求項１に記載のテンプレートマッチングプログラム。
【請求項３】
前記撮影画像の各画素における縮尺を算出する処理は、前記複数の基準点の間隔を基にして、前記撮影画像の局所的な点を前記補正画像の局所的な点に変換する線形変換パラメータを算出し、前記線形変換パラメータを基にして、前記撮影画像の各画素における縮尺を算出することを特徴とする請求項１に記載のテンプレートマッチングプログラム。
【請求項４】
前記撮影画像の各画素における縮尺を算出する処理は、前記複数の基準点の間隔を基にして、前記撮影画像の前記物体の位置に対応する局所的な縮尺を算出し、前記局所的な縮尺とある点の縮尺との関係を示し、かつ、未知の係数を持つ関数を微分した関数を基にして、前記未知の係数を特定することで、前記撮影画像の各画素における縮尺を算出することを特徴とする請求項１に記載のテンプレートマッチングプログラム。
【請求項５】
前記撮影画像の各画素における縮尺を算出する処理は、前記複数の基準点の位置を基にして、前記補正画像の局所的な点を前記撮影画像の局所的な点に変換する第１関数を特定し、未知の係数を持つ第２関数を微分した関数が前記第１関数に一致するように、前記未知の係数を特定し、特定した未知の係数を設定した第２関数に基づき、前記撮影画像の各画素における縮尺を算出することを特徴とする請求項１に記載のテンプレートマッチングプログラム。
【請求項６】
コンピュータが実行するテンプレートマッチング方法であって、
同一形状の複数の物体が撮影された撮影画像を取得し、
前記撮影画像に含まれる前記複数の物体それぞれに対する複数の基準点の位置を受け付け、前記複数の基準点の間隔に基づいて、前記撮影画像の各画素における縮尺を算出し、
前記撮影画像の各画素における縮尺を基にして、各画素における縮尺が一定となる補正画像を生成し、
前記補正画像に対してテンプレートマッチングを実行することで対象物を検出する
処理を実行することを特徴とするテンプレートマッチング方法。
【請求項７】
同一形状の複数の物体が撮影された撮影画像を取得する取得部と、
前記撮影画像に含まれる前記複数の物体それぞれに対する複数の基準点の位置を受け付け、前記複数の基準点の間隔に基づいて、前記撮影画像の各画素における縮尺を算出し、前記撮影画像の各画素における縮尺を基にして、各画素における縮尺が一定となる補正画像を生成する補正画像生成部と、
前記補正画像に対してテンプレートマッチングを実行することで対象物を検出する検出部と
を有することを特徴とするテンプレートマッチング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テンプレートマッチングプログラム等に関する。
【背景技術】
【０００２】
従来、対象物を撮影して、撮影された画像から人手を介さずに対象物の検出を行う技術が広く使われている．例えば、道路を走行する車を撮影した画像からの車番の検出が挙げられる。検出結果を利用することで、監視員への車番表示や文字認識手段と組み合わせた車番の自動認識が可能となる。また、人を検出することで、建物への侵入者検知も行うことができる。これらの用途では、検出処理はリアルタイムに行われるため、処理の高速性が重要となる。
【０００３】
対象物の検出を行う基本的な手法として、テンプレートマッチングがある。テンプレートマッチングにおいては、あらかじめ対象物を表すテンプレートを用意しておき、撮影した画像上でそのテンプレートを走査してテンプレートとの類似性が高い箇所を対象物と判定する。外光等の影響を受けにくくするため、画像そのものではなく、画像から特徴を抽出してマッチングを行うことが多い。特徴抽出には例えばエッジ抽出等のフィルタが用いられる。また、対象物は画像内で様々な大きさで写るので、例えば、テンプレートや画像の縮尺を様々に変更して繰り返しマッチングが行われる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１９９５７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術では、テンプレートや画像の縮尺を様々に変えてマッチングを行うため、処理量が増えるという問題がある。
【０００６】
１つの側面では、本発明は、テンプレートや画像の縮尺を様々に変えることなくマッチングを行うことができるテンプレートマッチングプログラム、テンプレートマッチング方法およびテンプレートマッチング装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の案では、テンプレートマッチングプログラムは、コンピュータに下記の処理を実行させる。コンピュータは、同一形状の複数の物体が撮影された撮影画像を取得する。コンピュータは、撮影画像に含まれる複数の物体に対する基準点の位置を受け付け、物体の基準点の間隔に基づいて、撮影画像の各画素における縮尺を算出する。コンピュータは、撮影画像の各画素における縮尺を基にして、撮影画像を、各画素における縮尺が一定となる補正画像に変換する。コンピュータは、補正画像に対してテンプレートマッチングを実行することで対象物を検出する。
【発明の効果】
【０００８】
テンプレートや画像の縮尺を様々に変えることなくマッチングを行うことができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本実施例１にかかるシステムの構成を示す図である。
【図２】図２は、本実施例１にかかる画像処理装置の構成を示す機能ブロック図である。
【図３】図３は、撮影画像の一例を示す図（１）である。
【図４】図４は、撮影画像の一例を示す図（２）である。
【図５】図５は、本実施例１にかかる基準点の位置を説明するための図である。
【図６】図６は、本実施例１にかかる座標値テーブルのデータ構造の一例を示す図である。
【図７】図７は、本実施例１にかかる縮尺テーブルの一例を示す図である。
【図８】図８は、各画素の縮尺の算出例を示す図である。
【図９】図９は、本実施例１にかかるデータ加算処理を説明するための図（１）である。
【図１０】図１０は、本実施例１にかかるデータ加算処理を説明するための図（２）である。
【図１１】図１１は、本実施例１にかかるデータ加算処理を説明するための図（３）である。
【図１２】図１２は、本実施例１にかかる補正パラメータのデータ構造の一例を示す図である。
【図１３】図１３は、補正画像の一例を示す図である。
【図１４】図１４は、検出結果の一例を示す図である。
【図１５】図１５は、校正時の画像処理装置の処理手順を示すフローチャートである。
【図１６】図１６は、検出時の画像処理装置の処理手順を示すフローチャートである。
【図１７】図１７は、本実施例１にかかる画像処理装置の効果を説明するための図である。
【図１８】図１８は、本実施例２にかかる画像処理装置の構成を示す機能ブロック図である。
【図１９】図１９は、本実施例２にかかる基準点位置を説明するための図である。
【図２０】図２０は、本実施例２にかかる座標値テーブルのデータ構造の一例を示す図である。
【図２１】図２１は、各画素の線形変換パラメータの算出例を示す図である。
【図２２】図２２は、本実施例２にかかるデータ加算処理を説明するための図である。
【図２３】図２３は、本実施例３にかかる画像処理装置の構成を示す機能ブロック図である。
【図２４】図２４は、本実施例４にかかる画像処理装置の構成を示す機能ブロック図である。
【図２５】図２５は、本実施例４にかかる補正パラメータのデータ構造の一例を示す図である。
【図２６】図２６は、画像処理プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本願の開示するテンプレートマッチングプログラム、テンプレートマッチング方法およびテンプレートマッチング装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１１】
図１は、本実施例１にかかるシステムの構成を示す図である。図１に示すように、このシステムは、カメラ５０および画像処理装置１００を有する。画像処理装置１００は、テンプレートマッチング装置の一例である。
【００１２】
カメラ５０は、例えば、建物の天井に設置され、広角レンズによって撮影範囲の画像を撮影する装置である。例えば、カメラ５０は、防犯カメラに対応するが、これに限定されるものではない。カメラ５０は、撮影した画像の情報を、画像処理装置１００に送信する。以下の説明において、カメラ５０によって撮影された画像の情報を適宜、撮影画像と表記する。
【００１３】
画像処理装置１００は、テンプレートマッチングを実行して、撮影画像から対象物を検出する装置である。例えば、画像処理装置１００は、対象物を検出した場合には、警報等を出力しても良い。
【００１４】
ここで、カメラ５０が撮影した撮影画像は、広角レンズで撮影されているため、同じ対象物であっても、例えば、撮影画像の上側よりも、撮影画像の下側で対象物が大きくなる場合がある。このため、画像処理装置１００は、予め撮影画像の画素毎にそこに対象物が写るときの縮尺を調べておき、各位置での対象物の大きさの違いを打ち消すように、撮影画像を拡大補正してからテンプレートマッチングを実行する。例えば、画像処理装置１００は、画像の各画素での補正すべき縮尺を読み込み、読み込んだ縮尺が一定となるように、撮影画像を補正することで補正画像を生成し、補正画像から特徴点を抽出してテンプレートマッチングを実行する。
【００１５】
本システムに関して、校正時の処理と検出時の処理を実行する。まず、校正時の処理について説明する。まず、作業員は多数の校正物体を建物の様々な場所に置く。建物天井に設置されたカメラ５０が、校正物体の画像を撮影する。
【００１６】
画像処理装置１００は、カメラ５０から取得した撮影画像を、ディスプレイ（図示せず）に表示する。かかる撮影画像には、複数の校正物体が含まれる。作業員は、表示された校正物体上の定められた２つの基準点をマウス（図示せず）の操作によって指示する。画像処理装置１００は、作業員によって指示された基準点を読み込む。画像処理装置１００は、指示された基準点に基づき、撮影画像の各画素での補正すべき縮尺を算出する。画像処理装置１００は、撮影画像全体を補正する補正パラメータを決定し、補正パラメータを保存する。
【００１７】
次に、検出時の処理について説明する。建物天井に設置されたカメラ５０は、例えば、人を含む建物内の画像を撮影する。画像処理装置１００は、校正時の処理で保存しておいた補正パラメータに基づいて撮影画像全体を補正することで、補正画像を生成する。画像処理装置１００は、補正画像から特徴を抽出し、内部に保持したテンプレートを用いてテンプレートマッチングを行い人の位置を検出する。画像処理装置１００は、検出結果を出力する。
【００１８】
次に、画像処理装置１００の構成の一例について説明する。図２は、本実施例１にかかる画像処理装置の構成を示す機能ブロック図である。図２に示すように、画像処理装置１００は、カメラ５０に接続される。画像処理装置１００は、取得部１１０、校正物体表示部１２０、校正情報入力部１３０、局所変換算出部１４０、大域変換決定部１５０、補正パラメータ記憶部１６０を有する。画像処理装置１００は、補正画像生成部１７０、テンプレートマッチング実行部１８０、検出結果出力部１９０を有する。
【００１９】
カメラ５０は、図１に示したカメラ５０に対応するものである。例えば、カメラ５０は、ＣＭＯＳ（Complementary  MOS）カメラまたはＣＣＤ（Charge-Coupled  Device）カメラであることが好ましい。カメラ５０の撮影結果は、撮影画像として表現される。
【００２０】
撮影画像は、多数の画素から構成された２次元の配列であり、各画素は光の強度に応じた値（画素値）を持つ。カラー画像の場合には各画素は例えばR、G、Bに応じた３つの値を持つ。各画素は、その座標値で特定される。座標値は、例えば左上端の画素を（０，０）とし、画像右側ほど第１成分が大きく、画像下側ほど第２成分が大きくなると定める。画素の座標値は離散的な値を取り、例えば非負の整数値で表される。
【００２１】
図３および図４は、撮影画像の一例を示す図である。図３に示す撮影画像１０は、校正時の処理で、カメラ５０によって撮影された画像である。例えば、図３に示すように、撮影画像１０には、複数の校正物体１０ａ〜１０ｔが含まれる。校正物体１０ａ〜１０ｔは、同一形状であるが、広角レンズで撮影されているため、上側の校正物体よりも下側の校正物体の方が大きく写っている。
【００２２】
図４に示す撮影画像２０は、検出時処理で、カメラ５０によって撮影された画像である。例えば、図４に示すように、撮影画像２０には、複数の人２０ａ〜２０ｄが含まれる。例えば、図３および図４に示す撮影画像１０，２０のサイズは、６４０×４８０である。
【００２３】
図２の説明に戻る。取得部１１０は、カメラ５０から撮影画像を取得する処理部である。取得部１１０は、校正時の処理で撮影された撮影画像を、校正物体表示部１２０に出力する。取得部１１０は、検出時の処理で撮影された撮影画像を、補正画像生成部１７０に出力する。
【００２４】
校正物体表示部１２０は、校正時の処理で撮影された撮影画像をディスプレイ等に表示する処理部である。例えば、校正時の処理で撮影された撮影画像は、図３に示す撮影画像１０である。校正物体表示部１２０は、校正物体１０ａ〜１０ｔを見やすくなるように、撮影画像の明るさを変える等の処理を実行しても良い。
【００２５】
作業員は、ディスプレイに表示された撮影画像１０を参照し、画像処理装置１００に接続されたマウス等の入力装置を操作して、校正物体毎に定まった２つの基準点を指定する。図５は、本実施例１にかかる基準点の位置を説明するための図である。図５では、校正物体の一例として、校正物体１０ａを示す。基準点は、例えば、校正物体１０ａの左上１ａと、校正物体１０ａの右上１ｂとする。以下の説明では、適宜、校正物体の左上の基準点を、１番目の基準点と表記し、右上の基準点を２番目の基準点と表記する。
【００２６】
校正情報入力部１３０は、校正物体毎に作業員に指定された１番目の基準点と、２番目の基準点の座標値を読み込み、座標値テーブルを生成する処理部である。図６は、本実施例１にかかる座標値テーブルのデータ構造の一例を示す図である。図６に示すように、この座標値テーブル１３０ａは、校正物体番号と、１番目の基準点の座標と、２番目の基準点の座標とを対応付ける。校正物体番号は、校正物体を一意に識別する番号である。校正情報入力部１３０は、座標値テーブル１３０ａを、局所変換算出部１４０に出力する。
【００２７】
局所変換算出部１４０は、座標値テーブル１３０ａを基にして、撮影画像上の局所的な縮尺を算出する処理部である。ここで、局所的な縮尺は、撮影画像上の校正物体が存在する位置の縮尺である。例えば、局所変換算出部１４０は、下記の処理を実行する。
【００２８】
局所変換算出部１４０は、着目する基準点を、座標値テーブル１３０ａの先頭とすることで、初期化を行う。局所変換算出部１４０は、１番目の基準点と２番目の基準点との距離で所定値を割ることで、１番目の基準点の位置における縮尺を算出する。局所変換算出部１４０は、着目する基準点を、座標値テーブル１３０ａの一つ下に移動し、縮尺を算出する処理を繰り返し実行する。局所変換算出部１４０は、座標値テーブル１３０ａの一番下の基準点に対する縮尺を算出した場合には、処理を終了する。
【００２９】
局所変換算出部１４０は、縮尺の算出結果を縮尺テーブルに登録する。図７は、本実施例１にかかる縮尺テーブルの一例を示す図である。図７に示すように、縮尺テーブル１４０ａは、点の座標と、縮尺とを対応付ける。点の座標は、１番目の基準点の座標に対応する。局所変換算出部１４０は、縮尺テーブル１４０ａを、大域変換決定部１５０に出力する。
【００３０】
ここで、局所変換算出部１４０は、点の距離として、例えば、ユークリッド距離を用いる。ユークリッド距離は、第１成分の差の２乗と第２成分の差の２乗の和の平方根で定義される。また、上記の所定値としては、例えば校正物体を標準的な位置、向きに置いたときの基準点間の距離を用いる。
【００３１】
大域変換決定部１５０は、縮尺テーブル１４０ａを基にして、撮影画像を補正画像に変換するための補正パラメータを生成する処理部である。大域変換決定部１５０は、パラメータを、補正パラメータ記憶部１６０に格納する。
【００３２】
大域変換決定部１５０は、例えば、データ補間処理、データ加算処理、逆変換算出処理を順に実行することで、補正パラメータを生成する。
【００３３】
大域変換決定部１５０が実行するデータ補間処理について説明する。大域変換決定部１５０は、縮尺テーブル１４０ａに登録された局所的な縮尺を用いて、未知の縮尺を補間することで、撮影画像の全画素に対応する縮尺を算出する。例えば、大域変換決定部１５０は、式（１）に基づいて、撮影画像の画素（ｕ，ｖ）における縮尺ｓ（ｕ，ｖ）を算出する。式（１）において、作業員に指定された１番目の基準点を（ｐｉ，０，ｑｉ，０）とする。また、１番目の基準点（ｐｉ，０，ｑｉ，０）に対応する縮尺をｓｉとする。ｉ＝１，・・・，ｎは、校正物体の番号である。ｎは、校正物体の総数を表す。
【００３４】
【数１】
0006582618.tif 000002
【００３５】
式（１）において、ｄｉｓｔは、２点間の距離を表す。ｗ（ｕ，ｖ）は、重みを正規化したものであり、式（２）によって定義される。
【００３６】
【数２】
0006582618.tif 000003
【００３７】
大域変換決定部１５０は、式（１）、式（２）を用いて、撮影画像の各画素（ｕ，ｖ）の縮尺を算出する。図８は、各画素の縮尺の算出例を示す図である。例えば、図８では、画素３０ａ〜３０ｆを示す。原点の画素を３０ａとする。画素３０ａの縮尺を０．８とし、画素３０ｂの縮尺を０．７とし、画素３０ｃの縮尺を０．６とする。画素３０ｄの縮尺を０．８とし、画素３０ｅの縮尺を０．７とし、画素３０ｆの縮尺を０．６とする。
【００３８】
続いて、大域変換決定部１５０が実行するデータ加算処理について説明する。図９、図１０、図１１は、本実施例１にかかるデータ加算処理を説明するための図である。大域変換決定部１５０は、撮影画像の原点と、補正画像の原点とを決めて、撮影画像の原点と、補正画像の原点とを対応させる。例えば、図９に示すように、撮影画像の原点を撮影画像上の画素３０ａとし、補正画像の原点を補正画像上の画素４０ａとすると、大域変換決定部１５０は、画素３０ａと画素４０ａとを対応させる。
【００３９】
続いて、大域変換決定部１５０は、原点における縮尺だけはなして、隣接する点を対応させる。例えば、図１０に示すように、撮影画像の画素３０ａから１離れて隣接する画素を画素３０ｂとし、画素３０ａの縮尺を「０．８」とする。また、図９で説明したように、画素３０ａは、画素４０ａに対応付けられているものとする。この場合には、大域変換決定部１５０は、画素３０ｂに対応する点を、画素４０ａから「０．８」離れた点４０ｂと対応付ける。すなわち、撮影画像上の座標（１，０）の画素３０ｂは、補正画像上の座標（０．８，０）の点４０ｂに対応する。
【００４０】
また、大域変換決定部１５０は、画素に対応する縮尺を加算する上記の処理を繰り返し実行することで、順番に点（画素）の対応を求める。これにより、撮影画像の各画素に対して、その画素が対応する補正画像の点の座標値が定まる。ただし、補正画像の点の座標値は、必ずしも整数になるとは限らない。
【００４１】
図１１に、撮影画像上の画素と、この画素に対応付けた補正画像の座標値との関係を示す。例えば、撮影画像の画素３０ａに対応する補正画像の点の座標値は（０，０）となる。撮影画像の画素３０ｂに対応する補正画像の点の座標値は（０．８，０）となる。撮影画像の画素３０ｃに対応する補正画像の点の座標値は（１．５，０）となる。撮影画像の画素３０ｄに対応する補正画像の点の座標値は（０，０．８）となる。撮影画像の画素３０ｅに対応する補正画像の点の座標値は（０．８，０．７）となる。撮影画像の画素３０ｆに対応する補正画像の点の座標値は（１．５，０．６）となる。
【００４２】
例えば、画素３０ｃに対応する補正画像の座標値は、ｘ座標について、画素３０ａの縮尺「０．８」と、画素３０ｂの縮尺「０．７」を加算した値「１．５」となる。また、画素３０ｄに対応する補正画像の座標値は、ｙ座標について、画素３０ａの縮尺「０．８」を加算した値「０．８」となる。
【００４３】
続いて、大域変換決定部１５０が実行する逆変換算出処理について説明する。上記のデータ加算処理では、撮影画像の画素に対して、その画素が対応する補正画像の点の座標値を求めた。これに対して、逆変換算出処理では、大域変換決定部１５０は、補正画像の各画素（ｘ，ｙ）に対して、その画素が対応する撮影画像の点の座標値（ｕ，ｖ）を算出する。これは、補正画像を生成する場合に、この対応関係を用いるためである。
【００４４】
大域変換決定部１５０は、補正画像の画素（ｘ，ｙ）に対応する、撮影画像の点の座標値（ｕ（ｘ，ｙ），ｖ（ｘ，ｙ））を、式（３）、式（４）に基づいて算出する。式（３）、（４）について、（ｕｉ，ｊ，ｖｉ，ｊ）は、撮影画像の各画素を示す。ｘ（ｕｉ，ｊ，ｖｉ，ｊ），ｙ（ｕｉ，ｊ，ｖｉ，ｊ）は、撮影画像の画素（ｕｉ，ｊ，ｖｉ，ｊ）に対応する補正画像の点の座標値を表す。ｗ（ｘ，ｙ）は重みの正規化を表し、式（５）によって定義される。
【００４５】
【数３】
0006582618.tif 000004
【００４６】
【数４】
0006582618.tif 000005
【００４７】
【数５】
0006582618.tif 000006
【００４８】
大域変換決定部１５０は、式（３）〜式（４）の計算を、補正画像の全ての画素（ｘ，ｙ）について実行し、実行した結果を補正パラメータとして生成する。
【００４９】
図１２は、補正パラメータのデータ構造の一例を示す図である。図１２に示すように、補正パラメータ１６０ａは、補正画像の画素の座標値と、撮影画像の点の座標値とを有する。例えば、補正画像の画素の座標値（０，０）に対応する、撮影画像の点の座標値は、（ｕ０，０，ｖ０，０）となることが示される。
【００５０】
図２の説明に戻る。補正パラメータ記憶部１６０は、補正パラメータを記憶する記憶部である。
【００５１】
補正画像生成部１７０は、撮影画像と補正パラメータ１６０ａとを基にして、補正画像を生成する処理部である。補正画像生成部１７０は、補正パラメータ１６０ａに示される補正画像の画素の座標値に、撮影画像の座標値の点（画素）を移動させていくことで、補正画像を生成する。例えば、補正画像生成部１７０は、以下の処理を実行する。
【００５２】
補正画像生成部１７０は、注目画素を補正画像の左上に設定し、補正画像を生成する２次元配列を用意することで、初期化を行う。補正画像生成部１７０は、補正パラメータを読み込み、補正パラメータから、注目画素に対応する撮影画像の点の座標値を求める。補正画像生成部１７０は、求めた座標値に最も近い画素の画素値を補正画像の画素値として２次元配列に書き込む。補正画像生成部１７０は、注目画素の移動を行う。補正画像生成部１７０は、注目画像を１つ右に移動させ、右端の場合には、１段下の左端に移動し、右下の場合には終了する。補正画像生成部１７０は、再び、補正パラメータの読み込みを行い、上記処理を繰り返し実行する。
【００５３】
補正画像生成部１７０は、画素値を計算する場合に、上記の例では、最も近い画素の画素値をそのまま用いたが、複数個の画素の画素値を距離で重み付けして平均した値を用いても良い。例えば、図４に示した撮影画像２０を基にして、補正画像生成部１７０が、補正画像を生成すると、図１３に示す補正画像２５が生成される。図１３は、補正画像の一例を示す図である。補正画像生成部１７０は、補正画像を、テンプレートマッチング実行部１８０に出力する。
【００５４】
なお、本願では主に対象物の写り方が定まっている固定カメラでの撮影を想定しているが、ズーム等の機能を持つカメラであっても、ズーム倍率に応じて補正パラメータを切り替えることで本願が適用可能となる。
【００５５】
テンプレートマッチング実行部１８０は、補正画像から特徴を抽出し、テンプレートを走査して対象物を検出する処理部である。テンプレートマッチング実行部１８０は、マッチング結果を、検出結果出力部１９０に出力する。例えば、テンプレートマッチング実行部１８０は、補正画像から特徴を抽出する場合に、フィルタを用いる。
【００５６】
本願で特徴抽出としてフィルタを用いる理由は以下の通りである。フィルタは、どの画素でも同じ演算方法で特徴を抽出する。したがって，補正画像全体に適用しても一部分の画像に適用しても同じ特徴が抽出される。一方、フィルタでない一般の特徴抽出では、画素の位置によって異なる演算が行われる。このため、対象物の候補となる部分画像を切り出して特徴抽出するように特徴が設計されている場合には，補正画像全体で一括して特徴抽出を行うことができない。
【００５７】
検出結果出力部１９０は、マッチング結果を基にして、人の人数と位置とを出力する処理部である。検出結果出力部１９０は、人の位置として、例えば、補正画像上での人のテンプレートの中心座標を用いても良い。図１４は、検出結果の一例を示す図である。例えば、検出結果には、通し番号と、検出された座標値とが含まれる。通し番号は、検出された人を識別する番号である。検出された座標値は、補正画像上での人のテンプレートの中心座標に対応する。
【００５８】
次に、本実施例１にかかる画像処理装置１００の処理手順の一例について説明する。図１５は、校正時の画像処理装置の処理手順を示すフローチャートである。図１５に示すように、画像処理装置１００の取得部１１０は、校正物体を撮影した撮影画像を取得し（ステップＳ１０１）、画像処理装置１００の校正物体表示部１２０は、撮影画像を表示する（ステップＳ１０２）。
【００５９】
画像処理装置１００の校正情報入力部１３０は、基準点を読み込む（ステップＳ１０３）。画像処理装置１００の局所変換算出部１４０および大域変換決定部１５０は、補正する縮尺を算出し（ステップＳ１０４）、大域変換決定部１５０は、補正パラメータ１６０ａを決定する（ステップＳ１０５）。大域変換決定部１５０は、補正パラメータ１６０ａを、補正パラメータ記憶部１６０に保存する（ステップＳ１０６）。
【００６０】
図１６は、検出時の画像処理装置の処理手順を示すフローチャートである。図１６に示すように、画像処理装置１００の取得部１１０は、撮影画像を取得する（ステップＳ２０１）。画像処理装置１００の補正画像生成部１７０は、補正パラメータ１６０ａに基づいて、撮影画像を補正することで、補正画像を生成する（ステップＳ２０２）。
【００６１】
画像処理装置１００のテンプレートマッチング実行部１８０は、補正画像に対してテンプレートマッチングを実行する（ステップＳ２０３）。画像処理装置１００の検出結果出力部１９０は、テンプレートマッチングの結果を出力する（ステップＳ２０４）。
【００６２】
次に、本実施例にかかる画像処理装置１００の効果について説明する。画像処理装置１００は、撮影画像に含まれる複数の構成物体に対する基準点の位置を受け付け、校正物体の基準点の間隔を基づいて、撮影画像の各画素における縮尺を算出する。画像処理装置１００は、各画素の縮尺が一定となるように、撮影画像を補正することで補正画像を生成し、補正画像から特徴点を抽出してテンプレートマッチングを実行する。かかる処理を実行することで、同一の対象物の大きさが位置によらず均一となるため、テンプレートや画像の縮尺を様々に変えてマッチングを行わなくても良くなり、処理量を削減することができる。
【００６３】
ここで、汎用性のある従来技術として、撮影画像の縮尺を変えて特徴抽出を何度も行う場合と比較して、本実施例１にかかる画像処理装置１００の処理が高速であることについて説明する。図１７は、本実施例１にかかる画像処理装置の効果を説明するための図である。
【００６４】
従来技術では、一つの画素に対して、縮尺を変えて特徴を何度も抽出するため、処理量が多くなる。図１７に示す例では、テンプレートと同じ縮尺に揃えて処理を行うべく、下記の処理を行う。従来技術は、撮影画像５の部分画像５ａを１．１倍に拡大して、補正部分画像６ａを生成し、補正部分画像６ａから特徴を抽出した特徴抽出画像７ａを生成する。また、従来技術は、撮影画像５の部分画像５ｂを１．３倍に拡大して、補正部分画像６ｂを生成し、補正部分画像６ｂから特徴を抽出した特徴抽出画像７ｂを生成する。そうすると、ある画素８に対して特徴抽出が２回行われることになる。
【００６５】
従来技術における必要な処理量は、１画素あたりの特徴抽出の処理量＊補正部分画像の画素数＊繰り返し数と見積もられる。例えば、１画素あたりの特徴抽出の処理量が１００，補正部分画像の画素数が１００＊１００、繰り返し数が１０００２の場合、処理量は、１００＊１００２＊１０００２＝１０１２となり、膨大な値になる。これは、単位処理を１ピコ秒できる高速計算機であっても全処理で１秒かかるため，リアルタイム処理としては不十分である。
【００６６】
一方、本実施例にかかる画像処理装置１００では、必要な処理量は、１画素あたりの特徴抽出の処理量＊補正画像の画素数と見積もられる。上記と同じ数値例に対して、テンプレートマッチングの処理量は，同じ数値例に対して２＊１０１０と見積もられる。このため、単位処理を１ピコ秒で実行できる高速計算機であれば全体で２０ｍｓで済み、リアルタイム処理が可能となる。
【実施例２】
【００６７】
次に、本実施例２にかかる画像処理装置について説明する。システムの構成は、実施例１に示したシステムと同様である。
【００６８】
図１８は、本実施例２にかかる画像処理装置の構成を示す機能ブロック図である。図１８に示すように、画像処理装置２００は、カメラ５０に接続される。画像処理装置２００は、取得部２１０、校正物体表示部２２０、校正情報入力部２３０、局所変換算出部２４０、大域変換決定部２５０、補正パラメータ記憶部２６０を有する。画像処理装置２００は、補正画像生成部２７０、テンプレートマッチング実行部２８０、検出結果出力部２９０を有する。
【００６９】
カメラ５０、取得部２１０、校正物体表示部２２０に関する説明は、図２のカメラ５０、取得部１１０、校正物体表示部１２０に関する説明と同様である。補正画像生成部２７０、テンプレートマッチング実行部２８０、検出結果出力部２９０に関する説明は、図２の補正画像生成部１７０、テンプレートマッチング実行部１８０、検出結果出力部１９０に関する説明と同様である。
【００７０】
校正情報入力部２３０は、校正物体毎に作業員に指定された１番目の基準点と、２番目の基準点と、３番目の基準点との座標値を読み込み、座標値テーブルを生成する処理部である。図１９は、本実施例２にかかる基準点位置を説明するための図である。図１９では、校正物体の一例として、基準点は、例えば、校正物体１０ａの左上１ａと、校正物体１０ａの右上１ｂと、校正物体１０ａの左下１ｃとする。以下の説明では、適宜、校正物体の左上の基準点を、１番目の基準点と表記し、右上の基準点を２番目の基準点と表記し、左下の基準点を３番目の基準点と表記する。作業員は、ディスプレイに表示された撮影画像１０を参照し、画像処理装置２００に接続されたマウス等の入力装置を操作して、校正物体毎に定まった３つの基準点を指定する。
【００７１】
図２０は、本実施例２にかかる座標値テーブルのデータ構造の一例を示す図である。図２０に示すように、この座標値テーブル２３０ａは、校正物体番号と、１番目の基準点の座標と、２番目の基準点の座標と、３番目の基準点の座標とを対応付ける。校正物体番号は、校正物体を一意に識別する番号である。校正情報入力部２３０は、座標値テーブル２３０ａを、局所変換算出部２４０に出力する。
【００７２】
局所変換算出部２４０は、局所的な座標変換として、式（６）を用いる。実施例１の局所変換算出部１４０は、対象物の縮尺の変化に対応する構成を開示したが、式（６）を用いることで、対象物の向きの変化にも対応することができる。
【００７３】
【数６】
0006582618.tif 000007
【００７４】
式（６）において、（δｘ，δｙ）Ｔは、補正画像の点の微小変化を表し、（δｕ，δｖ）Ｔは、撮影画像の点の微小変化を表す。なお、上付きの添え字のＴは、行列やベクトルの転置を表す。ａ，ｂ，ｃ，ｄは、線形変換のパラメータであり、撮影画像の点（ｕ，ｖ）によって異なる。ｂ＝ｃ＝０、ａ＝ｄの場合が、縮尺だけの変換（実施例１の構成等）に対応する。
【００７５】
作業員に指定された基準点の３つの組を（ｐｉ，０，ｑｉ，０）、（ｐｉ，ｘ，ｑｉ，ｘ）、（ｐｉ，ｙ，ｑｉ，ｙ）（ｉ＝１，・・・，ｎ）とする。校正物体の標準幅をｗ０、標準高をｈ０とする。このとき、逆向きの変換パラメータａ’，ｂ’，ｃ’，ｄ’を式（７）〜式（１０）で定める。
【００７６】
【数７】
0006582618.tif 000008
【数８】
0006582618.tif 000009
【数９】
0006582618.tif 000010
【数１０】
0006582618.tif 000011
【００７７】
式（６）の線形変換パラメータａ，ｂ，ｃ，ｄは、ａ’，ｂ’，ｃ’，ｄ’からなる行列の逆行列として定められ、式（１１）〜式（１４）で表される。ここでは、引数の（ｐｉ，０，ｑｉ，０）を省略した。
【００７８】
【数１１】
0006582618.tif 000012
【数１２】
0006582618.tif 000013
【数１３】
0006582618.tif 000014
【数１４】
0006582618.tif 000015
【００７９】
局所変換算出部２４０は、各基準点に対応する局所的な線形変換パラメータａ，ｂ，ｃ，ｄを算出する。局所変換算出部２４０は、局所的な線形変換パラメータａ，ｂ，ｃ，ｄを、大域変換決定部２５０に出力する。
【００８０】
大域変換決定部２５０は、局所的な線形変換パラメータを基にして、撮影画像を補正画像に変換するための補正パラメータを生成する処理部である。大域変換決定部２５０は、例えば、データ補間処理、データ加算処理、逆変換算出処理を順に実行することで、補正パラメータを生成する。大域変換決定部２５０は、補正パラメータを補正パラメータ記憶部２６０に格納する。
【００８１】
大域変換決定部２５０が実行するデータ補間処理について説明する。大域変換決定部２５０は、局所的な線形変換パラメータを基にして、撮影画像の全画素に対して、各画素での線形変換パラメータを算出する。これは、作業員に指定された基準点から得られる線形変換パラメータ（局所的な線形変換パラメータ）を補間することで求める。
【００８２】
作業員に指定された１番目の基準点の座標を（ｐｉ，０，ｑｉ，０）とし、かかる座標の線形変換パラメータをａｉ，ｂｉ，ｃｉ，ｄｉとする。ｉ＝１，・・・,ｎは、校正物体の番号を表し、ｎは校正物体の総数を表す。このとき、撮影画像の画素（ｕ，ｖ）における線形変換パラメータを、式（１５）〜式（１８）で定める。
【００８３】
【数１５】
0006582618.tif 000016
【数１６】
0006582618.tif 000017
【数１７】
0006582618.tif 000018
【数１８】
0006582618.tif 000019
【００８４】
式（１５）〜式（１８）において、ｄｉｓｔは２点間の距離を表す。ｗ（ｕ，ｖ）は重みの正規化を表し、式（１９）により定められる。
【００８５】
【数１９】
0006582618.tif 000020
【００８６】
大域変換決定部２５０は、撮影画像の各画素（ｕ，ｖ）に対して、式（１５）〜式（１９）に基づき、線形変換のパラメータを計算する。図２１は、各画素の線形変換パラメータの算出例を示す図である。図２１では、画素３０ａ〜３０ｆを示す。原点の画素を３０ａとする。画素３０ａの線形パラメータをａ１，ｂ１，ｃ１，ｄ１とする。画素３０ｂの線形パラメータをａ２，ｂ２，ｃ２，ｄ２とする。画素３０ｃの線形パラメータをａ３，ｂ３，ｃ３，ｄ３とする。画素３０ｄの線形パラメータをａ４，ｂ４，ｃ４，ｄ４とする。画素３０ｅの線形パラメータをａ５，ｂ５，ｃ５，ｄ５とする。画素３０ｆの線形パラメータをａ６，ｂ６，ｃ６，ｄ６とする。
【００８７】
続いて、大域変換決定部２５０が実行するデータ加算処理について説明する。図２２は、本実施例２にかかるデータ加算処理を説明するための図である。大域変換決定部２５０は、実施例１の大域変換決定部１５０と同様にして、撮影画像の原点と、補正画像の原点とを決めて、撮影画像の原点と、補正画像の原点とを対応させる。そして、大域変換決定部２５０は、原点の画素から順番に線形変換パラメータを加算することで、順方向の大域的な座標変換を定める。
【００８８】
図２２において、撮影画像上の画素と、この画素に対応する線形変換パラメータとの関係を示す。例えば、撮影画像の画素３０ａに対応する補正画像の点の座標値は（０，０）となる。撮影画像の画素３０ｂに対応する補正画像の画点の座標は（ａ１，ｃ１）となる。撮影画像の画素３０ｃに対応する補正画像の点の座標は（ａ１＋ａ２，ｃ１＋ｃ２）となる。撮影画像の画素３０ｄに対応する補正画像の点の座標は（ｂ１，ｄ１）となる。撮影画像の画素３０ｅに対応する補正画像の点の座標は（ａ１＋ｂ２，ｃ１＋ｄ２）となる。撮影画像の画素３０ｆに対応する補正画像の点の座標は（ａ１＋ａ２＋ｂ３，ｃ１＋ｃ２＋ｄ３）となる。
【００８９】
続いて、大域変換決定部２５０が実行する逆変換算出処理について説明する。大域変換決定部２５０が実行する逆変換算出処理は、実施例１の大域変換決定部１５０が実行する逆変換算出処理と同様である。
【００９０】
次に、本実施例２にかかる画像処理装置２００の効果について説明する。画像処理装置２００は、撮影画像に含まれる複数の校正物体に対する基準点の位置を受け付けて線形変換パラメータを算出し、各縮尺が一定となるように、撮影画像を補正することで補正画像を生成し、補正画像から特徴点を抽出してテンプレートマッチングを実行する。かかる処理を実行することで、同一の対象物の大きさが位置、向きによらず均一となるため、テンプレートや画像の縮尺を様々に変えてマッチングを行わなくても良くなり、処理量を削減することができる。
【実施例３】
【００９１】
次に、本実施例３にかかる画像処理装置について説明する。システムの構成は、実施例１に示したシステムと同様である。
【００９２】
図２３は、本実施例３にかかる画像処理装置の構成を示す機能ブロック図である。図２３に示すように、画像処理装置３００は、カメラ５０に接続される。画像処理装置３００は、取得部３１０、校正物体表示部３２０、校正情報入力部３３０、局所変換算出部３４０、大域変換決定部３５０、補正パラメータ記憶部３６０を有する。画像処理装置３００は、補正画像生成部３７０、テンプレートマッチング実行部３８０、検出結果出力部３９０を有する。
【００９３】
カメラ５０、取得部３１０、校正物体表示部３２０、校正情報入力部３３０、局所変換算出部３４０に関する説明は、図１８のカメラ５０、取得部２１０、校正物体表示部２２０、校正情報入力部２３０、局所変換算出部２４０に関する説明と同様である。補正画像生成部３７０、テンプレートマッチング実行部３８０、検出結果出力部３９０に関する説明は、図１８の補正画像生成部２７０、テンプレートマッチング実行部２８０、検出結果出力部２９０に関する説明と同様である。
【００９４】
実施例２においては、大域的な座標変換を定める際に、画素の順番を決める必要がある。画素の順番を変えると一般に得られる変換は変化する。画素には本来、順番は付与されておらず、順番に依存せずに変換を定める方法が望ましい。そこで，本実施例３では画素の順番に依存しない変換決定方法を開示する。
【００９５】
大域変換決定部３５０は、局所的な線形変換パラメータを基にして、撮影画像を補正画像に変換するための補正パラメータを生成する処理部である。大域変換決定部３５０は、パラメータを、補正パラメータ記憶部３６０に格納する。
【００９６】
大域変換決定部３５０は、例えば、順変換決定処理、逆変換算出処理を順に実行することで、補正パラメータを生成する。
【００９７】
大域変換決定部３５０が実行する順変換決定処理について説明する。一般に、大域的な座標変換は狭い範囲ではその微分を変換パラメータとする線形変換で近似される。この性質に基づき、順変換決定処理において、大域変換決定部３５０は、未知の係数を持つ関数（の族）を予め定めておき、その微分が与えられた局所的な座標変換とできるだけ一致するように最小二乗法で係数を定める。これにより、画像の各点で局所的な座標変換をよく近似する順向きの大域的な座標変換を定めることができる。
【００９８】
大域変換決定部３５０は、関数の族として、例えば、式（２０）、式（２１）を用いる。
【００９９】
【数２０】
0006582618.tif 000021
【数２１】
0006582618.tif 000022
【０１００】
最小二乗法の評価関数Ｆは、式（２２）で表される。式（２２）において、下付の添え字は、その変数による偏微分を表す。評価関数Ｆは、未知の係数ａ０，・・・，ａ５，ｂ０，・・・，ｂ５について２次式であるので、最小化は線形連立方程式を解くことで帰着される。線形連立方程式は、例えば、公知のガウスの消去法で解くことができる。
【０１０１】
【数２２】
0006582618.tif 000023
【０１０２】
係数ａ０，・・・，ａ５，ｂ０，・・・，ｂ５が求められると、撮影画像の各画素（ｕ，ｖ）に対して、対応する補正画像の点（ｆｘ，ｆｙ）を計算することができる。
【０１０３】
続いて、大域変換決定部３５０が実行する逆変換算出処理について説明する。大域変換決定部３５０が実行する逆変換算出処理は、実施例１の大域変換決定部１５０が実行する逆変換算出処理と同様である。
【０１０４】
次に、本実施例３にかかる画像処理装置３００の効果について説明する。画像処理装置３００は、大域的な座標変換は狭い範囲ではその微分を変換パラメータとする線形変換で近似されるという特性に基づいて、未知の係数を持つ関数の族を予め定めておき、その微分が与えられた局所的な座標変換とできるだけ一致するように最小二乗法で係数を定める。これによって、画素の順番に依存しないで、撮影画像の画素に対応する補正画像の点を特定することができる。
【実施例４】
【０１０５】
次に、本実施例４にかかる画像処理装置について説明する。システムの構成は、実施例１に示したシステムと同様である。
【０１０６】
実施例１〜３においては、局所的な座標変換、大域的な座標変換はともに撮影画像の各画素が補正画像のどの点に対応するかを表していた。そのため，補正画像を生成する際には逆変換を算出する。これに対して、本実施例４では、実施例１〜３とは逆向きに変換を定める。これにより、逆変換を算出する処理が不要になる。変換の回数が少なくなるため、補間画像の品質向上が期待できる。また、後述するように、大域的な座標変換が望ましい性質を満たすことが数学的に保証される。
【０１０７】
図２４は、本実施例４にかかる画像処理装置の構成を示す機能ブロック図である。図２４に示すように、画像処理装置４００は、カメラ５０に接続される。画像処理装置４００は、取得部４１０、校正物体表示部４２０、校正情報入力部４３０、局所変換算出部４４０、大域変換決定部４５０、補正パラメータ記憶部４６０を有する。画像処理装置４００は、補正画像生成部４７０、テンプレートマッチング実行部４８０、検出結果出力部４９０を有する。
【０１０８】
カメラ５０、取得部４１０、校正物体表示部４２０、校正情報入力部４３０に関する説明は、図２のカメラ５０、取得部１１０、校正物体表示部１２０、校正情報入力部１３０（または、構成情報入力部２３０）に関する説明と同様である。補正画像生成部４７０、テンプレートマッチング実行部４８０、検出結果出力部４９０に関する説明は、図２の補正画像生成部１７０、テンプレートマッチング実行部１８０、検出結果出力部１９０に関する説明と同様である。
【０１０９】
局所変換算出部４４０は、局所的な座標変換として、式（２３）を用いる。式（２３）において、（δｕ，δｖ）Ｔは、撮影画像の点の微小変化を表し、（δｘ，δｙ）Ｔは、補正画像の点の微小変化を表す。ａ，ｂ，ｃ，ｄは、線形変換パラメータであり、撮影画像の点（ｕ，ｖ）によって異なる。
【０１１０】
【数２３】
0006582618.tif 000024
【０１１１】
作業員に指定された基準点の３つの組を（ｐｉ，０，ｑｉ，０）、（ｐｉ，ｘ，ｑｉ，ｘ）、（ｐｉ，ｙ，ｑｉ，ｙ）（ｉ＝１，・・・，ｎ）とする。校正物体の標準幅をｗ０、標準高をｈ０とする。このとき、局所的な座標変換のパラメータａ，ｂ，ｃ，ｄを式（２４）〜式（２７）で定める。
【０１１２】
【数２４】
0006582618.tif 000025
【数２５】
0006582618.tif 000026
【数２６】
0006582618.tif 000027
【数２７】
0006582618.tif 000028
【０１１３】
局所変換算出部４４０は、局所的な線形変換パラメータａ，ｂ，ｃ，ｄを、大域変換決定部４５０に出力する。
【０１１４】
大域変換決定部４５０は、局所的な線形変換パラメータを基にして、撮影画像を補正画像に変換するための補正パラメータを生成する処理部である。大域変換決定部４５０は、例えば、データ回帰処理、積分処理を順に実行することで、補正パラメータを生成する。大域変換決定部４６０は、補正パラメータを補正パラメータ記憶部４６０に格納する。
【０１１５】
大域変換決定部４５０が実行するデータ回帰処理について説明する。大域変換決定部４５０は、未知の係数を持つ関数の族を予め定めておき、与えられた局所的な座標変換とできるだけ一致するように最小二乗法で係数を求める。これにより、撮影画像の全ての点に対して、局所的な座標変換を求めることができる。
【０１１６】
大域変換決定部４５０は、関数の族として、例えば、式（２８）〜式（３１）を用いる。
【０１１７】
【数２８】
0006582618.tif 000029
【数２９】
0006582618.tif 000030
【数３０】
0006582618.tif 000031
【数３１】
0006582618.tif 000032
【０１１８】
最小二乗法の評価関数Ｆは、式（３２）で表される。
【０１１９】
【数３２】
0006582618.tif 000033
【０１２０】
大域変換決定部４５０は、式（３２）の評価関数Ｆの値を最小にするように係数ａ０，・・・，ａ５，ｂ０，・・・，ｂ５，ｃ０，・・・，ｃ５，ｄ０，・・・，ｄ５を定める。ただし、後述する積分処理を実行するため、数学的要請として、ｆｕ，ｘ，ｆｕ，ｙ，ｆｖ，ｘ，ｆｖ，ｙは、式（３３）、式（３４）の条件を満たす必要がある。
【０１２１】
【数３３】
0006582618.tif 000034
【数３４】
0006582618.tif 000035
【０１２２】
上例の２次式の場合に、式（３３）、式（３４）の積分可能条件を計算すると、係数に関する下記の制約式（３５）〜式（５４）が得られる。
【０１２３】
【数３５】
0006582618.tif 000036
【数３６】
0006582618.tif 000037
【数３７】
0006582618.tif 000038
【数３８】
0006582618.tif 000039
【数３９】
0006582618.tif 000040
【数４０】
0006582618.tif 000041
【数４１】
0006582618.tif 000042
【数４２】
0006582618.tif 000043
【数４３】
0006582618.tif 000044
【数４４】
0006582618.tif 000045
【数４５】
0006582618.tif 000046
【数４６】
0006582618.tif 000047
【数４７】
0006582618.tif 000048
【数４８】
0006582618.tif 000049
【数４９】
0006582618.tif 000050
【数５０】
0006582618.tif 000051
【数５１】
0006582618.tif 000052
【数５２】
0006582618.tif 000053
【数５３】
0006582618.tif 000054
【数５４】
0006582618.tif 000055
【０１２４】
大域変換決定部４５０は、上記の制約式（３５）〜式（５４）を満たす係数の組み合わせの中で上記の評価関数Ｆを最小化するものを探索する。例えば、大域変換決定部４５０は、公知技術であるラグランジュ未定乗数法に基づき、上記の制約式（３５）〜式（５４）を満し、評価関数Ｆを最小化する係数を探索する。
【０１２５】
続いて、大域変換決定部４５０の積分処理について説明する。大域変換決定部４５０は、式（５５）に示す偏微分方程式を解く。
【０１２６】
【数５５】
0006582618.tif 000056
【０１２７】
大域変換決定部４５０は、偏微分方程式の初期条件として、補正画像の１点（ｘ０，ｙ０）が撮影画像の１点（ｕ０，ｖ０）に対応するように選択する。例えば、大域変換決定部４５０は、偏微分方程式の初期条件として、補正画像の中心と、撮影画像の中心とを選択しても良い。
【０１２８】
上記の積分可能条件となる式（３５）〜式（５４）は、上記の偏微分方程式（５５）に解が存在するための必要十分条件である。具体的には、積分可能条件は、ｕｘをｙで微分した値と、ｕｙをｘで微分した値とが一致することを表している。ｖについても同様である。逆に積分可能条件が成り立てば、グリーンの補助公式から線積分が経路によらないことが示されるので、式（５６）、式（５７）で定義されるｕ，ｖが微分方程式の解となる。
【０１２９】
【数５６】
0006582618.tif 000057
【数５７】
0006582618.tif 000058
【０１３０】
大域変換決定部４５０が、偏微分方程式を数値的に解く方法としては、例えば、公知技術であるオイラー法を用いる。線積分が経路によらないので、大域変換決定部４５０は、初期条件で選んだ１点（ｘ０，ｙ０）と各点（ｘ，ｙ）を結んだ適当な経路に沿って、積分を和で近似することで、解を求める。解いた結果は、補正画像の各画素（ｘ，ｙ）が対応する撮影画像の点の座標（ｕ，ｖ）で表され、補正パラメータとなる。
【０１３１】
図２５は、本実施例４にかかる補正パラメータのデータ構造の一例を示す図である。図２５に示すように、補正パラメータ４６０ａは、補正画像の画素の座標値と、撮影画像の点の座標値とを有する。例えば、補正画像の画素の座標値（０，０）に対応する、撮影画像の点の座標値は、（ｕ０，０，ｖ０，０）となることが示される。
【０１３２】
ここで、大域的な座標変換の性質について説明する。
【０１３３】
本願では補正画像から対象物の検出を行うので、補正処理の結果得られる補正画像が撮影画像全体を表し、かつ対象物が２重写しになるような補正にならないことが必要である。このことは、補正画像を生成する大域的な座標変換が大域的に全単射であることを意味する。変換φが大域的に全単射であるとは、撮影画像の任意の点（ｕ，ｖ）に対して、（ｕ，ｖ)＝φ（ｘ，ｙ）となるような補正画像の点（ｘ，ｙ）が存在し、かつそのような（ｘ，ｙ）はただ１つであることを表す。
【０１３４】
撮影画像において校正物体の基準点が見えるように設置されており、かつ作業員が適切な指定を行うことを仮定すると、３つの基準点が１つの直線に乗ることはない。この場合，ａ（ｕ，ｖ）ｄ（ｕ，ｖ）−ｂ（ｕ，ｖ）ｃ（ｕ，ｖ）はｕ＝ｐｉ，０，ｖ＝ｑｉ，０（ｉ＝１，・・・，ｎ）において全て０でない値を取る。ｆｕ，ｘ，ｆｕ，ｙ，ｆｖ，ｘ，ｆｖ，ｙは、撮影画像の全点で値を持つようにａ，ｂ，ｃ，ｄを補間した関数である。そこで、ｆｕ，ｘ（ｕ，ｖ）ｆｖ，ｙ（ｕ，ｖ）−ｆｕ，ｙ（ｕ，ｖ）ｆｖ，ｘ（ｕ，ｖ）も全点で０にならないことが期待できる。上式は、大域的な変換におけるヤコビアン、すなわち１階微分のヤコビ行列の行列式に等しい。
【０１３５】
一般に、変換のヤコビアンが０でなければ、その変換は局所的には全単射になることが知られている。しかし、大域的な全単射性は必ずしも保証されない。例えば、ｘ（ｕ，ｖ）＝ｕ  ｃｏｓｖ  あるいはｕ＊ｃｏｓ（ｖ）等，ｙ（ｕ，ｖ）＝ｕ  ｓｉｎ  ｖあるいはｕ＊ｓｉｎ（ｖ）等は、ｕ＞０でヤコビアン０にならないが、ｖ＝０，２πで値が一致するため、大域的には全単射にはならない。
【０１３６】
しかし、本実施例で定められる大域的な変換は、大域的に全単射になることが数学的に保証される。これは、望ましい性質である。以下に数学の定理の形でまとめる。
【０１３７】
［定理］  ｆｕ，ｘ，ｆｕ，ｙ，ｆｖ，ｘ，ｆｖ，ｙは、１階微分可能で微分は連続とし、積分可能条件を満たすと仮定する。このとき、偏微分方程式の解ｕ，ｖは、ヤコビアンが０でなければ大域的に全単射になる。ただし、単射性では定義域は凸と仮定する。
【０１３８】
［略証］  単射性：結論を否定して矛盾を導く。異なる２点（ｘ１，ｙ１），（ｘ２，ｙ２）に対して、同一の値（ｕ１，ｖ１）を取るような解ｕ，ｖが存在すると仮定する。この２点を結んだ線分Ｌを考える。線分の向きを（ａ，ｂ）と置く。線分Ｌは定義域に含まれるので、Ｌ上の点に対してｕ，ｖは閉曲線Ｃとなる。ｕ，ｖの微分はｕ，ｖの値のみで決まるため、Ｃは自己交差のない単純閉曲線になる。ジョルダンの曲線定理より、閉曲線Ｃは平面を内側と外側に分ける。内側Ｄは，有界な単連結成分になる。ＣとＤの各点において、ベクトル（ａｆｕ，ｘ＋ｂｆｕ，ｙ，ａｆｖ，ｘ＋ｂｆｖ，ｙ）を対応させるベクトル場を考える。このベクトル場は連続になる。また、ヤコビアンが０でないことからＣ，Ｄの各点でベクトルの大きさは０にならない。一方，Ｃにおいて上記のベクトルはＣの接線方向を向く。これは、ポアンカレ・ホップの定理に反するので矛盾する。よって、大域的に単射である。
【０１３９】
全射性：初期条件で指定された（ｕ０，ｖ０）を含む任意の有界領域（連結した開集合）Ωに対して全射になることを示す。解析学でよく知られた逆写像定理の証明を若干修正することで以下の補題が得られる。写像の像になる（Ωに属する）任意の（ｕ，ｖ）に対して、｜（ｕ’，ｖ’）−（ｕ，ｖ）｜＜ｒを満たす（Ωに属する）任意の（ｕ’，ｖ’）も写像の像になる。ここで，ｒは正数で（ｕ，ｖ）の境界までの距離ｄだけに依存する。ｒ＝ｒ（ｄ）は単調増加関数である。以下ではこの補題を用いて全射性を示す。Ωは連結なので、位相空間論の一般論から、Ωを共通部分のない２つの開集合Ａ，Ｂの合併で表すと一方の開集合は空集合になる。ここで、Ωの部分集合Ａを写像の像になる元を集めたものと定める。また、部分集合Ｂを写像の像にならない元を集めたものと定める。明らかに両者の共通部分はなく、ＡとＢの合併はΩに一致する．また，（ｕ０，ｖ０）はＡの元なので、Ａは空集合ではない。局所的な全射性からＡが開集合になることは明らかである。Ｂが開集合になることは以下のように示される。結論を否定すると、Ｂに属するある（ｕ，ｖ）と任意の正数εに対して、｜（ｕ’，ｖ’）−（ｕ，ｖ）｜＜εを満たすＡの元（ｕ’，ｖ’）が存在することになる。まず、（ｕ，ｖ）の境界までの距離をｄとする。上記補題のｒをｒ＝ｒ（ｄ／２）で定める。ε＝ｍｉｎ（ｄ／２，ｒ）とおく。このとき、上記のＡの元（ｕ’，ｖ’）の境界までの距離ｄ’はｄ／２以上であり、かつ｜（ｕ’，ｖ’）−（ｕ，ｖ）｜＜ｒ（ｄ／２）≦ｒ（ｄ’）となる。上記補題より、（ｕ，ｖ）がＡの元になり矛盾する．従って，Ｂが空集合になることが導かれる。これは、大域的な全射性を表す。
【０１４０】
次に、本実施例４にかかる画像処理装置４００の効果について説明する。画像処理装置４００は、未知の係数を持つ関数の族を予め定めておき、与えられた局所的な座標変換とできるだけ一致するように最小二乗法で係数を求める。また、画像処理装置４００は、求めた係数を用いて偏微分方程式を解くことで、補正画像の各画素（ｘ，ｙ）が対応する撮影画像の点の座標（ｕ，ｖ）を特定する。すなわち、画像処理装置４００は、実施例１〜３とは逆向きに変換を定めることで、逆変換を算出する処理が不要になる。このため、変換の回数が少なくなるため、補間画像の品質向上が期待できる。
【０１４１】
次に、上記実施例に示した画像処理装置１００〜４００と同様の機能を実現する画像処理プログラムを実行するコンピュータの一例について説明する。図２６は、画像処理プログラムを実行するコンピュータの一例を示す図である。
【０１４２】
図２６に示すように、コンピュータ５００は、各種演算処理を実行するＣＰＵ５０１と、ユーザからのデータの入力を受け付ける入力装置５０２と、ディスプレイ５０３とを有する。また、コンピュータ５００は、記憶媒体からプログラム等を読み取る読み取り装置５０４と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインターフェース装置５０５とを有する。また、コンピュータ５００は、各種情報を一時記憶するＲＡＭ５０６と、ハードディスク装置５０７とを有する。そして、各装置５０１〜５０７は、バス５０８に接続される。
【０１４３】
ハードディスク装置５０７は、取得プログラム５０７ａ、算出プログラム５０７ｂ、検出プログラム５０７ｃを有する。ＣＰＵ５０１は、取得プログラム５０７ａ、算出プログラム５０７ｂ、検出プログラム５０７ｃを読み出してＲＡＭ５０６に展開する。取得プログラム５０７ａは、取得プロセス５０６ａとして機能する。算出プログラム５０７ｂは、算出プロセス５０６ｂとして機能する。検出プログラム５０７ｃは、検出プロセス５０６ｃとして機能する。取得プロセス５０６ａの処理は、取得部１１０、２１０，３１０，４１０の処理に対応する。算出プロセス５０６ｂの処理は、局所変換算出部１４０、２４０，３４０，４４０、大域変換決定部１５０，２５０，３５０，４５０の処理に対応する。検出プロセス５０６ｃの処理は、補正画像生成部１７０、２７０，３７０，４７０、テンプレートマッチング実行部１８０，２８０，３８０，４８０、検出結果出力部１９０，２９０，３９０，４９０の処理に対応する。
【０１４４】
なお、取得プログラム５０７ａ、算出プログラム５０７ｂ、検出プログラム５０７ｃについては、必ずしも最初からハードディスク装置５０７に記憶させておかなくても良い。例えば、コンピュータ５００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ５００が取得プログラム５０７ａ、算出プログラム５０７ｂ、検出プログラム５０７ｃを読み出して実行するようにしてもよい。
【０１４５】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１４６】
（付記１）コンピュータに、
同一形状の複数の物体が撮影された撮影画像を取得し、
前記撮影画像に含まれる前記複数の物体に対する基準点の位置を受け付け、前記物体の基準点の間隔に基づいて、前記撮影画像の各画素における縮尺を算出し、
前記撮影画像の各画素における縮尺を基にして、前記撮影画像を、各画素における縮尺が一定となる補正画像に変換し、
前記補正画像に対してテンプレートマッチングを実行することで対象物を検出する
処理を実行させることを特徴とするテンプレートマッチングプログラム。
【０１４７】
（付記２）前記撮影画像の各画素における縮尺を算出する処理は、前記物体の基準点の間隔を基にして、前記撮影画像の前記物体の位置に対応する局所的な縮尺を算出し、前記局所的な縮尺を用いて補間を行うことで、前記撮影画像の各画素における縮尺を算出することを特徴とする付記１に記載のテンプレートマッチングプログラム。
【０１４８】
（付記３）前記撮影画像の各画素における縮尺を算出する処理は、前記物体の基準点の間隔を基にして、前記撮影画像の点を前記補正画像の点に変換する線形変換パラメータを算出し、前記補正画像に変換する処理は、前記線形変換パラメータを基にして、前記撮影画像を、各画素における縮尺が一定となる補正画像に変換することを特徴とする付記１に記載のテンプレートマッチングプログラム。
【０１４９】
（付記４）前記撮影画像の各画素における縮尺を算出する処理は、前記物体の基準点の間隔を基にして、前記撮影画像の前記物体の位置に対応する局所的な縮尺を算出し、前記局所的な縮尺とある点の縮尺との関係を示し、かつ、未知の係数を持つ関数を微分した関数を基にして、前記未知の係数を特定することで、前記撮影画像の各画素における縮尺を算出することを特徴とする付記１に記載のテンプレートマッチングプログラム。
【０１５０】
（付記５）前記撮影画像の各画素における縮尺を算出する処理は、前記物体の基準点の位置を基にして、前記補正画像の局所的な点を前記撮影画像の局所的な点に変換する第１関数を特定し、未知の係数を持つ第２関数を微分した関数が前記第１関数に一致するように、前記未知の係数を特定し、特定した未知の係数を設定した第２関数に基づき、前記撮影画像の各画素における縮尺を算出することを特徴とする付記１に記載のテンプレートマッチングプログラム。
【０１５１】
（付記６）コンピュータが実行するテンプレートマッチング方法であって、
同一形状の複数の物体が撮影された撮影画像を取得し、
前記撮影画像に含まれる前記複数の物体に対する基準点の位置を受け付け、前記物体の基準点の間隔に基づいて、前記撮影画像の各画素における縮尺を算出し、
前記撮影画像の各画素における縮尺を基にして、各画素における縮尺が一定となる補正画像を生成し、
前記補正画像に対してテンプレートマッチングを実行することで対象物を検出する
処理を実行することを特徴とするテンプレートマッチング方法。
【０１５２】
（付記７）前記撮影画像の各画素における縮尺を算出する処理は、前記物体の基準点の間隔を基にして、前記撮影画像の前記物体の位置に対応する局所的な縮尺を算出し、前記局所的な縮尺を用いて補間を行うことで、前記撮影画像の各画素における縮尺を算出することを特徴とする付記６に記載のテンプレートマッチング方法。
【０１５３】
（付記８）前記撮影画像の各画素における縮尺を算出する処理は、前記物体の基準点の間隔を基にして、前記撮影画像の点を前記補正画像の点に変換する線形変換パラメータを算出し、前記補正画像に変換する処理は、前記線形変換パラメータを基にして、前記撮影画像を、各画素における縮尺が一定となる補正画像に変換することを特徴とする付記６に記載のテンプレートマッチング方法。
【０１５４】
（付記９）前記撮影画像の各画素における縮尺を算出する処理は、前記物体の基準点の間隔を基にして、前記撮影画像の前記物体の位置に対応する局所的な縮尺を算出し、前記局所的な縮尺とある点の縮尺との関係を示し、かつ、未知の係数を持つ関数を微分した関数を基にして、前記未知の係数を特定することで、前記撮影画像の各画素における縮尺を算出することを特徴とする付記７に記載のテンプレートマッチング方法。
【０１５５】
（付記１０）同一形状の複数の物体が撮影された撮影画像を取得する取得部と、
前記撮影画像に含まれる前記複数の物体に対する基準点の位置を受け付け、前記物体の基準点の間隔に基づいて、前記撮影画像の各画素における縮尺を算出し、前記撮影画像の各画素における縮尺を基にして、各画素における縮尺が一定となる補正画像を生成する補正画像生成部と、
前記補正画像に対してテンプレートマッチングを実行することで対象物を検出する検出部と
を有することを特徴とするテンプレートマッチング装置。
【０１５６】
（付記１１）前記補正画像生成部は、前記物体の基準点の間隔を基にして、前記撮影画像の前記物体の位置に対応する局所的な縮尺を算出し、前記局所的な縮尺を用いて補間を行うことで、前記撮影画像の各画素における縮尺を算出することを特徴とする付記１０に記載のテンプレートマッチング装置。
【０１５７】
（付記１２）前記補正画像生成部は、前記物体の基準点の間隔を基にして、前記撮影画像の局所的な点を前記補正画像の局所的な点に変換する線形変換パラメータを算出し、前記線形変換パラメータを基にして、前記撮影画像の各画素における縮尺を算出することを特徴とする付記１０に記載のテンプレートマッチング装置。
【０１５８】
（付記１３）前記補正画像生成部は、前記物体の基準点の間隔を基にして、前記撮影画像の前記物体の位置に対応する局所的な縮尺を算出し、前記局所的な縮尺とある点の縮尺との関係を示し、かつ、未知の係数を持つ関数を微分した関数を基にして、前記未知の係数を特定することで、前記撮影画像の各画素における縮尺を算出することを特徴とする付記１０に記載のテンプレートマッチング装置。
【０１５９】
（付記１４）前記補正画像生成部は、前記物体の基準点の位置を基にして、前記補正画像の局所的な点を前記撮影画像の局所的な点に変換する第１関数を特定し、未知の係数を持つ第２関数を微分した関数が前記第１関数に一致するように、前記未知の係数を特定し、特定した未知の係数を設定した第２関数に基づき、前記撮影画像の各画素における縮尺を算出することを特徴とする付記１０に記載のテンプレートマッチング装置。
【符号の説明】
【０１６０】
５０    カメラ
１００，２００，３００，４００  画像処理装置
１１０，２１０，３１０，４１０  取得部
１２０，２２０，３２０，４２０  校正物体表示部
１３０，２３０，３３０，４３０  校正情報入力部
１４０，２４０，３４０，４４０  局所変換算出部
１５０，２５０，３５０，４５０  大域変換決定部
１６０，２６０，３６０，４６０  補正パラメータ記憶部
１７０，２７０，３７０，４７０  補正画像生成部
１８０，２８０，３８０，４８０  テンプレートマッチング実行部
１９０，２９０，３９０，４９０  検出結果出力部
【図１】
0006582618.tif 000059
【図２】
0006582618.tif 000060
【図３】
0006582618.tif 000061
【図４】
0006582618.tif 000062
【図５】
0006582618.tif 000063
【図６】
0006582618.tif 000064
【図７】
0006582618.tif 000065
【図８】
0006582618.tif 000066
【図９】
0006582618.tif 000067
【図１０】
0006582618.tif 000068
【図１１】
0006582618.tif 000069
【図１２】
0006582618.tif 000070
【図１３】
0006582618.tif 000071
【図１４】
0006582618.tif 000072
【図１５】
0006582618.tif 000073
【図１６】
0006582618.tif 000074
【図１７】
0006582618.tif 000075
【図１８】
0006582618.tif 000076
【図１９】
0006582618.tif 000077
【図２０】
0006582618.tif 000078
【図２１】
0006582618.tif 000079
【図２２】
0006582618.tif 000080
【図２３】
0006582618.tif 000081
【図２４】
0006582618.tif 000082
【図２５】
0006582618.tif 000083
【図２６】
0006582618.tif 000084