(57)【要約】【課題】カメラで撮影された各製品の画像を用いて、当該各製品における欠点の類似性を分析することができる。【解決手段】コンピュータに、複数の製品の各々の画像において、複数の検出アルゴリズムのそれぞれにより検出された欠点の領域を示すデータを取得する処理と、各製品の画像について、前記検出アルゴリズム毎に取得された各欠点の領域を重ねる処理と、前記各製品の各欠点の領域の重なりのパターンに基づいて、前記各製品の欠点の類似性を分析する処理と、を実行させる。【選択図】図３
2018169710.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
複数の製品の各々の画像において、複数の検出アルゴリズムのそれぞれにより検出された欠点の領域を示すデータを取得する処理と、
各製品の画像について、前記検出アルゴリズム毎に取得された各欠点の領域を重ねる処理と、
前記各製品の各欠点の領域の重なりのパターンに基づいて、前記各製品の欠点の類似性を分析する処理と、
を実行させるプログラム。
【請求項２】
前記重ねる処理は、前記複数の検出アルゴリズムにより検出された各欠点に、前記複数の検出アルゴリズムに応じた重み付けを行い、各欠点の領域を重ねる、
請求項１記載のプログラム。
【請求項３】
前記分析する処理は、製品の各位置における、各欠点の重なり度をクラスタリングし、類似する欠点を有する各製品を、同一のクラスタに分類する、
請求項２記載のプログラム。
【請求項４】
前記分析する処理は、同一のクラスタに分類した製品に応じて、当該製品に欠点を生じさせる可能性がある製造工程のチェックを促すメッセージを表示させる、
請求項１乃至３のいずれか一項に記載のプログラム。
【請求項５】
複数の製品の各々の画像において、複数の検出アルゴリズムのそれぞれにより検出された欠点の領域を示すデータを取得する取得部と、
各製品の画像について、前記検出アルゴリズム毎に取得された各欠点の領域を重ねる重畳部と、
前記各製品の各欠点の領域の重なりのパターンに基づいて、前記各製品の欠点の類似性を分析する分析部と、
を備える情報処理システム。
【請求項６】
情報処理システムが、
複数の製品の各々の画像において、複数の検出アルゴリズムのそれぞれにより検出された欠点の領域を示すデータを取得する処理と、
各製品の画像について、前記検出アルゴリズム毎に取得された各欠点の領域を重ねる処理と、
前記各製品の各欠点の領域の重なりのパターンに基づいて、前記各製品の欠点の類似性を分析する処理と、
を実行する情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報処理システム、及び情報処理方法に関する。
【背景技術】
【０００２】
従来、例えば、カメラで撮影した製品の画像等に基づいて、当該製品の品質検査を行う技術が知られている（例えば、特許文献１を参照）。
【０００３】
このような品質検査において、近年、深層学習（Deep Learning）等の機械学習技術の進歩により、目視と同等以上の精度で、製品における傷等の欠点を検出できるようになってきている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−２３３８０１号公報
【特許文献２】特開２００１−１９４３５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、複数の製品の各々の画像から、複数の検出アルゴリズムを用いて欠点を抽出する場合、検出アルゴリズム毎に抽出される欠点が異なる場合があるため、クラスタリング等によるデータの分析が困難であるという問題がある。
【０００６】
そこで、一側面では、カメラで撮影された各製品の画像を用いて、当該各製品における欠点の類似性を分析できる技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
一つの案では、コンピュータに、複数の製品の各々の画像において、複数の検出アルゴリズムのそれぞれにより検出された欠点の領域を示すデータを取得する処理と、各製品の画像について、前記検出アルゴリズム毎に取得された各欠点の領域を重ねる処理と、前記各製品の各欠点の領域の重なりのパターンに基づいて、前記各製品の欠点の類似性を分析する処理と、を実行させる。
【発明の効果】
【０００８】
一側面によれば、カメラで撮影された各製品の画像を用いて、当該各製品における欠点の類似性を分析することができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係る情報処理システムの構成例を示す図である。
【図２】実施形態に係る情報処理装置のハードウェア構成例を示す図である。
【図３】実施形態に係る情報処理装置の機能ブロック図の一例を示す図である。
【図４】実施形態に係る情報処理装置の処理の一例を示すフローチャートである。
【図５】欠点データ記憶部に記憶されるデータの一例を説明する図である。
【図６】欠点データを画像化する処理について説明する図である。
【図７】欠点データの画像の例について説明する図である。
【図８】画像化した各欠点データを重ねる処理について説明する図である。
【図９】分析データ記憶部に記憶されるデータの一例を示す図である。
【図１０】分析結果記憶部に記憶されるデータの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面に基づいて本発明の実施形態を説明する。図１は、実施形態に係る情報処理システム１の構成例を示す図である。図１において、情報処理システム１は、情報処理装置１０、カメラ２０−１、２０−２、２０−３、・・・（以下で、それぞれを区別する必要がない場合は、単に「カメラ２０」と称する。）を有する。
【００１１】
情報処理装置１０とカメラ２０は、例えば、ＵＳＢ（Universal Serial Bus）ケーブルやＬＡＮ（Local Area Network）等によって通信可能に接続される。
【００１２】
情報処理装置１０は、例えば、ＰＣ（Personal Computer）である。
【００１３】
カメラ２０は、例えば、情報処理装置１０からの指示に従って、製品３０を撮影し、当該撮影した画像データを情報処理装置１０に送信する。カメラ２０−１、２０−２、２０−３、・・・は、検査対象の製品３０に対し、例えば、２０°毎に異なる角度で撮影できるよう、１８台設置されてもよい。カメラ２０は、例えば、生産ラインにおいて、ベルトコンベア上を流れてくる検査対象の製品３０が所定の位置となった際に、製品３０の撮影を行う。
【００１４】
＜ハードウェア構成＞
図２は、実施形態に係る情報処理装置１０のハードウェア構成例を示す図である。図２の情報処理装置１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、インタフェース装置１０５、表示装置１０６、及び入力装置１０７等を有する。 
情報処理装置１０での処理を実現する情報処理プログラムは、記録媒体１０１によって提供される。情報処理プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、情報処理プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、情報処理プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされた情報処理プログラムを格納すると共に、必要なファイルやデータ等を格納する。 
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って情報処理装置１０に係る機能を実現する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。表示装置１０６はプログラムによるＧＵＩ（Graphical User Interface）等を表示する。入力装置１０７はタッチパネル及びボタン等で構成され、様々な操作指示を入力させるために用いられる。
【００１５】
なお、記録媒体１０１の一例としては、ＣＤ−ＲＯＭ、ＤＶＤディスク、又はＵＳＢメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置１０２の一例としては、ＨＤＤ（Hard Disk Drive）又はフラッシュメモリ等が挙げられる。記録媒体１０１及び補助記憶装置１０２のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
【００１６】
＜機能構成＞
次に、図３を参照し、情報処理装置１０の機能構成について説明する。図３は、実施形態に係る情報処理装置１０の機能ブロック図の一例を示す図である。情報処理装置１０は、取得部１２、検出部１３、重畳部１４、及び分析部１５を有する。これら各部は、情報処理装置１０にインストールされた１以上のプログラムが、情報処理装置１０のＣＰＵ１０４に実行させる処理により実現される。
【００１７】
取得部１２は、カメラ２０から製品３０の画像を取得する。また、取得部１２は、製品３０の画像に基づいて検出部１３により検出された、製品３０の各欠点の領域を示すデータを取得する。
【００１８】
検出部１３は、深層学習（Deep Learning）等の機械学習技術を用いた欠点発見ロジック（検出アルゴリズム）により、取得部１２により取得された製品３０の画像に基づき、製品３０における傷等の欠点の領域を検出する。なお、欠点発見ロジックは、公知の技術を用いて実現してもよい。
【００１９】
重畳部１４は、取得部１２により取得された各欠点の領域を重ねる。
【００２０】
分析部１５は、重畳部１４により重ねられた、各製品の各欠点の領域の重なりのパターンに基づいて、各製品の欠点の類似性を分析する。
【００２１】
また、情報処理装置１０は、欠点データ記憶部１１１、分析データ記憶部１１２、及び分析結果記憶部１１３を有する。これらの記憶部は、例えば、補助記憶装置１０２等を用いて実現される。欠点データ記憶部１１１、分析データ記憶部１１２、分析結果記憶部１１３に記憶されるデータについては後述する。
【００２２】
＜処理＞
次に、図４を参照して、情報処理装置１０の処理について説明する。図４は、実施形態に係る情報処理装置１０の処理の一例を示すフローチャートである。
【００２３】
ステップＳ１において、取得部１２は、複数のカメラ２０−１、２０−２、２０−３、・・・から、製品３０の画像をそれぞれ取得する。
【００２４】
続いて、検出部１３は、取得された各画像に基づいて、例えば、深層学習（Deep Learning）等の機械学習技術を用いて、製品３０における欠点を抽出し、欠点データ記憶部１１１に記憶する（ステップＳ２）。
【００２５】
図５は、欠点データ記憶部１１１に記憶されるデータの一例を説明する図である。欠点データ記憶部１１１には、ロットＩＤ、製造番号、カメラ位置、及びカメラＩＤに対応付けて、欠点発見ロジック毎の欠点データが記憶される。
【００２６】
ロットＩＤは、検査対象の製品３０のロットのＩＤである。製造番号は、検査対象の製品３０を識別する情報である。カメラ位置は、検査対象の製品３０に対する距離及び撮影角度を示す情報である。カメラＩＤは、カメラ２０のＩＤである。欠点発見ロジックは、機械学習技術を用いて欠点を検出するためのロジック（検出手法）のＩＤである。欠点データは、検査対象の製品３０における欠点の領域を示す情報であり、例えば、欠点の中心位置、及び大きさ（面積）等の情報が含まれる。または、欠点データは、例えば、欠点の輪郭の各頂点を示す座標群の情報が含まれていてもよい。
【００２７】
図５の例では、製造番号が「０００１」の製品３０について、カメラＩＤが「２０１」のカメラ２０では、「欠点発見ロジックＡ」により、「欠点データ１Ａ−１」、「欠点データ２Ａ−１」が検出され、「欠点発見ロジックＢ」により、「欠点データ１Ｂ−１」、「欠点データ２Ｂ−１」、「欠点データ３Ｂ−１」が検出されている。「欠点データ１Ａ−１」と「欠点データ１Ｂ−１」とは、同じ欠点に関するデータであるが、欠点発見ロジックに応じて、欠点の位置や大きさ等が異なることを示している。また、「欠点データ３Ｂ−１」に係る欠点は、「欠点発見ロジックＡ」では検出されなかったことを示している。
【００２８】
なお、以下のステップＳ３乃至ステップＳ７の処理は、欠点データ記憶部１１１に記憶されている、各製造番号に対応付けられたカメラＩＤ毎に実行される。以下では、ステップＳ３乃至ステップＳ５において処理の対象とするカメラＩＤを、「処理対象のカメラＩＤ」と称する。
【００２９】
続いて、重畳部１４は、欠点データ記憶部１１１に記憶されている、処理対象のカメラＩＤに対応付けられた、各欠点発見ロジックの各欠点データをそれぞれ画像化する（ステップＳ３）。
【００３０】
図６は、欠点データを画像化する処理について説明する図である。重畳部１４は、図６に示すように、各欠点データにおける欠点の中心位置の座標（ｘ、ｙ）が（２０、１０）であり、欠点の大きさを示す情報として、欠点の面積Ａが４０である場合、（２０、１０）の座標を中心とする、縦横の長さがそれぞれ√４０の領域の各画素の値を、例えば０から１に変更する。
【００３１】
続いて、重畳部１４は、画像化した各欠点データにおける縦（Ｙ軸）と横（Ｘ軸）の座標の最大値（ｘｍａｘ、ｙｍａｘ）を算出する（ステップＳ４）。
【００３２】
続いて、重畳部１４は、原点（０、０）と、算出した（ｘｍａｘ、ｙｍａｘ）を頂点とする矩形（正方形も含む）領域（台紙）上に、画像化した各欠点データを重ねる（重畳する）（ステップＳ５）。なお、重畳部１４は、画像化した各欠点データを重ねる際に、各欠点データに重み付け係数を乗算した後、重ねてもよい。例えば、所定の欠点発見ロジックの検出精度が比較的低いことが判明している場合、当該所定の欠点発見ロジックにより検出された欠点データには、例えば０．５等の重み付け係数を乗算してもよい。
【００３３】
ここで、図７、図８を参照し、画像化した各欠点データを重ねる処理について説明する。図７は、欠点データの画像の例について説明する図である。図８を参照し、画像化した各欠点データを重ねる処理について説明する図である。
【００３４】
図７（Ａ）乃至（Ｃ）には、それぞれ、ステップＳ３の処理により生成された、図６に示す欠点データ１Ａ−１、欠点データ１Ａ−２、欠点データ１Ｂ−１の画像の例が示されている。
【００３５】
図８に示すように、ステップＳ５の処理により、処理対象のカメラＩＤに対応付けられた各欠点データの画像が、レイヤーとして、順次重ねられていく。
【００３６】
まず、重畳部１４は、図８（Ａ）に示すように、欠点データ１Ａ−１の画像データが、方眼紙のようにメッシュ化され、画素が「１」である領域を含む方眼（マス目）の値を「１」としたレイヤーの画像を生成する。なお、画素が「１」である領域を含む方眼の値を「１」とする代わりに、各方眼における欠点データの画素が「１」である領域の面積の割合を、方眼の値としてもよい。この場合、例えば、所定の方眼における当該領域の面積が４０％であれば、方眼の値は「０．４」とされる。
【００３７】
続いて、重畳部１４は、図８（Ｂ）に示すように、図８（Ａ）のレイヤーの画像に、図７（Ｂ）に示す欠点データ１Ａ−２の画像に対するレイヤーの画像を重ねる。これにより、両方のレイヤーにおいて値が「１」であった方眼の値は、「２」となる。
【００３８】
続いて、重畳部１４は、図８（Ｃ）に示すように、図８（Ｂ）のレイヤーの画像に、図７（Ｃ）に示す欠点データ１Ｂ−１の画像に対するレイヤーの画像を重ねる。
【００３９】
これにより、欠点データの数を、欠点を検出した各欠点発見ロジックと、当該各欠点発見ロジックにより検出された各欠点の数とに応じた数から、カメラ及び製品毎の数である一定数とすることができる。
【００４０】
続いて、画像化した各欠点データが重ねられた各方眼の値を算出し、分析データ記憶部１１２に記憶する（ステップＳ６）。
【００４１】
図９は、分析データ記憶部１１２に記憶されるデータの一例を示す図である。分析データ記憶部１１２には、カメラＩＤ、及び製造番号毎に、各欠点データを重ねた各方眼の値が記憶される。ここで、欠点データが重ねられた方眼が、図８に示すように縦６マス、横７マスであれば、各製造番号に対応付けられる方眼の数は４２マスとなる。
【００４２】
続いて、分析部１５は、分析データ記憶部１１２に記憶されたデータをクラスタリングする（ステップＳ７）。ここで、分析部１５は、分析データ記憶部１１２に記憶される各方眼の値（「重なり度」の一例。）を、例えば、k-means法（k平均法）等の手法を用いてクラスタリングし、所定数（例えば１０）のクラスタに分類する。なお、k-means法の代わりに、最短距離法やウォード法などの手法が用いられてもよい。
【００４３】
分析部１５は、例えば、図９に示す分析データ記憶部１１２において各製品番号に対応づけられた各カメラＩＤの各方眼の値に対するクラスタリング結果の平均値を用いて、各製品番号を各クラスタに分類してもよい。または、分析部１５は、各カメラＩＤの各方眼の値に基づいて各製品番号をクラスタリングし、各製品番号に対し最も多く分類されたクラスタを、当該各製品番号に対するクラスタとしてもよい。
【００４４】
図１０は、分析結果記憶部１１３に記憶されるデータの一例を示す図である。分析部１５は、図１０に示す分析結果記憶部１１３において、製造番号に対応付けて、分類したクラスタのＩＤを記憶する。
【００４５】
図１０の例では、製造番号が「０００１」と「０００３」の製品が、同じクラスタ（クラスタＩＤ「１」）に分類されている。これにより、製造番号が「０００１」と「０００３」の製品は同様な欠点を有すると判定できる。この場合、分析部１５は、同様な欠点を有する製品の数が所定の閾値以上である場合、製造工程に欠陥があると推定できるため、当該各製品に欠点を生じさせる可能性がある製造工程のチェックを促すメッセージを画面に表示させてもよい。この場合、例えば、「製造番号が「０００１」、「０００３」、・・・の製品に欠点を生じさせた製造工程をチェックして下さい」等のメッセージが表示される。
【００４６】
＜変形例＞
製品が、例えば、半導体チップのような平面的な物体の場合、重畳部１４は、各カメラ２０の画像から検出された欠点データに含まれる座標のデータを、各カメラ２０のカメラ位置に応じて座標変換し、カメラ位置に依らない共通の座標軸上のデータとし、重ね合わせてもよい。これにより、分析部１５は、カメラＩＤ、及び製造番号毎に、各欠点データを重ねて分析する代わりに、製造番号毎に、各欠点データを重ねて分析することができる。
【００４７】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００４８】
情報処理装置１０の各機能部は、例えば１以上のコンピュータにより構成されるクラウドコンピューティングにより実現されていてもよい。
【００４９】
以上の説明に関し、更に以下の項を開示する。
（付記１）
コンピュータに、
複数の製品の各々の画像において、複数の検出アルゴリズムのそれぞれにより検出された欠点の領域を示すデータを取得する処理と、
各製品の画像について、前記検出アルゴリズム毎に取得された各欠点の領域を重ねる処理と、
前記各製品の各欠点の領域の重なりのパターンに基づいて、前記各製品の欠点の類似性を分析する処理と、
を実行させるプログラム。
（付記２）
前記重ねる処理は、前記複数の検出アルゴリズムにより検出された各欠点に、前記複数の検出アルゴリズムに応じた重み付けを行い、各欠点の領域を重ねる、
付記１記載のプログラム。
（付記３）
前記分析する処理は、製品の各位置における、各欠点の重なり度をクラスタリングし、類似する欠点を有する各製品を、同一のクラスタに分類する、
付記２記載のプログラム。
（付記４）
前記分析する処理は、同一のクラスタに分類した製品に応じて、当該製品に欠点を生じさせる可能性がある製造工程のチェックを促すメッセージを表示させる、
付記１乃至３のいずれか一項に記載のプログラム。
（付記５）
複数の製品の各々の画像において、複数の検出アルゴリズムのそれぞれにより検出された欠点の領域を示すデータを取得する取得部と、
各製品の画像について、前記検出アルゴリズム毎に取得された各欠点の領域を重ねる重畳部と、
前記各製品の各欠点の領域の重なりのパターンに基づいて、前記各製品の欠点の類似性を分析する分析部と、
を備える情報処理システム。
（付記６）
情報処理システムが、
複数の製品の各々の画像において、複数の検出アルゴリズムのそれぞれにより検出された欠点の領域を示すデータを取得する処理と、
各製品の画像について、前記検出アルゴリズム毎に取得された各欠点の領域を重ねる処理と、
前記各製品の各欠点の領域の重なりのパターンに基づいて、前記各製品の欠点の類似性を分析する処理と、
を実行する情報処理方法。
【符号の説明】
【００５０】
１  情報処理システム
１０  情報処理装置
１１１  欠点データ記憶部
１１２  分析データ記憶部
１１３  分析結果記憶部
１２  取得部
１３  検出部
１４  重畳部
１５  分析部
【図１】
2018169710.tif 000003
【図２】
2018169710.tif 000004
【図３】
2018169710.tif 000005
【図４】
2018169710.tif 000006
【図５】
2018169710.tif 000007
【図６】
2018169710.tif 000008
【図７】
2018169710.tif 000009
【図８】
2018169710.tif 000010
【図９】
2018169710.tif 000011
【図１０】
2018169710.tif 000012