JP6456031B2 - 画像認識装置、画像認識方法およびプログラム - Google Patents

画像認識装置、画像認識方法およびプログラム Download PDF

Info

Publication number
JP6456031B2
JP6456031B2 JP2014062663A JP2014062663A JP6456031B2 JP 6456031 B2 JP6456031 B2 JP 6456031B2 JP 2014062663 A JP2014062663 A JP 2014062663A JP 2014062663 A JP2014062663 A JP 2014062663A JP 6456031 B2 JP6456031 B2 JP 6456031B2
Authority
JP
Japan
Prior art keywords
partial feature
dimension
compression
feature amount
partial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014062663A
Other languages
English (en)
Other versions
JP2015185034A (ja
Inventor
佐藤 博
博 佐藤
崇士 鈴木
崇士 鈴木
俊亮 中野
俊亮 中野
敦夫 野本
敦夫 野本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2014062663A priority Critical patent/JP6456031B2/ja
Priority to US14/664,085 priority patent/US9471979B2/en
Publication of JP2015185034A publication Critical patent/JP2015185034A/ja
Application granted granted Critical
Publication of JP6456031B2 publication Critical patent/JP6456031B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2132Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on discrimination criteria, e.g. discriminant analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2135Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/28Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/772Determining representative reference patterns, e.g. averaging or distorting patterns; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Medical Informatics (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)
  • Collating Specific Patterns (AREA)
  • Studio Devices (AREA)

Description

本発明は、特に、特徴量を抽出してオブジェクトを識別するために用いて好適な画像認識装置、画像認識方法およびプログラムに関する。
従来、ある画像の中の被写体が、別の画像の中の被写体と同一のものであるか否かを識別する技術が知られている。その中でも特に個人の顔を識別する顔識別技術が知られている。このような技術において、識別性能を低下させる要因として、登録用パターンと認証用パターンとの間の変動が挙げられる。具体的には、照明条件、向き・姿勢、他のオブジェクトによる隠れ、表情による変動などが識別性能を低下させる要因となっている。
そこで、識別性能を向上させる技術として、画像中のオブジェクトの局所部分に注目する方法がある。例えば、オブジェクトが人物の顔である場合に、上述のような変動の影響が顔の全域で均一に現れるわけではない。例えば、表情変動の場合、表情のある顔の画像と無表情の顔の画像とでは、口や目に比べて鼻付近の変動は少ないと考えられる。また、照明変動の場合は、強い照明の光が斜めから当たると、光が当たっている部分と、斜光が無い部分とで変動の大きさが異なると考えられる。また、画像内の顔の向きが観察者に相対して左に向いたとすると、顔の3次元形状から、顔の左側は奥行き方向に隠れて見えるようになるため、正面顔との変動は左側よりも右側の方が大きいと考えられる。
以上のように、表情変動や、照明変動、顔の向きの変動などの変動がある場合においても、ある局所領域の変動が極端に大きくても、他の局所領域では個人の特定が可能な程度の変動である場合があり得る。そこで、比較的変動の少ない局所領域毎の類似度を選択的に統合して用いれば、高精度に個人を識別することが可能となる。
また、大きな変動に対応するためには、複数の変動パターンに対応した登録用パターンを予め登録しておくことによって対応することも考えられる。例えば、人物の顔の場合、登録人物ごとに、照明条件、向き・姿勢、隠れや表情など様々な変動に対応した画像を予め登録しておくことが考えられる。このように撮影時に起こりうる条件を予め登録画像として保持しておくことによって、認識精度を向上させることができる。しかしながら、予め多数の登録画像を準備することは、ユーザの利便性と相反し、さらに、全ての変動パターンを予測して用意することも実用上は困難である。
そこで、特許文献1に記載の方法では、局所部分に注目しながら、少ないパターンで大きな変動に対応する方式を採用している。この方式では、パターンを部分領域に分割し、各々の部分領域から抽出した部分特徴に所定の変換を施すことにより変動にロバストな特徴量を算出している。ここで、所定の変換は、人物の顔の向きや表情などの属性に応じてそのパラメータを切り替えるようにして、変動に適応的に対応できるようにしている。
特開2011−86265号公報
P. Viola and M. Jones,"Robust real-time face detection", pp.747, Eighth International Conference on Computer Vision (ICCV'01) ‐ Volume 2, 2001. J.Wright and G. Hua. Implicit elastic matching with random projections for pose-variant face recognition. In Proc. CVPR, 2009.
局所部分から抽出した部分特徴に対して変換を施して、変動にロバストな特徴量を算出するためには、変換に用いるパラメータを多く保持しておく必要がある。例えば、主成分分析に代表されるような線形演算を用いて変換を行う場合には、元の特徴次元をNとし、変換後の特徴次元をMとすると、パラメータ量はN×Mに比例する。局所部分に注目した方式を用いる場合には、さらに局所部分の数だけパラメータが必要になる。このように、パラメータをデータとして確保するために記憶領域が増加したり、変換演算を実行する際にパラメータをメモリ領域に読み出すためのメモリ帯域が増加したりすることによって消費電力が増すなど、さまざまな問題を引き起こす。
一方、特許文献1に記載の方法では、本来2段階で行う変換を1つにまとめることによってパラメータの量を少なくするようにしている。しかしながら、前述したようにパラメータ量が特徴量の次元数、変換後の特徴量の次元数、および局所部分の数の積に比例してパラメータ量が増加する点においては本質的な改善にはなっていない。
本発明は前述の問題点に鑑み、画像から抽出した特徴量の次元数を削減するためのパラメータの保持量を少なくして、かつ精度の高いパラメータを用いて特徴量の次元数を削減できるようにすることを目的としている。
本発明に係る画像認識装置は、登録画像または入力画像のオブジェクトから部分特徴量を抽出する抽出手段と、前記抽出手段によって抽出された部分特徴量の次元を削減する圧縮手段と、前記圧縮手段によって次元が削減された前記登録画像のオブジェクトの部分特徴量を記憶する記憶手段と、前記圧縮手段によって次元が削減された前記登録画像及び前記入力画像のオブジェクトの部分特徴量を用いて、前記入力画像のオブジェクトと前記登録画像のオブジェクトとの類似度を算出する算出手段とを有し、前記圧縮手段は、予め設定されている次元圧縮パラメータを用いて部分特徴量の次元を圧縮するか、次元圧縮パラメータを動的に生成して部分特徴量の次元を圧縮するかを切り替え、次元圧縮パラメータを動的に生成する場合に、乱数の周期を小さくするように乱数を生成して前記次元圧縮パラメータを生成することを特徴とする。
本発明によれば、画像から抽出した特徴量の次元数を削減するためのパラメータの保持量を少なくして、かつ精度の高いパラメータを用いて特徴量の次元数を削減することができる。
本発明の実施形態に係るオブジェクト識別装置の構成を示すブロック図である。 オブジェクト識別装置の全体的な処理手順の一例を示すフローチャートである。 オブジェクト登録部の詳細な構成例を示すブロック図である。 登録オブジェクト辞書データ生成部の詳細な構成例を示すブロック図である。 第1の実施形態に係る部分特徴次元圧縮部の詳細な構成例を示すブロック図である。 第1の実施形態において、部分特徴量の次元数を圧縮する処理手順の一例を示すフローチャートである。 入力オブジェクト識別部の詳細な構成例を示すブロック図である。 入力オブジェクトを識別する処理手順の一例を示すフローチャートである。 入力オブジェクト識別用データ生成部の詳細な構成例を示すブロック図である。 入力オブジェクト識別演算部の詳細な構成例を示すブロック図である。 第1の実施形態において、入力オブジェクトを識別する詳細な処理手順の一例を示すフローチャートである。 第2の実施形態に係る部分特徴次元圧縮部の詳細な構成例を示すブロック図である。 第2の実施形態において、辞書データを生成する際に部分特徴量の次元数を圧縮する処理手順の一例を示すフローチャートである。 第2の実施形態において、識別用データを生成する際に部分特徴量の次元数を圧縮する処理手順の一例を示すフローチャートである。 第2の実施形態において、入力オブジェクトを識別する詳細な処理手順の一例を示すフローチャートである。
(第1の実施形態)
以下、図面を参照しながら本発明の第1の実施形態を詳細に説明する。
図1は、本実施形態に係るオブジェクト識別装置(画像認識装置)100の構成例を示すブロック図である。
図1に示すように、オブジェクト識別装置100は、結像光学系101、撮像部102、撮像制御部103、画像記録部104、オブジェクト登録部105、入力オブジェクト識別部106および外部出力部107を備えている。また、これらの各構成は接続バス108によって接続されている。
なお、オブジェクト登録部105および入力オブジェクト識別部106は、典型的には、それぞれ専用回路(ASIC)、プロセッサ(リコンフィギュラブルプロセッサ、DSP、CPUなど)であってもよい。また、単一の専用回路および汎用回路(CPU)の内部において実行されるプログラムとして存在してもよい。
結像光学系101は、ズーム機構を備えた光学レンズによって構成されている。また、パン・チルト軸方向の駆動機構を備えてもよい。撮像部102は、典型的にはCCDまたはCMOSイメージセンサを備えており、不図示のセンサ駆動回路からの読み出し制御信号により所定の映像信号(例えば、サブサンプリング、ブロック読み出しして得られる信号)が画像データとして出力される。
撮像制御部103は、画角調整や、シャッターボタンの押下などの指示、および、オブジェクト登録部105または入力オブジェクト識別部106から出力される情報を元に、実際に撮影を行うタイミングを制御する。画像記録部104は、半導体メモリ等で構成されており、撮像部102から転送された画像データをメモリに保持し、オブジェクト登録部105または入力オブジェクト識別部106からの要求に応じて、所定のタイミングで画像データを転送する。
オブジェクト登録部105は、画像データから識別の対象とするオブジェクトの情報を抽出して記録・保持する。オブジェクト登録部105の詳細な構成および実際に行われる処理の具体的な内容については後述する。入力オブジェクト識別部106は、入力された画像データおよびオブジェクト登録部105から取得した画像データを元に、オブジェクトの識別を行う。入力オブジェクト識別部106の具体的な構成および行われる処理の詳細についても後述する。
外部出力部107は、例えばTFT液晶などのモニタであり、撮像部102および画像記録部104から取得した画像データに係る画像を表示する。また、入力オブジェクト識別部106による識別結果を画像に重畳して表示する。なお、入力オブジェクト識別部106による識別結果を電子データとして外部メモリなどに出力する形式をであってもよい。接続バス108は、上記の構成要素間を接続するためのバスである。
<全体フロー>
図2は、本実施形態におけるオブジェクト識別装置100の全体的な処理手順の一例を示すフローチャートである。以下、図2を参照しながら、本実施形態のオブジェクト識別装置100が、オブジェクトを識別する実際の処理について説明する。なお、図2の説明では、画像中のオブジェクトが人物の顔である場合について説明する。
まず、ステップS201において、画像記録部104から画像データを取得する。続いて、ステップS202において、取得した画像の中から人物の顔を検出する。画像の中から人物の顔を検出する方法については、例えば非特許文献1に記載されているような公知の技術を用いればよい。
次に、ステップS203において、ステップS202の処理の結果、画像の中に人物の顔が存在するか否かを判定する。この判定の結果、人物の顔が存在する場合は、ステップS204において、オブジェクトの識別処理、すなわち個人の識別処理を行う。このステップS204のオブジェクト識別処理の具体的な処理内容については後述する。一方、ステップS203の判定の結果、人物の顔が存在しない場合は、そのまま処理を終了する。
次に、ステップS205において、識別処理の結果から、登録済みの人物に該当する顔があるか否かを判定する。この判定の結果、検出された顔の人物が、登録済みの人物と同一人物である場合は、ステップS208に進む。一方、検出された顔の人物が、登録済みの人物の誰とも一致しない場合は、ステップS206において、その人物を登録するか否かを判定する。登録するか否かの判定は、現在の設定に応じて判定してもよく、例えば外部インターフェースやGUIなどを介して、その場で登録するかどうかユーザに決定させるようにしてもよい。
ステップS206の判定の結果、その人物を登録する場合は、ステップS207において、人物の顔の登録処理を行う。この処理の詳細については後述する。一方、ステップS206の判定の結果、その人物を登録しない場合は、そのままステップS208に進む。
次に、ステップS208において、検出されたオブジェクト(人物)全てについて処理が終了したかどうかを判定する。この判定の結果、未処理のオブジェクトがある場合は、ステップS204に戻る。一方、全てのオブジェクトについて処理が終了した場合は、ステップS209において、一連の識別処理の結果を、外部出力部107に出力し、処理を終了する。
<オブジェクト登録部105>
まず、ステップS207におけるオブジェクト登録処理の詳細について説明する。図3は、図1に示したオブジェクト登録部105の詳細な構成例を示すブロック図である。
図3に示すように、オブジェクト登録部105は、登録オブジェクト辞書データ生成部301、登録オブジェクト辞書データ保持部302、および登録オブジェクト辞書データ選択部303を備えている。
登録オブジェクト辞書データ生成部301は、画像記録部104から取得した画像データから、オブジェクトの個体を識別するために必要な辞書データを生成する。登録オブジェクト辞書データ生成部301で行われる具体的な処理の内容については後述する。ここで辞書データには、後述する属性データおよび部分特徴量が含まれている。
登録オブジェクト辞書データ保持部302は、属性データ記憶部304と部分特徴量記憶部305とを備え、登録オブジェクト辞書データ生成部301によって生成された辞書データを保持する。属性データ記憶部304は、辞書データのうち、登録するオブジェクトの属性、例えばオブジェクトが人物の顔である場合は、性別や年齢、表情、顔の向きなどの属性データを保持する。属性データは、登録オブジェクト辞書データ生成部301によって取得されるものであってもよく、登録時にユーザによって入力されるデータであってもよい。部分特徴量記憶部305は、登録オブジェクト辞書データ生成部301によって抽出された部分特徴量を保持する。
登録オブジェクト辞書データ選択部303は、後述する入力オブジェクト識別部106の要求に応じて、登録オブジェクト辞書データ保持部302から必要な辞書データを読み出して、入力オブジェクト識別部106に転送する。
<登録オブジェクト辞書データ生成部301>
図4は、図3に示した登録オブジェクト辞書データ生成部301の詳細な構成例を示すブロック図である。
図4に示すように、登録オブジェクト辞書データ生成部301は、部分特徴抽出部401、および部分特徴次元圧縮部402を備えている。
部分特徴抽出部401は、対象となるオブジェクトを含む画像から、特徴ベクトル(以下、部分特徴量ベクトル)を抽出する。部分特徴抽出部401は、さらに部分領域設定部403、および特徴ベクトル抽出部404から構成される。部分領域設定部403は、特徴ベクトル抽出部404が部分特徴量ベクトルを抽出する部分領域の位置および範囲を設定する。なお、部分領域の位置および範囲は、機械学習方法を用いて予め決めておくことが好ましい。また、部分領域の数は、処理時間などに応じて予め所定の数を決めておくが、予め用意した学習用サンプルに対して十分な識別性能が得られる数を計測して決めるようにしてもよい。
特徴ベクトル抽出部404は、登録用オブジェクトのデータから部分特徴量ベクトルを抽出する。対象とするオブジェクトが人物の顔である場合は、顔を含む画像から識別に必要なデータを取り出す処理を行う。具体的には識別に必要なデータとして、部分領域設定部403によって設定された部分領域から、その輝度値を部分特徴量ベクトルの1つとして抽出する。
輝度値以外に、オブジェクトの部分領域の位置に対して不変な特徴量もしくは位置の変動に頑健な特徴量として、例えば、輝度の頻度分布などを部分特徴量ベクトルとして抽出してもよい。また、部分領域の位置の変動に不変もしくは頑健な特徴量として、オブジェクトが含まれる画像をフーリエ変換した位相情報を部分特徴量ベクトルとしてもよい。さらに、上記のような位置の変動に対してロバストな特徴量の他に、画像のエッジ情報を抽出したフィルタ演算結果を部分特徴量ベクトルとして抽出してもよい。具体的には、ゾーベルフィルタやガボアフィルタなど代表的な空間フィルタ演算を課した結果を部分特徴量ベクトルとして抽出する。また、上記のような空間フィルタによるエッジ情報の頻度分布をとり、その頻度分布を部分特徴量ベクトルとしてもよい。頻度分布は、位置の変動に対して比較的頑健であり、エッジ情報に由来する特徴を位置ずれに対して頑健にする効果がある。
部分特徴次元圧縮部402は、特徴ベクトル抽出部404によって抽出された部分領域の部分特徴量ベクトルの次元を圧縮する。以下、部分特徴次元圧縮部402の詳細な構成および処理について説明する。
<部分特徴次元圧縮部402>
図5は、図4に示した部分特徴次元圧縮部402の詳細な構成例を示すブロック図である。
図5に示すように、部分特徴次元圧縮部402は、部分特徴次元圧縮制御部501、次元圧縮パラメータ生成部502、次元圧縮演算部503、および次元圧縮パラメータ保持部504を備えている。
部分特徴次元圧縮制御部501は、部分特徴抽出部401より取得した部分特徴量ベクトルに応じて、次元圧縮演算部503で行われる次元圧縮処理を制御する。典型的には、次元圧縮の対象となる部分特徴量ベクトルの属性に応じて、次元圧縮に用いるパラメータを予め保持していたものにするか、動的に生成するかを切り替える。具体的な内容については後述する。
次元圧縮パラメータ生成部502は、次元圧縮に用いるパラメータを動的に生成する場合に、次元圧縮演算部503で圧縮演算(次元圧縮)を行うためのパラメータを動的に生成する。また、次元圧縮パラメータ生成部502は、さらに乱数生成部505および乱数データ管理部506を備えている。乱数生成部505は、所定の方法で乱数を生成する処理を行う。乱数データ管理部506は、乱数生成部505で生成した乱数を管理する。
次元圧縮演算部503は、次元圧縮パラメータ生成部502で生成されたパラメータ、または次元圧縮パラメータ保持部504に保持されているパラメータを用いて、部分特徴量ベクトルの圧縮演算を行う。次元圧縮パラメータ保持部504は、次元圧縮演算部503で圧縮演算を行う際に使用するパラメータを保持しており、例えば、部分特徴量ベクトルの平均ベクトルを保持している。ここで、部分特徴量ベクトルの平均ベクトルとは、部分特徴量ベクトルを予め用意した学習サンプルから抽出し、部分特徴量ベクトルの各要素の平均を求めたものである。なお、次元圧縮演算部503で行われる処理の詳細や、平均ベクトル以外に次元圧縮パラメータ保持部504が保持する具体的なパラメータについては後述する。
ここで、部分特徴量ベクトルに対して次元圧縮を行う意味について説明する。部分特徴量ベクトルの次元圧縮処理を行う意図は主に2つあり、1つ目は精度向上である。次元圧縮を行う際に、主成分分析などによりデータの本質的な情報を持つ次元を選択して他の次元を削減することによって、微妙な照明や表情などの認証にとって本質的でない変動の影響を取り除かれ、精度を向上させる効果が期待される。2つ目の意図は、データ量の削減である。オブジェクト認証では、ユーザが登録するオブジェクトについて、その全部分特徴量ベクトルを記憶しておく必要があるため、部分特徴量ベクトルの次元が小さい程データ量を少なくすることができる。したがって、実際のシステムを考えた場合、部分特徴量ベクトルの次元圧縮は、応用上きわめて重要な処理である。
図6は、部分特徴次元圧縮部402により行われる処理手順の一例を示すフローチャートである。以下、図6を参照しながら、部分特徴量を次元圧縮する処理について説明する。
まず、ステップS601において、部分特徴次元圧縮制御部501は、部分特徴抽出部401で抽出した部分特徴量(部分特徴量ベクトル)を取得する。ここで取得する部分特徴量には、オブジェクト上での部分領域の位置や大きさ、特徴量の種類などの付随する属性情報も含まれる。
続いて、ステップS602において、部分特徴次元圧縮制御部501は、取得した部分特徴量に対して行う次元圧縮処理の方法を決定する。次元圧縮方法は部分特徴量の属性に対応して予め定められており、ステップS601で取得した部分特徴量の属性を読み取ることにより決定する。ここでは、次元圧縮用のパラメータの取得方法や、対応する部分特徴量の平均ベクトル、次元圧縮後の次元数等の項目を決定することにより次元圧縮方法を決定する。
パラメータの取得方法については、次元圧縮に用いるパラメータを動的に生成するか、予め用意したものを読み出すか、の2つの方法があり、これを部分特徴量ごとに判定し、切り替える。なお、このパラメータの実体については後述する。また、次元圧縮後の次元数とは、後段の圧縮処理により出力される部分特徴量である部分特徴量ベクトルの次元数のことである。
次元圧縮用のパラメータの取得方法や、次元圧縮後の次元数を予め定める方法では、部分特徴量の領域を決める際と同じように、機械学習方法を用いることができる。具体的には、パラメータおよび圧縮後の次元数を変えた候補を複数用意して、識別性能を評価関数とし、機械学習方法を用いて選択すればよい。
また、次元圧縮方法を決定する際に、次元圧縮用のパラメータを共通にするための制御を行うようにしてもよい。一般的には、部分領域ごとに次元圧縮に用いるパラメータを用意するのが望ましい。典型的には、例えば、部分領域ごとに部分特徴量ベクトルを学習データから抽出して、主成分分析などの機械学習方法を用いて学習し、部分領域ごとに最適な次元圧縮用のパラメータを用意する。
一方、データ量を削減する目的により次元圧縮用のパラメータの量を削減するために、複数の部分領域で同じ次元圧縮用のパラメータを使用するようにしてもよい。例えば部分特徴量の種類が同じであり、部分領域が比較的近い位置関係にある場合は、機械学習方法によって得られる次元圧縮用のパラメータも比較的似たものになると考えられるので、共通化することができる。また、主成分分析等の機械学習方法により学習する際に、複数の部分領域に対する部分特徴量ベクトルを一度に学習することによって、共通な次元圧縮用のパラメータを求めるようにしてもよい。
次元圧縮用のパラメータを乱数によって動的に生成する場合は、次元圧縮用のパラメータを各部分領域で共通にすれば、容易に生成することができる。次元圧縮用のパラメータが乱数である場合、部分領域ごとに異なる乱数列であることに特に意味はなく、共通であってもよい。なお、乱数によって次元圧縮用のパラメータを動的に生成する場合は、パラメータの量は問題にならないが、部分領域間で共通にすることによって乱数の周期を小さくすることが可能になるので、乱数を生成する処理を軽減することができる。
また、実際に次元圧縮用のパラメータをどの部分領域で共通にするかは、実際に共通化した次元圧縮用のパラメータを用意し、機械学習方法によって認識性能や所定の処理量など基準を定めて選択して決めればよい。
図6の説明に戻り、次にステップS603において、次元圧縮演算部503は、次元圧縮パラメータ保持部504から部分特徴量の属性に応じた平均ベクトルを取得し、部分特徴量ベクトルから減算する。ここで、参照する部分特徴量の属性は、典型的には部分特徴量の種類、位置、大きさなどである。これらの属性によって部分特徴量の次元数が定められるため、取得する平均ベクトルの次元数も一致していることになる。元々の部分特徴量ベクトルをv、平均ベクトルをmとすると、求める部分特徴量ベクトルxは、以下の式(1)によって算出される。
x=v−m ・・・(1)
次に、ステップS604において、部分特徴次元圧縮制御部501は、ステップS602で決定された次元圧縮方法に応じて、パラメータの取得方法を判定する。この判定の結果、パラメータを動的に生成しない場合は、ステップS605において、次元圧縮演算部503は、次元圧縮パラメータ保持部504から必要なパラメータを読みだす。次元圧縮パラメータ保持部504には、所定の方法を用いて求められたパラメータ群が予め保持されている。典型的には主成分分析(PCA:Principal Component Analysis)や局所性保存射影(LPP:Locality Preserving Projections)などの手法を用いて求められたパラメータ群が保持されている。次に、ステップS606において、次元圧縮演算部503は、射影行列Aを用いて射影演算を行う。射影演算は以下の式(2)により行われる。
y=Ax ・・・(2)
ここでxはステップS603で算出した次元圧縮前の部分特徴量ベクトルであり、yは次元圧縮後の部分特徴量ベクトルである。また、Aは射影行列である。次元圧縮前の部分特徴量ベクトルxの次元数をdとし、次元圧縮後の部分特徴量ベクトルyの次元数をmとすると、射影行列Aはd×m次元の行列として表現される。ステップS605で読み出すパラメータは、射影行列Aの各要素の値に対応する。次元圧縮後の部分特徴量ベクトルyの第i成分は、以下の式(3)により与えられる。
Figure 0006456031
また、式(2)に示した射影行列Aを主成分分析によって求めるのではなく、後述するように、Aの各要素を乱数にすることもできる。その場合、式(2)または式(3)で表わされる射影演算を以下ではランダム射影と呼ぶことにする。
ステップS606では、式(3)に対応する処理を行う。そして、次のステップS607において、次元圧縮演算部503は、所定回数(m回)だけこの射影処理を行ったか否かを判定する。この判定の結果、所定回数に達していない場合は、iをi+1に更新してステップS605に戻る。一方、ステップS607の判定の結果、所定回数だけ射影処理を行って部分特徴量ベクトルの次元数mに達した場合は、処理を終了する。
一方、ステップS604の判定の結果、動的にパラメータを生成する場合は、ステップS608において、次元圧縮パラメータ生成部502は次元圧縮用のパラメータを生成する。ここで生成するパラメータは射影行列Aの要素であり、典型的には式(3)に示した射影行列Aijに対応する。また、次元圧縮用のパラメータを生成する場合には、適宜初期化を行って、部分特徴量間で共通のパラメータを生成するようにするとよい。具体的には、乱数データ管理部506の管理情報に基づいて、乱数生成部505が乱数列の初期化を行うようにする。例えば、部分特徴量が切り替わったタイミングで初期化を行い、部分特徴量ベクトルが変わっても、同じ順番(第i成分)にある要素に対しては同じパラメータが使われるようにする。
次に、ステップS609において、次元圧縮演算部503は、部分特徴量ベクトルの要素とステップS608で生成したパラメータとの積和演算を行う。この処理では、式(3)に示した射影行列Aijの積をj=0からその和を演算する。次にステップS610において、次元圧縮演算部503は、式(3)の積和演算が完了しているか否かを判定する。すなわち、圧縮前の部分特徴量ベクトルの要素番号jが、元の部分特徴量ベクトルの次元数dに達しているか否かを判定する。この判定の結果、積和演算が完了していない場合は、jをj+1に更新してステップS608に戻る。
一方、ステップS610の判定の結果、積和演算が完了している場合は、ステップS611において、次元圧縮演算部503は、圧縮後の部分特徴量ベクトルの全要素を計算済みか否か判定する。この判定はステップS607と同様の処理であるため、説明を割愛する。この判定の結果、次元数mに達していない場合はステップS608に戻り、次元数mに達した場合は処理を終了する。
ここで、ステップS604の処理により次元圧縮用のパラメータを動的に生成するか否かによって分岐させた理由を説明する。前述したように次元圧縮パラメータ保持部504には、式(2)の射影行列Aの各要素が格納されている。さらに、射影行列Aは部分特徴量ベクトルごとに用意されるので、組込み機器のようにリソースに制約がある場合は、全てのパラメータを作業用メモリ等に展開することはできない。
製造コストを抑えるために、不揮発性の記憶装置や、低速だが安価な一時記憶装置等にこれらのパラメータを保持しておき、使用する際に読み出すようにすることが好ましい。そのため、ステップS605からS607の処理では、このような記憶装置から作業用メモリにデータを読み出す量が多くなる。データの読み出しは多くの時間がかかるため、出来るだけ高速に行う必要があるが、高速に処理を行うためにメモリの帯域を大きくとると、消費電力が大きくなるという問題がある。このように、次元圧縮用のパラメータを予め用意して、実行時に読み出すようにすると、処理速度の向上と消費電力の低減とを両立させることが難しい。
一方、ステップS608からS611の処理では、次元圧縮用のパラメータを動的に生成するため、予めパラメータを記憶装置等に格納する必要がない。また、パラメータを生成する場合には、即座にそのパラメータが用いられるので、メモリ帯域を広く確保する必要もない。
ここで、精度と実装効率との関係について、一般的に、乱数データを射影基底に用いるよりも、予め主成分分析などの機械学習方法で定めた方が、精度が良い場合が多い。このことは、次元圧縮前の部分特徴量の次元数d、次元圧縮後の次元数m、および、求める精度との関係にも依存する。オブジェクトの認証の場合、次元圧縮前の次元数dが大きく、次元圧縮後の次元数mが比較的小さい場合には、乱数による次元圧縮で十分な精度を得られる場合が多い。一方、次元圧縮前の次元数dが小さく、次元圧縮後の次元数mが比較的大きい場合は、機械学習の方法で求めた次元圧縮パラメータに対して、有意な大きさで精度の劣化が生じることが多い。
前述したように、実際には、精度を目的関数として、機械学習によるものと乱数によるものとのそれぞれで精度を求め、機械学習方法で部分特徴量ごとに良いものを選択すればよい。さらに、目的関数に処理コスト(パラメータ呼び出し回数や必要メモリ帯域)を含めることによって、実装に最適な次元圧縮用のパラメータを決めることが可能になる。
<入力オブジェクト識別部106>
次に、入力オブジェクトを識別する処理について説明する。図7は、図1に示した入力オブジェクト識別部106の詳細な構成例を示すブロック図である。
図7に示すように、入力オブジェクト識別部106は、入力オブジェクト識別用データ生成部701、登録オブジェクト辞書データ取得部702、および入力オブジェクト識別演算部703を備えている。
入力オブジェクト識別用データ生成部701は、画像記録部104から画像データを取得し、識別対象であるオブジェクトの識別に必要な識別用データを抽出する。登録オブジェクト辞書データ取得部702は、オブジェクト登録部105より、入力オブジェクトの識別に必要な辞書データを取得する。入力オブジェクト識別演算部703は、入力オブジェクト識別用データ生成部701から取得した識別用データと、登録オブジェクト辞書データ取得部702から得た辞書データとから、オブジェクトの識別処理を行う。ここで行われる処理については後述する。
図8は、入力オブジェクト識別部106で行われる処理手順の一例を示すフロー図である。
まず、ステップS801において、登録オブジェクト辞書データ取得部702は、オブジェクト登録部105から登録オブジェクトの辞書データを取得する。次に、ステップS802において、入力オブジェクト識別用データ生成部701は、画像記録部104より入力オブジェクトを含む画像データ(入力画像)を取得する。続いて、ステップS803において、入力オブジェクト識別用データ生成部701は、入力オブジェクトを識別するための識別用データを生成する。ここで行われる処理の詳細については後述する。
次に、ステップS804において、入力オブジェクト識別演算部703は、入力オブジェクトを識別するための演算処理を行う。この演算処理の結果として、登録済みデータ(辞書データ)と一致するか否かをバイナリ(0または1)で出力する場合と、正規化した出力値を尤度や類似度(例えば0〜1の実数値)として出力する場合とが考えられる。さらに登録オブジェクトが複数の場合には、それぞれの登録オブジェクトに対して尤度を出力してもよく、最も一致した登録オブジェクトに対する結果だけを出力してもよい。
また、登録オブジェクトに対する尤度ではなく、登録オブジェクトが属するクラスに対する尤度を出力してもよい。例えば人物を識別する場合には、個々の登録顔画像に対する尤度ではなく、人物のID(名前)に対する尤度を出力するようにする。なお、入力オブジェクトを識別するための演算処理の具体的な内容については後述する。
<入力オブジェクト識別用データ生成部701>
図9は、図7に示した入力オブジェクト識別用データ生成部701の詳細な構成例を示すブロック図である。
図9に示すように、入力オブジェクト識別用データ生成部701は、部分特徴抽出部901、および部分特徴次元圧縮部902を備えている。また、部分特徴抽出部901は、さらに部分領域設定部903および特徴ベクトル抽出部904を備えている。入力オブジェクト識別用データ生成部701の構成および各構成による処理は、それぞれ図4に示した登録オブジェクト辞書データ生成部301と同様であるため、詳細な説明は割愛する。部分特徴量の次元数を圧縮手順についても同様である。
<入力オブジェクト識別演算処理>
次に、入力オブジェクトを識別するための演算処理について説明する。本実施形態では、一例として、入力オブジェクトの識別を、登録オブジェクトと入力オブジェクトとで対応する部分特徴量間の類似性をもとに判定する場合について説明する。
図10は、図7に示した入力オブジェクト識別演算部703の詳細な構成例を示すブロック図である。
図10に示すように、入力オブジェクト識別演算部703は、入力オブジェクト識別用データ取得部1001、および登録オブジェクト辞書データ取得部1002を備えている。さらに、部分特徴類似度算出部1003、部分特徴類似度統合部1004、および入力オブジェクト判定部1005を備えている。
図11は、入力オブジェクト識別演算部703による処理手順の一例を示すフローチャートである。以下、図11を参照しながら図10に示す各構成の処理について説明する。
まず、ステップS1101において、入力オブジェクト識別用データ取得部1001は、入力オブジェクトの識別用データを入力オブジェクト識別用データ生成部701から取得する。続いて、ステップS1102において、登録オブジェクト辞書データ取得部1002は、登録オブジェクトの辞書データを登録オブジェクト辞書データ取得部702から取得する。
次に、ステップS1103において、部分特徴類似度算出部1003は、取得した入力オブジェクトの識別用データと登録オブジェクトの辞書データとから、対応する部分特徴量の類似度を算出する。この処理では、それぞれ対応する部分特徴量ベクトル間のユークリッド距離を求め、その逆数を類似度とする。また、ユークリッド距離ではなく、部分特徴量ベクトル間の内積を求め、そのなす角を類似度としてもよい。さらに一般的な距離として、以下の式(4)で表されるミンコフスキー距離Lの逆数を類似度としてもよい。
Figure 0006456031
ここで、2つのベクトルx、yはそれぞれl次元であるとする。この際、必要な2つのパラメータa,bについては、評価用のサンプルで最も識別性能が良くなるように予め定めておけばよい。
次に、ステップS1104において、部分特徴類似度算出部1003は、同一のオブジェクト(同一のID)に属する辞書データについて、全て類似度を求めたか否かを判定する。この判定の結果、未処理の辞書データが存在する場合は、ステップS1102に戻り、同一のIDに属する辞書データを取得して処理を繰り返す。一方、未処理の辞書データが存在しない場合は、次の処理に移る。
次に、ステップS1105において、部分特徴類似度統合部1004は、同一のIDに属する辞書データに関して、ステップS1103で求めた類似度を部分特徴量ごとに統合し、さらに全体として1つの類似度に統合する。例えば、1つのオブジェクトに対して、3つの登録画像が存在する場合、1つの部分領域について3つの類似度が算出される。この同一の部分領域(同一のID)における3つの類似度に対して、その平均値や、最大値、中央値などを求めることによって、部分領域の単位で統合することができる。
さらに、上記のように統合された部分領域ごとの類似度を、最終的に1つの類似度として統合する。このときの統合方法としては、例えば、単純な平均値を求めてもよく、最大値や中央値を求めるようにしてもよい。また、類似度が大きい値が上位に来るようにソートして、全体に対して所定の割合で上位にある類似度だけを平均(以下、降順ソート上位平均と呼ぶ)して、統合類似度としてもよい。このようにすることによって、複数枚の登録画像がある場合に、より類似度が高いところだけを用いて統合することが可能になり、認識性能を向上させることができる。
次に、ステップS1106において、上記処理を全ての辞書データについて行ったか否かを判定する。この判定の結果、まだ未処理の辞書データが存在する場合は、ステップS1102に戻って異なるIDに関して処理を行う。一方、全ての辞書データについて処理を行った場合は、ステップS1107において、入力オブジェクト判定部1005は、入力オブジェクトの判定処理を行う。
ここで、入力オブジェクトの判定処理とは、登録済みの全てのオブジェクトの辞書データとの類似度を勘案して、入力オブジェクトがどの登録オブジェクトに対応するか判定する処理である。典型的には、ステップS1105で取得した統合類似度のうち、最大値をとるものが、入力オブジェクトに対応する登録オブジェクトであるものとし、その結果を出力する。判定の際に、同じIDを持つ登録オブジェクトに対する類似度を統合してから比較してもよい。典型的には、同じIDに対する類似度の平均値を求めて、それらの最大値をとるものを、入力オブジェクトに対応するオブジェクトのIDとして判定し、出力するようにしてもよい。
本実施形態では、部分特徴量ベクトルを次元圧縮する際に使用する次元圧縮用のパラメータに関し、予め用意したものを用いるか、動的に生成するか、部分特徴量に応じて切り替えるようにした。次元圧縮用のパラメータを主成分分析の手法などによって予め射影行列として求めると、一般に、そのパラメータ量は膨大なものになり、その全てをメモリ等に格納することはできない。このような場合には他の記憶装置からパラメータを読み出すことになるが、読み出す回数が増えると、処理速度が低下してしまう。また、処理速度を向上しようとする場合にはメモリ帯域を大きくする必要があり、消費電力の増加を招く。
一方、パラメータを動的に生成すれば、このような問題は発生しない。この場合には精度の劣化が懸念されるが、次元数の大きい部分特徴量など機械学習方法によって必要な精度を保つことができる部分特徴量を選択しておけばよい。このように部分特徴量毎に次元圧縮用のパラメータの取得方法を切り替えることによって、予め保持する次元圧縮用のパラメータの量を抑えることができる。以上のように認識精度が劣化することを抑えるとともに、次元圧縮用のパラメータの量を抑え、次元圧縮パラメータを読み出すために必要なメモリ帯域および消費電力を抑えることができる。
(第2の実施形態)
以下、本発明の第2の実施形態について説明する。本実施形態では、第1の実施形態と比較して、複数の部分特徴量を連結した後に次元圧縮を行う点で異なっている。以下、具体的に説明する。なお、本実施形態に係るオブジェクト識別装置の全体的な構成および処理については、基本的にはそれぞれ図1および図2と同様であるため、説明は省略する。なお、図4および図9に示した部分特徴次元圧縮部402、902の構成の一部が本実施形態では異なっている。さらに、入力オブジェクトを識別する処理の一部が異なっている。以下、第1の実施形態と異なる点を中心に説明する。
<部分特徴次元圧縮部402>
図12は、本実施形態における部分特徴次元圧縮部402の詳細な構成例を示すブロック図である。なお、入力オブジェクト識別用データ生成部701に含まれる部分特徴次元圧縮部902についても同様の構成であるものとする。
図12に示すように、部分特徴次元圧縮部402は、部分特徴次元圧縮制御部501、次元圧縮パラメータ生成部502、次元圧縮演算部503、次元圧縮パラメータ保持部504、および部分特徴連結部1201を備えている。本実施形態では、部分特徴連結部1201が追加されている点で、第1の実施形態と異なっている。なお、図5に示した構成と同じ構成については役割が同様であるため、説明を割愛する。
部分特徴連結部1201は、部分特徴量ベクトルの連結処理を行う。例えば、次元数が100次元の部分特徴量ベクトルが2つあった場合に、それらを単純に連結して、200次元の部分特徴量ベクトルとして出力する。部分特徴連結部1201で行われる処理の詳細については後述する。
図13は、本実施形態において、部分特徴次元圧縮部402により登録オブジェクトの辞書データを生成する際の部分特徴量を次元圧縮する処理手順の一例を示すフローチャートである。
始めに、ステップS1301において、部分特徴次元圧縮制御部501は、部分特徴量ベクトルを取得する。続いて、ステップS1302において、次元圧縮演算部503は、取得した部分特徴量ベクトルに対応する平均ベクトルを次元圧縮パラメータ保持部504から取得し、部分特徴量ベクトルから減算する。
続いて、ステップS1303において、次元圧縮演算部503は、平均ベクトルを減算した部分特徴量ベクトルが所定数に達したか否かを判定する。この判定の結果、所定数に達していない場合は、ステップS1301に戻る。一方、所定数に達した場合は、ステップS1304において、部分特徴連結部1201は、取得した複数の部分特徴量ベクトルを連結する。
ここで、連結方法については、上述したように単純な連結でよい。なお、連結する部分特徴量ベクトルの組合せおよび連結する際の順番は、予め定めておくものとし、例えば、部分特徴量の属性に応じて連結する順番を定める。より具体的には、オブジェクト中のある位置を基準としてその位置に近いものを連結する方法、または、基準位置を中心として時計回りに連結する方法などを予め定めておいてもよく、機械学習方法で定めておいてもよい。この際、部分特徴量ベクトルを連結する順番は、直接精度に影響しないものの、精度が低下しないように登録オブジェクトの連結後の部分特徴量と入力オブジェクトの連結後の部分特徴量とで一貫性を持たせる。
また、いくつの部分特徴量ベクトルを連結するかは、次のような基準がある。即ち、後段の次元圧縮用のパラメータを動的に生成しても十分な識別精度を発揮できる程度に次元を高めることである。第1の実施形態では、動的に生成したパラメータ(典型的には乱数)を用いて次元圧縮(ランダム射影)しても精度が保持できるのは、部分特徴量の次元数が大きい場合である。本実施形態では、1つ1つの部分特徴量の次元数が、ランダム射影では精度が維持できない程度に小さくても、複数の部分特徴量を連結して、1つの部分特徴量ベクトルとして取り扱い、ランダム射影で識別精度が維持できるように高次元化する。
次に、ステップS1305において、次元圧縮パラメータ生成部502は、連結した部分特徴量ベクトルを次元圧縮するためのパラメータを生成する。ここでは、第1の実施形態とは異なり、全ての連結された部分特徴量ベクトルにランダム射影を適応する。以下のステップS1306〜S1308までの処理は、それぞれ図6のステップS609〜S611までの処理と同様である。
次に、入力オブジェクトを識別する時に部分特徴量を次元圧縮する処理について説明する。登録オブジェクトの辞書データを生成する時は、1つの連結した部分特徴量ベクトルに対して、一回のランダム射影を行って、1つの部分特徴量ベクトルを出力した。これに対して、入力オブジェクトを識別する時は、1つの連結した部分特徴量ベクトルに関して、次元圧縮後に複数の部分特徴量ベクトルを出力する点が異なる。
図14は、本実施形態において、入力オブジェクトを識別する時に部分特徴量を次元圧縮する処理手順の一例を示すフローチャートである。
図14において、ステップS1401〜S1403の処理については、それぞれ図13のステップS1301〜S1303と同様であるため、説明は省略する。次のステップS1404においては、所定数の部分特徴量ベクトルを連結する。このとき、図13のステップS1304とは異なり、連結の順番を複数のパターンで行うこととなる。すなわち、ステップS1409の判定で所定数の次元圧縮後の部分特徴量ベクトルが得られるまで連結の順番を変えて、連結した部分特徴量ベクトルを複数生成する。
例えば、連結の対象となる部分特徴量ベクトルがA、B、Cの3個であった場合は、ABC、BCA、CABなどのように連結の順番を変えながら所定数に達するまで連結を行う。なお、ステップS1405〜S1408については、それぞれ図13のステップS1305〜S1308と同様であるため、説明は省略する。
次に、入力オブジェクトを識別するための演算処理について説明する。第1の実施形態では、入力オブジェクトの識別用データが、登録オブジェクトの辞書データと1対1で対応していたのに対し、本実施形態では、登録オブジェクトの1つの辞書データに対して、複数の識別用データが存在する。
図15は、入力オブジェクトを識別するための演算処理手順の一例を示すフローチャートである。
始めに、ステップS1501において、入力オブジェクト識別用データ取得部1001は、入力オブジェクトの識別用データを取得する。前述したように、本実施形態では入力オブジェクトの識別用データは、以下の点で、第1の実施形態と異なる。すなわち、登録オブジェクトの辞書データの中の1つの部分特徴量ベクトル(以下、登録特徴量ベクトルと呼ぶ)に対応する、入力オブジェクトの部分特徴量ベクトル(以下、入力特徴量ベクトルと呼ぶ)が複数存在する。
続いて、ステップS1502において、登録オブジェクト辞書データ取得部1002は、登録オブジェクトの辞書データを取得する。次に、ステップS1503において、部分特徴類似度算出部1003は、取得した入力オブジェクトの識別用データと登録オブジェクトの辞書データとから、対応する部分特徴量の類似度を算出する。類似度の演算方法については基本的には第1の実施形態と同様であるが、登録特徴量ベクトルに対応する入力特徴量ベクトルが複数あるので、入力特徴量ベクトルの数だけ類似度を算出する。
次に、ステップS1504において、部分特徴類似度算出部1003は、1つの登録特徴量ベクトルに対して算出した複数の類似度を1つの類似度に統合する。統合方法としては、例えば、複数の類似度から最大値を選択するようにする。
ここで、入力特徴量ベクトルは、部分特徴量ベクトルの順序を切り替えて連結した後に、次元圧縮したものである。したがって、連結前の部分特徴量ベクトル群が、入力オブジェクト上で空間的に近傍から取得されたものである場合には、類似度の最大値を選択すれば、登録特徴量ベクトルと入力特徴量ベクトルとの位置ずれを吸収する効果がある。一般に、部分特徴量ベクトル間で内積を算出すると、一部でも一致しやすい部分があれば、全く関係のない部分特徴量ベクトル間との内積よりも高い値になる。すなわち、連結順序を変えて類似度を求めその最大値を採用すれば、空間的なスキャンを行いながら最も一致する部分を探していることとなり、登録特徴量ベクトルと入力特徴量ベクトルとの位置ずれを吸収できる。なお、ステップS1505〜S1508については、それぞれ図11のステップS1104〜S1107の処理と同様であるため、説明は省略する。
本実施形態では、ランダム射影では精度を維持することができない次元の比較的小さい部分特徴量ベクトルに対しても、ランダム射影を可能にし、次元圧縮用のパラメータの読み出しコストを最小化する。さらに、空間的に近い位置から取得した部分特徴量ベクトルの連結を、連結順序を変えながら行って複数の部分特徴量ベクトルを生成することにより、登録特徴量ベクトルと入力特徴量ベクトルとの間の空間的な位置ずれを吸収することができる。
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
105 オブジェクト登録部
106 入力オブジェクト識別部

Claims (9)

  1. 登録画像または入力画像のオブジェクトから部分特徴量を抽出する抽出手段と、
    前記抽出手段によって抽出された部分特徴量の次元を削減する圧縮手段と、
    前記圧縮手段によって次元が削減された前記登録画像のオブジェクトの部分特徴量を記憶する記憶手段と、
    前記圧縮手段によって次元が削減された前記登録画像及び前記入力画像のオブジェクトの部分特徴量を用いて、前記入力画像のオブジェクトと前記登録画像のオブジェクトとの類似度を算出する算出手段とを有し、
    前記圧縮手段は、予め設定されている次元圧縮パラメータを用いて部分特徴量の次元を圧縮するか、次元圧縮パラメータを動的に生成して部分特徴量の次元を圧縮するかを切り替え、次元圧縮パラメータを動的に生成する場合に、乱数の周期を小さくするように乱数を生成して前記次元圧縮パラメータを生成することを特徴とする画像認識装置。
  2. 前記圧縮手段は、予め設定されている次元圧縮パラメータを用いて部分特徴量の次元を圧縮するか、次元圧縮パラメータを動的に生成して部分特徴量の次元を圧縮するかを前記部分特徴量に応じて切り替えることを特徴とする請求項1に記載の画像認識装置。
  3. 登録画像または入力画像のオブジェクトから部分特徴量を抽出する抽出手段と、
    前記抽出手段によって抽出された部分特徴量の次元を削減する圧縮手段と、
    前記圧縮手段によって次元が削減された前記登録画像のオブジェクトの部分特徴量を記憶する記憶手段と、
    前記圧縮手段によって次元が削減された前記登録画像及び前記入力画像のオブジェクトの部分特徴量を用いて、前記入力画像のオブジェクトと前記登録画像のオブジェクトとの類似度を算出する算出手段とを有し、
    前記圧縮手段は、予め設定されている次元圧縮パラメータを用いて部分特徴量の次元を圧縮するか、次元圧縮パラメータを動的に生成して部分特徴量の次元を圧縮するかを切り替え、
    前記圧縮手段は、複数の部分特徴量を連結する連結手段をさらに有し、
    前記連結手段は、連結した部分特徴量の次元数が予め定めた次元数に達するまで部分特徴量を連結し、
    前記連結した部分特徴量の次元を削減することを特徴とする画像認識装置。
  4. 前記連結手段は、複数の部分特徴量を連結する際に、順番を入れ替えることによって連結した部分特徴量を複数生成することを特徴とする請求項に記載の画像認識装置。
  5. 前記オブジェクトは人物の顔であることを特徴とする請求項1〜の何れか1項に記載の画像認識装置。
  6. 登録画像または入力画像のオブジェクトから部分特徴量を抽出する抽出工程と、
    前記抽出工程において抽出された部分特徴量の次元を削減する圧縮工程と、
    前記圧縮工程によって次元が削減された前記登録画像のオブジェクトの部分特徴量を記憶手段に記憶する記憶工程と、
    前記圧縮工程において次元が削減された前記登録画像及び前記入力画像のオブジェクトの部分特徴量を用いて、前記入力画像のオブジェクトと前記登録画像のオブジェクトとの類似度を算出する算出工程とを有し、
    前記圧縮工程においては、予め設定されている次元圧縮パラメータを用いて部分特徴量の次元を圧縮するか、次元圧縮パラメータを動的に生成して部分特徴量の次元を圧縮するかを切り替え、次元圧縮パラメータを動的に生成する場合に、乱数の周期を小さくするように乱数を生成して前記次元圧縮パラメータを生成することを特徴とする画像認識方法。
  7. 登録画像または入力画像のオブジェクトから部分特徴量を抽出する抽出工程と、
    前記抽出工程において抽出された部分特徴量の次元を削減する圧縮工程と、
    前記圧縮工程によって次元が削減された前記登録画像のオブジェクトの部分特徴量を記憶手段に記憶する記憶工程と、
    前記圧縮工程において次元が削減された前記登録画像及び前記入力画像のオブジェクトの部分特徴量を用いて、前記入力画像のオブジェクトと前記登録画像のオブジェクトとの類似度を算出する算出工程とをコンピュータに実行させ、
    前記圧縮工程においては、予め設定されている次元圧縮パラメータを用いて部分特徴量の次元を圧縮するか、次元圧縮パラメータを動的に生成して部分特徴量の次元を圧縮するかを切り替え、次元圧縮パラメータを動的に生成する場合に、乱数の周期を小さくするように乱数を生成して前記次元圧縮パラメータを生成することを特徴とするプログラム。
  8. 登録画像または入力画像のオブジェクトから部分特徴量を抽出する抽出工程と、
    前記抽出工程において抽出された部分特徴量の次元を削減する圧縮工程と、
    前記圧縮工程によって次元が削減された前記登録画像のオブジェクトの部分特徴量を記憶手段に記憶する記憶工程と、
    前記圧縮工程において次元が削減された前記登録画像及び前記入力画像のオブジェクトの部分特徴量を用いて、前記入力画像のオブジェクトと前記登録画像のオブジェクトとの類似度を算出する算出工程とを有し、
    前記圧縮工程においては、予め設定されている次元圧縮パラメータを用いて部分特徴量の次元を圧縮するか、次元圧縮パラメータを動的に生成して部分特徴量の次元を圧縮するかを切り替え、
    前記圧縮工程は、複数の部分特徴量を連結する連結工程をさらに有し、
    前記連結工程においては、連結した部分特徴量の次元数が予め定めた次元数に達するまで部分特徴量を連結し、
    前記連結した部分特徴量の次元を削減することを特徴とする画像認識方法。
  9. 登録画像または入力画像のオブジェクトから部分特徴量を抽出する抽出工程と、
    前記抽出工程において抽出された部分特徴量の次元を削減する圧縮工程と、
    前記圧縮工程によって次元が削減された前記登録画像のオブジェクトの部分特徴量を記憶手段に記憶する記憶工程と、
    前記圧縮工程において次元が削減された前記登録画像及び前記入力画像のオブジェクトの部分特徴量を用いて、前記入力画像のオブジェクトと前記登録画像のオブジェクトとの類似度を算出する算出工程とをコンピュータに実行させ、
    前記圧縮工程においては、予め設定されている次元圧縮パラメータを用いて部分特徴量の次元を圧縮するか、次元圧縮パラメータを動的に生成して部分特徴量の次元を圧縮するかを切り替え、
    前記圧縮工程は、複数の部分特徴量を連結する連結工程をさらに有し、
    前記連結工程においては、連結した部分特徴量の次元数が予め定めた次元数に達するまで部分特徴量を連結し、
    前記連結した部分特徴量の次元を削減することを特徴とするプログラム。
JP2014062663A 2014-03-25 2014-03-25 画像認識装置、画像認識方法およびプログラム Active JP6456031B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014062663A JP6456031B2 (ja) 2014-03-25 2014-03-25 画像認識装置、画像認識方法およびプログラム
US14/664,085 US9471979B2 (en) 2014-03-25 2015-03-20 Image recognizing apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014062663A JP6456031B2 (ja) 2014-03-25 2014-03-25 画像認識装置、画像認識方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2015185034A JP2015185034A (ja) 2015-10-22
JP6456031B2 true JP6456031B2 (ja) 2019-01-23

Family

ID=54190821

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014062663A Active JP6456031B2 (ja) 2014-03-25 2014-03-25 画像認識装置、画像認識方法およびプログラム

Country Status (2)

Country Link
US (1) US9471979B2 (ja)
JP (1) JP6456031B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6351243B2 (ja) * 2013-11-28 2018-07-04 キヤノン株式会社 画像処理装置、画像処理方法
US10496880B2 (en) 2017-06-27 2019-12-03 Canon Kabushiki Kaisha Method and apparatus for comparing objects in images
JP7132701B2 (ja) 2017-08-10 2022-09-07 株式会社ブリヂストン タイヤ画像の認識方法及びタイヤ画像の認識装置
JP6883787B2 (ja) * 2017-09-06 2021-06-09 パナソニックIpマネジメント株式会社 学習装置、学習方法、学習プログラム、推定装置、推定方法、及び推定プログラム
JP7062923B2 (ja) * 2017-11-21 2022-05-09 富士通株式会社 可視化方法、可視化装置及び可視化プログラム
US11334772B2 (en) 2017-12-22 2022-05-17 Nec Corporation Image recognition system, method, and program, and parameter-training system, method, and program
CN113220384B (zh) * 2021-03-31 2023-06-23 郑州大学 基于门禁设备的信息发布系统、方法、电子设备和介质
JP7174114B1 (ja) 2021-06-22 2022-11-17 みずほリサーチ&テクノロジーズ株式会社 探索システム、探索方法及び探索プログラム

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3416325B2 (ja) 1995-03-28 2003-06-16 キヤノン株式会社 座標入力装置及びその制御方法
JPH08335134A (ja) 1995-06-07 1996-12-17 Canon Inc 情報処理装置
JPH0922324A (ja) 1995-07-05 1997-01-21 Canon Inc 座標入力装置
US5761087A (en) 1996-01-10 1998-06-02 Canon Kabushiki Kaisha Coordinate input device and a control method therefor
JPH09190268A (ja) 1996-01-11 1997-07-22 Canon Inc 情報処理装置およびその方法
US6225986B1 (en) 1997-01-06 2001-05-01 Canon Kabushiki Kaisha Coordinate input apparatus and its control method
JPH11249803A (ja) 1998-03-03 1999-09-17 Canon Inc 座標入力装置及びその制御方法、コンピュータ可読メモリ
EP2955662B1 (en) 2003-07-18 2018-04-04 Canon Kabushiki Kaisha Image processing device, imaging device, image processing method
JP4217664B2 (ja) 2004-06-28 2009-02-04 キヤノン株式会社 画像処理方法、画像処理装置
JP5008269B2 (ja) 2005-04-08 2012-08-22 キヤノン株式会社 情報処理装置、情報処理方法
JP2007334755A (ja) * 2006-06-16 2007-12-27 Hitachi Software Eng Co Ltd 学習データ生成装置及びオブジェクト判別装置、並びにプログラム
JP2009086749A (ja) 2007-09-27 2009-04-23 Canon Inc パターン識別手法、識別用パラメータ学習方法、及び装置
US8331655B2 (en) 2008-06-30 2012-12-11 Canon Kabushiki Kaisha Learning apparatus for pattern detector, learning method and computer-readable storage medium
US8213691B2 (en) * 2008-12-30 2012-07-03 Mitsubishi Electric Research Laboratories, Inc. Method for identifying faces in images with improved accuracy using compressed feature vectors
US8744193B2 (en) * 2009-03-13 2014-06-03 Nec Corporation Image signature extraction device
JP5451302B2 (ja) * 2009-10-19 2014-03-26 キヤノン株式会社 画像処理装置及び方法、プログラム及び記憶媒体
JP5554984B2 (ja) 2009-12-24 2014-07-23 キヤノン株式会社 パターン認識方法およびパターン認識装置
JP5588180B2 (ja) 2010-01-15 2014-09-10 キヤノン株式会社 パターン識別装置及びその制御方法
JP5653131B2 (ja) 2010-08-25 2015-01-14 キヤノン株式会社 オブジェクト認識装置およびその認識方法
JP2012234497A (ja) * 2011-05-09 2012-11-29 Canon Inc オブジェクト識別装置、オブジェクト識別方法、及びプログラム
JP5801601B2 (ja) 2011-05-10 2015-10-28 キヤノン株式会社 画像認識装置、画像認識装置の制御方法、およびプログラム
US8891878B2 (en) * 2012-06-15 2014-11-18 Mitsubishi Electric Research Laboratories, Inc. Method for representing images using quantized embeddings of scale-invariant image features
JP5836095B2 (ja) 2011-12-05 2015-12-24 キヤノン株式会社 画像処理装置、画像処理方法
JP5997545B2 (ja) 2012-08-22 2016-09-28 キヤノン株式会社 信号処理方法及び信号処理装置
JP6351243B2 (ja) 2013-11-28 2018-07-04 キヤノン株式会社 画像処理装置、画像処理方法

Also Published As

Publication number Publication date
US9471979B2 (en) 2016-10-18
JP2015185034A (ja) 2015-10-22
US20150278580A1 (en) 2015-10-01

Similar Documents

Publication Publication Date Title
JP6456031B2 (ja) 画像認識装置、画像認識方法およびプログラム
US20190213434A1 (en) Image capture device with contemporaneous image correction mechanism
US9665927B2 (en) Method and apparatus of multi-frame super resolution robust to local and global motion
TWI573454B (zh) 電子裝置及其影像合成方法
US8819015B2 (en) Object identification apparatus and method for identifying object
JP6544900B2 (ja) オブジェクト識別装置、オブジェクト識別方法及びプログラム
JP6624794B2 (ja) 画像処理装置、画像処理方法及びプログラム
US20120069198A1 (en) Foreground/Background Separation Using Reference Images
US10146992B2 (en) Image processing apparatus, image processing method, and storage medium that recognize an image based on a designated object type
JP2015197745A (ja) 画像処理装置、撮像装置、画像処理方法及びプログラム
US9727585B2 (en) Image processing apparatus and method for controlling the same
JP2001194114A (ja) 画像処理装置および画像処理方法、並びにプログラム提供媒体
JP2011100229A (ja) 画像処理装置、画像処理方法
JP6157165B2 (ja) 視線検出装置及び撮像装置
JP2010271861A (ja) オブジェクト識別装置及びオブジェクト識別方法
CN116051736A (zh) 一种三维重建方法、装置、边缘设备和存储介质
JP6068895B2 (ja) 画像処理装置およびプログラム
JP5791361B2 (ja) パターン識別装置、パターン識別方法およびプログラム
KR20160046399A (ko) 텍스쳐 맵 생성 방법 및 장치와 데이터 베이스 생성 방법
CN113822871A (zh) 基于动态检测头的目标检测方法、装置、存储介质及设备
JP2012234497A (ja) オブジェクト識別装置、オブジェクト識別方法、及びプログラム
Allaert et al. Optical Flow Techniques for Facial Expression Analysis--a Practical Evaluation Study
CN108234868B (zh) 一种基于案例推理的智能拍摄系统及方法
Kanamori et al. Boosting
JP6950376B2 (ja) 画像処理装置、訓練画像処理装置、画像識別装置、訓練画像処理方法、画像識別方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170327

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180604

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181218

R151 Written notification of patent or utility model registration

Ref document number: 6456031

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151