(57)【要約】  入力部１３２は、処理対象の画像を入力する。処理部１１４は、入力部１３２に入力した画像に対して、全結合層が除外された畳み込みニューラルネットワークの処理を実行する。この処理部１１４における畳み込みニューラルネットワークは、畳み込み層とプーリング層とを含む。出力部１３６は、処理部１１４の処理結果を出力する。ここで、処理部１１４における畳み込みニューラルネットワークでは、１×１の空間次元を有する処理結果に対して、畳み込み層のフィルタの学習がなされている。
2019159419.tif 000002
【特許請求の範囲】
【請求項１】
処理対象の画像を入力する入力部と、
前記入力部に入力した画像に対して、全結合層が除外された畳み込みニューラルネットワークの処理を実行する処理部と、
前記処理部の処理結果を出力する出力部とを備え、
前記処理部における前記畳み込みニューラルネットワークは、畳み込み層とプーリング層とを含み、
前記処理部における前記畳み込みニューラルネットワークでは、１×１の空間次元を有する処理結果に対して、前記畳み込み層のフィルタの学習がなされており、
前記入力部に入力される画像のサイズは、前記畳み込み層のフィルタを学習する際に前記畳み込みニューラルネットワークに入力される学習用画像であって、かつ前記畳み込み層のフィルタを学習する際の処理結果に対応した学習用画像のサイズよりも大きいことを特徴とする処理装置。
【請求項２】
前記処理部における前記畳み込みニューラルネットワークは、前記畳み込み層と前記プーリング層によるダウンサンプリング処理を実行し、アップサンプリング処理を非実行であることを特徴とする請求項１に記載の処理装置。
【請求項３】
前記出力部から出力される処理結果は、前記入力部に入力される画像のサイズよりも小さく、かつ１×１よりも大きい空間次元を有し、特徴マップを示すことを特徴とする請求項２に記載の処理装置。
【請求項４】
前記処理部における前記畳み込みニューラルネットワークに含まれる前記畳み込み層は、画像の周囲をパディングにより拡張させるとともに、拡張した画像に対して、当該拡張した画像のサイズよりも小さいサイズのフィルタをずらしながら畳み込みを実行し、
前記処理部は、パディングを含むようにフィルタを対応付けた場合に、フィルタに対応付けられる画像の一部分のいずれかの値をパディングに使用することを特徴とする請求項１から３のいずれかに記載の処理装置。
【請求項５】
前記処理部における前記畳み込みニューラルネットワークに含まれる前記畳み込み層は、画像の周囲をパディングにより拡張させるとともに、拡張した画像に対して、当該拡張した画像のサイズよりも小さいサイズのフィルタをずらしながら畳み込みを実行し、
前記処理部は、パディングを含むようにフィルタを対応付けた場合に、フィルタに対応付けられる画像の一部分の値の統計値をパディングに使用することを特徴とする請求項１から３のいずれかに記載の処理装置。
【請求項６】
前記入力部に入力される画像は、検査対象となる物体を撮像した画像であり、
前記処理部における前記畳み込みニューラルネットワークでは、少なくとも不良の有無に対して、前記畳み込み層のフィルタの学習がなされており、
前記出力部は、前記処理部の処理結果を検査結果として出力することを特徴とする請求項１から５のいずれかに記載の処理装置。
【請求項７】
前記入力部に入力される画像は、検査対象となる物体を撮像した画像であり、
前記処理部における前記畳み込みニューラルネットワークでは、物体に含まれうる１つ以上の要素のそれぞれに対して、前記畳み込み層のフィルタの学習がなされており、
前記出力部は、前記処理部の処理結果を検査結果として出力することを特徴とする請求項１から５のいずれかに記載の処理装置。
【請求項８】
処理対象の画像を入力するステップと、
入力した画像に対して、全結合層が除外された畳み込みニューラルネットワークの処理を実行するステップと、
処理結果を出力するステップとを備え、
前記畳み込みニューラルネットワークは、畳み込み層とプーリング層とを含み、
前記畳み込みニューラルネットワークでは、１×１の空間次元を有する処理結果に対して、前記畳み込み層のフィルタの学習がなされており、
入力される画像のサイズは、前記畳み込み層のフィルタを学習する際に前記畳み込みニューラルネットワークに入力される学習用画像であって、かつ前記畳み込み層のフィルタを学習する際の処理結果に対応した学習用画像のサイズよりも大きいことを特徴とする処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、処理技術、特に画像に対する処理を実行する処理方法およびそれを利用した処理装置に関する。
【背景技術】
【０００２】
画像認識処理には、例えば、Ｄｅｅｐ  Ｌｅａｒｎｉｎｇが使用される。Ｄｅｅｐ  Ｌｅａｒｎｉｎｇは、多層のニューラルネットワークを使った機械学習の方法論として知られ、多層ニューラルネットワークには例えば畳み込みニューラルネットワークが使用される。畳み込みニューラルネットワークは、局所領域の畳み込み(Ｃｏｎｖｏｌｕｔｉｏｎ)とプーリング(Ｐｏｏｌｉｎｇ)とを繰り返す多層のニューラルネットワークによって形成される。さらに、畳み込みニューラルネットワークを構成する全結合層を畳み込み層にする完全畳み込みニューラルネットワークの構造が提案されている（例えば、非特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【非特許文献１】Ｊｏｎａｔｈａｎ  Ｌｏｎｇ，Ｅｖａｎ  Ｓｈｅｌｈａｍｅｒ，Ｔｒｅｖｏｒ  Ｄａｒｒｅｌｌ，”Ｆｕｌｌｙ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｔｗｏｒｋｓ  ｆｏｒ  Ｓｅｍａｎｔｉｃ  Ｓｅｇｍｅｎｔａｔｉｏｎ”，Ｔｈｅ  ＩＥＥＥ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ａｎｄ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ  （ＣＶＰＲ），  ２０１５，  ｐｐ．  ３４３１−３４４０
【発明の概要】
【発明が解決しようとする課題】
【０００４】
完全畳み込みニューラルネットワークを画像認識処理に使用するためには、教師データを使用して完全畳み込みニューラルネットワークを予め学習させておく必要がある。完全畳み込みニューラルネットワークの場合、教師データには、色塗りによるセグメンテーションがなされた画像が使用される。一般的に、色塗りによるセグメンテーションがなされた画像は手作業により生成される。このような手作業による作業量は、教師データの数が多くなるほど増加する。一方、学習に使用される教師データの数が多くなるほど、画像認識処理の精度は向上する。【０００５】
本開示はこうした状況に鑑みなされたものであり、その目的は、学習の作業量の増加を抑制しながら、画像認識処理の精度の低下を抑制する技術を提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本開示のある態様の処理装置は、処理対象の画像を入力する入力部と、入力部に入力した画像に対して、全結合層が除外された畳み込みニューラルネットワークの処理を実行する処理部と、処理部の処理結果を出力する出力部とを備える。処理部における畳み込みニューラルネットワークは、畳み込み層とプーリング層とを含む。処理部における畳み込みニューラルネットワークでは、１×１の空間次元を有する処理結果に対して、畳み込み層のフィルタの学習がなされており、入力部に入力される画像のサイズは、畳み込み層のフィルタを学習する際に畳み込みニューラルネットワークに入力される学習用画像であって、かつ畳み込み層のフィルタを学習する際の処理結果に対応した学習用画像のサイズよりも大きい。【０００７】
本開示の別の態様は、処理方法である。この方法は、処理対象の画像を入力するステップと、入力した画像に対して、全結合層が除外された畳み込みニューラルネットワークの処理を実行するステップと、処理結果を出力するステップとを備える。畳み込みニューラルネットワークは、畳み込み層とプーリング層とを含む。畳み込みニューラルネットワークでは、１×１の空間次元を有する処理結果に対して、畳み込み層のフィルタの学習がなされており、入力される画像のサイズは、畳み込み層のフィルタを学習する際に畳み込みニューラルネットワークに入力される学習用画像であって、かつ畳み込み層のフィルタを学習する際の処理結果に対応した学習用画像のサイズよりも大きい。【０００８】
なお、以上の構成要素の任意の組合せ、本開示の表現を方法、装置、システム、コンピュータプログラム、またはコンピュータプログラムを記録した記録媒体などの間で変換したものもまた、本開示の態様として有効である。
【発明の効果】
【０００９】
本開示によれば、学習の作業量の増加を抑制しながら、画像認識処理の精度の低下を抑制できる。
【図面の簡単な説明】
【００１０】
【図１】図１（ａ）−（ｃ）は、実施例の処理対象を示す図である。
【図２】実施例の比較対象となる処理装置における処理の概要を示す図である。
【図３】実施例の比較対象となる処理装置における処理の概要を示す図である。
【図４】図４（ａ）−（ｂ）は、実施例に係る処理装置の構成を示す図である。
【図５】図４（ａ）−（ｂ）の処理部における処理の概要を示す図である。
【図６】図５における畳み込み層における処理の概要を示す図である。
【図７】図７（ａ）−（ｃ）は、図４（ｂ）の処理装置において処理される画像を示す図である。
【図８】図８（ａ）−（ｂ）は、図４（ｂ）の出力部から出力される出力画像を示す図である。
【図９】図９（ａ）−（ｂ）は、図４（ａ）−（ｂ）の処理装置における処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１１】
本開示の実施例を具体的に説明する前に、本実施例の概要を説明する。実施例は、太陽電池セルを撮像した画像に対して画像認識処理を実行することによって、太陽電池セルの検査を実行する処理装置に関する。太陽電池セルの検査の一例は、太陽電池セルにおける内部クラックの有無であり、内部クラックが生じている太陽電池セルは、衝撃を受けると割れやすくなるので不良品とされる。このような内部クラックは、太陽電池セルが単結晶シリコンである場合４５度の角度に生じる。内部クラックが生じる角度が決まっていても内部クラックがエッチングムラ等と重なる場合には内部クラックの検出が困難である。そのため、太陽電池セルの検査には画像認識処理が使用される。
【００１２】
これまでは、太陽電池セルを撮像した画像に対してガボールフィルタ処理を実行して４５度の線分を鮮鋭化させてからＤｅｅｐ  Ｌｅａｒｎｉｎｇがなされていた。しかしながら、太陽電池セルの表面に４５度の電極が形成されるようになると、このような電極もガボールフィルタ処理によって鮮鋭化されてしまうので、ガボールフィルタ処理の使用が困難である。このような状況下において、太陽電池セルを撮像した画像に対する畳み込みニューラルネットワークの使用が有力である。畳み込みニューラルネットワークは、複数のフィルタによる畳み込み処理により特徴を抽出する畳み込み層と、一定領域の反応をまとめるプーリング処理により局所的なデータの不変性を獲得するプーリング層と、Ｓｏｆｔｍａｘ関数等による確率を用いて認識を行う全結合層とを含む。これらのうちの全結合層により、畳み込みニューラルネットワークでは、任意のサイズの画像に対する処理が困難である。これらを解決するために、畳み込みニューラルネットワークの全結合層を畳み込み層に変えた完全畳み込みニューラルネットワークが使用される。
【００１３】
完全畳み込みニューラルネットワークでは、畳み込み層とプーリング層の処理が繰り返されるダウンサンプリング処理が実行された後、畳み込み層とアッププーリング層の処理が繰り返されるアップサンプリング処理が実行される。ここで、ダウンサンプリング処理によって画像の空間次元が小さくなり、アップサンプリング処理によって画像の空間次元が大きくなる。このような処理によって、完全畳み込みニューラルネットワークから出力される画像（以下、「出力画像」という）は、入力される画像（以下、「入力画像」という）と同等の空間次元を有する。また、出力画像には、画像中の物体に対して色塗りによるセグメンテーションがなされている。完全畳み込みニューラルネットワークを含むニューラルネットワークでは、画像認識処理を実行する前の学習が必要である。完全畳み込みニューラルネットワークの場合、教師データを使用して、畳み込み層のフィルタ係数が学習される。しかしながら、前述のごとく、教師データを生成するための作業量が大きい。画像認識処理の精度を向上させるために教師データの数を多くする必要があり、教師データの数が多くなると、教師データを生成するための作業量がさらに増加する。
【００１４】
教師データを生成するための作業量の増加を抑制するために、本実施例では、完全畳み込みニューラルネットワークにおけるアップサンプリング処理を除外した畳み込みニューラルネットワークを使用する。ここで、学習の際には、出力画像が１×１の空間次元となる教師データと、当該教師データに対応した入力画像とが使用される。本実施例において、教師データに対応した入力画像は「学習用画像」と呼ばれることもある。教師データでは、セグメンテーションの結果、例えば、ＯＫ、内部クラック、色ムラ等のみが示され、位置情報が削除されている。これにより、教師データを生成しやすくなるので、教師データの数を多くしても、教師データを生成するための作業量の増加は抑制される。一方、画像認識処理においては、不良とすべき太陽電池セルにおいて内部クラックが生じている位置を特定できればよく、太陽電池セルの相似形として処理結果が得られれば位置の特定が可能であるので、本実施例によっても画像認識処理の精度の低下は抑制される。
【００１５】
図１（ａ）−（ｃ）は、実施例の処理対象を示す。図１（ａ）は、検査対象、つまり画像認識処理対象となる太陽電池セル１０の構成を示す斜視図である。太陽電池セル１０は、例えば、単結晶シリコンで形成され、受光面１２と裏面１４とを含む板形形状を有する。受光面１２は主として太陽光が入射される面であり、裏面１４は受光面１２の反対側を向いた面である。図１（ｂ）は、図１（ａ）の太陽電池セル１０を受光面１２側あるいは裏面１４側から赤外線で撮像した画像２０を示す。画像２０には、吸着パッド２２、エッチングムラ２４、電極補強線２６、ソーマーク２８、ウエハ厚み分布３０が太陽電池セル１０上に模様のように示されている。これらについては公知の技術であるので、ここでは説明を省略するが、これらは、不良品のパターンではなく、良品のパターンである。
【００１６】
図１（ｃ）は、図１（ａ）の太陽電池セル１０を受光面１２側あるいは裏面１４側から赤外線で撮像した画像２０を示す。図１（ｃ）は、図１（ｂ）とは異なった太陽電池セル１０を撮像した画像２０に相当する。図示のごとく、４５度の方向に延びる線分と、１３５度の方向に延びる線分とが交差する「×」印の内部クラック３２が太陽電池セル１０上に示されている。これは、不良品のパターンである。ここでは、説明を明瞭にするために内部クラック３２だけを示している。しかしながら実際には、図１（ｂ）のような画像２０に内部クラック３２が混ざっている。例えば、吸着パッド２２の中、エッチングムラ２４の中に内部クラック３２が埋もれている。そのため、画像２０の中に内部クラック３２が含まれているか否かを正確に判定することは容易でない。
【００１７】
図２は、実施例の比較対象となる処理装置５０における処理の概要を示す。処理装置５０は、前述の全結合層を含んだ畳み込みニューラルネットワークの構成を有する。処理装置５０は、畳み込み層４２と総称する第１畳み込み層４２ａ、第２畳み込み層４２ｂ、第３畳み込み層４２ｃ、第４畳み込み層４２ｄ、第５畳み込み層４２ｅ、第６畳み込み層４２ｆ、プーリング層４４と総称される第１プーリング層４４ａ、第２プーリング層４４ｂ、第３プーリング層４４ｃ、第４プーリング層４４ｄ、第５プーリング層４４ｅ、全結合層４６を含む。このような畳み込み層４２、プーリング層４４、全結合層４６は、各処理を実行するブロックのイメージを示す。入力画像４０は、処理装置５０における画像認識処理の処理対象となる画像であり、前述の画像２０の少なくとも一部に相当する。入力画像４０は、第１畳み込み層４２ａに入力される。
【００１８】
各畳み込み層４２は、直六面体で示され、それは、奥行き方向と高さ方向とを有する正方形の２つの第１面５２と、２つの第１面５２に挟まれる４つの第２面５４で構成される。図面を明瞭にするために、第１面５２と第２面５４は第１畳み込み層４２ａだけに示される。第１面５２の大きさは、畳み込み層４２において処理される画像の空間次元の大きさ、つまり画像のサイズを示す。畳み込み層４２は、画像に対して、画像のサイズよりも小さいサイズの空間フィルタをずらしながら空間フィルタリングを実行する。
【００１９】
空間フィルタリングは公知の技術であるので、ここでは説明を省略するが、この空間フィルタリングが畳み込み処理に相当し、畳み込み処理によって画像の特徴量が抽出される。畳み込み層４２においてパディング等が実行されてもよい。さらに、畳み込み層４２は、画像に対して、複数の空間フィルタを並列に使用して、複数の空間フィルタリングを並列して実行してもよい。このような複数の空間フィルタの並列使用によって、画像が増加する。畳み込み層４２において並列に使用される空間フィルタの数は、チャンネル数と呼ばれ、これは第２面５４の左右方向の長さによって示される。
【００２０】
各プーリング層４４も畳み込み層４２と同様に構成される。プーリング層４４は、画像内の任意の領域に含まれた複数の画素を１つの画素にまとめることによって、画像のサイズを小さくする。ここで、複数の画素を１つの画素にまとめるために、平均プーリングあるいは最大プーリングが実行される。平均プーリングでは、領域内の複数の画素値の平均値が１つの画素に対して使用され、最大プーリングでは、領域内の複数の画素値のうちの最大値が１つの画素に対して使用される。プーリング処理は、着目領域における代表値あるいは平均値の並進移動に対してロバスト性を強化するためになされる。
【００２１】
ここでは、第１畳み込み層４２ａ、第１プーリング層４４ａ、第２畳み込み層４２ｂ、第２プーリング層４４ｂ、第３畳み込み層４２ｃ、第３プーリング層４４ｃ、第４畳み込み層４２ｄ、第４プーリング層４４ｄ、第５畳み込み層４２ｅ、第５プーリング層４４ｅ、第６畳み込み層４２ｆの順に処理が実行される。つまり、畳み込み処理とプーリング処理とが繰り返し実行される。また、畳み込み処理とプーリング処理とが繰り返されることによって、画像のサイズが順に小さくされ、第６畳み込み層４２ｆは、１×１の空間次元となり、かつ１以上のチャンネル数を有する画像を全結合層４６に出力する。ここでは、一例として、チャンネル数を「８」とする。
【００２２】
全結合層４６は、特徴量が抽出されている画像を第６畳み込み層４２ｆから受けつける。全結合層４６は、特徴量に基づいて、複数のクラスへの分類を実行することによって、画像を識別する。全結合層４６における処理には公知の技術が使用されればよいので、ここでは説明を省略するが、全結合層４６における分類結果、つまり識別結果が出力４８である。出力４８では、「ＯＫ」、「内部クラック」、「エッチングムラ」、「ピンホール」、「黒点」、「割欠け」、「吸着パッド」、「バスバー」の８つのクラスのそれぞれに対する確率が示される。この場合は、「内部クラック」に対する確率が「０．９」と高いので、入力画像４０には内部クラック３２が存在すると識別される。
【００２３】
このような画像認識処理を実行する前に、処理装置５０に対して学習処理が実行される。学習処理は、既知の出力４８となる教師データと、当該教師データに対応した学習用画像を処理装置５０に入力して、全結合層４６における係数、各畳み込み層４２の空間フィルタの係数を学習させる。学習用画像は、入力画像４０と同一のサイズを有しており、画像認識処理が正確に実行された場合に教師データが出力されるような元の画像である。このような学習処理には公知の技術が使用されればよい。学習処理において、教師データと学習用画像の組合せが大量に使用されるほど、これらの係数の精度が向上し、画像認識処理の精度も向上する。
【００２４】
学習処理が終了した後、前述の画像認識処理が実行される。処理装置５０には、元画像である画像２０を切り出して一定のサイズにされた入力画像４０が入力される。処理装置５０は、例えば内部クラック３２などが入力画像４０に存在するか否かを２元的に画像認識処理し、入力画像４０に内部クラック３２が存在していれば、内部クラック３２の存在が示された出力４８を生成する。これは、画像認識処理によって、８つのクラスに分類されることに相当する。
【００２５】
ここで、処理装置５０において使用される畳み込みニューラルネットワークは、全結合層４６を含む。全結合層４６からの出力４８のサイズは固定されているので、当該畳み込みニューラルネットワークが処理可能な入力画像４０のサイズも固定される。つまり、処理装置５０は、一定のサイズの入力画像４０しか認識処理できない。そのため、処理装置５０では、入力画像４０のサイズに制限が設けられる。
【００２６】
図３は、実施例の比較対象となる処理装置７０における処理の概要を示す。処理装置７０は、完全畳み込みニューラルネットワークの構成を有する。処理装置７０は、畳み込み層６２と総称する第１畳み込み層６２ａ、第２畳み込み層６２ｂ、第３畳み込み層６２ｃ、第４畳み込み層６２ｄ、第５畳み込み層６２ｅ、第６畳み込み層６２ｆ、第７畳み込み層６２ｇ、第８畳み込み層６２ｈ、第９畳み込み層６２ｉ、第１０畳み込み層６２ｊ、第１１畳み込み層６２ｋ、第１２畳み込み層６２ｌ、第１３畳み込み層６２ｍ、プーリング層６４と総称する第１プーリング層６４ａ、第２プーリング層６４ｂ、第３プーリング層６４ｃ、第４プーリング層６４ｄ、第５プーリング層６４ｅ、アッププーリング層６６と総称される第１アッププーリング層６６ａ、第２アッププーリング層６６ｂ、第３アッププーリング層６６ｃ、第４アッププーリング層６６ｄ、第５アッププーリング層６６ｅを含む。このような畳み込み層６２、プーリング層６４、アッププーリング層６６は、各処理を実行するブロックのイメージを示す。
【００２７】
入力画像６０は、処理装置７０における画像認識処理の処理対象となる画像である。完全畳み込みニューラルネットワークには、前述の全結合層が含まれないので、入力画像６０のサイズに対する制限が設けられない。そのため、入力画像６０は、前述の画像２０であってもよい。入力画像６０は、第１畳み込み層６２ａに入力される。
【００２８】
畳み込み層６２は、前述の畳み込み層４２と同様の処理を実行し、プーリング層６４は、前述のプーリング層４４と同様の処理を実行する。アッププーリング層６６は、プーリング層６４における処理とは逆の処理を実行する。つまり、プーリング層６４では画像のサイズが小さくされるが、アッププーリング層６６では画像のサイズが大きくされる。アッププーリング層６６における処理には公知の技術が使用されればよいので、ここでは説明を省略する。
【００２９】
完全畳み込みニューラルネットワークは、ダウンサンプリング処理部７２、アップサンプリング処理部７４を順に配置する。ダウンサンプリング処理部７２では、第１畳み込み層６２ａ、第１プーリング層６４ａ、第２畳み込み層６２ｂ、第２プーリング層６４ｂ、第３畳み込み層６２ｃ、第３プーリング層６４ｃ、第４畳み込み層６２ｄ、第４プーリング層６４ｄ、第５畳み込み層６２ｅ、第５プーリング層６４ｅ、第６畳み込み層６２ｆが順に配置される。つまり、畳み込み処理とプーリング処理とが繰り返し実行される。また、畳み込み処理とプーリング処理とが繰り返されることによって、画像のサイズが順に小さくされる。
【００３０】
アップサンプリング処理部７４では、第７畳み込み層６２ｇ、第８畳み込み層６２ｈ、第１アッププーリング層６６ａ、第９畳み込み層６２ｉ、第２アッププーリング層６６ｂ、第１０畳み込み層６２ｊ、第３アッププーリング層６６ｃ、第１１畳み込み層６２ｋ、第４アッププーリング層６６ｄ、第１２畳み込み層６２ｌ、第５アッププーリング層６６ｅ、第１３畳み込み層６２ｍが順に配置される。つまり、畳み込み処理とアッププーリング処理とが繰り返し実行される。また、畳み込み処理とアッププーリング処理とが繰り返されることによって、画像のサイズが順に大きくされ、第１３畳み込み層６２ｍは、入力画像６０と近いサイズの画像（以下、「出力画像６８」という）を出力する。
【００３１】
入力画像６０に対して、ダウンサンプリング処理部７２とアップサンプリング処理部７４における画像認識処理を実行すると、出力画像６８が取得される。出力画像６８では、出力画像６８に含まれた物体のそれぞれに対してクラスに応じた色塗りがなされている。つまり、画像認識処理の結果である出力画像６８では、物体に対して色塗りによるセグメンテーションがなされている。例えば、入力画像６０に内部クラック３２が含まれている場合、出力画像６８には内部クラック領域３４が含まれる。内部クラック領域３４は、内部クラック３２と認識される領域であり、出力画像６８における他の領域と異なった色で塗られている。また、入力画像６０にエッチングムラ、吸着パッドが含まれる場合、出力画像６８には、エッチングムラと認識される領域（以下、「エッチングムラ領域」という）、吸着パッドと認識される領域（以下、「吸着パッド領域」という）とが含まれる。その場合、内部クラック領域３４、エッチングムラ領域、吸着パッド領域、その他の領域は、互いに異なった色で塗られている。出力画像６８は特徴マップとも呼ばれる。
【００３２】
このような画像認識処理を実行する前に、処理装置７０に対しても学習処理が実行される。学習処理は、既知の出力画像６８となる教師データと、当該教師データに対応した学習用画像を処理装置７０に入力して、各畳み込み層６２の空間フィルタの係数を学習させる。ここで、教師データは、物体に対して色塗りによるセグメンテーションがなされた画像である。このような教師データは、一般的に手作業により生成される。そのため、教師データを生成するための作業量は、教師データの数が多くなるほど増加する。作業量を低減するために、教師データの数を少なくすると、画像認識処理の精度は低減する。このような状況下で、作業量の増加を抑制しながら、画像認識処理の精度の低下を抑制するためには、１つの教師データを生成するための作業量を低減する必要がある。入力画像６０のサイズに対する制限が設けられないので、学習用画像と入力画像６０は異なったサイズでもよい。
【００３３】
図４（ａ）−（ｂ）は、処理装置１００の構成を示す。特に、図４（ａ）は、学習処理のための構成を示し、図４（ｂ）は、画像認識処理ための構成を示す。図４（ａ）における処理装置１００と図４（ｂ）における処理装置１００とは、同一の装置であってもよいし、別の装置であってもよい。処理装置１００は、学習処理ための構成として、第１入力部１１０、第２入力部１１２、処理部１１４を含み、画像認識処理のための構成として、入力部１３２、補正部１３４、処理部１１４、出力部１３６を含む。また、処理装置１００は撮像装置１３０に接続される。つまり、学習処理において処理部１１４が学習され、画像認識処理において処理部１１４が使用される。処理装置１００の構成を説明する前に、図２、図３と同様に、処理部１１４の構成を説明する。
【００３４】
図５は、処理部１１４における処理の概要を示す。処理部１１４は、畳み込み層１４２と総称する第１畳み込み層１４２ａ、第２畳み込み層１４２ｂ、第３畳み込み層１４２ｃ、第４畳み込み層１４２ｄ、第５畳み込み層１４２ｅ、第６畳み込み層１４２ｆ、プーリング層１４４と総称する第１プーリング層１４４ａ、第２プーリング層１４４ｂ、第３プーリング層１４４ｃ、第４プーリング層１４４ｄ、第５プーリング層１４４ｅを含む。このような畳み込み層１４２、プーリング層１４４は、各処理を実行するブロックのイメージを示す。
【００３５】
入力画像１４０は、処理装置１００における画像認識処理の処理対象となる画像である。処理部１１４におけるニューラルネットワークには、完全畳み込みニューラルネットワークと同様に、全結合層が含まれないので、入力画像１４０のサイズに対する制限が設けられない。そのため、入力画像１４０は、前述の画像２０であってもよい。入力画像１４０は、第１プーリング層１４４ａに入力される。畳み込み層１４２は、前述の畳み込み層４２、畳み込み層６２と同様の処理を実行し、プーリング層１４４は、前述のプーリング層４４、プーリング層６４と同様の処理を実行する。
【００３６】
処理部１１４は、完全畳み込みニューラルネットワークと同様にダウンサンプリング処理部１５２を配置する。しかしながら、処理部１１４は、完全畳み込みニューラルネットワークとは異なり、アップサンプリング処理部を配置しない。ダウンサンプリング処理部１５２では、第１畳み込み層１４２ａ、第１プーリング層１４４ａ、第２畳み込み層１４２ｂ、第２プーリング層１４４ｂ、第３畳み込み層１４２ｃ、第３プーリング層１４４ｃ、第４畳み込み層１４２ｄ、第４プーリング層１４４ｄ、第５畳み込み層１４２ｅ、第５プーリング層１４４ｅ、第６畳み込み層１４２ｆが順に配置される。つまり、畳み込み処理とプーリング処理とが繰り返し実行される。
【００３７】
図６は、畳み込み層１４２における処理の概要を示す。画像２００は、畳み込み層１４２における処理対象であり、ここでは、一例として１０×１０の画素により構成される。各画素は画素値を有する。畳み込み層１４２は、画像２００の周囲をパディング２０２により拡張させることによって、拡張画像２０４を生成する。各パディング２０２も画素であり、拡張画像２０４は、１２×１２の画素により構成される。畳み込み層１４２は、拡張画像２０４に対して、拡張画像２０４のサイズよりも小さいサイズのフィルタ２１０をずらしながら畳み込みを実行する。フィルタ２１０は、例えば、３×３のサイズを有する。
【００３８】
ここで、パディング２０２の画素値は次のように決定される。処理部１１４は、パディング２０２を含むように拡張画像２０４とフィルタ２１０を対応付けた場合に、フィルタ２１０に対応付けられる画像の一部分、つまり画素のいずれかの画素値をパディング２０２に使用する。図６のごとく、拡張画像２０４の左上の部分にフィルタ２１０を対応付けた場合、５つのパディング２０２と４つの画素が含まれる。ここで、各パディング２０２の画素値には、４つの画素の画素値のいずれかが使用される。例えば、パディング２０２に最も近い画素の画素値が、当該パディング２０２の画素値とされる。また、処理部１１４は、パディング２０２を含むように拡張画像２０４とフィルタ２１０を対応付けた場合に、フィルタ２１０に対応付けられる画像の一部分、つまり画素の画素値の統計値をパディング２０２に使用する。図６のごとく、拡張画像２０４の左上の部分にフィルタ２１０を対応付けた場合、４つの画素の画素値の統計値が各パディング２０２の画素値とされる。統計値は、平均値、中央値を含む。図５に戻る。
【００３９】
畳み込み処理とプーリング処理とが繰り返されることによって、画像のサイズが順に小さくされ、第６畳み込み層１４２ｆは、１以上のチャンネル数を有する画像（以下、「出力画像１４８」という）を出力する。プーリング層１４４が最終段に配置され、プーリング層１４４が出力画像１４８を出力してもよい。ここでも、一例として、チャンネル数を「８」とする。つまり、入力画像１４０に対して、ダウンサンプリング処理部１５２における画像認識処理を実行すると、出力画像１４８が取得される。出力画像１４８については後述する。
【００４０】
このような処理部１１４の構成を元にして、ここでは、図４（ａ）を使用しながら、処理装置１００における学習処理を説明する。第１入力部１１０は、既知の出力画像１４８となる教師データを受けつけ、第２入力部１１２は、第１入力部１１０において受けつけた教師データに対応した学習用画像を受けつける。処理部１１４は、図５の構成を有し、第１入力部１１０において受けつけた教師データと、第２入力部１１２において受けつけた学習用画像とをもとに、各畳み込み層１４２の空間フィルタの係数を学習させる。
【００４１】
本実施例において、教師データのサイズは１×１の空間次元を有する。そのため、教師データは、学習用画像に含まれた物体の位置情報を有さず、１つのチャンネルに対する教師データは、前述の出力４８における８つのクラスのいずれかの物体の存在を示すだけである。例えば、学習用画像に内部クラック３２が含まれている場合、「内部クラック」のクラスの教師データは、内部クラックの存在を示す。他のクラスについても同様であるので、８チャンネルに対する教師データは、各クラスの物体の存在を示しているだけである。つまり、１つのチャンネルに対する教師データは、１つのクラスの物体が存在するか否かだけを示せばよく、物体に対して色塗りによるセグメンテーションがなされた画像でなくてよい。そのため、物体に対して色塗りによるセグメンテーションがなされた画像を生成する場合と比較して、１つの教師データを生成するための作業量が低減する。その結果、作業量の増加を抑制しながら、教師データの数を多くすることが可能である。
【００４２】
一方、学習用画像は、画像認識処理が正確に実行された場合に教師データが出力されるような元の画像であり、そのサイズは教師データが１×１の空間次元となるように定められる。ここで、入力画像１４０のサイズに対する制限が設けられないので、学習用画像と入力画像１４０は異なったサイズでもよい。このような教師データと学習用画像を使用する状況下における空間フィルタの係数の学習自体には公知の技術が使用されればよいので、ここでは説明を省略する。
【００４３】
次に、図４（ｂ）を使用しながら、処理装置１００における画像認識処理を説明する。図４（ａ）と図４（ｂ）における処理装置１００とが別の装置である場合、図４（ａ）における処理部１１４に対する学習によって導出された空間フィルタの係数が、図４（ｂ）における処理部１１４に設定される。
【００４４】
撮像装置１３０は、例えば、赤外線カメラであり、検査対象、つまり画像認識処理対象となる図１（ａ）の太陽電池セル１０を赤外線で撮像する。例えば、８ビット、９Ｍピクセルによる撮像がなされる。撮像装置１３０は、撮像した画像を処理装置１００に出力する。処理装置１００の入力部１３２は、撮像装置１３０において撮像された画像（以下、「画像１２０」という）を受けつける。図７（ａ）−（ｃ）は、処理装置１００において処理される画像１２０を示し、特に、図７（ａ）は、入力部１３２に入力される画像１２０を示す。画像１２０には、太陽電池セル１０の受光面１２あるいは裏面１４が示されている。一般的に、画像１２０において太陽電池セル１０は傾いて配置される。図７（ｂ）−（ｃ）は後述し、図４（ｂ）に戻る。入力部１３２は、画像１２０を補正部１３４に出力する。
【００４５】
補正部１３４は、入力部１３２から画像１２０を受けつける。補正部１３４は、画像１２０における太陽電池セル１０の傾きを補正する。補正部１３４は、図７（ａ）の画像１２０における太陽電池セル１０に対して、図７（ｂ）のごとく、第１角辺Ｌ１、第２角辺Ｌ２、第３角辺Ｌ３、第４角辺Ｌ４を特定する。また、補正部１３４は、第１角辺Ｌ１と第２角辺Ｌ２とを延長させることによって交わる第１交点Ｐ１を導出する。さらに、補正部１３４は、第１交点Ｐ１と同様に、第２交点Ｐ２、第３交点Ｐ３、第４交点Ｐ４を導出する。これに続いて、補正部１３４は、透視投影変換を使用して、第１交点Ｐ１、第２交点Ｐ２、第３交点Ｐ３、第４交点Ｐ４を設定した座標へ移動するように画像１２０を変形する。変形した結果が図７（ｃ）のように示される。補正部１３４は、補正した画像１２０を処理部１１４に出力する。
【００４６】
処理部１１４は、補正した画像１２０を補正部１３４から受けつける。処理部１１４は、図５に示される構成を有しており、受けつけた画像１２０は入力画像１４０に相当する。そのため、以下では、補正した画像１２０を入力画像１４０と呼ぶ。処理部１１４は、前述のごとく、入力画像１４０に対して、全結合層４６が除外された畳み込みニューラルネットワークの処理を実行する。ここで、処理部１１４における畳み込みニューラルネットワークは、ダウンサンプリング処理部１５２を含み、ダウンサンプリング処理部１５２は、複数の畳み込み層１４２と複数のプーリング層１４４とを含む。そのため、処理部１１４は、ダウンサンプリング処理を実行するが、アップサンプリング処理を実行しない。
【００４７】
また、処理部１１４における畳み込みニューラルネットワークでは、１×１の空間次元を有し、かつ８チャンネルを有する処理結果、つまり教師データに対して、畳み込み層４２の空間フィルタの学習がなされている。特に、畳み込み層４２の空間フィルタの学習は、８チャンネルと１対１で対応する８クラスの物体の有無に対してなされている。８クラスの物体の１つが内部クラック３２である。
【００４８】
学習処理後の処理部１１４による画像認識処理によって、処理結果あるいは検査結果である出力画像１４８が取得されるが、出力画像１４８では、８つのクラスの物体の有無が示される。一方、出力画像１４８のサイズは入力画像１４０のサイズよりも小さいので、出力画像１４８では、例えば内部クラック３２の正確な位置情報が削除されている。しかしながら、処理装置１００における検査では、内部クラック３２の有無が検出できればよいので、内部クラック３２の正確な位置情報は不要である。そのため、内部クラック３２の正確な位置情報が削除されていても、画像認識処理の精度の低下にはならない。学習用画像と入力画像１４０が異なったサイズである場合、出力画像１４８は、教師データと異なり、１×１よりも大きい空間次元を有する。処理部１１４は、出力画像１４８を出力部１３６に出力し、出力部１３６は出力画像１４８を外部に出力する。
【００４９】
前述のごとく、学習用画像と入力画像１４０は異なったサイズであってもよいが、特に、入力画像１４０のサイズは学習用画像のサイズより大きくてもよい。ここで、学習用画像は、畳み込み層のフィルタ２１０を学習する際に完全畳み込みニューラルネットワークに入力されるとともに、教師データに対応する。このような入力画像１４０が処理装置１００に入力されると、出力部１３６から出力される出力画像１４８は、入力画像１４０のサイズより小さく、かつ１×１よりも大きい空間次元を有する。
【００５０】
図８（ａ）−（ｂ）は、出力部１３６から出力される出力画像１４８を示す。図８（ａ）では、出力画像１４８が全体的にほぼ同一の色で示される。これより、太陽電池セル１０には内部クラック３２が存在しないことが明確である。一方、図８（ｂ）では、クラスに応じた色塗りがなされており、出力画像１４８の中央部分が他の部分よりも濃い色で示される。これより、太陽電池セル１０の中央部分に内部クラック３２が存在することが明確である。つまり、出力画像１４８が１×１よりも大きい空間次元を有するので、内部クラック３２の有無だけではなく、太陽電池セル１０中の相対的な位置が特徴マップにより特定される。この特徴マップはヒートマップとも呼ばれる。
【００５１】
本開示における装置、システム、または方法の主体は、コンピュータを備えている。このコンピュータがプログラムを実行することによって、本開示における装置、システム、または方法の主体の機能が実現される。コンピュータは、プログラムにしたがって動作するプロセッサを主なハードウェア構成として備える。プロセッサは、プログラムを実行することによって機能を実現することができれば、その種類は問わない。プロセッサは、半導体集積回路（ＩＣ）、またはＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）を含む１つまたは複数の電子回路で構成される。複数の電子回路は、１つのチップに集積されてもよいし、複数のチップに設けられてもよい。複数のチップは１つの装置に集約されていてもよいし、複数の装置に備えられていてもよい。プログラムは、コンピュータが読み取り可能なＲＯＭ、光ディスク、ハードディスクドライブなどの非一時的記録媒体に記録される。プログラムは、記録媒体に予め格納されていてもよいし、インターネット等を含む広域通信網を介して記録媒体に供給されてもよい。
【００５２】
以上の構成による処理装置１００の動作を説明する。図９（ａ）−（ｂ）は、処理装置１００における処理手順を示すフローチャートである。図９（ａ）は学習処理の手順を示すフローチャートである。第１入力部１１０は教師用データを入力し、第２入力部１１２は学習用画像を入力する（Ｓ１０）。処理部１１４は、教師用データと学習用画像とを使用して、各畳み込み層４２の空間フィルタの係数を学習させる（Ｓ１２）。教師用データと学習用画像との組合せが残っていれば（Ｓ１４のＹ）、ステップ１０に戻り、教師用データと学習用画像との組合せが残っていなければ（Ｓ１４のＮ）、処理は終了される。
【００５３】
図９（ｂ）は、画像認識処理の手順を示すフローチャートである。入力部１３２は画像１２０を入力する（Ｓ５０）。補正部１３４は画像１２０の傾きを補正する（Ｓ５２）。処理部１１４は、補正した画像１２０を入力画像１４０として画像認識処理を実行する（Ｓ５４）。出力部１３６は、画像認識処理の結果である出力画像１４８を出力する（Ｓ５６）。
【００５４】
本実施例によれば、１×１の空間次元を有する教師データに対して、畳み込み層１４２の空間フィルタの学習がなされている畳み込みニューラルネットワークを使用するので、教師データの作成の作業量を低減できる。また教師データの作成の作業量が低減されるので、学習の作業量の増加を抑制できる。また教師データの作成の作業量が低減されるので、教師データの数を多くできる。また、教師データの数が多くなるので、学習の精度を向上できる。
【００５５】
また、１×１の空間次元を有する教師データに対して、畳み込み層１４２の空間フィルタの学習がなされている畳み込みニューラルネットワークを使用するので、対象となる物体の有無を検出できる。また、対象となる物体の有無が検出されるので、画像認識処理の精度の低下を抑制できる。また、１×１の空間次元を有する教師データに対して、畳み込み層１４２の空間フィルタの学習がなされている畳み込みニューラルネットワークを使用するので、学習の作業量の増加を抑制しながら、画像認識処理の精度の低下を抑制できる。
【００５６】
また、畳み込みニューラルネットワークは、畳み込み層１４２とプーリング層１４４によるダウンサンプリング処理を実行し、アップサンプリング処理を実行しないので、１×１の空間次元を有する教師データを学習の際に使用できる。また、少なくとも内部クラック３２の有無に対して、畳み込み層１４２の空間フィルタの学習がなされている状況下において、太陽電池セル１０を撮像した画像を入力するので、内部クラック３２の有無を検査できる。
【００５７】
また、学習用画像のサイズよりも大きいサイズの入力画像１４０を入力するので、１×１以上の空間次元を有する出力画像１４８を取得できる。また、１×１以上の空間次元を有する出力画像１４８が取得されるので、相対的な位置情報を取得できる。また、画像に含まれる画素の画素値をパディング２０２の画素値として使用するので、パディング２０２による検出精度の悪化を抑制できる。また、画像に含まれる画素の画素値の統計値をパディング２０２の画素値として使用するので、パディング２０２による検出精度の悪化を抑制できる。
【００５８】
本開示の一態様の概要は、次の通りである。本開示のある態様の処理装置（１００）は、処理対象の画像を入力する入力部（１３２）と、入力部（１３２）に入力した画像に対して、全結合層が除外された畳み込みニューラルネットワークの処理を実行する処理部（１１４）と、処理部（１１４）の処理結果を出力する出力部（１３６）とを備える。処理部（１１４）における畳み込みニューラルネットワークは、畳み込み層（１４２）とプーリング層（１４４）とを含む。処理部（１１４）における畳み込みニューラルネットワークでは、１×１の空間次元を有する処理結果に対して、畳み込み層（１４２）のフィルタ（２１０）の学習がなされている。入力部（１３２）に入力される画像のサイズは、畳み込み層（１４２）のフィルタ（２１０）を学習する際に畳み込みニューラルネットワークに入力される学習用画像であって、かつ畳み込み層（１４２）のフィルタ（２１０）を学習する際の処理結果に対応した学習用画像のサイズよりも大きい。
【００５９】
処理部（１１４）における畳み込みニューラルネットワークは、畳み込み層（１４２）とプーリング層（１４４）によるダウンサンプリング処理を実行し、アップサンプリング処理を非実行であってもよい。
【００６０】
出力部（１３６）から出力される処理結果は、入力部（１３２）に入力される画像のサイズよりも小さく、かつ１×１よりも大きい空間次元を有し、特徴マップを示す。
【００６１】
処理部（１１４）における畳み込みニューラルネットワークに含まれる畳み込み層（１４２）は、画像の周囲をパディング（２０２）により拡張させるとともに、拡張した画像に対して、当該拡張した画像のサイズよりも小さいサイズのフィルタ（２１０）をずらしながら畳み込みを実行し、処理部（１１４）は、パディング（２０２）を含むようにフィルタ（２１０）を対応付けた場合に、フィルタ（２１０）に対応付けられる画像の一部分のいずれかの値をパディング（２０２）に使用してもよい。
【００６２】
処理部（１１４）における畳み込みニューラルネットワークに含まれる畳み込み層（１４２）は、画像の周囲をパディング（２０２）により拡張させるとともに、拡張した画像に対して、当該拡張した画像のサイズよりも小さいサイズのフィルタ（２１０）をずらしながら畳み込みを実行し、処理部（１１４）は、パディング（２０２）を含むようにフィルタ（２１０）を対応付けた場合に、フィルタ（２１０）に対応付けられる画像の一部分の値の統計値をパディング（２０２）に使用してもよい。
【００６３】
入力部（１３２）に入力される画像は、検査対象となる物体を撮像した画像であり、処理部（１１４）における畳み込みニューラルネットワークでは、少なくとも不良の有無に対して、畳み込み層（１４２）のフィルタ（２１０）の学習がなされており、出力部（１３６）は、処理部（１１４）の処理結果を検査結果として出力してもよい。
【００６４】
入力部（１３２）に入力される画像は、検査対象となる物体を撮像した画像であり、処理部（１１４）における畳み込みニューラルネットワークでは、物体に含まれうる１つ以上の要素のそれぞれに対して、畳み込み層（１４２）のフィルタ（２１０）の学習がなされており、出力部（１３６）は、処理部（１１４）の処理結果を検査結果として出力してもよい。
【００６５】
本開示の別の態様は、処理方法である。この方法は、処理対象の画像を入力するステップと、入力した画像に対して、全結合層が除外された畳み込みニューラルネットワークの処理を実行するステップと、処理結果を出力するステップとを備える。畳み込みニューラルネットワークは、畳み込み層（１４２）とプーリング層（１４４）とを含む。畳み込みニューラルネットワークでは、１×１の空間次元を有する処理結果に対して、畳み込み層（１４２）のフィルタの学習がなされている。入力される画像のサイズは、畳み込み層（１４２）のフィルタ（２１０）を学習する際に畳み込みニューラルネットワークに入力される学習用画像であって、かつ畳み込み層（１４２）のフィルタ（２１０）を学習する際の処理結果に対応した学習用画像のサイズよりも大きい。
【００６６】
以上、本開示を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本開示の範囲にあることは当業者に理解されるところである。
【００６７】
本実施例における処理部１１４の構成は、複数の畳み込み層４２と複数のプーリング層４４とが交互に並んでいる。しかしながらこれに限らず例えば、処理部１１４は、ＧｏｏｇＬｅＮｅｔ系、ＤｅｎｓｅＮｅｔ系等の構成を有していてもよい。本変形例によれば、構成の自由度を向上できる。
【００６８】
本実施例における処理装置１００は、太陽電池セル１０を撮像した入力画像１４０から内部クラック３２の有無を検出するための処理を実行する。しかしながらこれに限らず例えば、太陽電池セル１０以外の物体を撮像した入力画像１４０が処理対象とされてもよい。また、内部クラック３２の有無以外の不良の有無を検出するための処理がなされてもよい。さらに、物体における不良の有無ではなく、物体に含まれうる１つ以上の要素を検出するための処理がなされてもよい。本変形例によれば、処理装置１００の適用範囲を拡大できる。
【符号の説明】
【００６９】
１０  太陽電池セル、  ３２  内部クラック、  １００  処理装置、  １１０  第１入力部、  １１２  第２入力部、  １１４  処理部、  １２０  画像、  １３０  撮像装置、  １３２  入力部、  １３４  補正部、  １３６  出力部、  １４０  入力画像、  １４２  畳み込み層、  １４４  プーリング層、  １４８  出力画像、  １５２  ダウンサンプリング処理部。
【産業上の利用可能性】
【００７０】
本開示によれば、学習の作業量の増加を抑制しながら、画像認識処理の精度の低下を抑制できる。
【図１】
2019159419.tif 000003
【図２】
2019159419.tif 000004
【図３】
2019159419.tif 000005
【図４】
2019159419.tif 000006
【図５】
2019159419.tif 000007
【図６】
2019159419.tif 000008
【図７】
2019159419.tif 000009
【図８】
2019159419.tif 000010
【図９】
2019159419.tif 000011
【国際調査報告】
2019159419.tif 000012
2019159419.tif 000013
2019159419.tif 000014
2019159419.tif 000015