JP7273358B2 - 画像処理装置、学習済みモデル、コンピュータプログラム、および、属性情報の出力方法 - Google Patents

画像処理装置、学習済みモデル、コンピュータプログラム、および、属性情報の出力方法 Download PDF

Info

Publication number
JP7273358B2
JP7273358B2 JP2019008853A JP2019008853A JP7273358B2 JP 7273358 B2 JP7273358 B2 JP 7273358B2 JP 2019008853 A JP2019008853 A JP 2019008853A JP 2019008853 A JP2019008853 A JP 2019008853A JP 7273358 B2 JP7273358 B2 JP 7273358B2
Authority
JP
Japan
Prior art keywords
image data
target image
image
area
computer program
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.)
Active
Application number
JP2019008853A
Other languages
English (en)
Other versions
JP2020119159A (ja
Inventor
真樹 近藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2019008853A priority Critical patent/JP7273358B2/ja
Publication of JP2020119159A publication Critical patent/JP2020119159A/ja
Application granted granted Critical
Publication of JP7273358B2 publication Critical patent/JP7273358B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本明細書は、画像データを用いて属性情報を出力する処理に関する。
特許文献1に開示された画像検査システムは、コンパクトディスクを示す検査対象画像において所定の移動幅で矩形の抽出領域を移動させながら簡易検査用画像を抽出し、該簡易検査用画像に対して予測モデルを用いた判定を行って、コンパクトディスクに不良箇所が存在する可能性がある場所を判定する。画像検査システムは、不良箇所が存在する可能性がある場所において所定の移動幅より小さな移動幅で抽出領域を移動させながら詳細検査用画像を抽出し、該詳細検査用画像に対して予測モデルを用いた判定を行って、コンパクトディスクに不良箇所が存在するか否かを判定する。これによって、検査処理を高速化できるとされている。
特開2018-16921号公報
しかしながら、上記技術では、矩形の抽出領域を移動させながら検査用画像を抽出しているに過ぎないので、例えば、円形のコンパクトディスクの不良を検出するために適切な検査用画像が抽出できず、円形のコンパクトディスクの不良を適切に検出できない可能性があった。このような課題は、コンパクトディスクの不良の検出に限らず、機械学習モデルを用いて、属性情報を出力する場合に共通する課題であった。
本明細書は、機械学習モデルを用いて適切な属性情報を出力できる技術を開示する。
本明細書に開示された技術は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の適用例として実現することが可能である。
[適用例1]コンピュータプログラムであって、特定種のオブジェクトを含む対象画像を示す対象画像データを取得する画像取得機能であって、前記特定種のオブジェクトは円状の輪郭を有する特定部分を含む、前記画像取得機能と、前記対象画像データを用いて、前記対象画像内の前記円状の輪郭の中心を特定する中心特定機能と、前記対象画像データを用いて、処理済画像を示す処理済画像データを生成する処理済画像生成機能であって、前記処理済画像は、特定された前記中心と第1の径とを有する第1の円に基づいて特定される前記対象画像内の部分領域に対応する画像を含み、前記部分領域は、前記対象画像内の前記特定部分を含み、前記対象画像の一部を含まない領域である、前記処理済画像生成機能と、前記処理済画像データを機械学習モデルに入力して、前記機械学習モデルを用いて前記特定部分の属性に関する属性情報を出力する属性出力機能と、コンピュータに実現させるコンピュータプログラム。
対象画像は、特定部分とは異なる部分を含み得る。上記構成によれば、処理済画像は、対象画像内の円状の輪郭を有する特定部分を含み、対象画像の一部を含まない部分領域に対応する画像を含む。そして、該処理済画像を示す処理済画像データが機械学習モデルに入力される。この結果、対象画像に含まれる特定部分とは異なる部分が、機械学習モデルを用いて出力される属性情報に与える影響を低減できる。したがって、機械学習モデルを用いて特定部分の属性に関する適切な属性情報を出力することができる。例えば、機械学習モデルのトレーニング効率の向上や機械学習モデルが出力する属性情報の精度の向上を実現できる。
[適用例2]学習済みモデルであって、画像データを取得する機能と、前記画像データを入力データとして、複数個のパラメータを用いて行われる演算であって特定の機械学習アルゴリズムに従う前記演算を行うことによって、属性情報を出力する機能と、をコンピュータに実現させ、前記複数個のパラメータは、複数個の処理済画像データを用いた学習処理によって調整済みであり、
前記処理済画像データは、特定種のオブジェクトを含む対象画像を示す対象画像データを用いて生成され、前記特定種のオブジェクトは円状の輪郭を有する特定部分を含み、前記処理済画像データによって示される処理済画像は、前記対象画像内の前記特定部分を含み、前記対象画像の一部を含まない部分領域に対応する画像を含み、前記対象画像内の前記部分領域は、前記対象画像データを用いて特定される前記対象画像内の前記円状の輪郭の中心と、第1の径と、を有する第1の円に基づいて特定される領域であり、前記属性情報は、前記特定部分の属性に関する情報である、学習済みモデル。
上記構成によれば、処理済画像は、対象画像内の円状の輪郭を有する特定部分を含み、対象画像の一部を含まない部分領域に対応する画像を含む。学習済みモデルは、当該処理済画像を示す処理済画像データを用いた学習処理によって調整済みのパラメータを用いる。この結果、特定部分の属性に関する適切な属性情報を出力することができる。
なお、本明細書に開示される技術は、種々の形態で実現することが可能であり、例えば、印刷装置、印刷方法、画像処理方法、これら装置の機能または上記方法を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
検査システム1000の構成を示すブロック図である。 検査の対象物の一例を示す図である。 学習処理のフローチャートである。 本実施例で用いられる画像の一例を示す図である。 検査処理のフローチャートである。 入力前処理のフローチャートである。 入力前処理で用いられる画像の一例を示す第1の図である。 入力前処理で用いられる画像の一例を示す第2の図である。 コントラスト補正処理のためのトーンカーブの一例を示す図である。 変形例の説明図である。
A.実施例
A-1.画像処理装置の構成
次に、実施の形態を実施例に基づき説明する。図1は、実施例における画像処理装置としての計算機200とデジタルカメラ100とを含む検査システム1000の構成を示すブロック図である。検査システム1000は、検査の対象物(本実施例では後述するパッキング部材)に欠陥があるか否かを判定する。デジタルカメラ100は、二次元イメージセンサを用いて対象物を撮影することによって、対象物を示すオブジェクトを含む撮影画像データを生成する装置である。
計算機200は、例えば、パーソナルコンピュータやスマートフォンである。計算機200は、計算機200のコントローラとしてのCPU210と、RAMなどの揮発性記憶装置220と、ハードディスクドライブやフラッシュメモリなどの不揮発性記憶装置230と、液晶ディスプレイなどの表示部240と、キーボードやマウスなどの操作部250と、通信インタフェース(IF)270と、を備えている。計算機200は、通信インタフェース270を介して、デジタルカメラ100と通信可能に接続される。
揮発性記憶装置220は、CPU210が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域を提供する。不揮発性記憶装置230には、コンピュータプログラムPGが格納されている。揮発性記憶装置220や不揮発性記憶装置230は、計算機200の内部メモリである。
コンピュータプログラムPGは、例えば、検査システム1000の利用者によって作成され、不揮発性記憶装置230に格納される。これに代えて、コンピュータプログラムPGは、インターネットを介して接続されたサーバからダウンロードされる形態で提供されても良いし、DVD-ROMなどに記録された形態にて提供され得る。CPU210は、コンピュータプログラムPGを実行することにより、後述する学習処理や検査処理を実行する。
A-2.検査の対象物
図2は、検査の対象物の一例を示す図である。本実施例の検査の対象物は、パッキング部材10である。図2(A)には、パッキング部材10の斜視図が示されている。図2(B)には、パッキング部材10を軸線COに沿って図2(A)の上方(先端側)から下方(後端側)に向かって見た図が示されている。図2(B)では、図を見やすくするために、パッキング部材10にハッチングを付している。
パッキング部材10は、プリンタ(図示省略)に供給される印刷材としてのインクを収容するカートリッジ(図示省略)のインク供給口に挿入される。パッキング部材10は、軸線COに沿って延びる孔12が形成された略筒形状を有する部材であり、例えば、エラストマー、樹脂などを用いて形成される。パッキング部材10の先端部15は、カートリッジがプリンタに装着されていない状態では、図示しないバルブ部材と接触して、カートリッジ内のインクが外部に漏れることを防止する。先端部15に傷や凹みなどの欠陥があると、バルブ部材との間に隙間が生じてインクが漏れる不具合が発生し得る。このために、検査システム1000は、パッキング部材10の先端部15に欠陥があるか否かを検査する。
A-3.機械学習モデル
図1に示すようにコンピュータプログラムPGは、機械学習モデルMMを含んでいる。機械学習モデルMMは、CNN(Convolutional Neural Network)を用いたモデルである。このような機械学習モデルとしては、例えば、LeNetやAlexNetが用いられる。LeNetは、例えば、「Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner(1998): Gradient-based learning applied to document recognition. Proceedings of the IEEE 86, 11(November 1998),2278-2324.」に開示されている。AlexNetは、例えば、「Alex Krizhevsky, Ilya Sutskever and Geoffrey E. Hinton(2012): ImageNet classification with deep convolutional neural networks In F. Pereira, C. J. C. Burges, L. Bottou, & K. Q. Weinberger, eds. Advances in Neural Information Processing Systems 25. Curran Associates, Inc., 1097-1105.5」に開示されている。
機械学習モデルMMの入力は、画像データ、具体的には、後述する処理済画像データである。処理済画像データは、本実施例では、RGB値で複数個の画素の色を示すRGB画像データである。RGB値は、RGB色空間の色値であり、赤(R)、緑(G)、青(B)の3個の成分値(R値、G値、B値とする)を含む。画像データは、画像内のN個の画素(Nは2以上の整数)の値(例えば、RGB値や輝度値)を、各画素の注目ブロック内での位置に応じた順序で並べた行列である、と言うことができる。すなわち、機械学習モデルMMには、画像内のN個の画素の値が、画像内における当該画素の位置と対応付けて入力される。
機械学習モデルMMの出力は、パッキング部材10の先端部15に欠陥がある確率を示す値(欠陥有確率Frとも呼ぶ)と、パッキング部材10の先端部15に欠陥がない確率を示す値(欠陥無確率Grとも呼ぶ)と、の2個の値である。欠陥有確率Frと欠陥無確率Grは、例えば、0~1の数値で表され、欠陥有確率Frと欠陥無確率Grとの和は、1である(Fr+Gr=1)。
機械学習モデルMMは、複数個の演算パラメータを含んでいる。機械学習モデルMMは、入力された画像データと複数個の演算パラメータとを用いた演算を行って、上述した欠陥有確率Frと欠陥無確率Grとを出力する。機械学習モデルMMは、CNNを用いたモデルであるので、例えば、1以上の畳込層と1以上のプーリング層と1以上の全結合層とを含む複数の層を有している。複数個の演算パラメータは、後述する学習処理によって調整されるパラメータである。複数個の演算パラメータは、例えば、畳込層および全結合層における演算で用いられる複数個の重みと複数個のバイアスとを含む。
A-4.学習処理
CPU210は、コンピュータプログラムPGを実行することによって学習処理を実行する。学習処理は、機械学習モデルMMの上述した複数個の演算パラメータ(重みおよびバイアス)を調整することで、機械学習モデルMMが適切な欠陥有確率Frおよび欠陥無確率Grを出力できるようにトレーニングする処理である。
学習処理に先立って、作業者は、複数個(例えば、3000個)の学習用の撮影画像データを準備する。撮影画像データは、所定の撮影台上に配置されたパッキング部材10を軸線COに沿って図2(A)の上方(先端側)から、デジタルカメラ100を用いて撮影して得られる画像データである。
図4は、本実施例で用いられる画像の一例を示す図である。図4(A)には、撮影画像データによって示される撮影画像OIの一例が示されている。撮影画像OIは、パッキング部材10を示すオブジェクトPOと、撮影台を示す背景BGと、を含んでいる。オブジェクトPOは、パッキング部材10の先端部15を示す部分(以下、特定部分SPとも呼ぶ)を含む。先端部15は環状の部分であるので、特定部分SPも環状の部分である。このために、特定部分SPの内側の輪郭ILは円であり、特定部分SPの外側の輪郭OLは、内側の輪郭ILより大きな円である。内側の輪郭ILと外側の輪郭OLは、互いに等しい中心を有する同心円である。背景BGは、撮影台の色、本実施例では黒色を有している。背景BGは、撮影時の光源の影響などによって均一ではなく、色のムラUNを有している。
学習用の撮影画像データは、先端部15に欠陥を有するパッキング部材10(以下、欠陥品とも呼ぶ)を撮影して得られる複数個(例えば、1500個)の欠陥品画像データと、先端部15に欠陥を有しないパッキング部材10(以下、合格品とも呼ぶ)撮影して得られる複数個(例えば、1500個)の合格品画像データと、を含む。これらの撮影画像データには、それぞれ、該撮影画像データが欠陥品画像データであるか合格品画像データであるかを示す教師データが対応付けられている。教師データは、例えば、理想的な出力値(欠陥有確率Frと欠陥無確率Grとのセット)である。教師データは、対応する撮影画像データが欠陥品画像データである場合には、「1」である欠陥有確率Frと「0」である欠陥無確率Grとのセットであり、対応する撮影画像データが合格品画像データである場合には、「0」である欠陥有確率Frと「1」である欠陥無確率Grとのセットである。準備された複数個の学習用の撮影画像データと教師データとは、不揮発性記憶装置230に格納される。
図3は、学習処理のフローチャートである。S10では、CPU210は、不揮発性記憶装置230に格納された複数個の学習用の撮影画像データから、1個の注目画像データを取得する。取得された注目画像データは、揮発性記憶装置220のバッファ領域に格納される。
S15では、注目画像データに対して入力前処理を実行して、処理済画像データを生成する。入力前処理については後述する。
図4(B)には、処理済画像データによって示される処理済画像SIの一例が示されている。処理済画像SIは、撮影画像OI内の矩形領域SAに対応する画像である。処理済画像SIは、環状画像ROと、背景画像WBと、を含んでいる。環状画像ROは、撮影画像OI内の環状の部分領域RAに対応する画像である。撮影画像OI内の環状の部分領域RAは、上述した先端部15を示す特定部分SPを含んでいる。このために、処理済画像SI内の環状画像ROも先端部15を示す部分SPsを含んでいる。背景画像WBは、白色に塗りつぶされた領域である。このために、背景画像WBは、白色を示す複数個の画素を含む。
S20では、CPU210は、全ての学習用の撮影画像データを処理したか否かを判断する。全ての撮影画像データが処理された場合には(S20:YES)、CPU210は、S25に処理を進める。未処理の撮影画像データがある場合には(S20:NO)、CPU210は、S10に戻る。
S25に処理が進められた時点で、複数個の学習用の撮影画像データに対応する複数個(例えば、3000個)の処理済画像データが生成されている。各処理済画像データには、元になった撮影画像データに対応する教師データが、そのまま対応付けられている。S25では、CPU210は、複数個の処理済画像データから、使用すべきm個(mは、2以上の整数、例えば、m=100)の画像データ(使用画像データとも呼ぶ)を選択する。使用画像データは、例えば、毎回、複数個の処理済画像データから、ランダムに選択される。これに代えて、使用画像データは、複数個の処理済画像データのうち、未使用の画像データからランダムに選択されても良い。あるいは、CPU210は、全ての処理済画像データを、m個ずつの処理済画像データをそれぞれ含む複数個のグループ(バッチ)に予め分割し、これらの複数個のグループから1個のグループを順次に選択することによって、m個の使用画像データを選択しても良い。
S30では、CPU210は、選択されたm個の使用画像データを1つずつ、機械学習モデルMMに入力して、上述した欠陥有確率Frと欠陥無確率Grとから成る出力値を機械学習モデルMMに出力させる。これによって、m個の使用画像データに対応するm個の出力値が出力される。
S35では、CPU210は、パラメータ調整処理を実行する。パラメータ調整処理は、m個の出力値を用いて、機械学習モデルMMにて用いられる上述した演算パラメータを調整する処理である。具体的には、CPU210は、損失関数を用いて算出される指標値LTが小さくなるように、所定のアルゴリズムに従って演算パラメータを調整する。k番目の使用画像データに対応する損失関数は、例えば、k番目(kは1以上m以下の整数)の使用画像データに対応する出力値と、k番目の使用画像データに対応する教師データと、の誤差Lkを算出する関数である。指標値LTは、例えば、m個の使用画像データに対応するm個の誤差Lkの合計である。損失関数には、2乗和誤差、交差エントロピー誤差などの公知の関数が用いられる。所定のアルゴリズムには、例えば、誤差逆伝播法と勾配降下法とを用いたアルゴリズムが用いられる。
S40では、CPU210は、S25~S35の処理を所定回数分だけ繰り返し実行したか否かを判断する。所定回数は、例えば、1000回である。S25~S35の処理が所定回数分だけ繰り返し実行された場合には(S40:YES)、CPU210は、学習処理を終了する。S25~S35の処理の実行回数が所定回数に満たない場合には(S40:NO)、CPU210は、S25に処理を戻す。なお、変形例では、3000個の処理済画像データとは、別にテスト用の処理済画像データのセットを用意して、機械学習モデルMMに入力し、十分な判定性能が得られた場合に学習処理が終了され、十分な判定性能が得られない場合には、S25に処理が戻されても良い。
以上説明した学習処理が終了した時点で、機械学習モデルMMは、演算パラメータが適切な値に調整された学習済みモデルになっている。したがって、学習処理は、学習済みモデルを生成(製造)する処理である、と言うことができる。学習済済みモデルは、後述する検査処理において、入力される処理済画像データの元になった撮影画像データが、欠陥品画像データであるか合格品画像データであるかを適切に判定することができる。
A-5.検査処理
CPU210は、コンピュータプログラムPGを実行することによって検査処理を実行する。検査処理は、検査対象のパッキング部材10の先端部15に欠陥があるか否かを判定して、判定結果を表示する処理である。
検査処理は、学習処理が終了した後に実行される。すなわち、検査処理は、機械学習モデルMMが学習済みモデルである状態で実行される。図5は、検査処理のフローチャートである。図5の検査処理は、検査すべきパッキング部材10ごとに実行される。検査処理の対象となるパッキング部材10を注目部材とも呼ぶ。
S50では、CPU210は、注目部材を撮影して得られる撮影画像データを注目画像データとして取得する。例えば、検査の作業者は、学習用の撮影画像データを準備する際と同様に、所定の撮影台上に配置された注目部材を軸線COに沿って図2(A)の上方(先端側)から、デジタルカメラ100を用いて撮影する。CPU210は、デジタルカメラ100から該撮影によって生成された撮影画像データを注目画像データとして取得する。取得された注目画像データは、揮発性記憶装置220のバッファ領域に格納される。注目画像データによって示される撮影画像は、例えば、図4(A)の撮影画像OIと同様の画像である。
S55では、CPU210は、注目画像データに対して入力前処理を実行して、処理済画像データを生成する。S55の入力前処理は、上述した図3のS15の入力前処理と同一の処理である。処理済画像データによって示される処理済画像は、例えば、図4(B)の処理済画像SIと同様の画像である。
S60では、CPU210は、注目画像データを用いて生成された処理済画像データを、機械学習モデルMM(学習済みモデル)に入力して、上述した欠陥有確率Frと欠陥無確率Grとから成る出力値を出力させる。
S65では、CPU210は、出力値に含まれる欠陥有確率Frは、閾値TH1以上であるか否かを判断する。閾値TH1は、例えば、0.5である。なお、変形例では、S65にて、CPU210は、欠陥無確率Grが閾値TH2未満であるか否かを判断しても良い。閾値TH2と閾値TH1は、TH2=(1-TH1)の関係を満たす。欠陥有確率Frと欠陥無確率Grとは、Gr=(1-Fr)の関係を満たすので、欠陥有確率Frが閾値TH1以上であることと、欠陥無確率GrがTH2未満であることとは、等価である。
欠陥有確率Frが閾値TH1以上である場合には(S65:YES)、注目画像データは、欠陥品画像データであると判定される。すなわち、この場合には、注目部材は、欠陥品であると判定される。このために、この場合には、S75にて、CPU210は、CPU210は、欠陥有りを示す判定結果を表示部240に表示する。作業者は、判定結果を見ることで、注目部材は欠陥品であると認識することができる。欠陥品であると判定された注目部材は、例えば、廃棄される。
欠陥無確率GrがTH1未満である場合には(S65:NO)、注目画像データは、合格品画像データであると判定される。すなわち、この場合には、注目部材は、合格品であると判定される。このために、この場合には、S70にて、CPU210は、CPU210は、欠陥無しを示す判定結果を表示部240に表示する。作業者は、該判定結果を見ることで、注目部材は合格品であると認識することができる。合格品であると判定された注目部材は、例えば、インクカートリッジの製造に用いられる。
注目部材について、欠陥有り、および、欠陥無しのいずれかを示す判定結果が表示されると、CPU210は、注目部材について検査処理を終了する。複数個のパッキング部材10が検査対象である場合には、複数個のパッキング部材10のそれぞれを注目部材として、検査処理が複数回繰り返し実行される。
A-6.入力前処理
図3のS15および図5のS55の入力前処理について説明する。図3のS15の入力前処理と図5のS55の入力前処理とは同一の処理である。図6は、入力前処理のフローチャートである。図7、図8は、入力前処理で用いられる画像の一例を示す図である。
S100では、CPU210は、注目画像データに対して二値化処理を実行して二値画像データを生成する。CPU210は、撮影画像OI内の複数個の画素を、所定の背景色範囲BR内の画素の値を有する背景画素と、背景色範囲BR外の画素の値を有する非背景画素と、に分類することによって、注目画像データを二値化する。本実施例では、背景色範囲BRは、撮影画像OIの背景BGの色、本実施例では、撮影台の色を示す範囲である。本実施例では、撮影台の色は黒であり、画素の値は、各成分値が0~255の値を有するRGB値である。このために、本実施例では、背景色範囲BRは、黒を示す範囲であり、例えば、R<60、かつ、G<60、かつ、B<60の範囲である。
図7(A)には、図4(A)の撮影画像OIを示す注目画像データを二値化した二値画像データによって示される二値画像BIの一例が示されている。二値画像BIのうち、ハッチングされた部分は、背景画素を示し、ハッチングされていない部分は、非背景画素を示す。図4(A)に示すように、この二値画像BIでは、撮影画像OIの背景BGの一部の画素が背景画素に分類され、他の一部の画素は非背景画素に分類されている。これは、撮影画像OIの背景BGには、ムラUNがあるので、明るい部分と暗い部分とがあるためである。このために、二値画像BIでは、撮影画像OIの背景BGのうち暗い部分に対応する複数個の暗領域DAi、DAo内の画素が背景画素に分類されている。二値画像BIでは、撮影画像OIのオブジェクトPOに対応するオブジェクト領域OA内の画素と、背景BGのうちの明るい部分に対応する複数個の明領域LA内の画素と、が非背景画素に分類されている。
内側暗領域DAiは、撮影画像OIの背景BGのうち、環状のオブジェクトPOよりも内側に対応する円形の領域である。内側暗領域DAiは、パッキング部材10の孔12に対応する領域とも言うことができる。撮影台のうち、パッキング部材10の孔12に対応する部分には、撮影時に光が届きにくいために暗くなる。このために、撮影画像OIにおいて、オブジェクトPOよりも内側には、ムラUNが生じ難いので、二値画像BIにおいて、内側暗領域DAiは、比較的明確な円形を有している。これに対してオブジェクトPOよりも外側には、ムラUNが生じやすいので、二値画像BIにおいて、オブジェクト領域OAの外側には、様々な形状を有する複数個の明領域LAと複数個の外側暗領域DAoとが混在している。
S105では、CPU210は、二値画像データに対して、膨張収縮処理を実行して、膨張縮小処理済みの二値画像データを生成する。膨張収縮処理は、二値画像BI内において、特定済みの複数個の背景画素によって構成される領域を膨張させる膨張処理と、該領域を収縮させる収縮処理と、を含む。本実施例では、1回の膨張処理の後に、2回の収縮処理が実行され、2回の収縮処理の後に、1回の膨張処理が実行される。この膨張収縮処理によって、最終的に円領域として特定すべき内側暗領域DAiと、オブジェクト領域OAと、の境界のがたつき(ノイズ)が除去され、内側暗領域DAiがより明確な円形となる。また、この膨張縮小処理によって、内側暗領域DAiにノイズとして含まれる孤立した非背景画素が除去される。
1回の膨張処理は、所定サイズのフィルタ、例えば、縦3画素×横3画素のサイズのフィルタを用いて実行される。具体的には、CPU210は、処理前の二値画像内の注目画素とフィルタの中心位置とが重なるように、フィルタを処理前の二値画像上に配置する。CPU210は、フィルタの範囲内に、背景画素が1個でも存在する場合には、注目画素に対応する処理済みの二値画像(図示省略)内の画素を背景画素に設定する。CPU210は、フィルタの範囲内に、背景画素が1つもない場合には、注目画素に対応する処理済みの二値画像内の画素を非背景画素に設定する。CPU210は、処理前の二値画像の全ての画素を注目画素として、処理済みの二値画像内の対応する画素を、背景画素および非背景画素のいずれかに設定することによって、膨張処理済みの二値画像データを生成する。
1回の収縮処理は、所定サイズのフィルタ、例えば、縦3画素×横3画素のサイズのフィルタを用いて実行される。具体的には、CPU210は、処理前の二値画像内の注目画素とフィルタの中心位置とが重なるように、フィルタを処理前の二値画像上に配置する。CPU210は、フィルタの範囲内に、非背景画素が1個でも存在する場合には、注目画素に対応する処理済みの二値画像内の画素を非背景画素に設定する。そして、CPU210は、フィルタの範囲内に、非背景画素が1つもない場合には、注目画素に対応する処理済みの二値画像内の画素を背景画素に設定する。CPU210は、処理前の二値画像の全ての画素を注目画素として、処理済みの二値画像内の対応する画素を、非背景画素および背景画素のいずれかに設定することによって、収縮処理済みの二値画像データを生成する。
なお、上述したフィルタのサイズ、すなわち、膨張処理による膨張の程度、および、収縮処理による収縮の程度は、一例である。例えば、フィルタは、例えば、縦5画素×横5画素のフィルタであっても良いし、縦7画素×横7画素のフィルタであっても良い。また、膨張縮小処理における膨張処理と拡張処理の回数や順序も一例である。例えば、1回の膨張処理の後に、2回の収縮処理が実行され、2回の収縮処理の後に、1回の膨張処理が実行される本実施例のパターンに限らず、例えば、膨張処理と収縮処理とが2回や3回程度繰り返されるパターンであっても良い。
図7(A)は、膨張収縮処理済みの二値画像データによって示される二値画像BIsも示しているものとする。
S120では、CPU210は、膨張収縮処理済みの二値画像データに対して、背景画素によって構成される背景領域を特定する領域特定処理を実行する。具体的には、膨張収縮処理済みの二値画像データに対してラベリング処理が実行される。例えば、CPU210は、連続する一つながりの複数個の背景画素で構成される画素群に、1個の識別子を割り当て、互いに離れた複数個の背景画素で構成される複数個の画素群に、互いに異なる識別子を割り当てる。1個の識別子が割り当てられた画素群は、1個の背景領域として特定される。図7(B)の例では、二値画像BIsにおいて、上述した1個の内側暗領域DAiと、複数個の外側暗領域DAoと、がそれぞれ背景領域として特定される。
S125では、CPU210は、特定された複数個の背景領域のうち、画素数が閾値TH2以上である背景領域を、特定すべき円領域の候補領域として特定する。閾値TH2は、例えば、パッキング部材10の孔12のサイズ、すなわち、撮影画像OIにおけるオブジェクトPOよりも内側の円領域のサイズとして想定され得るサイズの下限に相当する画素数に設定されている。これによって、図7(B)の二値画像BIsにおいて、内側暗領域DAiと、複数個の外側暗領域DAoの一部と、を含む複数個の候補領域が特定される。
S130では、CPU210は、特定された各候補領域の真円度CDを特定する。真円度CDは、候補領域の外形が、真円にどの程度近い形状であるかを示す指標値である。具体的には、CPU210は、候補領域の高さ(縦方向の画素数)Hと、幅(横方向の画素数)Wと、を特定する。図7には、1個の外側暗領域DAoについて、高さHと幅Hが図示されている。CPU210は、高さHと幅Hと用いて推定半径Reを算出する。推定半径Reは、Re=(H+W)×(1/4)と表すことができる。推定半径Reは、候補領域が真円であると仮定した場合の半径である。CPU210は、推定半径Reに基づいて算出される円の面積である推定面積Seと、実際の候補領域の面積である実面積Sr(候補領域の画素数)と、を算出する。CPU210は、実面積Srを推定面積Seで除した値を真円度CDとして算出する(CD=Sr/Se)。候補領域の真円度CDが1に近いほど、該候補領域の外形は真円に近い。
S135では、CPU210は、複数個の候補領域のうち、最も真円度CDが高い候補領域を、円領域として特定する。本実施例では、パッキング部材10の孔12に対応する領域、すなわち、撮影画像OIにおける環状のオブジェクトPOよりも内側の領域に対応する内側暗領域DAiが、円領域として特定される。
S140では、CPU210は、特定された円領域(内側暗領域DAi)の中心CPbを特定する。具体的には、CPU210は、特定された円領域を構成する複数個の画素の平均座標(すなわち、円領域の重心)を算出し、該平均座標が示す位置を中心CPbとして特定する。二値画像BIsにおいて中心CPbが特定されることは、撮影画像OIにおいて、該中心CPbに対応する位置が中心CP(図4(A))として特定されることと等価である。特定される撮影画像OIの中心CPは、特定部分SPの円上の輪郭IL、OLの中心とも言うことができる。
S145では、CPU210は、注目画像データによって示される撮影画像OI(図4(A))をクロッピングする。すなわち、CPU210は、撮影画像OIの一部分である抽出画像CIを示す抽出画像データを生成する。抽出画像CIは、図4(A)の撮影画像OIのうちの矩形領域SA内の画像である。矩形領域SAは、S140にて特定された撮影画像OIの中心CPを重心とし、所定の高さH1および幅W1を有する矩形の領域である。矩形領域SAの高さH1および幅W1は、パッキング部材10の先端部15を示す撮影画像OI内の特定部分SPが矩形領域SAに含まれるように、予め定められている。
図7(B)には、抽出画像CIの一例が示されている。図7(B)に示すように、抽出画像CIは、撮影画像OIの中心CPと、特定部分SPの全体を少なくとも含むオブジェクトPOの一部と、を含んでいる。
S150では、CPU210は、抽出画像データに対して、コントラスト補正処理を実行して、補正済画像AIを示す補正済画像データを生成する。コントラスト補正処理は、特定部分SPのコントラストを高くする補正処理である。図9は、コントラスト補正処理のためのトーンカーブの一例を示す図である。この例では、画素の値の取り得る範囲は、0~255の値である。具体的には、CPU210は、抽出画像データの各画素のRGB値の各成分値に対して、図9のトーンカーブを適用する。この結果、閾値Va未満の値は、全て最小値(0)に変換される。そして、閾値Va以上255以下の範囲は、0以上255以下の範囲に拡大される。閾値Vaは、例えば、128である。コントラスト補正処理によって拡大される範囲(図9の例ではVa以上255以下の範囲)は、検査対象である先端部15を示す特定部分SP内の画素の値が取り得ると想定される範囲である。図8には、補正済画像AIの一例が示されている。
S155、S160では、CPU210は、補正済画像データに対して、一部の画素のRGB値を、特定色(本実施例では白)を示すRGB値に置換する置換処理を実行して、処理済画像SIを示す処理済画像データを生成する。
S155では、CPU210は、補正済画像AI内の複数個の画素のうち、中心CPと所定の半径R1を有する第1の円C1よりも内側の複数個の画素を白画素に置換する。すなわち、第1の円C1よりも内側の複数個の画素のRGB値が、白を示すRGB値((R、G、B)=(255、255、255))に置換される。半径R1は、第1の円C1が特定部分SPの内側の輪郭ILよりも僅かに内側に位置するように、予め定められている。
S160では、CPU210は、補正済画像AI内の複数個の画素のうち、中心CPと所定の半径R2を有する第2の円C2よりも外側の複数個の画素を白画素に置換する。すなわち、第2の円C2よりも外側の複数個の画素のRGB値が、白を示すRGB値に置換される。半径R2は半径R1よりも大きい。半径R2は、第2の円C2が特定部分SPの外側の輪郭OLよりも僅かに外側に位置するように、予め定められている。
S155、S160が実行されると、図4(B)に示す処理済画像SIを示す処理済画像データが生成される。処理済画像データが生成されると、CPU210は、入力前処理を終了する。補正済画像AIにおける第1の円C1と第2の円C2との間の領域は、図4(A)の撮影画像OIに示す環状の部分領域RAに対応する領域である。すなわち、撮影画像OIにおいても中心CPを有する第1の円C1と第2の円C2とを定義することが可能であり(図4(A))、撮影画像OI内の部分領域RAは、第1の円C1と第2の円C2とに基づいて特定(定義)される領域である。具体的には、部分領域RAは、撮影画像OIにおいて、第1の円C1よりも外側であって、かつ、第2の円C2よりも内側である環状の領域である。
以上説明した本実施例によれば、CPU210は、対象画像データとしての撮影画像データを用いて、撮影画像OI内の円状の輪郭IL、OLの中心CPを特定する(図6のS100~S140)。CPU210は、撮影画像データを用いて、処理済画像データを生成する(図6のS145~S160)。処理済画像SI(図4(B))は、第1の円C1に基づいて特定される撮影画像OI内の環状の部分領域RAに対応する環状画像ROを含んでいる。撮影画像OI内の部分領域RAは、撮影画像OI内の特定部分SPを含み、撮影画像OIの一部を含まない領域である。CPU210は、このような処理済画像データを機械学習モデルMMに入力して、機械学習モデルMMを用いて欠陥無確率Grおよび欠陥有確率Frから成る出力値を出力する(図3のS30、図5のS60)。出力値は、特定部分SPに示される先端部15に欠陥があるか否かを示す情報であるので、特定部分SPの属性に関する属性情報である、と言うことができる。
撮影画像OIは、図4(A)に示すように、特定部分SPとは異なる部分を含み得る。特定部分SPは環状であるのに対して、撮影画像OIは矩形であるためである。本実施例によれば、上述した処理済画像SIを示す処理済画像データが機械学習モデルMMに入力される。この結果、例えば、撮影画像データや抽出画像データがそのまま機械学習モデルMMに入力される場合と比較して、撮影画像OIに含まれる特定部分SPとは異なる部分が、機械学習モデルMMを用いて出力される出力値に与える影響を低減できる。したがって、機械学習モデルMMを用いて特定部分SPの属性に関する適切な出力値を出力することができる。例えば、後述するように、学習処理において機械学習モデルMMのトレーニング効率を向上させることや、検査処理において機械学習モデルMM(学習済みモデル)が出力する出力値の精度を向上させることを実現できる。撮影画像OIに含まれる特定部分SPとは異なる部分は、例えば、背景BGや、パッキング部材10を示すオブジェクトPOのうち、特定部分SPを除いた部分である。背景BGは、ムラUNを有するので、撮影画像OIごとに異なり得る。また、パッキング部材10の先端部15とは異なる部分も、製造時のばらつきによって、パッキング部材10ごとに異なる部分を含み得る。このために、撮影画像OIに含まれる特定部分SPとは異なる部分を示すデータが機械学習モデルMMに入力されると、当該部分の差異も出力値に影響を与え得る。特定部分SPとは異なる部分の差異は、先端部15が欠陥を有するか否かとは無関係であるので、特定部分SPとは異なる部分の差異が出力値に影響を与えることは好ましくない。本実施例によれば、当該影響を抑制できるので、CPU210は、機械学習モデルMMを用いて適切な出力値を出力することができる。
さらに、本実施例によれば、学習処理において、CPU210は、出力された出力値を用いて、機械学習モデルMMにて用いられる複数個の演算パラメータを調整する(図3のS35)。この結果、特定部分SPとは異なる部分の差異が出力値に影響を与えることを抑制することで、機械学習モデルMMを効果的にトレーニングすることができる。例えば、学習処理において撮影画像データや抽出画像データがそのまま機械学習モデルMMに入力される場合と比較して、少ない撮影画像データを用いた学習で同等の判定精度を有する学習済みモデルを生成することができる。あるいは、学習処理において撮影画像データや抽出画像データがそのまま機械学習モデルMMに入力される場合と比較して、判定精度に優れた学習済みモデルを生成できる。
さらに、本実施例によれば、特定部分SPは、環状の部分であり、部分領域RAは、第1の円C1よりも外側であって、かつ、第2の円C2よりも内側である環状の領域である(図4(A))。上記構成によれば、環状の特定部分SPを含む適切な部分領域RAに対応する環状画像ROを含む処理済み画像データを生成できる。したがって、例えば、特定部分SPとは異なる部分が処理済画像SIに含まれることをさらに抑制することができる。
さらに、本実施例によれば、処理済画像SIは、撮影画像OI内の部分領域RAに対応する環状画像ROと、撮影画像OI内の部分領域RAとは異なる領域に対応する背景画像WBであって、白色を有する複数個の画素を含む背景画像WBと、を含む(図4(B))。上記構成によれば、特定部分SPとは異なる部分が、機械学習モデルMMを用いて出力される出力値に与える影響を適切に低減できる。背景画像WBの色は、全ての処理済画像SIにおいて共通の色となるためである。
さらに、上記実施例によれば、CPU210は、撮影画像データを用いて円状の輪郭IL、OLに対応する円領域(図7(A)の内側暗領域DAi)を特定する(図4(A)、図6のS100~S140)。そして、CPU210は、該円領域の重心を、円状の輪郭IL、OLの中心CPとして特定する(図4(A)、図6のS140)。この結果、撮影画像データを用いて、中心CPを精度良く特定することができる。
さらに、上記実施例によれば、CPU210は、撮影画像OI内の複数個の画素を前記複数個の画素の値に基づいて背景画素と非背景画素とに分類し(図6のS100)、分類結果を用いて円領域の候補である第1の候補領域(例えば、図7(A)の内側暗領域DAi)と第2の候補領域(例えば、図7(A)の外側暗領域DAo)とを特定する(図6のS100~S125)。CPU210は、第1の候補領域と第2の候補領域とのうち、真円に近い形状を有する領域を円領域として特定する(図6のS135)。この結果、円領域を精度良く特定でき、ひいては、円状の輪郭IL、OLの中心CPを精度良く特定することができる。
さらに、CPU210は、特定部分SPのコントラストを高くする補正処理(図6のS150)を含む生成処理を実行して、処理済画像データを生成する。この結果、特定部分のコントラストが高くされた処理済画像データを機械学習モデルに入力することができる。したがって、機械学習モデルを用いて、特定部分に含まれる特定部分の属性に関する適切な属性情報を出力することができる。
さらに、本実施例によれば、撮影画像データは、イメージセンサを用いてパッキング部材10を撮影することによって得られる撮影画像データである。撮影画像OIに含まれるオブジェクトPOは、パッキング部材10を示し、特定部分SPは、パッキング部材10の判定対象となる部分である先端部15を示す。CPU210は、パッキング部材10が先端部15に欠陥を有するか否かを示す出力値を出力する(図3のS30、図5のS60)。この結果、機械学習モデルMMを用いて、パッキング部材10が先端部15に欠陥を有するか否かを精度良く判定することができる。
なお、本実施例では、機械学習モデルMMは、画像データを取得する機能と、該画像データを入力データとして、複数個の演算パラメータ(例えば、上述した重みやバイアス)を用いて行われる演算であってCNNのアルゴリズムに従う演算を行うことによって、出力値を出力する機能と、をコンピュータに実現させるプログラム(プログラムモジュール)である、と言うことができる。
B.変形例:
(1)図10は、変形例の説明図である。図10には、変形例の撮影画像の簡略図が図示されている。これらの簡略図には、対象画像に含まれる特定部分だけが図示されている。上記実施例では、対象物を示すオブジェクトPOの特定部分SPは、環状の部分であるが、これに限られない。特定部分は、円状の輪郭を有する他の形状を有する部分であっても良い。
例えば、図10(A)の撮影画像OI1に含まれる特定部分SP1は、円状の輪郭OL1を有する円状の部分である。この場合には、例えば、CPU210は、撮影画像OI1を示す撮影画像データを用いて特定部分SP1の中心CP1を特定し、該撮影画像データを用いて処理済画像データを生成する。例えば、処理済画像は、該中心CP1と所定の半径を有する第1の円C11よりも内側の部分領域に対応する円形画像を含み、円形画像よりも外側の領域が白色に塗りつぶされた画像である。例えば、特定部分SP1は、例えば、対象物としてのコインの表面部分を示す画像であっても良い。この場合には、例えば、機械学習モデルを用いて、コインの種類を判定するために、本発明が適用されても良い。
また、図10(B)の撮影画像OI2に含まれる特定部分SP2、円状の輪郭OL2を有する部分である。特定部分SP2は、撮影画像OIのうち、輪郭OL2よりも外側の部分である。この場合には、例えば、CPU210は、撮影画像OI2を示す撮影画像データを用いて特定部分SP2の中心CP2を特定し、該撮影画像データを用いて処理済画像データを生成する。例えば、処理済画像は、該中心CP2と所定の半径を有する第1の円C12よりも外側の部分領域に対応する画像を含み、該画像よりも内側の円形領域が白色に塗りつぶされた画像である。例えば、特定部分SP2は、例えば、孔を有する部材(例えば、エンジンのシリンダブロック)の孔の近傍部分を示す画像であっても良い。この場合には、例えば、機械学習モデルを用いて、孔を基点とする亀裂の有無を判定するために、本発明が適用されても良い。
図10(A)、図10(B)の例は、第1の円のみに基づいて部分領域が特定でき、第2の円は不要な例である。
(2)上記実施例では、コンピュータプログラムPGは、学習処理を行う機能と、検査処理を行う機能と、の両方を実現する。これに代えて、学習処理を行う機能を実現する第1のコンピュータプログラムと、検査処理を行う機能を実現する第2のコンピュータプログラムとが、異なるプログラムであっても良い。この場合には、例えば、第1のコンピュータプログラムがインストールされた第1の計算機が学習処理を行うことによって、学習済みモデルを生成し、該学習済みモデルが組み込まれた第2のコンピュータプログラムがインストールされた第2の計算機が検査処理を行っても良い。
(3)上記実施例の入力前処理では、撮影画像データを用いて円領域を特定し、該円領域の中心を、円状の輪郭の中心CPとして特定している。中心CPを特定する手法はこれに限られない。例えば、中心CPは、撮影画像OI上の予め定められた位置に毎回特定されても良い。この場合には、例えば、パッキング部材10を撮影台に対して治具を用いて固定することによって、パッキング部材10が毎回同じ位置に精度良く配置できる構成とする。そして、撮影台に対してデジタルカメラ100を固定することによって、撮影画像OIにおけるオブジェクトPOの位置が毎回同じ位置に配置されるようにしても良い。
(4)上記実施例の入力前処理では、円領域は、複数個の候補領域のうち真円度CDが最も1に近い領域とされる。円領域を特定する手法はこれに限られない。例えば、CPU210は、撮影画像OIに所定のエッジ検出フィルタを適用して、エッジ画像を示すエッジ画像データを生成する。CPU210は、エッジ画像内においてパターンマッチングによって円形のエッジを検出する。CPU210は、円形のエッジのうち、所定の半径に最も近い半径を有するエッジを特定し、該エッジに囲まれた領域を円領域として特定しても良い。
(5)上記実施例の入力前処理は、適宜に変更され得る。例えば、図6のS105の膨張収縮処理、S145のクロッピング処理、S150のコントラスト補正処理の全部または一部は、省略されても良い。
(6)上記実施例では、出力値は、パッキング部材10の判定対象となる部分である先端部15に欠陥を有するか否かを示す情報であるが、これに限られない。例えば、上述したように、機械学習モデルMMを用いて、コインの種類を判定する場合には、出力値は、判定対象のコインが、3種以上のコインのうちのいずれであるかを示す情報であっても良い。一般的には、出力値は、撮影画像のうちの特定部分の属性に関する属性情報であれば良い。例えば、出力値は、特定部分の属性の複数個の候補(例えば、欠陥有りと欠陥無し)のうちの一つを示す情報であっても良い。
(7)上記実施例の図3の学習処理では、S35にて演算パラメータを調整する際に、教師データを用いるいわゆる教師付の学習が行われている。これに代えて、例えば、出力すべき出力値の内容によっては、教師データを用いないいわゆる教師無しの学習によって、演算パラメータが調整されても良い。
(8)上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、機械学習モデルMMを用いた演算の全部または一部(例えば、畳み込み演算)は、汎用のCPUとは別の専用のハードウェア回路によって実現されてもよい。
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
10…パッキング部材、12…孔、15…先端部、100…デジタルカメラ、200…計算機、210…CPU、220…揮発性記憶装置、230…不揮発性記憶装置、240…表示部、250…操作部、270…通信インタフェース、1000…検査システム、C1、C11、C12…第1の円、C2…第2の円、SA…矩形領域、RA…部分領域、OA…オブジェクト領域、LA…明領域、WB…背景画像、CD…真円度、PG…コンピュータプログラム、BG…背景、OI、OI1、OI2…撮影画像、SI…処理済画像、BI…二値画像、CI…抽出画像、AI…補正済画像、OI…対象画像、MM…機械学習モデル、UN…ムラ、RO…環状画像、PO…オブジェクト、CP…中心、SP、SP1、SP2…特定部分、Gr…欠陥無確率、Fr…欠陥有確率

Claims (11)

  1. コンピュータプログラムであって、
    特定種のオブジェクトを含む対象画像を示す対象画像データを取得する画像取得機能であって、前記特定種のオブジェクトは円状の輪郭を有する特定部分を含む、前記画像取得機能と、
    前記対象画像データを用いて、前記対象画像内の前記円状の輪郭の中心を特定する中心特定機能と、
    前記対象画像データを用いて、処理済画像を示す処理済画像データを生成する処理済画像生成機能であって、前記処理済画像は、特定された前記中心と第1の径とを有する第1の円に基づいて特定される前記対象画像内の部分領域に対応する画像を含み、前記部分領域は、前記対象画像内の前記特定部分を含み、前記対象画像の一部を含まない領域である、前記処理済画像生成機能と、
    前記処理済画像データを機械学習モデルに入力して、前記機械学習モデルを用いて前記特定部分の属性に関する属性情報を出力する属性出力機能と、
    コンピュータに実現させるコンピュータプログラム。
  2. 請求項1に記載のコンピュータプログラムであって、さらに、
    前記属性出力機能によって出力された前記属性情報を用いて、前記機械学習モデルにて用いられる複数個のパラメータを調整する調整機能と、
    コンピュータに実現させるコンピュータプログラム。
  3. 請求項1または2に記載のコンピュータプログラムであって、
    前記特定部分は、環状の部分であり、
    前記部分領域は、前記第1の円よりも外側であって、かつ、前記中心と前記第1の径よりも大きな第2の径とを有する第2の円よりも内側である環状の領域である、コンピュータプログラム。
  4. 請求項1~3のいずれかに記載のコンピュータプログラムであって、
    前記処理済画像は、前記対象画像内の前記部分領域に対応する第1画像と、前記部分領域とは異なる領域に対応する第2画像であって特定色を有する複数個の画素を含む前記第2画像と、を含む、コンピュータプログラム。
  5. 請求項1~4のいずれかに記載のコンピュータプログラムであって、
    前記中心特定機能は、
    前記対象画像データを用いて前記円状の輪郭に対応する円領域を特定し、
    前記円領域の重心を、前記円状の輪郭の中心として特定する、コンピュータプログラム。
  6. 請求項5に記載のコンピュータプログラムであって、
    前記中心特定機能は、
    前記対象画像内の複数個の画素を前記複数個の画素の値に基づいて分類し、
    前記分類結果を用いて前記円領域の候補である第1の候補領域と第2の候補領域とを特定し、
    前記第1の候補領域と前記第2の候補領域とのうち、真円に近い形状を有する領域を前記円領域として特定する、コンピュータプログラム。
  7. 請求項1~6のいずれかに記載のコンピュータプログラムであって、
    前記処理済画像生成機能は、前記対象画像内の前記特定部分のコントラストを高くする補正処理を含む生成処理を実行して、前記処理済画像データを生成する、コンピュータプログラム。
  8. 請求項1~7のいずれかに記載のコンピュータプログラムであって、
    前記対象画像データは、イメージセンサを用いて、判定対象となる部分を含む対象物を撮影することによって得られる撮影画像データであり、
    前記特定種のオブジェクトは、前記対象物を示し、
    前記特定部分は、前記対象物の前記判定対象となる部分を示し、
    前記属性出力機能は、前記対象物が前記判定対象となる部分に欠陥を有するか否かを示す前記属性情報を出力する、コンピュータプログラム。
  9. 学習済みモデルであって、
    画像データを取得する機能と、
    前記画像データを入力データとして、複数個のパラメータを用いて行われる演算であって特定の機械学習アルゴリズムに従う前記演算を行うことによって、属性情報を出力する機能と、
    をコンピュータに実現させ、
    前記複数個のパラメータは、複数個の処理済画像データを用いた学習処理によって調整済みであり、
    前記処理済画像データは、特定種のオブジェクトを含む対象画像を示す対象画像データを用いて生成され、
    前記特定種のオブジェクトは円状の輪郭を有する特定部分を含み、
    前記処理済画像データによって示される処理済画像は、前記対象画像内の前記特定部分を含み、前記対象画像の一部を含まない部分領域に対応する画像を含み、
    前記対象画像内の前記部分領域は、前記対象画像データを用いて特定される前記対象画像内の前記円状の輪郭の中心と、第1の径と、を有する第1の円に基づいて特定される領域であり、
    前記属性情報は、前記特定部分の属性に関する情報である、学習済みモデル。
  10. 画像処理装置であって、
    特定種のオブジェクトを含む対象画像を示す対象画像データを取得する画像取得部であって、前記特定種のオブジェクトは円状の輪郭を有する特定部分を含む、前記画像取得部と、
    前記対象画像データを用いて、前記対象画像内の前記円状の輪郭の中心を特定する中心特定部と、
    前記対象画像データを用いて、処理済画像を示す処理済画像データを生成する処理済画像生成部であって、前記処理済画像は、特定された前記中心と第1の径とを有する第1の円に基づいて特定される前記対象画像内の部分領域に対応する画像を含み、前記部分領域は、前記対象画像内の前記特定部分を含み、前記対象画像の一部を含まない領域である、前記処理済画像生成部と、
    前記処理済画像データを機械学習モデルに入力して、前記機械学習モデルを用いて前記特定部分の属性に関する属性情報を出力する属性出力部と、
    備える、画像処理装置。
  11. 属性情報の出力方法であって、
    特定種のオブジェクトを含む対象画像を示す対象画像データを取得する画像取得ステップであって、前記特定種のオブジェクトは円状の輪郭を有する特定部分を含む、前記画像取得ステップと、
    前記対象画像データを用いて、前記対象画像内の前記円状の輪郭の中心を特定する中心特定ステップと、
    前記対象画像データを用いて、処理済画像を示す処理済画像データを生成する処理済画像生成ステップであって、前記処理済画像は、特定された前記中心と第1の径とを有する第1の円に基づいて特定される前記対象画像内の部分領域に対応する画像を含み、前記部分領域は、前記対象画像内の前記特定部分を含み、前記対象画像の一部を含まない領域である、前記処理済画像生成ステップと、
    前記処理済画像データを機械学習モデルに入力して、前記機械学習モデルを用いて前記特定部分の属性に関する属性情報を出力する属性出力ステップと、
    を備える、属性情報の出力方法。
JP2019008853A 2019-01-22 2019-01-22 画像処理装置、学習済みモデル、コンピュータプログラム、および、属性情報の出力方法 Active JP7273358B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019008853A JP7273358B2 (ja) 2019-01-22 2019-01-22 画像処理装置、学習済みモデル、コンピュータプログラム、および、属性情報の出力方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019008853A JP7273358B2 (ja) 2019-01-22 2019-01-22 画像処理装置、学習済みモデル、コンピュータプログラム、および、属性情報の出力方法

Publications (2)

Publication Number Publication Date
JP2020119159A JP2020119159A (ja) 2020-08-06
JP7273358B2 true JP7273358B2 (ja) 2023-05-15

Family

ID=71890837

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019008853A Active JP7273358B2 (ja) 2019-01-22 2019-01-22 画像処理装置、学習済みモデル、コンピュータプログラム、および、属性情報の出力方法

Country Status (1)

Country Link
JP (1) JP7273358B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005093678A (ja) 2003-09-17 2005-04-07 Omron Corp 円形物におけるマーク検出方法、ノッチ検出方法、半導体ウェーハの向き検査方法、および半導体ウェーハの向き検査装置
JP2008164461A (ja) 2006-12-28 2008-07-17 Kochi Univ Of Technology 薄板状部品の検査方法と検査装置
JP2016133949A (ja) 2015-01-19 2016-07-25 株式会社メガチップス 判定装置及び制御プログラム並びに判定方法
WO2018150607A1 (ja) 2017-02-20 2018-08-23 Serendipity株式会社 外観検査装置、照明装置、撮影照明装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005093678A (ja) 2003-09-17 2005-04-07 Omron Corp 円形物におけるマーク検出方法、ノッチ検出方法、半導体ウェーハの向き検査方法、および半導体ウェーハの向き検査装置
JP2008164461A (ja) 2006-12-28 2008-07-17 Kochi Univ Of Technology 薄板状部品の検査方法と検査装置
JP2016133949A (ja) 2015-01-19 2016-07-25 株式会社メガチップス 判定装置及び制御プログラム並びに判定方法
WO2018150607A1 (ja) 2017-02-20 2018-08-23 Serendipity株式会社 外観検査装置、照明装置、撮影照明装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Xianen Zhou et al.,Automated Visual Inspection of Glass Bottle Bottom With Saliency Detection and Template Matching,IEEE Transactions on Instrumentation and Measurement,米国,IEEE,2019年01月04日,第68巻, 第11号,https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8602358

Also Published As

Publication number Publication date
JP2020119159A (ja) 2020-08-06

Similar Documents

Publication Publication Date Title
CN108369650B (zh) 标识校准图案的可能特征点的方法
JP5546317B2 (ja) 外観検査装置、外観検査用識別器の生成装置及び外観検査用識別器生成方法ならびに外観検査用識別器生成用コンピュータプログラム
CN113109368B (zh) 玻璃裂纹检测方法、装置、设备及介质
KR102559021B1 (ko) 불량 이미지 생성 장치 및 방법
CN110596120A (zh) 玻璃边界缺陷检测方法、装置、终端及存储介质
CN109523527A (zh) 图像中脏污区域的检测方法、装置和电子设备
CN113240673B (zh) 缺陷检测方法、装置、电子设备及存储介质
CN112200790B (zh) 布料缺陷检测方法、设备和介质
CN114764189A (zh) 用于评估图像处理结果的显微镜系统和方法
CN116057949A (zh) 用于量化图像中光耀斑的系统和方法
JP7273358B2 (ja) 画像処理装置、学習済みモデル、コンピュータプログラム、および、属性情報の出力方法
US20230402249A1 (en) Defect inspection apparatus
KR20220100673A (ko) 컨볼루션 컨텍스트 속성을 사용한 반도체 결함 발견
CN115797314B (zh) 零件表面缺陷检测方法、系统、设备及存储介质
US20240095983A1 (en) Image augmentation techniques for automated visual inspection
CN115719326A (zh) Pcb板缺陷检测方法及装置
KR20230036650A (ko) 영상 패치 기반의 불량 검출 시스템 및 방법
JP2022150065A (ja) 検査装置、コンピュータプログラム、および、検査方法
JP2001099625A (ja) パターン検査装置およびパターン検査方法
WO2022239671A1 (ja) 画像処理方法、コンピュータプログラム、画像処理装置、および、訓練方法
CN115456975A (zh) 基于改进Mask R-CNN的多背景下显示屏缺陷的实时分割方法
CN118037619A (en) Defect detection method, device, equipment, system and storage medium
JP2023067464A (ja) 画像生成モデル、および、画像生成モデルのトレーニング方法
JP2023051343A (ja) 判定データの生成方法、および、コンピュータプログラム
CN117541572A (zh) 一种pcb元器件缺陷检测方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230308

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230411

R150 Certificate of patent or registration of utility model

Ref document number: 7273358

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150