(57)【特許請求の範囲】
【請求項１】
回転運動をしながら目標を含む画像を取得する画像取得手段と、
前記画像取得手段を回転運動させる駆動手段と、
それぞれに画素濃度値および重み付け値を有した複数の画素からなり、前記目標を認識するために使用されるテンプレートを記憶するテンプレート記憶手段と、
前記画像取得手段が所定の方向を向いたとき又は外部からの制御信号に応じて、前記画素濃度値と前記重み付け値とを更新することで前記テンプレートを更新するテンプレート更新手段と、
新たに取得された画像と更新されたテンプレートとを前記画素毎に比較して、前記画素毎に得られる画素濃度値とオプティカルフローに基づいた評価関数値を算出する認識処理手段と、
前記画像取得手段の向き及び前記評価関数値に応じて前記駆動手段に動作指示を出力する動作指示手段と
を備える目標認識装置。
【請求項２】
前記認識処理手段は、前記画像の各画素が有する画素濃度値と、前記テンプレートの対応する画素の画素濃度値とを比較して各画素の近似度を算出し、連続する前記画像に基づき前記画素のオプティカルフローを算出し、前記近似度と前記オプティカルフローとを乗じることによって各画素の局所的動き量を算出し、画素毎の前記局所的動き量と前記重み付け値とを積算した値を全画素分足し合わせることによって前記評価関数値を算出する請求項１に記載の目標認識装置。
【請求項３】
前記テンプレートは、前記画像取得手段の回転方向に応じて更新されるテンプレート群が異なる請求項１又は２に記載の目標認識装置。
【請求項４】
同一方向回転時に更新される前記テンプレートは、正極性の重み付け値が付与されるテンプレートと、負極性の重み付け値が付与されるテンプレートとの少なくとも２つのテンプレートがある請求項３に記載の目標認識装置。
【請求項５】
回転運動をしながら目標を含む画像を取得する画像取得手段を回転運動させる駆動処理と、
それぞれに画素濃度値および重み付け値を有した複数の画素からなり、前記目標を認識するために使用されるテンプレートを記憶するテンプレート記憶処理と、
前記画像取得手段が所定の方向を向いたとき又は外部からの制御信号に応じて、前記画素濃度値と前記重み付け値とを更新することで前記テンプレートを更新するテンプレート更新処理と、
新たに取得された画像と更新されたテンプレートとを前記画素毎に比較して、前記画素毎に得られる画素濃度値とオプティカルフローに基づいた評価関数値を算出する認識処理と、
前記画像取得手段の向き及び前記評価関数値に応じて前記駆動手段に動作指示を出力する動作指示処理と
をコンピュータに実行させるための目標認識プログラム。
【請求項６】
前記認識処理は、前記画像の各画素が有する画素濃度値と、前記テンプレートの対応する画素の画素濃度値とを比較して各画素の近似度を算出し、連続する前記画像に基づき前記画素のオプティカルフローを算出し、前記近似度と前記オプティカルフローとを乗じることによって各画素の局所的動き量を算出し、画素毎の前記局所的動き量と前記重み付け値とを積算した値を全画素分足し合わせることによって前記評価関数値を算出する請求項５に記載の目標認識プログラム。
【請求項７】
前記テンプレートは、前記画像取得処理時の回転方向に応じて更新されるテンプレート群が異なる請求項５又は６に記載の目標認識プログラム。
【請求項８】
同一方向回転時に更新される前記テンプレートは、正極性の重み付け値が付与されるテンプレートと、負極性の重み付け値が付与されるテンプレートとの少なくとも２つのテンプレートがある請求項７に記載の目標認識プログラム。
【請求項９】
回転運動をしながら目標を含む画像を取得する画像取得手段を回転運動させる駆動過程と、
それぞれに画素濃度値および重み付け値を有した複数の画素からなり、前記目標を認識するために使用されるテンプレートを記憶するテンプレート記憶過程と、
前記画像取得手段が所定の方向を向いたとき又は外部からの制御信号に応じて、前記画素濃度値と前記重み付け値とを更新することで前記テンプレートを更新するテンプレート更新過程と、
新たに取得された画像と更新されたテンプレートとを前記画素毎に比較して、前記画素毎に得られる画素濃度値とオプティカルフローに基づいた評価関数値を算出する認識処理過程と、
前記画像取得手段の向き及び前記評価関数値に応じて前記駆動手段に動作指示を出力する動作指示過程と
を備える目標認識方法。
【請求項１０】
前記認識処理過程は、前記画像の各画素が有する画素濃度値と、前記テンプレートの対応する画素の画素濃度値とを比較して各画素の近似度を算出し、連続する前記画像に基づき前記画素のオプティカルフローを算出し、前記近似度と前記オプティカルフローとを乗じることによって各画素の局所的動き量を算出し、画素毎の前記局所的動き量と前記重み付け値とを積算した値を全画素分足し合わせることによって前記評価関数値を算出する請求項９に記載の目標認識方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、テンプレートを用いて目標認識を行う目標認識装置および目標認識方法に関するものである。
本出願は日本国への特許出願（特願２００１−０４２２９９）に基づくものであり、当該日本出願の記載内容は本明細書の一部として取り込まれるものとする。
【０００２】
【従来の技術】
従来の画像認識装置では、カメラ等の各種センサを用いて、認識対象である目標を含んだシーンをイメージ情報として取得し、そのイメージ情報および目標に対する断片的な知識等に基づいて目標の認識が行われていた。この目標認識の目的の多くが目標を含むシーンをイメージ情報からできるだけ正確に把握し、目標を再構築するというものであった。この際、目標を特定する方法として、目標に対してあらかじめ準備された多数のテンプレートと、イメージ情報中の目標との整合性をとるテンプレートマッチング法がよく用いられる。
【０００３】
しかしながら、このような従来の目標認識装置では、各種条件に対応できる装置にするためには、さまざまな目標との整合性を図ることができるようにするためにテンプレートを多数準備することが必要である。すなわち、認識処理を行う前にあらかじめ認識対象である目標の種類の分だけテンプレートを目標認識装置に記憶させる必要があるといった問題が生じる。
【０００４】
ここで、目標を含むシーンを認識する手段と自律移動手段とを有する自律移動ロボットの開発を従来からの技術で実現しようとする場合、次のような手段が考えられる。すなわち、最初に、目標地点に関するイメージ情報をテンプレートとしてあらかじめ多数記憶させておく。次に、搭載されているカメラ等で目標地点を含むイメージ情報を取得し、あらかじめ記憶されているテンプレートと最も整合性のとれた領域をイメージ情報の中から抽出する。そして、抽出された領域に対応する方向へ自律移動手段によって移動するといった方法である。
【０００５】
【発明が解決しようとする課題】
ところで、時間的に連続した複数の画像を利用して対象物体の動きを解析する動画像処理においては、オプティカルフローがしばしば用いられる。オプティカルフローとは、画像上のある一点の動きの方向とその速度の大きさをベクトル表現したものである。そして、対象物体のオプティカルフローを計測することによって対象物体の動きを認識することができる。
【０００６】
しかしながら、自律移動ロボットにおける目標認識装置では、ロボットが移動することによってカメラ等で撮影されるシーンが時々刻々と変化し、同一目標であっても取得されたイメージ情報中に占める目標の大きさ等が変化するので、単にオプティカルフローを用いても正確な目標認識を行うことは困難であり、それぞれの状況に応じた多数のテンプレートも必要になる。
【０００７】
このように、従来の技術では時間的に変化するシーンにおける目標の正確な認識処理を行うことは困難な場合が多いという問題がある。
【０００８】
本発明の目的は、目標の種類、方向、大きさ等を変えた大量のテンプレートをあらかじめ記憶させておく必要がなく、最新の目標に関するテンプレートを自己生成することができる目標認識装置および目標認識方法を提供することにある。
【０００９】
【課題を解決するための手段】
本発明の要旨は、回転運動をしながら目標を含む画像を取得する画像取得手段と、前記画像取得手段を回転運動させる駆動手段と、それぞれに画素濃度値および重み付け値を有した複数の画素からなり、前記目標を認識するために使用されるテンプレートを記憶するテンプレート記憶手段と、前記画像取得手段が所定の方向を向いたとき又は外部からの制御信号に応じて、前記画素濃度値と前記重み付け値とを更新することで前記テンプレートを更新するテンプレート更新手段と、新たに取得された画像と更新されたテンプレートとを前記画素毎に比較して、前記画素毎に得られる画素濃度値とオプティカルフローに基づいた評価関数値を算出する認識処理手段と、前記画像取得手段の向き及び前記評価関数値に応じて前記駆動手段に動作指示を出力する動作指示手段とを備える。
【００１０】
上記構成において、認識処理手段からの指示に基づいて画像取得手段を回転運動させ、所定の条件を満たした場合に回転運動を停止させるようにしたため、テンプレートを用いて認識した目標の方向に画像取得手段を回転させたり、画像取得手段を移動させるといった所定の動作を行うことができ、ロボットの制御に用いて好適である。
【００１１】
そして、テンプレートを更新するタイミングを示す制御信号を受信して、この制御信号が受信されたタイミングでテンプレート更新するようにしたため、目標を認識するためのテンプレートの更新を外部からの指示に応じて行うことができるとともに、画像取得手段が任意の方向を向いたときに、この向いた方向を目標方向とすることができる。また、所定の目標方向を向いた時のみに得られた画像からこの目標を認識するためのテンプレートの更新処理を行うことができるため、より確実なテンプレート生成を行うことができる。
【００１２】
また、本発明の要旨は、前記認識処理手段は、前記画像の各画素が有する画素濃度値と、前記テンプレートの対応する画素の画素濃度値とを比較して各画素の近似度を算出し、連続する前記画像に基づき前記画素のオプティカルフローを算出し、前記近似度と前記オプティカルフローとを乗じることによって各画素の局所的動き量を算出し、画素毎の前記局所的動き量と前記重み付け値とを積算した値を全画素分足し合わせることによって前記評価関数値を算出する。
【００１３】
上記構成において、目標を含む画像とテンプレートとの近似度を比較して、近似している画素に対して当該位置に対応する動き量を設定し、全テンプレートの全画素分の動き量を総和することで評価関数値を得るようにしたため、目標の特徴点のみが強調（抽出）されていき、目標方向において、不定期に存在する物体の特徴点のような安定して検出されない部分を除去することが可能となる。
【００１４】
また、本発明の要旨は、テンプレートは、画像取得手段の回転方向に応じて更新されるテンプレート群が異なる。
【００１５】
上記構成において、画像取得手段の回転方向に応じて更新されるテンプレート群が異なるようにしたため、画像取得手段の回転方向に対する目標方向の動きの不均衡を排除し、目標の検出精度を向上させることができる。
【００１６】
また、本発明の要旨は、同一方向回転時に更新されるテンプレートは、正極性の重み付け値が付与されるテンプレートと、負極性の重み付け値が付与されるテンプレートの少なくとも２つのテンプレートがある。
【００１７】
上記構成において、同一方向回転時に更新されるテンプレートは、正極性と負極性の重み付け値がそれぞれ付与される少なくとも２つのテンプレートを備えたため、実環境において検出されるオプティカルフローに対するロバスト性を向上させることができる。
【００１８】
また、本発明の要旨は、回転運動をしながら目標を含む画像を取得する画像取得手段を回転運動させる駆動処理と、それぞれに画素濃度値および重み付け値を有した複数の画素からなり、前記目標を認識するために使用されるテンプレートを記憶するテンプレート記憶処理と、前記画像取得手段が所定の方向を向いたとき又は外部からの制御信号に応じて、前記画素濃度値と前記重み付け値とを更新することで前記テンプレートを更新するテンプレート更新処理と、新たに取得された画像と更新されたテンプレートとを前記画素毎に比較して、前記画素毎に得られる画素濃度値とオプティカルフローに基づいた評価関数値を算出する認識処理と、前記画像取得手段の向き及び前記評価関数値に応じて前記駆動手段に動作指示を出力する動作指示処理とをコンピュータに実行させる。
【００１９】
また、本発明の要旨は、前記認識処理は、前記画像の各画素が有する画素濃度値と、前記テンプレートの対応する画素の画素濃度値とを比較して各画素の近似度を算出し、連続する前記画像に基づき前記画素のオプティカルフローを算出し、前記近似度と前記オプティカルフローとを乗じることによって各画素の局所的動き量を算出し、画素毎の前記局所的動き量と前記重み付け値とを積算した値を全画素分足し合わせることによって前記評価関数値を算出する。
【００２０】
また、本発明の要旨は、前記テンプレートは、前記画像取得手段の回転方向に応じて更新されるテンプレート群が異なる。
【００２１】
また、本発明の要旨は、同一方向回転時に更新される前記テンプレートは、正極性の重み付け値が付与されるテンプレートと、負極性の重み付け値が付与されるテンプレートとの少なくとも２つのテンプレートがある。
【００２２】
また、本発明の要旨は、回転運動をしながら目標を含む画像を取得する画像取得手段を回転運動させる駆動過程と、それぞれに画素濃度値および重み付け値を有した複数の画素からなり、前記目標を認識するために使用されるテンプレートを記憶するテンプレート記憶過程と、前記画像取得手段が所定の方向を向いたとき又は外部からの制御信号に応じて、前記画素濃度値と前記重み付け値とを更新することで前記テンプレートを更新するテンプレート更新過程と、新たに取得された画像と更新されたテンプレートとを前記画素毎に比較して、前記画素毎に得られる画素濃度値とオプティカルフローに基づいた評価関数値を算出する認識処理過程と、前記画像取得手段の向き及び前記評価関数値に応じて前記駆動手段に動作指示を出力する動作指示過程とを備える。
【００２３】
また、本発明の要旨は、前記認識処理過程は、前記画像の各画素が有する画素濃度値と、前記テンプレートの対応する画素の画素濃度値とを比較して各画素の近似度を算出し、連続する前記画像に基づき前記画素のオプティカルフローを算出し、前記近似度と前記オプティカルフローとを乗じることによって各画素の局所的動き量を算出し、画素毎の前記局所的動き量と前記重み付け値とを積算した値を全画素分足し合わせることによって前記評価関数値を算出する。
【００２４】
【発明の実施の形態】
以下、本発明の一実施形態による目標認識装置を図面を参照して説明する。図１は同実施形態の構成を示すブロック図である。符号１は、ロボットカメラであり、周囲の画像を取得するカメラ１１（例えばＣＣＤカメラ）と、カメラ１１の光軸を任意の方向へ向けるためにカメラ１１を水平方向に回転させるモータ１２とからなる。モータ１２には、図示しないエンコーダが設けられており、エンコーダ値によってカメラ１１の回転運動時の向き（回転角）が検知できるようになっている。符号２は、演算部であり、目標認識部２１とテンプレート管理部２２とからなる。符号２３は、カメラ１１で得られた画像を記憶する画像記憶部であり、ここに記憶される画像は標本化と量子化がされた画像である。符号２４は、画像記憶部２３に記憶されている画像に基づいて目標を認識する認識処理部である。符号２５は、認識処理部２４における目標認識結果に基づいて、ロボットカメラ１に対する動作指示を出力する動作指示部である。符号２６は、外部またはロボットカメラ１側から送信された制御信号Ｒｎを受信する制御信号受信部である。符号２７は、制御信号Ｒｎを識別して、この識別結果に基づいて、指示を出す識別部である。符号２８は、テンプレート記憶部２９に記憶されているテンプレートを更新する更新部である。
【００２５】
次に、図１を参照して、目標認識装置の動作の概略を説明する。テンプレート管理部２２内のテンプレート記憶部２９には、ｎ（ｎは自然数）枚のテンプレートＭｎが予め記憶されている。
【００２６】
ロボットカメラ１が備えるカメラ１１は、ロボットカメラ１から見える外部環境を連続して撮影し、この画像情報を順次、目標認識部２１内の画像記憶部２３に記憶させる。目標認識部２１内の認識処理部２４は、画像記憶部２３から取り出した連続する画像間のオプティカルフローを計算し、画像内における局所部位毎の動作変化を求めて画像内の特徴部分を抽出する。また、認識処理部２４は、テンプレート記憶部２９内から入力画像に対応するテンプレートＭｎを検索することで、外部環境の目標の認識処理を行う。認識処理部２４における処理結果は、動作指示部２５に与えられる。これを受けて、動作指示部２５は、認識処理部２４の処理結果に応じた動作指示を、ロボットカメラ１内のモータ１２に与える。そして、モータ１２は、この動作指示に応じた駆動力を発生し、これによってカメラ１１は回転運動を起こす。
【００２７】
一方、テンプレート記憶部２９内に記憶されているテンプレートＭｎは、必要に応じて更新される。テンプレートＭｎの更新は、目標認識装置の外部から与えられる制御信号Ｒｎ、または目標を含む方向に向いたタイミングでロボットカメラ１側から送信される制御信号Ｒｎに応じて行なわれる。制御信号Ｒｎは制御信号受信部２６で受信され、識別部２７によってその内容が識別される。そして、識別部２７は、識別結果に応じた更新指令を更新部２８に与える。更新部２８は、受信した更新指令に基づき対応するテンプレートＭｎを更新する。
【００２８】
次に、図２、３を参照して、目標認識装置の動作を詳しく説明する。図２は、目標のある画像に応じたテンプレートＭｎを作成する動作を示すフローチャートである。図３は、図２に示すステップＳ２２の動作を示すフローチャートである。
【００２９】
まず、動作指示部２５は、モータ１２に対して、回転運動をする指示を出す。これを受けて、モータ１２が駆動し、地面に垂直な軸周りにカメラ１１が回転する。
【００３０】
ここで、図４を参照して、カメラ１１の回転動作を説明する。図４は、ロボットカメラ１を上方からみた模式図である。なお、図４において、演算部２は図示していないが、演算部２は、ロボットカメラ１の近傍に設置される。この図に示すようにカメラ１１は、モータ１２の駆動により、−５０°〜５０°までの回転運動範囲内を往復回転運動する。このとき、回転運動を始める前にカメラ１１の光軸が向いていた方向を０°とする。この０°方向が目標のある方向（目標方向）である。この処理においては、目標方向の画像を取得し、得られた画像に応じたテンプレートを作成するが、本実施形態では、カメラ１１を回転運動させて目標方向近傍の画像と目標方向の画像とからオプティカルフローを求め、テンプレートの作成及び更新に利用する。
【００３１】
目標方向の画像と目標方向近傍の画像を取得する場合、単に目標方向近傍のみを回転運動させることも考えられるが、目標方向近傍の画像に関して、より良好なテンプレートを作成するためには、繰り返し画像を撮像する必要がある。そこで、目標方向近傍において、安定した回転運動時の画像を得るようにするために、左右５０°ずつを回転運動範囲としている。モータ１２に設けられたエンコーダは回転角が０°である時に制御信号Ｒｎとして「１」を出力する。この制御信号Ｒｎは、制御信号受信部２６によって受信される。この制御信号Ｒｎを受信することによって、演算部２は、カメラ１１が目標方向を向いたことを検出することができ、このタイミングの画像を用いてテンプレートＭｎを作成及び更新する。
【００３２】
図４において、カメラ１１は先ず、符号Ｓで示す０°方向（目標方向）の画像を取得する。そして、カメラ１１は−５０°方向まで回転して再び０°方向まで戻ってくる。この時、カメラ１１は一定のサンプリング間隔で画像を取得する。更に、カメラ１１は＋５０°方向まで回転した後に０°方向まで戻ってくる。この時も同様にカメラ１１は一定のサンプリング間隔で画像を取得する。オプティカルフローは、ここで得られた連続する画像間から算出される。
【００３３】
カメラ１１によって取得された画像は、順次演算部２内の画像記憶部２３に格納されていく（図３のステップＳ２１）。ここで記憶された画像を画像Ｉｔ（ｘ，ｙ）と記述する。なお、画像Ｉｔ（ｘ，ｙ）の各画素は、８ビット（２５６階調）の何れかの濃淡値で表現されている。
【００３４】
画像を記憶する動作と並行して、更新部２８は、テンプレートＭｎ及び重み付け値Ｗｎを更新する（ステップＳ２２）。このステップＳ２２の処理の詳細は後述する。
【００３５】
次に、認識処理部２４は、画像記憶部２３に記憶された最新の画像Ｉｔ（ｘ，ｙ）と予め所有するｎ枚のテンプレートＭｎの各画素との近似度Ｓｎ（ｘ，ｙ）を算出する（ステップＳ２３）。ここで、図５、６を参照して、近似度Ｓｎ（ｘ，ｙ）を算出する動作を説明する。図５は、予め所有するテンプレートＭｎのうち１枚を代表して示す図である。図６は、ステップＳ２３の処理によって得られる画素毎の近似度Ｓｎを示す図である。
【００３６】
図５に示すように、各テンプレートＭｎは２０×２０個の画索から構成されており、各画素の位置は座標（ｘ，ｙ）で表現される。そして、初期状態における全てのテンプレートＭｎの各画素は、その濃淡値がランダムに２５６階調（０〜２５５）の何れかの値に設定されている。なお、濃淡値の代わりに、フーリエ変換、ガボール変換或いはウェーブレット変換などを使用して、テンプレート記憶部２９が２０×２０個の画素毎に変換値を記憶する構成としてもよい。
【００３７】
テンプレートＭｎは、カメラ１１が取得する入力画像Ｉｔ上の任意の位置に対応させることができる。例えば、入力画像Ｉｔの左上の画素Ｉｔ（０，０）とテンプレートＭｎの左上の画素Ｍｎ（０，０）を一致させれば、入力画像Ｉｔの左上２０×２０画素分の画像認知がテンプレートＭｎを用いて行なわれる。
【００３８】
後述する実施例では、入力画像Ｉｔの中央とテンプレートＭｎの中央とが一致するように設定して実験を行なったが、テンプレートＭｎを入力画像Ｉｔの他の領域に使用してもよい。
【００３９】
近似度Ｓｎは、画像記憶部２３に記憶されている最新の画像Ｉｔ（ｘ，ｙ）とテンプレート記憶部２９に記憶されているテンプレートＭｎ（ｘ，ｙ）を画素毎に比較して、濃淡値の差を求め、この差が所定値より小さければ、近似しているとみなし、所定値より大きければ近似していないとみなす処理を画素毎に行うことによって求められる。すなわち、テンプレートの濃淡値Ｍｎ（ｘ，ｙ）、入力画像の濃淡値Ｉｔ（ｘ，ｙ）との濃淡値の差Ｄｎ（ｘ，ｙ）は、
【００４０】
Ｄｎ（ｘ，ｙ）＝｜Ｍｎ（ｘ，ｙ）−Ｉｔ（ｘ，ｙ）｜・・・・（１）
【００４１】
によって算出され、所定のしきい値Ｇｎに対してＤｎ（ｘ，ｙ）＜Ｇｎであれば、近似度Ｓｎ＝１とし、Ｄｎ（ｘ，ｙ）≧Ｇｎであれば近似度Ｓｎ＝０とする。この処理によって、入力画像ＩｔとテンプレートＭｎとの比較の結果、近似している画素のみに「１」がセットされる。
【００４２】
次に、認識処理部２４は、最新の入力面像Ｉｔ（ｘ，ｙ）の直前に取得された入力画像Ｉｔ−１（ｘ，ｙ）と入力画像Ｉｔ（ｘ，ｙ）とを用いてオプティカルフローを計算して、オプティカルフローＶｘを得る（ステップＳ２４）。オプティカルフローは（２）式によって計算する。
【００４３】
∂ｘＶｘ（ｘ，ｙ）＋∂ｙＶｙ（ｘ，ｙ）＋∂ｔ＝０・・・・（２）
【００４４】
カメラ１１は左右の回転のみ行なうので、オプティカルフローはｘ成分だけを用い、（２）式によって得られるＶｘ（ｘ，ｙ）をオプティカルフローとする。
【００４５】
次に、認識処理部２４は、得られたオプティカルフローＶｘ（ｘ，ｙ）から局所的な動き量Ｖｎを（３）式によって計算する（ステップＳ２５）。
【００４６】
Ｖｎ（ｘ，ｙ）＝Ｓｎ（ｘ，ｙ）・Ｖｘ（ｘ，ｙ）・・・・（３）
【００４７】
これは、近似度Ｓｎ＝１の画素のみについてオプティカルフロー値を反映させたものになる。図７に局所的な動き量Ｖｎを求めた結果を示す。
【００４８】
次に、認識処理部２４は、（４）式によって評価関数値Ｂを計算する（ステップＳ２６）。
【００４９】
【数１】
0003833614.tif 000002
【００５０】
ここで、Ｗｎ（ｘ，ｙ）は正負の値をとり得る、画素に対する重み付け値であり、αｎは０＜αｎ≦１の範囲の各テンプレートの重み付け値である。このＷｎ（ｘ，ｙ）はステップＳ２２において得られた値である。このステップＳ２６の処理は、全テンプレートの全画素についてそれぞれの重み付け分を含めた値を総和することを意味する。すなわち、重み付け値Ｗｎが大きく、かつ、相似度Ｓｎ＝１となっている画素数が多いほど、評価関数値Ｂは大きくなる。
【００５１】
次に、認識処理部２４は、得られた評価関数値Ｂの絶対値が予め決められたしきい値ｋより大きいか否かを判定する（ステップＳ２７）。この判定の結果、しきい値ｋ以下であれば、ステップＳ２１、Ｓ２２へ戻り、処理を繰り返す。一方、しきい値ｋより大きい場合、認識処理部２４は、動作指示部２５に対して、テンプレート作成処理が終了したことを通知する。これを受けて動作指示部２５は、モータ１２の駆動を停止するようにモータ１２へ指示を行い、これによって目標方向を向いた状態で、カメラ１１の回転運動が停止する（ステップＳ２８）。
【００５２】
これによって、目標方向の画像に応じたテンプレートＭｎが完成し、このテンプレートＭｎを用いた目標認識処理が可能となる。
【００５３】
なお、しきい値ｋを非常に低い値にすると、評価関数値Ｂが容易にしきい値ｋを超えるので、早く目標方向と思われる位置で定位することができる。しかし、しきい値ｋを低すぎる値に設定すると、目標方向と似た画像情報が得られる方向に誤って定位してしまう可能性がある。逆に、しきい値ｋを非常に高い値にすると、真の目標方向に確実に定位するようになるが、時間がかかり過ぎることとなる。また、テンプレートＭｎの画素数に比してカメラ１１の回転速度が速すぎると、カメラ１１の回転に応じた評価関数値Ｂの変化が激しくなるので、不適当な方向を向いた状態でカメラ１１が停止される可能性も大きくなる。
【００５４】
従って、しきい値ｋは、ロボットカメラ１が置かれた環境の複雑さ、目標認識装置に要求する認識精度及び認識までの所要時間、演算部２の処理能力、テンプレートＭｎの画素数及び枚数、カメラ１１の回転速度などの様々なパラメータに応じて適宜設定することが望ましい。
【００５５】
また、ステップＳ２１〜Ｓ２７の処理を繰り返しても｜Ｂ｜＞ｋを満たさない場合は、処理を所定回数実施した後、または、所定時間経過後に｜Ｂ｜の最大値を見つけて、その方向にカメラ１１が向いて停止するようにしてもよい。
【００５６】
次に、図３、８を参照して、図２のステップＳ２２に示すテンプレートＭｎ及び重み付け値Ｗｎの更新処理を説明する。図３は、テンプレートＭｎ及び重み付け値Ｗｎの更新処理の動作を示すフローチャートである。まず、識別部２７は、制御信号Ｒｎが「１」（ＯＮ）であるか否かを判定する（ステップＳ３１）。この制御信号Ｒｎは、カメラ１１が目標方向（図４で示す０°方向）を向いた時に「１」が出力される信号である。この判定の結果、制御信号Ｒｎが「１」でなければ、｜Ｖｎ｜＞ｄであるか否かを判定する（ステップＳ３４）。ここで、ｄは予め設定されたしきい値である。この判定の結果、｜Ｖｎ｜＞ｄでなければ制御信号Ｒｎ「１」が入力されておらず、カメラ１１が目標方向を向いていないはずなので特にテンプレート等の更新処理を実行しないで終了する。また、｜Ｖｎ｜＞ｄであれば、更新部２８は、重み付け値Ｗｎを「０」にする（ステップＳ３５）。この処理は、制御信号Ｒｎ＝「１」が入力されていないにもかかわらず、Ｖｎの大きさが所定値以上となっている画素については、目標以外のものを捉えてしまった結果のノイズであるとみなして、重み付け値Ｗｎを「０」とすることでその部分の記録をキャンセル（消去）し、特にテンプレート等の更新処理を実行しないことを意味する。
【００５７】
一方、ステップＳ３１において制御信号Ｒｎが「１」である場合、更新部２８は、｜Ｖｎ｜＞ｄ、かつ、Ｗｎ＞０であるか否かを判定する（ステップＳ３２）。この判定の結果、｜Ｖｎ｜＞ｄ、かつ、Ｗｎ＞０であれば、更新部２８は、テンプレートＭｎ及び重み付け値Ｗｎを更新して（ステップＳ３３）、処理を終了する。それぞれの更新は、（５）、（６）式に従って行われる。
【００５８】
Ｗｎ（ｘ，ｙ）＝Ｗｎ（ｘ，ｙ）＋ｗ・・・・・・（５）
【００５９】
ここで、ｗは重み付け値の初期値である。
【００６０】
Ｍｎ（ｘ，ｙ）＝Ｍｎ−ｑ（Ｍｎ−Ｉｔ）・・・・（６）
【００６１】
ここで、ｑは、０＜ｑ≦１の範囲の何れかに設定された固定値である。
すなわち、テンプレートＭｎの画素の重み付け値Ｗｎは、入力画像Ｉｔに近い程初期値ｗが加算されてその重みつけが大きくされ、テンプレートＭｎは、入力画像Ｉｔの画素濃淡値に近づけられる。これにより、カメラ１１が何回も回転運動をしている間に入力画像Ｉｔにおいて目標の特徴点が強調（抽出）されていき、目標方向において、不定期に存在する物体の特徴点のように、安定して検出されない部分は切り捨てられることとなる。
【００６２】
一方、ステップＳ３２において、｜Ｖｎ｜＞ｄ、かつ、Ｗｎ＞０でなければ、更新部２８は、重み付け値Ｗｎが「０」であるか否かを判定する（ステップＳ３６）。この判定の結果、Ｗｎ＝０でなければ処理を終了する。一方、Ｗｎ＝０である場合、更新部２８は、テンプレートＭｎ及び重み付け値Ｗｎをセットする（ステップＳ３７）。この処理は、目標を捕らえているはずであるにもかかわらず、重み付け値Ｗｎが未だ０なので、その部分の画像が初めて得られたと判断し、Ｗｎをｗ（初期値）、当該画素を入力画像Ｉｔの対応する画素の濃淡値にセットするものである。
【００６３】
図８は、テンプレートＭｎ及び重み付け値Ｗｎの更新処理を説明するための図である。図８では、テンプレートＭｎが４枚（Ｍ１〜Ｍ４）である場合を示す。制御信号Ｒｎは、対応する符号のテンプレートＭｎを更新するために与えられる。例えば、制御信号Ｒ１＝１が与えられた場合、テンプレートＭ１が更新される。
【００６４】
図８において、パターン１，３は、カメラ１１が目標方向（０°方向）を向いていない状態を示す。この時、制御信号ＲｎはＲ１＝Ｒ２＝Ｒ３＝Ｒ４＝０であり、図３に示すステップＳ３１において「ＮＯ」の場合に対応する。また、パターン２，４は、カメラ１１が目標方向（０度方向）を向いている状態を示す。この時、制御信号ＲｎはＲ１＝Ｒ２＝１、又は、Ｒ３＝Ｒ４＝１であり、図３に示すステップＳ３１において「ＹＥＳ」の場合に対応する。
【００６５】
図８のパターン２では、テンプレートＭ１とＭ２が更新されるが、その重み付け値Ｗ１、Ｗ２は極性が互いに逆のものが与えられる。同様にパターン４では、テンプレートＭ３とＭ４が更新されるが、その重み付け値Ｗ３，Ｗ４は極性が互いに逆のものが与えられる。これは、実環境で検出される物体によるオプティカルフローに対するロバスト性を向上させるためである。例えば、実環境において物体の境界部分は、面の部分に対して逆向きのオプティカルフローとして検出されることが多く、かつ、その検出結果は不安定である。そこで、全体的な検出精度を向上させるために、極性が逆の重み付け値Ｗｎを用いて境界部分の明確化を図っている。
【００６６】
また、図８に示すように、反時計回りで０°方向（目標方向）に至った場合（パターン２）と、時計回りで０°方向に至った場合（パターン４）とで、更新されるテンプレートＭｎのグループを分けている（Ｍ１及びＭ２、又は、Ｍ３及びＭ４）。これは、カメラ１１の動きに対する目標方向の動きの不均衡性に対応するためである。通常、目標方向に存在する物体が完全に左右対称な形状や模様を持つことは稀であり、左回転と右回転ではオプティカルフローの生じ方も異なる。本発明では、その不均衡性に対応し、検出精度を向上させるために回転方向毎にテンプレートＭｎのグループ分けをしている。すなわち、カメラ１１が左回転した際に目標方向に存在する物体が生じるオプティカルフローの特徴はテンプレートＭ１，Ｍ２に反映され、カメラ１１が右回転した際に目標方向に存在する物体が生じるオプティカルフローの特徴はテンプレートＭ３，Ｍ４に反映される構成となっている。
【００６７】
なお、カメラ１１は何れか一方方向に回転し続けるようにしてもよい。この場合、移動体誘導装置１は、テンプレートＭ１及びＭ２、又は、テンプレートＭ３及びＭ４のみを記録保持すればよい。
【００６８】
また、カメラ１１を停止させる場合には、その慣性の影響により、変位しすぎて目標方向又は目標位置からずれた状態でカメラ１１が停止してしまう可能性もある。そこで、目標方向（０°）より所定角だけ手前で停止指令を出したり、所定角だけ戻して目標方向に正対した状態で確実に停止させる構成としてもよい。また、カメラ１１の回転角度は±５０°に限らず他の角度でもよい。更に、テンプレートＭｎ等の更新処理は、０°以外の他の角度において、例えば、特定の濃度の画素やパターンがある方向をカメラ１１が向いた時点で行うようにしてもよい。
【００６９】
以上の処理動作によって、所定の目標を認識するために用いるテンプレートが完成し、テンプレート記憶部２９に記憶されたこととなる。
【００７０】
次に、上記動作によってテンプレートを作成する試験を実施した結果を説明する。図９は、カメラ１１の方向の軌跡を示した図である。図９に示されるように、第１回目の試験では、合計４回の制御信号Ｒｎが与えられたときに上述した終了条件を満足して試験が終了した。すなわち、４回の制御信号Ｒｎが与えられたときに全くランダムな値であったテンプレートＭｎ（ｘ，ｙ）が、０度方向の目標を認識するために十分なものになったことを示す。
【００７１】
次に、第１回目の試験の結果得られたテンプレートＭｎ（ｘ，ｙ）を用いて第２回目の試験を行った。第２回目の試験では、カメラ１１を＋５０度の方向から開始して、第１回目の試験と同様にカメラ１１が０度の向きになったときに制御信号Ｒｎを与えた。この場合は、２回の制御信号Ｒｎを与えることによって終了した。すなわち、第１回目の試験と初期値が異なり、目標に応じたものになっているので、目標の認識に用いるテンプレートを生成するために与える制御信号Ｒｎの回数は少なくてすむことが分かる。
【００７２】
また、第３回目の試験では、第２回目の試験の結果得られたテンプレートを用いて、カメラ１１が−５０度の方向に向いている状態から開始した。この場合は、１回の制御信号を与えるだけで終了条件に達した。すなわち、最初から目標を認識するために必要なテンプレートがほとんど完成されていたことが分かる。
【００７３】
図９に示すように、テンプレート更新処理を繰り返すことによって、テンプレートがより目標を認識するために十分なものとして更新されており、早期に目標方向の０度付近に定位されていくことが分かる。
【００７４】
次に、目標認識装置における完成したテンプレートを用いた目標認識処理の試験結果を説明する。図１０は、テンプレート更新処理を繰り返すことによって得られた目標を認識するために十分なテンプレートを用いて、目標認識処理を行った場合のカメラ１１の向きの軌跡を示す図である。図１０に示すように最初にカメラ１１を回転させる方向が左向きであっても、右向きであっても、ほぼ同時間で素早く目標が認識され、目標方向にカメラ１１が定位していることが分かる。
【００７５】
なお、ロボットカメラ１と演算部２との間は、有線で接続されていてもよいが、ロボットカメラ１と演算部２内に無線通信機を設け、無線通信を用いて情報交換するようにしてもよい。また、ロボットカメラ１と演算部２は一体型となっていてもよい。
【００７６】
また、外部から制御信号受信部２６へ制御信号Ｒｎを送信する場合、制御信号Ｒｎの出力タイミングをカメラ１１が目標方向を向く度に作業者が決定するようにしてもよい。
【００７７】
また、図１に示す各ブロックの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりテンプレート更新処理及び目標認識処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００７８】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００７９】
以上説明したように、本発明の目標認識装置は、目標を認識するためのテンプレートを記憶するテンプレート記憶手段と、前記目標を含む連続画像を取得する画像取得手段と、前記連続画像のうち少なくとも２つの画像間のオプティカルフローを検出して、該オプティカルフローに基づいて評価関数値を求める認識処理手段と、前記評価関数値が所定の値を超えるまで、前記画像取得手段によって取得された前記目標を含む画像に基づいて、前記テンプレート記憶手段に記憶されている前記テンプレートを更新する更新手段とを備えるので、目標の種類、方向、大きさ等を変えた大量のテンプレートをあらかじめ記憶させておく必要がなく、最新の目標に関するテンプレートを自己生成することができる。
【００８０】
また、本発明の目標認識装置は、テンプレートを用いて認識した目標の方向にカメラを回転させたり、カメラを移動させるといった所定の動作を行うことができ、ロボットの制御に用いて好適である。
【００８１】
【図面の簡単な説明】
【図１】本発明の一実施形態の構成を示すブロック図である。
【図２】図１に示す目標認識装置の動作を示すフローチャートである。
【図３】図２に示すテンプレート及び重み付け更新処理の動作を示すフローチャートである。
【図４】カメラ１１の動作を示す説明図である。
【図５】テンプレートの構成を示す説明図である。
【図６】近似度の構成を示す説明図である。
【図７】局所的な動き量の構成を示す説明図である。
【図８】テンプレート及び重み付け更新動作を示す説明図である。
【図９】同実施形態におけるカメラ１１の方向の軌跡を示した図である。
【図１０】同実施形態における目標を認識するために十分なテンプレートを用いて目標認識処理を行った場合のカメラ１１の向きの軌跡を示す図である。
【図１】
0003833614.tif 000003
【図２】
0003833614.tif 000004
【図３】
0003833614.tif 000005
【図４】
0003833614.tif 000006
【図５】
0003833614.tif 000007
【図６】
0003833614.tif 000008
【図７】
0003833614.tif 000009
【図８】
0003833614.tif 000010
【図９】
0003833614.tif 000011
【図１０】
0003833614.tif 000012