(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024016551
(43)【公開日】2024-02-07
(54)【発明の名称】検査対象の異常を検知する方法、システム、およびプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20240131BHJP
【FI】
G06T7/00 300E
G06T7/00 350B
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022118766
(22)【出願日】2022-07-26
(71)【出願人】
【識別番号】522298554
【氏名又は名称】アフィン株式会社
(74)【代理人】
【識別番号】100078282
【弁理士】
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100107489
【弁理士】
【氏名又は名称】大塩 竹志
(74)【代理人】
【識別番号】100113413
【弁理士】
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【弁理士】
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【弁理士】
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【弁護士】
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】山田 雅貴
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA09
5L096BA03
5L096CA04
5L096CA05
5L096DA02
5L096GA06
5L096GA51
5L096HA09
5L096HA11
5L096JA09
5L096KA04
(57)【要約】
【課題】正常か異常かを判定することができない検査対象を減らし、異常を検知可能な検査対象を拡張すること
【解決手段】本発明は、検査対象の異常を検知する方法を提供し、本方法は、検査対象の画像を受信することであって、前記画像は、3次元情報を含む、ことと、前記画像に基づいて、前記検査対象の異常を検知することであって、前記画像から3次元点群を取得することと、前記3次元点群と複数の3Dモデルとをマッチングすることであって、前記複数の3Dモデルは、前記検査対象と同種の物品の正常モデルと、異常モデルとを含む、ことと、前記マッチングすることの結果に基づいて、1つの3Dモデルを選択することと、前記選択された1つの3Dモデルと前記3次元点群とを比較することにより、差分を特定することと、前記差分に基づいて、異常を判定することとを含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
検査対象の異常を検知する方法であって、
検査対象の画像を受信することであって、前記画像は、3次元情報を含む、ことと、
前記画像に基づいて、前記検査対象の異常を検知することであって、
前記画像から3次元点群を取得することと、
前記3次元点群と複数の3Dモデルとをマッチングすることであって、前記複数の3Dモデルは、前記検査対象と同種の物品の正常モデルと、異常モデルとを含む、ことと、
前記マッチングすることの結果に基づいて、1つの3Dモデルを選択することと、
前記選択された1つの3Dモデルと前記3次元点群とを比較することにより、差分を特定することと、
前記差分に基づいて、異常を判定することと
を含む、ことと
を含む方法。
【請求項2】
前記1つの3Dモデルを選択することは、
前記3次元点群と、前記マッチングの結果に基づいて、前記3次元点群に最も近い3Dモデルを決定することと、
前記決定された3Dモデルが前記正常モデルである場合に、前記正常モデルを選択することと、
前記決定された3Dモデルが前記異常モデルである場合に、前記異常モデルに対応する正常モデルを選択することと
を含む、請求項1に記載の方法。
【請求項3】
前記異常を判定することは、
前記差分に基づいて異常部を検出することと、
前記異常部の大きさを閾値と比較することと、
前記異常部の大きさが閾値を超えるとき、異常と判定することと
を含む、請求項1に記載の方法。
【請求項4】
ユーザ入力に基づいて、前記閾値を調整することをさらに含む、請求項3に記載の方法。
【請求項5】
前記検査対象の異常を検知することは、
前記画像を学習済モデルに入力したときの出力に基づいて、前記検査対象の異常を検知すること
をさらに含み、前記学習済モデルは、前記複数の3Dモデルのそれぞれの各部位が正常であるか、異常であるかを学習することにより、生成されている、請求項1に記載の方法。
【請求項6】
前記画像を学習済モデルに入力したときの出力に基づいて、前記検査対象の異常を検知することは、
前記出力に基づいて異常部を検出することと、
前記異常部の大きさを閾値と比較することと、
前記異常部の大きさが閾値を超えるとき、異常と判定することと
を含む、請求項5に記載の方法。
【請求項7】
前記画像は、デプスカメラによって捕捉される、請求項1に記載の方法。
【請求項8】
検査対象の異常を検知するシステムであって、
検査対象の画像を受信する受信手段であって、前記画像は、3次元情報を含む、受信手段と、
前記画像に基づいて、前記検査対象の異常を検知する検知手段であって、前記検知手段は、
前記画像から3次元点群を取得することと、
前記3次元点群と複数の3Dモデルとをマッチングすることと、
前記マッチングすることの結果に基づいて、1つの3Dモデルを選択することであって、前記複数の3Dモデルは、前記検査対象と同種の物品の正常モデルと、異常モデルとを含む、ことと、
前記選択された1つの3Dモデルと前記3次元点群とを比較することにより、差分を特定することと、
前記差分に基づいて、異常を判定することと
を行うように構成されている、検知手段と
を備えるシステム。
【請求項9】
検査対象の異常を検知するプログラムであって、前記プログラムは、プロセッサ部を備えるコンピュータシステムにおいて実行され、前記プログラムは、
検査対象の画像を受信することであって、前記画像は、3次元情報を含む、ことと、
前記画像に基づいて、前記検査対象の異常を検知することであって、
前記画像から3次元点群を取得することと、
前記3次元点群と複数の3Dモデルとをマッチングすることと、
前記マッチングすることの結果に基づいて、1つの3Dモデルを選択することであって、前記複数の3Dモデルは、前記検査対象と同種の物品の正常モデルと、異常モデルとを含む、ことと、
前記選択された1つの3Dモデルと前記3次元点群とを比較することにより、差分を特定することと、
前記差分に基づいて、異常を判定することと
を含む、ことと
を含む処理を前記プロセッサ部に行わせる、プログラム。
【請求項10】
検査対象の異常を検知する方法であって、
検査対象の物品情報を受信することであって、前記物品情報は、物品の名称と、物品の使用条件とを含む、ことと、
前記受信された物品情報に基づいて、前記物品の複数の3Dモデルを生成することであって、前記生成された複数の3Dモデルは、前記物品の正常モデルと、前記物品を前記使用条件下で使用することをシミュレートした中古モデルまたは異常モデルとを含む、ことと、
前記生成された複数の3Dモデルのそれぞれの各部位が正常であるか、異常であるかを学習することにより、学習済モデルを生成することと、
前記検査対象の画像を受信することであって、前記画像は、3次元情報を含む、ことと、
前記検査対象の異常を検知することであって、前記検知することは、
(1)前記画像を前記学習済モデルに入力したときの出力に基づいて、前記検査対象の異常を検知すること、および
(2)前記画像から取得される3次元点群に基づいて、前記検査対象の異常を検知することであって、
前記画像から3次元点群を取得することと、
前記3次元点群と複数の3Dモデルとをマッチングすることと、
前記マッチングすることの結果に基づいて、1つの3Dモデルを選択することであって、前記複数の3Dモデルは、前記検査対象と同種の物品の正常モデルと、異常モデルとを含む、ことと、
前記選択された1つの3Dモデルと、前記3次元点群とを比較することにより、差分を特定することと、
前記差分に基づいて、異常を判定することと
を含むこと
を含む、ことと
を含む方法。
【請求項11】
物品の異常を検知するための学習済モデルを生成する方法であって、
物品情報を受信することであって、前記物品情報は、物品の名称と、物品の使用条件とを含む、ことと、
前記受信された物品情報に基づいて、前記物品の複数の3Dモデルを生成することであって、前記生成された複数の3Dモデルは、前記物品の正常モデルと、前記物品を前記使用条件下で使用することをシミュレートした中古モデルまたは異常モデルとを含む、ことと、
前記生成された複数の3Dモデルのそれぞれの各部位が正常であるか、異常であるかを学習することにより、学習済モデルを生成することと
を含む方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検査対象の異常を検知する方法、システム、およびプログラムに関する。
【背景技術】
【0002】
画像を用いた検査対象の異常検知が行われている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、正常か異常かを判定することができない検査対象を減らし、異常を検知可能な検査対象を拡張することを目的の1つとする。
【課題を解決するための手段】
【0005】
本発明は、一実施形態において、検査対象の異常を検知する方法を提供し、本方法では、3次元情報を含む画像から取得される3次元点群と、複数の3Dモデルとのマッチングを行い、マッチングの結果に基づいて選択される3Dモデルと3次元点群との比較により異常を判定する。
【0006】
本発明は、例えば、以下の項目を提供する。
(項目1)
検査対象の異常を検知する方法であって、
検査対象の画像を受信することであって、前記画像は、3次元情報を含む、ことと、
前記画像に基づいて、前記検査対象の異常を検知することであって、
前記画像から3次元点群を取得することと、
前記3次元点群と複数の3Dモデルとをマッチングすることであって、前記複数の3Dモデルは、前記検査対象と同種の物品の正常モデルと、異常モデルとを含む、ことと、
前記マッチングすることの結果に基づいて、1つの3Dモデルを選択することと、
前記選択された1つの3Dモデルと前記3次元点群とを比較することにより、差分を特定することと、
前記差分に基づいて、異常を判定することと
を含む、ことと
を含む方法。
(項目2)
前記1つの3Dモデルを選択することは、
前記3次元点群と、前記マッチングの結果に基づいて、前記3次元点群に最も近い3Dモデルを決定することと、
前記決定された3Dモデルが前記正常モデルである場合に、前記正常モデルを選択することと、
前記決定された3Dモデルが前記異常モデルである場合に、前記異常モデルに対応する正常モデルを選択することと
を含む、上記項目に記載の方法。
(項目3)
前記異常を判定することは、
前記差分に基づいて異常部を検出することと、
前記異常部の大きさを閾値と比較することと、
前記異常部の大きさが閾値を超えるとき、異常と判定することと
を含む、上記項目のいずれか一項に記載の方法。
(項目4)
ユーザ入力に基づいて、前記閾値を調整することをさらに含む、上記項目のいずれか一項に記載の方法。
(項目5)
前記検査対象の異常を検知することは、
前記画像を学習済モデルに入力したときの出力に基づいて、前記検査対象の異常を検知すること
をさらに含み、前記学習済モデルは、前記複数の3Dモデルのそれぞれの各部位が正常であるか、異常であるかを学習することにより、生成されている、上記項目のいずれか一項に記載の方法。
(項目6)
前記画像を学習済モデルに入力したときの出力に基づいて、前記検査対象の異常を検知することは、
前記出力に基づいて異常部を検出することと、
前記異常部の大きさを閾値と比較することと、
前記異常部の大きさが閾値を超えるとき、異常と判定することと
を含む、上記項目のいずれか一項に記載の方法。
(項目7)
前記画像は、デプスカメラによって捕捉される、上記項目のいずれか一項に記載の方法。
(項目8)
検査対象の異常を検知するシステムであって、
検査対象の画像を受信する受信手段であって、前記画像は、3次元情報を含む、受信手段と、
前記画像に基づいて、前記検査対象の異常を検知する検知手段であって、前記検知手段は、
前記画像から3次元点群を取得することと、
前記3次元点群と複数の3Dモデルとをマッチングすることと、
前記マッチングすることの結果に基づいて、1つの3Dモデルを選択することであって、前記複数の3Dモデルは、前記検査対象と同種の物品の正常モデルと、異常モデルとを含む、ことと、
前記選択された1つの3Dモデルと前記3次元点群とを比較することにより、差分を特定することと、
前記差分に基づいて、異常を判定することと
を行うように構成されている、検知手段と
を備えるシステム。
(項目8A)
上記項目の1つまたは複数に記載の特徴を備える、項目8に記載のシステム。
(項目9)
検査対象の異常を検知するプログラムであって、前記プログラムは、プロセッサ部を備えるコンピュータシステムにおいて実行され、前記プログラムは、
検査対象の画像を受信することであって、前記画像は、3次元情報を含む、ことと、
前記画像に基づいて、前記検査対象の異常を検知することであって、
前記画像から3次元点群を取得することと、
前記3次元点群と複数の3Dモデルとをマッチングすることと、
前記マッチングすることの結果に基づいて、1つの3Dモデルを選択することであって、前記複数の3Dモデルは、前記検査対象と同種の物品の正常モデルと、異常モデルとを含む、ことと、
前記選択された1つの3Dモデルと前記3次元点群とを比較することにより、差分を特定することと、
前記差分に基づいて、異常を判定することと
を含む、ことと
を含む処理を前記プロセッサ部に行わせる、プログラム。
(項目9A)
上記項目の1つまたは複数に記載の特徴を備える、項目9に記載のプログラム。
(項目10)
検査対象の異常を検知する方法であって、
検査対象の物品情報を受信することであって、前記物品情報は、物品の名称と、物品の使用条件とを含む、ことと、
前記受信された物品情報に基づいて、前記物品の複数の3Dモデルを生成することであって、前記生成された複数の3Dモデルは、前記物品の正常モデルと、前記物品を前記使用条件下で使用することをシミュレートした中古モデルまたは異常モデルとを含む、ことと、
前記生成された複数の3Dモデルのそれぞれの各部位が正常であるか、異常であるかを学習することにより、学習済モデルを生成することと、
前記検査対象の画像を受信することであって、前記画像は、3次元情報を含む、ことと、
前記検査対象の異常を検知することであって、前記検知することは、
(1)前記画像を前記学習済モデルに入力したときの出力に基づいて、前記検査対象の異常を検知すること、および
(2)前記画像から取得される3次元点群に基づいて、前記検査対象の異常を検知することであって、
前記画像から3次元点群を取得することと、
前記3次元点群と複数の3Dモデルとをマッチングすることと、
前記マッチングすることの結果に基づいて、1つの3Dモデルを選択することであって、前記複数の3Dモデルは、前記検査対象と同種の物品の正常モデルと、異常モデルとを含む、ことと、
前記選択された1つの3Dモデルと、前記3次元点群とを比較することにより、差分を特定することと、
前記差分に基づいて、異常を判定することと
を含むこと
を含む、ことと
を含む方法。
(項目10A)
上記項目の1つまたは複数に記載の特徴を備える、項目10に記載の方法。
(項目11)
物品の異常を検知するための学習済モデルを生成する方法であって、
物品情報を受信することであって、前記物品情報は、物品の名称と、物品の使用条件とを含む、ことと、
前記受信された物品情報に基づいて、前記物品の複数の3Dモデルを生成することであって、前記生成された複数の3Dモデルは、前記物品の正常モデルと、前記物品を前記使用条件下で使用することをシミュレートした中古モデルまたは異常モデルとを含む、ことと、
前記生成された複数の3Dモデルのそれぞれの各部位が正常であるか、異常であるかを学習することにより、学習済モデルを生成することと
を含む方法。
(項目11A)
上記項目の1つまたは複数に記載の特徴を備える、項目11に記載の方法。
【発明の効果】
【0007】
本発明によれば、異常を検知可能な検査対象を拡張することが可能な異常検知方法等を提供することができる。本発明の異常検知方法等では、異常の有無のみならず、異常部がどこにあるかも特定することができる。
【図面の簡単な説明】
【0008】
【
図1】新たな異常検知AIを用いた異常検知のフローを概略的に示す図
【
図2】表面異常を検知するための異常検知AIを生成するためのフローの一例を示す図
【
図3】検査対象の異常を検知するシステム100の一例を示す図
【
図4】検査対象の異常を検知するシステム100の具体的な構成の一例を示す図
【
図5B】プロセッサ部120の代替実施形態であるプロセッサ部120Aの構成の一例を示す図
【
図6】物品の異常を検知するための学習済モデルを生成するシステム1000の構成の一例を示す図
【
図8】学習済モデルを構築し得るニューラルネットワークモデル500の構造の一例を示す図
【
図9】検査対象の異常を検知するシステム100による処理の一例(処理600)を示すフローチャート
【
図10A】ステップS602における詳細な処理(形状異常の検知)の一例を示すフローチャート
【
図10B】ステップS602における詳細な処理(表面異常の検知)の一例を示すフローチャート
【
図10C】ステップS6028またはステップS6123の後に行われる処理の一例を示すフローチャート
【
図11A】検査対象としてのワインボトルを撮像したときの画像(α)から取得された3次元点群が、複数の3Dモデルと比較されることを概略的に示す図
【
図11B】異常モデルから正常モデルが推定されることを概略的に示す図
【
図11C】ワインボトルの3次元点群と正常モデルとの対応付けの例を概略的に示す図
【
図12】検査対象の異常を検知するシステム100および物品の異常を検知するための学習済モデルを生成するシステム1000が関与するデータフローの一例を示す図
【発明を実施するための形態】
【0009】
以下、図面を参照しながら、本発明の実施の形態を説明する。
【0010】
1.異常検知AI
画像で異常を検知する従前の異常検知システムでは、汚れおよび傷等の表面異常を検知することができたが、へこみおよび欠け等の形状異常を適切に検知することができなかった。へこみおよび欠け等の形状異常を検知する試みがなされているが、そのような異常検知システムは、正常な状態から大きく逸脱した検査対象(例えば、大きな欠損部分を有する検査対象、大きく変形した検査対象等)をエラーとして認識し、そもそも正常か異常かを判定することができなかった。
【0011】
本発明の発明者は、鋭意研究の結果、新たな異常検知AIを開発した。この新たな異常検知AIによれば、これまでエラーとして正常か異常かを判定することができなかった検査対象でさえも、正常か異常かを判定することができるようになり、検査対象を拡張することができる。ここで、AIとは、“Artificial Intelligence”の略語であり、人間の知能(もしくは、人間の知能を凌駕する知能)を人工的にコンピュータシステム上に実装するための技術、または、そのような技術が実装されたコンピュータシステムをいう。
【0012】
図1は、新たな異常検知AIを用いた異常検知のフローを概略的に示す。本例では、ベルトコンベア上を運ばれる検査対象(製品P)の異常を検知することを例に説明する。新たな異常検知AIは、検査対象の異常を検知するシステム100内に実装されている。ここで、製品Pは、簡単のために、円柱形状を有する仮想的な物体として図示されている。
【0013】
システム100は、カメラCと通信可能である。システム100は、カメラCと有線で接続されてもよいし、無線で接続されてもよい。カメラCは、システム100に組み込まれていてもよい。
【0014】
カメラCは、ベルトコンベア上を運ばれる製品のうちの1つの製品Pを撮像するように配置されている。
図1に示される例では、カメラCの視野内に入っている製品Pは、2か所の欠損部分Lを有しており、正常な状態(破線で描写されている円柱の外形を有する状態)から大きく逸脱している。
【0015】
ステップS1では、カメラCによって撮像された製品Pの画像が、システム100に提供される。ここで、画像が提供される態様は問わない。画像は、例えば、ネットワークを通じて送信されることによって提供されてもよいし、近距離無線通信を介して送信されることによって提供されてもよい。
【0016】
システム100が画像を受信すると、システム100は、画像に基づいて異常を検知する。システム100の新たな異常検知AIにより、製品Pが正常な状態から大きく逸脱していても、製品Pの画像から、製品Pが異常であることを判定することができる。さらに、システム100により、異常がある製品Pの異常部がどこであるかも特定することができる。
【0017】
ステップS2では、システム100による判定の結果がシステム100から出力される。
【0018】
例えば、検査対象が正常であると判定された場合、システム100は、正常であることを示す情報を出力することができる。システム100は、例えば、画面に表示する等により視覚的に情報を出力するようにしてもよいし、音を鳴らす等により聴覚的に情報を出力するようにしてもよい。あるいは、検査対象が正常であると判定された場合、システム100は、何もアクションを起こさないようにしてもよい。
【0019】
例えば、検査対象が異常であると判定された場合、システム100は、異常であることを示す情報を出力することができる。システム100は、例えば、画面に表示する等により視覚的に情報を出力するようにしてもよいし、音を鳴らす等により聴覚的に情報を出力するようにしてもよい。これにより、ユーザは、異常であるとされた製品Pをベルトコンベアから取り除くことができる。あるいは、システム100が、周辺機器(例えば、ピッキングロボット)に指示を出して、異常な状態の製品Pをベルトコンベアから取り除くようにしてもよい。
【0020】
本例では、製品Pが異常であると判定されるので、システム100は、異常であることを示す情報を出力する。
【0021】
システム100は、ベルトコンベア上を運ばれてくる製品のそれぞれの異常を順次判定することになる。
【0022】
上述した例では、システム100は、形状異常を検知することにより異常を判定していた。システム100は、形状異常を検知することに加えて、または、形状異常を検知することに代えて、表面異常を検知するようにしてもよい。
【0023】
本発明の発明者は、鋭意研究の結果、表面異常を検知するための異常検知AIを容易に生成するためのシステム1000も開発した。このシステム1000によれば、ユーザは、異常を検知したい検査対象の情報を入力するだけで、その検査対象の異常(例えば、表面異常)を検知することが可能な異常検知AIを生成することができる。これは、異常検査機の開発コストの削減ならびに異常検査機の導入および保守の容易化につながり得る。
【0024】
図2は、表面異常を検知するための異常検知AIを生成するためのフローの一例を示す。ユーザUは、システム1000を利用して異常検知AIを生成することができる。
【0025】
ステップS11では、ユーザUが、異常を検知したい検査対象の情報を端末装置に入力すると、その情報がシステム1000に提供される。ここで、情報が提供される態様は問わない。情報は、例えば、ネットワークを通じて送信されることによって提供されてもよいし、近距離無線通信を介して送信されることにより提供されてもよいし、記憶媒体を介して提供されてもよい。ユーザUは、例えば、システム1000にアクセスするためのアプリケーション(例えば、端末装置にインストールされたアプリケーションまたはWEBアプリケーション)によって端末装置に表示される入力画面に検査対象の情報を入力することができる。ユーザUは、例えば、テキストで情報を入力してもよいし、複数の選択肢の中から選択することによって情報を入力してもよい。
【0026】
ユーザUは、例えば、検査対象の情報として、検査対象の物品の名称、材質、使用条件(例えば、使用年数、使用環境等)、異常パターン(欠け、汚れ、異物の有無等)を入力することができる。例えば、3年間繰り返し使用された使用ビール瓶の異常を検知したい場合、ユーザは、
「検査対象の名称:ビール瓶、材質:ガラス、使用年数:3年間、異常パターン:欠けおよび割れ」
と入力することができる。
【0027】
ユーザUは、検査対象の情報をテキストで入力するまたは選択肢の中から選択する代わりに、検査対象の画像を入力するようにしてもよい。システム1000は、入力された画像から検査対象の情報を抽出することになる。
【0028】
ユーザUは、検査するときのカメラCによる撮像条件を入力することもできる。撮像条件は、例えば、日照条件、検査対象に対するカメラの相対位置等を含む。撮像条件は、検査対象の情報と共にシステム1000に提供される。
【0029】
システム1000に情報が提供されると、システム1000は、提供された情報に基づいて、異常検知AIを生成することになる。
【0030】
例えば、システム1000は、提供された情報のうちの検査対象の名称に基づいて、物品を特定し、特定された物品のいくつかの画像をユーザUに提供する。ユーザUは、提示されたいくつかの画像のうち、異常を検知したい検査対象に近い画像を選択する。システム1000は、選択された画像に示された物品(以下、「検査対象物品」という)の異常を検知可能な異常検知AIを生成することになる。
【0031】
まず、システム1000は、検査対象物品の複数の3Dモデル(CG)を生成する。複数の3Dモデルは、正常な状態の検査対象物品を表す正常モデル21と、異常な状態の検査対象物品を表す異常モデル22と、入力された使用条件下で使用することをシミュレートした状態の検査対象物品を表す中古モデル23とを含む。異常モデル22は、異常部を有する。異常モデル22は、入力された使用条件下で使用することをシミュレートした状態で、かつ異常部を有する中古異常モデルを含んでもよい。システム1000では、複数の正常モデル21、複数の異常モデル22、および複数の中古モデル23が生成される。複数の正常モデル21の各々は、例えば、相互に、シチュエーションが異なり得る。シチュエーションは、例えば、光源位置、カメラ位置、解像度、画質(シャープネス、コントラスト、彩度等)のうちの少なくとも1つに従って決定され得る。複数の異常モデル22の各々は、例えば、相互に、シチュエーションおよび異常状態が異なり得る。異常状態は、例えば、異常部の位置、異常部の大きさ、異常部の種類のうちの少なくとも1つに従って決定され得る。複数の中古モデル23の各々は、例えば、相互に、シチュエーションが異なり得る。
【0032】
システム1000は、生成された複数の3Dモデルを用いた学習処理を行うことにより、異常検知AI30を生成することができる。学習処理は、複数の正常モデル21および複数の中古モデル23の各々の全部位に「正常」とラベルを付し、複数の異常モデル22の各々の異常部に「異常」とラベルを付し、複数の異常モデル22の各々のその他の部位に「正常」とラベルを付し、複数の正常モデル21、複数の異常モデル22、および複数の中古モデル23とそれぞれのラベルとを機械学習モデルに投入することによって行われる。
【0033】
このようにして生成された異常検知AI30は、検査対象の画像を入力されると、検査対象の異常(例えば、表面異常)の部位を判定して出力することができる。
【0034】
ステップS12では、生成された異常検知AI30が、システム1000からシステム100に提供され、システム100において実装される。ここで、異常検知AI30が提供される態様は問わない。異常検知AI30は、例えば、ネットワークを通じてシステム100にダウンロードされることによってシステム100に提供されてもよいし、記憶媒体を介してシステム100にダウンロードされることによってシステム100に提供されてもよい。
【0035】
これにより、システム100は例えば、
図1を参照して上述した例において、表面異常も検知することができるようになる。
【0036】
システム1000が複数の3Dモデルを生成し、生成された複数の3Dモデルに基づいて異常検知AIが生成されるため、ユーザUは大量の教師データを作成する必要がなく、かつ、生成された異常検知AIは高い精度を有することができる。この異常検知AIを異常検査機として導入することで、異常検査機の開発コストの削減ならびに異常検査機の導入および保守の容易化につながり得る。さらに、生成された異常検知AIは、正常か異常かの判定のみならず、異常部がどこにあるかも判定することができる。これにより、
【0037】
上述した例では、検査対象が例示的な円柱形状の製品Pであることを説明したが、本発明はこれに限定されない。本発明では、任意の物体を検査対象とすることができる。好ましくは、検査対象は、工業製品である。
【0038】
上述したシステム100およびシステム1000は、例えば、後述する構成を有することができる。
【0039】
2.検査対象の異常を検知するシステムの構成
図3は、検査対象の異常を検知するシステム100の一例を示す。
【0040】
システム100は、ネットワーク400を介して、物品の異常を検知するための学習済モデルを生成するシステム1000に接続されている。システム1000は、ネットワーク400を介して、端末装置200に接続されている。システム1000は、データベース部300に接続されている。システム100は、関連付けられた端末装置200に接続され得る。
【0041】
図3では、2つのシステム100が示されているが、システム1000に接続されるシステム100の数はこれに限定されない。1つ以上の任意の数のシステム100がネットワーク400を介してシステム1000に接続されることができる。
【0042】
図3では、2つの端末装置200が示されているが、システム1000に接続される端末装置200の数はこれに限定されない。1つ以上の任意の数の端末装置200がネットワーク400を介してシステム1000に接続されることができる。
【0043】
ネットワーク400は、任意の種類のネットワークであり得る。ネットワーク400は、例えば、インターネットであってもよいし、LANであってもよい。ネットワーク400は、有線ネットワークであってもよいし、無線ネットワークであってもよい。
【0044】
システム100は、異常を検知する現場に設置されているコンピュータであり得る。システム100に関連付けられた端末装置200は、異常を検知する現場のユーザが操作する端末装置であり得る。例えば、端末装置は、スマートフォン、タブレット、パーソナルコンピュータ、スマートグラス、スマートウォッチ等の任意のタイプの端末装置であり得る。システム1000は、異常を検知するための学習済モデルを提供するサービスプロバイダに設置されているコンピュータ(例えば、サーバ装置)であり得る。
【0045】
データベース部300には、異常を検知するための学習済モデルを生成するためのデータが格納されている。例えば、データベース部300には、学習済モデルを生成するために利用される複数の3Dモデルを生成するためのデータが格納され得る。データベース部300には、種々の検査対象物品の画像およびCGアセットが格納され得る。CGアセットは、種々の検査対象物品の骨格および複数のテクスチャを含み得る。
【0046】
図4は、検査対象の異常を検知するシステム100の具体的な構成の一例を示す。
【0047】
システム100は、インターフェース部110と、プロセッサ部120と、メモリ部130とを備える。システム100は、撮像手段140に接続されている。
【0048】
インターフェース部110は、システム100の外部と情報のやり取りを行う。システム100のプロセッサ部120は、インターフェース部110を介して、システム100の外部から情報を受信することが可能であり、システム100の外部に情報を送信することが可能である。インターフェース部110は、任意の形式で情報のやり取りを行うことができる。例えば、撮像手段140は、インターフェース部110を介して、システム100と通信することができる。例えば、端末装置200は、インターフェース部110を介して、システム100と通信することができる。
【0049】
インターフェース部110は、例えば、システム100に情報を入力することを可能にする入力部を備える。入力部が、どのような態様でシステム100に情報を入力することを可能にするかは問わない。例えば、入力部が受信器である場合、受信器がネットワーク400を介してシステム100の外部から情報を受信することにより入力してもよい。例えば、入力部がデータ読み取り装置である場合には、システム100に接続された記憶媒体から情報を読み取ることによって情報を入力するようにしてもよい。インターフェース部110に入力された情報は、プロセッサ部120に渡され、プロセッサ部120は、これを受信する。
【0050】
インターフェース部110は、例えば、撮像手段140によって撮像された画像を撮像手段140から受信することができる。インターフェース部110は、例えば、システム1000によって生成された学習済モデルをシステム1000から受信することができる。
【0051】
インターフェース部110は、例えば、システム100から情報を出力することを可能にする出力部を備える。出力部が、どのような態様でシステム100から情報を出力することを可能にするかは問わない。例えば、出力部がディスプレイである場合、ディスプレイに画面を表示することで情報を出力するようにしてもよい。例えば、出力部がスピーカである場合、外部に音を出力するようにしてもよい。例えば、出力部がデータ書き込み装置である場合、システム100に接続された記憶媒体に情報を書き込むことによって情報を出力するようにしてもよい。あるいは、出力部が送信器である場合、送信器がネットワーク400を介してシステム100の外部に情報を送信することにより出力してもよい。
【0052】
インターフェース部110は、例えば、検査対象が異常であることを示す情報をシステム100の外部に出力することができる。インターフェース部110は、例えば、システム100と通信し得る発報装置に、検査対象に異常であることを示す情報を提供することができる。インターフェース部110は、例えば、システム100と通信し得るピッキングロボットに、検査対象に異常であることを示す情報を提供することができる。インターフェース部110は、例えば、システム100と通信し得るARデバイスに、検査対象に異常であることを示す情報およびどこが異常部かを示す情報を提供することができる。
【0053】
プロセッサ部120は、システム100の処理を実行し、かつ、システム100全体の動作を制御する。プロセッサ部120は、メモリ部130に格納されているプログラムを読み出し、そのプログラムを実行する。これにより、システム100を所望のステップを実行するシステムとして機能させることが可能である。プロセッサ部120は、単一のプロセッサによって実装されてもよいし、複数のプロセッサによって実装されてもよい。
【0054】
メモリ部130は、システム100の処理を実行するために必要とされるプログラムやそのプログラムの実行に必要とされるデータ等を格納する。メモリ部130は、検査対象の異常を検知するための処理をプロセッサ部に行わせるためのプログラム(例えば、後述する
図10A~
図10Cに示される処理を実現するプログラム)を格納してもよい。ここで、プログラムをどのようにしてメモリ部130に格納するかは問わない。例えば、プログラムは、メモリ部130にプリインストールされていてもよい。あるいは、プログラムは、ネットワークを経由してダウンロードされることによってメモリ部130にインストールされるようにしてもよい。あるいは、プログラムは、非一過性のコンピュータ読み取り可能な記憶媒体に格納されていてもよい。メモリ部130は、任意の記憶手段によって実装され得る。
【0055】
撮像手段140は、画像を捕捉可能な任意の手段であり得る。好ましくは、撮像手段140は、3次元情報(すなわち、縦×横×奥行の情報)を含む画像を捕捉可能な手段であり得る。例えば、撮像手段140は、デプスカメラであり得る。あるいは、撮像手段140は、2次元画像を捕捉可能な手段と、2次元画像から奥行きを推定する推定手段との組み合わせであってもよい。
【0056】
図4に示される例では、撮像手段140は、システム100の外部に設けられているが、本発明はこれに限定されない。撮像手段140をシステム100の内部に設けることも可能である。
【0057】
【0058】
プロセッサ部120は、受信手段121と、検知手段122とを備える。
【0059】
受信手段121は、検査対象の画像を受信するように構成されている。画像は、撮像手段140からインターフェース部110を介して受信され得る。画像は、3次元情報を含む画像であり得る。受信された画像は、検知手段122に渡される。
【0060】
検知手段122は、受信された画像に基づいて、検査対象の異常を検知するように構成されている。
【0061】
検知手段122は、3次元情報を含む画像から取得される3次元点群を利用して、検査対象の異常を検知することができる。3次元点群とは、3次元座標を有する点の集まりのことである。検知手段122は、3次元情報を含む画像から、検査対象を表す3次元点群を取得することができる。具体的には、一例において、検知手段122は、画像中の検査対象上の複数の点を抽出し、それぞれの点の3次元座標を特定することで、それらの複数の点から成る3次元点群を取得することができる。
【0062】
検知手段122は、検査対象を表す3次元点群と、複数の3Dモデルとをマッチングし、その結果に基づいて、1つの3Dモデルを選択することができる。ここで、複数の3Dモデルは、検査対象と同種の物品の正常モデルと、異常モデルとを含む。好ましくは、複数の3Dモデルは、検査対象と同種の物品の複数の正常モデルと、複数の異常モデルとを含む。複数の中古モデルは、各々が異なる使用条件で使用された状態を表す複数の中古モデルを含むことができ、複数の異常モデルは、各々が異なる異常状態を表す複数の異常モデルを含むことができる。複数の3Dモデルは、後述するシステム1000が学習済モデルを生成するときに利用し得る複数の3Dモデルと同一のものであってもよい。これにより、複数の3Dモデルを別途作成する必要がなく、計算コストを削減することができる。さらに、システム1000が学習済モデルを生成するときに利用し得る複数の3Dモデルは、ユーザによる入力に基づいてカスタムメイドされたものであるため、既成の3Dモデルに比べて、より複雑な形状の検査対象に対応可能である。
【0063】
例えば、検知手段122は、複数の3Dモデルのうちの1つの3Dモデルについて、3次元点群上の点の座標と、その3Dモデル上の対応する点の座標とを比較し、この比較を3次元点群内の各点について行うことで、3次元点群とその3Dモデルとの適合度を算出することができる。検知手段122は、これを複数の3Dモデルのそれぞれに対して行うことにより、3次元点群と、複数の3Dモデルのそれぞれとの適合度を算出することができる。検知手段122は、適合度が最も高い3Dモデルを、3次元点群に最も近い3Dモデルとして決定することができる。
【0064】
例えば、決定された3Dモデルが正常モデルである場合、検知手段122は、後続の処理のために、その正常モデルを選択することができる。後続の処理では、選択された正常モデルと3次元点群とを比較することにより差分を特定し、特定された差分に基づいて異常を判定することができる。
【0065】
他方で、決定された3Dモデルが異常モデルである場合、検知手段122は、後続の処理のために、その異常モデルは選択しない。むしろ、検知手段122は、その異常モデルに対応する正常モデルを選択する。異常モデルは、対応する正常モデルにおいて異常が発生した状態をシミュレートしたモデルであるため、異常モデルは、対応する正常モデルを有している。あるいは、異常モデルは、対応する正常モデルを容易に推定可能である。後続の処理では、選択された正常モデルと3次元点群とを比較することにより差分を特定し、特定された差分に基づいて異常を判定することになる。
【0066】
このように、3次元点群と複数の3Dモデルとのマッチングの結果から選択される3Dモデルと、3次元点群とを比較して異常を判定することは、エラーとして処理されて正常か異常かの判定すらできない場合を減らし、正常か異常かを判定することができる検査対象を増やすことにつながる。具体的には、
図11Cを参照して後述するように、3次元点群と複数の3Dモデルとのマッチングで得られた対応付けを利用して、3次元点群上の点と3Dモデル上の点とを対応付けることができ、3次元点群上の点と3Dモデル上の点とをうまく対応付けることができない場合を減らすことができるのである。
【0067】
検知手段122は、例えば、3次元点群上の各点について、3次元点群上の点の座標と、選択された正常モデル上の対応する点の座標とを比較することにより、差分を特定することができる。例えば、3次元点群上の点の座標と選択された正常モデル上の対応する点の座標とが有意にずれている(例えば、許容誤差よりも大きくずれている)場合に、その点を差分の少なくとも一部であるとみなすことができる。
【0068】
この場合、検知手段122は、特定された差分に基づいて検査対象中の異常部を検出し、異常部の大きさに基づいて異常を判定することができる。検知手段122は、例えば、差分を有すると特定された点のうち、相互に隣接する複数の点によって形成される空間または領域を異常部として検出することができる。異常部として検出された空間または領域は、大きさを有することになる。異常部の大きさは、例えば、異常部を包囲する外接四角形の対角線の長さ(異常部が2次元領域で表される場合)または異常部を包囲する外接直方体の対角線の長さ(異常部が3次元空間で表される場合)であり得る。外接直方体は、AABB(Axis Aligned Bounding Box)よりもOBB(Oriented Bounding Box)であることが好ましい。OBBは、異常部の向きに依存しない最小の外接直方体となるため、誤差を最小限にすることができるからである。外接直方体は、公知の手法によって導出することができる。
【0069】
検知手段122は、異常部の大きさを閾値と比較し、異常部の大きさが閾値を超えるときに検査対象が異常であると判定し、異常部の大きさが閾値以下であるときに、異常部は異常ではないと判定することができる。検知手段122は、すべての異常部のそれぞれについて、大きさを閾値と比較し、少なくとも1つの異常部の大きさが閾値を超えるときに検査対象が異常であると判定し、すべての異常部の大きさが閾値以下であるときに検査対象が正常であると判定することができる。
【0070】
このとき、閾値は、固定値であってもよいし、変動値であってもよい。閾値が変動値である場合、閾値は、ユーザ入力に基づいて調整されるようにしてもよい。例えば、ユーザは、厳しい基準で異常検知を行いたい場合、閾値を高く設定することができる。他方で、ユーザは、緩い基準で異常検知を行いたい場合、閾値を低く設定することができる。これにより、現場に合った異常検知を行うことができるようになる。
【0071】
検知手段122による異常検知の結果は、インターフェース部110を介してシステム100の外部に出力されることができる。例えば、検査対象が異常であることを現場のユーザに報知し、ユーザにアクション(例えば、異常な検査対象をラインから取り除く、異常な検査対象の異常を取り除く、異常な検査対象に目印をつける等)を行うことを促すことができる。例えば、検査対象が異常であることを現場のピッキングロボットに報知し、ピッキングロボットにアクションを行うことを促すことができる。例えば、検査対象が異常であることを現場の投影装置に報知し、検知された異常部を示すように検査対象に投影するようにしてもよい。例えば、検査対象が異常であることを現場のARデバイスに報知し、ARデバイスの視野内で、検知された異常部を示すように検査対象にオーバーレイするようにしてもよい。
【0072】
図5Bは、プロセッサ部120の代替実施形態であるプロセッサ部120Aの構成の一例を示す。プロセッサ部120Aは、検知手段120の代わりに検知手段120Aを備える点を除いて、プロセッサ部120と同様の構成を有する。ここでは、
図5Aを参照して上述した構成と同一の構成には、同一の参照番号を付し、詳細な説明は省略する。
【0073】
プロセッサ部120Aは、受信手段121と、検知手段122Aとを備える。
【0074】
受信手段121は、検査対象の画像を受信するように構成されている。受信された画像は、検知手段122Aに渡される。
【0075】
検知手段122Aは、第1の検知手段1221と、第2の検知手段1222とを備える。
【0076】
第1の検知手段1221は、
図5Aを参照して上述した検知手段122と同様に、3次元情報を含む画像から取得される3次元点群を利用して、検査対象の異常を検知することができる。
【0077】
第2の検知手段1222は、受信手段121によって受信された画像を学習済モデルに入力したときの出力に基づいて、検査対象の異常を検知するように構成されている。第2の検知手段1222は、受信手段121によって受信された画像から3次元点群を取得し、取得された3次元点群を学習済モデルに入力したときの出力に基づいて、検査対象の異常を検知することができる。
【0078】
学習済モデルは、検査対象と同種の物品の複数の3Dモデルのそれぞれの各部位が正常であるか、異常であるかを学習している。言い換えると、学習済モデルは、或る物品の3Dモデルまたは3次元情報を含む画像を入力されると、その物品の各部位が正常であるか異常であるかを出力するように訓練されている。これにより、例えば、受信手段121によって受信された画像(3次元点群)が学習済モデルに入力されると、その画像に写る検査対象の各部位が正常であるか異常であるかが例えばボクセル中の色分けで出力されることができる。すなわち、学習済モデルは、正常部と異常部とを区分する画像セグメンテーションが可能な学習済モデルであり得る。
【0079】
第2の検知手段1222が備える学習済モデルは、当該技術分野において公知の手法で構築された機械学習モデルを用いて構築されることができる。機械学習モデルは、例えば、ニューラルネットワークモデルであり得る。第2の検知手段1222が備える学習済モデルは、後述するシステム1000によって構築される。
【0080】
例えば、検知手段122Aは、第1の検知手段1221による検知結果と、第2の検知手段1222による検知結果とを総合して、異常を検知することができる。例えば、第1の検知手段1221による検知結果および第2の検知手段1222による検知結果の両方が、異常があると判定するときにのみ、検知手段122Aは、検査対象に異常があると判定するようにしてもよいし、第1の検知手段1221による検知結果および第2の検知手段1222による検知結果の少なくとも一方が、異常があると判定するときに、検査対象に異常があると判定するようにしてもよい。好ましくは、第1の検知手段1221による検知結果および第2の検知手段1222による検知結果の少なくとも一方が、異常があると判定するときに、検知手段122Aは、検査対象に異常があると判定する。これにより、異常があるにもかかわらず異常なしと判定される可能性(すなわち、偽陰性の可能性)を低減することができる。
【0081】
なお、上述したシステム100の各構成要素は、単一のハードウェア部品で構成されていてもよいし、複数のハードウェア部品で構成されていてもよい。複数のハードウェア部品で構成される場合は、各ハードウェア部品が接続される態様は問わない。各ハードウェア部品は、無線で接続されてもよいし、有線で接続されてもよい。本発明のシステム100は、特定のハードウェア構成には限定されない。プロセッサ部120または120Aをデジタル回路ではなくアナログ回路によって構成することも本発明の範囲内である。本発明のシステム100の構成は、その機能を実現できる限りにおいて上述したものに限定されない。
【0082】
図6は、物品の異常を検知するための学習済モデルを生成するシステム1000の構成の一例を示す。
【0083】
システム1000は、インターフェース部1010と、プロセッサ部1020と、メモリ部1030とを備える。システム1000は、データベース部300に接続されている。
【0084】
インターフェース部1010は、システム1000の外部と情報のやり取りを行う。システム1000のプロセッサ部1020は、インターフェース部1010を介して、システム1000の外部から情報を受信することが可能であり、システム1000の外部に情報を送信することが可能である。インターフェース部1010は、任意の形式で情報のやり取りを行うことができる。例えば、システム100は、インターフェース部1010を介して、システム1000と通信することができる。
【0085】
インターフェース部1010は、例えば、システム1000に情報を入力することを可能にする入力部を備える。入力部が、どのような態様でシステム1000に情報を入力することを可能にするかは問わない。例えば、入力部が受信器である場合、受信器がネットワーク400を介してシステム1000の外部から情報を受信することにより入力してもよい。例えば、入力部がデータ読み取り装置である場合には、システム1000に接続された記憶媒体から情報を読み取ることによって情報を入力するようにしてもよい。インターフェース部1010に入力された情報は、プロセッサ部1020に渡され、プロセッサ部1020は、これを受信する。
【0086】
インターフェース部1010は、例えば、端末装置200に入力された情報を端末装置200から受信することができる。
【0087】
インターフェース部1010は、例えば、システム1000から情報を出力することを可能にする出力部を備える。出力部が、どのような態様でシステム1000から情報を出力することを可能にするかは問わない。例えば、出力部が送信器である場合、送信器がネットワーク400を介してシステム1000の外部に情報を送信することにより出力してもよい。例えば、出力部がデータ書き込み装置である場合、システム100に接続された記憶媒体に情報を書き込むことによって情報を出力するようにしてもよい。
【0088】
インターフェース部1010は、例えば、生成された学習済モデルをシステム100の外部に出力することができる。インターフェース部1010は、例えば、システム1000と通信し得るシステム100に、生成された学習済モデルを提供することができる。インターフェース部1010は、例えば、データベース部200に、生成された学習済モデルを提供することができる。
【0089】
プロセッサ部1020は、システム1000の処理を実行し、かつ、システム1000全体の動作を制御する。プロセッサ部1020は、メモリ部1030に格納されているプログラムを読み出し、そのプログラムを実行する。これにより、システム1000を所望のステップを実行するシステムとして機能させることが可能である。プロセッサ部1020は、単一のプロセッサによって実装されてもよいし、複数のプロセッサによって実装されてもよい。
【0090】
メモリ部1030は、システム1000の処理を実行するために必要とされるプログラムやそのプログラムの実行に必要とされるデータ等を格納する。メモリ部1030は、異常を検知するための学習済モデルを生成するための処理をプロセッサ部に行わせるためのプログラム(例えば、後述する
図12のフローの一部に示される処理を実現するプログラム)を格納してもよい。ここで、プログラムをどのようにしてメモリ部130に格納するかは問わない。例えば、プログラムは、メモリ部1030にプリインストールされていてもよい。あるいは、プログラムは、ネットワークを経由してダウンロードされることによってメモリ部130にインストールされるようにしてもよい。あるいは、プログラムは、非一過性のコンピュータ読み取り可能な記憶媒体に格納されていてもよい。メモリ部1030は、任意の記憶手段によって実装され得る。
【0091】
データベース部300には、異常を検知するための学習済モデルを生成するためのデータが格納されている。データベース部300には、生成された学習済モデルも格納され得る。
【0092】
図6に示される例では、データベース部200は、システム1000の外部に設けられているが、本発明はこれに限定されない。データベース部200をシステム1000の内部に設けることも可能である。このとき、データベース部200は、メモリ部1030を実装する記憶手段と同一の記憶手段によって実装されてもよいし、メモリ部1030を実装する記憶手段とは別の記憶手段によって実装されてもよい。いずれにせよ、データベース部200は、システム1000のための格納部として構成される。データベース部200の構成は、特定のハードウェア構成に限定されない。例えば、データベース部200は、単一のハードウェア部品で構成されてもよいし、複数のハードウェア部品で構成されてもよい。例えば、データベース部200は、システム1000の外付けハードディスク装置として構成されてもよいし、ネットワークを介して接続されるクラウド上のストレージとして構成されてもよい。
【0093】
【0094】
プロセッサ部1020は、受信手段1021と、3Dモデル生成手段1022と、学習済モデル生成手段1023とを備える。
【0095】
受信手段1021は、異常を検知する対象の物品の情報(物品情報)を受信するように構成されている。物品情報は、物品の名称と、物品の使用条件とを含む。物品情報は、物品の材質、物品が有し得る異常パターンを含む他の任意の情報も含むことができる。物品情報は、ユーザが入力したテキストから抽出されるようにしてもよいし、複数の選択肢の中からユーザが選択した項目から特定されるようにしてもよい。物品情報は、ユーザによって入力された画像から抽出されるようにしてもよい。受信された情報は、3Dモデル生成手段1022に渡される。
【0096】
3Dモデル生成手段1022は、物品情報に基づいて、物品の複数の3Dモデルを生成するように構成されている。生成される複数の3Dモデルは、物品の正常モデルと、物品を使用条件下で使用することをシミュレートした中古モデルまたは異常モデルとを含む。異常モデルは、物品情報で指定された異常パターンを含み得る。
【0097】
3Dモデル生成手段1022は、データベース部300に格納されているCGアセットを利用して、複数の3Dモデルを生成することができる。例えば、3Dモデル生成手段1022は、物品の名称に基づいて、CGアセットの中から3Dモデルの骨格を特定する。あるいは、3Dモデル生成手段1022は、物品の名称に基づいて特定された複数の画像に対するユーザ選択に基づいて、CGアセットの中から3Dモデルの骨格を特定する。次いで、3Dモデル生成手段1022は、使用条件に基づいて、CGアセットの中から適切なテクスチャを特定し、骨格に貼り付けることができる。例えば、使用条件に応じた劣化、汚れ、および/または傷を表現したテクスチャを特定し、骨格に貼り付けることで、使用条件下で使用することをシミュレートした中古モデルを生成することができる。例えば、使用条件に応じた損傷を有するように骨格に改変を加えることにより、使用条件下で使用することをシミュレートした異常モデルを生成することができる。例えば、異常パターンに従った異常を有するように骨格に改変を加えることにより、異常パターンに従った異常モデルを生成することができる。
【0098】
3Dモデル生成手段1022は、複数の正常モデルを生成することができる。複数の正常モデルは、相互にシチュエーションが異なる3Dモデルであり得る。シチュエーションは、例えば、光源位置、カメラ位置、解像度、画質(シャープネス、コントラスト、彩度等)のうちの少なくとも1つに従って決定され得る。例えば、第1の正常モデルは、真上に光源が位置するときの正常モデルであり得、第2の正常モデルは、斜め上45度の位置に光源が位置するときの正常モデルであり得る。
【0099】
3Dモデル生成手段1022は、複数の中古モデルを生成することができる。複数の中古モデルは、相互にシチュエーションが異なる3Dモデルであり得る。これに代えて、または、これに加えて、複数の中古モデルは、相互に汚れおよび/または傷が異なる3Dモデルであり得る。例えば、第1の中古モデルは、真上に光源が位置するときの中古モデルであり得、第2の中古モデルは、斜め上45度の位置に光源が位置するときの中古モデルであり得、第3の中古モデルは、表面全体に汚れが位置するときの中古モデルであり得、第4の中古モデルは、周縁のみに汚れが位置するときの中古モデルであり得、第5の中古モデルは、真上に光源が位置しかつ表面全体に汚れが位置するときのするときの中古モデルであり得、第6の中古モデルは、斜め上45度の位置に光源が位置しかつ表面全体に汚れが位置するときの中古モデルであり得る。
【0100】
3Dモデル生成手段1022は、複数の異常モデルを生成することができる。複数の異常モデルは、相互にシチュエーションが異なる3Dモデルであり得る。これに代えて、または、これに加えて、複数の異常モデルは、相互に異常パターンが異なる3Dモデルであり得る。例えば、第1の異常モデルは、真上に光源が位置するときの異常モデルであり得、第2の異常モデルは、斜め上45度の位置に光源が位置するときの異常モデルであり得、第3の異常モデルは、単一の大きな欠損部を有する異常モデルであり得、第4の異常モデルは、複数の小さな欠損部を有する異常モデルであり得、第5の異常モデルは、真上に光源が位置するときの単一の大きな欠損部を有する異常モデルであり得、第6の異常モデルは、斜め上45度の位置に光源が位置するときの単一の大きな欠損部を有する異常モデルであり得る。
【0101】
このように、3Dモデル生成手段1022は、複数の正常モデル、複数の異常モデル、および複数の中古モデルを生成することができる。多数の3Dモデルを生成することで、学習済モデル生成手段1023によって学習に利用することができる教師データの量が増え、生成される学習済モデルの精度が向上し得る。特に、正常モデルおよび異常モデルに加えて、中古モデルを学習に利用することにより、例えば、表面が汚れているだけで正常な検査対象を、異常として誤認識する可能性を低減することができる。
【0102】
生成された複数の3Dモデルは、学習済モデル生成手段1023に渡される。生成された複数の3Dモデルは、インターフェース部1010を介してシステム100に渡されるようにしてもよい。これにより、システム100の検知手段122または第1の検知手段1221は、3次元点群とのマッチングのために複数の3Dモデルを利用することができる。
【0103】
再び、
図7を参照し、学習済モデル生成手段1023は、生成された複数の3Dモデルのそれぞれの各部位が正常であるか、異常であるかを学習することにより、学習済モデルを生成するように構成されている。ここで、各部位は、ボクセル単位で表されてもよいし、複数のボクセルの集合によって表されてもよい。
【0104】
図8は、学習済モデルを構築し得るニューラルネットワークモデル500の構造の一例を示す。
【0105】
ニューラルネットワークモデル500は、入力層と、中間層と、出力層とを有する。ニューラルネットワークモデル500の入力層のノード数は、入力されるデータの次元数(例えば、受信手段121によって受信された画像から抽出される特徴量の次元数)に対応する。ニューラルネットワークモデルの出力層のノード数は、出力されるデータの次元数に対応する。例えば、正常な部位および異常な部位を示す3次元点群を出力する場合、出力層のノード数は、3次元点群の点の数に対応し得る。ニューラルネットワークの中間層は、任意のアーキテクチャを有し得る。中間層は、任意の数のノードを有し得る。
【0106】
ニューラルネットワークモデル500は、1つの3Dモデルの各ボクセルから抽出された特徴量と、それぞれのボクセルが正常な部位または異常な部位であることを示す値とを用いて、複数の3Dモデルについて予め学習処理がなされ得る。学習処理は、3Dモデルの各ボクセルから抽出された特徴量と、そのボクセルが正常な部位または異常な部位であることを示す値とを使用して、ニューラルネットワークモデルの中間層の各ノードの重み係数を計算する処理である。
【0107】
学習処理は、例えば、教師あり学習である。教師あり学習では、例えば、或る3Dモデルの各ボクセルから抽出された特徴量を入力用教師データとし、それぞれのボクセルについて正常な部位または異常な部位であることを示す値を出力用教師データとして、複数の3Dモデルを使用してニューラルネットワークモデルの中間層の各ノードの重み係数を計算することにより、3Dモデル(または3次元情報を含む画像)の各ボクセルから抽出された特徴量と正常な部位または異常な部位であることを示す値とを相関させることが可能な学習済モデルを構築することができる。正常な部位または異常な部位であることを示す値は、例えば、0(正常)および1(異常)で表され得る。
【0108】
例えば、教師あり学習のための(入力用教師データ,出力用教師データ)の組は、(第1の正常モデルの各ボクセルから抽出された特徴量を成分とする行列,それぞれのボクセルが正常な部位であることを示す値を成分とする行列)、(第2の正常モデルの各ボクセルから抽出された特徴量を成分とする行列,それぞれのボクセルが正常な部位であることを示す値を成分とする行列)、・・・(第1の異常モデルの各ボクセルから抽出された特徴量を成分とする行列,異常部に対応するボクセルが異常な部位であることを示す値と、その他のボクセルが正常な部位であることを示す値とを成分とする行列)、(第2の異常モデルの各ボクセルから抽出された特徴量を成分とする行列,異常部に対応するボクセルが異常な部位であることを示す値と、その他のボクセルが正常な部位であることを示す値とを成分とする行列)、・・・(第1の中古モデルの各ボクセルから抽出された特徴量を成分とする行列,それぞれのボクセルが正常な部位であることを示す値を成分とする行列)、(第2の中古モデルの各ボクセルから抽出された特徴量を成分とする行列,それぞれのボクセルが正常な部位であることを示す値を成分とする行列)、・・・(第1の中古かつ異常モデルの各ボクセルから抽出された特徴量を成分とする行列,異常部に対応するボクセルが異常な部位であることを示す値と、その他のボクセルが正常な部位であることを示す値とを成分とする行列)、(第2の中古かつ異常モデルの各ボクセルから抽出された特徴量を成分とする行列,異常部に対応するボクセルが異常な部位であることを示す値と、その他のボクセルが正常な部位であることを示す値とを成分とする行列)、・・・等であり得る。このような学習済のニューラルネットワークモデルの入力層に、或る検査対象の3Dモデルまたは3次元情報を含む画像を入力すると、その検査対象の各部位が正常であるか異常であるかを示す値が出力層に出力される。
【0109】
このようにして生成された学習済モデルは、例えば、データベース部300に格納され得る。あるいは、学習済モデルは、物品情報を入力したユーザに提供されることができる。学習済モデルは、ユーザに関連付けられたシステム100に提供され、学習済モデルは、システム100において実装される。このようにして、ユーザは、検査したい検査対象の物品の物品情報を入力するだけで、その物品の異常を検知可能な学習済モデルを得ることができる。これは、異常検査機の開発コストの削減および異常検査機の導入および保守の容易化につながり得る。
【0110】
なお、上述したシステム1000の各構成要素は、単一のハードウェア部品で構成されていてもよいし、複数のハードウェア部品で構成されていてもよい。複数のハードウェア部品で構成される場合は、各ハードウェア部品が接続される態様は問わない。各ハードウェア部品は、無線で接続されてもよいし、有線で接続されてもよい。本発明のシステム1000は、特定のハードウェア構成には限定されない。プロセッサ部1020をデジタル回路ではなくアナログ回路によって構成することも本発明の範囲内である。本発明のシステム1000の構成は、その機能を実現できる限りにおいて上述したものに限定されない。
【0111】
3.検査対象の異常を検知するシステムによる処理
図9は、検査対象の異常を検知するシステム100による処理の一例(処理600)を示す。処理600は、システム100のプロセッサ部120またはプロセッサ部120Aにおいて実行される。
【0112】
ステップS601では、プロセッサ部120の受信手段121が、検査対象の画像を受信する。画像は、3次元情報を含む画像であり得る。画像は、例えば、デプスカメラによって捕捉された画像であり得る。
【0113】
ステップS602では、プロセッサ部120の検知手段122または検知手段122Aが、ステップS602で受信された画像に基づいて、検査対象の異常を検知する。検知手段122または検知手段122Aは、検査対象の形状異常を検知し、かつ/または、検査対象の表面異常を検知することができる。形状異常の検知について、検知手段122(または第1の検知手段1221)は、
図10Aおよび
図10Cを参照して後述するように、3次元情報を含む画像から取得される3次元点群を利用して、検査対象の異常を検知することができる。表面異常の検知について、第2の検知手段1222は、
図10Bおよび
図10Cを参照して後述するように、学習済モデルを利用して、検査対象の異常を検知することができる。
【0114】
処理600による異常検知の結果は、システム100の外部に出力されることができる。例えば、検査対象が異常であることを現場のユーザに報知し、ユーザにアクション(例えば、異常な検査対象をラインから取り除く、異常な検査対象の異常を取り除く、異常な検査対象に目印をつける等)を行うことを促すことができる。例えば、検査対象が異常であることを現場のピッキングロボットに報知し、ピッキングロボットにアクションを行うことを促すことができる。あるいは、検査対象が正常であることを現場のユーザに報知することもできる。
【0115】
図10Aは、ステップS602における詳細な処理(形状異常の検知)の一例を示す。以下では、検知手段122が処理を行うことを説明するが、検知手段122Aも同様に処理を行うことができる。
【0116】
ステップS6021では、検知手段122が、ステップS601で受信された画像から3次元点群を取得する。ステップS601で受信された画像は3次元情報を含む画像であるため、画像中の検査対象上の任意の点の奥行き情報を抽出することができる。検知手段122は、画像中の検査対象上の複数の点のそれぞれについて3次元座標を特定することで、それらの複数の点から成る3次元点群を取得することができる。
【0117】
ステップS6022では、検知手段122が、ステップS6021で取得された3次元点群と複数の3Dモデルとをマッチングする。複数の3Dモデルは、検査対象と同種の物品の正常モデルと、異常モデルとを含む。好ましくは、複数の3Dモデルは、システム1000によって生成された複数の3Dモデルであり得る。3Dモデルは、3Dモデル上の任意の点を3次元座標で表すことができるため、3Dモデルは3次元点群と比較することが可能である。
【0118】
例えば、検知手段122は、複数の3Dモデルのうちの1つの3Dモデルについて、3次元点群上の点の座標と、その3Dモデル上の対応する点の座標とを比較し、この比較を3次元点群内の各点について行うことで、3次元点群とその3Dモデルとの適合度を算出することができる。適合度は、例えば、3次元点群上の点と3Dモデル上の対応する点との間の距離に基づく値であり得る。例えば、距離が小さいほど適合度が大きくなる。検知手段122は、これを複数の3Dモデルのそれぞれに対して行うことにより、3次元点群と、複数の3Dモデルのそれぞれとの適合度を算出することができる。
【0119】
検知手段122は、ステップS6022のマッチングの結果に基づいて1つの3Dモデルを選択することができる。1つの3Dモデルを選択することは、例えば、ステップS6023~ステップS6025で行われる。
【0120】
ステップS6023では、検知手段122が、3次元点群に最も近い3Dモデルを決定することができる。例えば、適合度が最も高い3Dモデルを、3次元点群に最も近い3Dモデルとして決定することができる。
【0121】
例えば、
図11Aに示されるように、検査対象としてのワインボトルを撮像したときの画像(α)から取得された3次元点群が、複数の3Dモデル(a)~(c)と比較されたとき、それぞれとの適合度が、60%、20%、90%であると算出されたとする。ここで、3Dモデル(a)は正常モデルであり、3Dモデル(b)はボトルの肩が欠けた異常モデルであり、3Dモデル(c)は、ボトルのネックが欠けた異常モデルである。3Dモデル(d)は、正常モデルであるが傾いてマッチングされた例であり、画像(α)から取得された3次元点群とは適切なマッチングができずにエラーと判定された。本例では、ステップS6023において、3Dモデル(c)が、受信された画像(α)から取得された3次元点群に最も近い3Dモデルとして決定される。
【0122】
再び
図10Aを参照して、ステップS6024では、検知手段122が、ステップS6023で決定された3Dモデルが正常モデルであるか否かを判定する。ステップS6023で決定された3Dモデルが正常モデルである場合、ステップS6025に進む。ステップS6023で決定された3Dモデルが正常モデルではない場合、すなわち、ステップS6023で決定された3Dモデルが異常モデルである場合、ステップS6026に進む。
【0123】
ステップS6025では、検知手段122が、ステップS6023で決定された3Dモデル、すなわち、正常モデルを選択する。選択された正常モデルが、後続のステップにおいて、差分を特定するために3次元点群と比較される。
【0124】
ステップS6026では、検知手段122が、ステップS6023で決定された3Dモデル、すなわち、異常モデルに対応する正常モデルを選択する。異常モデルは、対応する正常モデルにおいて異常が発生した状態をシミュレートしたモデルであるため、異常モデルは、その対応する正常モデルを有しているか、または、その対応する正常モデルを容易に推定可能である。
【0125】
例えば、
図11Bに示されるように、ステップS6023において決定された3Dモデル(c)に対応する正常モデルが推定される。ステップS6026では、推定された正常モデルが後続の処理のために選択される。
【0126】
再び
図10Aを参照して、ステップS6027では、検知手段122が、ステップS6025またはステップS6026で選択された3Dモデル(正常モデル)と3次元点群とを比較することにより、正常モデルと3次元点群との差分を特定する。検知手段122は、例えば、3次元点群上の各点について、3次元点群上の点の座標と、選択された3Dモデル上の対応する点の座標とを比較することにより、差分を特定することができる。
【0127】
3次元点群と3Dモデルとを比較するとき、3次元点群上の点と3Dモデル上の点とをうまく対応付けることができない場合がある。これは、特に、3次元点群の形状が3Dモデルの形状と大きく異なっている場合、すなわち、検査対象の異常な形状が正常な状態から大きく逸脱している場合に多く発生し得る。3次元点群上の点と3Dモデル上の点とをうまく対応付けることができないと、エラーとして処理され、正常か異常かの判定すらできない。処理600では、正常モデルと3次元点群との差分を特定する前に、複数の3Dモデルと3次元点群とのマッチングを行うことによりこれを解決している。具体的には、複数の3Dモデルと3次元点群とのマッチングを行うことにより、3次元点群とうまく対応付けることができる3Dモデルをまず特定し、その3Dモデルに対応する正常モデルと3次元点群との差分を特定する。複数の3Dモデルと3次元点群とのマッチングにより、既に対応付けが得られているため、この対応付けに従って、3次元点群上の点と正常モデル上の点とを対応付けることにより、3次元点群の形状が正常モデルの形状と大きく異なっている場合であっても、うまく対応付けることができる。
【0128】
例えば、
図11Cを例に説明する。
図11C(a)に示されるように、検査対象としてのワインボトルを撮像したときの画像から取得された3次元点群と、ワインボトルの正常モデルとを対応付けようとすると、3次元点群の形状と正常モデルの形状とが大きく異なるため、うまく対応付けられないことがある。これに対して、
図11C(b)に示されるように、3次元点群と、
図11Bで特定された正常モデルとを対応付けると、うまく対応付けることができる。なぜなら、正常モデルを特定する過程で、正常モデルに対応する異常モデルと3次元点群との対応付けが既になされているからである。
【0129】
これにより、処理600では、エラーとして処理される場合を減らし、正常か異常かを判定することができる検査対象を増やすことができる。
【0130】
ステップS6028では、検知手段122が、ステップS6027で特定された差分に基づいて、異常部を検出する。検知手段122は、例えば、差分を有すると特定された点のうち、相互に隣接する複数の点によって形成される空間または領域を異常部として検出することができる。異常部として検出された空間または領域は、大きさを有することになる。異常部の大きさは、例えば、異常部を包囲する外接四角形の対角線の長さ(異常部が2次元領域で表される場合)または異常部を包囲する外接直方体の対角線の長さ(異常部が3次元空間で表される場合)であり得る。ステップS6028の後、処理は、
図10Cに示される処理に続き、
図10Cに示される処理において、異常部に基づいて、検査対象に異常があるか否かが判定されることになる。
【0131】
図10Bは、ステップS602における詳細な処理(表面異常の検知)の一例を示す。このとき、処理は、検知手段122Aによって行われる。
【0132】
ステップS6121では、第2の検知手段1222が、ステップS601で受信された画像から3次元点群を取得する。ステップS6121は、ステップS6021と同様の処理である。
図10Aに示される処理および
図10Bに示される処理の両方が行われる場合(すなわち、形状異常の検知および表面異常の検知の両方が行われる場合)、ステップS6021は、ステップS6121で代用されてもよいし、逆もまた同様に、ステップS6121は、ステップS6021で代用されてもよい。すなわち、1つのステップ(ステップ6021またはステップ6121)で取得された3次元点群が、後続の処理(ステップS6022およびステップ6122)において利用される。
【0133】
ステップS6122では、ステップ6021で取得された3次元点群が学習済モデルに入力される。学習済モデルは、その3次元点群の各点が正常な部位であるか、異常な部位であるかを示す値を出力することができる。
【0134】
ステップS6123では、ステップS6122での出力に基づいて、第2の検知手段1222が、異常部を特定する。例えば、第2の検知手段1222は、異常な部位であると示される点の集合を異常部として検出することができる。異常部として検出された点の集合は、大きさを有することになる。異常部の大きさは、例えば、異常部を包囲する外接四角形の対角線の長さ(異常部が2次元領域で表される場合)または異常部を包囲する外接直方体の対角線の長さ(異常部が3次元空間で表される場合)であり得る。ステップS6123の後、処理は、
図10Cに示される処理に続き、
図10Cに示される処理において、異常部に基づいて、検査対象に異常があるか否かが判定されることになる。
【0135】
図10Cは、ステップS6028またはステップS6123の後に行われる処理の一例を示す。以下では、検知手段122が処理を行うことを説明するが、検知手段122Aも同様に処理を行うことができる。
【0136】
ステップS603では、検知手段122は、異常部の大きさを閾値と比較する。異常部の大きさが閾値よりも大きい場合、ステップS604に進み、異常部の大きさが閾値以下である場合、ステップS605に進む。閾値は、固定値であってもよいし、変動値であってもよい。好ましくは、閾値は変動値であり、閾値は、ユーザ入力に基づいて調整され得る。これにより、ユーザが現場に合った異常検知を行うことができるようになる。
【0137】
ステップS604では、検知手段122は、異常部が異常であると判定する。ステップS602で検出された異常部が1つである場合、この判定をもって、検査対象が異常であると判断することができる。
【0138】
ステップS605では、検知手段122は、異常部は異常ではないと判定する。ステップS602で検出された異常部が1つである場合、この判定をもって、検査対象が正常であると判定することができる。
【0139】
ステップS602で複数の異常部が検出された場合、複数の異常部のそれぞれに対してステップS603~ステップS605が繰り返される。その結果、少なくとも1つの異常部の大きさが閾値を超えるときに検査対象が異常であると判定し、すべての異常部の大きさが閾値以下であるときに検査対象が正常であると判定することができる。
【0140】
【0141】
図12は、検査対象の異常を検知するシステム100および物品の異常を検知するための学習済モデルを生成するシステム1000が関与するデータフローの一例を示す。ステップS701~ステップS704は、物品の異常を検知するための学習済モデルを生成するためのフローであり、ステップS711~ステップS713は、検査対象の異常を検知するためのフローである。
【0142】
まず、物品の異常を検知するための学習済モデルを生成するためのフローにおいて、物品の異常を検知するための学習済モデルが欲しいユーザは、検査対象の物品の物品情報を端末装置200に入力する。
【0143】
ステップS701では、端末装置200が、入力された物品情報をシステム1000に送信し、システム1000がこれを受信する。システム1000は、インターフェース部1010を介して物品情報を受信し、物品情報をプロセッサ部1020に渡す。プロセッサ部1020の受信手段1021はこれを受信する。
【0144】
ステップ702では、プロセッサ部1020の3Dモデル生成手段1022が、受信された物品情報に基づいて、検査対象の物品の複数の3Dモデルを生成する。3Dモデル生成手段1022は、検査対象の物品の正常モデルと、中古モデルまたは異常モデルとを生成することができる。
【0145】
ステップS703では、プロセッサ部1020の学習済モデル生成手段1023が、ステップS702で生成された複数の3Dモデルを用いて学習済モデルを生成する。学習済モデル生成手段1023は、生成された複数の3Dモデルのそれぞれの各部位が正常であるか、異常であるかを学習する。このようにして生成される学習済モデルは、或る検査対象の3次元情報を含む画像を入力されると、その検査対象に異常部が存在する場合に、異常部がどこにあるかを出力可能である。
【0146】
ステップS704では、システム1000が、ステップS703で生成された学習済モデルをシステム100に提供する。システム100は、端末装置200に関連付けられたシステム100(例えば、端末装置200と同じ現場に設置されているシステム、端末装置200と同じユーザによって利用されるシステム等)である。システム100は、学習済モデルを用いて検査対象の異常を検知することができるようになる。
【0147】
次に、検査対象の異常を検知するためのフローにおいて、検査を行う現場において、撮像手段140が検査対象の画像を捕捉する。
【0148】
ステップS711では、撮像手段140が、捕捉された画像をシステム100に送信し、システム100がこれを受信する。システム100は、インターフェース部110を介して画像を受信し、画像をプロセッサ部120に渡す。プロセッサ部120の受信手段121はこれを受信する。
【0149】
ステップS712では、プロセッサ部120の検知手段122または検知手段122Aが、異常を検知する。
【0150】
例えば、検知手段122または第1の検知手段1221が、受信された画像から取得される3次元点群を利用して、検査対象の異常を検知することができる。例えば、処理600によって検査対象の異常を検知することができる。
【0151】
例えば、第2の検知手段1222が、ステップS704で受信された機械学習モデルに受信された画像を入力することによって得られる出力に基づいて、検査対象の異常を検知することができる。
【0152】
ステップS713では、システム1000は、検知された異常を端末装置200を介してユーザに報知することができる。例えば、ユーザは、異常が検知された検査対象に対して適切なアクションを(例えば、異常な検査対象をラインから取り除く、異常な検査対象の異常を取り除く、異常な検査対象に目印をつける等)を行うことができる。
【0153】
図12では、検査対象の異常を検知するシステム100および物品の異常を検知するための学習済モデルを生成するシステム1000を別個のシステムとして説明したが、検査対象の異常を検知するシステム100および物品の異常を検知するための学習済モデルを生成するシステム1000を1つのシステムとみなすことも可能である。また、
図12では、撮像手段140がシステム100の外部の構成要素として説明したが、撮像手段140をシステム100の内部の構成要素としてもよい。
【0154】
なお、上述した例では、特定の順序で各ステップが行われることを説明したが、各ステップが行われる順序は示されるものに限定されない。各ステップは、論理的に可能な任意の順序で行われることができる。
【0155】
図9、
図10A~
図10Cを参照して上述した例では、
図9、
図10A~
図10Cに示される各ステップの処理は、プロセッサ部120または120Aとメモリ部130に格納されたプログラムとによって実現することが説明されたが、本発明はこれに限定されない。
図9、
図10A~
図10C示される各ステップの処理のうちの少なくとも1つは、制御回路などのハードウェア構成によって実現されてもよい。
【0156】
システム1000は、サーバ装置として実装されてもよいし、端末装置として実装されてもよい。システム1000は、任意の情報処理装置によって実装されることができる。
【0157】
本発明は、上述した実施形態に限定されるものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。
【産業上の利用可能性】
【0158】
本発明は、異常を検知可能な検査対象を拡張することが可能な異常検知方法等を提供するものとして有用である。
【符号の説明】
【0159】
P 製品
L 欠損部分
C カメラ
U ユーザ
100 検査対象の異常を検知するシステム
1000 物品の異常を検知するための学習済モデルを生成するシステム
200 端末装置
300 データベース部
400 ネットワーク