(57)【特許請求の範囲】
【請求項１】
目画像からアイリスコードを生成し、当該アイリスコードに基づいて個体識別を行う個体識別装置において、
１個体の複数の異なるシーンの目画像を記憶する入力画像記憶部と、
前記入力画像記憶部に記憶された複数の目画像のそれぞれについて、アイリス座標系の各パラメータの値を変動させて擬似的に抽出誤差のあるアイリスコードを生成する特徴データ生成部と、
前記特徴データ生成部で生成された各アイリスコードに対して、同一個体における任意の画像から得られたアイリスコードとそれ以外の画像から得られたアイリスコードとの平均相違度が所定値より小さい前記任意の画像から得られたアイリスコードを所定の数だけ選択して登録用のアイリスコードとする辞書データ選択部とを備えた個体識別装置であって、
前記辞書データ選択部は、特徴データ生成部で生成された各アイリスコードに対して、同一個体の他の画像から生成されたアイリスコードとのハミング距離が照合時に用いる閾値よりも小さい場合の数を数え、この数が多いもの程照合性能が高いアイリスコードであるとして、当該照合性能の高いものを任意の数だけ登録用のデータとして選択することを特徴とする個体識別装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像から任意の特徴を抽出して個体識別を行う個体識別装置に関する。
【０００２】
【従来の技術】
従来より、例えば下記に示す文献に記載されているように、個体識別技術として、虹彩（アイリス）を用いたものが提案されている。
【０００３】
［文献］米国特許第５２９１５６０号明細書、United States Patent BIOMETRIC PERSONAL IDENTIFICATION SYSTEM BASED ON IRIS ANALISYS
【０００４】
上記のような従来技術では、テレビカメラによって取得した画像データにおいて、瞳孔に外接する円を検出し、それぞれの円を基準に座標系を設定する。このようにして座標系を設定することにより、瞳孔の大きさの変化、被写体とカメラの距離の変化などを吸収している。このようにして設定された座標系に基づいて、アイリスをいくつかの領域に分割し、それぞれの領域毎にアイリスコードを生成する。このアイリスコードを比較することにより個体識別を行う。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記従来の技術では、瞳孔の形やアイリスの形が予め設定した場合と異なる場合や、データ取得時のカメラと被写体の位置関係、データ取得環境などによる画像の歪みなどの影響で、正常に照合処理を行った場合でも、期待する照合の精度を得ることが困難であった。
【０００６】
【課題を解決するための手段】
本発明は、前述の課題を解決するため次の構成を採用する。
〈構成１〉
目画像からアイリスコードを生成し、当該アイリスコードに基づいて個体識別を行う個体識別装置において、１個体の複数の異なるシーンの目画像を記憶する入力画像記憶部と、入力画像記憶部に記憶された複数の目画像のそれぞれについて、アイリス座標系の各パラメータの値を変動させて擬似的に抽出誤差のあるアイリスコードを生成する特徴データ生成部と、特徴データ生成部で生成された各アイリスコードに対して、同一個体における任意の画像から得られたアイリスコードとそれ以外の画像から得られたアイリスコードとの平均相違度が所定値より小さい任意の画像から得られたアイリスコードを所定の数だけ選択して登録用のアイリスコードとする辞書データ選択部とを備えた個体識別装置であって、辞書データ選択部は、特徴データ生成部で生成された各アイリスコードに対して、同一個体の他の画像から生成されたアイリスコードとのハミング距離が照合時に用いる閾値よりも小さい場合の数を数え、この数が多いもの程照合性能が高いアイリスコードであるとして、当該照合性能の高いものを任意の数だけ登録用のデータとして選択することを特徴とする個体識別装置。
【００１６】
【発明の実施の形態】
以下、本発明の実施の形態を具体例を用いて詳細に説明する。
【００１７】
《具体例１》
〈構成〉
図１は、本発明の個体識別装置の具体例１を示す構成図である。
図の装置は、カメラ１、入力画像記憶部２、アイリス座標抽出部３、アイリス座標変動部４、アイリスコード生成部５、データ記憶部（アイリスコード記憶部）６、辞書データ選択部７からなり、アイリス座標抽出部３、アイリス座標変動部４、アイリスコード生成部５により特徴データ生成部８を構成している。
【００１８】
カメラ１は、アイリスコードを登録する人物または動物の目を撮影するもので、カメラ１によって取得された映像は、図示しないＡ／Ｄ変換部によりＡ／Ｄ変換され、静止画として入力画像記憶部２に記憶されるよう構成されている。入力画像記憶部２は、メモリやハードディスク等からなるものである。
【００１９】
また、カメラ１による撮影は明るさや撮影角度を人為的に変更しながら一定時間行われ、その間に撮影された映像のうち、良好な画質のものを複数フレーム記録する。
【００２０】
特徴データ生成部８は、入力画像記憶部２に記録された全ての入力画像に対してアイリスコードを生成する。即ち、アイリス座標抽出部３では、アイリスコード生成のための座標系設定を行う。この座標系の抽出は、入力画像に対して画像処理技術を用いて自動的に行われるよう構成されている。ここで、アイリス座標系とは、瞳孔の外側の輪郭やアイリスの外側の輪郭に、円や楕円などの図形を当てはめたときの、中心座標や半径などのパラメータの値であり、この値が変動することによって、同じ画像であっても異なるアイリスコードが生成される。また、同じ個体から選択された画像であっても、撮影条件などの違いにより、アイリス座標系が正確に設定されても二つの画像間で異なるアイリスコードが生成される。
【００２１】
アイリス座標変動部４は、アイリス座標抽出部３で抽出されたアイリス座標系の各パラメータを予め決められた範囲で変動させる機能を有している。アイリスコード生成部５は、アイリス座標変動部４で変動させたパラメータに対してアイリスコードを生成し、入力画像と変動させたパラメータの情報とを共にデータ記憶部６に追加していくものである。また、このようなアイリス座標の変動とアイリスコードの生成は、予め決められた種類のアイリスコードが得られるまで繰り返されるようになっている。
【００２２】
辞書データ選択部７は、データ記憶部６に蓄えられたアイリスコードから登録用として記録するアイリスコードを選択する機能部であり、詳細については動作の項で説明する。
【００２３】
尚、上記構成において、アイリス座標抽出部３、アイリス座標変動部４、アイリスコード生成部５、辞書データ選択部７の各機能は、各処理に対応したソフトウェアとこれを実行するためのプロセッサやメモリ等からなり、入力画像記憶部２やデータ記憶部６は、半導体メモリやハードディスク装置等の記憶装置から構成されている。
【００２４】
〈動作〉
ここでは、登録と照合の対象を人物とし、瞳孔の輪郭とアイリスの外側の輪郭に円を当てはめることによってアイリスコードを生成する場合について説明する。
【００２５】
図２は、アイリスコードを登録するための映像入力からアイリスコード生成までの動作を示すフローチャートである。
【００２６】
登録を行う人物の目に対して、照合時に起こりうる照明変化やカメラと人との相対位置の変化、目を動かすなどの動作を行い、それら全ての状態の映像を記録する（ステップＳ１０１）。取得した映像のうち、様々なシーンから良好な画像を、Ａ／Ｄ変換によってデジタル画像として、入力画像記憶部２のメモリまたはハードディスク上に記憶する（ステップＳ１０２）。
【００２７】
従って、一つの目に対して、複数の画像ファイルが生成される。尚、映像は一旦ビデオテープ等に記録してもよいし、その場で静止画像に変換してハードディスクやメモリ上に記録してもよい。
【００２８】
次に、アイリス座標抽出部３では、入力画像記憶部２に記録された複数フレームの画像それぞれに対してエッジ抽出等の処理を行い、瞳孔の輪郭に円を当てはめ、その中心座標をＣｐ（Ｘｐ，Ｙｐ）、半径をＲｐとし（ステップＳ１０４）、これを瞳孔円と呼ぶ。
【００２９】
また、アイリスの外側の輪郭に対しても同様に円を当てはめ、中心座標をＣｉ（Ｘｉ，Ｙｉ）、半径をＲｉとし（ステップＳ１０５）、これをアイリス円と呼ぶ。尚、これらの円の当てはめは、例えば従来文献に記載されているような従来技術を用いることも可能であるため、ここでの詳細な説明は省略する。
【００３０】
上記ステップＳ１０４とステップＳ１０５で抽出した円の各パラメータが以下の処理でアイリスコードを生成するための基準となるパラメータであり、これを基準パラメータと呼ぶ。
【００３１】
図３は、目画像とコード化画像の説明図である。
図３（ａ）は、瞳孔とアイリスの輪郭に円を当てはめた場合の説明図であり、以下、説明を簡略にするため、瞳孔円とアイリス円の中心は同一である（Ｘｐ＝Ｘｉ，Ｙｐ＝Ｙｉ）とするが、撮影時の目とカメラ１の位置関係による映像の歪みを補正するために、これらを別々に扱う方法をとってもよい。
【００３２】
ステップＳ１０６〜ステップＳ１０９は、入力画像に対するアイリスコードを生成する部分である。瞳孔円やアイリス円の当てはめの誤差を考慮して、これらの円の標準パラメータを一定のステップ幅で変動させ、新しいパラメータを得る（ステップＳ１０６）。このパラメータを変動パラメータと呼ぶ。
【００３３】
このステップＳ１０６では、半径ＲｐとＲｉのみを変動させるものとし、変動パラメータの値をそれぞれｒｐ（＝Ｒｐ＋Δｒｐ），ｒｉ（＝Ｒｉ＋Δｒｉ）と表すことにする。この他、中心座標ＣｐやＣｉの各値を変動させることも可能である。
【００３４】
ステップＳ１０７では、変動パラメータを元に、アイリスコードを生成するための中間画像（コード化画像と呼ぶ）を生成する。図３（ｂ）では、コード化画像を生成する方法の例を説明している。アイリスの上部はまぶたやまつげ等で隠れているので、図示のように、π−θから２π＋θまでの範囲をコード化するものとする。
【００３５】
図３（ａ）のａ，ｂ，ｃ，ｄと、（ｂ）のａ，ｂ，ｃ，ｄがそれぞれ対応するようにコード化画像を生成する。具体的には、コード化画像上の任意の点ｐ（ｘｐ，ｙｐ）が入力画像上（図３（ａ））の点ｑ（ｘｑ，ｙｑ）と対応するとすると、点ｐと点ｑの関係は以下の式で表される。
【００３６】
点ｑ（ｘｑ，ｙｑ）は瞳孔円の中心Ｃｐを原点とする極座標系で、ｑ（ｒｑ，θｑ）（Ｃｐからの距離がｒｑ、水平軸とのなす角がθｑ）と表されるものとすると、
ｘｐ＝ｗ×（θｑ−（π−θ））／（π＋２θ）
ｙｐ＝ｈ×（ｒｑ−ｒｐ）／（ｒｉ−ｒｐ）
【００３７】
ステップＳ１０８では、ステップＳ１０７で生成されたコード化画像に対して、バンドパスフィルタを適用することによってアイリスコードを生成する。このアイリスコードは既知の技術が適用できるため、ここでの詳細な説明は省略する。ただし、アイリスコードはコード化画像の濃度の変化に依存するため、これらのパラメータが変動することによって、同じ入力画像から異なる複数のアイリスコードを得ることになる。
【００３８】
標準パラメータの変動が決められた範囲で完了するまで、ステップＳ１０６〜ステップＳ１０９の処理が繰り返される。繰り返しの回数がＮ回であるとすると、１枚の入力画像からＮ種類のアイリスコードが生成され、画像ファイルの情報と変動したパラメータの情報と共に、辞書候補データとしてメモリやディスク上に記録される（ステップＳ１１０，ステップＳ１０３）。
【００３９】
図４は、辞書候補データの内容を示す説明図である。
図２のステップＳ１０１、Ｓ１０２において、一つの目に対してＭフレームの画像がファイルとして保存されたとする。また、ステップＳ１０６〜Ｓ１０９において、ΔｒｐとΔｒｉをそれぞれ−０．１〜０．１までステップ幅０．１で変動させたとする。これにより、１フレームの画像から３×３＝９個のコードが生成される。この９個のコードをまとめてコードセットＣＤ（ｍ）、（ｍは画像の番号）と呼ぶ。
【００４０】
また、コードセット中でΔｒｐとΔｒｉが共に０であるコード（ステップＳ１０６で抽出されたパラメータに変動を加えずに生成されたアイリスコード）を標準コードと呼び、ＣＤｓ（ｍ）と表す。従って、一つの目に対してはＭ個のコードセット（Ｍ×９個のコード）が生成されたことになる。ｍ（ｍ＝１〜Ｍ）番目に取得された静止画像に対するｎ（ｎ＝１〜Ｎ，Ｎ＝９）番目のコードをＣ（ｍ，ｎ）と表す。Ｎ（＝９）は、ΔｒｐとΔｒｉの変動幅とステップ幅によって変化する。
【００４１】
図５は、辞書候補データから登録データを選択するための照合度数を求める処理のフローチャートである。
即ち、先ず、辞書候補データ中の全てのコードに対して、コードの照合度数Ｑ（ｍ，ｎ）＝｛Ｄ，ＡＶＥ｝（ｍ＝１〜Ｍ，ｎ＝１〜Ｎ，Ｄは照合数，ＡＶＥは平均のハミング距離）を計算する。
【００４２】
あるコードセットＣＤ（ｍ）（ｍ＝１〜Ｍ）中のコードＣ（ｍ，ｎ）（ｎ＝１〜Ｎ）に対して（ステップＳ２０１〜ステップＳ２０４，ステップＳ２１５）、ＣＤ（ｍ）以外のコードセットの標準コードＣＤｓ（Ｌ）（Ｌ＝１〜Ｍ，Ｌ≠ｍ）（ステップＳ２０５〜２０７，ステップＳ２１２）とのハミング距離ＨＤ（Ｌ）を計算し（ステップＳ２０８）、ＨＤ（Ｌ）が照合時に本人と他人を区別するための閾値Ｔａを下回っていれば（ステップＳ２１０）、照合数Ｄを１増やす（ステップＳ２１１）。
【００４３】
全てのＬについてハミング距離の計算と、閾値Ｔａとの比較が終了すれば、ハミング距離の平均ＡＶＥを計算し（ステップＳ２０９，ステップＳ２１３）、ＤとＡＶＥをコードＣ（ｍ，ｎ）に対する照合度数Ｑ（ｍ，ｎ）＝｛Ｄ，ＡＶＥ｝として登録する（ステップＳ２１４）。
【００４４】
従って、ＤはＣ（ｍ、ｎ）を辞書とした場合、他のコードセットの標準コードＣＤｓ（Ｌ）が入力されたときに照合できた数である。
【００４５】
照合度数の計算はコードセット中の全てのコードについて（ステップＳ２１５、ステップＳ２０４）、また、全てのコードセットについて（ステップＳ２１６、ステップＳ２０１）行われる。なお、「照合数が多く、照合数が同じであれば平均ハミング距離が小さいもの」ほど照合度数が高いものとする。
【００４６】
照合度数の計算には、あるコードセットＣＤ（ｍ）中のコードと、それ以外のコードセットＣＤ（Ｌ）の標準コードだけでなく、ＣＤ（Ｌ）に含まれる全てのコードを使用してもよい。
【００４７】
次に、上記照合度数の計算処理で求めた照合度数Ｑ（ｍ，ｎ）＝｛Ｄ，ＡＶＥ｝に基づいて登録データを選択し、辞書セットに登録する処理を説明する。
【００４８】
図６は、登録データ選択処理のフローチャートである。
辞書セットは、ある目に対してデータ取得時の明るさやカメラ位置などの条件の違い、アイリス座標の当てはめ誤差などを考慮して、一つの目に対して複数のコードを登録しておくためのもので、登録するコード数をＲＭとすると、辞書セットはＣＭ（ｒ）（ｒ＝１〜ＲＭ）と表記する。
【００４９】
先ず、各コードセット中のアイリスコードを照合度数の高い順にコードをソートする。ソート後のコードをＣＳ（ｍ，ｎ）（ｍ＝１〜Ｍ，ｎ＝１〜Ｎ）と表記する（ステップＳ３０１）。ここで、同じｍに対して、ｎの数が小さいコードほど照合度数が高いものとする。更に、全ての辞書候補データ中で最も照合度数が高いコードＣ（ｍｍ，ｎｎ）を含むコードセットをＣＤ（ｍｍ）とし、そのＣ（ｍｍ，ｎｎ）を１番目の登録データとして１番目の辞書セットＣＭ（１）に登録する（ステップＳ３０２）。
【００５０】
Ｋ＝ｍｍ＋１とし、ｒ＝２とする（ステップＳ３０３）。Ｋはコードセットの番号で、Ｋ＞ＭならばＫ＝１とする（ステップＳ３０４）。コードセットのＣＤ（Ｋ）中で、辞書セットに登録されていないコードのうち、最も照合度数が高いコードＣＳ（Ｋ，ｎ）と、既に登録されてある辞書セット中の全てのコードＣＭ（ｒ）とのハミング距離を計算し、その最小値を求める。この最小値が登録のための閾値Ｔｒよりも大きければ（ステップＳ３０７）、このコードを辞書セットＣＭ（ｒ）に登録し、Ｋの値とｒの値をそれぞれ１ずつ増やす（ステップＳ３０８）。
【００５１】
これによって、辞書セット中の各コードは、これを辞書とした場合、他の入力データに対して照合できる割合が高く、かつ、辞書セット中の他のコードとは、その個体のコード空間（その個体から生成され得る全てのコードの集合）における距離が離れているという性質を持つ。
【００５２】
図７は、コードＣＭ（ｒ）とコード空間との関係を示す説明図である。
図示の状態は、即ち、辞書セット中のコードがコード空間内に適当に散らばっており、これを用いれば、照合時の環境の変化におるアイリスコードの変動がカバーできることを意味している。
【００５３】
図６のステップＳ３０７において、ハミング距離の最小値がＴｒよりも小さければ、コードセットＣＤ（Ｋ）中の次に照合度数が高いものについて同じ処理を行う（ステップＳ３０９，Ｓ３０６，Ｓ３０７）。
【００５４】
コードセットＣＤ（Ｋ）中の全てのコードについて、ステップＳ３０９，Ｓ３０６、Ｓ３０７の処理を行った結果、ＣＤ（Ｋ）中の条件を満たすコードがなかった場合、Ｋを１増やして（ステップＳ３１１）、ステップＳ３０４に戻る。但し、Ｋ＝１〜Ｍの全てのコードセットの全てのコード（辞書候補データ中の全てのコード）について、ステップＳ３０７の条件を満たすコードがなかった場合（ステップＳ３１０）、Ｔｒを予め定めた値ｄｒだけ下げて（ステップＳ３０７の条件を緩めて）（ステップＳ３１２）、ステップＳ３０４に戻る。上記ステップＳ３０４〜ステップＳ３１２の繰り返しは、辞書セット中のコード数がＲＭになるまで（ステップＳ３０５でｒ＞ＲＭとなるまで）行われる。
【００５５】
また、全てのコードセットＣＤ（Ｋ）に対して上記処理を行った結果、辞書セットＣＭ（ＲＭ）に満たなかった場合、辞書データ選択部７は、登録失敗であるとして、これを示すメッセージを表示する等、その情報を出力する。即ち、このような場合は、カメラ１で取得した画像が不鮮明であったり、照明条件が不適切である等、画像として良好なものが少なかった場合である。従って、このようなメッセージを見ることにより、オペレータは登録の失敗を認識することができる。
【００５６】
〈効果〉
以上のように具体例１によれば、１個体の複数の異なるシーンの目画像に対応した複数のアイリスコードと、これらのアイリスコードからそれぞれ生成された擬似的に抽出誤差のあるアイリスコードとの中から、あるアイリスコードとそれ以外のアイリスコードとのハミング距離が所定値より小さいアイリスコードを所定の数だけ選択し、これを同一個体における登録用のアイリスコードとして選択するようにしたので、ある目に対する照合を行う場合、照合時の環境条件やカメラとの位置関係による画像の歪みが生じても、複数のコードを登録してあるため、照合できる可能性が高くなる。
【００５７】
また、アイリスコードのハミング距離がある距離以上離れているアイリスコードを登録するようにしたので、決められた数でその目から生成されるコード空間をカバーできることから、一つの目に対する登録辞書の数が制限でき、データ量の削減を図ることができる。
【００５８】
《具体例２》
具体例２は、具体例１の登録辞書を用いて照合を行うようにした例である。
【００５９】
〈構成〉
図８は、具体例２の構成図である。
図の装置は、カメラ１１、アイリス座標抽出部１２、アイリスコード生成部１３、照合部（アイリスコード比較部）１４、照合結果出力部１５、登録データベース１６からなり、アイリス座標抽出部１２とアイリスコード生成部１３により特徴データ生成部１７を構成している。
【００６０】
カメラ１１は、照合の対象となる人物または動物の目を撮影するもので、カメラ１１によって取得された映像は、図示しないＡ／Ｄ変換部によりＡ／Ｄ変換され、また、図示しないメモリまたはハードディスクに保存された後、アイリス座標抽出部１２に入力されるよう構成されている。
【００６１】
アイリス座標抽出部１２は、アイリスコード生成のための座標系設定を行う機能部であり、この座標系の抽出は、入力画像に対して画像処理技術を用いて自動的に行われるよう構成されている。また、アイリスコード生成部１３は、アイリス座標抽出部１２で抽出した座標パラメータを用いてアイリスコードを計算する機能を有している。即ち、特徴データ生成部１７は、入力画像からアイリスコードを生成する機能を有している。
【００６２】
照合部１４は、アイリスコード生成部１３で計算したアイリスコードと登録データベース１６の辞書データとの相違度を計算し、照合結果出力部１５に送る機能を有している。また、照合結果出力部１５は、照合部１４で計算した照合結果を出力する機能部である。
【００６３】
登録データベース１６は、照合を行うための辞書データであるアイリスコードが登録されたデータベースであり、これは具体例１の装置により生成されたものである。
【００６４】
尚、上記構成において、アイリス座標抽出部１２、アイリスコード生成部１３、照合部１４の各機能は、各処理に対応したソフトウェアとこれを実行するためのプロセッサやメモリ等からなり、登録データベース１６は、ハードディスク装置等からなる。また、照合結果出力部１５は、ディスプレイやプリンタあるいはネットワーク等からなる。
【００６５】
〈動作〉
図９は、具体例２の動作を示すフローチャートである。
ここでは、個人識別装置での具体例、即ち、識別対象が人である場合について説明する。
【００６６】
図９の説明の前に、図８中の登録データベース１６の内容について説明する。
データベースに登録している人物の数をＮＲとすると、データベースはＮＲ個の辞書セットからなる。辞書セットは上記具体例１で作成したものと同一であるが、辞書セット内では照合度数の高いものの順に並べ替えられているものとする。即ち、ある辞書セットＣＭ（ｒ）に含まれるコードをＤＣ（ｒ，ｎ）（ｒ＝１〜ＮＲ，ｎ＝１〜ＮＤ（ｒ））と表記すると、
【００６７】
Ｑ（ｒ，ｎ）≧Ｑ（ｒ，ｎ＋１）
Ｑ（ｒ，ｎ）はＤＣ（ｒ，ｎ）の照合度数
となる。但し、ＮＤ（ｒ）は辞書セットＣＭ（ｒ）に含まれるコードの数であり、辞書セットによってその数が異なっていてもよい。
【００６８】
図９において、人の目の映像がアイリス座標抽出部１２に入力されると（ステップＳ４０１）、アイリス座標抽出部１２は、アイリス座標を抽出した後、アイリスコードＩＣを作成する（ステップＳ４０２）。次に、最小値ホルダＭＤ（ｒ）（ｒ＝１〜ＮＲ）を十分大きな値で初期化する（ステップＳ４０３）。この最小値ホルダＭＤ（ｒ）は、各辞書セットＣＭ（ｒ）に含まれるコードと入力アイリスコードとのハミング距離の最小値を記憶するものである。
【００６９】
次に、ステップＳ４０４において、繰り返し回数ｃｒ、関数Ｒ（ｃｒ），辞書セットの個数ｒ、変数ｎを初期化する。ここで、繰り返し回数ｃｒ（ｃｒ＝１〜ＮＣ）は、ステップＳ４０５の繰り返し回数をカウントする（ステップＳ４１２）もので、ＮＣは各辞書セットに含まれるコードの数より少ない整数である。また、この繰り返しが行われる度に、最小値ホルダＭＤ（ｒ）が小さい順に辞書セットＣＭ（ｒ）をソートする（ステップＳ４１３）。ソートした結果、辞書セットＣＭ（ｒ）の番号と、含まれるコード、最小値ホルダＭＤ（ｒ）も対応がとれるように内容を変更する。
【００７０】
関数Ｒ（ｃｒ）は、繰り返し回数ｃｒに対して、いくつの辞書セットをハミング距離の比較対象となるコードして使用するかを決定する関数である。これは、単調減少関数で、ｃｒ＝１のときはＲ（ｃｒ）＝ＮＲで、最小値は１である。Ｒ（ｃｒ）＝ＮＲということは、全ての辞書セットを検索の対象にするということであり、例えば、Ｒ（ｃｒ）＝ｎ（ｎ＜ＮＲ）であれば、辞書セットのうち、最小値ホルダＭＤ（ｒ）の値の小さい上位ｎ個の辞書セットが検索の対象になるという意味である。従って、Ｒ（ｃｒ）＝１の場合は、検索対象の辞書セットが一つに絞られたことになる。Ｒ（ｃｒ）は、例えば、下式、
【００７１】
Ｒ（１）＝ＮＲ
Ｒ（ｃｒ）＝Ｒ（ｃｒ−１）／２  ｃｒ＞２
ｉｆ  Ｒ（ｃｒ）＜１  ｔｈｅｎ  Ｒ（ｃｒ）＝１
という関数にする。これは、繰り返しが行われる度に、比較の対象となる辞書セットの数を半分に絞っていくという関数である。
【００７２】
ステップＳ４０６のＮ（ｃｒ）は、繰り返し回数ｃｒに対して登録セット内の何番目までのコードをハミング距離の計算に用いるかを決定する関数である。Ｎ（ｃｒ）のチェックに用いる変数はｎであり（ステップＳ４０６）、このｎはステップＳ４０４で初期化された後は、ステップＳ４０７，Ｓ４０８，Ｓ４０９，Ｓ４１０，ステップＳ４１１の繰り返しが行われる度に１ずつ増える。即ち、ステップＳ４０７において、ｒ＞Ｒ（ｃｒ）となるまで、ステップＳ４０８〜ステップＳ４１１の処理を繰り返し、ｒ＞Ｒ（ｃｒ）になった場合は、ｎを１増やして（ステップＳ４１５）、ステップＳ４０６に戻る。登録セット内のコードの順番は並べ替えは行われないので、一度ハミング距離を計算したコードは、それ以降ハミング距離の計算に用いられることはない。
【００７３】
ステップＳ４０８では、入力アイリスコードＩＣとｒ番目の登録セットＣＭ（ｒ）中のｎ番目のコードＤＣ（ｒ，ｎ）とのハミング距離ＨＤの計算が行われる。ハミング距離ＨＤが本人と他人を区別する閾値Ｔａより小さければ（ステップＳ４０９）、この人物は辞書セットＣＭ（ｒ）の人物と同じ人物であるとして結果を出力する（ステップＳ４１６）。
【００７４】
ステップＳ４０９の条件が満たされない場合、辞書セットＣＭ（ｒ）に対応する最小値ホルダＭＤ（ｒ）の内容を更新し（ステップＳ４１０）、ｒの値を一つ増やして（ステップＳ４１１）、ステップＳ４０７に戻る。
【００７５】
ステップＳ４０５で全ての繰り返しが終了した場合、入力されたアイリスコードと一致する人物はいないとして結果を出力する（ステップＳ４１４）。
【００７６】
次に、上記照合動作について一例を用いて更に説明する。
図１０は、図９における繰り返し部分の例を示す説明図である。
ここでは、登録してある人物の数をＮＲ＝８とし、各辞書セット中のコードの数をＮＤ（ｒ）＝７（ｒ＝１〜ＮＲ、全ての辞書セットが同じコード数である）、繰り返し数ＮＣ＝４としている。また、繰り返しごとの比較対象コード数は、
【００７７】
Ｎ（１）＝１
Ｎ（２）＝３
Ｎ（３）＝５
Ｎ（４）＝ＮＤ（max）＝７
とし、Ｒ（ｃｒ）は上記式の、繰り返しが行われる度に辞書セットの数を半分に絞っていく関数を用いている。
【００７８】
１回目の繰り返しでは、全ての辞書セット中の１番目のコードを入力アイリスコードＩＣとのハミング距離の比較に用いている。その結果、照合できなかった場合、ＣＭ（１）〜ＣＭ（８）を最小相違度の小さいもの順にソートする。上記Ｒ（ｃｒ）の式に基づいて、２回目の繰り返しに進む辞書セットはソートされた辞書セットのうち上位四つとなる。
【００７９】
この２回目の繰り返しのときのＣＭ（１）〜ＣＭ（４）の内容は、１回目の繰り返しのときのＣＭ（１）〜ＣＭ（４）とは異なる。例えば、１回目の繰り返しで最小相違度がＣＭ（３）＜ＣＭ（６）＜ＣＭ（２）＜ＣＭ（５）＜ＣＭ（１）＜ＣＭ（４）＜ＣＭ（８）＜ＣＭ（７）であったとすると、２回目の繰り返しに進むのは、ＣＭ（３）、ＣＭ（６）、ＣＭ（２）、ＣＭ（５）であり、これらに対して１〜４の番号がふり直されている。
【００８０】
２回目の繰り返しでは、Ｎ（２）＝３より、それぞれの辞書セット中で３番目までのコードをハミング距離の計算に用いる。但し、１番目のコードは計算済みなので、ここでは２番目と３番目のコードのみが比較対象となる。２回目の繰り返しが終了すると、ＣＭ（１）〜ＣＭ（４）を最小相違度が小さいもの順にソートする。上記Ｒ（ｃｒ）の式に基づいて、３回目の繰り返しに進む辞書セットはソートされた辞書セットのうち上位二つとなる。
【００８１】
この３回目の繰り返しのときのＣＭ（１）、ＣＭ（２）の内容は、上述した２回目の繰り返しのときの説明と同様に、２回目の繰り返しのときのＣＭ（１）、ＣＭ（２）とは異なる。例えば、２回目の繰り返しで最小相違度がＣＭ（２）＜ＣＭ（４）＜ＣＭ（１）＜ＣＭ（３）であったとすると、３回目の繰り返しに進むのは、ＣＭ（２）、ＣＭ（４）であり、これらに対して１、２の番号がふり直されている。
【００８２】
３回目の繰り返しでは、Ｎ（３）＝５より、それぞれの辞書セット中で５番目までのコードをハミング距離の計算に用いる。但し、１番目〜３番目のコードは計算済みなので、ここでは４番目と５番目のコードのみが比較対象となる。３回目の繰り返しが終了すると、ＣＭ（１）とＣＭ（２）を最小相違度が小さいもの順にソートする。上記Ｒ（ｃｒ）の式に基づいて、４回目の繰り返しに進む辞書セットはソートされた辞書セットのうち最小相違度の小さい方となる。
【００８３】
４回目の繰り返しでは、Ｎ（４）＝ＮＤ（max）（辞書セットに登録されてあるコード数の最大値）＝７より、最後に残った辞書セット中の全てのコードを比較対象にする。
【００８４】
１回目〜４回目の繰り返しの途中で、照合している人物と一致すると判断されたコードがあれば、そのコードの属する辞書セットに記録されている人物のＩＤなどを結果として出力する。１回目〜４回目の繰り返しで、照合できる人物がいなければ、登録されていない人物であるという結果を出力する。
【００８５】
〈効果〉
以上のように具体例２によれば、一人の人物に対して複数のアイリスコードを登録し、それらを予め照合可能性の高い順番に並べておき、その順番に照合を行うため、照合までの時間が短縮される。また、多人数を登録してある場合でも、それぞれの人物が登録してあるコードのうち、何番目までを比較に用いるかを繰り返し回数毎に決めておき、繰り返しが行われる度に検索対象を絞りながら比較を行うので、それぞれの辞書セット内を偏りなく検索することができる。
【００８６】
尚、上記具体例１、２では共に識別対象として人物の例を説明したが、同様の認識技術で照合が行える他の動物に対しても応用が可能である。また、登録データと入力データの相違度を元に認識を行うような装置であれば、アイリスコードに限らず他の識別装置に対しても適用可能である。更に、特徴データの相違度もハミング距離を用いたが、相違度を示すものであればユークリッド距離やマハラノビス距離等、他の距離尺度を使用してもよい。
【図面の簡単な説明】
【図１】本発明の個体識別装置の具体例１を示す構成図である。
【図２】アイリスコードを登録するための映像入力からアイリスコード生成までの動作を示すフローチャートである。
【図３】目画像とコード化画像の説明図である。
【図４】辞書候補データの内容を示す説明図である。
【図５】辞書候補データから登録データを選択するための照合度数を求める処理のフローチャートである。
【図６】登録データ選択処理のフローチャートである。
【図７】コードＣＭ（ｒ）とコード空間との関係を示す説明図である。
【図８】具体例２の構成図である。
【図９】具体例２の動作を示すフローチャートである。
【図１０】図９における繰り返し部分の例を示す説明図である。
【符号の説明】
２  入力画像記憶部
６  データ記憶部
７  辞書データ選択部
８、１７  特徴データ生成部
１４  照合部
１６  登録データベース
【図１】
0003995181.tif 000002
【図２】
0003995181.tif 000003
【図３】
0003995181.tif 000004
【図４】
0003995181.tif 000005
【図５】
0003995181.tif 000006
【図６】
0003995181.tif 000007
【図７】
0003995181.tif 000008
【図８】
0003995181.tif 000009
【図９】
0003995181.tif 000010
【図１０】
0003995181.tif 000011