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

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

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

特許7455574画像処理方法、プログラム、学習済みモデルの製造方法、画像処理装置、および、画像処理システム
<>
  • 特許-画像処理方法、プログラム、学習済みモデルの製造方法、画像処理装置、および、画像処理システム 図1
  • 特許-画像処理方法、プログラム、学習済みモデルの製造方法、画像処理装置、および、画像処理システム 図2
  • 特許-画像処理方法、プログラム、学習済みモデルの製造方法、画像処理装置、および、画像処理システム 図3
  • 特許-画像処理方法、プログラム、学習済みモデルの製造方法、画像処理装置、および、画像処理システム 図4
  • 特許-画像処理方法、プログラム、学習済みモデルの製造方法、画像処理装置、および、画像処理システム 図5
  • 特許-画像処理方法、プログラム、学習済みモデルの製造方法、画像処理装置、および、画像処理システム 図6
  • 特許-画像処理方法、プログラム、学習済みモデルの製造方法、画像処理装置、および、画像処理システム 図7
  • 特許-画像処理方法、プログラム、学習済みモデルの製造方法、画像処理装置、および、画像処理システム 図8
  • 特許-画像処理方法、プログラム、学習済みモデルの製造方法、画像処理装置、および、画像処理システム 図9
  • 特許-画像処理方法、プログラム、学習済みモデルの製造方法、画像処理装置、および、画像処理システム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-15
(45)【発行日】2024-03-26
(54)【発明の名称】画像処理方法、プログラム、学習済みモデルの製造方法、画像処理装置、および、画像処理システム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20240318BHJP
【FI】
G06T7/00 350C
【請求項の数】 18
(21)【出願番号】P 2019233981
(22)【出願日】2019-12-25
(65)【公開番号】P2021103404
(43)【公開日】2021-07-15
【審査請求日】2022-12-13
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100110412
【弁理士】
【氏名又は名称】藤元 亮輔
(74)【代理人】
【識別番号】100104628
【弁理士】
【氏名又は名称】水本 敦也
(74)【代理人】
【識別番号】100121614
【弁理士】
【氏名又は名称】平山 倫也
(72)【発明者】
【氏名】木村 良範
【審査官】▲広▼島 明芳
(56)【参考文献】
【文献】特開2010-055605(JP,A)
【文献】永野 雄大,外1名,低解像度の料理画像を超解像するためのSRGANの応用,一般社団法人 人工知能学会 第32回全国大会論文集DVD [DVD-ROM] 2018年度 人工知能学会全国大会(第32回),2018年
【文献】Manuel Fritsche et al.,Frequency Separation for Real-World Super-Resolution,2019 IEEE/CVF International Conference on Computer Vision Workshop (ICCVW),米国,2019年10月27日,pp.3599-3608,https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9022593
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 - 7/90
G06V 10/00 - 20/90
(57)【特許請求の範囲】
【請求項1】
コンピュータを用いて実行される画像処理方法であって、
第1の画像に基づいて、前記第1の画像とはノイズレベルが異なる第2の画像を生成する第1の工程と、
前記第1の画像および前記第2の画像に基づいて、前記第1の画像または前記第2の画像に含まれるノイズに関する第3の画像を生成する第2の工程と、
前記第1の画像と前記第2の画像の少なくとも一方をダウンサンプリングすることで、第4の画像を生成する第3の工程と、
前記第3の画像と前記第4の画像とを重み付け加算することで、第5の画像を生成する第4の工程と、
前記第5の画像と前記第1の画像または前記第2の画像とを用いて、ニューラルネットワーク学習を行う第5の工程と、を有することを特徴とする画像処理方法。
【請求項2】
前記第5の工程において、前記第5の画像を、前記第1の画像または前記第2の画像のうち前記ノイズレベルが高い画像変換するように、前記ニューラルネットワーク学習を行うことを特徴とする請求項1に記載の画像処理方法。
【請求項3】
前記第1の工程において、前記第1の画像におけるノイズを低減することで、前記第2の画像を生成することを特徴とする請求項1または2に記載の画像処理方法。
【請求項4】
前記第2の工程において、前記第1の画像と前記第2の画像とを画素毎に減算した後にダウンサンプリングすることで、前記第3の画像を生成することを特徴とする請求項1乃至3のいずれか一項に記載の画像処理方法。
【請求項5】
前記第2の工程において、前記第1の画像と前記第2の画像とをそれぞれダウンサンプリングした後に画素毎に減算することで、前記第3の画像を生成することを特徴とする請求項1乃至3のいずれか一項に記載の画像処理方法。
【請求項6】
前記第1の工程において、前記第1の画像にノイズを付与することで、前記第2の画像を生成することを特徴とする請求項1または2に記載の画像処理方法。
【請求項7】
前記第2の工程において、付与した前記ノイズに基づいて前記第3の画像を生成することを特徴とする請求項6に記載の画像処理方法。
【請求項8】
前記重み付け加算における重みは、前記第1の画像または前記第2の画像のノイズに基づいて決定されることを特徴とする請求項1乃至7のいずれか一項に記載の画像処理方法。
【請求項9】
前記重みは、前記ノイズをガウシアンノイズで近似した際の平均値、標準偏差、または、分散の少なくとも一つに基づいて決定されることを特徴とする請求項8に記載の画像処理方法。
【請求項10】
前記重みは、前記第1の画像を撮像した際のISO感度に基づいて決定されることを特徴とする請求項8に記載の画像処理方法。
【請求項11】
前記ニューラルネットワークは、入力された画像を超解像画像処理することを特徴とする請求項1乃至10のいずれか一項に記載の画像処理方法。
【請求項12】
前記ニューラルネットワークに入力画像を入力することで、推定画像を生成する第6の工程を更に有することを特徴とする請求項1乃至11のいずれか一項に記載の画像処理方法。
【請求項13】
請求項1乃至12のいずれか一項に記載の画像処理方法をコンピュータに実行させることを特徴とするプログラム。
【請求項14】
コンピュータを用いて実行される学習済みモデルの製造方法であって、
第1の画像に基づいて、前記第1の画像とはノイズレベルが異なる第2の画像を生成する第1の工程と、
前記第1の画像および前記第2の画像に基づいて、前記第1の画像または前記第2の画像に含まれるノイズに関する第3の画像を生成する第2の工程と、
前記第1の画像と前記第2の画像の少なくとも一方をダウンサンプリングすることで、第4の画像を生成する第3の工程と、
前記第3の画像と前記第4の画像とを重み付け加算することで、第5の画像を生成する第4の工程と、
前記第5の画像と前記第1の画像または前記第2の画像とを用いて、ニューラルネットワーク学習を行う第5の工程と、を有することを特徴とする学習済みモデルの製造方法。
【請求項15】
第1の画像に基づいて、前記第1の画像とはノイズレベルが異なる第2の画像を生成するノイズレベル手段と、
前記第1の画像および前記第2の画像に基づいて、前記第1の画像または前記第2の画像に含まれるノイズに関する第3の画像を生成するノイズ画像生成手段と、
前記第1の画像と前記第2の画像の少なくとも一方をダウンサンプリングすることで、第4の画像を生成するダウンサンプリング手段と、
前記第3の画像と前記第4の画像とを重み付け加算することで、第5の画像を生成するノイズ加算手段と、
前記第5の画像と前記第1の画像または前記第2の画像とを用いて、ニューラルネットワーク学習を行う学習手段と、を有することを特徴とする画像処理装置。
【請求項16】
第1の装置と、前記第1の装置と通信可能な第2の装置と、を含む画像処理システムであって、
前記第1の装置は、
第1の画像に基づいて、前記第1の画像とはノイズレベルが異なる第2の画像を生成するノイズレベル手段と、
前記第1の画像および前記第2の画像に基づいて、前記第1の画像または前記第2の画像に含まれるノイズに関する第3の画像を生成するノイズ画像生成手段と、
前記第1の画像と前記第2の画像の少なくとも一方をダウンサンプリングすることで、第4の画像を生成するダウンサンプリング手段と、
前記第3の画像と前記第4の画像とを重み付け加算することで、第5の画像を生成するノイズ加算手段と、
前記第5の画像と前記第1の画像または前記第2の画像とを用いてニューラルネットワーク学習を行う学習手段と、を有し、
前記第2の装置は、前記ニューラルネットワークを用いて入力画像から推定画像を生成する推定手段と、を有する、ことを特徴とする画像処理システム。
【請求項17】
第1の装置と、前記第1の装置と通信可能な第2の装置と、前記第2の装置と通信可能な第3の装置と、を含む画像処理システムであって、
前記第1の装置は、
第1の画像に基づいて、前記第1の画像とはノイズレベルが異なる第2の画像を生成するノイズレベル手段と、
前記第1の画像および前記第2の画像に基づいて、前記第1の画像または前記第2の画像に含まれるノイズに関する第3の画像を生成するノイズ画像生成手段と、
前記第1の画像と前記第2の画像の少なくとも一方をダウンサンプリングすることで、第4の画像を生成するダウンサンプリング手段と、
前記第3の画像と前記第4の画像とを重み付け加算することで、第5の画像を生成するノイズ加算手段と、
前記第5の画像と前記第1の画像または前記第2の画像とを用いてニューラルネットワーク学習を行う学習手段と、を有し、
前記第3の装置は、撮像画像に対する処理を前記第2の装置に実行させるための要求を送信する送信手段を有し、
前記第2の装置は、
前記送信手段により送信された前記要求を受信する受信手段と、
前記ニューラルネットワークを用いて入力画像から推定画像を生成する推定手段と、を有することを特徴とする画像処理システム。
【請求項18】
請求項1乃至11のいずれか一項に記載の画像処理方法を用いて学習された前記ニューラルネットワークを用いて入力画像から推定画像を生成する推定手段を有することを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習DL(Deep Learning)において、超解像画像処理に伴う画像のノイズレベルの変動を制御することが可能な画像処理方法に関する。
【背景技術】
【0002】
非特許文献1には、機械学習DLを用いて超解像(Super Resolution)画像処理を行い、低解像度な撮像画像から高解像な画像を得る方法が開示されている。
【先行技術文献】
【非特許文献】
【0003】
【文献】Xintao Wang、Ke Yu、Shixiang Wu、Jinjin Gu、Yihao Liu、Chao Dong、Chen Change Loy、Yu Qiao、Xiaoou Tang、「ESRGAN: Enhanced Super-Reoslution Generative Adversarial Networks」、arXiv:1809.00219、2018年
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、非特許文献1に開示された方法では、高解像度化に伴って画像のノイズレベルが変動(増加または減少)する。これは、機械学習DLで学習に用いる訓練画像である高解像度訓練画像と低解像度訓練画像が原因である。すなわち、高解像度訓練画像をダウンサンプリングし低解像度訓練画像を生成すると、それに伴ってノイズが平均化され、低解像度訓練画像のノイズレベルが低下するためである。ここでノイズとは、高解像度訓練画像に含まれるノイズである。
【0005】
ところで、従来、高解像度訓練画像をダウンサンプリングし低解像度訓練画像を生成した後、得られる低解像度訓練画像にノイズを加えることが行われてきた。しかし、高解像度訓練画像が有するノイズと低解像度訓練画像に加えたノイズとの間に相関がない場合、DL超解像画像処理に伴い得られる高解像度画像のノイズレベルが変動する。
【0006】
そこで本発明は、画像処理に伴う画像のノイズの変動を制御することが可能な画像処理方法等を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の一側面としての画像処理方法は、コンピュータを用いて実行される画像処理方法であって、第1の画像に基づいて、前記第1の画像とはノイズレベルが異なる第2の画像を生成する第1の工程と、前記第1の画像および前記第2の画像に基づいて、前記第1の画像または前記第2の画像に含まれるノイズに関する第3の画像を生成する第2の工程と、前記第1の画像と前記第2の画像の少なくとも一方をダウンサンプリングすることで、第4の画像を生成する第3の工程と、前記第3の画像と前記第4の画像とを重み付け加算することで、第5の画像を生成する第4の工程と、前記第5の画像と前記第1の画像または前記第2の画像とを用いて、ニューラルネットワーク学習を行う第5の工程とを有する。
【0008】
本発明の他の目的及び特徴は、以下の実施例において説明される。
【発明の効果】
【0009】
本発明によれば、画像処理に伴う画像のノイズの変動を制御することが可能な画像処理方法等を提供することができる。
【図面の簡単な説明】
【0010】
図1】実施例1におけるニューラルネットワークの学習の流れを示す図である。
図2】実施例1における画像処理システムのブロック図である。
図3】実施例1における画像処理システムの外観図である。
図4】実施例1におけるウエイトの学習に関するフローチャートである。
図5】実施例1における出力画像の生成に関するフローチャートである。
図6】実施例2における画像処理システムのブロック図である。
図7】実施例2における画像処理システムの外観図である。
図8】実施例3における画像処理システムのブロック図である。
図9】実施例3における出力画像の生成に関するフローチャートである。
図10】各実施例の概要の説明図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施例について、図面を参照しながら詳細に説明する。各図において、同一の部材については同一の参照符号を付し、重複する説明は省略する。
【0012】
まず、具体的な説明を行う前に、各実施例の要旨を説明する。各実施例は、DL超解像画像処理(画像の高解像度化)に伴う画像のノイズレベルの変動を抑制する。なお機械学習DLでは、画像処理に多層のニューラルネットワークを使用する。またDL超解像画像処理では、多層のニューラルネットワークで使用するウエイトの学習において、高解像度訓練画像と対応する低解像度訓練画像(から抽出した部分画像であるパッチ)を用いる。ここで、ウエイトとは畳み込みに用いるフィルタ、足し合わせるバイアスなどである。
【0013】
次に、図10を参照して、各実施例の概要に関して説明する。各実施例では、まず、高解像度訓練画像である第1の画像からノイズを除去(低減)して、第1の画像とノイズレベルが異なる第2の画像を生成する。なお、第1の画像からノイズレベルが異なる第2の画像を生成する方法は、ノイズの除去(低減)に限定されるものではない。その他の方法については、後述する。次に、第1の画像と第2の画像の少なくとも一方をダウンサンプリングし、第4の画像を生成する。ここで、第4の画像は、高解像度訓練画像に対応する低解像度な画像であり、ダウンサンプリングに伴いノイズレベルが低下している。
【0014】
次に、第1の画像と第2の画像とをダウンサンプリングした後に減算して、第3の画像を生成する。より具体的には、第1の画像と第2の画像とを画素毎にダウンサンプリングした後に減算するか、または、第1の画像と第2の画像とをそれぞれダウンサンプリングした後に画素毎に減算することで、第3の画像を生成する。ここで、第3の画像は、高解像度訓練画像である第1の画像が有するノイズを、ダウンサンプリングした低解像度なノイズ画像である。すなわち第3の画像は、第1の画像または第2の画像に含まれるノイズに関する画像である。なお、第3の画像を生成する方法はこれに限定されるものではない。その他の方法については後述する。
【0015】
次に、低解像度ノイズ画像である第3の画像と低解像度画像である第4の画像とを重み付け加算し、低解像度訓練画像である第5の画像を生成する。低解像度ノイズ画像を重み付け加算する理由は、ダウンサンプリングに伴いノイズレベルが低下している低解像度画像のノイズレベルを向上させるためである。なお、重み付け加算の重みの決定方法に関する詳細については、後述する。次に、低解像度訓練画像である第5の画像を多層のニューラルネットワークへ入力する。
【0016】
次に、その出力と高解像度訓練画像である第1の画像(または第2の画像)との誤差が小さくなるように、多層のニューラルネットワークのウエイトを最適化(学習)する。すなわち、第5の画像と第1の画像または第2の画像とを用いて、ニューラルネットワークを学習する。より具体的には、第5の画像を、第1の画像または第2の画像のうちノイズレベルが高い画像へ変換するように、ニューラルネットワークを学習する。学習されたニューラルネットワークは、入力画像を超解像画像処理(アップサンプリング)するネットワークである。
【0017】
各実施例によれば、高解像度訓練画像と低解像度訓練画像が互いに相関のあるノイズを有し、そのノイズレベルも等しくすることができる。これにより、多層のニューラルネットワークはノイズレベルの変動を抑制しつつ、DL超解像画像処理を行うウエイトを学習することができる。すなわち、ノイズレベルの変動を抑制しつつDL超解像画像処理を行うことが可能な学習済みモデルを生成することができる。なお、高解像度訓練画像と相関のあるノイズは、高解像度訓練画像が有するノイズをダウンサプリングしたものであり得る。すなわち、高解像度訓練画像と低解像度訓練画像が互いに相関のあるノイズを有する場合には、低解像度訓練画像が、高解像度訓練画像の有するノイズをダウンサプリングした成分を有する場合を含む。また、DL超解像画像処理においてノイズレベルの変動を制御(抑制)することは、低解像度ノイズ画像を重み付け加算する際の重みを調整することで可能である。すなわち、高解像度訓練画像と低解像度訓練画像のノイズレベルを等しくすることで可能である。
【0018】
なお、前述の画像処理方法は、一例であり、各実施例はこれに限定されるものではない。その他の画像処理方法などの詳細については、以下の各実施例で説明する。
【実施例1】
【0019】
まず、本発明の実施例1における画像処理システムに関して説明する。本実施例では、多層のニューラルネットワークに超解像画像処理を学習、実行させる。
【0020】
図2は、本実施例における画像処理システム100のブロック図である。図3は、画像処理システム100の外観図である。画像処理システム100は、学習装置(画像処理装置)101、撮像装置102、画像推定装置(画像処理装置)103、表示装置104、記録媒体105、出力装置106、および、ネットワーク107を有する。
【0021】
学習装置101は、記憶部(記憶手段)101a、ノイズレベル部(ノイズレベル手段)101b、ノイズ画像生成部(ノイズ画像生成手段)101c、および、ダウサンプリング部101d(ダウンサンプリング手段)を有する。また学習装置101は、ノイズ加算部(ノイズ加算手段)101eおよび学習部(学習手段)101fを有する。
【0022】
撮像装置102は、光学系102aおよび撮像素子102bを有する。光学系102aは、被写体空間から撮像装置102へ入射した光を集光する。撮像素子102bは、光学系102aを介して形成された光学像(被写体像)を受光して(光電変換して)撮像画像を取得する。撮像素子102bは、例えばCCD(Charge Coupled Device)センサや、CMOS(Complementary Metal-Oxide Semiconductor)センサなどである。撮像装置102によって取得される撮像画像は、光学系102aの収差や回折によるぼけと、撮像素子102bによるノイズを含む。
【0023】
画像推定装置103は、記憶部103a、取得部103b、および、超解像画像処理部(推定手段)103cを有する。画像推定装置103は、撮像画像を取得し、ノイズレベル変動を抑制したDL超解像画像処理を行って推定画像(出力画像)を生成する。DL超解像画像処理には、多層のニューラルネットワークを使用し、ウエイトの情報は記憶部103aから読み出される。ウエイト(ウエイトの情報)は学習装置101で学習されたものであり、画像推定装置103は、事前にネットワーク107を介して記憶部101aからウエイトの情報を読み出し、記憶部103aに保存している。保存されるウエイトの情報は、ウエイトの数値そのものでもよいし、符号化された形式でもよい。なお、ウエイトの学習、およびウエイトを用いたDL超解像画像処理に関する詳細は、後述する。
【0024】
出力画像は、表示装置104、記録媒体105、および、出力装置106の少なくとも一つに出力される。表示装置104は、例えば液晶ディスプレイやプロジェクタなどである。ユーザは、表示装置104を介して、処理途中の画像を確認しながら編集作業などを行うことができる。記録媒体105は、例えば半導体メモリ、ハードディスク、ネットワーク上のサーバ等である。出力装置106は、プリンタなどである。画像推定装置103は、必要に応じて現像処理やその他の画像処理を行う機能を有する。
【0025】
次に、図1および図4を参照して、本実施例における学習装置101により実行されるウエイト(ウエイトの情報)の学習方法(学習済みモデルの製造方法)に関して説明する。図1は、多層のニューラルネットワーク(ニューラルネットワーク)のウエイトの学習の流れを示す図である。図4は、ウエイトの学習に関するフローチャートである。図4の各ステップは、主に、ノイズレベル部101b、ノイズ画像生成部101c、ダウンサンプリング部101d、ノイズ加算部101e、および、学習部101fにより実行される。
【0026】
まず、ステップS101において、ノイズレベル部101bは、高解像度パッチ(第1の画像)に基づいて、中間パッチ(第2の画像)を生成する。本実施例において、高解像度パッチは、光学系102bの収差や回折によるぼけが少ない高解像な画像である。高解像度パッチには撮像素子102bによるノイズ成分が含まれる。中間パッチとは、高解像度パッチと同一の被写体が写っており、高解像度パッチとノイズレベルの異なる(ノイズが多いまたは少ない)画像である。なお、パッチとは既定の画素数(例えば、64×64画素など)を有する画像を指す。また、パッチの画素数は、必ずしも一致する必要はない。例えば、高解像度パッチの画素数は、対応する低解像度パッチの画素数より多い。また、高解像度パッチと中間パッチの画素数は等しい。
【0027】
本実施例では、高解像度パッチからノイズ除去手法BM3Dでノイズ除去することで、高解像度パッチとノイズレベルの異なる(ノイズの少ない)中間パッチを生成する。本実施例は、記憶部101aに記憶されている複数の原画像を高解像撮像画像とする。原画像は撮像装置102によって取得される撮像画像でもよいし、撮像シミュレーションによって生成した撮像画像でもよい。インターネットから集めた画像を用いてもよい。また、原画像は、撮像素子によるノイズを含む画像である。本実施例において、撮像素子として撮像素子102bを用いたが、本発明はこれに限定されるものではない。例えば、他の撮像素子によるノイズでもよいし、正規乱数によって生成した乱数列に基づくノイズでもよい。そして、複数の原画像(高解像度撮像画像)から規定の画素サイズの部分領域を抽出することで、複数の高解像度パッチを取得する。本実施例において、原画像はPNG画像であるが、本発明はこれに限定されるものではない。例えば、BMPやJPGなど他の画像フォーマットでもよいし、未現像のRAW画像でもよい。
【0028】
好ましくは、原画像は、収差や回折によるぼけが少ない(影響が小さい)高解像な画像がよい。これは、原画像(高解像度画像)に高周波成分が含まれていなければ、DL超解像画像処理で低解像度画像から推定する高周波数成分が無くなるためである。
【0029】
本実施例において、高解像度パッチからノイズ除去手法BM3Dでノイズ除去することで、高解像度パッチとノイズレベルの異なる(ノイズの少ない)中間パッチを生成したが、本発明はこれに限定されるものではない。例えば、NLM(non-local means)やDLなど他のノイズ除去手法でもよい。または、高解像度パッチにノイズを付与することで、ノイズレベルの異なる(ノイズの多い)中間パッチを生成してもよい。なお、付与するノイズは正規乱数によって生成した乱数列に基づくノイズでもよい。また、一様乱数や無理数を利用した擬似的な乱数発生器を使用して生成した乱数列に基づくノイズでもよい。
【0030】
続いてステップS102において、ノイズ画像生成部101cは、高解像度パッチ(第1の画像)と中間パッチ(第2の画像)とに基づいて、低解像度ノイズパッチ(第1の画像または第2の画像に含まれるノイズに関する第3の画像)を生成する。本実施例において、高解像度パッチと中間パッチの画素数は256×256画素、低解像度ノイズパッチの画素数は64×64画素であるが、これに限定されるものではない。
【0031】
なお本実施例では、以下の方法により、高解像度パッチと中間パッチから低解像度ノイズパッチを生成するが、これに限定されるものではない。まず、高解像度パッチと中間パッチを減算し、高解像度ノイズパッチを生成する。本実施例において、高解像度パッチから中間パッチを減算するが、逆に、中間パッチから高解像度パッチを減算してもよい。次に、高解像度ノイズパッチをバイキュービック補間でダウンサンプリングし、低解像度ノイズパッチを生成する。なお、ダウンサンプリング方法はこれに限定されるものではなく、バイリニア補間や最近傍補間でもよい。または、図10に示されるように、高解像度パッチと中間パッチをそれぞれダウンサンプリングした後に減算することで、低解像度ノイズパッチを生成してもよい。
【0032】
また、ステップS101において、高解像度パッチにノイズを付与し、ノイズレベルの異なる(ノイズの多い)中間パッチを生成する場合、以下の方法で低解像度ノイズパッチを生成してもよい。すなわち、高解像度パッチと中間パッチとを減算し、得られる高解像度ノイズパッチは、高解像度パッチに付与したノイズである。よって、ステップS101において、高解像度パッチに付与したノイズを記憶し、それをダウンサンプリングすることで、低解像度ノイズパッチを生成してもよい。
【0033】
続いてステップS103において、ダウンサンプリング部101dは、高解像度パッチ(第1の画像)と中間パッチ(第2の画像)の少なくとも一方に基づいて、ダウンサンプリングパッチ(第4の画像)を生成する。なお、生成される低解像度なダウンサンプリングパッチは、低解像度ノイズパッチの画素数と同じである。なお本実施例では、高解像度パッチと中間パッチの少なくとも一方を、バイキュービック補間でダウンサンプリングし、ダウンサンプリングパッチを生成するが、これに限定されるものではない。例えば、ダウンサンプリング方法として、バイリニア補間や最近傍補間を用いてもよい。また、ステップS102とステップS103の順序は逆でもよい。また、ステップS102において高解像度パッチと中間パッチをダウンサンプリングした場合、その結果を記憶しダウンサンプリングパッチとして用いてもよい。すなわち、必ずしもダウンサンプリングを再度行う必要はない。
【0034】
続いてステップS104において、ノイズ加算部101eは、低解像度ノイズパッチ(第3の画像)とダウンサンプリングパッチ(第4の画像)とに基づいて、低解像度パッチ(第5の画像)を生成する。本実施例では、低解像度ノイズパッチとダウンサンプリングパッチを、重み付け加算し、低解像度パッチを生成する。なお、重み付け加算に用いる重みは、高解像度パッチのノイズレベルに基づいて決定される。本実施例では、原画像を取得する撮像装置102の撮像素子102bのISO感度に基づいて重みを決定するが、これに限定されるものではない。例えば、高解像度パッチが有するノイズをガウシアンノイズで近似した際の平均値、標準偏差、または、分散の少なくとも一つに基づいて決定してもよい。また、ステップS101において、高解像度パッチにノイズを付与し、ノイズレベルの異なる(ノイズの多い)中間パッチを生成した場合、以下の方法で重み付け加算に用いる重みを決定してもよい。すなわち、付与するノイズの元となる、正規乱数によって生成した乱数列の標準偏差に基づいて決定してもよい。本実施例において、重み付け加算に用いる重みは、1種類である。
【0035】
続いてステップS105において、学習部101fは、低解像度パッチ(第5の画像)201を多層のニューラルネットワーク(ニューラルネットワーク)へ入力し、推定パッチ(推定画像)202を生成する。推定パッチ202は、ノイズレベルの変動を抑制して、DL超解像画像処理(高解像度化)した低解像度パッチ201である。理想的には、推定パッチ202は高解像度パッチ(第1の画像)200と一致する。これは、低解像度パッチ201が有するノイズと、高解像度パッチ200が有するノイズに相関があるためである。
【0036】
一方、ステップS101において、高解像度パッチにノイズを付与し、ノイズレベルの異なる(ノイズの多い)中間パッチを生成した場合、推定パッチ202は中間パッチ(第2の画像)と一致する。この場合、低解像度パッチ201が有するノイズと、相関のあるノイズを有する高解像度なパッチは、中間パッチだからである。
【0037】
本実施例では、図1に示される多層ニューラルネットワークの構成を使用するが、これに限定されるものではない。図1中のCNは畳み込み層を表す。CNは、入力とフィルタの畳み込み、およびバイアスとの和が算出され、その結果を活性化関数によって非線形変換する。フィルタの各成分とバイアスの初期値は任意であり、本実施例では乱数によって決定する。活性化関数は、例えばReLU(Rectified Linear Unit)やシグモイド関数などを使うことができる。最終層を除く各層の出力は、特徴マップと呼ばれる。スキップコネクション211、212、213は、連続していない層から出力された特徴マップを合成する。特徴マップの合成は要素ごとの和をとってもよいし、チャンネル方向に連結(concatenation)してもよい。本実施例では要素ごとの和を採用する。また、スキップコネクション210を併せて有してもよい。これは、低解像度パッチ201を補間で拡大(高解像度化)し、多層ニューラルネットから得られる残差と合成することで、推定パッチ202を生成する経路である。複数の低解像度パッチ201のそれぞれに対して、推定パッチ202を生成する。図1中のPSはPixel Shuffle層を表す。PSは低解像度な特徴マップを並び替え、高解像度な特徴マップを生成する。例えば、64×64×64画素の低解像度の特徴マップを並び替え、128×128×16画素の高解像度な特徴マップを生成する。特徴マップのサイズは縦×横×深さ(チャンネル)として表している。PSで得られた特徴マップを畳み込みし、特徴マップのチャンネル数を調整してもよい。本実施例において、特徴マップの高解像度化にはPixel Shuffleを用いるが、本発明はこれに限定されるものではない。例えば、逆畳み込みや補間を用いてもよい。
【0038】
続いてステップS106において、学習部101fは、推定パッチ202と高解像度パッチ(第1の画像)200との誤差に基づいて、多層ニューラルネットワークのウエイト(ウエイトの情報)を更新する。ここで、ウエイトは、各層のフィルタの成分とバイアスを含む。ウエイトの更新には誤差逆伝搬法(Backpropagation)を使用するが、本発明はこれに限定されるものではない。ミニバッチ学習のため、複数の高解像度パッチ200とそれらに対応する推定パッチ202の誤差を求め、ウエイトを更新する。誤差関数(Loss function)には、例えばL2ノルムやL1ノルムなどを用いればよい。ウエイト更新方法(学習方法)はミニバッチ学習に限らず、バッチ学習でもオンライン学習でもよい。
【0039】
また、ステップS101において、高解像度パッチにノイズを付与し、ノイズレベルの異なる(ノイズの多い)中間パッチを生成した場合、推定パッチ202は中間パッチ(第2の画像)と一致する。このため、学習部101fは、推定パッチ202と中間パッチとの誤差に基づいて、多層ニューラルネットワークのウエイトを更新する。推定パッチ202と中間パッチの関係については、ステップS104において説明したとおりである。
【0040】
続いてステップS107において、学習部101fは、ウエイトの学習が完了したか否かを判定する。完了は、学習(ウエイトの更新)の反復回数が規定値に達したか、または、更新時のウエイトの変化量が規定値より小さいかなどにより判定することができる。未完と判定された場合、ステップS101へ戻り、新たな高解像度パッチと低解像度パッチを複数取得する。一方、完了と判定された場合、学習装置101(学習部101f)は学習を終了し、ウエイトの情報を記憶部101aに保存する。
【0041】
次に、図5を参照して、本実施例における画像推定装置103で実行される出力画像の生成に関して説明する。図5は、出力画像の生成に関するフローチャートである。図5の各ステップは、主に、画像推定装置103の取得部103b、および、超解像画像処理部103cにより実行される。
【0042】
まず、ステップS201において、取得部103bは、撮像画像とウエイトの情報を取得する。撮像画像は、学習と同様でPNG画像であり、本実施例では撮像装置102から送信されたものである。ウエイト情報は学習装置101から送信されて記憶部103aに記憶されたものである。
【0043】
続いてステップS202において、超解像画像処理部103cは、取得したウエイトを適用した多層のニューラルネットワークに撮像画像を入力し、推定画像(出力画像)を生成する。推定画像は、撮像画像からノイズレベルの変動を抑えて、撮像画像を高解像度化した画像である。推定画像の生成には、図1に示される構成と同様の多層ニューラルネットワークを使用する。なお、多層のニューラルネットワークへ撮像画像を入力する際は、学習時に使用した訓練パッチと同サイズに切り出す必要はない。
【0044】
ここで、高解像度パッチのノイズと低解像度パッチのノイズとの間に相関がない場合について説明する。この場合、高解像度パッチと低解像度パッチの場所毎にノイズレベルが異なるため、ある場所ではノイズ除去し、別の場所ではノイズを強調するように学習する。すなわち、高解像度化に伴って画像のノイズレベルの変動(増加または減少)が発生し、超解像画像の画質が低下する。
【0045】
次に、高解像度パッチにノイズがなく、低解像度パッチのみノイズを有する場合について説明する。この場合、低解像度パッチを高解像度化すると同時に、低解像度パッチからノイズ除去するように学習する。しかし、実写画像には撮像素子に起因するノイズが必ず含まれ、ノイズ除去するとむしろ不自然な高解像度画像となる。また、低解像度画像を高解像度化し(画像を引き伸ばし)、大きな高解像度画像が得られると、ノイズ除去された不自然さが際立つ。
【0046】
一方、本実施例によれば、高解像度化に伴って画像のノイズレベルを変動させることがない。すなわち、撮像画像を高解像度化しつつ、画像に自然らしさを与える一因であるノイズのレベルを、撮像画像のノイズレベルと変わらないようにすることができる。
【0047】
なお本実施例では、学習装置101と画像推定装置103とが別体である場合を例に説明したが、これに限定されない。学習装置101と画像推定装置103は一体的に構成されていてもよい。すなわち、一体の装置内で学習(図4に示す処理)と推定(図5に示す処理)を行っても良い。
【0048】
以上の構成により、本実施例によれば、DL超解像画像処理に伴う画像のノイズレベルの変動を抑制した画像処理システムを提供することが可能である。
【実施例2】
【0049】
次に、本発明の実施例2における画像処理システムに関して説明する。本実施例は、実施例1と同様に、多層のニューラルネットワークに超解像画像処理を学習、実行させる。本実施例の画像処理システムは、撮像装置が撮像画像を取得し、DL超解像画像処理に伴うノイズレベルの変動を抑制した超解像画像生成する点で、実施例1と異なる。
【0050】
図6は、本実施例における画像処理システム300のブロック図である。図7は、画像処理システム300の外観図である。画像処理システム300は、ネットワーク303を介して接続された学習装置(画像処理装置、第1の装置)301と撮像装置(第2の装置)302とを含む。なお本実施例において、学習装置301と撮像装置302は、ネットワーク303を介して常に接続されている必要はない。
【0051】
学習装置301は、記憶部(記憶手段)311、ノイズレベル部(ノイズレベル手段)312、ノイズ画像生成部(ノイズ画像生成手段)313、および、ダウンサンプリング部(ダウンサンプリング手段)314を有する。また学習装置301は、ノイズ加算部(ノイズ加算手段)315および学習部(学習手段)316を有する。これらを用いて、多層のニューラルネットワークでノイズレベルの変動を抑制したDL超解像画像処理を行うためのウエイト(ウエイトの情報)を学習する。
【0052】
撮像装置302は、被写体空間を撮像して撮像画像を取得し、読み出した前記ウエイトの情報を用いて、撮像画像から超解像画像を生成する。学習装置301で実行されるウエイトの学習と、撮像装置302で実行されるDL超解像画像処理に関する詳細は後述する。撮像装置302は、光学系321と撮像素子322を有する。画像推定部323は、取得部323aと超解像画像処理部(推定手段)323bを有し、記憶部324に保存されたウエイトの情報を用いて、撮像画像から撮像素子322より高解像度な超解像画像の生成を実行する。
【0053】
なお、学習装置301で実行される、多層ニューラルネットワークのウエイトの学習は、実施例1と同様であるため、その説明は省略する。撮像装置302で実行されるDL超解像画像処理に関する詳細のみ後述する。
【0054】
ウエイトの情報は、学習装置301で事前に学習され、記憶部311に保存されている。撮像装置302は、記憶部311からネットワーク303を介してウエイトの情報を読み出し、記憶部324に保存する。DL超解像画像処理された撮像画像(出力画像)は、記録媒体325に保存される。ユーザから出力画像の表示に関する指示が出された場合、保存された出力画像が読み出され、表示部326に表示される。なお、記録媒体325に既に保存された撮像画像を読み出し、画像推定部323でDL超解像画像処理を行ってもよい。以上の一連の制御は、システムコントローラ327によって行われる。
【0055】
次に、本実施例における画像推定部323で実行される出力画像の生成に関して説明する。DL超解像画像処理の手順は実施例1の図5と略同一であるため、フローチャートの図は割愛する。DL超解像画像処理の各ステップは、主に、画像推定部323の取得部323aおよび超解像画像処理部(超解像画像処理手段)323bにより実行される。
【0056】
まず、ステップS201において、取得部323aは、撮像画像とウエイトの情報を取得する。撮像画像は、学習と同様でPNG画像であり、本実施例では撮像装置302で取得され、記憶部324に記憶されたものである。ウエイト情報は、学習装置301から送信されて記憶部324に記憶されたものである。
【0057】
続いてステップS202において、超解像画像処理部323bは、取得したウエイトを適用した多層のニューラルネットワークに撮像画像を入力し、推定画像(出力画像)を生成する。推定画像は、撮像画像からノイズレベルの変動を抑えて、撮像画像を高解像度化した画像である。推定画像の生成には、図1に示される構成と同様の多層ニューラルネットワークを使用する。なお、多層のニューラルネットワークへ撮像画像を入力する際は、学習時に使用した訓練パッチと同サイズに切り出す必要はない。
以上の構成により、本実施例によれば、DL超解像画像処理に伴う画像のノイズレベルの変動を抑制した画像処理システムを提供することが可能である。
【実施例3】
【0058】
次に、本発明の実施例3における画像処理システムに関して説明する。本実施例の画像処理システムは、画像推定装置に対して画像処理の対象である撮像画像を送信し処理済みの出力画像を画像推定装置から受信する処理装置(コンピュータ)を有する点で、実施例1、2と異なる。
【0059】
図8は、本実施例における画像処理システム400のブロック図である。画像処理システム400は、学習装置(第1の装置)401、撮像装置402、画像推定装置(第2の装置)403、および、処理装置(コンピュータ、第3の装置)404を有する。学習装置401および画像推定装置403は、例えばサーバである。コンピュータ404は、例えばユーザ端末(パーソナルコンピュータまたはスマートフォン)である。コンピュータ404は、ネットワーク405を介して画像推定装置403に接続されている。画像推定装置403は、ネットワーク406を介して学習装置401に接続されている。すなわち、コンピュータ404と画像推定装置403とは通信可能に構成され、画像推定装置403と学習装置401とは通信可能に構成されている。
【0060】
学習装置401は、記憶部(記憶手段)401a、ノイズレベル部(ノイズレベル手段)401b、ノイズ画像生成部(ノイズ画像生成手段)401c、および、ダウサンプリング部401d(ダウンサンプリング手段)を有する。また学習装置401は、ノイズ加算部(ノイズ加算手段)401eおよび学習部(学習手段)401fを有する。撮像装置402は、光学系402aおよび撮像素子402bを有する。なお、学習装置401および撮像装置402の構成は、実施例1の学習装置101および撮像装置102とそれぞれ同様のため、それらの説明を省略する。
【0061】
画像推定装置403は、記憶部403a、取得部403b、超解像画像処理部(推定手段)403c、および、通信部(受信手段)403dを有する。記憶部403a、取得部403b、および、超解像画像処理部403cは、実施例1の画像推定装置103の記憶部103a、取得部103b、および、超解像画像処理部103cとそれぞれ同様である。通信部403dは、コンピュータ404から送信される要求を受信する機能、および、画像推定装置403により生成された出力画像をコンピュータ404に送信する機能を有する。
【0062】
コンピュータ404は、通信部(送信手段)404a、表示部404b、画像処理部404c、および、記録部404dを有する。通信部404aは、撮像画像に対する処理を画像推定装置403に実行させるための要求を画像推定装置403に送信する機能、および、画像推定装置403により処理された出力画像を受信する機能を有する。表示部404bは、種々の情報を表示する機能を有する。表示部404bにより表示される情報は、例えば、画像推定装置403に送信する撮像画像、および、画像推定装置403から受信した出力画像を含む。画像処理部404cは、画像推定装置403から受信した出力画像に対してさらに画像処理を施す機能を有する。記録部404dは、撮像装置402から取得した撮像画像、および、画像推定装置403から受信した出力画像等を記録する。
【0063】
次に、図9を参照して、本実施例における画像処理について説明する。図9は、本実施例における出力画像の生成に関するフローチャートである。なお本実施例における画像処理は、実施例1にて説明したDL超解像画像処理(図5)と同等である。図9に示される画像処理は、コンピュータ404を介してユーザにより画像処理開始の指示が成されたことを契機として開始される。
【0064】
まず、コンピュータ404における動作について説明する。ステップS401において、コンピュータ404は、撮像画像に対する処理の要求を画像推定装置403へ送信する。なお、処理対象である撮像画像を画像推定装置403に送信する方法は問わない。例えば、撮像画像は、ステップS401と同時に画像推定装置403にアップロードされてもよく、または、ステップS401以前に画像推定装置403にアップロードされていてもよい。また撮像画像は、画像推定装置403とは異なるサーバ上に記憶された画像でもよい。なお、ステップS401において、コンピュータ404は撮像画像に対する処理の要求と共に、ユーザを認証するID情報等を送信してもよい。
【0065】
続いてステップS402において、コンピュータ404は、画像推定装置403内で生成された出力画像を受信する。出力画像は、実施例1と同様にノイズレベルの変動を抑えて、撮像画像をDL超解像画像処理した(高解像度化した)画像である。
【0066】
次に、画像推定装置403の動作について説明する。まずステップS501において、画像推定装置403は、コンピュータ404から送信された撮像画像に対する処理の要求を受信する。画像推定装置403は、撮像画像に対する処理(DL超解像画像処理)が指示されたと判定し、ステップS502以降の処理を実行する。
【0067】
続いてステップS502において、画像推定装置403は、ウエイト情報を取得する。ウエイト情報は実施例1と同様の方法(図4)で学習された情報(学習済みモデル)である。画像推定装置403は、学習装置401からウエイト情報を取得してもよく、または、予め学習装置401から取得され記憶部403aに記憶されたウエイト情報を取得してもよい。続くステップS503は、実施例1のステップS202と同様である。続いてステップS504において、画像推定装置403は、出力画像をコンピュータ404へ送信する。
【0068】
以上のように、本実施例のように、画像推定装置403を、画像推定装置403と通信可能に接続されたコンピュータ404を用いて制御するように構成してもよい。
【0069】
(その他の実施例)
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0070】
各実施例によれば、画像処理に伴う画像のノイズの変動を抑制することが可能な画像処理方法、画像処理装置、プログラム、および、記憶媒体を提供することができる。
【0071】
以上、本発明の好ましい実施例について説明したが、本発明はこれらの実施例に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【符号の説明】
【0072】
101 学習装置(画像処理装置)
101b ノイズレベル部(ノイズレベル手段)
101c ノイズ画像生成部(ノイズ画像生成手段)
101d ダウンサンプリング部(ダウンサンプリング手段)
101e ノイズ加算部(ノイズ加算手段)
101f 学習部(学習手段)
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10