(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024149983
(43)【公開日】2024-10-23
(54)【発明の名称】点検システム、学習装置、異常検出装置、及び点検方法
(51)【国際特許分類】
H04N 7/18 20060101AFI20241016BHJP
G05D 1/43 20240101ALI20241016BHJP
G08B 25/00 20060101ALI20241016BHJP
【FI】
H04N7/18 D
G05D1/02 H
G08B25/00 510M
H04N7/18 K
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2023063179
(22)【出願日】2023-04-10
(71)【出願人】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】100161207
【弁理士】
【氏名又は名称】西澤 和純
(74)【代理人】
【識別番号】100206081
【弁理士】
【氏名又は名称】片岡 央
(74)【代理人】
【識別番号】100188673
【弁理士】
【氏名又は名称】成田 友紀
(74)【代理人】
【識別番号】100188891
【弁理士】
【氏名又は名称】丹野 拓人
(72)【発明者】
【氏名】宮本 健
【テーマコード(参考)】
5C054
5C087
5H301
【Fターム(参考)】
5C054CA04
5C054CA05
5C054CC02
5C054CD00
5C054CF08
5C054DA07
5C054DA08
5C054FC12
5C054FE09
5C054FE28
5C054GB02
5C054GB05
5C054GB06
5C054GB15
5C054HA19
5C087AA09
5C087AA10
5C087AA19
5C087DD13
5C087DD29
5C087DD31
5C087FF01
5C087FF02
5C087GG09
5C087GG17
5C087GG22
5C087GG70
5C087GG83
5H301AA01
5H301BB10
5H301CC03
5H301CC06
5H301CC10
5H301GG08
5H301GG09
5H301LL01
(57)【要約】
【課題】自律走行する移動体に搭載されたセンサを用いて移動しながら様々な異常を検出する点検システムを提供すること。
【解決手段】点検システムは、自律走行する移動体を用いて移動体が移動する空間の点検を行う。点検システムは、移動体が備えるセンサにより得られた画像の画像データと、画像が得られたときの移動体の位置を示す位置データとが関連付けられた移動体データを取得し、取得した画像データを空間内の場所に関する情報に基づいて分割し、分割された画像データ毎に学習を行うことにより学習済モデルを生成し、生成した学習済モデルと位置データとを関連付けて記憶させる。また、点検システムは、新たに取得した点検用の画像データに関連付けられた位置データに基づいて、生成された学習済モデルを取得し、取得した学習済モデルと点検用の画像データとに基づいて空間内の異常を検出する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
自律走行する移動体を用いて前記移動体が移動する空間の点検を行う点検システムであって、
前記移動体が備えるセンサにより得られた画像の画像データと、前記画像が得られたときの前記移動体の位置を示す位置データとが関連付けられた移動体データを取得する移動体データ取得部と、
前記移動体データ取得部が取得した画像データを前記空間内の場所に関する情報に基づいて分割するデータ分割部と、
前記データ分割部により分割された画像データ毎に学習を行うことにより学習済モデルを生成し、生成した学習済モデルと前記位置データとを関連付けて記憶させる学習部と、
前記移動体データ取得部が新たに取得した点検用の画像データに関連付けられた前記位置データに基づいて、前記学習部により生成された学習済モデルを取得する学習済モデル取得部と、
前記学習済モデル取得部が取得した学習済モデルと前記点検用の画像データとに基づいて前記空間内の異常を検出する異常検出部と、
を備える点検システム。
【請求項2】
前記データ分割部は、
前記空間内の場所に関する情報として前記画像の模様に基づいて、前記移動体データ取得部が取得した画像データを分割する、
請求項1に記載の点検システム。
【請求項3】
前記データ分割部は、
前記空間内の場所に関する情報として前記位置データ及び前記画像の模様に基づいて、前記移動体データ取得部が取得した画像データを分割する、
請求項1に記載の点検システム。
【請求項4】
前記移動体データ取得部は、
前記移動体データとして、前記移動体が備えるセンサにより得られた画像の画像データと、前記画像が得られたときの前記移動体の位置及び姿勢を示す位置姿勢データとが関連付けられたデータを取得し、
前記データ分割部は、
前記空間内の場所に関する情報として前記位置姿勢データ及び前記画像の模様に基づいて、前記移動体データ取得部が取得した画像データを分割し、
前記学習部は、
前記データ分割部により分割された画像データ毎に学習を行うことにより学習済モデルを生成し、生成した学習済モデルと前記位置姿勢データとを関連付けて記憶させ、
前記学習済モデル取得部は、
前記移動体データ取得部が新たに取得した前記点検用の画像データに関連付けられた前記位置姿勢データに基づいて、前記学習部により生成された学習済モデルを取得する、
請求項1に記載の点検システム。
【請求項5】
前記学習部による学習結果に基づいて、前記空間内で異常の検出を苦手とする苦手領域を判断する苦手領域判断部、
をさらに備える請求項1に記載の点検システム。
【請求項6】
前記点検用の画像データと前記点検用の画像データに関連付けられ前記位置データとに基づいて、前記空間内の床面部分を検出する床面検出部をさらに備え、
前記異常検出部は、前記学習済モデル取得部が取得した学習済モデルと前記点検用の画像データとに基づいて前記空間内の床面部分の異常を検出する、
請求項1に記載の点検システム。
【請求項7】
前記異常検出部により検出された複数フレームの前記点検用の画像データに対する異常の検出結果を時系列に解析し、異常の確からしさを判断する時系列解析部、
をさらに備える請求項1に記載の点検システム。
【請求項8】
前記異常検出部により検出された異常を示す情報を前記空間内の位置と関連付けて表示する表示部、
を備える請求項1に記載の点検システム。
【請求項9】
前記異常検出部により検出された異常を示す情報をネットワークを介して取得する通信部と、前記通信部が取得した異常を示す情報を前記空間内の位置と関連付けて表示する前記表示部とを少なくとも備える端末、
を備える請求項8に記載の点検システム。
【請求項10】
前記表示部に表示された異常を示す情報が誤検出であることを示す誤検出情報を、ユーザの操作に応じて出力する誤検出情報出力部、
を備える請求項8または請求項9に記載の点検システム。
【請求項11】
自律走行する移動体を用いて前記移動体が移動する空間内の異常を検出する際に用いる学習済モデルを生成する学習装置であって、
前記移動体が備えるセンサにより得られた画像の画像データと、前記画像が得られたときの前記移動体の位置を示す位置データとが関連付けられた移動体データを取得する移動体データ取得部と、
前記移動体データ取得部が取得した画像データを、前記空間内の場所に関する情報に基づいて分割するデータ分割部と、
前記データ分割部により分割された画像データ毎に学習を行うことにより前記学習済モデルを生成し、生成した学習済モデルと前記位置データとを関連付けて記憶させる学習部と、
を備える学習装置。
【請求項12】
自律走行する移動体を用いて前記移動体が移動する空間内の異常を検出する異常検出装置であって、
前記移動体が備えるセンサにより得られた画像の画像データが前記空間内の場所に関する情報に基づいて分割された画像データ毎に学習された学習済モデルと、前記画像が得られたときの前記移動体の位置を示す位置データとを関連付けて記憶する記憶部と、
前記移動体が備えるセンサにより得られた点検用の画像の画像データと、前記点検用の画像が得られたときの前記移動体の位置を示す位置データとが関連付けられた移動体データを取得する移動体データ取得部と、
前記移動体データ取得部が取得した前記点検用の画像データに関連付けられた前記位置データに基づいて、前記記憶部に記憶された学習済モデルを取得する学習済モデル取得部と、
前記学習済モデル取得部が取得した学習済モデルと前記点検用の画像データとに基づいて前記空間内の異常を検出する異常検出部と、
を備える異常検出装置。
【請求項13】
自律走行する移動体を用いて前記移動体が移動する空間の点検を行う点検システムにおける点検方法であって、
移動体データ取得部が、前記移動体が備えるセンサにより得られた画像の画像データと、前記画像が得られたときの前記移動体の位置を示す位置データとが関連付けられた移動体データを取得するステップと、
データ分割部が、前記移動体データ取得部が取得した画像データを前記空間内の場所に関する情報に基づいて分割するステップと、
学習部が、前記データ分割部により分割された画像データ毎に学習を行うことにより学習済モデルを生成し、生成した学習済モデルと前記位置データとを関連付けて記憶させるステップと、
学習済モデル取得部が、前記移動体データ取得部が新たに取得した点検用の画像データに関連付けられた前記位置データに基づいて、前記学習部により生成された学習済モデルを取得するステップと、
異常検出部が、前記学習済モデル取得部が取得した学習済モデルと前記点検用の画像データとに基づいて前記空間内の異常を検出するステップと、
を含む点検方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、点検システム、学習装置、異常検出装置、及び点検方法に関する。
【背景技術】
【0002】
近年、様々な市場にて自律走行するロボットが導入されてきている(例えば、特許文献1)。例えば、レストランでは飲食物を運ぶためのロボット、物流倉庫では配送する物品を梱包担当まで運ぶロボットなどが活用されている。しかし、従来のロボットは、自律走行のために多種多様なセンサ(例えば、LiDAR、カメラなど)を搭載しているものの、それらのセンサは搬送(自律走行)のためのみにしか使われず、搬送以外のサービスには活用されているとはいえない。
【0003】
例えば、自律走行するロボットは、多種多様なセンサ(例えば、LiDAR、カメラなど)を用いて移動経路の障害物などを検出するため、通常は存在しない物体が存在したときに異常として検出することも可能である。しかしながら、例えば、LiDAR、カメラなどを用いて物体を検出する方法では、サイズがある程度大きい物体(例えば、カバン、人など)を検出することは可能であるが、サイズが小さい物体或いはサイズがほぼ無いような物体(例えば、ビニール、嘔吐物など)を検出することは難しい。
【0004】
このような物体を検出する方法では検出が難しい異常を検出するには、例えば、正常な状態と異常な状態のカメラ画像を学習して異常検知する方法、或いは正常な状態のカメラ画像のみを学習して異常検知する方法がある(例えば、特許文献2)。カメラ画像を用いて正常な状態から差異で異常検知するため、サイズがある程度大きい物体に限らず、画像の違いで異常を検出することが可能である。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2019-067215号公報
【特許文献2】特開2006-148442号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、例えば特許文献2に記載されている異常検知の技術は、特定の場所(監視領域)における異常検知方法であり、その場所まで移動し、その場所での異常検知しかできなかった。このように、従来の異常検知方法は、特定の場所の異常を検出するための方法であり、ある空間内を移動しながら異常を検出することはできなかった。
【0007】
本開示は、上記した事情に鑑みてなされたもので、自律走行する移動体に搭載されたセンサを用いて移動しながら様々な異常を検出することができる点検システム、学習装置、異常検出装置、及び点検方法を提供することを目的の一つとする。
【課題を解決するための手段】
【0008】
本開示の一態様は、自律走行する移動体を用いて前記移動体が移動する空間の点検を行う点検システムであって、前記移動体が備えるセンサにより得られた画像の画像データと、前記画像が得られたときの前記移動体の位置を示す位置データとが関連付けられた移動体データを取得する移動体データ取得部と、前記移動体データ取得部が取得した画像データを前記空間内の場所に関する情報に基づいて分割するデータ分割部と、前記データ分割部により分割された画像データ毎に学習を行うことにより学習済モデルを生成し、生成した学習済モデルと前記位置データとを関連付けて記憶させる学習部と、前記移動体データ取得部が新たに取得した点検用の画像データに関連付けられた前記位置データに基づいて、前記学習部により生成された学習済モデルを取得する学習済モデル取得部と、前記学習済モデル取得部が取得した学習済モデルと前記点検用の画像データとに基づいて前記空間内の異常を検出する異常検出部と、を備える点検システムである。
【0009】
また、本開示の一態様は、自律走行する移動体を用いて前記移動体が移動する空間内の異常を検出する際に用いる学習済モデルを生成する学習装置であって、前記移動体が備えるセンサにより得られた画像の画像データと、前記画像が得られたときの前記移動体の位置を示す位置データとが関連付けられた移動体データを取得する移動体データ取得部と、前記移動体データ取得部が取得した画像データを、前記空間内の場所に関する情報に基づいて分割するデータ分割部と、前記データ分割部により分割された画像データ毎に学習を行うことにより前記学習済モデルを生成し、生成した学習済モデルと前記位置データとを関連付けて記憶させる学習部と、を備える学習装置である。
【0010】
また、本開示の一態様は、自律走行する移動体を用いて前記移動体が移動する空間内の異常を検出する異常検出装置であって、前記移動体が備えるセンサにより得られた画像の画像データが前記空間内の場所に関する情報に基づいて分割された画像データ毎に学習された学習済モデルと、前記画像が得られたときの前記移動体の位置を示す位置データとを関連付けて記憶する記憶部と、前記移動体が備えるセンサにより得られた点検用の画像の画像データと、前記点検用の画像が得られたときの前記移動体の位置を示す位置データとが関連付けられた移動体データを取得する移動体データ取得部と、前記移動体データ取得部が取得した前記点検用の画像データに関連付けられた前記位置データに基づいて、前記記憶部に記憶された学習済モデルを取得する学習済モデル取得部と、前記学習済モデル取得部が取得した学習済モデルと前記点検用の画像データとに基づいて前記空間内の異常を検出する異常検出部と、を備える異常検出装置である。
【0011】
また、本開示の一態様は、自律走行する移動体を用いて前記移動体が移動する空間の点検を行う点検システムにおける点検方法であって、移動体データ取得部が、前記移動体が備えるセンサにより得られた画像の画像データと、前記画像が得られたときの前記移動体の位置を示す位置データとが関連付けられた移動体データを取得するステップと、データ分割部が、前記移動体データ取得部が取得した画像データを前記空間内の場所に関する情報に基づいて分割するステップと、学習部が、前記データ分割部により分割された画像データ毎に学習を行うことにより学習済モデルを生成し、生成した学習済モデルと前記位置データとを関連付けて記憶させるステップと、学習済モデル取得部が、前記移動体データ取得部が新たに取得した点検用の画像データに関連付けられた前記位置データに基づいて、前記学習部により生成された学習済モデルを取得するステップと、異常検出部が、前記学習済モデル取得部が取得した学習済モデルと前記点検用の画像データとに基づいて前記空間内の異常を検出するステップと、を含む点検方法。
【発明の効果】
【0012】
本開示によれば、自律走行する移動体に搭載されたセンサを用いて移動しながら様々な異常を検出する点検システム、学習装置、異常検出装置、及び点検方法を提供することができる。
【図面の簡単な説明】
【0013】
【
図1】第1の実施形態に係る点検システムのシステム構成例を示す概略ブロック図。
【
図3】第1の実施形態に係る点検システムの機能構成の一例を示す概略ブロック図。
【
図4】第1の実施形態に係る学習用データのデータ例を示す図。
【
図5】第1の実施形態に係る学習済モデルのデータ例を示す図。
【
図6】第1の実施形態に係る学習処理の一例を示すフローチャート。
【
図7】第1の実施形態に係る推論処理の一例を示すフローチャート。
【
図8】第1の実施形態に係る検出結果表示処理の一例を示すフローチャート。
【
図9】第1の実施形態に係る異常情報の表示例を示すイメージ図。
【
図10】第2の実施形態に係る点検システムの機能構成の一例を示す概略ブロック図。
【
図11】第2の実施形態に係る学習処理の一例を示すフローチャート。
【
図12】第2の実施形態に係る推論処理の一例を示すフローチャート。
【発明を実施するための形態】
【0014】
以下、図面を参照して、実施形態について説明する。
<第1の実施形態>
[点検システムのシステム構成]
図1は、本実施形態に係る点検システム1のシステム構成の一例を示す概略ブロック図である。点検システム1は、自律走行するロボット10と、サーバ20と、端末30とを備え、ロボット10を用いてロボット10が移動する空間の点検を行うシステムである。ロボット10と、サーバ20と、端末30とのそれぞれは、図示するハードウェア構成を含んで構成されている。
【0015】
ロボット10は、倉庫、病院、店舗、商業施設などの空間内を自律走行により移動する移動体の一例であり、計算機11と、通信機12と、センサ13と、移動装置14とを備えている。サーバ20は、ロボット10が移動する空間内の異常を検出する点検装置であり、計算機21と、通信機22とを備えている。ここで、「異常」とは、正常時には存在しない物体が存在することである。
【0016】
端末30は、点検システム1によって検出された異常をユーザが確認するために使用するPC(Personal Computer)、タブレット端末、スマートフォン等である。例えば、端末30は、計算機31と、通信機32と、表示装置33と、入力装置34とを備えている。ユーザとは、端末30を使用して異常を確認するスタッフ、オペレータなどである。
【0017】
計算機11、計算機21、及び計算機31は、コンピュータであり、例えばCPU(Central Processing Unit)、センサハブ、メモリ、記憶装置、などを含んで構成されている。通信機12、通信機22、及び通信機32は、ロボット10と、サーバ20と、端末30とが互いにデータを送受信するための通信デバイスであり、ネットワークを介して接続される。ネットワークは、有線または無線による通信ネットワークであり、インターネットなどのような汎用のネットワークであってもよいし、専用線によるネットワークであってもよい。
【0018】
ロボット10は、センサ13として、例えば可視光カメラ、赤外線カメラ、LiDAR(Light Detection And Ranging)、IMU(Inertial Measurement Unit)などを備えている。センサ13は、ロボット10が自律走行するために周囲の様子及び位置などを把握するために設けられている。
【0019】
例えば、ロボット10は、可視光カメラまたは赤外線カメラにより撮像された画像の画像データに基づいて、空間内における移動経路の俯瞰画像を生成する。例えば、赤外線カメラは、空間内の物体との距離情報を得るためのセンサとして用いられるが、2つの可視光カメラを備えたステレオカメラを用いて距離情報を得ても良い。また、ロボット10は、LiDARまたはIMUなどを用いて、距離情報及び位置・姿勢を得ても良い。なお、センサ13は、上述した少なくとも可視光カメラ、赤外線カメラ、LiDAR、IMUなどの一部またはすべてを備えている。例えばセンサ13は、可視光カメラのみを備える構成としてもよい。
【0020】
計算機11は、センサ13を用いて空間内の位置・姿勢及び障害物などを検出し、移動装置14による動作を制御することにより、空間内を自律走行させる。移動装置14は、例えば、車輪(ウィール)、車輪の回転を駆動する駆動部(例えばモータ)、駆動部による回転を車輪に伝えるシャフト、制動機構、操舵機構などを備えている。計算機11は、センサ13を用いて空間内の位置・姿勢及び障害物などを検出して、駆動部における回転方向及び回転速度、制動機構、操舵機構などを制御することにより、空間内を自律走行させる。なお、移動装置14における移動手段は、車輪で移動する手段に限定されるものではなく、例えば、2足歩行または4足方向で移動する手段、ドローンのように飛行で移動する手段など任意の移動手段を適用することができる。
【0021】
サーバ20は、ロボット10が備えるセンサ13を利用して、ロボット10が移動する空間内の異常を検出する。また、サーバ20は、検出した異常を示す異常情報を端末30へ送信する。
【0022】
端末30は、サーバ20から受信した異常情報を表示装置33に表示する。表示装置33は、例えば液晶ディスプレイ、有機ELディスプレイなどを含んで構成されている。入力装置34は、キーボード、マウス、タッチパネルなどの入力デバイスであり、ユーザの入力を受け付ける。
【0023】
ここで、
図2を参照して、AI(Artificial Intelligence)を用いた異常の検出方法について説明する。
図2は、AIを用いた異常の検出方法の説明図である。この図では、異常の検出方法として、「物体検出タイプ」と「異常検知タイプ」とを比較している。いずれの対応も学習(機械学習)を用いるが、「物体検出タイプ」では、正常または異常のアノテーション付けを行った画像データをニューラルネットワークへ入力して学習させることで、学習済モデルに画像データを入力すると、異常の位置を出力する。一方、「異常検知タイプ」では、正常な画像データをニューラルネットワークへ入力して学習させることで、学習済モデルに画像データを入力したときの中間層の各層の出力を結合したベクトル(Embedding Vector)と正常状態のときのベクトルとの距離を異常度として異常を検出する。
【0024】
「物体検出タイプ」の場合には、異常がどのような物であるか検出できるものの、サイズがある程度大きい物体(例えば、カバン、人など)に検出対象が限られる。また、「物体検出タイプ」の場合には、学習には正常または異常のアノテーション付けを行った大量の画像データを用意する必要があり、異常検出するまでの準備にコストがかかる。一方、「異常検知タイプ」の場合には、異常がどのような物であるか検出できないものの、サイズがある程度大きい物体に限らず、サイズが小さい物体或いはサイズがほぼ無いような物体(例えば、ビニール、嘔吐物など)も検出対象として異常を検出することが可能である。
【0025】
しかしながら、従来の「異常検知タイプ」は、固定カメラを想定した技術であり、ロボット10のような移動体に搭載されたカメラで移動しながらの異常検知には適用できなかった。そこで、本実施形態に係る点検システム1では、「異常検知タイプ」の検出方法をロボット10のような移動体に搭載されたセンサ13に適用できるように構成し、サイズの大きさにかかわらず様々な異常を検知する。また、「異常検知タイプ」の場合には、「物体検出タイプ」のように大量の画像データを用意する必要が無く、例えばロボット10が地図作成中に得た画像データ、もしくは自律走行中に得た画像データのみで学習させることができる。以下、点検システム1の構成について詳しく説明する。
【0026】
図3は、本実施形態に係る点検システム1の機能構成の一例を示す概略ブロック図である。この
図3を参照して、点検システム1が備えるロボット10、サーバ20、及び端末30の機能構成について順に説明する。
【0027】
[ロボットの機能構成]
ロボット10は、計算機11がプログラムを実行することにより実現される機能構成として、データ送受信部111と、センサデータ取得部112と、位置姿勢推定部113と、制御部114とを備えている。
【0028】
データ送受信部111は、通信機12を介してサーバ20とデータを送受信する。センサデータ取得部112は、センサ13(例えば、可視光カメラ、赤外線カメラ、LiDAR、IMUなど)からセンサデータを取得する。
【0029】
位置姿勢推定部113は、センサデータ取得部112が取得したセンサデータに基づいて、ロボット10の位置及び姿勢を求める。一例として、位置姿勢推定部113は、LiDARまたは可視光カメラを用いた位置推定(Localization)、SLAM(Simultaneous Localization Mapping)をなどの技術を用いて、ロボット10の位置及び姿勢を求める。
【0030】
制御部114は、位置姿勢推定部113が推定したロボット10の位置及び姿勢に基づいてロボット10の移動経路を計算し、当該移動経路に従ってロボット10を自律走行させるべく移動装置14を制御する。
【0031】
また、制御部114は、センサ13により得られた画像の画像データと、その画像が得られたときのロボット10の位置及び姿勢を示す位置姿勢データとが関連付けられた移動体データを、データ送受信部111の機能を用いてサーバ20へ送信する。センサ13により得られた画像とは、例えば可視光カメラによって得られたカラー画像である。
【0032】
[サーバの機能構成]
サーバ20は、計算機21がプログラムを実行することにより実現される機能構成として、データ送受信部210と、学習装置220と、推論装置230とを備えている。また、サーバ20は、異常の検出に必要な各種のデータを計算機21が備える記憶装置に記憶する。例えば、サーバ20は、各種のデータを、学習用データ240、点検用データ241、事前学習モデル250、学習済モデル260、異常データ270等として記憶装置に保存する。
【0033】
データ送受信部210は、通信機22を介してロボット10及び端末30とデータを送受信する。例えば、データ送受信部210は、ロボット10から画像データと位置姿勢データとが関連付けられた移動体データを受信する。例えば、データ送受信部210は、ロボット10から学習用として取得した画像データと位置姿勢データとを学習用データ240として保存する。また、データ送受信部210は、ロボット10から点検用として取得した画像データと位置姿勢データとを点検用データ241として保存する。なお、点検用として取得した画像データと位置姿勢データとは、異常の検出対象として使用されるだけであれば検出に使用した後に、都度消去されてもよいが、再学習に用いる場合には学習用データ240として保存されてもよい。
【0034】
図4は、本実施形態に係る学習用データ240のデータ例を示す図である。学習用データ240には、データ送受信部210が受信する度に、画像データと位置姿勢データとが関連付けられて格納される。画像データには、カラー画像のデータ、距離画像のデータ、点群データなどが格納されるが、少なくともカラー画像のデータのみであっても良い。
【0035】
図3に戻り、学習装置220は、データ分割部221と、学習部222とを備えている。データ分割部221は、データ送受信部210が取得した画像データを空間内の場所に関する情報に基づいて分割する。例えば、データ分割部221は、空間内の場所に関する情報として位置姿勢データ及び画像の模様に基づいて、データ送受信部210が取得した画像データを分割する。
【0036】
ここで画像の模様とは、データ送受信部210が取得した画像データの画像の模様であり、例えば、ロボット10が移動する空間の壁、床などの絵柄、構図、設置されている物体の形、色、明暗などの模様である。つまり、データ分割部221は、位置姿勢データ及び画像の模様に基づいて、ロボット10から取得した複数の画像データを、模様が類似する画像ごとにグループ分けする。データ分割部221は、グループ分けした画像データの各グループに、画像データが得られたときの位置姿勢データを関連付けて学習用データ240として保存する。
【0037】
画像データの分割方法の一例として、デンドログラム(Dendrogram)を用いる。具体的には、データ分割部221は、事前学習モデル250から事前学習モデル(例えばResNet、wideResNetなど)を取得する。次に、データ分割部221は、取得した事前学習モデルを使って全ての画像データ(例えば、カラー画像のデータ)からベクトル(Embedding Vector)を計算する。そして、データ分割部221は、ベクトル間の距離を元にデンドログラムを構築する。通常のデンドログラムはベクトル間の距離を元に構築され、空間的な関係は考慮されない。なお、空間的な関係を考慮する仕組みを入れても良い。例えば、空間的に近いx個の画像データのみをベクトル間距離の計算対象とする。
【0038】
学習部222は、データ分割部221により分割された画像データ毎(グループ毎)に学習を行うことにより学習済モデルを生成する。例えば、学習部222は、「PatchCore」などの異常検知用の学習モデルを使用して学習を行う。学習部222は、生成した学習済モデルと位置姿勢データとを関連付けて学習済モデル260として保存する。
【0039】
図5は、本実施形態に係る学習済モデル260のデータ例を示す図である。学習済モデル260には、グループ毎に、各グループに分けられた複数の画像それぞれが得られたときの位置姿勢データと、各グループの画像データ毎に学習を行うことにより生成された学習済モデルとが関連付けられて格納される。例えば、No1の学習済モデル1は、グループ分けされた50枚の画像のデータから生成されたものであり、50枚の画像それぞれが得られたときの位置姿勢データ(位置・姿勢1~50)と関連付けられている。
【0040】
図3に戻り、推論装置230は、学習済モデル取得部231と、推論部232とを備えている。学習済モデル取得部231は、データ送受信部210が取得した点検用の画像データに関連付けられた位置姿勢データに基づいて、学習部222により生成された学習済モデルを学習済モデル260から取得する。
【0041】
推論部232は、学習済モデル取得部231が取得した学習済モデルと点検用の画像データとに基づいて空間内の異常を検出する。推論部232は、検出した異常を示す情報(異常データ)を異常データ270として保存する。
【0042】
異常データには、異常が検出された位置(或いは、位置及び姿勢)を示す情報、異常が検出された画像データなどが関連付けられる。異常が検出された位置(或いは、位置及び姿勢)を示す情報には、例えば、ロボット10が移動する空間(例えば、施設、設備など)内の地図と、その地図上における異常の位置などのデータが含まれる。
【0043】
また、推論部232は、端末30から点検結果の問い合わせを受けた場合、異常データをデータ送受信部210の機能を用いて端末30へ送信する。
【0044】
[端末の機能構成]
端末30は、計算機31がプログラムを実行することにより実現される機能構成として、データ送受信部311と、問い合わせ部312と、異常表示部313と、誤検出通知部314とを備えている。
【0045】
データ送受信部311は、通信機32を介してサーバ20とデータを送受信する。問い合わせ部312は、データ送受信部311の機能を用いてサーバ20に問い合わせることによりサーバ20から異常データを取得する。
【0046】
異常表示部313は、サーバ20から取得した異常データに基づいて、検出された異常を示す異常情報を空間(例えば、施設、設備など)内の位置と関連付けて表示装置33に表示する。例えば、異常表示部313は、空間(例えば、施設、設備など)内の地図上に異常の位置がわかるように異常情報を表示装置33に表示する。
【0047】
誤検出通知部314は、サーバ20で検出された異常が誤検出である場合に、誤検出であることを通知する。例えば、誤検出通知部314は、表示装置33に表示された異常を示す情報が誤検出である場合、誤検出であることを示す誤検出情報をデータ送受信部311の機能を用いてサーバ20へ送信する。例えば、誤検出通知部314は、ユーザの操作に応じて誤検出情報を出力する。
【0048】
[処理の動作]
次に、点検システム1において、自律走行するロボット10のセンサ13を利用して空間(例えば、施設、設備など)内の異常を検出する処理の動作について説明する。まず、異常検出の準備段階となる学習処理の動作について、
図6を参照して説明する。
【0049】
図6は、本実施形態に係る学習処理の一例を示すフローチャートである。例えば、ロボット10を自律走行させる前の準備段階としてロボット10が移動する空間内の地図を作成するときに得られたセンサデータを利用して、この学習処理が実行される。なお、地図を作成する場合、基本的に空間内に異常がない状態でロボット10を走行させるため、ここで得られる画像データは、異常が含まれない正常な画像データである。
【0050】
(ステップS101)ロボット10は、センサ13(例えば、可視光カメラ、赤外線カメラ、LiDAR、IMUなど)からセンサデータを取得する。そして、ステップS103へ進む。
【0051】
(ステップS103)ロボット10は、取得したセンサデータに基づいてロボット10の位置及び姿勢を算出する。例えば、ロボット10は、LiDARまたは可視光カメラを用いた位置推定(Localization)、SLAM(Simultaneous Localization Mapping)をなどの技術を用いて、ロボット10の位置及び姿勢を算出する。そして、ステップS105へ進む。
【0052】
(ステップS105)ロボット10は、センサ13により得られた画像(例えば、可視光カメラによって得られたカラー画像)の画像データと、その画像が得られたときのロボット10の位置及び姿勢を示す位置姿勢データとが関連付けられた移動体データをサーバ20へ送信する。サーバ20は、ロボット10から画像データと位置姿勢データとが関連付けられた移動体データを受信して学習用データ240として保存する(
図4参照)。そして、ステップS107へ進む。
【0053】
(ステップS107)サーバ20(学習装置220)は、ロボット10から取得した画像データを位置姿勢データ及び画像の模様に基づいて分割する。例えば、サーバ20(学習装置220)は、ロボット10から取得した画像データを、位置姿勢データ及び画像の模様に基づいて、デンドログラムを用いて模様が類似する画像ごとにグループ分けする。そして、ステップS110へ進む。
【0054】
ここで、サーバ20(学習装置220)は、分割された画像データ(グループ)の数の分、ステップS110からステップS117の処理(即ち、ステップS111、S115の処理)を繰り返す。
【0055】
(ステップS111)サーバ20(学習装置220)は、分割された画像データ毎(グループ毎)に学習を行うことにより学習済モデルを生成する。例えば、サーバ20(学習装置220)は、「PatchCore」などの異常検知用の学習モデルを使用して学習を行う。
【0056】
(ステップS115)サーバ20(学習装置220)は、ステップS111で生成した学習済モデルと位置姿勢データとを関連付けて学習済モデル260として保存する。サーバ20(学習装置220)は、分割された画像データ(グループ)の数の分、学習済モデルを生成すると、この学習処理を終了する。
【0057】
次に、
図6に示す学習処理で生成された学習済モデルを用いて異常を検出する推論処理の動作について、
図7を参照して説明する。例えば、ロボット10が自律走行しながら得られたセンサデータを利用して、この推論処理が実行される。
【0058】
図7は、本実施形態に係る推論処理の一例を示すフローチャートである。
(ステップS201)ロボット10は、センサ13(例えば、可視光カメラ、赤外線カメラ、LiDAR、IMUなど)からセンサデータを取得する。そして、ステップS203へ進む。
【0059】
(ステップS203)ロボット10は、取得したセンサデータに基づいてロボット10の位置及び姿勢を算出する。例えば、ロボット10は、LiDARまたは可視光カメラを用いた位置推定(Localization)、SLAM(Simultaneous Localization Mapping)をなどの技術を用いて、ロボット10の位置及び姿勢を算出する。そして、ステップS205へ進む。
【0060】
(ステップS205)ロボット10は、センサ13により得られた画像(例えば、可視光カメラによって得られたカラー画像)の画像データ(点検用の画像データ)と、その画像が得られたときのロボット10の位置及び姿勢を示す位置姿勢データとが関連付けられた移動体データをサーバ20へ送信する。サーバ20は、ロボット10から点検用の画像データと位置姿勢データとが関連付けられた移動体データを受信して点検用データ241として保存する。そして、ステップS207へ進む。
【0061】
(ステップS207)サーバ20(推論装置230)は、ロボット10から取得した点検用の画像データに関連付けられた位置姿勢データに基づいて、学習済モデル260から学習済モデルを取得する。そして、ステップS209へ進む。
【0062】
(ステップS209)サーバ20(推論装置230)は、ステップS207で取得した学習済モデルと点検用の画像データとに基づいて空間内の異常を検出する。そして、ステップS215へ進む。
【0063】
(ステップS215)サーバ20(推論装置230)は、検出した異常を示す異常データを異常データ270として保存して、推論処理を終了する。
【0064】
次に、
図7に示す推論処理による異常の検出結果を表示する検出結果表示処理の動作について、
図8を参照して説明する。
【0065】
図8は、本実施形態に係る検出結果表示処理の一例を示すフローチャートである。
(ステップS301)端末30は、サーバ20に問い合わせることによりサーバ20から異常データを取得する。そして、ステップS303へ進む。
【0066】
(ステップS303)端末30は、サーバ20から取得した異常データに基づいて、空間(例えば、施設、設備など)内の位置と関連付けて異常情報を表示装置33に表示する。例えば、端末30は、空間(例えば、施設、設備など)内の地図上に異常の位置がわかるように異常情報を表示装置33に表示する。
【0067】
図9は、本実施形態に係る異常情報の表示例を示すイメージ図である。例えば
図9の(A)に示す表示例では、サーバ20から取得した異常データに基づく2つの異常情報K1、K2が、異常候補として表示されている。異常情報K1、K2には、異常が検出された場所(例えば、1階のフロア)と、異常と判断された物体の大きさ、異常カ所の地図上の位置などが表示されている。なお、フロアの階数は、例えばロボット10がエレベータと連携することで、エレベータからロボット10へ通知することができる。
【0068】
異常情報K1または異常情報K2を選択する操作(例えば、タップ操作)をユーザが行うと、
図9の(B)に示すように、選択した異常情報の詳細画面が表示される。
図9の(B)に示す例は、異常情報K1の詳細画面の表示例であり、
図9の(A)で表示されている異常情報に加えて、異常と判断された画像P1が表示される。この画像P1では、廊下にマスクが落ちている場所が異常カ所と判断されている。ユーザは、この画像P1を見ることで、異常の内容を確認することができる。
【0069】
また、
図9の(B)に示すように詳細画面には、「誤検出確認」ボタンB1が表示されている。ユーザは、異常の内容を確認した結果により異常ではないと判断した場合、この「誤検出確認」ボタンB1に対して操作(例えば、タップ操作)することで、誤検出であることをサーバ20に通知することができる。
図8に戻り、「誤検出確認」ボタンB1に対して操作されたときの処理について、引き続き説明する。
【0070】
(ステップS305)端末30は、「誤検出確認」ボタンB1に対するユーザの操作の有無によって誤検出があったか否かを判定する。端末30は、ユーザにより「誤検出確認」ボタンB1に対して操作された場合(YES)、誤検出であると判定してステップS307へ進む。一方、端末30は、「誤検出確認」ボタンB1に対して操作されなかった場合(NO)、処理を終了する。
【0071】
(ステップS307)端末30は、ユーザにより誤検出と判断された異常の異常データが誤検出であることを示す誤検出情報をサーバ20へ送信する。サーバ20は、端末30から誤検出情報を取得すると、誤検出と判断された異常データを異常データ270から削除する。なお、サーバ20は、ユーザにより誤検出と判断された異常データ(画像データ)を正常データとして学習用データ240に蓄積し、再学習(追加学習)の際に利用してもよい。
【0072】
[第1の実施形態のまとめ]
以上説明してきたように、本実施形態に係る点検システム1は、自律走行するロボット10(移動体の一例)を用いてロボット10が移動する空間の点検を行う。例えば、点検システム1が備えるサーバ20は、データ送受信部210(移動体データ取得部の一例)と、データ分割部221と、学習部222と、学習済モデル取得部231と、推論部232(異常検出部の一例)と、を備えている。データ送受信部210は、ロボット10が備えるセンサ13により得られた画像の画像データと、当該画像が得られたときのロボット10の位置及び姿勢を示す位置姿勢データとが関連付けられた移動体データを取得する。データ分割部221は、データ送受信部210が取得した画像データを空間内の場所に関する情報に基づいて分割する。学習部222は、データ分割部221により分割された画像データ毎に学習を行うことにより学習済モデルを生成し、生成した学習済モデルと位置姿勢データとを関連付けて記憶させる。学習済モデル取得部231は、データ送受信部210が新たに取得した点検用の画像データに関連付けられた位置姿勢データに基づいて、学習部222により生成された学習済モデルを取得する。推論部232は、学習済モデル取得部231が取得した学習済モデルと点検用の画像データとに基づいて空間内の異常を検出する。
【0073】
これにより、点検システム1は、自律走行するロボット10に搭載されたセンサ13を用いて移動しながら様々な異常を検出することができる。例えば、点検システム1は、サイズがある程度大きい物体に限らず、サイズが小さい物体或いはサイズがほぼ無いような物体(例えば、ビニール、嘔吐物など)も検出対象として異常を検出することが可能である。また、点検システム1は、点検用にセンサを別途設ける必要が無いため、点検に係るコストを抑制することができる。
【0074】
例えば、データ分割部221は、上記空間内の場所に関する情報として位置姿勢データ及び画像の模様に基づいて、データ送受信部210が取得した画像データを分割する。
【0075】
これにより、点検システム1は、局所的なエリア(部屋など)毎に学習するのではなく、シーン(景色)が類似するある程度広いエリアの単位で学習を行って異常を検出することができる。
【0076】
また、点検システム1は、表示装置33(表示部の一例)を備えている。表示装置33は、推論部232により検出された異常を示す異常情報を空間内の位置と関連付けて表示する。
【0077】
これにより、点検システム1は、検出された異常の位置をユーザに分かりやすく提示することができる。
【0078】
例えば、点検システム1は、端末30を備えている。端末30は、推論部232により検出された異常を示す異常情報をネットワークを介して取得するデータ送受信部311(通信部の一例)と、データ送受信部311が取得した異常を示す異常情報を空間内の位置と関連付けて表示する表示装置33(表示部の一例)とを少なくとも備えている。
【0079】
これにより、点検システム1は、検出された異常の位置をユーザが使用する端末30を用いて提示することができるため、利便性が良い。
【0080】
また、点検システム1は、表示装置33に表示された異常を示す異常情報が誤検出であることを示す誤検出情報を、ユーザの操作に応じて出力する誤検出通知部314(誤検出情報出力部の一例)を備えている。
【0081】
これにより、点検システム1は、誤検出があった場合には、ユーザが容易に通知することができる。
【0082】
また、本実施形態に係る学習装置220は、自律走行するロボット10(移動体の一例)を用いてロボット10が移動する空間内の異常を検出する際に用いる学習済モデルを生成する。例えば、学習装置220は、データ送受信部210(移動体データ取得部の一例)と、データ分割部221と、学習部222と、を備えている。データ送受信部210は、ロボット10が備えるセンサ13により得られた画像の画像データと、当該画像が得られたときのロボット10の位置及び姿勢を示す位置姿勢データとが関連付けられた移動体データを取得する。データ分割部221は、データ送受信部210が取得した画像データを空間内の場所に関する情報に基づいて分割する。学習部222は、データ分割部221により分割された画像データ毎に学習を行うことにより学習済モデルを生成し、生成した学習済モデルと位置姿勢データとを関連付けて記憶させる。
【0083】
これにより、学習装置220は、ロボット10が移動する空間内の異常を検出する際に用いる学習済モデルを、自律走行するロボット10に搭載されたセンサ13から得られるデータを用いて生成することができる。よって、点検システム1は、自律走行するロボット10に搭載されたセンサ13を用いて移動しながら様々な異常を検出することができる。また、点検用にセンサを別途設ける必要が無いため、点検に係るコストを抑制することができる。
【0084】
また、本実施形態に係る推論装置230(異常検出装置の一例)は、自律走行するロボット10(移動体の一例)を用いてロボット10が移動する空間内の異常を検出する。例えば、推論装置230は、学習済モデル260(記憶部の一例)と、データ送受信部210(移動体データ取得部の一例)と、学習済モデル取得部231と、推論部232(異常検出部の一例)と、を備えている。学習済モデル260は、ロボット10が備えるセンサ13により得られた画像の画像データが空間内の場所に関する情報に基づいて分割された画像データ毎に学習された学習済モデルと、当該画像が得られたときのロボット10の位置及び姿勢を示す位置姿勢データとを関連付けて記憶する。データ送受信部210は、ロボット10が備えるセンサ13により得られた点検用の画像の画像データと、当該点検用の画像が得られたときのロボット10の位置及び姿勢を示す位置姿勢データとが関連付けられた移動体データを取得する。学習済モデル取得部231は、データ送受信部210が新たに取得した点検用の画像データに関連付けられた位置姿勢データに基づいて、学習済モデル260として記憶された学習済モデルを取得する。推論部232は、学習済モデル取得部231が取得した学習済モデルと点検用の画像データとに基づいて空間内の異常を検出する。
【0085】
これにより、推論装置230は、自律走行するロボット10に搭載されたセンサ13から得られるデータを用いて生成された学習済モデルを用いて、ロボット10が移動する空間内の様々な異常を検出することができる。また、点検用にセンサを別途設ける必要が無いため、点検に係るコストを抑制することができる。
【0086】
また、本実施形態に係る、自律走行するロボット10(移動体の一例)を用いてロボット10が移動する空間の点検を行う点検システム1における点検方法は、データ送受信部210(移動体データ取得部の一例)が、ロボット10が備えるセンサ13により得られた画像の画像データと、当該画像が得られたときのロボット10の位置及び姿勢を示す位置姿勢データとが関連付けられた移動体データを取得するステップと、データ分割部221が、データ送受信部210が取得した画像データを空間内の場所に関する情報に基づいて分割するステップと、学習部222が、データ分割部221により分割された画像データ毎に学習を行うことにより学習済モデルを生成し、生成した学習済モデルと位置姿勢データとを関連付けて記憶させるステップと、学習済モデル取得部231が、データ送受信部210が新たに取得した点検用の画像データに関連付けられた位置姿勢データに基づいて、学習部222により生成された学習済モデルを取得するステップと、推論部232(異常検出部の一例)が、学習済モデル取得部231が取得した学習済モデルと点検用の画像データとに基づいて空間内の異常を検出するステップと、を含む。
【0087】
これにより、点検システム1における点検方法は、自律走行するロボット10に搭載されたセンサ13を用いて移動しながら様々な異常を検出することができる。例えば、点検システム1における点検方法は、サイズがある程度大きい物体に限らず、サイズが小さい物体或いはサイズがほぼ無いような物体(例えば、ビニール、嘔吐物など)も検出対象として異常を検出することが可能である。また、点検システム1における点検方法は、点検用にセンサを別途設ける必要が無いため、点検に係るコストを抑制することができる。
【0088】
なお、本実施形態では、ロボット10が備えるセンサ13により得られた画像の画像データと、当該画像が得られたときのロボット10の位置及び姿勢を示す位置姿勢データとが関連付けられた移動体データを取得し、以降の処理で位置姿勢データを用いる例を説明したが、ロボット10の姿勢は処理に用いなくてもよい。
【0089】
例えば、データ送受信部210は、ロボット10が備えるセンサ13により得られた画像の画像データと、当該画像が得られたときのロボット10の位置を示す位置データとが関連付けられた移動体データを取得する。データ分割部221は、データ送受信部210が取得した画像データを、空間内の場所に関する情報として位置データ及び画像の模様に基づいて分割する。学習部222は、データ分割部221により分割された画像データ毎に学習を行うことにより学習済モデルを生成し、生成した学習済モデルと位置データとを関連付けて記憶させる。学習済モデル取得部231は、データ送受信部210が新たに取得した点検用の画像データに関連付けられた位置データに基づいて、学習部222により生成された学習済モデルを取得する。推論部232は、学習済モデル取得部231が取得した学習済モデルと点検用の画像データとに基づいて空間内の異常を検出する。
【0090】
このように、点検システム1は、ロボット10の姿勢をセンサ13で検出しなくとも、ロボット10が移動する空間内の様々な異常を検出することができる。
【0091】
また、データ分割部221は、データ送受信部210が取得した画像データを、空間内の場所に関する情報として画像の模様に基づいて分割してもよい。即ち、データ分割部221は、データ送受信部210が取得した画像データを、位置データまたは位置姿勢データを用いずに、画像の模様のみに基づいて分割してもよい。異常検出の対象となる空間内は、場所によって模様が類似する場所および類似しない場所が存在する。そのため、データ分割部221は、空間内の場所に関する情報として、ロボット10が備えるセンサ13により得られた画像の模様のみを用いて、模様が類似する画像ごとに画像データをグループ分けしても良い。
【0092】
<第2の実施形態>
本実施形態では、第1の実施形態に対して検出精度を向上するための処理を加えた態様について説明する。なお、本実施形態に係る点検システムの基本的なシステム構成及びハードウェア構成は、
図1に示す点検システム1の構成と同様であり、その説明を省略する。なお、本実施形態に係る点検システムは、点検システム1Aと記載して説明する。
【0093】
図10は、本実施形態に係る点検システム1Aの機能構成の一例を示す概略ブロック図である。点検システム1Aは、ロボット10、サーバ20A、及び端末30を備えている。ロボット10及び端末30の機能構成は、
図3に示すロボット10及び端末30の機能構成と同様である。サーバ20Aは、検出精度を向上するための処理を行う機能構成が追加されている点が
図3に示すサーバ20の機能構成と異なる。なお、サーバ20Aは、各種のデータを、学習用データ240、点検用データ241、事前学習モデル250、学習済モデル260、異常データ270等として記憶装置に保存する点は、
図3に示すサーバ20と同様である。ここでは、サーバ20Aの機能構成について、
図3に示すサーバ20の機能構成と異なる部分について説明する。
【0094】
サーバ20Aは、計算機21がプログラムを実行することにより実現される機能構成として、データ送受信部210と、学習装置220Aと、推論装置230Aとを備えている。学習装置220Aは、データ分割部221と、学習部222と、苦手領域判断部223とを備え、苦手領域判断部223を備える点が
図3に示す学習装置220と異なる。また、推論装置230Aは、学習済モデル取得部231と、推論部232と、床面検出部233と、時系列解析部234とを備え、床面検出部233及び時系列解析部234を備える点が
図3に示す推論装置230と異なる。
【0095】
学習装置220Aの苦手領域判断部223は、学習部222による学習結果に基づいて、空間内で異常の検出を苦手とする苦手領域を判断する。例えば、苦手領域判断部223は、PrecisionまたはRecallなどの分類指標を用いて、苦手領域を判断する。例えば、苦手領域判断部223は、正常な画像データをニューラルネットワークへ入力して学習させている際に出力されるベクトル(Embedding Vector)が正常状態のときに期待されるベクトルと離れているような場合、その画像が得られたシーン(分割された画像データのグループ)を異常検知の苦手領域と判断する。
【0096】
学習部222は、苦手領域判断部223により苦手領域と判断されたシーン(分割された画像データのグループ)については異常を検出する領域から除き、学習済モデルを保存しない。なお、学習部222は、苦手領域の学習済モデルも生成してもよい。推論装置230Aにより苦手領域で異常が検出された場合には、検出された異常が苦手領域である旨をユーザに通知してもよい。
【0097】
推論装置230Aの床面検出部233は、点検用の画像データと点検用の画像データに関連付けられ位置姿勢データとに基づいて、空間内の床面部分を検出する。床面とは、ロボット10が移動する空間内の床の表面を指しており、当該空間が屋外であれば地面、路面なども含まれる。床面検出部233は、点群データまたは距離画像データなどを用いて平面を検出した後、法線を元に床面を検出する。
【0098】
異常な物体は床面上に存在していることが多いため、推論部232は、異常を検出する領域を床面上のみに制限をかけてもよい。例えば、推論部232は、異常の検出結果と床面検出部233により床面部分とに基づいて、空間内の床面部分の異常を検出する。
【0099】
時系列解析部234は、推論部232により検出された複数フレームの点検用の画像データに対する異常の検出結果を時系列に解析し、異常の確からしさを判断する。つまり、時系列解析部234は、複数フレームを使ったフィルタリングを行う。AI全般の問題として、ごくまれに特定のフレームで異常では無いにも関わらず、異常と判断される場合がある。時系列解析部234は、このようなフレームの異常を除去するため、複数フレームを使ってフィルタリングする。具体的には、時系列解析部234は、過去の数フレームの検出結果と照らし合わせて判断する。一例として位置及び姿勢を使った同定方法を説明する。
【0100】
時刻tで得られた位置・姿勢を以下に示す数式1とすると、検出した異常の位置は、以下の数式2で示される。
【0101】
【0102】
【0103】
同様に過去数フレームからも異常の位置を得る。jフレーム前の異常の位置は、以下の数式3と示すことができる(j:正の整数)。
【0104】
【0105】
複数のフレームで検出された異常の位置の距離は、例えば以下の数式4と示すことができ、これを元に異常か否かの同定を行う。異常の検出確率が低い場合には誤検知と判断し、異常とみなさない。
【0106】
【0107】
次に、点検システム1Aにおける学習処理の動作について、
図11を参照して説明する。
図11は、本実施形態に係る学習処理の一例を示すフローチャートである。この図に示す学習処理は、
図3に示す学習処理に対してステップS113の処理が追加されている点が異なる。その他のステップで行われる処理は同様の処理であり、その説明を省略する。
【0108】
(ステップS113)サーバ20(学習装置220)は、ステップS111で行った学習結果に基づいて、空間内で異常の検出を苦手とする苦手領域を判断する。例えば、苦手領域判断部223は、PrecisionまたはRecallなどの分類指標を用いて、苦手領域を判断する。そして、サーバ20(学習装置220)は、ステップS115では、苦手領域以外の学習済モデルを位置姿勢データと関連付けて学習済モデル260として保存する。
【0109】
次に、点検システム1Aにおける推論処理の動作について、
図12を参照して説明する。
図12は、本実施形態に係る推論処理の一例を示すフローチャートである。この図に示す推論処理は、
図4に示す推論処理に対してステップS211,S213の処理が追加されている点が異なる。その他のステップで行われる処理は同様の処理であり、その説明を省略する。
【0110】
(ステップS211)サーバ20(推論装置230)は、点検用の画像データと点検用の画像データに関連付けられ位置姿勢データとに基づいて、空間内の床面部分を検出する。そして、サーバ20(推論装置230)は、ステップS209により検出された異常のうち床面部分の異常を検出する。そして、ステップS213へ進む。
【0111】
(ステップS213)サーバ20(推論装置230)は、複数フレームの点検用の画像データに対する異常の検出結果を時系列に解析してフィルタリングを行う。例えば、サーバ20(推論装置230)は、上述したような位置及び姿勢を使った同定方法を用いて、過去の数フレームの検出結果と照らし合わせて異常か否かの同定を行い、異常の検出確率が低い場合には誤検知と判断し、異常とみなさない。そして、ステップS215へ進み、サーバ20(推論装置230)は、床面部分の異常を時系列に解析してフィルタリングを行った上で、異常と判断された異常データを異常データ270として保存して、推論処理を終了する。
【0112】
[第2の実施形態のまとめ]
以上説明してきたように、本実施形態に係る点検システム1Aは、学習部222による学習結果に基づいて、空間内で異常の検出を苦手とする苦手領域を判断する苦手領域判断部223をさらに備えている。
【0113】
例えば、点検システム1Aは、苦手領域を異常の検出対象から除外してもよい。また、点検システム1Aは、苦手領域に異常が検出されてもユーザに異常を通知しなくても良い。例えば、点検システム1Aは、苦手領域に検出された異常の異常データを端末30に送信しなくても良い。また、点検システム1Aは、検出された異常が苦手領域である旨をユーザに通知し、ユーザに確認させてもよい。
【0114】
これにより、点検システム1Aは、自律走行するロボット10に搭載されたセンサ13を用いて移動しながら異常を検出する際に誤検出を抑制することができ、検出精度を向上させることができる。
【0115】
また、本実施形態に係る点検システム1Aは、点検用の画像データと点検用の画像データに関連付けられ位置姿勢データとに基づいて、空間内の床面部分を検出する床面検出部233をさらに備えている。そして、推論部232(異常検出部はの一例)は、学習済モデル取得部231が取得した学習済モデルと点検用の画像データとに基づいて空間内の床面部分の異常を検出する。
【0116】
これにより、点検システム1Aは、異常な物体は床面上に存在していることが多いため、異常を検出する領域を床面上のみに制限することで検出精度を向上させることができる。
【0117】
また、本実施形態に係る点検システム1Aは、推論部232により検出された複数フレームの点検用の画像データに対する異常の検出結果を時系列に解析し、異常の確からしさを判断する時系列解析部234をさらに備えている。
【0118】
これにより、点検システム1Aは、ごくまれに特定のフレームで異常では無いにも関わらず、異常と判断される場合がAI全般の問題としてあるが、このようなフレームの異常を除去することができるため、検出精度を向上させることができる。
【0119】
なお、本実施形態において、検出精度を向上するための処理を行う機能構成として苦手領域判断部223、床面検出部233、及び時系列解析部234について説明したが、苦手領域判断部223、床面検出部233、及び時系列解析部234の全てを適用する構成に限定されるものではなく、一部の構成を適用してもよい。
【0120】
[変形例]
上記実施形態における異常検出をロボット10の制御に生かしても良い。例えば、ロボット10は、検出された異常の位置を避けるように自律走行しても良い。この場合、推論装置230(230A)による異常検出の機能をロボット10が備えても良い。
【0121】
また、上記実施形態でロボット10から得るデータに基づいて学習を行うことを説明してが、全てのデータを学習に使用すると計算時間がかかるため、サンプリングを行っても良い。例えば、数フレームのデータの一つに基づいて学習を行っても良い。もしくは、位置または姿勢が予め設定された閾値以上変化したフレームのみを学習に使用しても良い。例えば、SLAM内部で使われるKey frameは同様のルールで検出されるため、Key frameを使用して学習しても良い。
【0122】
また、上記実施形態では、データ分割部221が位置姿勢データ及び画像の模様に基づいて画像データを分割する例を説明したが、他のデータに基づいて画像データを分割してもよい。例えば、エレベータにロボット10へ階床を伝える機能がある場合、データ分割部221は、画像が得られたときの階床を示す階床データに基づいて画像データを分割してもよい。また、データ分割部221は、単に画像が得られたときのロボット10の位置に基づいて画像データを分割しても良いし、入退場システムによりロボット10が入場しているか否かがわかる場合、画像が得られたときにロボット10が入場しているか否かに基づいて画像データを分割しても良い。即ち、データ分割部221は、空間内の場所に関する情報に基づいて画像データを分割する。
【0123】
なお、上記実施形態において異常が検出されたとしても、実際は異常で無い物体であるケースも考えられる。例えば、ホテルまたはオフィスビルの場合、人や鞄は異常で無い可能性が高い。これらの実際には異常でない物体が異常と誤検出されることを防ぐために、一般的な物体を検出する一般物体検出AIと組み合わせて異常を検出する構成としても良い。例えば、一般物体検出AIで人や鞄を検出し、この範囲と異常が検出された範囲が一致していれば、誤検出(異常ではない)と判断する構成としても良い。
【0124】
また、上記実施形態において、「異常」とは正常時には存在しない物体が存在することとして説明したが、例えば、蛍光灯が切れかかっているといったような異常も、点検システム1(1A)において検出可能である。点検システム1(1A)は、正常な状態に対する変化を画像で検出できれば異常として検出可能である。
【0125】
なお、上述した点検システム1が備えるロボット10、サーバ20、及び端末30のそれぞれは、内部にコンピュータシステムを有している。そして、上述したロボット10、サーバ20、及び端末30のそれぞれが備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述したロボット10、サーバ20、及び端末30のそれぞれが備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD-ROM等の非一過性の記録媒体であってもよい。
【0126】
また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後にロボット10、サーバ20、及び端末30のそれぞれが備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0127】
また、上述した実施形態におけるロボット10、サーバ20、及び端末30のそれぞれが備える各機能の一部、または全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。各機能は個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【0128】
以上、本開示の実施形態について図面を参照して詳述してきたが、具体的な構成はこれらの実施形態に限られるものではなく、本開示の実施形態を適宜、変形、省略したりすることが可能である。
【符号の説明】
【0129】
1,1A 点検システム、10 ロボット、11 計算機、12 通信機、13 センサ、14 移動装置、20,20A サーバ、21 計算機、22 通信機、30 端末
31 計算機、32 通信機、33 表示装置、34 入力装置、111 データ送受信部、112 センサデータ取得部、113 位置姿勢推定部、114制御部、210 データ送受信部、220,220A 学習装置、221 データ分割部、222 学習部、223 苦手領域判断部、230,230A 推論装置、231 学習済モデル取得部、232 推論部、233 床面検出部、234 時系列解析部、240 学習用データ、241 点検用データ、250 事前学習モデル、260 学習済モデル、270 異常データ、311 データ送受信部、312 問い合わせ部、313 異常表示部、314 誤検出通知部