(57)【特許請求の範囲】
【請求項１】
第１辞書データ、および、これとは異なる第２辞書データを格納する、辞書メモリと、
画像データを構成する複数の画素のうち処理対象の注目画素を含む注目ブロックが、
前記第２辞書データを用いるべき共有ブロックであるか、
前記第２辞書データを用いるべき鏡像ブロックであるか、
前記第１辞書データを用いるべき非共有ブロックであるか、
を前記注目ブロックの位置に基づいて判定する、ブロック判定部と、
前記非共有ブロックに対して前記第１辞書データを用い、前記共有ブロック及び前記鏡像ブロックに対して前記第２辞書データを用いて、前記画像データの特徴部分を識別する識別部と、
を備えることを特徴とする画像識別装置。
【請求項２】
前記画素毎の勾配方向を示す勾配情報を格納するシフトレジスタをさらに備え、
前記ブロック判定部は、前記非共有ブロックの場合、前記第１辞書データが格納された前記辞書メモリ上の第１辞書アドレスを生成し、前記共有ブロック又は前記鏡像ブロックの場合、前記第２辞書データが格納された前記辞書メモリ上の第２辞書アドレスを生成し、
前記シフトレジスタは、前記第１辞書アドレスを用いて、前記第１辞書データのウェイトが格納された前記辞書メモリ上の第１参照アドレスを生成し、前記第２辞書アドレスを用いて、前記第２辞書データのウェイトが格納された前記辞書メモリ上の第２参照アドレスを生成し、
前記識別部は、前記辞書メモリの前記第１参照アドレス及び前記第２参照アドレスに格納された前記ウェイトを合算し、前記画像の特徴部分を識別する、請求項１に記載の画像識別装置。
【請求項３】
前記共有ブロックの場合、ブロック内の複数の画素に基づいて第１特徴量を算出する第１特徴量算出部と、
前記鏡像ブロックの場合、ブロック内の複数の画素の座標を反転させて反転ブロックを生成する反転部と、
前記反転ブロック内の複数の画素に基づいて第２特徴量を算出する第２特徴量算出部と、を備え、
前記識別部は、前記第１特徴量及び前記第２特徴量を用いて、前記画像の特徴部分を識別する、請求項１に記載の画像識別装置。
【請求項４】
第１辞書データ、および、これとは異なる第２辞書データを格納する辞書メモリを用いて画像の特徴部分を識別する画像識別方法であって、
画像データを構成する複数の画素のうち処理対象の注目画素を含む注目ブロックが、
前記第２辞書データを用いるべき共有ブロックであるか、
前記第２辞書データを用いるべき鏡像ブロックであるか、
前記第１辞書データを用いるべき非共有ブロックであるか、
を前記注目ブロックの位置に基づいて判定し、
前記非共有ブロックに対して前記第１辞書データを用い、前記共有ブロック及び前記鏡像ブロックに対して前記第２辞書データを用いて、前記画像の特徴部分を識別する、ことを特徴とする画像識別方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、画像識別装置及び画像識別方法に関する。
【背景技術】
【０００２】
近年の自動車には、サポートベクタマシン（以下、「ＳＶＭ（Support Vector Machine）」という）の辞書データを用いて、画像の特徴部分を識別する画像識別装置が設けられる。この画像識別装置には、辞書データを格納する辞書メモリが設けられる。この画像識別装置は、画像を複数のブロックに分割し、ブロック毎に、辞書メモリに格納された辞書データを参照して画像の特徴部分を識別する。
【０００３】
しかしながら、従来の画像識別装置では、辞書データはブロック毎に用意される。仮に、２つのブロックの画像が互いに似ている（例えば、一方のブロックは、他方のブロックの鏡像である）場合であっても、ブロック毎に異なる辞書データが用いられる。従って、ブロックの数に比例して、辞書データのデータ量が増加する。その結果、辞書データを格納する辞書メモリの容量も増加する。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Masayuki Hiromoto and Ryusuke Miyamoto: "Hardware Architecture for High-Accuracy Real-Time Pedestrian Detection with CoHOG Features," in Proc. of the 12th International Conference on Computer Vision Workshops (ICCVW2009) (Kyoto, Japan), pp.894-899, Oct. 2009.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、画像の特徴部分の識別に必要な辞書データのデータ量を低減し、小容量の辞書メモリで画像の特徴部分を識別することである。
【課題を解決するための手段】
【０００６】
本発明の実施形態に係る画像識別装置は、辞書メモリと、ブロック判定部と、識別部と、を備える。辞書メモリは、第１辞書データ、および、これとは異なる第２辞書データを格納する。ブロック判定部は、画像データを構成する複数の画素のうち処理対象の注目画素を含む注目ブロックが前記第２辞書データを用いるべき共有ブロックであるか、前記第２辞書データを用いるべき鏡像ブロックであるか、前記第１辞書データを用いるべき非共有ブロックであるか、を判定する。識別部は、前記非共有ブロックに対して前記第１辞書データを用い、前記共有ブロック及び前記鏡像ブロックに対して前記第２辞書データを用いて画像データの特徴部分を識別する。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施形態の画像識別システム１のブロック図。
【図２】本発明の実施形態の画像データＩＭＧの概略図。
【図３】本発明の実施形態の勾配方向データＧＤを説明する図。
【図４】本発明の実施形態の辞書データＤを説明する図。
【図５】第１実施形態の画像識別装置１０のブロック図。
【図６】ラスタスキャン順を説明する図。
【図７】第１実施形態の判定テーブルの概略図。
【図８】第１実施形態のシフトレジスタ１５の概略図。
【図９】第１実施形態の注目画素用のレジスタテーブルの概略図。
【図１０】第１実施形態の共起画素用のレジスタテーブルの概略図。
【図１１】第１実施形態の辞書メモリ１６及び識別部１７のブロック図。
【図１２】第１実施形態の第１バンクＢＮＫ０及び第２バンクＢＮＫｋに格納されるデータを説明する図。
【図１３】第１実施形態の画像識別処理のフローチャート。
【図１４】第１実施形態のブロック判定を説明する図。
【図１５】第１実施形態の出力先バンク決定を説明する図。
【図１６】第２実施形態の画像識別装置１０のブロック図。
【図１７】第２実施形態の画像識別処理のフローチャート。
【図１８】第２実施形態のブロック判定を説明する図。
【図１９】第２実施形態の反転及び第２特徴量算出を説明する図。
【図２０】第２実施形態の識別を説明する図。
【発明を実施するための形態】
【０００８】
本発明の実施形態について図面を参照して説明する。図１は、本発明の実施形態の画像識別システム１のブロック図である。画像識別システム１は、画像識別装置１０と、カメラ２０と、プロセッサ３０と、メインメモリ４０と、を備える。カメラ２０は、画像を撮像する装置（例えば車載カメラ）である。プロセッサ３０は、カメラ２０により撮像された画像を表現する画像データＩＭＧを生成し、画像データＩＭＧに基づいて勾配方向データＧＤを生成するモジュール（例えばＣＰＵ（Central Processing Unit））である。メインメモリ４０は、プロセッサ３０により生成された画像データＩＭＧ及び勾配方向データＧＤを含む様々なデータを格納する記憶媒体（例えば、ＤＲＡＭ（Dynamic Random Memory Access））である。画像識別装置１０は、勾配方向データＧＤに基づいて輝度勾配方向共起ヒストグラム（以下、「ＣｏＨＯＧ（Co-occurrence Histograms of Oriented Gradients）」という）特徴量を生成し、ＳＶＭの辞書データＤを用いて、画像の特徴部分（例えば人物）を識別する装置である。
【０００９】
図２は、本発明の実施形態の画像データＩＭＧの概略図である。画像データＩＭＧは、複数（例えば３６（＝３×６）個）のブロックＢＬＫから成る。各ブロックＢＬＫには、ブロック座標（Ｘ座標及びＹ座標）が割り当てられる。各ブロックＢＬＫは、複数（例えば３６（＝６×６）個）の画素Ｐから成る。なお、本発明の実施形態では、１つの画像データＩＭＧに含まれるブロックＢＬＫの数及び１つのブロックＢＬＫに含まれる画素Ｐの数は任意である。
【００１０】
図３は、本発明の実施形態の勾配方向データＧＤを説明する図である。プロセッサ３０は、カメラ２０により撮像された画像を表現する画像データＩＭＧを生成すると、生成した画像データＩＭＧを複数のブロックＢＬＫに分割し、ブロックＢＬＫ毎に、Ｘ方向及びＹ方向にフィルタをかけ、各画素ＰのＸ成分及びＹ成分を生成し、生成したＸ成分及びＹ成分に基づいて画素Ｐ毎の勾配方向を計算し、計算した勾配方向を８値に量子化し、８値の勾配情報Ｇ（ｘ，ｙ）を生成する（図３（Ａ））。勾配情報Ｇ（ｘ，ｙ）は、画素Ｐ（ｘ，ｙ）の勾配方向を表す情報である。勾配情報Ｇ（ｘ，ｙ）は、例えば、勾配方向（８方向）を表す勾配値０〜７、及び勾配していないことを表す勾配値８の何れかである（図３（Ｂ））。
【００１１】
図４は、本発明の実施形態の辞書データＤを説明する図である。辞書データＤは、複数のウェイトセット（第１ウェイトセット０及び第２ウェイトセットｋ（ｋは、１以上の整数））を含む。第１ウェイトセット０は、画像データＩＭＧを構成する複数の画素のうちの処理対象の注目画素の勾配方向に応じた８通りの第１ウェイトＷ０（０，０）〜（７，０）を含む。第１ウェイトＷ０（０，０）〜Ｗ０（７，０）は、それぞれ、画像を識別するときに考慮される注目画素の勾配方向の重みを示す。第２ウェイトセットｋは、注目画素に対して共起関係にある共起画素の勾配方向及び注目画素の勾配方向の組み合わせに応じた６４通りの第２ウェイトＷｋ（０，ｋ）〜（６３，ｋ）を含む。第２ウェイトＷｋ（０，ｋ）〜（６３，ｋ）は、それぞれ、画像を識別するときに考慮される共起画素の勾配方向及び注目画素の勾配方向の組み合わせの重みを示す。ｋは、画像を識別するときに考慮される共起画素の数である。
【００１２】
（第１実施形態）
第１実施形態について説明する。第１実施形態は、鏡像関係に基づいて勾配情報の位置情報及び勾配値を反転させる例である。図５は、第１実施形態の画像識別装置１０のブロック図である。画像識別装置１０は、入力制御部１１と、シフト制御部１２と、ブロック判定部１３と、入力バッファ１４と、シフトレジスタ１５と、辞書メモリ１６と、識別部１７と、を備える。
【００１３】
入力制御部１１は、勾配方向データＧＤの入力バッファ１４への転送を制御する。入力制御部１１は、メインメモリ４０から勾配方向データＧＤを読み出し、勾配方向データＧＤの書込先の入力バッファ１４上のライトアドレスＷＲと、入力バッファ１４を書き込み可能状態にするライトイネーブル信号ＥＷと、を生成し、ライトアドレスＷＲと、ライトイネーブル信号ＥＷと、勾配方向データＧＤと、を入力バッファ１４へ出力する。入力制御部１１は、例えば、勾配方向データＧＤがブロック単位のラスタスキャン順（図６）で入力バッファ１４に格納されるように、ライトアドレスＷＲを生成する。
【００１４】
シフト制御部１２は、シフトレジスタ１５を制御する。シフト制御部１２は、勾配方向データＧＤの読出先の入力バッファ１４上のリードアドレスＲＤと、入力バッファ１４を読み出し可能状態にするリードイネーブル信号ＥＲと、を生成し、リードアドレスＲＤと、リードイネーブル信号ＥＲと、を入力バッファ１４へ出力する。また、シフト制御部１２は、注目画素の勾配情報（以下、「注目勾配情報」という）を所定順（例えばラスタスキャン順）にシフトさせるシフト制御信号ＳＣを生成し、シフト制御信号ＳＣをシフトレジスタ１５へ出力する。また、シフト制御部１２は、処理対象の注目ブロックのブロック座標を示すブロック位置情報ＢＰをブロック判定部１３へ出力する。
【００１５】
ブロック判定部１３は、ブロック位置情報ＢＰ及び予め用意された判定テーブルに基づいて、注目ブロックの種類（注目ブロックが、第１〜第３ブロックの何れに該当するか）を判定する。図７は、第１実施形態の判定テーブルの概略図である。ブロック位置情報ＢＰのＸ座標が１のブロック（すなわち、Ｚ軸上のブロック）は、第１ブロック（非共有ブロック）である。ブロック位置情報ＢＰのＸ座標が０のブロック（すなわち、Ｚ軸に対してＸ座標が一方の側に位置するブロック）は、第２ブロック（共有ブロック）である。ブロック位置情報ＢＰのＸ座標が２のブロック（すなわち、第２ブロックに対して鏡像の位置にあるブロック）は、第３ブロック（鏡像ブロック）である。辞書メモリ１６には、第１ブロック用の第１辞書データと、第２ブロック用の第２辞書データとが予め格納されているが、第３ブロック用の辞書データは格納されていない。第１及び第２辞書データは、それぞれ、ブロック毎に用意される。例えば、図２の場合、第１及び第２辞書データは、それぞれ、６個ずつである。第１辞書データは、非共有ブロックに用いられるが、非共有ブロック以外には用いられない。第２辞書データは、共有ブロックだけでなく、鏡像ブロックにも用いられる。
【００１６】
また、ブロック判定部１３は、ブロック位置情報ＢＰに応じたミラーイネーブル信号ＥＭ及び辞書アドレスＡＤＤ＿Ｍを生成し、ミラーイネーブル信号ＥＭ及び辞書アドレスＡＤＤ＿Ｍをシフトレジスタ１５へ出力する。ミラーイネーブル信号ＥＭは、シフトレジスタ１５の動作を切り替える信号である。辞書アドレスＡＤＤ＿Ｍは、注目ブロックに対して用いられる辞書データＤの辞書メモリ１６上のアドレスである。例えば、ブロック判定部１３は、第１ブロックの場合、ミラーイネーブル信号ＥＭ＝０及び第１辞書アドレスＡＤＤ＿Ｍ（１）を生成し、第２ブロックの場合、ミラーイネーブル信号ＥＭ＝０及び第２辞書アドレスＡＤＤ＿Ｍ（２）を生成し、第３ブロックの場合、ミラーイネーブル信号ＥＭ＝１及び第２辞書アドレスＡＤＤ＿Ｍ（２）を生成する（図７）。第１辞書アドレスＡＤＤ＿Ｍ（１）は、第１辞書データＤ１の辞書メモリ１６上のアドレスである。第２辞書アドレスＡＤＤ＿Ｍ（２）は、第２辞書データＤ２の辞書メモリ１６上のアドレスである。
【００１７】
上記のとおり、ミラーイネーブル信号ＥＭは、第１又は第２ブロックの場合には“０”であり、第３ブロックの場合には“１”である。従って、シフトレジスタ１５は、第１又は第２ブロックの場合と、第３ブロックの場合とで異なる動作を行う。一方、辞書アドレスＡＤＤ＿Ｍは、第１ブロックの場合には第１辞書アドレスＡＤＤ＿Ｍ（１）であり、第２又は第３ブロックの場合には第２辞書アドレスＡＤＤ＿Ｍ（２）である。従って、第２及び第３ブロックの場合、何れも、第２辞書データＤ２を用いて画像の特徴部分が識別される。
【００１８】
入力バッファ１４は、ライトアドレスＷＲに対応するラインメモリの位置に勾配方向データＧＤを格納し、格納した勾配方向データＧＤのうち、各ラインメモリから、リードアドレスＲＤに対応する位置に格納された勾配情報Ｇをシフトレジスタ１５へ出力する。１個のラインメモリには、画像データＩＭＧの１ライン分の画素Ｐの勾配情報Ｇが格納される。例えば、図２の場合、１個のラインメモリに格納される勾配情報Ｇは１８個である。
【００１９】
シフトレジスタ１５は、入力バッファ１４が出力した各ラインの勾配情報Ｇを格納する。また、シフトレジスタ１５は、シフト制御部１２が出力したシフト制御信号ＳＣを受け取ると、格納した各ラインの勾配情報Ｇをシフトする。図８は、第１実施形態のシフトレジスタ１５の概略図である。シフトレジスタ１５は、シフト制御信号ＳＣを受け取ると、レジスタブロック（４，０）に注目勾配情報Ｇ０が格納されるように、勾配情報ＧをＸ方向にシフトする。このようにして、シフトレジスタ１５には、注目勾配情報Ｇ０を中心とする半径４画素以内に位置する勾配情報が格納される。
【００２０】
また、シフトレジスタ１５は、ブロック判定部１３が出力した辞書アドレスＡＤＤ＿Ｍ及び予め用意された参照テーブルを用いて、参照すべきウェイトＷが格納された辞書メモリ１６上の参照アドレスＡＤＤ＿ＲＥＦを生成し、参照アドレスＡＤＤ＿ＲＥＦを辞書メモリ１６へ出力する。
【００２１】
図９は、第１実施形態の第１参照テーブルの概略図である。第１参照テーブルは、注目勾配情報Ｇ０に対応する第１ウェイトＷ０の第１参照アドレスＡＤＤ＿ＲＥＦ０の生成に用いられる。第１参照テーブルは、注目勾配情報Ｇ０に応じた８通りの第１参照アドレスＡＤＤ＿ＲＥＦ０を示している。注目勾配情報Ｇ０が０〜７の場合、第１参照アドレスＡＤＤ＿ＲＥＦ０は、辞書アドレスＡＤＤ＿Ｍと注目勾配情報Ｇ０の和である。一方、注目勾配情報Ｇ０が８の場合、第１参照アドレスＡＤＤ＿ＲＥＦ０は生成されない。
【００２２】
図１０は、第１実施形態の第２参照テーブルの概略図である。第２参照テーブルは、共起勾配情報Ｇｋに対応する第２ウェイトＷｋの第２参照アドレスＡＤＤ＿ＲＥＦｋの生成に用いられる。第２参照テーブルは、注目勾配情報Ｇ０及び共起勾配情報Ｇｋの組み合わせに応じた６４通りの第２参照アドレスＡＤＤ＿ＲＥＦｋを示している。注目勾配情報Ｇ０及び共起勾配情報Ｇｋが０〜７の場合、第２参照アドレスＡＤＤ＿ＲＥＦｋは、辞書アドレスＡＤＤ＿Ｍと定数Ｃｋの和である。定数Ｃｋは、注目勾配情報Ｇ０及び共起勾配情報Ｇｋの組み合わせに応じた６４通りの値である。一方、注目勾配情報Ｇ０及び共起勾配情報Ｇｋの少なくとも１つが８の場合、第２参照アドレスＡＤＤ＿ＲＥＦｋは生成されない。
【００２３】
辞書メモリ１６は、第１ブロック用の第１辞書データＤ１及び第２ブロック用の第２辞書データＤ２を格納するメモリである。識別部１７は、辞書データＤを用いて識別結果ＯＵＴを生成し、識別結果ＯＵＴを出力する。図１１は、第１実施形態の辞書メモリ１６及び識別部１７のブロック図である。
【００２４】
辞書メモリ１６は、第１バンクＢＮＫ０と、複数の第２バンクＢＮＫｋと、を備える。第１バンクＢＮＫ０には、第１ブロック用の第１ウェイトセット０及び第２ブロック用の第１ウェイトセット０が格納される。第２バンクＢＮＫｋには、第１ブロック用の第２ウェイトセットｋ及び第２ブロック用の第２ウェイトセットｋが格納される。図２の場合、第１バンクＢＮＫ０に格納される第１ウェイトセット０の数及び第２バンクＢＮＫｋに格納される第２ウェイトセットｋの数は、何れも１２個である。なお、第１バンクＢＮＫ０及び第２バンクＢＮＫｋには、何れも、第３ブロック用のウェイトセットは格納されない。
【００２５】
図１２は、第１実施形態の第１バンクＢＮＫ０及び第２バンクＢＮＫｋに格納されるデータを説明する図である。例えば、第１バンクＢＮＫ０には、ブロックＢＬＫ（０，０）用の辞書データＤ（０，０）〜ブロックＢＬＫ（１，５）用の辞書データＤ（１，５）の第１ウェイトセット０が格納される（図１２（Ａ））。一方、第２バンクＢＮＫｋには、ブロックＢＬＫ（０，０）用の辞書データＤ（０，０）〜ブロックＢＬＫ（１，５）用の辞書データＤ（１，５）の第２ウェイトセットｋが格納される（図１２（Ｂ））。第１ウェイトセット０及び第２ウェイトセットｋのウェイトＷには、辞書メモリ１６上のアドレスが割り当てられる。辞書メモリ１６は、シフトレジスタ１５が出力した参照アドレスＡＤＤ＿ＲＥＦを受け取ると、参照アドレスＡＤＤ＿ＲＥＦに格納されたウェイトＷを識別部１７へ出力する。
【００２６】
識別部１７は、ＳＶＭの辞書データＤを用いて画像の特徴部分を識別する。識別部１７は、加算部１７１と、アキュムレータ１７２と、を備える。加算部１７１は、辞書メモリ１６に格納された複数のウェイトＷと、アキュムレータ１７２からフィードバックされたデータと、を加算する。アキュムレータ１７２は、加算部１７１の出力を蓄積する。また、アキュムレータ１７２は、全ての画素Ｐについての加算部１７１の出力を蓄積するまでは、蓄積した値を加算部１７１へフィードバックし、全ての画素Ｐについての加算部１７１の出力を蓄積すると、蓄積した値を識別結果ＯＵＴとして出力する。
【００２７】
第１実施形態の画像識別装置１０の動作について説明する。図１３は、第１実施形態の画像識別処理のフローチャートである。図１３は、勾配方向データＧＤが入力バッファ１４に格納された後に実行される処理である。
【００２８】
＜Ｓ１３００＞  シフト制御部１２は、リードアドレスＲＤ及びリードイネーブル信号ＥＲを生成する。これにより、入力バッファ１４の各ラインメモリにおいて、リードアドレスＲＤに格納された勾配情報Ｇがシフトレジスタ１５へ転送される。
【００２９】
＜Ｓ１３０２＞  シフト制御部１２は、シフト制御信号ＳＣを生成する。これにより、シフトレジスタ１５において、注目勾配情報Ｇ０がラスタスキャン順にシフトし、注目勾配情報を中心とする周囲の勾配情報も注目勾配情報Ｇ０と同様にシフトする。また、シフト制御部１２は、注目ブロックのブロック位置情報ＢＰをブロック判定部１３へ出力する。
【００３０】
＜Ｓ１３０４＞  ブロック判定部１３は、ブロック位置情報ＢＰ及び判定テーブルに基づいて、注目ブロックの種類を判定し、注目ブロックの種類に応じたミラーイネーブル信号ＥＭ及び辞書アドレスＡＤＤ＿Ｍを生成する。
【００３１】
＜Ｓ１３０６＞  シフトレジスタ１５は、ミラーイネーブル信号ＥＭに応じた方法で参照アドレスＡＤＤ＿ＲＥＦを生成する。図１４は、第１実施形態のブロック判定を説明する図である。
【００３２】
ミラーイネーブル信号ＥＭ＝０（すなわち、第１又は第２ブロック）の場合、シフトレジスタ１５は、注目勾配情報Ｇ０と辞書アドレスＡＤＤ＿Ｍの和である第１参照アドレスＡＤＤ＿ＲＥＦ０と、注目勾配情報Ｇ０及び共起勾配情報Ｇｋに応じた定数Ｃｋと辞書アドレスＡＤＤ＿Ｍの和である第２参照アドレスＡＤＤ＿ＲＥＦｋを生成する（図１４（Ａ））。
【００３３】
一方、ミラーイネーブル信号ＥＭ＝１（すなわち、第３ブロック）の場合、シフトレジスタ１５は、注目勾配情報Ｇ０及び共起勾配情報Ｇｋのそれぞれについて、反対の勾配方向を示す値に書き換え、注目勾配情報Ｇ´０及び共起勾配情報Ｇ´ｋを生成する（図１４（Ｂ））。例えば、注目勾配情報Ｇ０＝１は注目勾配情報Ｇ´０＝５に書き換えられ、共起勾配情報Ｇｋ＝７は共起勾配情報Ｇ´ｋ＝３に書き換えられる。そして、シフトレジスタ１５は、注目勾配情報Ｇ´０と辞書アドレスＡＤＤ＿Ｍの和である第１参照アドレスＡＤＤ＿ＲＥＦ０と、注目勾配情報Ｇ´０及び共起勾配情報Ｇ´ｋに応じた定数Ｃｋと辞書アドレスＡＤＤ＿Ｍの和である第２参照アドレスＡＤＤ＿ＲＥＦｋを生成する（図１４（Ａ））。
【００３４】
すなわち、第１又は第２ブロックの場合、注目勾配情報Ｇ０の方向に対応する第１参照アドレスＡＤＤ＿ＲＥＦ０と、注目勾配情報Ｇ０及び共起勾配情報Ｇｋの方向に対応する第２参照アドレスＡＤＤ＿ＲＥＦｋが生成される。一方、第３ブロックの場合、注目勾配情報Ｇ´０の方向に対応する第１参照アドレスＡＤＤ＿ＲＥＦ０と、注目勾配情報Ｇ´０及び共起勾配情報Ｇ´ｋに対応する第２参照アドレスＡＤＤ＿ＲＥＦｋが生成される。
【００３５】
＜Ｓ１３０８＞  シフトレジスタ１５は、ミラーイネーブル信号ＥＭに応じた方法で第２参照アドレスＡＤＤ＿ＲＥＦｋの出力先バンクを決定する。図１５は、第１実施形態の出力先バンク決定を説明する図である。
【００３６】
ミラーイネーブル信号ＥＭ＝０（すなわち、第１又は第２ブロック）の場合、シフトレジスタ１５は、第１参照アドレスＡＤＤ＿ＲＥＦ０の出力先を第１バンクＢＮＫ０に決定し、第２参照アドレスＡＤＤ＿ＲＥＦｋの出力先を第２バンクＢＮＫｋに決定する（図１５（Ａ））。例えば、第２参照アドレスＡＤＤ＿ＲＥＦ１の出力先は第２バンクＢＮＫ１であり、第２参照アドレスＡＤＤ＿ＲＥＦ８の出力先は第２バンクＢＮＫ８である。
【００３７】
一方、ミラーイネーブル信号ＥＭ＝１（すなわち、第３ブロック）の場合、シフトレジスタ１５は、第１参照アドレスＡＤＤ＿ＲＥＦ０の出力先を第１バンクＢＮＫ０に決定し、第２参照アドレスＡＤＤ＿ＲＥＦｋの出力先を、ミラーイネーブル信号ＥＭ＝０の場合とは異なる第２バンクＢＮＫｋ´に決定する（図１５（Ｂ））。例えば、第２参照アドレスＡＤＤ＿ＲＥＦ１の出力先は第２バンクＢＮＫ８であり、第２参照アドレスＡＤＤ＿ＲＥＦ８の出力先は第２バンクＢＮＫ１である。
【００３８】
＜Ｓ１３１０＞  シフトレジスタ１５は、Ｓ１３０６で生成した第１参照アドレスＡＤＤ＿ＲＥＦ０及び第２参照アドレスＡＤＤ＿ＲＥＦｋを、Ｓ１３０８で決定した出力先バンクへ出力する。そして、辞書メモリ１６は、第１参照アドレスＡＤＤ＿ＲＥＦ０に格納された第１ウェイトＷ０及び第２参照アドレスＡＤＤ＿ＲＥＦｋに格納された第２ウェイトＷｋを識別部１７へ出力する。そして、加算部１７１は、第１ウェイトＷ０と、第２ウェイトＷｋと、アキュムレータ１７２からフィードバックされた合算結果と、を合算する。そして、アキュムレータ１７２は、加算部１７１の合算結果を蓄積する。
【００３９】
＜Ｓ１３１２及びＳ１３１４＞  Ｓ１３００〜Ｓ１３１０は、画像データＩＭＧを構成する全ての画素についてＳ１３１０が完了するまで繰り返される（Ｓ１３１２−ＮＯ）。画像データＩＭＧを構成する全ての画素についてＳ１３１０が完了すると（Ｓ１３１２−ＹＥＳ）、アキュムレータ１７２は、合算結果（すなわち、画像データＩＭＧの全ての画素についての第１ウェイトＷ０及び第２ウェイトＷｋの合計）を識別結果ＯＵＴとして出力する（Ｓ１３１４）。
【００４０】
第１実施形態によれば、画像データＩＭＧを構成する複数のブロックのうち、中心軸上の第１ブロック用の第１辞書データＤ１と、中心軸に対して片側の第２ブロック用の第２辞書データＤ２と、を予め用意する。そして、第１ブロックについては第１辞書データＤ１を用い、第２ブロックについては第２辞書データＤ２を用い、第２ブロックと鏡像関係にある第３ブロックについては、鏡像関係を考慮して勾配情報Ｇ及び出力先バンクを変更し、第２辞書データＤ２を用いる。すなわち、第２ブロックと第３ブロックとの間で参照する第２辞書データＤを共有することができる。これにより、画像の特徴部分の識別に必要な辞書データＤのデータ量を低減し、小容量の辞書メモリ１６で画像の特徴部分を識別することができる。
【００４１】
（第２実施形態）
本発明の第２実施形態について説明する。第２実施形態は、鏡像関係に基づいて画像データのブロックを反転させる例である。なお、第１実施形態と同様の説明は省略する。図１６は、第２実施形態の画像識別装置１０のブロック図である。画像識別装置１０は、コンピュータプロセッサ（例えば、ＣＰＵ（Central Processing Unit））により実現される。画像識別装置１０は、入力制御部２１と、ブロック判定部２２と、第１特徴量算出部２３と、第２特徴量算出部と、反転部２５と、識別部２６と、を備える。
【００４２】
第２実施形態の画像識別装置の動作について説明する。図１７は、第２実施形態の画像識別処理のフローチャートである。画像識別処理は、画像識別装置１０により実行される処理である。
【００４３】
＜Ｓ１７００〜Ｓ１７０４＞  入力制御部２１は、識別対象である画像を表現する画像データＩＭＧをメインメモリ４０から入力する（Ｓ１７００）。そして、ブロック判定部２２は、画像データＩＭＧの注目ブロックの種類を判定する（Ｓ１７０２）。Ｓ１７０２は、第１実施形態のＳ１３０４と同様である。第３ブロックの場合（Ｓ１７０４−ＹＥＳ）、Ｓ１７０５へ進む。第１又は第２ブロックの場合（Ｓ１７０４−ＮＯ）、Ｓ１７１６へ進む。
【００４４】
＜Ｓ１７０６＞  第１特徴量算出部２３は、例えば式１を用いて、注目ブロック内の複数の画素の画素値から第１又は第２ブロックの第１特徴量を表す第１ベクトルＦ１を算出する。式１において、ｄは所定の定数であり、ｘは共起画素を求めるときの基準点の座標である。なお、第１特徴量算出部２３は、式１で表されるＨＯＧ特徴量の他に、ＬＢＰ（Local Binary Pattern）特徴量、Haar-Wavelet特徴量、Edgelet特徴量、Shapelet特徴量等の任意の特徴量についても、同様に第１ベクトルＦ１を算出することができる。
【数１】
0005417368.tif 000002
【００４５】
＜Ｓ１７１５及びＳ１７１６＞  反転部２５は、注目ブロック内の複数の画素の位置情報を反転させて、反転ブロックを生成する（Ｓ１７１５）。反転ブロックは、注目ブロックの画像とＺ軸について対称な画像である。そして、第２特徴量算出部２４は、式１を用いて、反転ブロック内の複数の画素の画素値から第３ブロックの第２特徴量を表す第２ベクトルＦ２を算出する（Ｓ１７１６）。
【００４６】
なお、第２実施形態では、Ｓ１７０６及びＳ１７１６は、上記の例に限られない。例えば、ＣｏＨＯＧ特徴量を生成する場合には、式１のｄを注目画素の位置に対して左右対称な位置に変更して計算し、図１４（Ｂ）のように、勾配値を書き換える手順を用いた場合も同じ効果が得られる。これにより、Ｓ１７１５を省略することができる。また、例えば、Haar-Wavelet特徴量を生成する場合には、図１９に示すように、第３ブロックについて、符号を反転して第２ベクトルＦ２を算出しても良い。例えば、ＬＢＰ特徴量を生成する場合には、図２０に示すように、第３ブロックについて、大小関係をコード化する際の順番を変更して第２ベクトルＦ２を算出しても良い。
【００４７】
＜Ｓ１７０７及びＳ１７０８＞  Ｓ１７０２〜Ｓ１７０６、Ｓ１７１５及びＳ１７１６は、画像データＩＭＧを構成する全ブロックの特徴量が算出されるまで繰り返される（Ｓ１７０７−ＮＯ）。画像データＩＭＧを構成する全ブロックの特徴量が算出されると（Ｓ１７０７−ＹＥＳ）、識別部２６は、第１ベクトルＦ１及び第２ベクトルＦ２について、同一のウェイトＷを用いて画像の識別結果ＯＵＴを出力する。例えば、線形ＳＶＭを用いた識別では、識別結果ＯＵＴは式２で表わされる。式２に示すように、第１ベクトルＦ１と第２ベクトルＦ２とでウェイトＷが共有されるため、辞書データＤのデータ量を削減することができる。例えば、Adaboostを用いた識別では、識別結果ＯＵＴは式３で表わされる。式３において、ｈ（ｆ）は第２特徴量であり、ｈ´（ｆ´）は弱識別機である。式３に示すように、第２特徴量ｈ（ｆ）と弱識別機ｈ´（ｆ´）とでウェイトＷが共有されるため、辞書データＤのデータ量を削減することができる。例えば、Random Forestによる識別では、図２０（Ａ）のような決定木があった場合に、図２０（Ｂ）に示す決定木と辞書データＤを共有することができる。
【数２】
0005417368.tif 000003
【数３】
0005417368.tif 000004
【００４８】
第２実施形態によれば、第３ブロックの画像を反転させてから第２特徴量を算出することで、第２ブロックと第３ブロックとで辞書データＤを共有することができる。これにより、画像の特徴部分の識別に必要な辞書データＤのデータ量を低減し、小容量の辞書メモリ１６で画像の特徴部分を識別することができる。
【００４９】
なお、上述の実施形態では、共有ブロックと鏡像ブロックがＺ軸を挟むように位置する情報を含む判定テーブルの例について説明したが、本発明の範囲はこれに限られない。判定テーブルは、任意の位置のブロックが鏡像ブロック（即ち、共有ブロックの第２辞書データが用いられるブロック）であることを示す情報を含んでも良い。
【００５０】
本実施形態に係る画像識別装置１０の少なくとも一部は、ハードウェアで構成しても良いし、ソフトウェアで構成しても良い。ソフトウェアで構成する場合には、画像識別装置１０の少なくとも一部の機能を実現するプログラムをフレキシブルディスクやＣＤ−ＲＯＭ等の記録媒体に収納し、コンピュータに読み込ませて実行させても良い。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でも良い。
【００５１】
また、本実施形態に係る画像識別装置１０の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線（無線通信も含む）を介して頒布しても良い。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布しても良い。
【００５２】
なお、本発明は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で構成要素を変形して具体化される。また、上述した実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明が形成可能である。例えば、上述した実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００５３】
１  画像識別システム
１０  画像識別装置
１１，２１  入力制御部
１２  シフト制御部
１３，２２  ブロック判定部
１４  入力バッファ
１５  シフトレジスタ
１６  辞書メモリ
１７，２６  識別部
２０  カメラ
２３  第１特徴量算出部
２４  第２特徴量算出部
２５  反転部
３０  プロセッサ
４０  メインメモリ
【図１】
0005417368.tif 000005
【図２】
0005417368.tif 000006
【図３】
0005417368.tif 000007
【図４】
0005417368.tif 000008
【図５】
0005417368.tif 000009
【図６】
0005417368.tif 000010
【図７】
0005417368.tif 000011
【図８】
0005417368.tif 000012
【図９】
0005417368.tif 000013
【図１０】
0005417368.tif 000014
【図１１】
0005417368.tif 000015
【図１２】
0005417368.tif 000016
【図１３】
0005417368.tif 000017
【図１４】
0005417368.tif 000018
【図１５】
0005417368.tif 000019
【図１６】
0005417368.tif 000020
【図１７】
0005417368.tif 000021
【図１８】
0005417368.tif 000022
【図１９】
0005417368.tif 000023
【図２０】
0005417368.tif 000024