(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-01-22
(45)【発行日】2024-01-30
(54)【発明の名称】モデル生成方法、モデル生成システム、モデル生成プログラム、異物検出方法、異物検出システム、異物検出プログラム及び推論モデル
(51)【国際特許分類】
G06T 7/00 20170101AFI20240123BHJP
G01N 23/04 20180101ALI20240123BHJP
G01N 23/18 20180101ALI20240123BHJP
G06V 10/82 20220101ALI20240123BHJP
【FI】
G06T7/00 350B
G01N23/04
G01N23/18
G06T7/00 350C
G06T7/00 610B
G06T7/00 610C
G06V10/82
(21)【出願番号】P 2023573665
(86)(22)【出願日】2023-09-07
(86)【国際出願番号】 JP2023032684
【審査請求日】2023-11-29
(31)【優先権主張番号】P 2023006083
(32)【優先日】2023-01-18
(33)【優先権主張国・地域又は機関】JP
(31)【優先権主張番号】P 2023080717
(32)【優先日】2023-05-16
(33)【優先権主張国・地域又は機関】JP
【早期審査対象出願】
(73)【特許権者】
【識別番号】000236436
【氏名又は名称】浜松ホトニクス株式会社
(74)【代理人】
【識別番号】100088155
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100140442
【氏名又は名称】柴山 健一
(74)【代理人】
【識別番号】100128107
【氏名又は名称】深石 賢治
(72)【発明者】
【氏名】大西 達也
(72)【発明者】
【氏名】土屋 智
【審査官】佐藤 直樹
(56)【参考文献】
【文献】特開2022-062303(JP,A)
【文献】国際公開第2018/225745(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G01N 23/04
G01N 23/18
G06V 10/82
(57)【特許請求の範囲】
【請求項1】
対象物が写った画像に含まれる異物の検出に用いられる推論モデルを生成するモデル生成方法であって、
訓練用の対象物が写っている第1の正常画像、訓練用の対象物が写っている第2の正常画像、検出対象として想定される異物が第2の正常画像に付加された第2の異物画像、訓練用の対象物が写っている第3の正常画像、及び検出対象として想定されない異物が第3の正常画像に付加された第3の異物画像を訓練用の画像として取得する訓練用取得ステップと、
前記訓練用取得ステップにおいて取得された訓練用の画像を用いた訓練を行って前記推論モデルを生成するモデル生成ステップと、を含み、
前記訓練は、前記第1の正常画像に基づく情報を前記推論モデルへの入力とし、当該第1の正常画像に基づく情報を前記推論モデルからの出力とした訓練、前記第2の異物画像に基づく情報を前記推論モデルへの入力とし、前記第2の正常画像に基づく情報を前記推論モデルからの出力とした訓練、及び前記第3の異物画像に基づく情報を前記推論モデルへの入力とし、前記第3の正常画像に基づく情報を前記推論モデルからの出力とした訓練を含むモデル生成方法。
【請求項2】
前記検出対象として想定されない異物は、自然画像である請求項1に記載されたモデル生成方法。
【請求項3】
前記第2の正常画像及び前記第3の正常画像は、前記第1の正常画像であり、
前記訓練用取得ステップにおいて、前記第1の正常画像に対して、検出対象として想定される異物を付加して前記第2の異物画像を生成して取得し、前記第1の正常画像に対して、検出対象として想定されない異物を付加して前記第3の異物画像を生成して取得する請求項1又は2に記載されたモデル生成方法。
【請求項4】
前記対象物は、特定の種別の物であり、
前記訓練用取得ステップにおいて取得される第1の正常画像、第2の正常画像、第2の異物画像、第3の正常画像及び第3の異物画像は、前記特定の種別の物が前記訓練用の対象物として写っている画像である請求項1又は2に記載されたモデル生成方法。
【請求項5】
前記訓練用取得ステップにおいて取得される第1の正常画像の数、第2の正常画像と第2の異物画像との組み合わせの数、並びに第3の正常画像と第3の異物画像との組み合わせの数の比率は、予め設定された比率である請求項1又は2に記載されたモデル生成方法。
【請求項6】
前記検出対象として想定されない異物は、計算式に基づいて描画された画像である請求項1又は2に記載されたモデル生成方法。
【請求項7】
前記第3の異物画像は、透過的な付加及び置き換えによる付加の少なくとも何れかによって、前記検出対象として想定されない異物が前記第3の正常画像に付加された画像である請求項1又は2に記載されたモデル生成方法。
【請求項8】
前記推論モデルは、複数の層を有するニューラルネットワークを含み、層間での連結を行う構造を有し、連結を経由した後の画像と入力した画像とを足し合わせるモデルである請求項1又は2に記載されたモデル生成方法。
【請求項9】
前記モデル生成ステップにおいて、生成した前記推論モデルの出力側に、当該推論モデルに入力した画像の位置毎の異物の度合いを示す情報を出力する部分を追加した新たな第2の推論モデルを、新たな訓練を行って生成する請求項1又は2に記載されたモデル生成方法。
【請求項10】
対象物が写った画像に含まれる異物の検出に用いられる推論モデルを生成するモデル生成システムであって、
訓練用の対象物が写っている第1の正常画像、訓練用の対象物が写っている第2の正常画像、検出対象として想定される異物が第2の正常画像に付加された第2の異物画像、訓練用の対象物が写っている第3の正常画像、及び検出対象として想定されない異物が第3の正常画像に付加された第3の異物画像を訓練用の画像として取得する取得手段と、
前記取得手段によって取得された訓練用の画像を用いた訓練を行って前記推論モデルを生成するモデル生成手段と、を備え、
前記訓練は、前記第1の正常画像に基づく情報を前記推論モデルへの入力とし、当該第1の正常画像に基づく情報を前記推論モデルからの出力とした訓練、前記第2の異物画像に基づく情報を前記推論モデルへの入力とし、前記第2の正常画像に基づく情報を前記推論モデルからの出力とした訓練、及び前記第3の異物画像に基づく情報を前記推論モデルへの入力とし、前記第3の正常画像に基づく情報を前記推論モデルからの出力とした訓練を含むモデル生成システム。
【請求項11】
コンピュータを、対象物が写った画像に含まれる異物の検出に用いられる推論モデルを生成するモデル生成システムとして動作させるモデル生成プログラムであって、
当該コンピュータを、
訓練用の対象物が写っている第1の正常画像、訓練用の対象物が写っている第2の正常画像、検出対象として想定される異物が第2の正常画像に付加された第2の異物画像、訓練用の対象物が写っている第3の正常画像、及び検出対象として想定されない異物が第3の正常画像に付加された第3の異物画像を訓練用の画像として取得する取得手段と、
前記取得手段によって取得された訓練用の画像を用いた訓練を行って前記推論モデルを生成するモデル生成手段と、として機能させ、
前記訓練は、前記第1の正常画像に基づく情報を前記推論モデルへの入力とし、当該第1の正常画像に基づく情報を前記推論モデルからの出力とした訓練、前記第2の異物画像に基づく情報を前記推論モデルへの入力とし、前記第2の正常画像に基づく情報を前記推論モデルからの出力とした訓練、及び前記第3の異物画像に基づく情報を前記推論モデルへの入力とし、前記第3の正常画像に基づく情報を前記推論モデルからの出力とした訓練を含むモデル生成プログラム。
【請求項12】
請求項1又は2に記載のモデル生成方法によって生成された前記推論モデルを用いて、対象物が写った画像に含まれる異物の検出を行う異物検出方法であって、
異物の検出対象となる対象画像を取得する検出用取得ステップと、
前記検出用取得ステップにおいて取得された前記対象画像に基づく情報を、前記推論モデルに入力して演算を行って、前記推論モデルからの出力を得る演算ステップと、
前記演算ステップにおける前記推論モデルへの入力に係る情報と、前記推論モデルからの出力に係る情報との差分を算出して、算出した差分から前記対象画像に含まれる異物の検出を行う検出ステップと、
を含む異物検出方法。
【請求項13】
請求項9に記載のモデル生成方法によって生成された前記第2の推論モデルを用いて、対象物が写った画像に含まれる異物の検出を行う異物検出方法であって、
異物の検出対象となる対象画像を取得する検出用取得ステップと、
前記検出用取得ステップにおいて取得された前記対象画像に基づく情報を、前記第2の推論モデルに入力して演算を行って、前記第2の推論モデルからの出力を得る演算ステップと、
前記演算ステップにおいて得られた前記第2の推論モデルからの出力から前記対象画像に含まれる異物の検出を行う検出ステップと、
を含む異物検出方法。
【請求項14】
請求項1又は2に記載のモデル生成方法によって生成された前記推論モデルを用いて、対象物が写った画像に含まれる異物の検出を行う異物検出システムであって、
異物の検出対象となる対象画像を取得する検出用取得手段と、
前記検出用取得手段によって取得された前記対象画像に基づく情報を、前記推論モデルに入力して演算を行って、前記推論モデルからの出力を得る演算手段と、
前記演算手段による前記推論モデルへの入力に係る情報と、前記推論モデルからの出力に係る情報との差分を算出して、算出した差分から前記対象画像に含まれる異物の検出を行う検出手段と、
を備える異物検出システム。
【請求項15】
請求項9に記載のモデル生成方法によって生成された前記第2の推論モデルを用いて、対象物が写った画像に含まれる異物の検出を行う異物検出システムであって、
異物の検出対象となる対象画像を取得する検出用取得手段と、
前記検出用取得手段によって取得された前記対象画像に基づく情報を、前記第2の推論モデルに入力して演算を行って、前記第2の推論モデルからの出力を得る演算手段と、
前記演算手段によって得られた前記第2の推論モデルからの出力から前記対象画像に含まれる異物の検出を行う検出手段と、
を備える異物検出システム。
【請求項16】
コンピュータを、請求項1又は2に記載のモデル生成方法によって生成された前記推論モデルを用いて、対象物が写った画像に含まれる異物の検出を行う異物検出システムとして動作させる異物検出プログラムであって、
当該コンピュータを、
異物の検出対象となる対象画像を取得する検出用取得手段と、
前記検出用取得手段によって取得された前記対象画像に基づく情報を、前記推論モデルに入力して演算を行って、前記推論モデルからの出力を得る演算手段と、
前記演算手段による前記推論モデルへの入力に係る情報と、前記推論モデルからの出力に係る情報との差分を算出して、算出した差分から前記対象画像に含まれる異物の検出を行う検出手段と、
として機能させる異物検出プログラム。
【請求項17】
コンピュータを、請求項9に記載のモデル生成方法によって生成された前記推論モデルを用いて、対象物が写った画像に含まれる異物の検出を行う異物検出システムとして動作させる異物検出プログラムであって、
当該コンピュータを、
異物の検出対象となる対象画像を取得する検出用取得手段と、
前記検出用取得手段によって取得された前記対象画像に基づく情報を、前記第2の推論モデルに入力して演算を行って、前記第2の推論モデルからの出力を得る演算手段と、
前記演算手段によって得られた前記第2の推論モデルからの出力から前記対象画像に含まれる異物の検出を行う検出手段と、
として機能させる異物検出プログラム。
【請求項18】
画像に基づく情報を入力して、入力に応じた演算を行って情報を出力するようコンピュータを機能させるための推論モデルであって、
請求項1又は2に記載のモデル生成方法によって生成されたものである推論モデル。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、対象物が写った画像に含まれる異物の検出に用いられる推論モデルを生成するモデル生成方法、モデル生成システム及びモデル生成プログラム、生成された推論モデルを用いて、対象物が写った画像に含まれる異物の検出を行う異物検出方法、異物検出システム及び異物検出プログラム、並びに生成された推論モデルに関する。
【背景技術】
【0002】
特許文献1には、機械学習によって生成された推論モデルを用いて検査対象物の外観の検査対象画像から復元画像を生成して、検査対象画像と復元画像との差分から検査対象物を検査することが示されている。特許文献1では、検査に用いられる推論モデルは、良品と判断される検査対象物の外観の良品画像と、良品画像に欠陥を示す画像を合成した疑似欠陥画像とから生成されている。これによって検査精度が向上するとされている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に示される方法では、例えば、包装された物をX線で撮像した画像の異物の検出を行う場合には、必ずしも適切に異物の検出が行えない。特に対象物がパスタ等の複数の物体を含むものであり、異物が個々の物体に比べて小さいものである場合には、特許文献1に示される方法で生成された推論モデルを用いても、必ずしも適切に異物の検出が行えない。
【0005】
本発明の一実施形態は、上記に鑑みてなされたものであり、精度よく異物を検出することができるモデル生成方法、モデル生成システム、モデル生成プログラム、異物検出方法、異物検出システム、異物検出プログラム及び推論モデルを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記の目的を達成するために、本発明の一実施形態に係るモデル生成方法は、対象物が写った画像に含まれる異物の検出に用いられる推論モデルを生成するモデル生成方法であって、訓練用の対象物が写っている第1の正常画像、訓練用の対象物が写っている第2の正常画像、検出対象として想定される異物が第2の正常画像に付加された第2の異物画像、訓練用の対象物が写っている第3の正常画像、及び検出対象として想定されない異物が第3の正常画像に付加された第3の異物画像を訓練用の画像として取得する訓練用取得ステップと、訓練用取得ステップにおいて取得された訓練用の画像を用いた訓練を行って推論モデルを生成するモデル生成ステップと、を含み、訓練は、第1の正常画像に基づく情報を推論モデルへの入力とし、当該第1の正常画像に基づく情報を推論モデルからの出力とした訓練、第2の異物画像に基づく情報を推論モデルへの入力とし、第2の正常画像に基づく情報を推論モデルからの出力とした訓練、及び第3の異物画像に基づく情報を推論モデルへの入力とし、第3の正常画像に基づく情報を推論モデルからの出力とした訓練を含む。
【0007】
本発明の一実施形態に係るモデル生成方法では、正常画像に加えて、2種類の互いに異なる異物画像が用いられて訓練が行われて、推論モデルが生成される。このように生成された推論モデルは、入力された画像に写っているもののうち、対象物を出力に反映し、異物を出力に反映しないものとなる。従って、生成された推論モデルを用いて異物の検出を行うことで、精度よく異物を検出することができる。
【0008】
検出対象として想定されない異物は、自然画像であることとしてもよい。この構成によれば、より適切かつ確実に推論モデルを生成することができる。
【0009】
第2の正常画像及び第3の正常画像は、第1の正常画像であり、訓練用取得ステップにおいて、第1の正常画像に対して、検出対象として想定される異物を付加して第2の異物画像を生成して取得し、第1の正常画像に対して、検出対象として想定されない異物を付加して第3の異物画像を生成して取得することとしてもよい。この構成によれば、容易かつ確実に第2の異物画像及び第3の異物画像を取得することができる。その結果、容易かつ確実に推論モデルを生成することができる。
【0010】
対象物は、特定の種別の物であり、訓練用取得ステップにおいて取得される第1の正常画像、第2の正常画像、第2の異物画像、第3の正常画像及び第3の異物画像は、特定の種別の物が訓練用の対象物として写っている画像であることとしてもよい。この構成によれば、特定の種別の物について精度よく異物を検出するための推論モデルを生成することができる。
【0011】
訓練用取得ステップにおいて取得される第1の正常画像の数、第2の正常画像と第2の異物画像との組み合わせの数、並びに第3の正常画像と第3の異物画像との組み合わせの数の比率は、予め設定された比率であることとしてもよい。この構成によれば、より適切かつ確実に推論モデルを生成することができる。
【0012】
検出対象として想定されない異物は、計算式に基づいて描画された画像であることとしてもよい。この構成によれば、より適切かつ確実に推論モデルを生成することができる。
【0013】
第3の異物画像は、透過的な付加及び置き換えによる付加の少なくとも何れかによって、検出対象として想定されない異物が第3の正常画像に付加された画像であることとしてもよい。この構成によれば、より適切かつ確実に推論モデルを生成することができる。
【0014】
推論モデルは、複数の層を有するニューラルネットワークを含み、層間での連結を行う構造を有し、連結を経由した後の画像と入力した画像とを足し合わせるモデルであることとしてもよい。この構成によれば、精度よく異物を検出するための推論モデルを生成することができる。
【0015】
モデル生成ステップにおいて、生成した推論モデルの出力側に、当該推論モデルに入力した画像の位置毎の異物の度合いを示す情報を出力する部分を追加した新たな第2の推論モデルを、新たな訓練を行って生成することとしてもよい。この構成によれば、容易かつ確実に異物を検出するための第2の推論モデルを生成することができる。
【0016】
本発明の一実施形態は、上記のようにモデル生成方法の発明として記述できる他に、以下のようにモデル生成システム及びモデル生成プログラムの発明としても記述することができる。これらはカテゴリが異なるだけで、実質的に同一の発明であり、同様の作用及び効果を奏する。
【0017】
即ち、本発明の一実施形態に係るモデル生成システムは、対象物が写った画像に含まれる異物の検出に用いられる推論モデルを生成するモデル生成システムであって、訓練用の対象物が写っている第1の正常画像、訓練用の対象物が写っている第2の正常画像、検出対象として想定される異物が第2の正常画像に付加された第2の異物画像、訓練用の対象物が写っている第3の正常画像、及び検出対象として想定されない異物が第3の正常画像に付加された第3の異物画像を訓練用の画像として取得する取得手段と、取得手段によって取得された訓練用の画像を用いた訓練を行って推論モデルを生成するモデル生成手段と、を備え、訓練は、第1の正常画像に基づく情報を推論モデルへの入力とし、当該第1の正常画像に基づく情報を推論モデルからの出力とした訓練、第2の異物画像に基づく情報を推論モデルへの入力とし、第2の正常画像に基づく情報を推論モデルからの出力とした訓練、及び第3の異物画像に基づく情報を推論モデルへの入力とし、第3の正常画像に基づく情報を推論モデルからの出力とした訓練を含む。
【0018】
本発明の一実施形態に係るモデル生成プログラムは、コンピュータを、対象物が写った画像に含まれる異物の検出に用いられる推論モデルを生成するモデル生成システムとして動作させるモデル生成プログラムであって、当該コンピュータを、訓練用の対象物が写っている第1の正常画像、訓練用の対象物が写っている第2の正常画像、検出対象として想定される異物が第2の正常画像に付加された第2の異物画像、訓練用の対象物が写っている第3の正常画像、及び検出対象として想定されない異物が第3の正常画像に付加された第3の異物画像を訓練用の画像として取得する取得手段と、取得手段によって取得された訓練用の画像を用いた訓練を行って推論モデルを生成するモデル生成手段と、として機能させ、訓練は、第1の正常画像に基づく情報を推論モデルへの入力とし、当該第1の正常画像に基づく情報を推論モデルからの出力とした訓練、第2の異物画像に基づく情報を推論モデルへの入力とし、第2の正常画像に基づく情報を推論モデルからの出力とした訓練、及び第3の異物画像に基づく情報を推論モデルへの入力とし、第3の正常画像に基づく情報を推論モデルからの出力とした訓練を含む。
【0019】
また、上記の目的を達成するために、本発明の一実施形態に係る異物検出方法は、モデル生成方法によって生成された推論モデルを用いて、対象物が写った画像に含まれる異物の検出を行う異物検出方法であって、異物の検出対象となる対象画像を取得する検出用取得ステップと、検出用取得ステップにおいて取得された対象画像に基づく情報を、推論モデルに入力して演算を行って、推論モデルからの出力を得る演算ステップと、演算ステップにおける推論モデルへの入力に係る情報と、推論モデルからの出力に係る情報との差分を算出して、算出した差分から対象画像に含まれる異物の検出を行う検出ステップと、を含む。
【0020】
本発明の一実施形態に係る異物検出方法では、上記の推論モデルが用いられて異物の検出が行われる。従って、本発明の一実施形態に係る異物検出方法によれば、精度よく異物を検出することができる。
【0021】
また、上記の目的を達成するために、本発明の一実施形態に係る異物検出方法は、モデル生成方法によって生成された第2の推論モデルを用いて、対象物が写った画像に含まれる異物の検出を行う異物検出方法であって、異物の検出対象となる対象画像を取得する検出用取得ステップと、検出用取得ステップにおいて取得された対象画像に基づく情報を、第2の推論モデルに入力して演算を行って、第2の推論モデルからの出力を得る演算ステップと、演算ステップにおいて得られた第2の推論モデルからの出力から対象画像に含まれる異物の検出を行う検出ステップと、を含む。
【0022】
本発明の一実施形態に係る異物検出方法では、上記の第2の推論モデルが用いられて異物の検出が行われる。従って、本発明の一実施形態に係る異物検出方法によれば、精度よく異物を検出することができる。
【0023】
本発明の一実施形態は、上記のように異物検出方法の発明として記述できる他に、以下のように異物検出システム及び異物検出プログラムの発明としても記述することができる。これらはカテゴリが異なるだけで、実質的に同一の発明であり、同様の作用及び効果を奏する。
【0024】
即ち、本発明の一実施形態に係る異物検出システムは、モデル生成方法によって生成された推論モデルを用いて、対象物が写った画像に含まれる異物の検出を行う異物検出システムであって、異物の検出対象となる対象画像を取得する検出用取得手段と、検出用取得手段によって取得された対象画像に基づく情報を、推論モデルに入力して演算を行って、推論モデルからの出力を得る演算手段と、演算手段による推論モデルへの入力に係る情報と、推論モデルからの出力に係る情報との差分を算出して、算出した差分から対象画像に含まれる異物の検出を行う検出手段と、を備える。
【0025】
本発明の一実施形態に係る異物検出システムは、モデル生成方法によって生成された第2の推論モデルを用いて、対象物が写った画像に含まれる異物の検出を行う異物検出システムであって、異物の検出対象となる対象画像を取得する検出用取得手段と、検出用取得手段によって取得された対象画像に基づく情報を、第2の推論モデルに入力して演算を行って、第2の推論モデルからの出力を得る演算手段と、演算手段によって得られた第2の推論モデルからの出力から対象画像に含まれる異物の検出を行う検出手段と、を備える。
【0026】
本発明の一実施形態に係る異物検出プログラムは、コンピュータを、モデル生成方法によって生成された推論モデルを用いて、対象物が写った画像に含まれる異物の検出を行う異物検出システムとして動作させる異物検出プログラムであって、当該コンピュータを、異物の検出対象となる対象画像を取得する検出用取得手段と、検出用取得手段によって取得された対象画像に基づく情報を、推論モデルに入力して演算を行って、推論モデルからの出力を得る演算手段と、演算手段による推論モデルへの入力に係る情報と、推論モデルからの出力に係る情報との差分を算出して、算出した差分から対象画像に含まれる異物の検出を行う検出手段と、として機能させる。
【0027】
本発明の一実施形態に係る異物検出プログラムは、コンピュータを、モデル生成方法によって生成された推論モデルを用いて、対象物が写った画像に含まれる異物の検出を行う異物検出システムとして動作させる異物検出プログラムであって、当該コンピュータを、異物の検出対象となる対象画像を取得する検出用取得手段と、検出用取得手段によって取得された対象画像に基づく情報を、第2の推論モデルに入力して演算を行って、第2の推論モデルからの出力を得る演算手段と、演算手段によって得られた第2の推論モデルからの出力から対象画像に含まれる異物の検出を行う検出手段と、として機能させる。
【0028】
本発明の一実施形態に係るモデル生成方法によって生成される推論モデル自体も、新規な構成を有する発明である。即ち、本発明の一実施形態に係る推論モデルは、画像に基づく情報を入力して、入力に応じた演算を行って情報を出力するようコンピュータを機能させるための推論モデルであって、モデル生成方法によって生成されたものである。
【発明の効果】
【0029】
本発明の一実施形態によれば、精度よく異物を検出することができる。
【図面の簡単な説明】
【0030】
【
図1】本発明の実施形態に係るモデル生成システム及び異物検出システムの構成を示す図である。
【
図2】異物の検出に用いられる対象画像及び対象画像を推論モデルに入力して出力される画像の例を示す図である。
【
図3】異物の検出結果として生成される異常度マップの例を示す図である。
【
図5】訓練に用いられる第1の正常画像の例を示す図である。
【
図6】訓練に用いられる第2の正常画像と第2の異物画像との組み合わせの例を示す図である。
【
図7】訓練に用いられる第3の正常画像と第3の異物画像との組み合わせの例を示す図である。
【
図8】第3の異物画像の生成に用いられる画像の例を示す図である。
【
図9】本発明の実施形態に係るモデル生成システムで実行される処理であるモデル生成方法を示すフローチャートである。
【
図10】本発明の実施形態に係る異物検出システムで実行される処理である異物検出方法を示すフローチャートである。
【
図11】比較例による検出結果と本発明の実施形態による検出結果との例を示す図である。
【
図12】訓練に用いる画像と、推論モデルから出力される画像及び異常度マップとの例を示す図である。
【
図13】訓練に用いる画像と、推論モデルから出力される画像及び異常度マップとの例を示す図である。
【
図14】ライスを対象物とした場合の画像の例である。
【
図15】グラノーラを対象物とした場合の画像の例である。
【
図16】本発明の実施形態に係るモデル生成プログラム及び異物検出プログラムの構成を、記録媒体と共に示す図である。
【
図17】訓練に用いられる第3の正常画像と第3の異物画像との組み合わせの例を示す図である。
【
図18】訓練に用いられる第3の正常画像と第3の異物画像との組み合わせの例を示す図である。
【
図19】第3の異物画像の生成に用いられる画像の例を示す図である。
【
図20】第3の異物画像の生成に用いられる画像の例を示す図である。
【
図21】第3の異物画像の生成に用いられる画像の例を示す図である。
【
図22】第3の異物画像の生成に用いられる画像の例を示す図である。
【
図23】比較例による検出結果と本発明の実施形態による検出結果との例を示す図である。
【
図24】比較例による検出結果と本発明の実施形態による検出結果との例を示す図である。
【
図25】訓練に用いられる第3の異物画像の例を示す図である。
【
図26】訓練に用いられる第3の正常画像と第3の異物画像との組み合わせの例を示す図である。
【
図27】訓練に用いられる第3の正常画像と第3の異物画像との組み合わせの例を示す図である。
【
図28】本発明の実施形態による検出結果の例を示す図である。
【
図29】本発明の実施形態による検出結果の例を示す図である。
【
図31】第2の推論モデルの例を模式的に示す図である。
【
図32】第2の推論モデルの生成のための訓練に用いられる画像の例を示す図である。
【
図33】第2の推論モデルを用いた本発明の実施形態による検出結果の例を示す図である。
【発明を実施するための形態】
【0031】
以下、図面と共に本発明に係るモデル生成方法、モデル生成システム、モデル生成プログラム、異物検出方法、異物検出システム、異物検出プログラム及び推論モデルの実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【0032】
図1(a)に本実施形態に係るモデル生成システム10を示す。
図1(b)に本実施形態に係る異物検出システム20を示す。モデル生成システム10は、機械学習の訓練を行って、対象物が写った画像に含まれる異物の検出に用いられる推論モデル(学習モデル、学習済モデル)を生成するシステム(装置)である。異物検出システム20は、モデル生成システム10によって生成された推論モデルを用いて、対象物が写った画像に含まれる異物の検出(検知)を行うシステム(装置)である。
【0033】
図2に異物の検出に用いられる対象画像30の例を示す。本実施形態における異物の検出は、商品として包装された食品、例えば、プラスチックの包装袋に入れられた食品に対する異物の検出である。異物の検出は、例えば、食品の商品の製造工程において、製造された商品が良品か否かを判断するために行われる。検出対象の商品の画像から異物が検出されなかったら当該商品が良品とされ、検出対象の商品の画像から異物が検出されたら当該商品が不良品とされる。異物の検出に用いられる画像は、X線によって検出対象となる商品毎に撮像されたものである。図中の破線で囲った部分は、異物が存在している部分である。
【0034】
想定される異物は、例えば、製造工程で含まれる可能性があるものである。本実施形態では、異物として食品と比べて小さな球(SUS(Steel Use Stainless)の球、ガラスの球)を用いた例を示す。異物の検出対象となる商品は、例えば、ペンネ等のパスタである。また、異物の検出対象となる商品は、パスタ以外のもの、例えば、ライス(米)、グラノーラであってもよい。なお、異物は、食品等の対象物より小さい必要はなく、対象物と同程度の大きさ、又は対象物よりも大きくてもよい。
図2の対象画像30に示すように、通常、パスタ等の商品では同様の形状のものが1つの包装に数多く含まれる。従来の方法では、このような場合の異物の検出を精度よく行うことは困難であるが、本実施形態では精度よく異物の検出を行うことができる。
【0035】
なお、異物が含まれる対象物(本実施形態の例では食品の商品)、異物及び画像(本実施形態の例ではX線画像)は、本実施形態のものに限られず、本実施形態が適用可能なものであればよい。また、検出対象の異物は、必ずしも対象物(上記の例では食品)とは別の物である必要はなく、対象物上に表れる欠陥、疵等の不良であってもよい。即ち、異物の検出は、対象物が不良品であるかの検出であってもよい。
【0036】
モデル生成システム10及び異物検出システム20はそれぞれ、CPU(Central Processing Unit)等のプロセッサ、メモリ、通信モジュール等のハードウェアを含む従来のコンピュータを含んで構成される。モデル生成システム10及び異物検出システム20の後述する各機能は、これらの構成要素がプログラム等により動作することによって発揮される。
図1では、モデル生成システム10及び異物検出システム20は、別々のシステム(装置)として示しているが、同じシステム(装置)によって実現されてもよい。モデル生成システム10及び異物検出システム20を構成するコンピュータは、複数のコンピュータを含むコンピュータシステムであってもよい。また、コンピュータは、クラウドコンピューティング又はエッジコンピューティングで構成されていてもよい。
【0037】
引き続いて、本実施形態に係るモデル生成システム10及び異物検出システム20の機能を説明する。
図1に示すようにモデル生成システム10は、訓練用取得部11と、モデル生成部12とを備えて構成される。
【0038】
モデル生成システム10の各機能を説明する前にモデル生成システム10によって生成される推論モデルを説明する。あわせて推論モデルを用いた異物検出システム20による異物の検出の概略を説明する。推論モデルは、異物の検出対象の画像を入力して、入力した画像の異物の部分を除去した(と推論される)画像を出力(推論)するモデルである。
図2に、推論モデルに入力される、異物の検出対象となる対象画像30、及び当該対象画像30を推論モデルに入力して出力される、異物の部分を除去した(と推論される)画像40の例を示す。対象画像30中の破線で囲った部分には異物が写っているが、推論モデルから出力される画像40中の同じ位置の部分には異物が写っていない。
【0039】
推論モデルへ入力される画像と推論モデルから出力される画像との差分を取ることで、推論モデルで除去された異物のみを示す画像(情報)を得ることができる。
図3に、
図2の推論モデルへ入力される対象画像30と推論モデルから出力される画像40との差分の画像である異常度マップ50を示す。異常度マップ50によって、異物を把握することができる。推論モデルを用いた異物検出システム20による異物の検出は、例えば、異常度マップの生成に相当する。
【0040】
推論モデルは、例えば、ニューラルネットワークを含んで構成される。ニューラルネットワークは、多層のものであってよい。即ち、推論モデルは、深層学習(ディープラーニング)によって生成されたものであってもよい。また、ニューラルネットワークは、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)であってもよい。
【0041】
図4に、本実施形態の推論モデルを模式的に示す。推論モデルは、入力した画像を特徴量にエンコードするエンコーダと、エンコーダから出力される特徴量を画像にデコードするデコーダとを含んで構成される。
【0042】
推論モデルには、エンコーダの入力層に、画像に基づく情報を入力するためのニューロンが設けられる。例えば、推論モデルに入力される情報は、画像の各画素の画素値(輝度値)である。この場合、入力層には、画像の画素の数のニューロンが設けられ、それぞれのニューロンには対応する画素の画素値が入力される。なお、推論モデルに入力される情報は、画像に基づくものであれば各画素の画素値以外であってもよい。
【0043】
推論モデルには、デコーダの出力層に、画像を出力するためのニューロンが設けられる。例えば、推論モデルから出力される情報は、画像の各画素の画素値である。この場合、出力層には、画像の画素の数のニューロンが設けられ、それぞれのニューロンから対応する画素の画素値が出力される。なお、推論モデルから出力される情報は、上述した出力画像を生成可能なものであれば各画素の画素値以外であってもよい。
【0044】
また、推論モデルは、機械学習の訓練によって生成されて上述した入出力を行うものであれば、ニューラルネットワーク以外によって構成されていてもよい。
【0045】
推論モデルは、人工知能ソフトウェアの一部であるプログラムモジュールとしての利用が想定される。推論モデルは、例えば、プロセッサ及びメモリを備えるコンピュータにて用いられ、コンピュータのプロセッサが、メモリに記憶されたモデルからの指令に従って動作する。例えば、コンピュータのプロセッサが、当該指令に従って、モデルに対して情報を入力して、モデルに応じた演算を行って、モデルから結果を出力するように動作する。具体的には、コンピュータのプロセッサが、当該指令に従って、ニューラルネットワークの入力層に情報を入力して、ニューラルネットワークにおける学習の重み付け係数等のパラメータに基づく演算を行って、ニューラルネットワークの出力層から結果を出力するように動作する。以上が、モデル生成システム10によって生成される推論モデル、及び推論モデルを用いた異物検出システム20による異物の検出の概略である。
【0046】
訓練用取得部11は、訓練用の画像を取得する訓練用取得手段である。訓練用の画像は、訓練用の対象物が写っている第1の正常画像、訓練用の対象物が写っている第2の正常画像、検出対象として想定される異物が第2の正常画像に付加された第2の異物画像、訓練用の対象物が写っている第3の正常画像、及び検出対象として想定されない異物が第3の正常画像に付加された第3の異物画像である。検出対象として想定されない異物は、自然画像であってもよい。
【0047】
第2の正常画像及び第3の正常画像を、第1の正常画像とし、訓練用取得部11は、第1の正常画像に対して、検出対象として想定される異物を付加して第2の異物画像を生成して取得し、第1の正常画像に対して、検出対象として想定されない異物を付加して第3の異物画像を生成して取得してもよい。対象物は、特定の種別の物であり、訓練用取得部11によって取得される第1の正常画像、第2の正常画像、第2の異物画像、第3の正常画像及び第3の異物画像は、特定の種別の物が訓練用の対象物として写っている画像であってもよい。訓練用取得部11によって取得される第1の正常画像の数、第2の正常画像と第2の異物画像との組み合わせの数、並びに第3の正常画像と第3の異物画像との組み合わせの数の比率は、予め設定された比率であってもよい。
【0048】
推論モデルは、訓練用取得部11によって取得される訓練用の画像を用いた機械学習の訓練によって生成される。推論モデルの訓練は、第1の正常画像を用いた訓練、第2の正常画像と第2の異物画像との組み合わせを用いた訓練、及び第3の正常画像と第3の異物画像との組み合わせを用いた訓練の3種類の訓練を含む。
【0049】
図5に第1の正常画像61の例を示す。第1の正常画像61は、訓練用の対象物が写っており、異物が写っていない画像である。第1の正常画像61は、例えば、異物が含まれていないと確認が取れている商品を、異物の検出の際と同じ条件で撮像して得られる画像である。異物が含まれていないと確認が取れている商品は、訓練用の対象物である。また、当該商品は、異物の検出対象と同じ種別の物とする。即ち、異物の検出対象がパスタの商品であれば、第1の正常画像61を同じ種類のパスタの商品の画像とする。
【0050】
図6に第2の正常画像62及び第2の異物画像72の例を示す。第2の正常画像62は、訓練用の対象物が写っており、異物が写っていない画像であり、第1の正常画像61と同様の画像である。第1の正常画像61を第2の正常画像62としてもよい。第2の異物画像72は、検出対象として想定される異物(例えば、上述した小さな球)(の画像)が第2の正常画像62に付加された画像である。第2の異物画像72は、例えば、検出対象として想定される異物のみを撮像して得られる画像を第2の正常画像62に重畳して得られる画像である。あるいは、異物のみを撮像して得られる画像は用いずに、第2の正常画像62に対して検出対象として想定される異物を想定した画像処理を行って、第2の異物画像72を生成してもよい。画像処理は、シミュレーション(例えば、X線画像の画像処理に係るシミュレーション)の技術が用いられて行われてもよい。推論モデルの訓練では、第2の異物画像72と、第2の異物画像72の生成に用いられた第2の正常画像62との組み合わせが用いられる。
【0051】
図7に第3の正常画像63及び第3の異物画像73の例を示す。第3の正常画像63は、訓練用の対象物が写っており、異物が写っていない画像であり、第1の正常画像61と同様の画像である。第1の正常画像61を第3の正常画像63としてもよい。第3の異物画像73は、検出対象として想定されない異物が第3の正常画像63に付加された画像である。第3の異物画像73は、例えば、検出対象として想定されない異物の画像を第3の正常画像63に重畳して得られる画像である。
【0052】
図8に、第3の異物画像73の生成に用いられる異物の画像80の例を示す。
図8に示すように第3の異物画像73の生成のために第3の正常画像63に付加される異物は、自然画像である。ここでの自然画像は、検出対象として想定される異物とは全く異なる、風景又は人物等を撮像した画像である。
図7に示す第3の異物画像73は、
図8の右上の戦車の画像を第3の正常画像63に重畳したものである。
【0053】
あるいは、異物の画像は用いずに、第3の正常画像63に対して検出対象として想定される異物を想定しない画像処理を行って、第3の異物画像73を生成してもよい。画像処理は、シミュレーションの技術が用いられて行われてもよい。推論モデルの訓練では、第3の異物画像73と、第3の異物画像73の生成に用いられた第3の正常画像63との組み合わせが用いられる。
【0054】
訓練用取得部11は、第1の正常画像61、第2の正常画像62及び第2の異物画像72の組み合わせ、並びに第3の正常画像63及び第3の異物画像73の組み合わせを取得する。例えば、訓練用取得部11は、モデル生成システム10のユーザがモデル生成システム10に対して入力した各画像を受け付けることで各画像を取得する。また、訓練用取得部11は、それ以外の任意の方法で各画像を取得してもよい。
【0055】
あるいは、訓練用取得部11は、上記の各画像のうち、第1の正常画像61のみを上記と同様に取得する。なお、第1の正常画像61の取得のみであれば、撮像によって画像を得る撮像装置(例えば、X線画像を得るX線撮像装置)から送信される画像を受信して取得してもよい。訓練用取得部11は、取得した第1の正常画像61を、第2の正常画像62及び第3の正常画像63とする。訓練用取得部11は、第2の正常画像62(第1の正常画像61)から第2の異物画像72を生成して取得する。例えば、訓練用取得部11は、検出対象として想定される異物のみを撮像して得られる画像を取得して、取得した画像と第2の正常画像62とを重畳して第2の異物画像72を生成する。
【0056】
また、訓練用取得部11は、第3の正常画像63(第1の正常画像61)から第3の異物画像73を生成して取得する。例えば、訓練用取得部11は、検出対象として想定されない異物の画像80(例えば、
図8に示す自然画像)を取得して、取得した画像と第3の正常画像63とを重畳して第3の異物画像73を生成する。第2の異物画像72及び第3の異物画像73の生成に用いる画像は、第1の正常画像61と同じ方法、又はそれ以外の任意の方法で取得されればよい。
【0057】
あるいは、訓練用取得部11は、第2の異物画像72及び第3の異物画像73を生成するための、シミュレーションによる画像処理の方法を予め記憶しておき、その方法によって第2の正常画像62及び第3の正常画像63に対して画像処理を行って第2の異物画像72及び第3の異物画像73を生成してもよい。シミュレーションによる画像処理では、例えば、異物の形状及びコントラストを変更したり、シンチレータに係るボケ及び残光に係るボケを加えたりする処理を行ってもよい。また、上記以外にも、撮像条件の変更に応じた画像処理を行ってもよい。シミュレーションによる画像処理は、従来の方法で実現することができる。また、第2の異物画像72及び第3の異物画像73の生成に用いる方法として、画像を重畳させる方法と、シミュレーションによる画像処理を行う方法とを組み合わせてもよい。
【0058】
訓練用取得部11は、モデル生成部12による訓練を適切に行える程度の数の訓練用の画像を取得する。訓練用取得部11は、第1の正常画像61の数、第2の正常画像62と第2の異物画像72との組み合わせの数、並びに第3の正常画像63と第3の異物画像73との組み合わせの数の比率が、予め設定された比率となるように訓練用の画像を取得する。例えば、訓練用取得部11は、それらの数が同数となるよう、即ち、それらの数が全体の数の1/3ずつとなるように訓練用の画像を取得する。推論モデルが出力する画像がこの比率に応じたものとなるためである。訓練用取得部11は、取得した訓練用の画像61,62,63,72,73をモデル生成部12に出力する。
【0059】
モデル生成部12は、訓練用取得部11によって取得された訓練用の画像を用いた訓練を行って推論モデルを生成するモデル生成手段である。推論モデル生成のための訓練は、第1の正常画像61に基づく情報を推論モデルへの入力とし、当該第1の正常画像61に基づく情報を推論モデルからの出力とした訓練、第2の異物画像72に基づく情報を推論モデルへの入力とし、第2の正常画像62に基づく情報を推論モデルからの出力とした訓練、及び第3の異物画像73に基づく情報を推論モデルへの入力とし、第3の正常画像63に基づく情報を推論モデルからの出力とした訓練を含む。
【0060】
モデル生成部12は、例えば以下のように推論モデルを生成する。モデル生成部12は、訓練用取得部11から訓練用の画像61,62,63,72,73を入力する。モデル生成部12は、第1の正常画像61毎、互いに対応する第2の正常画像62と第2の異物画像72との組み合わせ毎、及び互いに対応する第3の正常画像63と第3の異物画像73との組み合わせ毎に推論モデル生成のための訓練を行う。
【0061】
以下では、推論モデルが、画像自体を入力して、画像自体を出力するものである例を説明する。第1の正常画像61を用いた訓練を行う場合には、モデル生成部12は、
図5に示すように、第1の正常画像61を推論モデルへの入力とすると共に、当該第1の正常画像61を推論モデルからの出力とした訓練を行う。互いに対応する第2の正常画像62と第2の異物画像72との組み合わせを用いた訓練を行う場合には、モデル生成部12は、
図6に示すように、第2の異物画像72を推論モデルへの入力とすると共に、当該第2の異物画像72に対応する第2の正常画像62を推論モデルからの出力とした訓練を行う。互いに対応する第3の正常画像63と第3の異物画像73との組み合わせを用いた訓練を行う場合には、モデル生成部12は、
図7に示すように、第3の異物画像73を推論モデルへの入力とすると共に、当該第3の異物画像73に対応する第3の正常画像63を推論モデルからの出力とした訓練を行う。
【0062】
上記の各訓練自体、即ち、推論モデルのパラメータの更新は、従来の機械学習の訓練と同様に行われればよい。また、訓練は、画像の種別(第1の正常画像61、互いに対応する第2の正常画像62と第2の異物画像72との組み合わせ及び互いに対応する第3の正常画像63と第3の異物画像73との組み合わせの別)毎にまとめて行ってもよいし、1回ずつ画像の種別を変えて行ってもよい。
【0063】
推論モデルが、画像自体以外の画像に基づく情報を入力するものであれば、モデル生成部12は、訓練用の画像のうち、推論モデルへの入力に対応する画像61,72,73のそれぞれから、画像61,72,73に基づく情報を生成して、生成した情報を推論モデルへの入力として訓練を行えばよい。また、推論モデルが、画像自体以外の画像に応じた情報を出力するものであれば、モデル生成部12は、訓練用の画像のうち、推論モデルからの出力に対応する画像61,62,63のそれぞれから、当該画像61,62,63に応じた情報(画像61,62,63に基づく情報)を生成して、生成した情報を推論モデルからの出力として訓練を行えばよい。
【0064】
モデル生成部12は、例えば、訓練用取得部11から入力した訓練用の画像61,62,63,72,73を全て訓練に利用して推論モデルを生成する。あるいは、モデル生成部12は、上記以外の予め設定した訓練の終了の条件を満たすまで訓練を行って推論モデルを生成してもよい。生成された推論モデルは、異物検出システム20で用いられる。モデル生成部12は、生成した推論モデルを出力する。例えば、モデル生成部12は、推論モデルを異物検出システム20に送信する。なお、異物検出システム20への推論モデルの入力は、モデル生成部12からの出力以外によって行われてもよい。例えば、異物検出システム20への推論モデルの入力は、モデル生成システム10又は異物検出システム20の操作等によって行われてもよい。以上が、本実施形態に係るモデル生成システム10の機能である。
【0065】
図1に示すように異物検出システム20は、検出用取得部21と、演算部22と、検出部23とを備えて構成される。
【0066】
検出用取得部21は、異物の検出対象となる対象画像30を取得する検出用取得手段である。検出用取得部21は、例えば、撮像によって画像を得る撮像装置(例えば、X線画像を得るX線撮像装置)から送信される画像を、対象画像30として受信して取得する。また、訓練用取得部11は、それ以外の任意の方法で対象画像30を取得してもよい。検出用取得部21は、取得した対象画像30を演算部22に出力する。
【0067】
演算部22は、検出用取得部21によって取得された対象画像30に基づく情報を、推論モデルに入力して演算を行って、推論モデルからの出力を得る演算部である。演算部22は、モデル生成システム10によって生成された推論モデルを入力して記憶しておく。演算部22は、検出用取得部21から対象画像30を入力する。
【0068】
演算部22は、入力した対象画像30に基づく情報を、記憶した推論モデルに入力して演算を行って、推論モデルからの出力を得る。推論モデルを対象物の種別に応じたものとした場合には、演算部22は、対象画像30に係る対象物の種別に応じた推論モデルを演算に用いる。例えば、対象画像30に写った対象物がパスタである場合には、パスタ用の推論モデルを用いる。
【0069】
推論モデルに入力される情報は、推論モデルに応じたものであり、例えば、上記のように対象画像30自体である。また、推論モデルに入力される情報は、対象画像30自体以外の対象画像30に基づく情報でもよい。その場合、演算部22は、対象画像30から、推論モデルに入力する情報を生成する。推論モデルから出力される情報は、推論モデルに応じたものであり、例えば、上記のように対象画像30の異物の部分を除去した(と推論される)画像40である。また、推論モデルから出力される情報は、当該画像40以外の当該画像40に対応する情報でもよい。
【0070】
演算部22は、推論モデルへの入出力に係る情報を検出部23に出力する。例えば、演算部22は、推論モデルへの入出力に係る情報として、対象画像30及び推論モデルからの出力される画像40を検出部23に出力する。また、演算部22は、対象画像30及び推論モデルからの出力される画像40以外のそれらに対応する情報を検出部23に出力してもよい。
【0071】
検出部23は、演算部22による推論モデルへの入力に係る情報と、推論モデルからの出力に係る情報との差分を算出して、算出した差分から対象画像30に含まれる異物の検出を行う検出手段である。
【0072】
検出部23は、例えば以下のように異物の検出を行う。検出部23による異物の検出は、例えば上述したように、
図3に示すような検出結果を示す情報である異常度マップ50の生成である。検出部23は、演算部22から推論モデルへの入出力に係る情報、例えば、対象画像30及び推論モデルからの出力される画像40を入力する。
【0073】
検出部23は、これらの差分を取って異常度マップ50を生成する。具体的には、対応する画素毎に対象画像30と推論モデルからの出力される画像40との画素値の差分を取って異常度マップ50を生成する。異常度マップ50において、0以外の画素値を有する部分、即ち、画像30,40間で画素値に差がある部分は異物があると検出(推定)される部分である。
【0074】
検出部23は、検出結果を示す情報である異常度マップ50を出力する。検出結果を示す情報の出力は、例えば、他のシステム(装置)又は他のモジュールに対して行われてもよいし、異物検出システム20のユーザが認識できる形式(例えば、表示又は音声出力)で行われてもよい。
【0075】
また、検出部23は、異物の検出として、予め異物の検出の基準を予め記憶しておき、当該基準に基づいて異常度マップ50から対象画像30に異物が含まれるか否かの判定を行ってもよい。また、検出部23は、推論モデルへの入力に係る情報と、推論モデルからの出力に係る情報との差分を算出して、算出した差分から対象画像30に含まれる異物の検出を行うものであれば、上記以外の処理を行ってもよい。以上が、本実施形態に係る異物検出システム20の機能である。
【0076】
引き続いて、
図9及び
図10のフローチャートを用いて、本実施形態に係るモデル生成システム10及び異物検出システム20で実行される処理(モデル生成システム10及び異物検出システム20が行う動作方法)を説明する。
【0077】
まず、
図9のフローチャートを用いて、本実施形態に係るモデル生成システム10で実行される処理であるモデル生成方法を説明する。本処理では、まず、訓練用取得部11によって、訓練用の画像61,62,63,72,73が取得される(S01、訓練用取得ステップ)。訓練用の画像は、第1の正常画像61、第2の正常画像62及び第2の異物画像72の組み合わせ、並びに第3の正常画像63及び第3の異物画像73の組み合わせである。第1~第3の正常画像61~63は、訓練用の対象物が写っている画像である。第2の異物画像72は、検出対象として想定される異物が第2の正常画像に付加された画像である。第3の異物画像73は、検出対象として想定されない異物が第3の正常画像に付加された画像である。
【0078】
続いて、モデル生成部12によって、訓練用の画像61,62,63,72,73を用いた訓練が行われて推論モデルが生成される(S02、モデル生成ステップ)。訓練は、第1の正常画像61に基づく情報を推論モデルへの入力とし、当該第1の正常画像61に基づく情報を推論モデルからの出力とした訓練を含む。訓練は、第2の異物画像72に基づく情報を推論モデルへの入力とし、第2の正常画像62に基づく情報を推論モデルからの出力とした訓練を含む。訓練は、第3の異物画像73に基づく情報を推論モデルへの入力とし、第3の正常画像63に基づく情報を推論モデルからの出力とした訓練を含む。
【0079】
生成された推論モデルは、モデル生成部12から出力される(S03)。モデル生成システム10から出力された推論モデルは、異物検出システム20に記憶される。以上が、本実施形態に係るモデル生成システム10で実行される処理であるモデル生成方法である。
【0080】
続いて、
図10のフローチャートを用いて、本実施形態に係る異物検出システム20で実行される処理である異物検出方法を説明する。本処理では、まず、検出用取得部21によって、対象画像30が取得される(S11、検出用取得ステップ)。続いて、演算部22によって、対象画像30に基づく情報が、推論モデルに入力されて演算が行われて、推論モデルからの出力が得られる(S12、演算ステップ)。続いて、検出部23によって、対象画像30に含まれる異物の検出の処理として、推論モデルへの入力に係る情報と、推論モデルからの出力に係る情報との差分が算出されて、異常度マップとされる(S13、検出ステップ)。続いて、異物の検出結果を示す情報として、生成された異常度マップが、検出部23から出力される(S14)。以上が、本実施形態に係る異物検出システム20で実行される処理である異物検出方法である。
【0081】
上述した食品の商品の画像のような、概ね同様の形状の対象物(例えば、パスタ)が多数写っている画像からは、従来の方法では異物の検出が困難な場合がある。例えば、第2の正常画像62と第2の異物画像72との組み合わせのみを用いて訓練を行って推論モデルを生成した場合、出力に異物が反映されたり、対象物の一部が欠如したりしてしまう。これは、上記の画像の構造が原因であると考えられる。
【0082】
本実施形態に係るモデル生成方法では、正常画像61~63に加えて、2種類の互いに異なる異物画像72,73が用いられて訓練が行われて、推論モデルが生成される。具体的には、上述したように、第1の正常画像61を用いた訓練(
図5に示す訓練)、第2の正常画像62及び第2の異物画像72を用いた訓練(
図6に示す訓練)、並びに第3の正常画像63及び第3の異物画像73を用いた訓練(
図7に示す訓練)の3種類の訓練が行われて、推論モデルが生成される。このように生成された推論モデルは、入力された画像に写っているもののうち、対象物を出力に反映し、異物を出力に反映しないものとなる。即ち、パスタを対象物とする推論モデルは、パスタの構造を通し、異物の構造を通さないパスタパスフィルタとなる。
【0083】
従って、本実施形態のようにパスタ等の概ね同一の形状のものが複数写った画像において、小さな異物を検出する場合であっても、出力される画像から異物を除去することができる。従って、本実施形態によれば、生成された推論モデルを用いて異物の検出を行うことで、精度よく異物を検出することができる。
【0084】
また、本実施形態のように、第3の異物画像73の生成に用いる検出対象として想定されない異物は、自然画像であってもよい。この構成によれば、より適切かつ確実に推論モデルを生成することができる。但し、検出対象として想定されない異物は、自然画像以外の様々なテクスチャの画像であってもよい。
【0085】
また、本実施形態のように、第2の正常画像62及び第3の正常画像63は、第1の正常画像61であってもよい。また、第1の正常画像61に対して、検出対象として想定される異物を付加して第2の異物画像72を生成して取得し、第1の正常画像61に対して、検出対象として想定されない異物を付加して第3の異物画像73を生成して取得することとしてもよい。この構成によれば、正常画像61~63として第1の正常画像61が取得できれば、容易かつ確実に第2の異物画像72及び第3の異物画像73を取得することができる。その結果、全ての訓練用の画像61,62,63,72,73を取得することができ、容易かつ確実に推論モデルを生成することができる。但し、訓練用の画像61,62,63,72,73の取得は、上記のように行われる必要はなく、どのように行われてよい。
【0086】
また、本実施形態のように、対象物は、特定の種別の物であってもよく、訓練用の画像61,62,63,72,73は、特定の種別の物が訓練用の対象物として写っている画像であってもよい。例えば、パスタの商品であってもよい。また、食品の種別毎の推論モデルの生成及び利用が行われてもよい。この構成によれば、特定の種別の物について精度よく異物を検出するための推論モデルを生成することができる。但し、対象物を特定の種別の物に限定しない訓練用の画像61,62,63,72,73を用いてもよい。
【0087】
また、本実施形態のように、取得され訓練に用いられる第1の正常画像61の数、第2の正常画像62と第2の異物画像72との組み合わせの数、並びに第3の正常画像63と第3の異物画像73との組み合わせの数の比率は、予め設定された比率であることとしてもよい。例えば、上述したようにそれらの数は同一であってもよい。この比率を適切なものとすることで、より適切かつ確実に推論モデルを生成することができる。但し、この比率は予め設定されたものとする必要はない。
【0088】
なお、モデル生成システム10と異物検出システム20とは、同一の主体によって提供されるものであってもよいし、それぞれ別の主体によって提供されるものであってもよい。また、モデル生成システム10と異物検出システム20とは、同一のユーザによって用いられてるものであってもよいし、それぞれ別のユーザによって用いられてるものであってもよい。
【0089】
図11に、本実施形態によって実際に異物の検出を行った結果の例を示す。ここでは、従来の2つの手法によって異物の検出を行った結果を比較例として、本実施形態に係る結果と比較する。従来の方法のうちの第1の方法は、以下のものである。異物がない対象物の画像である良品画像(例えば、本実施形態に用いる正常画像61~63)を予め用意しておく。異物の検出の対象画像について、画像の部分毎の特徴量(例えば、ベクトルで表される特徴ベクトル)を算出する。良品画像についても、画像の部分毎の特徴量を算出する。対象画像の特徴量と、良品画像の特徴量とを比較して、比較に基づいて部分毎に異物があるかどうかを検出する。例えば、特徴ベクトル同士の距離を算出して、それらの距離が予め設定した閾値以上であれば異物があると判断し、閾値以上でなければ異物がないと判断する。
【0090】
従来の方法のうちの第2の方法は、以下のものである。異物がない対象物の画像である良品画像(例えば、本実施形態に用いる正常画像61~63)を予め用意しておく。良品画像から、機械学習の訓練によってオートエンコーダを生成する。生成したオートエンコーダを推論モデルとして、本実施形態の異物検出システム20による方法と同様に異物の検出を行う。
【0091】
図11に示す結果は、パスタの商品にSUS球及びガラス球を5個ずつ異物として入れて異物の検出を行った結果である。
図11の(a)の表は第1の方法による結果を示しており、(b)の表は第2の方法による結果を示しており、(c)の表は本実施形態による結果を示している。第1の方法では、SUS球及びガラス球をそれぞれ2個検出し、誤検出(異物がないにもかかわらず異物を検出した)が3個あった。第2の方法では、SUS球を3個検出し、ガラス球は検出できず、誤検出はなかった。本実施形態では、SUS球及びガラス球をそれぞれ4個検出し、誤検出はなかった。この結果に示すように従来の方法と比べて、本実施形態では精度よく異物を検出することができる。
【0092】
また、
図12及び
図13に、訓練に用いる画像と、推論モデルから出力される画像及び異常度マップとの例を示す。
図12(a)~(f)及び
図13(a)(b)に示す画像及び異常度マップは比較例であり、
図13(c)(d)に示す画像及び異常度マップは本実施形態に係る例である。
【0093】
図12の(a)及び(b)に、第1の正常画像61のみを用いて訓練を行って推論モデルを生成した場合(即ち、推論モデルをオートエンコーダとした場合)の、推論モデルから出力される画像及び異常度マップを示す。この場合、推論モデルから出力される画像は、異物が消されておらず、異常度マップの楕円で囲った異物があるべき部分でも異物が検出されていない。
【0094】
図12の(c)及び(d)に、第2の正常画像62及び第2の異物画像72の組み合わせのみを用いて訓練を行って推論モデルを生成した場合の、推論モデルから出力される画像及び異常度マップを示す。この場合、推論モデルから出力される画像は、異物が消されているが、パスタの部分も過剰に除去されている。異常度マップの楕円で囲った異物がない部分でも異物が検出されている。
【0095】
図12の(e)及び(f)に、第3の正常画像63及び第3の異物画像73の組み合わせのみを用いて訓練を行って推論モデルを生成した場合の、推論モデルから出力される画像及び異常度マップを示す。この場合、推論モデルから出力される画像は、パスタの部分の構造が全体的に除去され気味となっている。
【0096】
図13の(a)及び(b)に、第1の正常画像61と、第2の正常画像62及び第2の異物画像72の組み合わせとを、それぞれ同数ずつ用いて訓練を行って推論モデルを生成した場合の、推論モデルから出力される画像及び異常度マップを示す。この場合、推論モデルから出力される画像は、異物が消されている。しかしながら、若干異物を過学習しており、パスタの構造の中に異物として除去されている部分がある。異常度マップの楕円で囲った異物がない部分でも異物が検出されている。
【0097】
図13の(c)及び(d)に、第1の正常画像61と、第2の正常画像62及び第2の異物画像72の組み合わせと、第3の正常画像63及び第3の異物画像73の組み合わせとを、それぞれ同数ずつ用いて訓練を行って推論モデルを生成した場合(即ち、本実施形態の場合)の、推論モデルから出力される画像及び異常度マップを示す。この場合、推論モデルから出力される画像は、他の例に比べて適切に異物が消されており、異常度マップも適切な異物が検出されたことを示すものとなっている。
【0098】
以上の説明では、パスタの画像を例としていたが他の種別の物を対象物とした場合の例を示す。
図14は、ライスを対象物とした場合の例である。
図14の(a)は、異物の検出に用いられる対象画像の例であり、(b)は、対象画像を推論モデルに入力した際の推論モデルから出力される画像の例であり、(c)は、それらの画像から生成される異常度マップの例である。ライスを対象物とする場合、ライスが対象物として写った訓練用の画像61,62,63,72,73が用いられて訓練が行われて推論モデルが生成される。この推論モデルは、ライスの構造を通し、異物の構造を通さないライスパスフィルタとなる。
【0099】
図15は、ドライフルーツを加えたグラノーラを対象物とした場合の例である。
図15の(a)は、異物の検出に用いられる対象画像の例であり、(b)は、対象画像を推論モデルに入力した際の推論モデルから出力される画像の例であり、(c)は、それらの画像から生成される異常度マップの例である。図中の破線で囲った部分は、異物が存在する部分である。グラノーラを対象物とする場合、グラノーラが対象物として写った訓練用の画像61,62,63,72,73が用いられて訓練が行われて推論モデルが生成される。この推論モデルは、グラノーラの構造を通し、異物の構造を通さないグラノーラパスフィルタとなる。
【0100】
引き続いて、上述した一連のモデル生成システム10及び異物検出システム20による処理を実行させるためのモデル生成プログラム及び異物検出プログラムを説明する。
図16(a)に示すように、モデル生成プログラム100は、コンピュータに挿入されてアクセスされる、あるいはコンピュータが備える、コンピュータ読み取り可能な記録媒体110に形成されたプログラム格納領域111内に格納される。記録媒体110は、非一時的な記録媒体であってもよい。
【0101】
モデル生成プログラム100は、訓練用取得モジュール101と、モデル生成モジュール102とを備えて構成される。訓練用取得モジュール101と、モデル生成モジュール102とを実行させることにより実現される機能は、上述したモデル生成システム10の訓練用取得部11と、モデル生成部12との機能とそれぞれ同様である。
【0102】
図16(b)に示すように、異物検出プログラム200は、コンピュータに挿入されてアクセスされる、あるいはコンピュータが備える、コンピュータ読み取り可能な記録媒体210に形成されたプログラム格納領域211内に格納される。記録媒体210は、非一時的な記録媒体であってもよい。なお、モデル生成プログラム100及び異物検出プログラム200が同一のコンピュータで実行される場合には、記録媒体210は、記録媒体110と同一であってもよい。
【0103】
異物検出プログラム200は、検出用取得モジュール201と、演算モジュール202と、検出モジュール203とを備えて構成される。検出用取得モジュール201と、演算モジュール202と、検出モジュール203とを実行させることにより実現される機能は、上述した異物検出システム20の検出用取得部21と、演算部22と、検出部23との機能とそれぞれ同様である。
【0104】
なお、モデル生成プログラム100及び異物検出プログラム200は、その一部又は全部が、通信回線等の伝送媒体を介して伝送され、他の機器により受信されて記録(インストールを含む)される構成としてもよい。また、モデル生成プログラム100及び異物検出プログラム200の各モジュールは、1つのコンピュータでなく、複数のコンピュータの何れかにインストールされてもよい。その場合、当該複数のコンピュータによるコンピュータシステムよって上述した一連の処理が行われる。
【0105】
引き続いて、本発明の実施形態の更なる変形例、実施例について説明する。なお、以下に説明する変形例は、上述した実施形態の一部に置き換えられて、あるいは追加されて実施されてもよい。
【0106】
図17に第3の正常画像63及び第3の異物画像73の別の例を示す。
図17に示す第3の異物画像73のように、第3の異物画像73は、複数の部分的な自然画像が第3の正常画像63に重畳されたものであってもよい。ここで、部分的な自然画像は、第3の正常画像63よりもサイズが小さい自然画像である。このような第3の異物画像73を用いても、異物の検出のために適切な推論モデルを生成することができる。即ち、自然画像の特徴で分類は十分可能であり、あらゆる異物構造(想定外の異物)にも対応可能である。
【0107】
第3の異物画像73に付加されている異物は、計算式に基づいて描画された画像であってもよい。
図18にこの場合の第3の正常画像63及び第3の異物画像73の例を示す。
図18に示す第3の異物画像73のように、異物に係る画像は、例えば、予め用意された計算式に基づいてシミュレーションによって生成される画像である。当該画像は、従来の方法によって生成されてもよい。第3の正常画像63に付加される異物に係る画像は、モデル生成システム10(の訓練用取得部11)によって生成されてもよいし、モデル生成システム10以外によって生成されてモデル生成システム10(の訓練用取得部11)によって取得されてもよい。
【0108】
第3の異物画像73に付加される異物に係ると共に計算式に基づいて描画された画像は、
図19に示すような幾何学模様の画像81であってもよい。また、当該画像は、
図20に示すようなプロシージャルテクスチャの画像(計算式に基づいて生成される質感等のテクスチャの画像)82であってもよい。また、当該画像は、
図21に示すような、周波数に係る計算式に基づいて生成される画像である周波数画像83、又は複数の周波数画像83を組み合わせたものであってもよい。また、当該画像は、上記の各画像を組み合わせた画像、例えば、
図22に示すような、プロシージャルテクスチャの画像82に基づいて周波数画像83を切り取った画像であってもよい。
【0109】
第3の異物画像73として上記の画像に基づくものを用いた構成によっても、より適切かつ確実に推論モデルを生成することができる。
【0110】
続いて、コーヒー豆を対象物として画像から異物を検出した例を示す。
図23の(a)は、異物の検出に用いられる対象画像30から、従来の画像の単純2値化によって異物を検出した場合の検出された異物を対象画像30に重畳したものである。
図23の(a)に示すように、従来の方法では、画像上段に2個、画像中段に3個、画像下段に2個の異物が検出された。
図23の(b)は、本実施形態の推論モデルを用いて対象画像30から得られた異常度マップであり、(c)は異常度マップから検出された異物を対象画像30に重畳したものである。
図23の(c)に示すように、本実施形態による方法では、画像上段に4個、画像中段に2個、画像下段に6個の異物が検出された。
【0111】
図24の(a)は、異物の検出に用いられる対象画像(
図23に示す対象画像とは別の画像)30から、従来の画像の単純2値化によって異物を検出した場合の検出された異物を対象画像30に重畳したものである。
図24の(a)に示すように、従来の方法では、画像上段に2個、画像中段に3個、画像下段に3個の異物が検出された。
図24の(b)は、本実施形態の推論モデルを用いて対象画像30から得られた異常度マップであり、(c)は異常度マップから検出された異物を対象画像30に重畳したものである。
図24の(c)に示すように、本実施形態による方法では、画像上段に3個、画像中段に6個、画像下段に5個の異物が検出された。
図23及び
図24の例にも示すように、本実施形態による方法によれば、従来の方法では検出できなかった実際の異物を検出している。このように本実施形態による方法によれば、高精度での異物の検出が可能である。
【0112】
第3の異物画像73において、異物が付加されている部分は、第3の異物画像73全体である必要はなく、第3の異物画像73の一部であってもよい。また、第3の異物画像73において、異物が付加されている部分の位置は、不規則な位置(ランダムな位置)であってもよい。また、第3の異物画像73における、個々の異物の大きさも様々な大きさ(マルチサイズ)であってもよい。これによって、推論モデルを、対象画像30から検出される異物も不規則な位置にあっても、あるいは様々な大きさであっても、適切に異物を検出できるものとすることができる。
図25に、不規則な位置に異物が付加されている第3の異物画像73の例を示す。
【0113】
第3の異物画像73は、透過的な付加及び置き換えによる付加の少なくとも何れかによって、検出対象として想定されない異物が第3の正常画像63に付加された画像であってもよい。
図26に、異物の透過的な付加による第3の異物画像73、及び対応する第3の正常画像63を示す。
図27に、異物の置き換えによる付加による第3の異物画像73、及び対応する第3の正常画像63を示す。
【0114】
異物の透過的な付加(ミックスアップ)とは、第3の異物画像73の異物が付加された部分において、異物と付加前の第3の正常画像63との両方が見えるように異物を付加することである。即ち、異物の透過的な付加は、付加する部分において、異物を透かして第3の正常画像63が見える状態(あるいは、第3の正常画像63を透かして異物が見える状態)で、半透明の異物を付加前の第3の正常画像63に重畳することである。異物の透過的な付加を行う場合、第3の異物画像73全体における異物が付加されている部分の大きさの割合は、10%~100%としてもよい。この割合を大きくすることで、推論モデルの異物検出性能を高くすることができる。
【0115】
図28に、異物の透過的な付加による第3の異物画像73を用いて推論モデルを生成した場合に、コーヒー豆を対象物として対象画像30から異物を検出した例を示す。
図28の(a)は、対象画像30から得られた異常度マップであり、(b)は異常度マップから検出された異物を対象画像30に重畳したものである。
【0116】
異物の透過的な付加による第3の異物画像73を用いた場合、特に局所的な異物(例えば、テクスチャの変化(疵又は異常))の検出を高精度で行うことができる。また、対象画像30が、上記の異物の透過的な付加と同様に、異物とそれ以外が透過的に重なり合って写っているものである場合、異物の検出を高精度で行うことができる。例えば、対象画像30がX線画像である場合、異物の検出を高精度で行うことができる。
【0117】
異物の置き換えによる付加(ミックスアウト)とは、第3の異物画像73の異物が付加された部分において、第3の正常画像63を取り除いて異物を付加することである。即ち、異物の置き換えによる付加は、付加する部分において、異物で第3の正常画像63を遮蔽した状態で、異物を付加前の第3の正常画像63に重畳することである。異物の置き換えによる付加を行う場合、第3の異物画像73全体における異物が付加されている部分の大きさの割合は、10%~60%としてもよい。この割合を大きくすることで、推論モデルの異物検出性能を高くすることができる。
【0118】
図29に、異物の置き換えによる付加による第3の異物画像73を用いて推論モデルを生成した場合に、コーヒー豆を対象物として対象画像30から異物を検出した例を示す。
図29の(a)は、対象画像30から得られた異常度マップであり、(b)は異常度マップから検出された異物を対象画像30に重畳したものである。
【0119】
異物の置き換えによる付加による第3の異物画像73を用いた場合、特に大局的な異物(例えば、色が違う、欠損又は曲がり)の検出を高精度で行うことができる。この場合、生成される推論モデルが、遮蔽された第3の正常画像63の部分を復元し(例えば、異物がない正常品に復元し)、画像に写ったものの位置関係まで学習されて得られたものだからである。例えば、対象画像が、異常検知手法の評価に用いられるデータセットであるMVTecADに類する画像である場合、異物の検出を高精度で行うことができる。
【0120】
第3の異物画像73が、透過的な付加及び置き換えによる付加の少なくとも何れかによるものである場合も、訓練用取得部11は、上述した方法と同様に第3の異物画像73を取得すればよい。訓練用取得部11が、第3の異物画像73を生成する場合、従来の画像の透過的な付加及び画像の置き換えの技術を用いて第3の異物画像73を生成すればよい。第3の異物画像73は、透過的な付加によるもの、置き換えによる付加によるもの、及びそれらの両方によるものの何れかでよい。複数の第3の異物画像73は、上記の何れか一種類のもので構成されていてもよいし、上記の複数の種類のものを含んでいてもよい。
【0121】
上記の通り、透過的な付加及び置き換えによる付加の少なくとも何れかによって第3の異物画像73を生成する構成によっても、より適切かつ確実に推論モデルを生成することができる。
【0122】
また、推論モデルの訓練の際に、推論モデルからの出力とする情報に係る画像は、推論モデルへの入力に係る画像(正常画像)に上記以外の画像加工が行われたものであってもよい。当該画像加工は、予め設定されたものであり、例えば、回転、反転、画素値の変更(輝度振り)、ガンマ補正、エッジ強調及び平滑化処理の何れかである。当該画像加工は、第2の異物画像72又は第3の異物画像73に対して行われてもよい。また、上述した訓練用の画像61,62,63,72,73以外にも、当該画像加工が行われた画像が、推論モデルの訓練に用いられてもよい。
【0123】
モデル生成システム10によって生成され、異物検出システム20によって用いられる推論モデルは、複数の層を有するニューラルネットワークを含み、層間での連結(Concat,Concatenation)(結合)を行う構造を有し、連結を経由した後の画像と入力した画像とを加算するモデルであってもよい。例えば、当該推論モデルは、上記の構成を有するニューラルネットワークである。当該ニューラルネットワークを
図30に模式的に示す。
【0124】
図30に示すように、当該ニューラルネットワークは、入力した画像を特徴量にエンコードするエンコーダと、エンコーダから出力される特徴量を画像にデコードするデコーダとを含む。エンコーダは、2次元畳み込み及び活性化が行われる複数の層(Conv2D Layer,Activation Layer)を有する。エンコーダの複数の層間では、プーリングが行われる。デコーダは、2次元畳み込み及び活性化が行われる複数の層(Conv2D Layer,Activation Layer)を有する。デコーダの複数の層間では、アンプーリングが行われる。エンコーダの層は、エンコーダの層と同一のサイズのデコーダの層に連結(Concat)される(Concatenation Layer)。連結される2つの層は、互いに隣接していない層である。このように、当該ニューラルネットワークは、プーリング層を持つU-Netタイプのモデルである。
【0125】
エンコーダに入力される画像と、デコーダの最後の2次元畳み込み及び活性化が行われる層から出力される画像との加算が行われ、加算によって得られた画像がデコーダの出力層(Regression Layer)から出力される。上記の画像の加算は、対応する画素毎の画素値の加算である。
【0126】
上記のニューラルネットワークでは、デコーダの最後の2次元畳み込み及び活性化が行われる層から出力される画像を、入力される画像に含まれる異物の画像(正確には、入力した画像に加算することで異物を除去できる異物に係る画素の画素値にマイナスをかけた画像)とすることができる。この構造によれば、推論モデルを、適切に異物の部分を除去した画像を出力するものにできる。その結果、精度よく異物の検出を行うことができる。
【0127】
モデル生成システム10は、上述した推論モデルをベースに新たな訓練を行って第2の推論モデルを生成してもよい。即ち、モデル生成システム10は、推論モデルを生成する訓練、その後の第2の推論モデルを生成する訓練の2段階の訓練を行ってもよい。異物検出システム20は、上述した推論モデルではなく、モデル生成システム10によって生成された第2の推論モデルを用いて、対象物が写った画像に含まれる異物の検出を行ってもよい。なお、以降の説明では、単に推論モデルと記載したら上述した実施形態の推論モデル(1段階目で生成される推論モデル)を指す。
【0128】
この場合、モデル生成部12は、生成した推論モデルの出力側に、当該推論モデルに入力した画像の位置毎の異物の度合いを示す情報を出力する部分を追加した新たな第2の推論モデルを、新たな訓練を行って生成する。即ち、モデル生成部12は、推論モデルに基づく転移学習を行って第2の推論モデルを生成する。
【0129】
第2の推論モデルは、異物の検出対象の画像を入力して、入力した画像の位置毎の異物の度合いを示す情報を出力(推論)するモデル(識別モデル、クラス分けモデル)である。例えば、第2の推論モデルは、異物の検出対象となる対象画像30の画素毎に、当該画素が異物に係るものであるかの確率(良否の確率、クラスの分類値)の値を出力する。この場合、第2の推論モデルは、当該確率として画素毎に0~1の値を出力してもよい。出力される値が1に近いほど当該画素が異物に係るものである度合いが高く、出力される値が0に近いほど当該画素が異物に係るものである度合いが低いことを示している。
【0130】
推論モデルを用いた異物の検出では、推論モデルへ入力される画像と推論モデルから出力される画像との差分を取ることで異物の検出を行っていた。第2の推論モデルを用いた異物の検出では、推論モデルを用いた異物の検出のように画像間の差分を取る必要はない。
【0131】
図31に、本実施形態の第2の推論モデルの例を模式的に示す。例えば、第2の推論モデルは、ニューラルネットワークである。第2の推論モデルは、ニューラルネットワークである推論モデルの出力側に新たな層が追加されて、新たな訓練が行われて生成されたものである。
【0132】
図31に示す例では、推論モデルは、入力した画像を特徴量にエンコードするエンコーダと、エンコーダから出力される特徴量を画像にデコードするデコーダとを含むニューラルネットワークである。エンコーダは、2次元畳み込み及び活性化が行われる複数の層(Conv2D Layer,Activation Layer)を有する。エンコーダの複数の層間では、プーリングが行われる。デコーダは、2次元畳み込み及び活性化が行われる複数の層(Conv2D Layer,Activation Layer)を有する。デコーダの複数の層間では、アンプーリングが行われる。エンコーダの層は、エンコーダの層と同一のサイズのデコーダの層に連結(Concat)される(Concatenation Layer)。連結される2つの層は、互いに隣接していない層である。デコーダの2次元畳み込み及び活性化が行われる複数の層のうちの最後の層が、推論モデルの出力層である。なお、第2の推論モデルに用いられる推論モデルは、必ずしも
図31に示すものである必要はなく、第2の推論モデルを構成可能なものであれば任意のものでよい。
【0133】
第2の推論モデルにおいて追加される部分は、ニューラルネットワークの複数の層である。例えば、
図31に示すように、互いに隣接する層が接続されている3つの層が追加される。推論モデルの側からの1つめの層は、畳み込み及びRelu関数による演算が行われる層(Conv+Relu、Conv2D Layer,Activation Layer)である。この層は、第1の推論モデルの出力層に接続される。2つめの層は、softmax関数による演算が行われる層(softmax)である。3つめの層は、上記の確率の値を出力する出力層(Pixel Classification)である。
【0134】
第2の推論モデルの入力層は、推論モデルの入力層と同じである。第2の推論モデルには、出力層に、入力層に入力される情報に係る画像の位置毎の異物の度合いを示す情報を出力するためのニューロンが設けられる。例えば、推論モデルから出力される情報は、上述したように画像の各画素の当該画素が異物に係るものであるかの確率の値である。この場合、出力層には、画像の画素の数のニューロンが設けられ、それぞれのニューロンから対応する画素の確率の値が出力される。なお、推論モデルから出力される情報は、上述した画像の位置毎の異物の度合いを示す情報であれば各画素の確率の値以外であってもよい。
【0135】
また、第2の推論モデルは、機械学習の訓練によって生成されて上述した入出力を行うものであれば、ニューラルネットワーク以外によって構成されていてもよい。第2の推論モデルも、第1の推論モデルと同様に人工知能ソフトウェアの一部であるプログラムモジュールとしての利用が想定される。
【0136】
第2の推論モデルは、推論モデルと同様に対象物の種別に応じたものとしてもよい。この場合、この点において、第2の推論モデルは、推論モデルと同様に扱うことができる。また、上記の点以外においても同様とできる点については、第2の推論モデルと、推論モデルとは同様としてもよい。
【0137】
続いて、第2の推論モデルに係るモデル生成システム10及び異物検出システム20の機能を説明する。訓練用取得部11は、第2の推論モデルの訓練用の情報も取得する。第2の推論モデルの訓練用の情報は、第2の推論モデルの訓練用の画像と、当該画像の位置毎の異物の度合いを示す情報の組み合わせである。
図32に、第2の推論モデルの訓練用の画像91、及び当該画像91の位置毎の異物の度合いを示す情報92の例を示す。第2の推論モデルの訓練用の画像91は、上記の第1の正常画像61、第2の異物画像72及び第3の異物画像73の少なくとも何れかとすることができる。従って、訓練用取得部11は、推論モデルの訓練用の画像とは別に第2の推論モデルの訓練用の画像91を取得する必要はない。但し、訓練用取得部11は、推論モデルの訓練用の画像とは別に第2の推論モデルの訓練用の画像91を取得してもよい。この場合、訓練用取得部11は、推論モデルの訓練用の画像の取得方法と同様の方法で当該画像91を取得すればよい。
【0138】
第2の推論モデルの訓練用の情報の一部である、第2の推論モデルの訓練用の画像91の位置毎の異物の度合いを示す情報92は、例えば、第2の推論モデルの訓練用の画像91の画素毎の当該画素が異物に係るものであるかを示す値である。上述した例のように第2の推論モデルからの出力が0~1の値であり、出力される値が1に近いほど当該画素が異物に係るものである度合いが高い場合、当該情報92の値は、当該画素が異物に係るものであれば1、当該画素が異物に係るものでなければ0である。
図32における当該情報92は、第2の推論モデルの訓練用の画像91毎の値を示しており、白い部分が1(即ち、白い部分が異物の部分)であり、黒い部分が0(即ち、黒い部分が異物でない部分)である。なお、当該情報92の値は、必ずしも上記である必要はなく、第2の推論モデルからの出力も応じたものであればよい。
【0139】
訓練用取得部11は、上記の情報92を生成して取得してもよい。例えば、第2の推論モデルの訓練用の画像91と、第1の正常画像61、第2の異物画像72及び第3の異物画像73とする場合、訓練用取得部11は、これらの画像61,72,73の画素毎に異物の部分を1、異物でない部分を0とした情報を上記の情報92として生成する。異物の部分は、例えば、異物として正常画像に追加される画像の部分とする。あるいは、異物として正常画像に追加される画像のうち、異物である部分を既存の検出の技術で検出して、検出した部分を上記の情報92における異物の部分とすればよい。即ち、上記の情報92は、ユーザによるアノテーションを必要とせずに、即ち、アノテーションフリーで取得され得る。また、訓練用取得部11は、モデル生成システム10のユーザがモデル生成システム10に対して入力した上記の情報92を受け付けることで上記の情報92を取得してもよい。
【0140】
訓練用取得部11は、モデル生成部12による第2の推定モデルの訓練を適切に行える程度の数の第2の推論モデルの訓練用の情報を取得する。訓練用取得部11は、取得した第2の推論モデルの訓練用の情報をモデル生成部12に出力する。
【0141】
モデル生成部12は、例えば以下のように第2の推論モデルを生成する。モデル生成部12は、訓練用取得部11から第2の推論モデルの訓練用の情報を入力する。モデル生成部12は、第2の推論モデルの訓練用の情報の上記の組み合わせ毎に第2の推論モデル生成のための訓練を行う。第2の推論モデル生成のための訓練は、訓練によって第1の推論モデルが生成された後に行われる。
【0142】
以下では、第2の推論モデルが、画像自体を入力して、上記の確率の値を出力するものである例を説明する。モデル生成部12は、
図32に示すように、第2の推論モデルの訓練用の画像91を第2の推論モデルへの入力とすると共に、当該画像91に対応する確率の値の情報92を第2の推論モデルからの出力とした訓練を行う。
【0143】
第2の推論モデルの訓練の際、第2の推論モデルのうちの推論モデルのエンコーダ部分は、訓練による更新がなされないようにする。即ち、第2の推論モデルのうちの第1のエンコーダ部分は、推論モデルの訓練(1段階目での訓練)でのみ更新されて、第2の推論モデルの訓練(2段階目での訓練)での学習率を0とする。2段階目での訓練の際、第2の推論モデルのうちの推論モデルのデコーダ部分は、追加部分と比べて学習率が低くなるようにする。例えば、デコーダ部分の学習率は、追加部分に対する1/100の学習率とする。また、学習の際の損失関数は、例えば、交差エントロピー誤差が用いられる。第2の推論モデルの訓練は、上記以外のように行われてもよい。上記の各訓練自体、即ち、第2の推論モデルのパラメータの更新は、従来の機械学習の訓練と同様に行われればよい。
【0144】
第2の推論モデルが、画像自体以外の画像に基づく情報を入力するものであれば、モデル生成部12は、第2の推論モデルへの入力に対応する画像91から、画像91に基づく情報を生成して、生成した情報を推論モデルへの入力として訓練を行えばよい。
【0145】
モデル生成部12は、例えば、訓練用取得部11から入力した第2の推論モデルの訓練用の情報を全て訓練に利用して第2の推論モデルを生成する。あるいは、モデル生成部12は、上記以外の予め設定した訓練の終了の条件を満たすまで訓練を行って第2の推論モデルを生成してもよい。生成された第2の推論モデルは、異物検出システム20で用いられる。モデル生成部12は、生成した第2の推論モデルを出力する。第2の推論モデルの入出力は、上記の推論モデルの入出力と同様に行われればよい。また、異物の検出に第2の推論モデルが用いられる場合には、推論モデルの出力は必要ない。
【0146】
第2の推論モデルを用いる場合、異物検出システム20における異物の検出は、以下のように行われる。検出用取得部21は、異物の検出対象となる対象画像30を取得する。検出用取得部21は、推論モデルを用いる場合と同様に対象画像30を取得して演算部22に出力する。
【0147】
演算部22は、検出用取得部21によって取得された対象画像30に基づく情報を、第2の推論モデルに入力して演算を行って、第2の推論モデルからの出力を得る。演算部22は、モデル生成システム10によって生成された第2の推論モデルを入力して記憶しておく。演算部22は、検出用取得部21から対象画像30を入力する。
【0148】
演算部22は、入力した対象画像30に基づく情報を、記憶した第2の推論モデルに入力して演算を行って、第2の推論モデルからの出力を得る。第2の推論モデルに入力される情報は、第2の推論モデルに応じたものであり、例えば、上記のように対象画像30自体である。また、第2の推論モデルに入力される情報は、対象画像30自体以外の対象画像30に基づく情報でもよい。その場合、演算部22は、対象画像30から、第2の推論モデルに入力する情報を生成する。第2の推論モデルから出力される情報は、第2の推論モデルに応じたものであり、例えば、上記のように対象画像30の画素毎の確率の値(クラスマップ)である。また、第2の推論モデルから出力される情報は、上記以外の対象画像30の位置毎の異物の度合いを示す情報でもよい。演算部22は、第2の推論モデルから出力された情報を検出部23に出力する。
【0149】
検出部23は、演算部22によって得られた第2の推論モデルからの出力から対象画像30に含まれる異物の検出を行う。検出部23は、例えば以下のように異物の検出を行う。検出部23は、演算部22から、第2の推論モデルからの出力である対象画像30の位置毎の異物の度合いを示す情報、例えば、対象画像30の画素毎の確率の値を入力する。検出部23は、予め異物の検出の基準、例えば、検出のための閾値(例えば、0.5)を予め記憶しておく。検出部23は、対象画像30の画素毎に、第2の推論モデルからの出力である確率の値と閾値とを比較する。確率が閾値以上である画素について、検出部23は、当該画素の部分が異物である(当該画素の部分に異物が写っている)と判断する。確率が閾値以上ではない画素について、検出部23は、当該画素の部分が異物ではない(当該画素の部分に異物が写っておらず正常である)と判断する。また、検出部23は、演算部22によって得られた第2の推論モデルからの出力から対象画像30に含まれる異物の検出を行うものであれば、上記以外の方法で異物を検出してもよい。
【0150】
検出部23は、検出結果を示す情報を出力する。検出結果を示す情報の出力は上述した方法と同様に行われればよい。
図33の(a)に、第2の推論モデルからの出力(クラスマップ)の例を示す。また、
図33の(b)に、この出力が用いられて検出された異物を重畳した対象画像を示す。
図33において、横に並んだ複数の丸い部分が異物の部分である。
【0151】
上記のように第2の推論モデルを生成して異物の検出に用いることで、容易かつ確実に異物を検出することができる。また、第2の推論モデルから出力される情報は、例えば、上述した異常度マップと比べて、対象画像30に係る様々な条件、対象物(サンプル)に応じたばらつきが小さいものである。従って、異物を検出する際に用いる基準(例えば、上述した閾値)を、対象画像30に係る様々な条件、対象物に応じたものにする必要がなく、容易に設定することができる。そのため、第2の推論モデルを用いることで、対象画像30に係る様々な条件、対象物にかかわらず一律の基準を用いても、安定的かつ適切に異物の検出を行うことができる。
【0152】
本開示のモデル生成方法、モデル生成システム、モデル生成プログラム、異物検出方法、異物検出システム、異物検出プログラム及び推論モデルは、以下の構成を有する。
[1] 対象物が写った画像に含まれる異物の検出に用いられる推論モデルを生成するモデル生成方法であって、
訓練用の対象物が写っている第1の正常画像、訓練用の対象物が写っている第2の正常画像、検出対象として想定される異物が第2の正常画像に付加された第2の異物画像、訓練用の対象物が写っている第3の正常画像、及び検出対象として想定されない異物が第3の正常画像に付加された第3の異物画像を訓練用の画像として取得する訓練用取得ステップと、
前記訓練用取得ステップにおいて取得された訓練用の画像を用いた訓練を行って前記推論モデルを生成するモデル生成ステップと、を含み、
前記訓練は、前記第1の正常画像に基づく情報を前記推論モデルへの入力とし、当該第1の正常画像に基づく情報を前記推論モデルからの出力とした訓練、前記第2の異物画像に基づく情報を前記推論モデルへの入力とし、前記第2の正常画像に基づく情報を前記推論モデルからの出力とした訓練、及び前記第3の異物画像に基づく情報を前記推論モデルへの入力とし、前記第3の正常画像に基づく情報を前記推論モデルからの出力とした訓練を含むモデル生成方法。
[2] 前記検出対象として想定されない異物は、自然画像である[1]に記載されたモデル生成方法。
[3] 前記第2の正常画像及び前記第3の正常画像は、前記第1の正常画像であり、
前記訓練用取得ステップにおいて、前記第1の正常画像に対して、検出対象として想定される異物を付加して前記第2の異物画像を生成して取得し、前記第1の正常画像に対して、検出対象として想定されない異物を付加して前記第3の異物画像を生成して取得する[1]又は[2]に記載されたモデル生成方法。
[4] 前記対象物は、特定の種別の物であり、
前記訓練用取得ステップにおいて取得される第1の正常画像、第2の正常画像、第2の異物画像、第3の正常画像及び第3の異物画像は、前記特定の種別の物が前記訓練用の対象物として写っている画像である[1]~[3]の何れかに記載されたモデル生成方法。
[5] 前記訓練用取得ステップにおいて取得される第1の正常画像の数、第2の正常画像と第2の異物画像との組み合わせの数、並びに第3の正常画像と第3の異物画像との組み合わせの数の比率は、予め設定された比率である[1]~[4]の何れかに記載されたモデル生成方法。
[6] 前記検出対象として想定されない異物は、計算式に基づいて描画された画像である[1]~[5]の何れかに記載されたモデル生成方法。
[7] 前記第3の異物画像は、透過的な付加及び置き換えによる付加の少なくとも何れかによって、前記検出対象として想定されない異物が前記第3の正常画像に付加された画像である[1]~[6]の何れかに記載されたモデル生成方法。
[8] 前記推論モデルは、複数の層を有するニューラルネットワークを含み、層間での連結を行う構造を有し、連結を経由した後の画像と入力した画像とを足し合わせるモデルである[1]~[7]の何れかにに記載されたモデル生成方法。
[9] 前記モデル生成ステップにおいて、生成した前記推論モデルの出力側に、当該推論モデルに入力した画像の位置毎の異物の度合いを示す情報を出力する部分を追加した新たな第2の推論モデルを、新たな訓練を行って生成する[1]~[8]の何れかに記載されたモデル生成方法。
[10] 対象物が写った画像に含まれる異物の検出に用いられる推論モデルを生成するモデル生成システムであって、
訓練用の対象物が写っている第1の正常画像、訓練用の対象物が写っている第2の正常画像、検出対象として想定される異物が第2の正常画像に付加された第2の異物画像、訓練用の対象物が写っている第3の正常画像、及び検出対象として想定されない異物が第3の正常画像に付加された第3の異物画像を訓練用の画像として取得する取得手段と、
前記取得手段によって取得された訓練用の画像を用いた訓練を行って前記推論モデルを生成するモデル生成手段と、を備え、
前記訓練は、前記第1の正常画像に基づく情報を前記推論モデルへの入力とし、当該第1の正常画像に基づく情報を前記推論モデルからの出力とした訓練、前記第2の異物画像に基づく情報を前記推論モデルへの入力とし、前記第2の正常画像に基づく情報を前記推論モデルからの出力とした訓練、及び前記第3の異物画像に基づく情報を前記推論モデルへの入力とし、前記第3の正常画像に基づく情報を前記推論モデルからの出力とした訓練を含むモデル生成システム。
[11] コンピュータを、対象物が写った画像に含まれる異物の検出に用いられる推論モデルを生成するモデル生成システムとして動作させるモデル生成プログラムであって、
当該コンピュータを、
訓練用の対象物が写っている第1の正常画像、訓練用の対象物が写っている第2の正常画像、検出対象として想定される異物が第2の正常画像に付加された第2の異物画像、訓練用の対象物が写っている第3の正常画像、及び検出対象として想定されない異物が第3の正常画像に付加された第3の異物画像を訓練用の画像として取得する取得手段と、
前記取得手段によって取得された訓練用の画像を用いた訓練を行って前記推論モデルを生成するモデル生成手段と、として機能させ、
前記訓練は、前記第1の正常画像に基づく情報を前記推論モデルへの入力とし、当該第1の正常画像に基づく情報を前記推論モデルからの出力とした訓練、前記第2の異物画像に基づく情報を前記推論モデルへの入力とし、前記第2の正常画像に基づく情報を前記推論モデルからの出力とした訓練、及び前記第3の異物画像に基づく情報を前記推論モデルへの入力とし、前記第3の正常画像に基づく情報を前記推論モデルからの出力とした訓練を含むモデル生成プログラム。
[12] [1]~[8]の何れかに記載のモデル生成方法によって生成された前記推論モデルを用いて、対象物が写った画像に含まれる異物の検出を行う異物検出方法であって、
異物の検出対象となる対象画像を取得する検出用取得ステップと、
前記検出用取得ステップにおいて取得された前記対象画像に基づく情報を、前記推論モデルに入力して演算を行って、前記推論モデルからの出力を得る演算ステップと、
前記演算ステップにおける前記推論モデルへの入力に係る情報と、前記推論モデルからの出力に係る情報との差分を算出して、算出した差分から前記対象画像に含まれる異物の検出を行う検出ステップと、
を含む異物検出方法。
[13] [9]に記載のモデル生成方法によって生成された前記第2の推論モデルを用いて、対象物が写った画像に含まれる異物の検出を行う異物検出方法であって、
異物の検出対象となる対象画像を取得する検出用取得ステップと、
前記検出用取得ステップにおいて取得された前記対象画像に基づく情報を、前記第2の推論モデルに入力して演算を行って、前記第2の推論モデルからの出力を得る演算ステップと、
前記演算ステップにおいて得られた前記第2の推論モデルからの出力から前記対象画像に含まれる異物の検出を行う検出ステップと、
を含む異物検出方法。
[14] [1]~[8]の何れかに記載のモデル生成方法によって生成された前記推論モデルを用いて、対象物が写った画像に含まれる異物の検出を行う異物検出システムであって、
異物の検出対象となる対象画像を取得する検出用取得手段と、
前記検出用取得手段によって取得された前記対象画像に基づく情報を、前記推論モデルに入力して演算を行って、前記推論モデルからの出力を得る演算手段と、
前記演算手段による前記推論モデルへの入力に係る情報と、前記推論モデルからの出力に係る情報との差分を算出して、算出した差分から前記対象画像に含まれる異物の検出を行う検出手段と、
を備える異物検出システム。
[15] [9]に記載のモデル生成方法によって生成された前記第2の推論モデルを用いて、対象物が写った画像に含まれる異物の検出を行う異物検出システムであって、
異物の検出対象となる対象画像を取得する検出用取得手段と、
前記検出用取得手段によって取得された前記対象画像に基づく情報を、前記第2の推論モデルに入力して演算を行って、前記第2の推論モデルからの出力を得る演算手段と、
前記演算手段によって得られた前記第2の推論モデルからの出力から前記対象画像に含まれる異物の検出を行う検出手段と、
を備える異物検出システム。
[16] コンピュータを、[1]~[8]の何れかに記載のモデル生成方法によって生成された前記推論モデルを用いて、対象物が写った画像に含まれる異物の検出を行う異物検出システムとして動作させる異物検出プログラムであって、
当該コンピュータを、
異物の検出対象となる対象画像を取得する検出用取得手段と、
前記検出用取得手段によって取得された前記対象画像に基づく情報を、前記推論モデルに入力して演算を行って、前記推論モデルからの出力を得る演算手段と、
前記演算手段による前記推論モデルへの入力に係る情報と、前記推論モデルからの出力に係る情報との差分を算出して、算出した差分から前記対象画像に含まれる異物の検出を行う検出手段と、
として機能させる異物検出プログラム。
[17] コンピュータを、[9]に記載のモデル生成方法によって生成された前記推論モデルを用いて、対象物が写った画像に含まれる異物の検出を行う異物検出システムとして動作させる異物検出プログラムであって、
当該コンピュータを、
異物の検出対象となる対象画像を取得する検出用取得手段と、
前記検出用取得手段によって取得された前記対象画像に基づく情報を、前記第2の推論モデルに入力して演算を行って、前記第2の推論モデルからの出力を得る演算手段と、
前記演算手段によって得られた前記第2の推論モデルからの出力から前記対象画像に含まれる異物の検出を行う検出手段と、
として機能させる異物検出プログラム。
[18] 画像に基づく情報を入力して、入力に応じた演算を行って情報を出力するようコンピュータを機能させるための推論モデルであって、
[1]~[8]の何れかに記載のモデル生成方法によって生成されたものである推論モデル。
【符号の説明】
【0153】
10…モデル生成システム、11…訓練用取得部、12…モデル生成部、20…異物検出システム、21…検出用取得部、22…演算部、23…検出部、100…モデル生成プログラム、101…訓練用取得モジュール、102…モデル生成モジュール、110…記録媒体、111…プログラム格納領域、201…検出用取得モジュール、202…演算モジュール、203…検出モジュール、200…異物検出プログラム、210…記録媒体、211…プログラム格納領域。
【要約】
精度よく異物を検出する。
モデル生成方法は、対象物が写った画像に含まれる異物の検出に用いられる推論モデルを生成する方法であって、訓練用の対象物が写っている第1の正常画像、訓練用の対象物が写っている第2の正常画像、検出対象として想定される異物が第2の正常画像に付加された第2の異物画像、訓練用の対象物が写っている第3の正常画像、及び検出対象として想定されない異物が第3の正常画像に付加された第3の異物画像を訓練用の画像として取得する訓練用取得ステップ(S01)と、取得された訓練用の画像を用いた訓練を行って推論モデルを生成するモデル生成ステップ(S02)とを含む。