(57)【特許請求の範囲】
【請求項１】
外部の環境中に存在する認識対象の観測データから該対象の認識を行なう認識システムにおいて、
前記認識対象の観測データから該対象の状態の推定値を出力する状態推定値出力手段と、
該状態推定値の入力に対して、該認識対象の部分的な特徴を含む該対象の観測データの予測値を出力する部分特徴観測結果予測手段と、
該状態推定値の入力に対して、該認識対象の観測結果における１つ以上の部分特徴の予測位置を出力する部分特徴予測位置出力手段と、
該状態推定値の入力に対して、前記認識対象の１つ以上の部分特徴のそれぞれが、該認識対象の観測データにおいて可視であるか不可視であるかを判定する手段であって、階層型ニューラルネットワークによって構成され、該ニューラルネットワークの出力ユニットがそれぞれ対応する部分特徴の見え方の程度を出力する可視・不可視判定手段とを備え、
前記部分特徴観測結果予測手段の出力を用いて、認識対象の観測結果から各部分特徴の観測結果上の位置を抽出し、前記部分特徴予測位置出力手段が予測位置を出力する部分特徴のうちで、可視の部分特徴の予測位置と該抽出された位置との差が小さくなるように、前記状態推定値出力手段が認識対象の状態推定値を修正しながら対象の認識を行なうことを特徴とする適応的認識システム。
【請求項２】
前記外部の環境中に存在する認識対象の観測データを前記状態推定値出力手段に与える外部環境観測用センサを更に備えたことを特徴とする請求項１記載の適応的認識システム。
【請求項３】
前記外部環境観測用センサが視覚センサによって構成されることを特徴とする請求項２記載の適応的認識システム。
【請求項４】
前記外部環境観測用センサが複数の種類のセンサから構成されることを特徴とする請求項２記載の適応的認識システム。
【請求項５】
前記外部環境観測用センサの出力データから、前記認識対象の１つ以上の部分特徴を含む部分データを切り出し、前記状態推定値出力手段に与える手段をさらに備えたことを特徴とする請求項２記載の適応的認識システム。
【請求項６】
前記外部環境観測用センサの出力データに対して前処理を施し、該前処理が施されたデータの全部、または一部を前記状態推定値出力手段に与える手段をさらに備えたことを特徴とする請求項２記載の適応的認識システム。
【請求項７】
前記外部環境観測用センサの出力データから前記認識対象の１つ以上のエッジを抽出し、該抽出されたエッジに関するデータを前記状態推定値出力手段に与える手段をさらに備えたことを特徴とする請求項２記載の適応的認識システム。
【請求項８】
前記状態推定値出力手段が、前記認識対象の状態の推定に際して一般化Hough 変換を使用することを特徴とする請求項１記載の適応的認識システム。
【請求項９】
前記状態推定値出力手段が、前記認識対象の状態の推定に際してGeometric Hashing 法を使用することを特徴とする請求項１記載の適応的認識システム。
【請求項１０】
前記状態推定値出力手段が、前記認識対象の状態の推定に際してHough 変換法とGeometric Hashing 法とを組み合わせた手法を使用することを特徴とする請求項１記載の適応的認識システム。
【請求項１１】
前記部分特徴観測結果予測手段が、前記認識対象の１つ以上の部分特徴にそれぞれ対応する１つ以上の階層型ニューラルネットワークによって構成されることを特徴とする請求項１記載の適応的認識システム。
【請求項１２】
前記階層型ニューラルネットワークの学習過程が、前記認識対象の観測結果としてのセンサデータ上においてどの部分が前記部分特徴に対応するかをユーザが教える準備学習フェイズと、部分特徴に対応するセンサデータをシステムが自動的に学習する自動学習フェイズとによって構成されることを特徴とする請求項１１記載の適応的認識システム。
【請求項１３】
前記部分特徴予測位置出力手段が、前記状態推定値と１つ以上の部分特徴の予測位置との間の関係を記述する数式モデルによって構成されることを特徴とする請求項１記載の適応的認識システム。
【請求項１４】
前記部分特徴予測位置出力手段が階層型ニューラルネットワークによって構成されることを特徴とする請求項１記載の適応的認識システム。
【請求項１５】
前記部分特徴予測位置出力手段の出力する予測位置と前記抽出された部分特徴の位置との二乗誤差を評価関数として用い、該評価関数を最小化するように前記状態推定値出力手段が状態推定値を修正しながら対象の認識を行うことを特徴とする請求項１記載の適応的認識システム。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
現在、各種生産過程にロボットの導入が盛んに行われている。それら産業用ロボットは、自らの内界センサからの信号を頼りにして、予め決められた手順で、決められた動作を繰り返し行う。工場内のように環境の整備された場所ではこれで十分な場合もあるが、環境が変化し得る一般の場合には、このようなロボットでは役に立たない。そこで、ロボットに各種の外界センサを取り付け、周囲の変動への対応や、さらに環境への積極的な働きかけも行えるものにするための研究が盛んに行われている。
【０００２】
本発明は、センサから観測対象の情報を取得して、対象の状態（種類、位置、姿勢など）を推定する認識システムに関するものである。このシステムを使うことにより、外界センサを持ったロボットが、周囲の環境を認識したり、物体を操作したりすることが可能になる。また、対象を観測した時に得られる部分的な特徴と対象の状態との間の関係を学習により獲得することができるため、新たな環境にも適応して認識を行える。さらに、文字認識、文書・図面処理、リモートセンシング、医用画像処理・認識などの分野にも適用できる。
【０００３】
【従来の技術】
本発明は、物体を部分的な特徴とその結合関係としてモデル化し、そのモデルを使って物体を認識するものである。したがって、このモデルは、コンピュータビジョンの分野におけるモデルベーストビジョン研究の１つとして位置づけることができる。そこで、従来技術の紹介として、モデルベーストビジョンの分野の研究を概観してみる。なお、このモデルベーストビジョンに関する一般的文献として、次のものがある。
【０００４】
Ｒ．Ｔ．Ｃｈｉｎ，  ａｎｄ  Ｃ．Ｒ．Ｄｙｅｒ，  “Ｍｏｄｅｌ−Ｂａｓｅｄ  Ｒｅｃｏｇｎｉｔｉｏｎ  ｉｎ  Ｒｏｂｏｔ  Ｖｉｓｉｏｎ，”  ＡＣＭ  Ｃｏｍｐｕｔｉｎｇ  Ｓｕｒｖｅｙｓ，  Ｖｏｌ．１８，  Ｎｏ．１，  Ｍａｒｃｈ，ｐｐ．６７−１０８（１９８６）．
モデルベーストビジョンの分野では、物体の形状や見え方に関する知識を用いて画像理解を行う。モデルの一部と、画像から抽出された特徴との間でマッチングを行うことにより、画像から明示的に利用できる情報だけでは、「何があるのか（Ｗｈａｔ）  」、「どこにあるのか（Ｗｈｅｒｅ）」を一意に決めることができない場合にも、それらを推定することができる。このように、センサデータと知識との間の橋渡しができるため、モデルベーストビジョンは、ビジョンの応用分野において重要な要素技術となっている。
【０００５】
モデルベーストビジョンは、画像中の特徴とモデルとが整合するように、物体のもつパラメータ（位置・姿勢パラメータなど）を決めるという形で物体を認識する。物体の位置・姿勢パラメータを決めることは、ロボットが物体とインタラクションする際に必要になる。また、モデルの変形に対応するパラメータを導入することによって、物体のサブカテゴリーを同定したり、変形する物体を扱ったりできるように発展させることもできる。
【０００６】
モデルベーストビジョンシステムを構成するために必要な要素技術は、さまざまな研究の文脈の中で開発されてきた。これらの要素技術をモデルベーストビジョンの枠組の中で整理すると、以下のように分類できる。なお、この要素技術に関しては次の文献がある。
【０００７】
Ｐ．Ｓｕｅｔｅｎｓ，  Ｐ．Ｆｕａ，  ａｎｄ  Ａ．Ｊ．Ｈａｎｓｏｎ，  “Ｃｏｍｐｕｔａｔｉｏｎａｌ  Ｓｔａｒａｔｅｇｉｅｓ  ｆｏｒ  Ｏｂｊｅｃｔ  Ｒｅｃｏｇｎｉｔｉｏｎ，”  ＡＣＭ  Ｃｏｍｐｕｔｉｎｇ  Ｓｕｒｖｅｙｓ，  Ｖｏｌ．２４，  Ｎｏ．１，  Ｍａｒｃｈ，  ｐｐ．５−６１（１９９２）．
１．モデリング
・物体モデルをどのように表現するか（ｍｏｄｅｌ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎ）  （一般化円筒表現、ワイヤフレーム表現）
・モデルをどのように生成するかというモデル獲得の問題（ｍｏｄｅｌ  ａｃｑｕｉｓｉｔｉｏｎ）（ＣＡＤデータの流用、レンジファインダ等の利用、複数枚の２−Ｄ画像からのモデル獲得）
２．特徴の抽出・マッチング
・物体モデルと対応づけるための特徴をセンサデータからどのように取り出すかという特徴抽出の問題（ｆｅａｔｕｒｅ  ｅｘｔｒａｃｔｉｏｎ）（エッジ抽出、Ｈｏｕｇｈ  変換）
・物体モデルとセンサデータの特徴間の対応関係を決めるパターンマッチングの問題（ｐａｔｔｅｒｎ  ｍａｔｃｈｉｎｇ）  （相関、弾性マッチング）ここで弾性マッチングとは、例えば人間の顔を認識するとき、それぞれ１つのモデルで近似できる目、鼻、口などをばねで結び、弾性エネルギーをある範囲に限定するような手法である。
３．パラメータ推定（ｐａｒａｍｅｔｅｒ  ｅｓｔｉｍａｔｉｏｎ）
・特徴間の対応関係が決まったという前提で、物体とセンサとの相対位置・姿勢や物体パラメータを推定するという問題（Ｎｅｗｔｏｎ法等の反復アルゴリズム、解析的な解法）
本発明はこれらの要素技術のうち、モデリングとの関係が深いため、次にモ  デリングについて従来技術を説明する。
【０００８】
認識に適した形で３Ｄ物体を表現するため、数多くのアプローチがされてきた。しかし、汎用のモデル構築法、すなわち、さまざまな種類の物体のモデルの表現を構築する体系的方法はまだ見つかっていない。
【０００９】
物体中心表現と観測者中心表現
本発明では、物体の部分の幾何学的な属性と、それらの間の幾何学的な関係からなるモデルについて議論している。これらの属性や関係は何らかの座標系で定義されなければならない。ビジョン研究においては、座標系として物体中心系か観測者中心系のどちらかが使われる。
【００１０】
物体中心表現
物体認識の研究では、物体中心のモデルを使うことが多い。その理由の１つは、物体中心表現は、視点の位置とは独立に物体を表現することができるため、物体モデルをコンパクトに表現できるからである。Ｍａｒｒ  ａｎｄ  Ｎｉｓｈｉｈａｒａは直線軸をもつ一般化円筒表現の階層に基づく表現方法を提案した。ＢｒｏｏｋｓのＡＣＲＯＮＹＭ  は、同じく一般化円筒表現を用いて航空機を階層的に表現した。Ｇｒｉｍｓｏｎ  ａｎｄ  Ｌａｚａｎｏ−Ｐｅｒｅｚは、物体を平面的な表面の集合としてモデル化した。それぞれの平面の式は、物体中心座標系で表現されている。これらのシステムでは、単純な物体をうまく認識できることが示されている。しかし、モデリングの方法を、複雑な物体を取り扱えるように拡張することは難しい。さらに、物体中心表現モデルは、観測プロセスとは独立なこともあって、部分的に隠れている物体を満足に取り扱うことも難しい。ここでの文献を以下に示す。
【００１１】
Ｄ．Ｍａｒｒ  ａｎｄ  Ｈ．Ｋ．Ｎｉｓｈｉｈａｒａ，  “Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ  ａｎｄ  ｒｅｃｏｇｎｉｔｉｏｎ  ｏｆ  ｔｈｅ  ｓｐａｔｉａｌ  ｏｒｇａｎｉｚａｔｉｏｎ  ｏｆ  ｔｈｒｅｅ−ｄｉｍｅｎｓｉｏｎａｌ  ｓｈａｐｅ，”  ｉｎ  Ｐｒｏｃ．  Ｒｏｙ．  Ｓｏｃ．  Ｌｏｎｄ．Ｂ，  ｖｏｌ．２００，  ｐｐ．２６９−２９４（１９７８）．
Ｒ．Ａ．Ｂｒｏｏｋｓ，  “Ｓｙｍｂｏｌｉｃ  Ｒｅａｓｏｎｉｎｇ  Ａｍｏｎｇ  ３Ｄ  ｍｏｄｅｌｓ  ａｎｄ  ２Ｄ  Ｉｍａｇｅｓ，”  Ｉｎ  Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ，  Ｖｏｌ．１７，  Ｎｏ．１，  ｐｐ．２８５−３４８，  Ａｕｇ．（１９８３）．
Ｗ．Ｅ．Ｌ．Ｇｒｉｍｓｏｎ  ａｎｄ  Ｔ．Ｌｏｚａｎｏ−Ｐｅｒｅｚ，  “Ｍｏｄｅｌ−ｂａｓｅｄ  ｒｅｃｏｇｎｉｔｉｏｎ  ａｎｄ  ｌｏｃａｌｉｚａｔｉｏｎ  ｆｒｏｍ  ｓｐａｒｓｅ  ｒａｎｇｅ  ｏｒ  ｔａｃｔｉｌｅ  ｄａｔａ，”  Ｉｎｔ．  Ｊ．  Ｒｏｂｏｔｉｃｓ  Ｒｅｓ．，  Ｖｏｌ．３，  Ｎｏ．３，  ｐｐ．３−３５（１９８４）．
Ｗ．Ｅ．Ｌ．Ｇｒｉｍｓｏｎ  ａｎｄ  Ｔ．Ｌｏｚａｎｏ−Ｐｅｒｅｚ，  “Ｌｏｃａｌｉｚｉｎｇ  Ｏｖｅｒｌａｐｐｉｎｇ  Ｐａｒｔｓ  ｂｙ  Ｓｅａｒｃｈｉｎｇ  ｔｈｅ  Ｉｎｔｅｒｐｒｅｔａｔｉｏｎ  Ｔｒｅｅ，“  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｐａｔｔｅｒｎ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｌｌｉｇｅｎｃｅ，  Ｖｏｌ．９，  Ｎｏ．４，  ｐｐ．４６９−４８２（１９８７）．
画像は観測者中心の表現である。したがって、物体中心モデルと画像とを対応づけるためには、観測者中心座標と物体中心座標との間の変換を決定しなければならない。この変換は非線形で６つのパラメータを持っており、一般に解析的に解くことができない。ゆえに、物体中心モデルは、観測者相対の物体位置・姿勢が近似的にわかっている場合や、比較的簡単な方法でわかる場合には最適である。しかし、これらの方法では、制約のない屋外シーンにある複雑な物体を取り扱うことは難しい。Ｂａｉｒｄ  は、特徴の位置に基づく制約の使用を分析し、解釈木（画像特徴と物体特徴との間のすべての可能な対応の空間）を効率よく枝刈りする手法の有効性とその限界を示した。
【００１２】
３Ｄ物体を１枚の濃淡画像から認識するために物体中心モデルを用いる研究では、姿勢情報の欠落を埋めるために、常に成立するとは限らない仮定をおかなければならない。例えば、Ｂｒｏｏｋｓは航空機の航空写真を認識するときに、それらが着地しているという仮定を設けた。Ａｙａｃｈｅ  ａｎｄ  Ｆａｕｇｅｒａｓ  は、認識対象の物体は平面であり、物体の幾何学特性についての正確な定量的情報が利用できると仮定した。Ｃｈｉｅｎ  ａｎｄ  Ａｇｇａｒｗａｌは、物体のシルエットは平行投影によって生じると仮定した。ここでの文献を以下に示す。
【００１３】
Ｈ．Ｓ．Ｂａｉｒｄ．  Ｍｏｄｅｌ−Ｂａｓｅｄ  Ｉｍａｇｅ  Ｍａｔｃｈｉｎｇ  Ｕｓｉｎｇ  Ｌｏｃａｔｉｏｎ  Ｃａｍｂｒｉｄｇｅ，  ＭＡ：ＭＩＴ  Ｐｒｅｓｓ（１９８４）．
Ｎ．Ａｙａｃｈｅ  ａｎｄ  Ｏ．Ｄ．Ｆａｕｇｅｒａｓ，  “Ｈｙｐｅｒ：  Ａ  ｎｅｗ  ａｐｐｒｏａｃｈ  ｆｏｒ  ｔｈｅ  ｒｅｃｏｇｎｉｔｉｏｎ  ａｎｄ  ｐｏｓｉｔｉｏｎｉｎｇ  ｏｆ  ｔｗｏ−ｄｉｍｅｎｓｉｏｎａｌ  ｏｂｊｅｃｔｓ，”  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｐａｔｔｅｒｎ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｌｌｉｇｅｎｃｅ，  Ｖｏｌ．８，  Ｎｏ．１，ｐｐ．４４−５４（１９８６）．
Ｃ．Ｈ．Ｃｈｉｅｎ  ａｎｄ  Ｊ．Ｋ．Ａｇｇａｒｗａｌ．“Ｍｏｄｅｌ  ｃｏｎｓｔｒｕｃｔｉｏｎ  ａｎｄ  ｓｈａｐｅ  ｒｅｃｏｇｎｉｔｉｏｎ  ｆｒｏｍ  ｏｃｃｕｌｕｄｉｎｇ  ｃｏｎｔｏｕｒｓ，”  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｐａｔｔｅｒｎ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｌｌｉｇｅｎｃｅ，  Ｖｏｌ．１１，  Ｎｏ．４，ｐｐ．３７２−３８９（１９８９）．
観測者中心表現
観測者中心モデルでは、起こり得る２Ｄ投影像で物体を表現することにより、観測者中心座標系から物体中心座標系への非線形変換を解かなくて済む。可能な見えをアスペクトの集合（有限）に量子化するアプローチが良く使われる。各アスペクトを３Ｄ物体のトポロジが異なる投影に対応させることにより、視点による物体の見えの変化を有限個で表現する。異なるアスペクトは、別の物体であるかのように独立に表現される。したがって、２Ｄ画像と３Ｄモデルとの間の未知の対応関係は全てのアスペクトを探索することで決めることができる。Ｋｏｅｎｄｅｒｉｎｋ  ａｎｄ  ｖａｎ  Ｄｏｏｒｎは、アスペクトグラフの基本的なアイデアを最初に提唱した。アスペクトグラフでは、可能な視点の集合はガウス球の表面上の領域に分割される。物体の部分（あるいは、物体の特徴の属性）の定性的な構造は不変であると仮定している。物体に関する仮説（物体は何か、どこから見ているか）は、観測球の各領域において独立にテストされる。これらの方法を使った研究例としては、Ｇｏａｄ，  Ｄｉｃｋｉｎｓｏｎ  らの研究がある。ここでの文献を以下に示す。
【００１４】
Ｊ．Ｊ．Ｋｏｅｎｄｅｒｉｎｋ  ａｎｄ  Ａ．Ｊ．ｖａｎ  Ｄｏｏｒｎ，  “Ｔｈｅ  ｉｎｔｅｒｎａｌ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎ  ｏｆ  ｓｏｌｉｄ  ｓｈａｐｅ  ｗｉｔｈ  ｒｅｓｐｅｃｔ  ｔｏ  ｖｉｓｉｏｎ，”  Ｂｉｏｌ．  Ｃｙｂｅｒｎ．  ｖｏｌ．３２，  ｐｐ．２１１−２１６（１９７９）．    Ｃ．Ｇｏａｄ，“Ｓｐｅｃｉａｌ  ｐｕｒｐｏｓｅ  ａｕｔｏｍａｔｉｃ  ｐｒｏｇｒａｍｍｉｎｇ  ｆｏｒ  ３Ｄ  ｍｏｄｅｌ−ｂａｓｅｄ  ｖｉｓｉｏｎ，”  ｉｎ  Ｐｒｏｃ．  Ｉｍａｇｅ  Ｕｎｄｅｒｓｔａｎｄｉｎｇ  Ｗｏｒｋｓｈｏｐ  Ｖｉｒｇｉｎｉａ，  ｐｐ．９４−１０４（１９８３）．
Ｓ．Ｊ．Ｄｉｃｋｉｎｓｏｎ，  Ａ．Ｐ．Ｐｅｎｔｌａｎｄ，  ａｎｄ  Ａ．Ｒｏｓｅｎｆｅｌｄ，“Ｑｕａｌｉｔａｔｉｖｅ  ３−Ｄ  ｓｈａｐ  ｅ  ｒｅｃｏｎｓｔｒｕｃｔｉｏｎ  ｕｓｉｎｇ  ｄｉｓｔｒｉｂｕｔｅｄ  ａｓｐｅｃｔ  ｇｒａｐｈ  ｍａｔｃｈｉｎｇ，”  ｉｎ  Ｐｒｏｃ．  ＩＣＣＶ  ９０  Ｏｓａｋａ，  ｐｐ．２５７−２６２（１９９０）．
モデルを自動的に獲得する方法は、最近まであまり注目されていなかった。認識に使われるモデルは、人手で作られていた。例えばＣｈｉｅｎ  ａｎｄ  Ｋａｋ  は、表面上の点を測定し表面上に三角形を構成することでモデルを作っていた。前述のＡＣＲＯＮＹＭ  において、Ｂｒｏｏｋｓは人手で組み立てられた一般化円筒に基づいて物体を階層的に記述していた。人手でモデルを作ることは、時間がかかり、ビジョンシステムの適用範囲を限定するものである。それ以外の方法としては、複数の視点から撮影された画像から特徴を抽出し、それを使ってモデルを作る手法がある。例えば、Ｆａｎ  らは、複数の見えをモデルとして使った。物体の最も主要な表面が、見えのどれかに含まれるように、物体の複雑さに応じて人間が複数の見えを選択している。同様に、Ｊａｉｎ  ａｎｄ  Ｈｏｆｆｍａｎは、１０個の物体をもつデータベースの各物体について、各１５枚のサンプル画像を使って識別のためのモデルを構築した。ニューラルネットワークを使ったアプローチもある  Ａｂｕ−Ｍｏｓｔａｆａ  ａｎｄ  Ｐｓｌａｔｉｓは、対象物体を撮影し、その画像を物体のモデルとして使った。まず、種々の物体の画像を連想記憶型のニューラルネットワークに記憶させておく。そのネットワークに新しい画像を与えて、連想を行わせることによって認識を行うのである。連想記憶であるから、このシステムは、似ているという基準（類似度）をどのように定めるかによって、性能が規定されてしまう。しかし、一般には、同じ物体を異なる視点から撮影した画像間に、単純な類似度を定義することはできない。そのため、対象物体をモデル獲得時とは異なる視点から撮影した場合は、認識できないことがある。ここでの文献を以下に示す。
【００１５】
Ｃ．Ｈ．Ｃｈｉｅｎ  ａｎｄ  Ａ．Ｃ．Ｋａｋ，  “Ａ  ｒｏｂｏｔ  ｖｉｓｉｏｎ  ｓｙｓｔｅｍ  ｆｏｒ  ｒｅｃｏｇｎｉｔｉｏｎ  ３−Ｄ  ｏｂｊｅｃｔｓ  ｉｎ  ｌｏｗ−ｏｒｄｅｒ  ｐｏｌｙｎｏｍｉａｌ  ｔｉｍｅ，”  ＩＥＥＥ  Ｔｒａｎｓ．  Ｓｙｓｔ．，Ｍａｎ，  Ｃｙｂｅｒｎ．，  ｖｏｌ．１９，  ｎｏ．６，  ｐｐ．１５３５−１５６３（１９８９）．
Ｔ．Ｊ．Ｆａｎ，  Ｇ．Ｍｅｄｉｏｎｉ，  ａｎｄ  Ｒ．Ｎｅｖａｔｉａ，  “Ｒｅｃｏｇｎｉｚｉｎｇ  ３−Ｄ  ｏｂｊｅｃｔｓ  ｕｓｉｎｇ  Ｓｕｒｆａｃｅ  Ｄｅｓｃｒｉｐｔｉｏｎｓ，”  Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＩＥＥＥ  ２ｎｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ，  ｐｐ．４７４−４８１（１９８８）．
Ａ．Ｋ．Ｊａｉｎ  ａｎｄ  Ｒ．Ｈｏｆｆｍａｎ，  “Ｅｖｉｄｅｎｃｅ−ｂａｓｅｄ  ｒｅｃｏｇｎｉｔｉｏｎ  ｏｆ  ３−Ｄ  ｏｂｊｅｃｔｓ，”  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｐａｔｔｅｒｎ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｌｌｉｇｅｎｃｅ，  Ｖｏｌ．１０，  Ｎｏ．６，  ｐｐ．７８３−８０１（１９８８）．
Ｙ．Ｓ．Ａｂｕ−Ｍｏｓｔａｆａ  ａｎｄ  Ｄ．Ｐｓｌａｔｉｓ，“Ｏｐｔｉｃａｌ  ｎｅｕｒａｌ  ｃｏｍｐｕｔｉｎｇ，”  Ｓｃｉｅｎｔｉｆｉｃ  Ａｍｅｒｉｃａｎ，  ２５６，  ｐｐ．６６−７３（１９８７）．
ＣＡＤベーストビジョン
物体認識のためのモデルとして、ＣＡＤモデル（ビジョン以外の目的のために作られたものが多い）を使うことが興味を集めている。物体中心座標で表現されるＣＡＤモデルは、物体を定義する自然な方法を提供するし、認識に必要な情報の源にもなる。しかし、ＣＡＤモデルはビジョンに適さない方法で構築されていることが多い。Ｂｈａｎｕ  は、ＣＡＤベーストビジョンについて一般的な議論を行っている。Ｂｏｌｌｅｓ  ａｎｄ  Ｈｏｒａｕｄ’ｓ  の３ＤＰＯシステムも、レンジデータから物体の３−Ｄ部品を認識し、位置同定するためにＣＡＤモデルを使っている。彼らのモデルは２つの部分からなる：拡張されたＣＡＤモデルと特徴分類ネットワークである。ＣＡＤモデルは、エッジ、表面、頂点、それらの関係を記述する。特徴分類ネットワークは、観測可能な特徴をタイプとサイズによって記述する。それによって、認識プロセスにおいて、画像の特徴とモデルの特徴とを結び付けることが可能になる。Ｆｌｙｎｎ  ａｎｄ  Ｊａｉｎは、商用ＣＡＤシステムから生成された３−Ｄ物体の記述を使ったモデルスキーマを提案した。物体のリレーショナルグラフ表現を獲得するため幾何学的な推論が使われる。そのリレーショナルグラフ表現は、ＣＡＤの記述から導かれる視点独立の情報と、その物体の見えから抽出される視点依存の情報を両方含む。そして、そのグラフは物体認識のためのデータベースに貯えられる。この研究の中心的なアイデアは、リレーショナルグラフとしての物体モデルを作るために、物体中心の表面記述と観測者中心の情報とを結合させようとしていることである。ＣＡＤベーストビジョンの最近の研究としては、Ｉｋｅｕｃｈｉ，  Ｋｕｎｏ  ら、Ｈａｎｓｅｎ  ａｎｄ  Ｈｅｎｄｅｒｓｏｎの研究がある。ここでの文献を以下に示す。
【００１６】
Ｂ．Ｂｈａｎｕ，“ＣＡＤ−ｂａｓｅｄ  ｒｏｂｏｔ  ｖｉｓｉｏｎ，”  ＩＥＥＥ  Ｃｏｍｐｕｔ，  Ｖｏｌ．２０，  Ｎｏ．８，  ｐｐ．１３−１６（１９８７）．
Ｂ．Ｂｈａｎｕ  ａｎｄ  Ｃ．Ｈｏ，“ＣＡＤ−ｂａｓｅｄ  ３Ｄ  ｏｂｊｅｃｔ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎ  ｆｏｒ  ｒｏｂｏｔ  ｖｉｓｉｏｎ，”  ＩＥＥＥ    Ｃｏｍｐｕｔ．，  Ｖｏｌ．２０，  Ｎｏ．８，  ｐｐ．１９−３５（１９８７）．
Ｒ．Ｃ．Ｂｏｌｌｅｓ  ａｎｄ  Ｐ．Ｈｏｒａｕｄ，“３ＤＰＯ：Ａ  ｔｈｒｅｅ  ｄｉｍｅｎｓｉｏｎａｌ  ｐａｒｔ  ｏｒｉｅｎｔａｔｉｏｎ  ｓｙｓｔｅｍ，”  Ｉｎｔ．  Ｊ．Ｒｏｂｏｔｉｃｓ  Ｒｅｓ．，  Ｖｏｌ．５，  Ｎｏ．３（１９８６）．
Ｐ．Ｊ．Ｆｌｙｎｎ  ａｎｄ  Ａ．Ｋ．Ｊａｉｎ，“ＣＡＤ−ｂａｓｅｄ  ｃｏｍｐｕｔｅｒ  ｖｉｓｉｏｎ：  Ｆｒｏｍ  ＣＡＤ  ｍｏｄｅｌｓ  ｔｏ  ｒｅｌａｔｉｏｎａｌ  ｇｒａｐｈｓ，”  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｐａｔｔｅｒｎ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｌｌｉｇｅｎｃｅ，  Ｖｏｌ．１３，  Ｎｏ．２，  ｐｐ．１１４−１３２（１９９１）．
Ｋ．Ｉｋｅｕｃｈｉ，“Ｇｅｎｅｒａｔｉｎｇ  ａｎ  ｉｎｔｅｒｐｒｅｔａｔｉｏｎ  ｔｒｅｅ  ｆｒｏｍ  ａ  ＣＡＤ  ｍｏｄｅｌ  ｆｏｒ  ３−Ｄ  ｏｂｊｅｃｔｓ，”  Ｉｎｔ．  Ｊ．  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ，  Ｖｏｌ．１，  Ｎｏ．２（１９８７）．
Ｙ．Ｋｕｎｏ，  Ｙ．Ｏｋａｍｏｔｏ，  ａｎｄ  Ｓ．Ｏｋａｄａ，  “Ｏｂｊｅｃｔ  ｒｅｃｏｇｎｉｔｉｏｎ  ｕｓｉｎｇ  ａ  ｆｅａｔｕｒｅ  ｓｅａｒｃｈ  ｓｔｒａｔｅｇｙ  ｇｅｎｅｒａｔｅｄ  ｆｒｏｍ  ａ  ３Ｄ  ｍｏｄｅｌ，”  ｉｎ  Ｐｒｏｃ．  ＩＣＣＶ  ９０  Ｏｓａｋａ，  ｐｐ．６２６−６３５（１９９０）．
Ｃ．Ｈａｎｓｅｎ  ａｎｄ  Ｔ．Ｈｅｎｄｅｒｓｏｎ，“ＣＡＧＤ−ｂａｓｅｄ  ｃｏｍｐｕｔｅｒ  ｖｉｓｉｏｎ，”  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｐａｔｔｅｒｎ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｌｌｉｇｅｎｃｅ，  Ｖｏｌ．１１，  Ｎｏ．１１，  ｐｐ．１１８１−１１９３（１９８９）．
【００１７】
【発明が解決しようとする課題】
以上に述べたような従来技術について、まずモデルの表現に関してまとめると、モデルベーストビジョンを用いた方法は単純な多面体をベースにするものが多く、研究の対象としては多面体を扱うことは便利であるが、実際に多くの物体を認識対象として表現するには不十分であるという問題点があった。またモデルの表現法として、物体を粒子の集まりとみなす体積プリミティブを使う方法や、一般化円筒表現を使う方法、楕円体や球面などを表す超二次式を用いる方法などもあった。このような方法は次の文献に述べられている。
【００１８】
Ｐ．Ｊ．Ｂｅｓｌ．  “Ｇｅｏｍｅｔｒｉｃ  Ｍｏｄｅｌｉｎｇ  ａｎｄ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ，”  Ｐｒｏｃ．  ＩＥＥＥ，  ｖｏｌ．７６，  Ｎｏ．８，  ｐｐ．９３６−９５８（１９８８）．
これらの方法では、対称性に着目して、少数のパラメータで物体の形状を表現できると言う長所があるが、単純な規則性を見つけることができない多くの自然物体をモデリングするのには向いていないと言う問題点があった。
【００１９】
次にモデルの獲得については、従来のモデルベーストビジョンにおいては、モデル化が比較的容易に行える多面体や、モデルとしてＣＡＤデータを流用することができる工業用部品などを認識の対象としていた。しかしながら、ロボットが実際の自然環境において行動するためには、多面体以外の物体や、ＣＡＤデータを持たない一般の物体を認識する必要があり、従来においては一般的な物体のモデルを獲得するための手法が存在しないと言う問題点があった。
【００２０】
本発明は、一般的な外部環境に存在する物体を対象として、センサによって得られる認識対象の観測データを使用して対象の状態、すなわち種類、位置、姿勢などを推定することができる適応的認識システムを提供することを目的とする。。
【００２１】
【課題を解決するための手段】
図１は本発明の原理構成ブロック図である。同図はシステムの外部の環境中に存在する認識対象の観測データ、例えばセンサデータから、対象の認識を行う適応的認識システムの原理構成ブロック図である。
【００２２】
状態推定値出力手段１は、認識対象の観測データ、例えばセンサデータから対象の状態の推定値を出力するものであり、例えば推定モジュールである。
部分特徴観測結果予測手段２は、状態推定値出力手段１が出力する状態推定値の入力に対して、認識対象の部分的な特徴、例えばエッジなどの観測データ予測値、例えば画素データ予測値などを出力するものであり、例えば複数のテンプレートモジュールによって構成される。
【００２３】
部分特徴予測位置出力手段３は、状態推定値出力手段１が出力する状態推定値の入力に対して、認識対象の観測結果、例えば画像データにおける１つ以上の部分的特徴の予測位置を出力するものであり、例えば位置モジュールである。
【００２４】
本発明の実施例においては、例えば階層型ニューラルネットワークによって構成されるテンプレートモジュールなどの学習を高速化し、出来るだけ自動化された学習を行うために、画像上において対象物の特徴が見えるか見えないかを判定する可視・不可視判定手段が更に備えられる。
【００２５】
【作用】
本発明においては状態推定値出力手段１、例えば推定モジュールから認識対象物体とセンサ、例えばカメラとの間の相対位置・姿勢の推定値が出力され、その推定値は部分特徴観測結果予測手段２、例えばテンプレートモジュールと、部分特徴予測位置出力手段３、例えば位置モジュールとに与えられる。
【００２６】
そして部分特徴観測結果予測手段２、例えば各部分特徴に対応する各テンプレートモジュールの出力に基づいて決定される各部分特徴の画像上の位置と、部分特徴予測位置出力手段３、例えば位置モジュールが出力する部分特徴の画像上における予測位置との相違が少なくなるように例えば状態推定値出力手段１、すなわち推定モジュールの出力を修正していく作業を続けることによって対象の認識が行われる。
【００２７】
すなわち本発明の適応的認識システムの学習過程では、物体とセンサとの間の相対位置・姿勢から部分特徴がどのように見えるかと言う部分特徴の見え方への写像が、部分特徴観測結果予測手段２、すなわちテンプレートモジュールと、前述の可視・不可視判定手段、例えば可視・不可視判定モジュールによって学習され、また物体とセンサとの相対位置・姿勢から部分特徴の観測データ上での位置への写像が、部分特徴予測位置出力手段３、例えば位置モジュールによって学習されることにより、物体の自動的モデル化が行われる。
【００２８】
続いて認識過程では状態推定値出力手段１、例えば推定モジュールによって観測データから物体の種類および物体とセンサとの相対位置・姿勢が推定されるボトムアップ処理が行われ、その推定値に基づいて位置モジュールと可視・不可視判定モジュールが、部分特徴の観測データ上での位置と部分特徴の見え方の程度を予測するトップダウン処理が行われる。そして、このトップダウン処理における予測結果と観測データとの差が計算され、その差を減らすように物体とセンサとの相対位置・姿勢の推定値の修正が行われる。このようにボトムアップ処理とトップダウン処理とが交互に繰り返し行われる反復アルゴリズムを用いることにより、対象物体の認識が行われる。
【００２９】
以上のように、本発明によればシステムの学習過程において物体の自動的モデル化が行われ、認識過程において物体とセンサとの相対位置・姿勢の推定を行うことが可能となる。
【００３０】
【実施例】
本発明の実施例として、認識対象物をカメラで撮影し、対象物とカメラとの相対位置・姿勢の推定を行う視覚情報処理システムを説明する。
【００３１】
図２は本発明の適応的認識システムの実施例の全体構成ブロック図である。同図において、画像１０は認識対象物体をカメラによって撮影したものであり、この画像データはまず推定モジュール１１に与えられる。推定モジュール１１は、後述するように画像１０の処理によって得られた物体の特徴、例えばエッジの位置や方向に対応して、物体の種類および物体とカメラとの相対位置・姿勢のデータが格納されたテーブルであって、そのテーブルの内容は物体の認識に先立って格納され、物体の認識に際しては特徴、すなわちエッジの位置や方向に対応して、物体とカメラとの相対位置・姿勢１２を、テンプレートモジュール１３０  〜１３Ｎ  、位置モジュール１４、および可視・不可視判定モジュール１５に出力する。
【００３２】
テンプレートモジュール１３０  〜１３Ｎ  は、それぞれ例えば階層型ニューラルネットワークによって構成される。このテンプレートモジュールは認識対象物体に対応してその部分特徴、例えばエッジの個数だけ設けられ、物体とカメラとの相対位置・姿勢１２の入力に対して、それぞれ対応するエッジを含む部分画像の各ピクセルの濃淡値を出力するものである。
【００３３】
位置モジュール１４は、物体とカメラとの相対位置・姿勢１２の入力に基づいて、テンプレートモジュール１３０  〜１３Ｎ  にそれぞれ対応する複数の部分特徴の画像上における予測位置を出力するものであり、例えば数式モデルとして構成される。ここで位置モジュール１４の出力は、画像１０内に示されるように、ある部分特徴を含む画像領域の左上の点の座標、例えば（ｘ０  ，ｙ０  ）である。
【００３４】
可視・不可視判定モジュール１５は、物体とカメラとの相対位置・姿勢１２の入力に基づいて、テンプレートモジュール１３０  〜１３Ｎ  にそれぞれ対応する部分特徴が画像上でどの程度よく見えるかを出力するものであり、例えば階層型ニューラルネットワークによって構成される。このネットワークの出力ユニットの個数はテンプレートモジュールの個数と一致し、それぞれ対応する部分特徴がよく見える時に１、見えない時に０を出力することになる。
【００３５】
本実施例においては、物体の認識時には、カメラによって得られた画像１０から推定モジュール１１によって物体とカメラとの相対位置・姿勢１２の初期推定値が得られ、この初期推定値はテンプレートモジュール１３０  〜１３Ｎ  、および位置モジュール１４に与えられる。そしてテンプレートモジュール１３０  〜１３Ｎ  の出力と、画像とのパターンマッチングにより実際の画像上の部分特徴の位置の抽出が行われ、対応する部分特徴に対する位置モジュール１４の出力としての画像上の推定位置と、実際の画像上の部分特徴の位置との比較が行われ、両者の位置の差が少なくなるように推定モジュール１１による物体とカメラとの相対位置・姿勢の推定の更新が行われると言う反復アルゴリズムが適用され、観測データとの矛盾が少なくなるように認識対象物体の状態（種類、位置、姿勢）を推定することになる。
【００３６】
なお本実施例においては推定モジュール１１、テンプレートモジュール１３０  〜１３Ｎ  、位置モジュール１４、および可視・不可視判定モジュール１５は認識対象物体毎に用意される。認識対象物体としては例えばネジ等の機械部品、人の顔、自動車などがある。それぞれ画像などのセンサ信号を基にして先ずネジの種類、だれの顔か、および自動車の車種を識別することが問題となる。このように本実施例は、認識すべき物体があらかじめ特定されており、対象物体がどの種類のものかを識別し、その位置・姿勢を推定する問題に適するものである。
【００３７】
図２の各モジュールの動作について説明する。まず推定モジュール１１は、前述のように対象物体をカメラによって撮影した画像を処理した結果としての部分特徴、例えばエッジの位置や方向に対応して、対象物体の種類、物体とカメラとの相対位置・姿勢のデータを収集したテーブルであり、そのデータの収集は例えばテンプレートモジュールの学習に際して同時に行われ、収集されたデータは認識に備えて整理される。このモジュールで用いられる手法は、一般化Ｈｏｕｇｈ  変換とＧｅｏｍｅｔｒｉｃ  Ｈａｓｈｉｎｇ  とを用いたものであり、面積や重心位置などの形状特徴量や、輪郭エッジを特徴として用いて物体を認識すると同時に、物体とカメラとの相対位置・姿勢を求める手法であり、その内容は次の文献に述べられている。
【００３８】
Ｄ．Ｈ  Ｂａｌｌａｒｄ，  “Ｇｅｎｅｒａｌｉｚｉｎｇ  ｔｈｅ  Ｈｏｕｇｈ  ｔｒａｎｓｆｏｒｍ  ｔｏ  ｄｅｔｅｃｔ  ａｒｂｉｔｒａｒｙ  ｓｈａｐｅｓ，”  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ，  ｖｏｌ．１３，  ｎｏ．２，  ｐｐ．１１１−１２２（１９８１）．
Ｙ．Ｌａｍｄａｎ  ａｎｄ  Ｈ．Ｊ．Ｗｏｌｆｓｏｎ，  “Ｇｅｏｍｅｔｒｉｃ  ｈａｓｈｉｎｇ  ：  ａ  ｇｅｎｅｒａｌ  ａｎｄ  ｅｆｆｉｃｉｅｎｔｍｏｄｅｌ−ｂａｓｅｄ  ｒｅｃｏｇｎｉｔｉｏｎ  ｓｃｈｅｍｅ，”  ｉｎ  Ｐｒｏｃ．  ＩＣＣＶ  ８８  Ｔａｍｐａ，  ＦＬ，  ｐｐ．２３８−２４９（１９８８）．
推定モジュールの構築はデータ収集、およびデータの整理と言う２つのフェイズにおいて実行される。構築された推定モジュール１１を用いる物体認識については、システムの全体の認識アルゴリズムと関連させて後述する。
【００３９】
まずデータ収集フェイズでは、対象物体とカメラとの相対位置・姿勢の条件が設定され、その条件で撮影された画像から、その物体のエッジの画像上での位置、および方向が求められる。次に対象物体は同一として、物体とカメラとの相対位置・姿勢を変えてこの過程が繰り返され、更に対象物体を変化させてこれを繰り返すことにより、例えば対象物体（カテゴリ）Ａ，Ｂ，・・・、および物体とカメラとの相対位置・姿勢（ポーズ）Ｐ，Ｐ′，・・・に対応して、物体Ａ，Ｂ，・・・の各エッジの座標（ｘｉ  ，ｙｉ  ）、エッジの画像上での方向ｄｉ  （例えば画像上での原点とエッジとを結ぶ線分が画像座標系のｘ軸となす角）とが求められ、図３に示すようにカテゴリとポーズに対応させて、各物体に属するそれぞれ複数のエッジの画像上での位置、方向のデータが収集される。
【００４０】
次のデータ整理のフェイズでは、データ収集において求められた画像内の部分特徴、すなわちあるエッジの画像上での位置、方向を表すデータ（ｘｋ  ，ｙｋ  ，ｄｋ  ）に、そのエッジが属する可能性がある対象物体すなわちカテゴリと、物体とカメラとの相対位置・姿勢、すなわちポーズとが組み合わされたデータ、例えば〔Ａ，Ｐ〕のような組み合わせデータを全て対応させたリストが作成される。
【００４１】
まずカテゴリＡの物体をポーズＰの相対位置・姿勢の条件で撮影した画像中の物体のＮ個のエッジのデータのうちで、１つのデータ（ｘｉ  ，ｙｉ  ，ｄｉ  ）が選択され、（ｘｉ  ，ｙｉ  ）を原点、ｄｉ  の方向をｘ軸の方向に定め、その座標系で他のＮ−１個の全てのエッジ（ｘｊ  ，ｙｊ  ，ｄｊ  ）（ｊ≠ｉ）が表現される。このような処理をＮ個の全てのエッジについて行うことにより、カテゴリＡとポーズＰに対応してＮ（Ｎ−１）個の（ｘｋ  ，ｙｋ  ，ｄｋ  ）が得られる。すなわちカテゴリＡ、ポーズＰに対してＮ（Ｎ−１）個の対応関係として
（ｘｋ  ，ｙｋ  ，ｄｋ  ）−〔Ａ，Ｐ〕（ｋ＝１，２，…，  Ｎ（Ｎ−１））
が得られる。同様にして、全てのカテゴリとポーズとの組み合わせに対して、各カテゴリの物体の部分特徴をＮ個とする時、Ｎ（Ｎ−１）個の対応関係が得られる。
【００４２】
このように各カテゴリと各ポーズとの全ての組み合わせについて、それぞれＮ（Ｎ−１）個の対応関係が得られた後に、もしも例えば〔Ａ，Ｐ〕に対応する（ｘｋ  ，ｙｋ  ，ｄｋ  ）と〔Ｂ，Ｐ′〕に対応する（ｘｌ  ，ｙｌ  ，ｄｌ  ）が一致する、すなわち（ｘｋ  ，ｙｋ  ，ｄｋ  ）＝（ｘｌ  ，ｙｌ  ，ｄｌ  ）が成立する場合には
（ｘｋ  ，ｙｋ  ，ｄｋ  ）−（〔Ａ，Ｐ〕−〔Ｂ，Ｐ′〕）
のように（ｘｋ  ，ｙｋ  ，ｄｋ  ）に対応するカテゴリとポーズとの組み合わせデータが追加される。このような処理を全てのデータについて行うと最終的には
（ｘｋ  ，ｙｋ  ，ｄｋ  ）−（〔Ａ，Ｐ〕−〔Ｂ，Ｐ′〕−〔Ｃ，Ｐ″〕−…
のように、（ｘｋ  ，ｙｋ  ，ｄｋ  ）をキーとして、それに対応するリスト〔Ａ，Ｐ〕−〔Ｂ，Ｐ′〕−〔Ｃ，Ｐ″〕−…が格納されたテーブルが構築される。
【００４３】
次に図２のその他のモジュールの学習について説明する。なお、これらのモジュールのうち、テンプレートモジュール１３０  〜１３Ｎ  、および可視・不可視判定モジュール１５はそれぞれ階層型ニューラルネットワークによって構成されるために、ここではこれらのモジュールの学習を中心として説明し、例えば数式モデルによって構成される位置モジュール１４の学習については後に詳述する。
【００４４】
学習によって物体のモデルを自動的に獲得する場合、必要になる条件は、第１にどこの視点から観測しても各部分特徴を確実に発見できるようにすることである。第２の条件はなるべく人手を使わずに、自動的に視点と各部分特徴の見え方との関係を獲得することであり、第３の条件はなるべく高速に学習を行うことである。
【００４５】
第１の条件を達成するためには、多くの視点から観測を行い、ユーザが各部分特徴について視点との間の対応関係を逐一教えてやればよいが、第２、第３の条件に反することになってしまう。そこで本実施例では学習を準備学習フェイズと、自動学習フェイズに分けることと、学習結果の信頼性を評価するために可視・不可視判定モジュール１５を使用することによって、この問題点を解決する。
【００４６】
すなわち準備学習フェイズにおいては、ユーザが選んだ視点からユーザが選んだ特徴を学習させ、一方自動学習フェイズでは準備学習フェイズにおける学習結果を基にして、システムが自動的に視点と部分特徴を選んで学習を行う。更に可視・不可視判定モジュール１５を使うことによって、無駄な学習パターンや、間違った学習パターンを選んでしまうことなしに学習を進めるようにする。なお階層型ニューラルネットワークの学習アルゴリズムとしてはバックプロパゲーション法を用い、画像から部分特徴を発見する方法としては相関テンプレートマッチングを使うものとする。
【００４７】
図４は準備学習フェイズにおける処理フローチャート、図５は準備学習フェイズにおける物体座標系の定義の説明図、図６は準備学習フェイズにおける学習パターンの選び方の説明図である。これらの図を用いて準備学習フェイズにおける処理を説明する。
【００４８】
図４において、まずステップＳ１において学習対象物体が用意され、適当な位置にその物体が配置される。続いてステップＳ２で可視・不可視判定モジュール１５の初期化が行われる。この初期化においては、対象物体の部分特徴のそれぞれが見えるか見えないかの判定値を出力する出力層ユニットの出力が、あらゆる入力に対して  ０．５、すなわち見えるか見えないかが確認されていない状態を意味する値に設定される。
【００４９】
ステップＳ３において、ロボットハンドが物体を把持した状態においてその時のカメラ座標系が物体座標系と定義（その時のハンドの位置を原点、カメラ座標系の各軸に平行な方向を座標軸として定義）され、世界座標系における物体座標系の原点位置と姿勢が記憶される。図５において物体はハンドに把持されていないが、ハンドに物体を把持させた状態で物体座標系の定義が行われる。この定義の方法は１つの例であり、何らかの方法で物体に対して固定された座標系を定めることができればよい。ステップＳ３では、物体座標系の定義の後に後述するハンドの移動回数ｉが０に設定され、ステップＳ４の処理に移行する。
【００５０】
ここで世界座標系における物体座標系の位置・姿勢を記憶するのは、後述するように物体座標系とカメラ座標系との相対位置・姿勢を求める時に使用するためである。世界座標系におけるロボット固定座標系の位置・姿勢は既知であり、またロボット固定座標系からハンド座標系への変換、ハンド座標系からカメラ座標系への変換が既知であれば、世界座標系におけるカメラ座標系の位置・姿勢を求めることができる。世界座標系における物体座標系の位置・姿勢の記憶結果を用いることにより、世界座標系を媒介として物体座標系とカメラ座標系との間の相対位置・姿勢を計算することができる。
【００５１】
準備学習フェイズのステップＳ４において、ハンドの移動回数ｉがあらかじめ設定されている回数Ｎに達したか否かが判定され、達していない時にはステップＳ５でハンドが移動され、ｉの値がインクリメントされる。そしてステップＳ６で学習に使用される部分特徴が画像中でユーザによって探索され、ステップＳ７で物体とカメラとの相対位置・姿勢、部分特徴に対応する部分的画像におけるピクセルの濃淡値、部分特徴の位置、および部分特徴の可視・不可視のデータが記憶され、ステップＳ８でそのデータを使って各モジュールの訓練が行われる。
【００５２】
図６はこの準備学習フェイズにおける学習パターンの説明図である。ハンドを移動させ、その移動位置からカメラによって物体を撮影した画像を得ることにより、ステップＳ７で説明したデータが記憶され、その学習パターン０を用いてステップＳ８で各モジュールの訓練が行われる。同様にしてステップＳ５でハンドを移動させることにより学習パターン１，２，…，Ｎが得られ、その学習パターンを用いて各モジュールの学習が行われる。そしてステップＳ４で予め設定されたＮにハンドの移動回数が達した時点で学習を終了する。ここでＮの設定法に関しては特に一般的な規則はないが、位置・姿勢に要求される同定の精度に応じて、試行錯誤的にＮの値が設定される。
【００５３】
図７は自動学習フェイズにおける処理のフローチャートである。同図においてステップＳ１０で部分特徴の１つが選択され、ステップＳ１１で可視・不可視判定モジュールの出力が  ０．２と  ０．８の間に入るような位置・姿勢領域の体積が、予め設定された値Ｓより大きいか否かが判定される。ここでモジュールの出力が  ０．２と  ０．８の間に入るということは、モジュールの出力が  ０．５に近く、選択された部分特徴が見えるか見えないかがはっきりしないことを意味する。また、位置・姿勢領域の体積については、例えば位置・姿勢が３次元空間において求められる場合には、位置・姿勢は６個の変数を用いて表され、それぞれの変数に対応して選択された部分特徴が見えるか見えないかはっきりしない領域はｎ＝６次元空間における体積として表されることを意味する。そして、この体積が予め与えられた値より大きい、すなわち選択された部分特徴が見えるか見えないかはっきりしない領域が広い場合には、ステップＳ１２の処理に移行する。
【００５４】
ステップＳ１２においては、例えば可視・不可視判定モジュール１５に対する入力値をランダムに変化させて、モジュールの出力が  ０．８となるような相対位置・姿勢が求められる。このモジュールの出力が  ０．８となるということは選択された特徴がほぼ見えると判定されることを意味し、そのような値を持つ物体とカメラとの相対位置・姿勢が求められる。そしてステップＳ１３でその位置・姿勢にカメラが移動されて、またその位置・姿勢の値が各モジュールに入力される。
【００５５】
ステップＳ１４においては、テンプレートモジュールの出力を用いて画像上の部分特徴の探索が行われる。ここで可視・不可視判定モジュール１５の出力が  ０．８に達しているということはテンプレートモジュールの出力の信頼性が高いことを意味し、その出力は認識対象物体の部分特徴とほぼ一致しているものと考えられる。従ってその出力に対して画像中で最もよく一致する部分データ、すなわちパターンを探索することにより、その部分特徴を見つけることができるこの場合、選択された特徴に対応するテンプレートモジュールの出力のみを用いるだけでよく、他のテンプレートモジュールの出力は無関係である。
【００５６】
テンプレートモジュールの出力との相関マッチングの結果、相関の最大値が  ０．９以下であるか否かがステップＳ１５で判定される。相関の最大値が  ０．９より小さくないと判定されると、その位置・姿勢はすでに準備学習フェイズにおいて学習されたものとして、その位置・姿勢に対する処理は終了し、ステップＳ１２以降の処理が繰り返される。
【００５７】
ステップＳ１５で相関の最大値が  ０．９以下と判定されるとステップＳ１６で相関の最大値が  ０．７以上か否かが判定される。以上の場合には相関の最大値が  ０．７と  ０．９の間にあることになる。この位置・姿勢に対応する学習を行うべきものと判定されるために、ステップＳ１７で物体とカメラとの相対位置・姿勢、部分特徴に対応する各ピクセルの濃淡値、部分特徴の位置、部分特徴が可視であることを示す‘１’のデータが記憶され、ステップＳ１８で各モジュールの訓練が行われ、ステップＳ１１の処理に戻る。
【００５８】
ステップＳ１６で相関の最大値が  ０．７以上でないと判定されると、ステップＳ２０で相関の最大値が  ０．５以下であるか否かが判定される。そして  ０．５以下である場合には、その部分特徴は可視と判定されているにもかかわらず、対応する部分特徴と一致しないことになるので、この位置・姿勢に対応する学習パターンは間違った学習パターンであることになる。そこでステップＳ２１で可視・不可視判定モジュールだけを、対応する出力ユニットの出力値が‘０’、すなわち不可視であることを示すように訓練が行われ、ステップＳ１２の処理に戻る。またステップＳ２０で相関の最大値が  ０．５以下でないと判定されると、その部分特徴は可視と判定されているにもかかわらず、相関の最大値が  ０．５と  ０．７の間にあることになり、信頼性のある学習パターンが得られないと判定されて、ステップＳ１２の処理に戻る。
【００５９】
ステップＳ１１で、可視・不可視判定モジュールの出力が  ０．２と  ０．８の間に入るような位置・姿勢領域の体積がＳより小さくなったと判定されると、ステップＳ２２で可視・不可視判定モジュールの出力が  ０．７より小さいような位置・姿勢に対して、可視・不可視判定モジュールの出力が‘０’となるようにモジュールの訓練が行われ、次の部分特徴を対象としてステップＳ１１以降の処理が行われる。
【００６０】
可視・不可視判定モジュールは、前述のように無駄な学習パターンや間違った学習パターンを選んでしまうことを防止して、学習を能率的に進めるために用いられる。学習時間を減らすためには無駄な学習パターンを使わないことが望ましい。物体の各部分特徴の見え方は、視点を変えることによって大きく変化する場合と、あまり変化しない場合とがある。この区別を有効に利用することにより、なるべく数の少ない有効な視点における学習パターンだけを獲得することができる。しかしながら、視点を変えることによって部分特徴の見え方が大きく変化する場合には、今までに学習した結果を用いるだけでは対応する部分特徴を発見することができず、画像の内部の別の部分とマッチさせた間違った学習パターンを獲得してしまうおそれがある。可視・不可視判定モジュールはこのトレードオフを解決するものであり、その動作を図８〜図１０を用いて更に詳細に説明する。
【００６１】
図８は可視・不可視判定モジュールの学習手順のフローチャートである。同図において、ステップＳ２５で可視・不可視判定モジュールの初期化が行われる。この時点では、全ての視点に対してそれぞれの部分特徴が見えるか見えないかはまだ確認されていない。そこで未確認であることを示すために、前述のようにあらゆる入力に対してモジュールの出力ユニットが  ０．５を出力するように初期化が行われる。
【００６２】
続いてステップＳ２６において、前述の準備学習フェイズにおける学習、すなわち準備学習が行われる。このステップでは、ユーザによって指定された位置・姿勢において各特徴点が可視であるか不可視てあるかを観測し、その結果に応じてモジュールの学習が行われる。この学習が行われた後には、可視・不可視判定モジュールの出力が‘１’となるような視点に対しては、テンプレートモジュールの出力と画像データとの相関によって部分特徴を確実に発見することができるようになる。またモジュールの出力が‘１’に近く、例えば  ０．８となるような視点に対しても、信頼性はやや低くなるが、部分特徴をほぼ確実に発見することができる。
【００６３】
ステップＳ２７においては、前述の自動学習フェイズにおける学習、すなわち自動学習が行われる。すなわち可視・不可視判定モジュールの出力は  ０．８程度とやや低いが、ほぼ確実に部分特徴を発見できるような視点に対応して学習が行われ、これを繰り返すことにより準備学習のステップＳ２６において獲得された視点を中心として、信頼性の高い視点おける学習が次々と行われていく。すなわち間違った学習パターンを獲得することなく、可視・不可視判定モジュールの出力が  ０．５に近い値となるような未確認領域を徐々に減らしていくことができる。これによって適当な視点が指定された場合に、部分特徴が可視であるか不可視であるかがはっきりしないことが少なくなり、もし可視である場合にはその特徴を確実に発見できるようになる。
【００６４】
図９は可視・不可視判定モジュールの出力の変化の説明図である。同図（ａ）  は初期化後の出力を示し、物体とカメラとの相対位置・姿勢、ここでは１つの変数の値がいくつであっても、モジュールの出力がほぼ  ０．５となるように初期化が行われている。
【００６５】
（ｂ）  は準備学習後の出力を示す。〇印は準備学習フェイズにおける学習点を示し、可視である場合には出力は１となっており、不可視である場合には０となっている。出力が  ０．２から  ０．８の間では、部分特徴が可視であるか不可視であるかははっきりと判定されず、そのような出力値に対応する相対位置・姿勢の値は未確認領域として残されている。
【００６６】
図９（ｃ）  は自動学習中の出力を示す。  ０．８以上の出力値を持つ場合を自動的に学習することにより、可視または不可視が不明の未確認領域に対応する相対位置・姿勢の範囲が狭められていく過程が示されている。
【００６７】
図９（ｄ）  は自動学習後の出力を示す。部分特徴が可視であるか不可視であるかがはっきりしない未確認領域に対応する相対位置・姿勢の範囲は、図（ｂ）  の準備学習後に比べてかなり狭くなっている。
【００６８】
図１０は準備学習と自動学習において使われる画像の説明図である。同図（ａ）  は準備学習フェイズで使われる画像の例であり、ユーザである人間が物体とカメラとの相対位置・姿勢を指定して、人手によって部分特徴を画像から抽出して学習が行われる。
【００６９】
これに対して（ｂ）  は自動学習に使われる画像である。可視・不可視判定モジュールの出力が比較的大きい点、または小さいままである点が追加学習点として自動的に選ばれ、追加学習が行われる。
【００７０】
次に位置モジュールの動作について説明するが、その前に位置モジュールで用いられる座標系の変換について、図１１を用いて説明する。図１１においては座標変換の並進成分をベクトルｐで、また回転成分を回転行列Ｒで表している。例１１  Ｃｐｈ  はカメラ座標系におけるハンド座標系の位置を、また  ＣＲｈ  はカメラ座標系におけるハンド座標系の姿勢を表している。
【００７１】
図１２は学習時における位置モジュール（数式モデル）の動作の説明図である。同図において１４ａは、この数式モデルにおいて、カメラ座標系における物体座標系の位置・姿勢を求める時に使われる式である。
【００７２】
１４ｂは物体座標で表された部分特徴ｉの位置と、１４ａで求められたカメラ座標系における物体座標系の姿勢とを用いて、姿勢変化（回転）を求めるための式である。
【００７３】
１４ｃは、１４ａで求められたカメラ座標系における物体座標系の位置と、１４ｂで求められた姿勢変化とを用いて位置変化（並進）を求めるための式である。
【００７４】
１４ｄは、１４ｃで求められた位置変化と、カメラの焦点距離、およびアスペクト比（画面の縦と横の長さの比）とを用いて、透視投影として画像座標における部分特徴ｉの画像上での位置を求めるための式である。
【００７５】
位置モジュールの学習時には、ハンド座標系における物体座標系の位置・姿勢と、認識対象物体の部分特徴ｉの画像上での位置（画像座標）が与えられ、物体座標で表された部分特徴ｉの位置と、カメラ座標系におけるハンド座標系の位置・姿勢と、カメラの焦点距離、およびアスペクト比が同定される。すなわちここでは同定されるべきパラメータの個数に応じた数の式を連立させて解くことにより、これらのパラメータを求めることができるが、一般にパラメータを決めるのに最低限必要な数よりも沢山のデータが得られるために、後述するようにこのパラメータ推定は最小二乗法を用いて行うことにする。
【００７６】
次に認識時の動作について説明する。図１３は認識時における物体とカメラとの相対位置・姿勢の推定方法の全体的な説明図である。前述のように、推定モジュール１１によって物体とカメラとの相対位置・姿勢１２が出力されるが、この値は当然推定値であって最初から正しいものではない。いずれにせよ、この推定値がテンプレートモジュール１３０  〜１３Ｎ  、位置モジュール１４、および可視・不可視判定モジュール１５に与えられ、テンプレートモジュールが出力する各部分特徴の位置が画像１０の上で探索され、実際にマッチした位置と位置モジュール１４によって出力された対応する部分特徴の予測位置とがともに画像座標で比較され、両者の間の誤差（二乗誤差）が最小となるように、推定モジュール１１による物体とカメラとの相対位置・姿勢１２の出力以降の動作が繰り返される。
【００７７】
図１４は対象物体の認識時の全体処理フローチャートである。同図において、まずステップＳ３０で推定モジュール１１によって物体とカメラとの相対位置・姿勢１２の初期推定値が生成され、その初期推定値はステップＳ３１でテンプレートモジュール１３０  〜１３Ｎ  、位置モジュール１４、および可視・不可視判定モジュール１５に与えられる。
【００７８】
そしてステップＳ３２で最小二乗法を適用するために必要な数の部分特徴が見つかったか否かが判定され、まだ見つかっていない場合にはステップＳ３３で可視・不可視判定モジュールの出力が  ０．８よりも大きく、可視と判断できる部分特徴がまだ存在するか否かが判定され、存在する場合には、ステップＳ３４で対応するテンプレートモジュールの出力を使って、可視・不可視判定モジュールの出力が  ０．８よりも大きい部分特徴の探索が行われ、その後ステップＳ３２の処理に戻る。
【００７９】
ステップＳ３２で最小二乗法を適用するために必要な数の部分特徴が見つかったと判定されると、ステップＳ３５で最小二乗法を適用して残差（後述する評価関数）の評価が行われ、ステップＳ３６でその残差があらかじめ定められている量εより小さいか否かが判定され、小さい場合には推定モジュール１１の出力が求めるべき物体とカメラとの相対位置・姿勢の認識結果とされて、処理を終了する。
【００８０】
最小二乗法の残差があらかじめ定められた量εより小さくないとステップＳ３６で判定された時、またはステップＳ３３で必要な数の部分特徴が発見されないうちに可視・不可視判定モジュールの出力が  ０．８よりも大きい部分特徴がなくなったと判定されると、ステップＳ３０に戻り、推定モジュール１１による物体とカメラとの相対位置・姿勢１２の推定値の生成以降の処理が繰り返される。
【００８１】
続いて認識時の各モジュールの動作を説明する。図１５は認識時における推定モジュール１１の動作の説明図である。同図は、認識対象物体の画像から抽出された部分特徴としてのエッジの座標を用いて、図３などで説明したデータ（リスト）が格納されたテーブルを検索し、その結果に応じて物体とカメラとの相対位置・姿勢の指定値を得るための推定モジュールの動作の説明図である。
【００８２】
図１５において、まずステップＳ４０で画像から抽出されたＭ個のエッジのうちから任意の１つが選択される。そしてステップＳ４１でそのエッジの位置、および方向（ｘｉ  ，ｙｉ  ，ｄｉ  ）のデータから、（ｘｉ  ，ｙｉ  ）を原点、ｄｉ  をｘ軸の方向として定めた座標系を用いて、他のＭ−１個のエッジ（ｘｊ  ，ｙｊ  ，ｄｊ  ）が表現される。その結果Ｍ−１個の（ｘｋ  ，ｙｋ  ，ｄｋ  ）（ｋ＝０，…，Ｍ−２）が得られることになる。
【００８３】
続いてステップＳ４２で、Ｍ−１個のエッジ（ｘｋ  ，ｙｋ  ，ｄｋ  ）をそれぞれキーとして使い、あらかじめ作成されているテーブルの内容が検索される。このテーブルの内容は、前述のようにエッジに対応した物体の種類と物体とカメラとの相対位置・姿勢、すなわちカテゴリとポーズとが組み合わされたデータのリストであり、キーに対応して得られたリストを用いてステップＳ４３で対応するメッシュへの投票が行われる。
【００８４】
すなわちステップＳ４３では、まず得られたリストのそれぞれの組み合わせデータのカテゴリに対応して、物体の種類空間が区切られたメッシュへの投票が行われ、またポーズに対応して位置・姿勢空間への投票が行われる。ここで位置・姿勢空間としては例えば３次元物体の認識であれば、６個の変数に対応する空間がメッシュで区切られることになるが、ここではそのうち２個の変数に対応して２次元空間をメッシュに区切った例が示されている。
【００８５】
このような処理をＭ−１個のそれぞれのエッジをキーとして使って繰り返すことによって、最終的に例えば図１５の右下に示すような投票数が得られたものとすると、投票数最大、または投票数が十分大きい部分の中心値を、物体の種類、および物体とカメラとの相対位置・姿勢の推定値として図１４のステップＳ３０で出力することになる。
【００８６】
なお図１５において、例えば位置・姿勢空間のメッシュの分割数はポーズの区分けと対応して、メッシュとポーズの一致が判定されるが、一致判定の精度は与えられたタスクにおける必要な精度によって決まる。例えば角度において一度の精度が必要であれば、その精度が実現できるように一致判定の精度を決める必要がある。具体的な決め方に関しては一般的な方法はなく、例えば予備実験を行って試行錯誤的に決められる。
【００８７】
図１６は認識時における位置モジュール１４の動作の説明図である。同図において、位置モジュールとして用いられる数式１４ａ〜１４ｄは図１２におけると同一である。
【００８８】
認識時に位置モジュール１４に入力として与えられるものは、まず第１に物体座標系における部分特徴の位置である。この部分特徴の位置は学習時に同定されて、その同定された値が与えられる。学習時に推定された部分特徴の位置は、物体に張りついている物体座標系における部分特徴の座標であり、その値は物体が変形しない限り認識時にも使うことができる。すなわち部分特徴の位置の同定は個々の物体のモデリングに関するものであり、学習時に同定されるのが妥当である。
【００８９】
第２の入力はカメラ座標系におけるハンド座標系の位置・姿勢である。この値はカメラをロボットハンドに取り付けた後には一定であり、学習時に同定されたものを用いることができる。第３の入力はカメラの焦点距離とアスペクト比であり、これも学習時に同定されている。
【００９０】
第４の入力はハンド座標系における物体座標系の位置・姿勢の推定値であり、これは例えば推定モジュール１１の出力、すなわち物体とカメラとの相対位置・姿勢を用いて、カメラ座標系からハンド座標系への変換を行うことによって、位置モジュールに与えられる。
【００９１】
認識時の位置モジュール１４の出力は認識対象物体の部分特徴の画像上での予測位置（画像座標）である。この出力、すなわち部分特徴の予測位置の周辺で、テンプレートモジュールの出力を用いて画像上で部分特徴の位置が探索される。一般的に画像上での部分特徴の位置は予測位置と異なっており、両者の差をなくすように位置モジュール１４への入力の１つとしてのハンド座標系における物体座標系の位置・姿勢が修正されることになる。このようにして出力側の誤差を用いて、入力の１つである物体座標系の位置・姿勢が同定されると言う動作が行われる。
【００９２】
なお順序は逆になったが、ここで位置モジュールの学習について更に説明すると、位置モジュールの学習は準備学習フェイズで集められたデータを用いて行われる。従って学習の順序は第１に準備学習フェイズ、第２に位置モジュールの学習、第３にテンプレートモジュールの学習、第４に自動学習フェイズの順となる。テンプレートモジュールの学習では、準備学習フェイズで集められたデータを用いて学習が行われ、自動学習フェイズでは更にデータを集めて学習が続けられることになる。
【００９３】
本発明の認識システムは、システムが持っている物体モデルを使って対象物体を認識したり、その位置・姿勢を同定するモデルベーストな認識システムである。学習時に対象物体の部分特徴の物体座標を推定することは対象物体のモデルを獲得することを意味し、そのモデル獲得を学習時に行うことは不自然ではない。
【００９４】
図１７はニューラルネットワークを用いた位置モジュールの学習動作の説明図である。同図において、物体認識システム２０は外界２１に存在する認識対象物体２２のデータをセンサ２３によって集め、センサデータのサンプリング投影２４によって物体の像２５を求める。位置モジュールに対しては、物体２２の姿勢・位置を変動させて物体の像における部分特徴の位置ｄを観測し、物体の位置・姿勢Ｓを教師データとして入力層ユニットに、また物体の像２５における部分特徴の位置ｄを出力層ユニットに与えて、バックプロパゲーションによる学習を行わせる。
【００９５】
図１８はニューラルネットワークを用いた位置モジュールの認識動作の説明図である。認識時には、まず▲１▼で物体の位置・姿勢Ｓの初期値ｓｉ  が何らかの方法によって仮定され、入力層ユニットに入力される。本実施例では、この初期値として推定モジュール１１が出力する物体とカメラとの相対位置・姿勢を用いることができる。そして、ニューラルネットワークから出力された像における部分特徴の位置ｆが、▲２▼でセンサ２３によって実際に計測された像２５内の部分特徴の位置ｄと比較され、その差が求められる。そして▲３▼で、その差に対応するエネルギー関数が最小となる物体の位置・姿勢Ｓが認識過程２６を経由して、物体の種類、位置２７の認識結果として出力される。
【００９６】
このようにニューラルネットワークを用いた位置モジュールの認識時には推定モジュール１１は物体とカメラとの相対位置・姿勢の初期値のみを出力し、位置モジュールとしてのニューラルネットワークはその後推定モジュール１１の出力を用いることなく、以下に説明するＩｔｅｒａｔｉｖｅ  Ｉｎｖｅｒｓｉｏｎ  法を用いて、エネルギー関数を最小とする物体の位置・姿勢を求める。Ｉｔｅｒａｔｉｖｅ  Ｉｎｖｅｒｓｉｏｎ  法については次の文献がある。
【００９７】
Ｄ．Ｍａｓｕｍｏｔｏ，  Ｔ．Ｋｉｍｏｔｏ，  ａｎｄ  Ｓ．Ｎａｇａｔａ，  “Ａ  Ｓｅｎｓｏｒｙ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｃｅｓｓｉｎｇ  Ｓｙｓｔｅｍ  Ｕｓｉｎｇ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ−Ｔｈｒｅｅ−Ｄｉｍｅｎｓｉｏｎａｌ  Ｏｂｊｅｃｔ  Ｒｅｃｏｇｎｉｔｉｏｎ  ｗｉｔｈ  Ｓｅｎｓｏｒｉｍｏｔｏｒ  Ｆｕｓｉｏｎ，”  Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇ  ｏｆ  １９９３  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ，  Ｖｏｌ．ＩＩ，  ６５５／６６０（１９９３）．
Ｉｔｅｒａｔｉｖｅ  Ｉｎｖｅｒｓｉｏｎ  法では、前述のように、図１８の▲２▼で求められるニューラルネットワークの出力ｆと実際の像における位置ｄとの差に対応するエネルギー関数
【００９８】
【数１】
0003560670.tif 000002
【００９９】
を、最急降下法によって最小にする。
【０１００】
【数２】
0003560670.tif 000003
【０１０１】
Ｋは定数、エネルギー関数を最小とするｓが解となる。
右辺第２項は、以下のように展開できる。
【０１０２】
【数３】
0003560670.tif 000004
【０１０３】
この式の第１項について考える。
【０１０４】
【数４】
0003560670.tif 000005
【０１０５】
右辺の偏微分は、物体の位置が変化した時に、像がどの程度変化するかを表している。すなわち、ニューラルネットワークの入力層の１つのユニットの値の変化が、出力層の１つのユニットの出力値の変化にどのくらい影響するかという感度を表す。これは、以下のように計算できる。
【０１０６】
図１８のように、
入力層のユニットｉの入出力値をｓｉ  ，
入力層ユニットｉと中間層のユニットｋとの間の結合の重みをｗｋｉ，
中間層のユニットｋの入力値をＨｋ  ＝Σｉ  ｗｋｉｓｉ  ，
中間層のユニットｋの出力値をｈｋ  ＝σ（Ｈｋ  ），（σはユニットの入出力関数）
中間層ユニットｋと出力層のユニットｊとの間の結合の重みをｖｊｋ，
出力層のユニットｊの入力値をＦｊ  ＝Σｋ  ｖｊｋｈｋ  ，
出力層のユニットｊの出力値をｆｊ  ＝σ（Ｆｋ  ），
と定義する。このとき、
【０１０７】
【数５】
0003560670.tif 000006
【０１０８】
したがって、
【０１０９】
【数６】
0003560670.tif 000007
【０１１０】
となる。特にσとして、シグモイド関数
【０１１１】
【数７】
0003560670.tif 000008
【０１１２】
を採用すると、
【０１１３】
【数８】
0003560670.tif 000009
【０１１４】
となるので、
【０１１５】
【数９】
0003560670.tif 000010
【０１１６】
のように簡単に計算できる。
次に位置モジュールのさらに異なる実施例として、回転の空間において距離測度が定義できるように単位四元数による回転の表現を用いて図１２と図１６を書直して図１９に示す。単位四元数の計算規則と物理的意味などについて次の文献がある。
【０１１７】
Ｂ．Ｋ．Ｐ．Ｈｏｒｎ，  “Ｃｌｏｓｅｄ−ｆｏｒｍ  Ｓｏｌｕｔｉｏｎ  ｏｆ  Ａｂｓｏｌｕｔｅ  ｏｒｉｅｎｔａｔｉｏｎ  ｕｓｉｎｇ  ｕｎｉｔ    ｑｕａｔｅｒｎｉｏｎｓ，”  Ｊ．Ｏｐｔ，  Ｓｏｃ．  Ａｍ．  Ａ／Ｖｏｌ．４，  Ｎｏ．４，  Ａｐｒｉｌ  １９８７
ここで、後に利用するため、図１９内のｑ（０，ｒ）  外１  を計算しておく
【０１１８】
【外１】
0003560670.tif 000011
【０１１９】
ことにする。なお、ｑは対象物体の姿勢を表現するものであり、ｑの要素から回転行列を計算することができる。また、ｒは対象物体の位置を表現するものであり、適当な座標系における対象物体の基準点の位置ベクトルと考えることができる。さらに  外２  はｑの共役数を示す。
【０１２０】
【外２】
0003560670.tif 000012
【０１２１】
【数１０】
0003560670.tif 000013
【０１２２】
とすると、
【０１２３】
【数１１】
0003560670.tif 000014
【０１２４】
最後に図１９の場合を含めて、位置モジュールの学習と認識についてさらに詳細に説明する。前述のように、位置モジュールにおいて同定すべきパラメータは位置モジュールの学習時には、
・カメラの内部パラメータ（焦点距離、アスペクト比）
・物体座標系における物体の特徴の位置（物体モデル）
・ハンド座標系とカメラ座標系との相対値・姿勢（ハンドアイキャリブレーション）
であり、
認識時には、
・学習時に決めた物体座標系と、現在のハンド座標系との相対位置・姿勢である。
【０１２５】
これらのパラメータを同定するため、以下のような評価関数を定義する。
画像上の各部分特徴について、実際の位置と予測された位置との距離を二乗し、その値をすべての部分特徴について足し合わせたものを評価関数Ｅと定義する。
【０１２６】
【数１２】
0003560670.tif 000015
【０１２７】
ここで、  外３  は、部分特徴ｉが実際に観測された位置であり、  外４  は
【０１２８】
【外３】
0003560670.tif 000016
【０１２９】
【外４】
0003560670.tif 000017
【０１３０】
、同定すべきパラメータの値を何らかの方法で仮定した時に計算される部分特徴の予測位置である。ここでは推定モジュール１１の初期推定値に対応する位置モジュールの出力である。
【０１３１】
最小二乗方法は、このように二乗誤差で定義された評価関数を最小化することによって、パラメータの値を同定する手法である。なお、最小二乗法によるパラメータ推定に関しては、以下に示す文献がある。
【０１３２】
Ｆ．Ａｒｍａｎ  ａｎｄ  Ｊ．Ｋ．Ａｇｇａｒｗａｌ，“Ｍｏｄｅｌ−Ｂａｓｅｄ  Ｏｂｊｅｃｔ  Ｒｅｃｏｇｎｉｔｉｏｎ  ｉｎ  Ｄｅｎｓｅ−Ｒａｎｇｅ  Ｉｍａｇｅｓ−Ａ  Ｒｅｖｉｅｗ，”  ＡＣＭ  Ｃｏｍｐｕｔｉｎｇ  Ｓｕｒｖｅｙｓ，  Ｖｏｌ．２５，  Ｎｏ．１，  ｐｐ．５−４３（１９８６）．
今野浩、山下浩、非線形計画法、日科技連（１９７８）．
中川徹、小柳義夫、最小二乗法による実験データ解析、東京大学出版会（１９８２）．
本発明では、上で定義した評価関数を最小化するために最急降下法を使う。最急降下法とは、評価関数の同定したい変数に対する勾配（１回微分）を利用して、評価関数の極小値を探索するアルゴリズムである。極小値が複数存在する場合は、１回の探索で最小値を得ることができるとは限らない。その場合は、初期値を変えて複数回探索し、見つかった極小値の中で最も小さい値を最小値と見なすという方法が良く使われている。
【０１３３】
最急降下法における１回の探索は、以下の手順で行われる。
１．初期値の推定（ｔ＝０）：変数ｘ＝（ｘ０  ，ｘ１  ，…，ｘｎ  ）の値を何らかの方法で推定する。ここで、その値をｘ（０）とする。
２．終了条件
【０１３４】
【数１３】
0003560670.tif 000018
【０１３５】
ここで、εは予め定められた小さい正数
この条件が満たされれば終了。Ｅ（ｘ（ｔ）  ）は極小値（最小値の候補）であり、ｘ（ｔ）  が変数の同定値である。この条件が満たされていなければ、３に進む。３．更新
【０１３６】
【数１４】
0003560670.tif 000019
【０１３７】
ここで、λは探索の刻幅を決める適当な正数
ｔ＝ｔ＋１として２に戻り、終了条件の判定を行う。
最急降下法で更新を行う際、Ｅの微分（勾配）∂Ｅ（ｘ）／∂ｘの計算が必要となる。
ここで、
【０１３８】
【数１５】
0003560670.tif 000020
【０１３９】
である。
以下に、各パラメータについて  外５  と  外６  を計算する（簡単のため、
【０１４０】
【外５】
0003560670.tif 000021
【０１４１】
【外６】
0003560670.tif 000022
【０１４２】
それぞれ∂ｕｉ／∂ｘ，∂ｖｉ／∂ｘと記す）。
カメラの内部パラメータ（焦点距離、アスペクト比）について計算すると、
焦点距離ｆについては、
【０１４３】
【数１６】
0003560670.tif 000023
【０１４４】
となり、アスペクト比ａについては、
【０１４５】
【数１７】
0003560670.tif 000024
【０１４６】
となる。
物体座標系における物体の特徴の位置（ｘｊ  ，ｙｊ  ，ｚｊ  ）について計算すると、
【０１４７】
【数１８】
0003560670.tif 000025
【０１４８】
となり、ｉ≠ｊの場合は、
【０１４９】
【数１９】
0003560670.tif 000026
【０１５０】
となることがわかる。したがって、ｉ＝ｊの場合を考えれば良い。これ以降添え字ｉ，ｊを省略する。
なお、（２６），（２７）  式については、本発明では物体座標系において特徴ｊだけを微小に動かしても他の特徴は動かないとの仮定に基づいている。このように仮定しても多くの視点から特徴を観測することにより正しい解に達することができ、計算を簡単化できる。
【０１５１】
ここで、  ｃｑ０  ＝（ｑ０  ，ｑｘ  ，ｑｙ  ，ｑｚ  ）として、式（１２）を使うと、
【０１５２】
【数２０】
0003560670.tif 000027
【０１５３】
となるから、これを元の式に代入してやることによって、勾配が計算できる。
∂ｕｉ／∂ｙｊ，∂ｖｉ／∂ｙｊ，∂ｕｉ／∂ｚｊ，∂ｖｉ／∂ｚｊについても同様にして計算できる。
【０１５４】
ハンド座標系とカメラ座標系との相対位置・姿勢  ｃｑｈ  については次式が得られる。
【０１５５】
【数２１】
0003560670.tif 000028
【０１５６】
これも、（１２）式等を使うことによって計算できる。
学習時に決めた物体座標系と、現在のハンド座標系との相対位置・姿勢  ｈｑ０  については次式となる。
【０１５７】
【数２２】
0003560670.tif 000029
【０１５８】
これも、（１２）式等を使うことによって計算できる。
【０１５９】
【発明の効果】
以上詳細に説明したように、本発明によれば単純な規則性が見つからないような多くの自然物体をモデリングすることができ、より現実的な環境で使用できる認識システムを構築することができる。そして、このシステムを用いることにより、観測された物体が物体モデルと同じものか否かを識別でき、同じ物体である場合には物体とセンサとの相対位置・姿勢（例えば６自由度）を推定することができる。
【０１６０】
更に本発明の効果を説明すると、本発明の特徴は以下の２点である。
・３Ｄ物体モデルの表現法：観測者中心表現モデル（部分特徴の見え方）と物体中心表現モデル（部分特徴の位置）を合わせ持つ。
・３Ｄ物体モデルの自動獲得：可視・不可視判定モジュールを使って、認識に必要な学習パターンを効率良く自動獲得することができる。
【０１６１】
各特徴がどのような効果を持つかについて説明する。
モデルの表現については、部分テンプレート結合モデルでは、物体の部分の幾何学的特性と、それらの間の幾何学的な関係によって物体をモデル化する。
・個々の部分テンプレートが、物体の部分のモデル（観測者中心表現）となっており、
・部分間の幾何学的関係が、物体モデル（物体中心表現）となっている。
【０１６２】
部分テンプレート結合モデルは、観測者中心表現モデルと物体中心表現モデルを合わせ持っているのである。
物体の部分特徴のように視点の変化によって像がどのように変わるか定式化しにくいものは、階層型ニューラルネットワークを使って観測者中心表現でモデル化している。ニューラルネットワークは、画像中のデータとマッチできるように、モデルの特徴を画像における特徴に投影する関数を近似している。一方、部分特徴の間の幾何学的関係のように視点が変化するとどのような位置関係になるか定式化し易いものは、物体中心表現でモデル化している。このように物体を表現することによって、種々の物体について容易にモデル化を行うことができる。
【０１６３】
さらに、ある観測点から部分特徴が見えるか見えないかを判定する可視・不可視判定モジュールと組み合わせて使うことによって、認識を効率良く行うことができる。
【０１６４】
モデルの獲得については、一般に、観測者中心表現モデルは視点をさまざまに変えて、その像を直接モデルとして使うことができるためモデルの獲得が容易である。しかし、部分テンプレート結合モデルの場合は、異なる視点間の各特徴の対応問題を解決しなければならない。可視・不可視判定モジュールを使うことにより、各特徴の対応関係を保ちながら、いろいろな視点から見た場合の像を獲得して行く学習アルゴリズムを作成した。このアルゴリズムにより、認識に必要な像を効率良く獲得することができる。
【図面の簡単な説明】
【図１】本発明の原理構成ブロック図である。
【図２】本発明の適応的認識システムの実施例の全体構成ブロック図である。
【図３】推定モジュールによって収集されるデータを説明する図である。
【図４】準備学習フェイズにおける処理のフローチャートである。
【図５】準備学習フェイズにおける物体座標系の定義の説明図である。
【図６】準備学習フェイズにおける学習パターンの選び方の説明図である。
【図７】自動学習フェイズにおける処理のフローチャートである。
【図８】可視・不可視判定モジュールの学習手順のフローチャートである。
【図９】可視・不可視判定モジュールの出力の変化の説明図である。
【図１０】準備学習と自動学習において使われる画像の説明図である。
【図１１】位置モジュールで用いられる座標系の変換についての説明図である。
【図１２】学習時における位置モジュール（数式モデル）の動作の説明図である。
【図１３】認識時における物体とカメラとの相対位置・姿勢の推定方法の全体的な説明図である。
【図１４】対象物体の認識時の全体処理フローチャートである。
【図１５】認識時における推定モジュールの動作の説明図である。
【図１６】認識時における位置モジュールの動作の説明図である。
【図１７】ニューラルネットワークを用いた位置モジュールの学習動作の説明図である。
【図１８】ニューラルネットワークを用いた位置モジュールの認識動作の説明図である。
【図１９】四元数を用いた位置モジュールの動作の説明図である。
【符号の説明】
１    状態推定値出力手段
２    部分特徴観測結果予測手段
３    部分特徴予測位置出力手段
１０    画像
１１    推定モジュール
１２    物体とカメラとの相対位置・姿勢
１３０  〜１３Ｎ      テンプレートモジュール
１４    位置モジュール
１５    可視・不可視判定モジュール
２０    物体認識システム
２１    外界
２２    物体
２３    センサ
２４    サンプリング投影
２５    物体の像
２６    認識
２７    物体、位置
【図１】
0003560670.tif 000030
【図２】
0003560670.tif 000031
【図３】
0003560670.tif 000032
【図４】
0003560670.tif 000033
【図５】
0003560670.tif 000034
【図６】
0003560670.tif 000035
【図７】
0003560670.tif 000036
【図８】
0003560670.tif 000037
【図９】
0003560670.tif 000038
【図１０】
0003560670.tif 000039
【図１１】
0003560670.tif 000040
【図１２】
0003560670.tif 000041
【図１３】
0003560670.tif 000042
【図１４】
0003560670.tif 000043
【図１５】
0003560670.tif 000044
【図１６】
0003560670.tif 000045
【図１７】
0003560670.tif 000046
【図１８】
0003560670.tif 000047
【図１９】
0003560670.tif 000048