(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024157547
(43)【公開日】2024-11-07
(54)【発明の名称】姿勢依存機械学習モデルを使用する構成要素の異常検出
(51)【国際特許分類】
G08B 25/00 20060101AFI20241030BHJP
G06T 7/70 20170101ALI20241030BHJP
G06T 7/00 20170101ALI20241030BHJP
【FI】
G08B25/00 510M
G06T7/70 Z
G06T7/00 350B
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024070659
(22)【出願日】2024-04-24
(31)【優先権主張番号】18/139,117
(32)【優先日】2023-04-25
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】000006507
【氏名又は名称】横河電機株式会社
(74)【代理人】
【識別番号】100165179
【弁理士】
【氏名又は名称】田▲崎▼ 聡
(74)【代理人】
【識別番号】100206081
【弁理士】
【氏名又は名称】片岡 央
(74)【代理人】
【識別番号】100167553
【弁理士】
【氏名又は名称】高橋 久典
(74)【代理人】
【識別番号】100181124
【弁理士】
【氏名又は名称】沖田 壮男
(72)【発明者】
【氏名】ダコタ・マハン
【テーマコード(参考)】
5C087
5L096
【Fターム(参考)】
5C087AA10
5C087AA31
5C087AA44
5C087DD03
5C087DD21
5C087DD33
5C087FF01
5C087FF02
5C087GG02
5C087GG17
5C087GG70
5C087GG83
5L096AA02
5L096AA06
5L096BA02
5L096BA03
5L096CA02
5L096DA02
5L096DA03
5L096FA17
5L096FA32
5L096FA67
5L096FA69
5L096GA51
5L096HA11
5L096KA04
5L096KA15
(57)【要約】
【課題】環境内に異常が存在するかどうかを判定する際に、姿勢依存機械学習(ML)モデルを利用する。
【解決手段】第1のMLモデルは、カメラが第1の姿勢にあるときに移動ロボットのカメラによってキャプチャされた第1の画像を処理することに基づいて第1の出力を生成するために使用される。第1のMLモデルは、第1の画像が第1の姿勢においてキャプチャされていることと、第1のMLモデルが第1の姿勢についてトレーニングされていることとに基づいて使用される。第2のMLモデルは、カメラが別個の第2の姿勢にあるときにカメラによってキャプチャされた第2の画像を処理することに基づいて第2の出力を生成するために使用される。第2のMLモデルは、第2の画像が第2の姿勢においてキャプチャされていることと、第2のMLモデルが第2の姿勢についてトレーニングされていることとに基づいて使用される。第1および第2の出力は、異常が存在するかどうかを判定する際に使用することができる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
1つまたは複数のプロセッサによって実装される方法であって、
カメラが第1の姿勢にあるときに移動ロボットの前記カメラによってキャプチャされた第1の画像を識別するステップと、
前記カメラが前記第1の姿勢とは異なる第2の姿勢にあるときに前記移動ロボットの前記カメラによってキャプチャされた第2の画像を識別するステップであって、
前記第1の画像および前記第2の画像が、両方とも、1つまたは複数の特定の構成要素をキャプチャするが、前記1つまたは複数の特定の構成要素を異なる視点からキャプチャする、ステップと、
前記第1の画像を処理するための第1の機械学習(ML)モデルを選択するステップであって、前記第1のMLモデルを選択することが、前記第1の画像が前記第1の姿勢においてキャプチャされていることと、前記第1のMLモデルが前記第1の姿勢に対応する画像に基づいてトレーニングされていることとに応答する、ステップと、
異常が存在するかどうかを示す第1の出力を生成するために、前記選択された第1のMLモデルを使用して前記第1の画像を処理するステップと、
前記第2の画像を処理するための第2のMLモデルを選択するステップであって、前記第2のMLモデルを選択することが、前記第2の画像が前記第2の姿勢においてキャプチャされていることと、前記第2のMLモデルが前記第2の姿勢に対応する画像に基づいてトレーニングされていることとに応答する、ステップと、
前記1つまたは複数の特定の構成要素について異常が存在するかどうかを示す第2の出力を生成するために、前記選択された第2のMLモデルを使用して前記第2の画像を処理するステップと、
前記第1の出力と前記第2の出力の両方に基づいて、前記異常が存在することを示す警報のレンダリングを引き起こすかどうかを決定するステップと
を含む、方法。
【請求項2】
前記第1の出力と前記第2の出力の両方に基づいて、前記異常が存在することを示す前記警報のレンダリングを引き起こすかどうかを決定するステップが、
前記第1の出力がしきい値を満たすかどうかを判定するステップと、
前記第2の出力が前記しきい値を満たすかどうかを判定するステップと、
前記第1の出力または前記第2の出力のいずれかが前記しきい値を満たす場合、前記警報のレンダリングを引き起こすと決定するステップと
を含む、請求項1に記載の方法。
【請求項3】
前記第1の出力と前記第2の出力の両方に基づいて、前記異常が存在することを示す前記警報のレンダリングを引き起こすかどうかを決定するステップが、
前記第1の出力がしきい値を満たすかどうかを判定するステップと、
前記第2の出力が前記しきい値を満たすかどうかを判定するステップと、
前記第1の出力が前記しきい値を満たし、前記第2の出力が前記しきい値を満たす両方の場合にのみ、前記警報のレンダリングを引き起こすと決定するステップと
を含む、請求項1に記載の方法。
【請求項4】
前記第1の出力と前記第2の出力の両方に基づいて、前記異常が存在することを示す前記警報のレンダリングを引き起こすかどうかを決定するステップが、
前記第1の出力と前記第2の出力とに基づいて、結合された出力を決定するステップと、
前記結合された出力に基づいて、前記警報のレンダリングを引き起こすかどうかを決定するステップと
を含む、請求項1に記載の方法。
【請求項5】
前記移動ロボットが、車輪付きロボット、無人航空機、または4足ロボットである、請求項1に記載の方法。
【請求項6】
前記移動ロボットの前記カメラが、モノグラフィックカメラ、ステレオグラフィックカメラ、またはサーマルカメラである、請求項1に記載の方法。
【請求項7】
前記第1のMLモデルが、(1)前記カメラまたは追加のカメラによってキャプチャされた、前記1つまたは複数の特定の構成要素に関連する異常が存在しない場合の前記第1の姿勢に対応する画像と、(2)前記1つまたは複数の特定の構成要素に関連する異常が存在しないことを示すグラウンドトゥルースラベルとを各々が含む、1つまたは複数のトレーニングインスタンスを使用してトレーニングされる、請求項1に記載の方法。
【請求項8】
前記第2のMLモデルが、(1)前記カメラまたは追加のカメラによってキャプチャされた、前記1つまたは複数の特定の構成要素に関連する異常が存在しない場合の前記第2の姿勢に対応する画像と、(2)異常が存在しないことを示すグラウンドトゥルースラベルとを各々が含む、1つまたは複数のトレーニングインスタンスを使用してトレーニングされる、請求項1に記載の方法。
【請求項9】
前記第1の画像が、前記1つまたは複数の特定の構成要素の第1の部分をキャプチャし、前記第2の画像が、前記1つまたは複数の特定の構成要素の、前記第1の部分を補足する第2の部分をキャプチャする、請求項1に記載の方法。
【請求項10】
前記第1の画像および前記第2の画像が、前記1つまたは複数の特定の構成要素の同じ領域をキャプチャする、請求項1に記載の方法。
【請求項11】
前記警報のレンダリングを引き起こすとの決定に応答して前記警報をレンダリングするステップをさらに含む、請求項1に記載の方法。
【請求項12】
前記第1の出力と前記第2の出力の両方に基づいて、
環境内で、前記1つまたは複数の特定の構成要素に関与するプロセスの一時停止を引き起こすことを決定するステップをさらに含む、請求項1に記載の方法。
【請求項13】
前記1つまたは複数のプロセッサが、前記移動ロボットとは別個の、前記移動ロボットに取り付けられていない1つまたは複数のコンピューティングデバイスのものであり、前記第1および第2の画像が、前記移動ロボットによって送信され、前記移動ロボットによって送信された後、前記コンピューティングデバイスによって識別される、請求項1に記載の方法。
【請求項14】
カメラを含み、環境内に配備された移動ロボットと少なくとも選択的にネットワーク通信する1つまたは複数のコンピューティングデバイスを備え、前記1つまたは複数のコンピューティングデバイスが、
前記カメラが第1の姿勢にあるときに前記移動ロボットの前記カメラによってキャプチャされた第1の画像を前記移動ロボットから受信することと、
前記カメラが前記第1の姿勢とは異なる第2の姿勢にあるときに前記移動ロボットの前記カメラによってキャプチャされた第2の画像を前記移動ロボットから受信することであって、
前記第1の画像および前記第2の画像が、両方とも、1つまたは複数の特定の構成要素をキャプチャするが、前記1つまたは複数の特定の構成要素を異なる視点からキャプチャする、受信することと、
前記第1の画像を処理するための第1の機械学習(ML)モデルを選択することであって、前記第1のMLモデルを選択することが、前記第1の画像が前記第1の姿勢においてキャプチャされていることと、前記第1のMLモデルが前記第1の姿勢に対応する画像に基づいてトレーニングされていることとに応答する、選択することと、
異常が存在するかどうかを示す第1の出力を生成するために、前記選択された第1のMLモデルを使用して前記第1の画像を処理することと、
前記第2の画像を処理するための第2のMLモデルを選択することであって、前記第2のMLモデルを選択することが、前記第2の画像が前記第2の姿勢においてキャプチャされていることと、前記第2のMLモデルが前記第2の姿勢に対応する画像に基づいてトレーニングされていることとに応答する、選択することと、
異常が存在するかどうかを示す第2の出力を生成するために、前記選択された第2のMLモデルを使用して前記第2の画像を処理することと、
前記第1の出力と前記第2の出力の両方に基づいて、前記1つまたは複数の特定の構成要素について異常が存在することを示す警報のレンダリングを引き起こすかどうかを決定することと
を行う、システム。
【請求項15】
前記環境が産業オートメーション施設であり、前記1つまたは複数のコンピューティングデバイスが前記産業オートメーション施設内にある、請求項14に記載のシステム。
【請求項16】
前記警報のレンダリングを引き起こすかどうかを決定する際に、前記1つまたは複数のコンピューティングデバイスが、
前記第1の出力がしきい値を満たすかどうかを判定することと、
前記第2の出力が前記しきい値を満たすかどうかを判定することと、
前記第1の出力または前記第2の出力のいずれかが前記しきい値を満たす場合、前記警報のレンダリングを引き起こすと決定することと
を行う、請求項14に記載のシステム。
【請求項17】
前記警報のレンダリングを引き起こすかどうかを決定する際に、前記1つまたは複数のコンピューティングデバイスが、
前記第1の出力がしきい値を満たすかどうかを判定することと、
前記第2の出力が前記しきい値を満たすかどうかを判定することと、
前記第1の出力が前記しきい値を満たし、前記第2の出力が前記しきい値を満たす両方の場合にのみ、前記警報のレンダリングを引き起こすと決定することと
を行う、請求項14に記載のシステム。
【請求項18】
前記警報のレンダリングを引き起こすかどうかを決定する際に、前記1つまたは複数のコンピューティングデバイスが、
前記第1の出力と前記第2の出力とに基づいて、結合された出力を決定することと、
前記結合された出力に基づいて、前記警報のレンダリングを引き起こすかどうかを決定することと
を行う、請求項14に記載のシステム。
【請求項19】
前記1つまたは複数のコンピューティングデバイスが、
前記第1の画像に関連付けられ、前記移動ロボットから受信されたメタデータに基づいて、前記第1の画像が前記第1の姿勢においてキャプチャされたことを判定することであって、前記第1の画像を処理するための前記第1のMLモデルを選択することが、前記第1の画像が前記第1の姿勢においてキャプチャされたと判定することに応答する、判定すること
をさらに行う、請求項14に記載のシステム。
【請求項20】
前記1つまたは複数のコンピューティングデバイスが、
前記第2の画像に関連付けられ、前記移動ロボットから受信されたメタデータに基づいて、前記第1の画像が前記第2の姿勢においてキャプチャされたことを判定することであって、前記第2の画像を処理するための前記第2のMLモデルを選択することが、前記第2の画像が前記第2の姿勢においてキャプチャされたと判定することに応答する、判定すること
をさらに行う、請求項14に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、姿勢依存機械学習モデルを使用する構成要素の異常検出に関する。
【背景技術】
【0002】
石油化学精製所、化学プラントなどの複雑な産業施設は、産業施設の産業プロセスに関与する液体、ガス、および/または他の物質の処理に利用される多数の構成要素を含む可能性がある。産業プロセスに関与する構成要素が意図した通りに動作していることを確認すること、および/または産業プロセスに関与する物質が意図した状態にあることを確認することが重要である。
【0003】
産業施設では、そのような構成要素および/または物質における異常を監視するために、様々なセンサが利用されている。そのようなセンサは、構成要素および/または物質の温度異常を監視するために利用される温度センサ、物質の組成における異常を(例えば、光源を用いてそれらの物質を励起することに基づいて)監視するために利用される光センサなどを含む。
【0004】
産業施設では、様々な異常を監視するために様々なセンサを利用することができるが、そのようなセンサは、典型的には、産業施設内の対応する固定された場所に各々配置される。したがって、産業施設を効率的に監視するために、非常に大量のセンサが必要になる場合がある。さらに、センサの各々に電力および/または通信を提供することは、産業施設全体にわたる大規模な配線を必要とする可能性がある。さらに、大量のセンサは、各々、故障または誤作動しやすく、それが発生した場合は修理または交換されなければならず、これは、大量の固定センサを含む大規模な産業施設では困難である可能性がある。
【発明の概要】
【課題を解決するための手段】
【0005】
本開示の実装形態は、移動ロボットのカメラを介して、所与の姿勢において、産業施設または他の環境などの環境内の構成要素および/または物質の画像をキャプチャするために、移動ロボットを利用することに向けられている。それらの実装形態はさらに、所与の姿勢に対応する機械学習(ML)モデルを使用して、ML出力を生成するために、キャプチャされた画像を処理することに向けられている。機械学習モデルは、1つまたは複数の畳み込み層を含む畳み込みニューラルネットワーク(CNN)モデルなどのニューラルネットワークモデルとすることができる。画像は、所与の姿勢においてキャプチャされた画像に応答して、および画像がキャプチャされた所与の姿勢に対応するMLモデルに応答して、MLモデルを使用して処理される。それらの実装形態はさらに、生成されたML出力に基づいて、画像によってキャプチャされた構成要素および/または物質に異常があるかどうかを判定し、異常がある場合、1つまたは複数の修復アクションを実行させることに向けられている。修復アクションを実行させることは、例えば、警報をレンダリングさせること、プロセスを停止させること、および/または他の修正アクションを実行させることを含むことができる。
【0006】
上記で参照したように、画像は、所与の姿勢においてキャプチャされた画像に応答して、および画像がキャプチャされた所与の姿勢に対応するMLモデルにも応答して、MLモデルを使用して処理される。例えば、メタデータは、画像が所与の姿勢においてキャプチャされたことを示すことができ、MLモデルは、画像が所与の姿勢においてキャプチャされたことを示すメタデータと、所与の姿勢にも対応するMLモデルとに基づいて画像を処理するために、複数の候補MLモデルの中から選択することができる。メタデータは、画像の一部として組み込まれるデータとして、または画像とは別個であるが、画像に関連するデータとして含めることができる。メタデータは、画像がキャプチャされた所与の位置および/または所与の向きを直接または間接的に反映することができる。メタデータによって反映される所与の位置および/または所与の向きは、相対的ワールドフレームなどのワールドフレームを基準とすることができる。別の言い方をすれば、所与の姿勢は、移動ロボットのみを基準とするのではなく、なんらかの絶対的または相対的なワールドフレームを基準とすることができる。例えば、画像をキャプチャするカメラがロボットに調節不能に結合されている(すなわち、ロボットに対して常に固定した姿勢にある)場合、カメラがロボットに対して固定された姿勢のままであるにもかかわらず、(調整不能な結合のため)所与の姿勢は、ロボットが移動するにつれて変化する。
【0007】
MLモデルは、所与の姿勢またはその近く(例えば、所与の姿勢のしきい値以内)でもキャプチャされたグラウンドトゥルース画像を使用してトレーニングされていることに基づいて、所与の姿勢に対応することができる。例えば、MLモデルは、異常が存在しなかったときに所与の姿勢またはその近くでキャプチャされた対応する画像のトレーニングインスタンス入力と、異常が存在しなかったことを示すラベル付きトレーニングインスタンス出力とを各々が含む負のトレーニングインスタンスに少なくとも部分的に基づいてトレーニングすることができる。また、例えば、MLモデルは、追加的または代替的に、異常が存在したときに所与の姿勢またはその近くでキャプチャされた対応する画像の較正インスタンス入力と、異常が存在したことを示すラベル付き較正インスタンス出力とを各々が含む正の較正インスタンスに少なくとも部分的に基づいて較正することができる。MLモデルは、所与の姿勢および/または所与の姿勢のしきい値内の姿勢に対応することを示すデータでインデックス付けするかまたは他の方法で関連付けることができる。例えば、MLモデルは、所与の姿勢に対してトレーニングされていることに基づいて、所与の姿勢を示すデータでインデックス付けすることができ、そのようなデータでインデックス付けされていることと、画像が所与の姿勢を示すメタデータに関連付けられていることとにも基づいて、画像を処理するために使用することができる。
【0008】
特に、上記で参照したように、複数の候補MLモデルを提供することができ、候補MLモデルの各々は、異なる対応する姿勢に対応することができる。例えば、第1のMLモデルは、第1の姿勢またはその近くでキャプチャされた画像に基づいてトレーニングされていることに基づいて、第1の姿勢に対応することができ、第2のMLモデルは、第2の姿勢またはその近くでキャプチャされた画像に基づいてトレーニングされていることに基づいて、第2の姿勢に対応することができる、などである。例えば、第1のMLモデルは、第1の姿勢またはその近くでキャプチャされた画像のみに基づいてトレーニングすることができ、第2のMLモデルは、第2の姿勢またはその近くでキャプチャされた画像のみに基づいてトレーニングすることができる、などである。また、例えば、第1のMLモデルは、第1の姿勢またはその近くでキャプチャされた画像に基づいて微調整された所与のモデルとすることができ、第2のMLモデルは、第2の姿勢またはその近くでキャプチャされた画像に基づいて微調整された所与のMLモデルとすることができる、などである。例えば、第1のMLモデルは、第1の姿勢またはその近くでキャプチャされた対応する画像と、対応する画像内に異常が存在するかどうかを示す対応する教師ありラベル付き出力とを各々が含むトレーニングインスタンスに基づいて微調整することができる。例えば、対応する教師ありラベル付き出力は、対応する画像を再検討した後の人間のオペレータからの入力に基づくことができ、入力は、画像内に異常が存在するかどうかを示す。
【0009】
したがって、移動ロボットによってキャプチャされた所与の画像を処理する際に複数の候補MLモデルのうちのどれが利用されるかは、画像がキャプチャされた所与の姿勢に依存することができる。例えば、所与の画像が第1の姿勢またはその近くでキャプチャされた場合、第1の姿勢に対応する第1のMLモデルを利用することができる。一方、所与の画像が代わりに第2の姿勢またはその近くでキャプチャされた場合、第2の姿勢に対応する第2のMLモデルを利用することができる。したがって、画像によってキャプチャされた構成要素および/または物質において異常が存在するかどうかを判定するために使用する出力を生成するために、画像を処理する際に利用されるMLモデルは、画像の姿勢に依存して選択することができ、MLモデルが姿勢またはその近くでもキャプチャされたグラウンドトゥルース画像に基づいてトレーニングされていることに基づいて選択することができる。したがって、利用されるMLモデルは、画像の姿勢に適用され、その結果、MLモデルを使用して画像が処理される際に、より正確な出力が得られる。より正確な出力は、偽陽性および/または偽陰性の異常検出の発生を軽減することができる。偽陽性の発生を軽減することは、例えば、偽陽性の警報をレンダリングさせるなど、修復アクションが誤って実行されることにおけるネットワークおよび/またはコンピューティングデバイスのリソースの利用を防止することができる。偽陰性の発生を軽減することは、産業施設における安全でない状態の発生、ならびに/または産業施設の構成要素および/もしくは物質への損傷を防止することができる。
【0010】
本開示の様々な実装形態において、所与の構成要素および/または物質において異常が存在するかどうかを判定する際に、各々が異なるそれぞれの姿勢に対応する複数のMLモデルおよび画像が利用される。一例として、第1のMLモデルは、第1の姿勢またはその近くから所与の液体タンクをキャプチャする第1のグラウンドトゥルース画像を使用してトレーニングすることができる。その第1のMLモデルは、所与の液体タンクに関連する異常(例えば、所与の液体タンク自体および/またはそれに含まれる液体に関する異常)が存在するかどうかを示す第1の出力を生成するために、第1の姿勢から所与の液体タンクをキャプチャする第1の画像を処理するために使用することができる。例を続けると、第2のMLモデルは、別個の第2の姿勢またはその近くから同じ所与の液体タンクをキャプチャする第2のグラウンドトゥルース画像を使用してトレーニングすることができる。その第2のMLモデルは、所与の液体タンクに関連する異常が存在するかどうかを示す第2の出力を生成するために、別個の第2の姿勢から同じ所与の液体タンクをキャプチャする第2の画像を処理するために使用することができる。さらに、液体タンクに関する異常が存在するかどうかを判定する際に、第1のMLモデルからの第1の出力と第2のMLモデルからの第2の出力の両方を考慮することができる。例えば、(a)第1のモデル出力が下限異常しきい値を満たし、第2のモデル出力も下限異常しきい値を満たす場合、(b)第1のモデル出力もしくは第2のモデル出力のいずれかが上限異常しきい値を満たす場合、(c)および/または第1のおよび第2のモデル出力の平均(または他の組合せ)がしきい値(例えば、下限、上限、または他のしきい値)を満たす場合、異常を検出することができる。
【0011】
液体タンクに関する異常が存在するかどうかを判定する際に第1の出力と第2の出力の両方を考慮することによって、偽陽性の発生を軽減することができる。例えば、第1の画像が著しいグレア(例えば、現在の太陽光の状況による)を含み、結果として、液体タンクに関する真の異常がないにもかかわらず、第1の出力(単独)が異常を示す可能性がある場合があり得る。しかしながら、第2の画像は、より少ないグレアを含む(またはグレアを含まない)可能性があり、結果として、第2の出力(単独)は、異常を示さない可能性がある。そのような状況において第1の出力と第2の出力の両方を考慮することは、正しい異常なし判定を結果として生じることができるが、第1の出力のみを単独で考慮することは、誤った異常判定を結果として生じる。別の例として、第1および第2の出力の各々が下限異常しきい値を満たす場合、ならびに/または第1および第2の出力の組合せが下限異常しきい値を満たす場合、異常を検出することができ、第1の出力と第2の出力の両方を考慮した結果として、下限異常しきい値をより積極的に設定することができる場合があり得る。そのようなより積極的な下限異常しきい値は、偽陰性の発生を軽減することができる。別の言い方をすれば、単一の出力のみが考慮された場合、下限異常しきい値は、偽陽性の過剰発生を防止するために、それほど積極的ではない(すなわち、より高い下限)必要がある。
【0012】
前述の例の多くは、所与の構成要素および/または物質において異常が存在するかどうかを判定する際に、第1のMLモデルおよび第2のMLモデルが利用されることについて説明している。しかしながら、様々な実装形態において、所与の構成要素および/または物質に対して3つ以上のMLモデルを利用することができることに留意されたい。
【0013】
様々な姿勢から画像をキャプチャする際に利用される移動ロボットは、4足ロボット、車輪付きロボット、無人航空機、起動誘導ロボット、または環境内でそれ自体を移動させる任意の他のロボットとすることができる。画像は、移動ロボットの視覚構成要素を介してキャプチャされる。各画像は、視覚構成要素が対応する姿勢(すなわち、所与の位置および向き)にあるときにキャプチャされる。所与の時間において画像がキャプチャされたときの視覚構成の姿勢は、所与の時間におけるロボットの姿勢の関数となる。視覚構成要素がロボットに対して固定された姿勢にある場合、視覚構成要素の姿勢は、純粋にロボットの姿勢の関数となる。視覚構成要素の姿勢がロボットに対して独立して調整可能である場合、視覚構成要素の姿勢は、ロボットの姿勢と、ロボットに対する視覚構成要素の姿勢との関数となる。本明細書で利用される画像は、例えば、赤色チャネルと緑色チャネルと青色チャネルとを含み、モノグラフィックRGBカメラによってキャプチャされたRGB画像、赤色チャネル、緑色チャネル、および青色チャネルに加えて深度チャネルを含み、ステレオグラフィックカメラによってキャプチャされたRGB-D画像、または1つもしくは複数の熱チャネルを含み、サーマルカメラによってキャプチャされた熱画像を含むことができる。
【0014】
視覚構成要素を含み、環境内を動き回り、異常監視/検出について関心のある構成要素および/または物体の画像をキャプチャする移動ロボットを利用することにより、環境を監視するセンサの数を減らすことができ、および/またはそのようなセンサのために必要な大規模な配線を回避することができる。さらに、構成要素および/または物質の1つまたは複数のキャプチャされた画像のうちの所与の姿勢においてキャプチャされたそれぞれの画像を、異常検出のために所与の姿勢に対応する画像を処理するようにトレーニングされた姿勢依存MLモデルを使用して処理することによって、それぞれの画像を処理することに基づく異常検出の精度を改善することができる。これは、異常検出がより堅牢および/またはより正確になることを可能にする。
【0015】
前述の概念および本明細書でより詳細に説明される追加の概念のすべての組合せが、本明細書で開示される主題の一部であると企図されることが理解されるべきである。例えば、本開示の最後に現れる特許請求された主題のすべての組合せは、本明細書で開示される主題の一部であると企図される。
【図面の簡単な説明】
【0016】
【
図1】様々な実装形態による、本開示の選択された態様を実装することができる環境を概略的に示す図である。
【
図2】様々な実装形態による、本明細書で説明される技法をどのように実装することができるかの一例を概略的に示す図である。
【
図3】本開示の選択された態様を実行するための例示的な方法を示す図である。
【
図4】本開示の選択された態様が実装され得る例示的なコンピュータアーキテクチャを概略的に示す図である。
【発明を実施するための形態】
【0017】
本明細書で説明される実装形態は、姿勢依存機械学習(ML)モデルを使用して、環境(例えば、産業オートメーション施設)内の構成要素(例えば、液体タンク、配管、配線)について異常を監視し、選択的に検出することに関する。様々な実装形態において、構成要素の画像は、環境内で移動可能な移動ロボットによって搬送されるか、またはそれと一体化された視覚構成要素(例えばカメラ)によってキャプチャされる。画像は、様々な姿勢(すなわち、様々な位置および向き)における視覚構成要素によってキャプチャされ、それらの姿勢に対応するMLモデルが、画像を処理するために選択される。例えば、第1の姿勢において視覚構成要素によってキャプチャされた第1の画像は、第1の姿勢においてまたはその近くでキャプチャされた画像に基づいて異常検出のためにトレーニングされた第1のMLモデルを使用して処理することができ、第2の姿勢において視覚構成要素によってキャプチャされた第2の画像は、第2の姿勢においてまたはその近くでキャプチャされた画像に基づいて異常検出のためにトレーニングされた第2のMLモデルを使用して処理することができる。選択されたMLモデルを使用した画像の処理(例えば第1のMLモデルを使用して第1の画像を処理すること、および第2のMLモデルを使用して第2の画像を処理すること)に基づいて、構成要素に関連する1つまたは複数の異常(もしあれば)を識別/検出することができ、検出された1つまたは複数の異常に対処するために、1つまたは複数の修復アクションを実行することができる。
【0018】
ここで
図1を参照すると、本開示の様々な態様が実装され得る例示的な環境100が概略的に示されている。いくつかの実装形態において、例示的な環境100は、産業施設であるか、または産業施設を含むことができる。産業施設は、様々な形態をとることができ、任意の数の少なくとも部分的に自動化されたプロセスを実装するように設計することができる。産業施設は、化学処理プラント、石油または天然ガス精製所、触媒工場、製造施設、海洋石油プラットフォームなどの形態をとることできる。
【0019】
例示的な環境100は、産業施設内のプロセス自動化ネットワーク106に動作可能に結合された1つまたは複数のクライアントデバイス(例えば、ローカルクライアントデバイス103-Aおよび103-B)を含むことができる。クライアントデバイス103-Aおよび103-Bは、コンピュータ(例えば、ラップトップ、デスクトップ、ノートブック)、タブレット、ロボット、スマート家電(例えば、スマートフォン)、メッセージングデバイス、ウェアラブルデバイス(例えば、腕時計)、または任意の他の適用可能なデバイスとして実装することができる。プロセス自動化ネットワーク106は、限定はしないが、電気電子技術者協会(IEEE)802.3規格(イーサネット)、IEEE802.11(Wi-Fi)、3GPP(登録商標)ロングタームエボリューション(「LTE」)もしくは3G、4G、5G、およびそれ以降として指定される他のワイヤレスプロトコルなどのセルラネットワーク、ならびに/または様々なタイプのトポロジ(例えば、メッシュ)の他のタイプの通信ネットワークを含む、様々な有線および/またはワイヤレス通信技術を使用して実装することができる。
【0020】
例示的な環境100は、視覚構成要素1011を有するまたは搬送する移動ロボット101をさらに含むことができる。移動ロボット101は、4足ロボット(例えば、ロボットドッグ)、車輪付きロボット、無人航空機、環境内で高架および/もしくは非高架軌道に沿って移動するロボット、または産業施設内で移動可能な任意の他の適用可能なロボットとすることができる。視覚構成要素1011は、産業施設の1つまたは複数の特定の構成要素(例えば、液体物質を貯蔵または輸送する液体タンクまたはチューブ102)の1つまたは複数の画像をキャプチャするために、モノグラフィックカメラ、ステレオグラフィックカメラ、サーマルカメラ、または任意の他の適用可能な視覚構成要素とすることができる。視覚構成要素1011は、移動ロボット101に取り外し可能に結合することができ、移動ロボット101の取り外し不可能な粘着部分として統合することができる。いくつかの実装形態において、視覚構成要素1011は、例えば視覚構成要素1011を独立して制御するアクチュエータを介する回転または他の動きによって、移動ロボット101のロボットフレームに対して独立して位置および/または向きを変更することができる。移動ロボット101は、視覚構成要素1011に加えて、産業施設内を移動し、静的または動的物体を感知し、および/または画像をキャプチャするために、1つまたは複数の追加の視覚構成要素を含むことができる。
【0021】
例示的な環境100は、サーバデバイス105をさらに含むことができる。サーバデバイス105は、機械学習(ML)エンジン1051と、異常検出エンジン1052とを含むことができる。サーバデバイス105は、1つまたは複数の姿勢依存機械学習(ML)モデル1053をさらに含むか、または他の方法でアクセスすることができる。サーバデバイス105は、1つまたは複数のローカルクライアントデバイス(例えば、122-Aおよび122-B)と通信することができ、および/または1つまたは複数のリモートクライアントデバイス(図示せず)と通信することができる。ローカルクライアントデバイス122-Aまたは122-Bは、1つまたは複数のローカルエリアネットワーク(例えば、プロセス自動化ネットワーク106)を介してサーバデバイス105に接続することができ、リモートクライアントデバイスは、1つまたは複数のワイドエリアネットワーク(例えば、インターネット)を介してサーバデバイス105に接続することができる。ローカルクライアントデバイスおよびリモートクライアントデバイスは、例示的な環境100の様々な態様を構成および/またはそれと相互作用するために、システムインテグレータなどの人員によって動作可能とすることができる。
【0022】
いくつかの実装形態において、サーバデバイス105は、MLエンジン1051および異常検出エンジン1052に加えて、本開示の選択された態様を実装するためにMLエンジン1051および/または異常検出エンジン1052によって使用される情報を記憶するデータベース(図示せず)を含むことができる。MLエンジン1051および/または異常検出エンジン1052などのサーバデバイス105の様々な態様は、ハードウェアおよびソフトウェアの任意の組合せを使用して実装することができる。いくつかの実装形態において、MLエンジン1051、異常検出エンジン1052、または1つもしくは複数の姿勢依存MLモデル1053は、しばしば「クラウドインフラストラクチャ」または単に「クラウド」と呼ばれるものの一部として、複数のコンピュータシステムにわたって実装することができる。しかしながら、これは必須ではなく、
図1において、例えば、MLエンジン1051は、産業施設内、例えば、単一の建物内、または建物もしくは他の産業施設の単一のキャンバスにわたって実装される。そのような実装形態において、MLエンジン1051は、1つまたは複数のローカルサーバコンピュータなどの1つまたは複数のローカルコンピューティングシステム上に実装することができる。
【0023】
いくつかの実装形態において、移動ロボット101は、産業施設内を移動し、指定されたスポットまたはウェイポイントに到着することができる。移動ロボット101の視覚構成要素1011は、所与の姿勢(位置および/または向き)において液体チューブ102の画像をキャプチャするために、所与の姿勢に構成することができる。視覚構成要素1011は、移動ロボット101が対応する姿勢にある結果として、および/または(視覚構成要素1011が移動ロボット101のロボットフレームに対して独立して調整可能である場合)視覚構成要素101が独立して調整される結果として、所与の姿勢に構成することができる。視覚構成要素1011によってキャプチャされた画像は、液体チューブ102についての関心領域(例えば、
図1に示すような接合部J、または潜在的な漏れを示すウェットスポットもしくは亀裂が以前に識別された領域など)をキャプチャし、それに対応するピクセルまたは他のデータを含むことができる。画像が視覚構成要素1011によってキャプチャされた所与の姿勢に基づいて、および/またはキャプチャされた画像のタイプに基づいて、MLエンジン1051は、キャプチャされた画像を処理するための、所与の姿勢に対応する姿勢依存MLモデルを、MLモデル1053から選択することができる。
【0024】
キャプチャされた画像は、選択された姿勢依存MLモデルのML出力を生成するために、所与の姿勢に対応する選択された姿勢依存MLモデルへの入力として、MLエンジン1051によって処理することができる。ML出力は、液体チューブ102の関心領域が1つまたは複数の異常を含むかどうかを示す。いくつかの実装形態において、所与の姿勢に対応する姿勢依存MLモデルは、(1)所与の姿勢における(すなわち、所与の場所および所与の向きにおける)視覚構成要素(または追加の視覚構成要素)によってキャプチャされた画像と、(2)画像内に異常が存在するかどうか(例えば、異常が存在しないか、または1つもしくは複数の特定のタイプの異常が存在する)を示すグラウンドトゥルースラベルとを各々が含むトレーニングインスタンスを使用してトレーニングすることができる。例えば、所与の姿勢に対応する姿勢依存MLモデルは、所与の姿勢においてキャプチャされた画像と、所与の姿勢においてキャプチャされた画像内に異常が存在するかどうかを示すグラウンドトゥルースラベルとを各々が含む複数のトレーニングインスタンスを使用してトレーニングすることができる。この場合、前述のML出力は、液体チューブ102の関心領域がなんらかの異常を含むかどうかを示すことができる。そのようなトレーニングインスタンスに基づいて姿勢依存MLモデルをトレーニングすることは、そのようなトレーニングインスタンスのみにおいて姿勢依存MLモデルをトレーニングすること、または非姿勢依存トレーニングインスタンスにおける初期トレーニング後に、そのようなトレーニングインスタンスにおいてトレーニングすることによって姿勢依存MLモデルを微調整することを含むことができる。
【0025】
いくつかの実装形態において、各グラウンドトゥルースラベルは、「異常あり」ラベル(例えば、「1」)または「異常なし」ラベル(例えば、「0」)のいずれかなどの、単一の対応する値とすることができる。それらの実装形態において、MLモデルを使用して画像を処理することによって生成された出力は、同様に、単一の対応する値(例えば、「0」から「1」への値)を生成し、その単一の値は、異常が存在することの対応する尤度を示すことができる。他のいくつかの実装形態において、各グラウンドトゥルースラベルは、複数の領域の各々について、「異常あり」ラベルまたは「異常なし」ラベルなどの、複数の値を含むことができる。例えば、トレーニングインスタンスの画像は、512ピクセル×512ピクセル(または他のサイズ)とすることができ、各グラウンドトゥルースラベルは、9つ(または他の量)の値を含むことができ、値の各々は、画像の一部において異常が存在することの対応する尤度を示すことができる。例えば、画像は、3×3のグリッドに分割することができ、値の各々は、3×3グリッドの9つのセルのうちの1つにおいて異常が存在することの対応する尤度を示すことができる。
【0026】
いくつかの実装形態において、所与の姿勢に対応する姿勢依存MLモデルは、所与の姿勢においてキャプチャされた画像と、所与の姿勢においてキャプチャされた画像内に存在する特定のタイプの異常を示すグラウンドトゥルースラベルとを各々が含む複数のトレーニングインスタンスを使用してトレーニングすることができる。それらの実装形態のうちのいくつかにおいて、前述のML出力は、液体チューブ102の関心領域が特定のタイプの異常を含むかどうかを示し得る。
【0027】
様々な実装形態において、ML出力に基づいて、異常検出エンジン1052は、選択された姿勢依存MLモデルによって処理された画像内にキャプチャされた液体チューブ102の領域(例えば、関心領域)内に異常が存在するかどうかを判定することができる。例えば、キャプチャされた画像内に異常が存在することを示すML出力に基づいて、異常検出エンジン1052は、液体チューブ102が異常を含むと判定することができ、これに応答して修復アクションを実行させることができる。例えば、異常検出エンジン1052は、1つまたは複数の追加の修復アクションを実行する(例えば、クライアントデバイス103-Aおよび/もしくは103-Bを介して警報メッセージ107を表示する、ならびに/または液体チューブ102が関与する産業プロセスを一時停止する)ために、警報メッセージを生成し、実行するか、または他の方法で他のエンジン/構成要素(図示せず)と通信することができる。
【0028】
単一の移動ロボット101のみが
図1に示されているが、複数の移動ロボットを産業環境内に配備し、本明細書で開示する実装形態において利用することができることが理解される。例えば、複数の移動ロボットの各々は、画像をキャプチャするために使用される対応する視覚構成要素を含むことができ、複数の移動ロボットからの画像は、MLエンジン1051および異常検出エンジン1052によって処理するために(姿勢データとともに)サーバデバイス105に送信される。また、MLエンジン1051、MLモデル1053、および異常検出エンジン1052は、移動ロボット101とは別個に実装されているものとして
図1に示されているが、いくつかの実装形態において、すべてまたは態様を移動ロボット101によって実装することができる。例えば、移動ロボット101は、MLエンジン1051と、異常検出エンジン1052と、MLモデル1053の少なくともサブセットとを含むことができる。例えば、移動ロボット101は、所与の時点において、移動ロボット101が所与の時点において移動ロボット101によって実行されるべきミッションにおいて画像をキャプチャする姿勢にMLモデル1053のサブセットが対応することに基づいて、そのサブセットを含むことができる。
【0029】
図2は、様々な実装形態による、本明細書で説明される技法をどのように実装することができるかの一例を概略的に示す。
図2に示すように、移動ロボット101の視覚構成要素1011は、産業施設(ときには「産業オートメーション施設」と呼ばれる)内の液体チューブ102の第1の領域(例えば、第1の側面)に対応する第1の画像201をキャプチャすることができ、第1の画像201は、視覚構成要素1011が環境内で第1の姿勢にあるときに、視覚構成要素1011によってキャプチャされる。移動ロボットは、視覚構成要素1011が第2の画像203をキャプチャすることを可能にするために、特定の構成要素の第1の側面から第2の側面に移動するように(例えば、自律的に、オプションで以前に記録されたミッションに基づいて)制御することができ、第2の画像203は、視覚構成要素1011が環境内で第1の姿勢とは異なる第2の姿勢にあるときに、視覚構成要素1011によってキャプチャされる。第2の画像203は、液体チューブ102の第2の領域(例えば、右側)に対応することができる。いくつかの実装形態において、第2の領域は、液体チューブ102の一部が異常検出のためにその全体においてキャプチャされるように、第1の領域をオプションで補足することができる。いくつかの実装形態において、第1および第2の領域は、液体チューブ102の同じ領域を含むことができるが、異なる視点から(すなわち、視覚構成要素1011の異なる姿勢からキャプチャされた結果として)キャプチャされる。
【0030】
第1の画像201が第1の姿勢においてキャプチャされていることに応答して、第1のMLモデル211を複数のトレーニングされたMLモデルから選択することができる。複数のトレーニングされたMLモデルは、産業施設内の異常(亀裂、漏れ、熱異常、腐食、不純物など)を検出するために、対応する姿勢の範囲(例えば、第1の姿勢、第2の姿勢など)においてキャプチャされた画像に基づいてトレーニングされたものとすることができる。第1のMLモデル211は、第1の姿勢においてキャプチャされた画像を処理するようにトレーニングされていることに基づいて、および/または第1の画像201から検出されるべき異常のタイプに基づいて選択することができる。第2の画像203が第2の姿勢においてキャプチャされていることに応答して、第2のMLモデル213が第2の姿勢においてキャプチャされた画像を処理するようにトレーニングされていることに基づいて、および/または第2の画像203から検出されるべき異常のタイプに基づいて、第2のMLモデル213を複数のトレーニングされたMLモデルから選択することができる。
【0031】
いくつかの実装形態において、第1の画像に関連付けられ、移動ロボットから受信された、第1の画像が第1の姿勢においてキャプチャされたことを示すメタデータに基づいて、第1の画像201は、第1の姿勢においてキャプチャされたと判定することができる。それらの実装形態において、第1の画像を処理するための第1のMLモデルを選択することは、第1の画像に関連付けられたメタデータに基づいて、第1の画像が第1の姿勢においてキャプチャされたと判定することに応答する。いくつかの実装形態において、第2の画像に関連付けられ、移動ロボットから受信された、第2の画像が第2の姿勢においてキャプチャされたことを示すメタデータに基づいて、第2の画像は、第2の姿勢においてキャプチャされたと判定することができる。それらの実装形態において、第2の画像を処理するための第2のMLモデルを選択することは、第2の画像に関連付けられたメタデータに基づいて、第2の画像が第2の姿勢においてキャプチャされたと判定することに応答する。
【0032】
第1の画像201は、第1のMLモデル211の第1のML出力221を生成するために、第1のMLモデル211を使用して処理することができる。第1のML出力221は、第1の画像201内に異常が存在するかどうかを示すことができる。いくつかの実装形態において、第1のML出力221は、第1の画像201内に特定のタイプの異常が存在するかどうかを示すことができる。第2の画像203は、第2のMLモデル213を入力として使用して、第2のMLモデル213の第2のML出力223を生成するために処理することができる。第2のML出力223は、第2の画像203内に異常が存在するかどうかを示すことができる。いくつかの実装形態において、第2のML出力223は、第2の画像203内に特定のタイプの異常が存在するかどうかを示すことができる。
【0033】
第1のML出力221および/または第2のML出力223に基づいて、特定の構成要素に対して異常(場合によっては特定のタイプの異常)が検出されたかどうかを判定することができる。例えば、例えば、第1および第2の領域は、1つまたは複数の特定の構成要素の異なる領域とすることができ、異常(例えば、漏れ)を示す第1のML出力221と、異常なしを示す第2のML出力223とに基づいて、異常検出エンジン(例えば、
図1における1052)は、特定の構成要素に対して(第1の領域において)異常が検出されたと判定することができる。この例において、異常検出エンジンおよび/または他の構成要素は、限定はしないが、メンテナンスまたはより詳細な調査をスケジュールするために、警報メッセージを生成し、産業施設内の関係要員の1つまたは複数のクライアントデバイスに(可聴的および/または視覚的に)送達すること、特定の構成要素に関与する任意のプロセスを一時停止もしくは停止すること、および/または(第1の画像201および第2の画像203よりも)高い解像度または異なるタイプの追加の画像をキャプチャするように移動ロボットを制御することを含む、1つまたは複数の修復アクションを実行することができる。
【0034】
いくつかの実装形態において、異常検出エンジンは、第1のML出力221(例えば、異常の有無を示す値)がしきい値を満たすかどうかを判定することと、第2のML出力223(「第2の出力」)がしきい値を満たすかどうかを判定することとによって、特定の構成要素に対して異常が検出されたかどうかを判定する(例えば、異常が存在することを示す警報のレンダリングを引き起こすかどうかを決定する)ことができる。
【0035】
いくつかの実装形態において、異常検出エンジンは、第1の出力(例えば、0.8、ここで、「1」により近い数値は、異常が存在することをより示し、「0」により近い値は、異常をより示さない)がしきい値(例えば、0.7)を満たし、第2の出力(例えば、0.9)がしきい値(0.7)を満たす両方の場合にのみ、警報のレンダリングを引き起こすと決定することができる。いくつかの実装形態において、異常検出エンジンは、第1の出力(例えば、0.8)または第2の出力(例えば、0.6)がしきい値(0.7)を満たす場合、警報のレンダリングを引き起こすと決定することができる。
【0036】
いくつかの実装形態において、異常検出エンジンは、第1の出力と第2の出力とに基づいて、結合された出力を決定することができ、結合された出力に基づいて、警報のレンダリングを引き起こすかどうかを決定することができる。いくつかの実装形態において、異常検出エンジンは、第1の出力と第2の出力の両方に基づいて、レンダリングされるべき警報のレベルを決定することができる。例えば、第1および第2の出力から決定された結合された出力が、第1のしきい値(例えば、0.7)を満たすが、第2のしきい値(例えば、0.8)を満たさないと判定された場合、第1のタイプの警報(例えば、非緊急警報)が決定され、産業オートメーション施設内の1つまたは複数のコンピューティングデバイスの1つまたは複数のディスプレイを介して視覚的にレンダリングされ得る。結合された出力が、第2のしきい値(例えば、0.8)を満たすが、第3のしきい値(例えば、0.9)を満たさないと判定された場合、第2のタイプの警報(例えば、緊急警報)が決定され、1つまたは複数のディスプレイを介して視覚的にレンダリングされ得る。結合された出力が、第3のしきい値(例えば、0.9)を満たすと判定された場合、第3のタイプの警報(例えば、緊急警報)が決定され、1つまたは複数のディスプレイを介して視覚的にレンダリングされ得、テキスト警報が特定の構成要素の責任者の電話番号に送達され得る。結合された出力が第1のしきい値(例えば、0.7)を満たさないと判定された場合、警報は、生成されず、レンダリングもされない。
【0037】
別の例として、第1および第2の出力が、各々、第1のしきい値(例えば、0.7)を満たすが、第2のしきい値(例えば、0.7)を満たさないと判定された場合、第1のタイプの警報(例えば、非緊急警報)が決定され、産業オートメーション施設内のコンピューティングデバイスのディスプレイを介して視覚的にレンダリングされ得る。第1および第2の出力が、各々、第2のしきい値(例えば、0.8)を満たすが、第3のしきい値(例えば、0.9)を満たさないと判定された場合、第2のタイプの警報(例えば、緊急警報)が決定され、ディスプレイを介してレンダリングされ得る。第1および第2の出力が、各々、第3のしきい値(例えば、0.9)を満たすと判定された場合、第3のタイプの警報(例えば、緊急警報)が決定され、ディスプレイを介して、および/または追加のコンピューティングデバイスを介してレンダリングされ得る。第1または第2の出力のいずれかが第1のしきい値(例えば、0.7)を満たさない場合、警報は、生成されず、レンダリングもされない。
【0038】
いくつかの実装形態において、警報をトリガする、第1の出力、第2の出力、または組み合わされた出力のしきい値は、異常が検出された特定の構成要素に関与するプロセスの一時停止をトリガするしきい値(存在する場合)とは異なり得る。例えば、特定の構成要素に関与するプロセスの一時停止をトリガするための、第1、第2、および/または組み合わされた出力のしきい値は、前述の第1、第2、および/または第3のしきい値よりも高い数値(例えば、0.95)とすることができる。言い換えれば、いくつかの実装形態において、組み合わされた出力(または代替的に、第1および/または第2の出力)が約0.95の数値を満たす/超える場合にのみ、組み合わされた出力が一時停止をトリガするためのしきい値(例えば、0.95)を満たすことに応答して、特定の構成要素に関与するすべてのプロセスが一時停止される。
【0039】
図2の例について、第1の姿勢および第2の姿勢から特定の構成要素の画像をキャプチャし、第1の姿勢画像を処理するために第1のMLモデルを使用し、第2の姿勢画像を処理するために第2のMLモデルを使用し、異常が存在するかどうかを判定する際に、処理から生成された出力を使用することに関して説明する。しかしながら、様々な実装形態において、所与の構成要素に関連する異常が存在するかどうかを判定する際に、より多くのMLモデル、または単一のMLモデルのみを利用することができる。例えば、各々が所与の構成要素に対してトレーニングされるが、各々が視覚構成要素の異なる対応する姿勢用である3つ(または4つ以上)のMLモデルが存在し得る。そのような例において、所与の構成要素の画像は、第1の姿勢、第2の姿勢、および第3の姿勢からキャプチャすることができ、第1のMLモデルが第1の姿勢画像を処理するために使用され、第2のMLモデルが第2の姿勢画像を処理するために使用され、第3のMLモデルが第3の姿勢画像を処理するために使用され、処理から生成された出力は、異常が存在するかどうかを判定する際に使用することができる。
【0040】
図3は、本明細書で開示する実装形態による、本開示の選択された態様を実施する例示的な方法300を示すフローチャートである。便宜上、フローチャートの動作について、動作を実行するシステムを参照して説明する。このシステムは、MLエンジン1051および/または異常検出エンジン1052を含む、サーバデバイス105(および/または移動ロボット101もしくはクライアントデバイス103-Aなどの追加のコンピューティングデバイス)の1つまたは複数の構成要素などの、様々なコンピュータシステムの様々な構成要素を含むことができる。さらに、方法300の動作は、特定の順序で示されているが、これは、限定であることを意味しない。1つまたは複数の動作は、並べ替えられ得、省略され得、または追加され得る。
【0041】
ブロック302Aにおいて、システムは、カメラが第1の姿勢にあるときに移動ロボットのカメラによってキャプチャされた第1の画像を識別する。ブロック302Bにおいて、システムは、カメラが第1の姿勢とは異なる第2の姿勢にあるときに移動ロボットのカメラによってキャプチャされた第2の画像を識別する。第1の画像および第2の画像は、両方とも、産業オートメーション施設の1つまたは複数の特定の構成要素をキャプチャするが、1つまたは複数の特定の構成要素を異なる視点からキャプチャする。オプションで、第2の画像は、カメラと同じ、類似、または異なる追加のカメラを搬送する追加の移動ロボットによってキャプチャすることができる。
【0042】
いくつかの実装形態において移動ロボットは、産業オートメーション施設内で移動可能な車輪付きロボット、無人航空機、または4足ロボットである。移動ロボットは、例えば、事前定義された経路に沿って移動するように、および/またはカメラ(または上記で参照した任意の他の視覚構成要素)が所与の姿勢(例えば、第1または第2の姿勢)において画像をキャプチャするために、1つまたは複数の事前定義されたスポットにおいて一時停止するように制御することができる。いくつかの実装形態において、移動ロボットを制御することがカメラの姿勢を制御または調整することができるように、カメラは、移動ロボットに対して固定される。いくつかの実装形態において、カメラは、移動ロボットに動作可能に結合されながら、移動ロボットに対して移動可能(例えば、回転的および/または並進的)である。この場合、所与の姿勢において移動ロボットを一時停止した後、カメラは、所与の姿勢に(第1または第2の姿勢)において画像をキャプチャするようにさらに制御され得る。いくつかの実装形態において、1つまたは複数の画像を(例えば、並行して)キャプチャするために、産業オートメーション施設内に2つ以上の移動ロボットを配備することができる。いくつかの実装形態において、移動ロボットのカメラは、モノグラフィックカメラ、ステレオグラフィックカメラ、またはサーマルカメラである。
【0043】
いくつかの実装形態において、カメラが第1の姿勢において第1の画像をキャプチャし、第2の姿勢において第2の画像をさらにキャプチャすることができるように、移動ロボットは、第1の事前定義されたスポットから第2の事前定義されたスポットに移動するように制御することができる。いくつかの実装形態において、第1の画像および第2の画像は、1つまたは複数の特定の構成要素の同じ領域を、異なる解像度でキャプチャすることができる。いくつかの実装形態において、第1の画像および第2の画像は、1つまたは複数の特定の構成要素の異なる領域をキャプチャすることができる。異なる領域は、いくつかの状況では必ずしも必要ではないが、重なり合う領域を含み得る。例えば、1つまたは複数の特定の構成要素がその全体においてキャプチャされるように、第1の画像は、1つまたは複数の特定の構成要素の第1の部分をキャプチャすることができ、第2の画像は、第1の部分を補足する1つまたは複数の特定の構成要素の第2の部分をキャプチャすることができる。いくつかの実装形態において、第1の画像および第2の画像は、必ずしもそうである必要はないが、異なるタイプのものであり得る。
【0044】
ブロック304Aにおいて、第1の画像を処理するための第1の機械学習(ML)モデルを選択することができる。システムは、第1の画像が第1の姿勢においてキャプチャされていることに応答して、第1のMLモデルが第1の姿勢に対応するトレーニングインスタンスに基づいてトレーニングされていることに基づいて、第1のMLモデルを選択することができる。ブロック306Aにおいて、システムは、第1の画像内に異常が存在するかどうかを示す第1の出力を生成するために、選択された第1のMLモデルを使用して第1の画像を処理することができる。
【0045】
いくつかの実装形態において、第1のMLモデルは、(1)カメラによってキャプチャされ、1つまたは複数の特定の構成要素について異常が存在しない場合の第1の姿勢に対応すると判定された画像と、(2)1つまたは複数の特定の構成要素について異常が存在しないことを示すグラウンドトゥルースラベルとを各々が含む、1つまたは複数のトレーニングインスタンスを使用してトレーニングされる。
【0046】
ブロック304Bにおいて、システムは、例えば、サーバデバイス105などのサーバによって、第2の画像を処理するための第2のMLモデルを選択することができ、第2のMLモデルを選択することは、第2の画像が第2の姿勢においてキャプチャされており、第2のMLモデルが第2の姿勢に対応するトレーニングインスタンスに基づいてトレーニングされていることに応答する。ブロック306Bにおいて、システムは、第2の画像内に異常が存在するかどうかを示す第2の出力を生成するために、選択された第2のMLモデルを使用して第2の画像を処理することができる。
【0047】
いくつかの実装形態において、第2のMLモデルは、(1)カメラによってキャプチャされ、1つまたは複数の特定の構成要素について異常が存在しない場合の第2の姿勢に対応すると判定された画像と、(2)1つまたは複数の特定の構成要素について異常が存在しないことを示すグラウンドトゥルースラベルとを各々が含む、1つまたは複数のトレーニングインスタンスを使用してトレーニングされる。
【0048】
ブロック308において、システムは、第1の出力と第2の出力の両方に基づいて、1つまたは複数の特定の構成要素について異常が存在することを示す警報のレンダリングを引き起こすかどうかを決定することができる。いくつかの実装形態において、システムは、第1の出力がしきい値を満たすかどうかを判定することと、第2の出力がしきい値を満たすかどうかを判定することと、第1の出力または第2の出力のいずれかがしきい値を満たす場合、警報のレンダリングを引き起こすと決定することとによって、異常が存在することを示す警報のレンダリングを引き起こすかどうかを決定することができる。
【0049】
いくつかの実装形態において、システムは、第1の出力がしきい値を満たすかどうかを判定することと、第2の出力がしきい値を満たすかどうかを判定することと、第1の出力がしきい値を満たし、第2の出力がしきい値を満たす両方の場合にのみ、警報のレンダリングを引き起こすと決定することとによって、異常が存在することを示す警報のレンダリングを引き起こすかどうかを決定することができる。いくつかの実装形態において、システムは、第1の出力と第2の出力とに基づく結合された出力を決定することと、結合された出力に基づいて、警報のレンダリングを引き起こすかどうかを決定することとによって、異常が存在することを示す警報のレンダリングを引き起こすかどうかを決定することができる。
【0050】
いくつかの実装形態において、システムは、警報のレンダリングを引き起こすとの決定に応答して警報をレンダリングすることができる。警報は、可聴的および/または視覚的にレンダリングすることができる。例えば、警報は、産業オートメーション施設内に配置された1つまたは複数のスピーカを介して可聴的にレンダリングすることができる。追加的または代替的に、警報は、産業オートメーション施設内または外部の1つまたは複数のコンピューティングデバイスへのメッセージの形態においてレンダリングすることができる。例えば、監視室のデスクトップは、1つもしくは複数の特定の構成要素について異常が検出されたこと、異常のタイプ、および/または1つもしくは複数の特定の構成要素の責任者の連絡先情報を示す警報メッセージを受信し得る。
【0051】
警報のレンダリングを引き起こすことを決定することの代わりに、またはそれに加えて、システムは、1つまたは複数の他の修復アクションを実行することができる。1つまたは複数の他の修復アクションは、異常が検出された1つまたは複数の特定の構成要素に関与する1つまたは複数の産業プロセス(例えば、自動化プロセス)を一時停止または停止することを含むことができる。例えば、システムは、第1の出力と第2の出力の両方に基づいて、産業オートメーション施設内で、1つまたは複数の特定の構成要素に関与するプロセスの一時停止を引き起こすことを決定することができる。
【0052】
本明細書または本開示の他の態様で説明する方法は、移動ロボットとは別個の、移動ロボットに取り付けられていない1つまたは複数のコンピューティングデバイスの1つまたは複数のプロセッサを介して実行することができる。この場合、第1および第2の画像は、移動ロボットによって送信され、移動ロボットによって送信された後、1つまたは複数のコンピューティングデバイスによって識別される。
【0053】
図4は、本明細書で説明される技法の1つまたは複数の態様を実行するためにオプションで利用され得る例示的なコンピューティングデバイス410のブロック図である。コンピューティングデバイス410は、典型的には、バスサブシステム412を介していくつかの周辺デバイスと通信する少なくとも1つのプロセッサ414を含む。これらの周辺デバイスは、例えば、メモリサブシステム425およびファイル記憶サブシステム426を含む記憶サブシステム424と、ユーザインターフェース出力デバイス420と、ユーザインターフェース入力デバイス422と、ネットワークインターフェースサブシステム416とを含み得る。入力デバイスおよび出力デバイスは、ユーザがコンピューティングデバイス410と対話することを可能にする。ネットワークインターフェースサブシステム416は、外部ネットワークへのインターフェースを提供し、他のコンピューティングデバイス内の対応するインターフェースデバイスに結合される。
【0054】
ユーザインターフェース入力デバイス422は、キーボード、マウス、トラックボール、タッチパッド、もしくはグラフィックスタブレットなどのポインティングデバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システムなどのオーディオ入力デバイス、マイクロフォン、および/または他のタイプの入力デバイスを含み得る。一般に、「入力デバイス」という用語の使用は、コンピューティングデバイス410または通信ネットワークに情報を入力するためのすべての可能なタイプのデバイスおよび方法を含むことを意図している。
【0055】
ユーザインターフェース出力デバイス420は、ディスプレイサブシステム、プリンタ、ファックス機、またはオーディオ出力デバイスなどの非視覚的ディスプレイを含み得る。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルディスプレイ、プロジェクションデバイス、または視覚画像を作成するためのなにか他のメカニズムを含み得る。ディスプレイサブシステムは、オーディオ出力デバイスを介するなどして、非視覚的な表示も提供し得る。一般に、「出力デバイス」という用語の使用は、コンピューティングデバイス410からユーザまたは別のマシンもしくはコンピューティングデバイスに情報を出力するためのすべての可能なタイプのデバイスおよび方法を含むことを意図している。
【0056】
記憶サブシステム424は、本明細書で説明したモジュールのうちのいくつかまたはすべての機能を提供するプログラミング構造およびデータ構造を記憶する。例えば、記憶サブシステム424は、
図1~
図2に示す様々な構成要素を実装するとともに、
図3の方法の選択された態様を実行するためのロジックを含み得る。
【0057】
これらのソフトウェアモジュールは、一般に、プロセッサ414単独で、または他のプロセッサと組み合わせて実行される。記憶サブシステム424内で使用されるメモリ425は、プログラム実行中の命令およびデータの記憶のためのメインランダムアクセスメモリ(RAM)430と、固定命令が記憶される読み取り専用メモリ(ROM)432とを含むいくつかのメモリを含むことができる。ファイル記憶サブシステム426は、プログラムおよびデータファイルのための永続的な記憶を提供することができ、関連するリムーバブル媒体、CD-ROMドライブ、光学ドライブ、またはリムーバブルメディアカートリッジと共に、ハードディスクドライブ、フロッピーディスクドライブを含み得る。特定の実装形態の機能を実装するモジュールは、記憶サブシステム424内のファイル記憶サブシステム426によって記憶され得、またはプロセッサ414によってアクセス可能な他のマシン内に記憶され得る。
【0058】
バスサブシステム412は、コンピューティングデバイス410の様々な構成要素およびサブシステムを意図した通りに互いに通信させるためのメカニズムを提供する。バスサブシステム412は、単一のバスとして概略的に示されているが、バスサブシステムの代替の実装形態は、複数のバスを使用し得る。
【0059】
コンピューティングデバイス410は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または任意の他のデータ処理システムもしくはコンピューティングデバイスを含む様々なタイプのものとすることができる。コンピュータおよびネットワークの絶えず変化する性質のため、
図4に示すコンピューティングデバイス410の説明は、いくつかの実装形態を例示する目的のための特定の例としてのみ意図されている。
図4に示すコンピューティングデバイスよりも多いまたは少ない構成要素を有するコンピューティングデバイス410の多くの他の構成が可能である。
【0060】
本明細書においていくつかの実装形態について説明および図示してきたが、機能を実行するため、ならびに/または本明細書で説明した結果および/もしくは利点のうちの1つもしくは複数を取得するための様々な他の手段および/または構造が利用され得、そのような変形および/または修正の各々は、本明細書で説明した実装形態の範囲内にあるとみなされる。より一般的には、本明細書で説明したすべてのパラメータ、寸法、材料、および構成は、例示的であることを意味し、実際のパラメータ、寸法、材料、および/または構成は、教示が使用される特定の用途に依存する。当業者は、本明細書で説明した特定の実装形態に対する多くの均等物を認識するか、または日常的な実験のみを使用して確認することができるであろう。したがって、前述の実装形態は、単なる例として提示されており、添付した特許請求の範囲およびその均等物の範囲内で、実装形態は、具体的に説明および特許請求されている以外の方法で実施され得ることが理解されるべきである。本開示の実装形態は、本明細書で説明した個々の特徴、システム、物品、材料、キット、および/または方法に向けられている。それに加えて、2つ以上のそのような特徴、システム、物品、材料、キット、および/または方法の任意の組合せは、そのような特徴、システム、物品、材料、キット、および/または方法が相互に矛盾しない場合、本開示の範囲内に含まれる。
【0061】
いくつかの実装形態において、プロセッサを使用して実装される方法が提供され、この方法は、カメラが第1の姿勢にあるときに移動ロボットのカメラによってキャプチャされた第1の画像を識別するステップと、カメラが第1の姿勢とは異なる第2の姿勢にあるときに移動ロボットのカメラによってキャプチャされた第2の画像を識別するステップとを含む。第1の画像および第2の画像は、両方とも、移動ロボットの環境の1つまたは複数の特定の構成要素をキャプチャするが、1つまたは複数の特定の構成要素を異なる視点からキャプチャする。移動ロボットは、例えば、車輪付きロボット、無人航空機、または4足ロボットとすることができる。移動ロボットのカメラは、例えば、モノグラフィックカメラ、ステレオグラフィックカメラ、またはサーマルカメラとすることができる。1つまたは複数のプロセッサは、例えば、移動ロボットとは別個の、移動ロボットに取り付けられていない1つまたは複数のコンピューティングデバイスのものとすることができ、第1および第2の画像は、移動ロボットによって送信することができ、移動ロボットによって送信された後、コンピューティングデバイスによって識別することができる。
【0062】
様々な実装形態において、方法は、第1の画像を処理するための第1の機械学習(ML)モデルを選択するステップをさらに含むことができ、第1のMLモデルを選択することは、第1の画像が第1の姿勢においてキャプチャされていることと、第1のMLモデルが第1の姿勢に対応するトレーニングインスタンスに基づいてトレーニングされていることとに応答する。それらの実装形態において、方法は、異常(例えば、産業オートメーション施設の1つまたは複数の特定の構成要素に関連する)が存在するかどうかを示す第1の出力を生成するために、選択された第1のMLモデルを使用して第1の画像を処理するステップをさらに含むことができる。
【0063】
様々な実装形態において、方法は、第2の画像を処理するための第2のMLモデルを選択するステップをさらに含むことができ、第2のMLモデルを選択することは、第2の画像が第2の姿勢においてキャプチャされていることと、第2のMLモデルが第2の姿勢に対応するトレーニングインスタンスに基づいてトレーニングされていることとに応答する。それらの実装形態において、方法は、異常が存在するかどうかを示す第2の出力を生成するために、選択された第2のMLモデルを使用して第2の画像を処理するステップをさらに含むことができる。
【0064】
様々な実装形態において、方法は、第1の出力と第2の出力の両方に基づいて、異常が存在することを示す警報のレンダリングを引き起こすかどうかを決定するステップをさらに含むことができる。いくつかの実装形態において、第1の出力と第2の出力の両方に基づいて、異常が存在することを示す警報のレンダリングを引き起こすかどうかを決定するステップは、第1の出力がしきい値を満たすかどうかを判定するステップと、第2の出力がしきい値を満たすかどうかを判定するステップと、第1の出力または第2の出力のいずれかがしきい値を満たす場合、警報のレンダリングを引き起こすと決定するステップとを含むことができる。それらのまたは他の実装形態において、方法は、警報のレンダリングを引き起こすとの決定に応答して警報をレンダリングするステップをさらに含むことができる。
【0065】
いくつかの実装形態において、第1の出力と第2の出力の両方に基づいて、異常が存在することを示す警報のレンダリングを引き起こすかどうかを決定するステップは、第1の出力がしきい値を満たすかどうかを判定するステップと、第2の出力がしきい値を満たすかどうかを判定するステップと、第1の出力がしきい値を満たし、第2の出力がしきい値を満たす両方の場合にのみ、警報のレンダリングを引き起こすと決定するステップとを含むことができる。
【0066】
いくつかの実装形態において、第1の出力と第2の出力の両方に基づいて、異常が存在することを示す警報のレンダリングを引き起こすかどうかを決定するステップは、第1の出力と第2の出力とに基づいて結合された出力を決定するステップと、結合された出力に基づいて、警報のレンダリングを引き起こすかどうかを決定するステップとを含むことができる。
【0067】
いくつかの実装形態において、第1のMLモデルは、(1)カメラによってキャプチャされ、1つまたは複数の特定の構成要素に関連する異常が存在しない場合の第1の姿勢に対応すると判定された画像と、(2)1つまたは複数の特定の構成要素に関連する異常が存在しないことを示すグラウンドトゥルースラベルとを各々が含む、1つまたは複数のトレーニングインスタンスを使用してトレーニングされる。
【0068】
いくつかの実装形態において、第2のMLモデルは、(1)カメラまたは追加のカメラによってキャプチャされた、1つまたは複数の特定の構成要素に関連する異常が存在しない場合の第2の姿勢に対応する画像と、(2)1つまたは複数の特定の構成要素に関連する異常が存在しないことを示すグラウンドトゥルースラベルとを各々が含む、1つまたは複数のトレーニングインスタンスを使用してトレーニングされる。
【0069】
いくつかの実装形態において、警報のレンダリングを引き起こすことを決定することの代わりに、またはそれに加えて、方法は、第1の出力と第2の出力の両方に基づいて、産業オートメーション施設内で、1つまたは複数の特定の構成要素に関与するプロセスの一時停止を引き起こすことを決定するステップを含むことができる。
【0070】
それに加えて、いくつかの実装形態は、移動ロボットおよび/または1つもしくは複数のコンピューティングデバイスの1つまたは複数のプロセッサを含み、1つまたは複数のプロセッサは、関連するメモリ内に記憶された命令を実行するように動作可能であり、命令は、本明細書で開示する方法のいずれかの実行を引き起こすように構成される。いくつかの実装形態は、本明細書で開示する方法のいずれかを実行するために1つまたは複数のプロセッサによって実行可能なコンピュータ命令を記憶する1つまたは複数の一時的または非一時的なコンピュータ可読記憶媒体も含む。
【0071】
いくつかの実装形態において、システムが提供され、システムは、1つまたは複数のプロセッサと、1つまたは複数のプロセッサによる実行に応答して、1つまたは複数のプロセッサに、カメラが第1の姿勢にあるときに移動ロボットのカメラによってキャプチャされた第1の画像を識別させ、カメラが第1の姿勢とは異なる第2の姿勢にあるときに移動ロボットのカメラによってキャプチャされた第2の画像を識別させ、第1の画像を処理するための第1の機械学習(ML)モデルを選択させ、異常が存在するかどうかを示す第1の出力を生成するために、選択された第1のMLモデルを使用して第1の画像を処理させ、第2の画像を処理するための第2のMLモデルを選択させ、異常が存在するかどうかを示す第2の出力を生成するために、選択された第2のMLモデルを使用して第2の画像を処理させ、第1の出力と第2の出力の両方に基づいて、異常が存在することを示す警報のレンダリングを引き起こさせるかどうかを決定させる命令を記憶するメモリとを含む。
【0072】
様々な実装形態において、1つまたは複数のプロセッサによる命令の実行は、1つまたは複数のプロセッサに、さらに、第1の出力および/または第2の出力が1つまたは複数の特定の構成要素に関連する異常が存在することを示すことに基づいて、警報のレンダリングを引き起こさせることを決定させ、警報のレンダリングを視覚的および/または可聴的に引き起こさせる。様々な実装形態において、1つまたは複数のプロセッサによる命令の実行は、1つまたは複数のプロセッサに、さらに、1つまたは複数の特定の構成要素を利用する産業オートメーション施設内の1つまたは複数のプロセスを一時停止させると決定させ、1つまたは複数の特定の構成要素を利用する1つまたは複数のプロセスを一時停止させる。
【0073】
いくつかの実装形態において、カメラと、命令を記憶し、トレーニングされた機械学習(ML)モデルを記憶するメモリと、1つまたは複数のプロセッサとを含む移動ロボットが提供される。プロセッサは、カメラが第1の姿勢にあるときにキャプチャされた第1の画像をカメラから受信し、カメラが第1の姿勢とは異なる第2の姿勢にあるときに移動ロボットのカメラによってキャプチャされた第2の画像をカメラから受信し、第1の画像を処理するための第1の機械学習(ML)モデルを選択し、異常が存在するかどうかを示す第1の出力を生成するために、選択された第1のMLモデルを使用して第1の画像を処理し、第2の画像を処理するための第2のMLモデルを選択し、異常が存在するかどうかを示す第2の出力を生成するために、選択された第2のMLモデルを使用して第2の画像を処理し、第1の出力と第2の出力の両方に基づいて、異常が存在することを示す警報のレンダリングを引き起こさせるかどうかを決定するための命令を実行するように動作可能である。
【符号の説明】
【0074】
100 環境
101 移動ロボット
102 チューブ、液体チューブ
103-A ローカルクライアントデバイス、クライアントデバイス
103-B ローカルクライアントデバイス、クライアントデバイス
105 サーバデバイス
106 プロセス自動化ネットワーク
107 警報メッセージ
122-A ローカルクライアントデバイス
122-B ローカルクライアントデバイス
201 第1の画像
203 第2の画像
211 第1のMLモデル
213 第2のMLモデル
221 第1のML出力
223 第2のML出力
410 コンピューティングデバイス
412 バスサブシステム
414 プロセッサ
416 ネットワークインターフェースサブシステム
420 ユーザインターフェース出力デバイス
422 ユーザインターフェース入力デバイス
424 記憶サブシステム
425 メモリサブシステム
426 ファイル記憶サブシステム
430 メインランダムアクセスメモリ(RAM)
432 読み取り専用メモリ(ROM)
1011 視覚構成要素
1051 機械学習(ML)エンジン、MLエンジン
1052 異常検出エンジン
1053 姿勢依存機械学習(ML)モデル、姿勢依存MLモデル、MLモデル
【外国語明細書】