IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ コアテック株式会社の特許一覧

<>
  • 特許-差分検出システム及び差分検出方法 図1
  • 特許-差分検出システム及び差分検出方法 図2
  • 特許-差分検出システム及び差分検出方法 図3
  • 特許-差分検出システム及び差分検出方法 図4
  • 特許-差分検出システム及び差分検出方法 図5
  • 特許-差分検出システム及び差分検出方法 図6
  • 特許-差分検出システム及び差分検出方法 図7
  • 特許-差分検出システム及び差分検出方法 図8
  • 特許-差分検出システム及び差分検出方法 図9
  • 特許-差分検出システム及び差分検出方法 図10
  • 特許-差分検出システム及び差分検出方法 図11
  • 特許-差分検出システム及び差分検出方法 図12
  • 特許-差分検出システム及び差分検出方法 図13
  • 特許-差分検出システム及び差分検出方法 図14
  • 特許-差分検出システム及び差分検出方法 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-07-12
(45)【発行日】2024-07-23
(54)【発明の名称】差分検出システム及び差分検出方法
(51)【国際特許分類】
   G06T 7/00 20170101AFI20240716BHJP
   G06N 3/08 20230101ALI20240716BHJP
   G06N 20/20 20190101ALI20240716BHJP
【FI】
G06T7/00
G06N3/08
G06N20/20
【請求項の数】 4
(21)【出願番号】P 2024061538
(22)【出願日】2024-04-05
【審査請求日】2024-04-05
【早期審査対象出願】
(73)【特許権者】
【識別番号】593118128
【氏名又は名称】コアテック株式会社
(74)【代理人】
【識別番号】110003085
【氏名又は名称】弁理士法人森特許事務所
(72)【発明者】
【氏名】原 知安紀
(72)【発明者】
【氏名】水津 知也
【審査官】淀川 滉也
(56)【参考文献】
【文献】特開2020-086698(JP,A)
【文献】koshian2,ニューラルネットワークを使ったEnd-to-Endなアンサンブル学習,Qiita(オンライン),2018年11月24日,https://qiita.com/koshian2/items/d569cd71b0e082111962
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06N 3/08
G06N 20/20
(57)【特許請求の範囲】
【請求項1】
オートエンコーダを用い、入力画像と出力画像の差分を検出する差分検出システムであって、
前記オートエンコーダは、画像入力から画像出力までのプロセスを実行し、かつ一対のエンコーダとデコーダとを含むニューラルネットワークを備えており、
前記ニューラルネットワークの1つ分を1ヘッドとすると、
前記オートエンコーダは、複数ヘッドが並列に配置されたマルチヘッドオートエンコーダであり、
前記マルチヘッドオートエンコーダは、前記複数ヘッドのそれぞれから生成された画像を足し合わせる画像足し合わせニューラルネットワークを備えており、
前記画像入力から前記画像出力までの前記プロセスを実行し、前記画像足し合わせニューラルネットワークを備えた構成をAIモデルというとすると、
学習時には、前記入力画像と前記画像足し合わせニューラルネットワークを経た出力画像から計算した損失値に対して誤差逆伝播を行い、前記AIモデルのパラメータを変異させ、
推論時には、前記AIモデルで推論を実行し、前記画像足し合わせニューラルネットワークを経た前記出力画像と前記入力画像との差分画像が生成されることを特徴とする差分検出システム。
【請求項2】
前記複数ヘッドのそれぞれに入力される入力画像は同一である請求項1に記載の差分検出システム。
【請求項3】
オートエンコーダを用い、入力画像と出力画像の差分を検出する差分検出方法であって、
前記オートエンコーダは、画像入力から画像出力までのプロセスを実行し、かつ一対のエンコーダとデコーダとを含むニューラルネットワークを備えており、
前記ニューラルネットワークの1つ分を1ヘッドとすると、
前記オートエンコーダは、複数ヘッドが並列に配置されたマルチヘッドオートエンコーダであり、
前記マルチヘッドオートエンコーダは、前記複数ヘッドのそれぞれから生成された画像を足し合わせる画像足し合わせニューラルネットワークを備えており、
前記画像入力から前記画像出力までの前記プロセスを実行し、前記画像足し合わせニューラルネットワークを備えた構成をAIモデルというとすると、
学習時には、前記入力画像と前記画像足し合わせニューラルネットワークを経た出力画像から計算した損失値に対して誤差逆伝播を行い、前記AIモデルのパラメータを変異させ、
推論時には、前記AIモデルで推論を実行し、前記画像足し合わせニューラルネットワークを経た前記出力画像と前記入力画像との差分画像が生成されることを特徴とする差分検出方法。
【請求項4】
前記複数ヘッドのそれぞれに入力される入力画像は同一である請求項3に記載の差分検出方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、立体物検査に適した技術であり、ディープラーニング(深層学習)の一種であるオートエンコーダ(自己符号化器)を用い、入力画像と出力画像の差分を検出する差分検出システム及び差分検出方法に関する。
【背景技術】
【0002】
従来より、立体物検査の手法として、レーザー光等を用いた縞投影や光切断法が知られていた。例えば特許文献1に開示された立体物検査は、レーザー光源からのスリット光を照射して取得した被検査物の三次元形状の点群データに基いて被検査物を表示する。そして、この表示した被検査物に切断線を設定する。その後、設定した切断線に対応した点群データにより、切断線における被検査物の断面形状を算出する。しかし、レーザー光等を用いた立体物検査用の装置は高額で、導入の敷居が高く、操作も困難であった。
【0003】
一方、人工知能技術を利用すれば、低コストで操作が簡単な立体物検査が可能になる。具体的には、ディープラーニングの一種であるオートエンコーダは、入力画像を復元する機能を持っている。良品画像のみで学習させれば、不良品画像も良品画像に復元されることになる。これを利用して入力画像と出力画像の差分を取ることで、不良箇所を浮かび上がらせることができる。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2012-37487号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本願発明者らは、より利便性の高いオートエンコーダの開発に取り組んだ結果、従来のオートエンコーダに、次のような課題が見い出された。すなわち、オートエンコーダの再現性を向上させたり、立体物を様々なアングルから検査可能とするには、パラメータが大規模化かつ複雑化してしまう。この場合、学習データをパラメータに見合った量だけ準備しないと、過学習を引き起こしたり、エポック数を増やす必要があるという問題が生じる。また、学習データやエポック数を増やすと、より高性能なGPU(Graphics Processing Unit)が必要となるという問題があった。
【0006】
本発明は、低コストで操作が簡単なオートエンコーダの利点は維持しながら、パラメータを大規模化したり複雑化させることなく、再現性が高く立体物の検査の精度が高い差分検出システム及び差分検出方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
前記目的を達成するために、本発明の差分検出システムは、オートエンコーダを用い、入力画像と出力画像の差分を検出する差分検出システムであって、前記オートエンコーダは、画像入力から画像出力までのプロセスを実行し、かつ一対のエンコーダとデコーダとを含むニューラルネットワークを備えており、前記ニューラルネットワークの1つ分を1ヘッドとすると、前記オートエンコーダは、複数ヘッドが並列に配置されたマルチヘッドオートエンコーダであることを特徴とする。
【0008】
本発明の差分検出方法は、オートエンコーダを用い、入力画像と出力画像の差分を検出する差分検出方法であって、前記オートエンコーダは、画像入力から画像出力までのプロセスを実行し、かつ一対のエンコーダとデコーダとを含むニューラルネットワークを備えており、前記ニューラルネットワークの1つ分を1ヘッドとすると、前記オートエンコーダは、複数ヘッドが並列に配置されたマルチヘッドオートエンコーダであることを特徴とする。
【0009】
前記本発明の差分検出システム又は差分検出方法においては、前記複数ヘッドのそれぞれに入力される入力画像は同一であることが好ましい。
【発明の効果】
【0010】
本発明によれば、低コストで操作が簡単なオートエンコーダの利点は維持しながら、パラメータを大規模化したり複雑化させることなく、再現性が高く立体物の検査の精度が高い差分検出システム及び差分検出方法を実現することができる。
【図面の簡単な説明】
【0011】
図1】オートエンコーダの構成の一例を示す模式図。
図2図1に示したオートエンコーダをより具体的に示したブロック図。
図3】本発明の一実施形態に係るマルチヘッドオートエンコーダの構成を示す模式図。
図4】学習用画像の一例を示した図。
図5】本発明の一実施形態において、AIモデルの学習時における学習データの処理を説明するための模式図。
図6】本発明の一実施形態において、AIモデルの学習時における学習データの処理の流れを示すフローチャート。
図7】比較例1について、入力画像((a)図)、出力画像((b)図)の一例を示した図。
図8】実施例1について、入力画像((a)図)、出力画像((b)図)の一例を示した図。
図9】比較例1及び実施例1について、損失値を比較した図。
図10】本発明の一実施形態において、推論時における画像データの処理の流れを示すフローチャート。
図11】本発明の一実施形態において、入力画像、出力画像及び差分画像の一例を示す図。
図12】比較例2についての、入力画像、出力画像及び差分画像を示す図。
図13】実施例2についての、入力画像、出力画像及び差分画像を示す図。
図14】比較例2についての、入力画像、出力画像及び差分画像を示す図。
図15】実施例2についての、入力画像、出力画像及び差分画像を示す図。
【発明を実施するための形態】
【0012】
本発明に係る差分検出システム及び差分検出方法は、AI(人口知能:Artificial Intelligence)に関する技術であり、立体物検査に適しており、入力画像と出力画像の差分を検出するものである。より具体的には、ニューラルネットワークを用いたディープラーニング(深層学習)の一種であるオートエンコーダ(自己符号化器)を活用したものである。
【0013】
本発明の実施には、パソコンやスマートフォン等の端末に、差分検出に係るプログラムをインストールしたものを活用してもいが、同プログラムはクラウド上に用意したものでもよい。
【0014】
最初に、図1図2を参照しながら、本発明の基礎となるオートエンコーダの概要について説明する。後述する本発明に係るマルチヘッドオートエンコーダは、図1図2に示したオートエンコーダ100を基礎に導き出した新たなオートエンコーダである。
【0015】
図1はオートエンコーダ100の構成を示す模式図であり、図2は、図1に示したオートエンコーダ100をより具体的に示したブロック図である。図1において、入力画像10がニューラルネットワーク101に入力される。ニューラルネットワーク101は、入力層を含むエンコーダ102、潜在ベクトル層103及び出力層を含むデコーダ104で構成されている。
【0016】
図2に示したように、エンコーダ102は中間層105~108を備えており、デコーダ104は中間層109~112を備えている。図2では、中間層105~108、中間層109~112はそれぞれ、図示の便宜のため4層としているが、4層に限らない。
【0017】
エンコーダ102が備える中間層105~108において、入力画像10は段階的に次元削減を行いながら、潜在ベクトル層103を経て特徴が抽出される。以後、デコーダ104が備える中間層109~112において、段階的に次元を増やしていき、最終的には入力画像10と同じ次元の出力画像12が得られる。図1において、オートエンコーダ100によれば、入力画像10と出力画像12の差分画像13により、不良箇所を浮かび上がらせることができる。
【0018】
前記のとおり、図1に示したオートエンコーダ100は、一対のエンコーダ102及びデコーダ104を有するニューラルネットワーク101を1つ用いるものであった。これに対して、本発明に係る差分検出に用いるオートエンコーダは、図1に示したニューラルネットワーク101に相当するニューラルネットワークを複数並列に配置したものである。以下、ニューラルネットワークの1つ分を1ヘッドとし、ヘッド数が複数の本発明に係るオートエンコーダを、オートエンコーダ100と区別するためにマルチヘッドオートエンコーダという。
【0019】
以下、本発明の一実施形態について、図面を参照しながら説明する。図3は、本発明の一実施形態に係るマルチヘッドオートエンコーダ1の構成を示す模式図である。図3の例では、マルチヘッドオートエンコーダ1は、一対のエンコーダ4及びデコーダ6を有するニューラルネットワーク3を並列に3つ備えた3ヘッド型である。1つ分のニューラルネットワーク3の構成は、図1及び図2に示したニューラルネットワーク101と同様の構成であり、エンコーダ4、潜在ベクトル層5及びデコーダ6を備えている。マルチヘッドオートエンコーダ1は、一対のエンコーダ4及びデコーダ6を有するニューラルネットワーク3を並列に複数備えている点、ニューラルネットワーク3の後段に画像足し合わせニューラルネットワーク11を備えている点が、図1に示したオートエンコーダ100と異なっている。
【0020】
複数のニューラルネットワーク3は、それぞれ異なる構造でもよいが、同一構造であってもよい。本実施形態では同一構造として説明する。また、本実施形態では、複数のニューラルネットワーク3と画像足し合わせニューラルネットワーク11で構成される部分、すなわち画像入力から画像出力までのプロセスを実行する構成を総称してAIモデル2という。
【0021】
図3において、3つのニューラルネットワーク3のそれぞれには、同一画像が入力される。画像が入力されると、3つのニューラルネットワーク3により、3つの画像が生成される。このため、生成された3つの画像を足し合わせる必要がある。足し合わせは、単純に画素単位で平均を取る等の方法でもよいが、本実施形態では、画像足し合わせニューラルネットワーク11により画像の足し合わを行う。画像足し合わせニューラルネットワーク11は、入力層、中間層及び出力層を備えたニューラルネットワークである。すなわち、図3の構成では、画像を足し合わせる処理そのものについても、ニューラルネットワークを用いている。
【0022】
本発明に係る立体物検査を実施するには、まず学習を行う。そのために学習用画像(良品画像)を用意する。図4は学習用画像の一例を示している。図4に示した学習用画像は、角度を変えながら撮影した部品(良品)の動画を、静止画像に分割したものを4枚示している。立体物の検査用のAIモデル2を構築するには、様々な角度で撮影した画像を用意することが重要になる。図1に示した4枚は一例であり、以下に説明する比較例1及び実施例1では、約800枚の良品画像を用いて学習を行った。
【0023】
図5は、AIモデル2の学習時における学習データの処理を説明するための模式図であり、図6は、処理の流れを示すフローチャートである。学習を開始すると、AIモデル構造設定データを読み込む(図6のステップ200)。AIモデル構造設定データは、マルチヘッドオートエンコーダ1の内部構造や、マルチヘッドのヘッド数を指定する設定データである。以下の表1に設定項目の一覧を示し、あわせて比較例1及び実施例1の設定値を示している。
【表1】
【0024】
表1において、比較例1はヘッド数が1であり、図1に示したオートエンコーダ100に相当する。以下、便宜のため、比較例1のように、ヘッド数が1のオートエンコーダをシングルヘッドオートエンコーダという。以下、単にオートエンコーダというときは、シングルヘッドオートエンコーダとマルチヘッドオートエンコーダの総称である。
【0025】
実施例1はヘッド数が12であり、図3に示したマルチヘッドオートエンコーダ1において、3つのニューラルネットワーク3の数を12にしたものに相当する。マルチヘッドオートエンコーダ1は、図3に示した画像足し合わせニューラルネットワーク11を備えているが、シングルヘッドオートエンコーダはこれを備えていない。表1において、実施例1のAIモデルの学習パラメータサイズは、画像足し合わせニューラルネットワーク11も含めた値である(表2の実施例2も同じ)。
【0026】
以下、表1に示した各設定項目について説明する。レイヤーサイズは、オートエンコーダの深度である。表1のように、レイヤーサイズが6のときは、図2の例では、エンコーダ102の中間層が6層、デコーダ104の中間層が6層となる。VAE(Variational Auto Encoder)潜在ベクトルの次元は、オートエンコーダの最終形のベクトルの次元である。ヘッド数は、前記のとおりである。マルチヘッドオートエンコーダのヘッド数は、2以上であれば特に限定はないが、本願発明者らの検証によれば、ヘッド数を増やすことで、より再現性の高いAIモデル2が構築可能となる。ただし、大き過ぎると過学習を引き起こすので、検査したい対象によって調整が必要となる。このため、マルチヘッドオートエンコーダのヘッド数は、例えば10~16の範囲内が好ましい。
【0027】
学習時画像サイズは、AIモデル2へ入力する際の画像のサイズである。サンプル画像サイズは、学習用画像を切り出す際のサイズである。学習用画像を切り出さない場合は、用意した学習時画像サイズのサイズを指定する。バッチサイズは、全ての学習データを1度に使わずに、複数のグループに分けて使うときに、1つのグループに含まれるデータ件数のことである。GPU(Graphics Processing Unit)のメモリが十分に大きい場合は、大きな値を設定することで、学習時間を短縮できる。エポック数は、1件の学習データを繰り返し学習させる回数のことである。
【0028】
AIモデル構造設定データの読み込み(図6のステップ200)が完了すると、学習用画像データ群を読み込む(図6のステップ201)。以下、実施例1について説明するが、比較例1についても同様である。実施例1のように、ヘッド数が12の場合は、12個のニューラルネットワーク3のそれぞれに同一画像を読み込ませる。学習用画像データ群は、図4に示したような撮影済の学習用画像について、加工によるデータ拡張を行ったものである。データ拡張を行う際に、まず画像の大きさを一定サイズに変換する。その後は、画像のコントラストをランダムに変異させ、画像の明度をランダムに変異させ、画像にガウスぼかしをランダムに施し、画像を左右上下反転を行う。これらのデータ拡張の各プロセスを経ることにより、画像のバリエーションが増加する。
【0029】
学習用画像データ群の読み込み(図6のステップ201)が完了すると、AI学習スケジュール設定データを読み込む(図6のステップ202)。AI学習スケジュール設定データは、学習用画像データ群(図6のステップ201)の整理、エポック数、学習用上位パラメータの設定のためのデータである。学習用画像データ群の整理により、学習用画像データ群は、学習用画像データと確認用画像データに分類される。確認用画像データは学習には利用せず、AIモデル2の性能を測るために取り置かれる。
【0030】
エポック数は、学習画像データ全てを入力して1回と数え、何回それを繰り返すかを示す。学習用上位パラメータは、学習率(learning rate)、学習率の変動率、ドロップアウト率(dropout rate)である。学習率は、誤差逆伝播(Backpropagation)の移動量を表し、学習率の変動率は、得られたAIモデル2の損失値が改善しなかった場合に、有意に学習率を落とす率を示す。ドロップアウト率は、AIモデル2の学習時に、不活性化するパラメータをランダムに選出する際の選出率を示す。
【0031】
AI学習スケジュール設定データの読み込み(図6のステップ202)が完了すると、学習用画像データ群を入力して、AIモデル2のパラメータを最適化する(図6のステップ203)。この最適化の処理について、図5を参照しながら説明する。最適化の処理は、バッチサイズの1回分が終了する毎に行う。例えば学習画像データ枚数を100とし、バッチサイズを10とした場合、1エポック当たりの計算ステップ数は10となる。この場合、100枚分について10回の最適化の処理が行われる。エポック数が10であれば、最適化のための処理回数は、100回となる。計算ステップ数は整数であり、表1の例では、計算ステップ数は2(800枚/512)となる。
【0032】
図5において、AIモデル2への入力画像10として、図6のステップ201における学習用画像データ群に含まれる画像データを用いる。AIモデル2を経た出力画像12は保存し、入力画像10と出力画像12との差分を取って損失値を計算する。差分は、画素ごとに差分を2乗し、画像全体で総和したものである。損失値は、MSE(Mean Squared Error)損失値のことであり、0に近いほど入力画像に対する出力画像の再現性が高い。差分値に対して誤差逆伝播(Backpropagation)を行い、AIモデル2のパラメータを変異させる。以後は前記の処理を繰り返す。
【0033】
AIモデル2のパラメータを最適化(図6のステップ203)が完了すると、学習が終了したAIモデル2のデータを書き出し、AIモデルデータを生成する(図6のステップ204)。
【0034】
図7は、表1の比較例1について、入力画像10((a)図)、出力画像12((b)図)の一例を示しており、図8は、表1の実施例1について、入力画像10((a)図)、出力画像12((b)図)の一例を示している。図7図8の比較から、実施例1は比較例1よりも、より正しく画像を復元できていることが分る。
【0035】
図9は、比較例1及び実施例1について、損失値を比較した図である。横軸は、前記の最適化のための処理回数であり、縦軸は前記の損失値である。図9では、最適化の処理回数は、最終的には1000回(計算ステップ数2×エポック数500)である。線20が比較例1であり、線21が実施例1である。前記のとおり、損失値が0に近いほど入力画像に対する出力画像の再現性が高い。図9において、比較例1(線20)は、最終損失値が0.04であり、実施例1(線21)は、最終損失値が0.009であり、実施例1は比較例1に比べ、再現性が大幅に向上していることが分る。
【0036】
表1のとおり、比較例1及び実施例1は、ヘッド数は異なるが、エポック数、バッチサイズ等の前提条件は統一している。しかも実施例1は、学習パラメータサイズを比較例1よりも小さくしている。それにもかかわらず、実施例1は比較例1に比べ、再現性が大幅に向上していることになる。
【0037】
図9において、比較例1(線20)の最適化のための処理回数を1000回からさらに増やし行けば、損失値が低下していくとしても、実施例1の損失値に到達するには、最適化のための処理回数が4000~5000回程度になることが推測される。この推測通りであれば、比較例1は、エポック数を4~5倍にすると、実施例1と同じ損失値が得られことになる。
【0038】
しかし、エポック数を無制限に増やすと、計算時間が増加するだけでなく、過学習の懸念が生じる。画像データが多いと、計算時間は日単位レベルとなる。この場合は、ユーザが現地で立体物検査を行う際に、学習から実施する場合は、実質的に実施不可能となる。これに対し、実施例1は計算時間の増加や過学習の懸念を抑えつつ、再現性を大幅に向上させることができ、実施にも適している。
【0039】
以下、図3及び図10を参照しながら、推論時の処理について説明する。以下、実施例1について説明するが、比較例1についても同様である。前記のとおり、図3は、本発明の一実施形態に係るマルチヘッドオートエンコーダ1の構成を示す模式図であるが、推論時における画像データの処理の流れを示す模式図でもある。図10は、推論時における画像データの処理の流れを示すフローチャートである。
【0040】
推論時には、まずAIモデルデータを読み込む(図10のステップ300)。AIモデルデータは、図6のステップ204で生成されたAIモデルデータとAIモデル構造設定データ(図6のステップ200)の総称である。AIモデル構造設定データは文字情報として保存され、AIモデルデータのパラメータ群は浮動小数点値として保存される。AIモデル構造設定データについて、同データを解釈可能なプログラムに読み込ませることで、AIモデル2の構造を構築する。さらにAIモデルデータのパラメータ群を読み込ませることで、AIモデル2を画像変換が可能な状態にする。
【0041】
AIモデルデータの読み込み(図10のステップ300)が完了すると、入力画像10(推論用画像)を読み込む(図10のステップ301)。入力画像データは、推論の対象物を動画又は連続写真で撮影し、加工を行った画像群である。ここでの加工は、画像の大きさを一定サイズに変換する加工である。
【0042】
入力画像10の読み込み(図10のステップ301)が完了すると、図3において、入力画像10をAIモデル2に入力して、AIモデル2で推論を実行し、生成された出力画像12(推論実行後画像)を書き出す(図10のステップ302)。その後は、入力画像10と出力画像12を画素単位で差分を取り(画素ごとに差分絶対値を計算)、差分画像13を生成し書き出す(図10のステップ303)。
【0043】
図11は、入力画像10、出力画像12及び差分画像13の一例を示す図である。入力画像10に不良箇所があっても、出力画像12には再現されず、差分画像13に出力される。すなわち、差分画像13に不良箇所が浮かび上がることにより、立体物検査が可能になる。図11の例は、学習用画像が少ないため、差分画像13に良品箇所が浮かび上がっているが、実際の検査時には学習用画像を多くするので、良品箇所が浮かび上がることは防止できる。
【0044】
以下、比較例2及び実施例2を説明しながら、検証結果をより具体的に説明する。以下の表2に比較例2及び実施例2の設定項目及び設定値を示している。設定項目は、表1と同じである。表2において、比較例2はヘッド数が1のシングルヘッドオートエンコーダであり、実施例2はヘッド数が12のマルチヘッドオートエンコーダである。
【表2】
【0045】
比較例2及び実施例2の検査対象物は同じであり、比較例1及び実施例1の検査対象物よりも複雑な立体物を用いた。図12は、比較例2についての、入力画像10、出力画像12及び差分画像13を示す図である。図13は、実施例2についての、入力画像10、出力画像12及び差分画像13を示す図である。図12及び図13における入力画像10は、良品の画像である。実施例2を示す図13の出力画像12は、比較例2を示す図12の出力画像12に比べ、再現性が高くより精緻であった。また、比較例2を示す図12においては、入力画像10が良品であるにもかかわらず、差分画像13に差分が浮かび上がっていた。実施例2を示す図13においては、差分画像13に差分は、ほとんど浮かび上がらなかった。
【0046】
図14及び図15は、入力画像10として、模擬的に不良箇所を作ったときの画像を用いたときの検査結果を示している。図14及び図15における入力画像10は同じであり、立体物にねじa~fを追加して模擬的に不良箇所を作った立体物の画像である。図14は、比較例2についての、入力画像10、出力画像12及び差分画像13を示す図である。図15は、実施例2についての、入力画像10、出力画像12及び差分画像13を示す図である。
【0047】
比較例2を示す図14の差分画像13には、入力画像10の不良箇所(a~f)相当する箇所だけでなく、良品箇所に相当する箇所も浮かび上がっていた。実施例2を示す図15においては、差分画像13には、不良箇所(a~f)以外の差分は、ほとんど浮かび上がらなかった。
【0048】
図12~15に示した結果から、実施例2は比較例2に比べ、出力画像の再現性が高く、このことにより、差分画像において、不良箇所が浮かび上がるとともに、良品箇所はほとんど浮かび上がらないことが確認できた。表2のとおり、比較例2及び実施例2は、ヘッド数は異なるが、エポック数、バッチサイズ等の前提条件は統一している。しかも実施例2は、学習パラメータサイズを比較例2よりも小さくしている。それにもかかわらず、実施例2は比較例2に比べ、再現性が高く立体物の検査の精度が高いことが確認できた。
【0049】
本発明に係るマルチヘッドオートエンコーダ1が前記のような効果が得られるのは、次のように推測される。マルチヘッドオートエンコーダ1は、ニューラルネットワーク3を複数備えているので、それぞれのニューラルネットワーク3は、同一の入力画像に対して異なる解釈を行い得る。このため、出力画像は様々な解釈を反映したものとなり、解釈の偏りが是正され、このことが精度向上に繋がるものと推測される。
【0050】
以上、本発明の一実施形態及び一実施例について説明したが、これらは一例であり、適宜変更したものであってもよい。例えば、差分画像13は、次のように処理してもよい。差分画像13を青から赤で色分布を行いヒートマップを保存する。このことにより、入力画像10と出力画像12がどれだけ異なるかを視覚的に表現することができる。また、差分画像の差分値を画像全体にわたり最大値、平均値を算出し保存する。このことにより、入力画像10と出力画像12がどれだけ異なるかを数値的に表現することができる。
【符号の説明】
【0051】
1 マルチヘッドオートエンコーダ
2 AIモデル
3 ニューラルネットワーク
4 エンコーダ
6 デコーダ
10 入力画像
11 画像足し合わせニューラルネットワーク
12 出力画像
13 差分画像

【要約】
【課題】低コストで操作が簡単なオートエンコーダの利点は維持しながら、パラメータを大規模化したり複雑化させることなく、再現性が高く立体物の検査の精度が高い差分検出システム及び差分検出方法を提供する。
【解決手段】オートエンコーダを用い、入力画像10と出力画像12の差分13を検出する差分検出システムであって、オートエンコーダは、画像入力から画像出力までのプロセスを実行し、かつ一対のエンコーダ4とデコーダ6とを含むニューラルネットワーク3を備えており、ニューラルネットワーク3の1つ分を1ヘッドとすると、オートエンコーダは、複数ヘッドが並列に配置されたマルチヘッドオートエンコーダ1である。
【選択図】図3

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15