(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023139782
(43)【公開日】2023-10-04
(54)【発明の名称】学習方法、学習システム、学習プログラム、ノイズ除去方法、ノイズ除去システム及びノイズ除去プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20230927BHJP
G06T 5/00 20060101ALI20230927BHJP
【FI】
G06N20/00
G06T5/00 705
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022045489
(22)【出願日】2022-03-22
(71)【出願人】
【識別番号】000236436
【氏名又は名称】浜松ホトニクス株式会社
(74)【代理人】
【識別番号】100088155
【弁理士】
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【弁理士】
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100140442
【弁理士】
【氏名又は名称】柴山 健一
(74)【代理人】
【識別番号】100128107
【弁理士】
【氏名又は名称】深石 賢治
(72)【発明者】
【氏名】田渕 友佳子
(72)【発明者】
【氏名】竹嶋 智親
(72)【発明者】
【氏名】伊藤 朱里
【テーマコード(参考)】
5B057
【Fターム(参考)】
5B057BA02
5B057CA08
5B057CA12
5B057CA16
5B057CB08
5B057CB12
5B057CB17
5B057CC01
5B057CE02
5B057DC40
(57)【要約】
【課題】 データの特徴によらず、適切なノイズ除去を可能とする。
【解決手段】 学習方法は、複数の値を有するデータからノイズを除去するための学習モデルを生成する方法であって、複数の値を有すると共にノイズを含む、複数の学習用データを取得する学習用取得ステップ(S01)と、学習用データに基づく情報を学習モデルへの入力として第1の機械学習を行うと共に、当該学習モデルからの出力に基づく学習用データのノイズ除去後のデータと、別の学習用データと当該別の学習用データのノイズ除去後のデータとの差分と、を合成して生成した新たな学習用データに基づく情報を学習モデルへの入力とし、当該学習用データのノイズ除去後のデータ又は当該別の学習用データの差分に基づく情報を学習モデルからの出力として第2の機械学習を行って学習モデルを生成する学習ステップ(S02)と、を含む。
【選択図】
図5
【特許請求の範囲】
【請求項1】
複数の値を有するデータからノイズを除去するための学習モデルを生成する学習方法であって、
複数の値を有すると共にノイズを含む、複数の学習用データを取得する学習用取得ステップと、
前記学習用取得ステップにおいて取得された学習用データに基づく情報を学習モデルへの入力として第1の機械学習を行うと共に、当該学習モデルからの出力に基づく学習用データのノイズ除去後のデータと、別の学習用データと当該学習モデルからの出力に基づく当該別の学習用データのノイズ除去後のデータとの差分と、を合成して、新たな学習用データを生成して、生成した新たな学習用データに基づく情報を学習モデルへの入力とし、当該学習用データのノイズ除去後のデータ又は当該別の学習用データの差分に基づく情報を学習モデルからの出力として第2の機械学習を行って学習モデルを生成する学習ステップと、
を含む学習方法。
【請求項2】
前記複数の値を有するデータは画像である請求項1に記載の学習方法。
【請求項3】
前記学習用取得ステップにおいて、前記学習用データの元データを取得して、元データの複数の部分それぞれを学習用データとして取得する請求項1又は2に記載の学習方法。
【請求項4】
複数の値を有するデータからノイズを除去するための学習モデルを生成する学習システムであって、
複数の値を有すると共にノイズを含む、複数の学習用データを取得する学習用取得手段と、
前記学習用取得手段によって取得された学習用データに基づく情報を学習モデルへの入力として第1の機械学習を行うと共に、当該学習モデルからの出力に基づく学習用データのノイズ除去後のデータと、別の学習用データと当該学習モデルからの出力に基づく当該別の学習用データのノイズ除去後のデータとの差分と、を合成して、新たな学習用データを生成して、生成した新たな学習用データに基づく情報を学習モデルへの入力とし、当該学習用データのノイズ除去後のデータ又は当該別の学習用データの差分に基づく情報を学習モデルからの出力として第2の機械学習を行って学習モデルを生成する学習手段と、
を備える学習システム。
【請求項5】
コンピュータを、複数の値を有するデータからノイズを除去するための学習モデルを生成する学習システムとして動作させる学習プログラムであって、
当該コンピュータを、
複数の値を有すると共にノイズを含む、複数の学習用データを取得する学習用取得手段と、
前記学習用取得手段によって取得された学習用データに基づく情報を学習モデルへの入力として第1の機械学習を行うと共に、当該学習モデルからの出力に基づく学習用データのノイズ除去後のデータと、別の学習用データと当該学習モデルからの出力に基づく当該別の学習用データのノイズ除去後のデータとの差分と、を合成して、新たな学習用データを生成して、生成した新たな学習用データに基づく情報を学習モデルへの入力とし、当該学習用データのノイズ除去後のデータ又は当該別の学習用データの差分に基づく情報を学習モデルからの出力として第2の機械学習を行って学習モデルを生成する学習手段と、
として機能させる学習プログラム。
【請求項6】
請求項1~3の何れか一項に記載の学習方法によって生成された学習モデルを用いて、複数の値を有するデータからノイズを除去するノイズ除去方法であって、
複数の値を有すると共にノイズ除去対象であるノイズ除去対象データを取得する除去用取得ステップと、
前記除去用取得ステップにおいて取得されたノイズ除去対象データを前記学習モデルに入力してノイズ除去対象データからノイズを除去するノイズ除去ステップと、
を含むノイズ除去方法。
【請求項7】
請求項1~3の何れか一項に記載の学習方法によって生成された学習モデルを用いて、複数の値を有するデータからノイズを除去するノイズ除去システムであって、
複数の値を有すると共にノイズ除去対象であるノイズ除去対象データを取得する除去用取得手段と、
前記除去用取得手段によって取得されたノイズ除去対象データを前記学習モデルに入力してノイズ除去対象データからノイズを除去するノイズ除去手段と、
を備えるノイズ除去システム。
【請求項8】
コンピュータを、請求項1~3の何れか一項に記載の学習方法によって生成された学習モデルを用いて、複数の値を有するデータからノイズを除去するノイズ除去システムとして動作させるノイズ除去プログラムであって、
当該コンピュータを、
複数の値を有すると共にノイズ除去対象であるノイズ除去対象データを取得する除去用取得手段と、
前記除去用取得手段によって取得されたノイズ除去対象データを前記学習モデルに入力してノイズ除去対象データからノイズを除去するノイズ除去手段と、
として機能させるノイズ除去プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の値を有するデータからノイズを除去するための学習モデルを生成する学習方法、学習システム及び学習プログラム、並びに生成された学習モデルを用いて、複数の値を有するデータからノイズを除去するノイズ除去方法ノイズ除去システム及びノイズ除去プログラムに関する。
【背景技術】
【0002】
従来、機械学習によって画像からノイズを除去する方法が提案されている。そのような方法として、例えば、Noise2Clean及びNoise2Noiseがある(例えば、非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Jaakko Lehtinen,Jacob Munkberg,Jon Hasselgren,Samuli Laine,Tero Karras,Miika Aittala,and Timo Aila,“Noise2Noise: Learning Image Restoration without Clean Data”,arXiv preprint arXiv:1803.04189,2018
【発明の概要】
【発明が解決しようとする課題】
【0004】
機械学習によるノイズ除去では、方法によっては、除去されるノイズが、ノイズを含む画像の特徴に応じた、本来のノイズとは異なるものとなり得る。例えば、画像中の輪郭等の信号に凹凸がある箇所では、除去されるノイズが当該凹凸に応じた、本来のノイズとは異なるものとなり得る。即ち、従来の方法では、画像の特徴によっては適切なノイズ除去が行えないおそれがある。
【0005】
本発明は、上記に鑑みてなされたものであり、データの特徴によらず、適切なノイズ除去を可能とする学習方法、学習システム、学習プログラム、ノイズ除去方法、ノイズ除去システム及びノイズ除去プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記の目的を達成するために、本発明に係る学習方法は、複数の値を有するデータからノイズを除去するための学習モデルを生成する学習方法であって、複数の値を有すると共にノイズを含む、複数の学習用データを取得する学習用取得ステップと、学習用取得ステップにおいて取得された学習用データに基づく情報を学習モデルへの入力として第1の機械学習を行うと共に、当該学習モデルからの出力に基づく学習用データのノイズ除去後のデータと、別の学習用データと当該学習モデルからの出力に基づく当該別の学習用データのノイズ除去後のデータとの差分と、を合成して、新たな学習用データを生成して、生成した新たな学習用データに基づく情報を学習モデルへの入力とし、当該学習用データのノイズ除去後のデータ又は当該別の学習用データの差分に基づく情報を学習モデルからの出力として第2の機械学習を行って学習モデルを生成する学習ステップと、を含む。
【0007】
本発明に係る学習方法では、学習用データのノイズ除去後のデータと、除去されるノイズに相当する別の学習用データの差分とが合成された新たな学習用データが用いられて機械学習が行われる。これによって、本発明に係る学習方法によれば、データの特徴によらず、適切なノイズ除去を可能とすることができる。
【0008】
複数の値を有するデータは画像であることとしてもよい。この構成によれば、ノイズを含む画像からノイズを除去するための学習モデルを生成することができる。
【0009】
学習用取得ステップにおいて、学習用データの元データを取得して、元データの複数の部分それぞれを学習用データとして取得することとしてもよい。この構成によれば、多数の学習用データを予め用意しなくても、機械学習に必要な学習用データを取得することができ、適切に機械学習を行うことができる。
【0010】
ところで、本発明は、上記のように学習方法の発明として記述できる他に、以下のように学習システム及び学習プログラムの発明としても記述することができる。これらはカテゴリが異なるだけで、実質的に同一の発明であり、同様の作用及び効果を奏する。
【0011】
即ち、本発明に係る学習システムは、複数の値を有するデータからノイズを除去するための学習モデルを生成する学習システムであって、複数の値を有すると共にノイズを含む、複数の学習用データを取得する学習用取得手段と、学習用取得手段によって取得された学習用データに基づく情報を学習モデルへの入力として第1の機械学習を行うと共に、当該学習モデルからの出力に基づく学習用データのノイズ除去後のデータと、別の学習用データと当該学習モデルからの出力に基づく当該別の学習用データのノイズ除去後のデータとの差分と、を合成して、新たな学習用データを生成して、生成した新たな学習用データに基づく情報を学習モデルへの入力とし、当該学習用データのノイズ除去後のデータ又は当該別の学習用データの差分に基づく情報を学習モデルからの出力として第2の機械学習を行って学習モデルを生成する学習手段と、を備える。
【0012】
また、本発明に係る学習プログラムは、コンピュータを、複数の値を有するデータからノイズを除去するための学習モデルを生成する学習システムとして動作させる学習プログラムであって、当該コンピュータを、複数の値を有すると共にノイズを含む、複数の学習用データを取得する学習用取得手段と、学習用取得手段によって取得された学習用データに基づく情報を学習モデルへの入力として第1の機械学習を行うと共に、当該学習モデルからの出力に基づく学習用データのノイズ除去後のデータと、別の学習用データと当該学習モデルからの出力に基づく当該別の学習用データのノイズ除去後のデータとの差分と、を合成して、新たな学習用データを生成して、生成した新たな学習用データに基づく情報を学習モデルへの入力とし、当該学習用データのノイズ除去後のデータ又は当該別の学習用データの差分に基づく情報を学習モデルからの出力として第2の機械学習を行って学習モデルを生成する学習手段と、として機能させる。
【0013】
本発明に係るノイズ除去方法は、上記の学習方法によって生成された学習モデルを用いて、複数の値を有するデータからノイズを除去するノイズ除去方法であって、複数の値を有すると共にノイズ除去対象であるノイズ除去対象データを取得する除去用取得ステップと、除去用取得ステップにおいて取得されたノイズ除去対象データを学習モデルに入力してノイズ除去対象データからノイズを除去するノイズ除去ステップと、を含む。
【0014】
本発明に係るノイズ除去方法では、本発明に係る学習方法で生成された学習モデルが用いられてデータからノイズの除去が行われる。従って、適切なノイズ除去を可能とすることができる。
【0015】
ところで、本発明は、上記のようにノイズ除去方法の発明として記述できる他に、以下のようにノイズ除去システム及びノイズ除去プログラムの発明としても記述することができる。これらはカテゴリが異なるだけで、実質的に同一の発明であり、同様の作用及び効果を奏する。
【0016】
即ち、本発明に係るノイズ除去システムは、上記の学習方法によって生成された学習モデルを用いて、複数の値を有するデータからノイズを除去するノイズ除去システムであって、複数の値を有すると共にノイズ除去対象であるノイズ除去対象データを取得する除去用取得手段と、除去用取得手段によって取得されたノイズ除去対象データを学習モデルに入力してノイズ除去対象データからノイズを除去するノイズ除去手段と、を備える。
【0017】
また、本発明に係るノイズ除去プログラムは、コンピュータを、上記の学習方法によって生成された学習モデルを用いて、複数の値を有するデータからノイズを除去するノイズ除去システムとして動作させるノイズ除去プログラムであって、当該コンピュータを、複数の値を有すると共にノイズ除去対象であるノイズ除去対象データを取得する除去用取得手段と、除去用取得手段によって取得されたノイズ除去対象データを学習モデルに入力してノイズ除去対象データからノイズを除去するノイズ除去手段と、として機能させる。
【発明の効果】
【0018】
本発明によれば、データの特徴によらず、適切なノイズ除去を可能とすることができる。
【図面の簡単な説明】
【0019】
【
図1】本発明の実施形態に係る学習システム及びノイズ除去システムの構成を示す図である。
【
図5】本発明の実施形態に係る学習システムで実行される処理である学習方法を示すフローチャートである。
【
図6】本発明の実施形態に係るノイズ除去システムで実行される処理であるノイズ除去方法を示すフローチャートである。
【
図7】第1の機械学習のみを行った場合のノイズ除去の例を示す図である。
【
図8】第1の機械学習のみを行った場合の半導体検査装置によって撮像された画像に対するノイズ除去の例を示す図である。
【
図9】第1の機械学習のみを行った場合の半導体検査装置によって撮像された画像に対するノイズ除去の例を示す図である。
【
図10】第1の機械学習と第2の機械学習とを行った場合の半導体検査装置によって撮像された画像に対するノイズ除去の例を示す図である。
【
図11】第1の機械学習と第2の機械学習とを行った場合の半導体検査装置によって撮像された画像に対するノイズ除去の例を示す図である。
【
図12】第1の機械学習と第2の機械学習とを行った場合の半導体検査装置によって撮像された画像に対するノイズ除去の例を示す図である。
【
図13】第1の機械学習と第2の機械学習とを行った場合の機械学習の繰り返しの回数とノイズ除去結果とを示す図である。
【
図14】第1の機械学習のみを行った場合の機械学習の繰り返しの回数とノイズ除去結果とを示す図である。
【
図15】機械学習の繰り返しの数(学習回数)(横軸)とノイズ除去後の画像のSSIMによる評価値(縦軸)とのグラフである。
【
図16】本発明の実施形態に係る学習プログラム及びノイズ除去プログラムの構成を、記録媒体と共に示す図である。
【発明を実施するための形態】
【0020】
以下、図面と共に本発明に係る学習方法、学習システム、学習プログラム、ノイズ除去方法、ノイズ除去システム及びノイズ除去プログラムの実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【0021】
図1に本実施形態に係る学習システム20及びノイズ除去システム30を示す。学習システム20及びノイズ除去システム30は、コンピュータ10によって実現される。学習システム20は、複数の値を有するデータからノイズを除去するための学習モデル(学習済モデル)であるノイズ除去用モデル(デノイズ用モデル)を生成するシステム(装置)である。ノイズ除去システム30は、学習システム20によって生成されたノイズ除去用モデルを用いて、複数の値を有するデータからノイズを除去するシステム(装置)である。
【0022】
本実施形態では、ノイズの除去対象となる複数の値を有するデータは画像である。但し、ノイズの除去対象となる複数の値を有するデータは画像である必要はなく、例えば、波形のデータ等であってもよい。
【0023】
コンピュータ10は、例えば、CPU(Central Processing Unit)等のプロセッサ、メモリ、通信モジュール等のハードウェアを含む従来のコンピュータである。また、コンピュータ10は、複数のコンピュータを含むコンピュータシステムであってもよい。また、コンピュータ10は、クラウドコンピューティング又はエッジコンピューティングで構成されていてもよい。コンピュータ10の後述する各機能は、これらの構成要素がプログラム等により動作することによって発揮される。
【0024】
引き続いて、本実施形態に係る学習システム20及びノイズ除去システム30の機能を説明する。
図1に示すように学習システム20は、学習用取得部21と、学習部22とを備えて構成される。
【0025】
学習システム20の各機能を説明する前に学習システム20によって生成されるノイズ除去用モデルを説明する。本実施形態では、ノイズ除去用モデルは、画像に基づく情報を入力して、入力した画像から当該画像に含まれるノイズを除去した画像を出力(推論)するモデルである。なお、ノイズ除去用モデルは、必ずしも、ノイズ除去後の画像を出力するモデルでなくてもよく、ノイズ除去後の画像を生成可能な情報を出力するモデルであってもよい。例えば、ノイズ除去用モデルは、入力した画像に含まれるノイズを出力するモデルであってもよい。
【0026】
ノイズ除去用モデルは、例えば、ニューラルネットワークを含んで構成される。ニューラルネットワークは、多層のものであってもよい。即ち、ノイズ除去用モデルは、深層学習(ディープラーニング)によって生成されてもよい。また、ニューラルネットワークは、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)であってもよい。また、後述するようにニューラルネットワークは、特定の構造を有するものであってもよい。
【0027】
ノイズ除去用モデルには、入力層に画像に基づく情報を入力するためのニューロンが設けられる。例えば、ノイズ除去用モデルに入力される情報は、画像の各画素の画素値(輝度値)である。この場合、入力層には、画像の画素の数のニューロンが設けられ、それぞれのニューロンには対応する画素の画素値が入力される。なお、ノイズ除去用モデルに入力される情報は、画像に基づくものであれば各画素の画素値以外であってもよい。
【0028】
ノイズ除去用モデルには、出力層にノイズを除去した画像を出力するためのニューロンが設けられる。例えば、ノイズ除去用モデルから出力される情報は、ノイズ除去後の画像の各画素の画素値である。この場合、出力層には、画像の画素の数のニューロンが設けられ、それぞれのニューロンから対応する画素の画素値が出力される。
【0029】
なお、ノイズ除去用モデルは、ニューラルネットワーク以外によって構成されていてもよい。
【0030】
ノイズ除去用モデルは、人工知能ソフトウェアの一部であるプログラムモジュールとしての利用が想定される。ノイズ除去用モデル、例えば、CPU及びメモリを備えるコンピュータにて用いられ、コンピュータのCPUが、メモリに記憶されたモデルからの指令に従って動作する。例えば、コンピュータのCPUが、当該指令に従って、モデルに対して情報を入力して、モデルに応じた演算を行って、モデルから結果を出力するように動作する。具体的には、コンピュータのCPUが、当該指令に従って、ニューラルネットワークの入力層に情報を入力して、ニューラルネットワークにおける学習の重み付け係数等のパラメータに基づく演算を行って、ニューラルネットワークの出力層から結果を出力するように動作する。以上が、学習システム20によって生成されるノイズ除去用モデルである。
【0031】
学習用取得部21は、複数の値を有すると共にノイズを含む学習用データを取得する学習用取得手段である。複数の値を有するデータは画像であってもよい。学習用取得部21は、複数の学習用データを取得してもよい。学習用取得部21は、学習用データの元データを取得して、元データの複数の部分それぞれを学習用データとして取得してもよい。
【0032】
学習用取得部21は、例えば、以下のように学習用データを取得する。学習用取得部21は、ノイズを含む画像を学習用データの元画像(元データ)として取得する。元画像の取得は、例えば、元画像を撮像した撮像装置から受信することで、又はコンピュータ10に対するユーザの元画像の入力操作を受け付けることで行われる。
【0033】
学習用取得部21は、
図2に示すように元画像から、元画像より小さい、予め設定されたサイズの領域(部分)の画像を学習用データとして切り出して取得する。当該領域の画像をパッチと呼ぶ。学習用取得部21は、例えば、1つの元画像からランダムで異なる位置の複数のパッチを取得する。
【0034】
なお、学習用取得部21は、上記の元画像からの切り取り以外の方法で学習用データを取得してもよい。学習用取得部21は、後述する機械学習を適切に行える程度の数の学習用データを取得する。学習用取得部21は、取得した学習用データを学習部22に出力する。
【0035】
本実施形態では、ノイズ除去用モデルによって除去されるノイズは、特定の特性を有するノイズである。そのため、学習用データは、当該特定の特性を有するノイズを含むものとする。例えば、ノイズの除去対象の画像が撮像される条件と同様の条件(例えば、撮像装置及び撮像環境)で撮像された画像から取得されたパッチを学習用データとする。
【0036】
学習部22は、学習用取得部21によって取得された学習用データに基づく情報を学習モデルへの入力として第1の機械学習を行うと共に、当該学習モデルからの出力に基づく学習用データのノイズ除去後のデータと、別の学習用データと当該学習モデルからの出力に基づく当該別の学習用データのノイズ除去後のデータとの差分と、を合成して、新たな学習用データを生成して、生成した新たな学習用データに基づく情報を学習モデルへの入力とし、当該学習用データのノイズ除去後のデータ又は当該別の学習用データの差分に基づく情報を学習モデルからの出力として第2の機械学習を行って学習モデルを生成する学習手段である。
【0037】
学習部22は、学習用取得部21によって取得された学習用データに基づく情報を学習モデルへの入力とした演算を行って、当該学習用データと当該学習モデルからの出力に基づく当該学習用データのノイズ除去後のデータとの差分を複数の値毎に算出して、当該複数の値毎の差分の統計値に基づいて第1の機械学習を行って学習モデルを生成してもよい。学習部22は、複数の値毎の差分の統計値として、学習用データ毎の平均値、学習用データ間の分布の相違を示す値、学習用データ間の相関の相違を示す値、及び隣接する値間の差分の統計値の学習用データ間の相違を示す値の何れかを用いてもよい。学習部22は、複数の値毎の差分の統計値が0になるように第1の機械学習を行ってもよい。
【0038】
図2に第1の機械学習を模式的に示す。学習部22は、以下のように第1の機械学習を行う。学習部22は、学習用取得部21から学習用データであるパッチを入力する。学習部22は、各パッチを、その時点でのノイズ除去用モデルへの入力とした演算を行って、ノイズ除去用モデルからの出力、例えば、ノイズ除去後の画像(推論された信号画像)を得る。学習部22は、パッチとノイズ除去後の画像との差分である、その時点で推論されるノイズ画像を算出する。上記の差分は、画素毎の値、即ち、画像の複数の値毎の値である。例えば、学習部22は、ノイズ除去用モデルに入力したパッチ(入力画像)と、ノイズ除去後の画像(推論結果)との画素毎の差分を算出して、その時点で推論されるノイズ画像を得る。なお、機械学習前又は機械学習途中でのノイズ除去用モデルからの出力は、必ずしも、正確なノイズに係るものではない。
【0039】
第1の機械学習では、ノイズを含むパッチに対する教師画像として、ノイズを含まないパッチ及びノイズ自体の画像を必要とせずに、ノイズ除去用モデルを生成する。従って、これらの教師画像を用意できない場合であっても、ノイズ除去用モデルを生成することができる。第1の機械学習では、「推論結果」が「ノイズ除去された画像」であると仮定すると、除去される信号が「ノイズ」と仮定できる事を利用し、推論結果ではなく「除去される信号」側に注目する。Noise2Clean及びNoise2Noiseといった多くの方式は「ノイズ除去される画像」側を期待値に近づける方式をとるが、第1の機械学習はそれとは逆の発想である。
【0040】
第1の機械学習では、複数の画素のまとまり(領域)毎の統計値が特定の特性を有するノイズを除去対象とする。例えば、除去対象とするノイズは、画像中の何れの位置においても、ノイズの画素値がガウス分布となるガウスノイズである。学習部22は、得られたノイズ画像の統計値と、画像に含まれるノイズに係る条件とに基づいて機械学習を行う。学習部22は、ノイズ除去用モデルからの出力に基づいて得られるノイズ画像の統計値が、上記の条件に合うように機械学習を行う。
【0041】
除去対象のノイズが、ガウスノイズである場合、以下の特性を持つと考えられる。(1)どの位置の領域(パッチ)においても“平均値”は同じになる(ガウスノイズの場合、平均値は“0”である)
(2)どの位置の領域(パッチ)においても“分布の拡がり(散布度)”は同じになる(ガウスノイズの場合、パッチ間で標準偏差(σ値)の違いがない)
(3)どの位置の領域(パッチ)においても、領域間の“相関値”は同じになる(どの領域間でも“無相関”となる)
(4)どの位置の領域(パッチ)においても、“隣の画素との差の大きさの合計”は同じになる(ノイズ“含有量”は同じとなる)
【0042】
学習部22による機械学習の上述したノイズに係る条件は、ノイズ除去用モデルを用いて得られるノイズ画像の統計値が上記の特性を満たすようにすることである。学習部22は、ノイズ除去用モデルを用いて複数のパッチそれぞれについてノイズ画像を得る。学習部22は、得られた複数のノイズ画像から、以下の損失評価関数(Loss関数)を用いて、ノイズ除去用モデルの機械学習を行う。
【0043】
【数1】
xは、機械学習対象のノイズ除去用モデルに入力されるパッチである。f(x)は、ノイズ除去用モデルの出力であるノイズ除去後の画像である。zは、ノイズ画像である。Nは、ノイズ画像の数である。z
i
mnは、元画像における位置がmnであるパッチのノイズ画像iの画素値である。mean(z
i
mn)は、z
i
mnの平均値である。std(z
i
mn)は、z
i
mnの標準偏差である。
【0044】
sim(zi
mn)は、zi
mnの他のノイズ画像との相関値に基づく値である。例えば、sim(zi
mn)は、ノイズ除去用モデルを用いて得られた複数のノイズ画像のうち、他の全ての各ノイズ画像との組み合わせの相関値を算出し、それらの和を取ったものである。他のノイズ画像との組み合わせの相関値は、例えば、各ノイズ画像の2次元の画素値を1次元のベクトルに変換して、それらの内積として算出される。又は、2次元の画素値の行列同士の内積を算出してもよい。また、算出の際にベクトル又は行列の標準化を行ってもよい。sub(zi
mn)は、zi
mnの各画素の予め設定された方向に隣接する画素との差の絶対値を全ての画素について合計したものである。
【0045】
損出評価関数の第1項は、各パッチのノイズ画像の平均値(即ち、学習用データ毎の平均値)であり、上記の特性(1)に対応するものである。損出評価関数の第2項は、各パッチのノイズ画像の標準偏差から、全てのパッチのノイズ画像の標準偏差の平均を減算したもの(即ち、学習用データ間の分布の相違を示す値)であり、上記の特性(2)に対応するものである。損出評価関数の第3項は、各パッチのノイズ画像の相関値に基づく値から、全てのパッチのノイズ画像の相関値に基づく値の平均を減算したもの(即ち、学習用データ間の相関の相違を示す値)であり、上記の特性(3)に対応するものである。損出評価関数の第4項は、各パッチの隣接する画素との差に基づく値から、全てのパッチの隣接する画素との差に基づく値の平均を減算したもの(即ち、隣接する値間の差分の統計値の学習用データ間の相違を示す値)であり、上記の特性(4)に対応するものである。
【0046】
α、β、γは、損出評価関数の各項の重みを示す係数であり、予め設定される値(ハイパーパラメータ)である。値を大きくすることで、機械学習の際にノイズの各項に対応する特性をより大きく考慮することができる。α、β、γは、0以上の値とされる(0の場合、その項に対応する特性は考慮されない)。
【0047】
損失評価関数に基づく機械学習自体、即ち、誤差逆伝搬(バックプロパゲーション)によるノイズ除去用モデルのパラメータの更新は、従来の機械学習の方法と同様に行われればよい。上記の損失評価関数に基づく機械学習が行われるので、損出評価関数の各項に示される各パッチのノイズ画像の統計値は0になるように機械学習が行われる。即ち、学習部22は、ノイズの条件に従った、ノイズの絞り込みを行う。
【0048】
なお、損失評価関数に含まれる項目のうち、他のパッチの値を使用せずに対象となるパッチの値のみを使用するものは、平均値(上記の特性(1))のみである。他の項目は、対象となるパッチの値と他のパッチの値との相対値である。また、分布の拡がりに係る値としては、標準偏差に替えて、あるいは加えて、分散、歪度及び尖度等が用いられてもよい。
【0049】
第1の機械学習では、ノイズ除去用モデルとして、ショートカットコネクション(残差パス)を有するニューラルネットワークを含むものを用いることとしてもよい。これによって、機械学習時と異なる輝度レンジの対象に対しても、破綻のないノイズ除去が可能になる。単純なノイズ除去ではこのタイプが有利である。但し、信号再現性より見やすさを重視する(大きな変換を伴う)場合はショートカットコネクション無しの方がよい場合もある。また、バッチノーマライゼーションを使わない方が、学習が速く安定した結果が得られる。
【0050】
上記のように、第1の機械学習では、損失評価関数の各項に示されるノイズ画像の統計値がゼロになるように機械学習が行われる。また、ノイズを含む画像から、ノイズをゼロにする機械学習が可能である。また、ノイズを含まない画像等が機械学習に不要である(ゼロ)。また、ノイズ除去用モデルは、通常のディープラーニングで学習できるものであればよく、モデル内部の制限がない(ゼロ)。また、Noise2Clean及びNoise2Noiseは、事前学習方式であるが、第1の機械学習では、事前学習を必要としない。また、第1の機械学習は、ノイズ画像からノイズ除去用モデルの再学習が可能である。また、本実施形態における学習時間は、従来の方法よりも小さい。
【0051】
なお、本実施形態で除去対象となるノイズは、必ずしもガウスノイズである必要はない。本実施形態で除去対象となるノイズは、複数の値(例えば、画素)毎のノイズの統計値が一定の条件に従うものであればよい。
【0052】
また、損失評価関数は、必ずしも上記である必要はなく、上述した考え方に沿ったものであればよい。例えば、上記の損失評価関数では、標準偏差については、どの位置の領域(パッチ)においても“分布の拡がり”は同じになるとのノイズの特定に基づいているため、ノイズの標準偏差の値が不明であっても、ノイズ除去用モデルの学習に用いることができる。
【0053】
しかしながら、もし、ノイズの標準偏差の値が予め分かっている場合には、ノイズ除去用モデルからの出力に基づくノイズ画像の標準偏差の値がその値となるように機械学習が行われてもよい。例えば、除去するノイズの標準偏差がσ=20であると分かっている場合には、ノイズ除去用モデルからの出力に基づくノイズ画像の画素値の標準偏差の値が20となるように機械学習が行われてもよい。また、ノイズ画像の平均値が0以外の特定の値であると分かっている場合には、ノイズ除去用モデルからの出力に基づくノイズ画像の画素値の平均値の値が当該特定の値となるように機械学習が行われてもよい。このように他のノイズ画像を用いずに得られる統計値(例えば、標準偏差、平均値)の値を指定することは、無限にある推論結果の組み合わせを収束するために重要である。
【0054】
また、除去対象のノイズがガウスノイズではない場合には、損失評価関数はノイズの特性に応じたものとすればよい。例えば、除去対象のノイズがガウスノイズではない場合には、相関値のばらつきは使用しない。但し、除去対象のノイズがガウスノイズといった理想的なものでなくても、ノイズは上記の統計量を有するため、統計量によっては損失評価関数に利用することができる。例えば、歪度がガウスノイズであれば0であるが、他のノイズでは歪みのため0にはならない。但し、パッチは、1画素ではなく複数画素で構成された領域であるため分布は同一になる。従って、歪度に係る、対象となるパッチの値と他のパッチの値との相対値は、損失評価関数に含めて利用可能である。
【0055】
ランダムではないノイズの場合、パッチ間の相関値のパッチの選び方に依存する。そのため、相関値は一定とはならず、相関値に係るばらつきの値(例えば、損出評価関数の第3項の値)は0にはならない。その場合、相関値に係るばらつきの値は、損失評価関数に含めない。
【0056】
また、ランダムではないノイズの場合、ノイズに周期性がある等、ノイズがパッチに対して偏って分布する場合がある。その場合、分布の拡がりのばらつきの値(例えば、損出評価関数の第2項の値)は、損失評価関数に含めない。
【0057】
以上が、第1の機械学習である。学習部22は、第1の機械学習に加えて、以下の第2の機械学習を行ってノイズ除去用モデルを生成する。なお、第1の機械学習は、以下の第2の機械学習と組み合わせた場合に有効なものであれば、第1の機械学習以外のものであってもよい。
【0058】
学習部22は、学習モデルからの出力に基づく学習用データのノイズ除去後のデータと別の学習用データの差分とを合成して、新たな学習用データを生成して、生成した新たな学習用データに基づく情報を学習モデルへの入力とし、当該学習用データのノイズ除去後のデータ又は当該別の学習用データの差分に基づく情報を学習モデルからの出力として第2の機械学習を行って学習モデルを生成してもよい。
【0059】
図3に第2の機械学習を模式的に示す。学習部22は、以下のように第2の機械学習を行う。学習部22は、各パッチを、その時点でのノイズ除去用モデルへの入力とした演算を行って、ノイズ除去用モデルからの出力、例えば、ノイズ除去後の画像(推論された信号画像)を得る。学習部22は、パッチとノイズ除去後の画像との差分である、その時点で推論されるノイズ画像を算出する。ノイズ画像の算出までの処理は、第1の機械学習のノイズ画像の算出までの処理と同様である。第1の機械学習と第2の機械学習とで、ノイズ画像の算出までの処理が共通であってもよい。
【0060】
第1の機械学習のみによって生成されるノイズ除去用モデルで除去されるノイズは、
図3に示すノイズ画像のように、画像の凹凸付近(輪郭付近)と平面付近とでは異なってしまう場合が多い。上述したように本実施形態では除去対象となるノイズは、ガウスノイズ等のノイズの統計値が一定の条件に従うものである。従って、上記のような画像の輪郭等に応じたノイズは、不正パターンが混じっている、即ち、除去されるノイズとしては適切なものではないと考えられる。第2の機械学習は、生成するノイズ除去用モデルを、画像の輪郭等のデータの特徴によらず適切なノイズ除去を可能とすることができるようにするものである。
【0061】
学習部22は、パッチのノイズ除去後の画像と別のパッチのノイズ画像とを組み合わせて、新たなパッチ(新たな学習用データ)を生成する。例えば、学習部22は、ノイズ除去後の画像とノイズ画像との組み合わせ(ペア)をランダムにシャッフルし、異なる組み合わせのノイズ除去後の画像とノイズ画像とを合成する。ノイズ除去後の画像とノイズ画像との合成は、同じ位置の画素の画素値を足し合わせることで行われる。新たなパッチは、輪郭部の信号である不正パターンが含まれるノイズが別のパッチのノイズ除去後の画像に付けられたものである。なお、異なる組み合わせの生成は、ランダムなシャッフル以外で行われてもよい。
【0062】
学習部22は、新たなパッチをノイズ除去用モデルへの入力として、当該新たなパッチの生成に用いたノイズ除去後の画像をノイズ除去用モデルからの出力として機械学習を行う。機械学習は、新たなパッチをノイズ除去用モデルへの入力した際に、ノイズ除去用モデルからの出力が新たなパッチの生成に用いたノイズ除去後の画像となるよう、即ち、ノイズ除去用モデルからの出力と新たなパッチの生成に用いたノイズ除去後の画像との誤差が最小になるように行われる。このように第2の機械学習では、合成によって得られた新たなパッチと、ノイズ除去後の画像とを用いて、Noise2Cleanを行う。機械学習自体、即ち、誤差逆伝搬によるノイズ除去用モデルのパラメータの更新は、従来の機械学習の方法と同様に行われればよい。
【0063】
上記の機械学習は、ノイズ除去用モデルからノイズ除去後の画像の画像が出力される場合の例である。ノイズ除去用モデルからノイズ(ノイズ画像)が出力される場合には、学習部22は、新たなパッチの生成に用いたノイズ画像をノイズ除去用モデルからの出力として機械学習を行ってもよい。
【0064】
学習部22は、従来の機械学習と同様にノイズ除去用モデルの生成が予め設定した条件に基づいて収束するまで、又は予め設定された規定回数、機械学習の処理の繰り返しを行ってノイズ除去用モデルを生成する。第1の機械学習と第2の機械学習とは繰り返し毎にあわせて行われてもよい。又は、第1の機械学習が繰り返し行われた後に、第2の機械学習が繰り返し行われてもよい。学習部22は、生成したノイズ除去用モデルをノイズ除去システム30に出力する。
【0065】
また、機械学習は、例えば、得られたサンプルであるパッチ全体を用いる勾配降下法、又は一部のサンプルを用いて行う確率的勾配降下法によって行われてもよい。確率的勾配降下法で用いるサンプルであるミニバッチの数は、通常64等である。又は、学習の安定性のため、ミニバッチ数は128としてもよい。以上が、本実施形態に係る学習システム20の機能である。
【0066】
引き続いて、本実施形態に係るノイズ除去システム30の機能を説明する。
図1に示すようにノイズ除去システム30は、除去用取得部31と、ノイズ除去部32とを備えて構成される。
【0067】
除去用取得部31は、複数の値を有すると共にノイズ除去対象であるノイズ除去対象データを取得する除去用取得手段である。除去用取得部31は、ノイズを含む画像をノイズ除去対象データとして取得する。当該画像の取得は、例えば、当該画像を撮像した撮像装置から受信することで、又はコンピュータ10に対するユーザの当該画像の入力操作を受け付けることで行われる。除去用取得部31は、取得したノイズ除去対象データをノイズ除去部32に出力する。
【0068】
ノイズ除去部32は、除去用取得部31によって取得されたノイズ除去対象データを学習モデルに入力してノイズ除去対象データからノイズを除去するノイズ除去手段である。ノイズ除去部32は、学習システム20によって生成された学習モデルであるノイズ除去用モデルを入力して記憶しておき、ノイズの除去に利用する。
【0069】
図4にノイズ除去部32によるノイズの除去を模式的に示す。ノイズ除去部32は、以下のようにノイズ除去対象の画像からノイズを除去する。ノイズ除去部32は、ノイズ除去対象の画像をタイリングによりパッチに分割する。このパッチは、学習用データであるパッチとはサイズが異なっていてもよい。
【0070】
ノイズ除去部32は、分割したパッチをノイズ除去用モデルに入力して、ノイズ除去用モデルからの出力であるノイズを除去したパッチ(推論された「信号画像」)を取得する。なお、生成されたノイズ除去用モデルは、機械学習時に用いられたパッチとは異なるサイズの画像を入力して、ノイズが除去された当該画像を出力できるようにされていてもよい。これは、従来の方法によって実現することができる。ノイズ除去部32は、ノイズを除去したパッチを組み合わせて、ノイズ除去対象の画像からノイズを除去した画像(推論結果画像(信号))を生成する。
【0071】
なお、コンピュータの処理用ハードウェアリソースに余裕があれば、ノイズ除去部32は、パッチへの分割を行わず、1つの画像のままノイズ除去用モデルに入力し、ノイズを除去した画像を取得してもよい。
【0072】
ノイズ除去部32は、生成したノイズ除去後の画像を出力する。ノイズ除去後の画像の出力は、画像の利用目的に応じて従来の方法と同様に行われればよい。以上が、本実施形態に係るノイズ除去システム30の機能である。
【0073】
引き続いて、
図5及び
図6のフローチャートを用いて、本実施形態に係るコンピュータ10で実行される処理(コンピュータ10が行う動作方法)を説明する。まず、
図5のフローチャートを用いて、ノイズ除去用モデルを生成する際に実行される処理、即ち、本実施形態に係る学習システム20で実行される処理である学習方法を説明する。
【0074】
本処理では、学習用取得部21によって、学習用データである画像(例えば、上述したパッチ)が取得される(S01、学習用取得ステップ)。続いて、学習部22によって、学習用データに基づいて、第1の機械学習及び第2の機械学習が行われて学習モデルであるノイズ除去用モデルが生成される(S02、学習ステップ)。
【0075】
第1の機械学習は、学習用データに基づく情報をノイズ除去用モデルへの入力とした演算が行われて、当該学習用データと当該ノイズ除去用モデルからの出力に基づく当該学習用データのノイズ除去後のデータとの差分(ノイズ画像)が複数の値(画素)毎に算出されて、当該複数の値毎の差分の統計値に基づいて行われる。第2の機械学習は、ノイズ除去用モデルからの出力に基づく学習用データのノイズ除去後のデータと別の学習用データの差分とが合成されて、新たな学習用データが生成され、生成された新たな学習用データに基づく情報をノイズ除去用モデルへの入力とし、当該学習用データのノイズ除去後のデータ又は当該別の学習用データの差分に基づく情報をノイズ除去用モデルからの出力として行われる。
【0076】
生成されたノイズ除去用モデルは、学習システム20からノイズ除去システム30に出力される(S03)。ノイズ除去システム30では、ノイズ除去用モデルが記憶されて、以下の処理で用いられる。以上が、本実施形態に係る学習システム20で実行される処理である学習方法である。
【0077】
続いて、
図6のフローチャートを用いて、データからノイズを除去する際に実行される処理、即ち、本実施形態に係るノイズ除去システム30で実行される処理であるノイズ除去方法を説明する。
【0078】
本処理では、除去用取得部31によって、ノイズ除去対象データである画像が取得される(S11、除去用取得ステップ)。続いて、ノイズ除去部32によって、ノイズ除去対象データがノイズ除去用モデルに入力されてノイズ除去対象データからノイズが除去される(S12、ノイズ除去ステップ)。ノイズの除去結果であるノイズ除去後の画像は、ノイズ除去部32から所定の出力先に出力される(S13)。以上が、本実施形態に係るノイズ除去システム30で実行される処理であるノイズ除去方法である。
【0079】
本実施形態では、ノイズの特性に応じた差分の統計値に基づいて、第1の機械学習によって学習モデルが生成される。従って、本実施形態によれば、ノイズを含まない画像、及び同一の対象についての異なるノイズを含む複数の画像等の従来のノイズ除去の方法で必要なデータが用意できない場合であっても、適切なノイズ除去を可能とすることができる。但し、第1の機械学習は、上述したように第1の機械学習である必要はなく、第2の機械学習と組み合わせた場合に有効なものであればよい。
【0080】
また、本実施形態のように、ノイズの除去対象である複数の値を有するデータ、及び機械学習に用いる複数の値を有するデータは画像であってもよい。この構成によれば、ノイズを含む画像からノイズを除去するための学習モデルを生成することができる。但し、上述したように、ノイズの除去対象である複数の値を有するデータ、及び機械学習に用いる複数の値を有するデータは画像である必要はなく、例えば、波形のデータ等であってもよい。
【0081】
また、本実施形態のように、機械学習に用いる複数の値毎の差分の統計値として、学習用データ毎の平均値、学習用データ間の分布の相違を示す値、学習用データ間の相関の相違を示す値、及び隣接する値間の差分の統計値の学習用データ間の相違を示す値の何れかを用いてもよい。この構成によれば、適切かつ確実に学習モデルを生成することができる。
【0082】
この場合、複数の値毎の差分の統計値が0になるように第1の機械学習を行ってもよい。この構成によれば、特にノイズがガウス分布に従ったものである場合等に、更に適切かつ確実に学習モデルを生成することができる。但し、機械学習に用いる統計値としては、必ずしも上記のものが用いられる必要はなく、例えば、複数の画素にわたる統計値であり、かつノイズの除去に有用なものであればどのようなものが用いられてもよい。また、上記の統計値が用いられる場合も、統計値が0になるような方法以外で機械学習が行われてもよい。
【0083】
また、本実施形態のように、第1の機械学習に加えて更に第2の機械学習を行うこととすれば、上述したように、生成するノイズ除去用モデルを、画像の輪郭等のデータの特徴によらず適切なノイズ除去を可能なものにすることができる。これによって、データの特徴によらず、適切なノイズ除去を可能とすることができる。
【0084】
また、本実施形態のように、学習モデルであるノイズ除去用モデルは、ショートカットコネクションを有するニューラルネットワークを含むものとしてもよい。この構成によれば、より適切な学習モデルを生成することができる。
【0085】
また、本実施形態のように、学習用データの元データを取得して、元データの複数の部分それぞれを学習用データとして取得することとしてもよい。この構成によれば、多数の学習用データを予め用意しなくても、機械学習に必要な学習用データを取得することができ、適切に機械学習を行うことができる。
【0086】
また、本実施形態のように、生成されたノイズ除去用モデルを用いて、ノイズ除去システム30がノイズ除去を行うことで、従って、適切なノイズ除去を可能とすることができる。
【0087】
なお、本実施形態では、学習システム20とノイズ除去システム30とは、コンピュータ10によってあわせて実現(実施)されることとしたが、学習システム20とノイズ除去システム30とが独立してそれぞれ実施されてもよい。
【0088】
引き続いて、本実施形態によるノイズ除去の結果の例を示す。
図7に第1の機械学習のみを行った場合(第2の機械学習を行わなかった場合)のノイズ除去の例を示す。
図7に示す例は、
図2等に示す元画像(Lenna)の一部の例である。
図7(a)は、信号が複雑な部分である髪の部分の画像の例である。
図7(b)は、信号が複雑な部分である目の部分の画像の例である。
【0089】
図7では、本実施形態(提案手法)以外のノイズ除去手法の例についても示している。他のノイズ除去手法は、Bilateral、NLMeans及びNoise2Clean(N2C)である。ノイズ無しの欄の「取得画像」は、ノイズを含まない画像である。元の欄の「取得画像」は、ノイズ除去対象のノイズを含む画像である。各ノイズ除去手法の欄の「取得画像」は、ノイズ除去後の画像である。元の欄の「正解との差」は、ノイズ除去対象のノイズを含む画像のノイズのみの画像(正解のノイズ)である。元の欄の「正解との差」は、除去(推論)されたノイズの画像である。ノイズは、σ=20.0のガウスノイズである。
【0090】
PSNR(Peak Signal to Noise Ratio)及びSSIM(Structural Similarity Index Measure)は、ノイズを含まない画像に対して算出された値である。
図7の表に示すように、本実施形態の手法はよりよい精度でのノイズ除去がなされている。特に目の部分については、0.856という高いSSIMが得られている。
【0091】
第1の機械学習では、上述したようにノイズの特性に応じて学習を行うため、対象の位置による極端な効果の違いが少ない。従って、信号側の位置による条件に左右されにくく、求める信号と同じ形状のものが近くにない場合、他の方式よりも精度が高い。
【0092】
図8及び
図9に第1の機械学習のみを行った場合(第2の機械学習を行わなかった場合)の半導体検査装置によって撮像された画像に対するノイズ除去の例を示す。半導体検査装置は、浜松ホトニクス社製のPHEMOS1000システムである。カメラは、InGaAsカメラ(露光時間10秒、対物レンズ20倍)である。Bias印加は、3.0V、8.78mAである。
【0093】
図8(a)は、ノイズ除去対象のノイズを含む画像である。
図8(b)は、本実施形態によるノイズ除去後の画像である。
図8(c)(d)は、それぞれBilateral及びNLMeansによるノイズ除去後の画像である。なお、各画素の表示レンジ(画素値のレンジ)は同一である。
【0094】
本実施形態では、ノイズと階調が近い信号でも、ノイズ低減効果が高く、信号は削除されていない。Bilateralでは、ノイズとの階調が近い場合、スムージング効果が強く働き弱い信号が消えている。NLMeansでは、信号が近くに無い対象では、信号を残す効果が低くほぼ消されている。
【0095】
図9(a)は、ノイズ除去対象のノイズを含む画像である。
図9(b)は、本実施形態によるノイズ除去後の画像である。
図9(c)は、
図9(a)における(1)で示される線の位置のラインプロファイルを示すグラフである。横軸がライン上の位置、縦軸が画素値を示している。
図9(d)は、
図9(b)における、
図9(c)と同じ位置の線の位置のラインプロファイルを示すグラフである。
図9(e)は、
図9(a)における(2)で示される線の位置のラインプロファイルを示すグラフである。
図9(f)は、
図9(b)における、
図9(e)と同じ位置の線の位置のラインプロファイルを示すグラフである。この結果も、本実施形態によって適切なノイズ除去が行えていることを示している。
【0096】
図10~
図12に第1の機械学習と第2の機械学習とを行った場合の半導体検査装置によって撮像された画像に対するノイズ除去の例を示す。カメラは、InGaAsカメラ(露光時間10秒、対物レンズ20倍)である。
【0097】
図10(a)は、ノイズ除去対象のノイズを含む画像である。
図10(b)は、ノイズ除去対象のノイズを含む画像と、当該画像と同様に撮像された画像4枚との合計5枚の画像の画素毎の画素値の平均を取った画像である。
図10(c)は、本実施形態によるノイズ除去後の画像である。
図10(d)は、Noise2Noiseで得られたモデルによるノイズ除去後の画像である。なお、各画素の表示レンジ(画素値のレンジ)は同一である。最小値は黒(値503)であり、最大値は白(値520)である。
【0098】
なお、本例では、本実施形態及びNoise2Noise共に、上記の合計5枚の画像からランダム切り出し(24画素×24画素)したパッチを128枚1セットとし、5000回学習したモデルを使用した。
【0099】
図10に示した4つの画像の
図11(a)に示す画像の領域について、画素値の標準偏差(σ値)及び平均値を
図11(b)に示す。これらの値に示されるように、本実施形態に係る方法(提案方式)が、他の方式に比べ最も背景のノイズを低減する効果があった。
【0100】
図12(b)~
図12(e)は、
図11に示した4つの画像の
図12(a)における線の位置のラインプロファイルを示すグラフである。横軸がライン上の位置、縦軸が画素値を示している。
図12(b)~
図12(e)は、それぞれ
図10(a)の画像(ノイズ除去対象のノイズを含む画像)、
図10(b)の画像(ノイズ除去対象のノイズを含む画像)、
図10(c)の画像(本実施形態によるノイズ除去後の画像)及び
図10(d)の画像(Noise2Noiseで得られたモデルによるノイズ除去後の画像)に対応している。これらに示されるように、本実施形態に係る方法では、解像度の劣化が少なく、発光点の拡がりをぼかすことなく、ノイズのみを除去している。
【0101】
図13に第1の機械学習と第2の機械学習とを行った場合の機械学習の繰り返しの回数とノイズ除去結果とを示す。
図14に第1の機械学習のみを行った場合の機械学習の繰り返しの回数とノイズ除去結果とを示す。
図13及び
図14における上段及び下段の画像は、対応する回数の機械学習の繰り返しによって得られたノイズ除去用モデルに基づいて除去されたノイズの画像及びノイズ除去後の画像である。
【0102】
なお、切り出しのサイズ(パッチのサイズ)は24画素×24画素である。また、ミニバッチの数は128である。また、学習時間(計算速度)は、
図13では1000枚当たり約50秒であり、
図14では1000枚当たり約1分である(Geforce RTX2080ti使用時)。
【0103】
図15に機械学習の繰り返しの数(学習回数)(横軸)とノイズ除去後の画像のSSIMによる評価値(縦軸)とのグラフを示す。このグラフでは、第1の機械学習と第2の機械学習とを行った場合(Method 2)、第2の機械学習において新たなパッチを作成する際のノイズ画像を理想的なノイズ画像とした場合(Replacement with ideal noise)、第2の機械学習において新たなパッチを作成する際にシャッフルを行わなかった場合(No shuffle)、及び第1の機械学習のみを行い第2の機械学習を行わなかった場合(Method 1 only)を示す。
【0104】
これらに示されるように第2の機械学習は、機械学習の繰り返しを重ねることで、より精度よくノイズを除去することができる。
【0105】
引き続いて、上述した一連の学習システム20及びノイズ除去システム30による処理を実行させるための学習プログラム及びノイズ除去プログラムを説明する。
図16(a)に示すように、学習プログラム200は、コンピュータに挿入されてアクセスされる、あるいはコンピュータが備える、コンピュータ読み取り可能な記録媒体210に形成されたプログラム格納領域211内に格納される。記録媒体210は、非一時的な記録媒体であってもよい。
【0106】
学習プログラム200は、学習用取得モジュール201と、学習モジュール202とを備えて構成される。学習用取得モジュール201と、学習モジュール202とを実行させることにより実現される機能は、上述した学習システム20の学習用取得部21と、学習部22との機能とそれぞれ同様である。
【0107】
図16(b)に示すように、ノイズ除去プログラム300は、コンピュータに挿入されてアクセスされる、あるいはコンピュータが備える、コンピュータ読み取り可能な記録媒体310に形成されたプログラム格納領域311内に格納される。記録媒体310は、非一時的な記録媒体であってもよい。なお、記録媒体310は、記録媒体210と同一であってもよい。
【0108】
ノイズ除去プログラム300は、除去用取得モジュール301と、ノイズ除去モジュール302とを備えて構成される。除去用取得モジュール301と、ノイズ除去モジュール302とを実行させることにより実現される機能は、上述したノイズ除去システム30の除去用取得部31と、ノイズ除去部32との機能とそれぞれ同様である。
【0109】
なお、学習プログラム200及びノイズ除去プログラム300は、その一部又は全部が、通信回線等の伝送媒体を介して伝送され、他の機器により受信されて記録(インストールを含む)される構成としてもよい。また、学習プログラム200及びノイズ除去プログラム300の各モジュールは、1つのコンピュータでなく、複数のコンピュータの何れかにインストールされてもよい。その場合、当該複数のコンピュータによるコンピュータシステムよって上述した一連の処理が行われる。
【符号の説明】
【0110】
10…コンピュータ、20…学習システム、21…学習用取得部、22…学習部、30…ノイズ除去システム、31…除去用取得部、32…ノイズ除去部、200…学習プログラム、201…学習用取得モジュール、202…学習モジュール、210…記録媒体、211…プログラム格納領域、300…ノイズ除去プログラム、301…除去用取得モジュール、302…ノイズ除去モジュール、310…記録媒体、311…プログラム格納領域。