(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024082013
(43)【公開日】2024-06-19
(54)【発明の名称】画像処理装置、特徴抽出器の学習方法、識別器の更新方法、および画像処理方法
(51)【国際特許分類】
G06T 7/11 20170101AFI20240612BHJP
G06T 7/00 20170101ALI20240612BHJP
H04N 7/18 20060101ALI20240612BHJP
【FI】
G06T7/11
G06T7/00 350B
H04N7/18 K
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022195687
(22)【出願日】2022-12-07
(71)【出願人】
【識別番号】000207551
【氏名又は名称】株式会社SCREENホールディングス
(71)【出願人】
【識別番号】504145283
【氏名又は名称】国立大学法人 和歌山大学
(74)【代理人】
【識別番号】100135013
【弁理士】
【氏名又は名称】西田 隆美
(72)【発明者】
【氏名】岡山 敏之
(72)【発明者】
【氏名】野口 威
(72)【発明者】
【氏名】島田 佳典
(72)【発明者】
【氏名】和田 俊和
(72)【発明者】
【氏名】菅間 幸司
【テーマコード(参考)】
5C054
5L096
【Fターム(参考)】
5C054CA04
5C054CC02
5C054FC13
5C054FD07
5C054FE13
5C054HA05
5L096AA06
5L096BA03
5L096CA02
5L096DA01
5L096EA23
5L096FA02
5L096HA11
5L096KA04
(57)【要約】
【課題】画像中の領域種を推定する画像処理装置および画像処理方法において、ユーザの認識に近い推定結果を得ることができる技術を提供する。
【解決手段】画像処理装置50は、特徴抽出器53および識別器54を有する。特徴抽出器53は、入力された画像Diの各画素に対応する特徴ベクトルを、中間出力データDmとして出力する。識別器54は、特徴抽出器53から出力される中間出力データDmに基づいて、画像Diの各画素の領域種を推定した出力データDoを出力する。このように、特徴抽出器53および識別器54を用いて、画像Di中の領域種を推定する。このため、特徴抽出器53および識別器54を、推定結果Doに応じて調整することにより、ユーザの認識に近い推定結果Doを得ることができる。
【選択図】
図2
【特許請求の範囲】
【請求項1】
画像に含まれる複数種類の領域の領域種を推定する画像処理装置であって、
入力された画像の各画素に対応する特徴ベクトルを、中間出力データとして出力する特徴抽出器と、
前記特徴抽出器から出力される前記中間出力データに基づいて、前記画像の各画素の領域種を推定した出力データを出力する識別器と、
を有し、
前記領域種は、少なくとも第1領域および第2領域の2種類を含み、
特徴空間において、
最も近い既知の特徴ベクトルが、前記第1領域に属する既知の画素に対応する第1特徴ベクトルとなる領域を、前記第1特徴ベクトルの支配領域とし、
最も近い既知の特徴ベクトルが、前記第2領域に属する既知の画素に対応する第2特徴ベクトルとなる領域を、前記第2特徴ベクトルの支配領域として、
前記識別器は、
前記特徴抽出器から出力される特徴ベクトルが、前記第1特徴ベクトルの支配領域に属する場合、当該特徴ベクトルに対応する画素が、前記第1領域に属すると推定し、
前記特徴抽出器から出力される特徴ベクトルが、前記第2特徴ベクトルの支配領域に属する場合、当該特徴ベクトルに対応する画素が、前記第2領域に属すると推定する、画像処理装置。
【請求項2】
請求項1に記載の画像処理装置であって、
前記特徴空間は3次元である、画像処理装置。
【請求項3】
請求項1に記載の画像処理装置であって、
前記特徴抽出器は、機械学習モデルである、画像処理装置。
【請求項4】
請求項1に記載の画像処理装置であって、
前記識別器は、最近傍識別器である、画像処理装置。
【請求項5】
請求項1ないし請求項4のいずれかに記載の画像処理装置であって、
前記画像は、対象物の撮影画像であり、
前記第1領域は、前記対象物の欠陥を示す欠陥領域である、画像処理装置。
【請求項6】
請求項3に記載の画像処理装置が有する特徴抽出器の学習方法であって、
a)前記第1領域および前記第2領域を含む学習用画像を準備する工程と、
b)前記学習用画像に対して、既知の前記第1領域と、既知の前記第2領域とを、指定する工程と、
c)前記特徴抽出器に、既知の前記第1領域と既知の前記第2領域とを入力し、前記特徴抽出器から、前記特徴ベクトルを出力させる工程と、
d)前記特徴空間内において、前記第1領域に対応する特徴ベクトルと、前記第2領域に対応する特徴ベクトルとが、分離するように、前記特徴抽出器のパラメータを調整する工程と、
を有する、学習方法。
【請求項7】
請求項6に記載の学習方法であって、
前記工程d)では、Loss関数が小さくなるように前記パラメータが調整され、
前記Loss関数は、同一の前記領域種に対応する特徴ベクトルの間には引力が作用し、異なる前記領域種に対応する特徴ベクトル間には斥力が作用する関数である、学習方法。
【請求項8】
請求項6に記載の学習方法であって、
e)前記工程d)により前記パラメータを調整済みの特徴抽出器に、前記学習用画像を入力し、前記中間出力データを出力させる工程と、
f)前記中間出力データを前記識別器に入力し、前記学習用画像の各画素の領域種を推定する工程と、
g)前記工程f)の推定結果をユーザに対して表示する工程と、
h)前記ユーザに、前記特徴抽出器を再学習するか否かの選択を求める工程と、
を有し、
前記工程h)において、ユーザが前記特徴抽出器の再学習を選択した場合、前記工程b)~d)を再度実行する、学習方法。
【請求項9】
請求項1ないし請求項4のいずれかに記載の識別器の更新方法であって、
i)前記特徴抽出器に画像を入力し、前記特徴抽出器から前記中間出力データを出力させる工程と、
j)前記中間出力データを前記識別器に入力し、前記画像の各画素の領域種を推定する工程と、
k)前記工程j)の推定結果をユーザに対して表示する工程と、
l)前記ユーザに、前記識別器を更新するか否かの選択を求める工程と、
を有し、
前記工程l)において、ユーザが前記識別器の更新を選択した場合、
m)前記画像に対して、既知の前記第1領域と、既知の前記第2領域とを、再指定する工程と、
n)前記工程m)において再指定された既知の前記第1領域および既知の前記第2領域に基づいて、前記識別器の更新を行う工程と、
を実行する、更新方法。
【請求項10】
画像に含まれる複数種類の領域の領域種を推定する画像処理方法であって、
P)被検査画像を特徴抽出器に入力し、前記被検査画像の各画素に対応する特徴ベクトルを、中間出力データとして前記特徴抽出器から出力する工程と、
Q)前記中間出力データを識別器に入力し、前記被検査画像の各画素の領域種を推定した出力データを前記識別器から出力する工程と、
を有し、
前記領域種は、少なくとも第1領域および第2領域の2種類を含み、
特徴空間において、
最も近い既知の特徴ベクトルが、前記第1領域に属する既知の画素に対応する第1特徴ベクトルとなる領域を、前記第1特徴ベクトルの支配領域とし、
最も近い既知の特徴ベクトルが、前記第2領域に属する既知の画素に対応する第2特徴ベクトルとなる領域を、前記第2特徴ベクトルの支配領域として、
前記工程Q)では、前記識別器が、
前記特徴抽出器から出力される特徴ベクトルが、前記第1特徴ベクトルの支配領域に属する場合、当該特徴ベクトルに対応する画素が、前記第1領域に属すると推定し、
前記特徴抽出器から出力される特徴ベクトルが、前記第2特徴ベクトルの支配領域に属する場合、当該特徴ベクトルに対応する画素が、前記第2領域に属すると推定する、画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像に含まれる複数種類の領域の領域種を推定する技術に関する。
【背景技術】
【0002】
従来、工業製品の画像を撮影し、得られた画像に基づいて工業製品の欠陥を検出する検査装置が知られている。工業製品の欠陥を検出する検査技術については、例えば、特許文献1に記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
この種の検査装置では、従来、撮影画像に対してルールベースの画像処理を行うことにより、画像中の欠陥領域を検出していた。しかしながら、ルールベースの画像処理では、閾値などの多数のパラメータを、人による判断で設定する必要がある。また、ルールベースの画像処理では、検査装置から出力される欠陥領域と、ユーザが欠陥と考える領域との間に、差が生じやすく、その差を縮めるためにパラメータを適切に設定することが困難であった。
【0005】
また、上記の問題は、欠陥検出を目的とした画像処理に限らず、画像に含まれる複数種類の領域を識別する場合一般に生じ得る問題である。
【0006】
本発明は、このような事情に鑑みなされたものであり、画像中の領域種を推定する画像処理装置および画像処理方法において、ユーザの認識に近い推定結果を得ることができる技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するため、本願の第1発明は、画像に含まれる複数種類の領域の領域種を推定する画像処理装置であって、入力された画像の各画素に対応する特徴ベクトルを、中間出力データとして出力する特徴抽出器と、前記特徴抽出器から出力される前記中間出力データに基づいて、前記画像の各画素の領域種を推定した出力データを出力する識別器と、を有し、前記領域種は、少なくとも第1領域および第2領域の2種類を含み、特徴空間において、最も近い既知の特徴ベクトルが、前記第1領域に属する既知の画素に対応する第1特徴ベクトルとなる領域を、前記第1特徴ベクトルの支配領域とし、最も近い既知の特徴ベクトルが、前記第2領域に属する既知の画素に対応する第2特徴ベクトルとなる領域を、前記第2特徴ベクトルの支配領域として、前記識別器は、前記特徴抽出器から出力される特徴ベクトルが、前記第1特徴ベクトルの支配領域に属する場合、当該特徴ベクトルに対応する画素が、前記第1領域に属すると推定し、前記特徴抽出器から出力される特徴ベクトルが、前記第2特徴ベクトルの支配領域に属する場合、当該特徴ベクトルに対応する画素が、前記第2領域に属すると推定する、画像処理装置。
【0008】
本願の第2発明は、第1発明の画像処理装置であって、前記特徴空間は3次元である。
【0009】
本願の第3発明は、第1発明または第2発明の画像処理装置であって、前記特徴抽出器は、機械学習モデルである。
【0010】
本願の第4発明は、第1発明ないし第3発明のいずれかの画像処理装置であって、前記識別器は、最近傍識別器である。
【0011】
本願の第5発明は、第1発明ないし第4発明のいずれかの画像処理装置であって、前記画像は、対象物の撮影画像であり、前記第1領域は、前記対象物の欠陥を示す欠陥領域である。
【0012】
本願の第6発明は、第3発明の画像処理装置が有する特徴抽出器の学習方法であって、a)前記第1領域および前記第2領域を含む学習用画像を準備する工程と、b)前記学習用画像に対して、既知の前記第1領域と、既知の前記第2領域とを、指定する工程と、c)前記特徴抽出器に、既知の前記第1領域と既知の前記第2領域とを入力し、前記特徴抽出器から、前記特徴ベクトルを出力させる工程と、d)前記特徴空間内において、前記第1領域に対応する特徴ベクトルと、前記第2領域に対応する特徴ベクトルとが、分離するように、前記特徴抽出器のパラメータを調整する工程と、を有する。
【0013】
本願の第7発明は、第6発明の学習方法であって、前記工程d)では、Loss関数が小さくなるように前記パラメータが調整され、前記Loss関数は、同一の前記領域種に対応する特徴ベクトルの間には引力が作用し、異なる前記領域種に対応する特徴ベクトル間には斥力が作用する関数である。
【0014】
本願の第8発明は、第6発明または第7発明の学習方法であって、e)前記工程d)により前記パラメータを調整済みの特徴抽出器に、前記学習用画像を入力し、前記中間出力データを出力させる工程と、f)前記中間出力データを前記識別器に入力し、前記学習用画像の各画素の領域種を推定する工程と、g)前記工程f)の推定結果をユーザに対して表示する工程と、h)前記ユーザに、前記特徴抽出器を再学習するか否かの選択を求める工程と、を有し、前記工程h)において、ユーザが前記特徴抽出器の再学習を選択した場合、前記工程b)~d)を再度実行する。
【0015】
本願の第9発明は、第1発明ないし第5発明のいずれかに記載の識別器の更新方法であって、i)前記特徴抽出器に画像を入力し、前記特徴抽出器から前記中間出力データを出力させる工程と、j)前記中間出力データを前記識別器に入力し、前記画像の各画素の領域種を推定する工程と、k)前記工程j)の推定結果をユーザに対して表示する工程と、l)前記ユーザに、前記識別器を更新するか否かの選択を求める工程と、を有し、前記工程l)において、ユーザが前記識別器の更新を選択した場合、m)前記画像に対して、既知の前記第1領域と、既知の前記第2領域とを、再指定する工程と、n)前記工程m)において再指定された既知の前記第1領域および既知の前記第2領域に基づいて、前記識別器の更新を行う工程と、を実行する。
【0016】
本願の第10発明は、画像に含まれる複数種類の領域の領域種を推定する画像処理方法であって、P)被検査画像を特徴抽出器に入力し、前記被検査画像の各画素に対応する特徴ベクトルを、中間出力データとして前記特徴抽出器から出力する工程と、Q)前記中間出力データを識別器に入力し、前記被検査画像の各画素の領域種を推定した出力データを前記識別器から出力する工程と、を有し、前記領域種は、少なくとも第1領域および第2領域の2種類を含み、特徴空間において、最も近い既知の特徴ベクトルが、前記第1領域に属する既知の画素に対応する第1特徴ベクトルとなる領域を、前記第1特徴ベクトルの支配領域とし、最も近い既知の特徴ベクトルが、前記第2領域に属する既知の画素に対応する第2特徴ベクトルとなる領域を、前記第2特徴ベクトルの支配領域として、前記工程Q)では、前記識別器が、前記特徴抽出器から出力される特徴ベクトルが、前記第1特徴ベクトルの支配領域に属する場合、当該特徴ベクトルに対応する画素が、前記第1領域に属すると推定し、前記特徴抽出器から出力される特徴ベクトルが、前記第2特徴ベクトルの支配領域に属する場合、当該特徴ベクトルに対応する画素が、前記第2領域に属すると推定する。
【発明の効果】
【0017】
本願の第1発明~第10発明によれば、特徴抽出器および識別器を用いて、画像中の領域種を推定する。このため、特徴抽出器および識別器を、推定結果に応じて調整することにより、ユーザの認識に近い推定結果を得ることができる。
【図面の簡単な説明】
【0018】
【
図2】コンピュータの機能を概念的に示したブロック図である。
【
図3】学習用画像または被検査画像の例を示した図である。
【
図4】識別器が有する特徴空間の例を示した図である。
【
図5】画像処理装置の学習処理の流れを示したフローチャートである。
【
図6】特徴抽出器の学習処理の流れを示したフローチャートである。
【
図7】被検査画像に対する識別処理の流れを示したフローチャートである。
【
図8】被検査画像に対して識別処理を行った後に、識別器の更新または特徴抽出器の再学習を行う場合のフローチャートである。
【発明を実施するための形態】
【0019】
以下、本発明の実施形態について、図面を参照しつつ説明する。
【0020】
<1.検査装置の構成>
図1は、本発明の一実施形態に係る画像処理装置を含む検査装置1の構成を示した図である。この検査装置1は、対象物9の画像を撮影し、得られた画像に基づいて、対象物9中の欠陥を検出する装置である。対象物9は、例えば、半導体基板である。ただし、対象物9は、フラットパネルディスプレイ用基板、プリント基板等の他の精密電子部品であってもよい。また、対象物9は、印刷用紙等のシート状の基材であってもよい。また、対象物9は、細胞や胚などの生体試料であってもよい。
【0021】
図1に示すように、検査装置1は、撮像部10、コンピュータ20、表示部30、および入力部40を備える。
【0022】
撮像部10は、対象物9を撮影するためのカメラ11を有する。カメラ11は、CCDやCMOS等の撮像素子と、対象物9から入射する光を撮像素子に結像させる光学系とを有する。撮像部10は、撮影時に対象物9に光を照射する照明装置を有していてもよい。撮像部10は、コンピュータ20と電気的に接続されている。
【0023】
図1に示すように、対象物9の表面には、配線パターンなどの被検査パターン91が形成されている。撮像部10は、対象物9の表面に形成された被検査パターン91を撮像する。これにより、被検査パターン91を含む撮影画像D1が得られる。撮影画像D1は、多数の画素が二次元座標上に配列され、各画素に輝度値が規定されたデータである。撮像部10は、撮影により得られた撮影画像D1を、コンピュータ20へ入力する。
【0024】
コンピュータ20は、撮像部10から入力される撮影画像D1に基づいて、対象物9の欠陥を検出する装置である。
図1に示すように、コンピュータ20は、CPU等のプロセッサ21、RAM等のメモリ22、およびハードディスクドライブ等の記憶部23を有する。
【0025】
記憶部23には、後述する学習処理および識別処理をコンピュータ20に実行させるためのコンピュータプログラム24が記憶されている。コンピュータプログラム24は、CDやDVDなどのコンピュータ20により読み取り可能な記憶媒体から読み取られて、記憶部23に記憶される。ただし、コンピュータプログラム24は、ネットワーク経由でコンピュータ20にダウンロードされるものであってもよい。
【0026】
表示部30は、検査装置1の処理に関する種々の情報を表示する装置である。表示部30には、例えば、液晶表示装置が使用される。入力部40は、検査装置1の処理に関する種々の情報を入力する装置である。入力部40には、例えば、キーボードやマウスが使用される。なお、表示部30と入力部40とは、タッチパネル等の単一の装置であってもよい。表示部30および入力部40は、コンピュータ20と電気的に接続されている。
【0027】
<2.コンピュータについて>
図2は、上述したコンピュータ20の機能を、概念的に示したブロック図である。
図2に示すように、コンピュータ20は、画像切り出し部51、既知領域指定部52、特徴抽出器53、識別器54、および学習部55を有する。画像切り出し部51、既知領域指定部52、特徴抽出器53、識別器54、および学習部55の各機能は、コンピュータ20のプロセッサ21が、コンピュータプログラム24に従って動作することにより実現される。
【0028】
画像切り出し部51は、撮影画像D1から、学習用画像Dtと被検査画像Diとを切り出す処理部である。学習用画像Dtは、後述する学習処理に使用される画像である。被検査画像Diは、検査対象となる画像である。
【0029】
画像切り出し部51は、被検査パターン91の領域を判別して、撮影画像D1から学習用画像Dtおよび被検査画像Diを、自動的に切り出してもよい。あるいは、画像切り出し部51は、入力部40から入力される情報に基づいて、撮影画像D1から学習用画像Dtおよび被検査画像Diを切り出してもよい。また、学習用画像Dtと被検査画像Diとは、異なる撮影画像D1から切り出されるものであってもよい。
【0030】
図3は、学習用画像Dtまたは被検査画像Diの例を示した図である。対象物9の表面には、被検査パターン91の欠け、突起、線幅異常、異物などの欠陥が存在する。したがって、
図3に示すように、学習用画像Dtおよび被検査画像Diには、これらの欠陥に相当する領域(以下「欠陥領域」と称する)A1と、欠陥ではない正常な領域(以下「背景領域」と称する)A2とが、含まれる。
【0031】
既知領域指定部52は、学習用画像Dtに対して、既知の欠陥領域a1と、既知の背景領域a2とを、指定する処理部である。既知領域指定部52は、学習用画像Dtを、表示部30に表示する。ユーザは、表示部30に表示された学習用画像Dtを確認しながら、入力部40を操作して、1つ以上の既知の欠陥領域a1と、1つ以上の既知の背景領域a2とを指定する。既知領域指定部52は、入力部40から入力された既知の欠陥領域a1および既知の背景領域a2を、記憶部23に記憶させる。
【0032】
特徴抽出器53および識別器54は、被検査画像Diを、欠陥領域A1と背景領域A2とに分類して出力する画像処理装置50を構成する。画像処理装置50は、被検査画像Diに含まれる複数の画素が、それぞれ、欠陥領域A1に属する画素(以下「欠陥画素」と称する)であるか、それとも、背景領域A2に属する画素(以下「背景画素」と称する)であるかを、推定する。そして、画像処理装置50は、被検査画像Diのうち、欠陥画素と推定された画素により構成される領域を、欠陥領域A1として推定し、背景画素と推定された画素により構成される領域を、背景領域A2として推定する。
【0033】
特徴抽出器53は、入力された画像に対して特徴抽出を行う処理部である。特徴抽出器53は、入力された画像に基づいて、特徴ベクトルを出力する。特徴ベクトルは、複数の次元により規定される特徴空間のベクトルである。特徴空間の次元数は、例えば3次元とされる。ただし、特徴空間の次元数は、2次元であってもよく、あるいは、4次元以上であってもよい。
【0034】
特徴抽出器53は、再学習可能な学習済み機械学習モデルにより構成される。特徴抽出器53には、例えば、畳み込みニューラルネットワーク(Convolutional Neural Network,CNN)を使用することができる。ただし、機械学習モデルとして、ニューラルネットワークのフルコネクテッド層、Vision Transformer等の他のモデルを使用してもよい。特徴抽出器53は、既知領域指定部52により指定された既知の欠陥領域a1および既知の背景領域a2に基づいて、学習部55が学習処理を行うことにより、生成される。学習処理の詳細については、後述する。
【0035】
特徴抽出器53は、入力された画像の各画素を、特徴ベクトルに変換する。すなわち、特徴空間の次元数が3次元の場合、特徴抽出器53は、画像の各画素を、3種類の特徴量を有する特徴ベクトルに変換する。そして、特徴抽出器53は、画像に含まれる複数の画素に対応する複数の特徴ベクトルを、中間出力データDmとして、識別器54へ出力する。
【0036】
なお、特徴抽出器53は、機械学習モデルにより構成される第1特徴抽出器と、ルールベースの第2特徴抽出器とを組み合わせたものであってもよい。その場合、例えば、第1特徴抽出器により2種類の特徴量を抽出し、第2特徴抽出器により1種類の特徴量を抽出して、これらの3種類の特徴量により、特徴ベクトルを生成してもよい。
【0037】
識別器54は、特徴抽出器53から出力される中間出力データDmに基づいて、被検査画像Di中の欠陥領域A1と背景領域A2を識別する処理部である。すなわち、識別器54は、中間出力データDmに基づいて、被検査画像Diの各部の領域種(欠陥領域A1または背景領域A2)を推定する処理部である。識別器54には、例えば、最近傍識別器が使用される。
【0038】
識別器54は、特徴空間内に、複数の既知の特徴ベクトルを有する。既知の特徴ベクトルとは、上述した既知領域指定部52において指定された既知の欠陥領域a1および背景領域a2に属する画素に対応する特徴ベクトルである。既知の欠陥画素に対応する特徴ベクトル(以下「欠陥特徴ベクトルv1」と称する)には、欠陥領域A1を示す教師ラベルが付されている。既知の背景画素に対応する特徴ベクトル(以下「背景特徴ベクトルv2」と称する)には、背景領域A2を示す教師ラベルが付されている。欠陥特徴ベクトルv1は、本発明における「第1特徴ベクトル」の一例である。背景特徴ベクトルv2は、本発明における「第2特徴ベクトル」の一例である。
【0039】
図4は、識別器54が有する特徴空間の例を示した図である。
図4に示すように、識別器54では、特徴空間が、欠陥特徴ベクトルv1の支配領域T1と、背景特徴ベクトルv2の支配領域T2とに、区分されている。欠陥特徴ベクトルv1の支配領域T1では、当該領域内の各座標に最も近い既知の特徴ベクトルが、欠陥特徴ベクトルv1となる。背景特徴ベクトルv2の支配領域T2では、当該領域内の各座標に最も近い既知の特徴ベクトルが、背景特徴ベクトルv2となる。
【0040】
識別器54は、中間出力データDmに含まれる複数の特徴ベクトル(識別対象となる特徴ベクトル)が、欠陥特徴ベクトルv1の支配領域T1および背景特徴ベクトルv2の支配領域T2のいずれに属するかを判定する。そして、識別器54は、欠陥特徴ベクトルv1の支配領域T1に属する特徴ベクトルに対応する被検査画像Di中の画素を、欠陥画素と推定する。また、識別器54は、背景特徴ベクトルv2の支配領域T2に属する特徴ベクトルに対応する被検査画像Di中の画素を、背景画素と推定する。
【0041】
識別器54は、被検査画像Diを、欠陥領域A1と背景領域A2とに分類した結果である結果画像Doを、表示部30に出力する。識別器54は、例えば、被検査画像Di中の欠陥画素と推定された画素を、特定の色に着色することにより、結果画像Doを作成する。ただし、識別器54は、背景画素と推定された画素も、欠陥画素とは異なる色に着色してもよい。また、識別器54は、欠陥領域A1を外形線で囲むなどの方法で、欠陥領域A1と背景領域A2を区別した結果画像Doを作成してもよい。結果画像Doは「出力データ」の一例である。
【0042】
<3.学習処理について>
続いて、上述した画像処理装置50の学習処理について、説明する。
図5は、画像処理装置50の学習処理の流れを示したフローチャートである。
【0043】
図5に示すように、コンピュータ20は、まず、学習用画像Dtを準備する(ステップS11)。具体的には、画像切り出し部51が、撮影画像D1から、学習用画像Dtを切り出す。学習用画像Dtの数は、1つであってもよく、複数であってもよい。既知領域指定部52は、得られた学習用画像Dtを、表示部30に表示する。
【0044】
次に、ユーザは、学習用画像Dtに対して、既知の欠陥領域a1と、既知の背景領域a2とを指定する(ステップS12)。具体的には、ユーザは、
図3のように、表示部30に表示された学習用画像Dtを確認しながら、入力部40を操作して、1つ以上の既知の欠陥領域a1と、1つ以上の既知の背景領域a2とを指定する。この操作は、例えば、表示部30に表示された学習用画像Dt上で、指定すべき領域をドラッグすることにより、行われる。
【0045】
既知領域指定部52は、指定された既知の欠陥領域a1に属する画素(既知の欠陥画素)に、欠陥領域A1の教師ラベルを付与する。また、既知領域指定部52は、指定された既知の背景領域a2に属する画素(既知の背景画素)に、背景領域A2の教師ラベルを付与する。そして、既知領域指定部52は、指定された各領域に属する画素を、教師ラベルとともに、記憶部23に記憶させる。
【0046】
続いて、学習部55は、既知領域指定部52において指定された既知の欠陥領域a1および既知の背景領域a2を教師データとして、特徴抽出器53の学習を行う(ステップS13)。
図6は、ステップS13の処理の流れを示したフローチャートである。
【0047】
図6に示すように、学習部55は、まず、特徴抽出器53として使用するCNN等の機械学習モデルに、既知の欠陥領域a1および既知の背景領域a2を入力する(ステップS31)。すると、機械学習モデルは、既知の欠陥領域a1および既知の背景領域a2の各画素に対応する特徴ベクトルを出力する。
【0048】
次に、学習部55は、機械学習モデルから出力された特徴ベクトルに基づいて、Loss関数(損失関数)を算出する(ステップS32)。Loss関数は、例えば、次式で定義される。このLoss関数は、同一の領域種に対応する(同一の教師ラベルを有する)特徴ベクトルの間には引力が作用し、異なる領域種に対応する(異なる教師ラベルを有する)特徴ベクトルの間には斥力が作用する関数である。
【数1】
【0049】
上記のLoss関数において、xi,xjは、特徴ベクトルを表す。また、上記のLoss関数において、ti,tjは、教師ラベルを表す。具体的には、ti,tjは、欠陥領域A1および背景領域A2のいずれかの教師ラベルを表す。(ti=tj)は、特徴ベクトルxi,xjの教師ラベルが同一であることを表す。(otherwise)は、特徴ベクトルxi,xjの教師ラベルが同一でないことを表す。εは、0除算を回避するための定数である。αは、特徴ベクトルxi,xjの教師ラベルが同一である場合に、2つの特徴ベクトルxi,xjの間に作用する引力の強さを表す。βは、特徴ベクトルxi,xjの教師ラベルが同一でない場合に、2つの特徴ベクトルxi,xjの間に作用する斥力の強さを表す。α,βは、いずれも正の値である。
【0050】
上記のLoss関数では、特徴ベクトルxi,xj間の距離を示す(xi-xj)の絶対値が分母に入っている。このため、特徴ベクトルxi,xj間の距離が大きい場合には、Loss関数の絶対値は小さくなる。この場合、特徴ベクトルxi,xjの間に作用する引力または斥力の影響が小さくなる。また、特徴ベクトルxi,xjが同一の教師ラベルを有し(ti=tjの場合)、かつ、特徴ベクトルxi,xj間の距離が小さい場合には、Loss関数が、より小さいマイナスの値となる。一方、特徴ベクトルxi,xjが異なる教師ラベルを有し(otherwiseの場合)、かつ、特徴ベクトルxi,xj間の距離が小さい場合には、Loss関数が、大きい値となる。この場合、特徴ベクトルxi,xjの間に作用する斥力の影響が大きくなる。
【0051】
ステップS32においてLoss関数が算出されると、学習部55は、特徴抽出器53の学習を終了するか否かを判断する(ステップS33)。具体的には、学習部55は、Loss関数により算出された値を、所定の閾値と比較する。Loss関数により算出された値が、所定の閾値よりも大きい場合(ステップS33:No)、学習部55は、特徴抽出器53の学習を継続する。この場合、学習部55は、Loss関数により算出される値が小さくなるように、機械学習モデルのパラメータを調整して(ステップS34)、ステップS31~S33の処理を再度実行する。
【0052】
ステップS31~S34の処理を繰り返すと、次第に、機械学習モデルから出力される特徴空間において、欠陥画素に対応する特徴ベクトルと、背景画素に対応する特徴ベクトルとが、分離するようになる。学習部55は、Loss関数により算出される値が閾値以下になると(ステップS33:Yes)、特徴抽出器53の学習を終了する。
【0053】
上記の学習処理により、入力画像に基づいて、欠陥画素に対応する特徴ベクトルと、背景画素に対応する特徴ベクトルとが、特徴空間において分離するように、各画素の特徴ベクトルを出力することが可能な特徴抽出器53が生成される。ただし、欠陥画素に対応する特徴ベクトルは、特徴空間において1箇所に集合する必要はない。欠陥画素に対応する特徴ベクトルは、特徴空間の複数箇所に、それぞれ集合してもよい。また、背景画素に対応する特徴ベクトルも、特徴空間において1箇所に集合する必要はない。背景画素に対応する特徴ベクトルは、特徴空間の複数箇所に、それぞれ集合してもよい。
【0054】
図5に戻る。ステップS13において特徴抽出器53の学習が終了すると、学習部55は、次に、識別器54の更新を行う(ステップS14)。ステップS14では、識別器54において、特徴空間を設定するとともに、当該特徴空間に、
図4のように、複数の既知の欠陥特徴ベクトルv1と、複数の既知の背景特徴ベクトルv2とを設定する。既知の欠陥特徴ベクトルv1は、ステップS12で指定した既知の欠陥領域a1に属する複数の欠陥画素に基づいて、学習済みの特徴抽出器53が出力する特徴ベクトルである。既知の背景特徴ベクトルv2は、ステップS12で指定した既知の背景領域a2に属する複数の背景画素に基づいて、学習済みの特徴抽出器53が出力する特徴ベクトルである。
【0055】
また、ステップS14では、特徴空間において、欠陥特徴ベクトルv1の支配領域T1と、背景特徴ベクトルv2の支配領域T2とが、設定される。欠陥特徴ベクトルv1の支配領域T1は、当該領域内の各座標に最も近い既知の特徴ベクトルが、欠陥特徴ベクトルv1となる領域である。背景特徴ベクトルv2の支配領域T2は、当該領域内の各座標に最も近い既知の特徴ベクトルが、背景特徴ベクトルv2となる領域である。2つの支配領域T1,T2の境界では、最も近い既知の欠陥特徴ベクトルv1までの距離と、最も近い既知の背景特徴ベクトルv2までの距離とが、等距離となる。
【0056】
続いて、学習部55は、学習用画像Dtの全体を、学習済みの特徴抽出器53に入力する(ステップS15)。これにより、特徴抽出器53は、学習用画像Dtの全体の各画素に対応する特徴ベクトルを、中間出力データDmとして出力する。
【0057】
その後、識別器54が、特徴抽出器53から出力される中間出力データDmに基づいて、学習用画像Dt中の欠陥領域A1と背景領域A2を識別する(ステップS16)。識別器54は、中間出力データDmに含まれる複数の特徴ベクトルが、欠陥特徴ベクトルv1の支配領域T1および背景特徴ベクトルv2の支配領域T2のいずれに属するかを判定する。そして、識別器54は、欠陥特徴ベクトルv1の支配領域T1に属する特徴ベクトルに対応する学習用画像Dt中の画素を、欠陥画素と推定する。また、識別器54は、背景特徴ベクトルv2の支配領域T2に属する特徴ベクトルに対応する学習用画像Dt中の画素を、背景画素と推定する。
【0058】
識別器54は、学習用画像Dt中の欠陥画素と推定された画素を、特定の色に着色する。これにより、欠陥領域A1と背景領域A2の推定結果を示す結果画像Doが作成される。識別器54は、作成した結果画像Doを、表示部30に表示する(ステップS17)。ユーザは、表示部30に表示された結果画像Doを見ることにより、学習用画像Dtにおける欠陥領域A1と背景領域A2の識別結果を、視覚的に確認できる。
【0059】
なお、識別器54は、背景画素も、欠陥画素とは異なる色に着色してもよい。また、識別器54は、欠陥領域A1を外形線で囲むなどの方法で、欠陥領域A1と背景領域A2とを識別可能な結果画像Doを作成してもよい。
【0060】
続いて、学習部55は、ユーザに、識別器54を更新するか否かの選択を求める(ステップS18)。ユーザは、結果画像Doにより示された識別結果が不十分と判断した場合、識別器54の更新を選択する(ステップS18:Yes)。この場合、ユーザは、学習用画像Dtに対して、既知の欠陥領域a1と、既知の背景領域a2とを再指定する(ステップS19)。
【0061】
ステップS19では、ユーザは、結果画像Doを参照しつつ、識別器54が誤推定していると思う箇所を、学習用画像Dtにおいて指定する。そして、当該箇所に、ユーザが正しいと考える教師ラベルを付与する。例えば、ユーザが欠陥領域A1であると考える画素が、結果画像Doにおいて背景領域A2となっている場合、ユーザは、当該画素を、既知の欠陥領域a1として指定する。また、ユーザが背景領域A2であると考える画素が、結果画像Doにおいて欠陥領域A1となっている場合、ユーザは、当該画素を、既知の背景領域a2として指定する。
【0062】
この場合、学習部55は、再指定された既知の欠陥領域a1および既知の背景領域a2に基づいて、識別器54の更新を行う(ステップS20)。すなわち、上述したステップS14と同様に、特徴空間において、既知の欠陥特徴ベクトルv1と、既知の背景特徴ベクトルv2とを、再設定する。これにより、特徴空間において、欠陥特徴ベクトルv1の支配領域T1と、背景特徴ベクトルv2の支配領域T2とが、更新される。
【0063】
識別器54が更新された後、識別器54は、ステップS15で出力された中間出力データDmに基づいて、学習用画像Dt中の欠陥領域A1と背景領域A2を、再度識別する(ステップS16)。そして、識別器54は、欠陥領域A1と背景領域A2の識別結果を示す結果画像Doを、表示部30に再度表示する(ステップS17)。ユーザは、結果画像Doにより示される識別結果が良好であるか否かを、再度判断する(ステップS18)。
【0064】
このように、ステップS16~S20の処理を繰り返すことにより、特徴空間における欠陥特徴ベクトルv1の支配領域T1と、背景特徴ベクトルv2の支配領域T2とを、ユーザの認識を反映した適切な状態に、近づけることができる。したがって、結果画像Doにより示される識別結果を、ユーザの認識に近づけることができる。
【0065】
結果画像Doにより示される識別結果が納得できる場合、ユーザは、ステップS18において、識別器54の更新を選択しない(ステップS18:No)。また、識別器54の更新だけでは、所望の識別結果を得られないと判断した場合も、ユーザは、ステップS18において、識別器54の更新を選択しない(ステップS18:No)。
【0066】
この場合、次に、学習部55は、ユーザに、特徴抽出器53を再学習するか否かの選択を求める(ステップS21)。ユーザは、結果画像Doにより示された識別結果が、識別器54の更新だけでは十分に改善していないと判断した場合、特徴抽出器53の再学習を選択する(ステップS21:Yes)。この場合、ユーザは、学習用画像Dtに対して、既知の欠陥領域a1と、既知の背景領域a2とを再指定する(ステップS22)。
【0067】
ステップS22では、ユーザは、ステップS19と同様に、結果画像Doを参照しつつ、識別器54が誤推定していると思う箇所を、学習用画像Dtにおいて指定する。そして、当該箇所に、ユーザが正しいと考える教師ラベルを付与する。
【0068】
その後、ステップS13に戻り、学習部55は、再指定された既知の欠陥領域a1および既知の背景領域a2に基づいて、特徴抽出器53の学習を再度行う(ステップS13)。具体的には、
図6のステップS31~S34の処理を、再度行う。これにより、再指定された既知の欠陥領域a1および既知の背景領域a2に基づいて、特徴抽出器53のパラメータが更新される。その結果、特徴抽出器53による特徴ベクトルの出力精度が向上する。
【0069】
その後、ステップS14~S17の処理を再度実行する。これにより、欠陥領域A1と背景領域A2の識別結果を示す結果画像Doが、表示部30に再度表示される(ステップS17)。ユーザは、結果画像Doにより示される識別結果が良好であるか否かを、再度判断する(ステップS18,S21)。
【0070】
このように、ステップS13~S22の処理を繰り返すことにより、特徴抽出器53により出力される中間出力データDmを、ユーザの認識を反映した適切な状態に、近づけることができる。したがって、結果画像Doにより示される識別結果を、ユーザの認識に、より近づけることができる。
【0071】
ステップS13~S22の処理により、ユーザが納得できる結果画像Doが得られた場合、ユーザは、ステップS21において、特徴抽出器53の再学習を選択しない(ステップS21:No)。これにより、精度のよい特徴抽出器53および識別器54を得ることができる。
【0072】
<4.識別処理について>
上記のステップS13~S22の処理が終了した後、画像処理装置50は、被検査画像Diに対して、欠陥領域A1と背景領域A2の識別処理を行う。
図7は、被検査画像Diに対する識別処理の流れを示したフローチャートである。
【0073】
図7に示すように、コンピュータ20は、まず、被検査画像Diを準備する(ステップS41)。具体的には、画像切り出し部51が、撮影画像D1から、被検査画像Diを切り出す。
【0074】
次に、画像処理装置50は、得られた被検査画像Diを、学習済みの特徴抽出器53に入力する(ステップS42)。これにより、特徴抽出器53は、被検査画像Diの各画素に対応する特徴ベクトルを、中間出力データDmとして出力する。
【0075】
続いて、識別器54が、特徴抽出器53から出力される中間出力データDmに基づいて、被検査画像Di中の欠陥領域A1と背景領域A2を識別する(ステップS43)。識別器54は、中間出力データDmに含まれる複数の特徴ベクトルが、欠陥特徴ベクトルv1の支配領域T1および背景特徴ベクトルv2の支配領域T2のいずれに属するかを判定する。そして、識別器54は、欠陥特徴ベクトルv1の支配領域T1に属する特徴ベクトルに対応する被検査画像Di中の画素を、欠陥画素と推定する。また、識別器54は、背景特徴ベクトルv2の支配領域T2に属する特徴ベクトルに対応する被検査画像Di中の画素を、背景画素と推定する。
【0076】
識別器54は、被検査画像Di中の欠陥画素と推定された画素を、特定の色に着色する。これにより、欠陥領域A1と背景領域A2の推定結果を示す結果画像Doが作成される。識別器54は、作成した結果画像Doを、表示部30に表示する(ステップS44)。ユーザは、表示部30に表示された結果画像Doを見ることにより、被検査画像Diにおける欠陥領域A1と背景領域A2の識別結果を、視覚的に確認できる。
【0077】
なお、識別器54は、背景画素も、欠陥画素とは異なる色に着色してもよい。また、識別器54は、欠陥領域A1を外形線で囲むなどの方法で、欠陥領域A1と背景領域A2とを識別可能な結果画像Doを作成してもよい。
【0078】
以上のように、この画像処理装置50では、特徴抽出器53および識別器54を用いて、画像中の欠陥領域A1および背景領域A2を推定する。このため、特徴抽出器53および識別器54を、推定結果に応じて調整することにより、ユーザの認識に近い推定結果を得ることができる。
【0079】
図8は、被検査画像Diに対して識別処理を行った後に、識別器54の更新または特徴抽出器53の再学習を行う場合のフローチャートである。ユーザは、ステップS44において表示部30に表示された結果画像Doを確認し、推定結果が不適切と判断した場合、
図8のように、識別器54の更新または特徴抽出器53の再学習を行ってもよい。
【0080】
識別器54の更新を行う場合(ステップS18:Yes)、上述したステップS19~S20と同等の処理を行えばよい。また、特徴抽出器53の再学習を行う場合(ステップS21:Yes)、上述したステップS22およびステップS13と同等の処理を行えばよい。これにより、被検査画像Diに対する識別処理を開始した後においても、領域の推定結果を、ユーザの認識により近づけることができる。
【0081】
<5.変形例>
以上、本発明の一実施形態について説明したが、本発明は、上記の実施形態に限定されるものではない。以下では、種々の変形例について、上記の実施形態との相違点を中心に説明する。
【0082】
上記の実施形態では、画像処理装置50は、入力された画像に含まれる2種類の領域(欠陥領域A1と背景領域A2)の領域種を推定するものであった。しかしながら、本発明の画像処理装置および画像処理方法は、入力された画像に含まれる3種類以上の領域の領域種を推定するものであってもよい。
【0083】
上記の実施形態では、欠陥領域A1が「第1領域」に相当し、背景領域A2が「第2領域」に相当する。しかしながら、画像処理装置50が識別する領域種は、欠陥領域A1および背景領域A2以外の領域を含んでいてもよい。すなわち、画像処理装置50が識別する領域種は、「第1領域」「第2領域」に限らず、「第3領域」等を有していてもよい。
【0084】
上記の実施形態では、欠陥特徴ベクトルv1が「第1特徴ベクトル」に相当し、背景特徴ベクトルv2が「第2特徴ベクトル」に相当する。しかしながら、特徴空間に設定される既知の特徴ベクトルは、「第1特徴ベクトル」「第2特徴ベクトル」に限らず、「第3特徴ベクトル」等を有していてもよい。
【0085】
上記の実施形態では、画像処理装置50が、対象物9の欠陥を検出する検査装置1に搭載されていた。しかしながら、画像処理装置50は、検査以外の目的で、画像中の複数の領域種を推定するものであってもよい。
【0086】
また、上述した方法や装置の細部については、本発明の趣旨を逸脱しない範囲で、適宜に変更したり、一部を省略したりすることが可能である。また、上記の実施形態や変形例に登場した各要素を、矛盾が生じない範囲で、適宜に組み合わせてもよい。
【符号の説明】
【0087】
1 検査装置
9 対象物
10 撮像部
11 カメラ
20 コンピュータ
30 表示部
40 入力部
50 画像処理装置
51 画像切り出し部
52 既知領域指定部
53 特徴抽出器
54 識別器
55 学習部
A1 欠陥領域
A2 背景領域
D1 撮影画像
Dt 学習用画像
Di 被検査画像
Dm 中間出力データ
Do 結果画像
T1 欠陥特徴ベクトルv1の支配領域
T2 背景特徴ベクトルv2の支配領域
a1 既知の欠陥領域
a2 既知の背景領域
v1 欠陥特徴ベクトル
v2 背景特徴ベクトル