(57)【特許請求の範囲】
【請求項１】
不良候補画像をディスプレイ装置に表示させるとともに２次検査として入力デバイスを介して前記不良候補画像についての判別結果の情報を取得する過検出検証装置が表示する前記不良候補画像を前記ディスプレイ装置への表示のための媒体から読み取る画像取得部と、
前記画像取得部が読み取った前記不良候補画像の内容に基づく判別処理を行って判別結果を出力する自動判別部と、
前記判別結果に応じた信号であって、前記過検出検証装置に接続される入力デバイスを介して前記過検出検証装置が表示する画面に含まれる「不良」のボタンあるいは「良」のボタンのいずれかを押下するのと等価な信号を生成させる判別結果出力部と、
を具備する自動判別処理装置。
【請求項２】
前記自動判別部は、前記不良候補画像と前記判別結果との関係について機械学習済のモデルを保持しており、前記モデルを前記画像に適用することによって前記判別処理を行う、
請求項１に記載の自動判別処理装置。
【請求項３】
前記過検出検証装置は、電子回路を光学的に読み取ることによって検出された前記不良候補画像を表示出力するものであり、
前記自動判別部は、前記不良候補画像に基づき前記電子回路が良または不良のいずれであるかを判別する処理を行って前記判別結果を出力する、
請求項１または２に記載の自動判別処理装置。
【請求項４】
前記入力デバイスは、マウスまたはキーボードの少なくともいずれかであって、
前記入力デバイスがマウスである場合には、前記判別結果出力部は、マウスのイベントを発生させることにより、前記「不良」のボタンまたは前記「良」のボタンのいずれかの領域内にマウスカーソルを移動させてからマウスをクリックさせる信号を生成させ、
前記入力デバイスがキーボードである場合には、前記判別結果出力部は、キーボードのイベントを発生させることにより、フォーカスを前記「不良」のボタンまたは前記「良」のボタンのいずれかに移動させてから決定の操作の信号を生成させる、
請求項１から３までのいずれか一項に記載の自動判別処理装置。
【請求項５】
処理手順が記述されたシナリオを実行するシナリオ実行部、
を具備し、
前記シナリオは、前記シナリオ実行部を、前記画像取得部と前記判別結果出力部として機能させるものである、
請求項１から４までのいずれか一項に記載の自動判別処理装置。
【請求項６】
前記シナリオ実行部は、前記シナリオを実行することにより、さらに、前記過検出検証装置が前記ディスプレイ装置に前記画像を表示させるために必要な処理手順を遂行する、
請求項５に記載の自動判別処理装置。
【請求項７】
不良候補画像をディスプレイ装置に表示させるとともに２次検査として入力デバイスを介して前記不良候補画像についての判別結果の情報を取得する過検出検証装置が表示する前記不良候補画像を前記ディスプレイ装置への表示のための媒体から読み取る画像取得過程と、
前記画像取得過程で読み取った前記不良候補画像の内容に基づく判別処理を行って判別結果を出力する自動判別過程と、
前記判別結果に応じた信号であって、前記過検出検証装置に接続される入力デバイスを介して前記過検出検証装置が表示する画面に含まれる「不良」のボタンあるいは「良」のボタンのいずれかを押下するのと等価な信号を生成させる判別結果出力過程と、
を含む自動判別処理方法。
【請求項８】
コンピューターを、
請求項１から６までのいずれか一項に記載の自動判別処理装置、
として機能させるためのプログラム。
【請求項９】
コンピューターを、
請求項１から６までのいずれか一項に記載の自動判別処理装置、
として機能させるためのプログラムを記録した記録媒体。
【請求項１０】
光学的に撮影した画像に基づいて、１次検査として、不良候補画像を検出する光学検査装置と、
前記光学検査装置が検出した前記不良候補画像をディスプレイ装置に表示させるとともに、２次検査として、入力デバイスを介して前記不良候補画像についての判別結果の情報を取得する過検出検証装置と、
請求項１から６までのいずれか一項に記載の自動判別処理装置と、
を含む検査システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動判別処理装置、自動判別処理方法、検査システム、プログラム、および記録媒体に関する。
【背景技術】
【０００２】
樹脂製のフィルムに銅箔の配線パターンが形成されたプリント基板などの検査には、一般的に、カメラを用いた光学式検査が用いられる。光学式検査では、コンピューターにより検査対象物の撮像画像を参照画像と比較する画像処理を行って欠陥を検出する方法が広く用いられている。しかしながら、上記の方法では、本来欠陥でない部分を誤って欠陥と認識するいわゆる過検出（虚報）が発生する可能性がある。したがって、コンピューターによる画像処理結果を、作業者が再チェックしなければならないという問題がある。
【０００３】
特許文献１には、上記の過検出を減らすために、欠陥を検出のための基準を調整する技術が記載されている。具体的には、特許文献１の段落０００６には、「虚報および見逃しの少なくとも一方の発生を抑制して、欠陥の検出精度を向上させることのできる、検査方法」等を提供することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第６２１８０９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
コンピューターによる画像処理の結果として報告された欠陥が、真の欠陥（真報）であるか、偽の欠陥（つまり、虚報（過検出））であるかを、効率よく判別できるようにすることが望ましい。
【０００６】
従来の技術では、過検出検証装置（あるいは過検出検証プログラム）は、コンピューターによる画像処理の結果として報告された欠陥を有する画像を、コンピューターの画面上に表示していた。また、作業者（人）が、画面に表示された画像を目視して確認し、真報であるか虚報であるかを判別していた。そして、作業者が、キーボードやマウスなどといった入力デバイスを用いて、判別結果を、過検出検証装置等に入力していた。このような人による作業を削減できるようにすることが、検査の効率化につながる。
【０００７】
また、検査を効率化するにあたって、従来のシステム（過検出検証装置等）に加える改変をできるだけ少なくすることが、検査設備への投資効率の向上につながる。
【０００８】
本発明は、上記の課題認識に基づいて行なわれたものであり、表示された画像を目視して判別する作業を効率化するとともに、従来の設備への改変をできる限り少なく済ませることのできる自動判別処理装置、自動判別処理方法、検査システム、プログラム、および記録媒体を提供しようとするものである。
【課題を解決するための手段】
【０００９】
［１］上記の課題を解決するため、本発明の一態様による自動判別処理装置は、外部装置がディスプレイ装置に表示する画像を前記ディスプレイ装置への表示のための媒体から読み取る画像取得部と、前記画像取得部が読み取った前記画像の内容に基づく判別処理を行って判別結果を出力する自動判別部と、前記判別結果に応じた信号であって、前記外部装置に接続される入力デバイスを介して情報を入力する場合と等価な信号を生成させる判別結果出力部とを具備するものである。
【００１０】
［２］また、本発明の一態様は、上記の自動判別処理装置において、前記自動判別部は、前記画像と前記判別結果との関係について機械学習済のモデルを保持しており、前記モデルを前記画像に適用することによって前記判別処理を行う、ものである。
【００１１】
［３］また、本発明の一態様は、上記の自動判別処理装置において、前記外部装置は、電子回路を光学的に読み取ることによって検出された不良候補画像を前記画像として表示出力するものであり、前記自動判別部は、前記不良候補画像に基づき前記電子回路が良または不良のいずれであるかを判別する処理を行って前記判別結果を出力する、ものである。
【００１２】
［４］また、本発明の一態様は、上記の自動判別処理装置において、前記入力デバイスは、マウスまたはキーボードの少なくともいずれかである、というものである。
【００１３】
［５］また、本発明の一態様は、上記の自動判別処理装置において、処理手順が記述されたシナリオを実行するシナリオ実行部、を具備し、前記シナリオは、前記シナリオ実行部を、前記画像取得部と前記判別結果出力部として機能させるものである。
【００１４】
［６］また、本発明の一態様は、上記の自動判別処理装置において、前記シナリオ実行部は、前記シナリオを実行することにより、さらに、前記外部装置が前記ディスプレイ装置に前記画像を表示させるために必要な処理手順を遂行する、ものである。
【００１５】
［７］また、本発明の一態様は、外部装置がディスプレイ装置に表示する画像を前記ディスプレイ装置への表示のための媒体から読み取る画像取得過程と、前記画像取得過程で読み取った前記画像の内容に基づく判別処理を行って判別結果を出力する自動判別過程と、前記判別結果に応じた信号であって、前記外部装置に接続される入力デバイスを介して情報を入力する場合と等価な信号を生成させる判別結果出力過程と、を含む自動判別処理方法である。
【００１６】
［８］また、本発明の一態様は、コンピューターに、外部装置がディスプレイ装置に表示する画像を前記ディスプレイ装置への表示のための媒体から読み取る画像取得過程と、前記画像取得過程で読み取った前記画像の内容に基づく判別処理を行って判別結果を出力する自動判別過程と、前記判別結果に応じた信号であって、前記外部装置に接続される入力デバイスを介して情報を入力する場合と等価な信号を生成させる判別結果出力過程と、の処理を実行させるプログラムである。
【００１７】
［９］また、本発明の一態様は、コンピューターに、外部装置がディスプレイ装置に表示する画像を前記ディスプレイ装置への表示のための媒体から読み取る画像取得過程と、前記画像取得過程で読み取った前記画像の内容に基づく判別処理を行って判別結果を出力する自動判別過程と、前記判別結果に応じた信号であって、前記外部装置に接続される入力デバイスを介して情報を入力する場合と等価な信号を生成させる判別結果出力過程と、の処理を実行させるプログラムを記録した記録媒体である。
【００１８】
［１０］また、本発明の一態様は、光学的に撮影した画像に基づいて、１次検査として、不良候補画像を検出する光学検査装置と、前記光学検査装置が検出した前記不良候補画像をディスプレイ装置に表示させるとともに、２次検査として、入力デバイスを介して前記不良候補画像についての判別結果の情報を取得する過検出検証装置と、上記［１］から［６］までのいずれかに記載の自動判別処理装置と、を含む検査システムである。
【発明の効果】
【００１９】
本発明によれば、外部装置がディスプレイ装置に表示する画像についての判別と、判別結果に基づく応答とを、自動化することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１実施形態による検査システムの機能構成を示すブロック図である。
【図２】コンピューターを用いて同実施形態による検査システムを実現する場合の、プログラムの構成を示す概略図である。
【図３】同実施形態による自動判別処理装置が、所定のシナリオに基づいて動作するときの処理手順を示すフローチャートである。
【図４】同実施形態による自動判別処理装置の、図３の処理手順に対応するシナリオを表すテキストデータの一例を示す概略図である。
【図５】同実施形態による過検出検証装置が表示する画面（ユーザーインターフェース）の例を示す概略図である。
【図６】同実施形態によるシナリオ実行部において特定のシナリオを実行させた場合の、シナリオ実行部の機能構成の概略を示すブロック図である。
【図７】第２実施形態による検査システムの機能構成を示すブロック図である。
【発明を実施するための形態】
【００２１】
次に、本発明の実施形態について説明する。
【００２２】
［第１実施形態］
図１は、本発明の一実施形態である検査システムの機能構成を示すブロック図である。図示するように、検査システム３は、自動判別処理装置１と、過検出検証装置２と、光学検査装置９とを含んで構成される。自動判別処理装置１は、シナリオ編集部１２と、シナリオ記憶部１３と、シナリオ実行部１４と、自動判別部１５とを含む。また、検査システム３は、入出力のための機能の一部として、画像メモリー２１と、指示処理部２２とを含む。これら各部の機能は、電子回路を用いて実現される。なお、これら各部の少なくとも一部の機能を、コンピューターおよびプログラムで実現するようにしてもよい。過検出検証装置２は、自動判別処理装置１側から見た場合の「外部装置」である。検査システム３に含まれる機能の概略は、次の通りである。
【００２３】
検査システム３は、ロボティックプロセスオートメーション（ＲＰＡ）方式を利用して、従来は人が判断していたプロセスを自動化して構成されるシステムであり。具体的には、検査システム３では、従来は人による操作および判断を必要としていた過検出検証装置２が、人が介さずに稼働できるようにする。そのための方法として、自動判別処理装置１は、過検出検証装置２が画面に出力する不良候補画像をキャプチャーして、人工知能の技術を用いて、自動的に良（good）か不良（no good）かの判別（２次検査）を行う。また、自動判別処理装置１は、判別結果を自動的に過検出検証装置２に入力する。
【００２４】
これにより、自動判別処理装置１は、画像に基づき自動的に判別処理を行う。したがって、検査システム３では、光学検査装置９から１次検査の結果として出力される不良候補画像を、一つ一つ人の目で見て判定する必要がない。また、自動判別処理装置１は、判別結果に基づき、マウスやキーボード等をエミュレートする信号を自動的に過検出検証装置２に供給する。人が、マウスやキーボードを用いて判別結果を入力する必要がない。また、このように自動判別処理装置１を構成することにより、２次検査を行うために人の判断や人の操作を必要としない。
【００２５】
つまり、自動判別処理装置１は、ＲＰＡ方式を利用して、次のように動作する。即ち、自動判別処理装置１は、過検出検証装置２によってディスプレイに表示される不良候補画像のイメージをキャプチャーする。また、自動判別処理装置１は、人工知能の技術を用いて、つまり学習処理済みの機械学習モデルを用いて、上記不良候補画像を判別する。判別結果は、良または不良（真に不良）である。判別結果が良である場合、自動判別処理装置１は、マウスまたはキーボードのイベントを自動的に発生させることによって、不良候補画像が実際には「良」である（過検出である）ことを示す信号を、過検出検証装置２側に返すようにする。判別結果が不良である場合、自動判別処理装置１は、マウスまたはキーボードのイベントを自動的に発生させることによって、不良候補画像が真に「不良」である（過検出ではなかった）ことを示す信号を、過検出検証装置２側に返すようにする。上記のように、自動判別処理装置１と過検出検証装置２との間のインターフェースは、ディスプレイ装置や、マウスまたはキーボード等を介するものである。つまり、既存の過検出検証装置２を改変することなく（例えば、そのプログラムを修正したりすることなく）、２次検査の自動化を実現することができる。
【００２６】
光学検査装置９は、内部にカメラを有しており、カメラを用いて回路基板等を撮影し、１次検査として、その画像に基づいて回路等の不良箇所の候補を検出する。光学検査装置９は、検出された不良箇所を含む製品（回路基板等）に関して、その画像（不良候補画像、ＮＧイメージ）を出力する。光学検査装置９は、不良候補画像を、過検出検証装置２に渡す。なお、光学検査装置９が出力する不良候補画像は、グレースケール画像であってもよいし、カラー画像であってもよい。また、光学検査装置９自体は、既存の技術を用いて実現可能である。
【００２７】
回路基板は、例えば、樹脂の板上に金属薄膜による配線を形成したものである。なお、回路基板上で、金属による配線が存在する領域を配線領域と呼び、その他の領域（金属による配線が存在しない領域）を空間領域と呼ぶ。そういった回路基板における不良の例には、次のようなものがある。第１に、接続されているべき１つの配線領域が空間領域によって２つまたはそれ以上の配線領域に隔てられた不良があり、これは「オープン」と呼ばれる。第２に、空間領域によって隔てられているべき２つの配線領域が互いに電気的に接続状態となる不良があり、これは「ショート」と呼ばれる。第３に線状の配線領域の長手方向と直交する方向の幅が所定の許容範囲以上に欠けている不良があり、これは「欠け」と呼ばれる。第４に、線状の配線領域の長手方向と直交する方向の幅が所定の許容範囲以上に広がっている不良があり、これは「突起」と呼ばれる。第５に、本来は空間領域であるべき領域の一部分にアイランド状上に配線が存在してしまっている不良があり、これは「アイランド」と呼ばれる。第６に、本来は配線領域であるべき領域として広がっている箇所の一部分にピンホール状に空間が存在してしまっている不良があり、これは「ピンホール」と呼ばれる。なお、ここに列挙した種類以外の不良もあり得る。これらの不良のいずれかを含む可能性がある回路基板は、１次検査として、光学検査装置９によってピックアップされる。
【００２８】
過検出検証装置２は、光学検査装置９から出力される不良候補画像が、真に不良製品を撮影した画像（真報）であるか、不良ではない製品を撮影した画像（虚報、過検出）であるかを判定する（２次検査）ための装置である。この判定のため、本来、過検出検証装置２は、上記の不良候補画像をコンピューターのディスプレイ装置に表示させるための処理を行う。また、本来の過検出検証装置２は、ディスプレイ装置に表示された不良候補画像を見た人（作業者）の判定結果を、入力デバイス（例えば、キーボードやマウス等）から取得する。そして、過検出検証装置２は、入力された判定結果（良または不良）に基づいて、元の製品を区別する処理を行う。過検出検証装置２自体は、既存の技術を用いて実現可能である。
【００２９】
本実施形態では、自動判別処理装置１が、上記の作業者に代わって、自動的に、判定（２次検査）を行う。そのために、自動判別処理装置１は、過検出検証装置２がディスプレイ装置に表示した不良候補画像（判定対象画像）を、画像メモリー２１から取得する。自動判別処理装置１は、取得した画像について、良／不良の判別を自動的に行い、判別結果を出力する。また、自動判別処理装置１は、本来は作業者が行っていた入力デバイス（キーボードやマウス等）からの入力と等価な信号（上記の判別結果に応じた信号）を、指示処理部２２を経由して、過検出検証装置２に渡す。
【００３０】
画像メモリー２１は、過検出検証装置２がディスプレイ装置に表示させる画像を少なくとも一時的に保持するメモリーである。画像メモリー２１は、例えば、半導体メモリー（読み書き可能なＲＡＭ（ランダムアクセスメモリー）等）を用いて実現される。画像メモリー２１は、通常、コンピューターのディスプレイ装置のドライバーによって管理されるメモリーである。本実施形態では、自動判別処理装置１が、画像メモリー２１にアクセスし、画像メモリー２１が保持する画像を取得できるように構成されている。
【００３１】
指示処理部２２は、例えば、マウスやキーボードなといった入力デバイスからの信号に基づき、その信号内容に対応する情報を過検出検証装置２側に渡す機能を有するものである。指示処理部２２は、通常、マウスやキーボードなどといった入力デバイスのドライバーとして実現される。本実施形態では、自動判別処理装置１が、マウスやキーボードを仮想的に操作し、それらの操作に対応した信号を指示処理部２２に供給するように構成されている。
【００３２】
なお、ここでは、例としてキーボードやマウスを用いて指示を行う場合の説明をしたが、他のデバイスを用いて過検出検証装置２への情報の入力を行えるようにしてもよい。例えば、キーボードやマウスの他に、タッチパネルや、タッチペンや、音声や、光学パターン（バーコードあるいは２次元コード）リーダー等を用いるようにしてもよい。いずれの場合も、指示処理部２２は、自動判別処理装置１からの指示に基づき、物理的な入力デバイスを操作したときと同様の信号を、過検出検証装置２に渡す。
【００３３】
自動判別処理装置１は、前述の通り、シナリオ編集部１２と、シナリオ記憶部１３と、シナリオ実行部１４と、自動判別部１５とを有しており、シナリオ記憶部１３に記憶されたシナリオを実行することによって、２次検査に相当する処理を実行する。
【００３４】
シナリオ編集部１２は、自動判別処理装置１が実行するためのシナリオを編集するものである。シナリオは、シナリオ記述用の言語を用いて記述される。シナリオ記述用の言語は、文字の列として表される言語であってもよいし、図形を組み合わせて表される図形的言語であってもよい。シナリオ編集部１２は、ユーザーインターフェースを有している。ユーザーは、そのユーザーインターフェースを通して（例えば、文字データのエディター機能等を用いて）、シナリオを編集することができる。シナリオ編集部１２は、編集結果であるシナリオを、シナリオ記憶部１３に書き込む。
【００３５】
シナリオ記憶部１３は、シナリオを記憶しておくものである。シナリオは、テキストデータの形式や、バイナリーデータの形式で、適宜、記憶される。シナリオ記憶部１３は、例えば、半導体メモリーや磁気ディスク装置等を用いて実現される。シナリオ記憶部１３に記憶されているシナリオは、シナリオ編集部１２やシナリオ実行部１４によって参照可能である。シナリオは、シナリオ編集部１２によって編集され得る。シナリオは、シナリオ実行部１４によって実行され得る。
【００３６】
シナリオ実行部１４は、シナリオ記憶部１３からシナリオを読み出し、そのシナリオを実行させるものである。シナリオ実行部１４は、例えば、インタープリター方式や、コンパイラー方式等の、適切な方式で、シナリオを実行する。本実施形態におけるシナリオ実行部１４は、具体的な処理として、画像メモリー２１から画像のデータを読み込み、その画像（判別対象画像）を自動判別部１５に渡すことができる。また、シナリオ実行部１４は、自動判別部１５から判別結果を受け取り、その判別結果に基づく信号を、指示処理部２２に渡すことができる。
【００３７】
自動判別部１５は、シナリオ実行部１４から受け取った画像（製品に関する判別対象画像）について判別処理を行い、その判別結果をシナリオ実行部１４に返すものである。具体例として、自動判別部１５は、製品の不良候補画像を、判別対象画像としてシナリオ実行部１４から受け取る。そして、自動判別部１５は、その画像に含まれる製品が、真の不良である（真報）であるか、不良ではない（虚報）であるかを判別する。つまり、自動判別部１５は、自動判別過程を実行する。
【００３８】
自動判別部１５は、例えば、機械学習の手法を用いて、上記の判別処理を行う。つまり、自動判別部１５は、機械学習モデルを内部に有している。機械学習モデルの一例として、ニューラルネットワークを用いてもよい。この機械学習モデルは、予め学習済みである。つまり、自動判別部１５は、学習データとして正例（真報）の画像と負例（虚報）の画像を正解付きで予め大量に用意し、その学習データを用いた機械学習処理を予め実施しておく。したがって、学習済みの機械学習モデルは、入力される未知の判別対象画像に対して、正しい判別処理を行うことができる。
【００３９】
図２は、コンピューターを用いて検査システム３を実現する場合の、プログラムの構成を示す概略図である。図示するように、検査システム３に含まれるプログラムは、アプリケーション層（Application Layer）、イベントハンドリング層（Event Layer）、オペレーティングシステム層（Operating System Layer ）の、いずれかの層に属するように構成される。オペレーティングシステム層には、オペレーティングシステム１４１が属する。イベントハンドリング層には、表示出力部１２１と、マウスイベント処理部１２２と、キーボードイベント処理部１２３とが属する。アプリケーション層には、自動判別アプリケーションと、過検出検証アプリケーション１０２とが属する。これらのプログラムは、いずれも、ＣＰＵ（中央処理装置）やメモリー等を有する実行環境において実行される。
【００４０】
オペレーティングシステム１４１は、コンピューターの資源（ＣＰＵ時間、メモリー、入出力機器等）の全体を、適切に制御し、コンピューター上で稼働する各プロセスに適宜割り当てるものである。オペレーティングシステム１４１としては、例えば、Ｗｉｎｄｏｗｓ（ウィンドウズ）、Ｌｉｎｕｘ（リナックス）、ＵＮＩＸ（ユニックス）等（それぞれ、登録商標）が用いられる。
【００４１】
自動判別アプリケーション１０１は、与えられる製品（電子回路等）の画像を基に、その良あるいは不良を判別する機能を有するプログラムである。自動判別アプリケーション１０１は、図１における自動判別処理装置１に対応する機能を有する。自動判別アプリケーション１０１は、いわゆるＲＰＡ（Robotic Process Automation）を実現するものである。なお、自動判別アプリケーション１０１は、「RPA Judgement Application」とも呼ばれる。
【００４２】
過検出検証アプリケーション１０２は、１次検査の結果として得られる、製品（電子回路等）の不良候補画像を画面に表示し、その２次検査結果（良あるいは不良）の入力を受け付ける機能を有するプログラムである。言い換えれば、過検出検証アプリケーション１０２は、光学検査装置９（図１）による１次検査において不良と判定された画像の再判定を行うための機能を有する。過検出検証アプリケーション１０２は、図１における過検出検証装置２に対応する機能を有する。なお、過検出検証アプリケーション１０２は、「Verification Application」とも呼ばれる。
【００４３】
表示出力部１２１や、マウスイベント処理部１２２や、キーボードイベント処理部１２３は、それぞれ、コンピューターの入出力のイベントを適切にハンドリングするものである。これらの、イベントハンドリング層に属するプログラムは、コンピューターに接続されている様々な入出力デバイスを制御するためのものである。
【００４４】
表示出力部１２１は、プログラムから出力される画像を、ディスプレイ装置において表示可能な画像信号に変換して出力する。なお、表示出力部１２１は、図１に示した画像メモリー２１を内部に持ち、管理する。つまり、本実施形態において、表示出力部１２１は、過検出検証アプリケーション１０２がディスプレイ装置に表示しようとする画像を、自動判別アプリケーション１０１が取得できるようにする機能を有する。
【００４５】
マウスイベント処理部１２２は、ポインティングデバイスであるマウスの信号を受け取り、その信号に基づいてマウスのイベントを生成し、プログラムに渡す。マウスのイベントとは、マウスカーソルの移動や、マウスのボタン（右ボタン、左ボタン等）の各種のクリック（シングルクリック、ダブルクリック等）や、マウスホイールが存在する場合にはマウスホイールの回転等である。本実施形態では、マウスイベント処理部１２２は、マウスからの信号を代替するための指示を自動判別アプリケーション１０１から受け取り、その指示に基づいてマウスのイベントを生成し、必要に応じてオペレーティングシステム１４１を経由して、そのイベントを過検出検証アプリケーション１０２に渡す。
【００４６】
キーボードイベント処理部１２３は、文字等を入力するためのデバイスであるキーボードの信号を受け取り、その信号に基づいてキーボードのイベントを生成し、プログラムに渡す。キーボードのイベントとは、特定のキーボードが押下されたことに対応するイベントである。本実施形態では、キーボードイベント処理部１２３は、キーボードからの信号を代替するための指示を自動判別アプリケーション１０１から受け取り、その指示に基づいてキーボードのイベントを生成し、必要に応じてオペレーティングシステム１４１を経由して、そのイベントを過検出検証アプリケーション１０２に渡す。
【００４７】
上記のように、マウスイベント処理部１２２やキーボードイベント処理部１２３は、それぞれ、人がマウスやキーボードを操作したかのような作用を、過検出検証アプリケーション１０２に及ぼすことが可能である。本実施形態では、マウスイベント処理部１２２やキーボードイベント処理部１２３は、自動判別アプリケーション１０１から出力される判別結果に応じて、それぞれ適切なイベントを発生させる。なお、ここでは、入力デバイスの例としてマウスやキーボードを用いる場合について説明したが、他の入力デバイス（例えば、タッチパネルや、タッチペンや、音声や、光学パターン（バーコードあるいは２次元コード）リーダー。ただし、これらに限定されない。）を用いる場合には、各デバイスをハンドリングするためのプログラムを、イベントハンドリング層に置くようにする。
【００４８】
不良候補画像が虚報（つまり、過検出）であった場合、言い換えれば、不良候補画像に対応する製品の状態が「良」であった場合には、マウスイベント処理部１２２やキーボードイベント処理部１２３等は、その判別結果に対応するイベント（マウス操作やキーボード操作）を発生させる。これにより、過検出検証装置２側には、不良候補画像が虚報であったことが伝達される。一方、不良候補画像が真報（つまり、真の不良であることを表す）であった場合、言い換えれば、不良候補画像に対応する製品の状態が「不良」であった場合には、マウスイベント処理部１２２やキーボードイベント処理部１２３等は、その判別結果に対応するイベント（マウス操作やキーボード操作）を発生させる。これにより、過検出検証装置２側には、不良候補画像が真報であったことが伝達される。
【００４９】
図３は、自動判別処理装置１が、所定のシナリオの例に基づいて動作するときの処理手順を示すフローチャートである。以下、このフローチャートに沿って動作手順を説明する。
【００５０】
まず、ステップＳ１において、自動判別処理装置１は、終了条件が真であるか否かを判定する。終了条件が真である場合（ステップＳ１：ＹＥＳ）には、本フローチャート全体の処理を終了する。終了条件が真ではない場合（ステップＳ１：ＮＯ）には、次のステップＳ２に進む。なお、終了条件とは、例えば、次の判定対象画像がないこと（end of images）である。次の判定対象画像の有無は、適宜、シナリオ実行部１４に通知されるものである。あるいは、他の終了条件（例えば、オペレーターから処理終了の指示があること）を加えてもよい。
【００５１】
次に、ステップＳ２において、シナリオ実行部１４は、判別対象画像を表示させるまでの手順を実行する。この手順は、例えば、指示処理部２２に対してマウスあるいはキーボード等に関する操作の処理を指示する処理を含んでいてもよい。本ステップを実行することによって、過検出検証装置２は、判別対象画像をディスプレイ装置に表示するための処理を行う。
【００５２】
次に、ステップＳ３において、判別対象画像がディスプレイ装置に表示されたことを検知したら、シナリオ実行部１４は、ディスプレイ装置の画面をキャプチャーする。具体的には、シナリオ実行部１４は、画像メモリー２１から、画面全体の画像のデータを取得する。なお、判別対象画像がディスプレイ装置に表示されたことを検知するためには、例えば、シナリオ実行部１４は、画面内の所定の領域に特定の画像が表示されているか否かを判定する。
【００５３】
次に、ステップＳ４において、シナリオ実行部１４は、ステップＳ３でキャプチャーした画像から、判別対象画像の領域を抽出する。例えば、キャプチャーした画面上における判別対象画像の領域の位置（例えば、長方形の領域の、左上隅および右下隅のそれぞれのポイントの、Ｘ座標およびＹ座標）が既知である場合、シナリオ実行部１４は、当該座標値を用いて、判別対象画像をカットする。
【００５４】
次に、ステップＳ５において、シナリオ実行部１４は、ステップＳ４で抽出した判別対象画像を、自動判別部１５に渡す。自動判別部１５は、渡された画像（不良候補画像）が、真報（不良）であるか、虚報（良）であるかを判別する処理を実行する。
【００５５】
次に、ステップＳ６において、シナリオ実行部１４は、自動判別部１５から、判別結果を取得する。判別結果は、真報（不良）または虚報（良）のいずれかである。
【００５６】
次に、ステップＳ７において、シナリオ実行部１４は、ステップＳ６において受け取った判別結果に応じた、所定の処理を行う。具体的には、シナリオ実行部１４は、判別結果に応じた、マウスイベントメッセージまたはキーボードイベントメッセージを生成して出力するよう、指示処理部２２に指示を送る。その結果、指示処理部２２は、判別結果に対応したアクションを過検出検証装置２に対して行うことと等価な処理を実行する。
【００５７】
指示処理部２２の処理例は、次の通りである。判別結果が真報（不良）である場合、一例として、指示処理部２２は、過検出検証装置２の画面上の「真報（不良）」のボタンが表示されている領域にマウスカーソルを移動させた上で、マウスの左ボタンをクリックするメッセージを、過検出検証装置２に送る。
判別結果が虚報（良）である場合、一例として、指示処理部２２は、過検出検証装置２の画面上の「真報（不良）」のボタンが表示されている領域にマウスカーソルを移動させた上で、マウスの左ボタンをクリックするメッセージを、過検出検証装置２に送る。
【００５８】
図４は、シナリオ実行部１４が実行するシナリオの一例を示す概略図である。同図に示すシナリオは、所定の言語で記述されている。このシナリオは、例えば、シナリオ実行部１４が備えるインタープリター機能によって、逐次解釈され、実行される。あるいは、このシナリオは、コンパイラーによって他の形式の指令の列に翻訳され、実行されてもよい。このシナリオは、図３に示したフローチャートの処理手順に対応している。なお、このシナリオには、便宜的に行番号を付している。以下、このシナリオに沿って説明する。
【００５９】
シナリオの第１行目は、ｗｈｉｌｅ節である。その条件は「ｎｏｔ  ｅｎｄ＿ｏｆ＿ｉｍａｇｅｓ」である。「ｅｎｄ＿ｏｆ＿ｉｍａｇｅｓ」は、状況を表す値を持つ変数であり、判別対象の画像が終了していて存在しないこと（終了条件）を表す。また、「ｎｏｔ」は、否定の論理演算子である。つまり、このｗｈｉｌｅ節は、判別対象の画像が残っている限りは、第１行目の左カーリーブレース（左中括弧）および第７行目の右カーリーブレース（右中括弧）で囲まれる部分のシナリオを実行すべきであることを表す。
【００６０】
シナリオの第２行目から第６行目までは、上記ｗｈｉｌｅ節の条件が真である状態において順次実行される処理のシーケンスである。
【００６１】
第２行目は、ｇｅｔ＿ｎｅｘｔ＿ｉｍａｇｅ＿ｆｏｒ＿ｖｅｒｉｆｉｃａｔｉｏｎ（）関数を実行する処理を示す。この関数は、図３におけるステップＳ２の処理に対応する。この関数を実行した結果として、過検出検証装置２は、判定対象である次の画像（不良候補画像）を、画面に表示させる。これにより、画像メモリー２１の所定の領域には、次の不良候補画像のデータが格納される。
【００６２】
第３行目は、ｃａｐｔｕｒｅ＿ｓｃｒｅｅｎ（）関数を実行する処理を示す。この関数は、図３におけるステップＳ３の処理に対応する。この関数を実行することにより、自動判別処理装置１は、過検出検証装置２が表示した画面をキャプチャーする。言い換えれば、自動判別処理装置１は、画像メモリー２１内の画像のデータを取得する。
【００６３】
第４行目は、ｅｘｔｒａｃｔ＿ｒｅｃｔａｂｇｌｅ＿ｉｍａｇｅ＿ｆｒｏｍ＿ｓｃｒｅｅｎ（）関数を実行する処理を示す。この関数は、図３におけるステップＳ４の処理に対応する。つまり、自動判別処理装置１は、表示画面内の所定の領域の画像を抽出する。本例では、抽出すべき長方形の領域を表す座標値を、この関数への実引数として渡している。一例として、長方形の左上隅の点の画像が（ｘ，ｙ）＝（１２０，２００）であり、その長方形の右下隅の点の画像が（ｘ，ｙ）＝（７２０，６００）である。なお、これらの座標値によって特定される長方形の領域に、判別対象である不良候補画像が表示されていることを前提としている。ここで抽出された画像のデータは、画像データを格納するための２次元の行列である変数ｉｍａｇｅ＿ｆｏｒ＿ｖｅｒｉｆｉｃａｔｉｏｎに代入される。
【００６４】
第５行目は、ａｕｔｏｍａｔｅｄ＿ｖｅｒｉｆｉｃａｔｉｏｎ（）関数を実行する処理を示す。この関数は、図３におけるステップＳ５からＳ６の処理に対応する。この関数の引数として渡されるのは、上記の変数ｉｍａｇｅ＿ｆｏｒ＿ｖｅｒｉｆｉｃａｔｉｏｎに格納されている判別対象画像のデータである。つまり、自動判別処理装置１は、この関数を実行することにより、判別対象画像についての判別処理を行い、判別結果を取得する。具体的には、この関数の実行により、シナリオ実行部１４が自動判別部１５に判別対象画像を渡し、その結果である判別結果を、上記関数の戻り値として受け取る。ａｕｔｏｍａｔｅｄ＿ｖｅｒｉｆｉｃａｔｉｏｎ（）関数の戻り値は、変数ｒｅｓｕｌｔに代入される。ｒｅｓｕｌｔの値は、「良」または「不良」のいずれかを表すものである。
【００６５】
第６行目は、ｉｎｐｕｔ＿ｐｒｏｃｅｓｓ（）関数を実行する処理を表す。この関数は、図３におけるステップＳ７の処理に対応する。この関数の引数として渡されるのは、上記の変数ｒｅｓｕｌｔの値である。ｉｎｐｕｔ＿ｐｒｏｃｅｓｓ（）関数の処理は、引数として渡される判別結果（良または不良）に応じて、それぞれ適切なマウスイベントあるいはキーボードイベントを発生させる。この仮想的なマウス操作あるいはキーボード操作によって、自動判別処理装置１は、判別結果の情報を過検出検証装置２に正しく伝えることができる。
【００６６】
なお、第１行目のｗｈｉｌｅ節の条件が真である限り、第２行目から第６行目までの処理は繰り返される。これは、図４におけるステップＳ７の処理の後にステップＳ１の処理に戻ることに対応している。
【００６７】
図５は、過検出検証装置２が表示する画面の例を示す概略図である。図示するように、この画面は、判別対象画像を表示するための長方形の領域を有している。また、この画面は、「不良」あるいは「良」のいずれかを選択的に入力するためのボタンを含んでいる。自動判別処理装置１は、この画面に含まれる画像等のデータを、画像メモリー２１から取得することができる。
【００６８】
また、自動判別処理装置１は、「不良」のボタンあるいは「良」のボタンを押下するのと等価な信号を、指示処理部２２に渡すことができる。例えば、自動判別処理装置１が、マウスのイベントを発生させることにより、「不良」のボタンの領域内のどこかにマウスカーソルを移動させてから、その位置でマウスを「左クリック」させることができる。この場合、「不良」ボタンが押下された場合と同様の情報を、過検出検証装置２は受け取る。また、自動判別処理装置１が、マウスのイベントを発生させることにより、「良」のボタンの領域内のどこかにマウスカーソルを移動させてから、その位置でマウスを「左クリック」させることができる。この場合、「良」ボタンが押下された場合と同様の情報を、過検出検証装置２は受け取る。
【００６９】
また、自動判別処理装置１が、マウスのイベントの代わりに、キーボードのイベントを発生させることにより、フォーカスを「不良」ボタンに移動させ（例えば、「タブ」キー等が用いられる）てから、決定の操作をする（例えば、「エンター」キー等が用いられる）ことができる。この場合、「不良」ボタンが押下された場合と同様の情報を、過検出検証装置２は受け取る。また、自動判別処理装置１が、キーボードのイベントを発生させることにより、フォーカスを「良」ボタンに移動させ（上の場合と同様に、例えば、「タブ」キー等が用いられる）てから、決定の操作をする（上の場合と同様に、例えば、「エンター」キー等が用いられる）ことができる。この場合、「良」ボタンが押下された場合と同様の情報を、過検出検証装置２は受け取る。
【００７０】
なお、自動判別処理装置１では、自動判別部１５から出力される判別結果と、シナリオ実行部から出力されるイベント（マウスやキーボード等に関するイベント）との間を、適宜、定義し設定できるようになっている。したがって、必要に応じて、この判別結果とイベントとの関係の設定を変更するだけで、自動判別処理装置１が出力する信号（イベントの信号）を変えることができる。
【００７１】
図６は、シナリオ実行部１４において特定のシナリオを実行させた場合の、シナリオ実行部１４の機能構成の概略を示すブロック図である。図示するように、シナリオを実行することにより、シナリオ実行部１４は、画像取得部１４７および判別結果出力部１４８として機能する。画像取得部１４７は、過検出検証装置２がディスプレイ装置に表示する画像をディスプレイ装置への表示のための媒体である画像メモリー２１から読み取る。つまり、画像取得部１４７は、画像取得過程を実行する。判別結果出力部１４８は、自動判別部１５から判別結果を受け取り、その判別結果に応じた信号であって、過検出検証装置２に接続される入力デバイス（マウス、キーボード、タッチパネル等）を介して情報を入力する場合と等価な信号（イベント）を生成させる。つまり、判別結果出力部１４８は、判別結果出力過程を実行する。以上、説明したように、シナリオ記憶部１３に記憶されているシナリオは、シナリオ実行部１４を、画像取得部１４７および判別結果出力部１４８として機能させるものである。
【００７２】
本実施形態の特徴をまとめると、次の通りである。
画像取得部１４７（シナリオ実行部１４）は、外部装置（過検出検証装置２）がディスプレイ装置に表示する画像をディスプレイ装置への表示のための媒体（画像メモリー２１）から読み取る。
自動判別部１５は、画像取得部１４７が読み取った前記画像（判別対象画像）の内容に基づく判別処理を行って判別結果（判別対象画像に対応する製品等が「良」であるか「不良」であるか）を出力する。
自動判別部１５は、画像と判別結果との関係について機械学習済のモデルを保持しており、前記モデルを前記画像に適用することによって前記判別処理を行ってもよい。機械学習済のモデルの一例は、ニューラルネットワークである。
判別結果出力部１４８（シナリオ実行部１４）は、前記判別結果に応じた信号であって、前記外部装置に接続される入力デバイス（マウス、キーボード、タッチパネル等）を介して情報を入力する場合と等価な信号（イベント）を生成させる。
前記入力デバイスは、マウスまたはキーボードの少なくともいずれかであってよい。
【００７３】
外部装置（過検出検証装置２）は、電子回路（プリント基板等）を光学的に読み取ることによって検出された不良候補画像を画像として表示出力するものであってよい。
この場合、自動判別部１５は、その不良候補画像に基づき前記電子回路が良または不良のいずれであるかを判別する処理を行って前記判別結果を出力する。
【００７４】
自動判別処理装置１は、シナリオ実行部１４を備えてよい。シナリオ実行部１４は、処理手順が記述されたシナリオを実行するものである。前記シナリオは、シナリオ実行部１４を、画像取得部１４７および判別結果出力部１４８として機能させるものである。なお、シナリオ実行部１４は、シナリオを実行することにより、さらに、外部装置（過検出検証装置２）がディスプレイ装置に前記画像を表示させるために必要な処理手順を遂行するものであってよい。具体的には、図３に示したステップＳ２の処理がその処理手順に相当する。つまり、この処理により、シナリオ実行部１４は、指示処理部２２に、マウスのイベントやキーボードのイベント等を発生させる。それらのイベントに基づき、過検出検証装置２が、所定の動作をする。その結果として、過検出検証装置２は、不良候補画像を検証するための処理を実行する。そして、過検出検証装置２は、不良候補画像をディスプレイ装置に表示する。即ち、その不良候補画像は、画像メモリー２１に書き込まれる。
【００７５】
［第２実施形態］
次に、第２実施形態について説明する。なお、前実施形態において既に説明した事項については以下において説明を省略する場合がある。ここでは、本実施形態に特有の事項を中心に説明する。
【００７６】
図７は、本時氏形態による検査システムの機能構成を示すブロック図である。図示するように検査システム４は、自動判別処理装置５と、過検出検証装置２と、光学検査装置９とを含んで構成される。自動判別処理装置５は、自動判別部１５と、画像取得部２４７と、判別結果出力部２４８とを含む。なお、本実施形態による自動判別処理装置５は、シナリオを編集するための機能や、シナリオを記憶するための機能や、シナリオを実行するための機能を持たない。本実施形態において、画像取得部２４７や判別結果出力部２４８は、シナリオによって実現されるものではなく、それぞれ専用の機能として実現される。画像取得部２４７や判別結果出力部２４８は、専用の電子回路等を用いて実現されてもよいし、コンピューターとプログラムとを用いて実現されてもよい。画像取得部２４７は、過検出検証装置２がディスプレイ装置に表示する画像をディスプレイ装置への表示のための媒体である画像メモリー２１から読み取る。判別結果出力部２４８は、自動判別部１５から判別結果を受け取り、その判別結果に応じた信号であって、過検出検証装置２に接続される入力デバイス（マウス、キーボード、タッチパネル等）を介して情報を入力する場合と等価な信号（イベント）を生成させる。また、検査システム４は、第１実施形態の場合と同様に、入出力のための機能の一部として、画像メモリー２１と、指示処理部２２とを含む。
【００７７】
本実施形態では、自動判別処理装置５が、シナリオを用いて実現されるものではない。しかし、過検出検証装置２が出力した画像を自動判別処理装置５が取得したり、その画像に基づいて自動判別処理装置５が画像の状況を判別したり、その判別結果に基づいて自動判別処理装置５が過検出検証装置２を操作するための指示を行ったりする点は、前実施形態と同様である。
【００７８】
以上、複数の実施形態を説明したが、本発明はさらに次のような変形例でも実施することが可能である。例えば、上の各実施形態では、自動判別処理装置は、画像メモリー２１から、即ち記憶媒体から判別対象の画像を取得した。しかし、記憶媒体ではなく、画像を伝送するための伝送媒体（電気ケーブルや光ケーブル等）から、判別対象画像を取得するようにしてもよい。
【００７９】
上述した各実施形態における自動判別処理装置や、過検出検証装置や、光学検査装置や、指示処理部等の少なくとも一部の機能をコンピューターで実現することができる。その場合、この機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＵＳＢメモリー等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、一時的に、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００８０】
以上、説明した実施形態のいずれか（変形例を含む）によると、従来は人が行っていた判別作業を、コンピューター等による自動的な処理で置き換えることができる。これにより、検査のオペレーションコストを削減することができる。また、人が判別作業を行う場合に比べて、判断の基準を一定にそろえることができ、品質管理上も有効である。
【００８１】
また、自動判別処理装置は、過検出検証装置２がディスプレイ装置に表示した画像を取得するとともに、疑似的に過検出検証装置２に接続される入力デバイスを介して判別結果を過検出検証装置２に渡す。このような方式を採ることにより、従来の過検出検証装置２を改変することなく、自動判別の仕組みを追加することができる。
【００８２】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【００８３】
本発明は、例えば、光学式撮影手段を用いた検査システム等に利用することができる。但し、本発明の利用範囲はここに例示したものには限られない。
【符号の説明】
【００８４】
１，５  自動判別処理装置
２  過検出検証装置
３，４  検査システム
９  光学検査装置
１２  シナリオ編集部
１３  シナリオ記憶部
１４  シナリオ実行部
１５  自動判別部
２１  画像メモリー
２２  指示処理部
１０１  自動判別アプリケーション
１０２  過検出検証アプリケーション
１２１  表示出力部
１２２  マウスイベント処理部
１２３  キーボードイベント処理部
１４１  オペレーティングシステム
１４７，２４７  画像取得部
１４８，２４８  判別結果出力部
【要約】
【課題】表示された画像を目視して判別する作業を効率化するとともに、従来の設備への改変をできる限り少なく済ませることのできる自動判別処理装置等を提供する。
【解決手段】自動判別処理装置は、画像取得部と、自動判別部と、判別結果出力部とを備える。画像取得部は、外部装置がディスプレイ装置に表示する画像を前記ディスプレイ装置への表示のための媒体から読み取る。自動判別部は、前記画像取得部が読み取った前記画像の内容に基づく判別処理を行って判別結果を出力する。判別結果出力部は、前記判別結果に応じた信号であって、前記外部装置に接続される入力デバイスを介して情報を入力する場合と等価な信号を生成させる。
【選択図】図７【図１】
0006653929.tif 000002
【図２】
0006653929.tif 000003
【図３】
0006653929.tif 000004
【図４】
0006653929.tif 000005
【図５】
0006653929.tif 000006
【図６】
0006653929.tif 000007
【図７】
0006653929.tif 000008