(57)【特許請求の範囲】
【請求項１】
複数の画像とこれらの画像の識別信頼度および教師データとを記憶する画像データベースと、
この画像データベースに接続され、前記画像データベースに記憶された前記複数の画像および識別信頼度を用いて機械学習を行うプロセッサとを備え、
前記プロセッサは、
前記画像データベースに記憶されている画像であって、過去の機械学習に用いられた画像のうちの識別信頼度が低い画像および／または前記識別信頼度が高い画像の所定数を、機械学習のために用いる画像として優先的に選択し、
この選択された画像の中からランダムに選ばれた所定数を訓練データとし、この訓練データを用いて新たな機械学習を行うと共に、
前記選択された画像のうちの前記訓練データに選ばれた画像以外の画像をテストデータとし、このテストデータを用いて算出された機械学習特徴量と、前記テストデータに関する前記教師データとを用いて画像の識別精度を算出する機械学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械学習装置に関する。
【背景技術】
【０００２】
機械学習における画像の識別精度を向上させる手法として、例えば、追加学習および再学習と呼ばれる手法が知られている。ここで、追加学習とは、過去の機械学習により得られた機械学習パラメータを利用して追加の機械学習を行い、上記機械学習パラメータの改善を図る手法である。また、再学習とは、機械学習を再度実施する手法である。
【０００３】
このような追加学習等の手法を用いて画像の識別精度をよりいっそう向上させるものとして、機械学習に用いる訓練データを見直す手法がある。この手法では、既に機械学習に用いた画像のデータ集合とは異なるデータ集合に属する画像を画像データベースに追加登録し、この画像を用いて追加の機械学習をするものであり、これにより画像の識別精度の向上を期待することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、上述したような手法を備える機械学習装置を構築するためには、既に画像データベースに含まれる画像とは異なる画像を画像データベースに追加登録する必要がある。
【０００５】
しかしながら、脈絡無く単に異なる画像を上記画像データベースに追加登録するだけでは、画像の識別精度の向上を十分に期待することができず、たとえある程度の精度が得られたとしても、多くの画像の追加が必要があるため、必ずしも効果的に画像の識別精度を向上することができるとは言えない。
【０００６】
本発明は、以上のような事情に基づいてなされたものであり、その目的は、画像の識別精度を確実かつ迅速に向上させることができる機械学習装置を提供することにある。
【課題を解決するための手段】
【０００７】
本発明は、
（１）複数の画像とこれらの画像の画像特徴量とを記憶する画像データベースと、
この画像データベースに接続され、前記画像データベースに記憶された前記複数の画像および画像特徴量を用いて機械学習を行うプロセッサとを備え、
前記プロセッサは、
前記画像データベースに記憶されている画像のうち、過去の機械学習に用いられた画像以外の画像であって、前記過去の機械学習に用いられた画像に対する類似度が低い画像の所定数を、機械学習のために用いる画像として優先的に選択し、
この選択された画像を用いて新たな機械学習を行う機械学習装置、
（２）複数の画像とこれらの画像の識別信頼度とを記憶する画像データベースと、
この画像データベースに接続され、前記画像データベースに記憶された前記複数の画像および識別信頼度を用いて機械学習を行うプロセッサとを備え、
前記プロセッサは、
前記画像データベースに記憶されている画像であって、過去の機械学習に用いられた画像のうちの識別信頼度が低い画像および／または前記識別信頼度が高い画像の所定数を、機械学習のために用いる画像として優先的に選択し、
この選択された画像を用いて新たな機械学習を行う機械学習装置、並びに
（３）複数の画像とこれらの画像の画像特徴量および識別信頼度とを記憶する画像データベースと、
この画像データベースに接続され、前記画像データベースに記憶された前記複数の画像、画像特徴量および識別信頼度を用いて機械学習を行うプロセッサとを備え、
前記プロセッサは、
前記画像データベースに記憶されている画像のうち、過去の機械学習に用いられた画像以外の画像であって前記過去の機械学習に用いられた画像に対する類似度が低い画像、過去の機械学習に用いられた画像のうちの識別信頼度が低い画像、および前記過去の機械学習に用いられた画像のうちの識別信頼度が高い画像からなる群より選択される少なくとも１種の画像の所定数を、機械学習のために用いる画像として優先的に選択し、
この選択された画像を用いて新たな機械学習を行う機械学習装置
に関する。
【０００８】
なお、本明細書において「画像」とは、画像データ、および映像データから分解された静止画データを含む概念であり、「画像データ」とも称する。「画像特徴量」とは、画像を元に算出される、画像中の特定の領域の特徴を示す数値である。また、「類似度」とは、複数の画像における上記画像特徴量どうしの距離に相関する数値であり、例えば、特徴量の距離の逆数である。また、「識別信頼度」とは、画像の識別結果として得られた機械学習特徴量の確からしさを意味する。ただし、上記機械学習特徴量とは、画像の識別により得られた当該画像の内容を示す情報を指す。
【発明の効果】
【０００９】
本発明は、画像の識別精度を確実かつ迅速に向上させることができる機械学習装置を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態を示す概略ブロック図である。
【図２】図１のハードウェアの構成の一例を示す概略図である。
【図３】図１の画像データベースのデータの構成例を示す概略図である。
【図４】図１のサーバ計算機が機械学習する際に行う処理を示す概略フローチャートである。
【図５】図４の処理の際の表示画面等の一例を示す概略図である。
【図６】図１の機械学習装置を用いて機械学習特徴量を算出する処理を示す概略フローチャートである。
【図７】図６の処理の際の表示画面等の一例を示す概略図である。
【図８】図１の機械学習装置を用いて追加学習を実施する処理を示す概略フローチャートである。
【図９】図８の処理の際の表示画面等の一例を示す概略図である。
【発明を実施するための形態】
【００１１】
以下、本発明に係る機械学習装置の一実施形態について図面を参照して説明するが、本発明は、当該図面に記載の実施形態にのみ限定されるものではない。
【００１２】
図１は、本発明の一実施形態を示す概略ブロック図である。当該機械学習装置１は、図１に示すように、概略的に、画像記憶装置１０と、入力装置２０と、表示装置３０と、サーバ計算機４０とにより構成されている。
【００１３】
画像記憶装置１０は、画像データ、映像データ等を保存し、要求に応じて出力する記憶媒体である。この画像記憶装置１０は、例えば、コンピュータ内蔵のハードディスクドライブや、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのネットワークで接続されたストレージシステム等を採用することができる。また、画像記憶装置１０は、後述する記憶装置４２に含まれていてもよい。画像記憶装置１０から出力された画像または映像は、いずれも後述するサーバ計算機４０の画像入力部４０１に入力される。なお、画像記憶装置１０に保存される画像データ等は、どのような形式のデータであってもよい。
【００１４】
入力装置２０は、ユーザの操作を後述するサーバ計算機４０に伝えるための入力インタフェースである。この入力装置２０としては、例えば、マウス、キーボード、タッチデバイス等を採用することができる。
【００１５】
表示装置３０は、サーバ計算機４０の処理条件、識別結果、ユーザとの対話的操作などに関する情報を表示する。この表示装置３０としては、例えば、液晶ディスプレイなどの出力インタフェース等を採用することができる。なお、上述した入力装置２０および表示装置３０は、いわゆるタッチパネル等を用いることによって一体化されていてもよい。
【００１６】
サーバ計算機４０は、予め設定された処理条件またはユーザにより指定された処理条件に基づき、画像記憶装置１０から入力された画像に含まれる情報を抽出し、この抽出した情報および画像を保持し、ユーザにより指定された識別条件に基づいて所望の画像を識別し、上記処理条件に基づいて画像データベース４２２に記憶されている画像のアノテーションの支援を行い、画像データベース４２２に記憶されているデータを用いて機械学習を行う。
【００１７】
このサーバ計算機４０は、画像入力部４０１、画像登録部４０２、特徴量抽出部４０３、特徴量登録部４０４、画像識別部４０５、識別結果登録部４０６、画像データベース４２２、画像検索部４０７、精度評価部４０８、学習条件入力部４０９、機械学習制御部４１０、機械学習パラメータ保持部４２３、識別内容入力部４１１、および識別結果統合部４１２を有している。
【００１８】
画像入力部４０１は、画像記憶装置１０から画像データ、映像データ等を読み出し、このデータをサーバ計算機４０内部で使用するデータ形式に変換する。画像記憶装置１０から映像データを読み出す場合、画像入力部４０１は、映像（動画データ形式）をフレーム（静止画データ形式）に分解する動画デコード処理を行う。得られた静止画データ（画像）は、後述する画像登録部４０２、特徴量抽出部４０３、画像識別部４０５に送られる。
【００１９】
画像登録部４０２は、画像入力部４０１から受け付けた画像を画像データベース４２２に登録する。特徴量抽出部４０３は、画像入力部４０１から受け付けた画像の特徴量を抽出する。特徴量登録部４０４は、特徴量抽出部４０３で抽出された画像の特徴量を画像データベース４２２に登録する。
【００２０】
画像識別部４０５は、後述する機械学習パラメータ保持部４２３に保持された機械学習パラメータを読み込み、この読み込んだ機械学習パラメータに基づき画像入力部４０１から受け付けた画像を識別（機械学習特徴量および識別信頼度の算出）する。識別結果登録部４０６は、画像識別部４０５で識別された画像識別結果を後述する画像データベース４２２に登録する。
【００２１】
画像データベース４２２は、複数の画像とこれらの画像の画像特徴量とを記憶する。なお、この画像データベース４２２に記憶されるデータおよび機械学習の詳細については、後述する。
【００２２】
識別内容入力部４１１は、入力装置２０を介して入力された識別対象の画像を受け付ける。識別結果統合部４１２は、識別内容入力部４１１が受け付けた識別対象の画像を画像識別部４０５に送り、画像識別部４０５による画像識別結果を取得し、この画像識別結果と上記識別対象の画像とを統合すると共に、統合された結果を表示装置３０に送る。なお、識別対象の画像は、入力装置２０を介して入力された画像ではなく、画像入力部４０１を経由して取得した画像記憶装置１０内の画像であってもよい。この場合、識別内容入力部４１１では、画像記憶装置１０に保存された画像のファイルパスが入力される。
【００２３】
画像検索部４０７は、機械学習制御部４１０から検索クエリとなる画像（以下、「クエリ画像」ともいう）を受け付け、画像データベース４２２に登録された画像に対する類似画像検索、すなわち類似度の算出を行う。類似画像検索の結果は機械学習制御部４１０に送られる。
【００２４】
精度評価部４０８は、機械学習制御部４１０からクエリ画像の識別結果の正解値と画像識別部４０５による画像識別結果とを受け付け、これらを用いて画像の識別精度を算出する。なお、この算出された画像の識別精度は、機械学習制御部４１０にて表示装置３０による表示に適した形式に変換された後、表示装置３０にて表示される。
【００２５】
学習条件入力部４０９は、入力装置２０を介して入力された機械学習条件を受け付け、これを機械学習制御部４１０に送る。
【００２６】
機械学習制御部４１０は、学習条件入力部４０９から受け付けた機械学習条件に従い、画像データベース４２２から受け付けた画像およびメタデータ、画像検索部４０７から受け付けた類似画像検索結果を用いて機械学習を行い、この機械学習によって求められた機械学習パラメータを使用した場合の画像の識別精度を精度評価部４０８に算出させる。また、機械学習制御部４１０は、機械学習パラメータ保持部４２３に保持された機械学習パラメータを使用した場合の画像の識別精度を精度評価部４０８に算出させる。さらに、機械学習制御部４１０は、学習条件入力部４０９から受け付けた条件に従い、機械学習パラメータ保持部４２３に保持された機械学習パラメータを更新する。
【００２７】
ここで、上記サーバ計算機４０としては、例えば、一般的な計算機を採用することができる。このサーバ計算機４０のハードウェアは、図２に示すように、概略的に、記憶装置４２と、プロセッサ４１とにより構成されている。なお、記憶装置４２およびプロセッサ４１は、サーバ計算機４０に設けられたネットワークインターフェース装置（ＮＩＦ）４３を介して画像記憶装置１０に接続されている。
【００２８】
記憶装置４２は、後述する各ステップを実行するための処理プログラムを記憶する処理プログラム記憶部４２１と、複数の画像並びにこれらの画像の画像特徴量および／または識別信頼度等を記憶する画像データベース４２２と、画像識別部４０５で算出された機械学習パラメータを記憶する機械学習パラメータ保持部４２３とを有している。この記憶装置４２は、任意の種類の記憶媒体によって構成することができ、例えば、半導体メモリ、ハードディスクドライブ等を含んでいてもよい。
【００２９】
プロセッサ４１は、記憶装置４２に接続され、処理プログラム記憶部４２１に記憶された処理プログラムを読み込み、この読み込んだ処理プログラムに記述された命令に従って、サーバ計算機４０における上述した各部の処理（演算）を実行する。なお、このプロセッサ４１において、画像データベース４２２に記憶された複数の画像、並びに画像特徴量および／または識別信頼度を用いて機械学習が行われる。このプロセッサ４１としては、上記処理を実行可能なセントラルプロセッシングユニット（ＣＰＵ）を有していれば特に限定されず、上記ＣＰＵ以外にグラフィクスプロセッシングユニット（ＧＰＵ）を含んでいてもよい。
【００３０】
次に、画像データベース４２２に記憶されるデータの構成について説明する。図３は、図１の画像データベースのデータの構成例を示す概略図である。画像データベース４２２は、図３に示すような画像データ管理情報３００を含んでいる。この画像データ管理情報３００におけるデータの構成は、本発明を実施することができる限り特に限定されず、例えば処理プログラムに応じてフィールド等を適宜追加してもよい。
【００３１】
本実施形態では、画像データ管理情報３００が、画像ＩＤフィールド３０１、ファイル名フィールド３０２、画像データフィールド３０３、属性１特徴量フィールド３０４、属性２特徴量フィールド３０５、機械学習特徴量フィールド３０６、識別信頼度フィールド３０７、教師データフィールド３０８および学習管理フィールド３０９を有している。
【００３２】
画像ＩＤフィールド３０１は、各画像データの識別情報（以下、「画像ＩＤ」ともいう）を保持する。ファイル名フィールド３０２は、画像記憶装置１０から読み込まれた画像データのファイル名を保持する。画像データフィールド３０３は、画像記憶装置１０から読み込まれた画像データをバイナリ形式で保持する。
【００３３】
属性１特徴量フィールド３０４および属性２特徴量フィールド３０５のそれぞれは、各画像における該当する種類の特徴量を保持する。上記特徴量としては、複数の画像の中から各画像を特定することができる量であれば特に限定されず、例えば、属性１特徴量フィールド３０４に例示するような固定長のベクトルデータ、属性２特徴量フィールド３０５に例示するようなスカラーデータのいずれであってもよい。
【００３４】
機械学習特徴量フィールド３０６は、画像識別部４０５により算出された機械学習特徴量を保持する。機械学習特徴量は、ベクトルデータであってもく、スカラーデータであってもよい。識別信頼度フィールド３０７は、画像識別部４０５により算出された識別結果（機械学習特徴量）の識別信頼度を保持する。上記識別信頼度は、例えば、識別信頼度フィールド３０７に例示するような０以上１以下のスカラーデータである。教師データフィールド３０８は、教師データを保持する。この教師データは、ベクトルデータであってもよく、スカラーデータであってもよい。
【００３５】
学習管理フィールド３０９は、画像データベース４２２に記憶された各画像の機械学習への適用状況に関する管理情報を保持する。学習管理フィールド３０９は、機械学習において、例えば訓練データ若しくはテストデータとして使用されるデータであるか、または過去の機械学習において用いられていないデータであるかを記録するために使用される。
【００３６】
＜機械学習における処理＞
次に、当該機械学習装置１が行う処理の流れについて、図４を参照して説明する。図４は、図１のサーバ計算機が機械学習する際に行う処理を示す概略フローチャートである。本実施形態では、機械学習手法として深層機械学習法を用いた例を示す。
【００３７】
まず、サーバ計算機４０の画像入力部４０１において、画像記憶装置１０に保存されている画像の中から処理を行う画像データ等を読み出し、データ形式を適宜変換して各種処理が可能な画像を取得する（ステップＳ１０２）。
【００３８】
次に、画像登録部４０２が画像入力部４０１から受け付けた画像をバイナリ形式で画像データ管理情報３００の画像データフィールド３０３に登録する（ステップＳ１０３）。この際、画像ＩＤフィールド３０１の画像ＩＤを更新するとともに、ファイル名フィールド３０２に画像ファイルのファイル名を記録する。
【００３９】
次に、特徴量抽出部４０３が、画像入力部４０１より受け付けた画像の画像特徴量を抽出する（ステップＳ１０４）。次に、特徴量登録部４０４が、特徴量抽出部４０３で抽出された特徴量を画像データ管理情報３００の属性１特徴量フィールド３０４に記録する（ステップＳ１０５）。
【００４０】
次いで、上述したステップＳ１０２〜Ｓ１０５の処理を繰り返し、機械学習に用いる全ての画像について行う（ステップＳ１０１、Ｓ１０６）。この機械学習に用いる画像は、画像記憶装置１０に保持された複数の画像の全てであってもよく、上記複数の画像のうちの指定された一部であってもよい。
【００４１】
次に、画像検索部４０７が、画像データベース４２２に登録されたいずれか一つの画像をクエリ画像とし、画像データベース４２２に登録されたその他の画像に対して類似画像検索を行い類似度を算出する（ステップＳ１０７）。上記類似度としては、例えば、画像データ管理情報３００中の属性１特徴量３０４のユークリッド距離を使用する。なお、機械学習制御部４１０において、得られた類似度が閾値以上である画像を類似画像とし、これを画像データ管理情報３００の属性２特徴量フィールド３０５に、カテゴリを示す数値または文字列として記録する。
【００４２】
次に、機械学習制御部４１０が、機械学習に用いる画像を訓練データとテストデータとに選択する（ステップＳ１０８）。この際、機械学習制御部４１０は、図３に示すように、画像データ管理情報３００の学習管理フィールド３０９に、例えば選択された結果が訓練データである場合は「Ｔｒａｉｎ」、上記結果がテストデータである場合は「Ｔｅｓｔ」の文字列を記録する。なお、学習管理フィールド３０９には、訓練データおよびテストデータの区別を示すものであれば特に限定されず、上記区別を示す数値等を記録してもよい。
【００４３】
次に、機械学習制御部４１０、ユーザによるアノテーションの支援を実施する（ステップＳ１０９）。具体的には、画像データベース４２２に登録された画像のうち、訓練データまたはテストデータとして選択された画像について、当該画像を説明するメタデータを取得し、画像データ管理情報３００の教師データフィールド３０８に記録する。
【００４４】
この際、アノテーションを行う画像のメタデータを保持するデータファイルが画像記憶装置１０に存在する場合、機械学習制御部４１０は、このデータファイルを取得し、そのデータを画像データ管理情報３００中の上記画像の教師データフィールド３０８に記録してもよい。
【００４５】
他方、アノテーションを行う画像のメタデータを保持するデータファイルが画像記憶装置１０に存在しない場合、機械学習制御部４１０は、アノテーションが未実施の画像を表示装置３０に表示させ、ユーザが入力装置２０を介して入力した上記画像を説明するテキストデータまたは数値データを受け取り、このデータを上記画像の教師データフィールド３０８に記録してもよい。ここで、上述した属性２特徴量が同一の画像については、いずれかの画像の教師データフィールド３０８に上記データが入力された時点で、上記同一の画像の教師データフィールド３０８に同一のデータを記録してもよい。これにより、ユーザによるアノテーション回数を低減することができる。
【００４６】
なお、図３では教師データフィールド３０８に数値が記録される場合の例を示しているが、教師データフィールド３０８に記録されるデータは、数値ベクトル、文字列、文字列ベクトル等であってもよい。
【００４７】
次に、画像識別部４０５にて機械学習を行う。この機械学習は、まず画像識別部４０５が機械学習パラメータ保持部４２３に保持されている機械学習パラメータ、および画像データ管理情報３００中の訓練データに係る情報を取得し、この取得した機械学習パラメータおよび訓練データに係る情報を用いて行われる（ステップＳ１１０）。ここで、機械学習の手法としては、公知の技術を用いることができる。上記手法としては、例えば、画像識別部４０５が、ユーザにより指定されたネットワークモデルに基づく識別器を構成し、画像データ管理情報３００に記録されている画像を入力として受け付けた際の出力が上記入力した画像の画像ＩＤに対応する教師データフィールド３０８に記録された値となるように、ネットワークモデル内の各層における重み係数の最適値を算出する手法等が挙げられる。この場合、上記重み係数の最適値を算出する方法としては、例えば、誤差関数を使用し、確率的勾配降下法などを用いて誤差関数の極小解を求める方法等を使用することができる。
【００４８】
次に、画像識別部４０５が、ユーザにより指定されたネットワークモデルと、得られた上記重み係数の最適値とを用いてテストデータにおける各画像の機械学習特徴量を算出すると共に、精度評価部４０８が、算出された機械学習特徴量と、教師データフィールド３０８に保持されている当該画像の教師データとを用いて画像の識別精度を算出する（ステップＳ１１１）。この画像の識別精度は、機械学習制御部４１０により表示装置３０に表示される。なお、「画像の識別精度」とは、機械学習に用いた全てのテストデータの数に対する、算出された機械学習特徴量と教師データフィールド３０８に保持された教師データとが一致したテストデータの数の割合を意味している。
【００４９】
次に、機械学習制御部４１０は、機械学習パラメータ保持部４２３に保持された機械学習パラメータを、上述の機械学習で用いた機械学習パラメータに更新する（ステップＳ１１２）。
【００５０】
ここで、当該機械学習装置１を用いて行う機械学習の操作の一例について、図５を参照して説明する。図５は、図４の処理の際の表示画面等の一例を示す概略図である。この図では、表示装置３０の表示画面中に、テキスト入力フィールド５０１、５０２、５０３、５０６、画像表示部５０５、数値表示部５０９、アノテーション開始ボタン５０４、メタデータ登録ボタン５０７および機械学習開始ボタン５０８が含まれている。
【００５１】
まず、ユーザは、キーボード（入力装置２０）を用い、画像記憶装置１０中に保持されている機械学習の訓練データおよびテストデータの候補となる複数の画像ファイルのパスが記載されているリストファイルのパスをテキスト入力フィールド５０１に入力する。次いで、例えばＥｎｔｅｒキーのクリックにより上記リストファイルのパスの入力が完了すると、これに続いて図４の処理が開始され、ステップＳ１０１からＳ１０８までが順次実行される。
【００５２】
なお、リストファイルが、画像ファイルのパスとその画像を説明する一つまたは複数のメタデータから構成されるベクトルのリストとして記載されている場合、ステップＳ１０３において、画像登録部４０２は、画像データおよびメタデータの両者を画像データベース４２２に登録する。この際、メタデータは、画像データ管理情報３００の教師データフィールド３０８に登録される。他方、リストファイルが画像ファイルのパスのリストとして記載されている場合、上述のメタデータの登録は実施しない。
【００５３】
次いで、ユーザがマウス（入力装置２０）を用いてアノテーション開始ボタン５０４をクリックすることで、ステップＳ１０９のアノテーションが開始される。この際、ステップＳ１０８にて訓練データまたはテストデータとして選択された画像のうちの教師データフィールド３０８が「Ｎｕｌｌ」となっている画像が画像表示部５０５に順次表示され、ユーザによるアノテーションを待ち受ける。
【００５４】
次いで、ユーザがキーボード（入力装置２０）を用いて画像表示部５０５に表示された画像を説明する文字列または数字列をテキスト入力フィールド５０６に入力し、マウス（入力装置２０）を用いてメタデータ登録ボタン５０７をクリックすることで、入力した文字列等が画像表示部５０５に表示された画像の画像ＩＤに対応する教師データフィールド３０８に記録される。以上の操作を繰り返し、処理が必要な全ての訓練データおよびテストデータについて行うことでアノテーション（ステップＳ１０９）が完了する。
【００５５】
次いで、ユーザは、テキスト入力フィールド５０２および５０３に機械学習パラメータの設定ファイルのパスを入力する。具体的には、例えば機械学習として深層機械学習を使用する場合、テキスト入力フィールド５０２には、ネットワークモデルが記述されたファイルのパスを入力し、テキスト入力フィールド５０３には、機械学習によって求められる各ネットワーク内の重み係数が記述されたファイルを保存するためのパスを入力する。
【００５６】
次いで、ユーザが機械学習開始ボタン５０８をマウス（入力装置２０）によりクリックすることで、機械学習（ステップＳ１１０）が開始される。このとき、学習条件入力部４０９が機械学習開始ボタン５０８のマウス（入力装置２０）によるクリックを受け付けると、機械学習制御部４１０は、テキスト入力フィールド５０２に入力されたファイルパスに基づき、機械学習パラメータ保持部４２３に予め記録されたネットワークモデルファイルを読み込み、テストデータおよび訓練データを用いて機械学習を実施する。次いで、上述の機械学習が完了すると、精度評価部４０８にて算出された画像の識別精度が数値表示部５０９に表示される。
【００５７】
＜画像識別における処理＞
次に、上述の機械学習後の当該機械学習装置１が行う画像識別（機械学習特徴量等の算出）の処理の流れについて、図６を参照して説明する。図６は、図１の機械学習装置を用いて機械学習特徴量を算出する処理を示す概略フローチャートである。
【００５８】
まず、識別内容入力部４１１において、入力装置２０を介してユーザが入力した識別内容を取得する（ステップＳ２０１）。上記識別内容には、識別対象の画像および識別条件が含まれる。例えば、ユーザが識別対象の画像として画像ファイルを入力した場合、入力された画像データのバイナリ値が識別対象の画像となる。他方、ユーザが識別対象の画像として画像記憶装置１０に保存された画像のファイルパスを入力した場合、画像入力部４０１を介して画像記憶装置１０から読み込まれた画像のバイナリ値が識別対象の画像となる。
【００５９】
次に、識別結果統合部４１２が、識別内容入力部４１１より受け付けた識別対象の画像および識別条件を画像識別部４０５に送る（ステップＳ２０２）。次に、画像識別部４０５が、機械学習パラメータ保持部４２３に保持されている機械学習パラメータを取得し、この機械学習パラメータおよび上記識別条件に従って、取得した画像の機械学習特徴量、または機械学習特徴量および識別信頼度を算出する（ステップＳ２０３）。
【００６０】
次に、識別結果登録部４０６が、画像識別部４０５から、画像のファイル名、画像データ、機械学習特徴量等を取得し、これらを画像データベース４２２に記録する（ステップＳ２０４）。ただし、ステップＳ２０１において、画像データのバイナリ値を取得した場合は、ファイル名は記録されない。
【００６１】
上記記録の際、画像データ管理情報３００の画像ＩＤフィールド３０１における画像ＩＤは更新され、画像のファイル名、画像データ、機械学習特徴量および識別信頼度は、それぞれ更新された画像ＩＤに対応するファイル名フィールド３０２、画像データフィールド３０３、機械学習特徴量フィールド３０６および識別信頼度フィールド３０７に記録される。なお、識別結果登録部４０６は、機械学習パラメータのバージョン情報を取得し、画像データ管理情報３００に新たなフィールドを追加してこのフィールドに上記バージョン情報を記録するようにしてもよい。
【００６２】
次に、識別結果統合部４１２が、算出された機械学習特徴量を画像識別部４０５から取得し、取得した機械学習特徴量と上記識別対象の画像とを統合して表示内容を構成（ステップＳ２０５）した後、表示装置３０が、識別結果統合部４１２から受け付けた上記表示内容を表示する（ステップＳ２０６）。
【００６３】
ここで、上述の機械学習後の当該機械学習装置１を用いて行う画像識別（機械学習特徴量等の算出）の操作の一例について、図７を参照して説明する。図７は、図６の処理の際の表示画面等の一例を示す概略図である。この図では、表示装置３０の表示画面中に、テキスト入力フィールド６０１、ドロップダウンリスト６０２、画像識別開始ボタン６０３、画像表示部６０４および機械学習特徴量表示部６０５が含まれている。
【００６４】
まず、ユーザは、画像識別を行う画像のファイルパスをテキスト入力フィールド６０１に入力する。ここでは画像識別の対象となる画像のファイルは、画像記憶装置１０に保存されているものとするが、表示画面に画像データの貼付領域を搭載し、上記画像記憶装置１０以外の記憶装置となる例えばメモリ領域（いわゆるクリップボード）に保持された画像データそのものを上記貼付領域に貼り付けられるようにしてもよい。
【００６５】
また、ドロップダウンリスト６０２には、いずれのか機械学習パラメータを使用して算出することが可能な機械学習特徴量の種類の一覧が表示されており、ユーザは、マウス（入力装置２０）を用い、上記一覧の中から算出対象とする一つ以上の機械学習特徴量の種類を選択する。なお、この例では、図５を参照して説明した機械学習パラメータの設定ファイルのうち、ネットワークモデルが記述されたファイルを基に、候補となる機械学習特徴量の種類の一覧が構成される。
【００６６】
次いで、ユーザが画像識別開始ボタン６０３をマウス（入力装置２０）によりクリックし、識別内容入力部４１１が画像識別開始ボタン６０３の上記マウスによるクリックを受け付けると、テキスト入力フィールド６０１でファイルパスを指定された画像が読み込まれると共に、ドロップダウンリスト６０２で選択された機械学習特徴量の種類に対応する機械学習パラメータが読み込まれ（ステップＳ２０１）、機械学習特徴量の算出が開始される（ステップＳ２０２）。なお、この例では、図５を参照して説明した機械学習パラメータの設定ファイルのうち、ネットワークモデルが記述されたファイルと、図４のフローにより更新された各ネットワーク内の重み係数が記述されたファイルとの両方が読み込まれる。
【００６７】
次いで、画像識別が完了して機械学習特徴量が算出されると、画像表示部６０４に機械学習特徴量の算出対象とした画像が表示されると共に、機械学習特徴量表示部６０５に機械学習特徴量が表示される。なお、深層機械学習を用いた画像識別器としてマルチクラス分類を行う用途では、機械学習特徴量表示部６０５に画像を説明するテキストが表示されてもよく、多層からなる画像識別器のうちの中間の層における計算結果が数値ベクトル形式で表示されてもよい。
【００６８】
＜追加の機械学習における処理＞
次に、当該機械学習装置１が行う機械学習パラメータの改善を目的とした追加の機械学習（以下、「追加学習」ともいう）に関する処理の流れについて、図８を参照して説明する。図８は、図１の機械学習装置を用いて追加学習を実施する処理と示す概略フローチャートである。なお、本実施形態で用いる未使用の画像は、学習管理フィールド３０９の値が、「Ｔｒａｉｎ」または「Ｔｅｓｔ」となっていない画像である。上記未使用の画像は、例えば、前回の機械学習の後に行われた画像識別において画像データベース４２２に新たに追加記録された画像等である。
【００６９】
まず、機械学習制御部４１０が、画像データベース４２２に保持された画像のうちの機械学習に未使用の画像を選択する（ステップＳ３０１）。具体的には、機械学習制御部４１０は、画像データ管理情報３００の学習管理フィールド３０９を参照し、機械学習に未使用である一または二以上の画像の画像ＩＤを画像ＩＤフィールド３０１より選択する。
【００７０】
次に、機械学習制御部４１０が選択した画像に対し、特徴量抽出部４０３が上記画像の画像特徴量を抽出（ステップＳ３０３）した後、特徴量登録部４０４が上記画像特徴量を画像データ管理情報３００の属性１特徴量フィールド３０４に記録する（ステップＳ３０４）。ここで、上記ステップＳ３０３およびステップＳ３０４を、ステップＳ３０１で選択した全ての画像の処理が終了するまで繰り返す（ステップＳ３０２、Ｓ３０５）。なお、上述の処理の内容はステップＳ１０４、Ｓ１０５と同様である。
【００７１】
次に、画像検索部４０７が、ステップＳ３０１で選択された画像のいずれか一つをクエリ画像として、画像データベース４２２に保持された他の画像に対して類似画像検索を実施し、類似度を求める（ステップＳ３０６）。なお、類似画像検索を行う方法は、上述したステップＳ１０７での方法と同様の方法である。次いで、機械学習制御部４１０は、画像検索部４０７により求められた類似度を取得し、この類似度が閾値以上である画像を類似画像とし、これを画像データ管理情報３００の属性２特徴量フィールド３０５に、カテゴリを示す整数値または文字列として記録する。
【００７２】
次に、画像検索部４０７が、ステップＳ３０１で選択された画像のいずれか一つをクエリ画像として、画像データベース４２２に保持された他の画像のうち既に機械学習に使用済みの全ての画像に対して類似画像検索を実施し、上記選択された画像の中から類似度が低い画像を抽出する（ステップＳ３０７）。
【００７３】
次に、機械学習制御部４１０が、ステップＳ３０６において得られた類似度と画像データ管理情報３００の識別信頼度フィールド３０７に保持された識別信頼度とを取得し、これらを基に追加学習のための訓練データおよびテストデータを選択する（ステップＳ３０８）。
【００７４】
ここで、追加学習のための訓練データおよびテストデータを選択する機械学習制御部４１０での処理について説明する。追加学習は、一般に、画像識別の運用開始後に、機械学習による画像の識別精度の向上を目的として行われるものであり、ステップＳ３０１で抽出される画像の数は通常大規模である。そのため、全ての画像に対してアノテーションを実施することは容易ではない。そこで、ユーザによるアノテーションの回数を必要十分な回数に抑えつつ、同時に追加学習の効果を高めるため、以下に示す処理１、処理２若しくは処理３、またはこれらの処理を任意の重みづけで組み合わせて画像（訓練データおよびテストデータ）を選択する処理４が有効である。以下、各処理について説明する。
【００７５】
［処理１］
処理１は、画像データベース４２２に記憶されている画像のうち、過去の機械学習に用いられた画像以外の画像であって、上記過去の機械学習に用いられた画像に対する類似度が低い画像の所定数を、追加学習（機械学習）のために用いる画像として優先的に選択する処理である。具体的には、この処理１は、ステップＳ３０７において取得した類似画像検索結果の類似度の昇順に画像ＩＤをソートし、上位から予め設定された件数を抽出（類似度が低い画像を優先的に抽出）した後、その中からランダムに所定数の訓練データを選択する。なお、抽出された画像のうち、訓練データに選択された画像以外の画像はテストデータとして用いられる。
【００７６】
この処理１を行うことにより、当該追加学習以前の機械学習で使用された画像データのカテゴリとは異なるカテゴリに属する画像が優先的に追加学習に使用されることとなるので、類似性が低い広範囲の画像（過去に用いた画像と大きく異なる画像）を用いて効率よく追加学習することができ、画像の識別精度を確実かつ迅速に向上させることができる。
【００７７】
［処理２］
処理２は、画像データベース４２２に記憶されている画像であって、過去の機械学習に用いられた画像のうちの識別信頼度が高い画像の所定数を、追加学習（機械学習）のために用いる画像として優先的に選択する処理である。具体的には、この処理２は、取得した識別信頼度の降順に画像ＩＤをソートし、上位から予め設定された件数を抽出した後、その中からランダムに所定数の訓練データを選択する。なお、抽出された画像のうち、訓練データに選択された画像以外の画像はテストデータとして用いられる。
【００７８】
通常、識別信頼度が高い場合、追加学習を行わなくても正しい識別結果の算出が可能であると考えられるが、機械学習に用いた画像データと異なる属性の画像データが識別対象となっている場合、誤った識別結果を算出し、その識別信頼度が高いという場合がある。そのため、識別信頼度の高い画像データについても、アノテーションを実施し、追加学習の訓練データおよびテストデータに含めた方がよい場合がある。そこで、上記処理２を行うことにより、識別信頼度の高い画像（過去に用いた画像と大きく異なる可能性がある画像）を用いて効率よく追加学習することができ、画像の識別精度を確実かつ迅速に向上させることができる。
【００７９】
［処理３］
処理３は、画像データベース４２２に記憶されている画像であって、過去の機械学習に用いられた画像のうちの識別信頼度が低い画像の所定数を、追加学習（機械学習）のために用いる画像として優先的に選択する処理である。具体的には、この処理３は、取得した識別信頼度の昇順に画像ＩＤをソートし、下位から予め設定された件数を抽出した後、その中からランダムに所定数の訓練データを選択する。なお、抽出された画像のうち、訓練データに選択された画像以外の画像はテストデータとして用いられる。
【００８０】
これらの画像は、当該追加学習以前の機械学習で得られた機械学習パラメータでは適切に識別できない画像であることを意味している。そこで、上記処理３を行うことにより、識別信頼度の低い画像（過去に用いた画像と大きく異なる可能性がある画像）を用いて効率よく追加学習することができ、画像の識別精度を確実かつ迅速に向上させることができる。
【００８１】
［処理４］
処理４は、上述した処理１〜処理３を組み合わせて行う処理である。この処理４は、画像データベース４２２に記憶されている画像のうち、過去の機械学習に用いられた画像以外の画像であって上記過去の機械学習に用いられた画像に対する類似度が低い画像、過去の機械学習に用いられた画像のうちの識別信頼度が低い画像、および上記過去の機械学習に用いられた画像のうちの識別信頼度が高い画像からなる群より選択される少なくとも１種の画像の所定数を、追加学習（機械学習）のために用いる画像として優先的に選択するものである。
【００８２】
この処理４で用いる画像は、上記［処理１］〜［処理３］の項で説明したように、いずれも過去に用いた画像と大きく異なる可能性がある画像である。そのため、これらの画像を追加学習に用いることにより、画像の識別精度を確実かつ迅速に向上させることができる。
【００８３】
次に、機械学習制御部４１０がユーザによるアノテーション支援を実施する（ステップＳ３０９）。具体的には、機械学習制御部４１０は、ステップＳ３０８で訓練データまたはテストデータとして選択された画像のうち、アノテーションが未実施の画像を、任意の順序でいずれか一枚ずつ表示装置３０に表示させ、ユーザが入力装置２０を介して入力した上記画像を説明するテキストデータまたは数値データを受け取り、このデータを上記画像の教師データフィールド３０８に記録する。ここで、上述した属性２特徴量が同一の画像については、上記データが入力された時点で、上記同一の画像の教師データフィールド３０８に同一のデータを記録する。これにより、ユーザによるアノテーション回数を低減することができる。
【００８４】
次に、画像識別部４０５が、機械学習パラメータ保持部４２３に保持された機械学習パラメータ、および上述の［処理１］〜［処理４］において選択された画像（訓練データ）を取得し、この取得した機械学習パラメータおよび訓練データを用いて新たな機械学習（追加学習）を行う（ステップＳ３１０）。この追加学習では、過去の機械学習により算出済みの重み係数をネットワークモデルの各層の重み係数の初期値として用いて機械学習を実施する。なお、この機械学習の処理は、上述のステップＳ１１０で行われたものと同じである。
【００８５】
次に、精度評価部４０８が、画像識別部４０５にて識別したテストデータについての機械学習特徴量と、画像データベース４２２に保持されている上記テストデータについての教師データとを取得し、上記機械学習特徴量と教師データとを用いて画像の識別精度を算出する（ステップＳ３１１）。
【００８６】
次に、機械学習制御部４１０が、精度評価部４０８により求められた画像の識別精度を表示装置３０に表示させ、入力装置２０を介してユーザが入力した所望の精度を満たすか否かについての判定する（ステップＳ３１２）。
【００８７】
次に、ステップＳ３１１にて算出された画像の識別精度が上記所望の精度を満たすと判定された場合、機械学習制御部４１０が機械学習パラメータ保持部４２３に保持された機械学習パラメータを更新する（ステップＳ３１３）。他方、ステップＳ３１１にて算出された画像の識別精度が上記所望の精度を満たさないと判定された場合、上述したステップＳ３０６〜Ｓ３１２が、上記所望の精度を満たすまで繰り返し実施される。この場合、上述した訓練データおよびテストデータの選択が見直される。
【００８８】
ここで、当該機械学習装置１を用いて行う追加学習の操作の一例について、図９を参照して説明する。図９は、図８の処理の際の表示画面等の一例を示す概略図である。この図では、表示装置３０の表示画面中に、テキスト表示部７０１、７０２、テキスト入力フィールド７０４、７０６、数値表示部７０３、画像表示部７０５、チェックボックス７０８、７０９、７１０、メタデータ登録ボタン７０７、アノテーション開始ボタン７１１、追加学習開始ボタン７１２、識別精度表示部７１３および終了ボタン７１４が含まれている。
【００８９】
テキスト表示部７０１、７０２は、学習済みの機械学習パラメータのファイルパスを表示する。ここでは、深層機械学習に用いられる機械学習パラメータが例示されており、テキスト表示部７０１にはネットワークモデルが記述されたファイルのパス、テキスト表示部７０２には機械学習によって求められた各ネットワーク内の重み係数が記述されたファイルのパスが表示されている。これらのパスは、例えば、上記＜画像識別における処理＞の項で説明した画像識別のフローにて用いられた機械学習パラメータのファイルパスである。
【００９０】
まず、追加学習が開始されると、機械学習制御部４１０が、学習に未使用の画像データの件数を数値表示部７０３に表示すると共に、上記学習に未使用の画像データの件数と同じ値をテキスト入力フィールド７０４にも表示される。この際、ユーザは、キーボード（入力装置２０）等を用いて上記テキスト入力フィールド７０４の数値を変更することが可能であり、この操作によりアノテーション対象となる訓練データとテストデータの総数を決定（ステップＳ３０８）することができる。なお、図９に示すテキスト入力フィールド７０４の数値は、当初の数値（数値表示部７０３に表示の値と同じ値）が既に変更されたものである。
【００９１】
次に、ユーザが、マウス（入力装置２０）を用いてチェックボックス７０８、７０９、７１０の選択状態を切り替えることができる。これらのチェックボックス７０８、７０９、７１０は、上述した処理１〜処理４を選択するものであり、ステップＳ３０８において実施される訓練データおよびテストデータの選択条件を設定する。なお、これらのうちの複数を選択することも可能であり、かかる場合は予め設定された係数に基づき重みづけがなされるものとする。
【００９２】
次に、ユーザがマウス（入力装置２０）を用いてアノテーション開始ボタン７１１をクリックすると、機械学習制御部４１０が、ステップＳ３０２〜Ｓ３０８を行った後、ステップＳ３０９を開始する。
【００９３】
次に、画像表示部７０５がステップＳ３０９におけるアノテーション対象の画像を表示すると共に、テキスト入力フィールド７０６が画像データ管理情報３００の教師データフィールド３０８に記録されているデータを表示する。ただし、画像データ管理情報３００の教師データフィールド３０８に記録されているデータが「Ｎｕｌｌ」である場合、テキスト入力フィールド７０６は、空欄表示とする。または、機械学習特徴量フィールド３０６に記録されているデータを表示する。このデータは、テキスト表示部７０１、７０２に表示された機械学習パラメータを用いて識別された識別値（画像識別）に相当する。このテキスト入力フィールド７０６に表示されたデータが空欄であるか、または、教師データとして適切でない場合、ユーザはキーボードなど（入力装置２０）により上記データを書き換えることができる。
【００９４】
次に、学習条件入力部４０９がユーザによる登録ボタン７０７のマウスクリックを受け付けると、機械学習制御部４１０が教師データフィールド３０８のデータをテキスト入力部７０６のデータに更新する。このようにアノテーション対象となる画像を画像表示部７０５に順次表示させ、これをステップＳ３０８で選択された訓練データまたはテストデータのアノテーションが完了するまで繰り返す。
【００９５】
次に、ユーザがマウスなど（入力装置２０）を用いて追加学習開始ボタン７１２をクリックすると、機械学習制御部４１０がステップＳ３１０の追加学習を実施し、これに引き続いてステップＳ３１１の精度評価が行われ、画像の識別精度が算出される。ここで、ステップＳ３１１において得られた識別精度の評価結果が、学習番号（機械学習の履歴）と共に、識別精度表示部７１３に表示される。これにより、ユーザは、識別精度表示部７１３に示された画像の識別精度を確認することができ、得られた識別精度を考慮してアノテーション対象とするデータの件数を変更したり、アノテーションを再実行することなどが可能となる。
【００９６】
次に、ユーザは、識別精度表示部７１３に示された学習番号の行を選択することにより、機械学習パラメータに反映したい追加学習結果を決定することができる。次いで、ユーザがマウス（入力装置２０）を用いて終了ボタン７１４をクリックし、学習条件入力部４０９が上記クリックを受け付けると、機械学習制御部４１０は、テキスト表示部７０２に表示のネットワークの重み係数が記載された機械学習パラメータファイルを、識別精度表示部７１３で選択された学習番号に対応する追加学習結果（機械学習パラメータ）に更新して一連の処理が終了する。
【００９７】
以上のように、当該機械学習装置１は、画像データベース４２２に記憶されている画像のうち、過去の機械学習に用いられた画像以外の画像であって上記過去の機械学習に用いられた画像に対する類似度が低い画像、過去の機械学習に用いられた画像のうちの識別信頼度が低い画像、および上記過去の機械学習に用いられた画像のうちの識別信頼度が高い画像、またはこれらを組み合わせて得られた画像の所定数を、機械学習のために用いる画像として優先的に選択し、この選択された画像を用いて新たな機械学習を行うので、過去に用いた画像と大きく異なる画像を用いて効率よく追加学習することができ、画像の識別精度を確実かつ迅速に向上させることができる。
【００９８】
なお、本発明は、上述した実施形態の構成に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【００９９】
例えば、上述した実施形態では、機械学習の手法として深層機械学習法を適用した機械学習装置１の例を示したが、教師データを用いる手法であれば、いずれの手法であっても適用することができる。教師データを用いる機械学習の手法であって、上記深層機械学習法以外の手法としては、例えば、サポートベクタマシン（ＳＶＭ）、決定枝（Ｄｅｃｉｓｉｏｎ  Ｔｒｅｅ）等が挙げられる。
【０１００】
また、上述した実施形態では、図３に示すような特定のデータ構成の画像データ管理情報３００を有する機械学習装置１について説明したが、上記画像データ管理情報のデータ構成は、本発明の効果を損なわない限りどのようなものであってもよく、例えば、テーブル、リスト、データベースまたはキューから適宜選択したデータ構成であってもよい。
【０１０１】
また、上述した実施形態では、識別信頼度を算出する機械学習装置１について説明したが、追加学習のための訓練データ等の選択処理の内容（例えば上記処理２、３を行わない機械学習装置）によっては、識別信頼度を算出しない機械学習装置であってもよい。
【符号の説明】
【０１０２】
１  機械学習装置
１０  画像記憶装置
２０  入力装置
３０  表示装置
４０  サーバ計算機
４１  プロセッサ
４２２  画像データベース
【図１】
0006629678.tif 000002
【図２】
0006629678.tif 000003
【図３】
0006629678.tif 000004
【図４】
0006629678.tif 000005
【図５】
0006629678.tif 000006
【図６】
0006629678.tif 000007
【図７】
0006629678.tif 000008
【図８】
0006629678.tif 000009
【図９】
0006629678.tif 000010