(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-08
(45)【発行日】2024-07-17
(54)【発明の名称】学習装置、学習方法、検査装置、検査方法、及び、プログラム
(51)【国際特許分類】
G01N 21/88 20060101AFI20240709BHJP
G06T 7/00 20170101ALI20240709BHJP
【FI】
G01N21/88 J
G06T7/00 350C
(21)【出願番号】P 2023503280
(86)(22)【出願日】2021-03-04
(86)【国際出願番号】 JP2021008389
(87)【国際公開番号】W WO2022185474
(87)【国際公開日】2022-09-09
【審査請求日】2023-08-31
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100107331
【氏名又は名称】中村 聡延
(74)【代理人】
【識別番号】100104765
【氏名又は名称】江上 達夫
(74)【代理人】
【識別番号】100131015
【氏名又は名称】三輪 浩誉
(72)【発明者】
【氏名】並木 重哲
(72)【発明者】
【氏名】小川 拓也
(72)【発明者】
【氏名】井上 恵子
(72)【発明者】
【氏名】谷内田 尚司
(72)【発明者】
【氏名】細井 利憲
【審査官】小野寺 麻美子
(56)【参考文献】
【文献】特開2019-106090(JP,A)
【文献】特開2015-038441(JP,A)
【文献】特開2004-294360(JP,A)
【文献】特開2020-107104(JP,A)
【文献】特開平04-142412(JP,A)
【文献】米国特許出願公開第2019/0318469(US,A1)
【文献】中国特許出願公開第109187579(CN,A)
【文献】韓国公開特許第10-2019-0110500(KR,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01N 21/84 - G01N 21/958
G06T 1/00 - G06T 19/20
G06N 3/00 - G06N 99/00
(57)【特許請求の範囲】
【請求項1】
対象物を撮影した時系列の撮影画像を取得する取得手段と、
前記撮影画像を認識する認識モデルを学習し、前記認識モデルによる正解サンプル群と不正解サンプル群とを得るごとに、前記正解サンプル群と前記不正解サンプル群とを用いて、画像中の特徴量に基づいて前記撮影画像から複数のグループを識別するグループ識別モデル
を学習し、前記グループ識別モデルにより得られた不正解サンプル群を用いて、前記認識モデルとは別の認識モデルを学習することで、
前記グループ識別モデルと複数の認識モデルと、を同時に学習する学習手段と、
を備える学習装置。
【請求項2】
前記学習手段は、前記グループ識別モデルの学習と前記認識モデルの学習を交互に繰り返し行う請求項1に記載の学習装置。
【請求項3】
前記学習手段は、前記認識モデルによる推論結果が不正解を含む場合に、前記認識モデルの数を増加させる請求項2に記載の学習装置。
【請求項4】
前記学習手段は、前記グループ識別モデルの学習と前記認識モデルの学習の繰り返し回
数が所定回数に達するか、前記認識モデルの精度が所定の精度に達するか、前記認識モデルの精度の改善幅が所定の閾値以下になったかのいずれかの場合に、学習を終了する請求項2又は3に記載の学習装置。
【請求項5】
前記認識モデルは、前記撮影画像に含まれる前記対象物の異常を判定する請求項1乃至4のいずれか一項に記載の学習装置。
【請求項6】
前記学習手段は、前段NNと後段NNを含む1つのNNを学習し、
前記グループ識別モデルは前段NNにより構成され、前記複数の認識モデルは後段NNにより構成されている請求項1に記載の学習装置。
【請求項7】
前記前段NNは、前記グループの識別の結果を示す重みを前記後段NNに出力し、
前記後段NNは、前記撮影画像と前記重みとに基づいて、前記撮影画像に含まれる前記対象物の異常度を出力する請求項6に記載の学習装置。
【請求項8】
対象物を撮影した時系列の撮影画像を取得し、
前記撮影画像を認識する認識モデルを学習し、前記認識モデルによる正解サンプル群と不正解サンプル群とを得るごとに、前記正解サンプル群と前記不正解サンプル群とを用いて、画像中の特徴量に基づいて前記撮影画像から複数のグループを識別するグループ識別モデル
を学習し、前記グループ識別モデルにより得られた不正解サンプル群を用いて、前記認識モデルとは別の認識モデルを学習することで、
前記グループ識別モデルと複数の認識モデルと、を同時に学習する学習方法。
【請求項9】
対象物を撮影した時系列の撮影画像を取得し、
前記撮影画像を認識する認識モデルを学習し、前記認識モデルによる正解サンプル群と不正解サンプル群とを得るごとに、前記正解サンプル群と前記不正解サンプル群とを用いて、画像中の特徴量に基づいて前記撮影画像から複数のグループを識別するグループ識別モデル
を学習し、前記グループ識別モデルにより得られた不正解サンプル群を用いて、前記認識モデルとは別の認識モデルを学習することで、
前記グループ識別モデルと複数の認識モデルと、を同時に学習する処理をコンピュータに実行させるプログラム。
【請求項10】
対象物を撮影した時系列の撮影画像を取得する取得手段と、
グループ識別モデルを用いて、画像中の特徴量に基づいて前記撮影画像から複数のグループを識別するグループ識別手段と、
複数の認識モデルを用いて、各グループに属する撮影画像を認識して前記対象物の異常を判定する認識手段と、
前記複数の認識モデルによる判定結果を統合して最終判定結果を出力する統合手段と、
を備え、
前記グループ識別モデルと前記複数の認識モデルは
、請求項1に記載の学習装置によって同時に学習されたものである検査装置。
【請求項11】
請求項1に記載の学習装置によって同時に学習されたグループ識別モデル及び複数の認識モデルを取得し、
対象物を撮影した時系列の撮影画像を取得し、
前記グループ識別モデルを用いて、画像中の特徴量に基づいて前記撮影画像から複数のグループを識別し、
複数の認識モデルを用いて、各グループに属する撮影画像を認識して前記対象物の異常を判定し、
前記複数の認識モデルによる判定結果を統合して最終判定結果を出力する検査方法。
【請求項12】
請求項1に記載の学習装置によって同時に学習されたグループ識別モデル及び複数の認識モデルを取得し、
対象物を撮影した時系列の撮影画像を取得し、
前記グループ識別モデルを用いて、画像中の特徴量に基づいて前記撮影画像から複数のグループを識別し、
複数の認識モデルを用いて、各グループに属する撮影画像を認識して前記対象物の異常を判定し、
前記複数の認識モデルによる判定結果を統合して最終判定結果を出力する処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像を利用した対象物の検査手法に関する。
【背景技術】
【0002】
製品の撮影画像を用いて異常検査を行う手法が提案されている。例えば、特許文献1は、検査対象物である錠剤の画像を3方向から撮影し、3方向の画像に対して形状検査、色彩検査、割り欠け検査を行って錠剤の良否を判定する外観検査装置を開示している。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1の外観検査装置では、検査対象物の3方向の画像に対して同じ検査を行っている。しかし、現実には検査対象物の面や部分毎に異常の傾向が異なることが多い。
【0005】
本発明の1つの目的は、検査対象物の面や部分毎に適した画像認識方法で異常判定を行うことが可能な検査装置を提供することにある。
【課題を解決するための手段】
【0006】
本発明の一つの観点では、学習装置は、
対象物を撮影した時系列の撮影画像を取得する取得手段と、
前記撮影画像を認識する認識モデルを学習し、前記認識モデルによる正解サンプル群と不正解サンプル群とを得るごとに、前記正解サンプル群と前記不正解サンプル群とを用いて、画像中の特徴量に基づいて前記撮影画像から複数のグループを識別するグループ識別モデルを学習し、前記グループ識別モデルにより得られた不正解サンプル群を用いて、前記認識モデルとは別の認識モデルを学習することで、前記グループ識別モデルと複数の認識モデルと、を同時に学習する学習手段と、を備える。
【0007】
本発明の他の観点では、学習方法は、
対象物を撮影した時系列の撮影画像を取得し、
前記撮影画像を認識する認識モデルを学習し、前記認識モデルによる正解サンプル群と不正解サンプル群とを得るごとに、前記正解サンプル群と前記不正解サンプル群とを用いて、画像中の特徴量に基づいて前記撮影画像から複数のグループを識別するグループ識別モデルを学習し、前記グループ識別モデルにより得られた不正解サンプル群を用いて、前記認識モデルとは別の認識モデルを学習することで、前記グループ識別モデルと複数の認識モデルと、を同時に学習する。
【0008】
本発明のさらに他の観点では、プログラムは、
対象物を撮影した時系列の撮影画像を取得し、
前記撮影画像を認識する認識モデルを学習し、前記認識モデルによる正解サンプル群と不正解サンプル群とを得るごとに、前記正解サンプル群と前記不正解サンプル群とを用いて、画像中の特徴量に基づいて前記撮影画像から複数のグループを識別するグループ識別モデルを学習し、前記グループ識別モデルにより得られた不正解サンプル群を用いて、前記認識モデルとは別の認識モデルを学習することで、前記グループ識別モデルと複数の認識モデルと、を同時に学習する処理をコンピュータに実行させる。
【0009】
本発明のさらに他の観点では、検査装置は、
対象物を撮影した時系列の撮影画像を取得する取得手段と、
グループ識別モデルを用いて、画像中の特徴量に基づいて前記撮影画像から複数のグループを識別するグループ識別手段と、
複数の認識モデルを用いて、各グループに属する撮影画像を認識して前記対象物の異常を判定する認識手段と、
前記複数の認識モデルによる判定結果を統合して最終判定結果を出力する統合手段と、
を備え、
前記グループ識別モデルと前記複数の認識モデルは、請求項1に記載の学習装置によって同時に学習されたものである。
【0010】
本発明のさらに他の観点では、検査方法は、
請求項1に記載の学習装置によって同時に学習されたグループ識別モデル及び複数の認識モデルを取得し、
対象物を撮影した時系列の撮影画像を取得し、
前記グループ識別モデルを用いて、画像中の特徴量に基づいて前記撮影画像から複数のグループを識別し、
複数の認識モデルを用いて、各グループに属する撮影画像を認識して前記対象物の異常を判定し、
前記複数の認識モデルによる判定結果を統合して最終判定結果を出力する。
【0011】
本発明のさらに他の観点では、プログラムは、
請求項1に記載の学習装置によって同時に学習されたグループ識別モデル及び複数の認識モデルを取得し、
対象物を撮影した時系列の撮影画像を取得し、
前記グループ識別モデルを用いて、画像中の特徴量に基づいて前記撮影画像から複数のグループを識別し、
複数の認識モデルを用いて、各グループに属する撮影画像を認識して前記対象物の異常を判定し、
前記複数の認識モデルによる判定結果を統合して最終判定結果を出力する処理をコンピュータに実行させる。
【発明の効果】
【0012】
本発明によれば、検査対象物の面や部分毎に適した画像認識方法で異常判定を行うことが可能となる。
【図面の簡単な説明】
【0013】
【
図2】第1実施形態に係る検査装置のハードウェア構成を示す。
【
図3】第1実施形態に係る検査装置の機能構成を示す。
【
図4】対象物体画像系列を取得するための構成を示す。
【
図5】グループ識別部及び認識器の学習方法を説明する図である。
【
図6】グループ識別部及び認識器の学習のための構成を示す。
【
図7】グループ識別部、認識器の学習処理のフローチャートである。
【
図8】検査装置による検査時(推論時)の構成を示す。
【
図9】検査装置による検査処理のフローチャートである。
【
図10】第2実施形態に係る検査装置の機能構成を示す。
【
図11】ニューラルネットワークの構成を模式的に示す。
【
図12】ニューラルネットワークの学習時の構成を示す。
【
図13】ニューラルネットワークの学習処理のフローチャートである。
【
図15】検査装置による検査処理のフローチャートである。
【
図16】第3実施形態に係る学習装置の機能構成を示す。
【
図17】第3実施形態の学習装置による処理のフローチャートである。
【
図18】第4実施形態に係る検査装置の機能構成を示す。
【
図19】第4実施形態の検査装置による処理のフローチャートである。
【発明を実施するための形態】
【0014】
以下、図面を参照して、本発明の好適な実施形態について説明する。
<第1実施形態>
[検査の概要]
まず、本発明に係る検査装置100による検査の概要について説明する。
図1(A)は、検査装置100を用いた検査の様子を示す。本実施形態では、検査の対象物を錠剤5とする。錠剤5は、例えば矢印方向にエアーを送ることによりレール2内を矢印の方向に移動する。なお、図示の便宜上、
図1(A)ではレール2の側壁2xを破線で示している。
【0015】
レール2の上方には照明3と高速カメラ4が配置される。対象物の形状や検出すべき異常の種類に応じて、様々な強度及び照明範囲の照明が複数設置される。特に錠剤5などの小さい対象物の場合、微小な異常の種類、度合い、位置などは様々であるため、複数の照明を用いて照明条件を様々に変えて撮影を行ってもよい。
【0016】
高速カメラ4は、照明下の錠剤5を高速撮影し、撮影画像を検査装置100へ出力する。錠剤5を移動させつつ高速カメラ4で撮影すると、錠剤5に存在する微小な異常個所を逃さず撮影することができる。具体的に、錠剤5に生じる異常としては、髪の毛の付着、微細な欠けなどがある。
【0017】
錠剤5は、レール2に設けた反転機構により反転する。
図1(A)では、便宜上、反転機構の図示を省略し、レール2上での錠剤の挙動のみを示している。以下、説明の便宜上、錠剤5の割線の設けられた面を「A面」と呼び、割線の無い方の面を「B面」と呼び、錠剤5を側方から見た面を「側面」と呼ぶ。なお、「割線」とは、錠剤を半分に割るために、錠剤の片面に設けられた切り込みやくぼみを言う。
【0018】
図1(B)は、レール2に設けられた反転機構を模式的に示す。図示のように、レール2の側壁2xの内側には、反転機構として、レール2の幅を狭くした狭窄部7が設けられている。狭窄部7は、レール2の側壁2xを内側に張り出すように形成したものである。錠剤5は、狭窄部7以外の領域では基本的に倒れた状態で移動するが、狭窄部7を通過する際に立ち上がり、狭窄部7を通過した後に反対側に倒れる。こうして、錠剤5はレール2上で反転する。
【0019】
図1(C)は、高速カメラ4(以下、単に「カメラ4」と呼ぶ。)による撮影画像の例を示す。なお、
図1(C)は、カメラ4による撮影画像のうち、対象物体である錠剤5の領域のみを抽出した画像であり、後述する対象物体画像系列に相当する。錠剤5は、A面が上側になるようにセットされて
図1(B)の左側からレール2上を矢印方向に移動し、その間にカメラ4は錠剤の5のA面を撮影する。その後、錠剤5は狭窄部7で立ち上がり、そのときにカメラ4は錠剤5の側面を撮影する。狭窄部7を通過すると、錠剤5は反対側に倒れるので、その後カメラ4は錠剤のB面を撮影する。こうして、
図1(C)に示すように、錠剤のA面、側面、B面を含む時系列画像(以下、「画像系列」とも呼ぶ。)が得られる。なお、錠剤5はエアーにより送られているため、狭窄部7では立ち上がり、周方向に回転しつつレール2上を移動する。よって、カメラ4は、錠剤5の側面の全周を撮影することができる。こうして、錠剤5のあらゆる面を撮影することができる。
【0020】
[ハードウェア構成]
図2は、第1実施形態に係る検査装置100のハードウェア構成を示すブロック図である。図示のように、検査装置100は、インタフェース(I/F)11と、プロセッサ12と、メモリ13と、記録媒体14と、データベース(DB)15と、入力部16と、表示部17と、を備える。
【0021】
インタフェース11は、外部装置との間でデータの入出力を行う。具体的に、カメラ4により撮影された錠剤の画像系列(時系列画像)は、インタフェース11を通じて入力される。また、検査装置100により生成された異常の判定結果は、インタフェース11を通じて外部の装置へ出力される。
【0022】
プロセッサ12は、CPU(Central Processing Unit)などのコンピュータであり、予め用意されたプログラムを実行することにより、検査装置100の全体を制御する。なお、プロセッサ12は、GPU(Graphics Processing Unit)またはFPGA(Field-Programmable Gate Array)であってもよい。プロセッサ12は、後述する検査処理を実行する。
【0023】
メモリ13は、ROM(Read Only Memory)、RAM(Random Access Memory)などにより構成される。メモリ13は、プロセッサ12による各種の処理の実行中に作業メモリとしても使用される。
【0024】
記録媒体14は、ディスク状記録媒体、半導体メモリなどの不揮発性で非一時的な記録媒体であり、検査装置100に対して着脱可能に構成される。記録媒体14は、プロセッサ12が実行する各種のプログラムを記録している。検査装置100が各種の処理を実行する際には、記録媒体14に記録されているプログラムがメモリ13にロードされ、プロセッサ12により実行される。
【0025】
DB15は、必要に応じて、カメラから入力された画像系列を記憶する。入力部16は、ユーザが指示や入力を行うためのキーボード、マウスなどにより構成される。表示部17は、例えば液晶ディスプレイなどにより構成され、対象物の認識結果などを表示する。
【0026】
[機能構成]
図3は、第1実施形態に係る検査装置100の機能構成を示すブロック図である。検査装置100は、カメラ4から入力された画像系列(以下、「入力画像系列」と呼ぶ。)に基づいて錠剤5の異常を判定し、判定結果を出力する。図示のように、検査装置100は、対象物体領域抽出部21と、グループ識別部22と、複数の認識器23と、統合部24とを備える。
【0027】
対象物体領域抽出部21は、入力画像系列から、検査の対象物体である錠剤5の領域を抽出し、対象物体の領域を示す画像系列(以下、「対象物体画像系列」と呼ぶ。)を出力する。対象物体画像系列は、
図1(C)に例示するように、カメラ4で撮影した画像のうち、対象物体の部分のみを抽出した画像の集合である。
【0028】
グループ識別部22は、グループ識別モデルを用いて、対象物体画像系列を構成する複数のフレーム画像を複数のグループにグループ分けする。グループ識別部22は、グループ分けにより得られた各グループの画像系列を、対応する認識器23へ出力する。各認識器23は、認識モデルを用いて、各グループの画像系列に対して画像認識を行い、異常の有無を判定する。各認識器23は、それぞれ判定結果を統合部24へ出力する。なお、グループ識別部22が使用するグループ識別モデル、及び、認識器23が使用する認識モデルの学習については後述する。
【0029】
統合部24は、複数の認識器23が出力した判定結果に基づいて、錠剤5の最終的な判定結果を生成する。例えば、各認識器23が錠剤5の正常/異常を2値判定(0:正常、1:異常)する場合、統合部24はmax関数を用いて、複数の認識器23の判定結果が1つでも異常を含めば、最終判定結果を異常とする。また、認識器23が錠剤5の異常度を「0」~「1」の値で出力する場合、統合部24はmax関数を用いて、最も異常度の高かった画像の異常度を最終判定結果として出力する。
【0030】
上記の構成において、対象物体領域抽出部21は取得手段の一例であり、グループ識別部22はグループ識別手段の一例であり、認識器23は認識手段の一例であり、統合部24は統合手段の一例である。
【0031】
[各部の処理]
(対象物体画像系列の取得)
図4は、対象物体画像系列を取得するための構成を示す。カメラ4の画角内で反転機構7により対象物体である錠剤5を反転させ、その様子をカメラ4で撮影することにより入力画像系列31が得られる。対象物体領域抽出部21は、入力画像系列31から、対象物体の部分を示す対象物体画像系列32を出力する。これにより、
図1(C)に例示するような対象物体画像系列が得られる。
【0032】
(グループ識別部、認識器の学習)
図5は、グループ識別部22及び認識器23の学習方法を説明する図である。本実施形態では、グループ識別部22と認識器23を同時に、即ち時間的に並行して学習する。具体的には、認識器23の認識モデルの学習とグループ識別部22のグループ識別モデルの学習とを交互に繰り返し、必要な数の認識モデルを生成する。より具体的には、まず認識器23を学習し、次にグループ識別部22を学習する処理を1回のループ処理とし、このループ処理を所定の終了条件が具備されるまで繰り返す。以下、上記のループ処理の繰り返し回数を「k」で示す。また、認識器23(認識モデル)の数を「N」で示し、学習処理の開始時には認識モデルの数N=1であるものとする。
【0033】
図5において、対象物体領域抽出部21から入力された対象物体画像系列32に含まれる個々のフレーム画像を「サンプルS」と呼ぶ。各サンプルSは、1つの錠剤5の撮影により得られたものである。学習時には、各サンプルSに対して、そのサンプルが対象物体の異常を含むか否かを示す入力ラベル(正解ラベル)が予め用意されている。
【0034】
図5に示すように、まず、1回目(k=1)のループ処理では、対象物体画像系列の全サンプルSを用いて、1つの認識モデルM1を学習する。学習の際には、推論結果を予め用意した入力ラベルと比較することにより認識モデルM1が学習される。学習が終了すると、学習済みの認識モデルM1に全サンプルSを入力して推論を行い、学習済みの認識モデルM1が正しく異常を判定できたか否かを判定する。これにより、全サンプルSは、認識モデルM1が正解したサンプル群(以下、「正解サンプル群」とも呼ぶ。)k1と、認識モデルM1が間違えたサンプル群(以下、「不正解サンプル群」とも呼ぶ。)k1’とに分けられる。ここで、認識モデルM1が正解した正解サンプル群k1は、認識モデルM1により正しく異常判定ができたサンプル群である。これに対し、認識モデルM1が間違えた不正解サンプル群k1’は、認識モデルM1によっては正しく異常を判定することが難しいサンプルであると考えられる。言い換えると、全サンプルSの異常判定を正しく行うためには、1つの認識モデルM1のみでは不十分であり、認識モデルM1が間違えたサンプル群k1’については別の少なくとも1つの認識モデルを用意する必要がある。即ち、必要な認識モデルの数N=2となる。
【0035】
こうして、認識モデルを2つにする必要が生じたので、全サンプルSを2つのグループに分けるグループ識別モデルGを学習する。具体的には、正解サンプル群k1と不正解サンプル群k1’とを用いて、グループ識別モデルGを学習する。グループ識別モデルGの学習が終わると、得られたグループ識別モデルGに全サンプルSを入力し、不正解サンプル群k1’’を得る。なお、前述の不正解サンプル群k1’は認識モデルM1による結果であり、グループ識別モデルGによる識別結果とは必ずしも一致しないので、グループ識別モデルGにより得られた不正解サンプル群を「k1’’」として区別している。
【0036】
こうして、全サンプルSを2つのグループに分けるグループ識別モデルGが得られたので、次に、2つ目の認識モデルを生成する。具体的には、不正解サンプル群k1’’を用いて、認識モデルM1とは別の認識モデルM2を学習する。そして、得られた認識モデルM2に対して不正解サンプル群k1’’を入力して推論を行い、認識モデルM2による正解サンプル群k2と、不正解サンプル群k2’とを得る。
【0037】
ここで、不正解サンプル群k2’は、追加した認識モデルM2によっては正しく異常を判定することが難しいサンプル群である。即ち、全サンプルSを正しく異常判定するためには、認識モデルM1とM2では不十分であり、さらに追加の認識モデルが必要ということになる。よって、次に必要な認識モデルの数をさらに1つ増加してN=3とし、全サンプルSを3つのグループに分けるようにグループ識別モデルGを学習する。
【0038】
こうして、以下の終了条件が具備されるまで、上記のループ処理を繰り返し、グループ識別モデルの更新と、認識モデルの追加を行う。
(a)上記のループ処理が所定回数に達する(k=kmax)。
(b)認識モデルが一定の精度を達成し、不正解サンプル群の数が十分に減少する。
(c)認識モデルの精度の改善幅が閾値以下になる(即ち、それ以上精度が改善しない状態となる)。
こうして、撮影により生成された対象物体画像系列に応じて適切な数の認識器23を用いて、異常判定を行うことが可能となる。
【0039】
なお、認識モデル数の増加に伴ってグループ識別モデルGを更新する手法は、グループ識別モデルGの種類によって異なる。例えば、グループ識別モデルGとしてk-means又はSVM:Support Vector Machine)を用いる場合、モデルを追加して更新を行う。また、グループ識別モデルGとしてKdtreeを用いる場合、グループ数を増やして再学習を行う。
【0040】
実際の学習においては、上記のループ処理を繰り返していくと、不正解サンプル群に属するサンプル数は減少していく。よって、グループ識別モデルや追加する認識モデルの学習のためには、データ拡張などにより学習に用いるデータ数を確保する必要がある。また、ループ処理の繰り返しにより、正解サンプル群と不正解サンプル群のデータ数のインバランスが生じるので、必要に応じてオーバーサンプリングやアンダーサンプリングによりインバランスを解消することが好ましい。
【0041】
図6は、グループ識別部22及び認識器23の学習のための構成を示す。まず、ループ処理の1ステップ目(k=1)において、対象物体領域抽出部21が生成した対象物体画像系列32がk(=1)番目の認識器23へ入力される。認識器学習部41は、対象物体画像系列32と入力ラベル系列33を用いて1番目の認識器23を学習し、1番目の認識器23に対応する認識器パラメータP1を生成する。また、学習により得られた1番目の認識器23に対象物体画像系列32が入力されて推論が行われ、正解画像/不正解画像34が得られる。正解画像は前述の正解サンプル群k1に相当し、不正解画像は前述の不正解サンプル群k1’に相当する。
【0042】
不正解画像が得られると、グループ学習部42は、ループ処理の繰り返し数kを1つ増加し(k=k+1)、k(=2)個のグループにグループ分けを行うようにグループ識別モデルを学習し、グループ識別部パラメータP2を生成する。
【0043】
ループ処理の2ステップ目(k=2)では、1ステップ目で得られたグループ識別部パラメータP2がグループ識別部22に設定される。グループ識別部22は、対象物体画像系列32を2個のグループに分ける推論を行う。これにより、不正解推定画像35(前述の不正解サンプル群k1’’に対応)が得られる。認識器学習部41は、不正解推定画像35と入力ラベル系列33とを用いて2番目の認識器23を学習し、2番目の認識器23に対応する認識器パラメータP1を生成する。また、学習により得られた2番目の認識器23に対象物体画像系列32が入力されて推論が行われ、正解/不正解画像34が得られる。正解画像は前述の正解サンプル群k2に相当し、不正解画像は前述の不正解サンプル群k2’に相当する。
【0044】
不正解画像が得られると、グループ学習部42は、ループ処理の繰り返し数kをさらに1つ増加し、k(=3)個のグループにグループ分けを行うようにグループ識別モデルを学習し、グループ識別部パラメータP2を生成する。そして、2ステップ目と同様に、3ステップ目(k=3)の処理が実行される。こうして、前述の終了条件が具備されるまでループ処理が繰り返し実行され、処理が終了した時点における認識器パラメータP1とグループ識別部パラメータP2により、認識モデルとグループ認識モデルが得られる。
【0045】
上記の構成において、対象物体領域抽出部21は取得手段の一例であり、認識器学習部41及びグループ学習部42は、学習手段の一例である。
【0046】
図7は、グループ識別部、認識器の学習処理のフローチャートである。この処理は、
図2に示すプロセッサ12が予め用意されたプログラムを実行することにより実現される。まず、反転機構を通過する対象物体をカメラ4で撮影し、入力画像系列31が生成される(ステップS11)。次に、対象物体領域抽出部21は、入力画像系列31から背景差分等を用いて対象物体の画像領域を抽出し、追跡することで対象物体画像系列32を出力する(ステップS12)。
【0047】
次に、k(=1)番目の認識器23により対象物体画像系列32の推論を行う(ステップS13)。認識器学習部41は、k番目の認識器23の推論結果と入力ラベルとによりk番目の認識器23を学習し、認識器パラメータP1を得る。また、認識器学習部41は、学習後の認識器23で対象物体画像系列32の推論を行い、正解画像/不正解画像34を出力する(ステップS14)。
【0048】
次に、グループ学習部42は、繰り返し数kを1増加し(k=k+1)、正解/不正解画像34を用いてk個のグループを識別するようにグループ識別モデルを学習し、グループ識別部パラメータP2を得る(ステップS15)。
【0049】
次に、グループ識別部22は、対象物体画像系列32から特徴量を抽出し、グループ識別を行い、k個にグループ分けした画像を出力する(ステップS16)。次に、k番目の認識器23は、k番目のグループ画像(即ち、(k-1)番目の認識器23の不正解画像と推定される画像)に対して推論を行う(ステップS17)。次に、認識器学習部41は、k番目の認識器23の推論結果と入力ラベルとによりk番目の認識器23を学習し、認識器パラメータP1を得る。また、認識器学習部41は、学習後のk番目の認識器23で対象物体画像系列32の推論を行い、正解画像/不正解画像34を出力する(ステップS18)。
【0050】
次に、グループ学習部42は、kを1増加し(k=k+1)、正解/不正解画像34を用いて、k個のグループへ識別するようにグループ識別モデルを学習し、グループ識別部パラメータP2を得る(ステップS19)。
【0051】
次に、前述の終了条件が具備されたか否かが判定され(ステップS20)、具備されていない場合(ステップS20:No)、処理はステップS16へ戻る。一方、終了条件が具備された場合(ステップS20:Yes)、学習処理は終了する。
【0052】
(検査時(推論時))
図8は、検査装置100による検査時(推論時)の構成を示す。検査時においては、実際の検査対象物を撮影した対象物体画像系列36が入力される。また、グループ識別部22には、前述の学習処理により得られたグループ識別部パラメータP2が設定され、対象物体画像系列36を、学習処理により決定された数にグループ分けする。さらに、前述の学習処理により決定された数の認識器23に、前述の学習により得られた認識器パラメータP1が設定される。以下の説明では、グループ識別部22は対象物体画像系列36をN個のグループに分け、N個の認識器23により異常の判定が行われるものとする。
【0053】
対象物体領域抽出部21は、入力画像系列から対象物体画像系列36を生成し、グループ識別部22へ出力する。グループ識別部22は、対象物体画像系列36をN個のグループに分け、N個の認識器23へ出力する。N個の認識器23は、それぞれ入力された画像における異常の有無を判定し、判定結果を統合部24へ出力する。統合部24は、入力された判定結果を統合し、最終判定結果を出力する。
【0054】
図9は、検査装置100による検査処理のフローチャートである。この処理は、
図2に示すプロセッサ12が予め用意されたプログラムを実行することにより実現される。まず、反転機構を通過する対象物体をカメラ4で撮影し、入力画像系列が生成される(ステップS31)。この入力画像系列は、実際の検査対象物を撮影した画像である。次に、対象物体領域抽出部21は、入力画像系列から背景差分等を用いて対象物体の画像領域を抽出し、追跡することで対象物体画像系列36を出力する(ステップS32)。
【0055】
次に、グループ識別部22は、対象物体画像系列36から特徴量を抽出してN個のグループ識別を行い、グループ毎に画像系列を出力する(ステップS33)。次に、N個の認識器は、それぞれ対応するグループの画像系列に基づき異常判定を行う(ステップS34)。次に、統合部24は、グループ毎の認識器23の判定結果を統合して最終判定を行う(ステップS35)。そして、処理は終了する。
【0056】
なお、グループ識別部22は、対象物体画像系列を複数のグループにグループ分けするが、複数のグループのうちに、1つの撮影画像も属しないグループがある場合、検査装置100は検査が不十分と判定し、最終判定結果として出力してもよい。
【0057】
以上のように、第1実施形態によれば、認識器23の認識モデルの学習とグループ識別部22のグループ識別モデルの学習とを交互に繰り返し、必要な数の認識モデルと、画像系列をその数にグループ分けするグループ識別モデルとを生成する。よって、適切な数の認識器を用いて異常判定の精度を向上させることができる。
【0058】
<第2実施形態>
次に、第2実施形態について説明する。第2実施形態では、グループ識別部と認識器をニューラルネットワーク(NN:Neural Network)で構成し、エンドツーエンド(End to End)の学習を行う。これにより、グループ識別部と認識器が一連となり、一貫して学習が行われる。
【0059】
[ハードウェア構成]
第2実施形態の検査装置200のハードウェア構成は、第1実施形態と同様であるので説明を省略する。
【0060】
[機能構成]
図10は、第2実施形態の検査装置200の機能構成を示す。図示のように、第2実施形態では、検査装置200は、対象物体領域抽出部21と、ニューラルネットワーク(NN)50と、統合部24とを備える。対象物体領域抽出部21と、統合部24は第1実施形態の検査装置100と同様である。
【0061】
図11は、NN50の構成を模式的に示す。NN50は、前段NNと後段NNを備える。前段NNには、対象物体画像系列が入力される。前段NNは、グループ識別部に相当し、比較的軽量な構造を有する。前段NNは、入力された対象物体画像系列に基づき、画像単位で対応する重みを出力する。この重みは、対象物体画像系列に含まれる各画像の特徴量に基づいて算出され、同じような画像特徴を有する画像に対しては同じような重みが割り当てられる。よって、この重みは、各画像を画像特徴により識別した結果と捉えることができる。なお、前段NNは、画素単位で重みを出力するようにしてもよい。重みは、「0」~「1」の値である。前段NNが出力した重みは、後段NNに入力される。
【0062】
対象物体画像系列は後段NNにも入力される。後段NNは、異常判定を行う認識器に相当し、比較的重量な構造を有する。後段NNは、入力された対象物体画像系列から画像の特徴量を抽出して異常判定を行い、異常度を出力する。後段NNが出力した異常度は統合部24により統合され、最終判定結果として出力される。
【0063】
後段NNとしては、例えばCNN(Convolutional Neural Network)やRNN(Recurrent Neural Network)などを用いることができる。後段NNがCNNである場合、前段NNが出力した重みを、画像単位で算出された損失に掛けて学習を行う。後段NNがRNNである場合、前段NNが出力した重みを、時系列特徴に掛けて学習を行う。なお、前段NNが画素単位で重みを出力する場合、後段NNは、中間層の特徴マップ(feature map)にも重みを掛ける構造とする。この場合には、特徴マップのサイズに応じて、前段NNが出力する重みをリサイズすることが必要となる。
【0064】
上記のようにNNを前段NNと後段NNにより構成し、同時に一貫して学習することにより、後段NNによる認識精度が上がるように前段NNの重みづけが学習される。その際に、認識の難しい画像に対する重みが増加し、認識の難しい画像の認識能力が向上することが期待される。
【0065】
なお、第2実施形態では、認識器に相当する後段NNは1つのNNであるが、重みづけをアテンション(Attention)のように使うことで、後段NN内の異なるパラメータ集合を機能的に複数の認識モデルのように使用している。
【0066】
[学習時]
(学習時の構成)
図12は、NN50の学習時の構成を示す。NN50は、重みづけ部51と、認識器52と、学習部53とを備える。重みづけ部51は前段NNにより構成され、認識器52は後段NNにより構成される。重みづけ部51は、対象物体画像系列32の画像単位で重み生成し、認識器52へ出力する。重みづけ部は前述のように、画素単位で重みを出力してもよい。なお、
図12の破線54は、認識器52がRNNの場合に、重みが認識器52に入力されることを示している。
【0067】
認識器52は、重みづけ部51が出力する重みに基づいて対象物体画像系列32の特徴量を抽出して異常判定を行い、異常度を出力する。学習部53は、入力ラベル系列33と、認識器52が出力する異常度とに基づいて重みづけ部51及び認識器52の学習を行い、重みづけ部パラメータP3及び認識器パラメータP4を生成する。
【0068】
(学習処理)
図13は、NN50の学習処理のフローチャートである。この処理は、
図2に示すプロセッサ12が予め用意されたプログラムを実行することにより実現される。まず、反転機構を通過する対象物体をカメラ4で撮影し、入力画像系列31が生成される(ステップS41)。次に、対象物体領域抽出部21は、入力画像系列31から背景差分等を用いて対象物体の画像領域を抽出し、追跡することで対象物体画像系列32を出力する(ステップS42)。
【0069】
次に、重みづけ部51は、前述の前段NNにより、対象物体画像系列32について画像単位(又は画素単位)で重みを出力する(ステップS43)。次に、認識器52は、前述の後段NNにより推論を行う(ステップS44)。なお、NN50がRNNである場合、認識器52はステップS43で出力された重みを用いて時系列特徴に重みづけする。
【0070】
次に、学習部53は、認識器52の推論結果と入力ラベルとを用いて重みづけ部51及び認識器52の学習を行い、重みづけ部パラメータP3及び認識器パラメータP4を得る(ステップS45)。なお、NN50がCNNである場合、学習部53は、ステップS43で出力された重みを用いて損失に重みづけする。そして、学習処理は終了する。
【0071】
[検査時(推論時)]
(検査時の構成)
図14は、検査装置200の検査時の構成を示す。検査時において、検査装置200は、重みづけ部51と、認識器52と、統合部24とを備える。重みづけ部51と認識器52は、NN50により構成される。なお、重みづけ部51には学習処理で得られた重みづけ部パラメータP3が設定され、認識器52には学習処理で得られた認識器パラメータが設定される。
【0072】
重みづけ部51には、実際の検査対象物を撮影した画像から得られた対象物体画像系列36が入力される。重みづけ部51は、対象物体画像系列に基づいて画像単位(又は画素単位)で重みを生成し、認識器52へ出力する。認識器52は、対象物体画像系列32と重みとを用いて異常判定を行い、判定結果として異常度を統合部24へ出力する。統合部24は、入力された異常度を統合し、最終判定結果を出力する。
【0073】
(検査処理)
図15は、検査装置200による検査処理のフローチャートである。この処理は、
図2に示すプロセッサ12が予め用意されたプログラムを実行することにより実現される。まず、反転機構を通過する対象物体をカメラ4で撮影し、入力画像系列が生成される(ステップS51)。この入力画像系列は、実際の検査対象物を撮影した画像である。次に、対象物体領域抽出部21は、入力画像系列から背景差分等を用いて対象物体の画像領域を抽出し、追跡することで対象物体画像系列36を出力する(ステップS52)。
【0074】
次に、重みづけ部51は、対象物体画像系列36の画像単位(又は画素単位)で重みを出力する(ステップS53)。次に、認識器52は、対象物体画像系列36の異常判定を行う(ステップS54)。なお、NN50がRNNの場合、認識器52はステップS53で出力された重みで時系列特徴の重みづけを行う。次に、統合部24は、認識器52から出力された異常度を統合して最終判定を行う(ステップS55)。そして、処理は終了する。
【0075】
以上のように、第2実施形態では、グループ識別部と認識器をNNで構成し、同時に一貫して学習する。具体的に、前段NNでグループ識別器を構成し、後段NNで認識器を構成する。よって、前段NNによりグループ識別を行うとともに、後段NN内の異なるパラメータ集合を機能的に複数の認識モデルのように使用して異常判定を行うことができる。
【0076】
<第3実施形態>
図16は、第3実施形態に係る学習装置の機能構成を示すブロック図である。学習装置60は、取得手段61と、学習手段62とを備える。
【0077】
図17は、学習装置60による処理のフローチャートである。まず、取得手段61は、対象物を撮影した時系列の撮影画像を取得する(ステップS61)。次に、学習手段62は、画像中の特徴量に基づいて撮影画像から複数のグループを識別するグループ識別モデルと、各グループに属する撮影画像を認識する複数の認識モデルと、を同時に学習する(ステップS62)。
【0078】
<第4実施形態>
図18は、第4実施形態に係る検査装置の機能構成を示すブロック図である。検査装置70は、取得手段71と、グループ識別手段72と、認識手段73と、統合手段74とを備える。
【0079】
図19は、検査装置70による処理のフローチャートである。まず、取得手段71は、対象物を撮影した時系列の撮影画像を取得する(ステップS71)。次に、グループ識別手段72は、グループ識別モデルを用いて、画像中の特徴量に基づいて撮影画像から複数のグループを識別する(ステップS72)。次に、認識手段73は、複数の認識モデルを用いて、各グループに属する撮影画像を認識して対象物の異常を判定する(ステップS73)。なお、グループ識別モデルと複数の認識モデルは同時に学習されたものである。そして、統合手段74は、複数の認識モデルによる判定結果を統合して最終判定結果を出力する(ステップS74)。
【0080】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0081】
(付記1)
対象物を撮影した時系列の撮影画像を取得する取得手段と、
画像中の特徴量に基づいて前記撮影画像から複数のグループを識別するグループ識別モデルと、各グループに属する撮影画像を認識する前記複数の認識モデルと、を同時に学習する学習手段と、
を備える学習装置。
【0082】
(付記2)
前記学習手段は、前記グループ識別モデルの学習と前記認識モデルの学習を交互に繰り返し行う付記1に記載の学習装置。
【0083】
(付記3)
前記学習手段は、前記認識モデルによる推論結果が不正解を含む場合に、前記複数を増加させる付記2に記載の学習装置。
【0084】
(付記4)
前記学習手段は、前記グループ識別モデルの学習と前記認識モデルの学習の繰り返し回数が所定回数に達するか、前記認識モデルの精度が所定の精度に達するか、前記認識モデルの精度の改善幅が所定の閾値以下になったかのいずれかの場合に、学習を終了する付記2又は3に記載の学習装置。
【0085】
(付記5)
前記認識モデルは、前記撮影画像に含まれる前記対象物の異常を判定する付記1乃至4のいずれか一項に記載の学習装置。
【0086】
(付記6)
前記学習手段は、前段NNと後段NNを含む1つのNNを学習し、
前記グループ識別モデルは前段NNにより構成され、前記複数の認識モデルは後段NNにより構成されている付記1に記載の学習装置。
【0087】
(付記7)
前記前段NNは、前記グループの識別の結果を示す重みを前記後段NNに出力し、
前記後段NNは、前記撮影画像と前記重みとに基づいて、前記撮影画像に含まれる前記対象物の異常度を出力する付記6に記載の学習装置。
【0088】
(付記8)
対象物を撮影した時系列の撮影画像を取得し、
画像中の特徴量に基づいて前記撮影画像から複数のグループを識別するグループ識別モデルと、各グループに属する撮影画像を認識する前記複数の認識モデルと、を同時に学習する学習する学習方法。
【0089】
(付記9)
対象物を撮影した時系列の撮影画像を取得し、
画像中の特徴量に基づいて前記撮影画像から複数のグループを識別するグループ識別モデルと、各グループに属する撮影画像を認識する前記複数の認識モデルと、を同時に学習する処理をコンピュータに実行させるプログラムを記録した記録媒体。
【0090】
(付記10)
対象物を撮影した時系列の撮影画像を取得する取得手段と、
グループ識別モデルを用いて、画像中の特徴量に基づいて前記撮影画像から複数のグループを識別するグループ識別手段と、
前記複数の認識モデルを用いて、各グループに属する撮影画像を認識して前記対象物の異常を判定する認識手段と、
前記複数の認識モデルによる判定結果を統合して最終判定結果を出力する統合手段と、
を備え、
前記グループ識別モデルと前記複数の認識モデルは同時に学習されたものである検査装置。
【0091】
(付記11)
同時に学習されたグループ識別モデル及び複数の認識モデルを取得し、
対象物を撮影した時系列の撮影画像を取得し、
前記グループ識別モデルを用いて、画像中の特徴量に基づいて前記撮影画像から複数のグループを識別し、
前記複数の認識モデルを用いて、各グループに属する撮影画像を認識して前記対象物の異常を判定し、
前記複数の認識モデルによる判定結果を統合して最終判定結果を出力する検査方法。
【0092】
(付記12)
同時に学習されたグループ識別モデル及び複数の認識モデルを取得し、
対象物を撮影した時系列の撮影画像を取得し、
前記グループ識別モデルを用いて、画像中の特徴量に基づいて前記撮影画像から複数のグループを識別し、
前記複数の認識モデルを用いて、各グループに属する撮影画像を認識して前記対象物の異常を判定し、
前記複数の認識モデルによる判定結果を統合して最終判定結果を出力する処理をコンピュータに実行させるプログラムを記録した記録媒体。
【0093】
以上、実施形態及び実施例を参照して本発明を説明したが、本発明は上記実施形態及び実施例に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【0094】
4 高速カメラ
5 錠剤
7 反転機構
12 プロセッサ
21 対象物体領域抽出部
22 グループ識別部
23 認識器
24 統合部
41 認識器学習部
42 グループ学習部
50 ニューラルネットワーク(NN)
51 重みづけ部
52 認識器
53 学習部
100、200 検査装置