(57)【要約】【課題】機械学習に基づいて入力画像を高解像度化する処理の精度を向上させるための技術を提供する。【解決手段】画像処理装置は、被写体の撮影画像を教師画像として取得する第１の取得部と、画像における被写体の解像度を算出する解像度算出部と、教師画像を低解像度化して劣化画像を生成し、教師画像における被写体について解像度算出部が算出した解像度に基づいて、劣化画像における被写体の解像度を表す第１の解像度情報を生成する生成部と、教師画像と劣化画像と第１の解像度情報とを含むデータセットを用いて、入力画像を高解像度化するための推定部の機械学習を行う学習部と、を備える。【選択図】  図３
2020201823.tif 000002
【特許請求の範囲】
【請求項１】
被写体の撮影画像を教師画像として取得する第１の取得手段と、
画像における被写体の解像度を算出する解像度算出手段と、
前記教師画像を低解像度化して劣化画像を生成し、前記教師画像における被写体について前記解像度算出手段が算出した解像度に基づいて、前記劣化画像における被写体の解像度を表す第１の解像度情報を生成する生成手段と、
前記教師画像と前記劣化画像と前記第１の解像度情報とを含むデータセットを用いて、入力画像を高解像度化するための推定手段の機械学習を行う学習手段と、を備えることを特徴とする画像処理装置。
【請求項２】
被写体の撮影画像を入力画像として取得する第２の取得手段と、
前記入力画像と、前記入力画像における被写体について前記解像度算出手段が算出した解像度を示す第２の解像度情報と、を前記推定手段に入力することにより、前記入力画像を高解像度化した画像を得る高解像度化手段と、をさらに備えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
被写体の実空間における位置を取得する位置取得手段をさらに備え、
前記解像度算出手段は、前記位置取得手段により取得された被写体の位置と撮像装置のカメラパラメータに基づいて、その撮像装置により撮像された画像における被写体の解像度を算出することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記第１の取得手段は、撮像装置の撮影により得られた教師原画像において被写体の領域を検出し、検出した前記領域に基づいて、前記教師原画像から前記教師画像を切り出すことを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記第１の取得手段は、前記位置取得手段により取得された被写体の位置と、前記位置が取得された被写体について前記解像度算出手段が算出した解像度と、に基づいて、撮像装置の撮影により得られた教師原画像から前記位置が取得された被写体を含む前記教師画像を切り出すことを特徴とする請求項３に記載の画像処理装置。
【請求項６】
前記第２の取得手段は、撮像装置の撮影により得られた入力原画像において被写体を検出し、検出した被写体が存在する領域を前記入力画像として切り出すことを特徴とする請求項２または３に記載の画像処理装置。
【請求項７】
前記第２の取得手段は、前記位置取得手段により取得された被写体の位置と、前記位置が取得された被写体について前記解像度算出手段が算出した解像度を示す前記第２の解像度情報とに基づいて、撮像装置の撮影により得られた入力原画像から前記入力画像を切り出すことを特徴とする請求項３に記載の画像処理装置。
【請求項８】
前記学習手段は、前記劣化画像と前記第１の解像度情報を入力とし、前記教師画像を出力とするニューラルネットワークのパラメータを機械学習し、
前記高解像度化手段は、前記ニューラルネットワークに対して前記入力画像と前記第２の解像度情報を入力することにより、前記入力画像の高解像度化を行うことを特徴とする請求項２または３に記載の画像処理装置。
【請求項９】
前記推定手段は異なる担当解像度が設定された複数のニューラルネットワークを有し、
前記学習手段は、前記複数のニューラルネットワークのうち、前記第１の解像度情報が示す解像度に対応する担当解像度が設定されているニューラルネットワークを用いて機械学習を行い、
前記高解像度化手段は、前記第２の解像度情報が示す解像度に対応する担当解像度が設定されているニューラルネットワークを用いて前記入力画像を高解像度化することを特徴とする請求項２または３に記載の画像処理装置。
【請求項１０】
前記学習手段は、前記第１の解像度情報が示す解像度または前記第１の解像度情報が示す解像度に最も近い担当解像度が設定されているニューラルネットワークを用いて前記機械学習を行うことを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記学習手段は、担当解像度が前記第１の解像度情報が示す解像度に近いほど、ニューラルネットワークにおける機械学習による影響を大きくすることを特徴とする請求項９に記載の画像処理装置。
【請求項１２】
前記高解像度化手段は、前記第２の解像度情報が示す解像度に最も近い担当解像度が設定されているニューラルネットワークを用いて前記入力画像を高解像度化することを特徴とする請求項９乃至１１のいずれか１項に記載の画像処理装置。
【請求項１３】
前記学習手段は、異なる担当解像度の範囲が設定された複数のニューラルネットワークのうち、前記第１の解像度情報が示す解像度を含む範囲が設定されているニューラルネットワークを用いて前記機械学習を行い、
前記高解像度化手段は、前記第２の解像度情報が示す解像度を含む担当解像度の範囲が設定されているニューラルネットワークを用いて前記入力画像を高解像度化することを特徴とする請求項２または３に記載の画像処理装置。
【請求項１４】
前記教師画像と前記入力画像の被写体を同定して被写体ＩＤを付与する同定手段をさらに備え、
前記学習手段は、前記教師画像の被写体に付与された被写体ＩＤと前記第１の解像度情報を含む第１の付帯情報と、前記教師画像と、前記劣化画像と用いて前記機械学習を行い、
前記高解像度化手段は、前記入力画像と、前記入力画像の被写体に付与された被写体ＩＤと前記第２の解像度情報を含む第２の付帯情報とを前記推定手段に入力して、前記入力画像の高解像度化を行うことを特徴とする請求項２または３に記載の画像処理装置。
【請求項１５】
前記教師画像に存在する被写体と前記入力画像に存在する被写体について被写体属性を取得する属性取得手段をさらに備え、
前記第１の付帯情報と前記第２の付帯情報は前記被写体属性を含むことを特徴とする請求項１４に記載の画像処理装置。
【請求項１６】
前記第１の付帯情報と前記第２の付帯情報は、
前記教師画像と前記入力画像の被写体の地面からの高度、
前記教師画像と前記入力画像の被写体の移動方向、または
前記教師画像と前記入力画像の撮影時の照明条件、
の少なくとも何れかを含むことを特徴とする請求項１４または１５に記載の画像処理装置。
【請求項１７】
被写体の撮影画像を教師画像として取得する第１の取得工程と、
画像における被写体の解像度を算出する解像度算出工程と、
前記教師画像を低解像度化して劣化画像を生成し、前記教師画像における被写体について前記解像度算出工程が算出した解像度に基づいて、前記劣化画像における被写体の解像度を表す第１の解像度情報を生成する生成工程と、
前記教師画像と前記劣化画像と前記第１の解像度情報とを含むデータセットを用いて、入力画像を高解像度化するための推定手段の機械学習を行う学習工程と、を備えることを特徴とする画像処理方法。
【請求項１８】
被写体の撮影画像を入力画像として取得する第２の取得工程と、
前記入力画像と、前記入力画像における被写体について前記解像度算出工程が算出した解像度を示す第２の解像度情報と、を前記推定手段に入力することにより、前記入力画像を高解像度化した画像を得る高解像度化工程と、をさらに備えることを特徴とする請求項１７に記載の画像処理方法。
【請求項１９】
コンピュータを、請求項１乃至１６のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法およびプログラムに関する。
【背景技術】
【０００２】
低解像度な画像を高解像度化する技術として、機械学習に基づく手法が存在する。この処理は例えば、以下の２つの手順で行われる。第１に、高解像度な教師画像と、それを低解像度化した劣化画像の組を複数用意し、両者を写像する関数を学習する。第２に、得られた関数に対して、学習に用いたものとは別の低解像度な入力画像を入力し、入力画像に対応する高解像度な画像を推定する（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２１１４３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、機械学習に基づいて入力画像を高解像度化する処理の精度をさらに向上させることが求められている。例えば、従来の技術では、学習に用いられる教師画像における被写体の解像度や、高解像度化の対象となる入力画像における被写体の解像度が多様である場合に、高解像度化の精度が低下する虞がある。
【０００５】
本発明は、機械学習に基づいて入力画像を高解像度化する処理の精度を向上させるための技術を提供する。
【課題を解決するための手段】
【０００６】
本発明の一態様による画像処理装置は、以下の構成を備える。すなわち、
被写体の撮影画像を教師画像として取得する第１の取得手段と、
画像における被写体の解像度を算出する解像度算出手段と、
前記教師画像を低解像度化して劣化画像を生成し、前記解像度算出手段により算出された前記教師画像における被写体の解像度に基づいて、前記劣化画像における被写体の解像度を表す第１の解像度情報を生成する生成手段と、
前記教師画像と前記劣化画像と前記第１の解像度情報とを含むデータセットを用いて、入力画像を高解像度化するための推定手段の学習を行う学習手段と、を備える。
【発明の効果】
【０００７】
本発明によれば、機械学習に基づいて入力画像を高解像度化する処理の精度を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態による撮像システムの構成を示す模式図。
【図２】第１実施形態による画像処理装置のハードウエア構成例を示すブロック図。
【図３】第１実施形態による画像処理装置の機能構成例を示すブロック図。
【図４Ａ】第１実施形態の画像処理装置による学習処理を示すフローチャート。
【図４Ｂ】第１実施形態の画像処理装置による推定処理を示すフローチャート。
【図５】高解像度化処理の一般的な手順を表す図。
【図６】第１実施形態による、高解像度化処理を説明する図。
【図７】第１実施形態による画像の切り出しを説明する図。
【図８】不均質な画像の切り出しの例を示す図。
【図９】学習に用いるデータの例を示す図。
【図１０】第２実施形態による学習部の機能構成例を示すブロック図。
【図１１】第３実施形態による画像処理装置の機能構成例を示すブロック図。
【図１２Ａ】第３実施形態の画像処理装置による学習処理を示すフローチャート。
【図１２Ｂ】第３実施形態の画像処理装置による推定処理を示すフローチャート。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【００１０】
［第１実施形態］
＜撮像システムの全体構成＞
第１実施形態では、画像の解像度の情報を用いて機械学習（以下、学習という）と推定を行う構成について説明する。機械学習には、教師あり学習、教師なし学習、及び強化学習などの種々の手法の学習が含まれる。以下の実施形態では、ニューラルネットワークを用いた深層学習（ディープラーニング）を行う場合例に説明する。なお、第１実施形態では、人物（例えば、スポーツ選手）の顔を被写体とし、被写体を高解像度で撮影できる撮像装置を用いて学習のための教師画像を獲得する構成を例として用いて説明する。
【００１１】
図１は、第１実施形態による撮像システムの構成例を示した模式図である。スタジアムには、撮像装置１０１および撮像装置１０５が配置されている。撮像装置１０１からは、例えば、選手（被写体１０４）を撮影した画像１０８が得られる。撮像装置１０５は、撮像装置１０１の撮影により得られた画像を高解像度化するための推定処理に用いられるパラメータを学習するための教師画像を撮影する。教師画像は、被写体の撮影画像を含む。撮像装置１０５は、撮像装置１０１に比べて長い焦点距離のレンズを有しており、画像１０８に比べて画角は狭いものの、画像上での被写体１０４の解像度が画像１０８よりも高解像度になる画像１０９を撮影することができる。
【００１２】
画像処理装置１０２は、撮像装置１０１で得られた画像を、高解像度な教師画像と同等に高解像度化し、表示装置１０３に表示する。なお、撮像装置１０１と同じく低解像度で被写体を撮像する撮像装置１０６、撮像装置１０５と同じく高解像度で被写体を撮像する撮像装置１０７が他に複数存在しても良い。また、図１ではスポーツシーンを例にとって説明したが、異なる解像度で物体を撮影する一般的なシーンにも適用可能である。また、第１実施形態の撮像システムは、被写体が顔画像以外である場合にも適用可能である。
【００１３】
また、上記では高解像度な教師画像を獲得するための撮像装置１０５として、焦点距離の長い撮像装置を利用したが、高画素数の撮像装置を利用するようにしてもよい。また、画面の手前に映った被写体は、ピントが合っている場合には、奥で映った場合に比べて高解像度で撮影されるため、撮像装置１０１の画面手前に映った被写体の画像を教師画像として用いるようにしてもよい。
【００１４】
図２は、第１実施形態による画像処理装置１０２のハードウエア構成例を示すブロック図である。画像処理装置１０２は、ＣＰＵ２０１と、ＲＡＭ２０２と、ＲＯＭ２０３と、記憶部２０４と、入出力インターフェース２０５と、ビデオインターフェース２０６と、システムバス２０７とを備える。外部メモリ２０８は入出力インターフェース２０５とビデオインターフェース２０６に接続されている。表示装置１０３はビデオインターフェース２０６に接続されている。
【００１５】
ＣＰＵ２０１は、画像処理装置１０２の各構成を統括的に制御するプロセッサである。ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリアとして機能するメモリである。ＲＯＭ２０３は画像処理装置１０２内の処理に用いられるプログラム等を格納するメモリである。ＣＰＵ２０１は、ＲＡＭ２０２をワークエリアとして用いて、ＲＯＭ２０３に格納されたプログラムを実行することで、後述する様々な処理を実行する。記憶部２０４は、画像処理装置１０２での処理に用いる画像データや、処理のためのパラメータなどを記憶する。記憶部２０４としては、例えば、ＨＤＤや光ディスクドライブ、フラッシュメモリなどを用いることができる。
【００１６】
入出力インターフェース２０５は、例えばＵＳＢやＩＥＥＥ１３９４などのシリアルバスインターフェースである。画像処理装置１０２は、この入出力インターフェース２０５を介して、外部メモリ２０８（例えば、ハードディスク、メモリカード、ＣＦカード、ＳＤカード、ＵＳＢメモリ）から処理対象の画像データ等を取得することができる。また、画像処理装置１０２は、入出力インターフェース２０５を介して処理した画像を外部メモリ２０８に記憶させることができる。ビデオインターフェース２０６は、例えばＤＶＩやＨＤＭＩ（登録商標）などの映像出力端子である。画像処理装置１０２は、このビデオインターフェース２０６を介して、表示装置１０３（液晶ディスプレイなどの画像表示デバイス）に、画像処理装置１０２で処理した画像データを出力することができる。また、なお、画像処理装置１０２の構成要素は上記のもの以外にも存在するが、本発明の主眼ではないため、説明を省略する。
【００１７】
一般に、学習型の高解像度化手法では、高解像度な教師画像とそれを低解像度化した劣化画像との組を複数用意し、教師画像と劣化画像を写像する関数を学習する。学習に用いたものとは別の低解像度な入力画像を、学習により得られた関数へ入力することで、入力画像を高解像度化した出力画像が得られる。
【００１８】
特許文献１に記載された手法では、任意の入力画像に対応できるよう、教師画像として多様な自然画像が用いられる。このため、多種多様なカテゴリの画像が教師画像として用いられることになる。また、学習に使用される教師画像における画像上での被写体の解像度は多種多様となり、さらに、高解像度化の対象となる入力画像についても、画像上の被写体の解像度が多種多様になる。
【００１９】
多種多様なカテゴリの画像が教師画像として用いられた場合、スポーツ選手の顔画像を入力に取った際に、例えば学習した政治家の顔といった別カテゴリの画像の特徴が推定されるなどの誤りが発生し、高解像度化の精度が低下する可能性がある。特に、教師データの枚数が不十分である場合や、教師データのカテゴリの偏りがある場合、入力画像と同カテゴリの教師画像の数が不足していると、そのカテゴリの特徴が推定されづらくなる。本実施形態では、入力画像と同一の被写体または同一カテゴリの被写体を撮像装置１０５で撮影し、教師画像とする。これにより、学習部３０９は、入力画像と同じカテゴリの画像のみを用いて十分に学習することができる。結果、上述したような別カテゴリの特徴が推定される誤りが低減または解消される。
【００２０】
次に、高解像度化の対象となる入力画像において被写体の解像度が多種多様となることにより生じる課題について説明する。図５は、獲得した画像（入力画像と同じカテゴリの画像）を用いて学習および高解像度化を行う手順を示す図である。まず、撮影した教師画像を低解像度化し、劣化画像を得る。次に、低解像度な劣化画像と高解像度な教師画像とを写像する関数を、ニューラルネットワークの学習部３０９に学習させる。この学習の結果として得られるニューラルネットワークのパラメータを、重みパラメータと呼ぶ。図５では、劣化画像と教師画像の対として、劣化画像５０１と教師画像５０２、劣化画像５０３と教師画像５０４の対が示されている。学習により得られた重みパラメータに基づいて、高解像度化部３１０は低解像度な入力画像５０５を高解像度化して出力画像５０６を出力し、低解像度な入力画像５０７を高解像度化して出力画像５０８を出力する。
【００２１】
被写体（選手）が画面の手前に映るか奥に映るかによって、撮像された画像上での被写体の解像度が変化する。したがって、高解像度化部３１０には、入力画像５０５と入力画像５０７のように、異なる解像度の画像が高解像度化部３１０に入力される。この多様な解像度に対処できるよう、学習時には、入力されうる各解像度の劣化画像を用意して学習を行う。しかし、複数の解像度の劣化画像を学習したことにより、推定が不安定となり、出力画像にボケやリンギングが含まれるという精度低下が生じる。
【００２２】
また、この場合、高解像度化部３１０の内部の挙動は次のようになっていると考えられる。まず、高解像度化部３１０は、入力画像５０７の解像度が学習した中のどの解像度であるかを推定する。次に、その解像度に応じた高周波成分を追加し、高解像度化を行う。しかし、解像度の推定に誤差が生じると、不適切な高周波成分が追加され、推定の精度が低下する。
【００２３】
以上のような、多様な解像度の画像に関する課題を解決するための本実施形態による学習および高解像度化の概要を図６に示す。学習部３０９には劣化画像５０１，５０３と教師画像５０２，５０４に加えて、それぞれの劣化画像上での被写体の解像度を表す情報６０１、情報６０２が与えられ、学習部３０９はこれらを用いて重みパラメータを学習する。すなわち、学習部３０９は、教師画像と劣化画像と、劣化画像上の被写体の解像度を示す解像度情報とを用いて、入力画像を高解像度化するための推定部（例えばニューラルネットワーク）の学習を行う。また、高解像度化部３１０は、入力画像と当該入力画像の解像度情報を、学習部３０９により学習された推定部に入力して、入力画像を高解像度化した画像を得る。図示の例では、高解像度化部３１０には入力画像５０５，５０７だけでなく、それぞれの入力画像上での被写体の解像度を表す情報６１１、情報６１２が与えられ、高解像度化部３１０は、これらを用いて入力画像の高解像度化を行う。このように、入力画像上での被写体の解像度を用いることにより、高解像度化部３１０において、入力画像の解像度の推定の誤りが抑制される。結果、入力画像に多様な解像度の画像が含まれる場合でも、高解像度化部３１０は高い精度で高解像度化を実現することができる。なお、画像と共に入力される情報６０１、６０２、６１１、及び６１２は、画像上での被写体の解像度を直接示すパラメータであってもよいし、解像度に関わるその他の情報であってもよい。例えば、被写体の位置を示すパラメータや、被写体の位置と撮像装置の位置との距離を示すパラメータや、撮像装置の画角を示すパラメータや、撮像レンズの焦点距離を示すパラメータや、撮像センサの画素数を示すパラメータなどが入力されてもよい。
【００２４】
以下、第１実施形態の画像処理装置１０２の機能構成と処理について、図３および図４Ａ、４Ｂを参照して説明する。図３は、画像処理装置１０２の機能構成例を示すブロック図である。図４Ａは、第１実施形態の画像処理装置１０２による学習処理を示すフローチャートである。図４Ｂは、第１実施形態の画像処理装置１０２による推定処理（高解像度化）を説明するフローチャートである。画像処理装置１０２において、ＣＰＵ２０１は、ＲＯＭ２０３に格納されたプログラムを、ＲＡＭ２０２をワークメモリとして用いて実行することにより、図３に示す各構成部として機能し、図４Ａ，４Ｂのフローチャートに示す一連の処理を実行する。なお、以下に示す処理の全てがＣＰＵ２０１によって実行される必要はなく、処理の一部または全部が、ＣＰＵ２０１以外の一つ又は複数の処理回路によって行われるように画像処理装置１０２が構成されてもよい。以下、各構成部により行われる処理の流れを説明する。
【００２５】
ステップＳ４０１において、教師原画像取得部３０１は、高解像度で被写体を撮影する撮像装置１０５から、または記憶部２０４から、教師原画像を取得する。教師原画像取得部３０１は、取得した教師原画像を切り出し部３０５に供給する。ステップＳ４０２において、位置取得部３０３は、教師原画像中の被写体の実空間での位置を取得する。被写体の実空間での位置は、図１のように複数の位置から被写体を撮影することで、三角測量の原理や三次元形状推定の手法に基づいて求めることができる。なお、デプスカメラやＧＰＳや光波測距儀やジャイロセンサといった、追加のセンサを用いて被写体の実空間での位置を求めるようにしてもよい。また、被写体が床面上に存在すると仮定し、被写体を床面に投影することにより被写体の三次元位置を求めてもよい。位置取得部３０３は、取得した被写体の実空間での位置を解像度算出部３０６に出力する。
【００２６】
ステップＳ４０３において、パラメータ取得部３０４は、撮像装置１０５について、焦点距離やカメラ位置（実空間におけるカメラの位置）といったカメラパラメータを取得する。パラメータ取得部３０４は、得られたカメラパラメータを、解像度算出部３０６に出力する。ステップＳ４０４において、解像度算出部３０６は、被写体の実空間での位置とカメラパラメータに基づいて、教師原画像上での被写体の解像度を算出する。本実施形態では、画像上で顔が占める領域（画像上での被写体の領域）の縦横いずれかの画素数ｎを、画像上での被写体の解像度とする。画像上の被写体の解像度（画像上で、被写体の画像が占める領域の大きさ）を示す解像度情報（画素数ｎ）は、例えば、以下の［数１］に従って算出される。
【数１】
2020201823.tif 000003
【００２７】
［数１］において、ｆは焦点距離、ｄは撮像装置から被写体までの距離（カメラパラメータのカメラ位置と位置取得部３０３が取得した被写体の位置から得られる)、ａは予め決めておいた実空間での顔の縦方向のサイズ、ｓはセンサの縦方向のサイズ、ｍはセンサの縦方向の画素数である。ただし、ａを実空間での顔の横方向のサイズ、ｓをセンサの横方向のサイズ、ｍをセンサの横方向の画素数としてもよい。距離ｄは、被写体の実空間での位置とカメラ位置から算出される。本実施形態では、画像上での被写体の領域を正方形と仮定しているがこれに限られるものではなく、例えば、長方形、円、楕円などが用いられてもよい。なお、解像度として、被写体の画像の鮮鋭度や、被写体の画像に含まれる高周波成分の強度といった値を用いてもよい。また、画像の領域分割や高精度な顔検出手法などに基づき、解像度を被写体の位置の情報以外から算出してもよい。得られた被写体の解像度は、対応付け部３０７に出力される。
【００２８】
ステップＳ４０５において、切り出し部３０５は、ステップＳ４０１で取得した教師原画像から、被写体の映っている領域を切り出し、教師画像を得る。切り出し部３０５は、例えば、教師原画像に顔検出手法を適用することによって自動的に領域（教師画像）の切り出しを行う。得られた教師画像は対応付け部３０７に出力される。なお、位置取得部３０３により複数の被写体の位置が検出されている場合、対応付け部３０７は、後述のステップＳ４０６で、解像度算出部３０６が算出した複数の被写体の解像度のうちのいずれかを切り出し部３０５が切り出した被写体に対応付けることになる。そのため、切り出し部３０５は、切り出した被写体の教師原画像における位置を対応付け部３０７に通知する。対応付け部３０７は、切り出し部３０５から通知された位置と位置取得部３０３が取得した複数の被写体の実空間の位置に基づいて、切り出された教師画像に写る被写体に対応する被写体を判定する。そして、対応付け部３０７は、切り出された教師画像に写る被写体と、対応すると判定した被写体について解像度算出部３０６が算出した解像度を対応付ける。
【００２９】
なお、切り出し部３０５は、ステップＳ４０２乃至Ｓ４０４で算出された実空間中での被写体位置と画像上での被写体の解像度とに基づいて切り出しを行うようにしても良い。この切り出し方法について、図７を用いて説明する。なお、この場合、切り出し部３０５は、位置取得部３０３から被写体の位置を受け取り、解像度算出部３０６から解像度を受け取る。また、この場合、対応付け部３０７は、切り出し部３０５が採用した被写体について解像度算出部３０６が算出した解像度を、教師画像に写る被写体の解像度として対応付けることができる。
【００３０】
図７は、第１実施形態の切り出し部３０５による、実空間における被写体位置とその解像度（大きさ）を用いた画像の切り出し処理を説明する図である。被写体の切り出し枠７０１を算出するためには、画像上での被写体サイズ７０３と、画像上での被写体中心位置７０２を求めればよい。画像上での被写体サイズ７０３は、実空間での被写体の解像度から［数１］に従って算出される。また、画像上での被写体中心位置ｚは、教師原画像の中心を原点とする画像座標上で、例えば以下の［数２］、［数３］により計算される。
【数２】
2020201823.tif 000004
【数３】
2020201823.tif 000005
【００３１】
ｓは被写体の実空間上での位置、ｃはカメラの実空間上での位置、ｎはカメラの光軸方向を表す単位ベクトル、ｅyは画像のｙ軸方向を表す単位ベクトルであり、全て要素数３のベクトルである。また、ｆは焦点距離、ｐは撮像素子上での単位距離当たりの画素数、Ｒは世界座標系からカメラ座標系への変換を行う２行３列の変換行列である。カメラの光軸は、入軸原画像の中心を通過するものとする。
【００３２】
切り出し枠を正確に算出することにより、不均質な切り出しの発生を抑制できる。図８は、画像からの被写体の不均質な切り出しを説明する図である。画像８０１は、被写体を適切な大きさで中央にとらえた好適な切り出しの例である。画像８０２は、画像中心からずれた位置に被写体が存在するように切り出された例であり、画像８０３は、切り出しの枠に対して被写体が大きすぎる例である。上述の切り出し処理によれば、これら不均質な切り出しが発生することが抑制され、画像８０１のような適切な切り出しを一律で行うことができる。これにより、学習コストの低減や精度の向上が実現できる。
【００３３】
なお、撮像装置で被写体のみを撮像する場合や、記憶部２０４から被写体の映っている領域のみの画像を取り出す場合は、切り出しを行わなくて良い。その場合、教師原画像は教師画像として、入力原画像は入力画像として用いられる。
【００３４】
ステップＳ４０６において、対応付け部３０７は、ステップＳ４０５で切り出された教師画像とその解像度（解像度はステップＳ４１４で算出される）を対にしたデータ対を作成し、データセット生成部３０８に出力する。ステップＳ４０７において、データセット生成部３０８は、対応付け部３０７から受け取った教師画像を低解像度化して劣化画像を生成し、生成した劣化画像における被写体の解像度を取得し、データセットを生成する。劣化画像における被写体の解像度は、対応付け部３０７から受け取った、教師画像における被写体の解像度と、低解像度化における解像度の変更量とに基づいて、データセット生成部３０８により生成される。データセットには複数の学習データが含まれる。
【００３５】
図９は、データセットを構成する学習データの例を示す図である。データセット生成部３０８は、切り出し部３０５から提供された教師画像９０３を入力画像相当に低解像度化する処理を行った劣化画像９０２を得る。低解像度化には、教師画像の複数の画素値の平均を劣化画像の画素値として画像を縮小する面積平均法を用いることができる。縮小した結果の被写体の解像度（画素数）を、劣化画像上での被写体の解像度の情報９０１（図示の例では解像度＝２０）とする。なお、ｂｉｃｕｂｉｃ法などの補間手法や、短い焦点距離で教師画像を撮影する過程を再現する手法に基づいた低解像度化を行っても構わない。また、劣化画像上での被写体の解像度は、例えば、教師画像の解像度を１／ｎに低下させて劣化画像を生成した場合に、［教師画像上での被写体の解像度］／ｎにより求めてもよい。
【００３６】
得られた劣化画像の解像度、劣化画像、教師画像の３つのデータを組にしたものを学習データと呼び、入力された各教師画像について生成した学習データの集合をデータセットとする。本例での解像度のように、画像の性質を説明する情報を付帯情報と呼ぶ。また、教師画像９０３を別の解像度へ低解像度化することで、劣化画像９０２とは別の劣化画像９０５が得られ、別の学習データが得られる。例えば、劣化画像９０２は教師画像９０３を解像度＝２０へ劣化させた画像であり、劣化画像９０５は教師画像９０３を解像度５０へ劣化させた画像である。これにより、教師画像９０３、劣化画像９０２、解像度の情報９０１（＝２０）の学習データと、教師画像９０３、劣化画像９０５、解像度の情報９０４（＝５０）の学習データを有するデータセットが得られる。
【００３７】
データセット生成時には、入力画像として存在しうる各々の解像度の劣化画像が生成されるようにする。例えば、入力画像の解像度の候補の集合をΛとすると、データセット生成部３０８は、学習データを生成する際、ある解像度ｒ∈Λをランダムに選び、その解像度ｒへ低解像度化した劣化画像を生成する。なお、上記では１つの教師画像をもとに解像度の異なる複数の劣化画像を生成し、複数の学習データを生成するデータ拡張を行うようにしたが、これに限られるものではなく、解像度ごとに異なる教師画像が用いられるようにしても構わない。また、Λの全ての要素（解像度）について劣化画像を生成し、１つの教師画像をもとにΛの要素数個の学習データを生成しても構わない。生成されたデータセットは、学習部３０９に出力される。
【００３８】
ステップＳ４０７において、学習部３０９は、データセット内の各学習データを畳み込みニューラルネットワークに学習させる。学習部３０９は、学習データのうちの劣化画像と付帯情報の２つの入力を取り、学習データのうちの教師画像を出力に取るような畳み込みニュ−ラルネットワークを内部に有する。この畳み込みニューラルネットワークに劣化画像が入力されると、複数の畳み込み層によって画像特徴が抽出され、その特徴に応じて高解像度画像が推定される。もう１つの入力である付帯情報は、抽出された画像特徴に付加され、推定の手掛かりとして用いられる。
【００３９】
なお、入力する画像のサイズに制約のあるニューラルネットワークを用いる場合、劣化画像と教師画像を、例えばｂｉｃｕｂｉｃ法により拡大・縮小してから上記学習処理に適用する。なお、拡大・縮小アルゴリズムはｂｉｃｕｂｉｃ法に限られるものではなく、例えば、ｂｉｌｉｎｅａｒ法、ｃｏｓｉｎｅ法などが用いられてもよい。学習されたニューラルネットワークの重みパラメータは、高解像度化部３１０に入力される。
【００４０】
次に、学習部３０９によって学習されたニューラルネットワークを用いた推定処理による入力画像の高解像度化の処理を図４Ｂのフローチャートを参照して説明する。なお、ステップＳ４１１〜Ｓ４１５の処理は、ステップＳ４０１〜Ｓ４０５の処理と同様であり、撮像装置１０５を撮像装置１０１に、教師原画像を入力原画像に、教師画像を入力画像に読み替えた処理である。
【００４１】
ステップＳ４１１において、入力原画像取得部３０２は、低解像度で被写体を撮影する撮像装置１０１から、または記憶部２０４から、入力原画像を取得する。取得された教師原画像と入力原画像は、切り出し部３０５に供給される。ステップＳ４１２において、位置取得部３０３は、ステップＳ４０２と同様の処理により、入力原画像中の被写体の実空間での位置を取得する。ステップＳ４１３において、パラメータ取得部３０４は、入力原画像を撮影した撮像装置１０１について、焦点距離やカメラ位置といったカメラパラメータを取得する。パラメータ取得部３０４は、得られたカメラパラメータを、解像度算出部３０６に出力する。
【００４２】
ステップＳ４１４において、解像度算出部３０６は、被写体の実空間での位置とカメラパラメータに基づいて、撮像装置１０１で撮影された入力原画像上での被写体の解像度を算出する。処理の詳細は、ステップＳ４０４と同様である。算出された解像度は、対応付け部３０７へ出力される。ステップＳ４１５において、切り出し部３０５は、ステップＳ４０５と同様の処理により、ステップＳ４１１で取得した入力原画像から、被写体の映っている領域を切り出し、入力画像を得る。切り出し部３０５は、入力原画像に顔検出手法を適用することによって自動的に領域（入力画像）の切り出しを行う。得られた入力画像は対応付け部３０７に出力される。
【００４３】
ステップＳ４１６において、対応付け部３０７は、ステップＳ４１５で切り出された入力画像とその解像度（解像度はステップＳ４１４で算出される）を対にした入力データ対を作成する。対応付け部３０７は、作成した入力データ対を、高解像度化部３１０に出力する。ステップＳ４１７において、高解像度化部３１０は図４Ａの学習処理で学習された重みパラメータを用いたニューラルネットワークにより、入力画像の高解像度化を行う。ニューラルネットワークの構造は、学習部３０９で用いたものと同じとする。すなわち、高解像度化部３１０は、対応付け部３０７で得られた入力データ対（入力画像と被写体の解像度の対）を、学習された重みパラメータが設定されたニューラルネットワークに入力し、対応する高解像度画像を生成、出力する。なお、入力する画像のサイズに制約のあるニューラルネットワークを用いる場合、学習部３０９と同様、入力画像を拡大・縮小する。
【００４４】
以上、第１実施形態によれば、ある撮像装置により取得した被写体の入力画像を、別の撮像装置により取得した高解像度の教師画像を用いた学習に基づく推定処理によって、高い精度で高解像度化することができる。また、入力画像に多様な解像度の画像が含まれる場合にも、その解像度の情報をニューラルネットワークに与えることで、正しく高解像度画像を推定することができる。
【００４５】
［第２実施形態］
第１実施形態では、学習時には劣化画像と付帯情報の対と教師画像とを写像する関数を求め、推定時には入力画像と付帯情報の対を入力に取って高解像度化を行う例を示した。但し、ニューラルネットワークの構造上、テンソルで表される画像データとスカラーで表される付帯情報を同列の入力として用いることが困難である場合もある。そこで第２実施形態では、画像のみを入力に取るニューラルネットワークを、付帯情報で表される種別に応じて複数並立させる構成を説明する。
【００４６】
以下、第２実施形態の学習部３０９の構成について、図１０を参照して説明する。図１０は、第２実施形態による学習部３０９の機能構成例を示すブロック図である。学習部３０９は、複数のニューラルネットワーク（ニューラルネットワーク群１００３）を内部に保持する。ニューラルネットワーク群１００３のそれぞれのニューラルネットワークは、特定の解像度の学習データを専門に学習する。この解像度を担当解像度と呼ぶ。例えば、第２実施形態では、ニューラルネットワーク［１］の担当解像度が２０、ニューラルネットワーク［２］の担当解像度が３０、ニューラルネットワーク［３］の担当解像度が４０である。
【００４７】
データセット取得部１００１はデータセット生成部３０８で生成されたデータセットを取得する。重み算出部１００２は、そのデータセット内の各学習データについて、付帯情報とニューラルネットワークの担当解像度を比較し、その類似度が高いほど値が大きくなるような重み値を付与する。例えば、解像度が２０の学習データについては、ニューラルネットワーク［１］に対しては重み値＝１．０、ニューラルネットワーク［２］に対しては重み値＝０．５、ニューラルネットワーク［３］に対しては重み値＝０．３といったように計算される。得られた重み値は、学習データとともにニューラルネットワーク群１００３に出力される。
【００４８】
ニューラルネットワーク群１００３の各ニューラルネットワークは、学習データ内の劣化画像と教師画像とを写像する関数の重みパラメータを学習する。このとき、重み値の大きい学習データほどそのニューラルネットワークに学習される回数を増やす。なお、重み値がある閾値以下である場合は学習を行わないようにしても良い。また、重み値が小さいほどニューラルネットワークの学習率を小さくするようにしてもよい。こうして、学習部３０９では、ニューラルネットワークの担当解像度が劣化画像上の被写体の解像度に近いほど、そのニューラルネットワークにおける当該劣化画像とその教師画像とによる学習の影響が大きくなるようにしている。
【００４９】
高解像度化部３１０は、少なくとも学習部３０９のニューラルネットワーク群１００３と同数のニューラルネットワークを有するニューラルネットワーク群を有する。推定時において、高解像度化部３１０は、入力データ対に含まれている解像度と等しい担当解像度のニューラルネットワークに、入力データ対に含まれている入力画像を入力し、高解像度化を行う。
【００５０】
なお、１つのニューラルネットワークが複数の担当解像度を有しても良い。例えば、ニューラルネットワーク［１］が解像度２０〜２９の学習データを学習し、ニューラルネットワーク［２］が解像度３０〜３９の学習データを学習するなどとしても良い。また、解像度算出部で得られた入力画像の解像度の情報に基づき、各ニューラルネットワークの担当解像度を決定しても良い。例えば、解像度の最小値と最大値の間の区間を等分するようにニューラルネットワークの担当解像度を決めても良い。
【００５１】
以上のように、第２実施形態によれば、テンソルとスカラーといった２種類の量を同時に１つのニューラルネットワークに入力する必要がなくなる。結果として、ニューラルネットワークがこれら２つの情報をより正しく利用でき、高解像度化の精度の向上を実現できる。
【００５２】
［実施形態３］
第１実施形態では、教師画像および入力画像の特性を説明する付帯情報として、被写体の解像度を、学習部３０９および高解像度化部３１０への入力として用いることで、高解像度化の精度を向上させる手法を示した。第３実施形態では、付帯情報として解像度以外の追加の情報を用いる構成を説明する。
【００５３】
図１１は、第３実施形態による画像処理装置１０２の機能構成例を示すブロック図である。また、図１２Ａは、第３実施形態の画像処理装置１０２による学習処理を示すフローチャートである。図１２Ｂは、第３実施形態の画像処理装置１０２による推定処理（高解像度化）を示すフローチャートである。以下、図１１、図１２Ａ、図１２Ｂを参照して第３実施形態による画像処理装置１０２の学習処理、高解像度化処理を説明する。付帯情報が多いほど、入力画像に対しどのような高解像度化を行うべきかをより仔細に高解像度化部３１０に教示することができるので、精度向上を実現できる。なお、第１実施形態と共通するハードウエア構成、機能構成および処理に関する説明は割愛する。
【００５４】
ステップＳ１２０１において、同定部１１０１は、複数の被写体を複数の時刻に渡って撮影している場合に、各被写体を同定して被写体ＩＤを付与する。第１実施形態では、観測した被写体の位置を算出しても、別時刻の被写体と同一人物かどうかは分からない。第３実施形態では、トラッキングにより人物を同定し、被写体ごとに一意なＩＤを付与し、属性取得部１１０２と対応付け部１１０３に出力する。なお、人物の同定には、例えば、顔識別、ＧＰＳなどの人物を識別できるセンサの利用など、周知の技術を用いることができる。同定の結果（被写体ＩＤ）は、属性取得部１１０２と対応付け部１１０３へ出力される。
【００５５】
ステップＳ１２０２において、属性取得部１１０２は、被写体ＩＤと被写体属性を対応付ける。被写体属性とは、例えばスポーツ選手を被写体としている場合においては、所属チーム・人種・年代・ポジションなどの情報である。例えば、属性取得部１１０２は、背番号をキーとして被写体属性が登録されたデータベースを事前に作成しておく。属性取得部１１０２は、画像認識により背番号を認識し、データベースを参照して、認識した背番号に対応して登録された被写体属性を被写体ＩＤに対応付ける。なお、データベースのキーは背番号に限られるものではなく、例えば人物の顔が用いられてもよい。属性取得部１１０２は、被写体ＩＤに対応する被写体属性を対応付け部１１０３に出力する。
【００５６】
ステップＳ１２０３において、対応付け部１１０３は、ステップＳ４０５で切り出された教師画像と、その付帯情報である被写体ＩＤおよび被写体属性を組にし、データセット生成部３０８に出力する。なお、複数の被写体の被写体ＩＤ、被写体属性のうちいずれを教師画像の被写体に対応付けるかを判定する方法は、第１実施形態における教師画像の被写体と解像度との対応付けと同様の方法で実現できる。ステップＳ１２０４において、データセット生成部３０８は、教師画像から劣化画像を生成し、教師画像上の被写体の解像度に基づいて劣化画像上の被写体の解像度し、学習データを生成する。すなわち、学習データは、教師画像、それを劣化させた劣化画像、劣化画像の付帯情報を含む。ここで、付帯情報は、第１実施形態と同様の解像度の情報に加えて、被写体ＩＤと被写体属性を含む。なお、被写体ＩＤと被写体属性は、ステップＳ１２０１〜Ｓ１２０２において教師画像について取得された付帯情報と同じ値である。ステップＳ４０７で、学習部３０９は、データセット生成部３０８が生成したデータセットを用いて、ニューラルネットワークの学習を行う。
【００５７】
次に、第３実施形態の高解像度化部３１０による推定処理を図１２Ｂのフローチャートを参照して説明する。なお、ステップＳ１２１１〜Ｓ１２１３の処理は、ステップＳ１２０１〜Ｓ１２０３の処理と同様であり、撮像装置１０５を撮像装置１０１に、教師原画像を入力原画像に、教師画像を入力画像に読み替えた処理である。
【００５８】
ステップＳ１２１１において、同定部１１０１は、複数の被写体を複数の時刻に渡って撮影している場合に、各被写体を同定して被写体ＩＤを付与し、属性取得部１１０２と対応付け部１１０３に出力する。ステップＳ１２１２において、属性取得部１１０２は、被写体ＩＤと被写体属性を対応付ける。ステップＳ１２１３において、対応付け部１１０３は、ステップＳ４１５で切り出された入力画像と、その付帯情報である被写体ＩＤおよび被写体属性を組にし、高解像度化部３１０へ出力する。ステップＳ４１７において、高解像度化部３１０は、図１２Ａの学習処理で学習された重みパラメータを用いたニューラルネットワークにより、入力画像の高解像度化を行う。ニューラルネットワークの構造は、学習部３０９で用いたものと同じとする。すなわち、高解像度化部３１０は、対応付け部１１０３で得られた入力データ対（入力画像と付帯情報（解像度、被写体ＩＤ、被写体属性）の対）を、学習された重みパラメータが設定されたニューラルネットワークに入力し、高解像度画像を生成、出力する。
【００５９】
以上の被写体ＩＤと被写体属性は、入力画像に映っている物体を説明する重要な情報であり、高解像度化の精度の向上に寄与する。なお、入力画像を説明するための付帯情報は上記の例に限定されない。例えば、被写体の移動方向、被写体の地面からの高度、撮影時の照明条件を付帯情報として利用しても構わない。被写体の移動方向は、被写体のトラッキング結果に基づき、隣接フレーム間での位置の差分を取ることで算出できる。撮影時の照明条件としては、日照の有無、光源方向、光源強度などの情報を利用することができる。
【００６０】
なお、付帯情報は、必ずしも上記全てを含む必要はなく、一部のみを用いても構わない。また、第３実施形態の付帯情報を第２実施形態の付帯情報として用いても構わない。付帯情報が複数種類の情報で構成される場合、付帯情報をベクトルとして扱えばよい。例えば、学習時には、各ニューラルネットワークが担当する付帯情報（担当付帯情報）のベクトルと教師画像の付帯情報のベクトルの類似度により学習の重み値を設定する。そして、推定時には、入力画像の付帯情報のベクトルとの類似度が最も高い担当付帯情報が設定されているニューラルネットワークを用いて当該入力画像の高解像度化を行う。
【００６１】
以上のように、第３実施形態によれば、ニューラルネットワークの学習とそれを用いた画像の高解像度化において、画像上の被写体の解像度に加えて、被写体を特定する情報および被写体の属性情報が用いられる。このため、より高精度な推定（高解像度化）が可能になる。
【００６２】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００６３】
発明は上記実施形態に制限されるものではなく、様々な変更及び変形が可能である。
【符号の説明】
【００６４】
３０１：教師原画像取得部、３０２：入力原画像取得部、３０３位置取得部、３０４：パラメータ取得部、３０５：切り出し部、３０６解像度算出部、３０７：対応付け部、３０８：データセット生成部、３０９：学習部、３１０：高解像度化部
【図１】
2020201823.tif 000006
【図２】
2020201823.tif 000007
【図３】
2020201823.tif 000008
【図４Ａ】
2020201823.tif 000009
【図４Ｂ】
2020201823.tif 000010
【図５】
2020201823.tif 000011
【図６】
2020201823.tif 000012
【図７】
2020201823.tif 000013
【図８】
2020201823.tif 000014
【図９】
2020201823.tif 000015
【図１０】
2020201823.tif 000016
【図１１】
2020201823.tif 000017
【図１２Ａ】
2020201823.tif 000018
【図１２Ｂ】
2020201823.tif 000019