JP2023127106A - 印刷画像の欠陥判別装置、および判別方法 - Google Patents
印刷画像の欠陥判別装置、および判別方法 Download PDFInfo
- Publication number
- JP2023127106A JP2023127106A JP2022030675A JP2022030675A JP2023127106A JP 2023127106 A JP2023127106 A JP 2023127106A JP 2022030675 A JP2022030675 A JP 2022030675A JP 2022030675 A JP2022030675 A JP 2022030675A JP 2023127106 A JP2023127106 A JP 2023127106A
- Authority
- JP
- Japan
- Prior art keywords
- image
- defect
- learning
- printed
- learning model
- 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.)
- Pending
Links
- 230000007547 defect Effects 0.000 title claims abstract description 360
- 238000012850 discrimination method Methods 0.000 title abstract description 3
- 238000010801 machine learning Methods 0.000 claims abstract description 77
- 238000007689 inspection Methods 0.000 claims abstract description 53
- 238000000034 method Methods 0.000 claims description 72
- 230000008569 process Effects 0.000 claims description 35
- 230000002787 reinforcement Effects 0.000 claims description 31
- 238000012937 correction Methods 0.000 claims description 24
- 238000007781 pre-processing Methods 0.000 claims description 13
- 230000002950 deficient Effects 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 6
- 239000000463 material Substances 0.000 claims description 5
- 230000009467 reduction Effects 0.000 claims description 2
- 239000013598 vector Substances 0.000 description 55
- 210000002569 neuron Anatomy 0.000 description 45
- 238000001228 spectrum Methods 0.000 description 40
- 238000012545 processing Methods 0.000 description 37
- 238000010586 diagram Methods 0.000 description 26
- 238000012423 maintenance Methods 0.000 description 16
- 238000004364 calculation method Methods 0.000 description 13
- 230000010365 information processing Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 10
- 238000002360 preparation method Methods 0.000 description 6
- 238000004140 cleaning Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000010606 normalization Methods 0.000 description 3
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 229930091051 Arenine Natural products 0.000 description 1
- 101100129500 Caenorhabditis elegans max-2 gene Proteins 0.000 description 1
- 101100083446 Danio rerio plekhh1 gene Proteins 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000026058 directional locomotion Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000032258 transport Effects 0.000 description 1
- 230000007306 turnover Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
- G06T7/001—Industrial image inspection using an image reference approach
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30144—Printing quality
Landscapes
- Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
【課題】印刷された画像に存在し得る欠陥を、未知の欠陥を含めて判別可能とする。【解決手段】印刷を行なう際に生じ得る欠陥を含む画像であって、欠陥種に対応付けられたた教師画像を用いた機械学習を予め行なって、欠陥種毎の類似度を出力可能に学習させた学習モデルを用意する。その上で、印刷がなされた印刷物の画像を取得して、検査の対象とする対象画像を用意し、この対象画像に対し、学習モデルを用いることで、対象画像に存在する欠陥の既知の欠陥種に対する類似度を取得し、この類似度を用いて、対象画像に存在する欠陥を、既知の欠陥種の少なくとも一つとして判別する。この判別の結果によって、学習モデルの更新を行なう場合には、学習モデルに対して、判別された欠陥種とは異なる欠陥種または未知の欠陥に対応付けられた欠陥種に対する機械学習を行なわせる。【選択図】図14
Description
本開示は、印刷された画像の欠陥を判別する技術に関する。
特許文献1には、印刷された印刷物の欠陥を、機械学習を利用して予め判別し、実際に印刷された印刷物の欠陥を検出して、印刷装置に必要なメンテナンス情報を表示する装置が記載されている。
しかしながら、特許文献1の技術では、予め学習した印刷物の欠陥しか判別できず、未知の欠陥には対応できなかった。
本開示は、以下の形態または適用例として実現することが可能である。
(1)本開示の実施形態の一つは、印刷画像の欠陥判別装置としての形態である。こうした印刷画像の欠陥判別装置は、印刷を行なう際に生じ得る欠陥を含む画像であって、欠陥種に対応付けられた教師画像を用いた機械学習を予め行なって、前記欠陥種毎の類似度を出力可能に学習済みの学習モデルと、印刷がなされた印刷物の画像を取得して、検査の対象とする対象画像を用意する対象画像取得部と、前記対象画像に対し、前記学習モデルを用いることで、前記対象画像に存在する欠陥の前記欠陥種に対する類似度を取得し、前記対象画像に存在する欠陥を、既知の欠陥種の少なくとも一つとして判別する判別器と、前記判別器による前記判別の結果によって、前記学習モデルに対する学習が必要と判断された場合には、前記学習モデルに対して、前記判別された欠陥種とは異なる欠陥種または未知の欠陥に対応付けられた欠陥種に対する機械学習を行なわせる学習部とを備える。
(1)本開示の実施形態の一つは、印刷画像の欠陥判別装置としての形態である。こうした印刷画像の欠陥判別装置は、印刷を行なう際に生じ得る欠陥を含む画像であって、欠陥種に対応付けられた教師画像を用いた機械学習を予め行なって、前記欠陥種毎の類似度を出力可能に学習済みの学習モデルと、印刷がなされた印刷物の画像を取得して、検査の対象とする対象画像を用意する対象画像取得部と、前記対象画像に対し、前記学習モデルを用いることで、前記対象画像に存在する欠陥の前記欠陥種に対する類似度を取得し、前記対象画像に存在する欠陥を、既知の欠陥種の少なくとも一つとして判別する判別器と、前記判別器による前記判別の結果によって、前記学習モデルに対する学習が必要と判断された場合には、前記学習モデルに対して、前記判別された欠陥種とは異なる欠陥種または未知の欠陥に対応付けられた欠陥種に対する機械学習を行なわせる学習部とを備える。
本開示の他の実施形態の一つは、印刷画像の欠陥判別方法としての形態である。こうした印刷画像の欠陥判別方法は、印刷を行なう際に生じ得る欠陥を含む画像であって、欠陥種に対応付けられたた教師画像を用いた機械学習を予め行なって、前記欠陥種毎の類似度を出力可能に学習させた学習モデルを用意し、印刷がなされた印刷物の画像を取得して、検査の対象とする対象画像を用意し、前記対象画像に対し、前記学習モデルを用いることで、前記対象画像に存在する欠陥の前記欠陥種に対する類似度を判別し、前記類似度を用いて、前記対象画像に存在する欠陥を、既知の欠陥の少なくとも一つの欠陥種として判別し、前記判別の結果によって、前記学習モデルに対する学習が必要と判断された場合には、前記判別された欠陥種とは異なる欠陥種または未知の欠陥に対応付けられた欠陥種に対する機械学習を行なわせる。
A.第1実施形態:
(1)システム構成:
図1は、一実施形態における検査画像の欠陥判別システム100の概略構成を示すブロック図である。この欠陥判別システム100は、プリンター10と、情報処理装置20と、撮像部としてのスキャナー30とを有する印刷システムである。プリンター10は、情報処理装置20から印刷すべき画像のデータを受け取ると、スタックSKに収容された印刷媒体Pを搬送し、これに画像を印刷する。印刷媒体Pへの画像形成の方式は問わない。印刷は、例えばインク滴を印刷媒体Pに吐出することで行なうインクジェット方式で行なってもよいし、感光ドラムに潜像を形成してトナーを印刷媒体Pに転写するゼログラフィ方式で行なってもよいし、平版などを用意してインクを転写する平版印刷方式によってもよい。プリンター10に出力されて印刷される画像が基準画像に、印刷媒体Pに印刷されてスキャナー30で読み取られる画像が検査画像に、それぞれ相当する。但し、後述するように、検査においては、基準画像と検査画像とは、その差分をとる処理を行なうので、両画像の形式は、同一にしておく必要がある。例えば、印刷しようとする原画像orgが、RGB形式、解像度r1のものであって、印刷媒体Pに対して実際に印刷される印刷画像prtが、CMYK形式、解像度r2のものであり、スキャナー30により読み取られる撮像画像scgが、RGB形式、解像度r3のものであるとすれば、スキャナー30により読み取った撮像画像scgを検査画像とし、原画像orgを解像度r3に解像度変換したものを基準画像とすればよい。あるいは基準画像は、欠陥が生じないことが確認されている状態のプリンター10で印刷した画像をスキャナー30で読み取ることで用意してもよい。
(1)システム構成:
図1は、一実施形態における検査画像の欠陥判別システム100の概略構成を示すブロック図である。この欠陥判別システム100は、プリンター10と、情報処理装置20と、撮像部としてのスキャナー30とを有する印刷システムである。プリンター10は、情報処理装置20から印刷すべき画像のデータを受け取ると、スタックSKに収容された印刷媒体Pを搬送し、これに画像を印刷する。印刷媒体Pへの画像形成の方式は問わない。印刷は、例えばインク滴を印刷媒体Pに吐出することで行なうインクジェット方式で行なってもよいし、感光ドラムに潜像を形成してトナーを印刷媒体Pに転写するゼログラフィ方式で行なってもよいし、平版などを用意してインクを転写する平版印刷方式によってもよい。プリンター10に出力されて印刷される画像が基準画像に、印刷媒体Pに印刷されてスキャナー30で読み取られる画像が検査画像に、それぞれ相当する。但し、後述するように、検査においては、基準画像と検査画像とは、その差分をとる処理を行なうので、両画像の形式は、同一にしておく必要がある。例えば、印刷しようとする原画像orgが、RGB形式、解像度r1のものであって、印刷媒体Pに対して実際に印刷される印刷画像prtが、CMYK形式、解像度r2のものであり、スキャナー30により読み取られる撮像画像scgが、RGB形式、解像度r3のものであるとすれば、スキャナー30により読み取った撮像画像scgを検査画像とし、原画像orgを解像度r3に解像度変換したものを基準画像とすればよい。あるいは基準画像は、欠陥が生じないことが確認されている状態のプリンター10で印刷した画像をスキャナー30で読み取ることで用意してもよい。
スキャナー30は、プリンター10の内部または印刷された印刷媒体Pが排出される位置に設けられ、印刷媒体Pの印刷面をスキャンして、検査画像を取り込むことが可能である。本開示において、スキャナー30で得られた検査画像は、基準画像との差分を取って、差分画像を生成するのに用いられる。差分画像は後述する機械学習モデルに入力される。情報処理装置20は、機械学習モデルを用いて欠陥種のクラス判別処理を実行し、印刷媒体P上に形成された画像に存在する欠陥種が複数のクラスのいずれに該当するかを判別する。「欠陥種のクラス」とは、印刷された画像に存在する欠陥の種類を意味する。情報処理装置20は、印刷媒体Pの種類に応じた適切な印刷条件で印刷を実行するようにプリンター10を制御する。なお、本開示による検査画像の欠陥判別システムは、プリンター10を含まないシステム構成とすることも可能である。また、スキャナー30に代えて、カメラなどを用いることも可能である。なお、差分画像を生成しなくても検査を行なうことは可能であるため、欠陥種の判別の対象とする画像を、単に「対象画像」と呼ぶことがある。
図2は、情報処理装置20の機能を示すブロック図である。情報処理装置20は、プロセッサー110と、記憶装置120と、インターフェイス回路130と、インターフェイス回路130に接続された入力デバイス22および表示部21と、を有している。インターフェイス回路130には、スキャナー30とプリンター10も接続されている。限定されないが例えば、プロセッサー110は、以下で詳述される処理を実行する機能を有するだけでなく、表示部21に、当該処理によって得られるデータ、および当該処理の過程で生成されるデータ、更には当該処理の結果としてプリンター10のメンテナンス情報等を表示する機能も有する。
プロセッサー110は、印刷処理部112、クラス判別処理部114、学習/再学習部116、差分画像生成部118等として機能する。印刷処理部112は入力デバイス22から入力された原画像をプリンター10を用いて印刷する処理を実行する機能を実現する。また、クラス判別処理部114は、印刷媒体Pに印刷された画像に存在することのある欠陥種を判別する処理を実行する。クラス判別処理部114は、類似度演算部310とクラス決定部320とを含む。学習/再学習部116は、記憶装置120に記憶された学習モデル200に再学習を行なわせる。再学習には、強化学習、追加学習、転移学習など、学習済みの学習モデルを修正する種々の学習のうち、少なくとも一つが含まれる。差分画像生成部118は、上述した基準画像と検査画像との差分を抽出した差分画像を生成する。差分画像生成部118は、基準画像と欠陥画像もしくは検査画像との差分画像を生成するが、差分画像を用いない場合は、検査画像を対象画像とするものとし、差分画像生成部118を用いなくてもよい。
ここで「基準画像」とは、印刷される画像であって、何らの欠陥種も含んでいない画像を言う。「欠陥種」とは、詳しくは後述するが、プリンター10での印刷によって生じる、基準画像とは相違する部分的な事象であって、印刷画像の品質を損なう事象を言う。欠陥種には、機械学習モデル200が学習した既知の欠陥種以外に、学習していないが画像の検査を行なう者にとっては欠陥として認識される未知の欠陥種がある。「欠陥画像」とは、こうした既知または未知の欠陥種を含んでいる画像を言う。「検査画像」とは、欠陥種の有無にかかわらず、検査対象となる画像、ここでは原画像に応じて印刷された画像をスキャナー30で読み取った画像を言う。従って、学習用に基準画像と欠陥画像との差分を取った差分画像は、必ず欠陥種を含んだものになるが、基準画像と検査画像との差分画像は、必ずしも欠陥種を含んだものになると限らず、欠陥を含んでいない場合がある。繰り返しになるが、検査画像を予め定めた特定の画像とすれば、差分画像を用いなくても欠陥種の判別は可能である。この場合は、対象画像として、検査画像をそのまま用いればよい。なお、「基準画像」は、目視可能な状態にあるものに限らず、検査画像との差分を取る際に情報処理装置20等で処理可能な状態のデータを含む。
これら各部112~118は、記憶装置120に格納されたコンピュータープログラムをプロセッサー110が実行することによって実現される。但し、これらの各部112~118をハードウェア回路で実現してもよい。本明細書のプロセッサーは、このようなハードウェア回路をも含む用語である。また、クラス判別処理を実行するプロセッサーは、ネットワークを介して情報処理装置20に接続されたリモートコンピューターに含まれるプロセッサーであってもよい。
記憶装置120には、機械学習モデル200と、教師データ(Training Data)TDと、既知特徴情報KSpと、メンテナンス情報テーブルMITと、が格納される。機械学習モデル200は、クラス判別処理部114による処理に使用される。機械学習モデル200の構成例や動作については後述する。教師データTDは、機械学習モデル200の学習に使用されるラベル付きのデータの集合である。本実施形態では、教師データTDは欠陥種に対応した差分画像の集合である。既知特徴情報KSpは、学習済みの機械学習モデル200に教師データTDを入力した際に得られる特徴スペクトルの集合である。特徴スペクトルについては後述する。メンテナンス情報テーブルMITは、印刷した画像に欠陥が検出された場合、プリンター10に対して行なうべきメンテナンスの内容を示す情報が登録されたテーブルである。メンテナンスの内容を示す情報は、表示部21に表示され、利用者に提示される。こうした情報としては、テキストのみならず、画像や動画、音声などを含んでよい。
(2)機械学習モデルの構成:
図3は、機械学習モデル200の構成を示す説明図である。この機械学習モデル200は、入力データIMが2次元配列のデータである。この機械学習モデル200は、入力データIMの側から順に、畳み込み層210と、プライマリーベクトルニューロン層220と、第1畳み込みベクトルニューロン層230と、第2畳み込みベクトルニューロン層240と、分類ベクトルニューロン層250とを備える。これらの5つの層210~250のうち、畳み込み層210が最も下位の層であり、分類ベクトルニューロン層250が最も上位の層である。以下の説明では、層210~250を、それぞれ「Conv層210」、「PrimeVN層220」、「ConvVN1層230」、「ConvVN2層240」、および「ClassVN層250」とも呼ぶ。
図3は、機械学習モデル200の構成を示す説明図である。この機械学習モデル200は、入力データIMが2次元配列のデータである。この機械学習モデル200は、入力データIMの側から順に、畳み込み層210と、プライマリーベクトルニューロン層220と、第1畳み込みベクトルニューロン層230と、第2畳み込みベクトルニューロン層240と、分類ベクトルニューロン層250とを備える。これらの5つの層210~250のうち、畳み込み層210が最も下位の層であり、分類ベクトルニューロン層250が最も上位の層である。以下の説明では、層210~250を、それぞれ「Conv層210」、「PrimeVN層220」、「ConvVN1層230」、「ConvVN2層240」、および「ClassVN層250」とも呼ぶ。
Conv層210は、スカラーニューロンで構成された層である。他の4つの層220~250は、ベクトルニューロンで構成された層である。ベクトルニューロンは、ベクトルを入出力とするニューロンである。以下では、スカラーニューロンおよびベクトルニューロンの上位概念として「ノード」という語句を使用する。
本実施形態において、入力データIMは画像データなので、2次元配列のデータである。例えば、入力データIMは、32画素×32画素の画像データである。各画素は輝度値のみを持つものとしてもよいし、RGB形式のデータを持つものとしてもよい。
図3の例では2つの畳み込みベクトルニューロン層230,240を用いているが、畳み込みベクトルニューロン層の数は任意であり、畳み込みベクトルニューロン層を省略してもよい。但し、1つ以上の畳み込みベクトルニューロン層を用いることが好ましい。図3の各層210~250の構成は、以下のように記述できる。
<各層の構成の記述>
・Conv層210:Conv[32,5,2]
・PrimeVN層220:PrimeVN[16,1,1]
・ConvVN1層230:ConvVN1[12,3,1]
・ConvVN2層240:ConvVN2[6,7,2]
・ClassVN層250:ClassVN[n1,3,1]
・ベクトル次元VD:VD=16
<各層の構成の記述>
・Conv層210:Conv[32,5,2]
・PrimeVN層220:PrimeVN[16,1,1]
・ConvVN1層230:ConvVN1[12,3,1]
・ConvVN2層240:ConvVN2[6,7,2]
・ClassVN層250:ClassVN[n1,3,1]
・ベクトル次元VD:VD=16
これらの各層210~250の記述において、括弧前の文字列はレイヤー名であり、括弧内の数字は、順に、チャンネル数、カーネルの表面サイズ、および、ストライドである。例えば、Conv層210のレイヤー名は「Conv」であり、チャンネル数は32、カーネルの表面サイズは5×5、ストライドは2である。図3では、各層の下にこれらの記述が示されている。チャンネル数は、各層におけるニューロン層の数であり、Conv層210はスカラーニューロンで構成されていることから、図3では、Kernelと記載し、他の層220~250はベクトルニューロンで構成されていることから、チャンネル数をVNと記載した。各層の中に描かれているハッチングを付した矩形は、隣接する上位層の出力ベクトルを算出する際に使用されるカーネルの表面サイズを表している。本実施形態では、入力データIMが2次元配列の画像データなので、カーネルの表面サイズも2次元である。上記の記述では、個々のベクトルニューロンの出力ベクトルの次元は16で一定である。なお、各層210~250の記述で用いたパラメーターの値は例示であり、任意に変更可能である。
図3では、Conv層210について、ノード配列の平面座標を規定する第1軸xおよび第2軸yと、奥行きを表す第3軸zとが示されている。また、Conv層210のx,y,z方向のサイズが14,14,32であることが示されている。x方向のサイズとy方向のサイズを「解像度」と呼ぶ。本実施形態では、x方向の解像度とy方向解像度は、各層において同一である。図3では、各層の上に解像度が示されている。具体的には、Conv層210では14×14、PrimeVN層220では14×14、ConvNV1層230では12×12、ConvNV2層240では3×3、ClassVN層250では1×1、である。z方向のサイズは、チャンネル数である。これらの3つの軸x,y,zは、他の層においても各ノードの位置を示す座標軸として使用する。但し、図3では、Conv層210以外の層では、これらの軸x,y,zの図示が省略されている。
よく知られているように、畳み込み後のx,y方向の解像度W1は、次式で与えられる。
W1=Ceil{(W0-Wk+1)/S} …(1)
ここで、W0は畳み込み処理の対象の解像度、Wkはカーネルの表面サイズ、Sはストライド、Ceil{X}はXを切り上げる演算を行う関数である。Conv層210を例に取ると、W0=32,Wk=5、S=2なので、
W1=Ceil{(32-5+1)/2}=14
である。図3に示した各層の解像度は、入力データIMのy方向の解像度を32とした場合の例であり、実際の各層の解像度は入力データIMのサイズに応じて適宜変更される。
W1=Ceil{(W0-Wk+1)/S} …(1)
ここで、W0は畳み込み処理の対象の解像度、Wkはカーネルの表面サイズ、Sはストライド、Ceil{X}はXを切り上げる演算を行う関数である。Conv層210を例に取ると、W0=32,Wk=5、S=2なので、
W1=Ceil{(32-5+1)/2}=14
である。図3に示した各層の解像度は、入力データIMのy方向の解像度を32とした場合の例であり、実際の各層の解像度は入力データIMのサイズに応じて適宜変更される。
ClassVN層250は、n1個のチャンネルを有している。図3の例ではn1=3である。一般に、n1は2以上の整数であり、機械学習モデル200を用いて判別可能な既知のクラスの数である。ClassVN層250の3つのチャンネルからは、8つの既知のクラス(本実施形態では欠陥種)に対する判定値Class1~Class8が出力される。通常は、これらの判定値Class1~Class8のうちで最も大きな値を有するクラスが、入力データIMのクラス判別結果として使用される。また、判定値Class1~Class8のうちで最も大きな値が予め定められた閾値未満である場合には、入力データIMのクラスが未知であるものと判定するようにしてもよい。
本開示では、後述するように、出力層であるClassVN層250の判定値Class1~Class8を使用する代わりに、特定のベクトルニューロン層の出力から算出されるクラス別類似度を使用して、判別クラス、本実施形態では、欠陥の種類(欠陥種)を決定する。
図3では、更に、各層210,220,230,240,250における部分領域Rnが描かれている。部分領域Rnの添え字「n」は、各層の符号である。例えば、部分領域R210は、Conv層210における部分領域を示す。「部分領域Rn」とは、各層において、第1軸xの位置と第2軸yとの位置で規定される平面位置(x,y)で特定され、第3軸zに沿った複数のチャンネルを含む領域である。部分領域Rnは、第1軸x、第2軸y、および第3軸zに対応する「Width」×「Height」×「Depth」の次元を有する。本実施形態では、1つの「部分領域Rn」に含まれるノードの数は「1×1×デプス数」、すなわち「1×1×チャンネル数」である。
図3に示すように、ConvVN1層230の出力から後述する特徴スペクトルSp_ConvVN1が算出されて、類似度演算部310に入力される。同様に、ConvVN2層240とClassVN層250の出力から特徴スペクトルSp_ConvVN2,Sp_ClassVNがそれぞれ算出されて類似度演算部310に入力される。類似度演算部310は、これらの特徴スペクトルSp_ConvVN1,Sp_ConvVN,Sp_ClassVNと、予め作成されていた既知特徴情報KSpとを用いて、後述するクラス別類似度Sclass_ConvVN1,Sclass_ConvVN2,Sclass_ClassVNをそれぞれ算出する。クラス決定部320は、これらのクラス別類似度Sclass_ConvVN1,Sclass_ConvVN2,Sclass_ClassVNの少なくとも一部を用いて、判別結果RDを生成する。判別結果RDは、判別クラスD_classと、判別クラスD_classに対応する類似度値S_valueとを含んでいる。
本開示において、類似度の算出に使用されるベクトルニューロン層を、「特定層」とも呼ぶ。特定層としては、1つ以上の任意の数のベクトルニューロン層を使用可能である。なお、特徴スペクトルの構成と、特徴スペクトルを用いた類似度の演算方法、および、判別クラスの決定方法については後述する。
図4は、機械学習モデルの準備工程の処理手順を示すフローチャートである。この準備工程は、例えば、プリンター10のメーカーで実行される工程である。この処理が開始されると、まず基準画像を用意する処理が行なわれる(ステップS110)。この処理は、情報処理装置20の内部で行なわれる処理ではなく、機械学習のために、必要な基準画像が選定される。
次に、この基準画像に対応する欠陥画像を取得する処理を行なう(ステップS120)。基準画像は、プリンター10により印刷される原画像であり、欠陥画像は、この基準画像をプリンター10で印刷する際に生じ得る欠陥を含んだ画像である。本実施形態では、プリンター10による印刷によって生じ得る種々の欠陥を学習するため、学習モデルを準備する際には、基準画像とこれに対応した欠陥画像が必要になる。本実施形態では、ステップS120において、欠陥が生じた画像をスキャナー30で読み込むことにより、欠陥画像を取得する。
プリンター10により生じ得る欠陥としては、例えば以下のものが想定される。
〈1〉バンディング
〈2〉ボタ落ち
〈3〉ノズル抜け
〈4〉ピンホール
〈5〉異物
〈6〉歪み
〈7〉コックリング
〈8〉色変動
〈1〉バンディング
〈2〉ボタ落ち
〈3〉ノズル抜け
〈4〉ピンホール
〈5〉異物
〈6〉歪み
〈7〉コックリング
〈8〉色変動
欠陥画像は、それぞれの欠陥を生じる同型のプリンター10とスキャナー30とを用いて、基準画像とこれに対する欠陥画像とを用意し、これを用いて取得すればよい。基準画像は、RGB形式の原画像のデータをプリンター10を用いて印刷し、これをスキャナー30で読み取ったものでもよいし、RGB形式の原画像のデータから、シミュレーションにより、印刷された画像と同等のものを生成し、これを用いてもよい。
基準画像と欠陥画像とを取得すると、ステップS110で取得した基準画像とステップS120で取得した欠陥画像に対して、前処理を行なう(ステップS130)。ここで前処理とは以下の処理のうちの少なくとも一つを言うが、本実施形態では全ての処理を行なった。
(A)レベル補正:基準画像と欠陥画像との明度や色相、彩度などのレベルを合わせる補正である。もともと両者は全体として同じ画像であるが、スキャナー30を用いて読み取るため、レベルを合わせる必要が生じる場合がある。
(B)幾何補正:基準画像と欠陥画像とを幾何学的に同一の形状とする補正である。両画像の倍率を調整したり、歪みを修整したりする補正を行なう。
(C)位置合わせ:プリンター10で印刷する際の用紙の搬送方向の曲がりやスキャナー30による読み取り角度などにより、基準画像と欠陥画像の位置がずれる場合がある。これを補正するために、画像の並進補正、回転補正などにより、両画像の位置を一致させる。
(A)レベル補正:基準画像と欠陥画像との明度や色相、彩度などのレベルを合わせる補正である。もともと両者は全体として同じ画像であるが、スキャナー30を用いて読み取るため、レベルを合わせる必要が生じる場合がある。
(B)幾何補正:基準画像と欠陥画像とを幾何学的に同一の形状とする補正である。両画像の倍率を調整したり、歪みを修整したりする補正を行なう。
(C)位置合わせ:プリンター10で印刷する際の用紙の搬送方向の曲がりやスキャナー30による読み取り角度などにより、基準画像と欠陥画像の位置がずれる場合がある。これを補正するために、画像の並進補正、回転補正などにより、両画像の位置を一致させる。
こうした前処理(ステップS130)を行なった後、基準画像と欠陥画像との差分画像を、差分画像生成部118を用いて生成し、教師データとして用意する(ステップS140)。上記ステップS110~S140の処理を別途行ない、欠陥種に対応した差分画像を予め用意しておいても差し支えない。この差分画像は、クラス判別処理部114が行なう学習において用いられる学習データTDである。
クラス判別処理部114は、こうして準備された複数の教師データTDを用いた機械学習を行ない、機械学習モデル200を生成・更新する(ステップS150)。個々の教師データTDには、予めラベルが付与されている。本実施形態では、上述した欠陥〈1〉から〈8〉に対応したラベルが、個々の教師データTDに付与されているものと仮定する。これらのラベルは、機械学習モデル200の8つのクラスClass1~Class8に対応している。本開示において、「ラベル」と「クラス」は同じものを意味する。
複数の教師データTDを用いた学習が終了すると、学習済みの機械学習モデル200が記憶装置120に保存される。機械学習モデル200の学習が完了すると、次に、図4のステップS160で、学習済みの機械学習モデル200に複数の教師データTDを再度入力して、既知特徴情報KSpを生成する処理を行なう。生成された既知特徴情報KSp は、記憶装置120に保存される。既知特徴情報KSpは、以下で説明する特徴スペクトルの集合である。
(3)既知特徴情報の生成:
図5は、学習済みの機械学習モデル200に任意の入力データを入力することによって得られる特徴スペクトルSpを示す説明図である。ここでは、ConvVN1層230の出力から得られる特徴スペクトルSpについて説明する。図5の横軸は、ConvVN1層230の1つの部分領域R230に含まれる複数のノードの出力ベクトルに関するベクトル要素の位置である。このベクトル要素の位置は、各ノードにおける出力ベクトルの要素番号NDと、チャンネル番号NCとの組み合わせで表される。本実施形態では、ベクトル次元が16なので、出力ベクトルの要素番号NDは0から15までの16個である。また、ConvVN1層230のチャンネル数は12なので、チャンネル番号NCは0から11までの12個である。換言すれば、この特徴スペクトルSpは、1つの部分領域R230に含まれる各ベクトルニューロンの出力ベクトルの複数の要素値を、第3軸zに沿った複数のチャンネルに亘って配列したものである。
図5は、学習済みの機械学習モデル200に任意の入力データを入力することによって得られる特徴スペクトルSpを示す説明図である。ここでは、ConvVN1層230の出力から得られる特徴スペクトルSpについて説明する。図5の横軸は、ConvVN1層230の1つの部分領域R230に含まれる複数のノードの出力ベクトルに関するベクトル要素の位置である。このベクトル要素の位置は、各ノードにおける出力ベクトルの要素番号NDと、チャンネル番号NCとの組み合わせで表される。本実施形態では、ベクトル次元が16なので、出力ベクトルの要素番号NDは0から15までの16個である。また、ConvVN1層230のチャンネル数は12なので、チャンネル番号NCは0から11までの12個である。換言すれば、この特徴スペクトルSpは、1つの部分領域R230に含まれる各ベクトルニューロンの出力ベクトルの複数の要素値を、第3軸zに沿った複数のチャンネルに亘って配列したものである。
図5の縦軸は、各スペクトル位置での特徴値CVを示す。この例では、特徴値CVは、出力ベクトルの各要素の値VNDである。なお、特徴値CVとしては、出力ベクトルの各要素の値VNDと、正規化係数とを乗算した値を使用してもよく、或いは、正規化係数をそのまま使用してもよい。後者の場合には、特徴スペクトルSpに含まれる特徴値CVの数はチャンネル数に等しく、12個である。なお、正規化係数は、そのノードの出力ベクトルのベクトル長さに相当する値である。
1つの入力データに対してConvVN1層230の出力から得られる特徴スペクトルSpの数は、ConvVN1層230の平面位置(x,y)の数、すなわち、部分領域R230の数に等しいので、12×12個(144個)である。同様に、1つの入力データに対して、ConvVN2層240の出力から3×3個(9個)の特徴スペクトルSpが得られ、ClassVN層250の出力から1個の特徴スペクトルSpが得られる。
類似度演算部310は、学習済みの機械学習モデル200に教師データTDが再度入力されたときに、図5に示した特徴スペクトルSpを算出したのと同様の手法で特徴スペクトルを求める。この特徴スペクトルは、実際に欠陥種の検出と判別を行なう際に求められる特徴スペクトルとは異なり、予め用意されるものなので、両者を区別するために、以下、既知特徴情報と呼ぶ。
図6は、教師データTDを用いて既知特徴情報KSpを作成する様子を示す説明図である。この例では、ラベルが1~8である教師データTDを、学習済みの機械学習モデル200に入力することによって、3つのベクトルニューロン層、すなわち、ConvVN1層230とConvVN2層240とClassVN層250の出力から、それぞれのラベルまたはクラスに対応付けられた既知特徴KSp_ConvVN1,KSp_ConvVN2,KSp_ClassVNが得られる。これらの既知特徴情報KSp_ConvVN1,KSp_ConvVN2,KSp_ClassVNが、既知特徴情報KSpとして記憶装置120に格納される。
図7は、既知特徴情報KSpの構成を示す説明図である。この例では、ConvVN1層230の出力から得られた既知特徴情報KSp_ConvVN1が示されている。ConvVN2層240の出力から得られた既知特徴情報KSp_ConvVN2と、ClassVN層250の出力から得られた既知特徴情報KSp_ClassVNも同様の構成を有しているが、図7では図示が省略されている。なお、既知特徴情報KSpとしては、すくなくとも1つのベクトルニューロン層の出力から得られたものが登録されていればよい。
既知特徴情報KSp_ConvVN1の個々のレコードは、ラベルまたはクラスの順序を示すパラメーターiと、特定層の順序を示すパラメーターjと、部分領域Rnの順序を示すパラメーターkと、データ番号を示すパラメーターqと、既知特徴情報成分とを含んでいる。既知特徴情報成分は、各ラベルまたはクラスに対応した既知特徴情報KSp_ConvVN1の部分領域k毎のデータ番号qに対応した成分である。
クラスのパラメーターiは、ラベルと同じ1~8の値を取る。特定層のパラメーターjは、3つの特定層230,240,250のいずれであるかを示す1~3の値を取る。部分領域Rnのパラメーターkは、個々の特定層に含まれる複数の部分領域Rnのいずれであるか、すなわち、平面位置(x,y)のいずれであるかを示す値を取る。ConvVN1層230については部分領域R230の数が144個なので、k=1~144である。データ番号のパラメーターqは、同じラベルが付された教師データの番号を示しており、クラス1については1~max1,クラス2については1~max2、・・・クラス8については1~max8の値を取る。
なお、ステップS120で使用される複数の教師データTDは、ステップS110で使用された複数の教師データTDと同じものである必要は無い。但し、ステップS120においても、ステップS110で使用された複数の教師データTDの一部または全部を利用すれば、新たな教師データを準備する必要が無いという利点がある。
(4)欠陥種の判別処理:
以上説明した準備を行なった上で、印刷媒体Pに印刷された画像に生じ得る欠陥種を判別する処理を行なう。図8は、学習済みの機械学習モデルを用いた印刷画像欠陥種判別処理ルーチンを示すフローチャートである。この処理ルーチンは、情報処理装置20のプロセッサー110の処理を中心として示したが、一部、プリンター10を使用する利用者による処理として行なうことが可能である。処理が利用者によって行なわれてもよい場合には、その都度説明する。
以上説明した準備を行なった上で、印刷媒体Pに印刷された画像に生じ得る欠陥種を判別する処理を行なう。図8は、学習済みの機械学習モデルを用いた印刷画像欠陥種判別処理ルーチンを示すフローチャートである。この処理ルーチンは、情報処理装置20のプロセッサー110の処理を中心として示したが、一部、プリンター10を使用する利用者による処理として行なうことが可能である。処理が利用者によって行なわれてもよい場合には、その都度説明する。
図8に示した処理は、プリンター10によって所望の画像が印刷されると開始される。この処理が開始されると、まず印刷された画像をスキャナー30を用いて検査画像として読み取る処理を行なう(ステップS410)。この読み取り処理は、印刷媒体Pに画像を印刷する度に毎回行なってもよいし、利用者が特定のタイミングで行なうようにしてもよい。
続いて、基準画像を取得する処理を行なう(ステップS420)。基準画像は、既に説明した様に、印刷しようとするRGB形式の原画像のデータを、整備済みのプリンター、つまり欠陥画像を生じないことが補償されたプリンターを用いて印刷し、これをスキャナー30で読み取ったものでもよいし、RGB形式の原画像のデータから、シミュレーションにより、印刷された画像と同等のものを生成したものでもよい。この作業は、印刷前に予め行なわれ、基準画像として、用意されている。
次に、検査画像と基準画像とに対して前処理を行なう(ステップS430)。この処理は、図4に示した準備工程のステップS130の処理と同様の処理である。前処理により、検査画像と基準画像との位置や大きさ、回転角度、画像の明度等のレベルなど一致させた上で、差分画像を生成する処理を行なう(ステップS435)。こうした得られた差分画像が、以下で説明する欠陥種の判別を行なうための被判別データとなる。前処理は、自動的に行なってもよいし、利用者が個別に行なってもよい。
差分画像、つまり被判別データを生成すると、次に、クラス判別処理部114により、学習済みの機械学習モデル200に被判別データを入力して、特徴スペクトルSpを算出する処理を行なう(ステップS440)。得られた特徴スペクトルSpと、既述した図4のステップS160で生成され保存された既知特徴情報KSpとを用いて、類似度演算部310により、クラス別類似度を算出する(ステップS450)。
クラス別類似度の算出手法について説明する。図9は、被判別データに関するクラス別類似度を求める様子を示す説明図である。被判別データが機械学習モデル200に入力されると、クラス判別処理部114が、ConvVN1層230とConvVN2層240とClassVN層250の出力から、特徴スペクトルSp_ConvVN1,Sp_ConvVN2,Sp_ClassVNをそれぞれ算出する。この特徴スペクトルを受けて、類似度演算部310は、各特定層のクラス別類似度を算出する。具体的には、ConvVN1層230の出力から得られた特徴スペクトルSp_ConvVN1と、既知特徴情報KSp_ConvVN1とを用いてクラス別類似度Sclass_ConvVN1を算出し、ConvVN2層240の出力から得られた特徴スペクトルSp_ConvVN2と、既知特徴情報KSp_ConvVN2とを用いてクラス別類似度Sclass_ConvVN2を算出し、ClassVN層250の出力から得られた特徴スペクトルSp_ClassVNと、既知特徴情報KSp_ClassVNとを用いてクラス別類似度Sclass_SclassVNを算出する。図では、ConvVN1層230についてのみ、既知特徴情報を描いたが、ConvVN2層240とClassVN層250についても、同様の手法でクラス別類似度が演算される。
3つのベクトルニューロン層230,240,250をそれぞれ用いてクラス別類似度Sclass_ConvVN1,Sclass_ConvVN2,Sclass_ClassVNをすべて生成する必要はないが、これらのうちの1つ以上のベクトルニューロン層を用いてクラス別類似度を算出することが好ましい。前述したように、本開示において、類似度の算出に使用されるベクトルニューロン層を、「特定層」と呼ぶ。以下に説明するように、本実施形態では、3つのベクトルニューロン層230,240,250からの出力を用いてクラス別類似度Sclass_ConvVN1,Sclass_ConvVN2,Sclass_ClassVNをすべて生成し、これら複数のクラス別類似度を用いて、クラスの判別を行なう。もとより、3つのベクトルニューロン層230,240,250からの出力のいずれか一つ、または2つを用いてクラス別類似度Sclass_ConvVN1,Sclass_ConvVN2,Sclass_ClassVNのいずれか一つ、または2つを求め、欠陥種を判別するようにしてもよい。
こうしたクラス別類似度の演算方法の一例を、以下に説明する。本実施形態では、以下に説明するように、部分領域Rnを全く考慮せずにクラス別類似度を求めるが、こうした方法の他、
・特徴スペクトルSpと既知特徴情報KSpにおける部分領域Rnの対応を考慮せずにクラス別類似度を求める算方法、
・特徴スペクトルSpと既知特徴情報KSpの対応する部分領域Rn同士でクラス別類似度を求める演算方法、
なども知られている。
・特徴スペクトルSpと既知特徴情報KSpにおける部分領域Rnの対応を考慮せずにクラス別類似度を求める算方法、
・特徴スペクトルSpと既知特徴情報KSpの対応する部分領域Rn同士でクラス別類似度を求める演算方法、
なども知られている。
クラス別類似度の演算方法では、
(1)被判別データに応じて特定層jの出力から得られるすべての特徴スペクトルSpと、その特定層jおよび各クラスiに関連付けられたすべての既知特徴情報KSpとの類似度であるクラス別類似度Sclass(i,j)をクラス毎にそれぞれ求め、
(2)クラスi毎に、複数のクラス別類似度Sclass(i,j)の最大値を、特徴スペクトルSpと既知特徴情報KSpとの類似度値S_valueとして求め、
(3)複数のクラスiに亘って最大となる類似度値S_valueに対応付けられたクラスを判別クラスD_classとして決定する。
(1)被判別データに応じて特定層jの出力から得られるすべての特徴スペクトルSpと、その特定層jおよび各クラスiに関連付けられたすべての既知特徴情報KSpとの類似度であるクラス別類似度Sclass(i,j)をクラス毎にそれぞれ求め、
(2)クラスi毎に、複数のクラス別類似度Sclass(i,j)の最大値を、特徴スペクトルSpと既知特徴情報KSpとの類似度値S_valueとして求め、
(3)複数のクラスiに亘って最大となる類似度値S_valueに対応付けられたクラスを判別クラスD_classとして決定する。
図10は、本実施形態におけるクラス別類似度の演算方法を示す説明図である。この演算方法では、局所類似度を考慮せず、特定層であるConvVN1層230とConvVN2層240とClassVN層250との出力から、そのぞれのクラス別類似度Sclass(i,j)が算出される。
この演算方法で得られるクラス別類似度Sclass(i,j)は、次式を用いて算出される。
Sclass(i,j)=max[G{Sp(j,k=all), KSp(i,j,k=all,q=all)}] …(2)
ここで、
Sp(j,k=all)は、被判別データに応じて、特定層jのすべての部分領域kの出力から得られる特徴スペクトルである。また、関数max[]は、[]内の要素の最大値を求める関数である。
Sclass(i,j)=max[G{Sp(j,k=all), KSp(i,j,k=all,q=all)}] …(2)
ここで、
Sp(j,k=all)は、被判別データに応じて、特定層jのすべての部分領域kの出力から得られる特徴スペクトルである。また、関数max[]は、[]内の要素の最大値を求める関数である。
図10の例では、更に、クラス別類似度Sclass(i,j)から、最終的な判別結果RD_ConvVN1 が決定される。判別結果RD_ConvVN1は、判別クラスD_classと、判別クラスD_classに対応する類似度値S_valueとを含む形式で表すことができる。類似度値S_valueは、クラス別類似度Sclass(i,j)における8つのクラス1~8に対する類似度値のうちの最大値を取ることによって得られる。判別クラスD_classは、クラス別類似度Sclass(i,j)において類似度値が最大となるクラスである。図示するように、j=1、つまりベクトルニューロン層230においては、クラス3のクラス別類似度Sclass(3,1)が値0.95であって、全クラスの中で最大値なので、最終的な判別結果RD_ConvVN1 は、
RD_ConvVN1(D_class,S_value)=(3,0.95)
となる。ConvVN2層240とClassVN層250についても、同様にしてクラス別類似度Sclass_ConvVN2,Sclass_ClassVNが算出され、各層毎に最終的判別結果RD_ConvVN2 ,RD_ClassVN が決定される。
RD_ConvVN1(D_class,S_value)=(3,0.95)
となる。ConvVN2層240とClassVN層250についても、同様にしてクラス別類似度Sclass_ConvVN2,Sclass_ClassVNが算出され、各層毎に最終的判別結果RD_ConvVN2 ,RD_ClassVN が決定される。
こうして3つのベクトルニューロン層230,240,250からの出力を用いてクラス別類似度Sclass_ConvVN1,Sclass_ConvVN2,Sclass_ClassVN、延いては最終的な判別結果、RD_ConvVN1,RD_ConvVN2 ,RD_ClassVN を求めた上で、次に、図12に示すように、これら3つのベクトルニューロン層230,240,250からの出力に基づく最終的判別結果から最頻クラスを求める。この例では、3つのベクトルニューロン層230~250のうち、ベクトルニューロン層230,240の出力がクラス3なので、最終的判別結果は、クラス3となる。
ステップS460では、クラス決定部320が、ステップS450で得られたクラス別類似度に応じて、検査画像と基準画像とから得られた差分画像のクラス、すなわち、印刷された画像に存在する欠陥種の種類を判別する。欠陥種判別結果には、既述したように、
〈1〉バンディング
〈2〉ボタ落ち
〈3〉ノズル抜け
〈4〉ピンホール
〈5〉異物
〈6〉歪み
〈7〉コックリング
〈8〉色変動
の8つの欠陥種が学習されている。ここでは、それぞれの番号が判別されるクラスに対応している。なお、こうした欠陥種の特定に加えて、いずれの欠陥種も特定されなかったという出力を設けてもよい。つまり、欠陥種の判別結果において、いずれの欠陥種も特定できず、未知の欠陥の存在も特定できなかった場合には、これを「欠陥種特定なし」というクラスとする。従って、欠陥種の判別に関するクラスは、最終的に全部で9個として、
〈0〉欠陥種特定なし
というクラスが存在するものとして扱ってもよい。なお、この「欠陥種特定なし」というクラスは、機械学習モデル200の出力として用意してもよいし、欠陥種に対応する各出力(この例では8個)が一つも所定の類似度以上とならない場合、出力されるクラスとして用意しても良い。
〈1〉バンディング
〈2〉ボタ落ち
〈3〉ノズル抜け
〈4〉ピンホール
〈5〉異物
〈6〉歪み
〈7〉コックリング
〈8〉色変動
の8つの欠陥種が学習されている。ここでは、それぞれの番号が判別されるクラスに対応している。なお、こうした欠陥種の特定に加えて、いずれの欠陥種も特定されなかったという出力を設けてもよい。つまり、欠陥種の判別結果において、いずれの欠陥種も特定できず、未知の欠陥の存在も特定できなかった場合には、これを「欠陥種特定なし」というクラスとする。従って、欠陥種の判別に関するクラスは、最終的に全部で9個として、
〈0〉欠陥種特定なし
というクラスが存在するものとして扱ってもよい。なお、この「欠陥種特定なし」というクラスは、機械学習モデル200の出力として用意してもよいし、欠陥種に対応する各出力(この例では8個)が一つも所定の類似度以上とならない場合、出力されるクラスとして用意しても良い。
こうした欠陥種の判別を行なった後、印刷された画像に欠陥があったか否かの判断を行なう(ステップS470)。欠陥がないと判断された場合には(ステップS470:「NO」)、本実施形態では、そのまま「END」に抜けて、本処理ルーチンを終了するものとしたが、欠陥がないという判断が正しいか、利用者の判断を受け付けて、判断が誤っている場合には、後述する追加学習を行なうようにしてもよい。
何らか欠陥種が見い出された場合には(ステップS470:「YES」)、印刷された検査画像において見い出された欠陥種を、表示部21に表示する処理を行なう(ステップS480)。図12にこうした欠陥種の表示の一例を示した。図示されているのは、ノズル抜けと判別された欠陥種の例である。この場合、欠陥種の表示は、対応する差分画像211により行なわれる。つまり、表示部21には、ステップS435で生成された差分画像211と欠陥種の判別結果、ここでは「ノズル抜け」のテキスト212とが表示される。なお、表示部21には、この表示結果を受け入れることを示す承認ボタン215と、表示された画像の欠陥種は既知のものではないとして、新たな欠陥種の追加学習を行なうよう指示する追加学習ボタン216と、追加学習の際に新たな欠陥種を示すラベルとして用いる欠陥名を入力するフィールド216aと、表示結果を踏まえて既知の欠陥種の判別を強化する強化学習を行なうよう指示する強化学習ボタン217と、ポップアップ形式で既存のラベルを選択するフィールド217aも表示される。また、欠陥が見い出されたが欠陥種の特定ができなかった場合、受け入れる欠陥種が不明なため、承認ボタン215を操作できない無効な状態としてもよい。
この選択ボタンのいずれが操作されたかを判別し(ステップS490)、利用者が、表示部21に表示された差分画像211と判別結果212とを見て、欠陥種として正しい判断であるとして、承認ボタン215を操作した場合は、メンテナンス処理を実行する(ステップS500)。メンテナンス処理は、判別された欠陥種に対応するメンテナンス方法を、記憶装置120に記憶されたメンテナンス情報テーブルMITから呼び出し、表示部21に表示する。メンテナンス処理の表示例を、図13に示した。この例では、ノズル抜けに対するメンテナンス方法が、テキスト330と画像335とで表示されている。メンテナンス処理の内容は、必要に応じて音声ガイドや動画、あるいはヘッドマウントディスプレイによるAR表示などにより利用者に提示するものとしてもよい。この例では、利用者が、メンテナンス処理の内容を理解し、クリーニングの実行を指示するクリーニングボタン337を操作してプリンター10によるクリーニング動作を行なわせ、その結果を見て、欠陥が解消したと判断して、利用者が表示部21に表示された終了ボタン338を操作すれば、メンテナンス処理の表示を終了し、「END」に抜けて、本処理ルーチンを終了する。
他方、ステップS490の判断で、利用者が追加学習ボタン216を操作した場合は、追加学習を実行し(ステップS510)、利用者が強化学習ボタン217を操作した場合は、強化学習を実行する(ステップS520)。追加学習ボタン216が操作された場合、つまり機械学習モデル200による欠陥種の判別結果が未知の欠陥となり、検出された欠陥は既知種の欠陥と異なると利用者が判断した場合は、利用者が新たなラベル(欠陥名)をフィールド216aに入力したのを受けて、追加学習が行なわれる。また、既知の欠陥種と判別されたが、検出された欠陥は既知の欠陥種とは異なると利用者が判断した場合にも、追加学習を選択可能である。他方、強化学習ボタン217が操作された場合は、検出された欠陥種は既知のものだが、機械学習モデル200による欠陥種の判別結果は誤っていると利用者が判断したので、差分画像211に正しいラベルを付与して、強化学習が行なわれる。この場合の正しいラベル(学習する欠陥名)は、フィールド217aにポップアップ形式で表示される既存のラベルから選択する。
追加学習と強化学習の手法を、機械学習モデルの構築の手法と併せて、図14に模式的に示した。同図欄(A)は、図4に示した機械学習の手法を模式的に示す。既に説明した様に、教師付きの機械学習では、欠陥種を示すラベルが付与された差分画像を用意し、これを図3に示した学習モデル200に学習させることで、学習済みの学習モデルAが得られる。図において、破線で描いた学習モデルは学習前のモデルを示し、実線で描いた学習モデルは学習済みのモデルAを示す。
類似度演算部310とクラス決定部320とを備えた判別器114は、この学習モデルAを用いて、差分画像のクラス(欠陥種)を判別可能である。この場合の判別の様子を、図15の欄(A)に示した。学習済みの学習モデルAを用いて欠陥種を判別する仕組みを判別器1と呼ぶ。判別器1は、学習モデルAを用いて、印刷された印刷媒体Pから得られた新たな差分画像のクラス(欠陥種)を決定する。
図14欄(B)は、追加学習が行なわれる様子を模式的に示している。まず、欄(B)の上段に示したように、印刷媒体Pに印刷された画像を読み取って、読み取った検査画像と基準画像との差分画像に対して、学習モデルAを用いて、検査画像に存在する欠陥種を判別する。判別の結果、未知の欠陥種であると利用者が判断した場合は、新しいラベルと追加学習用の差分画像とを用いて、同図欄(B)の下段に示した様に、教師付きの機械学習を再度行なう。このとき用いられるのは学習前のモデルである。追加学習の結果、新たな学習モデルBが得られる。
こうした追加学習に用いられる差分画像は、元の差分画像を用いて、所定の操作を行なうことで、複数枚の差分画像を生成し、これを用いる。複数枚の差分画像を生成する方法については後で詳しく説明する。生成された複数の差分画像に判別用の新たなラベルを付し、教師付きの機械学習を再度行なうことで、追加学習済みの学習モデルBを得る。この学習モデルBを用いた判別の様子を、図15の欄(B)に示した。学習済みの学習モデルBは、追加学習された新たな欠陥を判別するものなので、これを含めて判別を行なう判別器2は、最初に学習された学習モデルAと追加学習された学習モデルBとを用いて、印刷された印刷媒体Pから得られた差分画像のクラス(欠陥種)を決定する。
図14欄(C)は、強化学習が行なわれる様子を模式的に示している。まず、同図欄(C)の上段に示したように、印刷媒体Pに印刷された画像を読み取って、読み取った検査画像と基準画像との差分画像に対して、学習モデルAを用いて、検査画像に存在する欠陥種を判別する。判別の結果、欠陥種の判別が正しくないと利用者が判断し、かつ図12に示した強化学習ボタン217を押した場合は、利用者が該当する欠陥種であるとして指定したラベルと強化学習用の差分画像とを用いて、同図欄(C)の下段に示した様に、教師付きの機械学習を再度行なう。このとき、学習済みの学習モデルAを基に、学習時の差分画像と、強化学習用の差分画像と、を用いて機械学習を行なう。強化学習の結果、学習モデルAは、そのラベルの画像の判別の能力が強化された学習モデルA1となる。なお、最初に学習モデルAを用いて行なった判別の結果、正しい欠陥種が表示されていた場合に、強化学習を行なっても差し支えない。強化学習に用いられる差分画像は、検査用の差分画像に対して1または複数の操作を行なうことで得られる。複数の差分画像を生成する操作は、追加学習用の差分画像と同様に後述する手法で生成される。
こうして得られた複数の差分画像に判別用のラベルを付して、教師付きの機械学習を行なうことで、強化学習済みの学習モデルA1を得る。この学習モデルA1を用いた判別の様子を、図15の欄(C)に示した。強化学習済みの学習モデルA1は、学習済みの学習モデルAの既知の欠陥を判別する機能を強化したものなので、判別を行なう判別器3は、学習済みのモデルA1のみを用いて、印刷された印刷媒体Pから得られた差分画像のクラス(欠陥種)を決定する。
追加学習および強化学習の際に用いられる複数の差分画像の生成方法について説明する。図16は、再学習用差分画像を生成する処理ルーチンを示すフローチャートである。この処理ルーチンは、利用者が、図12の追加学習ボタン216または強化学習ボタン217を押した場合に起動され、情報処理装置20により実行される。処理が開始されると、まず再学習に用いる差分画像を特定する(ステップS610)。この場合は、欠陥種の判別が正しくできなかった際の差分画像が特定される。用意される。教師付きの機械学習を行なう際には、ラベルが付与された差分画像を複数用意することが望ましいが、この時点で用意できる差分画像は、検査に用いた検査画像と基準画像との差分画像しか存在しないからである。
次に、説明性情報を生成する(ステップS620)。説明性情報とは、与えられた検査画像と基準画像との差分情報に対して、学習モデル200の各ベクトルニューロン層230,240,250が出力する特徴スペクトルから、画像のどの部分に対して、どのような判定を行なったかを示す情報である。本実施形態では差分画像に対して、最終的なクラスの判別を、ClassVN層250の出力により得ているのではなく、ベクトルニューロン層230~250の出力する特徴スペクトルに基づいて行なっている。このため、欠陥種のそれぞれに対して、差分画像のどの部分に対してどのような判断を行なっていたかを知ることができる。これが説明性情報である。
こうした説明性情報を用いて、差分画像を生成する際に用いる学習用情報を取得する処理の一つを、図17欄(A)に示した。学習モデルAを用いた欠陥種の判別が行なわれた際の差分画像DIGに対して、各種の欠陥種との類似度がどの程度であったかは、学習モデルAの各ベクトルニューロン層230~250の特徴スペクトルから知ることができる。同図欄(B)には、「ノズル抜け」と「コックリング」と「異物」という欠陥種に関して、差分画像のどの領域にどの程度の類似度があったかを、それぞれの画像NRG、KKG、EXGに例示した。各図では、検査画像と基準画像とが一致していない領域をハイライトの領域として示している。ノズル抜けの欠陥に対応した画像NRGでは、ノズル抜けの欠陥種と類似度の高い特徴スペクトルを示した部分が高いハイライトで示されており、類似度は低い。他方、コックリングの欠陥に対応した画像KKGでは、コックリングの欠陥種と類似度の高い特徴スペクトルを示した部分が低いハイライトで示されており、類似度は高い。異物の欠陥に対応した画像EXGでは、異物の欠陥種と類似度の高い特徴スペクトルを示した部分にはムラがあり、一部が低いハイライトで示されており、その部分の類似度は高い。
そこで、同図欄(C)に、画像MSGとして示したように、これらを合わせたものを学習用説明情報として生成する。もとより説明性情報は画像そのものではないので、画像MSGは、説明性情報が、差分画像の領域毎に所定の値(濃度)を持ったものとして生成されることを模式的に示したものである。
学習用説明性情報を生成する第2の手法を、図18に示した。この例では、表示部21に表示された欠陥種を判別した差分画像DIGを見ながら、利用者が、カーソルHNDを操作して、説明性情報DGGを直接描画する。表示部21がタッチパネルを備えていれば、カーソルに代えて、直接画面をなぞって説明性情報の範囲を示しても良い。描画の速度を変えることで、濃度を変更し、例えばゆっくり描画したところを濃く表示し、差分画像のその部分を強調する様にしても良い。
こうした手法によって学習用説明性情報が生成されると(ステップS620)、これを用いて、再学習に用いる差分画像を強調する処理を行なう(ステップS630)。具体的には、画像MSGのハイライト部分の濃さに応じて、差分画像の対応する領域を強調するのである。強調は差分画像の明度を、協調性情報の濃度に応じて割り増すことにより行なう。
次に、強調済みの差分画像に対して、これを補正して、複数枚の画像を生成する補正操作実行する(ステップS640)。この補正操作は、検査に用いた差分画像に対して、複数の操作を行なって、複数の再学習用の差分画像を生成するものである。こうした操作としては、例えば
操作1:差分画像を、所定角度、例えば90度ずつ回転してそれぞれの回転画像を得る操作、
操作2:差分画像を所定の距離、例えば画像の幅の1/4だけ平行移動して、それぞれの移動画像を得る操作、
操作3:差分画像を裏返して、反転画像を得る操作、
などを挙げることができる。これら全ての操作を行なう必要はないが、操作1~3を順に行なえば、元の差分画像、3種類の回転画像、これらの横方向への移動画像(4×3枚)、更にそれらの縦方向の移動画像(16×3枚)、それらの反転画像(64枚)が得られる。こうした手法を用いて、複数枚の追加学習用差分画像を生成する。なお、複数の操作の選択や組み合わせ、操作前後関係等は任意である。補正処理により学習用の差分画像を増やせば、一般に、学習による判別結果の精度を高めることができる。
操作1:差分画像を、所定角度、例えば90度ずつ回転してそれぞれの回転画像を得る操作、
操作2:差分画像を所定の距離、例えば画像の幅の1/4だけ平行移動して、それぞれの移動画像を得る操作、
操作3:差分画像を裏返して、反転画像を得る操作、
などを挙げることができる。これら全ての操作を行なう必要はないが、操作1~3を順に行なえば、元の差分画像、3種類の回転画像、これらの横方向への移動画像(4×3枚)、更にそれらの縦方向の移動画像(16×3枚)、それらの反転画像(64枚)が得られる。こうした手法を用いて、複数枚の追加学習用差分画像を生成する。なお、複数の操作の選択や組み合わせ、操作前後関係等は任意である。補正処理により学習用の差分画像を増やせば、一般に、学習による判別結果の精度を高めることができる。
こうして得られた複数の差分画像を、再学習用の差分画像として提供し(ステップS650)、「END」に抜けて、本処理ルーチンを終了する。複数の差分情報の提供を受けて、図14の欄(B)(C)に示したように、追加学習または強化学習が行なわれ、新たな学習モデルBまたは既存の学習モデルAを強化した学習モデルA1が得られる。
以上説明した第1実施形態の判別システム100によれば、欠陥種が含まれる画像と含まない基準画像との複数の差分画像を教師データとして学習することで、プリンター10によって印刷された画像に含まれる欠陥種を判別する学習モデルを構築し、これにより印刷された画像に含まれ得る欠陥種を精度良く判別することができる。しかも、判別システム100が印刷された画像に存在する欠陥種を既知の欠陥種として正しく判別できなかった場合には、再度機械学習を行なうことで、判別の精度を高めて行くことができ、また未知の欠陥種の学習を行なわせれば、判別できる欠陥種の種類を順次増やして行くことができる。
更に本実施形態では、クラスの判別にベクトルニューロン層である特定層230~250により出力される特徴スペクトルと予め記憶装置120に保存した既知特徴情報とを用いて、類似度を判別しているので、類似度に基づくクラスの判別を精度良く行なえる上、仮にクラスの判別ができない未知の欠陥種が見い出されたり、欠陥種の誤った判別がなされたりした場合の再学習において、各特定層230~250から得られる説明性情報を用いて、学習に用いる差分情報を強調し、再学習の効率を高めることができる。
B.第2実施形態:
次に第2実施形態の判別システム100ついて説明する。第2実施形態の判別システム100は、印刷された画像の欠陥種を判別する学習モデル200が、一つのモデルで複数の欠陥種を判別するのではなく、欠陥種毎に用意された学習モデルを用いる点で、第1実施形態と異なる。図19は、第2実施形態において、学習モデル200の教師付き機械学習を行なう様子を示す説明図である。第2実施形態では、印刷される画像の欠陥種を8種類として、各欠陥種に学習用の差分画像1~8を、欠陥種の種類を示すラベル1~8と共に準備する。学習を行なう学習モデル200としては、第1実施形態の図3に示した学習モデルと同様のものを用いるが、ClassVN層250のチャンネルが1個(n1=1)である点で相違する。第2実施形態では、第1実施形態とは異なり、欠陥種毎に学習モデル200を準備し、学習モデル200毎に、図4に示した準備処理を行なう。この結果、図19に示すように、8種類の欠陥種に対して、8種類の学習モデル1~8が学習される。
次に第2実施形態の判別システム100ついて説明する。第2実施形態の判別システム100は、印刷された画像の欠陥種を判別する学習モデル200が、一つのモデルで複数の欠陥種を判別するのではなく、欠陥種毎に用意された学習モデルを用いる点で、第1実施形態と異なる。図19は、第2実施形態において、学習モデル200の教師付き機械学習を行なう様子を示す説明図である。第2実施形態では、印刷される画像の欠陥種を8種類として、各欠陥種に学習用の差分画像1~8を、欠陥種の種類を示すラベル1~8と共に準備する。学習を行なう学習モデル200としては、第1実施形態の図3に示した学習モデルと同様のものを用いるが、ClassVN層250のチャンネルが1個(n1=1)である点で相違する。第2実施形態では、第1実施形態とは異なり、欠陥種毎に学習モデル200を準備し、学習モデル200毎に、図4に示した準備処理を行なう。この結果、図19に示すように、8種類の欠陥種に対して、8種類の学習モデル1~8が学習される。
その上で、これらの学習モデル1~8を集約して、図20に示したように、判別器を構成する。印刷媒体Pに印刷された画像から生成された検査用の差分画像が、判別器に入力されると、差分画像は全ての学習済みの学習モデル1~8に入力され、それぞれの学習モデル1~8が、3つのベクトルニューロン層230,240,250が出力する類似度Sclass_ConvVN1,Sclass_ConvVN2,Sclass_ClassVNのいずれか一つを、その学習モデル1~8が学習した欠陥種の類似度として出力する。判別器には、出力部300が設けられており、8個の学習モデル1~8の出力を入力し、最も類似度の高い値を出力した学習モデルが判別した欠陥種を、印刷された画像に存在する欠陥種として出力する。
出力部300は、学習モデル1~8が出力する各欠陥種の類似度が、いずれも予め定めた閾値ThSを上回らない場合は、検査画像には、欠陥はないとして、「欠陥なし」を出力する。また、判別器が出力した欠陥種の判別結果が誤っており、検出した欠陥が新たな欠陥であると利用者が判断した場合は、第1実施形態と同様、追加学習を行ない、新たな学習モデル9を追加学習により形成し、これを判別器に加え、その出力を出力部300に接続する。こうすれば、新たな欠陥種にも第1実施形態と同様、対応できる。また、第1実施形態と同様に、強化学習を行なって、各欠陥種の判別の精度を高める処理を行なってもよい。こうした再学習の際に用いる教師データとしての差分画像は、第1実施形態と同様の手法で、一つの差分画像から複数の差分画像を生成すればよい。
第2実施形態の判別システム100は、第1実施形態と同様の作用効果を奏する上、学習モデルを欠陥種毎に用意して、学習させるので、新たな欠陥種に対応しやすく、また学習済みの学習モデルの入れ替えなども容易に行なえるといった利点がある。一つの学習モデルが、誤ったラベルが付された差分画像を学習してしまったような場合でも、その学習モデルだけを入れ替えればよい。
C.その他の実施形態:
(1)本開示の他の実施形態について説明する。他の実施形態の一つは、印刷画像の欠陥判別装置としての形態である。こうした印刷画像の欠陥判別装置は、欠陥を検出しようとする画像の基準となる基準画像を準備する基準画像設定部と教師画像を用いた機械学習を予め行なって、前記欠陥種毎の類似度を出力可能に学習済みの学習モデルと、印刷がなされた印刷物の画像を取得して、検査の対象とする対象画像を用意する対象画像取得部と、前記対象画像に対し、前記学習モデルを用いることで、前記対象画像に存在する欠陥の前記欠陥種に対する類似度を取得し、前記対象画像に存在する欠陥を、既知の欠陥種の少なくとも一つとして判別する判別器と、前記判別器による前記判別の結果によって、前記学習モデルを更新する場合には、前記学習モデルに対して、前記判別された欠陥種とは異なる欠陥種または未知の欠陥に対応付けられた欠陥種に対する機械学習を行なわせる学習部とを備える。
(1)本開示の他の実施形態について説明する。他の実施形態の一つは、印刷画像の欠陥判別装置としての形態である。こうした印刷画像の欠陥判別装置は、欠陥を検出しようとする画像の基準となる基準画像を準備する基準画像設定部と教師画像を用いた機械学習を予め行なって、前記欠陥種毎の類似度を出力可能に学習済みの学習モデルと、印刷がなされた印刷物の画像を取得して、検査の対象とする対象画像を用意する対象画像取得部と、前記対象画像に対し、前記学習モデルを用いることで、前記対象画像に存在する欠陥の前記欠陥種に対する類似度を取得し、前記対象画像に存在する欠陥を、既知の欠陥種の少なくとも一つとして判別する判別器と、前記判別器による前記判別の結果によって、前記学習モデルを更新する場合には、前記学習モデルに対して、前記判別された欠陥種とは異なる欠陥種または未知の欠陥に対応付けられた欠陥種に対する機械学習を行なわせる学習部とを備える。
この印刷画像の欠陥判別装置によれば、印刷された画像に生じ得る、種々の欠陥を、容易に判別できる。しかも、検査の対象画像に存在する欠陥の判別の結果から前記学習モデルに対する学習が必要と判断された場合には、学習モデルに対して、判別された欠陥種とは異なる欠陥種または未知の欠陥に対応付けられた欠陥種に対する機械学習を行なわせるので、既知の欠陥として判別できなかった欠陥や未知の欠陥を判別可能にできる。学習モデルに対する学習が必要と判断された場合としては、利用者が判別の結果を見て、学習が必要と判断した場合や、予め学習した欠陥種のいずれに対しても類似度が十分に高くないと判断された場合などを考えることができる。
(2)印刷画像の欠陥としては、例えばバンディング、ボタ落ち、ノズル抜け、ピンホール、異物、歪み、コックリング、色変動などの欠陥を、判別可能とすることができる。これらの欠陥は、重複して生じる場合もあり得るが、学習済みの学習モデルから取得した類似度を用いて、そのうちの一つを判別可能としてもよいし、複合した欠陥を同時に判別するようにしてもよい。前者の場合は、類似度が最大のものを欠陥として特定すればよく、後者の場合、例えば類似度が所定値以上のものがあれば、全て欠陥として特定すればよい。
(3)教師付きの機械学習としては、ニューラルネットワークを用いたディープラーニングなど既存のものが採用でき、ベクトルニューロン層を用いた構成でも、用いない構成でも差し支えない。ニューラルネットワークの層数や、入力画像の画素数なども任意に設定可能である。
(4)印刷画像の欠陥判別装置は、画像を印刷するプリンターなどの印刷装置と一体に設けてもよいし、単独で動作する装置として構成し、対象画像を受け取って、欠陥の判別を行なうよう構成してもよい。また、装置構成の一部をネットワーク上に分散配置して構成することも差し支えない。例えば、印刷を行なう際に生じ得る欠陥を含む画像であって、欠陥種に対応付けられた教師画像を用いた機械学習を予め行なって、欠陥種毎の類似度を出力可能に学習済みの学習モデルを生成する装置を別体に設け、ネットワークを介して、学習済みの学習モデルにアクセスしたり、学習部を別体に設け、判別器が、対象画像に存在する欠陥を、既知の欠陥として判別できなかった場合に、ネットワークを介して学習部を呼び出して、既知の欠陥として判別できなかった欠陥に対する機械学習を行なわせ、学習後にこれを利用可能とするように構成してもよい。
(5)こうした構成において、前記判別器は、前記既知の欠陥のそれぞれに対して得られた前記類似度の中に、予め定めた閾値以上のものが存在しない場合、対象画像に存在する欠陥は未知の欠陥であると判別するものとしてよい。こうすれば、未知の欠陥を容易に検出可能である。もとより、印刷された画像に欠陥がないために、既知の欠陥のそれぞれに対して得られた前記類似度の中に、予め定めた閾値以上のものが存在しない場合もあり得るが、こうした場合には、利用者が、検査に用いた差分画像を見て、判別の結果を修正すればよい。
(6)こうした構成において、前記学習部は、前記判別器が、前記対象画像に存在する欠陥を未知の欠陥であると判別した場合に、前記未知の欠陥に対応する新たな欠陥種の指定を受けて、前記学習モデルに対して、前記新たな欠陥種の判別を可能とする新規モデルの追加学習を行なうものとしてよい。こうすれば、新たな欠陥を容易に学習でき、その後は、正しく判別可能にできる。しかも、この場合には、学習済みの学習モデルに対する学習を行なうのではなく、新規モデルを追加学習するので、既存の学習モデルの判別に影響を与えることがない。
(7)こうした構成において、前記新たな欠陥であるとする前記指定は、利用者が任意の欠陥種のラベルを設定することにより行なわれるものとしてよい。こうすれば、未知の欠陥を対して、装置の使用者が、容易に新たな欠陥のラベルを設定できる。もとより、新たな欠陥に対して、自動的に連番を付与するなどして、新たな欠陥にラベルを設定するようにしてもよい。
(8)こうした構成において、前記学習部は、前記判別器が、前記対象画像に存在する欠陥を誤判定したと判断された場合に、前記誤判定された欠陥が、前記既知の欠陥種の他の一つまたは未知の欠陥に対応付けられた欠陥種であるとする指定を受けて、前記学習モデルの強化学習を行なうものとしてよい。こうすれば、誤判定をしないように、学習モデルを修正できる。もとより、判別器が、対象画像に存在する欠陥を誤判定したと判断された場合に限らず、正しく判定した場合にも強化学習を行なわせるようにしてもよい。
(9)こうした構成において、前記既知の欠陥種の他の一つであるとする前記指定は、予め学習された欠陥種の中から欠陥種を選択することにより行なわれる、ものとしてよい。こうすれば、予め学習された欠陥種を判別しなかったという誤判定の発現を、強化学習により、減らすことができる。
(10)こうした構成において、前記対象画像取得部は、欠陥を検出しようとする画像の基準となる基準画像を準備する基準画像設定部と、前記基準画像に対応する画像が印刷された印刷物を撮像して検査画像を取得する検査画像取得部と、前記基準画像と前記検査画像との差分を抽出した差分画像を、前記対象画像として生成する差分画像生成部と、を含み、前記学習モデルは、前記機械学習を、印刷物に生じた既知の欠陥を含む画像とその元画像との差分である差分画像を前記教師画像として用いて学習した学習モデルであるものとしてもよい。こうすれば、対象画像として、基準画像と検査画像との差分画像を用いるので、欠陥を容易に学習でき、また判別できる。基準画像と検査画像との差分画像は、両画像の明度(輝度)を算出し、その差分として規定してもよいし、画像がRGBなどの色相に分離可能である場合には、色相データ毎の差分として規定してもよい。差分をとる場合の基準画像は、欠陥が生じないように調整された状態で印刷された画像を用いてもよいし、印刷用の原画像データから画像処理により形成してもよい。なお、対象画像は差分画像に限る必要はない。例えば、所定のグレースケールの均一な画像を印刷した印刷物をスキャンした画像を対象画像としても良い。また、対象画像、基準画像、検査画像などの各画像は、印刷媒体に印刷された画像に限らず、これらを画像データの形式のまま扱うものを含む。
(11)こうした構成において、前記学習部は、前記差分画像を用いて前記機械学習を行ない、前記判別された欠陥種とは異なる欠陥種または未知の欠陥に対応付けられた欠陥種に対応する前記差分画像から複数種類の差分画像を生成する補正操作を行ない、生成した複数種類の前記差分画像を用いて、前記機械学習を行なう、ものとしてよい。こうすれば、少ない数の差分画像を基にして、教師付きの学習用データの種類を増やすことができ、学習部が行なう機械学習、例えば追加学習や強化学習の実効性を高めることができる。こうした補正操作としては、差分画像を、所定角度、例えば90度ずつ回転してそれぞれの回転画像を得る操作や、差分画像を所定の距離、例えば画像の幅の1/4だけ平行移動して、それぞれの移動画像を得る操作、あるいは差分画像を裏返して、反転画像を得る操作、など、種々の操作が採用可能である。もとより、補正操作は行なわず、同様の未知の欠陥または誤判定した欠陥が、複数個溜まってから、まとめて追加学習または強化学習を行なうようにしてもよい。
(12)こうした構成において、前記学習部は、前記補正操作の際に、前記判別器が、前記判別の際に生成した説明性情報に対応した強調処理を前記差分画像に対して行ない、前記欠陥が強調された前記差分画像を用いて前記機械学習、例えば追加学習や強化学習を行なうものとしてよい。こうすれば、効率よく、追加学習や強化学習などの機械学習を行なうことができる。説明性情報としては、学習モデルが、類似度に基づく説明性情報を出力可能な構成を備えていれば、これを利用すればよく、単に利用者が説明性情報を入力して用いるものとしてもよい。
(13)こうした構成において、前記差分画像生成部は、前記基準画像と前記検査画像との前記欠陥を除く差分を低減するように、前記基準画像および前記検査画像の少なくとも一方に対する前処理を行なう前処理部を備えるものとしてよい。こうすれば、欠陥に対応した部分を差分画像として効率よく取り出すことができる。もとより、基準画像と検査画像とを同一のスキャナーやカメラなどで取得するのであれば、こうした前処理を行なわずに、差分画像を生成してもよい。
(14)こうした構成において、前記前処理部は、前記前処理として、前記基準画像および前記検査画像の少なくとも一方の、レベル補正、幾何補正、位置合わせのうちの少なくとも一つの処理を行なうものとしてよい。こうすれば、差分画像のノイズを低減できる。
(15)こうした構成において 前記幾何補正は、前記基準画像および前記検査画像の少なくとも一方の、拡大、縮小、回転のいずれか一つを含むものとしてよい。こうすれば、差分画像を生成する際の幾何的な誤差を低減できる。
(16)こうした構成において、前記位置合わせは、前記基準画像と前記検査画像とをパターンマッチングして行なうものとしてよい。こうすれば、差分画像を生成する際の位置ずれに基づく誤差を低減できる。
(17)こうした構成において、前記教師画像は、当該教師画像を基にした補正操作により派生させた画像を含むものとしてよい。こうすれば、教師画像の種類を増やし、学習の効率を高めることができる。
(18)本開示の他の実施形態の一つは、検査画像の欠陥判別方法としての形態である。こうした検査画像の欠陥判別方法は、印刷を行なう際に生じ得る欠陥を含む画像であって、欠陥種に対応付けられたた教師画像を用いた機械学習を予め行なって、前記欠陥種毎の類似度を出力可能に学習させた学習モデルを用意し、印刷がなされた印刷物の画像を取得して、検査の対象とする対象画像を用意し、前記対象画像に対し、前記学習モデルを用いることで、前記対象画像に存在する欠陥の前記欠陥種に対する類似度を取得し、前記類似度を用いて、前記対象画像に存在する欠陥を、既知の欠陥種の少なくとも一つとして判別し、前記判別の結果によって、前記学習モデルを更新する場合には、前記判別された欠陥種とは異なる欠陥種または未知の欠陥に対応付けられた欠陥種に対する機械学習を行なわせる。こうすれば、印刷された画像に生じ得る、種々の欠陥を、容易に判別できる。しかも、検査の対象画像に存在する欠陥の判別の結果から前記学習モデルを更新する場合には、学習モデルに対して、判別された欠陥種とは異なる欠陥種または未知の欠陥に対応付けられた欠陥種に対する機械学習を行なわせるので、既知の欠陥として判別できなかった欠陥や未知の欠陥を判別可能にできる。
(19)上記各実施形態において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよい。ソフトウェアによって実現されていた構成の少なくとも一部は、ディスクリートな回路構成により実現することも可能である。また、本開示の機能の一部または全部がソフトウェアで実現される場合には、そのソフトウェア(コンピュータープログラム)は、コンピューター読み取り可能な記録媒体に格納された形で提供することができる。「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスクやCD-ROMのような携帯型の記録媒体に限らず、各種のRAMやROM等のコンピューター内の内部記憶装置や、ハードディスク等のコンピューターに固定されている外部記憶装置も含んでいる。すなわち、「コンピューター読み取り可能な記録媒体」とは、データパケットを一時的ではなく固定可能な任意の記録媒体を含む広い意味を有している。
本開示は、上述の実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態中の技術的特徴は、上述の課題の一部または全部を解決するために、あるいは、上述の効果の一部または全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
10…プリンター、20…情報処理装置、21…表示部、22…入力デバイス、30…スキャナー、100…欠陥判別システム、110…プロセッサー、112…印刷処理部、114…クラス判別処理部、116…学習/再学習部、118…差分画像生成部、120…記憶装置、130…インターフェイス回路、200…機械学習モデル、210…畳み込み層、211…差分画像、212…テキスト、215…承認ボタン、216…追加学習ボタン、216a…フィールド、217…強化学習ボタン、217a…フィールド、220…プライマリーベクトルニューロン層、230…第1畳み込みベクトルニューロン層、240…第2畳み込みベクトルニューロン層、250…分類ベクトルニューロン層、300…出力部、310…類似度演算部、320…クラス決定部、330…テキスト、335…画像、337…クリーニングボタン、338…終了ボタン
Claims (15)
- 印刷を行なう際に生じ得る欠陥を含む画像であって、欠陥種に対応付けられた教師画像を用いた機械学習を予め行なって、前記欠陥種毎の類似度を出力可能に学習済みの学習モデルと、
印刷がなされた印刷物の画像を取得して、検査の対象とする対象画像を用意する対象画像取得部と、
前記対象画像に対し、前記学習モデルを用いることで、前記対象画像に存在する欠陥の前記欠陥種に対する類似度を取得し、前記対象画像に存在する欠陥を、既知の欠陥種の少なくとも一つとして判別する判別器と、
前記判別器による前記判別の結果によって、前記学習モデルを更新する場合には、前記学習モデルに対して、前記判別された欠陥種とは異なる欠陥種または未知の欠陥に対応付けられた欠陥種に対する機械学習を行なわせる学習部と
を備える印刷画像の欠陥判別装置。 - 前記判別器は、前記既知の欠陥種のそれぞれに対して得られた前記類似度の中に、予め定めた閾値以上のものが存在しない場合、前記対象画像に存在する欠陥は前記未知の欠陥であると判別する、請求項1に記載の印刷画像の欠陥判別装置。
- 前記学習部は、前記判別器が、前記対象画像に存在する欠陥を未知の欠陥であると判別した場合に、前記未知の欠陥に対応する新たな欠陥種の指定を受けて、前記学習モデルに対して、前記新たな欠陥種の判別を可能とする新規モデルの追加学習を行なう、請求項2に記載の印刷画像の欠陥判別装置。
- 前記新たな欠陥であるとする前記指定は、使用者が任意の欠陥種のラベルを設定することにより行なわれる、請求項3に記載の印刷画像の欠陥判別装置。
- 前記学習部は、前記判別器が、前記対象画像に存在する欠陥を誤判定したと判断された場合に、前記誤判定された欠陥が、前記既知の欠陥種の他の一つであるとする指定を受けて、前記学習モデルの強化学習を行なう、請求項1に記載の印刷画像の欠陥判別装置。
- 前記既知の欠陥種の他の一つであるとする前記指定は、予め学習された欠陥種の中から欠陥種を選択することにより行なわれる、請求項5に記載の印刷画像の欠陥判別装置。
- 前記対象画像取得部は、
欠陥を検出しようとする画像の基準となる基準画像を準備する基準画像設定部と、
前記基準画像に対応する画像が印刷された印刷物を撮像して検査画像を取得する検査画像取得部と、
前記基準画像と前記検査画像との差分を抽出した差分画像を、前記対象画像として生成する差分画像生成部と、
を含み、
前記学習モデルは、前記機械学習を、印刷物に生じた既知の欠陥を含む画像とその元画像との差分である差分画像を前記教師画像として用いて学習した学習モデルである、
請求項1から請求項6のいずれか一項に記載の印刷画像の欠陥判別装置。 - 前記学習部は、
前記差分画像を用いて前記機械学習を行ない、
前記判別された欠陥種とは異なる欠陥種または未知の欠陥に対応付けられた欠陥種に対応する前記差分画像から複数種類の差分画像を生成する補正操作を行ない、生成した複数種類の前記差分画像を用いて、前記機械学習を行なう、請求項7に記載の印刷画像の欠陥判別装置。 - 前記学習部は、前記補正操作の際に、前記判別器が、前記判別の際に生成した説明性情報に対応した強調処理を前記差分画像に対して行ない、前記欠陥が強調された前記差分画像を用いて前記機械学習を行なう、請求項8に記載の印刷画像の欠陥判別装置。
- 前記差分画像生成部は、前記基準画像と前記検査画像との前記欠陥を除く差分を低減するように、前記基準画像および前記検査画像の少なくとも一方に対する前処理を行なう前処理部を備える、請求項7から請求項9のいずれか一項に記載の印刷画像の欠陥判別装置。
- 前記前処理部は、前記前処理として、前記基準画像および前記検査画像の少なくとも一方の、レベル補正、幾何補正、位置合わせのうちの少なくとも一つの処理を行なう、請求項10記載の印刷画像の欠陥判別装置。
- 前記幾何補正は、前記基準画像および前記検査画像の少なくとも一方の、拡大、縮小、回転のいずれか一つを含む、請求項11記載の印刷画像の欠陥判別装置。
- 前記位置合わせは、前記基準画像と前記検査画像とをパターンマッチングして行なう、請求項11記載の印刷画像の欠陥判別装置。
- 前記教師画像は、当該教師画像を基にした補正操作により派生させた画像を含む、請求項1から請求項13のいずれか一項に記載の印刷画像の欠陥判別装置。
- 印刷を行なう際に生じ得る欠陥を含む画像であって、欠陥種に対応付けられたた教師画像を用いた機械学習を予め行なって、前記欠陥種毎の類似度を出力可能に学習させた学習モデルを用意し、
印刷がなされた印刷物の画像を取得して、検査の対象とする対象画像を用意し、
前記対象画像に対し、前記学習モデルを用いることで、前記対象画像に存在する欠陥の前記欠陥種に対する類似度を取得し、前記類似度を用いて、前記対象画像に存在する欠陥を、既知の欠陥種の少なくとも一つとして判別し、
前記判別の結果によって、前記学習モデルを更新する場合には、前記判別された欠陥種とは異なる欠陥種または未知の欠陥に対応付けられた欠陥種に対する機械学習を行なわせる
印刷査画像の欠陥判別方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022030675A JP2023127106A (ja) | 2022-03-01 | 2022-03-01 | 印刷画像の欠陥判別装置、および判別方法 |
US18/176,299 US20230281797A1 (en) | 2022-03-01 | 2023-02-28 | Defect discrimination apparatus for printed images and defect discrimination method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022030675A JP2023127106A (ja) | 2022-03-01 | 2022-03-01 | 印刷画像の欠陥判別装置、および判別方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023127106A true JP2023127106A (ja) | 2023-09-13 |
Family
ID=87850770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022030675A Pending JP2023127106A (ja) | 2022-03-01 | 2022-03-01 | 印刷画像の欠陥判別装置、および判別方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230281797A1 (ja) |
JP (1) | JP2023127106A (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230113750A1 (en) * | 2021-10-11 | 2023-04-13 | Salesforce.Com, Inc. | Reinforcement learning based group testing |
CN118037741B (zh) * | 2024-04-15 | 2024-06-11 | 中国水利水电第十工程局有限公司 | 基于机器视觉的人字门焊接质量检测方法及*** |
-
2022
- 2022-03-01 JP JP2022030675A patent/JP2023127106A/ja active Pending
-
2023
- 2023-02-28 US US18/176,299 patent/US20230281797A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230281797A1 (en) | 2023-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110274908B (zh) | 缺陷检查装置、缺陷检查方法以及计算机可读记录介质 | |
JP4006224B2 (ja) | 画像品質判定方法、判定装置、判定プログラム | |
US20230281797A1 (en) | Defect discrimination apparatus for printed images and defect discrimination method | |
WO2020137222A1 (ja) | 欠陥検査装置、欠陥検査方法、及びそのプログラム | |
JP5903966B2 (ja) | 画像検査装置、画像形成装置及び画像検査装置の制御方法 | |
CN102822846B (zh) | 用于对来自文本行图像的单词进行分割的方法和设备 | |
CN101160950B (zh) | 图像处理装置和图像处理方法 | |
JP2021005266A (ja) | 画像判別モデル構築方法、画像判別モデル、および画像判別方法 | |
JP4904175B2 (ja) | 低解像度のグリフ・イメージから高忠実度のグリフ・プロトタイプを作成するための方法および装置 | |
US11983910B2 (en) | Image processing system, image processing method, and storage medium each for obtaining pixels of object using neural network | |
US11200694B2 (en) | Apparatus and method for extracting object information | |
CN110458791B (zh) | 质量缺陷检测方法和检测设备 | |
US20210031507A1 (en) | Identifying differences between images | |
JPH07168948A (ja) | 文書イメージ品質改善方法 | |
JP7259491B2 (ja) | 画像処理装置及びプログラム | |
JP5750093B2 (ja) | ダイナミックグリッドによるバンドベースのパッチ選択 | |
Fernández-Caballero et al. | Display text segmentation after learning best-fitted OCR binarization parameters | |
JP2021117155A (ja) | 検査装置、検査方法、及び検査プログラム | |
JP2023129972A (ja) | 印刷画像の欠陥判別装置、および判別方法 | |
EP3842918B1 (en) | Defect size detection mechanism | |
JP2023129970A (ja) | 印刷画像の欠陥判別装置、およびその判別方法 | |
JP2023131892A (ja) | 印刷画像の欠陥判別装置、およびその判別方法 | |
JP2023130097A (ja) | 印刷画像の欠陥判別装置および判別方法 | |
JP2023129869A (ja) | 印刷画像の欠陥判別装置、およびその判別方法 | |
US11694315B2 (en) | Artificial intelligence software for document quality inspection |