(57)【特許請求の範囲】
【請求項１】
画像から認識対象の形状を示す輪郭線を検出するとともに、前記認識対象における前記輪郭線の検出位置を示す位置情報を取得する輪郭検出部と、
前記輪郭線を複数の分割輪郭線に分割し、前記分割輪郭線における一方の端点を通過する接線の傾きと他方の端点を通過する接線の傾きを求め、これらの接線が交差することにより形成される角度に基づき、前記分割輪郭線に近似する円弧の曲率中心角を算出する曲率中心角算出部と、
前記分割輪郭線の長さを算出する輪郭長算出部と、
前記曲率中心角と前記分割輪郭線の長さとに基づいて曲率半径を求め、前記曲率半径に基づき前記円弧の曲率を算出する幾何的演算部と、
前記認識対象における前記分割輪郭線の位置を示す前記位置情報と、前記分割輪郭線の曲率とに基づき、前記認識対象の形状を認識する物体認識部と、
を備え、
前記輪郭長算出部は、前記分割輪郭線の鮮明度が一定以上の場合に、前記一方の端点から前記他方の端点までの前記分割輪郭線の実際の長さを前記分割輪郭線の長さとして算出し、前記分割輪郭線の鮮明度が一定未満の場合に、前記一方の端点から前記他方の端点までの直線距離を前記分割輪郭線の長さとして算出する
ことを特徴とする物体認識装置。
【請求項２】
物体を一意に特定する物体識別子と、当該物体識別子により特定される物体の輪郭線における位置を示す位置情報と曲率が対応付けられて格納される曲率テーブルを記憶する記憶部をさらに備え、
前記物体認識部は、
前記曲率テーブルから、形状の認識に利用した前記分割輪郭線の位置情報および曲率と一定以上に近似する位置情報および曲率が対応付けられている物体識別子を特定することにより物体を認識する
ことを特徴とする請求項１に記載の物体認識装置。
【請求項３】
前記分割輪郭線ごとに算出された曲率を、前記分割輪郭線の位置情報と、前記輪郭線に対応する物体の物体識別子と対応付けて前記曲率テーブルに登録するテーブル登録部をさらに備える
ことを特徴とする請求項２に記載の物体認識装置。
【請求項４】
画像から認識対象の形状を示す輪郭線を検出するとともに、前記認識対象における前記輪郭線の検出位置を示す位置情報を取得する輪郭検出ステップと、
前記輪郭線を複数の分割輪郭線に分割し、前記分割輪郭線における一方の端点を通過する接線の傾きと他方の端点を通過する接線の傾きを求め、これらの接線が交差することにより形成される角度に基づき、前記分割輪郭線に近似する円弧の曲率中心角を算出する曲率中心角算出ステップと、
前記分割輪郭線の長さを算出する輪郭長算出ステップと、
前記曲率中心角と前記分割輪郭線の長さとに基づいて曲率半径を求め、前記曲率半径に基づき前記円弧の曲率を算出する幾何的演算ステップと、
前記認識対象における前記分割輪郭線の位置を示す前記位置情報と、前記分割輪郭線の曲率とに基づき、前記認識対象の形状を認識する物体認識ステップと、
を備え、
前記輪郭長算出ステップにおいて、前記分割輪郭線の鮮明度が一定以上の場合に、前記一方の端点から前記他方の端点までの前記分割輪郭線の実際の長さを前記分割輪郭線の長さとして算出し、前記分割輪郭線の鮮明度が一定未満の場合に、前記一方の端点から前記他方の端点までの直線距離を前記分割輪郭線の長さとして算出する
ことを特徴とする物体認識方法。
【請求項５】
コンピュータを、
画像から認識対象の形状を示す輪郭線を検出するとともに、前記認識対象における前記輪郭線の検出位置を示す位置情報を取得する輪郭検出手段、
前記輪郭線を複数の分割輪郭線に分割し、前記分割輪郭線における一方の端点を通過する接線の傾きと他方の端点を通過する接線の傾きを求め、これらの接線が交差することにより形成される角度に基づき、前記分割輪郭線に近似する円弧の曲率中心角を算出する曲率中心角算出手段、
前記分割輪郭線の長さを算出する輪郭長算出手段、
前記曲率中心角と前記分割輪郭線の長さとに基づいて曲率半径を求め、前記曲率半径に基づき前記円弧の曲率を算出する幾何的演算手段、
前記認識対象における前記分割輪郭線の位置を示す前記位置情報と、前記分割輪郭線の曲率とに基づき、前記認識対象の形状を認識する物体認識手段、
として機能させ、
前記輪郭長算出手段は、前記分割輪郭線の鮮明度が一定以上の場合に、前記一方の端点から前記他方の端点までの前記分割輪郭線の実際の長さを前記分割輪郭線の長さとして算出し、前記分割輪郭線の鮮明度が一定未満の場合に、前記一方の端点から前記他方の端点までの直線距離を前記分割輪郭線の長さとして算出する
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像における物体を認識する物体認識装置とその方法に関する。また、コンピュータに物体認識機能を与えるためのプログラムに関する。
【背景技術】
【０００２】
画像内に含まれる物体を認識する物体認識の技術として、例えば顔や指紋などの特定の対象物を認識する特定物体認識が実用化されている。例えば顔認識技術であれば、デジタルカメラなどに広く応用されている状況にある。そして、近年では一般物体認識の技術が注目されている。一般物体認識は、画像内に含まれる物体を一般的な名称で認識することをいう。
【０００３】
一般物体認識では認識対象となる画像の特徴量を抽出することが必要になる。このような特徴量の１つとして輪郭線の曲率を利用することが可能であり、以下のように曲率を利用する技術が知られている。つまり、カメラから入力したオブジェクトの映像からオブジェクトの輪郭線を抽出し、抽出された輪郭線の曲率をスプライン補間の手法により算出する。そして、算出された曲率の特徴をもとにオブジェクトを同定するというものである（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−５５４４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記の技術では、輪郭線の曲率を算出するにあたりスプライン補間による一般的な手法を用いているが、このような手法では、量子化誤差やノイズに敏感に反応してしまうために、算出される曲率の誤差も大きいという問題がある。
【０００６】
そこで本発明は、輪郭線の曲率を特徴量として利用して画像内の物体を認識するにあたり、ノイズによる誤差を抑制して精度の高い曲率が求められるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、上述の課題を解決すべくなされたもので、本発明の一態様による物体認識装置は、画像から認識対象の形状を示す輪郭線を検出するとともに、前記認識対象における前記輪郭線の検出位置を示す位置情報を取得する輪郭検出部と、前記輪郭線を複数の分割輪郭線に分割し、前記分割輪郭線における一方の端点を通過する接線の傾きと他方の端点を通過する接線の傾きを求め、これらの接線が交差することにより形成される角度に基づき、前記分割輪郭線に近似する円弧の曲率中心角を算出する曲率中心角算出部と、前記分割輪郭線の長さを算出する輪郭長算出部と、前記曲率中心角と前記分割輪郭線の長さとに基づいて曲率半径を求め、前記曲率半径に基づき前記円弧の曲率を算出する幾何的演算部と、前記認識対象における前記分割輪郭線の位置を示す前記位置情報と、前記分割輪郭線の曲率とに基づき、前記認識対象の形状を認識する物体認識部と、を備え、前記輪郭長算出部は、前記分割輪郭線の鮮明度が一定以上の場合に、前記一方の端点から前記他方の端点までの前記分割輪郭線の実際の長さを前記分割輪郭線の長さとして算出し、前記分割輪郭線の鮮明度が一定未満の場合に、前記一方の端点から前記他方の端点までの直線距離を前記分割輪郭線の長さとして算出する。
【００１２】
また、本発明の一態様による物体認識装置において、物体を一意に特定する物体識別子と、当該物体識別子により特定される物体の輪郭線における位置を示す位置情報と曲率が対応付けられて格納される曲率テーブルを記憶する記憶部をさらに備え、前記物体認識部は、前記曲率テーブルから、形状の認識に利用した前記分割輪郭線の位置情報および曲率と一定以上に近似する位置情報および曲率が対応付けられている物体識別子を特定することにより物体を認識する。
【００１３】
また、本発明の一態様による物体認識装置において、前記分割輪郭線ごとに算出された曲率を、前記分割輪郭線の位置情報と、前記輪郭線に対応する物体の物体識別子と対応付けて前記曲率テーブルに登録するテーブル登録部をさらに備える。
【００１４】
また、本発明の一態様による物体認識方法は、画像から認識対象の形状を示す輪郭線を検出するとともに、前記認識対象における前記輪郭線の検出位置を示す位置情報を取得する輪郭検出ステップと、前記輪郭線を複数の分割輪郭線に分割し、前記分割輪郭線における一方の端点を通過する接線の傾きと他方の端点を通過する接線の傾きを求め、これらの接線が交差することにより形成される角度に基づき、前記分割輪郭線に近似する円弧の曲率中心角を算出する曲率中心角算出ステップと、前記分割輪郭線の長さを算出する輪郭長算出ステップと、前記曲率中心角と前記分割輪郭線の長さとに基づいて曲率半径を求め、前記曲率半径に基づき前記円弧の曲率を算出する幾何的演算ステップと、前記認識対象における前記分割輪郭線の位置を示す前記位置情報と、前記分割輪郭線の曲率とに基づき、前記認識対象の形状を認識する物体認識ステップと、を備え、前記輪郭長算出ステップにおいて、前記分割輪郭線の鮮明度が一定以上の場合に、前記一方の端点から前記他方の端点までの前記分割輪郭線の実際の長さを前記分割輪郭線の長さとして算出し、前記分割輪郭線の鮮明度が一定未満の場合に、前記一方の端点から前記他方の端点までの直線距離を前記分割輪郭線の長さとして算出する。
【００１５】
また、本発明の一態様によるプログラムは、コンピュータを、画像から認識対象の形状を示す輪郭線を検出するとともに、前記認識対象における前記輪郭線の検出位置を示す位置情報を取得する輪郭検出手段、前記輪郭線を複数の分割輪郭線に分割し、前記分割輪郭線における一方の端点を通過する接線の傾きと他方の端点を通過する接線の傾きを求め、これらの接線が交差することにより形成される角度に基づき、前記分割輪郭線に近似する円弧の曲率中心角を算出する曲率中心角算出手段、前記分割輪郭線の長さを算出する輪郭長算出手段、前記曲率中心角と前記分割輪郭線の長さとに基づいて曲率半径を求め、前記曲率半径に基づき前記円弧の曲率を算出する幾何的演算手段、前記認識対象における前記分割輪郭線の位置を示す前記位置情報と、前記分割輪郭線の曲率とに基づき、前記認識対象の形状を認識する物体認識手段、として機能させ、前記輪郭長算出手段は、前記分割輪郭線の鮮明度が一定以上の場合に、前記一方の端点から前記他方の端点までの前記分割輪郭線の実際の長さを前記分割輪郭線の長さとして算出し、前記分割輪郭線の鮮明度が一定未満の場合に、前記一方の端点から前記他方の端点までの直線距離を前記分割輪郭線の長さとして算出する。
【発明の効果】
【００１６】
本発明によれば、輪郭線の曲率を特徴量として利用して画像内の物体を認識するにあたり、ノイズによる誤差が抑制されて精度の高い曲率を求めることが可能になるという効果が得られる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態における物体認識装置の構成例を示す図である。
【図２】本発明の第1の実施形態の物体認識装置における機能構成例を示す図である。
【図３】本実施形態において、分割輪郭線を抽出する処理の一具体例を模式的に示す図である。
【図４】本実施形態における曲率テーブルの構造例を示す図である。
【図５】本実施形態において、画像から輪郭線を検出する処理の一具体例を模式的に示す図である。
【図６】第1の実施形態における曲率算出手法を模式的に示す図である。
【図７】一般的に想定される曲率算出手法により、図４に示した画像の輪郭の曲率を算出した結果例を示す図である。
【図８】第1の実施形態における曲率算出手法により図４に示した画像の輪郭の曲率を算出した結果例を示す図である。
【図９】第1の実施形態における物体認識のための処理手順例を示す図である。
【図１０】第1の実施形態における曲率テーブルへの登録処理のための処理手順例を示す図である。
【図１１】第２の実施形態の物体認識装置における機能構成例を示す図である。
【図１２】第２の実施形態における曲率算出手法を模式的に示す図である。
【図１３】第２の実施形態における物体認識のための処理手順例を示す図である。
【図１４】第３の実施形態の物体認識装置における機能構成例を示す図である。
【図１５】第３の実施形態における物体認識のための処理手順例を示す図である。
【発明を実施するための形態】
【００１８】
＜第１の実施形態＞
［物体認識装置の構成例］
図１は、本実施形態の物体認識装置１００の構成例を示している。この図に示す物体認識装置１００は、ＣＰＵ（Central Processing Unit）１０１、ＲＡＭ（Random Access Memory）１０２、記憶部１０３、撮像部１０４、入力インターフェース１０５および出力インターフェース１０６を備える。これらの部位は、データバス１０７を介して接続されている。
【００１９】
ＣＰＵ１０１は、記憶部１０３に記憶されるプログラムを実行することにより、物体認識装置としての各種の機能を実現する。
【００２０】
ＲＡＭ１０２は、主記憶装置として機能するもので、ＣＰＵ１０１が実行すべきプログラムが記憶部１０３から読み出されて展開される。また、ＲＡＭ１０２は、ＣＰＵ１０１が演算処理を実行する際の作業領域として使用される。
【００２１】
記憶部１０３は、補助記憶装置として機能するもので、ＣＰＵ１０１により実行されるプログラムや各種データを格納する。なお、この記憶部１０３には、例えばハードディスク、また、フラッシュメモリなどの半導体記憶装置を採用することができる。
【００２２】
撮像部１０４は、撮像により得られる画像光から画像データを生成する部位である。このために、撮像部１０４は、レンズや絞りなどから成る光学系と、撮像素子と、当該撮像素子によって生成された撮像信号から画像データを生成する画像信号処理部などを備えて構成される。撮像部１０４によって得られた画像データは、例えばＣＰＵ１０１の制御によって記憶部１０３に記憶させることができる。
【００２３】
入力インターフェース１０５は、例えばキーボードやマウスなどの操作デバイスをはじめとする物体認識装置１００への入力デバイスを一括して示したものである。また、出力インターフェース１０６は、例えばディスプレイデバイスやスピーカなどの出力デバイスを一括して示したものである。
【００２４】
［物体認識装置の機能構成例］
図２は、第１の実施形態において、ＣＰＵ１０１がプログラムを実行することにより実現される物体認識のための機能構成例を示している。なお、この図においては、ＣＰＵ１０１とともに記憶部１０３が示される。ここでは、記憶部１０３に記憶されるデータのうち、ＣＰＵ１０１が物体認識のために利用する画像データ記憶領域１３１および曲率テーブル１３２が示される。
【００２５】
物体認識処理に対応する機能部として、ＣＰＵ１０１は、画像データ取得部１１１、輪郭検出部１１２、曲率算出部１２０、物体認識部１１３およびテーブル登録部１１４を備える。
この物体認識装置として機能するＣＰＵ１０１は、認識対象Ｐを含む画像データから認識対象Ｐの形状の特徴を示す情報を取得する。このＣＰＵ１０１は、入力する画像データに含まれる認識対象Ｐの物体を認識するための物体認識モードが設定されている場合、取得した認識対象Ｐの形状の特徴を示す情報を利用して、認識対象Ｐの形状に対応する認識対象Ｐの物体を判定する。一方、入力する画像データに含まれる認識対象Ｐの物体を判定するための登録データを作成するための物体登録モードが設定されている場合、取得した認識対象Ｐの形状の特徴を示す情報がどのような物体であるかを登録する。本実施形態に係る物体認識装置として機能するＣＰＵ１０１は、モードが設定されることにより、物体認識モードによる処理、あるいは、物体登録モードによる処理を実行する。
本実施形態において、ＣＰＵ１０１は、認識対象Ｐの形状の特徴を示す情報として、認識対象Ｐの輪郭を示す輪郭線２００に基づき、輪郭線２００を複数ｎ個に分割した分割輪郭線Ｇi｛ｉ＝１，２，・・・，ｎ｝の曲率Ｋiを示す情報と、認識対象Ｐにおける分割輪郭線Ｇiの位置を示す情報とを含む。
【００２６】
画像データ取得部１１１は、記憶部１０３に含まれる画像データ記憶領域１３１から認識対象Ｐを含む画像データを読み出す。画像データ記憶領域１３１は、撮像部１０４の撮像により得られた１以上の静止画の画像データを格納する記憶領域である。例えばユーザは、入力インターフェース１０５における所定の操作デバイスに対して操作を行うことで、画像データ記憶領域１３１に格納されている画像データのうちから、任意の物体認識処理対象の画像データを指定する。画像データ取得部１１１は、上記の操作によって指定された画像データを画像データ記憶領域１３１から読み出す。
【００２７】
なお、画像データ取得部１１１は、記憶部１０３において記憶されていた形式のままの画像データを画像データ記憶領域１３１から読み出してもよい。または、例えば所定の色成分のみによる画像データに変換するなど、以降の輪郭検出などに適した形式に変換する。そして、この変換後の形式の画像データを読み出すようにしてもよい。
【００２８】
輪郭検出部１１２は、画像データ取得部１１１により取得された画像データを入力し、この画像データの画像から、認識対象Ｐの輪郭を示す輪郭線２００を検出する。
【００２９】
ここで、図３を参照して、輪郭検出部１１２による輪郭検出処理について説明する。図３は、輪郭検出部１１２による輪郭検出処理について説明するための参考図である。図３（ａ）には、認識対象Ｐを含む画像データ１３１ａの一例を示す。この画像データ１３１ａに含まれる認識対象Ｐは、図示するように、所定のフォント形式による「４」の文字である。そして、上記図４（ａ）に示す画像データ１３１ａについて輪郭検出処理を行うことにより、輪郭検出部１１２は、図４（ｂ）に示すように、認識対象Ｐの形状を示す輪郭線２００を検出する。
この輪郭線２００を形成する画素（点）の各々は、座標として表現される。ここで、上記座標については以下の２つにより表現される。１つは、直交座標（ｘ、ｙ）である。直交座標（ｘ，ｙ）は、画像データの画像面をＸＹ座標として各画素の位置を示す座標値である。もう１つは、輪郭座標ｔである。輪郭座標ｔは、輪郭線２００における所定の点を基点として、輪郭線２００をトレースしていくように付される。
図４（ｂ）では、具体例として、輪郭線２００において矢印ａで示す部分を輪郭座標ｔ＝０として規定し、ここを起点として輪郭線２００を一定の距離ごとに時計回りでトレースしていく。図において矢印ｂで示す輪郭線２００の部分が、ほぼ輪郭座標ｔ＝３００の位置となる。
【００３０】
説明を図２に戻す。曲率算出部１２０は、輪郭線２００を複数の分割輪郭線Ｇiに分割し、これらの分割輪郭線Ｇiごとに、少なくとも２つの算出点における接線に基づいて分割輪郭線Ｇiに近似する円弧の曲率Ｋiを算出する。本実施形態では、２点の算出点を利用する場合を想定する。また、この２つの算出点として、具体的には、輪郭線２００から抽出した輪郭部分における両側の端点を利用する。
【００３１】
第１の実施形態において、曲率算出部１２０は、図示するように、輪郭分割部１２１、曲率中心角算出部１２２、輪郭線実際長算出部１２３および幾何的演算部１２４を備える。
【００３２】
輪郭分割部１２１は、輪郭検出部１１２により検出された輪郭を、曲率を算出するための輪郭線の微少な部分（以下、分割輪郭線と称する）に分割する。このように輪郭線２００を分割するにあたり、１つには、下記の処理を考えることができる。
【００３３】
図４は、輪郭線２００を分割する処理を模式的に示している。まず、図４（ａ）に示すように、輪郭分割部１２１は、輪郭線２００を検出した画像領域を所定サイズの分割領域２１０に分割する。この分割領域２１０は、一例として、例えば縦方向と横方向がそれぞれ１０画素による１００画素程度のサイズの分割領域２１０に分割する。
【００３４】
そして、輪郭分割部１２１は、図４（ｂ）に例示するように、輪郭線２００の一部分を含む分割領域２１０から分割輪郭線Ｇiを抽出するというものである。なお、輪郭分割部１２１は、輪郭線２００の一部分を含む分割領域２１０のすべてから分割輪郭線Ｇiを抽出してもよいし、輪郭線２００の一部分を含む部分領域２１０のうちから曲率を算出すべき所定数の部分領域２１０を選択し、これらの選択された部分領域２１０から分割輪郭線Ｇiを抽出してもよい。
【００３５】
また、本実施形態において、輪郭分割部１２１は、曲率Ｋを算出のための２つの算出点として、図４（ｂ）のように抽出された分割輪郭線Ｇiの両端Ｈ１i、Ｈ２iを検出する。以下、この両端を算出点Ｈ１i、Ｈ２iを記す。この輪郭分割部１２１は、分割輪郭線Ｇiの両端Ｈ１i、Ｈ２iを位置を示す情報を取得する。本実施形態において、輪郭分割部１２１は、分割輪郭線Ｇiの算出点Ｈ１i、Ｈ２iの位置を示す情報として、画面データの画面のＸＹ座標系における座標値を取得する。なお、本発明はこれに限られず、分割輪郭線Ｇi上の任意の点を算出点として取得するものであればよく、２以上の算出点を取得するもであってもよい。また、分割輪郭線Ｇiの算出点Ｈ１i、Ｈ２iの位置を示す情報として、輪郭座標ｔで表わすものであってもよい。
【００３６】
曲率中心角算出部１２２は、分割輪郭線Ｇiにおける一方の算出点Ｈ１iを通過する接線Ｔ１iの傾きθiと他方の算出点Ｈ２iを通過する接線Ｔ２iの傾きθiを求め、これらの接線Ｔ１i、Ｔ２iが交差することにより形成される角度に基づき、当該分割輪郭線Ｇiに近似する円弧の曲率中心角αiを算出する。
輪郭線実際長算出部（輪郭長算出部）１２３は、抽出された分割輪郭線Ｇiの実際の長さＬiを算出する。
なお、曲率中心角算出部１２２による曲率中心角αiの算出手法の具体例および輪郭線実際長算出部１２３による分割輪郭線Ｇiの実際の長さＬiの算出手法例については後述する。
【００３７】
幾何的演算部１２４は、曲率中心角算出部１２２により算出された曲率中心角αiと、輪郭線実際長算出部１２３により算出された分割輪郭線Ｇiの実際の長さＬiとにより、後述するように分割輪郭線の曲率半径ｒiを算出し、この算出した曲率半径ｒiの逆数として分割輪郭線Ｇiの曲率Ｋiを算出する。
【００３８】
このようにして、ＣＰＵ１０１は、輪郭検出部１１２によって取得された分割輪郭線Ｇiの位置として、算出点Ｈ１iの座標値（ｘ１，ｙ１）と算出点Ｈ２iの座標値（ｘ２，ｙ２）を取得する。また、ＣＰＵ１０１は、幾何的演算部１２４により分割輪郭線Ｇi｛ｉ＝１，２，・・・，ｎ｝の曲率Ｋiを示す情報を取得する。つまり、ＣＰＵ１０１は、分割輪郭線Ｇiの位置を示す情報（ｘ１，ｙ１）および（ｘ２，ｙ２）と、分割輪郭線Ｇi｛ｉ＝１，２，・・・，ｎ｝の曲率Ｋiを示す情報を、認識対象Ｐの形状の特徴を示す情報として取得する。
【００３９】
物体認識部１１３は、物体認識モードが設定されている場合、記憶部１０３に記憶される曲率テーブル１３２を参照して、分割輪郭線Ｇiごとに算出された曲率Ｋiに基づいて、画像データから検出された輪郭に相当する物体を認識する。
【００４０】
図５は、曲率テーブル１３２の構造例を示している。この図に示す曲率テーブル１３２は、物体識別子１３２ａに曲率情報１３２ｂが対応付けられた構造を有する。また、曲率情報１３２ｂは、認識対象Ｐにおける分割輪郭線Ｇiの位置を示す情報（分割輪郭線座標１３２ｃ）と、対応する分割輪郭線Ｇiの曲率Ｋiを示す情報曲率情報１３２ｄとを対応付けた構造を有する。
【００４１】
物体識別子１３２ａは、物体ごとに一意に割り当てられた識別子であり、ここでは一例として「０」〜「Ｎ」の数値により表現されるものとしている。曲率情報１３２ｂは、対応の物体の輪郭から抽出した分割輪郭線Ｇiごとの座標と曲率Ｋiを示す情報となる。つまり、曲率情報１３２ｂにおける分割輪郭線座標１３２ｃは、輪郭から抽出された分割輪郭線Ｇiを個々に特定する座標を格納する。この場合の分割輪郭線座標１３２ｃは、分割輪郭線Ｇiにおける２つの端点である算出点Ｈ１i、Ｈ２iの各直交座標（ｘ１,ｙ１）、（ｘ２,ｙ２）を格納することとしている。曲率１３２ｄは、対応の分割輪郭線Ｇiの曲率Ｋiの値を格納する。
【００４２】
説明を図２に戻す。物体認識部１１３は、分割輪郭線Ｇiの位置を示す位置情報（分割輪郭線の端点である算出点Ｈ１i、Ｈ２iの座標（ｘ１,ｙ１）、（ｘ２,ｙ２）、または、分割輪郭線Ｇiに対応する輪郭座標）と、分割輪郭線の曲率とに基づき、認識対象の形状を認識する。
【００４３】
そして、上記の形状認識に利用する位置情報と曲率の情報は、曲率テーブル１３２における１つの物体識別子１３２ａに対応付けられた曲率情報１３２ｂと同じ構造として得られる。そこで、物体認識部１１３は、曲率テーブル１３２における曲率情報１３２ｂと上記の位置情報と曲率の情報とを照合することにより、曲率算出結果情報と同じとみなせる曲率情報１３２ｂが対応付けられた物体識別子１３２ａを特定する。このように物体識別子を特定することにより、例えばその物体の一般名称を認識することができる。
【００４４】
なお、曲率テーブル１３２における曲率情報１３２ｂと曲率算出結果情報とを照合する際には、具体的に以下のような手順を想定することができる。つまり、物体認識部１１３は、まず、曲率算出結果情報と近似率が一定以上の曲率情報１３２ｂを特定する。そのうえで、近似率が一定以上の曲率情報１３２ｂに対応付けられた物体識別子１３２ａが複数特定された場合には、近似率が高い曲率情報１３２ｂが対応付けられている物体識別子１３２ａを選択するというものである。
【００４５】
また、図２に示す構成においては、テーブル登録部１１４により、曲率テーブル１３２に対するデータの登録を行うことが可能とされている。例えば、画像データ記憶領域１３１に対して登録対象の物体の画像を含む画像データを記憶させておき、画像データ取得部１１１により、この登録対象の物体の画像を含む画像データを処理対象として取得させる。これにより、登録対象の物体についての曲率算出結果情報が取得される。そこで、テーブル登録部１１４は、ユーザが操作デバイスに対する操作により入力した物体識別子１３２ａと取得された曲率算出結果情報を曲率情報１３２ｂとして対応付けて、曲率テーブル１３２に登録する。このように、テーブル登録部１１４は、物体認識の場合と同様にして求めた分割輪郭線Ｇiごとの曲率を曲率情報１３２ｂとして扱い、物体識別子１３２ａと対応付けて曲率テーブル１３２に登録することができる。
【００４６】
［分割輪郭線の曲率の算出手法例］
図６は、分割輪郭線Ｇiの曲率Ｋiを算出するための手法例を示している。つまり、曲率中心角算出部１２２による曲率中心角αiの算出手法と、輪郭線実際長算出部１２３による分割輪郭線Ｇiの実際長Ｌiの算出手法と、幾何的演算部１２４による曲率Ｋiの算出手法が示される。
【００４７】
図６（ａ）には、輪郭分割部１２１により得られた１つの分割輪郭線Ｇiが示されている。分割輪郭線Ｇiは、一方の端点である算出点Ｈ１iの直交座標（ｘ１,ｙ１）と、他方の端点である算出点Ｈ１iの直交座標（ｘ２,ｙ２）により特定される。つまり、分割輪郭線Ｇiは、２つの算出点により特定される。
【００４８】
まず、曲率中心角算出部１２２による曲率中心角αiの算出手法例について説明する。曲率中心角算出部１２２は、分割輪郭線Ｇiの一方の端点である算出点Ｈ１iを通過する接線Ｔ１iの傾き角θ１ｉを算出する。同様に、曲率中心角算出部１２２は、他方の端点である算出点Ｈ２iを通過する接線Ｔ２iの傾き角θ２ｉを算出する。接線Ｔ１iは、端点である算出点Ｈ１iの座標（ｘ１,ｙ１）を通過し、下記の式によって求められる傾き角θ１iを有する直線である。同様に、接線Ｔ２iは、端点である算出点Ｈ２iの座標（ｘ２,ｙ２）を通過し、下記の式により求められる傾き角θ２iを有する直線である。
【００４９】
【数１】
0005760827.tif 000002
【００５０】
曲率中心角算出部１２２は、直交座標（ｘ１，ｙ１）の接線Ｔ１iの傾きθ１iと、直交座標（ｘ２，ｙ２）の接線Ｔ２iの傾きθ２iとに基づき、接線Ｔ１iとＴ２iが交差する角度βiを算出する。なお、角度βiは、図示の通り、分割輪郭線Ｇiに近似する円弧の半径ｒiと接線Ｔ１iとＴ２iとから形成される四角形において、曲率中心角αiと対応する角γiの外角である。
【００５１】
また、輪郭線実際長算出部１２３は、分割輪郭線Ｇiに対応する長さのパラメータとして、分割輪郭線Ｇiの実際の長さである実際長Ｌiを算出する。図６（ｂ）は、実際長Ｌiを算出する手法例を模式的に示している。つまり、輪郭線実際長算出部１２３は、分割輪郭線Ｇiを形成する点（画素）のうちから、算出点Ｈ１iや算出点Ｈi２を含む必要数のサンプル点Ｓｍｐ１〜ｊを選択する。そして、輪郭線実際長算出部１２３は、分割輪郭線Ｇi上で隣り合うサンプル点間の距離Ｌｐ１〜（ｊ−１）を加算する。また、輪郭線実際長算出部１２３は、同様に必要数のサンプル点Ｓｍｐ１〜ｊを抽出したうえで、これらのサンプル点Ｓｍｐ１〜ｊ間の曲線を高次近似により補間することによりサンプル点間の距離を求め、これらの距離を加算するという手法であってもよい。
【００５２】
上記までの手順により、分割輪郭線Ｇiの曲率中心角αiと実際長Ｌiが求められたことになる。そこで、幾何的演算部１２４は、以下のように分割輪郭線Ｇiの曲率Ｋiを算出する。分割輪郭線Ｇiを円弧とみなすと、その曲率半径ｒiは、実際長Ｌiを曲率中心角αiにより除算することによって求められる。つまり、曲率半径ｒiは、
ｒi＝Ｌｉ／αi
により求められる。そして曲率Ｋiは、曲率半径ｒiの逆数として表される。そこで、幾何的演算部１２４は、分割輪郭線Ｇiの曲率Ｋｉについて、
Ｋｉ＝１／（Ｌｉ／αi）
の演算により求める。
【００５３】
［他の曲率算出手法との比較］
上記のように、本実施形態においては、画像データから検出した認識対象Ｐの形状を示す輪郭線２００の曲率を求めるにあたり、分割輪郭線Ｇiごとの曲率Ｋiを算出し、輪郭線２００に対応する全ての曲率Ｋ１〜Ｋｎを算出する。具体的には、分割輪郭線Ｇiの算出点Ｈ１i、Ｈ２iを通過する２つの接線Ｔ１i、Ｔ２iが成す角度βを求めることを以て、分割輪郭線Ｇiの曲率中心角αi（＝β）を算出することとしている。そして、この曲率中心角αiと実際長Ｌiとにより曲率Ｋiを求めるようにされている。
【００５４】
ここで、本発明に係る本実施形態との比較として、一般的に想定される本願発明によらない他の手法により分割輪郭線Ｇiの曲率Ｋiを算出した場合について説明する。この説明を行うにあたっては、先に図４（ａ）に示す内容の画像データ１３１ａを処理対象し、図４（ｂ）にて説明した輪郭線２００が検出された場合を前提とする。
【００５５】
そして、本願発明によらない他の手法においては、下記の式により輪郭線２００の輪郭座標（ｔ）ごとに曲率Ｋ（ｔ）を算出する。
【００５６】
【数２】
0005760827.tif 000003
【００５７】
上式は、曲率の定義式として一般に知られているものであり、例えば特許文献１においても上式に基づいて曲率を算出している。
【００５８】
図７（ａ）は、上記他の手法により輪郭線２００（図４（ｂ））の曲率を算出した結果を示している。この図において、縦軸は算出された曲率Ｋ（ｔ）であり、横軸は輪郭座標ｔである。この図は、例えば輪郭線２００においてほぼ直線とみてよい部分においても相当に大きな絶対値の曲率が現れていることを示している。つまり、この算出結果には相当量のノイズが重畳している。このようなノイズの重畳は、主として上式に含まれる二次微分値成分が要因となっている。
【００５９】
図７（ｂ）は、ｘ座標の輪郭座標ｔについての二次微分値成分のみを導出した結果を示しており、縦軸がｘ座標の二次微分値成分であり、横軸が輪郭座標ｔである。輪郭座標ｔが４００近傍となる範囲に対応する輪郭線２００は、ほぼ直線となる領域がほとんどであるため、ｘ座標の二次微分値成分もこれに応じてほぼ０となるはずである。しかし、図７（ｂ）においては、輪郭座標ｔ＝４００の近傍の範囲においても二次微分値成分が比較的大きく変動している。このことから、本願発明によらない他の手法による曲率の算出結果にノイズが重畳してしまうことの主たる要因は、上式に含まれる二次微分値成分であることが分かる。二次微分の演算を行うことにより、画素と輪郭線との微少な誤差を増幅してしまい、これが大きなノイズとして重畳してしまう。
【００６０】
次に、比較として、同じ図４（ｂ）に示した輪郭線２００を対象として、図５および図６により説明した本実施形態としての手法により算出した結果を図８に示す。まず、図８（ａ）は、図６にて説明したように導出される接線Ｔ１iまたはＴ２iの傾き角θi（図６のθ１ｉまたはθ２ｉに該当）の算出結果を示しており、縦軸が傾き角θiであり、横軸が輪郭座標ｔである。この図に示されるように傾き角θiについては、例えば図７（ｂ）と比較して分かるように、ほとんどノイズが発生していない状態である。すなわち、本実施形態では、曲率Ｋiを算出する過程において導出される傾き角θiに関してノイズほとんど発生していない。
【００６１】
そして、図８（ｂ）は、本実施形態としての手法による曲率Ｋiの算出結果を示している。この図８（ｂ）と、先の図７（ａ）とを比較して分かるように、本実施形態では、ノイズが顕著に低減されている。
【００６２】
このように第１の実施形態では、輪郭上の点ごとの一次微分値と二次微分値を利用するのではなく、分割輪郭線Ｇi上の算出点Ｈ１i、Ｈ２iを通過する接線Ｔ１i、Ｔ２iを導出して求めた曲率中心角αiと実際長Ｌiとに基づいて曲率Ｋiを算出することで、ノイズの影響を非常に小さいものとしている。これにより、輪郭線２００の曲率Ｋiが高い精度で求められることとなるために、物体の認識結果についての信頼性も高くなる。また、本実施形態では、物体認識処理と同じ構成によって登録対象である物体の分割輪郭線ごとの曲率Ｋiを算出し、この算出結果をテンプレートとして曲率テーブル１３２に登録する。したがって、曲率テーブル１３２に登録される物体ごとの曲率情報１３２ｂについても、高い信頼性が得られることとなり、この点も、認識精度の向上につながる。
【００６３】
［物体認識のための処理手順例］
図９のフローチャートは、第１の実施形態としての物体認識のためにＣＰＵ１０１が実行する処理手順例を示している。つまり、物体認識モードが設定されている場合におけるＣＰＵ１０１の処理を示している。この図に示す処理は、ＣＰＵ１０１がプログラムを実行することにより実現されるもので、図２に示したＣＰＵ１０１内の所定の機能部が適宜実行するものとしてみることができる。
【００６４】
ユーザは、入力インターフェース１０５における操作デバイスに対する所定操作によって、記憶部１０３に記憶される画像データ記憶領域１３１のうちから１つの画像データを物体認識の処理対象として指定する。この操作に応じて、画像データ取得部１１１は、上記操作により指定された画像データを、記憶部１０３に記憶される画像データ記憶領域１３１から読み込んで取得する（ステップＳ１０１）。
【００６５】
次に、輪郭検出部１１２は、上記ステップＳ１０１により取得された画像データから輪郭を検出する処理を実行し（ステップＳ１０２）、輪郭分割部１２１は、検出された輪郭から１つの分割輪郭線Ｇiを抽出する（ステップＳ１０３）。前述のように、抽出された分割輪郭線Ｇiは、その両側の端点である算出点Ｈ１iおよびＨ２iの各座標によって特定される。
【００６６】
次に、曲率中心角算出部１２２は、先に図６により説明した手法により、分割輪郭線Ｇiを円弧とする曲率中心角αiを算出する（ステップＳ１０４）。つまり、分割輪郭線Ｇiの端点である算出点Ｈ１iおよびＨ２iのそれぞれを通過する接線Ｔ１iおよびＴ２iを導出し、これら接線Ｔ１iおよびＴ２iにより形成される角度βを求め、この角度βの値を曲率中心角αiに代入する。また、これとともに、輪郭線実際長算出部１２３は、先に図６により説明した手法により分割輪郭線Ｇi自体の長さを実際長Ｌiとして算出する（ステップＳ１０５）。
【００６７】
そして、幾何的演算部１２４は、上記ステップＳ１０４とＳ１０５により算出された曲率中心角αiと実際長Ｌiを利用して、先に図６にて説明したように曲率Ｋiを算出する（ステップＳ１０６）。そして、幾何的演算部１２４は、今回算出した曲率Ｋiの値を、その分割輪郭線Ｇiの座標（両端点の直交座標または輪郭座標ｔ）と対応付けて保持する（ステップＳ１０７）。
【００６８】
次に、幾何的演算部１２４は、すべての分割輪郭線Ｇiについての曲率Ｋiを算出する処理が完了したか否かについて判定する（ステップＳ１０８）。ここで、まだ曲率Ｋiの算出されていない分割輪郭線が残っていると判定した場合には（ステップＳ１０８−ＮＯ）、ステップＳ２０３に戻る。これにより、次の分割輪郭線Ｇiを抽出し、この分割輪郭線Ｇiの曲率Ｋiを求める処理が実行される。
【００６９】
そして、すべての分割輪郭線Ｇiの曲率Ｋiを算出する処理が完了したとされると（ステップＳ１０８−ＹＥＳ）、物体認識部１１３は、曲率テーブル１３２を読み込む（ステップＳ１０９）。この段階では、処理対象の輪郭におけるすべての分割輪郭線Ｇiごとにその座標と算出された曲率Ｋiとを対応付けた曲率算出結果情報を保持している。そこで、物体認識部１１３は、前述のように、曲率算出結果情報と曲率テーブル１３２において物体識別子ごとに対応付けられている曲率情報とを照合することにより、今回の認識対象の物体と同じとされる物体識別子を特定する。すなわち、物体の認識結果を出力する（ステップＳ１１０）。
【００７０】
［曲率テーブル登録のための処理手順例］
次に、図１０のフローチャートを参照して、曲率テーブル１３２に曲率情報１３２ｂを登録するための処理手順例について説明する。なお、この図に示す処理も、ＣＰＵ１０１がプログラムを実行することにより実現されるもので、図２に示したＣＰＵ１０１内の所定の機能部が適宜実行するものとしてみることができる。
【００７１】
曲率テーブル１３２に対して登録を行うにあたって、ユーザは、画像データ記憶領域１３１から登録対象の物体の画像データを指定する操作を行う。この操作に応じて、画像データ取得部１１１は、上記操作により指定された画像データを、記憶部１０３に記憶される画像データ記憶領域１３１から読み込んで取得する（ステップＳ２０１）。
【００７２】
以降のステップＳ２０２〜Ｓ２０８までの処理は、図９により説明したステップＳ１０２〜Ｓ１０８と同様となる。つまり、登録対象の物体の画像データから輪郭を検出し、検出した輪郭の分割輪郭線Ｇiごとの曲率Ｋiを求めて曲率算出結果情報を取得する。
【００７３】
そして、ステップＳ２０８によりすべての分割輪郭線Ｇiの曲率Ｋiの算出が完了すると（ステップＳ２０８−ＹＥＳ）、テーブル登録部１１４は、ユーザの操作に応じて設定された物体識別子１３２ａを入力する（ステップＳ２０９）。そして、この入力した物体識別子１３２ａに対して、これまでの処理によって取得された曲率算出結果情報を曲率情報１３２ｂとして対応付け、曲率テーブル１３２に対して新規に登録する（ステップＳ２１０）。
【００７４】
＜第２の実施形態＞
［物体認識装置の機能構成例］
次に、第２の実施形態について説明する。図１１は、第２の実施形態としてのＣＰＵ１０１の機能構成例を示している。なお、この図において図２と同一部分には同一符号を付して説明を省略する。
【００７５】
この図に示すＣＰＵ１０１の機能構成としては、曲率算出部１２０において、図２に示した輪郭線実際長算出部１２３に代えて端点間直線距離算出部２２３を備える。図２の輪郭線実際長算出部１２３は、分割輪郭線Ｇiの長さとして、分割輪郭線Ｇi自体の実際の長さである実際長Ｌiを算出していた。これに対して、第２の実施形態における端点間直線距離算出部２２３は、分割輪郭線Ｇiの長さとして、実際長Ｌiに代えて、分割輪郭線Ｇiの端点である算出点Ｈ１iとＨ２iの直線距離を算出する。これは、分割輪郭線Ｇiに近似する円弧の弦の長さ（弦長）を算出していることに相当する。また、端点間直線距離算出部２２３は、特許請求の範囲に記載の輪郭長算出部の一例となる。
【００７６】
そして、第２の実施形態の幾何的演算部１２４は、曲率中心角算出部１２２により算出された分割輪郭線Ｇiの曲率中心角αiと、上記端点間直線距離算出部２２３により算出された分割輪郭線Ｇiの弦長とに基づいて曲率Ｋiを算出する。
【００７７】
［曲率算出手法例］
図１２を参照して、第２の実施形態における曲率Ｋiの算出手法例について説明する。なお、図１２において図６と同一部分には同一符号を付している。この図１２においては、図６と同じ分割輪郭線Ｇiが示されている。つまり、第２の実施形態において、画像データ取得部１１１、輪郭検出部１１２および輪郭分割部１２１が実行する処理は、第１の実施形態と同様である。
【００７８】
第２の実施形態において、この分割輪郭線Ｇiの曲率Ｋiを算出するにあたって、曲率中心角算出部１２２は、第１の実施形態と同様の手法により曲率中心角αiを算出する。つまり、分割輪郭線Ｇiの端点である算出点Ｈ１iおよびＨ２iを通過する接線Ｔ１iおよびＴ２iを設定し、これら接線Ｔ１iおよびＴ２iにより形成される角度βを、曲率中心角αiとして求める。
【００７９】
そして、端点間直線距離算出部２２３は、分割輪郭線Ｇiの両端点である算出点Ｈ１iとＨ２iの間の直線距離ａiを算出する。
【００８０】
次に、幾何的演算部１２４は、曲率中心角αiと上記直線距離ａiを利用して以下のように曲率Ｋiを算出する。まず、幾何的演算部１２４は、分割輪郭線Ｇiに近似する円弧の中心点Ｏを求める。中心点Ｏは、端点である算出点Ｈ１iまでの距離と端点である算出点Ｈ２iまでの距離が等しく、かつ、端点である算出点Ｈ１iと中心点Ｏと端点である算出点Ｈ２iとにより形成される角（すなわち曲率中心角）の大きさがαiとなる点として求められる。つまり、中心点Ｏは、曲率中心角αiと、端点である算出点Ｈ１iおよびＨ２iの角座標を利用することによって求められる。
【００８１】
次に、幾何的演算部１２４は、曲率半径ｒiを求める。曲率半径ｒiは、上記中心点Ｏから端点Ｈ１iまでの距離、または、中心点Ｏから算出点Ｈ２iまでの距離に相当する。そして、中心点Ｏとである算出点Ｈ１iおよびＨ２iにより形成される三角形は、頂角（曲率中心角）の大きさがαiの二等辺三角形となり、その底辺の長さが直線距離ａiとなる。したがって、曲率半径ｒiは、曲率中心角αiと直線距離ａiを用いて下記の式により求めることができる。
ｒi＝ai／（２ｓｉｎ（αi／２））
そして、曲率Ｋiは、曲率半径ｒiの逆数として下記の式により求められることになる。
Ｋi＝１／ｒi
【００８２】
このように、第２実施形態においては、分割輪郭線Ｇi自体の長さに代えて直線距離ａiを算出し、この直線距離ａiと曲率中心角αiを利用することで曲率Ｋiを算出することができる。例えば画像データの画像が不鮮明であるなどの原因で、輪郭が明確に検出できなかったような状況もあると考えられる。このような状況の場合には、分割輪郭線Ｇiの鮮明度も低くなるために、第１の実施形態のように分割輪郭線Ｇi自体の長さを高い精度で算出することが困難になる。第２の実施形態であれば、このような状況であっても、分割輪郭線の端点の座標から直線距離ａiを正確に算出することが可能であり、この直線距離ａiに基づいて算出される曲率Ｋiについても十分な精度を確保できる。
【００８３】
［物体認識のための処理手順例］
図１３のフローチャートは、第２の実施形態としての物体認識のためにＣＰＵ１０１が実行する処理手順例を示している。この図に示す処理は、図１１に示したＣＰＵ１０１内の所定の機能部が適宜実行するものとしてみることができる。
【００８４】
この図において、ステップＳ３０１〜Ｓ３０４までの処理は、図９におけるステップＳ１０１〜Ｓ１０４と同様となる。そのうえで、端点間直線距離算出部２２３は、分割輪郭線Ｇi自体の長さである実際長Ｌiを算出するのに代えて、分割輪郭線Ｇiの直線距離ａiを、図１２にて説明した手法により算出する（ステップＳ３０５）。
【００８５】
そして、幾何的演算部１２４は、ステップＳ３０４により算出された曲率中心角αiと、ステップＳ３０５により算出された直線距離ａiとを利用して、図１２により説明した手法により、分割輪郭線Ｇiの曲率Ｋiを算出する（ステップＳ３０６）。上記ステップＳ３０６に続く、ステップＳ３０７〜Ｓ３１０の処理は、図９のステップＳ１０７〜Ｓ１１０と同様となる。このように、第２の実施形態においては、分割輪郭線Ｇi自体の長さに代えてその直線距離ａiを算出して曲率Ｋiを求め、その結果から物体認識を行うことができる。
【００８６】
なお、第２の実施形態においては、曲率テーブル１３２に登録を行う際に、上記と同様に、端点間直線距離算出部２２３により直線距離ａiを求めたうえで、この直線距離ａiと曲率中心角αiに基づいて曲率Ｋiを算出する。そして、このように求められた曲率Ｋiの情報を登録することになる。この第２の実施形態に対応する曲率テーブル１３２の登録処理も、例えば登録対象の画像データが不鮮明なために輪郭を明確に検出できなかったような状況において、一定以上の精度による物体の曲率の情報を登録可能になるという点で有用である。
【００８７】
＜第３の実施形態＞
［物体認識装置の機能構成例］
続いて、第３の実施形態について説明する。第３の実施形態は、分割輪郭線Ｇiごとの輪郭の状態に応じて、第１の実施形態に対応する曲率Ｋiの算出手法と第２の実施形態に対応する曲率Ｋiの算出手法とで切り替えを行うように構成される。
【００８８】
図１４は、第３の実施形態としてのＣＰＵ１０１の機能構成例を示している。なお、この図において図２および図１１と同一部分には同一符号を付して説明を省略する。この図に示すＣＰＵ１０１においては、分割輪郭線状態判定部１２５が備えられる。また、図２に示した輪郭線実際長算出部１２３と、図１１に示した端点間直線距離算出部２２３を備える。
【００８９】
分割輪郭線状態判定部１２５は、分割輪郭線Ｇiの状態について、分割輪郭線Ｇi自体の実際の長さ（実際長Ｌi（図６））を一定以上の精度で算出可能な程度に鮮明か否かについて判定する。このために、例えば分割輪郭線状態判定部１２５は、分割輪郭線Ｇiについての鮮明度を所定のアルゴリズムによって算出する。この算出された鮮明度が一定以上であれば、分割輪郭線Ｇiは実際長Ｌi（図６））を高精度で算出可能な程度に明確な状態であると判定する。これに対して、鮮明度が一定以下であれば、分割輪郭線Ｇiは実際長Ｌi（図６））を必要十分な精度で算出することが困難な程度に不明確な状態であると判定する。
【００９０】
曲率Ｋiの算出精度は、実際長Ｌiを利用する方が、直線距離ａiを利用する場合よりも高い。しかし、分割輪郭線Ｇiが明確でない状態では、実際長Ｌiを求めて曲率Ｋiの算出に利用したとしてもかえって精度が低くなる可能性がある。この場合には、直線距離ａiのパラメータを利用した方が検出精度の信頼性は高いといえる。
【００９１】
そこで、第３の実施形態においては、以下のように曲率Ｋiの演算に利用すべき分割輪郭線の長さについての算出手法を切り替える。つまり、分割輪郭線状態判定部１２５により、分割輪郭線Ｇiの鮮明度が実際長Ｌiを算出可能な程度に高いと判定された場合には、輪郭線実際長算出部１２３が実際長Ｌiを算出する。これに対して、分割輪郭線Ｇiの鮮明度が実際長Ｌiを算出可能な程は高くないと判定された場合には、端点間直線距離算出部２２３が直線距離ａiを算出する。
【００９２】
そして、第３の実施形態における幾何的演算部１２４は、輪郭線実際長算出部１２３により実際長Ｌiが算出されたことに応じて、第１の実施形態と同様に、この実際長Ｌiと曲率中心角算出部１２２により算出された曲率中心角αiを利用して曲率Ｋiを算出する。一方、端点間直線距離算出部２２３により直線距離ａiが算出されたことに応じては、第２の実施形態と同様にこの直線距離ａiと曲率中心角αiを利用して曲率Ｋiを算出する。
【００９３】
このように構成することで、分割輪郭線Ｇiが鮮明な場合には実際長Ｌiを利用して非常に高い精度で曲率Ｋiを求めることができる。また、分割輪郭線Ｇiが不鮮明なために実際長Ｌiを正しく求めることができない場合には、実際長Ｌiに代えて直線距離ａiを利用することで曲率Ｋiに要求される精度を確保する。この結果、輪郭全体に対応する曲率Ｋiの算出結果について非常に高い信頼性を得ることができる。
【００９４】
［物体認識のための処理手順例］
図１５のフローチャートは、第３の実施形態としての物体認識のためにＣＰＵ１０１が実行する処理手順例を示している。この図に示す処理は、図１１に示したＣＰＵ１０１内の所定の機能部が適宜実行するものとしてみることができる。
【００９５】
この図において、ステップＳ４０１〜Ｓ４０４の各処理は、図９のステップＳ１０１〜Ｓ１０４と同様となる。そのうえで、ステップＳ４０４に続けて、分割輪郭線状態判定部１２５は、所定のアルゴリズムにより分割輪郭線Ｇiの鮮明度を算出する（ステップＳ４０５）。そして、この算出された鮮明度に基づいて、分割輪郭線Ｇiの実際長Ｌiを必要十分な精度で算出可能であるか否かについて判定する（ステップＳ４０６）。
【００９６】
上記ステップＳ４０６の判定結果を得るにあたっては、例えば、ステップＳ４０５により算出した鮮明度を所定の閾値と比較すればよい。鮮明度が閾値以上であれば、分割輪郭線Ｇiは、実際長Ｌiを必要十分な精度で算出可能な程度に鮮明であると判定できる。これに対して、閾値未満であれば、実際長Ｌiを必要十分な精度で算出することが難しい程度に分割輪郭線Ｇiが不鮮明であると判定できる。
【００９７】
そして、分割輪郭線状態判定部１２５により分割輪郭線Ｇiが実際長Ｌiを算出可能な状態であると判定された場合（ステップＳ４０６−ＹＥＳ）、輪郭線実際長算出部１２３が実際長Ｌiを算出する（ステップＳ４０７）。これに応じて、幾何的演算部１２４は、算出された実際長Ｌiと先のステップＳ４０４により算出された曲率中心角αiとを利用し、図６により説明した手法により曲率Ｋiを算出する（ステップＳ４０８）。
【００９８】
これに対して、分割輪郭線Ｇiが実際長Ｌiを算出可能な状態であると判定されなかった場合（ステップＳ４０６−ＮＯ）、端点間直線距離算出部２２３が直線距離ａiを算出する（ステップＳ４０９）。これに応じて、幾何的演算部１２４は、算出された直線距離ａiと先のステップＳ４０４により算出された曲率中心角αiとを利用し、図１２により説明した手法により曲率Ｋiを算出する（ステップＳ４１０）。以降のステップＳ４１１〜Ｓ４１４の処理は、図９のステップＳ２０７〜Ｓ２１０と同様となる。
【００９９】
なお、第３の実施形態の構成においては、曲率テーブル１３２に対して曲率情報１３２ｂの登録を行う際にも、上記と同様に、分割輪郭線の鮮明度に応じて実際長Ｌiと直線距離ａiのいずれを算出すべきかが決定される。これにより、曲率テーブル１３２に登録される曲率情報１３２ｂとしても、より物体に忠実なものとすることが可能になる。
【０１００】
また、図１に例示した構成の物体認識装置１００が具現化される電子機器としては、例えばデジタルスチルカメラやパーソナルコンピュータなどをはじめ、各種のものを考えることができる。
【０１０１】
また、上述の物体認識装置１００は内部に、コンピュータシステムを有している。そして、上述した物体認識処理および曲率テーブルへの登録処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【０１０２】
また、図２、図１１および図１４における各機能部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより物体認識処理および曲率テーブルへの登録処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１０３】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【０１０４】
１００  物体認識装置
１０１  ＣＰＵ
１０２  ＲＡＭ
１０３  記憶部
１０４  撮像部
１０５  入力インターフェース
１０６  出力インターフェース
１０７  データバス
１１１  画像データ取得部
１１２  輪郭検出部
１１３  物体認識部
１１４  テーブル登録部
１２０  曲率算出部
１２１  輪郭分割部
１２２  曲率中心角算出部
１２３  輪郭線実際長算出部
１２４  幾何的演算部
１２５  分割輪郭線状態判定部
１３２  曲率テーブル
２２３  端点間直線距離算出部
【図１】
0005760827.tif 000004
【図２】
0005760827.tif 000005
【図３】
0005760827.tif 000006
【図４】
0005760827.tif 000007
【図５】
0005760827.tif 000008
【図６】
0005760827.tif 000009
【図７】
0005760827.tif 000010
【図８】
0005760827.tif 000011
【図９】
0005760827.tif 000012
【図１０】
0005760827.tif 000013
【図１１】
0005760827.tif 000014
【図１２】
0005760827.tif 000015
【図１３】
0005760827.tif 000016
【図１４】
0005760827.tif 000017
【図１５】
0005760827.tif 000018