JP6879743B2 - Image inspection equipment and image inspection method - Google Patents
Image inspection equipment and image inspection method Download PDFInfo
- Publication number
- JP6879743B2 JP6879743B2 JP2017001088A JP2017001088A JP6879743B2 JP 6879743 B2 JP6879743 B2 JP 6879743B2 JP 2017001088 A JP2017001088 A JP 2017001088A JP 2017001088 A JP2017001088 A JP 2017001088A JP 6879743 B2 JP6879743 B2 JP 6879743B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- inspection
- module
- program
- executing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000007689 inspection Methods 0.000 title claims description 127
- 238000000034 method Methods 0.000 title claims description 14
- 238000012545 processing Methods 0.000 claims description 39
- 238000003384 imaging method Methods 0.000 claims description 17
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 230000008707 rearrangement Effects 0.000 claims description 2
- 238000004088 simulation Methods 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 230000004044 response Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000011179 visual inspection Methods 0.000 description 1
Images
Landscapes
- Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
- Stored Programmes (AREA)
Description
本発明は、画像検査装置および画像検査方法に関する。 The present invention relates to an image inspection device and an image inspection method.
従来から、撮像部(ディジタルカメラ等)によって得られた検査対象物の画像を用いて、その検査対象物の表面の検査を行う画像検査装置が知られている。 Conventionally, there has been known an image inspection apparatus that inspects the surface of an inspection object by using an image of the inspection object obtained by an imaging unit (digital camera or the like).
しかしながら、従来技術では、画像検査装置におけるプログラムを変更(処理の追加、削除、並べ替え等を含む。)する必要が生じた場合、プログラム全体を入れ替える等、大がかりな作業が必要となり、手間がかかっていた。 However, in the prior art, when it becomes necessary to change the program in the image inspection device (including addition, deletion, rearrangement, etc. of processing), a large-scale work such as replacing the entire program is required, which is troublesome. Was there.
そこで、本発明の課題の一つは、プログラムの変更を容易に行うことができる画像検査装置および画像検査方法を提供することである。 Therefore, one of the problems of the present invention is to provide an image inspection device and an image inspection method capable of easily changing a program.
実施形態の画像検査装置は、撮像部によって得られた検査対象物の画像を用いて、前記検査対象物の表面の検査を行う画像検査装置であって、前記検査のためのパラメータを記憶する記憶部と、制御部と、を備える。前記制御部は、前記撮像部を含む外部機器を制御するデバイス制御プログラムを実行することで前記撮像部から前記検査対象物の画像を取得するデバイス制御モジュールと、前記取得した画像に対して画像処理プログラムを実行することで画像処理後の画像である処理後画像を作成する画像処理モジュールと、前記処理後画像に対して判定プログラムを実行することで前記検査対象物の良不良を判定し、判定結果を取得する判定モジュールと、表示制御プログラムを実行することで、前記処理後画像、および、前記判定結果の少なくともいずれかを表示部に表示させる制御を行う表示制御モジュールと、を備える。そして、各モジュールごとに個別の実行ファイルを有しており、各モジュールは、メッセージの送受信により協調動作を行う。 The image inspection device of the embodiment is an image inspection device that inspects the surface of the inspection object using an image of the inspection object obtained by the imaging unit, and stores parameters for the inspection. A unit and a control unit are provided. The control unit acquires an image of the inspection object from the image pickup unit by executing a device control program that controls an external device including the image pickup unit, and image processing on the acquired image. An image processing module that creates a processed image that is an image after image processing by executing a program, and a determination program for the processed image to determine whether the inspection object is good or bad. It includes a determination module for acquiring a result, and a display control module for controlling the display of at least one of the processed image and the determination result by executing a display control program. Each module has its own executable file, and each module cooperates by sending and receiving messages.
以下、本発明の例示的な実施形態を開示する。以下に示す実施形態の構成、ならびに当該構成によってもたらされる作用および結果(効果)は、あくまで一例である。本発明は、以下の実施形態に開示される構成以外によっても実現可能であるとともに、基本的な構成によって得られる種々の効果(派生的な効果も含む)を得ることが可能である。 Hereinafter, exemplary embodiments of the present invention will be disclosed. The configuration of the embodiment shown below, and the actions and results (effects) brought about by the configuration are merely examples. The present invention can be realized by a configuration other than the configurations disclosed in the following embodiments, and various effects (including derivative effects) obtained by the basic configuration can be obtained.
まず、実施形態にかかる検査システムの一例について説明する。図1は、実施形態にかかる検査システム1の一例を模式的に示す斜視図である。図2は、実施形態にかかる画像検査装置4の一例を示すブロック構成図である。以下、図1、図2を適宜参照して説明する。
First, an example of the inspection system according to the embodiment will be described. FIG. 1 is a perspective view schematically showing an example of the
図1に示すように、検査システム1は、検査対象物100を撮像した画像を用いて、その検査対象物100の表面の検査を行う。図1、図2に示すように、検査システム1は、光源2、撮像部3、画像検査装置4、表示装置5(表示部)、入力装置6を備える。また、画像検査装置4には、外部PC7、PLC(Programmable Logic Controller)8が接続される。外部PC7は、例えば、ユーザの事業所に設置されたコンピュータ装置である。PLC8は、画像検査装置4が制御する対象の制御装置である。
As shown in FIG. 1, the
光源2は、上方から検査対象物100に対して光を照射する。光源2は、例えば、LED(Light Emitting Diode)である。
The
撮像部3は、上方から検査対象物100を撮像する。撮像部3は、光源2から出射され検査対象物100の表面で反射された光を撮像する。撮像部3は、例えば、ディジタルカメラ(ディジタルスチルカメラ)であり、ディジタル画像、すなわち2次元の画素毎の輝度値(データ)を取得する。撮像部3は、例えば、CMOS(Complementary Metal-Oxide-Semiconductor)イメージセンサやCCD(Charge-Coupled Device)イメージセンサ等の撮像素子を有する。
The
画像検査装置4は、制御部40(例えばCPU(Central Processing Unit)等)、記憶部41、光照射コントローラ42、撮像コントローラ43、表示コントローラ44、入力コントローラ45、通信部46等を備える。記憶部41は、ROM(Read Only Memory)411、RAM(Random Access Memory)412、補助記憶装置413を備える。ROM411は、書き換える必要のないプログラムやデータを記憶する。RAM412は、制御部40がプログラムを実行して種々の演算処理を実行する際に用いられる各種データを一時的に記憶する。補助記憶装置413は、例えばHDD(Hard Disk Drive)や、SSD(Solid State Drive)、フラッシュメモリ等である。
The image inspection device 4 includes a control unit 40 (for example, a CPU (Central Processing Unit) or the like), a
以下、図3も合わせて参照して説明する。図3は、実施形態にかかる画像検査装置4の制御部40と記憶部41の一例を示すブロック構成図である。記憶部41は、フロー編集モジュール用実行ファイル、フロー実行モジュール用実行ファイル、表示制御モジュール用実行ファイル、コアモジュール用実行ファイル、デバイス制御モジュール用実行ファイル、画像処理モジュール用実行ファイル、判定モジュール用実行ファイル、パラメータ、撮像画像、処理後画像、判定結果、共有ライブラリに格納されるDLL(Dynamic Link Library)ファイル等を記憶する。なお、以下において、各実行ファイルについて、単に「実行ファイル」という場合がある。
Hereinafter, description will be made with reference to FIG. FIG. 3 is a block configuration diagram showing an example of the
パラメータは、検査に関する各種の設定値である。撮像画像は、撮像部3によって撮像された画像である。共有ライブラリに格納されるDLLファイル(以下、単に「DLLファイル」という場合がある。)は、後述するモジュール401〜407で共通して使用される検査のためのプログラムを定義したデータである。
The parameters are various setting values related to inspection. The captured image is an image captured by the
フロー編集モジュール401は、記憶部41のフロー編集モジュール用実行ファイル、および、それに関連するDLLファイルをCPUがRAM412に展開することで実現される。フロー編集モジュール401は、コアモジュール404からの指示により、表示装置5に、DLLファイルによって定義された検査のためのプログラムに対応した画面上のアイコンであるアイテムを表示する画面と、ユーザの操作にしたがって各アイテムの追加、削除、並べ替えを行うことで検査フローを作成するための画面と、各アイテムのパラメータの設定を行うためのパラメータ設定画面を、GUI(Graphical User Interface)によって表示させる。また、フロー編集モジュール401は、検査フローを編集し、編集の結果をコアモジュール404に返す。コアモジュール404は、例えば、フロー編集モジュール401から受けとったパラメータを含む編集の結果を記憶部41に格納する。
The
ここで、図4は、実施形態にかかるパラメータ設定画面の一例を示す図である。図4のパラメータ設定画面では、撮像画像を用いた検査のための比較範囲と輝度差をユーザが容易に設定できる。領域A1では、プルダウンメニューにより、全方向、上下方向、左右方向等を選択できる。領域A2については、スライダーSL1により、比較範囲を選択できる。領域A3については、スライダーSL2により、輝度差を選択できる。領域A4では、プルダウンメニューにより、暗い、明るい等を選択できる。図4の例では、「全方向の周囲1ピクセルに比べて1以上暗い領域を選択します」という設定をしている。 Here, FIG. 4 is a diagram showing an example of the parameter setting screen according to the embodiment. On the parameter setting screen of FIG. 4, the user can easily set the comparison range and the brightness difference for inspection using the captured image. In the area A1, the pull-down menu allows selection of all directions, vertical directions, horizontal directions, and the like. For the area A2, the comparison range can be selected by the slider SL1. For the area A3, the brightness difference can be selected by the slider SL2. In the area A4, dark, bright, etc. can be selected from the pull-down menu. In the example of FIG. 4, the setting is "select a region that is one or more darker than one pixel around in all directions."
従来のパラメータ設定画面では、「セグメントサイズ」等の専門用語が多く、かつ、数値入力画面によってその数値の相対的な大きさを把握しづらかったので、非専門家にとってはわかりにくかった。一方、本実施形態のフロー編集モジュール401によって提供されるパラメータ設定画面によれば、専門用語がなく、かつ、スライダーによって数値の相対的な大きさを把握しやすいので、非専門家にとってもわかりやすいという効果を奏する。
On the conventional parameter setting screen, there are many technical terms such as "segment size", and it is difficult for non-experts to grasp the relative magnitude of the numerical value on the numerical value input screen. On the other hand, according to the parameter setting screen provided by the
ここで、図5は、実施形態にかかる画像検査装置4の制御部40のフロー編集モジュール401による表示画面の一例を示す図である。図5の表示画面では、領域D4は、アイテムが表示される領域である。
Here, FIG. 5 is a diagram showing an example of a display screen by the
領域D1は、ユーザが入力装置6による操作によって検査フローを作成する領域である。ユーザは、入力装置6による操作によって、検査フローの実行順にアイテムが並ぶように、領域D4のアイテムをドラッグし、領域D1にドロップすることで、プログラミング等の専門知識が無くても容易に検査フローを作成することができる。なお、図5の領域D1では表現していないが、検査フロー中に分岐を入れてもよい。その場合、分岐専用のアイテムを用意し、領域D4に表示する。 The area D1 is an area in which the user creates an inspection flow by operating the input device 6. The user can easily drag the items in the area D4 and drop them in the area D1 so that the items are arranged in the execution order of the inspection flow by the operation by the input device 6, so that the inspection flow can be easily performed without any specialized knowledge such as programming. Can be created. Although not represented in the area D1 of FIG. 5, a branch may be inserted in the inspection flow. In that case, an item dedicated to branching is prepared and displayed in the area D4.
領域D2は、ユーザが入力装置6による操作によってパラメータ設定を行う領域である。図5の例では、アイテム「○○○」のパラメータ「撮像画像」がそれぞれプルダウンメニューで選択され、検査範囲の輝度値の下限として「40」が設定され、また、その上限として「255」が設定されている。なお、領域D2におけるパラメータ設定画面は、図4のようなスライダーを用いた画面としてもよい。 The area D2 is an area in which the user sets parameters by operating the input device 6. In the example of FIG. 5, the parameter "captured image" of the item "○○○" is selected from the pull-down menu, "40" is set as the lower limit of the brightness value of the inspection range, and "255" is set as the upper limit thereof. It is set. The parameter setting screen in the area D2 may be a screen using a slider as shown in FIG.
領域D3は、画像を表示する領域である。領域D3で表示する画像は、撮像画像であってもよいし、あるいは、処理後画像(撮像画像に対して画像処理した後の画像)であってもよい。例えば、領域D1で作成している検査フローのうち、領域D2で選択したアイテムまで処理が進んだと仮定した場合の画像を領域D3に表示することができる。そうすれば、ユーザは、検査フローのうち選択したアイテムまで処理が進んだと仮定した場合の画像を領域D3で見ることができるので、パラメータの調整やデバッグを容易に行うことができる。 The area D3 is an area for displaying an image. The image displayed in the area D3 may be a captured image or a processed image (an image after image processing is performed on the captured image). For example, among the inspection flows created in the area D1, an image assuming that the processing has progressed to the item selected in the area D2 can be displayed in the area D3. Then, the user can see the image in the area D3 assuming that the processing has progressed to the selected item in the inspection flow, so that the parameters can be easily adjusted and debugged.
図3に戻って、フロー実行モジュール402は、記憶部41のフロー実行モジュール用実行ファイル、および、それに関連するDLLファイルをCPUがRAM412に展開することで実現される。フロー実行モジュール402は、コアモジュール404からの指示により、フロー編集モジュール401によって編集された検査フローの実行用処理を行い、処理の結果をコアモジュール404に返す。
Returning to FIG. 3, the
表示制御モジュール403は、記憶部41の表示制御モジュール用実行ファイル、および、それに関連するDLLファイルをCPUがRAM412に展開することで実現される。表示制御モジュール403は、コアモジュール404からの指示により、表示制御プログラムを実行することで、処理後画像、および、判定モジュール407による判定結果の少なくともいずれかを表示装置5に表示させる制御を行う。
The
コアモジュール404は、記憶部41のコアモジュール用実行ファイル、および、それに関連するDLLファイルをCPUがRAM412に展開することで実現される。コアモジュール404は、他のモジュール401〜403、405〜407に対して動作の指示を出したり、その相手から結果を受けて記憶部41に格納したりといった統括的役割を担う。
The
デバイス制御モジュール405は、記憶部41のデバイス制御モジュール用実行ファイル、および、それに関連するDLLファイルをCPUがRAM412に展開することで実現される。デバイス制御モジュール405は、コアモジュール404からの指示により、撮像部3を含む外部機器(光源2、撮像部3)を制御するデバイス制御プログラムを実行することで、光源2を制御したり、撮像部3から検査対象物100の画像を取得したりし、結果をコアモジュール404に返す。コアモジュール404は、例えば、デバイス制御モジュール405から撮像画像を受けとり、記憶部41に格納する。
The
なお、デバイス制御モジュール405は、光源2の制御用と撮像部3の制御用で、別々に設けてもよい。また、デバイス制御モジュール405は、光源2が複数ある場合は、光源2ごとに設けてもよい。また、デバイス制御モジュール405は、撮像部3が複数ある場合は、撮像部3ごとに設けてもよい。例えば、光源2や撮像部3を新たなものに入れ替えたり、追加したりする場合でも、そのためのDLLファイルを作成し、追加することで、容易に対応できる。
The
画像処理モジュール406は、記憶部41の画像処理モジュール用実行ファイル、および、それに関連するDLLファイルをCPUがRAM412に展開することで実現される。画像処理モジュール406は、コアモジュール404からの指示により、デバイス制御モジュール405が取得した画像に対して画像処理プログラムを実行することで画像処理後の画像である処理後画像を作成し、その結果(処理後画像等)をコアモジュール404に返す。コアモジュール404は、例えば、画像処理モジュール406から受けとった処理後画像を記憶部41に格納する。
The
なお、画像処理モジュール406は、複数種類の検査対象物100がある場合に、別々に設けてもよい。例えば、新たな材質や加工方法の製品が検査対象物100となった場合でも、そのためのDLLファイルを作成し、追加することで、容易に対応できる。
The
判定モジュール407は、記憶部41の判定モジュール用実行ファイル、および、それに関連するDLLファイルをCPUがRAM412に展開することで実現される。判定モジュール407は、コアモジュール404からの指示により、画像処理モジュール406が作成した処理後画像に対して判定プログラムを実行することで検査対象物100の良不良を判定し、判定結果を取得し、その結果(判定結果等)をコアモジュール404に返す。コアモジュール404は、例えば、判定モジュール407から受けとった判定結果を記憶部41に格納する。なお、判定モジュール407は、検査対象物100の良不良を判定する際、例えば、処理後画像と基準画像との輝度を比較すればよい。
The
なお、判定モジュール407は、複数種類の検査対象物100がある場合に、別々に設けてもよい。例えば、新たな材質や加工方法の製品が検査対象物100となった場合でも、そのためのDLLファイルを作成し、追加することで、容易に対応できる。
The
なお、例えば、CSP(Communicating Sequential Processes)に基づくメッセージパッシングを用いた並列処理方式により、各モジュールは、出力値を適宜含んだメッセージを送受信することにより協調動作を行うことができる。 Note that, for example, by a parallel processing method using message passing based on CSP (Communicating Sequential Processes), each module can perform cooperative operation by sending and receiving a message including an output value as appropriate.
また、WCF(Windows(登録商標) Communication Foundation)を用いることで、画像検査装置4は、外部PC7(外部装置)からの遠隔操作によって、インターネット等のネットワーク経由で、DLLファイルの変更(追加、削除を含む。)が可能である。なお、外部PC7(外部装置)から画像検査装置4を遠隔操作して検査の処理について変更をする場合、動作の安定性や安全性の観点から、外部PC7からコアモジュール404に直接アクセスするのではなく、外部PC7から画像検査装置4の記憶部41の共有ライブラリに必要なDLLファイルを格納して、画像検査装置4がそのDLLファイルを用いるようにするのがよい。
In addition, by using WCF (Windows (registered trademark) Communication Foundation), the image inspection device 4 can change (add, delete) DLL files via a network such as the Internet by remote control from an external PC 7 (external device). Including.) Is possible. When the image inspection device 4 is remotely operated from the external PC 7 (external device) to change the inspection process, the
従来の画像検査装置では、1つの実行ファイルにすべての処理(プログラム)が入っていたため、処理を変更(追加、削除等)しようとすると、変更した処理を反映したプログラム全体をコンパイルし直して入れ替える必要があり、手間がかかっていた。一方、本実施形態では、各モジュールごとに個別の実行ファイルが設けられており、また、例えば、追加の処理がある場合はDLLファイルを作成して記憶部41の共有ライブラリに入れるだけでよいので、手間が非常に小さく済む。
In the conventional image inspection device, all the processes (programs) are included in one executable file, so if you try to change (add, delete, etc.) the process, the entire program that reflects the changed process is recompiled and replaced. It was necessary and time-consuming. On the other hand, in the present embodiment, an individual executable file is provided for each module, and for example, if there is additional processing, it is sufficient to create a DLL file and put it in the shared library of the
また、従来の画像検査装置では、1つの実行ファイル内の複数のスレッドが共有メモリにアクセスするため、処理に時間がかかる場合があった。一方、本実施形態では、各モジュールは、出力値を適宜含んだメッセージの送受信により協調動作を行うので、従来のように処理に時間がかかることを回避できる。 Further, in the conventional image inspection apparatus, since a plurality of threads in one execution file access the shared memory, the processing may take a long time. On the other hand, in the present embodiment, since each module performs a cooperative operation by transmitting and receiving a message including an output value as appropriate, it is possible to avoid taking a long time for processing as in the conventional case.
次に、光照射コントローラ42(図2)は、制御部40のデバイス制御モジュール405(図3)からの制御信号に基づいて、光源2の発光(オン、オフ)等を制御する。撮像コントローラ43(図2)は、制御部40のデバイス制御モジュール405(図3)からの制御信号に基づいて、撮像部3による撮像を制御する。
Next, the light irradiation controller 42 (FIG. 2) controls the light emission (on, off) of the
表示コントローラ44(図2)は、制御部40の表示制御モジュール403からの制御信号に基づいて、表示装置5(例えば、LCD(Liquid Crystal Display)、OELD(Organic Electro-Luminescent Display)等)を制御する。入力コントローラ45(図2)は、入力装置6(例えば、キーボード、マウス、操作ボタン、タッチパネル等)での入力操作に応じたデータを、制御部40に送る。通信部46は、外部PC7やPLC8と通信を行うための通信インタフェースである。
The display controller 44 (FIG. 2) controls a display device 5 (for example, LCD (Liquid Crystal Display), OELD (Organic Electro-Luminescent Display), etc.) based on a control signal from the
次に、画像検査装置4の制御部40における各モジュールの処理の流れについて説明する。図6は、実施形態にかかる画像検査装置4の制御部40における各モジュールの処理の流れを示すシーケンス図である。
Next, the processing flow of each module in the
まず、ユーザが入力装置6を用いて検査に関する所定の操作を行うと、コアモジュール404はフロー編集モジュール401に指示を送る(ステップS1)。これを受けて、フロー編集モジュール401は、検査フローを編集する(ステップS2)。具体的には、フロー編集モジュール401は、表示装置5に、アイテムを表示する画面(図5の領域D4)や、ユーザの操作にしたがって各アイテムの追加、削除、並べ替えを行うことで検査フローを作成するための画面(図5の領域D1)や、各アイテムのパラメータの設定を行うためのパラメータ設定画面(図5の領域D2、図4)を、GUIによって表示させる。また、フロー編集モジュール401は、それらの画面を使ったユーザの操作に応じて検査フローを編集し、編集の結果(ユーザが設定したパラメータを含む。)をコアモジュール404に返す(ステップS3)。コアモジュール404は、受けとった編集の結果(パラメータを含む。)を記憶部41に格納する。
First, when the user performs a predetermined operation related to the inspection using the input device 6, the
次に、コアモジュール404はフロー実行モジュール402に指示を送る(ステップS4)。これを受けて、フロー実行モジュール402は、フロー編集モジュール401によって編集された検査フローの実行用処理を行い(ステップS5)、処理の結果をコアモジュール404に返す(ステップS6)。
Next, the
次に、コアモジュール404はデバイス制御モジュール405に指示を送る(ステップS7)。これを受けて、デバイス制御モジュール405は、光源2を制御したり、撮像部3から検査対象物100の画像を取得したりして(ステップS8)、結果(撮像画像等)をコアモジュール404に返す(ステップS9)。コアモジュール404は、受けとった撮像画像を記憶部41に格納する。
Next, the
次に、コアモジュール404は画像処理モジュール406に指示を送る(ステップS10)。これを受けて、画像処理モジュール406は、撮像画像に対して画像処理プログラムを実行することで処理後画像を作成し(ステップS11)、その結果(処理後画像等)をコアモジュール404に返す(ステップS12)。コアモジュール404は、受けとった処理後画像を記憶部41に格納する。
Next, the
次に、コアモジュール404は判定モジュール407に指示を送る(ステップS13)。これを受けて、判定モジュール407は、処理後画像に対して判定プログラムを実行することで検査対象物100の良不良を判定し(ステップS14)、判定結果を取得し、その結果(判定結果等)をコアモジュール404に返す(ステップS15)。コアモジュール404は、受けとった判定結果を記憶部41に格納する。
Next, the
次に、コアモジュール404は表示制御モジュール403に指示を送る(ステップS16)。これを受けて、表示制御モジュール403は、表示制御プログラムを実行することで、処理後画像、および、判定結果の少なくともいずれかを表示装置5に表示させる制御を行う(ステップS17)。例えば、表示制御モジュール403が処理後画像を表示装置5に表示させる制御を行うと、図5に示すように、領域D3にその処理後画像が表示される。この場合、ユーザが図5の領域D1や領域D2で検査フロー中のアイテムを指定する操作を行うと、検査フローがそのアイテムまで実行された場合の処理後画像を領域D3に表示するようにしてもよい。また、パラメータを変更すれば、それを領域D3に表示される処理後画像に反映させるようにしてもよい。そうすれば、ユーザはその処理後画像を見て、検査フローやパラメータの適切さを判断することができて、便利である。
Next, the
このようにして、本実施形態の画像検査装置4によれば、制御部40に各モジュールを有する構成とすることで、プログラムの変更を容易に行うことができる。例えば、処理を変更(追加、削除を含む。)したい場合は、記憶部41の共有ライブラリでDLLファイルの変更を行えばよい。したがって、従来のように変更した処理を反映したプログラム全体をコンパイルし直して入れ替える必要がなく、拡張性が高いとともに、開発工数を大幅に削減でき、手間が非常に小さく済む。これにより、例えば、ウィルス対策ソフトの導入を容易に行うこともできる。
In this way, according to the image inspection device 4 of the present embodiment, the program can be easily changed by having the
また、プログラム(ソフトウェア)を変更する場合だけでなく、光源2や撮像部3などのハードウェアを変更(入れ替え、追加等)する場合でも、そのためのDLLファイルを作成し、追加することで、容易に対応できる。つまり、DLLファイルの追加により専用設計のハードウェア(光源2や撮像部3など)を容易に追加できる。
Moreover, not only when changing the program (software), but also when changing (replacement, addition, etc.) the hardware such as the
また、制御部40が各モジュールごとに個別の実行ファイルを有しており、各モジュールはメッセージの送受信により協調動作を行うことにより、従来よりも処理にかかる時間を短縮できる。
Further, the
また、フロー編集モジュール401によって、表示装置5に、アイテムを表示する画面(図5の領域D4)や、ユーザの操作にしたがって各アイテムの追加、削除、並べ替えを行うことで検査フローを作成するための画面(図5の領域D1)や、各アイテムのパラメータの設定を行うためのパラメータ設定画面(図5の領域D2、図4)を、GUIによって表示させることができる。したがって、ユーザは、それらの画面を用いて、検査フローの作成やパラメータの設定を容易に行うことができる。
Further, the
また、ユーザは、外部PC7から遠隔操作することによって、インターネット等のネットワーク経由で、画像検査装置4におけるDLLファイルの変更をすることができる。したがって、例えば、技術者が現場に行かずに遠隔操作により対応できるので、便利である。 In addition, the user can change the DLL file in the image inspection device 4 via a network such as the Internet by remote control from the external PC 7. Therefore, for example, it is convenient because the technician can respond by remote control without going to the site.
また、ドラッグ&ドロップ操作により検査フローを作成できるので(図5)、ユーザは、プログラミング等の専門知識が無くても容易に検査フローを作成することができる。 Further, since the inspection flow can be created by the drag and drop operation (FIG. 5), the user can easily create the inspection flow without any specialized knowledge such as programming.
(変形例)
次に、画像検査装置4の変形例について説明する。ここでは、例えば、検査システム1とは別の場所にいる技術者が、外部PC7(外部装置。図2)を用いて、画像検査装置4と同じ環境(データ、プログラム)で、画像検査のシミュレーションを行うものとする。そして、技術者は、必要に応じて、外部PC7を用いて検査のためのプログラムを定義したDLLファイルを作成する。その後、技術者は、外部PC7から画像検査装置4に、その新たに作成したDLLファイルをインターネット等のネットワーク経由で送信する。
(Modification example)
Next, a modified example of the image inspection device 4 will be described. Here, for example, a technician in a place different from the
そうすると、画像検査装置4は、そのDLLファイルを受信し、記憶部41の共有ライブラリに格納する。これにより、次に画像検査装置4が起動する場合に、複数のモジュールのいずれかは、個別の実行ファイルとともにその新たなDLLファイルがCPUによってRAM412に展開されることで当該DLLファイルによる機能を含んで実現される。
Then, the image inspection device 4 receives the DLL file and stores it in the shared library of the
このようにして、変形例の画像検査装置4によれば、技術者が現場に行かずに遠隔操作により対応できるので、便利である。なお、外部PC7で行う画像検査のシミュレーションで用いる検査対象物は、外部PC7の側で用意した物やデータであってもよいし、あるいは、現場の画像検査装置4から受信した、画像検査装置4で対象としている検査対象物のデータであってもよい。 In this way, according to the image inspection device 4 of the modified example, it is convenient because the technician can respond by remote control without going to the site. The inspection target used in the simulation of the image inspection performed by the external PC 7 may be an object or data prepared on the side of the external PC 7, or the image inspection device 4 received from the image inspection device 4 at the site. It may be the data of the inspection target object which is the target in.
本発明の実施形態を説明したが、この実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 Although embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. This novel embodiment can be implemented in various other embodiments, and various omissions, replacements, and changes can be made without departing from the gist of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are also included in the scope of the invention described in the claims and the equivalent scope thereof.
例えば、検査システム1は、外観検査ではなく、内面検査に適用してもよい。また、画像検査装置4における個別の実行ファイルを変更する場合は、例えば、新たな実行ファイルを作成し、それまでの実行ファイルと置換すればよい。
For example, the
1…検査システム、2…光源、3…撮像部、4…画像検査装置、5…表示装置、6…入力装置、7…外部PC、8…PLC、40…制御部、41…記憶部、42…光照射コントローラ、43…撮像コントローラ、44…表示コントローラ、45…入力コントローラ、46…通信部、401…フロー編集モジュール、402…フロー実行モジュール、403…表示制御モジュール、404…コアモジュール、405…デバイス制御モジュール、406…画像処理モジュール、407…判定モジュール、411…ROM、412…RAM、413…補助記憶装置。 1 ... Inspection system, 2 ... Light source, 3 ... Imaging unit, 4 ... Image inspection device, 5 ... Display device, 6 ... Input device, 7 ... External PC, 8 ... PLC, 40 ... Control unit, 41 ... Storage unit, 42 ... light irradiation controller, 43 ... imaging controller, 44 ... display controller, 45 ... input controller, 46 ... communication unit, 401 ... flow editing module, 402 ... flow execution module, 403 ... display control module, 404 ... core module, 405 ... Device controller module, 406 ... image processing module, 407 ... judgment module, 411 ... ROM, 412 ... RAM, 413 ... auxiliary storage device.
Claims (5)
前記画像検査装置は、前記検査のためのパラメータを記憶する記憶部と、制御部と、を備え、
前記制御部は、
前記撮像部を含む外部機器を制御するデバイス制御プログラムを実行することで前記撮像部から前記検査対象物の画像を取得するデバイス制御モジュールと、
前記取得した画像に対して画像処理プログラムを実行することで画像処理後の画像である処理後画像を作成する画像処理モジュールと、
前記処理後画像に対して判定プログラムを実行することで前記検査対象物の良不良を判定し、判定結果を取得する判定モジュールと、
表示制御プログラムを実行することで、前記処理後画像、および、前記判定結果の少なくともいずれかを表示部に表示させる制御を行う表示制御モジュールと、
を備え、
各モジュールごとに個別の実行ファイルを有しており、
各モジュールは、メッセージの送受信により協調動作を行う、画像検査装置。 An image inspection device that inspects the surface of the inspection object using the image of the inspection object obtained by the imaging unit.
The image inspection device includes a storage unit for storing parameters for the inspection and a control unit.
The control unit
A device control module that acquires an image of the inspection object from the imaging unit by executing a device control program that controls an external device including the imaging unit.
An image processing module that creates an image after processing, which is an image after image processing, by executing an image processing program on the acquired image.
A judgment module that judges the quality of the inspection target by executing the judgment program on the processed image and acquires the judgment result.
A display control module that controls the display of at least one of the processed image and the determination result by executing the display control program.
Equipped with a,
Each module has its own executable file
Each module is an image inspection device that cooperates by sending and receiving messages.
前記表示部に、前記DLLファイルによって定義された検査のためのプログラムに対応した画面上のアイコンであるアイテムを表示する画面と、ユーザの操作にしたがって各アイテムの追加、削除、並べ替えを行うことで検査フローを作成するための画面と、各アイテムのパラメータの設定を行うためのパラメータ設定画面を、GUI(Graphical User Interface)によって表示させるフロー編集モジュールを備える、請求項2に記載の画像検査装置。 The control unit further
A screen for displaying items that are icons on the screen corresponding to the program for inspection defined by the DLL file on the display unit, and addition, deletion, and rearrangement of each item according to the user's operation. The image inspection apparatus according to claim 2 , further comprising a flow editing module for displaying a screen for creating an inspection flow and a parameter setting screen for setting parameters of each item by a GUI (Graphical User Interface). ..
前記撮像部を含む外部機器を制御するデバイス制御プログラムを実行することで前記撮像部から前記検査対象物の画像を取得するデバイス制御モジュールによる処理ステップと、
前記取得した画像に対して画像処理プログラムを実行することで画像処理後の画像である処理後画像を作成する画像処理モジュールによる処理ステップと、
前記処理後画像に対して判定プログラムを実行することで前記検査対象物の良不良を判定し、判定結果を取得する判定モジュールによる処理ステップと、
表示制御プログラムを実行することで、前記処理後画像、および、前記判定結果の少なくともいずれかを表示部に表示させる制御を行う表示制御モジュールによる処理ステップと、
を含み、
前記複数のモジュールによる各処理ステップは、画像検査装置において実行され、
外部装置が、画像検査のシミュレーションに基づいて作成された、検査のためのプログラムを定義したDLLファイルを送信する送信ステップと、
前記画像検査装置が、当該DLLファイルを受信する受信ステップと、をさらに有し、
前記画像検査装置における複数のモジュールのいずれかは、個別の実行ファイルとともに当該DLLファイルがCPUによってRAMに展開されることで当該DLLファイルによる機能を含んで実現される、画像検査方法。 An image inspection method for inspecting the surface of the inspection object using an image of the inspection object obtained by the imaging unit.
A processing step by the device control module that acquires an image of the inspection object from the imaging unit by executing a device control program that controls an external device including the imaging unit.
A processing step by an image processing module that creates a processed image that is an image after image processing by executing an image processing program on the acquired image, and
A processing step by a determination module that determines the quality of the inspection object by executing a determination program on the processed image and acquires the determination result.
A processing step by the display control module that controls the display of at least one of the processed image and the determination result by executing the display control program.
Only including,
Each processing step by the plurality of modules is executed in the image inspection apparatus.
A transmission step in which an external device sends a DLL file that defines a program for inspection, created based on a simulation of image inspection.
The image inspection device further includes a receiving step of receiving the DLL file.
An image inspection method in which any one of a plurality of modules in the image inspection apparatus is realized including a function by the DLL file by expanding the DLL file together with an individual execution file into a RAM by a CPU .
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017001088A JP6879743B2 (en) | 2017-01-06 | 2017-01-06 | Image inspection equipment and image inspection method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017001088A JP6879743B2 (en) | 2017-01-06 | 2017-01-06 | Image inspection equipment and image inspection method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2018112406A JP2018112406A (en) | 2018-07-19 |
| JP6879743B2 true JP6879743B2 (en) | 2021-06-02 |
Family
ID=62911041
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017001088A Expired - Fee Related JP6879743B2 (en) | 2017-01-06 | 2017-01-06 | Image inspection equipment and image inspection method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6879743B2 (en) |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5056263B2 (en) * | 2007-08-14 | 2012-10-24 | オムロン株式会社 | Image inspection apparatus, image inspection method, program for causing computer to function as image inspection apparatus, and computer-readable recording medium |
| JP4962226B2 (en) * | 2007-08-31 | 2012-06-27 | オムロン株式会社 | Development support system, development support device, development support method, and development support program |
| JP2010286353A (en) * | 2009-06-11 | 2010-12-24 | Ricoh Elemex Corp | Image inspection device, and method and program for inspecting image |
| JP2012088199A (en) * | 2010-10-20 | 2012-05-10 | Yamaha Motor Co Ltd | Method and apparatus for inspecting foreign matter |
| JP6117580B2 (en) * | 2013-03-19 | 2017-04-19 | 株式会社イシダ | Inspection equipment |
-
2017
- 2017-01-06 JP JP2017001088A patent/JP6879743B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2018112406A (en) | 2018-07-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11960925B2 (en) | Program generating device, program generating method, and information storage medium | |
| KR100860963B1 (en) | Apparatus and method for component based software development | |
| JP5469433B2 (en) | Image processing apparatus and image processing method | |
| JP6889510B2 (en) | Programming equipment and programs | |
| US20160077955A1 (en) | Regression testing of responsive user interfaces | |
| JP2014109479A (en) | Image processing apparatus, image processing method, and computer program | |
| JP2009116377A (en) | Program creation device for image processing controller | |
| CN108287718A (en) | Special efficacy edit methods based on game engine and device | |
| JP5060677B2 (en) | Image processing controller and inspection support system | |
| JP6879743B2 (en) | Image inspection equipment and image inspection method | |
| CN114879943A (en) | Algorithm scheme generation method and device and computer readable storage medium | |
| JP5883936B2 (en) | Programmable controller system | |
| JP5733269B2 (en) | Method for supporting program generation and apparatus for supporting program generation | |
| JP2019061549A5 (en) | Information processing equipment, control methods and computer programs | |
| US12333279B2 (en) | Program executing device, program executing method, and non-transitory computer-readable storage medium | |
| JP3967885B2 (en) | Image processing device | |
| JP6095743B2 (en) | Support device, program | |
| JP6207694B2 (en) | Programmable display, program | |
| JP5861743B2 (en) | Image processing device | |
| KR101879151B1 (en) | System development device, program development method and development program | |
| JP7646098B1 (en) | Screen data creation program, screen data creation device, programmable display system, programmable display device, and screen data creation method | |
| JP2016115265A (en) | Creation device for work procedure manual | |
| JP4831180B2 (en) | Alarm definition device and alarm definition method | |
| KR101665195B1 (en) | The method for adding distinct symbol to the computerized procedure systemt | |
| WO2025004237A1 (en) | Terminal device, inspection system, user interface providing method, and program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170210 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190913 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200731 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201020 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201214 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20210406 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210430 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6879743 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |