(57)【特許請求の範囲】
【請求項１】
複数の畳み込み層を含む特徴抽出部であって、１以上のオブジェクトが存在する画像の特徴マップを出力する特徴抽出部と、前記特徴マップに基づいて、前記画像のうち、前記オブジェクトが存在する部分の領域の座標を出力する座標推定部と、を含む、前記１以上のオブジェクトを分類するためのモデルを生成する生成手段と、
前記生成されたモデルをモデル記憶手段に記憶させる記憶制御手段と、
を備え、
前記生成手段は、
１以上のオブジェクトがそれぞれ存在する複数の画像を、画像記憶手段から取得する画像取得手段と、
前記取得された複数の画像を用いて、前記特徴抽出部を訓練する第１訓練手段と、
前記第１訓練手段により訓練された前記特徴抽出部により、前記複数の画像のうち１以上の画像それぞれの特徴マップを出力させる特徴マップ出力制御手段と、
前記１以上の画像それぞれについて、前記出力された特徴マップを前記座標推定部に入力して、前記画像のうち、前記オブジェクトが存在する部分の領域の座標を少なくとも一つ出力させる座標出力制御手段と、
前記１以上の画像それぞれについて、該画像から、前記出力された座標により示される部分の画像を抽出する抽出手段と、
前記抽出された画像を用いて、前記第１訓練手段により訓練された前記特徴抽出部を更に訓練する第２訓練手段と、
を含むことを特徴とする学習装置。
【請求項２】
前記モデルは、前記特徴マップに基づいて、前記１以上のオブジェクトそれぞれのクラスを示すクラス情報を出力する少なくとも一のクラス推定部を更に含み、
前記第１訓練手段は、前記取得された複数の画像を用いて、前記特徴抽出部と、前記少なくとも一のクラス推定部のうち所定の第１クラス推定部と、を訓練し、
前記第２訓練手段は、前記取得された複数の画像を用いて、前記特徴抽出部と、前記少なくとも一のクラス推定部のうち所定の第２クラス推定部と、を訓練することを特徴とする請求項１に記載の学習装置。
【請求項３】
前記第２クラス推定部は、前記少なくとも一のクラス推定部のうち、前記第１クラス推定部とは異なるクラス推定部であることを特徴とする請求項２に記載の学習装置。
【請求項４】
前記第２クラス推定部は、前記第１クラス推定部と同一であることを特徴とする請求項２に記載の学習装置。
【請求項５】
前記座標出力制御手段は、前記座標推定部により、前記複数の画像のうち、複数のオブジェクトが存在する画像について、前記複数のオブジェクトそれぞれが存在する領域の座標をそれぞれ少なくとも一つ出力させることを特徴とする請求項１乃至４の何れか一項に記載の学習装置。
【請求項６】
前記座標出力制御手段は、前記座標推定部により、前記１以上のオブジェクトのうち少なくとも一のオブジェクトについて、異なる複数の領域それぞれの座標を出力させることを特徴とする請求項１乃至５の何れか一項に記載の学習装置。
【請求項７】
請求項１乃至６の何れか一項に記載の学習装置により生成された前記モデルを記憶する記憶手段から、前記モデルを読み出す読み出し手段と、
前記読み出されたモデルに含まれる前記特徴抽出部により、１以上のオブジェクトが存在する所与の画像の特徴マップを出力させる特徴マップ出力制御手段と、
前記出力された所与の画像の特徴マップに基づいて、前記読み出されたモデルにより、前記１以上のオブジェクトそれぞれのクラスを示すクラス情報を出力させるクラス情報出力制御手段と、
を備えることを特徴とする分類装置。
【請求項８】
コンピュータにより実行される学習方法において、
複数の畳み込み層を含む特徴抽出部であって、１以上のオブジェクトが存在する画像の特徴マップを出力する特徴抽出部と、前記特徴マップに基づいて、前記画像のうち、前記オブジェクトが存在する部分の領域の座標を出力する座標推定部と、を含む、前記１以上のオブジェクトを分類するためのモデルを生成する生成ステップと、
前記生成されたモデルをモデル記憶手段に記憶させる記憶制御ステップと、
を備え、
前記生成ステップは、
１以上のオブジェクトがそれぞれ存在する複数の画像を、画像記憶手段から取得する画像取得ステップと、
前記取得された複数の画像を用いて、前記特徴抽出部を訓練する第１訓練ステップと、
前記第１訓練ステップにより訓練された前記特徴抽出部により、前記複数の画像のうち１以上の画像それぞれの特徴マップを出力させる特徴マップ出力制御ステップと、
前記１以上の画像それぞれについて、前記出力された特徴マップを前記座標推定部に入力して、前記画像のうち、前記オブジェクトが存在する部分の領域の座標を少なくとも一つ出力させる座標出力制御ステップと、
前記１以上の画像それぞれについて、該画像から、前記出力された座標により示される部分の画像を抽出する抽出ステップと、
前記抽出された画像を用いて、前記第１訓練ステップにより訓練された前記特徴抽出部を更に訓練する第２訓練ステップと、
を含むことを特徴とする学習方法。
【請求項９】
コンピュータにより実行される分類方法において、
請求項１乃至６の何れか一項に記載の学習装置により生成された前記モデルを記憶する記憶手段から、前記モデルを読み出す読み出しステップと、
前記読み出されたモデルに含まれる前記特徴抽出部により、１以上のオブジェクトが存在する所与の画像の特徴マップを出力させる特徴マップ出力制御ステップと、
前記出力された所与の画像の特徴マップに基づいて、前記読み出されたモデルにより、前記１以上のオブジェクトそれぞれのクラスを示すクラス情報を出力させるクラス情報出力制御ステップと、
を含むことを特徴とする分類方法。
【請求項１０】
コンピュータにより実行される学習プログラムにおいて、
前記コンピュータを、
複数の畳み込み層を含む特徴抽出部であって、１以上のオブジェクトが存在する画像の特徴マップを出力する特徴抽出部と、前記特徴マップに基づいて、前記画像のうち、前記オブジェクトが存在する部分の領域の座標を出力する座標推定部と、を含む、前記１以上のオブジェクトを分類するためのモデルを生成する生成手段と、
前記生成されたモデルをモデル記憶手段に記憶させる記憶制御手段と、
として機能させ、
前記生成手段は、
１以上のオブジェクトがそれぞれ存在する複数の画像を、画像記憶手段から取得する画像取得手段と、
前記取得された複数の画像を用いて、前記特徴抽出部を訓練する第１訓練手段と、
前記第１訓練手段により訓練された前記特徴抽出部により、前記複数の画像のうち１以上の画像それぞれの特徴マップを出力させる特徴マップ出力制御手段と、
前記１以上の画像それぞれについて、前記出力された特徴マップを前記座標推定部に入力して、前記画像のうち、前記オブジェクトが存在する部分の領域の座標を少なくとも一つ出力させる座標出力制御手段と、
前記１以上の画像それぞれについて、該画像から、前記出力された座標により示される部分の画像を抽出する抽出手段と、
前記抽出された画像を用いて、前記第１訓練手段により訓練された前記特徴抽出部を更に訓練する第２訓練手段と、
を含むことを特徴とする学習プログラム。
【請求項１１】
コンピュータを、
請求項１乃至６の何れか一項に記載の学習装置により生成された前記モデルを記憶する記憶手段から、前記モデルを読み出す読み出し手段と、
前記読み出されたモデルに含まれる前記特徴抽出部により、１以上のオブジェクトが存在する所与の画像の特徴マップを出力させる特徴マップ出力制御手段と、
前記出力された所与の画像の特徴マップに基づいて、前記読み出されたモデルにより、前記１以上のオブジェクトそれぞれのクラスを示すクラス情報を出力させるクラス情報出力制御手段と、
として機能させることを特徴とする分類プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械学習を用いた画像処理方法に関し、特に、畳み込みニューラルネットワークを用いて、画像内に存在するオブジェクトを分類するための学習方法及び分類方法の技術分野に関する。
【背景技術】
【０００２】
現在、深層学習に関す研究開発が盛んに行われている。特にコンピュータビジョンの技術分野においては、画像を処理するためのモデルとして、畳み込みニューラルネットワークが一般的に採用されている。このネットワークは、複数の畳み込み層を有し、画像に対する畳み込み演算を繰り返してその画像の特徴マップを生成する。この特徴マップから、画像内に存在するオブジェクトの分類等が行われる（例えば、非特許文献１）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Sachin Padmanabhan、「画像分類及びキャプショニングのための畳み込みニューラルネットワーク（Convolutional Neural Networks for Image Classification and Captioning）」、［online］、［平成30年7月9日検索］、インターネット<URL: https://web.stanford.edu/class/cs231a/prev_projects_2016/example_paper.pdf>
【発明の概要】
【発明が解決しようとする課題】
【０００４】
分類の精度を向上させるためには、学習用に大量の画像が必要となる。しかしながら、大量の画像を予め準備することが困難な場合がある。また、一の画像内に複数のオブジェクトが存在する場合、各オブジェクトを分類することが望まれる。【０００５】
本発明は以上の点に鑑みてなされたものであり、その課題の一例は、学習用の画像を自動的に増やして分類精度を向上させるとともに、画像内に存在する複数のオブジェクトそれぞれを分類するためのモデルを生成することが可能な学習装置、分類装置、学習方法、分類方法、学習プログラム、及び分類プログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の一の態様は、複数の畳み込み層を含む特徴抽出部であって、１以上のオブジェクトが存在する画像の特徴マップを出力する特徴抽出部と、前記特徴マップに基づいて、前記画像のうち、前記オブジェクトが存在する部分の領域の座標を出力する座標推定部と、を含む、前記１以上のオブジェクトを分類するためのモデルを生成する生成手段と、前記生成されたモデルをモデル記憶手段に記憶させる記憶制御手段と、を備え、前記生成手段は、１以上のオブジェクトがそれぞれ存在する複数の画像を、画像記憶手段から取得する画像取得手段と、前記取得された複数の画像を用いて、前記特徴抽出部を訓練する第１訓練手段と、前記第１訓練手段により訓練された前記特徴抽出部により、前記複数の画像のうち１以上の画像それぞれの特徴マップを出力させる特徴マップ出力制御手段と、前記１以上の画像それぞれについて、前記出力された特徴マップを前記座標推定部に入力して、前記画像のうち、前記オブジェクトが存在する部分の領域の座標を少なくとも一つ出力させる座標出力制御手段と、前記１以上の画像それぞれについて、該画像から、前記出力された座標により示される部分の画像を抽出する抽出手段と、前記抽出された画像を用いて、前記第１訓練手段により訓練された前記特徴抽出部を更に訓練する第２訓練手段と、を含むことを特徴とする学習装置である。【０００７】
この発明によれば、特徴抽出部による最初の学習に用いられた画像から、１以上のオブジェクトが存在する部分の領域に相当する画像が抽出される。従って、最初の学習に用いられた画像とは、オブジェクトが存在する領域が占める割合や位置が異なる画像を自動的に増やすことができる。それらの画像を用いて、特徴抽出部を更に訓練することで、分類精度を向上させるとともに、画像内に存在する複数のオブジェクトそれぞれを分類するためのモデルを生成することができる。【０００８】
本発明の別の態様は、前記モデルは、前記特徴マップに基づいて、前記１以上のオブジェクトそれぞれのクラスを示すクラス情報を出力する少なくとも一のクラス推定部を更に含み、前記第１訓練手段は、前記取得された複数の画像を用いて、前記特徴抽出部と、前記少なくとも一のクラス推定部のうち所定の第１クラス推定部と、を訓練し、前記第２訓練手段は、前記取得された複数の画像を用いて、前記特徴抽出部と、前記少なくとも一のクラス推定部のうち所定の第２クラス推定部と、を訓練することを特徴とする学習装置である。【０００９】
本発明の更に別の態様は、前記第２クラス推定部は、前記少なくとも一のクラス推定部のうち、前記第１クラス推定部とは異なるクラス推定部であることを特徴とする学習装置である。【００１０】
この発明によれば、特徴抽出部による最初の学習に用いられる第１クラス推定部と、特徴抽出部による２番目の学習に用いられる第２クラス推定部とが異なるので、抽出された画像の傾向が元の画像の傾向と異なる場合に、分類精度を向上させることができる。【００１１】
本発明の更に別の態様は、前記第２クラス推定部は、前記第１クラス推定部と同一であることを特徴とする学習装置である。【００１２】
この発明によれば、特徴抽出部による最初の学習に用いられる第１クラス推定部と、特徴抽出部による２番目の学習に用いられる第２クラス推定部とが同一であるので、抽出された画像の傾向が元の画像の傾向と一致又は類似する場合に、分類精度を向上させることができる。【００１３】
本発明の更に別の態様は、前記座標出力制御手段は、前記座標推定部により、前記複数の画像のうち、複数のオブジェクトが存在する画像について、前記複数のオブジェクトそれぞれが存在する領域の座標をそれぞれ少なくとも一つ出力させることを特徴とする学習装置である。【００１４】
この発明によれば、各オブジェクトについて画像が抽出されるので、学習用の画像をより増やすことができる。【００１５】
本発明の更に別の態様は、前記座標出力制御手段は、前記座標推定部により、前記１以上のオブジェクトのうち少なくとも一のオブジェクトについて、異なる複数の領域それぞれの座標を出力させることを特徴とする学習装置である。【００１６】
この発明によれば、学習用の画像として、一つのオブジェクトについて様々な画像を増やすことができる。【００１７】
本発明の更に別の態様は、前記学習装置により生成された前記モデルを記憶する記憶手段から、前記モデルを読み出す読み出し手段と、前記読み出されたモデルに含まれる前記特徴抽出部により、１以上のオブジェクトが存在する所与の画像の特徴マップを出力させる特徴マップ出力制御手段と、前記出力された所与の画像の特徴マップに基づいて、前記読み出されたモデルにより、前記１以上のオブジェクトそれぞれのクラスを示すクラス情報を出力させるクラス情報出力制御手段と、を備えることを特徴とする分類装置である。【００１８】
この発明によれば、最初に用意された画像に加えて、これらの画像から抽出された画像を用いて訓練された特徴抽出部を含むモデルが用いられるので、画像内に存在する複数のオブジェクトの分類精度を向上させることができる。【００１９】
本発明の更に別の態様は、コンピュータにより実行される学習方法において、複数の畳み込み層を含む特徴抽出部であって、１以上のオブジェクトが存在する画像の特徴マップを出力する特徴抽出部と、前記特徴マップに基づいて、前記画像のうち、前記オブジェクトが存在する部分の領域の座標を出力する座標推定部と、を含む、前記１以上のオブジェクトを分類するためのモデルを生成する生成ステップと、前記生成されたモデルをモデル記憶手段に記憶させる記憶制御ステップと、を備え、前記生成ステップは、１以上のオブジェクトがそれぞれ存在する複数の画像を、画像記憶手段から取得する画像取得ステップと、前記取得された複数の画像を用いて、前記特徴抽出部を訓練する第１訓練ステップと、前記第１訓練ステップにより訓練された前記特徴抽出部により、前記複数の画像のうち１以上の画像それぞれの特徴マップを出力させる特徴マップ出力制御ステップと、前記１以上の画像それぞれについて、前記出力された特徴マップを前記座標推定部に入力して、前記画像のうち、前記オブジェクトが存在する部分の領域の座標を少なくとも一つ出力させる座標出力制御ステップと、前記１以上の画像それぞれについて、該画像から、前記出力された座標により示される部分の画像を抽出する抽出ステップと、前記抽出された画像を用いて、前記第１訓練ステップにより訓練された前記特徴抽出部を更に訓練する第２訓練ステップと、を含むことを特徴とする。【００２０】
本発明の更に別の態様は、コンピュータにより実行される分類方法において、前記学習装置により生成された前記モデルを記憶する記憶手段から、前記モデルを読み出す読み出しステップと、前記読み出されたモデルに含まれる前記特徴抽出部により、１以上のオブジェクトが存在する所与の画像の特徴マップを出力させる特徴マップ出力制御ステップと、前記出力された所与の画像の特徴マップに基づいて、前記読み出されたモデルにより、前記１以上のオブジェクトそれぞれのクラスを示すクラス情報を出力させるクラス情報出力制御ステップと、を含むことを特徴とする。【００２１】
本発明の更に別の態様は、コンピュータにより実行される学習プログラムにおいて、前記コンピュータを、複数の畳み込み層を含む特徴抽出部であって、１以上のオブジェクトが存在する画像の特徴マップを出力する特徴抽出部と、前記特徴マップに基づいて、前記画像のうち、前記オブジェクトが存在する部分の領域の座標を出力する座標推定部と、を含む、前記１以上のオブジェクトを分類するためのモデルを生成する生成手段と、前記生成されたモデルをモデル記憶手段に記憶させる記憶制御手段と、として機能させ、前記生成手段は、１以上のオブジェクトがそれぞれ存在する複数の画像を、画像記憶手段から取得する画像取得手段と、前記取得された複数の画像を用いて、前記特徴抽出部を訓練する第１訓練手段と、前記第１訓練手段により訓練された前記特徴抽出部により、前記複数の画像のうち１以上の画像それぞれの特徴マップを出力させる特徴マップ出力制御手段と、前記１以上の画像それぞれについて、前記出力された特徴マップを前記座標推定部に入力して、前記画像のうち、前記オブジェクトが存在する部分の領域の座標を少なくとも一つ出力させる座標出力制御手段と、前記１以上の画像それぞれについて、該画像から、前記出力された座標により示される部分の画像を抽出する抽出手段と、前記抽出された画像を用いて、前記第１訓練手段により訓練された前記特徴抽出部を更に訓練する第２訓練手段と、を含むことを特徴とする。【００２２】
本発明の更に別の態様は、コンピュータを、前記学習装置により生成された前記モデルを記憶する記憶手段から、前記モデルを読み出す読み出し手段と、前記読み出されたモデルに含まれる前記特徴抽出部により、１以上のオブジェクトが存在する所与の画像の特徴マップを出力させる特徴マップ出力制御手段と、前記出力された所与の画像の特徴マップに基づいて、前記読み出されたモデルにより、前記１以上のオブジェクトそれぞれのクラスを示すクラス情報を出力させるクラス情報出力制御手段と、として機能させることを特徴とする分類プログラムである。
【発明の効果】
【００２３】
本発明によれば、学習用の画像を自動的に増やして分類精度を向上させるとともに、画像内に存在する複数のオブジェクトそれぞれを分類するためのモデルを生成することができる。
【図面の簡単な説明】
【００２４】
【図１】一実施形態に係る画像処理装置１の概要構成の一例を示すブロック図である。
【図２】一実施形態に係る画像処理装置１のシステム制御部１１及びＧＰＵ１８の機能ブロックの一例を示す図である。
【図３】モデル２の構成例を示す図である。
【図４】座標推定部２３によるバウンディングボックスの設定例を示す図である。
【図５Ａ】座標推定部２３によるバウンディングボックスの設定例を示す図である。
【図５Ｂ】座標推定部２３によるバウンディングボックスの設定例を示す図である。
【図６】画像処理装置１のシステム制御部１１及びＧＰＵ１８による学習処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００２５】
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態においては、画像内に存在するオブジェクトのクラスを推定するためのモデルを生成するための学習の実行と、生成されたモデルを用いて、オブジェクトを分類する画像処理装置に対して本発明を適用した場合の実施形態である。なお、学習を実行する装置と、クラスの推定を行う装置とは別々の装置であってもよい。
【００２６】
［１．画像処理装置の構成］
先ず、画像処理装置１の構成について、図１を用いて説明する。図１は、本実施形態に係る画像処理装置１の概要構成の一例を示すブロック図である。図１に示すように、画像処理装置１は、システム制御部１１と、システムバス１２と、入出力インターフェース１３と、記憶部１４と、通信部１５と、入力部１６と、表示部１７と、ＧＰＵ（Graphics Processing Unit）１８と、ＧＰＵメモリ１９（または、ビデオＲＡＭ）を備えている。システム制御部１１と入出力インターフェース１３とは、システムバス１２を介して接続されている。画像処理装置１は、例えばサーバ装置であってもよいし、パーソナルコンピュータであってもよい。
【００２７】
システム制御部１１は、ＣＰＵ（Central Processing Unit）１１ａ、ＲＯＭ（Read Only Memory）１１ｂ、ＲＡＭ（Random Access Memory）１１ｃ等により構成されている。
【００２８】
入出力インターフェース１３は、記憶部１４〜ＧＰＵメモリ１９とシステム制御部１１との間のインターフェース処理を行う。
【００２９】
記憶部１４は、例えば、ハードディスクドライブ又はソリッドステートドライブ等により構成されている。この記憶部１４には、生成されたモデル２、及びモデル２の生成に用いられる複数の訓練データ等が記憶される。記憶部１４には、更にオペレーティングシステム、モデル生成用のプログラム、分類用のプログラム等が記憶されている。訓練データ及び各種プログラムは、例えば、所定のコンピュータからネットワークを介して取得されるようにしてもよいし、光ディスク、メモリカード、磁気テープ等の記録媒体に記録されてドライブ装置を介して読み込まれるようにしてもよい。モデル２を生成する装置と分類を行う装置とが別々の装置である場合、生成されたモデル２の受け渡しは、ネットワークを介して行われてもよいし、記録媒体を介して行われてもよい。
【００３０】
通信部１５は、例えばネットワークインターフェースコントローラ等により構成されている。通信部１５は、インターネット、ＬＡＮ（Local Area Network）等の所定のネットワークを介して他のコンピュータと接続し、そのコンピュータとの通信状態を制御する。
【００３１】
入力部１６は、オペレータによる操作を受け付け、操作内容に対応する信号をシステム制御部１１に出力する。入力部１６の例として、キーボード、マウス、タッチパネル等が挙げられる。
【００３２】
表示部１７は、例えば、グラフィックコントローラ及びディスプレイ等により構成されている。表示部１７は、システム制御部１１の制御により、画像、文字等の情報を表示する。ディスプレイのパネルの例として、液晶パネル、有機ＥＬ（Light Emitting）パネル等が挙げられる。
【００３３】
ＧＰＵ１８は、システム制御部１１からの制御により、機械学習における行列演算等を実行する。ＧＰＵ１８は、複数の演算を並列にパイプライン処理する。ＧＰＵ１８とＧＰＵメモリ１９とは接続されている。ＧＰＵメモリ１９は、ＧＰＵ１８による演算に用いられるデータや演算結果を記憶する。
【００３４】
［２．画像処理装置のシステム制御部の機能概要］
次に、図２乃至図４Ｂを用いて、システム制御部１１及びＧＰＵ１８の機能概要について説明する。図２は、本実施形態に係る画像処理装置１のシステム制御部１１及びＧＰＵ１８の機能ブロックの一例を示す図である。システム制御部１１及びＧＰＵ１８は、ＣＰＵ１１ａが、記憶部１４に記憶されているプログラムに含まれる各種コード等を読み出し実行することにより、図２に示すように、画像取得部１１１、第１訓練部１１２、座標出力制御部１１３、画像抽出部１１４、第２訓練部１１５、モデル記憶制御部１１６、モデル読み出し部１１７、特徴マップ出力制御部１１８、クラス情報出力制御部１１９等として機能する。
【００３５】
［２−１．モデルの生成］
図３は、モデル２の構成例を示す図である。画像取得部１１１〜第２訓練部１１５は、機械学習によってモデル２を生成する。図３に示すように、モデル２は、特徴抽出部２１と、全体画像クラス推定部２２と、座標推定部２３と、部分画像クラス推定部２４と、を含む畳み込みニューラルネットワークである。モデル２のベースとなるネットワークモデルの例として、ResNet、GoogleNet、AlexNet、VGGNetが挙げられる。
【００３６】
特徴抽出部２１は、複数の畳み込み層を含む。特徴抽出部２１は、モデル２に入力された画像３１の特徴マップ３２を出力する。画像３１内には、１以上のオブジェクトが存在する。画像３１内に複数のオブジェクトが存在する場合、各オブジェクトのクラスは互いに同じであってもよいし異なってもよい。特徴抽出部２１は、例えばこれらの畳み込み層によって画像３１に対する畳み込み演算を繰り返し、モデル２が分類可能なクラスごとに特徴マップ３２を出力する。特徴抽出部２１は、プーリング層等のレイヤを適宜含んでもよい。
【００３７】
全体画像クラス推定部２２は、特徴抽出部２１から出力された特徴マップ３２に基づいて、画像３１内に存在する１以上のオブジェクトのクラスを示すクラス情報を出力する。クラス推定部２２は、１以上の全結合層を含む。クラス推定部２２は、特徴マップ３２を全結合層で変換して、クラスごとにそのクラスのオブジェクトが存在するか否かを示す情報をクラス情報として出力する。全体画像クラス推定部２２は、例えばクラスごとに１個の全結合層又は直列に接続された複数の全結合層を含んでもよい。例えば、或るクラスｉに対応する特徴マップ３２を特徴マップ３２−ｉとし、クラスｉに対応する全結合層を全結合層ｉとする。全結合層ｉは、特徴マップ３２−ｉ内の要素を結合して、各クラスの確率値を出力する。例えば、これらの確率値のうち、クラスｉの確率値が所定値以上である場合、画像３１にクラスｉのオブジェクトが存在すると推定されたことになる。画像３１に複数のクラスのオブジェクトが存在する場合、全体画像クラス推定部２２は、これらのクラスそれぞれのオブジェクトが存在すると推定することが可能である。学習が終わった後の分類段階においては、例えば各クラスの確率値が０又は１に変換される。例えば、所定値以上の確率値は１に変換され、所定値未満の確率値は０に変換される。
【００３８】
座標推定部２３は、特徴抽出部２１から出力された特徴マップ３２に基づいて、画像３１において、１以上のオブジェクトが存在する部分の領域の座標データを出力する。例えば、座標推定部２３は、特徴マップ３２−ｉから、クラスｉのオブジェクトが存在する領域を特定して、その領域に対応するバウンディングボックスを設定する。特徴マップ３２−ｉを構成する各配列要素は、画像３１におけるその要素が対応する座標において、クラスｉのオブジェクトが存在する蓋然性を示す値を格納する。そこで、座標推定部２３は、特徴マップ３２−ｉから、所定の閾値以上の値を有する要素で構成される領域を、クラスｉのオブジェクトが存在する領域として特定してもよい。バウンディングボックスは、例えば矩形の領域である。座標推定部２３は、設定したバウンディングボックスごとに、そのバウンディングボックスの座標データと、用いられた特徴マップ３２−ｉに対応するクラスｉを出力する。座標データは、例えばバウンディングボックスの中心座標、バウンディングボックスの高さ及び幅を含んでもよい。図４は、座標推定部２３によるバウンディングボックスの設定例を示す図である。例えば、或る画像３１内には、クラス１のオブジェクトが２個存在する。図４に示すように、特徴マップ３２−１において、閾値以上の値を有する要素で構成される領域が２個特定され、これらの領域それぞれに対応するバウンディングボックス４１及び４２が設定される。
【００３９】
部分画像クラス推定部２４は、後述するように、画像３１から抽出された画像３３について特徴抽出部２１から出力された特徴マップ３２に基づいて、画像３３内に存在する１以上のオブジェクトのクラスを示すクラス情報を出力する。例えば、部分画像クラス推定部２４の構造は、全体画像クラス推定部２２の構造と同様であってもよい。或いは、画像３１から一のオブジェクトのみが存在する画像３３のみが抽出される場合、部分画像クラス推定部２４は、これに対応した構造であってもよい。全体画像クラス推定部２２と部分画像クラス推定部２４とは同一であってもよいし、別々のクラス推定部であってもよい。すなわち、モデル２は、特徴マップに基づいてオブジェクトのクラスを推定するクラス推定部を少なくとも一つ含む。
【００４０】
上述したモデル２を生成するため、画像取得部１１１は、第１訓練データとして、複数の画像３１を記憶部１４から取得する。画像３１は、例えば撮影されて予め用意された画像である。画像取得部１１１は、画像３１それぞれについて、その画像３１内に存在しているオブジェクトのクラスを示すラベル（Ground Truth）を記憶部１４から更に取得して、画像３１に関連付ける。
【００４１】
第１訓練部１１２は、第１訓練データ取得部１１１により取得された第１訓練データとしての画像３１を用いて、特徴抽出部２１を訓練する。第１訓練部１１２による処理は、例えば画像取得部１１１により画像３１が取得されること応じて自動的に実行される。ここで、第１訓練部１１２は、特徴抽出部２１と、モデル２に含まれる少なくとも一つのクラス推定部のうち、所定の第１のクラス推定部とを訓練する。本実施形態の場合、第１のクラス推定部は、全体画像クラス推定部２２である。第１訓練部１１２は、特徴抽出部２１及び全体画像クラス推定部２２として、これらの層に対応する演算処理を実行して、各クラスの確率を出力する。具体的に、第１訓練部１１２は、特徴抽出部２１に画像３１を入力して、特徴抽出部２１から特徴マップ３２を出力させる。第１訓練部１１２は、特徴マップ３２を全体画像クラス推定部２２に入力して、全体画像クラス推定部２２からクラス情報を出力させる。第１訓練部１１２は、クラス情報とクラスのラベルとを比較して、分類誤差を計算する。第１訓練部１１２は、分類誤差を用いて、全体画像クラス推定部２２が保持する重み及びバイアスのパラメータを更新する。また、第１訓練部１１２は、全体画像クラス推定部２２からの誤差逆伝播により、特徴抽出部２１が保持する重み及びバイアスを更新する。
【００４２】
座標出力制御部１１３は、第１訓練部１１２により訓練された特徴抽出部２１により、複数の画像３１のうち１以上の画像それぞれの特徴マップ３２を出力させる。座標出力制御部１１３の処理は、例えば第１訓練部１１２による訓練の完了に応じて自動的に実行される。座標出力制御部１１３は、１以上の画像３１それぞれについて、特徴抽出部２１から出力された特徴マップ３２を座標推定部２３に入力して、画像３１のうち、１以上のオブジェクトが存在する部分の領域の座標を少なくとも一つ出力させる。すなわち、座標出力制御部１１３は、１以上の画像３１それぞれについて、座標推定部２３からバウンディングボックスの座標データを少なくとも一つ出力させる。例えば、座標出力制御部１１３は、バウンディングボックスごとに、座標データとバウンディングボックス内のオブジェクトのクラスとを出力する。座標出力制御部１１３は、特徴抽出部２１から出力された全特徴マップ３２のうち、ラベルに示されるクラスに対応する特徴マップ３２のみを、座標推定部２３に入力すればよい。すなわち、画像３１内に存在するオブジェクトに対応する特徴マップ３２を用いて、それらのオブジェクトの座標データ及びクラスが出力される。
【００４３】
画像３１に複数のオブジェクトが存在する場合、座標出力制御部１１３は、それら複数のオブジェクトそれぞれが存在する領域の座標を出力させてもよいし、一のオブジェクトのみについて座標を出力させてもよいし、複数のオブジェクトのうち幾つかのオブジェクトについて座標を出力させてもよい。画像３１内に同一クラスのオブジェクトが複数存在する場合、そのクラスに対応する特徴マップ３２から、閾値以上の値を有する要素で構成される領域が、座標推定部２３により複数特定される。画像３１内に互いに異なるクラスのオブジェクトが存在する場合、それぞれのクラスに対応する特徴マップ３２から、閾値以上の値を有する要素で構成される領域がそれぞれ特定される。
【００４４】
座標出力制御部１１３は、少なくとも一のオブジェクトについて、異なる複数の領域それぞれの座標を出力してもよい。異なる複数の領域とは、例えば、サイズ、アスペクト比及び中心座標の少なくとも何れか一つが互いに異なる領域である。例えば、座標出力制御部１１３は、オブジェクトが存在する領域を特定するための閾値を変化させることで、サイズや中心座標を変化させることができる。また、座標出力制御部１１３は、アスペクト比が異なるボックスを予め複数用意しておき、特定した領域に対してこれらのボックスをそれぞれ適用することで、アスペクト比を変化させることができる。図５Ａは、座標推定部２３によるバウンディングボックスの設定例を示す図である。図５Ａに示すように、或る画像３１Ａにおいては、オブジェクト５１〜５３が存在する。例えば、オブジェクト５１について、バウンディングボックス６１〜６４が設定される。
【００４５】
座標出力制御部１１３は、複数のオブジェクトが存在する画像３１について、これら複数のオブジェクトのうち２以上のオブジェクトが存在する部分の領域の座標を少なくとも一つ出力させてもよい。この場合、同一のオブジェクトの組み合わせに対して、一つの領域の画像が出力されてもよいし、異なる複数の領域が出力されてもよい。また、２以上のオブジェクトが存在する部分の領域の座標が出力されるとともに、少なくとも一のオブジェクトについて、その一のオブジェクトのみが存在する領域の座標が出力されてもよい。図５Ｂは、座標推定部２３によるバウンディングボックスの設定例を示す図である。例えば、図５Ｂに示す例では、画像３１Ａについて、オブジェクト５１〜５３を含むバウンディングボックス７１（画像３１Ａの一部）、オブジェクト５１及び５３を含むバウンディングボックス７２、並びにオブジェクト５１及び５２を含むバウンディングボックス７３が設定されている。
【００４６】
画像抽出部１１４は、座標推定部２３から座標が出力された１以上の画像３１について、その画像３１から、出力された座標により示される部分の画像を、部分画像３３として抽出する。画像抽出部１１４による処理は、例えば座標出力制御部１１３から座標が出力されるごとに自動的に実行されてもよいし、全ての座標の出力が完了してから自動的に実行されてもよい。画像抽出部１１４は、座標推定部２３から出力された座標データに基づいて、抽出範囲を特定して部分画像３３を抽出する。画像抽出部１１４は、抽出された部分画像３３それぞれについて、その部分画像３３と座標推定部２３から座標が出力されたクラスとを第２訓練データとして記憶部１４に記憶させる。これにより、特徴抽出部２１による学習用の画像として、画像３１とは異なる画像３３を得たことになる。すなわち、学習用の画像が自動的に増加する。画像３１内に存在するオブジェクトと同一のオブジェクトが部分画像３３内に存在していても、そのオブジェクトが画像に対して占める領域の割合及び位置の少なくとも何れか一方が画像３１と部分画像３３とでは異なる。そのため、画像３３を用いて特徴抽出部２１を更に強化することができる。
【００４７】
第２訓練部１１５は、画像抽出部１１４により抽出された第２訓練データとしての画像３３を用いて、第１訓練部１１２により訓練された特徴抽出部２１を更に訓練する。第２訓練部１１５による処理は、例えば画像抽出部１１４による全ての部分画像３３の抽出が完了したことに応じて自動的に実行される。ここで、第２訓練部１１５は、特徴抽出部２１と、モデル２に含まれる少なくとも一つのクラス推定部のうち、所定の第２のクラス推定部とを訓練する。本実施形態の場合、第２のクラス推定部は、部分画像クラス推定部２４である。第２訓練部１１５は、特徴抽出部２１及び部分画像クラス推定部２４として、これらの層に対応する演算処理を実行する。具体的な訓練方法は、訓練されるクラス推定部が部分画像クラス推定部２４であることを除いて、第１訓練部による訓練と同様であってもよい。この訓練により、特徴抽出部２１が更に強化されるので、モデル２による分類精度が向上する。
【００４８】
前述したように、モデル２に含まれる第１のクラス推定部と第２のクラス推定部は異なっていてもよいし、同一であってもよい。例えば画像３１の傾向と画像３３の傾向に応じて、何れかの構成が採用されてもよい。両者の傾向が互いに異なる場合、第１のクラス推定部と第２のクラス推定部は異なっていてもよい。両者の傾向が互いに一致又は類似する場合、第１のクラス推定部と第２のクラス推定部は同一であってもよい。画像３１は、基本的には撮影された画像そのままであり、特段の編集もされていないこと、及び画像３１に複数のオブジェクトが存在する可能性が高いことを考慮すると、画像３１に対して各オブジェクトそれぞれが占める領域の割合は比較的に小さい傾向にある。画像３１から一のオブジェクトのみが存在する部分画像３３を抽出することとした場合、画像３３に対してそのオブジェクトが占める領域の割合は比較的に大きい傾向にある。このような場合、第１のクラス推定部と第２のクラス推定部とは異なっていてもよい。画像３１から２以上のオブジェクトが存在する部分画像３３を抽出することとした場合、又は一のオブジェクトに対してバウンディングボックスを大きくした場合、画像３３に対してそのオブジェクトが占める領域の割合は比較的に小さい傾向にある。このような場合、第１のクラス推定部と第２のクラス推定部とは同一であってもよい。
【００４９】
モデル記憶制御部１１６は、第１訓練部１１２による特徴抽出部２１及び全体画像クラス推定部２２の訓練と、第２訓練部１１５による特徴抽出部２１及び部分画像クラス推定部２４の訓練と、を経てモデル２が生成されると、生成されたモデル２を記憶部１４に記憶させる。
【００５０】
［２−２．クラスの分類］
モデル読み出し部１１７は、記憶部１４に記憶されたモデル２を読み出して、ＲＡＭ１４ｃ又はＧＰＵメモリ１９にロードする。
【００５１】
特徴マップ出力制御部１１８、及びクラス情報出力制御部１１９は、それぞれ特徴抽出部２１、及び全体画像クラス推定部２２に対応する演算を実行する。特徴マップ出力制御部１１８は、分類の対象となる１以上のオブジェクトが存在する所与の画像を、読み出されたモデル２に含まれる特徴抽出部２１に入力して、特徴抽出部２１から所与の画像の特徴マップを出力させる。所与の画像は、例えば記憶部１４に記憶されてもよいし、ネットワーク又は記録媒体を介して取得されてもよい。
【００５２】
クラス出力制御部１１９は、特徴抽出部２１から出力された特徴マップを、読み出されたモデル２に含まれる全体画像クラス推定部２２に入力して、全体画像クラス推定部２２から所与の画像内に存在する１以上のオブジェクトそれぞれのクラスを示すクラス情報を出力させる。
【００５３】
［３．画像処理装置の動作］
次に、画像処理装置１の動作について、図６を用いて説明する。図６は、画像処理装置１のシステム制御部１１及びＧＰＵ１８による学習処理の一例を示すフローチャートである。モデル生成用のプログラムに含まれるプログラムコードに従って、システム制御部１１及びＧＰＵ１８は学習処理を実行する。
【００５４】
図６に示すように、訓練データ取得部１１１は、第１訓練データとして、複数の画像３１それぞれについて、画像３１と、画像３１に対応するクラスのラベルとを、記憶部１４から取得する（ステップＳ１）。
【００５５】
次いで、第１訓練部１１２は、取得された画像３１及びクラスのラベルを用いて、特徴抽出部２１及び全体画像クラス推定部２２を訓練する（ステップＳ２）。具体的に、第１訓練部１１２は、特徴抽出部２１から、各画像３１について特徴マップ３２を出力させる。第１訓練部１１２は、特徴マップ３２を全体画像クラス推定部２２に入力して、全体画像クラス推定部２２からクラス情報を出力させる。第１訓練部１１２は、クラス情報と、クラスのラベルとを比較して、分類誤差を計算する。第１訓練部１１２は、分類誤差に基づいて、全体画像クラス推定部２２のパラメータを更新する。更に、第１訓練部１１２は、全体画像クラス推定部２２から特徴抽出部２１へ誤差を逆伝播して、特徴抽出部２１のパラメータを更新する。第１訓練部１１２は、例えばエポック数が所定数に達したとき等に訓練を終了させる。
【００５６】
次いで、座標出力制御部１１３は、第１訓練部１１２により訓練された特徴抽出部２１により、１以上の画像３１それぞれの特徴マップ３２を出力させる。座標出力制御部１１３は、特徴マップ３２を座標推定部２３に入力して、１以上のオブジェクトが存在する部分の領域の座標データ及びクラスを出力させる（ステップＳ３）。次いで、画像抽出部１１４は、座標推定部２３から出力された座標データに示される部分画像３３を画像３１から抽出する（ステップＳ４）。
【００５７】
次いで、第２訓練部１１５は、抽出された部分画像３３及び座標推定部２３から出力されたクラスのラベルを用いて、特徴抽出部２１及び部分画像クラス推定部２４を訓練する（ステップＳ５）。具体的に、第２訓練部１１５は、特徴抽出部２１から、各部分画像３３について特徴マップ３２を出力させる。第２訓練部１１５、特徴マップ３２を部分画像クラス推定部２４に入力して、部分画像クラス推定部２４からクラス情報を出力させる。第２訓練部１１５は、クラス情報と、クラスのラベルとを比較して、分類誤差を計算する。第２訓練部１１５は、分類誤差に基づいて、部分画像クラス推定部２４のパラメータを更新する。更に、第２訓練部１１５は、部分画像クラス推定部２４から特徴抽出部２１へ誤差を逆伝播して、特徴抽出部２１のパラメータを更新する。第２訓練部１１５は、例えばエポック数が所定数に達したとき等に訓練を終了させる。これによって、モデル２が生成される。モデル記憶制御部１１６は、生成されたモデル２を記憶部１４に記憶させて（ステップＳ６）、学習処理を終了させる。
【００５８】
以上説明したように、本実施形態によれば、画像処理装置１が、複数の畳み込み層を含む特徴抽出部２１であって、１以上のオブジェクトが存在する画像の特徴マップを出力する特徴抽出部２１と、この特徴マップに基づいて、画像のうち、オブジェクトが存在する部分の領域の座標を出力する座標推定部２３と、を含む、１以上のオブジェクトを分類するためのモデル２を生成する。ここで、画像処理装置１が、１以上のオブジェクトがそれぞれ存在する複数の画像を記憶部１４から取得する。また、画像処理装置１が、取得された複数の画像を用いて、特徴抽出部２１を訓練する。また、画像処理装置１が、訓練された特徴抽出部２１により、複数の画像のうち１以上の画像それぞれの特徴マップを出力させる。また、画像処理装置１が、１以上の画像それぞれについて、出力された特徴マップを座標推定部２３に入力して、画像のうち、オブジェクトが存在する部分の領域の座標を少なくとも一つ出力させる。また、画像処理装置１が、１以上の画像それぞれについて、画像から、出力された座標により示される部分の画像を抽出する。また、画像処理装置１が、抽出された画像を用いて、訓練された特徴抽出部２１を更に訓練する。そして、画像処理装置１が、生成されたモデル２を記憶部１４に記憶させる。従って、学習用の画像を自動的に増やして分類精度を向上させるとともに、画像内に存在する複数のオブジェクトそれぞれを分類するためのモデル２を生成することができる。
【００５９】
また、モデル２は、特徴マップに基づいて、１以上のオブジェクトそれぞれのクラスを示すクラス情報を出力する少なくとも一のクラス推定部を更に含んでもよい。画像処理装置１は、取得された複数の画像を用いて、特徴抽出部２１と、少なくとも一のクラス推定部のうち所定の第１のクラス推定部と、を訓練してもよい。また、画像処理装置１が、取得された複数の画像を用いて、特徴抽出部２１と、少なくとも一のクラス推定部のうち所定の第２のクラス推定部と、を訓練してもよい。
【００６０】
ここで、第２のクラス推定部は、少なくとも一のクラス推定部のうち、第１のクラス推定部とは異なるクラス推定部であってもよい。この場合、特徴抽出部２１による最初の学習に用いられる第１のクラス推定部と、特徴抽出部２１による２番目の学習に用いられる第２のクラス推定部とが異なるので、抽出された画像の傾向が元の画像の傾向と異なる場合に、分類精度を向上させることができる。
【００６１】
また、第２のクラス推定部は、第１のクラス推定部と同一であってもよい。この場合、特徴抽出部２１による最初の学習に用いられる第１クラス推定部と、特徴抽出部２１による２番目の学習に用いられる第２クラス推定部とが同一であるので、抽出された画像の傾向が元の画像の傾向とが一致又は類似する場合に、分類精度を向上させることができる。
【００６２】
また、画像処理装置１が、座標推定部２３により、複数の画像のうち、複数のオブジェクトが存在する画像について、複数のオブジェクトそれぞれが存在する領域の座標をそれぞれ少なくとも一つ出力させてもよい。この場合、各オブジェクトについて画像が抽出されるので、学習用の画像をより増やすことができる。
【００６３】
また、画像処理装置１が、座標推定部２３により、１以上のオブジェクトのうち少なくとも一のオブジェクトについて、異なる複数の領域それぞれの座標を出力させてもよい。この場合、学習用の画像として、一つのオブジェクトについて様々な画像を増やすことができる。
【００６４】
また、画像処理装置１が、生成されたモデル２を記憶部１４から読み出してもよい。また、画像処理装置１が、読み出されたモデル２に含まれる特徴抽出部２１により、１以上のオブジェクトが存在する所与の画像の特徴マップを出力させてもよい。また、画像処理装置１が、出力された所与の画像の特徴マップに基づいて、読み出されたモデル２により、１以上のオブジェクトそれぞれのクラスを示すクラス情報を出力させてもよい。この場合、最初に用意された画像に加えて、これらから抽出された画像を用いて訓練された特徴抽出部２１を含むモデル２が用いられるので、画像内に存在する複数のオブジェクトの分類精度を向上させることができる。
【符号の説明】
【００６５】
１  画像処理装置
１１  システム制御部
１２  システムバス
１３  入出力インターフェース
１４  記憶部
１５  通信部
１６  入力部
１７  表示部
１８  ＧＰＵ
１９  ＧＰＵメモリ
１１１  画像取得部
１１２  第１訓練部
１１３  座標出力制御部
１１４  画像抽出部
１１５  第２訓練部
１１６  モデル記憶制御部
１１７  モデル読み出し部
１１８  特徴マップ出力制御部
１１９  クラス情報出力制御部
２  モデル
２１  特徴抽出部
２２  全体画像クラス推定部
２３  座標推定部
２４  部分画像クラス推定部
【要約】
学習用の画像を自動的に増やして分類精度を向上させるとともに、画像内に存在する複数のオブジェクトそれぞれを分類するためのモデルを生成することを目的とする。
学習装置は、複数の画像をストレージから取得する。学習装置は、複数の画像を用いて、特徴抽出部を訓練する。学習装置は、訓練された特徴抽出部により、複数の画像のうち１以上の画像それぞれの特徴マップを出力させる。学習装置は、１以上の画像それぞれについて、出力された特徴マップを座標推定部に入力して、画像のうち、オブジェクトが存在する部分の領域の座標を少なくとも一つ出力させる。学習装置は、１以上の画像それぞれについて、画像から、出力された座標により示される部分の画像を抽出する。学習装置は、抽出された画像を用いて、訓練された特徴抽出部を更に訓練する。【図１】
0006612487.tif 000002
【図２】
0006612487.tif 000003
【図３】
0006612487.tif 000004
【図４】
0006612487.tif 000005
【図５Ａ】
0006612487.tif 000006
【図５Ｂ】
0006612487.tif 000007
【図６】
0006612487.tif 000008