(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024126362
(43)【公開日】2024-09-20
(54)【発明の名称】画像処理装置
(51)【国際特許分類】
G01N 21/88 20060101AFI20240912BHJP
G06T 7/73 20170101ALI20240912BHJP
G06V 10/70 20220101ALI20240912BHJP
G06T 7/70 20170101ALI20240912BHJP
【FI】
G01N21/88 J
G06T7/73
G06V10/70
G06T7/70 Z
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2023034683
(22)【出願日】2023-03-07
(71)【出願人】
【識別番号】000129253
【氏名又は名称】株式会社キーエンス
(74)【代理人】
【識別番号】110001427
【氏名又は名称】弁理士法人前田特許事務所
(72)【発明者】
【氏名】俵 京佑
(72)【発明者】
【氏名】山上 毅
(72)【発明者】
【氏名】生嶋 靖久
【テーマコード(参考)】
2G051
5L096
【Fターム(参考)】
2G051AA07
2G051AB02
2G051EB05
2G051FA01
5L096AA02
5L096AA06
5L096BA03
5L096CA04
5L096CA24
5L096DA01
5L096DA02
5L096EA14
5L096EA39
5L096FA34
5L096FA64
5L096FA67
5L096FA69
5L096HA11
5L096JA11
5L096KA04
5L096MA07
(57)【要約】
【課題】ルールベースツールと機械学習ツールの両方のツールを共通のインタフェース上で設定可能にしてユーザの手間を減らす。
【解決手段】画像処理装置1は、設定ウィンドウを表示するユーザインターフェース画面を生成し、機械学習ツール及びルールベースツールを設定ウィンドウに配置するための入力と、機械学習ツールとルールベースツールに参照させるための複数の画像で構成された共通のデータセットの入力を受け付け、機械学習ツールによる画像処理とルールベースツールによる画像処理との一方の処理をデータセットに対して実行し、一方の処理を実行した後のデータセットに対して他方の処理を実行する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
機械学習ツールによる画像処理とルールベースツールによる画像処理との実行が可能に構成された画像処理装置であって、
画像処理を設定するための設定ウィンドウを表示するユーザインターフェース画面を生成するとともに、表示部に表示させるUI生成部と、
機械学習モデルによる画像処理を示す機械学習ツールと、所定のルールに従った画像処理を示すルールベースツールを前記ユーザインターフェース画面の前記設定ウィンドウに配置するための入力と、前記機械学習ツールと前記ルールベースツールに参照させるための複数の画像で構成された共通のデータセットの入力を受け付ける入力部と、
前記機械学習ツールによる画像処理と、前記ルールベースツールによる画像処理との一方の処理を前記データセットに対して実行し、当該一方の処理を実行した後の当該データセットに対して他方の処理を実行する画像処理部と、
を備える画像処理装置。
【請求項2】
請求項1に記載の画像処理装置において、
前記UI生成部は、前記設定ウィンドウ上に配置された前記機械学習ツールと前記ルールベースツールとが共に参照している前記データセットに含まれる画像を表示するデータセットウィンドウを、当該設定ウィンドウと並べて表示させたユーザインターフェース画面を生成する、
画像処理装置。
【請求項3】
請求項2に記載の画像処理装置において、
前記画像処理部は、前記データセットを構成する前記複数の画像に対して、前記ルールベースツールによる前記画像処理を実行することで、複数の処理後画像を生成し、
前記UI生成部は、前記複数の処理後画像を前記データセットウィンドウに表示させたユーザインターフェース画面を生成する、
画像処理装置。
【請求項4】
請求項2に記載の画像処理装置において、
前記画像処理部は、前記複数の処理後画像に対して、前記機械学習ツールによる前記画像処理を実行することで、各処理後画像の推論結果を出力し、
前記UI生成部は、前記複数の処理後画像と各処理後画像に対応する前記推論結果とを前記データセットウィンドウに表示させたユーザインターフェース画面を生成する、
画像処理装置。
【請求項5】
請求項2に記載の画像処理装置において、
前記画像処理部は、
前記データセットウィンドウに表示された前記複数の画像と、当該複数の画像に対して前記ルールベースツールによる前記画像処理を実行した結果とを前記機械学習モデルに学習させ、
ワークが撮像された検査対象画像に対して前記ルールベースツールによる前記画像処理を実行し、
前記ルールベースツールによる前記画像処理の実行結果に基づいて、前記検査対象画像に対して、前記学習させた前記機械学習モデルを用いた前記画像処理を実行する、
画像処理装置。
【請求項6】
請求項2に記載の画像処理装置において、
前記画像処理部は、
前記データセットに含まれる前記複数の画像のそれぞれから特徴量を抽出し、抽出された特徴量に基づいて、各画像に含まれるワークの位置を検出し、
検出されたワークの位置に基づいて、前記機械学習ツールによる画像処理の対象となる各画像のワークの位置及び姿勢が共通になるように位置補正を実行し、
位置補正された前記複数の画像に対して、前記機械学習ツールによる画像処理を実行する、
画像処理装置。
【請求項7】
請求項6に記載の画像処理装置において、
前記入力部は、前記データセットに含まれる画像中の前記機械学習ツールによる画像処理の対象領域の指定を受け付け可能に構成され、
前記画像処理部は、各画像内で検出されたワークの位置が前記指定された対象領域に含まれるように前記位置補正を実行し、前記データセットの各画像の前記対象領域に対して、前記機械学習ツールによる画像処理を実行する、
画像処理装置。
【請求項8】
請求項7に記載の画像処理装置において、
前記UI生成部は、前記位置補正により各画像内で検出されたワークが前記対象領域に含まれた状態で、前記データセットの前記複数の画像が前記データセットウィンドウに表示されたユーザインターフェース画面を生成する、
画像処理装置。
【請求項9】
請求項1に記載の画像処理装置において、
前記ルールベースツールによる前記所定のルールに従った画像処理は、入力画像中の特徴領域を強調するための前処理であり、
前記画像処理部は、
前記データセットを構成する前記複数の画像に対して、前記前処理を実行することで、各画像の特徴領域が強調された複数の前処理画像を生成し、
前記複数の前処理画像に対して、前記機械学習ツールによる画像処理または前記機械学習モデルの学習処理を実行する、
画像処理装置。
【請求項10】
請求項1に記載の画像処理装置において、
前記UI生成部は、前記設定ウィンドウ上に配置された前記機械学習ツールおよび前記ルールベースツールが、共に前記データセットを参照していることを示すインジケータを、前記設定ウィンドウ上に表示させたユーザインターフェース画面を生成する、
画像処理装置。
【請求項11】
請求項1に記載の画像処理装置において、
前記入力部は、
機械学習モデルを用いた画像処理を示す第1機械学習ツールおよび第2機械学習ツール、ならびに、所定のルールに従った画像処理を示す第1ルールベースツールおよび第2ルールベースツールを前記設定ウィンドウに配置し、当該設定ウィンドウに配置された前記第1機械学習ツールと前記第1ルールベースツールに対して、複数の画像で構成された第1データセットを参照させ、当該設定ウィンドウに配置された前記第2機械学習ツールと前記第2ルールベースツールに対して、複数の画像で構成された第2データセットを参照させるためのユーザ入力を受け付け、
前記UI生成部は、
前記設定ウィンドウ上に配置された前記第1機械学習ツールおよび前記第1ルールベースツールが、共に前記第1データセットを参照していることを示す第1インジケータと、当該設定ウィンドウ上に配置された前記第2機械学習ツールおよび前記第2ルールベースツールが、共に前記第2データセットを参照していることを示す第2インジケータとを前記設定ウィンドウ上に表示させたユーザインターフェース画面を生成する、
画像処理装置。
【請求項12】
請求項2に記載の画像処理装置において、
前記画像処理部は、
前記データセットを構成する前記複数の画像に対して、前記機械学習ツールによる前記画像処理を実行し、
前記機械学習ツールによる前記画像処理が実行された前記複数の画像に対して、前記ルールベースツールによる前記画像処理を実行する、
画像処理装置。
【請求項13】
請求項12に記載の画像処理装置において、
前記機械学習ツールは、入力画像を前記機械学習モデルにより複数のクラスのいずれかに分類する分類処理を示す分類ツールを含み、
前記ルールベースツールは、所定のルールに基づく画像検査を示す通常検査ツールを含み、
前記入力部は、
前記分類ツールと、前記複数のクラスの各クラスに対応する前記通常検査ツールを前記設定ウィンドウに配置し、当該設定ウィンドウに配置された前記分類ツールと前記複数の通常検査ツールに対して、複数の画像で構成された前記データセットを参照させるためのユーザ入力を受け付け、
前記画像処理部は、
前記データセットを構成する各画像を前記設定ウィンドウに配置された前記分類ツールにより、前記複数のクラスのいずれかに分類し、前記分類された画像に対して、当該分類されたクラスに対応する前記通常検査ツールによる画像検査を実行し、
前記UI生成部は、
前記分類ツールによる分類処理の結果、および、前記通常検査ツールによる画像検査の結果を前記データセットウィンドウに表示させたユーザインターフェース画面を生成する、
画像処理装置。
【請求項14】
請求項1に記載の画像処理装置において、
前記入力部は、前記機械学習ツールと前記ルールベースツールに対して、前記データセットを参照させるためのユーザ入力を受け付ける、
画像処理装置。
【請求項15】
機械学習ツールによる画像処理とルールベースツールによる画像処理とを実行する画像処理方法であって、
画像処理を設定するための設定ウィンドウを表示するユーザインターフェース画面を生成するとともに、表示部に表示させるステップと、
機械学習モデルによる画像処理を示す機械学習ツールと、所定のルールに従った画像処理を示すルールベースツールを前記ユーザインターフェース画面の前記設定ウィンドウに配置するための入力と、前記機械学習ツールと前記ルールベースツールに参照させる複数の画像で構成された共通のデータセットの入力を受け付けるステップと、
前記機械学習ツールによる画像処理と、前記ルールベースツールによる画像処理との一方の処理を前記データセットに対して実行し、当該一方の処理を実行した後の当該データセットに対して他方の処理を実行するステップと、
を備える画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、機械学習ツールによる画像処理とルールベースツールによる画像処理との実行が可能に構成された画像処理装置に関する。
【背景技術】
【0002】
例えばワークの外観検査を行う検査装置として、撮像部によって取得された対象画像に各種計測処理を実行し、計測処理の処理結果に基づいてワークの欠陥検出や位置ずれの有無等を検出するように構成された検査装置が知られている(例えば特許文献1参照)。特許文献1の検査装置では、ユーザがマニュアルで処理手順を構築することが可能になっている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、特許文献1のようにマニュアルで処理手順を構築するルールベースツールによる画像処理以外にも、機械学習モデルによる画像処理ツールの使用が可能な画像処理ソフトも検討されている。
【0005】
ルールベースツールによる画像処理では、事前に設定されたルールに従って画像を処理するため、設定が必要な画像は1枚だけである一方、機械学習ツールによる画像処理では、機械学習モデルの学習用に複数枚の画像の設定が必要になる。
【0006】
このように、ルールベースツールと機械学習ツールの設定手順の違いから、ルールベースツールと機械学習ツールとを同じインタフェース上で設定する方法はこれまで提案されていなかった。このため、ルールベースツールと機械学習ツールの両方のツールを使いたいユーザには設定の手間が生じていた。
【0007】
本開示は、かかる点に鑑みたものであり、その目的とするところは、ルールベースツールと機械学習ツールの両方のツールを共通のインタフェース上で設定可能にしてユーザの手間を減らすことにある。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本態様に係る画像処理装置は、画像処理を設定するための設定ウィンドウを表示するユーザインターフェース画面を生成するとともに、表示部に表示させるUI生成部と、機械学習モデルによる画像処理を示す機械学習ツールと、所定のルールに従った画像処理を示すルールベースツールを前記ユーザインターフェース画面の前記設定ウィンドウに配置するための入力と、前記機械学習ツールと前記ルールベースツールに参照させるための複数の画像で構成された共通のデータセットの入力を受け付ける入力部と、前記機械学習ツールによる画像処理と、前記ルールベースツールによる画像処理との一方の処理を前記データセットに対して実行し、当該一方の処理を実行した後の当該データセットに対して他方の処理を実行する画像処理部とを備えている。
【0009】
すなわち、例えばルールベースツールで画像の位置を補正してから、機械学習ツールによる画像処理を実行したい場合には、表示部に表示されているユーザインターフェース画面の設定ウィンドウに、ルールベースツールの一例である位置補正ツールと、機械学習ツールとを配置し、位置補正ツール及び機械学習ツールにデータセットを参照させると、画像処理部は、データセットに対してルールベースツールで画像の位置補正処理を実行した後、同じデータセットに対して機械学習ツールによる画像処理を実行するので、ユーザの設定の手間が減る。機械学習ツールによる画像処理には、機械学習モデルの学習処理が含まれていてもよい。また、機械学習ツールによる画像処理の後に、ルールベースツールによる画像処理を実行してもよい。
【0010】
前記UI生成部は、前記設定ウィンドウ上に配置された前記機械学習ツールと前記ルールベースツールとが共に参照している前記データセットに含まれる画像を表示するデータセットウィンドウを、当該設定ウィンドウと並べて表示させたユーザインターフェース画面を生成することもできる。これにより、機械学習ツールとルールベースツールに共通して参照させているデータセット中の画像も同じユーザインターフェース画面上でユーザが確認できるため利便性が向上する。
【0011】
前記画像処理部は、前記データセットを構成する前記複数の画像に対して、前記ルールベースツールによる前記画像処理を実行することで、複数の処理後画像を生成することができる。この場合、前記UI生成部は、前記複数の処理後画像を前記データセットウィンドウに表示させたユーザインターフェース画面を生成することで、機械学習モデルに学習させる画像に対してルールベースツールによる画像処理が正しく実行されているか否かをユーザが確認できる。
【0012】
前記画像処理部は、前記複数の処理後画像に対して、前記機械学習ツールによる前記画像処理を実行することで、各処理後画像の推論結果を出力するように構成されていてもよい。この場合、前記UI生成部は、前記複数の処理後画像と各処理後画像に対応する前記推論結果とを前記データセットウィンドウに表示させたユーザインターフェース画面を生成することで、機械学習モデルが実際に推論の根拠としたルールベース処理後の画像に基づいて、ユーザが推論結果を確認できる。
【0013】
前記画像処理部は、前記データセットウィンドウに表示された前記複数の画像と、当該複数の画像に対して前記ルールベースツールによる前記画像処理を実行した結果とを前記機械学習モデルに学習させ、ワークが撮像された検査対象画像に対して前記ルールベースツールによる前記画像処理を実行することもできる。この場合、前記ルールベースツールによる前記画像処理の実行結果に基づいて、前記検査対象画像に対して、前記学習させた前記機械学習モデルを用いた前記画像処理を実行することで、学習時と同じルールベースツールの処理を検査対象画像に実行できる。これにより、学習結果に従った機械学習ツールを実行できるため、機械学習ツールの精度を向上できる。
【0014】
前記画像処理部は、前記データセットに含まれる前記複数の画像のそれぞれから特徴量を抽出し、抽出された特徴量に基づいて、各画像に含まれるワークの位置を検出し、検出されたワークの位置に基づいて、前記機械学習ツールによる画像処理の対象となる各画像のワークの位置及び姿勢が共通になるように位置補正を実行することもできる。この場合、位置補正された前記複数の画像に対して、前記機械学習ツールによる画像処理を実行することで、機械学習ツールによる画像処理の効率や精度を向上できる。位置補正とは、画像自体の座標変換処理であってもよいし、機械学習ツールによる学習対象領域の位置を補正する処理であってもよい。また、画像処理部が正規化相関(パターン)サーチを実行する場合には、輝度値を特徴量とすることができ、また、画像処理部が幾何サーチを実行する場合には、エッジを特徴量とすることができる。
【0015】
また、前記入力部は、前記データセットに含まれる画像中の前記機械学習ツールによる画像処理の対象領域の指定を受け付け可能に構成されていてもよい。この場合、前記画像処理部は、各画像内で検出されたワークの位置が前記指定された対象領域に含まれるように前記位置補正を実行し、前記データセットの各画像の前記対象領域に対して、前記機械学習ツールによる画像処理を実行することができる。これにより、機械学習ツールによる画像処理の対象領域を絞ることができるため、機械学習ツールによる画像処理の効率や精度を向上できる。また、画像中のワークの一部分のみを機械学習ツールで画像処理させたい場合に、対象領域を予め指定しておくことで不要な部分を判断対象から除くことができる。また、機械学習モデルの学習時においても対象領域だけを学習させる場合は、対象領域以外の部分を除くことで学習効果を向上できる。
【0016】
前記UI生成部は、前記位置補正により各画像内で検出されたワークが前記対象領域に含まれた状態で、前記データセットの前記複数の画像が前記データセットウィンドウに表示されたユーザインターフェース画面を生成することもできる。これにより、データセットを構成する各画像の注目領域が、機械学習ツールによる画像処理の対象領域に含まれていることを容易に確認できる。
【0017】
前記ルールベースツールによる前記所定のルールに従った画像処理は、入力画像中の特徴領域を強調するための前処理であってもよい。この場合、前記画像処理部は、前記データセットを構成する前記複数の画像に対して、前記前処理を実行することで、各画像の特徴領域が強調された複数の前処理画像を生成し、前記複数の前処理画像に対して、前記機械学習ツールによる画像処理または前記機械学習モデルの学習処理を実行することができる。すなわち、例えばコントラスト調整などのルールベースツールによる処理を実行することで、判別したい部分を強調することができ、その後に実行する機械学習ツールによる画像処理での判定難易度を下げることができる。
【0018】
前記UI生成部は、前記設定ウィンドウ上に配置された前記機械学習ツールおよび前記ルールベースツールが、共に前記データセットを参照していることを示すインジケータを、前記設定ウィンドウ上に表示させたユーザインターフェース画面を生成することもできる。これにより、機械学習ツールとルールベースツールがどのデータセットを共有しているかをユーザが容易に把握できるため利便性が向上する。インジケータは、例えば1つのグループを示す枠や、ツール間を結ぶ線、矢印等であってもよい。
【0019】
前記入力部は、設定ウィンドウに配置された第1機械学習ツールと第1ルールベースツールに対して複数の画像で構成された第1データセットを参照させ、設定ウィンドウに配置された第2機械学習ツールと第2ルールベースツールに対して複数の画像で構成された第2データセットを参照させるためのユーザ入力を受け付けることもできる。この場合、前記UI生成部は、前記設定ウィンドウ上に配置された前記第1機械学習ツールおよび前記第1ルールベースツールが、共に前記第1データセットを参照していることを示す第1インジケータと、当該設定ウィンドウ上に配置された前記第2機械学習ツールおよび前記第2ルールベースツールが、共に前記第2データセットを参照していることを示す第2インジケータとを前記設定ウィンドウ上に表示させたユーザインターフェース画面を生成することができる。すなわち、ワークに対して複数の領域の検査を行う場合など、複数のデータセットがある場合に、各領域に対応するデータセットを参照しているツール群を区別してユーザインターフェース画面上に表示できるため、利便性が高まる。尚、第3機械学習ツールおよび第3ルールベースツールが、共に第3データセットを参照する形態も本発明に含むことができ、この場合、第3機械学習ツールおよび第3ルールベースツールが、共に第3データセットを参照していることを示す第3インジケータを設定ウィンドウ上に表示すればよい。
【発明の効果】
【0020】
以上説明したように、ルールベースツールと機械学習ツールの両方のツールを共通のインタフェース上で設定できるので、ユーザの手間を減らすことができる。
【図面の簡単な説明】
【0021】
【
図1】本発明の実施形態に係る画像処理装置の構成を示す模式図である。
【
図2】画像処理装置のハードウエア構成を示すブロック図である。
【
図3】ワーク画像を機械学習モデルで処理する例を説明する図である。
【
図4】画像処理装置の検査設定の手順の一例を示すフローチャートである。
【
図5】設定用ユーザインターフェース画面の一例を示す図である。
【
図9】データセットが受け付けられた
図5相当図である。
【
図10】画像処理装置の運用時の処理の一例を示すフローチャートである。
【
図11】AIツールの実行後にルールベースツールを実行する場合の設定用ユーザインターフェース画面を示す図である。
【
図12】AIツールの実行後にルールベースツールを実行する場合の処理を示すフローチャートである。
【
図13】複数のAIツールの組み合わせた場合の設定用ユーザインターフェース画面を示す図である。
【
図14】画像処理の対象領域を設定する際に表示される設定用ユーザインターフェース画面を示す図である。
【
図16】AIツール選択時の設定用ユーザインターフェース画面を示す図である。
【
図17】複数の撮像ユニットを備えている場合の設定用ユーザインターフェース画面を示す図である。
【
図18】撮像設定ウィンドウの一例を示す図である。
【
図19】複数回撮像設定ウィンドウの一例を示す図である。
【
図20】インジケータの別の例を説明する図である。
【発明を実施するための形態】
【0022】
以下、本発明の実施形態を図面に基づいて詳細に説明する。尚、以下の好ましい実施形態の説明は、本質的に例示に過ぎず、本発明、その適用物或いはその用途を制限することを意図するものではない。
【0023】
図1は、本発明の実施形態に係る画像処理装置1の構成を示す模式図である。画像処理装置1は、例えば各種部品や製品等のような検査対象であるワークを撮像して取得されたワーク画像の良否判定を行うための装置であり、工場等の生産現場等で使用することができる。具体的には、画像処理装置1の内部には機械学習モデルが構築されており、この機械学習モデルは、複数の学習用画像を学習させることにより生成されている。
【0024】
図2にも示すように、画像処理装置1は、装置本体となる制御ユニット2と、撮像ユニット3と、表示装置(表示部)4と、パーソナルコンピュータ5とを備えている。パーソナルコンピュータ5は、必須なものではなく、省略することもできる。表示装置4の代わりにパーソナルコンピュータ5を使用して各種情報や画像を表示させることもできるし、パーソナルコンピュータ5の機能を制御ユニット2に組み込むことや、表示装置4に組み込むことができる。
【0025】
図1では、画像処理装置1の構成例の一例として、制御ユニット2、撮像ユニット3、表示装置4及びパーソナルコンピュータ5を記載しているが、これらのうち、任意の複数を組み合わせて一体化することもできる。例えば、制御ユニット2と撮像ユニット3を一体化することや、制御ユニット2と表示装置4を一体化することもできる。また、制御ユニット2を複数のユニットに分割して一部を撮像ユニット3や表示装置4に組み込むことや、撮像ユニット3を複数のユニットに分割して一部を他のユニットに組み込むこともできる。画像処理装置1を用いることにより、本発明に係る画像処理方法の全てのステップを実行できる。
【0026】
(撮像ユニット3の構成)
図2に示すように、撮像ユニット3は、カメラモジュール(撮像部)14と、照明モジュール(照明部)15とを備えており、ワーク画像の取得を実行するユニットである。カメラモジュール14は、撮像光学系を駆動するAF用モータ14aと、撮像基板14bとを備えている。AF用モータ14aは、撮像光学系のレンズを駆動することにより、自動でピント調整を実行する部分であり、従来から周知のコントラストオートフォーカス等の手法によってピント調整を行うことができる。撮像基板14bは、撮像光学系から入射した光を受光する受光素子としてCMOSセンサ14cを備えている。CMOSセンサ14cは、カラー画像を取得することができるように構成された撮像センサである。CMOSセンサ14cの代わりに、例えばCCDセンサ等の受光素子を用いることもできる。
【0027】
照明モジュール15は、ワークを含む撮像領域を照明する発光体としてのLED(発光ダイオード)15aと、LED15aを制御するLEDドライバ15bとを備えている。LED15aによる発光タイミング、発光時間、発光量は、LEDドライバ15bによって任意に制御することができる。LED15aは、撮像ユニット3に一体に設けてもよいし、撮像ユニット3とは別体として外部照明ユニットとして設けてもよい。
【0028】
(表示装置4の構成)
表示装置4は、例えば液晶パネルや有機ELパネル等からなる表示パネルを有しており、後述する制御ユニット2のプロセッサ13cないし表示制御部13aによって制御される。制御ユニット2から出力されたワーク画像や各種ユーザインターフェース画面等は表示装置4に表示される。また、パーソナルコンピュータ5が表示パネルを有している場合、パーソナルコンピュータ5の表示パネルを表示装置4の代わりとして利用することができる。
【0029】
(操作機器)
画像処理装置1をユーザが操作するための操作機器としては、例えば、パーソナルコンピュータ5が有するキーボード51やマウス52等を挙げることができるが、これらに限られるものではなく、ユーザによる各種操作を受付可能に構成された機器であればよい。例えば、表示装置4が有するタッチパネル41のようなポインティングデバイスも操作機器に含まれる。
【0030】
キーボード51やマウス52のユーザによる操作は制御ユニット2で検出可能になっている。また、タッチパネル41は、例えば感圧センサを搭載した従来から周知のタッチ式操作パネルであり、ユーザのタッチ操作は制御ユニット2で検出可能になっている。他のポインティングデバイスを用いた場合も同様である。
【0031】
(制御ユニット2の構成)
制御ユニット2は、メイン基板13と、コネクタ基板16と、通信基板17と、電源基板18とを備えている。メイン基板13には、表示制御部(UI生成部)13aと、入力部13bと、プロセッサ(画像処理部)13cとが設けられている。表示制御部13aは、詳細は後述するが、画像処理装置1で実行する画像処理を設定するための設定ウィンドウを表示するユーザインターフェース画面等を生成する部分である。表示制御部13aで生成された各種ユーザインターフェース画面は、表示装置4に表示される。
【0032】
表示制御部13a及び入力部13bは、例えば、メイン基板13に実装された演算処理装置によって構成することができる。また、1つの演算処理装置によって表示制御部13a、入力部13b及びプロセッサ13cが構成されていてもよいし、別々の演算処理装置によって表示制御部13a、入力部13b及びプロセッサ13cが構成されていてもよい。
【0033】
表示制御部13a、入力部13b及びプロセッサ13cは、接続されている各基板及びモジュールの動作を制御する。例えば、プロセッサ13cは、照明モジュール15のLEDドライバ15bに対してLED15aの点灯/消灯を制御する照明制御信号を出力する。LEDドライバ15bは、プロセッサ13cからの照明制御信号に応じて、LED15aの点灯/消灯の切替及び点灯時間の調整を行うとともに、LED15aの光量等を調整する。
【0034】
また、プロセッサ13cは、カメラモジュール14の撮像基板14bに、CMOSセンサ14cを制御する撮像制御信号を出力する。CMOSセンサ14cは、プロセッサ13cからの撮像制御信号に応じて、撮像を開始するとともに、露光時間を任意の時間に調整して撮像を行う。すなわち、撮像ユニット3は、プロセッサ13cから出力される撮像制御信号に応じてCMOSセンサ14cの視野範囲内を撮像し、視野範囲内にワークがあれば、ワークを撮像することになるが、ワーク以外の物が視野範囲内にあれば、それも撮像することができる。例えば、画像処理装置1は、機械学習モデルの学習用画像として、撮像ユニット3により、良品に対応する良品画像と不良品に対応する不良品画像とを撮像することができる。学習用画像は、撮像ユニット3で撮像された画像でなくてもよく、他のカメラ等で撮像された画像であってもよい。
【0035】
一方、画像処理装置1の運用時には、撮像ユニット3により、ワークを撮像することができる。また、CMOSセンサ14cは、ライブ画像、即ち現在の撮像された画像を短いフレームレートで随時出力することができるように構成されている。
【0036】
CMOSセンサ14cによる撮像が終わると、撮像ユニット3から出力された画像信号は、メイン基板13のプロセッサ13cに入力されて処理されるとともに、メイン基板13のメモリ13dに記憶されるようになっている。メイン基板13のプロセッサ13cによる具体的な処理内容の詳細については後述する。尚、メイン基板13には、FPGAやDSP等の処理装置が設けられていてもよい。また、FPGAやDSP等の処理装置が統合されたプロセッサ13cであってもよい。
【0037】
コネクタ基板16は、電源インタフェース16aに設けてある電源コネクタ(図示せず)を介して外部から電力の供給を受ける部分である。電源基板18は、コネクタ基板16で受けた電力を各基板及びモジュール等に分配する部分であり、具体的には、照明モジュール15、カメラモジュール14、メイン基板13、及び通信基板17に電力を分配する。電源基板18は、AF用モータドライバ181を備えている。AF用モータドライバ181は、カメラモジュール14のAF用モータ14aに駆動電力を供給し、オートフォーカスを実現している。AF用モータドライバ181は、メイン基板13のプロセッサ13cからのAF制御信号に応じて、AF用モータ14aに供給する電力を調整する。
【0038】
通信基板17は、メイン基板13と表示装置4及びパーソナルコンピュータ5との通信、メイン基板13と外部制御機器(図示せず)との通信等を実行する部分である。外部制御機器は、例えばプログラマブルロジックコントローラ等を挙げることができる。通信は、有線であってもよいし、無線であってもよく、いずれの通信形態も、従来から周知の通信モジュールによって実現することができる。
【0039】
制御ユニット2には、例えばソリッドステートドライブ、ハードディスクドライブ等からなる記憶装置(記憶部)19が設けられている。記憶装置19には、後述する各制御及び処理を上記ハードウエアによって実行可能にするためのプログラムファイル80や設定ファイル等(ソフトウエア)が記憶されている。プログラムファイル80や設定ファイルは、例えば光ディスク等の記憶媒体90に格納しておき、この記憶媒体90に格納されたプログラムファイル80や設定ファイルを制御ユニット2にインストールすることができる。プログラムファイル80は、外部サーバから通信回線を利用してダウンロードされるものであってもよい。また、記憶装置19には、例えば、上記画像データや、画像処理装置1の機械学習モデルを構築するためのパラメータ等を記憶させておくこともできる。
【0040】
(画像処理の種類)
画像処理装置1は、所定のルールに従った画像処理と、機械学習モデルを用いた画像処理との両方を実行することが可能に構成されている。所定のルールに従った画像処理は、ルールベースによる画像処理と呼ぶことができる。ルールベースによる画像処理では、ユーザがマニュアルで処理手順を構築していく。所定のルールに従った画像処理を示すツールをルールベースツールと呼び、ルールベースツールには、例えば、ワーク画像のコントラスト調整を行う前処理ツール、ワークの位置及び姿勢を補正する位置補正ツール、ワークの寸法や幾何形状を抽出する寸法幾何ツール、ワーク外面の欠陥を抽出する欠陥ツール等が含まれる。欠陥ツールは、所定のルールに基づく画像検査を示す通常検査ツールの例である。
【0041】
一方、機械学習モデルによる画像処理は、画像と教師データとを機械学習モデルに学習させることによって画像処理を可能にするAI方式の画像処理と呼ぶことができる。機械学習モデルによる画像処理では、まず、複数の画像(学習用画像)と教師データとを機械学習モデルに入力して学習させて学習済みの機械学習モデルを生成し、学習済みの機械学習モデルに入力画像を入力し、例えば分類処理、判定処理、検出処理や位置決め処理等の画像処理を機械学習モデルに実行させる。本実施形態では、機械学習モデルによる学習処理が画像処理に含まれている。機械学習モデルを用いた画像処理を示すツールを機械学習ツール(AIツール)と呼び、機械学習ツールには、入力画像を機械学習モデルにより複数のクラスのいずれかに分類する分類処理を示す分類ツール、入力画像の良否を機械学習モデルにより判定する判定処理を示す判定ツール、入力画像に含まれる物体や欠陥を機械学習モデルにより検出する検出処理を示す検出ツール、入力画像に含まれる物体の位置決めを機械学習モデルにより行う位置決め処理を示す位置決めツール等が含まれる。
【0042】
記憶装置19に記憶しているパラメータをプロセッサ13cが読み込むことで、機械学習モデルをプロセッサ13cが構築できる。
図3に示すように、機械学習モデルには、ニューラルネットワーク、オートエンコーダ、SVM(サポートベクターマシン)等が含まれている。プロセッサ13cは、上述のようにして構築されたニューラルネットワークに、検査対象のワークを撮像したワーク画像を入力する。これが前段処理であり、ワーク画像をニューラルネットワークに入力すると、ニューラルネットワークが特徴抽出を行い、抽出された特徴量は、後段処理を実行するオートエンコーダ及び/またはサポートベクターマシンに入力される。前段処理で特徴抽出を行うニューラルネットワークは、事前学習済みの畳み込みニューラルネットワークであっても良いし、後述する自動学習を用いて追加で学習できるように構成された畳み込みニューラルネットワークであっても良い。また、
図3に示す機械学習モデルにおいて、畳み込みニューラルネットワークの複数の階層からスケールの異なる複数の特徴量(特徴マップ)が抽出され、当該複数の特徴量がそれぞれ、オートエンコーダ及び/またはサポートベクターマシンに入力されるように構成しても良い。
【0043】
オートエンコーダでは、入力された特徴量に基づいて異常度マップ(ヒートマップ)を生成して出力する。プロセッサ13cは、オートエンコーダから出力された異常度マップに基づいて、ワーク画像を第1クラスと第2クラスのいずれのクラスに属するかを判定する判定処理を実行する。例えば、第1クラスを良品クラスとし、第1クラスに属する画像は、良品を撮像した良品画像とすることができ、また、第2クラスを不良品クラスとし、第2クラスに属する画像は、不良品を撮像した不良品画像とすることができる。
【0044】
一方、サポートベクターマシンでは、入力された特徴量に基づいて、ワーク画像を複数のクラスに分類する分類処理を実行する。複数のクラスには、前記第1クラスと前記第2クラスとが含まれており、これにより、プロセッサ13cは、ワーク画像を良品クラスと不良品クラスに分類することができる。複数のクラスには、第3クラスや第4クラス等が含まれていてもよく、クラスの数は特に限定されない。
【0045】
本実施形態に係る機械学習モデルは、オートエンコーダやSVMに限定されるものではなく、他の機械学習モデルを用いても良い。
【0046】
画像処理装置1のプロセッサ13cが上記判定処理や上記分類処理を実行することで、ワークが良品であるか不良品であるかを判断できる。このような機能を有する画像処理装置1は、ワークの外観を検査することができるので、外観検査装置等と呼ぶこともできる。画像処理装置1が検査対象とするワークは、それ全体が検査対象であってもよいし、ワークの一部のみが検査対象であってもよい。また、1つのワークに複数の検査対象が含まれていてもよい。また、ワーク画像には、複数のワークが含まれていてもよい。
【0047】
(画像処理装置1の検査設定)
次に、画像処理装置1の検査設定について説明する。検査設定とは、画像処理の設定のことである。
図4は、画像処理装置1の検査設定の手順の一例を示すフローチャートであり、ユーザが検査設定の開始操作を行うと実行される。検査設定の開始操作は、例えば開始ボタンの操作等であり、マウス52等によって操作されたことを入力部13bが検出すると、
図4のフローチャートがスタートする。
【0048】
ステップSA1では、表示制御部13aが、
図5に示す設定用ユーザインターフェース画面100を生成し、表示装置4に表示させる。設定用ユーザインターフェース画面100には、設定ウィンドウ101、選択画像表示領域102及びデータセットウィンドウ103が設けられている。設定ウィンドウ101は、画像処理を設定するためのウィンドウである。データセットウィンドウ103は、複数の画像で構成されたデータセットをサムネイル形式で一覧表示するための領域である。選択画像表示領域102は、データセットウィンドウ103に表示されている複数の画像の中から選択された画像を拡大表示するための領域である。
【0049】
ステップSA2では、
図6に示すように撮像ツール110の追加を受け付ける。撮像ツール110をユーザがマウス52等によって選択すると、入力部13bは、撮像ツール110の選択操作をユーザ入力として受け付ける。入力部13bが撮像ツール110の選択操作を受け付けると、プロセッサ13cは撮像ツール110が選択されたことを特定するとともに、メインルーチンの最初に撮像ツール110を配置する。そして、
図6に示すように、撮像ツール110が設定ウィンドウ101のメインルーチンの一番上に配置された設定用ユーザインターフェース画面100を表示制御部13aが生成して表示装置4に表示させる。
【0050】
図4に示すフローチャートのステップSA3では、
図7に示すようにAI分類ツール111の追加を受け付ける。本実施形態では、AIツールの中の一つであるAI分類ツール111の追加を受け付けた場合について説明するが、他のAIツールの追加を受け付けた場合も同様である。すなわち、AI分類ツール111は、機械学習モデルに学習用画像を入力して機械学習モデルに学習させ、学習後、分類処理を実行可能なツールである。AI分類ツール111をユーザがマウス52等によって選択すると、入力部13bは、AI分類ツール111の選択操作をユーザ入力として受け付ける。入力部13bがAI分類ツール111の選択操作を受け付けると、プロセッサ13cはAI分類ツール111が選択されたことを特定するとともに、メインルーチンの撮像ツール110の下にAI分類ツール111を配置する。そして、
図7に示すように、AI分類ツール111が設定ウィンドウ101におけるメインルーチンの撮像ツール110の下に配置された設定用ユーザインターフェース画面100を表示制御部13aが生成して表示装置4に表示させる。
【0051】
AI分類ツール111の生成と共に、AI分類ツール111を囲む枠112を表示制御部13aが生成して設定ウィンドウ101上に表示させる。この枠112は、設定ウィンドウ101上に配置された機械学習ツールおよびルールベースツールが、共に共通のデータセットを参照していること示すインジケータの一例である。
【0052】
ステップSA4では、
図8に示すように、他のツールの追加を受け付ける。具体的には、ユーザが他のツールを枠112内に入れる操作を検出すると、その操作が他のツールの追加操作として入力部13bが受け付ける。プロセッサ13cは、どのツールが追加されたかを特定する。
【0053】
枠112内に追加する他のツールは、機械学習ツールであってもよいし、ルールベースツールであってもよい。本実施形態では、画像に含まれるワークの位置及び姿勢を補正する位置補正ツールをステップSA4で追加している。位置補正ツールは、ルールベースツールの一例である。尚、枠112内に追加するツールは上述した位置補正ツールに限定されるものではなく、例えば寸法を測定するツール、エッジを抽出するツール等であってもよい。また、枠112内に追加するツールの数も特に限定されるものではない。1つの枠112内に配置された複数のツールによって1つのグループが形成される。
【0054】
ステップSA5では、
図9に示すように、複数の画像で構成されたデータセットを受け付ける。データセットは、撮像ツール110で撮像した複数のワーク画像で構成されていてもよいし、例えば記憶装置19等に保存していた複数の画像で構成されていてもよい。保存していた複数の画像でデータセットを構成する場合、マウス52等を操作して保存先を指定し、その保存先から複数の画像を読み込めばよい。
【0055】
入力部13bは、データセットの指定操作をユーザ入力として受け付ける。入力部13bがデータセットの指定操作を受け付けると、プロセッサ13cはデータセットが指定されたことを特定する。そして、
図9に示すように、データセットを構成している複数の画像120をサムネイル形式でデータセットウィンドウ103に表示した設定用ユーザインターフェース画面100を表示制御部13aが生成して表示装置4に表示させる。データセットウィンドウ103に表示した複数の画像120のうち、任意の1つの画像120をユーザが選択すると、選択された画像120を囲むように選択済みマーク121を表示制御部13aが生成して表示させる。任意の画像120の選択操作は、例えばマウス52等によって可能であり、プロセッサ13cが、ユーザによって選択された一の画像120を特定する。プロセッサ13cがユーザによって選択された一の画像120を特定すると、表示制御部13aがその一の画像120を選択画像表示領域102に拡大表示させる。尚、ステップSA2、SA3、SA4、SA5は順不同であり、どのステップから実行してもよい。
【0056】
ステップSA6では、データセットを共有させるAIツールとルールベースツールの指定を受け付ける。このステップにおける指定の受付は、ステップSA4の結果を参照することによって可能である。すなわち、AI分類ツール111を囲む枠112内に追加したツールは、共通のデータセットを参照するツールとして設定される。AI分類ツール111を囲む枠112内にツールを追加する操作は、設定ウィンドウ101に配置された機械学習ツールとルールベースツールに対して、共通のデータセットを参照させるためのユーザ入力である。このユーザ入力は入力部13bによって受け付けられる。つまり、表示制御部13aは、設定ウィンドウ101上に配置された機械学習ツールとルールベースツールとが共に参照しているデータセットに含まれる画像を表示するデータセットウィンドウ103を、設定ウィンドウ101と並べて表示させたユーザインターフェース画面100を生成して表示装置4に表示させるので、機械学習ツールとルールベースツールに共通して参照させているデータセット中の画像も同じユーザインターフェース画面100上でユーザが確認できるため利便性が向上する。
【0057】
ステップSA7では、データセットに対してルールベースツールによる画像処理を実行する。ステップSA8では、ルールベースツールによる画像処理を実行した後のデータセットに対してAIツールによる画像処理を実行する。すなわち、プロセッサ13cが、データセットに対してルールベースツールで画像の位置補正処理を実行した後、同じデータセットに対して機械学習ツールによる画像処理を実行するので、ユーザの設定の手間が減る。
【0058】
本例では、
図9に示すように、ルールベースツールが位置補正ツール113であり、AIツールがAI分類ツール111であり、位置補正ツール113の方が上に配置されていることから、AI分類ツール111による画像処理の前に、ステップSA7でデータセットに対して位置補正処理を実行する。位置補正ツール113について具体的に説明すると、位置補正ツール113による画像処理を実行する際、プロセッサ13cは、まず、データセットに含まれる複数の画像のそれぞれから特徴量を抽出する。プロセッサ13cは、複数の画像のそれぞれから特徴量を抽出した後、抽出された特徴量に基づいて、各画像に含まれるワークの位置を検出する。プロセッサ13cは、検出されたワークの位置に基づいて、AI分類ツール111による画像処理の対象となる各画像のワークの位置及び姿勢が共通になるように位置補正を実行する。尚、プロセッサ13cが正規化相関(パターン)サーチを実行する場合には、輝度値を特徴量とすることができ、また、プロセッサ13cが幾何サーチを実行する場合には、エッジを特徴量とすることができる。
【0059】
位置補正が実行された後、ステップSA8で位置補正処理後のデータセットが機械学習モデルに入力されて機械学習モデルの学習が実行される。これにより、分類処理が可能な機械学習モデルが生成される。尚、分類処理の他、判定処理、検出処理や位置決め処理などが可能な機械学習モデルを生成する場合も同様な手順を用いることができる。
【0060】
(画像処理装置1の運用)
次に、画像処理装置1の運用時について説明する。
図10は、画像処理装置1の運用時の処理の一例を示すフローチャートであり、上記設定が完了した後にユーザの運用開始指示がなされた後に開始される。スタート後のステップSB1では、プロセッサ13cが所定のタイミングで撮像ツール110を実行する。所定のタイミングとは、例えば外部機器から撮像トリガ信号が入力されたタイミングや、画像処理装置1内で撮像トリガ信号が生成されたタイミング等である。複数のワークが搬送ライン上を順次搬送されているような現場で画像処理装置1を運用する場合には、ワークが所定位置に到達したタイミングが上記所定のタイミングとなり得る。撮像ツール110を所定のタイミングで実行すると、撮像ユニット3がワークを撮像する。これにより、ワーク画像が入力画像として取得される。撮像ユニット3が複数回の撮像を実行すると、入力画像が複数取得される。
【0061】
ステップSB2では、ステップSB1で取得された入力画像に対してルールベースツールによる画像処理を実行する。ステップSB3では、ルールベースツールによる画像処理を実行した後の入力画像に対してAIツールによる画像処理を実行する。本例では、
図9に示すように、ルールベースツールが位置補正ツール113であり、AIツールがAI分類ツール111であることから、ステップSB2で入力画像に対して位置補正処理が実行された後、ステップSB3で位置補正処理後の入力画像が機械学習モデルに入力されて分類処理される。その後、ステップSB4では、機械学習モデルによる分類結果が出力される。分類結果は、例えば表示装置4等に表示されるとともに、記憶装置19に記憶される。
【0062】
このように、プロセッサ13cは、設定用ユーザインターフェース画面100のデータセットウィンドウ103に表示された複数の画像と、当該複数の画像に対してルールベースツールによる画像処理を実行した結果とを機械学習モデルに学習させることで学習済みの機械学習モデルを生成する。そして、プロセッサ13cは、ワークが撮像された検査対象画像である入力画像に対してルールベースツールによる画像処理を実行し、その後、ルールベースツールによる画像処理の実行結果に基づいて、入力画像に対して学習済みの機械学習モデルを用いた画像処理を実行することができる。
【0063】
上述した例では、位置補正処理が実行された入力画像にAIツールによる画像処理を実行しているが、これに限らず、位置補正処理が実行されたことよって取得された位置補正結果(位置補正データ)を位置補正ツール113から取得し、取得した位置補正結果をAIツールに受け渡し、受け渡された位置補正結果に基づいてAIツールによる画像処理を実行してもよい。
【0064】
(AIツールとルールベースツールの実行順序)
上述した例では、ルールベースツールによる画像処理の実行後に、AIツールによる画像処理を実行しているが、この順序は反対、即ち、AIツールによる画像処理の実行後に、ルールベースツールによる画像処理を実行してもよい。
【0065】
以下、
図11に示す設定用ユーザインターフェース画面100に基づいて、AIツールによる画像処理の実行後に、ルールベースツールによる画像処理を実行する例について説明する。この例では、ワークとして、ばねとネジとが存在していて、ばねを撮像したワーク画像と、ネジを撮像したワーク画像とが運用時に入力画像として画像処理装置1に入力される。AIツールとしてAI分類ツール111が追加されており、このAI分類ツール111は、入力画像を、ばねが撮像されたばね画像と、ネジが撮像されたネジ画像に分類する機械学習モデルで構成されている。
【0066】
AI分類ツール111を囲む枠112内には、通常検査ツールとして傷ツール(ばね)131と、傷ツール(ネジ)132とが追加されており、AI分類ツール111の下に傷ツール(ばね)131及び傷ツール(ネジ)132が配置されている。すなわち、ワークにばねとネジの両方が含まれているので、AI分類ツール111によってばね画像に分類された画像中、ばねに生じている傷を検出するばね用の傷検出ツールとしての「T0004:傷ツール(ばね)」と、AI分類ツール111によってネジ画像に分類された画像中、ネジに生じている傷を検出するネジ用の傷検出ツールとしての「T0005:傷ツール(ネジ)」とをユーザが追加する。その他にも、ばねの寸法を測定するばね用の寸法ツールや、ネジの寸法を測定するネジ用の寸法ツールを追加してもよく、これら寸法ツールもルールベースツールである。例えば、ばねの場合は外径を測定するための寸法ツールとし、ネジの場合は全長を測定するツールとすることもできる。
【0067】
傷ツール(ばね)131は、AI分類ツール111によって分類された一方のクラスに対応する通常検査ツールである。また、傷ツール(ネジ)132は、AI分類ツール111によって分類された他方のクラスに対応する通常検査ツールである。このように、入力部13bは、AI分類ツール111と、AI分類ツール111で分類された複数のクラスの各クラスに対応する通常検査ツール131、132とを設定ウィンドウ101に配置し、設定ウィンドウ101に配置されたAI分類ツール111と複数の通常検査ツール131、132に対して、複数の画像で構成された共通のデータセットを参照させるためのユーザ入力を受け付けることができる。
【0068】
図12にフローチャートとして示すように、検査設定を行う際には、複数のネジ画像と複数のばね画像を事前に準備しておく。これら複数の画像によってデータセットが構成されている。
図11に示すように、AI分類ツール111、傷ツール(ばね)131及び傷ツール(ネジ)132が枠112内に入っているので、データセットは、AI分類ツール111、傷ツール(ばね)131及び傷ツール(ネジ)132で共有される。
【0069】
設定時におけるステップSC1では、データセットが機械学習モデルに入力されて機械学習モデルの学習が実行される。これにより、ばね画像とネジ画像の分類処理が可能な機械学習モデルが生成される。
【0070】
運用時には、撮像ツールの実行によって取得された入力画像がステップSC1でAI分類ツール111に入力される。AI分類ツール111による画像処理の結果、ステップSC2に示すように、入力画像がネジ画像であればネジ画像に分類される一方、入力画像がばね画像であればばね画像に分類される。
【0071】
その後、ステップSC3では、AI分類ツール111によってネジ画像に分類された画像に対して傷ツール(ネジ)132による画像処理を実行し、また、AI分類ツール111によってばね画像に分類された画像に対して傷ツール(ばね)131による画像処理を実行する。このように、プロセッサ13cは、データセットを構成する各画像を設定ウィンドウ101に配置されたAI分類ツール111により、複数のクラスのいずれかに分類し、分類された画像に対して、当該分類されたクラスに対応する通常検査ツール131、132による画像検査を実行する。
【0072】
ステップSC4では、傷ツール(ネジ)132による画像処理の結果を出力し、また、傷ツール(ねじ)131による画像処理の結果を出力する。このとき、表示制御部13aは、AI分類ツール111による分類処理の結果、および、通常検査ツール131、132による画像検査の結果をデータセットウィンドウ103に表示させたユーザインターフェース画面100を生成することができるので、結果をユーザに提示できる。
【0073】
(複数のAIツールの組み合わせ)
画像処理装置1は、ルールベースツールを使用することなく、AIツールのみ使用することもできる。
図13は、複数のAIツールの組み合わせた場合の設定用ユーザインターフェース画面100を示している。枠112内には、AIツールとして、AI位置決めツール141と、AI欠陥検出ツール142と、AI欠陥分類ツール143とが追加されている。AI位置決めツール141が一番上、AI欠陥分類ツール143が一番下に配置されており、この配置の順番は処理の順番に対応している。
【0074】
すなわち、AI位置決めツール141は、機械学習モデルによって検査対象領域を中心に移動させる画像処理を実行し、AI位置決めツール141の画像処理により検査対象領域を中心に移動させた画像がAI欠陥検出ツール142に入力される。AI欠陥検出ツール142は、機械学習モデルによって入力画像中の欠陥部分を検出する画像処理を実行し、AI欠陥検出ツール142の画像処理により抽出された欠陥部分がAI欠陥分類ツール143に入力される。AI欠陥分類ツール143は、機械学習モデルによって欠陥の種類を分類する画像処理を実行する。欠陥の種類としては、例えば傷、汚れ等がある。
【0075】
この例では、AIツールが複数種あるので、機械学習モデルを学習させる際には、AI位置決めツール141用の教師データ、AI欠陥検出ツール142用の教師データ、AI欠陥分類ツール143用の教師データをそれぞれ用意する。
【0076】
(位置補正の詳細)
位置補正の際、ユーザはAI分類ツール111による画像処理の対象領域を指定できる。
図14に示す設定用ユーザインターフェース画面100のように、位置補正ツール113が選択されると、データセットウィンドウ103に表示されている複数の画像の中から選択された画像が選択画像表示領域102に表示される。選択画像表示領域102には、AI分類ツール111による画像処理の対象領域を指定するための領域指定枠150が画像に重畳表示される。領域指定枠150の画像上における位置、大きさ、縦横比等は、ユーザがマウス52を操作することによって変更できるようになっている。画像中、ワーク全体を画像処理の対象領域とする場合には、ユーザがマウス52を操作して、領域指定枠150がワーク全体を囲むように、かつ、できるだけ小さくなるように、領域指定枠150の位置、大きさ、縦横比等を変更する。また、ワークの一部のみを画像処理の対象領域とする場合には、ユーザがマウス52を操作して、領域指定枠150がワークの一部のみを囲むように、領域指定枠150の位置、大きさ、縦横比等を変更する。変更後、決定操作をユーザが行うと、領域指定枠150で囲まれた領域が画像処理の対象領域として入力部13bが受け付ける。つまり、入力部13bは、データセットに含まれる画像中の機械学習ツールによる画像処理の対象領域の指定を受け付け可能に構成されているので、不要な部分を判断対象から除くことができる。また、機械学習モデルの学習時においても対象領域だけを学習させる場合は、対象領域以外の部分を除くことで学習効果を向上できる。
【0077】
入力部13bにより画像処理の対象領域の指定を受け付けた場合、プロセッサ13cは、各画像内で検出されたワークの位置が、ユーザにより指定された対象領域に含まれるように位置補正を実行する。具体的には、プロセッサ13cが、データセットを構成する複数の画像のそれぞれに対して、位置補正ツール113による位置補正処理を実行することで、複数の処理後画像を生成する。
図15は、位置補正ツール113による位置補正処理が実行された後の設定用ユーザインターフェース画面100を示している。位置補正によりデータセットウィンドウ103に表示されている複数の画像の全てについて対象領域が同じ向きとなるように補正されており、これら画像が処理後画像である。このように、表示制御部13aは、複数の処理後画像をデータセットウィンドウ103に表示させた設定用ユーザインターフェース画面100を生成するので、機械学習モデルに入力する前の画像に対してルールベースツールによる画像処理が正しく実行されているか否かをユーザが確認できる。この設定用ユーザインターフェース画面100によれば、位置補正により各画像内でワークが検出された場合、その検出されたワークが対象領域に含まれた状態で、データセットの複数の画像をデータセットウィンドウ103に表示させることができる。
【0078】
位置補正を実行した後、データセットウィンドウ103に表示されているデータセットの各画像の対象領域に対して、機械学習ツールによる画像処理を実行する。
【0079】
(AIツール選択時の詳細)
図16は、AIツール選択時の設定用ユーザインターフェース画面100を示している。データセットウィンドウ103に表示されているデータセットの各画像には、第1アイコン160が付されている。第1アイコン160は、良品画像、不良品画像、学習用画像、検証用画像を示すものである。第1アイコン160の右上に「○」が付されている場合には、良品画像であるとともに、学習用画像かつ検証用画像であることを示している。第1アイコン160の左下に「○」が付されている場合には、良品画像であるとともに、検証用画像であることを示している。第1アイコン160の右上に「×」が付されている場合には、不良品画像であるとともに、学習用画像かつ検証用画像であることを示している。第1アイコン160の左下に「×」が付されている場合には、不良品画像であるとともに、検証用画像であることを示している。さらに、データセットウィンドウ103に表示されているデータセットの各画像には、学習に用いられた画像であることを示す第2アイコン161も付されている。第1アイコン160及び第2アイコン161の形態はどのような形態であってもよく、上記情報を表示可能なものであればよい。
【0080】
プロセッサ13cは、位置補正処理が実行された後の複数の処理後画像に対して、機械学習ツールによる画像処理を実行することで、各処理後画像の推論結果を出力する。表示制御部13aは、複数の処理後画像と各処理後画像に対応する推論結果とをデータセットウィンドウ103に表示させた設定用ユーザインターフェース画面100を生成する。すなわち、データセットウィンドウ103には、推論結果表示領域165が設けられている。推論結果表示領域165には、データセットの画像のうち、検証用画像を機械学習モデルに入力して画像処理することによって得られた推論結果として、良品と推論された数と、不良品として判定された数とが表形式で表示される。また、推論結果表示領域165には、機械学習モデルに学習させる学習用画像の数についても、良品画像と不良品画像とが区別可能な形態で表示される。さらに、推論結果表示領域165には、未分類の画像の数についても表示される。
図16に示す設定用ユーザインターフェース画面100を表示させることで、機械学習モデルが実際に推論の根拠としたルールベース処理後の画像に基づいて、ユーザが推論結果を確認できる。
【0081】
(特徴領域の強調処理)
ルールベースツールによる画像処理は、入力画像中の特徴領域を強調するための前処理とすることもできる。この種の前処理としては、例えばコントラスト調整等を挙げることができ、コントラスト調整により特徴領域を強調することができる。
【0082】
この場合、プロセッサ13cは、データセットを構成する複数の画像に対して、特徴領域を強調するための前処理を実行することで、各画像の特徴領域が強調された複数の前処理画像を生成する。位置補正処理の場合と同様に、表示制御部13aが、特徴領域が強調された複数の前処理画像をデータセットウィンドウ103に表示させた設定用ユーザインターフェース画面100を生成する。
【0083】
プロセッサ13cは、特徴領域を強調するための前処理を実行した後、複数の前処理画像に対して、機械学習ツールによる画像処理または機械学習モデルの学習処理を実行する。すなわち、特徴領域を強調するための前処理を実行することで、機械学習モデルによって判別したい部分を強調することができ、その後に実行する機械学習ツールによる画像処理での判定難易度を下げることができる。
【0084】
(複数の撮像ユニットの使用例)
上述した各例では、1台の撮像ユニット3を備えている場合について説明したが、これに限らず、複数の撮像ユニット3を備えている場合に本実施形態を適用することもできる。
図17は、複数の撮像ユニット3を備えている場合の設定用ユーザインターフェース画面100を示す図である。複数の撮像ユニット3は、同一のワークの異なる部分を撮像するように撮像視野が設定されており、従って、この例では、1つのワークに対して複数箇所の検査が同時に可能になる。
【0085】
ユーザがマウス52等を用いて、設定用ユーザインターフェース画面100の撮像ツール110を選択すると、表示制御部13aは、
図18に示すような撮像設定ウィンドウ200を生成して表示装置4に表示させる。撮像設定ウィンドウ200には、カメラ構成設定領域201、撮像ユニット3に固有の番号が表示されるカメラ番号表示領域202、撮像ユニット3の型式が表示されるカメラ型式表示領域203及び複数回撮像設定領域204等が設けられている。
【0086】
複数回撮像設定領域204に設けられている設定ボタン204aをユーザがマウス52等を用いて操作すると、表示制御部13aは、
図19に示すような複数回撮像設定ウィンドウ210を生成して表示装置4に表示させる。複数回撮像設定ウィンドウ210には、撮像回数を設定するための撮像回数設定領域211と、カメラ有効設定領域212とが設けられている。カメラ有効設定領域212では、撮像回数設定領域211で設定された回数が例えば2回である場合には、1回目の撮像、2回目の撮像をそれぞれどの撮像ユニット3で実行させるかを設定する。本例では、「CAM1」と「CAM2」の2台の撮像ユニット3を使用しており、1回目の撮像を「CAM1」で実行し、2回目の撮像を「CAM2」で実行するように設定している。これは例であり、3回以上の撮像回数が設定されてもよいし、3台以上の撮像ユニット3を用いてもよい。
【0087】
また、
図17に示すように2つのグループ、即ち「AIグループ0001」と「AIグループ0002」とをユーザの操作に基づいて設定する。具体的には、第1位置補正ツール113Aと第1AI欠陥検出ツール142Aとを第1枠112A内に配置することで、第1グループが設定される。第1位置補正ツール113Aと第1AI欠陥検出ツール142Aには、複数の画像で構成された第1データセットを示す第1データセットツール118Aを参照させるため、第1データセットツール118Aを第1枠112A内に配置する。第1位置補正ツール113Aは、所定のルールに従った画像処理を示す第1ルールベースツールであり、第1AI欠陥検出ツール142Aは機械学習モデルを用いた画像処理を示す第1機械学習ツールである。
【0088】
また、第2位置補正ツール113Bと第2AI欠陥検出ツール142Bとを第2枠112B内に配置することで、第2グループが設定される。第2位置補正ツール113Bと第2AI欠陥検出ツール142Bには、複数の画像で構成された第2データセットを示す第2データセットツール118Bを参照させるため、第2データセットツール118Bを第2枠112B内に配置する。第2位置補正ツール113Bは、所定のルールに従った画像処理を示す第2ルールベースツールであり、第2AI欠陥検出ツール142Bは機械学習モデルを用いた画像処理を示す第2機械学習ツールである。
【0089】
このように、入力部13bは、第1AI欠陥検出ツール142Aおよび第2AI欠陥検出ツール142B、ならびに、第1位置補正ツール113Aおよび第2位置補正ツール113Bを設定ウィンドウ101に配置し、設定ウィンドウ101に配置された第1AI欠陥検出ツール142Aと第1位置補正ツール113Aに対して第1データセットツール118Aを参照させ、設定ウィンドウ101に配置された第2AI欠陥検出ツール142Bと第2位置補正ツール113Bに対して第1データセットツール118Aとは異なる第2データセットツール118Bを参照させるためのユーザ入力を受け付る。
【0090】
2つのグループを設定した場合には、第1枠112A及び第2枠112Bを表示制御部13aが生成して設定ウィンドウ101に表示させるので、どのツールがどちらのグループに属しているか、及びどのグループにどのツールが属しているかをユーザが容易にかつ正確に判断できる。つまり、表示制御部13aは、設定ウィンドウ101上に配置された第1AI欠陥検出ツール142Aと第1位置補正ツール113Aが、共に第1データセットツール118Aを参照していることを示す第1インジケータとして第1枠112Aを設定ウィンドウ101上に表示させたユーザインターフェース画面100を生成する。さらに、表示制御部13aは、設定ウィンドウ101上に配置された第2AI欠陥検出ツール142Bと第2位置補正ツール113Bが、共に第2データセットツール118Bを参照していることを示す第2インジケータとして第2枠112Bを設定ウィンドウ101上に表示させたユーザインターフェース画面100を生成する。
【0091】
画像処理装置1の設定時には、「CAM1」を第1撮像ユニットとし、「CAM2」を第2撮像ユニットとした場合、第1撮像ユニットで撮像された複数の画像で第1データセットツール118Aが構成され、第2撮像ユニットで撮像された複数の画像で第2データセットツール118Bが構成される。第1データセットツール118Aを構成する複数の画像によって第1AI欠陥検出ツール142Aが学習され、また第2データセットツール118Bを構成する複数の画像によって第2AI欠陥検出ツール142Bが学習される。
【0092】
画像処理装置1の運用時には、第1撮像ユニットで撮像された入力画像に対して第1位置補正ツール113Aによる画像処理が実行され、第1位置補正ツール113Aによる画像処理が実行された後の入力画像に対して第1AI欠陥検出ツール142Aによる画像処理が実行されて欠陥の有無が判定される。また、第2撮像ユニットで撮像された入力画像に対して第2位置補正ツール113Bによる画像処理が実行され、第2位置補正ツール113Bによる画像処理が実行された後の入力画像に対して第2AI欠陥検出ツール142Bによる画像処理が実行されて欠陥の有無が判定される。第1AI欠陥検出ツール142Aから出力された結果と、第2AI欠陥検出ツール142Bから出力された結果とが統合されて最終の良否判定がなされる。
【0093】
(インジケータ)
上述した各例では、設定ウィンドウ101上に配置された機械学習ツールおよびルールベースツールが、共にデータセットを参照していることを示すインジケータが枠112(
図7に示す)、第1枠112A、第2枠112B(
図17に示す)である場合について説明したが、インジケータは、ツール間を結ぶ線、矢印等であってもよい。
【0094】
すなわち、
図20に示すように、設定ウィンドウ101上に位置補正ツール113とAI欠陥検出ツール142とが配置されている場合に、位置補正ツール113とAI欠陥検出ツール142が参照するデータセットツール118も設定ウィンドウ101上に配置し、データセットツール118と位置補正ツール113とを結ぶ線101a及びデータセットツール118とAI欠陥検出ツール142と結ぶ線101bを表示可能にしてもよい。例えばユーザがマウス52を操作してデータセットツール118と位置補正ツール113とを関連付ける操作を行うと、その操作が入力部13bで受け付けられ、表示制御部13aが線101aを設定ウィンドウ101上に表示させ、また、データセットツール118とAI欠陥検出ツール142とを関連付ける操作を行うと、その操作が入力部13bで受け付けられ、表示制御部13aが線101bを設定ウィンドウ101上に表示させる。線101a、101bは、位置補正ツール113とAI欠陥検出ツール142が共に共通のデータセットツール118を参照していることを示すインジケータである。また、線101a、101bの代わりに矢印等をインジケータとしてもよい。
【0095】
上述の実施形態では、設定ウィンドウ101上に配置された機械学習ツールおよびルールベースツールが、共通のデータセットを参照していることを示すために、インジケータとして枠112や線101aを表示させる例を示したが、インジケータを表示しない態様を排除するものではない。すなわち、設定ウィンドウ101が共通のデータセットを参照する複数のツールと、当該データセットを参照しない他のツールとを含む場合に、当該他のツールと比較して、当該複数のツール同士を相対的に近くに配置することで、当該複数のツールが共通のデータセットを参照することを示しても良い。
【0096】
また、複数のツールに対して、共通のデータセットを参照させる手段としては、上述した例に限られない。例えば、第1のツールにデータセットを参照させるとともに、当該データセットを示すデータセットウィンドウをユーザインターフェース画面に表示させた状態で、設定ウィンドウ上の別の第2のツールを選択することにより、当該第2のツールに当該データセットを参照させるようにしてもよい。他の手段として、最初にデータセットを入力し、その後に設定ウィンドウ上にツールを順次配置する場合、設定ウィンドウに順次配置された各ツールに対して、当該データセットを自動的に参照させるようにしてもよい。他の手段として、最初に設定ウィンドウ上にツールを配置し、その後にデータセットを入力する場合、設定ウィンドウ上に配置されたツールが全て、当該データセットを自動的に参照させるようにしてもよい。
【0097】
上述の実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。
【産業上の利用可能性】
【0098】
以上説明したように、本開示に係る画像処理装置は、例えば工業製品の外観検査を行う場合に利用できる。
【符号の説明】
【0099】
1 画像処理装置
4 表示装置(表示部)
13a 表示制御部(UI生成部)
13b 入力部
13c プロセッサ(画像処理部)
100 ユーザインターフェース画面
103 データセットウィンドウ