(57)【要約】【課題】  識別器を使った物体の外観の状態において、異なる環境における推定結果の差を低減する【解決手段】  上記課題を解決する本発明にかかる情報処理装置は、物体の特徴を識別器に入力し、該物体の外観の状態を推定する情報処理装置であって、第１環境における前記物体の第１特徴と、第２環境における前記物体と同種の物体の第２特徴と、を取得する取得手段と、前記第１特徴を前記識別器に入力した第１推定結果と、前記第２特徴を前記識別器に入力した第２推定結果とが同様の外観の状態を出力するように、前記識別器のパラメータを設定する学習手段と、を有することを特徴とする。【選択図】  図２
2020177430.tif 000002
【特許請求の範囲】
【請求項１】
物体の特徴を入力された識別器に基づいて該物体の外観の状態を推定する情報処理装置であって、
第１環境における前記物体の第１特徴と、第２環境における前記物体と同種の物体の第２特徴と、を取得する取得手段と、
前記第１特徴を前記識別器に入力した第１推定結果と、前記第２特徴を前記識別器に入力した第２推定結果とが同様の外観の状態を出力するように、前記識別器のパラメータを調整する学習手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記第２環境は、前記第１環境の所定の時間後の環境であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１環境は、前記情報処理装置である第１装置において前記物体の外観を推定したときの環境を示し、
前記第２環境は、前記第１装置と同種であって異なる装置である第２装置において前記物体と同種の物体の外観を推定したときの環境であることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記第１特徴と前記第２特徴とに基づいて、前記第１特徴と前記第２特徴が異なることを検知する検知手段を更に有し、
前記学習手段は、前記検知手段によって前記第１特徴と前記第２特徴との差が所定の値より大きい場合に、前記識別器のパラメータを設定することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記検知手段は、前記第１特徴と前記第２特徴とに基づいて、前記第１環境と前記第２環境が異なることを検知し、
前記学習手段は、前記第１特徴を前記識別器に入力した第１推定結果と、前記第２特徴を前記識別器に入力した第２推定結果とが同様の外観の状態を出力するように、前記第１物体の特徴に基づいて学習された前記識別器のパラメータを設定することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記取得手段は、前記第１環境において外観の状態についての情報が付与された物体群の少なくとも１つである第１物体の前記第１特徴と、前記第１環境とは異なる前記第２環境における前記第１物体と同種の物体群の少なくとも１つである前記第２物体の前記第２特徴とを取得することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記第１物体を計測した第１計測結果または前記第２物体を計測した第２計測結果からそれぞれ前記第１特徴と前記第２特徴とを抽出する抽出手段をさらに有し、
前記検知手段は、前記抽出手段によって抽出された特徴に基づいて、前記第１特徴と前記第２特徴とを比較することによって前記第１特徴と前記第２特徴との差を検知することを特徴とする請求項４乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記学習手段によって設定された前記識別器のパラメータを用いて、前記第２環境における前記物体と同種の物体の外観の状態を推定する推定手段をさらに有することを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記第１物体の特徴を前記学習手段によって設定された前記パラメータを用いた前記識別器に入力した第３推定結果を出力する出力手段を更に有し、
前記第３推定結果をユーザによって確認した後に、前記パラメータを変更する指示を受け付ける受付手段をさらに有することを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記第１特徴と前記第２特徴との変化を検知する所定の条件を設定する設定手段をさらに有し、
前記検知手段は、前記所定の条件に基づいて前記第１特徴と前記第２特徴との変化を検知することを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記検知手段は、前記第１特徴うち外観が正常な状態の特徴と、前記第２特徴のうち正常な状態の特徴とが前記所定の条件を満たさない場合、前記第１特徴と前記第２特徴との変化を検知する請求項１０に記載の情報処理装置。
【請求項１２】
前記学習手段によりパラメータが調整された前記識別器が識別した外観の状態の確からしさが不十分であると判断された場合、
前記学習手段は、前記第２特徴を入力したときに出力されるべき外観の状態を与えて、前記識別器のパラメータを調整することを特徴とする請求項１に記載の情報処理手段。
【請求項１３】
コンピュータを、請求項１乃至１２のいずれか１項に記載の情報処理装置が有する各手段として機能させるためのプログラム。
【請求項１４】
物体の特徴を識別器に入力し、該物体の外観の状態を推定する情報処理方法であって、
第１環境における前記物体の第１特徴と、第２環境における前記物体と同種の物体の第２特徴と、を取得する取得ステップと、
前記第１特徴を前記識別器に入力した第１推定結果と、前記第２特徴を前記識別器に入力した第２推定結果とが同様の外観の状態を出力するように、前記識別器のパラメータを設定する学習ステップと、
を有することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体の外観の状態を推定する識別器のパラメータの調整に関する。
【背景技術】
【０００２】
近年、生産現場における外観検査工程等において、外観検査の自動化のニーズが高まっている。自動化の技術としては、例えば、予め設定された照明系による環境下、エリアセンサ等による信号取り込みによって得られた映像・画像データに対して事前に定義された識別器により良品か不良品かについての物体の外観の状態を推定する技術が知られている。例えば特許文献１には、外観検査において検査対象を撮影した画像から特徴抽出し、異常データを正常データから推定する特徴量や識別器の設定を機械学習によって探索し、検出する方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１０２６９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
外観検査では、撮影条件や製品の製造・加工法の僅かな違いによって異常領域の撮像画像が変わることが多い。特許文献１の方法では、上記の変化が発生した場合、また改めて学習を行う必要があり、手間がかかる。
【０００５】
本発明はこのような問題点に鑑みなされたもので、識別器を使った物体の外観の状態において、異なる環境における推定結果の差を低減することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決する本発明にかかる情報処理装置は、物体の特徴を識別器に入力し、該物体の外観の状態を推定する情報処理装置であって、第１環境における前記物体の第１特徴と、第２環境における前記物体と同種の物体の第２特徴と、を取得する取得手段と、前記第１特徴を前記識別器に入力した第１推定結果と、前記第２特徴を前記識別器に入力した第２推定結果とが同様の外観の状態を出力するように、前記識別器のパラメータを設定する学習手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、識別器を使った物体の外観の状態において、異なる環境における推定結果の差を低減できる。
【図面の簡単な説明】
【０００８】
【図１】ハードウェア構成の一例を示す図
【図２】情報処理装置の機能構成例を示すブロック図
【図３】情報処理装置が実行する処理の流れを示すフローチャート
【図４】情報処理装置が実行する処理の流れを示すフローチャート
【図５】情報処理装置が実行する処理の流れを示すフローチャート
【図６】本発明の実施形態に関する２つの分布を比較する例を模式的に表した図である。
【図７】本発明の第１および第２の実施形態に関する外観検査における撮影条件設定パラメータと対象サンプル可視化の対応関係を模式的に表した図である。
【図８】ＧＵＩの一例
【図９】検査の工程を説明する図
【図１０】情報処理装置が実行する処理の流れを示すフローチャート
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
【００１０】
（第１の実施形態）
自動化された外観検査では、検査対象を撮像した際に異常領域の有るサンプルでは異常領域が可能な限り明瞭に撮影されるよう、ユーザが事前に厳密に照明条件やエリアセンサの設定を調整しなければならないことが多い。よって、この撮影に関する設定の一部が微小に変化しただけで撮影画像の性質が変わり、自動検査時の判定結果を誤る原因になりうる。照明条件は時間の経過と共に光源の特性が変わることにより劣化することが多く、その場合は撮像環境が徐々に変動する。そのほか、エリアセンサの角度が緩やかに変わる等の微小な変化が起こったとしても、撮影画像の性質は変わる可能性が有る。該撮影画像の性質の変動は人が目視で確認して感知できるレベルの変化ではないことも有り、さらに撮像画像から抽出した特徴量を単独で評価するだけでは差異を検知できないことも有る。しかし、特徴抽出を実施して特徴空間内で複数のデータの分布を評価してみると分布の中心やバラつきが以前と比べて変わってきているといった差が生じていることも有りうる。このような場合、検査装置立ち上げ時の設定では正しく検査を継続できなくなる。特に、検査装置立ち上げ時には存在しなかったような画像が入力され続けることにより、入力画像の多くを異常であると判定する、といった不都合が起こる。
【００１１】
上記したような変化による検査性能の劣化に対応する場合、従来はユーザが検査ラインを自ら止めて調整を行うことにより対応してきた。具体的には、識別器のパラメータを微調整し、新しい撮影環境に判定結果が合うように対応するか、検査対象の撮影条件を微調整し、立ち上げ時と同等の画像が撮影できるように修正して対応してきた。なお、ここで扱う識別器は、物体の外観の状態を識別する学習を行った学習済みモデルであるとする。例えば、ニューラルネットワークやサポートベクターマシン等である。しかし、識別器を定義するパラメータが高次元の場合は人手による調整に時間がかかるため、頻繁に調整しなければならない現場ではメンテナンスコストが膨大にかかってしまう。その上、入力画像の性質を合わせるための撮影条件の調整は人が目視で確認しながら微調整するなどの工程も必要となるため調整に係る作業量はさらに増加する。そのため、ユーザの意図しない変化については可能な限り自動的に判定結果を誤らせないように調整することのできる技術が望まれてきた。微小な環境変化が有ったとしても、検査性能が劣化しない限りは自動調整で対応し、人手による調整は自動調整では対応できない状態になった場合のみにするだけで大きなコスト削減になる。
【００１２】
そのほか、検査ライン立ち上げ時、同種の対象物体を検査する検査装置が複数あり、各検査装置のほとんどの設定が同様であるとする。それにも関わらず、各々の装置における照明・撮影条件が微小に違うことに起因して、識別器の設定を完全に一致させて運用できないことがある。検査ライン立ち上げ毎に撮影される画像の性質が違うというだけで、各々別個に機械学習による識別器等の設定を実施する場合、正常／異常のラベルの付いたサンプルを充分数用意して新規に画像を撮影するところから着手しなければならない。こういった立ち上げに係る作業コストを減らしたいというユーザニーズも存在する。
【００１３】
つまり、類似した環境で運用される識別器の場合は、既に学習済の識別器の設定を利用して微調整するだけで利用可能な識別器を生成する技術が望まれている。尚、上記説明で環境変動の主な要因を検査対象の撮影環境の変化として説明したが、その他にも製造プロセスの微小な変化であっても同様のことが起こり得る。ここで言う製造プロセスの微小な変化とは、例えば検査対象物を製造するのに用いられる材料の混合率を微小に変えた場合や、検査対象物の表面加工法を変えた等による変化のことである。該製造プロセスの変化によっても、対象物体表面から反射する光の性質が変わることによって撮影画像に変化が生まれる。
【００１４】
以上で述べた、同一の検査装置の撮影に関わる設定が時間の経過により微小に変化する問題に対し新しい環境での識別器に簡易に更新できることと、類似した撮影設定の検査装置で僅かに異なる設定の違いに簡易に対応できることは同質の課題である。なお、同一の検査装置は、識別器の学習時の検査装置（第１装置）と、所定の時間後の検査装置とを含む検査装置（第２装置）とみなせる。両者共、ほとんど類似した環境で正しく識別処理を実行するための調整を簡易に行う処理によって対応することができる。
【００１５】
同一の識別器を用いた認識において、同一の認識対象であっても装置の違いや環境の違いによって入力情報に微差が存在し、認識結果に差が生じてしまう。このように、入力情報に差異があっても、識別基準の変化に対応することのできる学習方式として転移学習が有る。抽出された特徴量の分布から学習したクラスに属するか否かを判断するタスクを、類似した環境で取得された特徴量の情報を用いて解決する、という課題に転移学習は適用できる。転移学習を適用することで、訓練データを一から作り直す手間が省ける。転移学習は、訓練データから特徴を学習して識別器のパラメータを調整するよりも、処理負荷が小さい。
【００１６】
第１の実施形態は、複数のデータの中から異常データを検出する異常検出タスクに関する。該異常検出タスクでは対象から特徴抽出を行い該抽出特徴を判断基準として事前に設定した識別器によって異常検知を行う。この際、何らかの理由で上記抽出特徴の性質が僅かに変化した場合に、性能を維持するためには識別器の設定をこの変異に合わせて修正しなければならない。該実施形態はこれら手続きに関する。ここではより具体的な説明をするため、異常検出の一例として生産現場での画像による自動化された外観検査を挙げる。さらに該外観検査は、事前にいくつかの実サンプルを計測した結果を用いて検査用の撮影パラメータや検査装置の設定パラメータが調整されているものとする。該調整方法はいかなる方法であっても良いが、本実施形態では次に示す方法によって調整されているものとして説明する。
【００１７】
事前に収集した複数の検査対象サンプルが有り、該サンプルには全て正常／異常のラベルが付与されている。該サンプルをエリアセンサ等により撮影して画像信号を取得、またはその他の方法によって計測して信号を取得し、そのうち少なくとも正常サンプルから得られた信号から特徴量を抽出する。該特徴量の中で正常サンプルの分布を定義するのに有効な特徴量を機械学習における特徴選択手法によって複数選択する。正常の特徴分布を低次元のパラメータ組み合わせで表現することにより識別器として用いるものとする。このように定義された識別器を学習する方法としては、具体的な手法として例えば特許文献１に示される方法がある。
【００１８】
このときの情報処理システムの概念図を図１に示した。７３の破線で囲われた構成物全てで情報処理システムが構成されている。情報処理システムで検査する検査対象物１５は、ベルトコンベア１６によって搬送され、情報処理装置１２によって良品であるか不良品であるかが判定される。検査対象物１５の例として、金属部品、ゴム成型品、プラスチック成型品、レンズ等ガラス成型品、プリント基盤等が挙げられる。検査対象物１５の表面に、加工工程の変化等によって良品に見られないキズやムラ等が生じた場合、不良品として検出される。照明装置１４は、検査対象物１５の表面状態がよくわかるように、適切な照明条件を提供する。撮像装置１３は、検査対象物１５の表面の映像を取得可能なビデオカメラなどから構成され、撮影した映像を情報処理装置１２に送信する。表示装置１０はモニタなどから構成され、各サンプルの判定結果や特定の時間間隔に計測されたテストサンプルから抽出された特徴量の分布を視覚化した情報（例えばヒストグラム等）が表示される。入力装置１１はキーボードやマウス等から構成され、表示装置１０に表示された情報やメッセージに対してユーザが特定のプログラムを実行させる等の指令を受ける。
【００１９】
次に図１を用いて、本実施形態で示す情報処理装置１２が実装されるハードウェア構成について説明する。バス１２０に接続する各デバイスをＣＰＵ１２１が総括的に制御する。読み出し専用メモリ（ＲＯＭ）１２３では、本実施形態にかかる各処理プログラム、オペレーティングシステム（ＯＳ）、デバイスドライバなどが記録される。ランダムアクセスメモリ（ＲＡＭ）１２２では、ＣＰＵ１２１処理時に先述したプログラムが一次記録される。また、入力Ｉ／Ｆ１２５は、外部の操作装置などから入力した情報を１２で処理可能な形式に変換する。また、出力Ｉ／Ｆ１２４は、出力する情報を外部の表示装置などが処理可能な形式に変換する。ＣＰＵ１２１は、ＲＯＭ１２３で記録された処理ステップやプログラムを読み出して、ＲＡＭ１２２に一次記録し、後述する各フローチャートに従って処理を実行する。また、ＣＰＵ１２１を用いたソフトウェア処理の代替として、後述する各機能部の処理に対応させた演算部や回路から構成されるハードウェアで処理してもよい。
【００２０】
また、通常の検査では使用しないが、撮影環境等が変わったことにより検査精度が落ちることを修正するために、７１のサンプル保持部に実サンプル７２および抽出特徴が関連付けて保存されている。この実サンプル７２は検査対象物そのものであるため、対象の外観が時間経過に伴って変質することのないように可能な限り外界からの影響を受けないように保存することが望ましい。
【００２１】
図２は、本実施形態にかかる情報処理装置の機能構成例を示す。これらの各機能構成について、簡単に説明する。情報処理装置１２は、対象物体の状態を識別する装置であって、具体的にはコンピュータである。保持部１００は、Ｓｏｕｒｃｅサンプル（第１物体群の各物体）を撮像した画像と正常か異常かを示すラベルとを対応付けたＳｏｕｒｃｅデータ（第１訓練データ）を保持する。ここで、識別器による推定結果をラベルとして付与された計測データを訓練データと呼ぶ。第１取得部１０１は、保持部１００から、サンプルを計測したＳｏｕｒｃｅデータ（第１計測データ）を取得する。さらに、第１取得部１０１は、第１計測データに正常品か不良品かを識別する２値のラベルを付与した第１訓練データを取得する。ラベル付はここではユーザによって行う。なお、識別器の種類や、検査内容によってラベルの種類は可変である。学習部１０２は、第１訓練データに基づいて、識別器のパラメータを学習（第１の学習）する。この学習によって生成される識別器のパラメータを第１パラメータと呼ぶ。学習された識別器は、Ｔａｒｇｅｔサンプル（第２物体群の各物体）を撮像した入力画像に対して、対象物体が正常品であるか異常品であるか識別し、識別結果をラベルとして入力画像に与えたデータを出力する。また、状態遷移が発生した後に、第１訓練データと、追加された第２（推定）データとに基づいて、識別器のパラメータを更新する。第２推定データは、第２観測データを第１パラメータが設定された識別器に入力した（第２）推定結果であって、ここでは第２観測データと、それに対応する物体が正常か異常かの推定結果を含む。尚、本実施形態において撮影環境等が変わったことにより入力画像の見え方が変わるような入力データに関する性質が変わる場合を、状態遷移と呼ぶ。詳しい説明は後述する。
【００２２】
受付部１０３は、ユーザによって入力された設定情報を受け付ける。設定部１０４は、設定情報に基づいて、状態遷移が発生した可能性を示す状態遷移度について所定の閾値を設定する。判定部１０５は、設定情報に含まれる所定の時間Ｔが経過したか否かを判定する。
【００２３】
第２取得部１０６は、所定の時間Ｔの間に検査された物体群（各Ｔａｒｇｅｔサンプル）を撮像した画像データ（第２計測データ）を取得する。所定の時間Ｔとは、識別器を学習させた環境において、識別器を学習させた後から、第２取得部による処理が開始されるまでの時間である。
【００２４】
抽出部１０７は、第１訓練（計測）データまたは第２計測データのそれぞれから、各データに含まれる特徴（群）を抽出する。以降、第１訓練（計測）データから抽出された特徴を第１特徴、第２計測データから抽出された特徴を第２特徴と呼ぶ。推定部１０８は、第１特徴と第２特徴とに基づいて、状態遷移度を推定する。詳しい処理は後述する。検知部１０９は、時間Ｔの間に状態遷移が発生したことを、状態遷移度と所定の閾値に基づいて、検知する。すなわち、第１特徴と第２特徴とに基づいて、第１特徴と第２特徴との変化を検知する。出力部１１０は、検知結果やユーザに対するメッセージ等の表示を表示装置に出力する。画面表示に限らず、音声によるアナウンスを出力しても良い。
【００２５】
以下、図３に示した情報処理装置が実行する処理を説明するフローチャートを用いて本実施形態の処理方法の概要について説明する。以下の説明では、各工程（ステップ）について先頭にＳを付けて表記することで、工程（ステップ）の表記を省略する。ただし、情報処理装置は必ずしもこのフローチャートで説明するすべてのステップを行わなくても良い。以下、フローチャートは、コンピュータである図１のＣＰＵ（１２１）が外部メモリで格納されているコンピュータプログラムを実行することにより実現されるものとする。
【００２６】
各処理についての詳細な説明の前に、本実施形態で説明する処理の概略を説明する。まず、Ｓ３００からＳ３０３においては識別器を予め学習させるための処理である。すなわち、第１物体（実サンプル）を計測した計測結果に対して、物体の外観の状態を示す情報（例えば物体の外観の状態が正常か異常か）を付与した訓練データを用意し、その訓練データを用いて識別器の初期パラメータ（第１パラメータ）を設定する。Ｓ３０３までで検査装置の初期設定を終えると、Ｓ３０４からＳ３１１において実際の外観検査を実行する。検査を開始して一定時間が経過したタイミングで、ＳｏｕｒｃｅデータとＴａｒｇｅｔデータのそれぞれの特徴を比較することによって、物体を計測した計測結果から抽出された特徴に変化があったかを調べる（Ｓ３０４からＳ３０８）。この変化が一定割合で発生していた場合は、識別器のパラメータを調整する必要があるため、Ｓ３０９において転移学習（第２学習）を実施する。Ｓ３０９においては、Ｓｏｕｒｃｅデータを識別器に入力した第１推定結果と、Ｔａｒｇｅｔデータを識別器に入力した第２推定結果とが対応するように、Ｓｏｕｒｃｅデータの特徴に基づいて学習された識別器のパラメータを更新する。つまり、学習部１０２が、第１特徴を識別器に入力した第１推定結果と、第２特徴を識別器に入力した第２推定結果とが同様の外観の状態を出力するように、更新された識別器のパラメータを設定する。これは、Ｓｏｕｒｃｅデータの基となる第１物体と、Ｔａｒｇｅｔデータの基となる第２物体とは、母集団が共通するサンプルであり、正常品と異常品の発生率はある程度一定であるという性質から成立する処理である。Ｓ３１０では、予め用意した第１パラメータまたは転移学習で更新した第２パラメータを用いて識別器による物体の外観の状態を推定する。以上が、本実施形態のおける処理の概要である。
【００２７】
まず、Ｓ３００では、第１取得部１０１が、物体が正常か異常かのラベルが付与されたＳｏｕｒｃｅデータ（第１訓練データ）を取得する。次に、Ｓ３０１では、学習部１０２が、第１の訓練データに基づいて識別器のパラメータを生成する。すなわち、推定部１０８で用いられる識別器のパラメータが学習される。これを、Ｓｏｕｒｃｅデータ（第１計測データ）による第１の学習と呼ぶ。第１の学習において生成されたパラメータを第１パラメータとする。本学習ステップはあらゆる機械学習によって実施可能であるし、人の手による調整で実施されても構わない。本提案では特定の学習法に限定しないが、特徴抽出、特徴選択、識別モデル学習が行われたものとする。また、ここで用いたＳｏｕｒｃｅサンプルを計測した第１計測データをＳｏｕｒｃｅデータと呼ぶことにする。つまり、７２に保持されている実サンプル７２を撮像または計測した画像（または計測値）をＳｏｕｒｃｅデータと呼ぶ。ここでは、入力データは画像データであり、Ｓｏｕｒｃｅデータはサンプルを撮像した画像とその画像に対するラベルを含むものとする。さらに、Ｓｏｕｒｃｅデータに対して、正常／異常ラベルが画像（計測値）に与えられたデータを第１訓練データと呼ぶ。また、ここで用いた異常ラベルが付与された第１訓練データに対応するサンプル（異常であると推定された物体）は後段の状態遷移検知時の識別器修正のために利用するため、実サンプル７２ごと保持される。さらに、ここで学習のために抽出した第１計測データの（画像）特徴についても、後段の状態遷移検知時の識別器修正で利用するため、保持部１００に保持される。そして撮影条件を変更すべき場合は通常の検査対象ではなく７１のサンプル保持部に保持された７２のサンプルが搬送部１６を流れて７４の再撮影済サンプル保持部に保持されるように動作する。なお、Ｓ３００の処理は、前以て実サンプル７１を使った第１訓練データで学習されている識別器とその（第１の）パラメータが予め用意されてあれば、第１の学習処理を省略しても良い。その場合は、学習部１０２に、前もって学習された識別器とそのパラメータを設定する。
【００２８】
Ｓ３０２では、受付部１０３が、ユーザから入力された設定情報を受け付ける。具体的には、受付部１０３はＳ３０２にてユーザからオンライン検査実行時に状態遷移を検知するための設定情報を受け付ける。Ｓ３０２でユーザ入力から受け付ける設定情報はＳ２０５で利用する所定の時間間隔Ｔを含む。また、設定情報は、Ｓ３０６およびＳ３１０で利用することのある、生産ラインでの異常の発生頻度の上限および下限値を含む。さらに、設定情報は、正常判定データ基準で計算可能な状態遷移度がどの値になったときに状態遷移が起きたことを知らせるアラートメッセージを出すかを決定する閾値を含む。Ｓ３０３では、設定部１０４が、設定情報に基づいて状態遷移を判定する為の設定を設定する。具体的には、設定部１０４は、入力画像の見え方が変わるような入力データに関する性質が変わる状態遷移が発生したか否かを判断するための、状態遷移の程度に対する所定の閾値を設定する。
【００２９】
先述した時間間隔Ｔの設定は、運用上でユーザが状態遷移をどのタイミングで知りたいか、環境変動の可能性が高いか低いかによって設定する。１時間毎に検知しなければならないのか、２４時間毎に検知すれば充分であるかなど工程の性質等で決めることができる。
【００３０】
先述した異常の発生頻度とは、生産現場において製造される製品／部品の欠陥品が製造される頻度のことであり、単位時間当たりに製造される製品／部品のうち何個が欠陥品であったかによって算出される。この値は、生産ラインの生産能力によって決定され、数値が低い方が良いことは言うまでもない。ただし、この数値を限りなく０に近づけるような製造能力を持つ生産ラインを目的とした設計のラインにすると製造工程が極端に複雑化するなどコストが膨れ上がることも多い。通常はある程度の欠陥品が製造されることを許容したラインが組まれ、検査工程で欠陥品を除去するようになっている。
【００３１】
先述した異常発生頻度の上限および下限値について補足する。従来、生産ラインではライン設計時および試用時に異常がどの程度発生するかデータを取っておき、実運用時の異常発生頻度を予測してきた。そして予測値を基に閾値を設定しておき、異常発生頻度が閾値を超えるとアラートメッセージを出し、工程異常を検知して対応する、というのが一般的に行われてきた。先述した異常発生頻度上限値も従来の閾値と同様の意味であり、同様に設定することを前提としている。実運用では異常発生頻度が５％程度のときに異常発生頻度上限値を５％にしておくと不要なアラート（誤報）が頻繁に発生するため、ある程度のマージンを取って（例えば８％等）設定することが多い。先述したアラートは通常、異常発生頻度が増加したことを知らせることを目的とするものであるため上限値のみを設定することが多いが、本実施形態では状態遷移を精度良く求めるために下限値も設定する。これは予測される異常発生頻度が極端に低くなった場合も、状態遷移が起こっている可能性が有るため、これを検出する目的で設定する。設定の仕方は上限値と同様である。
【００３２】
また、状態遷移度とは学習済み正常クラスの分布のズレをスコア化するために定義する値で、後述の数１に例示される確率分布間距離の差の累積値で表すことができる。正常の分布のズレを計算する際、異常の発生頻度によって推定精度が変わるが、通常は異常の発生頻度は少ないため異常の存在を無視しても良い推定精度を得ることができる。状態遷移度は０以上の値になるが、状態遷移度の閾値を極端に小さな値を設定しておくと誤報が増加する。初期設定の閾値は適当な値にして運用開始後、より良い値は実際に運用しながら決定することが望ましい。状態遷移が起こっていない通常状態では状態遷移度はある一定の範囲の値で安定する。そのため、良好な閾値を決定する方法としては実運用開始し、工程異常を含めた環境変動が起こっていないことを確認して例えば１００回状態遷移度を算出する。所定の確率分布密度、例えばポアソン分布や所定の正規分布を導入する等により、適当なタイミングで状態遷移を検知したアラート（通知）を出すことができるようになる。
【００３３】
Ｓ３０４では、判定部１０５が、設定情報に含まれる所定の時間Ｔに従って、ある環境において識別器を学習させた後から現時点までに所定の時間Ｔが経過したか否かを判断する。Ｓ３０２で（例えば、識別器の第１の学習がされた時点から、または最後に識別器のパラメータが更新された時点）ユーザによって指定された所定の時間Ｔが経過したかどうか判断する。状態遷移は入力データ全体の分布の変動による微小な変化であることが多いため、単一の入力データの計測値のみによって検知することは難しい。よって、所定の時間Ｔが経過していなければＳ３１０に進む。所定の時間Ｔが経過していた場合、状態遷移が発生している可能性があるため、Ｓ３０５に進む。
【００３４】
Ｓ３０５では、第２取得部１０６が、最後に識別器の学習を行ってから所定の時間後に検査された複数のサンプル（第２物体群；以降、Ｔａｒｇｅｔサンプルと呼ぶ）を計測した第２計測データ（画像または計測値）を取得する。第２計測データは、Ｔａｒｇｔサンプルを撮像した画像とその撮像時刻を対応付けたデータを含む（Ｔａｒｇｅｔデータ）。Ｓ３０６では、抽出部１０７が、第１訓練（計測）データまたは第２計測データのそれぞれから、各データに含まれる特徴（群）を抽出する。なお、第１特徴（群）は、第１の訓練データ、第１計測データまたは第１推定結果の少なくとも１つから抽出された特徴である。同様に、第２特徴（群）は、第２計測データ、第２訓練データまたは第２推定結果のうち少なくとも１つから抽出された特徴である。なお、第１特徴と第２特徴は同じ特徴空間で表せるものとする。
【００３５】
Ｓ３０７では、検知部１０９が、第１の特徴と第２の特徴とに基づいて、第１計測データと第２計測データとの差を検知する。第１計測データと第２計測データとの差は、対象となる物体群を計測する際の環境の変化の有無を示す。これを状態遷移度として取得し、設定された所定の条件と比較する。所定の条件を満たす（例えば、差が所定の閾値より大きい）場合は、状態遷移があったとして処理を進める。すなわち、検知部１０９が、Ｓｏｕｒｃｅデータと、Ｔａｒｇｅｔデータの分布とに基づいて、対象物体を計測したデータの傾向の差を示す状態遷移度を推定する。ここで言う状態遷移度として利用できるスコアの例を数１に示す。先述した状態遷移度はＳｏｕｒｃｅサンプルから抽出されたＳｏｕｒｃｅデータの分布とＴａｒｇｅｔサンプルから抽出されたＴａｒｇｅｔデータの分布の分布間距離の差を基に定義された損失関数の累積スコアである。
【００３６】
Ｓｏｕｒｃｅデータの特徴空間内の分布およびＴａｒｇｅｔデータの特徴空間内の分布を定義する真の関数についてもし事前に知っている場合はこれらを各々Ｐｓ、Ｐｔとして表し、この二つの分布の差を求めれば良い。しかし、通常、真の分布関数を事前に知ることはできないため、計測データから推定する。このとき推定された分布関数を真の分布関数と区別するためにＰに＾（ハット）を付与して区別する。
【００３７】
【数１】
2020177430.tif 000003
【００３８】
また、このとき各々の推定された分布の関数はＳｏｕｒｃｅおよびＴａｒｇｅｔで収集されたサンプルから抽出された特徴量ｘとパラメータθによってモデル化される。この関数は対象とする分布を表現するのに適したレベルの関数形であれば良い。例えばＳｏｕｒｃｅ側の推定された分布を推定した関数を数２、Ｔａｒｇｅｔ側の推定された分布を推定した関数を数３のように表せる。ここで各々のθｓ、θｔは各々のカーネルの係数となる。
【００３９】
【数２】
2020177430.tif 000004
【００４０】
【数３】
2020177430.tif 000005
【００４１】
ここでｎはカーネルとして選んだ入力データＸの個数であり、Ｓｏｕｒｃｅデータ，Ｔａｒｇｅｔデータではそれぞれの入力データ全てまたはそのサブセットとなる数である。
【００４２】
Ｔａｒｇｅｔサンプルのサンプル数は確率分布を安定して推定するのに十分な数存在することが望ましい。ここでいう十分な数とは特徴空間内でのデータ分布のバラつきを表現するのに十分な数という意味であり、課題の難しさ依存となる。このとき、状態遷移度はＳｏｕｒｃｅサンプルで学習され定義された特徴空間内で２つの分布を比較するため、少なくとも該特徴空間が定義する空間内で分布が推定できないほど疎にならない数量を目安にする。このときの分布間距離を定義する損失関数は、例えば数４に示すような二乗誤差で良い。
【００４３】
【数４】
2020177430.tif 000006
【００４４】
尚、二乗誤差以外の例としては、カルバックライブラー情報量やピアソン距離など、目的によって適した関数を設定すると良い。数２および３に示した分布形状を推定する最も一般的な方法はＫＤＥ（Ｋｅｒｎｅｌ  Ｄｅｎｓｉｔｙ  Ｅｓｔｉｍａｔｉｏｎ）である。よって、数２および３のようなモデル化によって推定されるＳｏｕｒｃｅとＴａｒｇｅｔの分布同士の分布間距離を数１で定義すれば、この値が所定の閾値より大きくなった場合に状態が遷移したと判断することができる。
【００４５】
以上から、数１に示したＳｏｕｒｃｅとＴａｒｇｅｔの２種の分布の推定関数の差Ｅを同じＸの値域における差を累積して求めることにより状態遷移度として用いることができる。理想的には、ＳｏｕｒｃｅデータとＴａｒｇｅｔデータの真の分布を推定することができたとき、状態遷移が全く起こっていない場合、確率分布間距離は０になる。
【００４６】
各々の分布関数を推定する際、該推定を容易にするための方法として、正常ラベルが付与されたデータのみで推定する方法も有る。この場合は、Ｓｏｕｒｃｅの分布は正常サンプルのみを用いて推定する。なぜなら、異常検出タスクの多くのケースでは異常信号はバリエーションが多い上、収集できるサンプル数は正常に比べてずっと少ないため、それら偏りの有る少ないデータで良い推定をすることが難しい為である。確実に正常であるというデータのみで分布を推定した方が安定して推定することが可能である。この場合も、数１に示した状態遷移度においてＰｓの意味が正常ラベルの付与されたＳｏｕｒｃｅデータのみを表す分布になるだけであり、他は同じである。尚、ここでもし、Ｔａｒｇｅｔサンプルに対して識別器が判定した正常／異常ラベルを利用する。正常判定されたＴａｒｇｅｔデータとＳｏｕｒｓｅの正常データを用いて数１に示した状態遷移度を算出することにすると、算出された状態遷移度は期待する通りに利用できない可能性が高い。それは、Ｔａｒｇｅｔサンプルについては、識別器が判定した正常／異常ラベルのみしか存在しない。ゆえに真のラベルは分からないため、真のラベルは正常であるにも関わらず状態遷移に対応する前の識別器での判定で異常と判定されたものを除外して状態遷移度を求めると、本来算出すべき遷移度より小さい値になってしまうためである。
【００４７】
よって、最も期待する状態遷移度を求めるためには、Ｓｏｕｒｃｅデータ側は正常ラベルを与えたデータのみで、Ｔａｒｇｅｔデータ側は全てのデータを使って求める場合が良い結果を得ることが多い。
【００４８】
Ｓｏｕｒｃｅデータ全てを使う、または正常のみ使う、どちらの方法も先述した数１では異常の発生頻度は通常の正常頻度に比べて僅かであるという前提を暗黙に利用し、混入した異常事例が状態遷移度に与える影響は微小であるために成立する。先述した分布間距離に基づく状態遷移度は、識別器を更新するかどうかの目安にする値であるため、多少の異常データが混入した状態の値であっても運用上問題となることは無い。ただし、異常データの頻度が無視できないほど多く、Ｔａｒｇｅｔサンプル全てを正常とみなして分布を推定することができない場合などは、以下のようにして事前に前処理的に異常らしいデータを排除してから求めると良い。
【００４９】
異常らしいデータを特定する方法は、クロスバリデーション（交差検定）によって分布を推定するために用いるデータと、それ以外のデータに分割して尤度を根拠に異常らしいデータを特定する処理を繰り返すことによって求めることができる。
【００５０】
例えばＴａｒｇｅｔサンプルを分布推定用のサンプルとそれ以外のサンプルに分割し、分布推定用のサンプルでＫＤＥ等のアルゴリズムによって分布推定し、残りのサンプルの正常らしさ（尤度）を求める。そして分布推定用のサンプルを別のサンプルの組み合わせにして残りのサンプルの正常らしさ（尤度）を求める…これらの処理を繰り返し、全サンプルの平均的な尤度を求める。該平均尤度に基づいて、全Ｔａｒｇｅｔサンプルに平均尤度の低い順でランクを付与する。そして、既にＳ２０２でユーザによって与えられた異常の発生頻度の上限と下限から、全Ｔａｒｇｅｔサンプル数と該発生頻度によって含まれる異常サンプルの上限数と下限数を求める。先述した平均尤度の低い順から先述した上限数番目から下限数番目の間で適当な個数を求め、これらを除去すべき異常サンプルとして排除すれば良い。そして、残ったＴａｒｇｅｔデータとＳｏｕｒｃｅの正常データを用いて数１の式に則り、分布間距離を求めることができる。
【００５１】
Ｓ３０８では、検知部１０９が、第２取得部１０７で推定された状態遷移度が、設定情報に含まれる所定の閾値より大きいか否かを判定し、状態遷移を検知する。状態遷移度が所定の閾値より大きく、状態遷移が発生したと検知された場合は、Ｓ３０９に進む。状態遷移度が所定の閾値未満である場合は、状態遷移は発生していないものとしてＳ３１０に進む。すなわち、先述の関数から求めた状態遷移度に基づき、ユーザがＳ３０２にて設定した閾値以上であるかどうかＳ３０７にて判定し、ここで閾値を超えなかった場合はそのままの識別器のまま検査を継続して良いものと判断され、Ｓ３１０の通常検査へ移行する。
【００５２】
また、ここで閾値以上であった場合は、Ｓ３０９にて転移学習（第２の学習）を行う。修正候補となる識別器の計算ステップに移る。Ｓ３０９では、学習部１０２が、第１特徴を識別器に入力した第１推定結果と、第２特徴を識別器に入力した第２推定結果とが同様の基準を満たすように、識別器のパラメータを設定する。転移学習を行うことによって、識別器のパラメータを更新する。詳しい処理について図４のフローチャートで説明する。
【００５３】
Ｓ３０９０では、出力部１１０が、識別器が修正を必要とするレベルに達したということをユーザに知らせるためのメッセージを表示装置１０の画面に表示させる。このとき画面に表示される該メッセージの内容には、例えば先述した識別器の修正が必要と判断された（撮影画像の性質が変わった）理由が含まれるとユーザの判断の助けになる。ここで表示する理由としては、本メッセージを出す条件としてユーザがＳ３０２にて設定した値によって、異常検出率が上限閾値を超えたとき、下限閾値未満の値を示したとき、または数１で示した状態遷移度が閾値を超えた等である。このときの表示メッセージの例を図８（Ａ）に示した。尚、図８（Ａ）の表示例では、本識別器の修正処理が自動で開始し、以降で説明する更新手続きが既に始まっていることを６０のプログレスバーで表現している。
【００５４】
そして、Ｓ３０９１では、学習部１０２が、第１訓練データのうち正常ラベルを含むデータと、第２訓練データとに基づいて、識別器のパラメータを更新する。Ｓ３００にて学習時に保存しておいた正常ラベルの付与されたＳｏｕｒｃｅデータから抽出された特徴量の特徴空間における分布と、先述した最新のＴａｒｇｅｔサンプルから抽出された特徴量の特徴空間における分布を基にして識別器の修正処理を実施する。
【００５５】
ここで、識別器の修正処理アルゴリズムについて説明する。まず、具体的な説明の前に各表記と意味について説明する。既にＳｏｕｒｃｅサンプルによって学習済の識別器の関数を数５のように表記する。
【００５６】
【数５】
2020177430.tif 000007
【００５７】
この関数はＳｏｕｒｃｅデータの特徴ベクトルＸが入力された場合に、異常度スコア／正常度スコアを出力するように学習された関数であれば何でも良い。そして、状態遷移したクラスに対応するＴａｒｇｅｔサンプルの識別器の関数を数６のように表記することにする。本実施形態では数６に表記するＴａｒｇｅｔデータの入力に対する異常度スコア／正常度スコアの出力関数を求める方法であるため、現時点ではこの関数の中身は分からないものとする。
【００５８】
【数６】
2020177430.tif 000008
【００５９】
数５、数６はどちらも同じ識別モデルで定義され、入力される特徴量を定義する特徴空間は基本的に同じであることを前提としている。尚、ここで利用する識別モデルの例としては、ＳＶＭ（サポートベクターマシン）や、ニューラルネットワーク、ｋ−ＮＮ、部分空間法によるモデル化など何でも良い。
【００６０】
さらに、Ｘｓの正常データを基に数２および数３に示された式で推定されたガウスカーネルモデルの出力値そのものを数５の出力値として用いても問題無い。つまり、数５で表記される関数は特徴量Ｘが入力されれば、正常らしさ／異常らしさをスコアで返す形式であればどのような関数でも用いることができる。また、既に数５に示した識別器の関数を定義するのに用いたサンプルから抽出した特徴量を数７のように表記し、各々のサンプル識別ＩＤを添字ｉで表す。
【００６１】
【数７】
2020177430.tif 000009
【００６２】
基本的に、数７で表される特徴量は正常サンプルのみから成るものとする。同様に、Ｔａｒｇｅｔ側のサンプルから抽出された特徴量を数８のように表記し、各々のサンプル識別ＩＤを添字ｊで表す。
【００６３】
【数８】
2020177430.tif 000010
【００６４】
ここで、解くべき課題を直感的に理解するため、特徴空間内での各データと出力値のイメージを表した図６によって説明する。
【００６５】
図６は横軸が特徴量Ｘ、縦軸が各々関数の出力する正常らしさスコアＹを表している。つまりスコアＹが低いものほど異常らしさスコアが高くなる。運用上は特定の閾値を設定することで、そのスコア以下のＹを示した対象を異常として検知するというようにして検査を実施する。特徴量Ｘは１次元以上のベクトルを想定しており、実線がＳｏｕｒｃｅデータの入力された場合の数５で表されるスコア、破線がＴａｒｇｅｔデータの入力された場合の数６で表されるスコアのイメージである。Ｙがラベルの場合は例えば正常または異常となるため２値で表されるが、Ｙが表す属性がスコアであってもラベルであっても連続値か離散値になるだけであるため大差ない。この図が示しているのは、例えば撮影条件が変わったなどの状態遷移が起こることによって入力ベクトルの値域が変わるだけでなく、入力ベクトルの増減に伴うスコアＹの変動パターンも変わっている。
【００６６】
Ｓｏｕｒｃｅデータの属性（ラベル／スコア）のみが分かっていて、Ｔａｒｇｅｔデータの属性が分からない場合の転移学習はトランスダクティブ転移学習（Ｔｒａｎｓｄｕｃｔｉｖｅ  Ｔｒａｎｓｆｅｒ  Ｌｅａｒｎｉｎｇ）がよい。または共変量シフト適応によって解くのが一般的である。
【００６７】
これらの方法によると、ＳｏｕｒｃｅデータとＴａｒｇｅｔデータでの入力の分布が変わっている対象について良く推定することができる。ただし、入力が与えられたときの出力の分布は両ドメインで等しいという前提を利用して解くため、その前提が成り立たない場合は推定することができない。例えば、撮影条件の変動により、全体的に画像が暗くなってしまったような場合を想定する。変動前は、変動後の環境で撮影したような暗い画像が入力された場合、欠陥と判定しなければならなかったものが、変動後の場合は正常と判定しなければならなくなるような状況が発生する。この場合、同じ入力に対して、数５と数６で異なる結果を出力しなければならず、そのような場合には、上記の方法は適用できない。
【００６８】
今、Ｔａｒｇｅｔデータはオンラインの検査データであるため真の属性は不明であり、入力されるＸの分布も変動しているため従来の一般的な転移学習で解決することは困難な課題設定になっている。
【００６９】
しかし、外観検査における状態遷移を転移学習で解決する場合、同一のサンプル由来の出力値Ｙは不変であるという制約を与えて解くことが可能である。つまり、もし同一のサンプルを、Ｓｏｕｒｃｅデータが取得された環境と、Ｔａｒｇｅｔデータが取得された環境のそれぞれ異なる条件で画像を取り込み、特徴抽出した場合。入力Ｘは変動するがサンプルは同一であるため正常／異常ラベルや正常らしさ／異常らしさスコアが変わらないように出力されなければならない。図６ではＳｏｕｒｃｅデータが取得された環境で撮影した３つの実サンプルをｓ１、ｓ２、ｓ３とし、各々をＴａｒｇｅｔデータが取得された環境で撮影した際の対応する実サンプルをｔ１、ｔ２、ｔ３として表している。同一のサンプルのスコアは一致すべきであるので、各々の３サンプルが示すＹが一致している。
【００７０】
よって、このような環境ではＳｏｕｒｃｅドメインでのＸの分布と各々に付与された属性（ラベル／スコア）を取得する。そしてＳｏｕｒｃｅドメインの各々のＸがＴａｒｇｅｔドメインになると特徴空間内でどこへ遷移するかを取得すれば、求めるべき数６に示した関数を求めることができる。
【００７１】
しかし、実際にはＳｏｕｒｃｅで用いた正常サンプルと同一のサンプルではないサンプルがＴａｒｇｅｔドメインで取り込まれ、状態遷移判定された時点で数６に示した関数を求めなければならない。
【００７２】
そこで、同一のサンプルで両ドメイン撮影を行わずとも、ドメイン間の入力Ｘの遷移を推定することによって識別器を修正する処理アルゴリズムの例を図５のフローチャートに示した。
【００７３】
以下、学習部１０２が実施する処理をフローチャートに基づいて説明する。まず、入力として与えられるものは状態遷移前のサンプルで学習された学習済クラス識別器の関数（数５）、状態遷移前の正常サンプルから抽出された特徴量（数７）そして状態遷移後のサンプルから抽出された特徴量（数８）である。上述した通り、学習済識別器の関数（数５）はいかなる方法で定義されていても良い。この関数による識別器の性能に関わらず、本アルゴリズムでは与えられた学習済識別器の関数の出力に近い出力となる状態遷移後の関数（数６）が出力される。
【００７４】
まず、Ｓ３０９１０で、学習部１０２が、上記した学習済クラス識別器の関数（数５）、状態遷移前の第１計測データから抽出された特徴（数７）そして状態遷移後の第２計測データから抽出された特徴量（数８）を入力する。続いてＳ３０９１１では、学習部１０２が、Ｓｏｕｒｃｅ正常データ（第１訓練データのうち正常事例のラベルがついたデータまたはそれに対応する第１計測データ）の特徴分布を推定し、これを学習済クラスとする。推定する方法は様々有るが、ここでは例えばＫＤＥ等アルゴリズムよって数２および数３に例示したようなガウスカーネルモデルによって推定されるものとする。
【００７５】
次に、Ｓ３０９１２では学習部１０２が、Ｔａｒｇｅｔデータ（第２計測データ）の（特徴の）分布を推定する。Ｔａｒｇｅｔサンプルはオンラインで検査した際のサンプルであるため真のラベルは不明であり異常が混入している可能性が有る。一般的な異常検出タスクでは異常の発生頻度は僅かであるため、混入した異常をそのままにして状態遷移度を算出しても問題ない。しかし、Ｓ３０２でユーザ入力された異常の発生頻度が高い場合は、既に状態遷移度算出で説明した通り、異常らしいサンプルをＴａｒｇｅｔデータの分布から特定して排除する方法によってできるだけ正常らしいデータに絞っておけば良い。
【００７６】
そして、Ｓ３０９１３にて、学習部１０２が、以降で推定するＳｏｕｒｃｅデータ（第１計測データ）からＴａｒｇｅｔデータへ（第２計測データ）の変換行列を所定の値で初期化する。初期値として適した例として数９に例示する式などが挙げられる。
【００７７】
【数９】
2020177430.tif 000011
【００７８】
数９では入力ベクトルがＤ次元だとすると、初期値はＳｏｕｒｃｅとＴａｒｇｅｔで全く変動しない場合としてαはＤ×Ｄの単位行列、βはＤ次元列ベクトルで全次元が０としている。尚、ここでは一次関数で定義しているが、より複雑な変換が必要な場合は二次以上の関数を選択しても良い。ただし、通常は微小な変動のうちに実施するため、この変換を必要以上に複雑にしなくても良い。
【００７９】
そしてＳ３０９１４で、学習部１０２が、Ｓｏｕｒｃｅデータ（第１計測データ）の特徴からＴａｒｇｅｔデータ（第２計測データ）の特徴へのＸの変換行列を推定する。ここで推定する式は数１０に示す通りである。
【００８０】
【数１０】
2020177430.tif 000012
【００８１】
数１０に示す式により数９で初期化されたαとβを微小に変化させながら最適値が求まる。該式の第一項はＳｏｕｒｃｅデータのＸから推定される確率分布と、該ＸがＴａｒｇｅｔドメインでは分布内でどこに位置するか暫定で求め、その差を最小化することによって変換行列を求める項になっている。そして第二項は同一サンプル由来のＸのドメイン間の変動が大きくなることを抑制するための正則化項であり、定数εによって正則化の強度を調節することができる。
【００８２】
最終的にＳ３０９１５では、学習部１０２が、Ｓ３０４で求まったＳｏｕｒｃｅデータ（第１推定結果）からＴａｒｇｅｔデータ（第２推定結果）へのＸの変換行列から逆変換する行列を求める。さらに、これとＳｏｕｒｃｅデータのスコア関数によってＴａｒｇｅｔのスコア関数を求める。つまり、Ｔａｒｇｅｔ側で計測される特徴ベクトルｘを示すサンプルがＳｏｕｒｃｅ側で計測されていた場合のｘを求める。これを入力とした際のＳｏｕｒｃｅ側の識別器によって算出される異常度を出力する関数をＴａｒｇｅｔ側の識別関数としてセットしている。このような学習を行うことによって、訓練データの数が少なくても新しい環境に適応した識別器のパラメータを更新できる。また、人がラベル付けする必要がないので手間が省ける。
【００８３】
以上で、正常データを基準にして修正された識別器の（第２）パラメータが獲得された。上記処理が終了した時点で、図８（Ａ）の６０で示したプログレスバーは１００％を示す。次にＳ３０９２にて修正された識別器の第２パラメータに更新するかどうかをユーザに問う図８（Ｂ）に例示したメッセージを表示装置１０に表示する。このときユーザに提示される情報の内容は、Ｓ３０９０で表示されたメッセージに含まれる、識別器の修正が必要と判断された根拠の他、今回の識別器の修正によってどの程度それらの値が回復見込みであるか、の値を表示する。特に、正常データの分布基準の識別器更新処理を実施することによって、更新前では正常であるにも関わらず異常と判定していた事例の件数が削減される。よって、ここで自動更新することによって得られる性能向上の見込みを表示することによってユーザに識別器を更新する意義を示すことができる。
【００８４】
尚、ここで更新対象の識別器のパラメータが妥当なものであるか、入力画像の変化はどのようなものであったかを直感的に知らせるための表示として、先述した処理によって求めたＳｏｕｒｃｅとＴａｒｇｅｔ間の関係性を画像で表示する方法が有る。上記で求めた変換行列により、Ｓｏｕｒｃｅ側で入力された画像で表された対象がＴａｒｇｅｔ側でどのような画像として計測されるか、見た目の近い画像を対応付けて図８（Ｄ）に示したようにユーザに提示する。
【００８５】
もし、ＳｏｕｒｃｅとＴａｒｇｅｔで同一のサンプルを撮影している場合は完全に一致したサンプルの画像を表示すれば良い。しかし、本件ではＳｏｕｒｃｅとＴａｒｇｅｔで一致した正事例サンプルを使わなくても実行できる方法として説明しているため、特徴空間内で上記変換行列により遷移させた座標の近傍に存在する画像を表示することにより実現する。
【００８６】
ここで対応付けてペアにして表示する画像セットの事例選択を図６の分布の遷移のイメージ図で説明する。なお、ｘ軸は特徴量、ｙ軸は正常らしさのスコアを示す。図６のような分布の遷移をした対象で、ｓ１が新しい環境ではｔ１になると推測される。しかし、撮影した実サンプルにｔ１と一致する画像が存在することは稀であるため、特徴空間内でｔ１に最も近い座標に位置する画像をペアとして選択することで対応する。同様に、ｓ２に対応するペアはｔ２に特徴空間内で最も近い画像、といった具合にして対応付けて画像のペアを作る。
【００８７】
ユーザはこの対応付けされた２枚の画像の関係性を見て、環境変換に一貫性が有るかどうかを知り、正しい修正モデルが得られたかどうか判断することができる。
【００８８】
以上のようにしてＳｏｕｒｃｅとＴａｒｇｅｔ間の遷移ペアをいくつか作成し、ＧＵＩ上に表示した例が図８（Ｄ）である。該図では左側がＳｏｕｒｃｅサンプル、そしてそれらに対応するＴａｒｇｅｔサンプルの画像がその右に表示されている。つまりＳｏｕｒｃｅ環境で撮影されたサンプルＩＤＳ６８０１を、Ｔａｒｇｅｔ環境で撮影すると、サンプルＩＤＴ６９０５に近い外観として計測される。または、サンプルＩＤＳ６８０７を現在の環境で撮影したらＩＤＴ６９２１のような外観として計測される、ということを示している。
【００８９】
この対応関係がユーザにとって納得できるものであるかどうか、によって次の識別器修正に関する選択（６１〜６３）の判断に利用できる。全く関係のなさそうな２枚の画像がペアとして表示されている場合や、一連の組み合わせの間に共通する関係性が無いと思われる場合は、修正された識別器が誤っている可能性がある。
【００９０】
次に、上記した一連の情報を確認したユーザが最終的に判断を下し、入力する。そしてユーザの入力を受信しＳ３０９３で識別器を更新するかどうか決定する。Ｓ３０９３では、受付部がユーザから識別器の更新を行わない趣旨の入力を受け付けた場合は、Ｓ３０９１に進む。つまり、図８（Ｂ）で６３をユーザが選択しマウスポインタ等によりクリックした場合は、識別器は更新されることなく、Ｓ２０４に進む。
【００９１】
Ｓ３０９３では、図８（Ｂ）に例示したＧＵＩ上で６１を選択しマウスポインタ等によりクリックした場合、つまり、受付部がユーザから識別器の更新を行う趣旨の入力を受け付けた場合は、Ｓ３０９４に進む。Ｓ３０９４では、出力部１１０が、正常データ基準で修正された識別器によって修正前は検出できていた異常データで検出できなくなったものはないかチェックを促すメッセージを表示させる。
【００９２】
通常、正常系の１クラスを学習し、異常検知するタスクにおける転移学習を実施する場合、大量に存在する正常データを基準にした転移学習で期待する効果を充分満たすことが多い。なぜなら、正常系データの特徴空間内での遷移パターンと異常系データの特徴空間内での遷移パターンは類似するためである。
【００９３】
しかし、外観検査における異常検知では、精度良く異常を検出するために対象を撮影した際に異常領域が正常領域に対して際立って異なる性質を持つ領域として撮影されなければならない。このとき各々の異常種によって良好な撮影条件が限られているが、検査工程を短時間で実施するために、できるだけ少ない撮影条件で多くの異常種の異常領域を正常領域に対して際立たせて撮影（可視化）できるよう調整して利用することが望ましい。ここで可視化できていると判断するための必要最低限の基準としては、正常系のデータの持つノイズ成分よりも安定して信号レベルが大きく特徴抽出できる条件のことである。さらに各々の異常種によって撮影条件に関わるパラメータが変動した際の信号レベルの変動パターンが異なるため、これらを正常事例ベースで修正された識別器で検出できるかどうかは推測できないことが多い。
【００９４】
この異常信号の可視化の様子が正常事例の特徴空間内での遷移パターンだけでは予測が難しいという状態を図５に模式的に表した。図７は検査対象のサンプル３つ（正常、異常ｔｙｐｅ  Ａ、異常ｔｙｐｅ  Ｂ）を撮影条件設定パラメータに変動を与えながら撮影した様子を表している。撮影条件パラメータは様々考えられるが、図７は特定のパラメータを意図したものではなく、簡単のため該撮影パラメータを−４〜４まで変動させた例として表しており、場合によってはこれらが照明の明るさや撮影角度等を表す値を想定している。
【００９５】
このとき、Ｓｏｕｒｃｅ状態（学習時の第１の環境）では撮影条件パラメータが０に設定されていたが、現在は状態遷移（第２の環境）が発生しており、撮影条件パラメータが異なるパラメータになっている。状態遷移後の正常データが充分数有れば、図７の正常パターンはパラメータの増減に合わせて規則的に信号レベルが変動しているため状態遷移後の分布推定は容易であると考えられる。しかし、異常ｔｙｐｅ  Ａはもし撮影条件パラメータが２に有れば検出不可、異常ｔｙｐｅ  Ｂは−１〜１以外の場合は検出不可であると分かる。このような異常種の状態遷移後の信号レベルをＳｏｕｒｃｅデータのみから予測することはできない。
【００９６】
よって、Ｓ３０９１において正常系データ群を基準にして修正された識別モデルによって状態遷移後の正常を異常と誤判定することは抑制できても、各々の異常種が安定して検出できる状態に有るかどうかが不明である。そのため、Ｓｏｕｒｃｅ環境における信号レベルと比較してレベルが下がっているものが無いか確認する必要が有る。
【００９７】
Ｓ３０９５では、受付部１０３が、異常検知度をチェックするか否かの指示入力を受け付ける。Ｓ３０９４のメッセージに対し、Ｓ３０９５にてユーザが「異常検知精度チェックを実施する」を選択した場合、Ｓ３０９６に進む。Ｓ３０９５において、ユーザが「異常検知精度チェックを実施しない」を選択した場合、Ｓ３１９０に進む。
【００９８】
Ｓ３０９６では、推定部１０８が、Ｓｏｕｒｃｅ学習用で用いたＮＧサンプル７２を、再度現在の撮影環境で撮影したＮＧサンプル画像データを、パラメータ更新後の識別器に入力する。そうすることによって、正常らしさ／異常らしさスコアを推定する。ここのＳｏｕｒｃｅ学習用で用いたＮＧサンプルは、可能な限り発生しうるＮＧの多様な種類を含むものであると、各々の種類でどの程度環境変化による影響を受けるか知ることができるため、多くのＮＧ種を集めておくことが望ましい。
【００９９】
再撮影するＮＧサンプルはＳｏｕｒｃｅ環境で取得したスコアと同一サンプル同士の値を比較することが必要であることから、各サンプルで対応が取れなければならない。
【０１００】
そのため、例えば図９（Ａ）に示すように検査対象７６が搬送系７５によって搬送され、検査装置７３で撮像、検査をされるという検査ラインを考える。このとき、既にＳｏｕｒｃｅ環境における検査装置にて撮像済のＮＧサンプル７２を７１のサンプル保持部にて保存しておくようにしておくと良い。このとき、図８（Ｂ）にて６１を選択、マウスポインタ等クリックにより先述したＮＧサンプル再撮影工程が開始すると、検査ラインは図９（Ｂ）に示す状態になる。搬送系７５が止まり通常の検査工程が一時停止、検査対象７８は再撮影が終了するまでは搬送系の上で運搬されずに一時停止状態になる。一方で、実ＮＧサンプル７２が保持されていたサンプル保持部７１から実サンプルが７７のように再撮影用ラインを搬送されてきてＴａｒｇｅｔ環境で撮影が実施され撮影後のサンプルを７４の再撮影済サンプル保持部にて保持する。保持されたサンプルの格納順は搬送された順であるため７１に保持されていた順と完全に一致する。そのため、次の機会に再度同様の撮影を実施する場合も全く同じ順で比較するように７４に保持されたサンプルセットをそのまま７１に移動させておくと良い。
【０１０１】
そして、Ｓ３０９７では、判定部１０５が、認識精度が低下したＮＧサンプルデータの有無を判定する。つまり、これら再撮影を実施した全てのＮＧサンプルの中で、異常信号レベルが事前にユーザが設定した値以上に異常度スコアが低下した（正常らしさスコアが上昇した）サンプルが有るかを判定する。もし、異常信号レベルが閾値以上落ちたものが無ければ、Ｓ３１９０に進む。Ｓ２１５では、学習部が、識別器のパラメータを更新する。しかし、Ｓ３０９７で、再撮影されたＮＧサンプルの中で少なくとも１つでも異常信号が、設定した閾値より低下したものが存在すると判定された場合、Ｓ３０９８に進む。今まで検出できていた同種のＮＧが検出できなくなる可能性が有るためである。Ｓ３０９８では、出力部１１０が、具体的に異常検知レベルが下がったサンプルＩＤと対応する画像を表示させる。可視化レベルがどの程度になっているかを見せることによってどのような調整をすべきヒントとなるメッセージを表示する。このときのメッセージの例を図８（Ｃ）に示した。図８（Ｃ）には同一ＮＧサンプルをＳｏｕｒｃｅ環境で撮影された画像と今回撮影した場合を同時に表示しているため、これらを比較してユーザが以下の判断を実施することができる。
【０１０２】
例えば、明らかに可視化不十分になったことによって異常度スコアが低下した場合は、Ｓ３０９９で、学習部１０２が、ユーザによってラベルが修正された第２訓練データを用いて、識別器のパラメータを更新する。つまり、該ＮＧサンプルを調整対象にして撮影条件調整を実施（図８（Ｃ）６４を選択、クリックする）する。もしＮＧ領域の可視化レベルは下がっていないにも関わらず異常度スコアが低下した場合は、撮影条件を変える必要は無いがＳｏｕｒｃｅデータで学習した内容を基にした転移では不十分と判断することができる（例えば定義された特徴空間では表現しきれない）。そのため、初めから学習を実行すれば良いと判断できる（図８（Ｃ）６５を選択、クリックする）。初めから学習を実行する場合は、第２環境における物体の特徴（すなわち第２特徴）について、外観の状態がＯＫかＮＧかを示すラベルを付与し、識別器に与えることで学習（識別器のパラメータを調整）を行う。勿論、ここまでの結果を見て、撮影条件更新もせず、学習もせず修正された識別モデルに更新（図８（Ｃ）６６を選択、クリックする）しても良いし、何も更新しない（図８（Ｃ）６７を選択、クリックする）選択もできる。これらは全てＳ３０９９でユーザの選択により処理が決定する。
【０１０３】
以上、Ｓ３０９５でユーザが実サンプルを使った異常検知精度チェックをする場合の説明をしたが、検査対象の異常種の性質によって撮影環境の変化を大きく受けないことが分かっている場合が有る。その場合は図８（Ｂ）のＧＵＩ上で６２を選択してマウスポインタ等でクリックすることによりＳ３０９５で異常検知精度チェックしない選択をする。このようにすることによって、実サンプルを使った精度チェックプロセスはスキップされ、Ｓ３１９０にて自動的に修正された識別器に更新される。
【０１０４】
以上、転移学習（第２の学習）が終了すると、Ｓ３１０の通常検査ステップに移行する。Ｓ３１０では、推定部１０８が、更新された識別器に物体の計測データを入力することによって物体の状態を推定する。そしてＳ３１１で、受付部１０３が、検査の終了の指示を受けたか否かを判断する。終了指示があった場合は、処理を終える。終了指示がない場合は、処理を継続し、Ｓ３０４に戻る。オンライン検査終了するまでで、Ｓ３０４の状態遷移検知とＳ３１０の通常検査が繰り返される。
【０１０５】
これによって、識別器を使った物体の外観の状態において、異なる環境における推定結果の差を低減できる。検査実行中に状態遷移が起こったとしても、撮影条件の再調整や再学習等の回数を極力減らし、通常検査を継続することができる。
【０１０６】
尚、本実施形態では環境変動の要因を撮影環境の変化として説明したが、その他にも製造プロセスの微小な変化であっても同様である。ここで言う製造プロセスの微小な変化とは、例えば検査対象物を製造するのに用いられる材料の混合率を微小に変えた場合や、検査対象物の表面加工法を変えた等による変化等である。
【０１０７】
なお、図６において、６０００で示した範囲に含まれる特徴は第１パラメータを設定した識別器と更新後の第２パラメータを設定した識別器とで、正常らしさのスコアが異なって出力される。この範囲については、第２パラメータを設定した識別器の結果を優先的に出力してもよい。また、信頼度に基づいて好ましいパラメータを選択してもよい。また、ユーザによって好ましい推定結果（スコア）を選んでもよい。
【０１０８】
また、本実施形態は検査対象を撮影し、取得された画像によって検査する方法として説明したが、異音検査など入力が音声でかつ受音部と対象との関係が変動した場合であっても同様の方法によって対応できることは明らかである。つまり、識別対象および対象の性質を取得するセンサが何であっても、学習済のクラスに属するかどうかを識別するというタスクにおいて識別対象とセンサの関係性が学習時と比較して微小に変化するという問題は全て本実施形態に示した方法により解決される。
【０１０９】
以上で説明した方法では正常事例同士の分布間距離によってＳｏｕｒｃｅとＴａｒｇｅｔの差異を数値化し、これらを基準に識別器を更新して両者の判定結果を近付ける処理を説明したが、簡易に以下のように行っても良い。
【０１１０】
通常、状態遷移することによって最もユーザに認識されやすい不都合は、識別器の設定時と撮影条件が変わってしまったことによって本来なら正常であるサンプルを正常と判定することができず、異常判定率が上昇してしまうことである。よって、図３に表したフローチャートであればＳ３０２でユーザによって与えられた異常の発生頻度も同様にできる。また、Ｔａｒｇｅｔサンプルに対して現識別器で判定したラベル基準で求めたオンラインにおける異常の発生頻度の差分をＳ３０６で状態遷移度として求めても同様にできる。ただし、通常は異常の発生頻度はごく僅かであることが多いことから、僅かな状態遷移でもできるだけ早期に検知したいという場合はやはり正常事例同士の分布間距離を基準にした方が良い。
【０１１１】
（第２の実施形態）
第２の実施形態は、複数のデータの中から異常データを検出する異常検出タスクであって、異常検出タスクの中で対象から特徴抽出を行い、その抽出特徴を判断基準として事前に設定した識別器によって異常を検知するタスクに関する。該異常検知タスクで類似するタスクが同時に複数存在し、これら複数のタスクを処理する異なる識別器同士の判断結果の差を低減させる。
【０１１２】
ここではより具体的な説明をするため、異常検出の一例として生産現場での画像による自動化された外観検査を挙げる。
【０１１３】
例えば、同一製品／部品を製造するラインが複数存在する生産現場では、自動外観検査装置も各ラインに設置しなければならない。検査装置ごとに個別の学習や調整を実施する場合、各々の検査装置で学習用サンプルを用意して撮影して学習しなければならず、生産ラインの数だけ毎回立ち上げ時に同じ手間がかかるため、人手によるコストが大きくなってしまう。そこで、同一製品に対する検査基準は同じはずなので、１つの検査工程で学習された識別器の設定を流用して動作させることがある。しかし、実際は撮影環境等設定に僅かな違いが存在することによって、異なる装置で撮影される画像に図７に示されるような撮像画像の差が発生する傾向が表れる。このとき、流用した設定のままでは正しい識別ができず結局、全ての装置に対して人手による調整が必要となることが多い。
【０１１４】
そこで、検査装置ごとに個別の学習／調整を実施することなく最低限のコストで設定を行えるよう、１つの識別器で学習／調整されたパラメータ設定をその他の識別器の設定値の初期値としてコピーした後、各々で精度良く使えるように微修正する方法を説明する。
【０１１５】
本実施形態における外観検査のシステムの概念図も実施形態１で既に説明したシステムと同様図１に示される。上述した通り、本実施形態では図１同様の外観検査システムが複数存在している。１つの外観検査装置のみで正常／異常のラベル付きサンプルを用いて特許文献１等の方法によって充分に調整された識別器のパラメータセットのみが有り、その他の外観検査装置は調整されていないものとする。そして、調整前の識別器に該パラメータセットを初期設定として与え、以降説明する処理によって調整する。
【０１１６】
尚、本実施形態ではＳｏｕｒｃｅデータを先述した充分に調整された外観検査装置で撮像された画像から得られたデータである。Ｔａｒｇｅｔデータが未調整の外観検査装置で撮像された画像から得られたデータである。Ｓｏｕｒｃｅの設定をＴａｒｇｅｔにコピーした後Ｔａｒｇｅｔ側で利用できるように調整する方法である。よって、第１の実施形態とは調整対象が特定の時間経過した後の識別器自身であるか、類似した環境にある異なる識別器であるかの違いしかないため、ほぼ同様のアルゴリズムによって解決される。
【０１１７】
以下、図１０に示したフローチャートを用いて本実施形態の処理方法の概要について説明する。まず、Ｓ８００にて、第１取得部１０１が、Ｓｏｕｒｃｅデータ（第１訓練データ）の特徴量を取得する。これから調整する外観検査装置の識別器（以降、便宜上Ｔａｒｇｅｔ検査装置／識別器と呼ぶ）に、正常／異常のラベルを付与された学習サンプルからＳｏｕｒｃｅ検査装置にて抽出された特徴量セットが入力される。さらに、既に学習済の外観検査装置の識別器（Ｓｏｕｒｃｅ検査装置／識別器と呼ぶ）設定パラメータセットも入力する。これはユーザによってＳｏｕｒｃｅからＴａｒｇｅｔへ設定をコピーする指示を出すことによって達成される。次にＳ８０１において、抽出部１０７が、Ｔａｒｇｅｔ検査装置における検査対象サンプルを撮影した画像（第２計測データ）から特徴抽出する。これは、単純に生産ラインで発生する充分数のサンプルをそのまま外観検査装置に流して撮影、特徴抽出するもので有り、真の正常／異常のラベルは不明であって良い。該サンプルから抽出した特徴量データセットをＴａｒｇｅｔデータとする。Ｓ８０２において、学習部１０２が、ＳｏｕｒｃｅデータとＴａｒｇｅｔデータの差異を実施形態１の数１に示した式で算出される２つの分布間距離を最小化するように転移学習を実施する。数１におけるＳｏｕｒｃｅデータとＴａｒｇｅｔデータの分布は実施形態１と同様にＫＤＥ等によって推定して用いれば良い。そして、上記したＳｏｕｒｃｅデータとＴａｒｇｅｔデータの分布同士の分布間距離を最小化するプロセスについても、第１の実施形態と同様であるため図４に例示したフローチャートによって求めることができる。図４のフローチャートの各ステップについては既に説明済であるためここでは説明を省略する。一連の処理によってＳｏｕｒｃｅデータの分布からＴａｒｇｅｔデータの分布への変換行列を求め、Ｓｏｕｒｃｅ識別器を定義するパラメータセットを用いることによりＴａｒｇｅｔ検査装置に適するように修正された識別器を獲得することができる。
【０１１８】
ただし、微小な撮影条件の変化によって異常領域の可視化状態が変わる問題は本実施形態においても同様に発生しうる問題であり、任意の撮影パラメータにおいて異常に関わる信号の推移は図７に示される通り予測することは難しい。そこで、Ｓ８０３では、出力部１１０が、現段階で得られている修正済識別器による異常検知精度チェックを実施するか否かをユーザに問うメッセージを表示する。また、この際、第一の実施形態と同様にＳｏｕｒｃｅ画像とＴａｒｇｅｔ画像の関係を正しく算出できているかどうか判断する際の根拠となる図８（Ｄ）のような表示をしても良い。
【０１１９】
このメッセージに対してユーザが検出精度チェックを実施しなければ、Ｓ８０５にて、学習部１０２が、先述した修正された識別器に更新し、処理は終了する。もし、Ｓ８０４にてユーザが学習用ＮＧサンプルを用いた検出精度チェックを実施する、を選んだ場合はＳ８０６に移行する。Ｓ８０６では、推定部１０８が、Ｓｏｕｒｃｅ識別器を学習する際に用いたＮＧサンプルを調整用に利用する処理が実行される。Ｔａｒｇｅｔ識別器の存在する生産ラインにおいて図１のサンプル保持部７１に先述したＮＧサンプル７２をセットし、図９（Ｂ）のようにＴａｒｇｅｔ検査装置７３で再度撮影、特徴抽出が実施される。これによって、Ｔａｒｇｅｔ側で新しく抽出された特徴量は各々対応するサンプルについてＳｏｕｒｃｅ側で抽出された特徴量と対応付けて保存され、先述した修正された識別器による異常度スコアが算出される。続いてＳ８０７にて、検知部１０９が、Ｓｏｕｒｃｅ識別器で算出した異常度スコアと比較して異常度スコアが大きく減少したデータがあるか検知する。無ければＳ８０５にて、学習部１０２が、修正された識別器のパラメータを更新する。検知精度が落ちた対象が有れば、Ｓ８０８にて出力部１１０が、メッセージを表示する。このときのメッセージは図８（Ｃ）同様であり、スコアの変動と画像の可視化状態を基にして撮影条件の修正を実施するか、学習を実施するかの入力をユーザから受け付ける。そして、Ｓ８０９にて、学習部１０２が、初めから識別器のパラメータを更新する、または撮影条件の調整が実施されるなどして入力画像が調整されることによって識別器のパラメータをさらに更新する。
【０１２０】
尚、本実施形態ではＳｏｕｒｃｅ検査装置とＴａｒｇｅｔ検査装置の２つの装置の異なる環境の要因を微小な撮影環境の違いとして説明したが、その他にも製造プロセスの微小な違いであっても同様である。ここで言う製造プロセスの微小な違いとは、例えば検査対象物を製造するのに用いられる材料の混合率が微小に異なる場合や、検査対象物の表面加工法が僅かに異なる等による差異である。例えば、特定の部品を製造している生産ラインが存在し、後から先述した部品をマイナーチェンジさせたような部品として先述したように表面の加工状態を多少変えた物や材料の配合率を僅かに変えた部品を製造する生産ラインは多く存在する。しかしそれらの設定を探索する際、完全に全パラメータ空間から新規に良条件を探索するより、以前の似た状況に近い条件と近い設定で探索し調整することによって低コストで探索することができる。
【０１２１】
また、本実施形態は検査対象を撮影し、取得された画像によって検査する方法として説明したが、異音検査など入力が音声でかつ受音部と対象との関係に差異が有る場合であっても同様の方法によって対応できることは明らかである。つまり、対象および対象を計測するセンサが何であっても、学習済のクラスに属するかどうかを識別するというタスクにおいて識別対象とセンサの関係性がＳｏｕｒｃｅ側とＴａｒｇｅｔ側で微小に異なるという問題は本実施形態に示した方法により解決される。
【０１２２】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【０１２３】
１２  情報処理装置
１０  表示装置
１１  入力装置
１３  撮像装置
１４  照明装置
１００  保持部
１０１  第１取得部
１０２  学習部
１０３  受付部
１０４  設定部
１０５  判定部
１０６  第２取得部
１０７  抽出部
１０８  推定部
１０９  検知部
１１０  出力部
【図１】
2020177430.tif 000013
【図２】
2020177430.tif 000014
【図３】
2020177430.tif 000015
【図４】
2020177430.tif 000016
【図５】
2020177430.tif 000017
【図６】
2020177430.tif 000018
【図７】
2020177430.tif 000019
【図８】
2020177430.tif 000020
【図９】
2020177430.tif 000021
【図１０】
2020177430.tif 000022