(57)【要約】【課題】ユーザにとって最適な画像認識を可能とする。【解決手段】識別部１０２は、入力された画像データのクラス認識処理を行う。認識結果出力部１０３は、画像データと認識結果を表示装置１０５に表示させる。認識結果修正部１０４は、入力装置１０６から入力されるユーザによる認識結果の評価に基づき、入力画像データの認識結果を修正し、識別部１０２に転送する。識別部１０２は、転送された修正認識結果と入力画像データから学習データを設定し、追加学習を行う。【選択図】図１
2012174222.tif 000002
【特許請求の範囲】
【請求項１】
予め学習した結果を用いて入力画像データのクラス認識を行うステップと、
前記クラス認識結果を出力するステップと、
前記クラス認識結果の出力に対するユーザの評価を受け前記評価から修正認識結果を設定するステップと、
前記修正認識結果と前記入力画像データを用いて追加学習を行うステップと、
をコンピュータに発揮させることを特徴とする画像認識プログラム。
【請求項２】
前記修正認識結果は、ユーザの評価に基づきクラスとそのクラスの重みが設定され、
前記追加学習は、前記クラスとそのクラスの重みを用いて行うことを特徴とする請求項１に記載の画像認識プログラム。
【請求項３】
前記修正認識結果は、ユーザの評価に基づき少なくとも２つのクラスが設定されることを特徴とする請求項１に記載の画像認識プログラム。
【請求項４】
前記修正認識結果は、ユーザの評価に基づき各クラスの重みが設定され、
前記追加学習は、前記クラスとそのクラスの重みを用いて行うことを特徴とする請求項３に記載の画像認識プログラム。
【請求項５】
前記各クラスの重みは、さらに、クラス間の類似度に基づいて設定されることを特徴とする請求項４に記載の画像認識プログラム。
【請求項６】
前記少なくとも２つのクラスは、カテゴリの異なるクラスを含み、
前記各クラスの重みは、さらに、カテゴリ間の優先度に基づいて設定されることを特徴とする請求項４に記載の画像認識プログラム。
【請求項７】
前記クラス認識結果を出力するステップは、前記クラス認識結果をグラフィカルユーザインターフェースに表示し、
前記修正認識結果を設定するステップは、前記グラフィカルユーザインターフェース内でのユーザ操作により得られたユーザ評価を受けて、それに基づき前記修正認識結果を設定することを特徴とする請求項１に記載の画像認識プログラム。
【請求項８】
予め学習した結果を用いて入力画像データのクラス認識を行うステップと、
前記クラス認識結果を出力するステップと、
前記クラス認識結果の出力に対するユーザの評価を受け前記評価から修正認識結果を設定するステップと、
前記修正認識結果と前記入力画像データを用いて追加学習を行うステップと、
を有することを特徴とする画像認識方法。
【請求項９】
前記修正認識結果は、ユーザの評価に基づきクラスとそのクラスの重みが設定され、
前記追加学習は、前記クラスとそのクラスの重みを用いて行うことを特徴とする請求項８に記載の画像認識方法。
【請求項１０】
前記修正認識結果は、ユーザの評価に基づき少なくとも２つのクラスが設定されることを特徴とする請求項８に記載の画像認識方法。
【請求項１１】
前記修正認識結果は、ユーザの評価に基づき各クラスの重みが設定され、
前記追加学習は、前記クラスとそのクラスの重みを用いて行うことを特徴とする請求項１０に記載の画像認識方法。
【請求項１２】
前記各クラスの重みは、さらに、クラス間の類似度に基づいて設定されることを特徴とする請求項１１に記載の画像認識方法。
【請求項１３】
前記少なくとも２つのクラスは、カテゴリの異なるクラスを含み、
前記各クラスの重みは、さらに、カテゴリ間の優先度に基づいて設定されることを特徴とする請求項１１に記載の画像認識方法。
【請求項１４】
前記クラス認識結果を出力するステップは、前記クラス認識結果をグラフィカルユーザインターフェースに表示し、
前記修正認識結果を設定するステップは、前記グラフィカルユーザインターフェース内でのユーザ操作により得られたユーザ評価を受けて、それに基づき前記修正認識結果を設定することを特徴とする請求項８に記載の画像認識方法。
【請求項１５】
予め学習した結果を用いて入力画像データのクラス認識を行う識別部と、
前記クラス認識結果を出力する認識結果出力部と、
前記クラス認識結果の出力に対するユーザの評価を受け前記評価から修正認識結果を設定する認識結果修正部と、
を有し、
前記識別部は、前記修正認識結果と前記入力画像データを用いて追加学習を行うことを特徴とする画像認識装置。
【請求項１６】
前記修正認識結果は、ユーザの評価に基づきクラスとそのクラスの重みが設定され、
前記追加学習は、前記クラスとそのクラスの重みを用いて行うことを特徴とする請求項１５に記載の画像認識装置。
【請求項１７】
前記修正認識結果は、ユーザの評価に基づき少なくとも２つのクラスが設定されることを特徴とする請求項１５に記載の画像認識装置。
【請求項１８】
前記修正認識結果は、ユーザの評価に基づき各クラスの重みが設定され、
前記追加学習は、前記クラスとそのクラスの重みを用いて行うことを特徴とする請求項１７に記載の画像認識装置。
【請求項１９】
前記各クラスの重みは、さらに、クラス間の類似度に基づいて設定されることを特徴とする請求項１８に記載の画像認識装置。
【請求項２０】
前記少なくとも２つのクラスは、カテゴリの異なるクラスを含み、
前記各クラスの重みは、さらに、カテゴリ間の優先度に基づいて設定されることを特徴とする請求項１８に記載の画像認識装置。
【請求項２１】
前記認識結果出力部は、前記クラス認識結果をグラフィカルユーザインターフェースに出力し、
前記認識結果修正部は、前記グラフィカルユーザインターフェース内でのユーザ操作により得られたユーザ評価を受けて、それに基づき前記修正認識結果を設定することを特徴とする請求項１５に記載の画像認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データに基づく学習結果を利用して認識対象画像データの認識を行う画像認識プログラム、方法及び装置に関し、特に追加学習に関する。
【背景技術】
【０００２】
近年、機械学習による画像認識に関する技術は多数提案されており、予め大量の画像データに基づく学習により識別器を構成し、該識別器を備える認識器で入力画像データの画像認識処理を行う方法が盛んに研究されている。
【０００３】
また、新規画像データを用いて識別器の追加学習を行うことにより、認識性能を向上するための手法についても提案がなされている。
【０００４】
例えば、特許文献１には、画像中に存在する物体を検出して、環境認識を行う画像処理システムの例が提示されている。ここでは、入力画像データを事前学習した認識器（識別器）で処理し、入力画像データから特定の対象を抽出する認識処理部と、追加学習に用いる教師データを当該入力画像データから作成する教師データ作成部と、該教師データを用いた学習により認識器を適応的に更新する学習更新部と、を備えた画像処理システムが提案されている。
【０００５】
さらに先行技術として、Ｇｏｏｇｌｅ社の提供するソフトウェアであるＧｏｏｇｌｅ  ｐｉｃａｓａが知られている。これは、登録された画像群に対し、顔検出を行い、検出結果をユーザに提示した上で、正解、不正解の評価をユーザから受け、その評価に基づき残りの画像群を再認識する機能を有する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２０４１０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献１では、認識結果の正誤判断が行われることなく教師データが作成されて、追加学習に利用されている。そのため、誤った認識結果が追加学習に利用されることがあり、良好な学習結果が得られるとは限らないという課題がある。
【０００８】
これに対して、先行技術Ｇｏｏｇｌｅ  ｐｉｃａｓａでは、入力された画像データの顔認識結果に対する正誤の判断は行われる。しかし、顔認識結果が誤っていた場合、正しい顔認識結果を得ることができず、その画像データは追加学習に利用できないという課題がある。さらに、顔認識結果の正誤情報しか得ることができないため、認識結果をよりユーザの意図を反映したものに修正したうえで、追加学習に使用するといったことはできない。
【０００９】
本発明は、上記の点に鑑みてなされたもので、ユーザの意図を反映した追加学習を行えるようにすることにより、以降の画像認識においてユーザにとって最適な画像認識結果が得らえる画像認識プログラム、方法及び装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の画像認識プログラムの一態様は、予め学習した結果を用いて入力画像データのクラス認識を行うステップと、クラス認識結果を出力するステップと、クラス認識結果の出力に対するユーザの評価を受け前記評価から修正認識結果を設定するステップと、修正認識結果と入力画像データを用いて追加学習を行うステップと、をコンピュータに発揮させることを特徴とする。
【００１１】
また本発明の画像認識方法の一態様は、予め学習した結果を用いて入力画像データのクラス認識を行うステップと、クラス認識結果を出力するステップと、クラス認識結果の出力に対するユーザの評価を受け前記評価から修正認識結果を設定するステップと、修正認識結果と入力画像データを用いて追加学習を行うステップと、を有する。
【００１２】
また本発明の画像認識装置の一態様は、予め学習した結果を用いて入力画像データのクラス認識を行う認識部と、クラス認識結果を出力する認識結果出力部と、クラス認識結果の出力に対するユーザの評価を受け前記評価から修正認識結果を設定する認識結果修正部とを有し、認識部は修正認識結果と入力画像データを用いて追加学習を行うことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、追加する画像データの認識結果をユーザ評価に基づき修正した後に追加学習に利用するため、ユーザの意図を反映した追加学習を行うことができ、以降の画像認識においてユーザにとって最適な画像認識結果が得られるようになる。また、認識結果が誤っていた場合でも、正しい認識結果が得られるため、追加学習に用いる全ての画像データを、その正しい認識結果を有して追加学習に利用することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に係る画像認識装置の構成図。
【図２】ユーザによる評価の仕方を示す図。
【図３】二次元グラフィカルユーザインターフェースを用いた評価結果入力法の例を示す図。
【図４】三次元グラフィカルユーザインターフェースを用いた評価結果入力法の例を示す図。
【図５】三次元グラフィカルユーザインターフェースを用いた評価結果入力法の別の例を示す図。
【図６】クラス間の類似度を示す図。
【図７】ユーザによるオブジェクト的、感性語的評価の仕方を示す図。
【図８】感性語的クラス間の類似度を示す図。
【図９】実施形態に係る画像処理プログラムの例を示すフローチャート。
【図１０】実施形態に係る画像処理プログラムの別の例を示すフローチャート。
【図１１】実施形態に係る画像処理プログラムのさらに別の例を示すフローチャート。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための形態を図面を参照して説明する。
図１に本発明の実施形態に係る画像認識装置１０１の構成図を示す。
【００１６】
画像認識装置１０１は、識別部１０２と、認識結果出力部１０３と、認識結果修正部１０４とを有する。識別部１０２は、認識結果出力部１０３と接続している。認識結果出力部１０３は、表示装置１０５と接続している。表示装置１０５の例としてＣＲＴ，ＬＣＤなどが挙げられる。入力装置１０６は、認識結果修正部１０４と接続している。入力装置１０６の例として、マウスやキーボードなどが挙げられる。認識結果修正部１０４は、識別部１０２と接続している。
【００１７】
識別部１０２には、認識対象の画像データが入力される。ここで、画像データは、図示しない撮像部により撮像された画像データでもよいし、画像データベースに登録されている画像データでもよい。識別部１０２は、予め大量の画像データに基づく学習がなされており、その学習結果を用いて、上記入力された画像データのクラス認識処理を行う識別器である。クラス認識処理後、識別部１０２は、認識結果と入力画像データを認識結果出力部１０３に転送する。認識結果出力部１０３は、入力画像データと認識結果を所定のフォーマットで表示装置１０５に表示させる。ユーザは、この表示装置１０５に表示された認識結果と画像データを見て、画像認識装置１０１の認識結果を評価することができる。
【００１８】
ユーザは、この評価した結果を入力装置１０６によって入力する。評価結果の詳細な入力法に関しては後述する。入力装置１０６は、ユーザにより入力されたユーザ評価結果を認識結果修正部１０４に転送する。認識結果修正部１０４は、入力装置１０６からのユーザ評価結果に基づき、画像データの修正認識結果を設定し、その設定した修正認識結果を識別部１０２に転送する。識別部１０２は、転送された修正認識結果と入力画像データから学習データを設定する。ここで、学習データとは、入力画像データと入力画像データの修正認識結果とを合わせたものをいう。識別部１０２は、この学習データを用いて追加学習を行う。詳細な学習法に関しては後述する。学習結果は、識別部１０２のデータベースに蓄積される。このように、学習データを利用し、追加学習を行うことで、識別部１０２の認識精度が向上する。
【００１９】
次に、ユーザによる評価結果の入力法と認識結果修正部１０４による修正認識結果の設定について説明する。
【００２０】
ここでは、例として「川」が映っている画像データが入力された場合を想定する。この「川」が映っている画像データを新たに追加する場合、画像データが識別部１０２に入力され、識別部１０２が該入力画像データをクラス認識する。識別部１０２は、認識結果（例えば「川」クラス）と入力画像データを認識結果出力部１０３に転送し、認識結果出力部１０３は、それら認識結果と入力画像データを表示装置１０５に表示させる。
【００２１】
なお、本実施形態では認識結果は「川」クラスのみであるが、識別部１０２は、一つの画像データに対し複数の認識結果を取得することも可能である。その場合は、表示装置１０５に複数の認識結果が表示される。
【００２２】
表示装置１０５に認識結果として「川」クラスが表示されれば、ユーザは、「○」、つまり認識結果は正しいという評価結果を入力装置１０６により入力する。ユーザによる評価は、認識結果修正部１０４に入力される。この場合、認識結果を修正する必要はないため、認識結果修正部１０４は、認識結果は正しいという評価を識別部１０２に転送する。識別部１０２は、当初の認識結果である「川」クラスと入力画像データを学習データとして設定する。識別部１０２は、この学習データを用いて追加学習を行う。
【００２３】
図２に入力画像データ２０１が「川」の画像データであるにも関わらず、識別部１０２が「海」クラスと認識した場合を示す。識別部１０２の認識結果は前述のとおり、表示装置１０５に表示される。表示された認識結果に対して、ユーザは評価を与える。
【００２４】
最も簡単には評価２０３のように「×」、つまり正しい認識が行われていないと評価する方法がある。この認識が正しく行われていないというユーザによる評価結果は、認識結果修正部１０４に入力される。この場合、入力画像データ２０１を用いた学習データは作成されない。
【００２５】
これに対して本実施形態では、ユーザ評価結果の入力法として、評価２０４のように、ユーザが「川」クラスと正しく識別されるべきクラス情報を与える。ユーザによるこのような評価は、認識結果修正部１０４に入力される。この場合、認識結果修正部１０４は、入力装置１０６から転送されたユーザ評価から、修正認識結果を「川」クラスと設定し、該修正認識結果を識別部１０２に転送する。識別部１０２は、転送された修正認識結果「川」クラスと入力画像データ２０１を学習データとして設定する。そして識別部１０２は、この学習データを用いて追加学習を行う。
【００２６】
このように、ユーザによる正しい認識結果を受け、認識結果を修正したうえで学習データを作成し、追加学習を行うため、識別部１０２が認識結果を誤った場合であっても、入力画像を追加学習に用いることができる。
【００２７】
さらに別のユーザの評価法として、ユーザが「川」クラスだけではなく「海」クラスという認識も許容することができる。この場合、単純にそれぞれを１００％とするのではなく、評価２０５のように、「川」クラスと認識すべき割合として８０％与え、「海」クラスとの認識に対しても２０％という許容度を与える評価結果入力法を採ることも可能である。このユーザによる評価は、認識結果修正部１０４に入力される。
【００２８】
この場合、認識結果修正部１０４は、修正認識結果を「川」クラス８０％、「海」クラス２０％と設定する。認識結果修正部１０４は、このような修正認識結果を識別部１０２に転送する。識別部１０２は、転送されてきた修正認識結果と入力画像データ２０１を学習データとして設定し、この学習データを用いて追加学習を行う。
【００２９】
前述のとおり、「川」クラスと「海」クラスというように、複数のクラスの組み合わせ評価値をユーザが設定することも可能である。ここでは、全てのクラスの許容度が合計で１００％になるように設定する場合を記載したが、実質的には、各クラスの割合を設定すればよいので、「川」クラス１００％、「海」クラス４００％のように、合計で１００％を超えて設定することも可能である。
【００３０】
認識結果は、一つのクラスで表現できるとは限らず、複数のクラス認識結果の出力が適切な場合もある。このように一つの画像データに対して、複数のクラスの評価値を設定することで、一つの画像データの追加であっても複数の学習データの設定が可能となり、画像データ数が少ない場合でも十分な学習効果が得られる。例えば、今回の場合のように「川」８０％、「海」２０％とユーザ設定した場合、一つの画像データから「川」の学習データと「海」の学習データを設定できる。なお、複数のクラスをユーザが許容した場合の学習データの設定については後述する。
【００３１】
次に図３にて、認識結果出力部１０３が表示装置１０５にグラフィカルユーザインターフェース（以下ＧＵＩ）として認識結果を表示する場合について説明する。この場合、入力装置１０６は認識結果出力部１０３にも接続されており、ユーザ操作を認識結果出力部１０３に伝えることで、認識結果出力部１０３は、ユーザ操作に基づいた表示装置１０５の表示更新を行う。
【００３２】
図３（Ａ）に示すように、認識結果出力部１０３は、ＧＵＩ３０１内に識別部１０２による入力画像データの認識結果を表示する。ここでは、縦軸３０３を識別部１０２が認識したクラスの度合いとする。識別部１０２が入力画像データを「海」クラスと認識した場合、海の度合いが最も大きく、他の認識の割合が０と考えて、縦軸上の位置３０２に川の画像（入力画像データ）を表示する。このＧＵＩは２次元の平面状に表現されたものであり、横軸３０４に関して入力ボックス３０５が設けられ、ユーザはここに任意のクラスを設定できるようになっている。ここでは、例えばユーザは、図３（Ｂ）に示すように、横軸に「川」クラスを設定したとする。この時、横軸３０４は「川」クラスの認識度合いを示す座標軸となる。なお、位置３０２に表示される画像は、入力画像データそのままではなく、サムネイル等所定のサイズにリサイズされた画像とする。
【００３３】
次に、表示された画像をユーザが評価し、その評価結果を入力する方法について、図３（Ｂ）を用いて説明する。
【００３４】
識別部１０２による認識結果は、前述のように位置３０２に画像が表示されることで示されている。
【００３５】
ユーザが例えば、この画像に対して、「川」のみをクラスとして出力することを望む場合、入力装置１０６、例えばマウスのドラッグ操作等により、位置３０６に川の画像を移動する。また、「海」と「川」の双方のクラス出力を許容するならば、ユーザは、位置３０７のような、２次元平面上の適切な位置に川の画像を動かす。認識結果修正部１０４は、ＧＵＩ的に移動された位置をユーザ評価として数値化することで修正認識結果を得る。
【００３６】
なお、ここでは便宜上２次元平面上で考えたが、特に２次元である必要はなく、３次元、あるいは多次元でもよい。多次元を２次元、３次元に投影して表現する方法も考えることができる。今回はクラスとして「海」「川」の２種類のクラスを考えたが、３種類以上のクラスを用いて評価するＧＵＩを考えることも可能である。
【００３７】
また、識別部１０２は、一つの画像データに対して一つのクラスのみを認識結果として出力するとは限らず複数のクラスを認識結果として出力することも考えられる。そのため、認識結果を、予め２次元または多次元の適切な位置に配置したうえで、ユーザ評価を受け付けることも可能である。
【００３８】
このように、認識結果をＧＵＩに表示することで、認識結果が可視化されるため、ユーザにわかりやすく表示される。評価に際してもマウス等の装置で感覚的にユーザが好ましいと思う位置に移動することができるため、ユーザの意図が反映された評価を得ることができる。
【００３９】
図４に３つのクラスの場合を示す。識別部１０２による画像データの認識結果として「海」、「川」、「山」クラスが出力された場合、その順序や、信頼度等から、「海」、「川」、「山」クラスを３つの軸とする３次元上の位置４０１を決定することができる。これをユーザが評価してＧＵＩ的に位置４０２に移動する。認識結果修正部１０４は、この操作結果をユーザ評価として数値化することにより修正認識結果を得る。さらに認識されたクラスに対する特徴的、または代表的な画像を各軸上に表示することにより、ユーザが感覚的に移動しやすくすることも可能である。図５では、海の度合いを示す軸に対応して海の典型的画像５０３を、川の度合いを示す軸に対応して川の典型的画像５０４を、山の度合いを示す軸に対応して山の典型的画像５０５を、それぞれの軸の近傍に表示している。
【００４０】
次に、一つの画像データに対して、複数のクラスをユーザが許容した場合の学習データの設定について説明する。ユーザの複数のクラスに対する評価値から複数のクラスに重みを設定することを本実施形態では考える。例えばユーザが数値的に、又はＧＵＩ的に、「海」クラスに２、「川」クラスに７、「山」クラスに３という評価値を入力した場合、又は、「海」クラス２０％、「川」クラス７０％、「山」クラス３０％と評価値を入力した場合、対象としている入力画像データに対してそれぞれ「海」クラス２，「川」クラス７，「山」クラス３という重みを設定したうえで、学習データを設定する。ここでの重みは、例えば重みが５と設定された場合、今追加しようと考えている入力画像データを５つ同時に追加するという意味として用いる。
【００４１】
次に、学習データの設定において、認識されるクラス間の類似度を用いて算出できる値を重みとして設定することを考える。ここでクラス間の類似度とは、ユーザによる評価とは別に予め設定されたクラス間の類似度をいう。図６に示されるような表で考えることができる。この表は正規化されており、例えば「山」クラスと「山」クラスの類似度は１.０、「山」クラスと「川」クラスの類似度は０.２を意味している。
【００４２】
ユーザによる評価とクラス間の類似度を有効に利用するためには、双方の値を組み合わせて学習データを設定することも可能である。ある入力画像データに対して、「海」というクラスが認識結果として出力されたとし、「海」、「川」、「山」それぞれのクラスに対して、ユーザ評価により２：７：３の割合で評価がなされた場合を考える。「海」クラスに対する「海」、「川」、「山」、クラスの類似度はそれぞれ、１、０.８、０.１である。ここでは類似度の逆数を重みと考えることにより、「海」クラスに対しては、２／１の重み、「川」クラスに対しては７／０.８の重み、「山」クラスに対しては３／０.１の重みを設定するということになる。
【００４３】
なお。本実施例ではユーザ評価の割合と、クラス間の類似度とを「（ユーザの評価の割合）／（クラス間の類似度）」という関係式で定義したが、特にこの関係式である必要はなく、双方の値を用いた任意の関数式を定義して利用することができる。
【００４４】
このように各クラス間の意味の近さを基準として重みを設定し学習データを作成し、追加学習を行うことで、追加学習のための条件を数値として設定することが可能となり、より好ましい識別結果を得ることができる。
【００４５】
これまでは認識の対象として「海」、「山」、「川」等のオブジェクト的なものを想定したが、画像全体に対する感性語的なクラス、例えば「明るい」、「暗い」、「寒い」等のクラスを設定することも可能であり、さらにはその組み合わせ評価を行うことも可能である。ここでは、オブジェクト的なクラス、感性語的なクラスというような分類を「カテゴリ」と呼ぶ。カテゴリには、複数のクラスが含まれる。例えば、「オブジェクト」というカテゴリには、「海」、「川」、「山」などのクラスが含まれる。
【００４６】
クラス間の類似度を考える際にもオブジェクト間の類似度と同様、感性語間の類似度を定義することも可能であるし、オブジェクト的なクラスと感性語的なクラスとの間の類似度を設定することも可能である。また、オブジェクト的なクラスと、感性語的なクラスというようなタイプの異なるクラスに対して重みを設定することにより、オブジェクト的なクラスと感性語的なクラスのどちらを優先して認識させたいかという調整を行うこともできる。
【００４７】
具体的には、図７に示すように、オブジェクト的クラス、感性語的クラスそれぞれのカテゴリについて、含まれる複数のクラスについてユーザが評価の割合を設定する。例えば川の入力画像データ７０１に対して、識別部１０２の認識結果が「海」、「冷たい」というクラスであり、それが認識結果７０２として表示装置１０５に表示されたとする。これに対し、評価７０３のように、オブジェクト的クラスとしての評価を「川」クラス８０％、「海」クラス２０％とユーザ評価するとともに、評価７０４のように感性語的なクラスとしての評価を「冷たい」クラス７０％、「明るい」クラス３０％とユーザ評価して、入力装置１０６によって入力したとする。図６と同様、感性語的なクラスに対しても、クラス間の類似度を定義することが可能で、例えば図８のようなクラス間の類似度の表を作成しておくことができる。よってこの場合では、「川」クラスに対しては、８／０.８の重み、「海」クラスに対しては３／１の重み、「冷たい」クラスに対しては７／１の重み、「明るい」クラスに対しては３／０.４の重みを設定するということになる。
【００４８】
さらに、オブジェクト的なクラスと感性語的なクラスというカテゴリに対する優先度をオブジェクト的７０％、感性語的３０％と設定すると、この入力画像データに対してユーザによる評価と、クラス間の類似度の関係から、「川」クラスに対しては、０.７＊８／０.８の重み、「海」クラスに対しては０.７＊３／１の重み、「冷たい」クラスに対しては０.３＊７／１の重み、「明るい」クラスに対しては０.３＊３／０.４の重み、をそれぞれ設定するということになる。
【００４９】
認識対象は、例えばオブジェクト的なクラスと感性語的なクラスというように、異なるタイプの認識クラスとして認識されることが適切である場合もあり、そのような認識対象に対しても認識結果を出力できるような追加学習を行うことが可能となり、より好ましい認識結果を得ることができる。
【００５０】
次に、学習データを用いた追加学習について説明する。最も簡単には、学習に用いる学習データに対して、学習データに上述した重み係数を設定し、追加学習を行う方法が考えられる。これは設定された各クラスの重みに基づき、学習データに対して各クラスの重みから算出される値をかけ、各クラスへ学習データを追加したものと見なし、最初に学習したすべての学習データと合わせて追加学習する方法である。
【００５１】
また、予め学習データを用いて学習することで得られた認識条件に対して、追加された学習データとその認識条件との差分を考えて、認識条件を補正する方法も考えられる。例えば、「ＡＩ  Ｇｏｇｇｌｅｓ：追加学習機能を備えたウェアラブル画像アノテーション・リトリーバルシステム」電子情報通信学会論文誌Ｖｏｌ．Ｊ９３−Ｄ，Ｎｏ６，ｐ．８５７−８６９に用いられている方法を適用することが可能であり、以下の方法で追加学習を行うことができる。学習データの画像特徴量とクラス特徴量から正準相関分布を行うことにより、学習データから得られる分散共分散行列を
【００５２】
【数１】
2012174222.tif 000003
としたとき、
【００５３】
【数２】
2012174222.tif 000004
の固有方程式を解くことに帰着できるが、ｔ個の学習データが得られているとして、学習データの平均、相関行列、分散共分散行列をそれぞれ、ｍ、Ｒ、Ｃとしたとき、新たに画像データ｛ｘｔ＋１、ωｔ＋１｝が得られたとして、上記変数を
【００５４】
【数３】
2012174222.tif 000005
により更新する。ここで
【００５５】
【数４】
2012174222.tif 000006
αは追加された学習データに対する重みを表すものとする。ここで設定された重みを用いることにする。この（３）式を用いて（２）式の固有方程式を解くことにより、学習後の変換行列を求めることができる。この変換行列を用いて識別部１０２は認識処理を行う。
【００５６】
学習方法としては判別分析方法や、上述の正準相関分析による従来から用いられている線型的な方法の他、高次元空間に変換したうえでカーネルトリックを用いるような非線型的な手法、例えばカーネル判別分析や、カーネル正準相関分析法、ＳＶＭ（サポート・ベクタ・マシン）、ＭＫＬ（マルチプル・カーネル・ラーニング）等、任意の学習方法を用いることが可能である。学習においては通常、特徴空間をクラス数分に分割して、入力された特徴ベクトルが、空間内のどの領域に位置するかを決定するものであるが、線型的手法では、超平面によって分割され、境界付近の微妙な調整が困難であるため、カーネル法による学習方法が効果を奏すると考えられる。
【００５７】
なお、本画像認識装置１０１は、デジタルカメラ等の撮像装置に搭載したり、内視鏡に接続されたコントロールユニットに搭載することが可能である。この場合、撮像装置や内視鏡の撮像部は、撮像した画像データを識別部１０２に転送する。識別部１０２は、撮像画像データのクラス認識処理を行う。クラス認識処理後、識別部１０２は、認識結果と画像データを認識結果出力部１０３に転送する。認識結果出力部１０３は、撮像画像データと認識結果を表示装置１０５に表示させる。なお、表示装置１０５は、撮像装置に備えられたＬＣＤや、内視鏡コントロールユニットに接続されたＬＣＤ、ＣＲＴ等であり、ユーザの評価結果は、撮像装置に備えられたキーや内視鏡コントロールユニットに備えられたキーボード等の入力装置１０６によって入力される。入力装置１０６は、ユーザにより入力されたユーザ評価を認識結果修正部１０４に転送する。認識結果修正部１０４は、入力装置１０６からのユーザ評価に基づき撮像画像データの修正認識結果を設定し、修正認識結果を識別部１０２に転送する。識別部１０２は、転送された修正認識結果と撮像画像データから学習データを設定する。
【００５８】
また、上記実施形態の機能を実現する画像認識プログラムをユーザのパーソナルコンピュータや、サーバコンピュータに供給し、当該コンピュータがこの画像認識プログラムを実行することによって、上記機能を実現することも可能である。
【００５９】
図９は、この画像認識プログラムの例を示すフローチャートである。まず、液晶画面等の表示装置、マウス、キーボード等のユーザ評価を入力する装置を有するユーザのパーソナルコンピュータに本画像認識プログラムを適用した場合について説明する。コンピュータのＣＰＵは、ユーザにより指定されたコンピュータ内の記録装置、あるいはメモリーカード、ＣＤ−ＲＯＭ等の記録媒体に格納された画像データを、認識対象として読み出す（ステップＳ９０１）。そして、その読み出した画像データのクラス認識処理を行う（ステップＳ９０２）。ここで、該画像認識プログラムは、予め大量の画像データに基づく学習結果をデータベースとして有しており、該データベースを参照することにより識別器が認識処理を行う。このデータベースがコンピュータ内の記録装置に収納されているものとする。あるいは、インターネット等のネットワークを介して該コンピュータに接続されたデータベースを利用してクラス認識処理を行うものであってもよい。何れの場合も、ユーザ毎の追加の学習スペースが用意されて、そこに追加した学習結果を用いることが望ましい。すなわち、本実施形態による追加学習は、この追加学習スペースに対して行われる。
【００６０】
そして、ＣＰＵは、クラス認識結果を表示装置に表示させる（ステップＳ９０３）。表示装置には、画像データとクラス認識結果が表示される。そして、マウス等により入力されたユーザのクラス認識結果に対する評価が入力されると（ステップＳ９０４）、ＣＰＵは、その入力された評価から修正認識結果を設定する（ステップＳ９０５）。そして、その修正認識結果と上記読み出した画像データから学習データを作成し（ステップＳ９０６）、その作成した学習データを用いて追加学習を行う（ステップＳ９０７）。
【００６１】
また、ネットワーク上のサーバコンピュータに本画像認識プログラムを適用した場合について説明する。サーバコンピュータのＣＰＵは、インターネット等のネットワークを介してユーザのパーソナルコンピュータ、ＰＤＡ、スマートフォン等の情報機器から転送された画像データを、認識対象として読み出し（ステップＳ９０１）、その読み出した画像データのクラス認識処理を行う（ステップＳ９０２）。ここで、該画像認識プログラムは、予め大量の画像データに基づく学習結果をデータベースとして有しており、このデータベースがサーバコンピュータ内の記録装置に収納されているものとする。
【００６２】
そして、サーバコンピュータのＣＰＵは、クラス認識結果をネットワークを介してユーザの情報機器に転送し、当該情報機器が備える表示装置に表示させる（ステップＳ９０３）。ユーザの情報機器が備える入力装置のユーザ操作により、ネットワークを介して転送されたユーザのクラス認識結果に対する評価が入力されると（ステップＳ９０４）、サーバコンピュータのＣＰＵは、その入力された評価から修正認識結果を設定する（ステップＳ９０５）。そして、その修正認識結果と上記読み出した画像データから学習データを作成し（ステップＳ９０６）、その作成した学習データを用いて追加学習を行う（ステップＳ９０７）。
【００６３】
このように、全ユーザに共通のデータベースに対して追加学習を行うことで、全ユーザが利用するデータベースつまり識別器の性能を向上させることができる。
【００６４】
なお、サーバコンピュータの記録装置には、さらに、ユーザ毎の学習結果を記憶するデータベースを設け、クラス認識処理の際にはこのユーザ毎のデータベースも適応的に同時に、または、選択的に用い、また、追加学習も該ユーザ毎のデータベースに対して行うようにしても良い。こうすることで、各ユーザに特化したデータベースに基づく識別器が構成でき、各ユーザ所望のクラス認識がなされるようになる。
【００６５】
さらに、そのような全ユーザ共通のデータベースとユーザ毎のデータベースとを、ユーザ設定により適宜選択的に利用できるようにしても良い。
【００６６】
なお、本明細書においてコンピュータに各種の処理を行わせるためのプログラムに記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく並列的あるいは個別に実行される処理も含むものである。
【００６７】
次に、複数の画像データが追加される場合について説明する。この場合、画像データと修正識別結果から学習データを作成し逐次的に学習する。また、学習データを蓄積し、統合的に追加学習を行うことも可能である。
【００６８】
図１０は、複数の画像データを逐次的に処理する場合のフローチャートである。ステップＳ１００１乃至ステップＳ１００７は、図９のステップＳ９０１乃至ステップＳ９０７に相当する処理である。ユーザのパーソナルコンピュータ又はサーバコンピュータのＣＰＵは、ステップＳ１００８で、ユーザにより新しい画像データが指定されているか、即ち、学習データを作成していない画像データがまだあるか判定する。新しい画像データがあると判定された場合、ステップＳ１００１に戻り、ステップＳ１００１乃至ステップＳ１００８の処理が繰り返される。
【００６９】
このような処理方法では、１つのデータの追加では効果が現れない場合等、異なる種類、異なる評価のデータを逐次的に追加学習することにより識別器が参照するデータベースが次第に高性能化され、よりユーザの要求にマッチする画像認識を行うことができる。
【００７０】
また、図１１のように、複数の画像データを追加する場合に、複数の評価結果を蓄積しておいた上で、蓄積結果を統合的に処理してから、追加学習処理を行うことも可能である。ステップＳ１１０１乃至ステップＳ１１０４は、図９のステップＳ９０１乃至ステップＳ９０６に相当する処理である。ステップＳ１１０７で、ユーザのパーソナルコンピュータ又はサーバコンピュータのＣＰＵは、新しい画像データがまだあるか、即ち、学習データを作成していない画像データがまだあるか判定する。新しい画像データがあると判定された場合、ステップＳ１１０１に戻り、ステップＳ１１０１乃至ステップＳ１１０７の処理が繰り返される。そしてもはや新しい画像データがないと判定された場合、学習データを用いて追加学習を行う（ステップＳ１１０８）。
【００７１】
このような処理方法では追加したい画像データが複数ある場合有効で、各画像データに対する評価結果を統合して追加学習の条件として設定することで、処理の負荷の高い学習を１回で済ますことができるため、性能向上に加え、時間短縮の効果もある。
【００７２】
以上説明したような本実施形態によれば、ユーザにとって最適な画像認識を行うことができるようになる。また、認識結果が誤っていた場合でも、正しい認識結果が得られるため、追加する全ての画像データを、正しい認識結果を用いて追加学習に利用することができる。
【００７３】
また、修正認識結果は、ユーザの評価に基づきクラスとそのクラスの重みが設定され、追加学習は、クラスとそのクラスの重みを用いて行うことが可能である。これにより、ユーザ評価によりマッチするような追加学習を行うことができる。
【００７４】
また、修正認識結果は、ユーザの評価に基づき少なくとも２つのクラスが設定されることが可能である。認識対象や認識結果は、唯一のキーワードで表現されるとは限らず、複数の認識結果の出力が適切な場合がある。このような場合であっても、適切なクラス認識結果を追加学習に用いることが可能となる。また、一つの画像データの追加であっても、複数の学習データの設定が可能となり、画像データ数が少ない場合でも十分な学習効果が得られる。
【００７５】
また、修正認識結果は、クラス間の類似度に基づきクラスの重みが設定され、追加学習はクラスの重みを用いて行うことも可能である。このように各クラス間の意味の近さを基準として重みを設定し学習データを作成し、追加学習を行うことで、追加学習のための条件を数値として設定することが可能となり、より好ましい識別結果を得ることができる。
【００７６】
また、修正認識結果は、カテゴリ間の優先度に基づき重みが設定され、追加学習は、クラスの重みを用いて行うことが可能である。認識対象は、例えばオブジェクト的なクラスと感性語的なクラスというように、異なるタイプの認識クラスとして認識されることが適切である場合もあり、そのような認識対象に対しても認識結果を出力できるような追加学習を行うことが可能となり、より好ましい認識結果を得ることができる。
【００７７】
また、クラス認識の結果の出力をＧＵＩに表示することも可能である。このように、認識結果をＧＵＩに表示することで、認識結果が可視化されるためユーザにわかりやすく表示される。評価に際しても、マウス等の装置で感覚的にユーザが好ましいと思う位置に移動することができるため、ユーザの意図が反映された評価を得ることができる。
【００７８】
以上、実施形態に基づいて本発明を説明したが、本発明は上述した実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能なことは勿論である。また、上記実施形態には種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、効果が得られるのであればこの構成要件が削除された構成が発明として抽出され得る。
【符号の説明】
【００７９】
１０１…画像認識装置、  １０２…識別部、  １０３…認識結果出力部、  １０４…認識結果修正部、  １０５…表示装置、  １０６…入力装置。
【図１】
2012174222.tif 000007
【図２】
2012174222.tif 000008
【図３】
2012174222.tif 000009
【図４】
2012174222.tif 000010
【図５】
2012174222.tif 000011
【図６】
2012174222.tif 000012
【図７】
2012174222.tif 000013
【図８】
2012174222.tif 000014
【図９】
2012174222.tif 000015
【図１０】
2012174222.tif 000016
【図１１】
2012174222.tif 000017