IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特開2024-125014情報処理装置、情報処理方法、及びプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024125014
(43)【公開日】2024-09-13
(54)【発明の名称】情報処理装置、情報処理方法、及びプログラム
(51)【国際特許分類】
   G06N 3/045 20230101AFI20240906BHJP
   G06N 20/00 20190101ALI20240906BHJP
【FI】
G06N3/045
G06N20/00
【審査請求】未請求
【請求項の数】18
【出願形態】OL
(21)【出願番号】P 2023033068
(22)【出願日】2023-03-03
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】齊藤 翔
(57)【要約】      (修正有)
【課題】機械学習モデルの切り換えをより高速に行う情報処理装置、情報処理方法及びプログラムを提供する。
【解決手段】第1の機械学習モデルを用いて入力に対する推論を行う。所定の条件を満たすことに応じて、推論に用いる機械学習モデルを、第1の機械学習モデルのネットワーク構造の構成部の一部が少なくとも変更された第2の機械学習モデルを選択する。ここで、第1の機械学習モデルは、第1の構成部と第2の構成部とを有し、第2の機械学習モデルは、第1の構成部又は第2の構成部における、ノード間のパラメータ又はパスの一部を変更した構成部を少なくとも有する。
【選択図】なし
【特許請求の範囲】
【請求項1】
第1の機械学習モデルを用いて入力に対する推論を行う推論手段と、
所定の条件を満たすことに応じて、前記推論に用いる機械学習モデルを、前記第1の機械学習モデルのネットワーク構造の構成部の一部が少なくとも変更された第2の機械学習モデルを選択する選択手段と、
を備え、
前記第1の機械学習モデルは、第1の構成部と第2の構成部とを有し、
前記第2の機械学習モデルは、前記第1の構成部又は前記第2の構成部における、ノード間のパラメータ又はパスの一部を変更した構成部を少なくとも有することを特徴とする、情報処理装置。
【請求項2】
前記第1の機械学習モデルは、前記第1の構成部として第1のパラメータ及び第1のパラメータとは異なる第2のパラメータを備える第1の推論部と、前記第2の構成部として第1の推論部の出力を入力とする第2の推論部と、を備え、
前記第2の機械学習モデルは、前記第1の推論部における前記第2のパラメータを前記第1のパラメータへと置換した第3の推論部と、前記第3の推論部の出力を入力とする、前記第2の推論部と同じネットワーク構造を有する第4の推論部と、を備えることを特徴とする、請求項1に記載の情報処理装置。
【請求項3】
前記第1の機械学習モデルは、前記第1の構成部として第1の推論処理による第1の出力及び第2の推論処理による第2の出力を出力する第1の推論部と、前記第2の構成部として前記第1の出力及び第2の出力を入力とする第2の推論部と、を備え、
前記第2の機械学習モデルは、第1の推論処理による第1の出力を出力する第5の推論部と、前記第1の出力と、過去に出力された前記第2の出力とを入力とする第6の推論部と、を備えることを特徴とする、請求項1に記載の情報処理装置。
【請求項4】
前記所定の条件は、前記情報処理装置の動作状態が所定の状態である場合に満たされることを特徴とする、請求項1に記載の情報処理装置。
【請求項5】
前記動作状態は、前記推論におけるリソースの使用状態を含むことを特徴とする、請求項4に記載の情報処理装置。
【請求項6】
前記選択手段は、所定の期間における前記リソースの使用率が所定の閾値よりも高い期間が所定の割合以上である場合に、前記推論に用いる機械学習モデルを、前記第1の機械学習モデルより推論時のリソース消費量が少ない機械学習モデルである前記第2の機械学習モデルに切り換えることを特徴とする、請求項5に記載の情報処理装置。
【請求項7】
前記選択手段は、所定の期間における前記リソースの使用率が所定の閾値よりも高い期間が所定の割合以上である場合に、前記第1の機械学習モデルよりも層の数が少ない前記第2の機械学習モデルを選択することを特徴とする、請求項5に記載の情報処理装置。
【請求項8】
前記推論に関するユーザ設定を取得する取得手段をさらに備え、
前記所定の条件は、前記ユーザ設定が所定の状態である場合に満たされることを特徴とする、請求項1に記載の情報処理装置。
【請求項9】
前記取得手段は、前記ユーザ設定として、前記推論において速度と精度とのどちらを優先するかの設定を取得し、
前記選択手段は、前記推論において速度を優先すると設定されている場合には、前記推論に用いる機械学習モデルを、前記第1の機械学習モデルより推論の速度が速い機械学習モデルである前記第2の機械学習モデルに切り換え、前記推論において精度を優先すると設定されている場合には、前記推論に用いる機械学習モデルを、前記第1の機械学習モデルより推論の精度が高い機械学習モデルである前記第2の機械学習モデルに切り換えることを特徴とする、請求項8に記載の情報処理装置。
【請求項10】
前記推論は、入力された劣化画像を復元する処理であり、
前記取得手段は、ユーザ設定として、前記復元における画質の設定を取得し、
前記選択手段は、前記復元における画質の設定が変更されている場合に前記所定の条件を満たすこととして、前記推論に用いる機械学習モデルを前記第2の機械学習モデルに切り換えることを特徴とする、請求項8に記載の情報処理装置。
【請求項11】
前記推論は、入力された劣化画像を復元する処理であり、
前記取得手段は、ユーザ設定として、前記復元の程度の設定を取得し、
前記選択手段は、前記復元の程度の設定が変更されている場合に前記所定の条件を満たすこととして、前記推論に用いる機械学習モデルを前記第2の機械学習モデルに切り換えることを特徴とする、請求項8に記載の情報処理装置。
【請求項12】
前記推論は、入力された劣化画像を復元する処理であり、
前記取得手段は、ユーザ設定として、前記入力された劣化画像が屋内で撮像されているか屋外で撮像されているかの設定を取得し、
前記選択手段は、前記入力された劣化画像が屋内で撮像されているか屋外で撮像されているかの設定が変更されている場合に前記所定の条件を満たすこととして、前記推論に用いる機械学習モデルを前記第2の機械学習モデルに切り換えることを特徴とする、請求項8に記載の情報処理装置。
【請求項13】
前記推論は、入力された劣化画像を復元する処理であり、
前記取得手段は、ユーザ設定として、前記入力された劣化画像を撮像した撮像装置に関する設定を取得し、
前記選択手段は、前記入力された劣化画像が所定の撮像装置によって撮像された場合に前記所定の条件を満たすこととして、前記推論に用いる機械学習モデルを前記第2の機械学習モデルに切り換えることを特徴とする、請求項8に記載の情報処理装置。
【請求項14】
前記推論は、入力された劣化画像を復元する処理であることを特徴とする、請求項1に記載の情報処理装置。
【請求項15】
前記劣化画像は、ノイズ、圧縮、低解像度、ボケ、収差、欠損、又はコントラスト低下により劣化している画像であることを特徴とする、請求項14に記載の情報処理装置。
【請求項16】
前記推論は、入力された画像中の被写体のクラス分類を行う処理であることを特徴とする、請求項1に記載の情報処理装置。
【請求項17】
第1の機械学習モデルを用いて入力に対する推論を行う工程と、
所定の条件を満たすことに応じて、前記推論に用いる機械学習モデルを、前記第1の機械学習モデルのネットワーク構造の構成部の一部が少なくとも変更された第2の機械学習モデルを選択する工程と、
を備え、
前記第1の機械学習モデルは、第1の構成部と第2の構成部とを有し、
前記第2の機械学習モデルは、前記第1の構成部又は前記第2の構成部における、ノード間のパラメータ又はパスの一部を変更した構成部を少なくとも有することを特徴とする、情報処理方法。
【請求項18】
コンピュータを、請求項1乃至16の何れか一項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
近年、機械学習が様々な情報処理アプリケーションプログラムに応用されている。機械学習を利用する情報処理は、例えば劣化画像を復元する画像処理、又は画像中の物体の種類を判定するクラス分類など、様々である。
【0003】
非特許文献1には、第1のノイズ除去部と第2のノイズ除去部の二段階構成のモデルで動画のノイズ除去を行う方法が開示されている。また、特許文献1には、演算性能が異なる複数の装置で認識処理を行う方法が開示されている。特許文献1では、データの認識に要する応答時間を算出し、応答時間が閾値を超えるようであればモデルをより高速なモデルに切り換える。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2021-77129号公報
【非特許文献】
【0005】
【非特許文献1】“FastDVDnet: Towards Real-Time Deep Video Denoising Without Flow Estimation”,Matias, Tassano; Julie, Delon; Thomas, Veit, Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2020, pp. 1354-1363
【発明の概要】
【発明が解決しようとする課題】
【0006】
実行環境に応じてモデルを切り換えたいというニーズがある。例えば、モデル実行環境のCPU/GPUなどのリソース使用状態に応じて、高精度だが高負荷低速のモデルと低負荷かつ高速だが低精度のモデルとを切り換えたい場合が考えられる。しかしながら、特許文献1に開示された方法では、モデルを切り換える際に使用するモデルを初期化する必要があり、切り換えに大きく時間がかかる場合があるという課題があった。
【0007】
本発明は、機械学習モデルの切り換えをより高速に行うことを目的とする。
【課題を解決するための手段】
【0008】
本発明の目的を達成するために、例えば、一実施形態に係る情報処理装置は以下の構成を備える。すなわち、第1の機械学習モデルを用いて入力に対する推論を行う推論手段と、所定の条件を満たすことに応じて、前記推論に用いる機械学習モデルを、前記第1の機械学習モデルのネットワーク構造の構成部の一部が少なくとも変更された第2の機械学習モデルを選択する選択手段と、を備え、前記第1の機械学習モデルは、第1の構成部と第2の構成部とを有し、前記第2の機械学習モデルは、前記第1の構成部または前記第2の構成部における、ノード間のパラメータ又はパスの一部を変更した構成部を少なくとも有する。
【発明の効果】
【0009】
機械学習モデルの切り換えをより高速に行う。
【図面の簡単な説明】
【0010】
図1】実施形態1に係る情報処理システムの構成の一例を示すブロック図。
図2】実施形態1に係る情報処理装置の機能構成の一例を示すブロック図。
図3】実施形態1に係る情報処理装置における学習処理を説明するための図。
図4】実施形態1に係る情報処理装置が用いるモデルの構成の一例を示す図。
図5】実施形態1に係る劣化付与処理について説明するための図。
図6A】実施形態1に係るモデルのネットワーク構造の一例を示す図。
図6B】実施形態1に係るモデルのネットワーク構造の一例を示す図。
図6C】実施形態1に係るモデルのネットワーク構造の一例を示す図。
図6D】実施形態1に係るモデルのネットワーク構造の一例を示す図。
図6E】実施形態1に係るモデルのネットワーク構造の一例を示す図。
図7】実施形態1に係るモデルの特性の一例を示す図。
図8】実施形態1に係る、複数GPUを用いて推論を行う処理を説明するための図。
図9A】実施形態1に係る学習処理の一例を示すフローチャート。
図9B】実施形態1に係る復元処理の一例を示すフローチャート。
図9C】実施形態1に係るモデルの切り換え処理の一例を示すフローチャート。
図10】実施形態2に係る情報処理装置の機能構成の一例を示すブロック図。
図11】実施形態2に係る設定画面の一例を示す図。
図12A】実施形態2に係るモデルの切り換え処理の一例を示すフローチャート。
図12B】実施形態1に係るユーザ設定の設定処理の一例を示すフローチャート。
図13】実施形態3に係る情報処理装置の機能構成の一例を示すブロック図。
図14】実施形態3に係るモデルのネットワーク構造の一例を示す図。
図15A】実施形態1に係る学習処理の一例を示すフローチャート。
図15B】実施形態1に係るクラス分類処理の一例を示すフローチャート。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0012】
[実施形態1]
本実施形態に係る情報処理装置は、第1の機械学習モデルを用いて入力に対する推論を行う。次いで情報処理装置は、所定の条件を満たすことに応じて、推論に用いる機械学習モデルを、第1の機械学習モデルのネットワーク構造の構成部を切り換えることにより、第2の機械学習モデルに切り換える。
【0013】
[CNNについて]
まず、以下の実施形態において用いる深層学習を応用した情報処理技術全般で用いられている畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)について説明する。CNNは、学習(training又はlearning)により生成したフィルタを画像データに対して畳み込んだ(convolution)後に非線形演算することを繰り返す数理モデルである。CNNにおいて、入力された画像データをフィルタで畳み込んだ後、非線形演算して得られるデータは、特徴マップ(feature map)と呼ばれる。また、CNNの学習は入力画像データと出力画像データのペアからなる学習データ(training images又はdata sets)を用いて行われる。すなわち、入力画像データから対応する出力画像データへ高精度に変換可能なフィルタの値を、学習データから生成することを学習と呼ぶ。
【0014】
画像データがRGBカラーチャンネルを有する場合や、特徴マップが複数枚の画像データから構成されている場合、畳み込みに用いるフィルタも、それに応じて複数のチャンネルを有する。CNNにおいて画像データ(又は特徴マップ)にフィルタを畳み込んだ後、非線形演算する処理は、層(layer)という単位で表され、例えば、n層目の特徴マップやn層目のフィルタなどと表現される。例えば。3層のネットワーク構造を有するCNNは、フィルタの畳み込みと非線形演算を3回繰り返す。このような非線形演算処理は、以下の式(1)のように定式化することができる。
【数1】
【0015】
式(1)において、Wはn層目のフィルタ、bはn層目のバイアス、fは非線形演算子、Xはn層目の特徴マップ、*は畳み込み演算子を表す。なお、(l)はl番目のフィルタ又は特徴マップであることを表している。このフィルタ及びバイアスは、学習により生成され、まとめて「ネットワークパラメータ」とも呼ばれる。非線形演算としては、例えばシグモイド関数(sigmoid function)又はReLU(Rectified Linear Unit)が用いられる。ReLUを用いる場合、CNNにおける非線形演算処理は、例えば以下の式(2)で与えられる。
【数2】
【0016】
式(2)が示すように、入力したベクトルXの要素のうち負のものはゼロ、0以上のものはそのままとなる。
【0017】
CNNを用いたネットワークとしては、画像認識分野のResidual Network(ResNet)や超解像分野におけるその応用であるRED-Netなどが挙げられる。これらのいずれも、CNNを多層にしてフィルタの畳み込みを何度も行うことにより、認識の高精度化を可能としている。例えば、ResNetは畳み込み層をショートカットする経路を設けたネットワーク構造を特徴とし、これにより152層もの多層ネットワークを実現し、人間による認識率に迫る高精度な認識を実現している。多層CNNは、非線形演算を何度も繰り返すことで、入出力間の非線形な関係を表現することにより、認識の高精度化を。
【0018】
[CNNの学習]
次に、CNNの学習について説明する。CNNの学習は、入力画像データと対応する正解出力画像(教師画像)データの組からなる学習データに対して、例えば以下の式(3)で表される目的関数を最小化することで行われる。
【数3】
【0019】
式(3)において、Lは正解と推論結果との誤差を測る損失関数(loss function)である。Yはi番目の正解出力画像データ、Xはi番目の入力画像データである。FはCNNの各層で行う演算(式(1))を、まとめて表した関数である。θはネットワークパラメータ(フィルタ及びバイアス)である。||Z||はL2ノルム、すなわちベクトルZの要素の2乗和の平方根である。nは学習データのデータ組数である。一般に学習データ数は多いため、確率的勾配降下法(Stochastic Gradient Descent:SGD)では、学習データの一部をランダムに選び学習に用いる。また、目的関数の最小化(=最適化)法として、モーメンタム(momentum)法やAdaGrad法、AdaDelta法、又はAdam法など、様々な方法が知られている。Adam法は、以下の式(4)で与えられる。
【数4】
【0020】
式(4)において、tは反復t回目の値であることを表す。θ は反復t回目におけるi番目のネットワークパラメータであり、gはθ に関する損失関数Lの勾配である。m及びvはモーメントベクトル、αは基本学習率(base learning rate)、β及びβはハイパーパラメータ、εは小さい定数である。なお、学習における最適化法はこれに限定されるわけではなく、公知の任意の最適化技術を適用することが可能である。この方法ごとの収束性には違いがあるため、学習時間の違いが生じることが知られており、所望の条件に応じて最適化法を採用することが可能である。
【0021】
本実施形態では、前述したCNNを用いて劣化画像を復元する情報処理(画像処理)を行うものとする。この劣化画像における画像の劣化要素としては、例えばノイズ、ボケ、収差、圧縮、低解像、欠損などの劣化、撮影時の霧・霞・雪・雨などの天候の影響によるコントラスト低下のような劣化などが挙げられる。劣化画像を復元する画像処理としては、ノイズ除去、ボケ除去、収差補正、圧縮による劣化の補正、低解像画像に対する超解像処理、欠損補完、撮影時の天候に起因するコントラスト低下を補正する処理などが挙げられる。本実施形態に係る劣化画像復元処理は、劣化のある画像から、劣化の無い(或いは非常に少ない)画像を生成することにより復元を行う処理であり、以下の説明では画像復元(処理)と呼ぶことにする。すなわち本実施形態に係る画像復元とは、例えば画像自体には劣化が無い(少ない)画像であったものが、その後の増幅若しくは圧縮伸張、又は他の画像処理などで劣化したものを復元する場合だけでなく、元々の画像そのものに含まれる劣化を低減可能にすることも含む。
【0022】
ここで、ニューラルネットワークを用いた画像復元処理を用いる場合、一般に、パラメータ数がより多いニューラルネットワークを用いる場合に、ネットワークの表現力が向上し、より高精度の画像復元を行うことが期待される。一方で、パラメータ数が多いということは演算回数が増えることに繋がるため、推論時間及び推論に必要なメモリ量が増加する。そのため、推論を実施する情報処理装置の計算リソースの多寡及び使用状態に応じて、画像復元処理において用いるべきモデルは異なる。
【0023】
[実施形態1]
実施形態1では、画像復元処理を行うモデルを、再初期化なしに切り換える方法を説明する。以下の本実施形態では、画像の劣化要素としてノイズを例に挙げ、画像復元処理としてノイズ低減処理を行う処理について説明する。
【0024】
[情報処理システム構成例]
図1は、実施形態1に係る情報処理装置を含む情報処理システム構成の一例である。図1に示す情報処理システムでは、学習データの生成及び画質劣化の復元の学習を担うクラウドサーバ200と、処理対象画像に対する画像復元を担う情報処理装置100(エッジデバイス100)とが、インターネット等を介して通信可能に接続されている。以下、クラウドサーバ200における学習データの生成及び画質劣化の復元の学習を復元学習と呼び、情報処理装置100における劣化画像の復元を復元推論と呼ぶことにする。なお、本実施形態においてはクラウドサーバ200と情報処理装置100とは別体の装置であるものとして説明を行うが、クラウドサーバ200が行うものとして説明する復元学習処理を情報処理装置100が行う態様であってもよい。
【0025】
[情報処理装置のハードウェア構成]
情報処理装置100は、処理対象とする画像を取得し、取得した画像を、復元推論を行う機械学習モデルへの入力画像とする。本実施形態においては、情報処理装置100は、撮像装置10から入力されるRAW画像データ(Bayer配列)を、画像復元処理の対象となる入力画像として取得してもよい。この画像は、色空間など画像形式について特に限定されず、任意のものを用いることが可能である。例えばこの画像は、その他のカラーフィルタ配列の画像データであってもよく、デモザイクされたRGB画像、又はYUV変換後の画像であってもよい。
【0026】
情報処理装置100は、当該処理対象の入力画像を入力として、機械学習モデルにより劣化画像の復元処理を行う。本実施形態に係る情報処理装置100は、クラウドサーバ200から提供される学習済みニューラルネットワークモデルを使用して復元推論を行うことができる。すなわち情報処理装置100は、クラウドサーバ200から提供されたモデルを用い、予めインストールされた情報処理アプリケーションプログラムを実行することによって、RAW画像データのノイズを低減する情報処理装置とすることができる。
【0027】
情報処理装置100は、CPU101、RAM102、ROM103、大容量記憶装置104、汎用インタフェース(I/F)105、及びネットワークI/F106を有し、各構成要素がシステムバス107によって相互に接続されている。また情報処理装置100は、汎用I/F105を介して、撮像装置10、入力装置20、外部記憶装置30、及び表示装置40にも接続されている。
【0028】
CPU101は、RAM102をワークメモリとして用い、ROM103に格納されたプログラムを実行し、システムバス107を介して情報処理装置100の各構成要素を統括的に制御する。大容量記憶装置104は、例えばHDD又はSSDであり、情報処理装置100で取り扱われる種々のデータや画像データを記憶する。CPU101は、システムバス107を介して大容量記憶装置104へのデータの書き込み、及び大容量記憶装置104に記憶されたデータの読み出しを行う。汎用I/F105は、例えばUSB、IEEE1394、又はHDMI(登録商標)等のシリアルバスインターフェースである。情報処理装置100は、汎用I/F105を介して、外部記憶装置30(例えばメモリカード、CFカード、SDカード、又はUSBメモリなどの各種記憶媒体)からデータを取得する。
【0029】
情報処理装置100は、汎用I/F105を介して、マウス若しくはキーボード、又はスマートフォンのような携帯端末などの入力装置20からのユーザ指示を受け付ける。また、情報処理装置100は、汎用I/F105を介して、表示装置40(例えば液晶ディスプレイなどの各種画像表示デバイス)に、CPU101によって処理された画像データ等を出力する。なお、表示装置40はタッチパネルと一体型の表示装置として、入力装置20としても機能することができる。また、情報処理装置100は、汎用I/F105を介して、撮像装置10からノイズ低減処理の対象となる撮像画像(RAW画像)のデータを取得する。ネットワークI/F106は、インターネットに接続するためのインタフェースである。情報処理装置100は、インストールされたウェブブラウザによってクラウドサーバ200にアクセスすることにより、復元推論のための学習済みモデルを取得することができる。
【0030】
[クラウドサーバのハードウェア構成]
クラウドサーバ200は、情報処理装置100に、入力された劣化画像に対して復元処理を行う機械学習モデルを提供する。本実施形態に係るクラウドサーバ200は、インターネット上でクラウドサービスを提供するサーバである。より詳細には、クラウドサーバ200は、学習データの生成及び復元学習を行い、その学習結果のネットワークパラメータとネットワーク構造を格納した学習済みの機械学習モデル(学習済みモデル)を生成する。そして、クラウドサーバ200は、学習済みモデルを、情報処理装置100からのリクエストに応じて提供する。以下、単に「モデル」と称する場合、この学習済みモデルを指すものとする。
【0031】
クラウドサーバ200は、CPU201、ROM202、RAM203、大容量記憶装置204、及びネットワークI/F205を有し、各構成要素がシステムバス206によって相互に接続されている。CPU201は、ROM202に記憶された制御プログラムを読み出して各種処理を実行することで、全体の動作を制御する。RAM203は、CPU201の主メモリ又はワークエリア等の一時記憶領域として用いられる。大容量記憶装置204は、画像データ若しくは各種プログラムを記憶するHDD又はSSD等の大容量の二次記憶装置である。ネットワークI/F205は、インターネットに接続するためのインタフェースであり、情報処理装置100のウェブブラウザからのリクエストに応じて上述のネットワークパラメータとネットワーク構造を格納した学習済みモデルを提供する。
【0032】
本実施形態では、情報処理装置100が、学習データの生成及び復元学習を行った結果である学習済みモデルをクラウドサーバ200からダウンロードし、処理対象の入力画像データに対して復元推論を行うことを想定している。このような処理を実行する情報処理装置100及びクラウドサーバ200の構成要素は、前述した構成以外とは異なる構成により実現されてもよい。例えば、クラウドサーバ200が担う機能が細分化され、学習データの生成と復元学習とを別々の装置で実行する構成でもよい。あるいは、情報処理装置100の機能とクラウドサーバ200の機能とを兼ね備えた撮像装置10において、学習データの生成・復元学習・復元推論のすべてを行うような構成であってもよい。
【0033】
[システム全体の機能ブロック]
次に、図2を用いて本実施形態に係る情報処理システム全体の機能構成について説明する。図2に示す通り、情報処理装置100は、推論部112、及びモデル保存部119を有する。モデル保存部119は、クラウドサーバ200から学習済みモデル220を取得し格納する。推論部112は、劣化画像を復元する画像復元処理の機能を有する。推論部112は、推論用の画像復元部115及び切換部113を備えている。
【0034】
画像復元部115は、学習済みモデル220に劣化画像を入力し、画像の復元を行う。ここで、図3(A)を用いて画像復元部115が行う処理について説明する。画像復元部115は、入力画像データ116を取得し、前処理301を実行する。前処理301は、入力画像データ116を学習済みモデル220に入力する前に行う処理であり、例えば、入力画像データがBayer配列の14bit整数値である場合に、各データを浮動小数点数へ変換し、かつ値を0.0~1.0へ正規化する処理などである。次に画像復元部115は前処理301後のデータを入力として学習済みモデル220を用いてモデル実行302を行う。画像復元部115はモデル実行302の結果に後処理303を行い、出力画像118を得る。後処理303は、学習済みモデル220の出力に対して行う処理であり、例えば、モデルの出力結果データが浮動小数点数である場合に、値を14bit整数値へ変換する処理などである。
【0035】
図4は、モデルの構造の一例である。この例では、モデルは複数の畳み込み層401と連結層402とで構成されている。畳み込み層401において、前述した式(1)で表されるフィルタによる畳み込み演算と式(2)で表される非線形演算を複数回繰り返す。画像復元部115は、モデルの入力データに対して、畳み込み層401を順次適用し、特徴マップを算出する。続いて、画像復元部115は、連結層402によって、特徴マップと入力データとをチャンネル方向に連結する。さらに画像復元部115は、その連結結果に対して順次畳み込み層401を適用し、最終層から結果を出力する。図4に示す処理はCNNにより一般的に行われる処理であり、詳細な説明は省略する。画像復元部115はクラウドサーバ200から受け取った学習済みモデル220を用いて、入力画像データ116の復元推論を行う。
【0036】
切換部113は、所定の条件が満たされた場合に、画像復元部115が推論を実行する学習済みモデル220を、ネットワーク構造の構成部を切り換えることにより、第1の機械学習モデルから第2の機械学習モデルへと切り換える。以下、切換部113が行うネットワーク構造の構成部の切り換え処理を、単に「(モデルの)切り換え」と呼ぶ場合がある。この第1の機械学習モデル及び第2の機械学習モデルとしては、例えば後述する図6A図6Eで示されるようなモデルを使用することができるが、これらの構成については後述する。
【0037】
クラウドサーバ200は劣化付与部211及び学習部212を備える。劣化付与部211は、復元推論の学習に用いる、入力用の劣化学習画像を生成する。劣化付与部211は、例えば、劣化のない教師画像群から取り出した教師画像データに対し、少なくとも1種類以上の劣化要素を付与することにより、劣化学習画像を生成することができる。本実施形態の例では劣化要素としてノイズを用いており、劣化付与部211は、劣化要素としてのノイズを教師画像データに付与して劣化学習画像データを生成する。本実施形態の場合、劣化付与部211は、撮像装置の物理特性を解析し、撮像装置で発生し得る劣化量よりも広い範囲の劣化量に相当するノイズを、劣化要素として教師画像データに対して付与することで入力画像データを生成してもよい。撮像装置の個体差により発生し得る劣化量の範囲が異なるため、解析結果よりも広い範囲の劣化量を付与することにより、マージンを持たせてロバスト性を高めることができる。ここで、教師画像は、例えば撮像装置10から取得してもよく、インターネットを介して不図示の外部装置から取得してもよい。
【0038】
次いで、図5を用いて劣化付与について説明する。劣化付与部211は、教師画像群217から取り出した教師画像データ501に対し、撮像装置の物理特性解析結果218に基づくノイズを劣化要素502として付与503することで劣化学習画像データ504を生成する。劣化付与部211は、教師画像データ501と劣化学習画像データ504とのペアを学習データ505に追加する。劣化付与部211では教師画像群217の教師画像データごとに劣化要素502を付与することで複数の劣化学習画像データ504からなる劣化学習画像群が生成され、生成された劣化学習画像群により学習データ505が生成される。なお本実施形態ではノイズを例に挙げたが、劣化付与部211は、前述したボケ、収差、圧縮、低解像、欠損、撮影時の天候に起因するコントラスト低下などの複数種類の劣化要素の何れか若しくはそれらの複数組み合わせて教師画像データに付与してもよい。
【0039】
教師画像群217には、例えば、風景や動物を含む自然写真、ポートレート又はスポーツ写真のような人物写真、建築や商品といった人工物写真など、様々な種類の画像データが格納されている。本実施形態に係る教師画像データは、入力画像データ116と同じく、各画素がRGBいずれかの色に対応する画素値を有するRAW画像データとする。また、撮像装置の物理特性解析結果218としては、例えば、カメラ(撮像装置)に内蔵されている撮像センサで発生する感度ごとのノイズ量、又はレンズにより発生する収差量などが含まれる。これらを用いることで、撮影条件ごとにどの程度の画質劣化が発生するかを見積もることができる。つまり、ある撮影条件において見積もった劣化を教師画像データに対して付与することで、撮影時に得られる画像と同等の画像を生成することができる。
【0040】
図2の説明に戻り、学習部212は、学習用の画像復元部214、誤差算出部215、及びモデル更新部216を備える。学習部212は、学習用パラメータ219を取得し、劣化付与部211で生成された学習データを用いて復元学習を行う。学習用パラメータ219は、ニューラルネットワークモデルのパラメータの初期値、モデルのネットワーク構造及び最適化方法を示すハイパーパラメータを含む。画像復元部214は、入力画像に対する画像復元処理を行う。誤差算出部215は、画像復元部214が出力する画像復元結果画像と教師画像との誤差を算出する。モデル更新部216は、算出された誤差に基づいて、画像復元部214のニューラルネットワークモデルのパラメータを更新する。
【0041】
図3(B)は学習部212が行う学習処理の流れを表した図である。画像復元部214は、入力画像データ308に対して前処理310を行ったデータを入力として、モデル実行305により画像復元処理を行う。モデル実行305では、画像復元部214は、モデルの入力データに対し式(1)と式(2)で表されるフィルタによる畳み込み演算と非線形演算とを複数回繰り返し、復元結果313を出力する。次に誤差算出部215は、教師画像データ309に対して前処理311を行ったデータ及び復元結果313からLoss計算314によりそれらの誤差を算出する。その後、モデル更新部216は、誤差算出部215が算出した誤差に基づいてモデル更新315を実行し、誤差が小さくなる(最小になる)ようにモデルのネットワークパラメータを更新する。
【0042】
なお、図3図5を参照して説明した推論処理及び学習処理は一例であり、一般的なCNNを用いて同様に推論及び学習が行うことができるのであれば異なる処理が行われてもよい。また、本実施形態においては劣化付与部211により劣化学習画像が生成されたが、学習用の画像を不図示の外部装置から取得するなど、異なる手段により学習用の画像が用意されてもよい。
【0043】
なお図2に示した構成は、適宜変形又は変更することが可能である。例えば、1つの機能部が複数の機能部に分割されていてもよいし、2つ以上の機能部が1つの機能部に統合されていてもよい。また、図2に示す構成は、2以上の装置によって実現されてもよい。この場合、各装置は、回路又は有線又は無線のネットワークを介して接続され、互いにデータ通信を行って協調動作を行うことで、本実施形態に係る各処理を実現する。
【0044】
本実施形態に係る切換部113は、復元推論を実行するモデルの候補を複数格納し、所定の条件を満たした場合に、その候補のうちから選択されたモデルにより推論が行われるように、ネットワーク構造の構成部を切り換える。図6A図6Eは、そのようなモデルの候補のネットワークの構成部の概略図である。以下、図6A図6Eを参照して画像復元部115で実行される学習済みモデル220のネットワーク構造の一例について説明する。
【0045】
図6A図6Eの例では、学習済みモデルのネットワークへ入力される入力データ601は、各時刻(tで表される)の入力画像116を前処理301したデータである。入力画像116は複数フレームが時系列に並んでおり、t=0の入力画像に対する出力データ(t=0)が出力される例を記載している。また、t=0の画像に対して相対的に前の時刻はtをマイナス、相対的に後の時刻はtを正の値で表現している。図6A図6Eにおいては、t=0における出力画像について、t=-2~2の5フレームの入力データを用いて出力が行われている。
【0046】
図6Aのネットワークは、入力データ601を5フレーム分入力し、1フレーム分の出力データ605を出力する。このネットワーク構造は、第1の推論処理602を行う第1の推論部と、第2の推論処理604を行う第2の推論部と、2段階の構成を有している。まず、画像復元部115は、時系列的に連続する3つの入力データ601を1組として、(t=2~0、1~1、0~3の)3組分の第1の推論処理602を行う。続いて、画像復元部115は、第1の推論処理602の3組分の出力である中間出力603を第2の推論部に入力して第2の推論処理604を行い、出力データ605を出力する。図6Aに示されるネットワークでは、第1の推論処理602における3組分のネットワークパラメータがそれぞれ異なる。
【0047】
図6Bに示されるネットワークは、図6Aに示したものと同様のネットワーク構造を有し、同様に5フレーム分の入力データ601を入力とするネットワークである。図6Bに示されるネットワークでは、第1の推論処理602における3組分のネットワークパラメータが共通である。
【0048】
図6Cに示されるネットワークは、ネットワーク構造において図6Bのネットワークと共通の構成部を有するネットワークである。図6Cに示されるネットワークでは、第1の推論処理による出力の1つと、過去の第1の推論処理により出力された出力と、が第2の推論部に入力される。図6Cの例では、図6Bに示した3組の第1の推論処理602のうち、最後の1組のみが行われている。次いで、2段階目に入力する中間出力603の内、最後の1組を除いた2個は、過去の(例えば、前回及び前々回)第1の推論処理で出力された推論結果を流用する。すなわち、画像復元部115は、前回の推論で1段階目の出力として得られる中間出力t=―1~1及び前々回の推論で1段階目の出力として得られる中間出力t=―2~0を保存しておき、これらの中間出力を流用することができる。
【0049】
図6Dに示されるネットワークは、図6Bに示されるネットワーク構造におけるノードの一部のみを有するネットワークである。図6Dに示されるネットワークでは、画像復元部115は、入力データ601を3フレーム分(ここでは、t=-1~1の1組分)入力し、第1の推論処理602を行う。次いで画像復元部115は、第1の推論処理602の出力である中間出力603を第2の推論処理604へ入力し、1フレーム分の出力データ605を出力する。
【0050】
図6A図6Dに示されるネットワークが第1の推論部と第2の推論部を有する1段階構成であるのに対して、図6Eに示されるネットワークは1段階構成のネットワークである。図6Eに示されるネットワークでは、画像復元部115は、入力データ601を3フレーム分(ここでは、t=-1~1の1組分)入力し、推論処理602により1フレーム分の出力データ605を出力する。図6の例では入力データ601を複数個、出力データ605を1個とした。ただし本実施形態はこの例に留まるものではなく、入力データ数及び出力データ数はそれぞれ1以上であれば良く、また出力データ605は入力データのt=0ではなく別の時刻に対応する出力であっても構わない。また、図6では時系列的に連続したデータを入力データ601としたが、これらは時系列的に連続したデータで無くてもよい。
【0051】
図6で説明した5種類のネットワークは、それぞれ処理時間や処理に必要なリソース量が異なる。以下、図7を参照して、これらのネットワーク構造の比較を行う。図7に示す表では図6A図6Eそれぞれに対応するものとしてモデル(A)~(E)を定義し、それらのモデルの特性について比較項目(又は単純に「項目」)ごとの評価が記載されている。以下「モデル(A)~(E)」と表記する場合図6及び図7で示すこれらのモデルを指すものとする。
【0052】
この例では、モデル(A)~(E)の各項目について、他のモデルに対して相対的に良い場合に〇、中程度の場合に△、悪い場合に×を記している。ここでは、項目として、「(推論の)精度」、「メモリ使用量」、「学習時間」、「推論演算負荷」、及び「前回推論への依存性」が用いられている。図6Aに示されるネットワーク構造では、第1の推論処理602のパラメータがそれぞれ異なる。そのため、図6Aの構成は図6Bの構成と比較してネットワークの表現力が高く、精度が高い。一方で、図6Aの構成は図6Bの構成と比較してパラメータ数が大きいため、メモリ使用量が大きく、また学習時間が長く、さらに推論の演算負荷が高くなるる。このように、図6A図6Eの各ネットワーク構成は、他のネットワーク構成と比較し相対的なメリットデメリットがあり、図7においては全ての項目が〇となるモデルは無いように評価が行われている。
【0053】
図7に示すような異なる性能を有するモデルを切り換えて運用することにより、例えばCPU又はGPU等のリソース使用状態に応じて適切なモデルを使用することができる。例えば、高精度だが高負荷のモデルと、低負荷だが精度が比較的低いモデルとを適切に切り換えることが可能となる。ここで、本実施形態に係る情報処理装置100は、モデルを切り換える際にモデルの初期化を行わず、モデルのネットワーク構造の構成部(例えば、ノード間のパラメータ又はパスの一部)を変更することにより、より高速にモデルを切り換えることを可能とする。切り換え処理については後述する。
【0054】
ここで、図7の比較項目の一つである前回推論への依存性について、図8を参照して説明する。本実施形態において、前回推論への依存性とは、前回推論と今回の推論を独立で実行できるか否かを示す情報である。図6Cの構成は、前回及び前々回推論時の中間出力を流用するため、前回推論への依存性がある(すなわち、前回及び前々回の推論結果を用いなければ今回の推論を行うことができない)。
【0055】
図8は、複数GPUを用いて図6Cのモデルを実行する際に、どのタイミングでどの処理が行われるかの例を示す図である。図8(A)においては、第1の推論処理602及び第2の推論処理604が、GPU1及びGPU2を用いて交互に実行されている。図8(A)の例では、時刻t=0とt=2の入力データ601をGPU1で、時刻t=1とt=3の入力データ601をGPU2で画像復元処理する。ここでは、GPU1において時刻t=0における画像復元処理とt=2における画像復元処理との間に他のGPU処理801が入ることにより、t=2における画像復元処理に待ち時間が生じている。この待ち時間の影響で、t=2の第1の推論処理602の開始が遅くなり、それに伴ってGPU2への中間出力603の転送が遅くなる。この結果、GPU2におけるt=3の第2の推論処理604の開始が遅延してしまう。すなわち、図8(A)の例では、GPU2では他のGPU処理801が発生していない場合であっても、GPU1の処理の遅延によりGPU2においても待ち時間が生じ、GPU2の処理効率が悪化する。同様に、GPU2において他のGPU処理801が発生した場合には、GPU1への中間出力603の転送が遅くなり、GPU1にも待ち時間が生じることによってGPU1の処理効率が悪化する。すなわち、GPU1及びGPU2は、遅延の影響を双方向に受けてしまう。
【0056】
図8(B)は、図8(A)における遅延の影響を双方向から片方向に変更した場合の各GPUにおける処理の一例を示す図である。図8(B)においては、第1の推論処理602がGPU1で実行され、第2の推論処理604がGPU2で実行されている。第2の推論処理604には第1の推論処理602の出力である中間出力603が必要なため、GPU1からGPU2へ中間出力603が転送されている。この中間出力603の転送は、同じ時刻(例えばt=0)の入力データ601に対する第1の推論処理602と第1の推論処理604の間で実行される。つまり、モデル実行に際し、中間出力603のGPU間転送時間がモデル実行時間に加算される。
【0057】
また、図8(B)のように第1の推論処理602と第2の推論処理604とが異なるGPUで実行される場合には、これらの推論処理の処理時間が異なる場合、他方のGPUが処理をしない空き時間が長くなってしまう。図8(B)の例では第1の推論処理602のよりも第2の推論処理604の処理時間の方が長いため、第1の推論処理602を行うGPU1の空き時間が長く、処理効率が悪くなる。このように、複数GPUを用いて推論を行う場合には遅延が生じ得るため、前回推論への依存性がないモデルを用いる方が好ましい場合がある。そのため、このような場合に切換部113は、推論に用いるモデルを、前回推論への依存性があるモデルから前回推論への依存性のないモデルへと切り換えてもよい。
【0058】
以下、切換部113が行うモデル切り換え処理についての説明を行う。前述したように、本実施形態に係る情報処理装置100は、図6に示すような異なる性能を有するモデルを、所定の条件(切り換え条件)を満たすことに応じて切り換えて運用する。切換部113は、定期的に切り換え条件を満たしているか否かの判定(モデル切り換え判定)を行い、条件を満たしている(切り換えが必要)と判定した場合に、画像復元部115で実行するモデルの切り換えを行う。ここで、モデル切り換え判定を行う頻度は、例えば10分毎などの一定時間ごと、あるいは推論1回ごとなどとすることができる。本実施形態においては、図6A図6Eに示されるような各モデルを示す情報がモデル保存部119に格納されており、モデルを切り換える際はモデル保存部119から情報が読み出される。
【0059】
本実施形態において、この切り換え条件は、例えば情報処理装置100の動作状態が所定の状態であるか否かとすることができる。図7において説明したように、上述した各モデルはそれぞれ推論において必要なリソース量が異なる。したがって、切換部113は、情報処理装置100の動作状態としてリソースの使用状態を用いて、リソースの使用状態が所定の状態である場合に、推論に用いるモデルを切り換えてもよい。例えば切換部113は、推論中のリソースの使用率が所定割合(例えば、90%)を超えた場合に、推論に用いるモデルを推論時のリソース消費量がより少ないモデルに切り換えることができる。また例えば切換部113は、リソースの使用状態として、推論中のリソースの使用率が所定割合(例えば、30%)未満である場合に、推論に用いるモデルを推論時のリソース消費量がより大きい(より推論の精度が高い)モデルに切り換えることができる。このように、本実施形態に係る切換部113はが用いる切り換え条件は、例えば情報処理装置100のリソース使用率、又は図7に示した各項目に記載されているようなその他のモデルの特性に応じて設定されてもよい。以下、リソースの使用状態として使用率を用いて説明を行う。
【0060】
ここでは、切換部113は、情報処理装置100の、推論中のリソースの使用率(計算リソース使用状態)を取得する。リソースの使用率としては、例えば、CPU使用率、RAM使用率、GPU計算ユニット使用率、又はGPUメモリ使用率を用いることができる。ここでは、計算リソース使用状態の取得には、例えばOS(Operating System)が提供するCPU使用率、RAM使用率、GPU計算ユニット使用率、又はGPUメモリ使用率を取得するためのAPI(Application Programming Interface)が使用される。切換部113は、取得したリソースの使用率に基づいて切り換え条件が満たされているか否かを判定することができる。例えば切換部113は、図7の(A)のモデルを使用中に、CPU使用率、RAM使用率、GPU計算ユニット使用率、又はGPUメモリ使用率などのリソースの使用率が第1の閾値(90%)を超えた場合に、推論に使用するモデルを、推論演算負荷がより低いモデルへ(ここでは図7に示す(B)~(E)のいずれか、例えば(B)へ)切り換えてもよい。また切換部113は、例えば図7の(E)のモデルを使用中に、リソースの使用率が第2の閾値(30%)未満である場合に、推論に使用するモデルを、推論の精度がより高いモデルへ(ここでは図7に示す(A)~(D)のいずれか、例えば(B)へ)切り換えてもよい。このように、本実施形態に係る切換部113は、モデル特性(精度、メモリ使用量、推論演算負荷、又は前回推論への依存性など)と、情報処理装置100のリソースの使用率とに基づいて、推論に用いるモデルを切り換える。
【0061】
本実施形態では、モデルの切り換えにおいて、モデルの再初期化は行わない。画像復元部115は、推論に用いるネットワークモデルの初期設定時において、登録されている(例えば、図6A図6Eなどの)全モデルを、ネットワーク構造の構成部を切り換えることにより実装可能であるネットワーク構造を有するモデルを構築する。本実施形態に係るモデル切り換え処理では、切り換え前のモデル領域を流用して、モデルのパラメータ及びパスを切り換えることで第1の機械学習モデルを第2の機械学習モデルへと切り換える処理が行われ、モデルの再構築処理は実施しない。
【0062】
例えば図6Aから図6Bへのモデル切り換えは、第1の推論処理602のパラメータの変更及び第2の推論処理604のパラメータの変更によって行う。この切り換えにおいてはパラメータの変更を行う処理のみ行い、学習済みモデル220のネットワーク構造を初期化し(初期設定を行い)再構築する処理は行われない。また、図6Bから図6Cへのモデル切り換えは、第1の推論処理602のパラメータの変更及び第2の推論処理604のパラメータ変更、並びにノード間のパスの変更によって行う。つまり、図6Cでは1組の入力しか図示されていないが、図6Cのモデルにおいても内部では切り換え前のモデル領域が流用されており、図6B同様に第1の推論処理602が3回実施可能な構造でモデルが構築されたままである。ただし図6Cのモデルにおいてそのパスは利用されず、図6Cに図示されたパスが利用される。モデルを切り換える際にネットワーク構造の初期化を行ってからモデルを再構築する場合と比較して、本実施形態に係る処理では、モデル切り換え時に切り換え前のモデル領域を流用することでモデルの再構築処理を不要とし、モデルの切り換えを高速化することが可能となる。
【0063】
[システム全体の処理の流れ]
次に図9A図9Cを参照して、本実施形態に係る情報処理システムで行われる各種処理について説明する。図9A~Cは本実施形態に係る情報処理システムにおいて行われる処理の一例を示すフローチャートである。図2に示した各機能部は、CPU101又は201が本実施形態に係る情報処理コンピュータプログラムを実行することによって実現される。ただし、図2に示した機能部の全部又は一部がハードウェアで実装されてもよい。以下、図9のフローチャートに沿って説明する。なお、以下の説明において記号「S」は処理ステップを意味する。
【0064】
まず図9Aのフローチャートを参照して、クラウドサーバ200で行われる復元学習の一例の流れについて説明する。S901でクラウドサーバ200は、予め用意された教師画像群217と、撮像センサの特性及び撮影時の感度、被写体距離、レンズの焦点距離及びF値、並びに露出値などの撮像装置10における物理特性解析結果218とが、クラウドサーバ200に入力される。なお、ここでは教師画像データは、Bayer配列のRAW画像であり、撮像装置10で撮像することにより得られるものとする。しかしながら教師画像群217の取得方法は特にこのようには限定されず、例えば事前に撮り溜めたものをHDD等に記憶しておきそれをアップロードしてもよい。
【0065】
S902で劣化付与部211は、S901で入力された教師画像群217の教師画像データに対し、撮像装置の物理特性解析結果218に基づくノイズを劣化要素として付与することにより劣化学習画像データを生成する。ここで、劣化付与部211は、教師画像データに対し、撮像装置の物理特性解析結果218に基づいて予め測定した量のノイズを、予め設定した順に、又はランダムな順に付与するものとする。
【0066】
S903で学習部212は、復元学習に適用する学習用パラメータ219を取得する。ここでの学習用パラメータは、前述したようにニューラルネットワークモデルのパラメータの初期値、モデルのネットワーク構造及び最適化方法を示すハイパーパラメータを含む。
【0067】
S904で画像復元部214は、受け取ったネットワークパラメータを用いてモデルの初期設定を行う。S905で画像復元部214は、劣化学習画像データをモデルへの入力として、劣化学習画像データの復元処理を行う。
【0068】
S906で誤差算出部215は、S905における復元結果と教師画像データとの誤差を式(3)に示す損失関数に従って算出する。S907でモデル更新部216は、S906で得られた誤差が小さくなる(最小になる)ように、モデルのネットワークパラメータを更新する。
【0069】
S908で学習部212は、学習を終了するか否かを判定する。例えば学習部212は、ネットワークパラメータの更新回数が所定の回数に達した場合、又は学習開始から所定期間が経過している場合に、学習を終了するものと判定する。学習を終了する場合には処理はS909へ進み、学習を終了しない場合には処理がS905へ戻る。二回目以降のS905~S908では、未処理の劣化学習画像データ及び教師画像データを用いて学習を継続する。S909では、学習部212が、学習したモデルを大容量記憶装置204等へ格納する。
【0070】
次いで、図9Bのフローチャートを参照して、情報処理装置100で行われる復元推論処理の一例の流れについて説明する。S910で画像復元部115は、推論に用いるネットワークモデルの初期設定が済んでいるか否かの判定を行う。済んでいるのであれば処理はS913へ進み、そうでなければ処理はS911へ進む。
【0071】
S911でモデル保存部119は、クラウドサーバ200から学習済みモデル220を取得し格納する。S912で画像復元部115は、モデル保存部119に格納されている学習済みモデル220を用いた推論を開始するために、推論に用いるモデルの初期設定を行う。
【0072】
S913で切換部113はモデル切り換え処理を行う。この処理は図9Cで後述する。S914で情報処理装置100は、画像復元処理の対象となるBayer配列のRAW画像である入力画像データ116を取得する。RAW画像は、例えば撮像装置10で撮像したものが直接入力されてもよいし、事前に撮像して大容量記憶装置104に記憶しておいたものを読み出してもよい。この入力画像データ116は、S915での画像復元に必要な枚数取得される。
【0073】
S915で画像復元部115は、入力画像データ116の復元を行う。S915において画像復元部115で復元がなされた画像データが出力画像データ118として出力され、図9Bの処理は終了する。また、図6Cのモデルの中間出力603のように、次回以降の推論で流用するデータがある場合は、データが画像復元部115に保存され次回以降の推論で流用される。
【0074】
続いて、図9Cのフローチャートを参照して、情報処理装置100の切換部113で行われるモデル切り換え処理の一例の流れについて説明する。S920で切換部113は、リソースの使用状態を取得する。
【0075】
S921で切換部113は、モデル保存部119に保存されている学習済みモデル220のモデル特性を取得する。このモデル特性は、図7で例示したような精度やメモリ使用量などの項目に関する値である。S922で切換部113は、S920で取得したリソースの使用状態及びS921で取得したモデル特性に基づいて、モデル保存部119に格納されている学習済みモデル220の中から次に推論に用いるモデル(切り換え先となるモデル)を選択する。
【0076】
以下、切換部113は、例えば上述したように、リソースの使用率が第1の閾値を超えている場合にモデルを切り換える。ここでは、切換部113は、例えばモデル特性の項目「推論演算負荷」についてモデル(A)~(E)間の順位を設定し、リソースの使用率が第1の閾値を超えている場合に、現在使用しているモデルよりも順位の1つ低いモデルに切り換えるようにしてもよい。また切換部113は、リソースの使用率が第2の閾値未満である場合に、現在使用しているモデルよりも順位の1つ高いモデルに切り換えるようにしてもよい。また切換部113は、第1の閾値に加え第1の閾値よりも大きい第3の閾値を設定し、リソースの使用率が第3の閾値を超える場合は現在使用しているモデルよりも順位の2つ低いモデルに切り換えるなど、順位に基づく異なる処理を行ってもよい。ここでは、リソースの使用率が第1の閾値以下かつ第2の閾値以上である場合には、現在使用しているモデルが切り換え先のモデルとして選択されるものとする。
【0077】
また、ここでは、リソースの使用率が第1の閾値を超えたことが一度確認された場合にモデルが切り換えられる。しかしながら、モデルの切り換えの頻度が高くなりすぎることを抑制するために、所定の期間におけるリソースの使用率の評価を複数回にわたって行い、その結果に基づいてモデルを切り換えるか否かの判定が行われてもよい。例えば切換部113は、S921におけるモデル特性の取得を所定の期間(例えば、所定の間隔で所定回数)行い、それらのうちモデル特性が第1の閾値を超えている期間が所定の割合以上であった場合にモデルを切り換えるようにしてもよい。また、切換部113は、S921で取得されるモデル特性の情報を保持しておき、直近の所定の期間において第1の閾値を超えているモデル特性が所定の割合以上である場合にモデルを切り換えるようにしてもよい。ここで、所定の割合とは、10割であってもよく、8割であってもよく、所望の条件に応じてユーザが任意に設定可能である。
【0078】
S923で切換部113は、S922で選択されたモデルと現在使用中のモデルが異なるか判定する。異なる場合は処理がS924へと進み、一致する場合は処理が終了する。S924で切換部113は、画像復元部115で使用するモデルをS922で選択されたモデルへ切り換えて処理を終了する。
【0079】
以上が、本実施形態の情報処理システムで行われる処理の全体の流れである。このような処理によればモデルの切り換え時に切り換え前モデル領域を流用しパラメータやパスのみ切り換えることでモデルの再構築処理を不要とし、モデルの切り換えを高速化することが可能となる。
【0080】
なお、本実施形態においてはS902で学習データを生成したが、これは後で生成してもよい。具体的には、後続の復元学習の中で教師画像データに対応する入力画像データを生成するように構成してもよい。また、本実施形態においては予め用意された教師画像群のデータを用いて一から学習を行うものとしてクラウドサーバ200の説明を行ったが、学習済みのネットワークパラメータを有する機械学習モデルを取得し、そのモデルを用いて各処理を行ってもよい。
【0081】
本実施形態においては、劣化要素としてノイズを用いて各処理を行うものとして説明を行ったが、ノイズ以外の劣化要素を用いる場合でも同様の処理を行うことが可能である。例えば、劣化要素としては、上述したようにボケ、収差、圧縮、低解像、欠損、又は撮影時の霧、霞、雪若しくは雨の影響などによるコントラスト低下などが用いられてもよく、これらの複数の組み合わせが用いられてもよい。
【0082】
なお、本実施形態では、情報処理装置100が学習済みモデルを用いて入力画像データのみから復元を行う例について説明したが、加えて画像復元を補助するパラメータが用いられてもよい。例えば情報処理装置100は、被写体までの距離、焦点距離、センササイズ、又は露出などの撮影条件によって、予めどの程度画質の劣化が発生するかを見積もったルックアップテーブルを保持しておき、画像復元時にそれを参照することで復元量を調整してもよい。すなわち情報処理装置100の推論部112は、入力画像データの画像が撮影された際の撮影条件に基づいて劣化の復元強度を調整するようにしてもよい。
【0083】
本実施形態においては、画像復元処理を行う機械学習モデルを用いる例について説明したが、モデルのタスクは画像復元処理に限定されず、例えば画像認識などを行うモデル等を用いる場合でも同様に処理を行うことが可能である。また、本実施形態に係る機械学習アルゴリズムは、ニューラルネットワークに限定されず、その他のアルゴリズムが用いられてもよい。
【0084】
[実施形態2]
実施形態1では、リソースの使用状態に基づいてモデル切り換え判定を行う情報処理装置の例について説明を行った。実施形態2に係る情報処理装置1000は、ユーザ設定を取得し、取得したユーザ設定に基づいてモデル切り換え判定を行う。すなわち、本実施形態に係る情報処理装置1000は、ユーザ設定が所定の条件を満たす場合に、推論に用いるモデルを第1のモデルから第2のモデルへと切り換える。なお、情報処理システムの基本構成などで実施形態1で挙げた構成と共通する内容については説明を省略し、以下では実施形態1との差異点を中心に説明するものとする。
【0085】
図10は、実施形態2に係る情報処理システム全体の機能構成を示すブロック図である。図10の情報処理システムにおいては、実施形態2に係るクラウドサーバ200の各機能部は実施形態1と同様のため説明を省略する。また、実施形態2に係る情報処理装置1000は、設定部1001と設定保存部1002を有し、切換部113に代わり切換部1003を有することを除き図2の情報処理装置100と同様の構成を有するため、重複する説明は省略する。
【0086】
設定部1001は、入力装置20又はネットワークI/F106を介し、推論に関するユーザ設定の入力を受け取り、入力されたユーザ設定を設定保存部1002に格納する。切換部1003は、設定保存部1002からユーザ設定を読み取り、ユーザ設定が所定の条件を満たすことに応じて、画像復元部115で実行する学習済みモデル220を切り換える。
【0087】
ユーザ設定としては、例えば推論において速度と精度とのどちらを優先するかの設定、復元における画質の設定、復元の程度の設定、入力された劣化画像が室内で撮像されているか室外で撮像されているかの設定など、推論に関する設定が用いられる。以下、これらのユーザ設定に対する情報処理装置1000による処理について、図11を参照して説明する。
【0088】
図11は、ユーザ設定を取得する設定画面の例である。この設定画面は表示装置40に表示され、入力装置20を介して値が選択される。図11(A)の1100は画像復元設定の画面例であり、現在の各項目についてのユーザ設定が表示されている。図11(A)では、画像復元設定の項目例として、「精度・速度」、「復元強度」、「カメラ機種」、「色の鮮やかさ」、「輪郭の明瞭さ」、及び「屋内・屋外」が表示されており、それぞれの設定項目についてユーザが設定を入力する。
【0089】
「精度・速度」の設定項目では、推論において速度と精度とのどちらを優先するかが設定される。ここで、速度を優先する設定が行われた場合には、切換部1003が、推論演算負荷が低いモデルを優先して(例えば、「推論演算負荷」の項目について現在使用しているモデルよりも順位の1つ低いモデルを)選択する。
【0090】
「復元強度」の設定項目では、復元の程度の設定が行われる。復元強度は、ここでは1~5の5段階で入力され、入力された値に応じて切り換え先のモデルが選択される。切換部1003は、例えば復元強度の値が所定の閾値(例えば、4)を超えている場合には、復元強度が現在使用しているモデルよりも高いモデルに切り換えてもよく、復元強度の値に対応するモデルを推論に用いるモデルとして選択するようにしてもよい。
【0091】
「屋内・屋外」の設定項目では、入力画像が室内で撮像されているか室外で撮像されているかの設定が行われる。切換部1003は、例えば保存しているモデルを屋内画像の復元に優れているモデルと屋外画像の復元に優れているモデルとに区分しておき、「屋内・屋外」の設定が変更された場合には、その設定に対応するようにモデルの切り換えを行ってもよい。
【0092】
また、カメラ機種に対して適したモデルが設定され、「カメラ機種」の項目で特定のカメラ機種が設定されると、切換部1003が、設定を参照してそのカメラ機種の撮像画像に適した復元を行うモデルを選択する。
【0093】
図11(B)に示される画面1120は、設定項目の優先順位を設定する画面の例である。各設定項目の間で優先する順番を決めることで、切換部1003は、優先順位の高い設定項目を用いてモデル切り換え判定を行うことができる。画面1120ではカメラ機種設定が優先され、輪郭の明瞭さ設定は優先されない。図11(A)及び図11(B)の画面で設定された値は設定保存部1002に格納される。
【0094】
なお図11では表示装置40及び入力装置20を使用してユーザ設定を入力する例について説明を行ったが、この設定は他の方法で入力されてもよい。例えばユーザ設定は、ネットワークI/F106を介し入力されても構わない。
【0095】
[システム全体の処理の流れ]
次に、図12A図12Bを参照して、本実施形態に係る情報処理システムで行われる各種処理について説明する。図12A図12Bは、本実施形態に係る情報処理システムにおいて行われる処理の一例を示すフローチャートである。図10に示した各機能部は、CPU101又は201が本実施形態に係る情報処理コンピュータプログラムを実行することで実現される。
【0096】
図12Aは、情報処理装置1000が行う復元推論処理の一例を示すフローチャートである。図12Aに示す処理は、S913で行われるモデル切り換え処理であり、S920及びS922に代わりそれぞれS1200及びS1201が行われることを除き実施形態1の図9Cと同様に行われ、重複する説明は省略する。
【0097】
S1200で切換部1003は、設定保存部1002に格納されているユーザ設定を取得する。取得するユーザ設定は、例えば図11で例示した画像復元設定及び画像復元設定の優先順位である。
【0098】
S1201で切換部1003は、S1200で取得した設定及びS921で取得したモデル特性に基づいて、モデル保存部119に格納されている学習済みモデル220の中から切り換え先のモデルを選択する。ここでは、画像復元設定の優先順位が(例えば、最も)高い項目の設定を用いてモデルの選択が行われる。例えば、図11(B)に示すようにカメラ機種設定の優先順位が最も高い場合、カメラ機種として設定されている機種に適したモデルが優先的に選択される。
【0099】
図12Bは、本実施形態に係る設定部1001が行う、ユーザ設定の設定処理の一例を示すフローチャートである。S1220で設定部1001は、表示装置40にメニュー画面を表示する。このメニュー画面は例えば図11の画面を開くためのメニューを表示する画面であり、画像復元設定開始ボタン及び画像復元設定の優先順位設定開始ボタンが表示される。以下、「ボタンが押される」とはユーザによりボタン押下操作が行われることであり、タッチパネル上の操作であってもよく、機械式ボタンを介した操作であってもよい。
【0100】
S1221で設定部1001は、画像復元設定開始ボタンが押されたか否かを判定する。押されていたら処理がS1222へ進み、押されていなければ処理はS1225へ進む。S1222で設定部1001は、設定保存部1002から現在の設定を読み取り、表示装置40に例えば図11(A)の様に画像復元設定画面を表示する。
【0101】
S1223で設定部1001は、ユーザにより設定完了ボタンが押されたか否かを判定する。押されていたら処理がS1224へ進み、押されていなければ処理はS1223へ戻る。S1224で設定部1001は、設定を設定保存部1002へ保存し、S1220へ戻る。
S1225で設定部1001は、画像復元設定の優先順位設定開始ボタンが押されたか否かを判定する。押されていたら処理がS1226へ進み、押されていなければ処理はS1227へ進む。S1226で設定部1001は、設定保存部1002から現在の設定を読み取り、表示装置40に例えば図11(B)の様に画像復元設定の優先順位設定画面を表示する。S1227で設定部1001は、停止の要求がない限り、S1221へ戻り処理を繰り返す。
【0102】
以上が、本実施形態の情報処理システムで行われる処理の全体の流れである。このような処理によれば、ユーザ設定を取得し、取得したユーザ設定に応じて推論に用いるモデルを切り換えるか否かの判断を行うことができる。
【0103】
なお本実施形態に係るユーザ設定は入力装置20を介して入力するものとして説明を行ったが、ユーザ設定の一部又は全てが自動設定されてもよい。例えば、「カメラ機種」又は「屋内・屋外」の設定項目については、入力画像データに付与される情報から自動で取得され設定されるようにしてもよい。また、「復元強度」の設定項目については、入力画像データを解析することによるノイズ量の多寡に基づいて自動的に設定されるようにしてもよい。
【0104】
[実施形態3]
実施形態1においては、画像復元処理を行う機械学習モデルを用いた処理について説明を行った。実施形態3では、実施形態1における画像復元処理を行う機械学習モデルに代わり、画像中の物体の種類を判定するクラス分類処理を行う機械学習モデルを用いる情報処理装置の例について説明する。なお情報処理システムの基本構成などで実施形態1で挙げた構成と共通する内容については説明を省略し、以下では実施形態1との差異点を中心に説明するものとする。本実施形態のクラス分類における機械学習アルゴリズムは、例えばRandom forestを使用する。Random forestは決定木に基づく機械学習技術であり、公知の技術であるためここでの説明は省略する。
【0105】
図13は、実施形態3に係る情報処理システム全体の機能構成を示すブロック図である。また、実施形態3に係る情報処理装置1300は、画像復元部115に代わり推論用のクラス分類部1302を有する推論部1301を備えることを除き図2の情報処理装置100と同様の構成を有するため、重複する説明は省略する。
【0106】
モデル保存部119は、クラウドサーバ1350から受け取った学習済みモデル220を格納する。推論部1301は、画像中の物体の特徴量に基づいて物体の種類を判定するクラス分類の機能を有する。
【0107】
推論用のクラス分類部1302は、クラス分類用の決定木のモデル実行部を含む。クラス分類部1302は、画像中の物体特徴量1303を入力として受け取り、当該物体のクラス分類の結果であるクラス分類結果1304を出力する。本実施形態に係るクラス分類において分類されるクラスは、例えば人間、船、又は山などの物体の種類であり、クラス分類結果1304は各クラスの尤度である。また、物体特徴量1303は物体が撮像されている画像から抽出された特徴量であり、本実施形態では情報処理装置1300の外で特徴量が抽出されるものとするが、情報処理装置1300が画像を取得し、物体特徴量1303を抽出する構成であってもよい。
【0108】
クラウドサーバ1350は学習部1354を備える。学習部1354は、学習用のクラス分類部1353、誤差算出部1355、及びモデル更新部1356を備える。学習部1354は、学習用パラメータ1352を取得し、学習データ1351を用いてクラス分類の学習を行う。本実施形態に係る学習データ1351には、物体特徴量と物体のクラスを表す教師データとのペアが複数含まれる。学習用パラメータ1352は、決定木モデルの木の深さ及び乱数の生成方法などのパラメータを含む。クラス分類部1353は、学習データ1351に含まれる物体特徴量を入力として受け取り、クラス分類結果を出力する。誤差算出部1355は、クラス分類結果と教師データとの誤差を算出する。モデル更新部1356は、算出された誤差を基に、クラス分類部1353の決定木モデルのパラメータを更新する。
【0109】
ここで、クラス分類部1302で実行される学習済みモデル220の構造の一例について、図14(A)~(C)を参照して説明する。図14は、Random forestを用いてクラス分類を行うモデルのネットワークの概略図である。Random forestを用いるモデルのネットワーク構造は、複数の決定木(Decision Tree)で構成される。図14(A)~(C)に示されるモデルは決定木1~決定木4のいずれか又は全ての決定木を使用する。
【0110】
図14(A)のモデルは全ての決定木を使用しており、図14(B)及び図14(C)のモデルと比較するとクラス分類精度は高い一方で処理負荷が高い。一方、図14(B)及び図14(C)のモデルは、図14(A)よりも使用している決定木が少ないため処理が比較的軽く、しかしクラス分類精度は比較的低い。
【0111】
本実施形態では、クラス分類部1302の初期設定時に、ネットワーク構造の構成部を変更することにより実装可能であるネットワーク構造を有するモデルを構築する。本実施形態に係るモデル繰り換え処理においても、実施形態1と同様に、モデルのパラメータ及びパスを切り換えることで第1の機械学習モデルを第2の機械学習モデルへと切り換える処理が行われ、モデルの再構築処理は実施しない。
【0112】
次に、図15を参照して、本実施形態に係る情報処理システムで行われる各種処理について説明する。図5(A)~図15Bは本実施形態に係る情報処理システムにおいて行われる処理の一例を示すフローチャートである。図13に示した各機能部は、CPU101又は201が本実施形態に係る情報処理コンピュータプログラムを実行することによって実現される。以下、図15Aのフローチャートを参照して、クラウドサーバ1350で行われるクラス分類の学習の一例の流れについて説明する。
【0113】
S1501でクラウドサーバ1350は、クラス分類の学習に適用する学習データ1351を取得する。S1502でクラウドサーバ1350は、クラス分類の学習に適用する学習用パラメータ1352を取得する。
【0114】
S1503でクラス分類部1353は、S1502で取得した学習用パラメータを用いてモデルの初期設定を行う。S1504でクラス分類部1353は、学習データ1351に含まれる物体特徴量をモデルへの入力として物体のクラス分類を行う。
【0115】
S1505で誤差算出部1355は、クラス分類結果と教師データとの誤差を損失関数に従って算出する。S1506でモデル更新部1356は、S1505で得られた誤差が小さくなる(最小になる)ように、モデルを更新する。
【0116】
S1507で学習部1354は、学習を終了するか否かを判定する。例えば学習部1354は、モデルの更新回数が所定の回数に達した場合に、又は学習開始から所定期間が経過している場合に、学習を終了するものと判定する。学習を終了する場合は処理はS1508へ進み、学習を終了しない場合には処理がS1504へ戻る。二回目以降のS1504~S1507では、未処理の物体特徴量及び教師データを用いて学習を継続する。S1508で学習部1354が、学習したモデルを大容量記憶装置204等へ格納する。
【0117】
次いで、図15Bのフローチャートを参照して、情報処理装置1300で行われるクラス分類の一例の流れについて説明する。S1550でクラス分類部1302は、推論に用いるネットワークモデルの初期設定が済んでいるか否かの判定を行う。済んでいるのであれば処理はS1553へ進み、そうでなければ処理はS1551へ進む。
【0118】
S1551でモデル保存部119は、クラウドサーバ1350から学習済みモデル220を取得し格納する。S1552でクラス分類部1302は、モデル保存部119に格納されている学習済みモデル220を用いた推論を開始するために、推論に用いるモデルの初期設定を行う。
【0119】
S1553で切換部113はモデル切り換え処理を行う。この処理は図9Cで説明を行ったものと同様であり、ここでの説明は省略する。S1554で情報処理装置1300は、クラス分類の対象となる物体特徴量1303を取得する。S1555でクラス分類部1302は、物体特徴量1303のクラス分類を行い、クラス分類結果1304を出力する。
【0120】
以上が、本実施形態の情報処理システムで行われる処理の全体の流れである。このような処理によれば、クラス分類処理を行うモデルによる推論を行う場合であっても、モデルの切り換え時に切り換え前モデル領域を流用しパラメータやパスのみ切り換えることでモデルの再構築処理を不要とし、モデルの切り換えを高速化することが可能となる。なお、本実施形態に係る機械学習アルゴリズムは、決定木に限定されず、その他のアルゴリズムが用いられても良い。
【0121】
本明細書の開示は、以下の情報処理装置、情報処理方法、及びプログラムを含む。
【0122】
(項目1)
第1の機械学習モデルを用いて入力に対する推論を行う推論手段と、
所定の条件を満たすことに応じて、前記推論に用いる機械学習モデルを、前記第1の機械学習モデルのネットワーク構造の構成部の一部が少なくとも変更された第2の機械学習モデルを選択する選択手段と、
を備え、
前記第1の機械学習モデルは、第1の構成部と第2の構成部とを有し、
前記第2の機械学習モデルは、前記第1の構成部又は前記第2の構成部における、ノード間のパラメータ又はパスの一部を変更した構成部を少なくとも有することを特徴とする、情報処理装置。
(項目2)
前記第1の機械学習モデルは、前記第1の構成部として第1のパラメータ及び第1のパラメータとは異なる第2のパラメータを備える第1の推論部と、前記第2の構成部として第1の推論部の出力を入力とする第2の推論部と、を備え、
前記第2の機械学習モデルは、前記第1の推論部における前記第2のパラメータを前記第1のパラメータへと置換した第3の推論部と、前記第3の推論部の出力を入力とする、前記第2の推論部と同じネットワーク構造を有する第4の推論部と、を備えることを特徴とする、項目1に記載の情報処理装置。
(項目3)
前記第1の機械学習モデルは、前記第1の構成部として第1の推論処理による第1の出力及び第2の推論処理による第2の出力を出力する第1の推論部と、前記第2の構成部として前記第1の出力及び第2の出力を入力とする第2の推論部と、を備え、
前記第2の機械学習モデルは、第1の推論処理による第1の出力を出力する第5の推論部と、前記第1の出力と、過去に出力された前記第2の出力とを入力とする第6の推論部と、を備えることを特徴とする、項目1に記載の情報処理装置。
(項目4)
前記所定の条件は、前記情報処理装置の動作状態が所定の状態である場合に満たされることを特徴とする、項目1乃至3の何れか一項目に記載の情報処理装置。
(項目5)
前記動作状態は、前記推論におけるリソースの使用状態を含むことを特徴とする、項目4に記載の情報処理装置。
(項目6)
前記選択手段は、所定の期間における前記リソースの使用率が所定の閾値よりも高い期間が所定の割合以上である場合に、前記推論に用いる機械学習モデルを、前記第1の機械学習モデルより推論時のリソース消費量が少ない機械学習モデルである前記第2の機械学習モデルに切り換えることを特徴とする、項目5に記載の情報処理装置。
(項目7)
前記選択手段は、所定の期間における前記リソースの使用率が所定の閾値よりも高い期間が所定の割合以上である場合に、前記第1の機械学習モデルよりも層の数が少ない前記第2の機械学習モデルを選択することを特徴とする、項目5に記載の情報処理装置。
(項目8)
前記推論に関するユーザ設定を取得する取得手段をさらに備え、
前記所定の条件は、前記ユーザ設定が所定の状態である場合に満たされることを特徴とする、項目1乃至7の何れか一項目に記載の情報処理装置。
(項目9)
前記取得手段は、前記ユーザ設定として、前記推論において速度と精度とのどちらを優先するかの設定を取得し、
前記選択手段は、前記推論において速度を優先すると設定されている場合には、前記推論に用いる機械学習モデルを、前記第1の機械学習モデルより推論の速度が速い機械学習モデルである前記第2の機械学習モデルに切り換え、前記推論において精度を優先すると設定されている場合には、前記推論に用いる機械学習モデルを、前記第1の機械学習モデルより推論の精度が高い機械学習モデルである前記第2の機械学習モデルに切り換えることを特徴とする、項目8に記載の情報処理装置。
(項目10)
前記推論は、入力された劣化画像を復元する処理であり、
前記取得手段は、ユーザ設定として、前記復元における画質の設定を取得し、
前記選択手段は、前記復元における画質の設定が変更されている場合に前記所定の条件を満たすこととして、前記推論に用いる機械学習モデルを前記第2の機械学習モデルに切り換えることを特徴とする、項目8に記載の情報処理装置。
(項目11)
前記推論は、入力された劣化画像を復元する処理であり、
前記取得手段は、ユーザ設定として、前記復元の程度の設定を取得し、
前記選択手段は、前記復元の程度の設定が変更されている場合に前記所定の条件を満たすこととして、前記推論に用いる機械学習モデルを前記第2の機械学習モデルに切り換えることを特徴とする、項目8に記載の情報処理装置。
(項目12)
前記推論は、入力された劣化画像を復元する処理であり、
前記取得手段は、ユーザ設定として、前記入力された劣化画像が屋内で撮像されているか屋外で撮像されているかの設定を取得し、
前記選択手段は、前記入力された劣化画像が屋内で撮像されているか屋外で撮像されているかの設定が変更されている場合に前記所定の条件を満たすこととして、前記推論に用いる機械学習モデルを前記第2の機械学習モデルに切り換えることを特徴とする、項目8に記載の情報処理装置。
(項目13)
前記推論は、入力された劣化画像を復元する処理であり、
前記取得手段は、ユーザ設定として、前記入力された劣化画像を撮像した撮像装置に関する設定を取得し、
前記選択手段は、前記入力された劣化画像が所定の撮像装置によって撮像された場合に前記所定の条件を満たすこととして、前記推論に用いる機械学習モデルを前記第2の機械学習モデルに切り換えることを特徴とする、項目8に記載の情報処理装置。
(項目14)
前記推論は、入力された劣化画像を復元する処理であることを特徴とする、項目1乃至13の何れか一項目に記載の情報処理装置。
(項目15)
前記劣化画像は、ノイズ、圧縮、低解像度、ボケ、収差、欠損、又はコントラスト低下により劣化している画像であることを特徴とする、項目14に記載の情報処理装置。
(項目16)
前記推論は、入力された画像中の被写体のクラス分類を行う処理であることを特徴とする、項目1乃至13の何れか一項目に記載の情報処理装置。
(項目17)
第1の機械学習モデルを用いて入力に対する推論を行う工程と、
所定の条件を満たすことに応じて、前記推論に用いる機械学習モデルを、前記第1の機械学習モデルのネットワーク構造の構成部の一部が少なくとも変更された第2の機械学習モデルを選択する工程と、
を備え、
前記第1の機械学習モデルは、第1の構成部と第2の構成部とを有し、
前記第2の機械学習モデルは、前記第1の構成部又は前記第2の構成部における、ノード間のパラメータ又はパスの一部を変更した構成部を少なくとも有することを特徴とする、情報処理方法。
(項目18)
コンピュータを、項目1乃至16の何れか一項に記載の情報処理装置の各手段として機能させるためのプログラム。
【0123】
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0124】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0125】
100:情報処理装置、101:CPU、102:RAM、103:ROM、104:大容量記憶装置、105:汎用インタフェース、106:ネットワークインタフェース、107:システムバス
図1
図2
図3
図4
図5
図6A
図6B
図6C
図6D
図6E
図7
図8
図9A
図9B
図9C
図10
図11
図12A
図12B
図13
図14
図15A
図15B