(57)【要約】【課題】人工知能を用いて作業車両の動作を容易、且つ、精度良く判定する。【解決手段】本発明に係る方法は、コンピュータによって実行される方法であって、以下の処理を含む。第１の処理は、動作データを取得することである。動作データは、動作中の作業車両を時系列的に示す複数の画像から生成されたデータであり、作業車両の動作変化を示す。第２の処理は、学習済みの分類モデルを用いた画像分類を実行することにより、動作データから作業車両の動作の分類を決定することである。【選択図】図３
2019087200.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによって実行される方法であって、
動作中の作業車両を時系列的に示す複数の画像から生成された前記作業車両の動作変化を示す動作データを取得することと、
学習済みの分類モデルを用いた画像分類を実行することにより、前記動作データから前記作業車両の動作の分類を決定することと、
を備える方法。
【請求項２】
前記動作データは、前記複数の画像の画素値を合成することで得られる、
請求項１に記載の方法。
【請求項３】
前記動作データは、前記複数の画像を重ね合わせて生成された重ね合わせ画像を示す、
請求項１に記載の方法。
【請求項４】
前記動作データは、前記複数の画像に含まれる一群の画像を示す、
請求項１に記載の方法。
【請求項５】
前記動作データは、前記複数の画像において互いに対応する画素の画素値の平均値で表される、
請求項１に記載の方法。
【請求項６】
動作中の前記作業車両を撮影した動画を取得することと、
前記動画から前記複数の画像を抜き出すことと、
抜き出した前記複数の画像から、前記動作データを生成すること、
をさらに備える、
請求項１から５のいずれかに記載の方法。
【請求項７】
前記複数の画像を抜き出すことは、前記動画に含まれる連続したフレームの一部を飛ばして前記画像を抜き出すことを含む、
請求項６に記載の方法。
【請求項８】
前記動作データを生成することは、抜き出した前記複数の画像の一部を他と異なる濃さに変えることを含む、
請求項６又は７に記載の方法。
【請求項９】
前記動作データを生成することは、前記複数の画像をグレースケール化することを含む、
請求項１から８のいずれかに記載の方法。
【請求項１０】
前記分類が示す前記作業車両の動作時間を記録することと、
前記分類と前記動作時間とを含む管理データを生成すること、
をさらに備える、
請求項１から９のいずれかに記載の方法。
【請求項１１】
前記分類モデルは、ニューラルネットワークを含む、
請求項１から１０のいずれかに記載の方法。
【請求項１２】
学習済みの分類モデルと、
プロセッサと、
を備え、
前記プロセッサは、
動作中の作業車両を時系列的に示す複数の画像から生成された前記作業車両の動作変化を示す動作データを取得し、
前記分類モデルを用いた画像分類を実行することにより、前記動作データから前記作業車両の動作の分類を決定するようにプログラムされている、
システム。
【請求項１３】
前記作業車両の動画を撮影するカメラをさらに備え、
前記プロセッサは、
前記カメラから前記動画を取得し、
前記動画から前記複数の画像を抜き出し、
抜き出した前記複数の画像から、前記動作データを生成するようにプログラムされている、
請求項１２に記載のシステム。
【請求項１４】
前記プロセッサは、
前記分類が示す前記作業車両の動作時間を記録し、
前記分類と前記動作時間とを含む管理データを生成するようにプログラムされている、
請求項１２又は１３に記載のシステム。
【請求項１５】
前記分類モデルは、ニューラルネットワークを含む、
請求項１２から１４のいずれかに記載のシステム。
【請求項１６】
学習済み分類モデルの製造方法であって、
動作中の作業車両を時系列的に示す複数の画像から生成された前記作業車両の動作変化を示す動作データと、前記動作データに割り当てられた前記作業車両の動作の分類とを含む学習データを取得することと、
前記学習データにより前記分類モデルを学習させること、
を備える製造方法。
【請求項１７】
動作中の前記作業車両を撮影した動画を取得することと、
前記動画から前記複数の画像を抜き出すことと、
抜き出した前記複数の画像から、前記動作データを生成することと、
前記動作データに前記作業車両の動作の分類を割り当てること、
をさらに備える、
請求項１６に記載の製造方法。
【請求項１８】
分類モデルを学習させるための学習データであって、
動作中の作業車両を時系列的に示す複数の画像から生成された前記作業車両の動作変化を示す動作データと、
前記動作データに割り当てられた前記作業車両の動作の分類と、
を備える学習データ。
【請求項１９】
前記動作データは、前記複数の画像を重ね合わせて生成された重ね合わせ画像を示し、  前記重ね合わせ画像は、
元の画像と、
前記元の画像に対して、縮小、拡大、回転、平行移動、左右反転、及び色の変更のうちの１つ以上を施した複数の加工済み画像と、
を含む、
請求項１８に記載の学習データ。
【請求項２０】
分類モデルを学習させるための学習データの製造方法であって、
動作中の作業車両を時系列的に示す複数の画像を取得することと、
前記複数の画像から前記作業車両の動作変化を示す動作データを生成することと、
前記動作データに割り当てられる前記作業車両の動作の分類を取得すること、
を備える製造方法。
【請求項２１】
前記作業車両を撮影した動画を取得することをさらに備え、
前記複数の画像を取得することは、前記動画から前記複数の画像を抜き出すことを含む、
請求項２０に記載の製造方法。
【請求項２２】
学習済み分類モデルの製造方法であって、
動作中の作業車両を時系列的に示す複数の画像から生成された前記作業車両の動作変化を示す動作データを取得することと、
学習済みの第１の分類モデルを用いた画像分類を実行することにより、前記動作データから前記作業車両の動作の分類を決定することと、
前記動作データと、決定された前記作業車両の動作の分類とを含む学習データにより、第２の分類モデルを学習させること、
を備える製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人工知能を用いて作業車両の動作を推定するための方法、システム、学習済みの分類モデルの製造方法、学習データ、及び学習データの製造方法に関する。
【背景技術】
【０００２】
従来、作業車両が行っている動作をコンピュータによって推定する技術が知られている。例えば、油圧ショベルは、掘削、旋回、或いは排土などの動作を行う。特許文献１では、油圧ショベルのこれらの作業を、油圧ショベルに備えられたセンサからの検出値に基づいて、コントローラが判定している。例えば、油圧ショベルは、回転速度センサ、圧力センサ、及び複数の角度センサを備えている。回転速度センサは、エンジンの回転速度を検出する。圧力センサは、油圧ポンプの吐出圧を検出する。複数の角度センサは、ブーム角度、アーム角度、及びバケット角度を検出する。コントローラは、これらのセンサからの検出値に基づいて、油圧ショベルが実行している作業を判定する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１０３３０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上記の技術では、センサを備えていない作業車両の動作を判定することはできない。また、作業車両がセンサを備えていても、作業車両がコンピュータとの通信装置を備えていなければ、コンピュータは、センサが検出した情報を作業車両から取得することができない。従って、その場合も、コンピュータによって作業車両の動作を判定することはできない。
【０００５】
また、作業現場に配置された複数の作業車両を管理するために各作業車両の動作を判定する場合、全ての作業車両が、センサ、或いはコンピュータとの通信装置を備えているとは限らない。従って、作業現場に配置された複数の作業車両を管理するために各作業車両の動作を判定することは容易ではない。
【０００６】
一方、近年、人や物の動作を撮影した動画を人工知能によって解析することで、どのような動作が行われているかをコンピュータが判定する技術が研究されている。例えば、動画を扱う人工知能のモデルとして、再帰型ニューラルネットワーク（RNN）などが研究されている。このような人工知能技術を用いて、作業車両の動作を撮影した動画を解析することができれば、作業車両の動作をコンピュータによって容易に判定することができる。しかし、上記のような動画をそのまま扱う人工知能のモデルは、認識精度などの問題により、実用化は未だ困難である。
【０００７】
本発明の目的は、人工知能を用いて作業車両の動作を容易、且つ、精度良く判定することにある。
【課題を解決するための手段】
【０００８】
第１の態様は、コンピュータによって実行される方法であって、以下の処理を含む。第１の処理は、動作データを取得することである。動作データは、動作中の作業車両を時系列的に示す複数の画像から生成された作業車両の動作変化を示すデータである。第２の処理は、学習済みの分類モデルを用いた画像分類を実行することにより、動作データから作業車両の動作の分類を決定することである。
【０００９】
第２の態様は、システムであって、学習済みの分類モデルと、プロセッサとを含む。プロセッサは、以下の処理を実行するようにプログラムされている。プロセッサは、動作データを取得する。動作データは、動作中の作業車両を時系列的に示す複数の画像から生成された作業車両の動作変化を示すデータである。プロセッサは、分類モデルを用いた画像分類を実行することにより、動作データから作業車両の動作の分類を決定する。
【００１０】
第３の態様は、学習済みの分類モデルの製造方法であって、以下の処理を含む。第１の処理は、学習データを取得することである。学習データは、動作データと、動作データに割り当てられた作業車両の動作の分類とを含む。動作データは、動作中の作業車両を時系列的に示す複数の画像から生成された作業車両の動作変化を示すデータである。第２の処理は、学習データにより分類モデルを学習させることである。
【００１１】
第４の態様は、分類モデルを学習させるための学習データであって、動作データと、動作データに割り当てられた作業車両の動作の分類とを含む。動作データは、動作中の作業車両を時系列的に示す複数の画像から生成された作業車両の動作変化を示すデータである。
【００１２】
第５の態様は、分類モデルを学習させるための学習データの製造方法であって、以下の処理を含む。第１の処理は、動作中の作業車両を時系列的に示す複数の画像を取得することである。第２の処理は、複数の画像から作業車両の動作変化を示す動作データを生成することである。第３の処理は、動作データに割り当てられる作業車両の動作の分類を取得することである。
【００１３】
第６の態様は、学習済み分類モデルの製造方法であって、以下の処理を含む。第１の処理は、動作データを取得することである。動作データは、動作中の作業車両を時系列的に示す複数の画像から生成された作業車両の動作変化を示すデータである。第２の処理は、学習済みの第１の分類モデルを用いた画像分類を実行することにより、動作データから作業車両の動作の分類を決定することである。第３の処理は、動作データと、決定された作業車両の動作の分類とを含む学習データにより、第２の分類モデルを学習させることである。
【発明の効果】
【００１４】
本発明では、複数の画像から生成された動作データから、作業車両の動作の分類を決定する。従って、静止画像の分類に適した人工知能の分類モデルを利用して、作業車両の動作を推定することができる。それにより、人工知能を用いて作業車両の動作を容易、且つ、精度良く判定することができる。
【図面の簡単な説明】
【００１５】
【図１】実施形態に係る分類システムを示す模式図である。
【図２】分類システムのコンピュータの構成を示す模式図である。
【図３】コンピュータに実装された分類システムの構成を示す模式図である。
【図４】ニューラルネットワークの構成を示す模式図である。
【図５】作業車両の動作を推定するための処理を示すフローチャートである。
【図６】動画データに含まれる複数の画像の一例を示す図である。
【図７】図６に示す動画データに含まれる第１〜第３の画像を重ね合わせた重ね合わせ画像の一例を示す図である。
【図８】図６に示す動画データに含まれる第２〜第４の画像を重ね合わせた重ね合わせ画像の一例を示す図である。
【図９】動画データに含まれる複数の画像の他の例を示す図である。
【図１０】図９に示す動画データに含まれる第１〜第３の画像を重ね合わせた重ね合わせ画像の一例を示す図である。
【図１１】図９に示す動画データに含まれる第２〜第４の画像を重ね合わせた重ね合わせ画像の一例を示す図である。
【図１２】動画データに含まれる複数の画像の他の例を示す図である。
【図１３】図１２に示す動画データに含まれる第１〜第３の画像を重ね合わせた重ね合わせ画像の一例を示す図である。
【図１４】図１２に示す動画データに含まれる第２〜第４の画像を重ね合わせた重ね合わせ画像の一例を示す図である。
【図１５】入力層に入力される画素値の演算方法の一例を示す図である。
【図１６】学習システムの構成を示す模式図である。
【図１７】学習システムが実装されたコンピュータの構成を示す模式図である。
【図１８】学習データを生成するための処理を示すフローチャートである。
【図１９】加工済み画像の例を示す図である。
【図２０】学習データによって分類モデルを学習させるための処理を示すフローチャートである。
【図２１】変形例に係る分類システムを示す図である。
【図２２】蒸留モデルを生成するための処理を示すフローチャートである。
【図２３】変形例に係る動作データの一例を示す図である。
【図２４】変形例に係る動作データの演算方法の一例を示す図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照して実施形態について説明する。図１は、実施形態に係る分類システム１００を示す模式図である。分類システム１００は、作業車両１が行っている動作を推定するためのシステムである。図１に示すように分類システム１００は、カメラ１０１とコンピュータ１０２とを含む。
【００１７】
カメラ１０１は、作業車両１が配置された作業現場に配置されている。カメラ１０１は、作業車両１の外部から作業車両１を撮影し、作業車両１の動画を撮影する。コンピュータ１０２は、カメラ１０１と無線、或いは有線により通信を行う。カメラ１０１は、撮影した動画を示す動画データをコンピュータ１０２に送信する。コンピュータ１０２は、通信ネットワークを介して、カメラ１０１から動画データを受信してもよい。コンピュータ１０２は、記録媒体を介してカメラ１０１から動画データを受信してもよい。
【００１８】
コンピュータ１０２は、作業現場に配置されてもよい。或いは、コンピュータ１０２は、作業現場から離れた管理センターに配置されてもよい。コンピュータ１０２は、分類システム１００用に専用に設計されたものであってもよく、或いは汎用のＰＣ（Personal Computer）であってもよい。コンピュータ１０２は、カメラ１０１から動画データを受信する。コンピュータ１０２は、人工知能の分類モデルを用いることで、作業車両１の動作の分類を決定する。
【００１９】
分類システム１００は、カメラ１０１を複数有してもよい。複数のカメラ１０１は、複数の作業車両１の動画を撮影してもよい。コンピュータ１０２は、複数のカメラ１０１のそれぞれから、動画データを受信してもよい。
【００２０】
図２は、コンピュータ１０２の構成を示す模式図である。図２に示すように、コンピュータ１０２は、プロセッサ１０３と、記憶装置１０４と、通信インタフェース１０５と、Ｉ／Ｏインタフェース１０６とを含む。プロセッサ１０３は、例えばＣＰＵ（Central Processing Unit）である。記憶装置１０４は、記録されたプログラム及びデータなどの情報をプロセッサ１０３が読み取り可能なように記録する媒体を含む。記憶装置１０４は、ＲＡＭ（Random Access Memory）、或いはＲＯＭ（Read Only Memory）などのシステムメモリと、補助記憶装置とを含む。補助記憶装置は、例えばハードディスク等の磁気的記録媒体、ＣＤ、ＤＶＤ等の光学的記録媒体、或いは、フラッシュメモリ等の半導体メモリであってもよい。記憶装置１０４は、コンピュータ１０２に内蔵されてもよい。記憶装置１０４は、コンピュータ１０２に着脱可能に接続される外部記録媒体を含んでもよい。
【００２１】
通信インタフェース１０５は、例えば有線ＬＡＮ（Local Area Network）モジュール、或いは無線ＬＡＮモジュール等であり、通信ネットワークを介した通信を行うためのインタフェースである。Ｉ／Ｏインタフェース１０６は、例えばＵＳＢ（Universal Serial Bus）ポート等であり、外部装置と接続するためのインタフェースである。
【００２２】
コンピュータ１０２は、Ｉ／Ｏインタフェース１０６を介して、入力装置１０７、及び出力装置１０８と接続される。入力装置１０７は、ユーザーがコンピュータ１０２への入力を行うための装置である。入力装置１０７は、例えば、マウス、或いはトラックボール等のポインティングデバイスを含む。入力装置１０７は、キーボード等の文字入力のための装置を含んでもよい。出力装置１０８は、例えば、ディスプレイを含む。
【００２３】
図３は、分類システム１００の構成の一部を示す図である。図３に示すように、分類システム１００は、画像生成モジュール１１０と、学習済みの分類モデル１１１とを含む。画像生成モジュール１１０と学習済みの分類モデル１１１とは、コンピュータ１０２に実装されている。画像生成モジュール１１０と学習済みの分類モデル１１１とは、コンピュータの記憶装置１０４に保存されていてもよい。
【００２４】
本実施形態において、モジュール及びモデルは、ハードウェア、ハードウェア上で実行可能なソフトウェア、ファームウェア、或いはそれらの組合せに実装されていてもよい。モジュール及びモデルは、プロセッサによって実行されるプログラム、アルゴリズム、及びデータを含んでもよい。モジュール及びモデルの機能は、単一のモジュールによって実行されてもよく、或いは複数のモジュールに分散して実行されてもよい。モジュール及びモデルは、複数のコンピュータに分散して配置されてもよい。
【００２５】
画像生成モジュール１１０は、作業車両１の動画データＤ１１から、後述する重ね合わせ画像を示す画像データＤ１２を生成する。重ね合わせ画像は、動作中の作業車両１を時系列的に示す一連の複数の画像を重ね合わせた画像である。なお、ここでいう「画像」とは、静止画像を意味する。「一連の複数の画像」とは、動画中に含まれる完全に連続したフレームの複数の画像に限らず、所定数のフレームを飛ばした複数の画像を含む。
【００２６】
分類モデル１１１は、画像分類のための人工知能モデルである。分類モデル１１１は、入力された画像を解析して、画像に対応する分類を出力する。後述するように、コンピュータ１０２は、画像データＤ１２が示す重ね合わせ画像に対して、人工知能の分類モデル１１１を用いた画像分類を実行することにより、作業車両１の動作の分類を決定する。分類モデル１１１は、決定した動作の分類を示す出力データＤ１３を出力する。
【００２７】
分類モデル１１１は、図４に示すニューラルネットワーク１２０を含む。例えば、分類モデル１１１は、畳み込みニューラルネットワーク（CNN）などのディープニューラルネットワークを含む。
【００２８】
図４に示すように、ニューラルネットワーク１２０は、入力層１２１、中間層１２２（隠れ層）、及び出力層１２３を含む。各層１２１，１２２，１２３は、１又は複数のニューロンを備えている。例えば、入力層１２１のニューロンの数は、重ね合わせ画像の画素数に応じて設定することができる。中間層１２２のニューロンの数は、適宜設定することができる。出力層１２３は、作業車両１の動作の分類数に応じて設定することができる。
【００２９】
互いに隣接する層のニューロン同士は結合されており、各結合には重み（結合荷重）が設定されている。ニューロンの結合数は、適宜設定されてよい。各ニューロンには閾値が設定されており、各ニューロンへの入力値と重みとの積の和が閾値を超えているか否かによって各ニューロンの出力値が決定される。
【００３０】
入力層１２１には、作業車両１の動作を示す動作データが入力される。動作データは、動作中の作業車両を時系列的に示す複数の画像から生成されたデータであり、作業車両の動作変化を示す。動作データについては後述する。出力層１２３には、分類された各動作の確率を示す出力値が出力される。分類モデル１１１は、動作データが入力されると、分類された各動作の確率を示す出力値を出力するように学習済みである。学習によって得られた分類モデル１１１の学習済みパラメータは、記憶装置１０４に記憶されている。学習済みパラメータは、例えば、ニューラルネットワーク１２０の層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロン間の結合の重み、及び各ニューロンの閾値を含む。
【００３１】
なお、各動作の分類は、作業車両１の種類に応じて決定されてもよい。例えば、作業車両１が油圧ショベルであるときには、動作の分類は、「掘削」、「旋回」、及び「排土」を含んでもよい。「旋回」は、「ホイスト旋回」と「ダウン旋回」とを含んでもよい。ただし、動作の分類の一部が変更、或いは省略されてもよい。或いは、動作の分類は、他の分類をさらに含んでもよい。
【００３２】
図５は、作業車両１の動作を推定するためにコンピュータ１０２（プロセッサ１０３）によって実行される処理を示すフローチャートである。図５に示すように、ステップＳ１０１では、コンピュータ１０２は、カメラ１０１が撮影した作業車両１の動画データＤ１１を取得する。コンピュータ１０２は、カメラ１０１が撮影した動画データＤ１１をリアルタイムに取得してもよい。或いは、コンピュータ１０２は、カメラ１０１が撮影した動画データＤ１１を所定時刻に、或いは所定時間ごとに取得してもよい。コンピュータ１０２は、動画データＤ１１を記憶装置１０４に保存する。
【００３３】
ステップＳ１０２では、コンピュータ１０２は、動画データＤ１１から、作業車両１の動作を示す一連の複数の画像を抜き出す。図６は、動画データＤ１１の一例（以下、「動画データＭＶ１」と記す）に含まれる複数の画像を示す図である。図６では、動画データＭＶ１に含まれる複数の画像の一部（画像Ｆ１１−Ｆ１４）のみが例示されている。コンピュータ１０２は、動画データＭＶ１に含まれる複数の画像Ｆ１１−Ｆ１４のうち、所定フレーム数の画像を抜き出す。
【００３４】
ステップＳ１０３では、コンピュータ１０２は、抜き出した複数の画像を重ね合わせて、重ね合わせ画像を生成する。重ね合わせ画像は、上述した作業車両の動作変化を示す動作データの一例である。コンピュータ１０２は、複数の画像を透過させて互いに重ね合わせることで、重ね合わせ画像を生成する。重ね合わせ画像は、動画から抜き出した複数の画像を互いに重ね合わせることで合成した静止画像である。コンピュータ１０２は、重ね合わせ画像を示す画像データＤ１２を記憶装置１０４に保存する。
【００３５】
図７は、図６に示す動画データＭＶ１に含まれる第１〜第３の画像Ｆ１１−Ｆ１３を重ね合わせた重ね合わせ画像ＩＭ１１の一例を示す図である。図８は、図６に示す動画データＭＶ１に含まれる第２〜第４の画像Ｆ１２−Ｆ１４を重ね合わせた重ね合わせ画像ＩＭ１２の一例を示す図である。図６に示す動画データＭＶ１は、旋回中の作業車両１を撮影して得られたものである。図７及び図８に示すように、重ね合わせ画像ＩＭ１１，ＩＭ１２では、旋回中の作業車両１の異なる複数の姿勢が１枚の静止画中に示されている。
【００３６】
図９は、動画データＤ１２の他の例（以下、「動画データＭＶ２」と記す）に含まれる複数の画像の一部を示す図である。図９に示す動画データＭＶ２は、排土中の作業車両１を撮影して得られたものである。図１０は、図９に示す動画データＭＶ２に含まれる第１〜第３の画像Ｆ２１−Ｆ２３を重ね合わせた重ね合わせ画像ＩＭ２１の一例を示す図である。図１１は、図９に示す動画データＭＶ２に含まれる第２〜第４の画像Ｆ２２−Ｆ２４を重ね合わせた重ね合わせ画像ＩＭ２２の一例を示す図である。図１０及び図１１に示すように、重ね合わせ画像ＩＭ２１，ＩＭ２２では、排土中の作業車両１の異なる複数の姿勢が、１枚の静止画中に示されている。
【００３７】
図１２は、動画データＤ１１のさらに他の例（以下、「動画データＭＶ３」と記す）に含まれる複数の画像の一部を示す図である。図１２に示す動画データＭＶ３は、掘削中の作業車両１を撮影して得られたものである。図１３は、図１２に示す動画データＭＶ３に含まれる第１〜第３の画像Ｆ３１−Ｆ３３を重ね合わせた重ね合わせ画像ＩＭ３１の一例を示す図である。図１４は、図１２に示す動画データＭＶ３に含まれる第２〜第４の画像Ｆ３２−Ｆ３４を重ね合わせた重ね合わせ画像ＩＭ３２の一例を示す図である。図１３及び図１４に示すように、重ね合わせ画像ＩＭ３１，ＩＭ３２では、掘削中の作業車両１の異なる複数の姿勢が、１枚の静止画中に示されている。
【００３８】
ステップＳ１０４では、コンピュータ１０２は、学習済みの分類モデル１１１を用いた画像分類を実行する。コンピュータ１０２は、ステップＳ１０３で生成した重ね合わせ画像を、分類モデル１１１への入力データとして用いて、上述したニューラルネットワーク１２０に基づく画像分類を実行する。
【００３９】
例えば、コンピュータ１０２は、重ね合わせ画像に含まれる画素値をニューラルネットワーク１２０の入力層１２１に含まれる各ニューロンに入力する。図１５は、入力層１２１に入力される画素値の演算方法の一例を示す図である。図１５において、「ｉｍａｇｅ＿１」は、第１の画像の画素値を示している。「ｉｍａｇｅ＿２」は、第２の画像の画素値を示している。「ｉｍａｇｅ＿３」は、第３の画像の画素値を示している。なお、図１５に示されている数値は例示であり、これに限定されるものではない。
【００４０】
図１５に示すように、コンピュータ１０２は、第１〜第３の画像の画素値を合成することで、入力層１２１に入力される動作データを生成する。詳細には、コンピュータ１０２は、第１〜第３の画像において互いに対応する画素の画素値の平均値を算出する。コンピュータ１０２は、算出した各画素の平均値（ａｖｅｒａｇｅ＿ｐｉｘｅｌ［０］［０］等）を入力層１２１に含まれる各ニューロンに入力する。なお、平均値は、重み付け平均であってもよい。各画素値と各ニューロンとの対応関係は、適宜設定されてもよい。それにより、コンピュータ１０２は、作業車両１の動作の各分類の確率を出力データＤ１３として得る。
【００４１】
上述した油圧ショベルの例では、作業車両１の動作の分類は、「旋回」、「排土」、及び「掘削」を含む。コントローラは、「旋回」、「排土」、及び「掘削」の各分類の確率を示す出力値を得る。分類モデル１１１は、図７及び図８に示すような旋回を示す重ね合わせ画像に対しては「旋回」の分類の出力値が高くなるように、学習済みである。分類モデル１１１は、図１０及び図１１に示すような排土を示す重ね合わせ画像に対しては「排土」の分類の出力値が高くなるように、学習済みである。分類モデル１１１は、図１３及び図１４に示すような掘削を示す重ね合わせ画像に対しては「掘削」の分類の出力値が高くなるように、学習済みである。
【００４２】
ステップＳ１０５では、コンピュータ１０２は、作業車両１の動作の分類を決定する。コンピュータ１０２は、出力データＤ１３が示す各分類の確率に基づいて、作業車両１の動作の分類を決定する。コンピュータ１０２は、最も高い確率を有する分類を、作業車両１の動作として決定する。これにより、コンピュータ１０２は、作業車両１が実行している動作を推定する。
【００４３】
ステップＳ１０６では、コンピュータ１０２は、ステップＳ１０５で決定された分類での作業車両１の動作時間を記録する。例えば、作業車両１が旋回を行っているときには、コンピュータ１０２は、動作の分類を「旋回」に決定すると共に、旋回の動作時間を記録する。コンピュータ１０２は、重ね合わせ画像に用いられたフレーム数から、分類の動作時間を算出してもよい。
【００４４】
ステップＳ１０７では、コンピュータ１０２は、動作の分類及び動作時間を含む管理データを生成する。コンピュータ１０２は、管理データを記憶装置１０４に記録する。
【００４５】
以上説明した本実施形態に係る分類システム１００では、コンピュータ１０２は、重ね合わせ画像から作業車両１の動作の分類を決定する。従って、静止画像の分類に適した人工知能の分類モデル１１１を利用して、作業車両１の動作を推定することができる。それにより、人工知能を用いて作業車両１の動作をコンピュータ１０２によって容易、且つ、精度良く判定することができる。
【００４６】
分類システム１００では、作業車両１の外部から作業車両１を撮影した動画から、作業車両１の動作を推定することができる。従って、特定のセンサ或いは通信装置など、分類システム１００のための専用の装備を備えていない作業車両１に対しても、容易、且つ、精度良く動作を判定することができる。
【００４７】
分類システム１００では、作業車両１の動画から、動作の分類を決定すると共に、当該分類の動作時間が管理データとして記録される。従って、作業車両１の動画を撮影することで、作業車両１による作業のタイムスタディをコンピュータ１０２によって容易且つ自動で行うことができる。また、作業現場における複数の作業車両１の動画をそれぞれ撮影して、分類システム１００によって管理データを生成することで、作業現場における複数の作業車両１による作業のタイムスタディをコンピュータ１０２によって容易且つ自動で行うことができる。
【００４８】
次に、実施形態に係る分類モデル１１１の学習方法について説明する。図１６は、分類モデル１１１の学習を行う学習システム２００を示す図である。学習システム２００は、学習データ生成モジュール２１１と学習モジュール２１２とを含む。
【００４９】
学習データ生成モジュール２１１は、作業車両の動画データＤ２１から学習データＤ２２を生成する。学習モジュール２１２は、学習データＤ２２を用いて、分類モデル１１１の学習を行い、分類モデル１１１のパラメータを最適化する。学習システム２００は、最適化されたパラメータを学習済みパラメータＤ２３として取得する。
【００５０】
図１７は、学習システム２００を実現するコンピュータ２０２の構成を示す模式図である。図１７に示すように、コンピュータ２０２は、プロセッサ２０３と、記憶装置２０４と、通信インタフェース２０５と、Ｉ／Ｏインタフェース２０６と、入力装置２０７と、出力装置２０８とを含む。コンピュータ２０２のプロセッサ２０３、記憶装置２０４、通信インタフェース２０５、Ｉ／Ｏインタフェース２０６、入力装置２０７、及び出力装置２０８は、上述したコンピュータ１０２のプロセッサ１０３、記憶装置１０４、通信インタフェース１０５、Ｉ／Ｏインタフェース１０６、入力装置１０７、及び出力装置１０８と概ね同様であるため、詳細な説明を省略する。
【００５１】
学習データ生成モジュール２１１と学習モジュール２１２とは、コンピュータ２０２に実装されている。学習データ生成モジュール２１１と学習モジュール２１２とは、記憶装置２０４に記憶されている。
【００５２】
図１８は、学習データＤ２２を生成するためにコンピュータ２０２（プロセッサ２０３）によって実行される処理を示すフローチャートである。図１８に示すように、ステップＳ２０１では、コンピュータ２０２は、作業車両の動画データＤ２１を取得する。コンピュータ２０２は、通信ネットワークを介して動画データＤ２１を取得してもよい。或いは、コンピュータ２０２は、外部記録媒体を介して動画データＤ２１を取得してもよい。
【００５３】
ステップＳ２０２では、コンピュータ２０２は、動画データＤ２１から、作業車両の動作を時系列的に示す一連の複数の画像を抜き出す。ステップＳ２０３では、コンピュータ２０２は、抜き出した複数の画像を重ね合わせて、重ね合わせ画像を生成する。ステップＳ２０２及びステップＳ２０３の処理は、上述したステップＳ１０２及びステップＳ１０３と概ね同様であるため、詳細な説明を省略する。
【００５４】
ステップＳ２０４では、コンピュータ２０２は、作業車両１の動作の分類を、重ね合わせ画像に割り当てて、学習データを生成する。分類の割り当ては、人間が入力装置２０７を用いて手動で行ってもよい。その場合、コンピュータ２０２は、入力装置２０７を介して入力された分類を示す分類データに基づいて、重ね合わせ画像に、作業車両の動作の分類を割り当てて学習データを生成してもよい。
【００５５】
ステップＳ２０５では、コンピュータ２０２は、記憶装置２０４に学習データＤ２２を保存する。学習データＤ２２は、ステップＳ２０３で生成された重ね合わせ画像と、ステップＳ２０４において重ね合わせ画像に割り当てられた作業車両の動作の分類とを含む。
【００５６】
コンピュータ２０２は、ステップＳ２０１からステップＳ２０５の処理を繰り返すことで、１つの動画データＤ２１から、複数の学習データＤ２２を生成する。また、コンピュータ２０２は、ステップＳ２０１からステップＳ２０５の処理を繰り返すことで、複数の動画データＤ２１から、複数の学習データＤ２２を生成する。
【００５７】
図１９に示すように、コンピュータ２０２は、１つの重ね合わせ画像を元の画像ＩＭ４１として、元の画像ＩＭ４１に対して、拡大、縮小、回転、平行移動、左右反転、及び色の変更のうちの１つ以上を施すことで、複数の加工済み画像ＩＭ４２−ＩＭ４５を生成してもよい。色の変更は、例えば、彩度、明度、或いはコントラストの変更であってもよい。コンピュータ２０２は、複数の加工済み画像ＩＭ４２−ＩＭ４５のそれぞれに対して作業車両１の動作の分類を割り当て、学習データＤ２２として保存してもよい。それにより、大量、且つ、多様な学習データＤ２２を用意することができ、分類モデル１１１の学習の効果を向上させることができる。
【００５８】
図２０は、学習データＤ２２によって分類モデル１１１を学習させるためにコンピュータ２０２（プロセッサ２０３）によって実行される処理を示すフローチャートである。図２０に示すように、ステップＳ３０１では、コンピュータ２０２は、学習データＤ２２を取得する。上述のように、コンピュータ２０２は、動画データＤ２１から学習データＤ２２を生成することで、学習データＤ２２を取得する。
【００５９】
ただし、コンピュータ２０２は、他のコンピュータが生成した学習データＤ２２を取得してもよい。その場合、コンピュータ２０２は、通信ネットワークを介して学習データＤ２２を受信してもよい。或いは、コンピュータ２０２は、外部記録媒体を介して、学習データＤ２２を受信してもよい。
【００６０】
ステップＳ３０２では、コンピュータ２０２は、学習データＤ２２によって分類モデル１１１の学習を行う。コンピュータ２０２は、学習データＤ２２に含まれる重ね合わせ画像を入力データとし、作業車両１の動作の分類を教師データとして、分類モデル１１１の学習を行う。
【００６１】
例えば、コンピュータ２０２は、各重ね合わせ画像の各画素値を入力層１２１の入力として用いて、ニューラルネットワーク１２０の順伝播方向の演算処理を行う。これにより、コンピュータ２０２は、ニューラルネットワーク１２０の出力層１２３から出力される出力値を得る。次に、コンピュータ２０２は、出力層１２３から出力される出力値と、教師データとして割り当てられた分類が示す正しい出力値との誤差を算出する。コンピュータ２０２は、算出した出力値の誤差から、バックプロパゲーションにより、各ニューロン間の結合の重み、及び、各ニューロンの閾値のそれぞれの誤差を算出する。そして、コンピュータ２０２は、算出した各誤差に基づいて、各ニューロン間の結合の重み、及び、各ニューロンの閾値の更新を行う。
【００６２】
コンピュータ２０２は、複数の重ね合わせ画像について、分類モデル１１１からの出力値が、重ね合わせ画像に割り当てられた分類に対応する値と一致するまで、上記の処理を繰り返す。それにより、分類モデル１１１のパラメータが最適化され、分類モデル１１１を学習させることができる。
【００６３】
なお、分類モデル１１１の各種のパラメータの初期値は、テンプレートにより与えられてもよい。或いは、パラメータの初期値は、人間の入力により手動で与えられてもよい。分類モデル１１１の再学習を行うときには、コンピュータ２０２は、再学習を行う対象となる分類モデル１１１の学習済みパラメータＤ２３に基づいて、パラメータの初期値を用意してもよい。
【００６４】
ステップＳ３０３では、コンピュータ２０２は、学習によって最適化されたパラメータを学習済みパラメータＤ２３として記憶装置１０４に保存する。これにより、コンピュータ２０２は分類モデル１１１の学習を終了する。
【００６５】
上述した分類システム１００のコンピュータ１０２は、分類モデル１１１及び学習済みパラメータＤ２３を学習システム２００のコンピュータ２０２から取得することで、学習済みの分類モデル１１１を取得することができる。
【００６６】
なお、学習システム２００のコンピュータ２０２は、上述した分類モデル１１１の学習を定期的に実行することで、学習済みパラメータＤ２３を更新してもよい。学習システム２００のコンピュータ２０２は、更新した学習済みパラメータＤ２３を分類システム１００のコンピュータ１０２に転送してもよい。分類システム１００のコンピュータ１０２は、転送された学習済みパラメータＤ２３によって、分類モデル１１１のパラメータを更新してもよい。
【００６７】
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。
【００６８】
分類システム１００、及び／又は、学習システム２００の構成が変更されてもよい。例えば、分類システム１００は、複数のコンピュータを含んでもよい。上述した分類システム１００による処理は、複数のコンピュータに分散して実行されてもよい。例えば、重ねあわせ画像の生成と分類の決定とは、異なるコンピュータによって実行されてもよい。
【００６９】
図２１は、変形例に係る分類システム１００を示す図である。図２１に示すように、分類システム１００は、第１のコンピュータ１０２ａと第２のコンピュータ１０２ｂとを含んでもよい。第１のコンピュータ１０２ａと第２のコンピュータ１０２ｂとは互いに通信可能であってもよい。例えば、第１のコンピュータ１０２ａと第２のコンピュータ１０２ｂとは通信ネットワークＮＴを介して通信可能であってもよい。
【００７０】
第１のコンピュータ１０２ａは、上述した動画データＤ１１の取得と、重ね合わせ画像の生成とを行ってもよい。第２のコンピュータ１０２ｂは、第１のコンピュータ１０２ａから重ね合わせ画像を取得してもよい。第２のコンピュータ１０２ｂは、上述した分類モデル１１１を用いた画像分類と、作業車両１の動作の分類とを行ってもよい。第１のコンピュータ１０２ａは、第２のコンピュータ１０２ｂから、動作の分類と実行時間とを含む管理データを受信してもよい。
【００７１】
学習システム２００は、複数のコンピュータを含んでもよい。上述した学習システム２００による処理は、複数のコンピュータで分散して実行されてもよい。例えば、上記の本実施形態では、コンピュータ２０２が、学習データの生成と、分類モデル１１１の学習とを実行している。しかし、学習データの生成と、分類モデル１１１の学習とは、異なるコンピュータによって実行されてもよい。すなわち、学習データ生成モジュール２１１と学習モジュール２１２とは異なるコンピュータに実装されてもよい。
【００７２】
分類システム１００のコンピュータ１０２、及び／又は、学習システム２００のコンピュータ２０２の構成が変更されてもよい。例えば、コンピュータ１０２は、複数のプロセッサを含んでもよい。コンピュータ２０２は、複数のプロセッサを含んでもよい。上述した処理の少なくとも一部は、ＣＰＵに限らず、ＧＰＵ（Graphics Processing Unit）などの他のプロセッサによって実行されてもよい。上述した処理は、複数のプロセッサに分散して実行されてもよい。
【００７３】
上記実施形態では、分類モデル１１１はニューラルネットワーク１２０を含む。しかし、分類モデル１１１は、ニューラルネットワークに限らず、例えばサポートベクターマシンなど、機械学習を用いて静止画像に対して精度良く分類を行えるモデルあってもよい。
【００７４】
上述した分類モデル１１１は、上述した学習データＤ２１を用いて機械学習により学習したモデルに限らず、当該学習したモデルを利用して生成されたモデルであってもよい。例えば、分類モデル１１１は、学習済みモデルに新たなデータを用いて更に学習させることで、パラメータを変化させ、精度をさらに高めた別の学習済みモデル（派生モデル）であってもよい。或いは、分類モデル１１１は、学習済みモデルにデータの入出力を繰り返すことで得られる結果を基に学習させた別の学習済みモデル（蒸留モデル）であってもよい。
【００７５】
図２２は、蒸留モデルを生成するためにコンピュータ２０２（プロセッサ２０３）によって実行される処理を示すフローチャートである。図２２に示すように、ステップＳ４０１〜Ｓ４０３において、コンピュータ２０２は、動画データから重ね合わせ画像を生成する。ステップＳ４０１〜Ｓ４０３の各処理は、上述したステップＳ２０１〜Ｓ２０３と同様であるため、詳細な説明を省略する。
【００７６】
ステップＳ４０４では、コンピュータ２０２は、学習済みの第１の分類モデルを用いた画像分類を実行する。コンピュータ２０２は、ステップＳ４０３で生成した重ね合わせ画像を、第１の分類モデルへの入力データとして用いて、ニューラルネットワークに基づく画像分類を実行する。ステップＳ４０５では、コンピュータ２０２は、作業車両１の動作の分類を決定する。コンピュータ２０２は、第１の分類モデルによる画像分類によって、作業車両１の動作の分類を決定する。ステップＳ４０４及びステップＳ４０５の処理は、上述したステップＳ１０４及びステップＳ１０５の処理と同様である。
【００７７】
ステップＳ４０６では、コンピュータ２０２は、ステップＳ４０３で生成した重ね合わせ画像と、ステップＳ４０５で決定した作業車両１の動作の分類とを学習データＤ２２として記憶装置２０４に保存する。
【００７８】
ステップＳ４０７では、コンピュータ２０２は、学習データＤ２２によって第２の分類モデルの学習を行う。ステップＳ４０８では、コンピュータ２０２は、学習によって最適化されたパラメータを学習済みパラメータＤ２３として記憶装置１０４に保存する。ステップＳ４０７及びステップＳ４０８の処理は、上述したステップＳ３０２及びステップＳ３０３の処理と同様である。なお、コンピュータ２０２は、他のコンピュータによって生成された学習データＤ２２によって第２の分類モデルの学習を行ってもよい。
【００７９】
以上のように第２の分類モデル（蒸留モデル）を学習させることで、コンピュータ１０２は、第１の分類モデルよりもシンプルな第２の分類モデルを用いて、作業車両１の動作の分類を決定することができる。それにより、作業車両１の動作の分類を決定するためのコンピュータ１０２の負荷を軽減することができる。
【００８０】
動作データは、複数の画像から生成された作業車両の動作の変化を示すデータであればよく、重ね合わせ画像に限らず、他のデータであってもよい。動作データは、複数の画像に含まれる一群の画像を示すデータであってもよい。図２３は変形例に係る動作データを示す図である。図２３に示すように示すように、動作データは、複数の画像を連結した連結画像ＩＭ５１であってもよい。連結画像ＩＭ５１は、上述した動画データＭＶ１に含まれる第１〜第３の画像Ｆ１１−Ｆ１３をシリアルに連結した画像である。この場合、図２４に示すように、コンピュータ１０２は、第１〜第３の画像Ｆ１１−Ｆ１３の画素値をシリアルに入力層１２１に入力してもよい。
【００８１】
このような変形例によっても、上述した実施形態と同様に、人工知能を用いて作業車両１の動作をコンピュータ１０２によって容易、且つ、精度良く判定することができる。ただし、背景などのデータが多く入力されることになるため、動作の判定にとって不要なデータが増える。そのため、変形例では、重ね合わせ画像を用いる上記の実施形態と比べて、動作の判定精度が劣る。言い換えれば、上記の実施形態では、重ね合わせ画像を用いることで、不要なデータを削減することができ、それにより判定精度を向上させることができる。
【００８２】
動作データは、複数の画像の画素値から得られた値を含めばよく、画像に限られなくてもよい。例えば、図１５において、コンピュータ１０２は、画素値の平均値ａｖｅｒａｇｅ＿ｐｉｘｅｌ［０］［０］を計算し、計算した値を直ちに入力層１２１に入力し、ａｖｅｒａｇｅ＿ｐｉｘｅｌ［０］［０］を初期化してもよい。コンピュータ１０２は、同様の処理をａｖｅｒａｇｅ＿ｐｉｘｅｌ［２］［２］まで繰り返してもよい。この場合、コンピュータ１０２は、動作データとして画像を生成しないが、複数の画像の画素値を合成することで得られた値を動作データとして生成して、入力層１２１に入力することができる。
【００８３】
動作データは、複数の画像において共通する部分が省略されたものであってもよい。例えば、複数の画像に共通に含まれる背景を示す画素値が、動作データから省略されてもよい。コンピュータ１０２は、複数の画像のなかから基準となる画像を決定し、他の画像に対して基準となる画像との差分を算出してもよい。コンピュータ１０２は、この差分から動作データを生成して、入力層１２１に入力してもよい。
【００８４】
重ね合わせ画像、或いは連結画像を生成する方法は変更されてもよい。例えば、上記の実施形態では、動画データＤ１１，Ｄ２１中の３フレームの画像を重ね合わせることで、重ね合わせ画像が生成されている。しかし、重ね合わせ画像において重ね合わされる画像のフレーム数は３つに限らず、３つより少ない、或いは３つより多くてもよい。
【００８５】
コンピュータ１０２，２０２は、連続したフレームの画像を抜き出して重ね合わせ画像、或いは連結画像を生成してもよい。或いは、コンピュータ１０２，２０２は、連続したフレームの一部を飛ばして画像を抜き出してもよい。例えば、コンピュータ１０２，２０２は、連続した複数のフレームから、１又はそれよりも多くのフレームを飛ばして画像を抜き出してもよい。
【００８６】
コンピュータ１０２，２０２は、複数の画像をグレースケール化して重ね合わせ画像、或いは連結画像を生成してもよい。コンピュータ１０２，２０２は、複数の画像の一部の濃さを変更してもよい。すなわち、コンピュータ１０２，２０２は、異なる濃さを有する複数の画像から、重ね合わせ画像、或いは連結画像を生成してもよい。コンピュータ１０２，２０２は、抜き出した画像の一部を切り抜いて重ね合わせ画像、或いは連結画像を生成してもよい。
【００８７】
作業車両は、油圧ショベルに限らず、ブルドーザ、ホイールローダ、グレーダー、或いはダンプトラックなどの他の車両であってもよい。分類モデル１１１、学習済みパラメータＤ２３、及び／又は学習データＤ２２は、作業車両の種類ごとに用意されてもよい。或いは、分類モデル１１１、学習済みパラメータＤ２３、及び／又は学習データＤ２２は、複数種類の作業車両に共通であってもよい。その場合、分類モデル１１１は、作業車両の動作と共に作業車両の種類を推定してもよい。
【００８８】
上述した処理の一部が省略、或いは変更されてもよい。例えば、動作時間を記録する処理が省略されてもよい。管理データを生成する処理が省略されてもよい。
【産業上の利用可能性】
【００８９】
本発明によれば、人工知能を用いて作業車両の動作を容易、且つ、精度良く判定することができる。
【符号の説明】
【００９０】
１００  分類システム
１１１  分類モデル
１０３  プロセッサ
１０１  カメラ
２００  学習システム
【図１】
2019087200.tif 000003
【図２】
2019087200.tif 000004
【図３】
2019087200.tif 000005
【図４】
2019087200.tif 000006
【図５】
2019087200.tif 000007
【図６】
2019087200.tif 000008
【図７】
2019087200.tif 000009
【図８】
2019087200.tif 000010
【図９】
2019087200.tif 000011
【図１０】
2019087200.tif 000012
【図１１】
2019087200.tif 000013
【図１２】
2019087200.tif 000014
【図１３】
2019087200.tif 000015
【図１４】
2019087200.tif 000016
【図１５】
2019087200.tif 000017
【図１６】
2019087200.tif 000018
【図１７】
2019087200.tif 000019
【図１８】
2019087200.tif 000020
【図１９】
2019087200.tif 000021
【図２０】
2019087200.tif 000022
【図２１】
2019087200.tif 000023
【図２２】
2019087200.tif 000024
【図２３】
2019087200.tif 000025
【図２４】
2019087200.tif 000026