(57)【要約】【課題】精度良く製品検査を行うことができる学習装置を提供する。【解決手段】検査対象の製品が撮像された撮像データを取得する撮像データ取得部と、前記撮像データを用いて、前記撮像データと前記検査対象の製品の検査の合否の関係を学習する学習部と、を有する学習装置である。また、学習装置から得られる学習済モデルを用いて、撮像された検査対象の製品の検査の合否を判定する製品検査システムとして構築することもできる。【選択図】図１
2019184305.tif 000002
【特許請求の範囲】
【請求項１】
検査対象の製品が撮像された撮像データを取得する撮像データ取得部と、
前記撮像データを用いて、前記撮像データと前記検査対象の製品の検査の合否の関係を学習する学習部と、
を有する学習装置。
【請求項２】
前記撮像データにおいて撮像された検査対象の製品の検査の合否を表すラベル情報を取得するラベル情報取得部と、
前記学習部は、前記撮像データにおいて撮像された検査対象の製品の検査の合否を表すラベル情報を用いて、前記撮像データと当該撮像データに基づく検査対象の製品の合否判定の関係性を表す条件を学習する
請求項１に記載の学習装置。
【請求項３】
前記学習部は、ディープラーニングによって学習する
請求項１または請求項２に記載の学習装置。
【請求項４】
検査対象の製品が撮像された撮像データを取得する撮像データ取得部と、
前記撮像データと前記検査対象の製品の検査の合否の関係を学習した学習済モデルを利用して、前記撮像された検査対象の製品の検査の合否を判定する判定部と、
を有する製品検査システム。
【請求項５】
請求項１から請求項３のうちいずれか１項に記載の学習装置を有し、
前記判定部は、前記学習装置によって学習された学習済モデルを用いる
請求項４に記載の製品検査システム。
【請求項６】
コンピュータを、請求項１から請求項３のうちいずれか１項に記載の学習装置として動作させるためのプログラムであって、前記コンピュータを前記学習装置が備える各部として機能させるためのプログラム。
【請求項７】
コンピュータを、請求項４または請求項５に記載の製品検査システムとして動作させるためのプログラムであって、前記コンピュータを前記製品検査システムが備える各部として機能させるためのプログラム。
【請求項８】
学習装置における学習方法であって、
撮像データ取得部が、検査対象の製品が撮像された撮像データを取得し、
学習部が、前記撮像データを用いて、前記撮像データと前記検査対象の製品の検査の合否の関係を学習する
学習方法。
【請求項９】
製品検査システムにおける製品検査方法であって、
撮像データ取得部が、検査対象の製品が撮像された撮像データを取得し、
判定部が、前記撮像データと前記検査対象の製品の検査の合否の関係を学習した学習済モデルを利用して、前記撮像された検査対象の製品の検査の合否を判定する
製品検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置、製品検査システム、プログラム、学習方法、製品検査方法に関する。
【背景技術】
【０００２】
工場における出荷前の製品検査は、検査担当者が目視にて製品を検査する目視検査がある。検査担当者は、合格基準が定められたマニュアル等を参照し、その基準に基づいて判断を行う。また、他の方法として、画像処理を用いて製品検査を行う方法がある。例えば、合格基準を満たした製品を撮像し、基準データとして記憶してき、検査対象の製品を撮像した撮像データと閾値処理やパターンマッチング等の手法を利用して、合否判定を行う。画像処理を用いた製品検査方法としては例えば、特許文献１に記載された製品検査システムがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２２３８３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、目視による製品検査では、マニュアルに記載された合格基準を参照していたとしても、その基準と実際の製品を比べ、合否のいずれとするかは、検査担当者の経験等の差があるため、判断にばらつきが生じてしまう。また、画像処理を用いた製品検査では、検査対象の製品形状が複雑な形状であったり、表面が反射しやすい性状である場合、検査対象の製品を撮像する角度等が異なると、撮像された画像では見え方が異なるため、十分な判定精度を出すことができない。
【０００５】
本発明は、このような事情に鑑みてなされたもので、その目的は、精度良く製品検査を行うことができる学習装置、製品検査システム、プログラム、学習方法、製品検査方法を提供することにある。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、本発明は、検査対象の製品が撮像された撮像データを取得する撮像データ取得部と、前記撮像データを用いて、前記撮像データと前記検査対象の製品の検査の合否の関係を学習する学習部と、を有する学習装置である。
【０００７】
また、本発明の一態様は、検査対象の製品が撮像された撮像データを取得する撮像データ取得部と、前記撮像データと前記検査対象の製品の検査の合否の関係を学習した学習済モデルを利用して、前記撮像された検査対象の製品の検査の合否を判定する判定部と、を有する製品検査システムである。
【０００８】
また、本発明の一態様は、コンピュータを、学習装置として動作させるためのプログラムであって、前記コンピュータを前記学習装置が備える各部として機能させるためのプログラムである。
【０００９】
また、本発明の一態様は、コンピュータを、製品検査システムとして動作させるためのプログラムであって、前記コンピュータを前記製品検査システムが備える各部として機能させるためのプログラムである。
【００１０】
また、本発明の一態様は、学習装置における学習方法であって、撮像データ取得部が、検査対象の製品が撮像された撮像データを取得し、学習部が、前記撮像データを用いて、前記撮像データと前記検査対象の製品の検査の合否の関係を学習する学習方法である。
【００１１】
また、本発明の一態様は、製品検査システムにおける製品検査方法であって、撮像データ取得部が、検査対象の製品が撮像された撮像データを取得し、判定部が、前記撮像データと前記検査対象の製品の検査の合否の関係を学習した学習済モデルを利用して、前記撮像された検査対象の製品の検査の合否を判定する製品検査方法である。
【発明の効果】
【００１２】
以上説明したように、この発明によれば、精度良く製品検査を行うことができる学習装置、製品検査システム、プログラム、学習方法、製品検査方法を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】この発明の一実施形態による製品検査システム１の構成を示す概略ブロック図である。
【図２】ＡＩサーバ２１の構成を表す概略機能ブロック図である。
【図３】ＡＩ実行モジュール１２の機能及びＡＩ実行モジュール１２と検査カメラ１１、排出装置１３、データサーバ２２の関係を説明する概略ブロック図である。
【図４】学習フェーズにおける製品検査システム１の動作を説明するフローチャートである。
【図５】運用フェーズにおける製品検査システム１の動作を説明するフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の一実施形態による製品検査システムについて図面を参照して説明する。図１は、この発明の一実施形態による製品検査システム１の構成を示す概略ブロック図である。
製品検査システム１は、生産エリア１０に配置される各機器と、サーバルーム２０内の各機器とが館内ネットワーク３０を介して通信可能に接続される。生産エリア１０とサーバルーム２０とは別のゾーンに分けられている。
生産エリア１０には、検査カメラ１１、ＡＩ実行モジュール１２、排出装置１３、搬送装置１４、ゾーンスイッチ（ＳＷ）１５が設けられる。
検査カメラ１１と、ＡＩ実行モジュール１２と、排出装置１３は、ゾーンＳＷ１５を介して館内ネットワーク３０に通信可能に接続される。
検査カメラ１１は、搬送装置１４によって搬送される、検査対象である製品を撮像し、撮像データを出力する。ここでいう検査は、生産エリア１０において生産された製品が、予め決められた検査基準を満たすか否かの判定が行われる検査である。この検査に合格した製品は、次の生産工程に進められるか、出荷する工程に進められ、不合格となった製品は、エラー品として仕分けされる。
【００１５】
ＡＩ実行モジュール１２は、学習済モデルを利用することで、検査カメラ１１から得られた撮像データを解析し、搬送された製品の検査を行い、合格であるか否かを判定する。また、ＡＩ実行モジュール１２は、判定結果を排出装置１３に出力する。
ＡＩ実行モジュール１２は、学習済みモデルをＡＩサーバ２１から取得し、ＡＩ実行モジュール１２内に設けられた記憶装置に記憶する。学習済モデルは、関数、行列、パラメータ等の形式のデータである。
【００１６】
排出装置１３は、ＡＩ実行モジュール１２から得られる判定結果に基づいて、搬送装置１４によって搬送された製品を仕分けする。例えば、排出装置１３は、判定結果が合格である場合には、検査を合格した製品を搬送するライン側にロボットアームによって把持して移動させ、判定結果が不合格である場合には、エラーである製品を収容する収容エリア側にロボットアームによって把持して移動させる。この実施形態において、排出装置１３の一例としてアームを有するロボットを用いる場合について説明するが、排出装置１３は、これに限られず、他の構成であってもよい。排出装置１３は、判定結果に基づいて、合格の製品と不合格の製品とを生産ライン上において異なる別のラインに分けることができる構成であればよく、例えば、圧縮空気で対象物を吹き飛ばす機構や、生産ライン等のライン内に設けられたフラップを駆動させることで、対象物をラインから排除するような装置であってもよい。
【００１７】
搬送装置１４は、検査対象となる製品を製品製造ラインから製品検査エリアに搬送する。搬送先は、排出装置１３が製品の仕分けを行う作業エリアである。例えば、搬送装置１４は、ローラをモータによって回転させてベルト駆動するベルトコンベアであってもよい。
製品は、機械やコンピュータ等を構成する部品、食品、物体を収容する容器であってもよい。
【００１８】
ゾーンＳＷ１５は、検査カメラ１１とＡＩ実行モジュール１２と排出装置１３とについて、館内ネットワーク３０に接続される他の機器に対して通信可能に接続するスイッチ装置である。
【００１９】
サーバルーム２０には、ＡＩサーバ２１とデータサーバ２２とが設けられる。
ＡＩサーバ２１は、データサーバ２２に記憶された撮像データを読み出し、学習アルゴリズムに基づいて、撮像データと検査対象の製品の検査の合否の関係を学習し、学習済モデルを生成する。ＡＩサーバ２１は、学習済モデルが生成されると、ＡＩ実行モジュール１２内の学習済モデルの更新（アップデート）を行う。
データサーバ２２は、例えば、ハードディスクやデータサーバ装置等であり、検査カメラ１１によって撮像された撮像データをゾーンＳＷ１５、館内ネットワーク３０を介して受信し、記憶する。
【００２０】
図２は、ＡＩサーバ２１の構成を表す概略機能ブロック図である。ＡＩサーバ２１は、撮像データ取得部２０１、学習部２０２、ラベル付与部２０３、出力部２０４を有する。
撮像データ取得部２０１は、データサーバ２２に記憶された撮像データをデータサーバ２２から取得する。撮像データ取得部２０１は、検査カメラ１１から出力された撮像データを取得することもできる。
【００２１】
学習部２０２は、撮像データ取得部２０１によって取得された撮像データを用いて、学習アルゴリズムに基づいて、撮像データと検査対象の製品の検査の合否の関係を学習し、学習済モデルを生成する。
例えば、学習部２０２は、撮像データを画像処理を行い、検査対象である製品の形状（輪郭など）、色、サイズ、光の反射度合い等について解析することで、これらを特徴量（特徴データ）として取得する。学習部２０２は、この特徴量と検査対象の製品の検査の合否の関係を学習し、学習済モデルを生成する。ここで、学習部２０２における学習は、例えば、特徴量と、製品の検査の合否の結果との関係性を示す条件を学習するようにしてもよい。学習部２０２におけるこの条件とは、撮像データと製品の検査の合否の結果との相関性を表すモデル構造、あるいは、当該モデル構造を決定する種々のパラメータである。
【００２２】
学習部２０２の学習は、どのような学習方式であってもよく、例えば、ＡＩ（Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ）技術を用いた、機械学習、強化学習、複数の中間層を含むニューラルネットワークによるディープラーニングのうちいずれかを用いることができる。また、学習方式としては、教師あり学習であっても教師無し学習であってもよい。
学習部２０２は、教師なし学習を行う場合には、例えば、撮像データの特徴量に基づいて、検査対象の製品の形状、色、サイズ、光の反射度合い等の観点に基づくクラスタ分析を行なうことで、撮像データを製品の検査の合否に応じて分類するようにしてもよい。
【００２３】
例えば、学習部２０２は、学習の開始時においては、撮像データの特徴量と検査対象の製品の検査の合否との相関関係は未知であるが、学習を進めるに従い、徐々に特徴を識別して相関関係を解釈する。学習が進行することにより、学習部２０２は、撮像データの特徴量（検査対象である製品の形状（輪郭など）、色、サイズ、光の反射度合い等）と製品の検査の合否（製品の検査結果を合格とするか不合格とするか）の相関関係を表す条件を最適解に近づけることができる。なお、学習部２０２は、撮像データの特徴量と製品の検査の合否との関係を学習するようにしたが、撮像データの特徴量を用いずに、撮像データと製品の検査の合否との関係性を表す条件を学習するようにしてもよい。この場合、学習部２０２は、例えば、撮像データに含まれるそれぞれの画素と製品の検査の合否の関係性を表す条件を学習するようにしてもよい。
【００２４】
ラベル付与部２０３は、撮像データに対してラベルを付与する処理を行なう。ここで、学習部２０２が行う学習方式が教師あり学習である場合には、撮像データに対し、教師データとしてラベルを付与する処理を行う。また、学習部２０２が行う学習方式が教師無し学習である場合には、ラベル付与部２０３によるラベル付与は行わなくてよく、その場合には、ラベル付与部２０３の機能を必ずしも備えていなくてもよい。
【００２５】
ラベル付与部２０３が付与するラベルは、例えば、キーボードやマウス等の入力装置を介して操作者から入力される情報を取得し、この情報をラベルとして用いる。このラベルは、撮像データを表示装置に表示させ、その撮像データの画像を視認した操作者によって、撮像データとして撮像された製品が検査に対して合格であるか不合格であるかについて判定された判定結果を表すデータである。例えば、撮像データに撮像された製品の形状、色、サイズ、光の反射度合い等が、予め決められた検査基準を満たすか否かが操作者によって判定されることで、その判定結果が入力される。このラベルの入力は、いずれの操作者が行なってもよいが、製品の検査を行った経験の度合が高い（経験が多い）検査員が行なうことが好ましい。このような検査員が判定を行った結果をラベルとして入力することで、その検査員の経験知を反映させたラベリングを行なうことができる。また、このようなラベルを用いて学習部２０２が学習を行なうことで、経験度合が高い検査員の知識が反映された学習を行なうことが可能となり、経験度合が高い検査員の知識が反映された学習済モデルを生成することができる。そして、経験度合が高い検査員の知識を反映させた学習済モデルを用いて製品の合否判定処理を行うことで、精度よく合否判定を行うことができる。例えば、検査を担当する者の経験度合いの相違による判定のばらつきを低減することができる。また、形状や反射度合いが類似する過去の撮像データを元に学習された学習済モデルによって判定できることから、製品形状が複雑な形状であったり、表面が反射し易い製品であっても、そのような状態を踏まえた上で、学習済モデルを用いて判定することができ、単なる画像処理に基づく判定を行う場合に比べて判定精度を向上させることができる。
なお、このようにして入力されたラベルは、撮像データや撮像データを画像処理することで生成される特徴量等に対応付け（付与）される。
【００２６】
出力部２０４は、学習部２０２によって生成された学習済モデルを出力する。出力する対象は、例えば、ＡＩ実行モジュール１２であり、ＡＩ実行モジュール１２に学習済モデルを送信することで、ＡＩ実行モジュール１２内の学習済モデルをアップデートさせる。
【００２７】
図３は、ＡＩ実行モジュール１２の機能及びＡＩ実行モジュール１２と検査カメラ１１、排出装置１３、データサーバ２２の関係を説明する概略ブロック図である。
ＡＩ実行モジュール１２は、画像インタフェース部１２１と、画像処理部１２２と、判定部１２３と、出力インタフェース１２４を含んで構成される。
画像インタフェース部１２１は、検査カメラ１１から取得した撮像データを受信し、受信した撮像データを画像処理部１２２に出力する。画像処理部１２２は、撮像データに所定の画像処理を行う。判定部１２３は、ＡＩサーバ２１によって生成された学習済モデルを記憶しており、その学習済モデルを用いて、画像処理部１２２から得られた撮像データとして撮像された検査対象の製品の検査の合否を判定する。
【００２８】
出力インタフェース１２４は、判定部１２３によって得られた判定結果を排出装置１３が解釈可能なデータに変換し、排出装置１３に出力する。
なお、検査カメラ１１から出力された撮像データや、判定部１２３によって判定された判定結果は、データサーバ２２に送信され、蓄積される。これにより、どの撮像データに対して合格または不合格の判定が行われたかを後から確認することが可能である。
【００２９】
図４は、学習フェーズにおける製品検査システム１の動作を説明するフローチャートである。検査カメラ１１は、検査対象である製品を撮像し、撮像データを生成し、データサーバ２２に送信する。データサーバ２２は、検査カメラ１１から撮像データを取得し（ステップＳ１０１）、撮像データを記憶領域に記憶することで蓄積する（ステップＳ１０２）。ＡＩサーバ２１は、データサーバ２２に蓄積された撮像データを所定の画像処理を行うことで加工し、入力装置から入力されるラベルを取得し、取得したラベルを画像処理が行われた後の撮像データに対応付けすることでラベリングを行う（ステップＳ１０３）。学習部２０２は、ラベリングされた撮像データがある程度蓄積されると、ラベルが付された撮像データを読み出し、学習アルゴリズムに基づいて、学習を行う（ステップＳ１０４）。学習部２０２は、学習を行うことで学習済モデルを生成し、ＡＩ実行モジュール１２に送信する。ＡＩ実行モジュール１２は、学習済モデルを受信し記憶する（ステップＳ１０５）。
【００３０】
図５は、運用フェーズにおける製品検査システム１の動作を説明するフローチャートである。ＡＩ実行モジュール１２は、搬送装置１４によって検査カメラ１１の撮像領域に検査対象の製品が搬送され、当該製品が撮像された撮像データを検査カメラ１１から取得すると（ステップＳ２０１）、画像処理部１２２によって、撮像データに対して一時画像変換を行う（ステップＳ２０２）。この一時画像変換処理は予め決められた画像処理であってもよい。また、撮像データは、検査カメラ１１からデータサーバ２２に対して、ＡＩ実行モジュール１２の処理と並行して送信されることで、データサーバ２２は、撮像データを受信して記憶領域に記憶することで蓄積する（ステップＳ２０６）。
ＡＩ実行モジュール１２の判定部１２３は、撮像データを解析し、学習済モデルを利用して、搬送された製品の検査基準を満たすか否かの合否判定を行う（ステップＳ２０３）。判定結果が合格（ＯＫ）である場合、ＡＩ実行モジュール１２は、排出装置１３に対する排出処理の指示は行わずに、判定結果をデータサーバ２２に送信することで、撮像データと判定結果とを対応づけてデータサーバ２２に蓄積する（ステップＳ２０５）。
【００３１】
一方、判定結果が不合格（ＮＧ）である場合、ＡＩ実行モジュール１２は、検査を行った対象の製品を排出させる指示を排出装置１３に出力する。排出装置１３は、この指示を受信すると、検査された製品をエラー品として仕分けすることで、生産ラインから排出する（ステップＳ２０４）。排出装置１３に排出指示を出力すると、ＡＩ実行モジュール１２は、判定結果と判定結果をデータサーバ２２に送信することで、撮像データと判定結果とを対応づけてデータサーバ２２に蓄積する（ステップＳ２０５）。
【００３２】
なお、上述した実施形態において、ＡＩサーバ２１とＡＩ実行モジュール１２とが異なる装置である場合について説明したが、ＡＩ実行モジュール１２の機能をＡＩ実行モジュール１２に設けるようにしてもよい。すなわち、学習機能と学習済モデルに基づく製品の検査の合否判定を行う機能とを有する装置として構成するようにしてもよい。
【００３３】
上述した実施形態におけるＡＩ実行モジュール１２またはＡＩサーバ２１をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＦＰＧＡ（Field Programmable Gate Array）等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【００３４】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００３５】
１  製品検査システム
１０  生産エリア
１１  検査カメラ
１２  ＡＩ実行モジュール
１３  排出装置
１４  搬送装置
１５  ゾーンスイッチ
２０  サーバルーム
２１  ＡＩサーバ
２２  データサーバ
１２１  画像インタフェース部
１２２  画像処理部
１２３  判定部
１２４  出力インタフェース
２０１  撮像データ取得部
２０２  学習部
２０３  ラベル付与部
２０４  出力部
【図１】
2019184305.tif 000003
【図２】
2019184305.tif 000004
【図３】
2019184305.tif 000005
【図４】
2019184305.tif 000006
【図５】
2019184305.tif 000007