(57)【要約】【課題】  物品やデータなど対象の良否又は適否を検査するシステムにおいて、検査アルゴリズムの設計を容易化する。【解決手段】  物品の良否検査に適用されたシステム１は、機械学習可能な学習モデルを有し、この学習モデルを多数の良品の特徴データセットを用いて訓練する。訓練済みモデルを、良品の特徴データのセットと、良品か否か不明な検査前の物品の特徴データのセットとに、それぞれ適用して、それら２つのセットに対する２つの出力データセットを得る。両出力データセットを比較して、出力データセットを良品か否か仕分けする閾値データを決定する。閾値データと訓練済みモデルとから、実用の検査モデルを作成する。この実用モデルを用いて実検査を行う。【選択図】図１
2019144870.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つのカテゴリに属するか否かが不明な１以上の第一の対象を検査するためのシステムにおいて、
機械学習ができる学習モデルと、
前記カテゴリに属することが予め判明している複数の第二の対象の特徴データのセットを用いて、前記学習モデルを訓練することにより、訓練済みモデルを生成する手段と、
前記カテゴリに属することが予め判明している複数の第三の対象の特徴データのセットに、又は、前記複数の第二の対象の特徴データのセットに、前記訓練済みモデルを適用して、前記訓練済みモデルから第一の出力データのセットを得る手段と、
前記カテゴリに属する対象と前記カテゴリに属さない対象とを含む複数の第四の対象の特徴データのセットに、前記訓練済みモデルを適用して、前記訓練済みモデルから第二の出力データのセットを得る手段と、
前記第一と第二の出力データセットの比較に基づいて、前記第二の出力データセットを前記カテゴリに属するか否かで仕分けするための閾値データを生成する手段と、
前記閾値データと前記訓練済みモデルを用いて、実用モデルを作成する手段と、
前記実用モデルを用いて、前記第一の対象を検査する手段と、
を有するシステム。
【請求項２】
少なくとも一つのカテゴリに属するか否かが不明な１以上の第一の対象を検査するための方法において、
機械学習ができる学習モデルを用意するステップと、
前記カテゴリに属することが予め判明している複数の第二の対象の特徴データのセットを用いて、前記学習モデルを訓練することにより、訓練済みモデルを生成するステップと、
前記カテゴリに属することが予め判明している複数の第三の対象の特徴データのセットに、又は、前記複数の第二の対象の特徴データのセットに、前記訓練済みモデルを適用して、前記訓練済みモデルから第一の出力データのセットを得るステップと、
前記カテゴリに属する対象と前記カテゴリに属さない対象とを含む複数の第四の対象の特徴データのセットに、前記訓練済みモデルを適用して、前記訓練済みモデルから第二の出力データのセットを得るステップと、
前記第一と第二の出力データセットの比較に基づいて、前記第二の出力データセットを前記カテゴリに属するか否かで仕分けするための閾値データを生成するステップと、
前記閾値データと前記訓練済みモデルを用いて、実用モデルを作成するステップと、
前記実用モデルを用いて、前記第一の対象を検査するステップと、
を有する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、物品又は情報の状態、数量又は種類などの良否、正否又は適否など、対象を少なくとも２レベルに判別する検査を行うためのシステム及び方法に関する。
【背景技術】
【０００２】
例えば製造工程又は物流工程において、製造物又は梱包物の適否あるいは良否の検査を、予めプログラムされた検査アルゴリズムに従って自動的に行うシステムが知られている（例えば、特許文献１及び特許文献２の開示）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１７６８０５号公報
【特許文献２】特開２０１８−０１７６３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
少量多品種を製造又は取り扱う場合、品種ごとの異なる多くの検査アルゴリズムを人が設計する必要がある。これはシステム開発の効率が悪くコストが高い。
【０００５】
本発明の一つの目的は、検査アルゴリズムの設計を容易化することにある。
【課題を解決するための手段】
【０００６】
本開示の一実施形態に従う、対象を検査するためのシステムは、少なくとも一つのカテゴリに属するか否かが不明な１以上の第一の対象を検査するためのものである。このシステムは、
機械学習ができる学習モデルと、
前記カテゴリに属することが予め判明している複数の第二の対象の特徴データのセットを用いて、前記学習モデルを訓練することにより、訓練済みモデルを生成する手段と、
前記カテゴリに属することが予め判明している複数の第三の対象の特徴データのセットに、又は、前記複数の第二の対象の特徴データのセットに、前記訓練済みモデルを適用して、前記訓練済みモデルから第一の出力データのセットを得る手段と、
前記カテゴリに属する対象と前記カテゴリに属さない対象とを含む複数の第四の対象の特徴データのセットに、前記訓練済みモデルを適用して、前記訓練済みモデルから第二の出力データのセットを得る手段と、
前記第一と第二の出力データセットの比較に基づいて、前記第二の出力データセットを前記カテゴリに属するか否かで仕分けするための閾値データを生成する手段と、
前記閾値データと前記訓練済みモデルを用いて、実用モデルを作成する手段と、
前記実用モデルを用いて、前記第一の対象を検査する手段と、
を有する。
【図面の簡単な説明】
【０００７】
【図１】第一の実施形態に係る対象検査システムの構成を示す。
【図２】同システムにおいて実用モデルを自動設計する制御の流れを示す。
【図３】図３Aは、検査後データに訓練済みモデルを適用した場合の出力データの分布例を示す。図３Bは、検査前データに訓練済みモデルを適用した場合の出力データの分布例を示す。
【図４】第二の実施形態に係る対象検査システムの構成を示す。
【図５】第二の実施形態に係るシステムにおいて実用モデルを自動設計する制御の流れを示す。
【図６】第三の実施形態に係る対象検査システムの構成を示す。
【図７】第三の実施形態に係るシステムにおいて実用モデルを自動設計する制御の流れを示す。
【発明を実施するための形態】
【０００８】
図１は、第一の実施形態に係る対象検査のためのシステムの構成を示す。
【０００９】
図1に示された対象検査のためのシステム１の用途は、工場内の製造ラインにおいて、順次に流れ来る製品を正常品か欠陥品かを検査することであるが、これは説明のための単なる例示である。
【００１０】
システム１が適用される工場には、検査前ライン３があり、そこでは、検査前の製品５，５，５，７，５…が順次に搬送される。ここで、参照番号５は正常な製品を指し、参照番号７は欠陥をもつ製品を指す。
【００１１】
この工場では、従来、人つまり検査者９が、検査前ライン３で運ばれてくる製品５，５，５，７，５…を例えば目視で調べ、それらの中から正常品５，５，５，５…だけを選別する（あるいは、欠陥品７だけを選別する）。選別された正常品５，５，５，５…は、検査後ライン１１に送られて、後続の工程へ搬送される。
【００１２】
他方、選別された欠陥品７は、廃棄されるか、あるいは、別の検査後ライン１３に送られる。以下の説明では、二つの検査後ライン１１と１３を区別するために、前者１１を（第一の実施形態では、正常品５，５，５，５…だけを運ぶライン）を「検査後第一ライン」と呼び、後者ライン１３（第一の実施形態では、欠陥品７だけを運ぶライン）を「検査後第二ライン」と呼ぶ。
【００１３】
システム１は、検査者９に代わって、自動的に製品の検査と選別を行うことができる。このシステム１が行うプロセスは、正常品と欠陥品を区別する検査アルゴリズム（検査モデル）を機械学習により設計する訓練フェーズと、訓練フェーズ後に、訓練済みの検査モデルを使って、検査者９に代わって自動的に検査を行う実用フェーズの二段階に分かれる。
【００１４】
システム１は、少なくとも１つの設計プラットフォーム２１を備え、プラットフォーム２１は工場内に存在しても、あるいは、工場外に存在してもよい。さらに、1つ以上のローカル検査機２７が用意され、それらローカル検査機２７は、例えば通信ネットワークを介して、設計プラットフォーム２１と通信可能である。それらローカル検査機２７は典型的には工場内に存在する。例えば工場内に製造ラインが複数ある場合、各製造ラインに対して各ローカル検査機２７が割り当てられてよい。
【００１５】
設計プラットフォーム２１は、訓練フェーズで訓練される予定の検査モデル（以下、「学習モデル」という）２５を有する。学習モデル２５として、例えばニューラルネットワークを用いることができる。様々なタイプのニューラルネットワークが採用し得るが、第一の実施形態では、一例として、畳み込みオートエンコーダを用いた画像再現モデルが、学習モデル２５として採用される。
【００１６】
設計プラットフォーム２１は、検査前ライン３で搬送される検査前の製品（正常品と欠陥品）５，５，５，７，５…の特徴データを収集する機能をもつ。すなわち、設計プラットフォーム２１は、検査前ライン３に配置されたカメラ３１により撮影された検査前の製品５，５，５，７，５…のそれぞれの画像データ（特徴データの一種）を、ストレージ３３を介して、受け取る機能をもつ。ストレージ３３は、カメラ３１からの画像データを少なくとも一時的に蓄積する。
【００１７】
設計プラットフォーム２１は、また、正常品５，５，５，５…の特徴データを収集する機能をもつ。すなわち、設計プラットフォーム２１は、検査後ライン１１に配置されたカメラ３５により撮影された検査後の正常品５，５，５，５…のそれぞれの画像データ（特徴データの一種）を、ストレージ３７を介して、受け取る機能をもつ。ストレージ３３は、カメラ３５からの画像データを少なくとも一時的に蓄積する。
【００１８】
設計プラットフォーム２１は、訓練フェーズにおいて、まず、多数の正常品５，５，５，５…の画像データのセットを用いて、学習モデル（画像再現モデル）２５を訓練する。この訓練は、教師無し学習である。この訓練を終えた学習モデル（画像再現モデル）２５は、正常品５の画像データが入力されると、その入力画像データを次元圧縮した後に、ある程度以上の精度で元の画像データに近い画像データを再現できるようになる。
【００１９】
このような訓練済み学習モデル２５が得られた後、設計プラットフォーム２１は、その訓練済み学習モデル２５を、検査前製品（正常品又は欠陥品）５，５，５，７，５…の各々の画像データに適用する。すると、訓練済み学習モデル２５は、欠陥品７の画像データが入力された場合、これを再現する訓練をしてないから、正常品５の画像データを復元した場合とはだいぶ異なる様相の画像データを出力することになる。つまり、訓練済み学習モデル２５の出力データの分布（後述する図３参照）は、正常品５，５，５，５…の画像データのセットを入力した場合と、欠陥品７，７，７…の画像データのセットを入力した場合との間で、相違がある。設計プラットフォーム２１は、その相違に検出して、その相違に基づいて、訓練済み学習モデル２５の出力データ（再現画像）を正常品と欠陥品に仕分けするための閾値データを計算する。
【００２０】
そして、設計プラットフォーム２１は、その閾値データを用いて、訓練済み学習モデル２５の出力データを正常品と欠陥品に仕分けるための仕分けアルゴリズムを自動生成する。そして、設計プラットフォーム２１は、その仕分けアルゴリズムを訓練済み学習モデル２５に組み合わせることで、実用するための検査アルゴリズム（以下、「実用モデル」という）２９を作る。
【００２１】
その後、設計プラットフォーム２１は、実用モデル２９をローカル検査機２７に供給する。以後、ローカル検査機２７は、検査前ライン３のカメラ３１からの各製品の画像データに実用モデル２９を適用することで、検査前ライン３から来る各製品が正常品か欠陥品かを自動的に判別する。そして、ローカル検査機２７は、判別結果に従って、正常品だけ（又は欠陥品だけ）を選別して、後工程へ送る。
【００２２】
図２は、第一の実施形態に係るシステム１において実用モデル２９を自動設計する制御の流れを示す。
【００２３】
まず、訓練フェーズが実施される。このフェーズが行われている間は、図１に示された検査者９が製品検査を行う。ステップS1で、検査前ライン３のカメラ３１から、検査前の多数の製品５，５，５，７，５…の画像データのセットが収集され、ストレージ３３に蓄積される。S2で、検査後第一ライン３のカメラ３５から、検査後の多数の正常品５，５，５，５…の画像データのセットが収集され、ストレージ３７に蓄積される。
【００２４】
S3で、検査後データセットを用いて学習モデル２５が訓練される。訓練が終わると、学習モデル２５が、正常品５の画像データをある程度以上の精度で再現できる性能をもつ、つまり、訓練済みモデル２５になる。
【００２５】
S4で、訓練済みモデル２５が、検査前の製品５，５，５，７，５…の画像データのセットに適用されて、訓練済みモデル２５の出力データ（検査前の画像データを再現した画像データ）のセットが得られる。S5で、訓練済みモデル２５が、検査後の正常品５，５，５，５…の画像データのセットに適用されて、訓練済みモデル２５の出力データ（正常品の画像データを再現した画像データ）のセットが得られる。
【００２６】
ここで図３を参照する。図３Aは、S5で正常品５，５，５，５…の画像データセットに訓練済みモデル２５を適用した場合の出力データの分布５１を例示する。図３Bは、S4で検査前製品５，５，５，７，５…の画像データセットに訓練済みモデル２５を適用した場合の出力データの分布５３を例示する。なお、図３では、図示の都合から、出力データ値はスカラーのように示されているが、実際には、再現画像データを表すベクトル又はテンソルである。さて、検査後の正常品５，５，５，５…に対する出力データセットの分布５１と、検査前製品５，５，５，７，５…に対する出力データセットの分布５３とを比較すると、一部分において相違している。その相違部分が欠陥品７に対応し、それ以外の共通部分が正常品５に対応する、と考えられる。そして、その相違部分を共通部分から区別できるような閾値データ５５を設定することができる。その閾値データ５５を出力データ値に適用すれば、正常品と欠陥品を区別することができる。
【００２７】
再び図２を参照する。上記の原理に基づいて、S6で、検査後の正常品５，５，５，５…に対する出力データセットの分布５１と、検査前製品５，５，５，７，５…に対する出力データセットの分布５３とが比較される。その比較結果に基づいて、S7で、上述した相違部分と共通部分とを区分する閾値データ５５が計算される。そして、その閾値データ５５に基づいて、訓練済みモデル２５の出力データを正常品と欠陥品に仕分けする（識別する）ための仕分けアルゴリズム２８が生成される。S8で、訓練済みモデル２５に仕分けアルゴリズム２８が組み合わされて、実用モデル２９が作られる。
【００２８】
なお、出力データは、典型的には、多次元のベクトル又はテンソルである。その出力データを構成する多次元要素の中には、正常品と欠陥品の間で分布の有意な相違が出ない部分があり得る。例えば、物品画像の中の表面テクスチャのように、正常品でか欠陥品かでは差異が出ないような要素である。そのような要素は、S6からS7の制御において、考慮から外されてもよい。逆に、多次元要素の中に、正常品と欠陥品の間で分布に明確な相違が出る部分があれば、その部分をS6からS7の制御において優先的に利用してもよい。
【００２９】
以上のようにして設計プラットフォーム２１で作られた実用モデル２９が、S9で、ローカル検査機２７へ供給される。以後、S10で、ローカル検査機２７が実用モデル２９を用いて、検査者９に代わって、自動的に検査を行う。
【００３０】
図４は、第二の実施形態に係る対象検査のためのシステム６１を示す。
【００３１】
図４に示されるように、第二の実施形態に係るシステム６１は、図１に示された第一の実施形態に係るシステムの構成に加えて、検査後第二ライン１３に配置されたカメラ４１と、カメラ３５からの画像データを蓄積するストレージ４３が追加される。設計プラットフォーム２１は、カメラ３１とカメラ３５からの画像データセットだけでなく、カメラ４１からの欠陥品７，７，７，７…の画像データセットを、ストレージ４３を介して、取り込む。
【００３２】
設計プラットフォーム２１は、２つの学習モデル２５Aと２５Bを有し、学習モデル２５Aと２５Bはいずれも例えば畳み込みオートエンコーダを用いた画像再現モデルである。そのうち、一方の学習モデル２５Aは、第一の実施形態に係るシステム１の学習モデル２５と同様に、正常品５，５，５，５…の画像データセットを用いて訓練され、もう一方の学習モデル２５Bは、欠陥品７，７，７，７…の画像データセットを用いて訓練される。
【００３３】
設計プラットフォーム２１は、正常品用の学習モデル２５Aと欠陥品用の学習モデル２５Bの訓練が終わると、それら訓練済みモデル２５Aと２５Bを用いて、正常品用と欠陥品用の２つの実用モデル２９A、２９Bをそれぞれ作成する。正常品用の訓練済みモデル２５Aから正常品用の実用モデル２９Aを作成する処理は、既に説明した第一の実施形態に係るシステム１でのそれと同じである。また、欠陥品用の訓練済みモデル２５Bから欠陥品用の実用モデル２９Bを作る方法も、正常品の画像データセットに代えて欠陥品の画像データセットを用いる点を除き、既に説明した第一の実施形態に係るシステム１でのそれと同様である。
【００３４】
正常品用と欠陥品用の２つの実用モデル２９A、２９Bはともに、ローカル検査機２７に提供される。ローカル検査機２７は、検査前ライン３のカメラ３１からの製品５，５，５，７，５…の画像データを、正常品用と欠陥品用の２つの実用モデル２９A、２９Bの双方へ入力し、それら２つの実用モデル２９A、２９Bからの仕分け結果を得て、その２つの仕分け結果に基づいて、各製品が正常品か欠陥品かを判断する。
【００３５】
図５は、第二の実施形態に係るシステム６１において２つの実用モデル２１を自動設計する制御の流れを示す。
【００３６】
図５におけるステップS1では、図２のS1と同じ制御が行われる。図５におけるステップS12からS20では、図２のS2からS10と同様の制御が、正常品用のモデルだけでなく、欠陥品用のモデルについても行われる。ただし、S13では、正常品の画像データセットを用いて正常品用の学習モデル２５Aが訓練され、欠陥品の画像データセットを用いて欠陥品用の学習モデル２５Bが訓練される。そして、S15では、正常品の画像データセットに対して正常品用の訓練済みモデル２５Aが適用され、欠陥品の画像データセットに対して欠陥品用の訓練済みモデル２５Bが適用される。また、S17では、正常品用の訓練済みモデル２５Aを用いて、検査前のデータセットの入力に対する出力データセットと、検査後の正常品のデータセットに対する出力データセットが得られ、その２つの出力データセットの対比から、正常品用の訓練済みモデル２５Aに適用される閾値データが決められる。さらに、S17では、欠陥品用の訓練済みモデル２５Bを用いて、検査前のデータセットの入力に対する出力データセットと、検査後の欠陥品のデータセットに対する出力データセットが得られ、その２つの出力データセットの対比から、欠陥品用の訓練済みモデル２５Bに適用される閾値データが決められる。
【００３７】
図６は、第三の実施形態に係る対象検査のためのシステム７１を示す。図７は、システム７１において実用モデル２９を自動設計する制御の流れを示す。
【００３８】
図６に示されるように、第三の実施形態に係るシステム７１は、図１に示された第一の実施形態に係るシステムの構成に加えて、検査後第二ライン１３に配置されたカメラ４１と、カメラ３５からの画像データを蓄積するストレージ４３が追加される。設計プラットフォーム２１は、カメラ３５からの正常品５，５，５，５…の画像データセットを取り込むとともに、カメラ４１からの欠陥品７，７，７，７…の画像データセットも、ストレージ４３を介して、取り込む（図７、S31）。設計プラットフォーム２１は、カメラ３１からの検査前製品のデータは取り込まなくていい。
【００３９】
設計プラットフォーム２１は、少なくとも１つの学習モデル２５を有し、これは、例えば、畳み込みニューラルネットワークを用いた識別用のモデルである。
【００４０】
設計プラットフォーム２１は、正常品５，５，５，５…の画像データセットには「正常品」のラベルを付け、欠陥品７，７，７，７…の画像データセットには「欠陥品」のラベルを付けることで、教師付き訓練データセットを用意する。そして、この教師付き訓練データセットを用いて、学習モデル２５が訓練される（図７、S32）。訓練が終ると、学習モデル２５は、製品の画像データからその製品が正常品か欠陥品かを、ある程度以上の精度で識別できる能力をもった訓練済みモデル２５となる。
【００４１】
訓練済みモデル２５から、実用モデル２９が作られる（図７、S33）。例えば、少なくとも部分的な設計や学習方法において異なる複数の訓練モデル２５が、各々S32の方法で作られ、それらの訓練モデル２５の中から最も精度の高いものが実用モデル２９として選択される。
【００４２】
実用モデル２９が、ローカル検査機２７へ提供される（図３、S34）。以後、ローカル検査機２７は、検査前製品の画像データを入力し、実用モデル２９を用いて、各製品を正常品か欠陥品か識別する。
【００４３】
以上説明した本発明の幾つかの実施の形態は、説明のための単なる例示であり、本発明の範囲をそれらの実施の形態のみに限定する趣旨ではない。本発明は、上記の実施の形態とは違う様々な態様で、実施することができる。
【００４４】
例えば、製品検査のような物品検査だけでなく、例えばSNSなどにおけるWeb画像のOK/NG判定のように、データや情報の検査にも、本発明は適用できる。また、対象の正誤や良否などの２レベルの判定システムを複数段設けてカスケードで用いることで、多種類の商品を種別に仕分ける倍のように多レベルの判定も可能である。
【００４５】
対象の特徴データとして、画像データだけでなく、対象から又は対象を通して得られる種々のデータを採用することができる。
【００４６】
また、閾値データは、自動的に決定するだけなく、出力データ分布などの統計量とその画像を品減に表示できる人装置を用いて、人間とコンピュータがインタラクティブに決定することもできる。
【００４７】
状況の変化などに応じて、実用モデルに用いられた訓練済みモデルに追加の訓練を施して、新たな状況に対応できるように実用モデルをアップデートしてもよい。
【符号の説明】
【００４８】
１、６１、７１  対象検査のためのシステム
２１  設計プラットフォーム
【図１】
2019144870.tif 000003
【図２】
2019144870.tif 000004
【図３】
2019144870.tif 000005
【図４】
2019144870.tif 000006
【図５】
2019144870.tif 000007
【図６】
2019144870.tif 000008
【図７】
2019144870.tif 000009