(57)【要約】【課題】有識者でなくとも、認識対象に応じて画像認識アルゴリズムの組合せ構成を選択可能な画像認識アルゴリズム組合せ選択装置を提供する。【解決手段】画像認識アルゴリズムの組合せをデフォルト値のパラメータを使用して決定した後に、決定されたアルゴリズムに対して、パラメータの組合せの決定を行うことにより、画像認識する際に使用する辞書の作成回数を少なくするとともに、辞書作成に使用する学習データを間引くことにより、画像認識性能の評価に要する時間の最小化を図る。【選択図】図１
2015130093.tif 000002
【特許請求の範囲】
【請求項１】
画像認識用のアルゴリズム部品の組合せを選択する装置であって、
画像から識別しようとする対象を切り出した画像データと識別単位から成る学習データ、および前記画像データの画像フォーマット情報を入力し、前記学習データ、前記画像データおよび前記画像フォーマット情報の組みの全てを学習データリストとし、この学習データリストから一部を抽出し、画像認識の性能評価に使用される辞書を作成するための抽出済学習データリストを作成する学習データリスト決定部と、
前記アルゴリズム部品と前記アルゴリズム部品が実行できるための情報を表す開始条件を含むアルゴリズム情報と、接続が可能な前記アルゴリズム部品の組合せを表す依存関係情報と、前記アルゴリズム部品で使用されるパラメータの全てを表すパラメータセット情報とを利用してアルゴリズム候補リストを作成する画像認識アルゴリズム決定部と、
前記アルゴリズム候補リストに対して、デフォルト値の前記パラメータセット情報および前記抽出済学習データリストを使用して辞書を作成する辞書作成部と、
前記抽出済学習データリストに対して、前記パラメータセット情報および前記辞書を使って前記アルゴリズム候補リストを性能評価する性能評価部とを備え、
前記画像認識アルゴリズム決定部は、前記性能評価部の評価結果が、最も良い前記アルゴリズム候補リストを最適なアルゴリズム候補リストとして、前記パラメータセット情報のパラメータを設定し、
前記辞書作成部は、前記最適なアルゴリズム候補リストに対応して、前記辞書を再作成し、
前記性能評価部は、再作成された前記辞書を使って前記最適なアルゴリズム候補リストの性能を再評価し、
前記画像認識アルゴリズム決定部は、前記再評価結果に基づいて最適なパラメータセットを決定し、
前記辞書作成部は、全ての前記学習データを使用して、最終的に前記辞書を再作成する画像認識アルゴリズム組合せ選択装置。
【請求項２】
前記学習データの抽出は、前記識別単位を表すカテゴリＩＤ毎に、前記カテゴリＩＤに含まれる画像データの枚数がゼロにならないように、同じ前記カテゴリＩＤを持つ前記学習データの中から無作為に所定割合抽出する請求項１に記載の画像認識アルゴリズム組合せ選択装置。
【請求項３】
前記学習データおよび前記画像フォーマット情報を入力する入力部と、
前記アルゴリズム情報の列を格納するアルゴリズム部品格納部と、
前記依存関係情報および前記パラメータセット情報を格納するアルゴリズム情報格納部と、
前記学習データリストおよび前記画像フォーマット情報を格納する学習データ格納部を備える請求項１又は請求項２に記載の画像認識アルゴリズム組合せ選択装置。
【請求項４】
前記辞書は、アルゴリズム、パラメータ、認識対象の組合せについて１つ作成される請求項１乃至請求項３のいずれか1項に記載の画像認識アルゴリズム組合せ選択装置。
【請求項５】
前記依存関係情報は、前段の前記アルゴリズム部品と後段の前記アルゴリズム部品の接続が、ループになるような組合せは含まない請求項１乃至請求項４のいずれか1項に記載の画像認識アルゴリズム組合せ選択装置。
【請求項６】
前記画像フォーマット情報は、前記画像データの色空間フォーマットとピクセルフォーマットから成り、全ての前記画像データの前記画像フォーマット情報が統一されている請求項１乃至請求項５のいずれか1項に記載の画像認識アルゴリズム組合せ選択装置。
【請求項７】
前記最適なアルゴリズム候補リストの決定では、前記アルゴリズム候補リストと前記評価結果の組みから成るアルゴリズム性能情報リストを作成して、最も評価結果の良い前記アルゴリズム候補リストを前記最適なアルゴリズム候補リストとする請求項１乃至請求項６のいずれか1項に記載の画像認識アルゴリズム組合せ選択装置。
【請求項８】
前記アルゴリズム部品は、バイナリデータあるいは前記アルゴリズム部品を取得するための情報である請求項１乃至請求項７のいずれか1項に記載の画像認識アルゴリズム組合せ選択装置。
【請求項９】
前記評価結果は、（識別に成功したデータ数／評価に使用した学習データ数）で表す正解率の数値データで行う請求項１乃至請求項８のいずれか1項に記載の画像認識アルゴリズム組合せ選択装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、画像認識アルゴリズム組合せ選択装置に関する。
【背景技術】
【０００２】
車載カメラにおける歩行者検知や、顔認識によるセキュリティなど、様々な分野において画像認識技術が使用されることが増えている。
【０００３】
画像認識用のアルゴリズムは認識対象に依存し、識別を行いたい対象によって、有効なアルゴリズムが異なる。例えば、ある種のアルゴリズムは、歩行者の識別は可能でも果物の識別には適切とはいえない。さらに、代替アルゴリズムも多数存在し、適切な知識がなくては選択が困難である。そのため、従来は、適切なアルゴリズムを有識者の知見により選択している。
【０００４】
しかしながら、画像認識に関連するアプリケーションのニーズの高まりに呼応して、それらアプリケーションの開発を加速したい、画像認識に詳しくなくても対象物に応じた最適なアルゴリズムを決定可能にしたい、との要請が高まっている。
【０００５】
画像認識用のアルゴリズムの選択を機械的に行おうとする場合、画像認識アルゴリズムの多様性、換言すれば、評価対象となるアルゴリズムやそのパラメータなどの組合せ数が膨大であるという現実がある。そのため、評価のための辞書作成に時間がかかり、組合せ数の多い評価に極めて長時間要するという、問題があった。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−２５９２８２号公報
【特許文献２】特開平１０−１４９２８０号公報
【特許文献３】特開２０００−５６９５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明が解決しようとする課題は、有識者でなくとも、認識対象に応じて画像認識アルゴリズムの組合せ構成を選択可能な画像認識アルゴリズム組合せ選択装置を提供することである。
【課題を解決するための手段】
【０００８】
実施形態の画像認識アルゴリズム組合せ選択装置は、画像認識用のアルゴリズム部品の組合せを選択する装置であって、画像から識別しようとする対象を切り出した画像データと識別単位から成る学習データ、および前記画像データの画像フォーマット情報を入力し、前記学習データ、前記画像データおよび前記画像フォーマット情報の組みの全てを学習データリストとし、この学習データリストから一部を抽出し、画像認識の性能評価に使用される辞書を作成するための抽出済学習データリストを作成する学習データリスト決定部と、前記アルゴリズム部品と前記アルゴリズム部品が実行できるための情報を表す開始条件を含むアルゴリズム情報と、接続が可能な前記アルゴリズム部品の組合せを表す依存関係情報と、前記アルゴリズム部品で使用されるパラメータの全てを表すパラメータセット情報とを利用してアルゴリズム候補リストを作成する画像認識アルゴリズム決定部と、前記アルゴリズム候補リストに対して、デフォルト値の前記パラメータセット情報および前記抽出済学習データリストを使用して辞書を作成する辞書作成部と、前記抽出済学習データリストに対して、前記パラメータセット情報および前記辞書を使って前記アルゴリズム候補リストを性能評価する性能評価部とを備え、前記画像認識アルゴリズム決定部は、前記性能評価部の評価結果が、最も良い前記アルゴリズム候補リストを最適なアルゴリズム候補リストとして、前記パラメータセット情報のパラメータを設定し、前記辞書作成部は、前記最適なアルゴリズム候補リストに対応して、前記辞書を再作成し、前記性能評価部は、再作成された前記辞書を使って前記最適なアルゴリズム候補リストの性能を再評価し、前記画像認識アルゴリズム決定部は、前記再評価結果に基づいて最適なパラメータセットを決定し、前記辞書作成部は、全ての前記学習データを使用して、最終的に前記辞書を再作成する。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係る画像認識アルゴリズム組合せ選択装置の概略構成を示すブロック図である。
【図２】アルゴリズム部品格納部に格納されるアルゴリズム部品の情報の一例を示す図である。
【図３】依存関係の情報の一例を示す図である。
【図４】パラメータの情報の一例を示す図である。
【図５】学習データの情報の一例を示す図である。
【図６】アルゴリズム候補リストの一例を示す図である。
【図７】アルゴリズム性能情報リストの一例を示す図である。
【図８】アルゴリズム組合せの決定までの処理の流れを示すフローチャートである。
【図９】開始可能アルゴリズム情報リストの一例を示す図である。
【図１０】処理１が再帰的に呼び出されるたびに生成されるデータの一例を示す図である。
【図１１】処理１における作業を説明する図で、図１０の点線内における下段データの算出を説明する図である。
【図１２】抽出後の学習データリストの一例を示す図である。
【図１３】評価結果の算出の一例を示す図である。
【図１４】ステップＳ８１１までの処理で得られた最適なアルゴリズム候補リストの一例を示す図である。
【図１５】パラメータ組合せの決定までの処理の流れを示すフローチャートである。
【図１６】処理３が再帰的に呼び出されるたびに生成されるデータの一例を示す図である。
【図１７】処理３における作業を説明する図である。
【図１８】ステップＳ１５０５までの処理で得られた最適なアルゴリズム候補リストの一例を示す図である。
【図１９】アルゴリズム候補リストと辞書の出力までの処理の流れを示すフローチャートである。
【図２０】全ての学習データを使用して作成される辞書を説明する図である。
【発明を実施するための形態】
【００１０】
以下、本発明の一実施の形態について、図面を参照して説明する。尚、各図において同一箇所については同一の符号を付すとともに、重複した説明は省略する。
【００１１】
まず、本実施形態で用いる主要な用語について説明する。
【００１２】
「特徴量」とは、画像の性質を表す数値のベクトルデータをいう。
【００１３】
「事前処理」とは、特徴抽出や他の事前処理を行う際に必要となる、画像変換のアルゴリズムをいう。例えば、エッジの抽出や色の変換などである。
【００１４】
「制御処理」とは、画像認識処理のフローを制御するアルゴリズムをいう。
【００１５】
「特徴抽出」とは、画像を特徴量へ変換するアルゴリズムをいう。
【００１６】
「学習」とは、特徴量を元に、その特徴量が何を指しているかを判定するため辞書の機械学習を行うアルゴリズムをいう。
【００１７】
「識別」とは、学習の結果を用いた識別を行うアルゴリズムをいう。学習アルゴリズムに１対１で存在する。
【００１８】
「画像認識アルゴリズム」とは、上記した事前処理、制御処理、特徴抽出、学習、識別の各アルゴリズムを含む。
【００１９】
「アルゴリズム部品」とは、上記した事前処理、制御処理、特徴抽出、学習、識別に属する具体的なアルゴリズムの一つ一つをいう。尚、事前処理、制御処理、特徴抽出の各アルゴリズムには、それぞれ複数のパラメータが付随する。
【００２０】
「辞書」とは、機械学習によって得られる、画像を識別する際に使用するデータをいう。アルゴリズム、パラメータ、認識対象の組合せに付き一つ作られる。
【００２１】
「学習データ」とは、辞書を作成する際の機械学習に使用する「画像データ＋カテゴリＩＤ（識別したい対象の単位）」の組合せをいう。
【００２２】
「画像データ」とは、識別したい対象が画像から切り出されたものをいう。
【００２３】
本実施形態においては、画像認識アルゴリズムの組合せをデフォルト値のパラメータを使用して決定した後に、決定されたアルゴリズムに対して、パラメータの組合せの決定を行うことにより、画像認識する際に使用する辞書の作成回数を少なくするとともに、辞書作成に使用する学習データを間引くことにより、画像認識性能の評価に要する時間の最小化を図るものである。
【００２４】
図１は、本発明の実施形態に係る画像認識アルゴリズム組合せ選択装置の概略構成を示すブロック図である。この装置は汎用のコンピュータ（例えばパーソナルコンピュータ（ＰＣ）等）と、同コンピュータ上で動作するソフトウェアとを用いて実現される。コンピュータとしては、ＣＡＤ（Computer Aided Design）やＣＡＥ（Computer Aided Engineering）に好適なエンジニアリングワークステーション（ＥＷＳ）等も含む。本実施形態はこのようなコンピュータに、最適なアルゴリズム候補の決定、最適なパラメータセットの決定、および辞書の作成を実行するプログラムとして実施することもできる。
【００２５】
図１に示すように、本実施形態に係る画像認識アルゴリズム組合せ選択装置１００は、主として、入力部１０、画像認識アルゴリズム決定部２０、学習データリスト決定部３０、辞書作成部４０、性能評価部５０、アルゴリズム部品格納部６０、アルゴリズム情報格納部７０、学習データ格納部８０から構成されている。
【００２６】
入力部１０へは、ユーザによって、学習データおよび画像フォーマット情報が入力される。学習データは、画像から識別しようとする対象を切り出した画像データと識別単位を表すカテゴリＩＤから成る。画像フォーマット情報は、画像データの色空間フォーマットとピクセルフォーマットから成る。入力した学習データおよび画像フォーマット情報は、学習データ格納部８０に格納される。
【００２７】
学習データリスト決定部３０は、学習データ格納部８０の学習データリスト（後述する）から一部分の画像データを抽出し、評価に使用する辞書を作成するための学習データリストを作成する。学習データリスト決定部３０は、詳細は後述するが、画像から識別しようとする対象を切り出した画像データと識別単位から成る学習データ、および画像データの画像フォーマット情報を入力し、学習データ、画像データおよび画像フォーマット情報の組みの全てを学習データリストとし、この学習データリストから一部を抽出し、画像認識の性能評価に使用される辞書を作成するための抽出済学習データリストを作成する。
【００２８】
画像認識アルゴリズム決定部２０は、辞書作成部４０を起動し、性能評価部５０からの評価結果を受け取ることで最適なアルゴリズムの組合せおよび最適なパラメータの組合せを決定する。画像認識アルゴリズム決定部２０は、詳細は後述するが、アルゴリズム部品とアルゴリズム部品が実行できるための情報を表す開始条件を含むアルゴリズム情報と、接続が可能なアルゴリズム部品の組合せを表す依存関係情報と、アルゴリズム部品で使用されるパラメータの全てを表すパラメータセット情報とを利用してアルゴリズム候補リストを作成する。そして、再評価結果に基づいて最適なパラメータセットを決定する。
【００２９】
辞書作成部４０は、アルゴリズム候補リストに対して、デフォルト値のパラメータセット情報および抽出済学習データリストを使用して辞書を作成する。辞書作成部４０は、詳細は後述するが、最適なアルゴリズム候補リストに対応して、辞書を再作成し、さらに、全ての学習データを使用して、最終的に辞書を再作成する。
【００３０】
性能評価部５０は、抽出済学習データリストに対して、パラメータセット情報および辞書を使ってアルゴリズム候補リストを性能評価する。性能評価部５０は、詳細は後述するが、再作成された辞書を使って最適なアルゴリズム候補リストの性能を再評価する。
【００３１】
アルゴリズム部品格納部６０には、アルゴリズムの情報の列が格納される。図２は、アルゴリズム部品格納部６０に格納されるアルゴリズムの情報の一例を示す図である。図２に示すように、アルゴリズムの情報として、アルゴリズムＩＤ、アルゴリズム部品、開始条件を組みとして格納する。アルゴリズム情報の列をアルゴリズム情報リストと呼ぶ。ここで、アルゴリズム部品は、アルゴリズム部品(バイナリ)そのものでもよいし、アルゴリズム部品を取得するための情報でもよい。開始条件は、学習データ格納部８０の画像フォーマット情報が何である場合にアルゴリズム部品を実行できるかの情報である。アルゴリズム部品が画像データを入力としない場合は、“不可能”が入る。本実施形態では、入力される画像データの色空間フォーマットとピクセルフォーマットを、画像フォーマット情報としている。さらに、全ての画像データの画像フォーマットが統一されていることを前提としている。
【００３２】
図２に示す例では、アルゴリズムＩＤ“０”として“ＹＵＶ変換”、アルゴリズムＩＤ“１”として“エッジ抽出”、アルゴリズムＩＤ“１０”として“ＣｏＨＯＧ”、アルゴリズムＩＤ“１１”として“Ｈａａｒ-Ｌｉｋｅ”、アルゴリズムＩＤ“２１”として“ＡｄａＢｏｏｓｔ”、アルゴリズムＩＤ“２２”として“ＳＶＭ”などが格納されている。図２に示す例によれば、アルゴリズム部品“ＹＵＶ変換”は、画像フォーマット情報が“ＲＧＢ４４４”である場合に、実行できることを表している。また、アルゴリズム部品“エッジ抽出”は、画像フォーマット情報が“Ｙ”である場合に、実行できることを表している。
【００３３】
アルゴリズム情報格納部７０には、依存関係情報およびパラメータセット情報が格納される。ここで、依存関係とは、接続可能なアルゴリズムの組合せであり、ループになるような関係は含まない。図３は、依存関係の情報の一例を示す図である。図３に示す例では、アルゴリズムＩＤ“０”が前段のアルゴリズム部品であり、アルゴリズムＩＤ“１０”が後段のアルゴリズム部品である場合には、接続可能となっている。同様に、アルゴリズムＩＤ“１”が前段のアルゴリズム部品であり、アルゴリズムＩＤ“１０”が後段のアルゴリズム部品である場合にも、接続可能となっている。
【００３４】
さらに、アルゴリズム情報格納部７０には、アルゴリズム毎に、使用し得るパラメータの情報が格納される。一つのアルゴリズムで使用するパラメータの組合せをパラメータセットとすると、各アルゴリズムは、それぞれ、複数のパラメータセットを持っている。
【００３５】
図４は、パラメータの情報の一例を示す図である。図４に示すように、パラメータの情報には、アルゴリズムＩＤ、パラメータセットＩＤ、パラメータを格納する。
【００３６】
図４に示す例では、アルゴリズムＩＤ“１０”が使用し得る２つのパラメータセットが、パラメータセットＩＤ“１”、パラメータセットＩＤ“２”として格納されている。さらに、アルゴリズムＩＤ“２３”が使用し得る２つのパラメータセットが、パラメータセットＩＤ“１”、パラメータセットＩＤ“２”として格納されている。本実施形態においては、パラメータセットＩＤ“１”のものをデフォルト値として使用する。
【００３７】
アルゴリズムＩＤ“１０”のパラメータセットＩＤ“１”の具体的なパラメータとして、“方向量子化数＝４”、“領域分割数（ｘ）＝１”、“領域分割数（ｙ）＝１”が格納され、アルゴリズムＩＤ“１０”のパラメータセットＩＤ“２”の具体的なパラメータとして、“方向量子化数＝４”、“領域分割数（ｘ）＝２”、“領域分割数（ｙ）＝３”が格納されている。
【００３８】
同様に、アルゴリズムＩＤ“２３”のパラメータセットＩＤ“１”の具体的なパラメータとして、“基底数＝１００”、“正クラス数＝２０”、“負クラス数＝２０”、“類似域値＝０．２”が格納され、アルゴリズムＩＤ“２３”のパラメータセットＩＤ“２”の具体的なパラメータとして、“基底数＝２００”、“正クラス数＝２０”、“負クラス数＝２０”、“類似域値＝０．３”が格納されている。
【００３９】
学習データ格納部８０には、ユーザによって準備される、学習データおよび画像フォーマット情報が格納される。図５は、学習データの情報の一例を示す図である。図５に示すように、学習データの情報として、学習データＩＤ、カテゴリＩＤ、画像データおよび画像フォーマット情報を格納し、これら全てを学習データリストと呼ぶ。ここで、学習データＩＤは、カテゴリＩＤと画像データの組みに対して付与するＩＤである。カテゴリＩＤは、識別したい対象ごとに、機械学習や辞書を評価するための識別結果の正解として使用するデータをいう。画像データは、画像から識別したい対象が切り出されたもので、例えばバイナリデータそのものでもよいし、バイナリデータを取得するための情報でもよい。
【００４０】
画像フォーマット情報は、入力される画像データの色空間フォーマットとピクセルフォーマットであり、本実施形態では、１回の組合せ最適化処理を実行する際の全ての画像データの画像フォーマットが統一されている。すなわち、あるアルゴリズムの組合せ最適化処理では、全て“ＲＧＢ４４４”のフォーマットの画像データを対象とし、別のアルゴリズムの組合せ最適化処理では、全て“Ｙ”フォーマットの画像データを対象とし、別のアルゴリズムの組合せ最適化処理では、全て“ＹＵＶ”フォーマットの画像データを対象とする。
【００４１】
図５に示す例では、人物認識を識別する対象とし、学習データＩＤ“１”として、カテゴリＩＤ“１”、画像データ“人物画像１”が格納され、学習データＩＤ“３１０７”として、カテゴリＩＤ“２”、画像データ“背景画像１”が格納されている。さらに、画像フォーマット情報として“ＲＧＢ４４４”が格納されている。
【００４２】
＜アルゴリズム候補リスト＞
画像認識アルゴリズムの辞書作成および評価を行う際には、アルゴリズム部品とパラメータセットを組みにして使用する。この組みを「アルゴリズム候補」と呼び、アルゴリズム部品とパラメータセットの列を「アルゴリズム候補リスト」と呼ぶ。アルゴリズム候補およびアルゴリズム候補リストは、画像認識アルゴリズム決定部２０で作成される。図６は、アルゴリズム候補リストの一例を示す図である。図６に示す例では、アルゴリズムＩＤ“７”とパラメータセットＩＤ“１”の組みが、アルゴリズム候補となっている。そして、この組みを含む４つの列でアルゴリズム候補リストとなっている。
【００４３】
＜アルゴリズム性能情報リスト＞
アルゴリズムの組合せ構成が最適であるか否かについては、ある指標の下で評価する必要がある。本実施形態では、係る評価結果を例えば、正解率（識別に成功したデータ数／評価に使用した学習データ数）のような数値データで行う。本実施形態では、アルゴリズム候補リストと評価結果の組みをアルゴリズム性能情報と呼ぶ。アルゴリズム性能情報は、画像認識アルゴリズム決定部２０にて作成される。図７は、アルゴリズム性能情報リストの一例を示す図である。図７に示す例では、アルゴリズムＩＤ“０”、“７”、“１０”、“２３”とパラメータセットＩＤ“１”から成るアルゴリズム候補リストについて、１８９８／２０００との評価結果がアルゴリズム性能情報として、リスト化されている。
【００４４】
以上のように構成された画像認識アルゴリズム組合せ選択装置１００における処理の流れについて説明する。本実施形態では、辞書作成回数が少なくなるように、「アルゴリズム組合せの決定」、「パラメータの組合せの決定」の２ステップに分割し、辞書作成回数を（ｍ＊ｎ）回のオーダーから（ｍ＋ｎ）回のオーダーに削減する。ここで、ｍはアルゴリズムの組合せの数、ｎはパラメータの組合せの数を表している。画像を識別できるかどうかはアルゴリズム組合せが最も重要である。そこで、デフォルト値のパラメータを使用してアルゴリズム組合せを決定し、決定されたアルゴリズムに対してパラメータを決定する。
【００４５】
以下、処理について、アルゴリズム組合せの決定まで、パラメータ組合せの決定まで、アルゴリズム候補リストと辞書の出力までに大別して説明する。
【００４６】
＜アルゴリズム組合せの決定までの処理＞
図８は、アルゴリズム組合せの決定までの処理の流れを示すフローチャートである。
【００４７】
まず、ユーザが全ての学習データを入力する（ステップＳ８０１）。
【００４８】
次に、ユーザが画像フォーマットを入力する（ステップＳ８０２）。
【００４９】
次いで、アルゴリズム情報リストから、アルゴリズム情報の開始条件と、入力された画像フォーマット情報が等しいアルゴリズム情報を全てとりだした開始可能アルゴリズム情報リストを作成する（ステップＳ８０３）。例えば、図２に示すアルゴリズム部品格納部６０に格納されているアルゴリズム情報リストと図５に示す学習データ格納部８０に格納されている画像フォーマット情報に基づいて、図９に示す開始可能アルゴリズム情報リストが作成される。
【００５０】
次に、開始可能アルゴリズム情報リストが空であるか否かを判定する（ステップＳ８０４）。
【００５１】
開始可能アルゴリズム情報リストが空であれば（ステップＳ８０４でＹｅｓ）、画像認識アルゴリズム組合せ選択装置における処理を終了し、開始可能アルゴリズム情報リストが空でなければ（ステップＳ８０４でＮｏ）、空のアルゴリズム性能情報リスト（図７参照）を作成する（ステップＳ８０５）。
【００５２】
次いで、開始可能アルゴリズム情報リスト（図９参照）からアルゴリズム情報を一つ取り出して、元のリストから削除する（ステップＳ８０６）。
【００５３】
次に、空のアルゴリズム候補を作成し、作成したアルゴリズム候補（図６参照）のアルゴリズムIDを、ステップＳ８０６で取り出したアルゴリズム情報のアルゴリズムIDに設定する。さらにそのアルゴリズム候補のパラメータセットIDを1（デフォルト値）にする（ステップＳ８０７）。図９に示す例から、アルゴリズムID“０”およびパラメータセットID“１”のアルゴリズム候補が作成される。
【００５４】
次に、空のアルゴリズム候補リストを作成し、ステップＳ８０７で作成したアルゴリズム候補を作成したアルゴリズム候補リストの最下段に追加する（ステップＳ８０８）。ステップＳ８０７の例では、アルゴリズムID“０”およびパラメータセットID“１”から成るアルゴリズム候補だけが、アルゴリズム候補リストに記載されている。
【００５５】
次いで、アルゴリズム候補リストを引数として処理１を実行する（ステップＳ８０９）。係るステップＳ８０９でｍ個のアルゴリズム候補リストに対して辞書を作成する。ここで、処理１は、与えられたアルゴリズム候補リストに対し、依存関係情報で与えられた条件の下で、逐次、接続可能なアルゴリズム候補を追加して新たなアルゴリズム候補リストを作成するものである。
【００５６】
以下に、処理１の詳細の一例を記す。
【００５７】
処理１（引数：アルゴリズム候補リスト）｛
f1.1. アルゴリズム候補リストの最下段のアルゴリズム候補を取得する。
【００５８】
f1.2. 取得したアルゴリズム候補からアルゴリズムIDを取得する。
【００５９】
f1.3. 依存関係情報リストから取得したアルゴリズムIDと前段アルゴリズムIDが等しい、依存関係情報を全て取得する。
【００６０】
f1.4. 取得した全ての依存関係情報から後段アルゴリズムIDを取り出し、後段アルゴリズムIDリストを作成する。
【００６１】
f1.5. リストが空でない場合以下を実行する。
【００６２】
f1.6. 後段アルゴリズムIDの各要素について以下を実行する。
【００６３】
f1.7. 空のアルゴリズム候補を作成する。
【００６４】
f1.8. 後段アルゴリズムIDを作成したアルゴリズム候補のアルゴリズムIDに設定する。
【００６５】
f1.9. さらにそのアルゴリズム候補のパラメータセットIDを1（デフォルト値）にする。
【００６６】
f1.10. 引数のアルゴリズム候補リストのコピーを作成する。
【００６７】
f1.11. コピーとして作成したアルゴリズム候補リストの最下段に、作成したアルゴリズム候補を追加する。
【００６８】
f1.12. コピーとして作成したアルゴリズム候補リストを引数として処理１を実行する。
【００６９】
f1.13. リストが空である場合
f1.14. 引数のアルゴリズム候補リストを引数として処理２（後述する）を実行する。
｝
【００７０】
図１０は、処理１が再帰的に呼び出されるたびに生成されるデータの一例を示す図である。図１１は、処理１における作業を説明する図で、図１０の点線内における下段データの算出を説明する図である。
【００７１】
処理２は、処理１でそれ以上接続可能なアルゴリズム候補が存在しない場合、その時点のアルゴリズム候補リストに基づき辞書作成と性能評価を実施するものである。以下に、処理２の詳細の一例を記す。
【００７２】
処理２（引数：アルゴリズム候補リスト）｛
f2.1. 学習データリストから、カテゴリID毎に一部の学習データを抽出した、学習データリストを作成する。一部の学習データは、例えば、カテゴリID毎に、同じカテゴリIDを持つ学習データの中から無作為に４割抽出する。カテゴリに含まれる画像データの枚数がゼロにならないことが必要である。図１２は、抽出後の学習データリストの一例を示す図である。
【００７３】
f2.2. アルゴリズム候補リストに対して、作成した学習データリストを使用して辞書を作成し、性能評価し評価結果を算出する。アルゴリズム候補リストの評価には、例えば、交差検定など一般的な手法を用いることができる。図１３は、評価結果の算出の一例を示す図である。評価結果には、正解率（識別に成功したデータ数／評価に使用した学習データ数）のような識別性能を定量的に比較できる数値を含むことができる。
【００７４】
f2.3. 空のアルゴリズム性能情報リストを作成し、設定値として引数のアルゴリズム候補リストと、算出した評価結果を設定する。
【００７５】
f2.4. 作成したアルゴリズム性能情報リストに、作成したアルゴリズム性能情報を追加する。
｝
【００７６】
次に、開始可能アルゴリズム情報リストが空か否かを判定する（ステップＳ８１０）。
【００７７】
開始可能アルゴリズム情報リストが空であれば（ステップＳ８１０でＹｅｓ）、ステップＳ８０６で作成したアルゴリズム性能情報リストから、最も評価結果の良いアルゴリズム候補リストを最適なアルゴリズム候補リストと決定（ステップＳ８１１）し、アルゴリズム組合せの決定までの処理が完了する。図１４は、ステップＳ８１１までの処理で得られた最適なアルゴリズム候補リストの一例を示す図である。
【００７８】
一方、開始可能アルゴリズム情報リストが空でなければ（ステップＳ８１０でＮｏ）、ステップＳ８０６に移行する。
【００７９】
＜パラメータ組合せの決定までの処理＞
図１５は、パラメータ組合せの決定までの処理の流れを示すフローチャートである。
【００８０】
まず、空のアルゴリズム性能情報リストを作成する（ステップＳ１５０１）。
【００８１】
次に、ステップＳ８１１で決定した最適なアルゴリズム候補のコピーを作成する（ステップＳ１５０２）。
【００８２】
次いで、コピーとして作成したアルゴリズム候補リストの各アルゴリズム候補のパラメータセットを空にする（ステップＳ１５０３）。
【００８３】
次に、コピーとして作成したアルゴリズム候補リストを引数として処理３を実行する（ステップＳ１５０４）。係るステップＳ１５０４で、ｎ個のパラメータ組合せに対して辞書を作成する。処理３は、与えられたアルゴリズム候補リストに対し、パラメータ情報で与えられたパラメータを、逐次、各アルゴリズム候補リストに対応して設定するものである。以下に、処理３の詳細の一例を記す。
【００８４】
処理３（引数：アルゴリズム候補リスト）｛
f3.1. アルゴリズム候補リストからパラメータセットIDが空であるアルゴリズム候補を一つ取得する。
【００８５】
f3.2. 取得したアルゴリズム候補からアルゴリズムIDを取得する。
【００８６】
f3.3. 引数のアルゴリズム候補リストに含まれるアルゴリズム候補のうち、パラメータセットIDが空であるものが存在する場合。
【００８７】
f3.4. パラメータ情報から、取得したアルゴリズムIDとアルゴリズムIDが等しいパラメータセットをすべて取得してパラメータセットリストを作成する。
【００８８】
f3.5. パラメータセットリストの各要素について以下を実行。
【００８９】
f3.6. パラメータセットからパラメータセットIDを取得する。
【００９０】
f3.7. 引数のアルゴリズム候補リストのコピーを作成する。
【００９１】
f3.8. コピーとして作成したアルゴリズム候補リストから、取得したアルゴリズムIDとアルゴリズムIDが等しいアルゴリズム候補を取得する。
【００９２】
f3.9. f3.8で取得したアルゴリズム候補のパラメータセットIDの値として取得したパラメータセットIDを設定する。
【００９３】
f3.10. コピーとして作成したアルゴリズム候補リストを引数として処理３を実行する。
【００９４】
f3.11. 引数のアルゴリズム候補リストに含まれるアルゴリズム候補のうち、パラメータセットIDが空であるものが存在しない場合。
【００９５】
f3.12. 引数のアルゴリズム候補リストを引数として処理４を実行する。
｝
【００９６】
処理４は、処理３において、それ以上設定可能なパラメータが存在しない場合、その時点のアルゴリズム候補リストに基づき辞書作成と性能評価を実施するものである。以下に、処理４の詳細の一例を記す。
【００９７】
処理４（引数：アルゴリズム候補リスト）｛
f4.1. 学習データリストから、カテゴリID毎に一部の学習データを抽出した、学習データリストを作成する。一部の学習データは、上記と同様である。
【００９８】
f4.2. アルゴリズム候補リストに対して、作成した学習データリストを使用して辞書を作成し、性能評価し評価結果を算出する。
【００９９】
f4.3. 空のアルゴリズム性能情報を作成し、設定値として引数のアルゴリズム候補リストと、算出した評価結果を設定する。
【０１００】
f4.4. 作成したアルゴリズム性能情報リストに作成したアルゴリズム性能情報を追加する。
｝
【０１０１】
図１６は、処理３が再帰的に呼び出されるたびに生成されるデータの一例を示す図である。図１７は、処理３における作業を説明する図である。
【０１０２】
次いで、ステップＳ１５０１で作成したアルゴリズム性能情報リストから、最も評価結果の良いアルゴリズム候補リストを最適なアルゴリズム候補リストと決定（ステップＳ１５０５）し、パラメータ組合せの決定までの処理を完了する。図１８は、ステップＳ１５０５までの処理で得られた最適なアルゴリズム候補リストの一例を示す図である。
【０１０３】
＜アルゴリズム候補リストと辞書の出力までの処理＞
図１９は、アルゴリズム候補リストと辞書の出力までの処理の流れを示すフローチャートである。
【０１０４】
まず、ステップＳ１５０５で決定した最適なアルゴリズム候補リストに対して、学習データリストを使って辞書を作成する（ステップＳ１９０１）。
【０１０５】
次に、ステップＳ１５０５で決定した最適なアルゴリズム候補リストと、ステップＳ１９０１で作成した辞書を出力する（ステップＳ１９０２）。図２０は、全ての学習データを使用して作成される最終的な辞書を説明する図である。このように、決定されたアルゴリズムの組合せと各アルゴリズムで使用されるパラメータが最適化され、辞書も作成されているので、最適な組合せの画像認識器を構成することができる。
【０１０６】
＜変形例＞
本実施形態については、以下のような変形例も適用することが可能である。
【０１０７】
（１）ステップＳ８１１やステップＳ１５０５において、最適なアルゴリズム候補リストを決定しているが、一覧を表示するようにしてもよい。  
（２）ステップＳ８０９やステップＳ１５０４では、再帰的な処理によりアルゴリズムを実現しているが、この部分については周知の木構造の中間データ等を用いることにより反復的な処理に変換することもできる。  
（３）ステップＳ１９０１では、学習データリスト全体を用いて辞書を作成するイメージで描いているが、全体でなく十分な量の一部分の学習データリストを用いて辞書を作成してもよい。
【０１０８】
以上説明したように、本実施形態によれば、画像認識アルゴリズムの組合せ構成を機械的に決定するのに必要な時間を、「アルゴリズム組合せ（ｍ通り）」＊「パラメータ組合せ（ｎ通り）」の（ｍ＊ｎ）のオーダーから、「アルゴリズム組合せ（ｍ通り）」＋「パラメータ組合せ（ｎ通り）」の（ｍ＋ｎ）のオーダーに削減し、画像認識の有識者でなくとも、認識対象に応じた画像認識のためのアルゴリズムの組合せ、各アルゴリズムのパラメータの組合せ、辞書を決定することができる。
【０１０９】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１１０】
１００・・・画像認識アルゴリズム組合せ選択装置
１０・・・入力部
２０・・・画像認識アルゴリズム決定部
３０・・・学習データリスト決定部
４０・・・辞書作成部
５０・・・性能評価部
６０・・・アルゴリズム部品格納部
７０・・・アルゴリズム情報格納部
８０・・・学習データ格納部
【図１】
2015130093.tif 000003
【図２】
2015130093.tif 000004
【図３】
2015130093.tif 000005
【図４】
2015130093.tif 000006
【図５】
2015130093.tif 000007
【図６】
2015130093.tif 000008
【図７】
2015130093.tif 000009
【図８】
2015130093.tif 000010
【図９】
2015130093.tif 000011
【図１０】
2015130093.tif 000012
【図１１】
2015130093.tif 000013
【図１２】
2015130093.tif 000014
【図１３】
2015130093.tif 000015
【図１４】
2015130093.tif 000016
【図１５】
2015130093.tif 000017
【図１６】
2015130093.tif 000018
【図１７】
2015130093.tif 000019
【図１８】
2015130093.tif 000020
【図１９】
2015130093.tif 000021
【図２０】
2015130093.tif 000022