(57)【要約】  異常検知装置１００は、検査対象が写っている検査画像、検査対象が正常な状態を示す基準画像及び画像変換パラメータ算出用パラメータに基づいて、画像変換パラメータを算出し、画像変換パラメータを用いて、検査画像を画像変換する、画像変換部１０３と、基準画像と画像変換後の検査画像とを、変化検出パラメータを用いて照合して、検査画像の特定の領域における変化の有無を示す異常確信度を算出する、画像変化検出部１０４と、変化の正解値を示す教師画像と異常確信度との差分に基づいて、変化検出パラメータを学習する、変化検出パラメータ学習部１０６と、教師画像と異常確信度との差分から求められた、画像変換された検査画像に与えるべき修正量に基づいて、画像変換パラメータ算出用パラメータを学習する、画像変換パラメータ学習部１０８とを備えている。
2019064599.tif 000002
【特許請求の範囲】
【請求項１】
検査対象が写っている検査画像と、前記検査対象が正常な状態を示す基準画像とを用いて、前記検査対象の異常を検知するための装置であって、
前記検査画像、前記基準画像、及び画像変換パラメータ算出用パラメータに基づいて、画像変換パラメータを算出し、算出した前記画像変換パラメータを用いて、前記検査画像中の前記検査対象が、前記基準画像中の前記検査対象に重なるように、前記検査画像を画像変換する、画像変換部と、
前記基準画像と画像変換された前記検査画像とを、変化検出パラメータを用いて照合して、前記検査画像の特定の領域における変化の有無を示す異常確信度を算出する、画像変化検出部と、
前記特定の領域における変化の正解値を示す教師画像と、前記画像変化検出部が算出した前記異常確信度との差分に基づいて、前記変化検出パラメータを学習する、変化検出パラメータ学習部と、
前記教師画像と前記画像変化検出部が算出した前記異常確信度との差分から求められた、画像変換された前記検査画像に与えるべき修正量に基づいて、前記画像変換パラメータ算出用パラメータを学習する、画像変換パラメータ学習部と、
を備えていることを特徴とする異常検知装置。
【請求項２】
前記変化パラメータ学習部が、前記教師画像と前記異常確信度との差分を求め、求めた前記差分が減少するように前記変化検出パラメータの値を更新することによって、変化検出パラメータを学習し、
当該異常検知装置が、前記教師画像と前記画像変化検出部が算出した前記異常確信度との差分が減少するように、画像変換された前記検査画像に与えるべき修正量を算出する、修正量算出部を更に備え、
前記画像変換パラメータ学習部が、前記修正量算出部が算出した前記修正量を生じさせる画像変換が行われるように、前記画像変換パラメータ算出用パラメータを更新することによって、前記画像変換パラメータ算出用パラメータを学習する、
請求項１に記載の異常検知装置。
【請求項３】
予め作成されている、理想的な前記画像変換が行われた場合の検査画像を前記画像変換パラメータに入力する、入力部を更に備え、
前記画像変換パラメータ学習部が、前記理想的な前記画像変換が行われた場合の検査画像と、前記画像変換部によって画像変換された前記検査画像との差分を求め、求めた差分が減少するように、前記画像変換パラメータ算出用パラメータを更新する、
請求項２に記載の異常検知装置。
【請求項４】
前記入力部が、前記理想的な前記画像変換が行われた場合の検査画像と前記基準画像との間における対応点毎に、前記基準画像から前記理想的な前記画像変換が行われた場合の検査画像までの第１の移動量を求め、
前記画像変換部が、画像変換後の前記検査画像と前記基準画像との間における対応点毎に、前記基準画像から画像変換後の前記検査画像までの第２の移動量を求め、
前記画像変換パラメータ学習部が、共通の対応点毎に、前記第１の移動量と前記第２の移動量との差分を求め、更に、求めた各差分の総和が減少するように前記画像変換パラメータ算出用パラメータを更新する、
請求項３に記載の異常検知装置。
【請求項５】
検査対象が写っている検査画像と、前記検査対象が正常な状態を示す基準画像とを用いて、前記検査対象の異常を検知するための方法であって、
（ａ）前記検査画像、前記基準画像、及び画像変換パラメータ算出用パラメータに基づいて、画像変換パラメータを算出し、算出した前記画像変換パラメータを用いて、前記検査画像中の前記検査対象が、前記基準画像中の前記検査対象に重なるように、前記検査画像を画像変換する、ステップと、
（ｂ）前記基準画像と画像変換された前記検査画像とを、変化検出パラメータを用いて照合して、前記検査画像の特定の領域における変化の有無を示す異常確信度を算出する、ステップと、
（ｃ）前記特定の領域における変化の正解値を示す教師画像と、前記画像変化検出部が算出した前記異常確信度との差分に基づいて、前記変化検出パラメータを学習する、ステップと、
（ｄ）前記教師画像と前記（ｂ）のステップで算出した前記異常確信度との差分から求められた、画像変換された前記検査画像に与えるべき修正量に基づいて、前記画像変換パラメータ算出用パラメータを学習する、ステップと、
を有することを特徴とする異常検知方法。
【請求項６】
コンピュータによって、検査対象が写っている検査画像と、前記検査対象が正常な状態を示す基準画像とを用いて、前記検査対象の異常を検知するためのプログラムを記録した、コンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、
（ａ）前記検査画像、前記基準画像、及び画像変換パラメータ算出用パラメータに基づいて、画像変換パラメータを算出し、算出した前記画像変換パラメータを用いて、前記検査画像中の前記検査対象が、前記基準画像中の前記検査対象に重なるように、前記検査画像を画像変換する、ステップと、
（ｂ）前記基準画像と画像変換された前記検査画像とを、変化検出パラメータを用いて照合して、前記検査画像の特定の領域における変化の有無を示す異常確信度を算出する、ステップと、
（ｃ）前記特定の領域における変化の正解値を示す教師画像と、前記画像変化検出部が算出した前記異常確信度との差分に基づいて、前記変化検出パラメータを学習する、ステップと、
（ｄ）前記教師画像と前記（ｂ）のステップで算出した前記異常確信度との差分から求められた、画像変換された前記検査画像に与えるべき修正量に基づいて、前記画像変換パラメータ算出用パラメータを学習する、ステップと、
を実行させる、命令を含むプログラムを記録している、ことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象物が撮影されている基準画像と検査画像とを照合して、対象物の異常を検知するための、異常検知装置、及び異常検知方法に関し、更には、これらを実現するためのプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
従来から、工業部品、インフラ構造物などの外観からわかる異常を画像によって自動的に検知することを目的とした装置が提案されている。このような装置は、正常時の対象物を撮影した基準画像と、検査時の対象物を撮影した検査画像とを対応づけし、その差異から異常を検出する。また、このような装置は、検査画像中の対象物の位置が、基準画像中の対象物の位置と異なる場合は、位置の変換（位置合わせ）を行った後に、異常検出を実行する（例えば、特許文献１参照）。【０００３】
具体的には、特許文献１は、基準画像（モデル画像）と検査画像（入力画像）とを用いて欠陥を検出する欠陥検出装置を開示している。特許文献１に開示された欠陥検出装置は、基準画像と検査画像とを、それぞれから抽出される特徴点群に基づいて対応づけて、両画像の座標系を共通座標系に変換し、その後、両画像の差分を求めて欠陥を検出する。【０００４】
また、異常を検知するための技術ではないが、特許文献２は、２つの画像の位置合わせを行う技術を開示している。特許文献２に開示された技術では、基準画像（第一画像）と検査画像（第二画像）とからエッジを抽出し、各画像から抽出されたエッジの特徴量が互いに類似するような位置変換を推定することで位置合わせが行われる。【０００５】
ところで、特許文献１に開示された装置、又は特許文献２に開示された技術では、２つの画像間において、大きな輝度変化又は異常による大きな差異が発生している場合に、一方の画像の特徴点に対する他方の画像の局所特徴量が、対応点間において一致しないという事態が生じる可能性がある。また、上述の場合には、一方の画像から他方の画像への各画素の対応関係が、アフィン変換又はホモグラフィ変換で表現できるレベルよりも複雑となる事態、例えば、対応関係が非線形変換で表現されている事態が生じる可能性もある。これらの事態が発生した場合は、位置合わせは困難となる。【０００６】
従って、画像による異常検知においては、特許文献１で開示されている特徴点による位置合わせと、特許文献２で開示されているエッジによる位置合わせとを、併用できるようにすることが望ましいと考えられる。【０００７】
しかしながら、実際には、特許文献１に開示されている位置合わせと、特許文献２に開示されている位置合わせとを、併用することは困難である。両者においては、一致しているかどうかの評価基準が互いに異なり、単純に両者の特徴を併用して位置合わせ精度を高めることはできないためである。その理由について以下に具体的に説明する。【０００８】
まず、特徴点に基づく位置合わせでは、一般的に、２つの画像間において特徴点の対応づけが行われた後、対応する対応点の組毎に、位置合わせのパラメータを変数とした方程式が作成され、最小二乗法などで連立方程式を解くことによって、位置合わせのパラメータが解析的に求められる。代表例として、非特許文献１に記載されているＤＬＴアルゴリズムによるホモグラフィ行列の解法などが挙げられる。【０００９】
一方、エッジに基づく位置合わせでは、連立方程式を解くような解法では変換パラメータを求めることができない。よって、エッジに基づく位置合わせでは、特許文献２の段落［００１８］に記載されているように、一方の画像から抽出したエッジ画像を実際に変形して他方のエッジ画像に重ね、エッジ画像間の差分が小さくなる変換を試行錯誤的に求める必要がある。【００１０】
このように、特許文献１に開示されている位置合わせと特許文献２に開示されている位置合わせとでは、変換パラメータの推定方法がまったく異なり、これらの手法を拡張して、特徴点とエッジとの両方を使った位置合わせを行うことは困難である。【００１１】
これに対して、非特許文献２は、基準画像の画像特徴量と検査画像の画像特徴量との差分が小さくなるような位置変換を求め、求めた位置変換に基づいて、各画像の座標系を共通座標系に変換する、画像変換方法を開示している。また、非特許文献２に開示された画像変換方法では、特徴点又ははエッジに限定せず、画像認識に有効なさまざまな特徴量を事前に学習し、学習した特徴量を用いて、座標系を変換することができる。このため、非特許文献２に開示された手法では、特徴点及びエッジなどの画像認識に有効なさまざまな特徴を併用した位置合わせを行える可能性がある。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２０１２−０３２３７０号公報
【特許文献２】特開２０１４−１２６４４５号公報
【非特許文献】
【００１３】
【非特許文献１】Richard Hartley, Andrew Zisserman, “Multiple View Geometry inComputer Vision Second Edition”,[online], Cambridge University Press,2004,p.91, Algorithm 4.1, Inter Net<URL: http://cvrs.whu.edu.cn/downloads/ebooks/Multiple%20View%20Geometry%20in%20Computer%20Vision%20(Second%20Edition).pdf>
【非特許文献２】Angjoo Kanazawa, David W.Jacobs, Manmohan Chandraker, “WarpNet:Weakly Supervised Matching for Single-view Reconstruction”, [online], Universityof Maryland, College Park,20 Jun 2016, Inter Net<URL:https://arxiv.org/abs/1604.05592>
【発明の概要】
【発明が解決しようとする課題】
【００１４】
ここで、非特許文献２に示されている位置合わせ技術と、今日知られている既存のパターン識別技術を用いて、予め位置合わせされた画像対から異常を検出するように学習した識別器とを組み合わせて、異常を検知する異常検知装置を想定する。なお、既存のパターン識別技術としては、例えば、SUPPORT VECTOR MACHINE、DEEP LEARNING、ADA BOOST等が挙げられる。このような異常検知装置によれば、さまざまな特徴が位置合わせに利用できる可能性がある。【００１５】
しかしながら、このような異常検知装置であっても、利用できる特徴が、異常検知に適した特徴であるとは限られないため、精度の高い異常検知を行えない場合がある。なぜなら、非特許文献２における変換パラメータは、本来対応すべき点が対応づくように学習されるが、異常検知に適したものに最適化されていないためである。つまり、異常箇所を含む画像の対には互いに対応しない画素が含まれるが、本来対応すべき点が対応づくように学習されただけであると、互いに対応しない画素がどのように対応付けられるかが不確かだからである。【００１６】
例えば、異常箇所を隠蔽するような過剰な画像変換が実行される可能性があり、このような場合は、異常検知が困難となる。逆に、照明の当たり方が違うだけで異常ではない検査画像に対して、輝度値の差異に起因する誤った対応付けがされる可能性もある。このような事態は、とりもなおさず、位置合わせのパラメータの学習において、検査画像と基準画像との間にある差異が検出したい異常によるものか否かを示す情報が、用いられていないことに起因する。【００１７】
本発明の目的の一例は、上記問題を解消し、異常検知に適した画像変換のためのパラメータと、画像変換が施された画像の異常又は正常を識別するためのパラメータとを、同時に最適化することで、高精度な異常検知を可能にし得る、異常検知装置、異常検知方法、及びコンピュータ読み取り可能な記録媒体を提供することにある。
【課題を解決するための手段】
【００１８】
上記目的を達成するため、本発明の一側面における異常検知装置は、検査対象が写っている検査画像と、前記検査対象が正常な状態を示す基準画像とを用いて、前記検査対象の異常を検知するための装置であって、
前記検査画像、前記基準画像、及び画像変換パラメータ算出用パラメータに基づいて、画像変換パラメータを算出し、算出した前記画像変換パラメータを用いて、前記検査画像中の前記検査対象が、前記基準画像中の前記検査対象に重なるように、前記検査画像を画像変換する、画像変換部と、
前記基準画像と画像変換された前記検査画像とを、変化検出パラメータを用いて照合して、前記検査画像の特定の領域における変化の有無を示す異常確信度を算出する、画像変化検出部と、
前記特定の領域における変化の正解値を示す教師画像と、前記画像変化検出部が算出した前記異常確信度との差分に基づいて、前記変化検出パラメータを学習する、変化検出パラメータ学習部と、
前記教師画像と前記画像変化検出部が算出した前記異常確信度との差分から求められた、画像変換された前記検査画像に与えるべき修正量に基づいて、前記画像変換パラメータ算出用パラメータを学習する、画像変換パラメータ学習部と、
を備えていることを特徴とする。【００１９】
また、上記目的を達成するため、本発明の一側面における異常検知方法は、検査対象が写っている検査画像と、前記検査対象が正常な状態を示す基準画像とを用いて、前記検査対象の異常を検知するための方法であって、
（ａ）前記検査画像、前記基準画像、及び画像変換パラメータ算出用パラメータに基づいて、画像変換パラメータを算出し、算出した前記画像変換パラメータを用いて、前記検査画像中の前記検査対象が、前記基準画像中の前記検査対象に重なるように、前記検査画像を画像変換する、ステップと、
（ｂ）前記基準画像と画像変換された前記検査画像とを、変化検出パラメータを用いて照合して、前記検査画像の特定の領域における変化の有無を示す異常確信度を算出する、ステップと、
（ｃ）前記特定の領域における変化の正解値を示す教師画像と、前記画像変化検出部が算出した前記異常確信度との差分に基づいて、前記変化検出パラメータを学習する、ステップと、
（ｄ）前記教師画像と前記（ｂ）のステップで算出した前記異常確信度との差分から求められた、画像変換された前記検査画像に与えるべき修正量に基づいて、前記画像変換パラメータ算出用パラメータを学習する、ステップと、
を有することを特徴とする。【００２０】
更に、上記目的を達成するため、本発明の一側面におけるコンピュータ読み取り可能な記録媒体は、コンピュータによって、検査対象が写っている検査画像と、前記検査対象が正常な状態を示す基準画像とを用いて、前記検査対象の異常を検知するためのプログラムを記録した、コンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、
（ａ）前記検査画像、前記基準画像、及び画像変換パラメータ算出用パラメータに基づいて、画像変換パラメータを算出し、算出した前記画像変換パラメータを用いて、前記検査画像中の前記検査対象が、前記基準画像中の前記検査対象に重なるように、前記検査画像を画像変換する、ステップと、
（ｂ）前記基準画像と画像変換された前記検査画像とを、変化検出パラメータを用いて照合して、前記検査画像の特定の領域における変化の有無を示す異常確信度を算出する、ステップと、
（ｃ）前記特定の領域における変化の正解値を示す教師画像と、前記画像変化検出部が算出した前記異常確信度との差分に基づいて、前記変化検出パラメータを学習する、ステップと、
（ｄ）前記教師画像と前記（ｂ）のステップで算出した前記異常確信度との差分から求められた、画像変換された前記検査画像に与えるべき修正量に基づいて、前記画像変換パラメータ算出用パラメータを学習する、ステップと、
を実行させる、命令を含むプログラムを記録している、ことを特徴とする。
【発明の効果】
【００２１】
以上のように本発明によれば、異常検知に適した画像変換のためのパラメータと、画像変換が施された画像の異常又は正常を識別するためのパラメータとを、同時に最適化することで、高精度な異常検知が可能となる。
【図面の簡単な説明】
【００２２】
【図１】図１は、本発明の実施の形態１における異常検知装置の概略構成を示すブロック図である。
【図２】図２は、本発明の実施の形態１における異常検知装置の具体的構成を示すブロック図である。
【図３】図３は、本発明の実施の形態で用いられる検査画像の一例を示す図である。
【図４】図４は、本発明の実施の形態で用いられる基準画像の一例を示す図である。
【図５】図５は、本発明の実施の形態において画像変換された検査画像と基準画像との一例を示す図である。
【図６】図６は、本発明の実施の形態で得られる異常確信度画像の一例を示す図である。
【図７】図７は、本発明の実施の形態１における異常検知装置の学習モードにおける動作を示すフロー図である。
【図８】図８は、本発明の実施の形態１における異常検知装置の異常検知モードにおける動作を示すフロー図である。
【図９】図９は、本発明の実施の形態１における異常検知装置の具体的構成を示すブロック図である。
【図１０】図１０は、本発明の実施の形態２における異常検知装置の学習モードにおける動作を示すフロー図である。
【図１１】図１１は、本発明の実施の形態１及び２における異常検知装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【００２３】
（実施の形態１）
以下、本発明の実施の形態１における異常検知装置、異常検知方法、及びプログラムについて、図１〜図８を参照しながら説明する。
【００２４】
［装置構成］
最初に、本実施の形態１における異常検知装置の構成について図１を用いて説明する。図１は、本発明の実施の形態１における異常検知装置の概略構成を示すブロック図である。
【００２５】
図１に示す、本実施の形態１における異常検知装置１００は、検査対象が写っている検査画像と、検査対象が正常な状態を示す基準画像とを用いて、検査対象の異常を検知するための装置である。図１に示すように、異常検知装置１００は、画像変換部１０３と、画像変化検出部１０４と、変化検出パラメータ学習部１０６と、画像変換パラメータ学習部１０８とを備えている。
【００２６】
画像変換部１０３は、検査画像、基準画像、及び画像変換パラメータ算出用パラメータに基づいて、画像変換パラメータを算出し、算出した画像変換パラメータを用いて、検査画像中の検査対象が、基準画像中の検査対象に重なるように、検査画像を画像変換する。
【００２７】
画像変化検出部１０４は、基準画像と画像変換された検査画像とを、変化検出パラメータを用いて照合して、検査画像の特定の領域における変化の有無を示す異常確信度を算出する。
【００２８】
変化検出パラメータ学習部１０６は、特定の領域における変化の正解値を示す教師画像と、画像変化検出部１０４が算出した異常確信度との差分に基づいて、変化検出パラメータを学習する。
【００２９】
画像変換パラメータ学習部１０８は、教師画像と画像変化検出部１０４が算出した異常確信度との差分から求められた、画像変換された検査画像に与えるべき修正量に基づいて、画像変換パラメータ算出用パラメータを学習する。
【００３０】
このように、本実施の形態１では、異常検知装置は、教師画像を用いた学習によって、異常検知に適した画像変換のためのパラメータ（画像変換パラメータ）と、画像変換が施された画像の異常又は正常を識別するためのパラメータ（変化検出パラメータ）とを、同時に最適化する。このため、本実施の形態１によれば、高精度な異常検知が可能となる。
【００３１】
続いて、図２〜図６を用いて、本実施の形態１における異常検知装置の構成をより具体的に説明する。図２は、本発明の実施の形態１における異常検知装置の具体的構成を示すブロック図である。
【００３２】
図２に示すように、本実施の形態１においては、異常検知装置１００は、図１に示した構成に加えて、検査画像入力部１０１と、基準画像入力部１０２と、教師画像入力部１０５と、修正量算出部１０７とを更に備えている。
【００３３】
また、本実施の形態１において、異常検知装置は、各パラメータの学習を行うための学習モードと、検査対象の異常を検知するための異常検知モードとの、２つの動作モードで動作する。よって、まず、両モードで機能する検査画像入力部１０１から画像変化検出部１０４までについて具体的に説明する。
【００３４】
検査画像入力部１０１は、外部から検査画像を取得し、取得した検査画像を画像変換部１０３に入力する。検査画像は、撮像装置によって検査対象を撮影することによって得られた画像である。また、検査画像は、カラー画像であっても良いし、輝度画像、又は遠赤外線画像等であっても良い。図３は、本発明の実施の形態で用いられる検査画像の一例を示す図である。図３の例では、検査対象は、傷３０２が付いた部品３０１である。また、図３の例では、検査画像は輝度画像である。更に、図３に示す検査画像において、検査対象である部品３０１は、反時計回りに数度程度回転している。
【００３５】
基準画像入力部１０２は、外部から基準画像を取得し、取得した基準画像を画像変換部１０３に入力する。基準画像は、検査画像との比較に用いられる画像であり、上述したように、検査対象が正常な状態を表している。また、基準画像は、基本的には、検査画像と同種類の画像である。図４は、本発明の実施の形態で用いられる基準画像の一例を示す図である。図４の例では、正常な状態の部品３０１が被写体となって写っている。
【００３６】
また、図３及び図４に示すように、基準画像に写っている検査対象と、検査画像に写っている検査対象物とは、それぞれの撮影時のカメラとの相対位置関係の違いにより、画像中での位置及び向きが異なっていても良い。位置及び向きの違いは、画像変換部１０３による検査画像の画像変換によって解消される。
【００３７】
画像変換部１０３は、上述したように、検査画像中の検査対象が基準画像中の検査対象と重なるように、検査画像を画像変換する。また、図２に示すように、本実施の形態１では、画像変換部１０３は、大きく分けて、画像変換パラメータを算出する画像変換パラメータ算出部６０１と、画像変換パラメータ算出部６０１が算出した画像変換パラメータに基づいて検査画像を変換し、変換後の検査画像を生成する、変換後検査画像生成部６０２とを備えている。
【００３８】
画像変換パラメータ算出部６０１は、基準画像、検査画像、及び画像変換部１０３に保持される画像変換パラメータ算出用パラメータに基づいて、画像変換パラメータを算出する。以下に、画像変換パラメータについて、数式を用いて具体的に説明する。
【００３９】
画像変換パラメータは、例えば、拡大縮小を想定する場合は、ｘ軸方向に関する拡大率と、ｙ軸方向に関する拡大率と、スケール変換の中心のｘ座標と、同じくスケール変換の中心のｙ座標との４つのパラメータの集合で表される。例えば、アフィン変換を想定する場合は、画像変換パラメータθｉｊは、以下の数１に対応する６つのパラメータ｛θ１１、θ１２、θ１３、θ２１、θ２２、θ２３｝で表される。
【００４０】
【数１】
2019064599.tif 000003
【００４１】
また、画像変換パラメータθｉｊは、基準画像ＩＲと、検査画像Ｉと、画像変換パラメータ算出用パラメータω１とを用いて、下記の数２により算出される。
【００４２】
【数２】
2019064599.tif 000004
【００４３】
上記の数２において、関数ｆｉｊ１はω１に関して偏微分可能な関数である。例えば、関数ｆｉｊ１を基準画像ＩＲと検査画像Ｉとの画素値を入力とするニューラルネットワークで構成する場合は、その重みパラメータをω１とすれば良い。
【００４４】
また、変換後検査画像生成部６０２は、画像変換パラメータが算出されると、算出された画像変換パラメータに基づいて、検査画像に対して画像変換を実行する。ここで、変換後の検査画像を変換後検査画像ＩＴと表記することとする。図５に示すように、画像変換により、検査画像中の部品３０１の位置及び向きは補正され、基準画像中の部品３０１の位置及び向きと揃った状態となる。図５は、本発明の実施の形態において画像変換された検査画像と基準画像との一例を示す図である。
【００４５】
なお、本実施の形態１において、変化後検査画像生成部６０２による画像変換は、固定的なパラメータ値による変換ではない。本実施の形態１では、基準画像ＩＲと検査画像Ｉとの内容によって変換パラメータが変化する点に特徴がある。
【００４６】
画像変化検出部１０４は、画像変換部１０３が出力する変換後の検査画像と、基準画像入力部１０２が出力する基準画像とに、それが記憶している変化検出パラメータを適用して、異常確信度を算出する。
【００４７】
異常確信度は、上述したように、検査画像の特定の領域における変化の有無を示している。より具体的には、異常確信度は、検査画像を構成する画素毎、又は小領域毎に、異常な変化が起きている確からしさを示す数値Ｄｋであり、下記の数３によって算出される。また、異常確信度は、画像毎又は小領域毎の数値Ｄｋの集合であり、異常な変化を示す画像としても構成される。以下において、異常確信度の集合によって構成された画像を、「異常確信度画像」と表記する。
【００４８】
【数３】
2019064599.tif 000005
【００４９】
上記数３において、関数ｆｋ２は、異常確信度画像におけるｋ番目の画素の異常確信度値を算出する関数を示し、ω２は変化検出パラメータを示す。関数ｆｋ２は、変化検出パラメータω２および変換後検査画像ＩＴについて偏微分可能な関数である。また、関数ｆｋ２は、例えば、CONVOLUTIONAL NEURAL NETWORK等のニューラルネットワークを用いて構成されていても良い。
【００５０】
図５に示した基準画像と検査画像とから得られた異常確信度画像は、図６に示す通りとなる。図６は、本発明の実施の形態で得られる異常確信度画像の一例を示す図である。図６の例では、白色で示された部分は、異常確信度が０（最小値）に近い画素で構成された領域を示している。また、黒色で示された部分は、異常確信度が１（最大値）に近い画素で構成された領域を示している。更に、灰色で示された部分は、異常確信度の値が０と１との中間値となる画素で構成された領域を示している。また、図６からわかるように、画像変化検出部１０４の出力は、位置情報を含まないスカラ値というよりも、位置情報を保持したスカラ値の集合となる。図６において５０１は、異常が生じた部分を示している。
【００５１】
続いて、学習モードのみ機能する、教師画像入力部１０５から画像変換パラメータ学習部１０８までについて具体的に説明する。
【００５２】
教師画像入力部１０５は、外部から教師画像を取得し、取得した教師画像を変化検出パラメータ学習部１０６に入力する。教師画像は、上述したように特定の領域における変化の正解値を示す画像であり、具体的には、画像変化検出部１０４の出力する異常確信度画像（２次元状の異常確信度値）に対する理想的出力値の集合である。例えば、図６に示した異常確信度画像に対応して、異常に対応する図形全体、即ち、内部及び輪郭の部分を構成する画素の値が「１」となり、それ以外の領域を構成する画素の値が「０」となった画像が、理想的な教師画像として挙げられる。
【００５３】
変化検出パラメータ学習部１０６は、本実施の形態では、まず、教師画像入力部１０５から入力された教師画像と、画像変化検出部１０４が算出した異常確信度画像との差分の二乗和（Ｓとする）を求める。次いで、変化検出パラメータ学習部１０６は、二乗和Ｓが現状よりも小さくなるように、画像変化検出部１０４に記憶されている変化検出パラメータω２を修正する。
【００５４】
上述した数３から分かるように、Ｓの計算式は、変化検出パラメータω２と、入力データである変換後検査画像ＩＴについて偏微分可能な関数Ｄｋとで表される。このため、本実施の形態１では、最急降下法を用いてＳが減少するように変化検出パラメータω２、および変換後検査画像ＩＴを修正することが可能である。従って、変化検出パラメータ学習部１０６では変化検出パラメータの修正を以下の数４により行う。
【００５５】
【数４】
2019064599.tif 000006
【００５６】
ここで、ε２は１回の修正量を制御する定数である。修正後の変化検出パラメータの値は記憶される。このようなパラメータ修正方法は、畳み込みニューラルネットワークにおける誤差逆伝播法などでも用いられている。
【００５７】
修正量算出部１０７は、教師画像と画像変化検出部１０４が算出した異常確信度との差分が減少するように、画像変換された検査画像に与えるべき修正量を算出する。具体的には、修正量算出部１０７は、教師画像入力部１０５から入力された教師画像と、画像変化検出部１０４が算出した異常確信度画像との差分の二乗和Ｓが減少するように、画像変換後の検査画像ＩＴの修正量ＤＴを以下の数５により算出する。
【００５８】
【数５】
2019064599.tif 000007
【００５９】
ＤＴは、画像変換後の検査画像ＩＴの各画素又はそのうちの一部に対してそれぞれ得られる変化量である。修正量算出部１０７は、算出したＤＴを画像変換パラメータ学習部１０８へ出力する。
【００６０】
画像変換パラメータ学習部１０８は、画像変換後の検査画像の修正量が、修正量算出部１０７から入力された修正量ＤＴに近づくように、画像変換部１０３に記憶されている画像変換パラメータ算出用パラメータを修正して、これを更新する。
【００６１】
具体的には、画像変換パラメータ学習部１０８は、まず、修正量算出部１０７から入力された修正量（即ち、画素値を増減させる割合に応じた増減）を実現するような、変換後の検査画像のｘ軸方向への移動量及びｙ軸方向への移動量を算出する。これは、変換後の検査画像上でｘ軸方向の微分とｙ軸方向の微分とをそれぞれ求めることで実現できる。
【００６２】
次に、画像変換パラメータ学習部１０８は、様々な画素位置に対して算出され、且つ変換後の検査画像のｘ軸方向への移動量及びｙ軸方向への移動量を実現する、画像変換パラメータ算出用パラメータω１を最小二乗法により求める。画像変換部１０３の説明で述べたように、ｘ、ｙ軸方向への移動量（ｘ−ｘ’，ｙ―ｙ’）と、画像変換パラメータ算出用パラメータω１とは関係性を持っている。従って、容易に画像変換パラメータ算出用パラメータω１の更新量を算出することができる（下記の参照文献を参照）。また、画像変換パラメータ学習部１０８は、求めた画像変換パラメータ算出用パラメータω１を画像変換部１０３に渡し、そこで記憶させる
参照文献：Spatial Transformer Networks, Max jaderberg, Karen Simonyan, AndrewZisserman, Koray Kavakcouglu, 式(7),式(10)、https://arxiv.org/abs/1506.02025
【００６３】
［装置動作］
次に、本発明の実施の形態１における異常検知装置１００の動作について図７及び図８を用いて説明する。以下の説明においては、適宜図１〜図６を参酌する。また、本実施の形態１では、異常検知装置１００を動作させることによって、異常検知方法が実施される。よって、本実施の形態１における異常検知方法の説明は、以下の異常検知装置１００の動作説明に代える。
【００６４】
最初に、図７を用いて異常検知装置１００が学習モードで動作する場合について説明する。図７は、本発明の実施の形態１における異常検知装置の学習モードにおける動作を示すフロー図である。
【００６５】
図７に示すように、まず、検査画像入力部１０１が、学習用の検査画像を取得し、取得した検査画像を画像変換部１０３に入力する（ステップＳ７０１)。続いて、基準画像入力部１０２が、学習用の基準画像を取得し、取得した基準画像を画像変換部１０３に入力する（ステップＳ７０２)。
【００６６】
なお、学習モードにおいては、ステップＳ７０１で取得される検査画像と、ステップＳ７０２で取得される基準画像とは、特定の画像に限定される必要はなく、これらの画像として、様々な画像が用いられても良い。
【００６７】
次に、画像変換部１０３は、学習用の検査画像と、学習用の基準画像と、現在保持している変換パラメータ算出用パラメータとを用いて、変換パラメータを算出し、更に、算出した変換パラメータに基づいて学習用の検査画像に対して画像変換を実行する（ステップＳ７０３）。これにより、学習に用いられる変換後の検査画像が生成される。
【００６８】
続いて、画像変化検出部１０４は、現時点における変化検出パラメータを用いて、ステップＳ７０３で生成された変換後の検査画像と基準画像とを照合し、特定の領域毎（具体的には、画素毎）に異常確信度を算出する（ステップＳ７０４)。
【００６９】
次に、教師画像入力部１０５は、教師画像を取得し、取得した教師画像を変化検出パラメータ学習部１０６に入力する（ステップＳ７０５）。ステップＳ７０５において取得される教師画像は、学習用の検査画像と基準画像との組み合わせに対する、画素毎の理想的な異常確信度値の集合である。
【００７０】
次に、変化検出パラメータ学習部１０６は、ステップＳ７０４で算出された異常確信度と、ステップＳ７０５で取得された教師画像（理想的な異常確信度）との差分を求め、求めた差分に基づいて、変化検出パラメータを学習する（ステップＳ７０６）。
【００７１】
具体的には、変化検出パラメータ学習部１０６は、求めた差分の二乗和（二乗誤差）が、現状よりも小さくなるように、画像変化検出部１０４に記憶されている変化検出パラメータの更新量を算出し、算出した更新量を用いて、変化検出パラメータを更新する。
【００７２】
次に、修正量算出部１０７は、ステップＳ７０４で算出された異常確信度と、ステップＳ７０５で取得された教師画像（理想的な異常確信度）との差分を求める。次いで、修正量算出部１０７は、求めた差分の二乗和（二乗誤差）が現状よりも減少するように、画像変化検出部１０４に入力される画像変換後の学習用の検査画像について修正量（画素値の変化量）を算出する（ステップＳ７０７)。また、修正量算出部１０７は、算出した修正量を画像変換パラメータ学習部１０８へ出力する。
【００７３】
次に、画像変換パラメータ学習部１０８は、画像変換後の学習用の検査画像において各画素値に変化を発生させる、ｘ軸方向及びｙ軸方向への移動量を、画素毎に求める。そして、画像変換パラメータ学習部１０８は、求めた移動量が発生するように、画像変換部１０３に記憶されている画像変換パラメータ算出用パラメータω１を更新して、これを学習する（ステップＳ７０８)。
【００７４】
その後、画像変換パラメータ学習部１０８は、学習処理が終了したかどうかを判定する（ステップＳ７０９）。ステップＳ７０９の判定の結果、学習処理が終了していない場合は、再度ステップＳ７０１が実行される。一方、ステップＳ７０９の判定の結果、学習処理が終了している場合は、学習モードは終了する。
【００７５】
上述のステップＳ７０１からステップＳ７０８の処理は、一組の学習用の検査画像、基本画像、及び教師画像毎に実行されても良い。また、ミニバッチと呼ばれる手法に従って、まず、所定数の学習用の検査画像、基本画像、教師画像の組データについて、ステップＳ７０１からステップＳ７０４が実行されても良い。この場合、その後、各データ組に対する異常確信度と理想的な異常確信度との二乗誤差を累積した値が計算され、得られた乗誤差の累積値に基づいて、ステップＳ７０５からＳ７０８が一回実行されても良い。
【００７６】
また、上述のステップＳ７０１からステップＳ７０８の処理は、所定回数繰り返し実行されても良いし、誤差が閾値以下になるまで繰り返し実行されても良い。これらの処理が繰り返し実行された後、最終的に、画像変換部１０３に記憶される画像変換パラメータ算出用パラメータと、画像変化検出部１０４に記憶される変化検出パラメータとが、学習モードで出力される学習結果となる。
【００７７】
続いて、図８を用いて異常検知装置１００が異常検知モードで動作する場合について説明する。図８は、本発明の実施の形態１における異常検知装置の異常検知モードにおける動作を示すフロー図である。
【００７８】
異常検知モードは、検査画像入力部１０１、基準画像入力部１０２、画像変換部１０３、及び画像変化検出部１０４によって実行される。また、異常検知モードでは、学習モードで生成された変換パラメータ算出用パラメータ及び変化検出パラメータが用いられて、検査画像から異常個所が検出される。
【００７９】
図８に示すように、検査画像入力部１０１が、検査画像を取得し、取得した検査画像を画像変換部１０３に入力する（ステップＳ８０１)。続いて、基準画像入力部１０２が、基準画像を取得し、取得した基準画像を画像変換部１０３に入力する（ステップＳ８０２)。
【００８０】
次に、画像変換部１０３は、ステップＳ８０１で取得された検査画像と、ステップＳ８０２で取得された基準画像と、変換パラメータ算出用パラメータとを用いて、変換パラメータを算出する。そして、画像変換部１０３は、算出した変換パラメータに基づいて検査画像に対して画像変換を実行する（ステップＳ８０３）。これにより、変換後の検査画像が生成される。
【００８１】
次に、画像変化検出部１０４は、変化検出パラメータを用いて、ステップＳ８０３で生成された変換後の検査画像と、ステップＳ８０２で取得された基準画像とを照合し、特定の領域毎（具体的には、画素毎）に異常確信度を算出する（ステップＳ８０４)。また、画像変化検出部１０４は、算出した異常確信度を、表示装置等の画面上に表示させる。これにより、異常検知装置１００の利用者は、検査対象に異常が生じているかどうかを確認することができる。
【００８２】
その後、画像変化検出部１０４は、検知処理が終了したかどうかを判定する（ステップＳ８０５）。ステップＳ８０５の判定の結果、検知処理が終了していない場合は、再度ステップＳ８０１が実行される。一方、ステップＳ８０５の判定の結果、検知処理が終了している場合は、異常検知モードは終了する。
【００８３】
［実施の形態１における効果］
このように、本実施の形態１で述べた構成をとることによって、検査対象に生じた変化を敏感に検出することができる。なぜならば、画像変化検出部１０４の出力と教師画像との差が小さくなるように、前段の画像変換部１０３における変換パラメータ算出用パラメータが修正され、結果、変化検知に適した画像変換パラメータ算出用パラメータが学習されるためである。即ち、本実施の形態１によれば、変化検知に適した画像変換が実現されているからである。
【００８４】
また、上述した例では、画素毎又は小領域毎に異常確信度が１つ定義されているとして説明されているが、本実施の形態１では、上述の異常確信度に代えて、異常の種類を示すラベル毎に定義された異常確信度が用いられても良い。例えば、正常と異常との２種類のラベルを想定すると、画素毎又は小領域毎に２つの確信度を定義し、正常であれば正常ラベルに対する確信度を１、異常ラベルに対する異常確信度を０とする。そして、異常であれば正常ラベルに対する確信度を０、異常ラベルに対する異常確信度を１としても良い。また、正常、異常、考慮外といった３種類のラベルが想定されていても良い。
【００８５】
［プログラム］
本実施の形態１におけるプログラムは、コンピュータに、図７に示すステップＳ７０１〜Ｓ７０９、及び図８に示すステップＳ８０１〜Ｓ８０５を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態１における異常検知装置１００と異常検知方法とを実現することができる。この場合、コンピュータのプロセッサは、検査画像入力部１０１、基準画像入力部１０２、画像変換部１０３、画像変化検出部１０４、教師画像入力部１０５、変化検出パラメータ学習部１０６、修正量算出部１０７及び画像変換パラメータ学習部１０８として機能し、処理を行なう。
【００８６】
また、本実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、検査画像入力部１０１、基準画像入力部１０２、画像変換部１０３、画像変化検出部１０４、教師画像入力部１０５、変化検出パラメータ学習部１０６、修正量算出部１０７及び画像変換パラメータ学習部１０８のいずれかとして機能しても良い。
【００８７】
（実施の形態２）
次に、本発明の実施の形態２における異常検知装置、異常検知方法、及びプログラムについて、図９〜図１０を参照しながら説明する。
【００８８】
［装置構成］
最初に、本実施の形態２における異常検知装置の構成について図９を用いて説明する。図９は、本発明の実施の形態１における異常検知装置の具体的構成を示すブロック図である。
【００８９】
上述した実施の形態１では、学習のための教師画像として、基準画像の座標系における異常領域の正解値を示すラベル画像のみが用いられているが、これに対して、本実施の形態２においては、更に、理想的な変換後の検査画像も用いられる。
【００９０】
このため、図９に示すように、本実施の形態２における異常検知装置２００は、理想的変換後検査画像入力部２０１を備えている。理想的変換後検査画像入力部２０１は、学習用の検査画像と基準画像との組に対応する、理想的な変換が行われた場合の検査画像（以下「理想的変換後検査画像」と表記する）を取得し、これを、画像変換パラメータ学習部１０８に入力する。
【００９１】
また、「理想的変換後検査画像」とは、検査対象の位置及び向きが、基準画像における検査対象の位置及び向きと一致するように予め画像変換された、検査画像である。
【００９２】
更に、本実施の形態２では、上述の構成により、画像変換パラメータ学習部１０８の機能と、学習モードでの動作とが、実施の形態１と異なっている。なお、これら以外については、実施の形態２は、実施の形態１と同様である。以下、実施の形態１との相違点を中心に詳しく説明する。
【００９３】
画像変換パラメータ学習部１０８は、本実施の形態２では、学習モードを第１のステップと第２のステップとの２つのステップに分けて実行する。画像変換パラメータ学習部１０８は、学習モードの第２ステップにおいては、実施の形態１で述べた処理を実行する。
【００９４】
一方、学習モードの第１のステップでは、画像変換パラメータ学習部１０８は、まず、画像変換部１０３が出力する変換後の検査画像と理想的変換後検査画像入力部２０１から入力された理想的変換後検査画像との差分を求める。次いで、画像変換パラメータ学習部１０８は、求めた差分に基づいて画像変換パラメータを求める。
【００９５】
その後、画像変換パラメータ学習部１０８は、求めた画像変換パラメータを得ることが可能な画像変換パラメータ算出用パラメータを求め、求めた画像変換パラメータ算出用パラメータを画像変換部１０３に記憶させる。
【００９６】
また、本実施の形態２では、理想的変換後検査画像入力部２０１は、理想的変換後検査画像と基準画像との間における対応点毎（例えば、対応する画素毎）に、基準画像から理想的変換後検査画像までのｘ軸及びｙ軸における移動量を求めることができる。なお、この移動量を第１の移動量と表記する。
【００９７】
更に、本実施の形態２では、画像変換部１０３は、学習モードにおいて、画像変換後の検査画像と基準画像との間における対応点毎（例えば、対応する画素毎）に、基準画像から画像変換後の検査画像までの移動量を求めることができる。なお、この移動量を第２の移動量と表記する。
【００９８】
この場合、画像変換パラメータ学習部１０８は、共通の対応点毎（画素毎）に、第１の移動量と第２の移動量との差分を求め、更に、求めた各差分の総和（重み付け和）が減少するように画像変換パラメータ算出用パラメータを更新する。
【００９９】
［装置動作］
次に、本発明の実施の形態２における異常検知装置２００の動作について図１０を用いて説明する。以下の説明においては、適宜図９を参酌する。また、本実施の形態２では、異常検知装置２００を動作させることによって、異常検知方法が実施される。よって、本実施の形態２における異常検知方法の説明は、以下の異常検知装置２００の動作説明に代える。
【０１００】
また、本実施の形態２において、異常検知モードでの処理は、実施の形態１と同様である。このため、以下においては、学習モードについて図１０を参照しつつ説明する。図１０は、本発明の実施の形態２における異常検知装置の学習モードにおける動作を示すフロー図である。
【０１０１】
図１０に示すように、まず、学習モードの第１ステップの実行のため、検査画像入力部１０１が、学習用の検査画像を取得し、取得した検査画像を画像変換部１０３に入力する（ステップＳ９０１)。続いて、基準画像入力部１０２が、学習用の基準画像を取得し、取得した基準画像を画像変換部１０３に入力する（ステップＳ９０２)。
【０１０２】
次に、理想的変換後検査画像入力部２０１は、理想的変換後検査画像を取得し、取得した理想的変換後検査画像を画像変換パラメータ学習部１０８に入力する（ステップＳ９０３）。また、ステップＳ９０３では、理想的変換後検査画像入力部２０１は、理想的変換後検査画像を構成する画素毎に、それに対応する基準画像の画素のｘ座標及びｙ座標を読み込み、基準画像から理想的な変換後の検査画像までの第１の移動量を算出する。
【０１０３】
次に、画像変換部１０３は、学習用の検査画像と、学習用の基準画像と、現在保持している変換パラメータ算出用パラメータとを用いて、変換パラメータを算出し、更に、算出した変換パラメータに基づいて学習用の検査画像に対して画像変換を実行する（ステップＳ９０４）。また、ステップＳ９０４では、画像変換部１０３は、変換後の検査画像の画素毎に、基準画像から変換後の検査画像までの第２の移動量を算出する。
【０１０４】
次に、画像変換パラメータ学習部１０８は、ステップＳ９０３で取得された理想的変換後検査画像と、ステップＳ９０４で生成された画像変換後の検査画像との差分を求め、求めた差分が減少するように、画像変換パラメータ算出用パラメータを更新する（ステップＳ９０５）。
【０１０５】
具体的には、ステップＳ９０４では、画像変換パラメータ学習部１０８は、画素毎に、第１の移動量と第２の移動量との差分を求め、求めが差分の総和が小さくなるように、誤差逆伝播法等を用いて画像変換パラメータを算出し、算出した画像変換パラメータが得られるように、画像変換パラメータ算出用パラメータを更新する。この後、再度画像変換部１０３は、更新された画像変換パラメータ算出用パラメータを記憶する。
【０１０６】
次に、画像変換パラメータ学習部１０８は、終了条件が満たされているかどうかを判定する（ステップＳ９０６）。なお、この場合の終了条件としては、ステップＳ９０１〜ステップＳ９０５が所定回数実行されていること、全学習パターンに対する誤差（差分）の合計が所定の閾値以下になっていること、等が挙げられる。
【０１０７】
ステップＳ９０５の判定の結果、終了条件が満たされていない場合は、再度ステップＳ９０１が実行される。一方、ステップＳ９０５の判定の結果、終了条件が満たされている場合は、処理は終了する。その後、異常検知装置２００においては、学習モードの第２ステップとして、実施の形態１において図７に示したステップＳ７０１からステップＳ７０８が実行される。
【０１０８】
［実施の形態２における効果］
このように、本実施の形態２で述べた構成によれば、実施の形態１に比べ、学習モードの第１ステップにおいて画像変換パラメータの学習を積極的に進めることができ、画像変換パラメータをより高速に学習することができる。加えて、比較的良好に検査画像と基準画像との位置合わせが行われた後に、学習モードの第２ステップにおいて、変化検出パラメータの学習と画像変換パラメータの画像変化検知への適応学習とが行われる。このため、本実施の形態２によれば、後半の学習にかかる時間を短縮化でき、学習処理を高速化することが可能となる。
【０１０９】
［変形例１］
本実施の形態２では、学習モードを２段階のステップに分けない態様であっても良い。この態様では、学習モードは、実施の形態１において図７に示した態様と同様に、End-to-Endで学習が行われる。また、この場合、差分としては、下記の（ａ）及び（ｂ）の２種類が算出可能となる。
【０１１０】
（ａ）画像変換部１０３が出力する画像変換後の検査画像の画素毎のｘ座標及びｙ座標と、理想的変換後検査画像の画素毎のｘ座標及びｙ座標の正解値との差分の総和。
（ｂ）画像変化検出部１０４が算出する異常確信度と、教師画像として入力される理想的な異常確信度との二乗誤差の総和
【０１１１】
このため、本実施の形態２では、差分の総和（ａ）及び（ｂ）に重み付けを行い、重み付け後の各差分の総和の合計値を減少させるように、変化検出パラメータ学習部１０６および画像変換パラメータ学習部１０８の双方がパラメータを修正する態様であっても良い。
【０１１２】
［変形例２］
また、本実施の形態２では、異常検知モードとして、２種類の方式が考えられる。１つの方式は、学習モード時においてのみ、理想的変換後検査画像入力部２０１を動作させ、異常検知モード時においては、理想的変換後検査画像入力部２０１からの入力を行わない方式である。この方式によれば、検査画像と基準画像とを入力すれば、異常を検知することが可能となる。
【０１１３】
もう１つの方式は、異常検知モード時においても、学習モード時と同様に、理想的変換後検査画像入力部２０１からの理想的変換後検査画像が、画像変換部１０３及び画像変化検出部１０４の演算に利用される方式である。この方式によれば、学習モードの第１ステップと同じ要領で、画像変換部１０３にて、より適切な画像変換を行うことができるので、更に確実に異常を検知しやすくなる。
【０１１４】
［変形例３］
上述した例では、理想的変換後検査画像として、検査対象の画素位置が基準画像における検査対象の画素位置に変換された検査画像が用いられている。但し、本実施の形態２では、理想的変換後検査画像として、理想的変換後検査画像における検査画像との各対応点（点対）におけるｘ座標及びｙ座標が用いられていても良い。
【０１１５】
また、この場合、画像変換パラメータ学習部１０８は、画像変換パラメータ算出部６０１が出力する画像変換パラメータに基づく画素の移動量と、各対応点のｘ座標及びｙ座標から算出される対応点における移動量との差分を求める。そして、画像変換パラメータ学習部１０８は、求めた対応点毎の差分の総和が小さくなるように、画像変換パラメータ算出用パラメータを更新し、学習を行う。
【０１１６】
また、理想的変換後検査画像として、理想的変換後検査画像における検査画像との各対応点（点対）におけるｘ座標及びｙ座標が用いられる場合、画像変換部１０３と画像変換パラメータ学習部１０８の機能は、以下の通りとなる。
【０１１７】
画像変換部１０３において、画像変換パラメータ算出部６０１は、検査画像および基準画像それぞれから、予め定めた個数の特徴点のｘ座標及びｙ座標を算出する。このとき、特徴点は対応するもの同士が対になって抽出される。
【０１１８】
また、特徴点のｘ座標及びｙ座標を算出するための演算では、ｘ軸方向及びｙ軸方向への移動について偏微分可能であるとする。変換後検査画像生成部６０２は、対になった特徴点の情報に基づいて、Thin Plate Spline法などの制御点ベースの非線形画像変換アルゴリズムを用いて、検査画像に対して画像変換を行い、画像変換後の検査画像を出力する。
【０１１９】
画像変換パラメータ学習部１０８は、学習の第１ステップでは、理想的変換後検査画像入力部２０１から入力された対応点対のｘ座標及びｙ座標それぞれを出力するように、画像変換パラメータ算出用パラメータを更新し、学習を行う。
【０１２０】
また、画像変換パラメータ学習部１０８は、学習の第２のステップでは、上記の変形例１と同様に、差分の総和（ａ）及び（ｂ）に重み付けを行い、重み付け後の各差分の総和の合計値が減少するように、変化検出パラメータ学習部１０６および画像変換パラメータ学習部１０８の双方にパラメータを修正させる
【０１２１】
［プログラム］
本実施の形態２におけるプログラムは、コンピュータに、図１０に示すステップＳ９０１〜Ｓ９０６、及び図８に示すステップＳ８０１〜Ｓ８０５を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態２における異常検知装置２００と異常検知方法とを実現することができる。この場合、コンピュータのプロセッサは、検査画像入力部１０１、基準画像入力部１０２、画像変換部１０３、画像変化検出部１０４、教師画像入力部１０５、変化検出パラメータ学習部１０６、修正量算出部１０７、画像変換パラメータ学習部１０８及び理想的変換後検査画像入力部２０１として機能し、処理を行なう。
【０１２２】
また、本実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、検査画像入力部１０１、基準画像入力部１０２、画像変換部１０３、画像変化検出部１０４、教師画像入力部１０５、変化検出パラメータ学習部１０６、修正量算出部１０７、画像変換パラメータ学習部１０８及び及び理想的変換後検査画像入力部２０１のいずれかとして機能しても良い。
【０１２３】
（物理構成）
ここで、実施の形態１及び２におけるプログラムを実行することによって、異常検知装置を実現するコンピュータについて図１１を用いて説明する。図１１は、本発明の実施の形態１及び２における異常検知装置を実現するコンピュータの一例を示すブロック図である。
【０１２４】
図１１に示すように、コンピュータ１１０は、ＣＰＵ１１１と、メインメモリ１１２と、記憶装置１１３と、入力インターフェイス１１４と、表示コントローラ１１５と、データリーダ／ライタ１１６と、通信インターフェイス１１７とを備える。これらの各部は、バス１２１を介して、互いにデータ通信可能に接続される。
【０１２５】
ＣＰＵ１１１は、記憶装置１１３に格納された、本実施の形態におけるプログラム（コード）をメインメモリ１１２に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ１１２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体１２０に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス１１７を介して接続されたインターネット上で流通するものであっても良い。
【０１２６】
また、記憶装置１１３の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス１１４は、ＣＰＵ１１１と、キーボード及びマウスといった入力機器１１８との間のデータ伝送を仲介する。表示コントローラ１１５は、ディスプレイ装置１１９と接続され、ディスプレイ装置１１９での表示を制御する。
【０１２７】
データリーダ／ライタ１１６は、ＣＰＵ１１１と記録媒体１２０との間のデータ伝送を仲介し、記録媒体１２０からのプログラムの読み出し、及びコンピュータ１１０における処理結果の記録媒体１２０への書き込みを実行する。通信インターフェイス１１７は、ＣＰＵ１１１と、他のコンピュータとの間のデータ伝送を仲介する。
【０１２８】
また、記録媒体１２０の具体例としては、ＣＦ（Compact Flash（登録商標））及びＳＤ（Secure Digital）等の汎用的な半導体記憶デバイス、フレキシブルディスク（Flexible Disk）等の磁気記録媒体、又はＣＤ−ＲＯＭ（Compact DiskRead Only Memory）などの光学記録媒体が挙げられる。
【０１２９】
なお、実施の形態１及び２における異常検知装置は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、異常検知装置は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【０１３０】
上述した実施の形態の一部又は全部は、以下に記載する（付記１）〜（付記１２）によって表現することができるが、以下の記載に限定されるものではない。
【０１３１】
（付記１）
検査対象が写っている検査画像と、前記検査対象が正常な状態を示す基準画像とを用いて、前記検査対象の異常を検知するための装置であって、
前記検査画像、前記基準画像、及び画像変換パラメータ算出用パラメータに基づいて、画像変換パラメータを算出し、算出した前記画像変換パラメータを用いて、前記検査画像中の前記検査対象が、前記基準画像中の前記検査対象に重なるように、前記検査画像を画像変換する、画像変換部と、
前記基準画像と画像変換された前記検査画像とを、変化検出パラメータを用いて照合して、前記検査画像の特定の領域における変化の有無を示す異常確信度を算出する、画像変化検出部と、
前記特定の領域における変化の正解値を示す教師画像と、前記画像変化検出部が算出した前記異常確信度との差分に基づいて、前記変化検出パラメータを学習する、変化検出パラメータ学習部と、
前記教師画像と前記画像変化検出部が算出した前記異常確信度との差分から求められた、画像変換された前記検査画像に与えるべき修正量に基づいて、前記画像変換パラメータ算出用パラメータを学習する、画像変換パラメータ学習部と、
を備えていることを特徴とする異常検知装置。
【０１３２】
（付記２）
前記変化パラメータ学習部が、前記教師画像と前記異常確信度との差分を求め、求めた前記差分が減少するように前記変化検出パラメータの値を更新することによって、変化検出パラメータを学習し、
当該異常検知装置が、前記教師画像と前記画像変化検出部が算出した前記異常確信度との差分が減少するように、画像変換された前記検査画像に与えるべき修正量を算出する、修正量算出部を更に備え、
前記画像変換パラメータ学習部が、前記修正量算出部が算出した前記修正量を生じさせる画像変換が行われるように、前記画像変換パラメータ算出用パラメータを更新することによって、前記画像変換パラメータ算出用パラメータを学習する、
付記１に記載の異常検知装置。
【０１３３】
（付記３）
予め作成されている、理想的な前記画像変換が行われた場合の検査画像を前記画像変換パラメータに入力する、入力部を更に備え、
前記画像変換パラメータ学習部が、前記理想的な前記画像変換が行われた場合の検査画像と、前記画像変換部によって画像変換された前記検査画像との差分を求め、求めた差分が減少するように、前記画像変換パラメータ算出用パラメータを更新する、
付記２に記載の異常検知装置。
【０１３４】
（付記４）
前記入力部が、前記理想的な前記画像変換が行われた場合の検査画像と前記基準画像との間における対応点毎に、前記基準画像から前記理想的な前記画像変換が行われた場合の検査画像までの第１の移動量を求め、
前記画像変換部が、画像変換後の前記検査画像と前記基準画像との間における対応点毎に、前記基準画像から画像変換後の前記検査画像までの第２の移動量を求め、
前記画像変換パラメータ学習部が、共通の対応点毎に、前記第１の移動量と前記第２の移動量との差分を求め、更に、求めた各差分の総和が減少するように前記画像変換パラメータ算出用パラメータを更新する、
付記３に記載の異常検知装置。
【０１３５】
（付記５）
検査対象が写っている検査画像と、前記検査対象が正常な状態を示す基準画像とを用いて、前記検査対象の異常を検知するための方法であって、
（ａ）前記検査画像、前記基準画像、及び画像変換パラメータ算出用パラメータに基づいて、画像変換パラメータを算出し、算出した前記画像変換パラメータを用いて、前記検査画像中の前記検査対象が、前記基準画像中の前記検査対象に重なるように、前記検査画像を画像変換する、ステップと、
（ｂ）前記基準画像と画像変換された前記検査画像とを、変化検出パラメータを用いて照合して、前記検査画像の特定の領域における変化の有無を示す異常確信度を算出する、ステップと、
（ｃ）前記特定の領域における変化の正解値を示す教師画像と、前記画像変化検出部が算出した前記異常確信度との差分に基づいて、前記変化検出パラメータを学習する、ステップと、
（ｄ）前記教師画像と前記（ｂ）のステップで算出した前記異常確信度との差分から求められた、画像変換された前記検査画像に与えるべき修正量に基づいて、前記画像変換パラメータ算出用パラメータを学習する、ステップと、
を有することを特徴とする異常検知方法。
【０１３６】
（付記６）
前記（ｃ）のステップにおいて、前記教師画像と前記異常確信度との差分を求め、求めた前記差分が減少するように前記変化検出パラメータの値を更新することによって、変化検出パラメータを学習し、
当該異常検知方法が、（ｅ）前記教師画像と前記（ｂ）のステップで算出した前記異常確信度との差分が減少するように、画像変換された前記検査画像に与えるべき修正量を算出する、ステップを更に有し、
前記（ｄ）のステップにおいて、前記（ｅ）のステップで算出した前記修正量を生じさせる画像変換が行われるように、前記画像変換パラメータ算出用パラメータを更新することによって、前記画像変換パラメータ算出用パラメータを学習する、
付記５に記載の異常検知方法。
【０１３７】
（付記７）
（ｆ）予め作成されている、理想的な前記画像変換が行われた場合の検査画像を前記画像変換パラメータに入力する、ステップと、
（ｇ）前記理想的な前記画像変換が行われた場合の検査画像と、前記（ａ）のステップによって画像変換された前記検査画像との差分を求め、求めた差分が減少するように、前記画像変換パラメータ算出用パラメータを更新する、ステップと、
を更に有する、
付記６に記載の異常検知方法。
【０１３８】
（付記８）
（ｈ）前記理想的な前記画像変換が行われた場合の検査画像と前記基準画像との間における対応点毎に、前記基準画像から前記理想的な前記画像変換が行われた場合の検査画像までの第１の移動量を求める、ステップと、
（ｉ）画像変換後の前記検査画像と前記基準画像との間における対応点毎に、前記基準画像から画像変換後の前記検査画像までの第２の移動量を求める、ステップと、を更に有し、
前記（ｇ）のステップにおいて、共通の対応点毎に、前記第１の移動量と前記第２の移動量との差分を求め、更に、求めた各差分の総和が減少するように前記画像変換パラメータ算出用パラメータを更新する、
付記７に記載の異常検知方法。
【０１３９】
（付記９）
コンピュータによって、検査対象が写っている検査画像と、前記検査対象が正常な状態を示す基準画像とを用いて、前記検査対象の異常を検知するためのプログラムを記録した、コンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、
（ａ）前記検査画像、前記基準画像、及び画像変換パラメータ算出用パラメータに基づいて、画像変換パラメータを算出し、算出した前記画像変換パラメータを用いて、前記検査画像中の前記検査対象が、前記基準画像中の前記検査対象に重なるように、前記検査画像を画像変換する、ステップと、
（ｂ）前記基準画像と画像変換された前記検査画像とを、変化検出パラメータを用いて照合して、前記検査画像の特定の領域における変化の有無を示す異常確信度を算出する、ステップと、
（ｃ）前記特定の領域における変化の正解値を示す教師画像と、前記画像変化検出部が算出した前記異常確信度との差分に基づいて、前記変化検出パラメータを学習する、ステップと、
（ｄ）前記教師画像と前記（ｂ）のステップで算出した前記異常確信度との差分から求められた、画像変換された前記検査画像に与えるべき修正量に基づいて、前記画像変換パラメータ算出用パラメータを学習する、ステップと、
を実行させる、命令を含むプログラムを記録している、ことを特徴とするコンピュータ読み取り可能な記録媒体。
【０１４０】
（付記１０）
前記（ｃ）のステップにおいて、前記教師画像と前記異常確信度との差分を求め、求めた前記差分が減少するように前記変化検出パラメータの値を更新することによって、変化検出パラメータを学習し、
前記プログラムが、前記コンピュータに、（ｅ）前記教師画像と前記（ｂ）のステップで算出した前記異常確信度との差分が減少するように、画像変換された前記検査画像に与えるべき修正量を算出する、ステップを更に実行させる命令を含み、
前記（ｄ）のステップにおいて、前記（ｅ）のステップで算出した前記修正量を生じさせる画像変換が行われるように、前記画像変換パラメータ算出用パラメータを更新することによって、前記画像変換パラメータ算出用パラメータを学習する、
付記９に記載のコンピュータ読み取り可能な記録媒体。
【０１４１】
（付記１１）
前記プログラムが、前記コンピュータに、
（ｆ）予め作成されている、理想的な前記画像変換が行われた場合の検査画像を前記画像変換パラメータに入力する、ステップと、
（ｇ）前記理想的な前記画像変換が行われた場合の検査画像と、前記（ａ）のステップによって画像変換された前記検査画像との差分を求め、求めた差分が減少するように、前記画像変換パラメータ算出用パラメータを更新する、ステップと、
を更に実行させる命令を含む、
付記１０に記載のコンピュータ読み取り可能な記録媒体。
【０１４２】
（付記１２）
前記プログラムが、前記コンピュータに、
（ｈ）前記理想的な前記画像変換が行われた場合の検査画像と前記基準画像との間における対応点毎に、前記基準画像から前記理想的な前記画像変換が行われた場合の検査画像までの第１の移動量を求める、ステップと、
（ｉ）画像変換後の前記検査画像と前記基準画像との間における対応点毎に、前記基準画像から画像変換後の前記検査画像までの第２の移動量を求める、ステップと、を更に実行させる命令を含み、
前記（ｇ）のステップにおいて、共通の対応点毎に、前記第１の移動量と前記第２の移動量との差分を求め、更に、求めた各差分の総和が減少するように前記画像変換パラメータ算出用パラメータを更新する、
付記１１に記載のコンピュータ読み取り可能な記録媒体。
【０１４３】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用可能性】
【０１４４】
以上のように本発明によれば、異常検知に適した画像変換のためのパラメータと、画像変換が施された画像の異常又は正常を識別するためのパラメータとを、同時に最適化することで、高精度な異常検知が可能となる。本発明は、画像による異常検知が求められている分野、例えば、品質管理の分野に有用である。
【符号の説明】
【０１４５】
１００  異常検知装置
１０１    検査画像入力部
１０２    基準画像入力部
１０３    画像変換部
１０４    画像変化検出部
１０５    教師画像入力部
１０６    変化検出パラメータ学習部
１０７    修正量算出部
１０８    画像変換パラメータ学習部
１１０  コンピュータ
１１１  ＣＰＵ
１１２  メインメモリ
１１３  記憶装置
１１４  入力インターフェイス
１１５  表示コントローラ
１１６  データリーダ／ライタ
１１７  通信インターフェイス
１１８  入力機器
１１９  ディスプレイ装置
１２０  記録媒体
１２１  バス
２００  異常検知装置（実施の形態２）
２０１  理想的変換後検査画像入力部
３０１  部品
３０２  傷
５０１  異常が生じた部分
６０１  画像変換パラメータ算出部
６０２  変換後検査画像生成部
【図１】
2019064599.tif 000008
【図２】
2019064599.tif 000009
【図３】
2019064599.tif 000010
【図４】
2019064599.tif 000011
【図５】
2019064599.tif 000012
【図６】
2019064599.tif 000013
【図７】
2019064599.tif 000014
【図８】
2019064599.tif 000015
【図９】
2019064599.tif 000016
【図１０】
2019064599.tif 000017
【図１１】
2019064599.tif 000018
【手続補正書】
【提出日】令和2年3月26日(2020.3.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
検査対象が写っている検査画像と、前記検査対象が正常な状態を示す基準画像とを用いて、前記検査対象の異常を検知するための装置であって、
前記検査画像、前記基準画像、及び画像変換パラメータ算出用パラメータに基づいて、画像変換パラメータを算出し、算出した前記画像変換パラメータを用いて、前記検査画像中の前記検査対象が、前記基準画像中の前記検査対象に重なるように、前記検査画像を画像変換する、画像変換部と、
前記基準画像と画像変換された前記検査画像とを、変化検出パラメータを用いて照合して、前記検査画像の特定の領域における変化の有無を示す異常確信度を算出する、画像変化検出部と、
前記特定の領域における変化の正解値を示す教師画像と、前記画像変化検出部が算出した前記異常確信度との差分に基づいて、前記変化検出パラメータを学習する、変化検出パラメータ学習部と、
前記教師画像と前記画像変化検出部が算出した前記異常確信度との差分から求められた、画像変換された前記検査画像に与えるべき修正量に基づいて、前記画像変換パラメータ算出用パラメータを学習する、画像変換パラメータ学習部と、
を備えていることを特徴とする異常検知装置。
【請求項２】
前記変化検出パラメータ学習部が、前記教師画像と前記異常確信度との差分を求め、求めた前記差分が減少するように前記変化検出パラメータの値を更新することによって、変化検出パラメータを学習し、
当該異常検知装置が、前記教師画像と前記画像変化検出部が算出した前記異常確信度との差分が減少するように、画像変換された前記検査画像に与えるべき修正量を算出する、修正量算出部を更に備え、
前記画像変換パラメータ学習部が、前記修正量算出部が算出した前記修正量を生じさせる画像変換が行われるように、前記画像変換パラメータ算出用パラメータを更新することによって、前記画像変換パラメータ算出用パラメータを学習する、
請求項１に記載の異常検知装置。
【請求項３】
予め作成されている、理想的な前記画像変換が行われた場合の検査画像を前記画像変換パラメータ学習部に入力する、入力部を更に備え、
前記画像変換パラメータ学習部が、前記理想的な前記画像変換が行われた場合の検査画像と、前記画像変換部によって画像変換された前記検査画像との差分を求め、求めた差分が減少するように、前記画像変換パラメータ算出用パラメータを更新する、
請求項２に記載の異常検知装置。
【請求項４】
前記入力部が、前記理想的な前記画像変換が行われた場合の検査画像と前記基準画像との間における対応点毎に、前記基準画像から前記理想的な前記画像変換が行われた場合の検査画像までの第１の移動量を求め、
前記画像変換部が、画像変換後の前記検査画像と前記基準画像との間における対応点毎に、前記基準画像から画像変換後の前記検査画像までの第２の移動量を求め、
前記画像変換パラメータ学習部が、共通の対応点毎に、前記第１の移動量と前記第２の移動量との差分を求め、更に、求めた各差分の総和が減少するように前記画像変換パラメータ算出用パラメータを更新する、
請求項３に記載の異常検知装置。
【請求項５】
検査対象が写っている検査画像と、前記検査対象が正常な状態を示す基準画像とを用いて、前記検査対象の異常を検知するための方法であって、
（ａ）前記検査画像、前記基準画像、及び画像変換パラメータ算出用パラメータに基づいて、画像変換パラメータを算出し、算出した前記画像変換パラメータを用いて、前記検査画像中の前記検査対象が、前記基準画像中の前記検査対象に重なるように、前記検査画像を画像変換する、ステップと、
（ｂ）前記基準画像と画像変換された前記検査画像とを、変化検出パラメータを用いて照合して、前記検査画像の特定の領域における変化の有無を示す異常確信度を算出する、ステップと、
（ｃ）前記特定の領域における変化の正解値を示す教師画像と、前記（ｂ）のステップで算出した前記異常確信度との差分に基づいて、前記変化検出パラメータを学習する、ステップと、
（ｄ）前記教師画像と前記（ｂ）のステップで算出した前記異常確信度との差分から求められた、画像変換された前記検査画像に与えるべき修正量に基づいて、前記画像変換パラメータ算出用パラメータを学習する、ステップと、
を有することを特徴とする異常検知方法。
【請求項６】
コンピュータによって、検査対象が写っている検査画像と、前記検査対象が正常な状態を示す基準画像とを用いて、前記検査対象の異常を検知するためのプログラムであって、
前記コンピュータに、
（ａ）前記検査画像、前記基準画像、及び画像変換パラメータ算出用パラメータに基づいて、画像変換パラメータを算出し、算出した前記画像変換パラメータを用いて、前記検査画像中の前記検査対象が、前記基準画像中の前記検査対象に重なるように、前記検査画像を画像変換する、ステップと、
（ｂ）前記基準画像と画像変換された前記検査画像とを、変化検出パラメータを用いて照合して、前記検査画像の特定の領域における変化の有無を示す異常確信度を算出する、ステップと、
（ｃ）前記特定の領域における変化の正解値を示す教師画像と、前記（ｂ）のステップで算出した前記異常確信度との差分に基づいて、前記変化検出パラメータを学習する、ステップと、
（ｄ）前記教師画像と前記（ｂ）のステップで算出した前記異常確信度との差分から求められた、画像変換された前記検査画像に与えるべき修正量に基づいて、前記画像変換パラメータ算出用パラメータを学習する、ステップと、
を実行させる、プログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、対象物が撮影されている基準画像と検査画像とを照合して、対象物の異常を検知するための、異常検知装置、及び異常検知方法に関し、更には、これらを実現するためのプログラムに関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
一方、エッジに基づく位置合わせでは、連立方程式を解くような解法では変換パラメータを求めることができない。よって、エッジに基づく位置合わせでは、特許文献２の段落［００１８］に記載されているように、一方の画像から抽出したエッジ画像を実際に変形して他方のエッジ画像に重ね、エッジ画像間の差分が小さくなる変換パラメータを試行錯誤的に求める必要がある。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
これに対して、非特許文献２は、基準画像の画像特徴量と検査画像の画像特徴量との差分が小さくなるような位置変換を求め、求めた位置変換に基づいて、各画像の座標系を共通座標系に変換する、画像変換方法を開示している。また、非特許文献２に開示された画像変換方法では、特徴点又はエッジに限定せず、画像認識に有効なさまざまな特徴量を事前に学習し、学習した特徴量を用いて、座標系を変換することができる。このため、非特許文献２に開示された手法では、特徴点及びエッジなどの画像認識に有効なさまざまな特徴を併用した位置合わせを行える可能性がある。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
本発明の目的の一例は、上記問題を解消し、異常検知に適した画像変換のためのパラメータと、画像変換が施された画像の異常又は正常を識別するためのパラメータとを、同時に最適化することで、高精度な異常検知を可能にし得る、異常検知装置、異常検知方法、及びプログラムを提供することにある。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
また、上記目的を達成するため、本発明の一側面における異常検知方法は、検査対象が写っている検査画像と、前記検査対象が正常な状態を示す基準画像とを用いて、前記検査対象の異常を検知するための方法であって、
（ａ）前記検査画像、前記基準画像、及び画像変換パラメータ算出用パラメータに基づいて、画像変換パラメータを算出し、算出した前記画像変換パラメータを用いて、前記検査画像中の前記検査対象が、前記基準画像中の前記検査対象に重なるように、前記検査画像を画像変換する、ステップと、
（ｂ）前記基準画像と画像変換された前記検査画像とを、変化検出パラメータを用いて照合して、前記検査画像の特定の領域における変化の有無を示す異常確信度を算出する、ステップと、
（ｃ）前記特定の領域における変化の正解値を示す教師画像と、前記（ｂ）のステップで算出した前記異常確信度との差分に基づいて、前記変化検出パラメータを学習する、ステップと、
（ｄ）前記教師画像と前記（ｂ）のステップで算出した前記異常確信度との差分から求められた、画像変換された前記検査画像に与えるべき修正量に基づいて、前記画像変換パラメータ算出用パラメータを学習する、ステップと、
を有することを特徴とする。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、コンピュータによって、検査対象が写っている検査画像と、前記検査対象が正常な状態を示す基準画像とを用いて、前記検査対象の異常を検知するためのプログラムであって、
前記コンピュータに、
（ａ）前記検査画像、前記基準画像、及び画像変換パラメータ算出用パラメータに基づいて、画像変換パラメータを算出し、算出した前記画像変換パラメータを用いて、前記検査画像中の前記検査対象が、前記基準画像中の前記検査対象に重なるように、前記検査画像を画像変換する、ステップと、
（ｂ）前記基準画像と画像変換された前記検査画像とを、変化検出パラメータを用いて照合して、前記検査画像の特定の領域における変化の有無を示す異常確信度を算出する、ステップと、
（ｃ）前記特定の領域における変化の正解値を示す教師画像と、前記（ｂ）のステップで算出した前記異常確信度との差分に基づいて、前記変化検出パラメータを学習する、ステップと、
（ｄ）前記教師画像と前記（ｂ）のステップで算出した前記異常確信度との差分から求められた、画像変換された前記検査画像に与えるべき修正量に基づいて、前記画像変換パラメータ算出用パラメータを学習する、ステップと、
を実行させる、プログラム。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】変更
【補正の内容】
【００２２】
【図１】図１は、本発明の実施の形態１における異常検知装置の概略構成を示すブロック図である。
【図２】図２は、本発明の実施の形態１における異常検知装置の具体的構成を示すブロック図である。
【図３】図３は、本発明の実施の形態で用いられる検査画像の一例を示す図である。
【図４】図４は、本発明の実施の形態で用いられる基準画像の一例を示す図である。
【図５】図５は、本発明の実施の形態において画像変換された検査画像と基準画像との一例を示す図である。
【図６】図６は、本発明の実施の形態で得られる異常確信度画像の一例を示す図である。
【図７】図７は、本発明の実施の形態１における異常検知装置の学習モードにおける動作を示すフロー図である。
【図８】図８は、本発明の実施の形態１における異常検知装置の異常検知モードにおける動作を示すフロー図である。
【図９】図９は、本発明の実施の形態２における異常検知装置の具体的構成を示すブロック図である。
【図１０】図１０は、本発明の実施の形態２における異常検知装置の学習モードにおける動作を示すフロー図である。
【図１１】図１１は、本発明の実施の形態１及び２における異常検知装置を実現するコンピュータの一例を示すブロック図である。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００３６
【補正方法】変更
【補正の内容】
【００３６】
また、図３及び図４に示すように、基準画像に写っている検査対象と、検査画像に写っている検査対象とは、それぞれの撮影時のカメラとの相対位置関係の違いにより、画像中での位置及び向きが異なっていても良い。位置及び向きの違いは、画像変換部１０３による検査画像の画像変換によって解消される。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００４５
【補正方法】変更
【補正の内容】
【００４５】
なお、本実施の形態１において、変換後検査画像生成部６０２による画像変換は、固定的なパラメータ値による変換ではない。本実施の形態１では、基準画像ＩＲと検査画像Ｉとの内容によって変換パラメータが変化する点に特徴がある。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００４７
【補正方法】変更
【補正の内容】
【００４７】
異常確信度は、上述したように、検査画像の特定の領域における変化の有無を示している。より具体的には、異常確信度は、検査画像を構成する画素毎、又は小領域毎に、異常な変化が起きている確からしさを示す数値Ｄｋであり、下記の数３によって算出される。また、異常確信度は、画素毎又は小領域毎の数値Ｄｋの集合であり、異常な変化を示す画像としても構成される。以下において、異常確信度の集合によって構成された画像を、「異常確信度画像」と表記する。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００７５
【補正方法】変更
【補正の内容】
【００７５】
上述のステップＳ７０１からステップＳ７０８の処理は、一組の学習用の検査画像、基準画像、及び教師画像毎に実行されても良い。また、ミニバッチと呼ばれる手法に従って、まず、所定数の学習用の検査画像、基準画像、教師画像の組データについて、ステップＳ７０１からステップＳ７０４が実行されても良い。この場合、その後、各データ組に対する異常確信度と理想的な異常確信度との二乗誤差を累積した値が計算され、得られた二乗誤差の累積値に基づいて、ステップＳ７０５からＳ７０８が一回実行されても良い。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００８８
【補正方法】変更
【補正の内容】
【００８８】
［装置構成］
最初に、本実施の形態２における異常検知装置の構成について図９を用いて説明する。図９は、本発明の実施の形態２における異常検知装置の具体的構成を示すブロック図である。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】０１０５
【補正方法】変更
【補正の内容】
【０１０５】
具体的には、ステップＳ９０４では、画像変換パラメータ学習部１０８は、画素毎に、第１の移動量と第２の移動量との差分を求め、求めた差分の総和が小さくなるように、誤差逆伝播法等を用いて画像変換パラメータを算出し、算出した画像変換パラメータが得られるように、画像変換パラメータ算出用パラメータを更新する。この後、再度画像変換部１０３は、更新された画像変換パラメータ算出用パラメータを記憶する。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】０１２０
【補正方法】変更
【補正の内容】
【０１２０】
また、画像変換パラメータ学習部１０８は、学習の第２のステップでは、上記の変形例１と同様に、差分の総和（ａ）及び（ｂ）に重み付けを行い、重み付け後の各差分の総和の合計値が減少するように、変化検出パラメータ学習部１０６および画像変換パラメータ学習部１０８の双方にパラメータを修正させる。
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】０１２２
【補正方法】変更
【補正の内容】
【０１２２】
また、本実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、検査画像入力部１０１、基準画像入力部１０２、画像変換部１０３、画像変化検出部１０４、教師画像入力部１０５、変化検出パラメータ学習部１０６、修正量算出部１０７、画像変換パラメータ学習部１０８及び理想的変換後検査画像入力部２０１のいずれかとして機能しても良い。
【手続補正１８】
【補正対象書類名】明細書
【補正対象項目名】０１３２
【補正方法】変更
【補正の内容】
【０１３２】
（付記２）
前記変化検出パラメータ学習部が、前記教師画像と前記異常確信度との差分を求め、求めた前記差分が減少するように前記変化検出パラメータの値を更新することによって、変化検出パラメータを学習し、
当該異常検知装置が、前記教師画像と前記画像変化検出部が算出した前記異常確信度との差分が減少するように、画像変換された前記検査画像に与えるべき修正量を算出する、修正量算出部を更に備え、
前記画像変換パラメータ学習部が、前記修正量算出部が算出した前記修正量を生じさせる画像変換が行われるように、前記画像変換パラメータ算出用パラメータを更新することによって、前記画像変換パラメータ算出用パラメータを学習する、
付記１に記載の異常検知装置。
【手続補正１９】
【補正対象書類名】明細書
【補正対象項目名】０１３３
【補正方法】変更
【補正の内容】
【０１３３】
（付記３）
予め作成されている、理想的な前記画像変換が行われた場合の検査画像を前記画像変換パラメータ学習部に入力する、入力部を更に備え、
前記画像変換パラメータ学習部が、前記理想的な前記画像変換が行われた場合の検査画像と、前記画像変換部によって画像変換された前記検査画像との差分を求め、求めた差分が減少するように、前記画像変換パラメータ算出用パラメータを更新する、
付記２に記載の異常検知装置。
【手続補正２０】
【補正対象書類名】明細書
【補正対象項目名】０１３５
【補正方法】変更
【補正の内容】
【０１３５】
（付記５）
検査対象が写っている検査画像と、前記検査対象が正常な状態を示す基準画像とを用いて、前記検査対象の異常を検知するための方法であって、
（ａ）前記検査画像、前記基準画像、及び画像変換パラメータ算出用パラメータに基づいて、画像変換パラメータを算出し、算出した前記画像変換パラメータを用いて、前記検査画像中の前記検査対象が、前記基準画像中の前記検査対象に重なるように、前記検査画像を画像変換する、ステップと、
（ｂ）前記基準画像と画像変換された前記検査画像とを、変化検出パラメータを用いて照合して、前記検査画像の特定の領域における変化の有無を示す異常確信度を算出する、ステップと、
（ｃ）前記特定の領域における変化の正解値を示す教師画像と、前記（ｂ）のステップで算出した前記異常確信度との差分に基づいて、前記変化検出パラメータを学習する、ステップと、
（ｄ）前記教師画像と前記（ｂ）のステップで算出した前記異常確信度との差分から求められた、画像変換された前記検査画像に与えるべき修正量に基づいて、前記画像変換パラメータ算出用パラメータを学習する、ステップと、
を有することを特徴とする異常検知方法。
【手続補正２１】
【補正対象書類名】明細書
【補正対象項目名】０１３９
【補正方法】変更
【補正の内容】
【０１３９】
（付記９）
コンピュータによって、検査対象が写っている検査画像と、前記検査対象が正常な状態を示す基準画像とを用いて、前記検査対象の異常を検知するためのプログラムであって、
前記コンピュータに、
（ａ）前記検査画像、前記基準画像、及び画像変換パラメータ算出用パラメータに基づいて、画像変換パラメータを算出し、算出した前記画像変換パラメータを用いて、前記検査画像中の前記検査対象が、前記基準画像中の前記検査対象に重なるように、前記検査画像を画像変換する、ステップと、
（ｂ）前記基準画像と画像変換された前記検査画像とを、変化検出パラメータを用いて照合して、前記検査画像の特定の領域における変化の有無を示す異常確信度を算出する、ステップと、
（ｃ）前記特定の領域における変化の正解値を示す教師画像と、前記（ｂ）のステップで算出した前記異常確信度との差分に基づいて、前記変化検出パラメータを学習する、ステップと、
（ｄ）前記教師画像と前記（ｂ）のステップで算出した前記異常確信度との差分から求められた、画像変換された前記検査画像に与えるべき修正量に基づいて、前記画像変換パラメータ算出用パラメータを学習する、ステップと、
を実行させる、プログラム。
【手続補正２２】
【補正対象書類名】明細書
【補正対象項目名】０１４０
【補正方法】変更
【補正の内容】
【０１４０】
（付記１０）
前記（ｃ）のステップにおいて、前記教師画像と前記異常確信度との差分を求め、求めた前記差分が減少するように前記変化検出パラメータの値を更新することによって、変化検出パラメータを学習し、
前記コンピュータに、（ｅ）前記教師画像と前記（ｂ）のステップで算出した前記異常確信度との差分が減少するように、画像変換された前記検査画像に与えるべき修正量を算出する、ステップを更に実行させ、
前記（ｄ）のステップにおいて、前記（ｅ）のステップで算出した前記修正量を生じさせる画像変換が行われるように、前記画像変換パラメータ算出用パラメータを更新することによって、前記画像変換パラメータ算出用パラメータを学習する、
付記９に記載のプログラム。
【手続補正２３】
【補正対象書類名】明細書
【補正対象項目名】０１４１
【補正方法】変更
【補正の内容】
【０１４１】
（付記１１）
前記コンピュータに、
（ｆ）予め作成されている、理想的な前記画像変換が行われた場合の検査画像を前記画像変換パラメータに入力する、ステップと、
（ｇ）前記理想的な前記画像変換が行われた場合の検査画像と、前記（ａ）のステップによって画像変換された前記検査画像との差分を求め、求めた差分が減少するように、前記画像変換パラメータ算出用パラメータを更新する、ステップと、
を更に実行させる、
付記１０に記載のプログラム。
【手続補正２４】
【補正対象書類名】明細書
【補正対象項目名】０１４２
【補正方法】変更
【補正の内容】
【０１４２】
（付記１２）
前記コンピュータに、
（ｈ）前記理想的な前記画像変換が行われた場合の検査画像と前記基準画像との間における対応点毎に、前記基準画像から前記理想的な前記画像変換が行われた場合の検査画像までの第１の移動量を求める、ステップと、
（ｉ）画像変換後の前記検査画像と前記基準画像との間における対応点毎に、前記基準画像から画像変換後の前記検査画像までの第２の移動量を求める、ステップと、を更に実行させ、
前記（ｇ）のステップにおいて、共通の対応点毎に、前記第１の移動量と前記第２の移動量との差分を求め、更に、求めた各差分の総和が減少するように前記画像変換パラメータ算出用パラメータを更新する、
付記１１に記載のプログラム。
【国際調査報告】
2019064599.tif 000019
2019064599.tif 000020