(57)【要約】【課題】機器を制御し、それによって生じる変化を観測することで、制御対象の機器の状態を自動的に学習する自動学習装置、方法、プログラム、自動学習システムおよび自動モニタ装置を提供する。【解決手段】遠隔で制御可能な機器の状態を自動で学習する自動学習装置１０であって、対象機器を特定の状態に制御する制御コマンドを送信するコマンド送信部１８と、少なくとも前記制御コマンドを送信した後の前記対象機器の状態をモニタし、前記モニタの結果としてモニタデータを取得するモニタ部２０と、前記対象機器の特定の状態を示す機器状態ラベルおよび前記機器状態ラベルに対応付けられた前記取得されたモニタデータに基づいて前記対象機器の状態に対する学習を行い、モニタデータを入力としたときに対象機器の状態を出力として与える機器状態認識モデルを生成する学習部２６と、を備える。【選択図】図２
2018056890.tif 000002
【特許請求の範囲】
【請求項１】
遠隔で制御可能な機器の状態を自動で学習する自動学習装置であって、
対象機器を特定の状態に制御する制御コマンドを送信するコマンド送信部と、
少なくとも前記制御コマンドを送信した後の前記対象機器の状態をモニタし、前記モニタの結果としてモニタデータを取得するモニタ部と、
前記対象機器の特定の状態を示す機器状態ラベルおよび前記機器状態ラベルに対応付けられた前記取得されたモニタデータに基づいて前記対象機器の状態に対する学習を行い、モニタデータを入力としたときに対象機器の状態を出力として与える機器状態認識モデルを生成する学習部と、を備えることを特徴とする自動学習装置。
【請求項２】
前記機器状態認識モデルを評価するモデル評価部をさらに備え、
前記モデル評価部は、前記取得したモニタデータの一部をテストデータとして用い、前記機器状態認識モデルが前記テストデータを正しく認識できるか否かの評価を行い、前記評価の結果得られる正解率が所定値に達するまで前記機器状態認識モデルの生成を繰り返し行わせることを特徴とする請求項１記載の自動学習装置。
【請求項３】
前記学習部は、前記特定の状態のモニタデータから類似度の高いモニタデータを代表のモニタデータとして選出し、前記代表のモニタデータを学習対象として前記機器状態認識モデルを生成することを特徴とする請求項１または請求項２記載の自動学習装置。
【請求項４】
前記モニタ部は、カメラを備え、前記取得されるモニタデータとして画像データを取得することを特徴とする請求項１から請求項３のいずれかに記載の自動学習装置。
【請求項５】
前記取得されたモニタデータのうち、対応付けられた前記機器状態ラベルが異なるモニタデータの差分から機器の位置を抽出する位置抽出部を備えることを特徴とする請求項４記載の自動学習装置。
【請求項６】
前記モニタ部は、マイクを備え、前記取得されるモニタデータとして音声データを取得することを特徴とする請求項１から請求項３のいずれかに記載の自動学習装置。
【請求項７】
遠隔で制御可能な機器の状態を自動でモニタする自動モニタ装置であって、
対象機器を特定の状態に制御する制御コマンドを送信するコマンド送信部と、
少なくとも前記制御コマンドを送信した後の前記対象機器の状態をモニタし、前記モニタの結果としてモニタデータを取得するモニタ部と、を備え、
前記対象機器の特定の状態を示す機器状態ラベルおよび前記機器状態ラベルに対応付けられた前記取得されたモニタデータは、別個の自動学習装置において前記対象機器の状態に対する学習に用いられ、前記学習により、モニタデータを入力としたときに対象機器の状態を出力として与える機器状態認識モデルが生成されることを特徴とする自動モニタ装置。
【請求項８】
遠隔で制御可能な機器の状態を自動で学習する自動学習システムであって、
請求項７に記載の自動モニタ装置と、
前記取得された対象機器の特定の状態を示す機器状態ラベルおよび前記機器状態ラベルに対応付けられたモニタデータを取得するデータ取得部と、前記取得された機器状態ラベルおよびモニタデータに基づいて前記対象機器の状態に対する学習を行い、モニタデータを入力としたときに対象機器の状態を出力として与える機器状態認識モデルを生成する学習部とを有する学習装置と、を備えることを特徴とする自動学習システム。
【請求項９】
遠隔で制御可能な機器の状態を自動で学習する方法であって、
対象機器を特定の状態に制御する制御コマンドを送信するステップと、
少なくとも前記制御コマンドを送信した後の前記対象機器の状態をモニタし、前記モニタの結果としてモニタデータを取得するステップと、
前記対象機器の特定の状態を示す機器状態ラベルおよび前記機器状態ラベルに対応付けられた前記取得されたモニタデータに基づいて前記対象機器の状態に対する学習を行い、モニタデータを入力としたときに対象機器の状態を出力として与える機器状態認識モデルを生成するステップと、を含むことを特徴とする方法。
【請求項１０】
遠隔で制御可能な機器の状態を自動で学習するプログラムであって、
対象機器を特定の状態に制御する制御コマンドを送信する処理と、
少なくとも前記制御コマンドを送信した後の前記対象機器の状態をモニタし、前記モニタの結果としてモニタデータを取得する処理と、
前記対象機器の特定の状態を示す機器状態ラベルおよび前記機器状態ラベルに対応付けられた前記取得されたモニタデータに基づいて前記対象機器の状態に対する学習を行い、モニタデータを入力としたときに対象機器の状態を出力として与える機器状態認識モデルを生成する処理と、をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遠隔で制御可能な機器の状態を自動で学習する自動学習装置、方法、プログラム、自動学習システムおよび自動モニタ装置に関する。
【背景技術】
【０００２】
近年、宅内におけるＩｏＴ（Internet of Things）に注目が集まっている。例えば、遠隔で宅内のエアコンをＯＮにする機器に対する遠隔制御が実用化されている。しかしながら、ＩｏＴはＥＣＨＯＮＥＴ  ＬｉｔｅやＡｌｌＪｏｙｎ等の特定プロトコルに対応した機器が必要であるため、一般家庭への普及は遅く、現在は利用が限られている。一方で、すでに普及している宅内で一般的な遠隔制御装置は赤外線リモコンである。赤外線リモコンは、テレビ、エアコン、扇風機、シーリングライト等の幅広い機器で利用されており、ＩｏＴの流れに乗って宅内のみならず、宅外から遠隔操作可能な赤外線リモコンを用いた制御が行われている。しかしながら、赤外線リモコンは、ＩｏＴと異なり、一方通行で制御するため、宅外からでは実際に制御が適用されたか、機器の状態を判定ができない。
【０００３】
この制御対象の機器の状態を取得するために、消費電力で動作を確認できるよう、例えば各機器に取り付けた電力計やブレーカーでの電力の測定が行われている。その一方で、本来これらの機器は宅内からの操作が想定されており、視覚的、聴覚的に人から機器の状態がわかるように設計されていることが多い。そこで、宅外からも、カメラ画像を用いて視覚的、聴覚的に機器の状態を確認することも有効である。
【０００４】
特に画像認識では、近年高性能な計算能力を活用した深層学習（Deep Learning）が注目を集めており、機器の状態の高度な認識（非特許文献１）が可能となっている。この深層学習に基づく画像認識は、従来の手動の設計による特徴点に基づいた認識技術と異なり、特徴を自動的に抽出するが、その学習のために大量のサンプル画像が必要となる。
【０００５】
また、一つの画像から、複数の機器を認識するには、深層学習の一種であるＦａｓｔ  Ｒ−ＣＮＮ（Region with Convolutional Neural Networks）（非特許文献２）が一般的に用いられている。しかし、これも画像のどの部分に何が映っているかについて、機器の位置と機器状態のラベル付けがされた大量の学習用サンプル画像が必要となる。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Krizhevsky, Alex, Ilya Sutskever, and Geoffrey E. Hinton. "Imagenet classification with deep convolutional neural networks." Advances in neural information processing systems. 2012.
【非特許文献２】Girshick, Ross. "Fast r-cnn." Proceedings of the IEEE International Conference on Computer Vision. 2015.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
画像から制御した機器の状態を判別しようとする場合、事前に学習用のサンプル画像を用意して学習することが必要である。また、制御対象の機器がどれであるかという、対象の識別も課題となる。例えば、電灯と指定した場合、どの電灯であるかが認識できる必要があり、制御側で指定した機器と、実際に画像から認識された機器の一致が必要となる。
【０００８】
このため、今までの方式では、事前に撮影された画像を人手でラベル付けして学習するという作業が必要であった。また、一般的な機器の状態が判別できた場合でも、画像内に複数の同種の機器があった場合、制御対象がいずれであるか判別できないため汎用化できず、各環境において制御対象の機器と、事前に画像から認識される機器を手動でマッピングする必要があった。
【０００９】
本発明は、このような事情に鑑みてなされたものであり、機器を制御し、それによって生じる変化を観測することで、制御対象の機器の状態を自動的に学習する自動学習装置、方法、プログラム、自動学習システムおよび自動モニタ装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
（１）上記の目的を達成するため、本発明は、以下のような手段を講じた。すなわち、本発明の自動学習装置は、遠隔で制御可能な機器の状態を自動で学習する自動学習装置であって、対象機器を特定の状態に制御する制御コマンドを送信するコマンド送信部と、少なくとも前記制御コマンドを送信した後の前記対象機器の状態をモニタし、前記モニタの結果としてモニタデータを取得するモニタ部と、前記対象機器の特定の状態を示す機器状態ラベルおよび前記機器状態ラベルに対応付けられた前記取得されたモニタデータに基づいて前記対象機器の状態に対する学習を行い、モニタデータを入力としたときに対象機器の状態を出力として与える機器状態認識モデルを生成する学習部と、を備えることを特徴とする。
【００１１】
このように、対象機器を特定の状態に制御しモニタして自動で集めたデータを用いることで、モニタデータが示す機器の状態を認識する機器状態認識モデルを、自動的に生成できる。そのため、学習のためのサンプルデータを手動で用意する手間を省ける。また、生成した機器状態認識モデルに基づいて的確な機器制御が可能になる。
【００１２】
（２）また、本発明の自動学習装置は、前記機器状態認識モデルを評価するモデル評価部をさらに備え、前記モデル評価部は、前記取得したモニタデータの一部をテストデータとして用い、前記機器状態認識モデルが前記テストデータを正しく認識できるか否かの評価を行い、前記評価の結果得られる正解率が所定値に達するまで前記機器状態認識モデルの生成を繰り返し行わせることを特徴とする。
【００１３】
これにより、正確な機器状態認識モデルの生成でき、生成された機器状態認識モデルに基づいて、さらに的確な機器制御が可能になる。
【００１４】
（３）また、本発明の自動学習装置において、前記学習部は、前記特定の状態のモニタデータから類似度の高いモニタデータを代表のモニタデータとして選出し、前記代表のモニタデータを学習対象として前記機器状態認識モデルを生成することを特徴とする。
【００１５】
これにより、制御が失敗したときに例外的に混ざってしまった異なる状態を示すモニタデータを除くことができる。よって、学習対象のデータが学習精度の低下の原因の１つであるノイズとなるデータを含まないこととなり、精度の高い学習と機器状態認識モデルの生成をすることができる。
【００１６】
（４）また、本発明の自動学習装置において、前記モニタ部は、カメラを備え、前記取得されるモニタデータとして画像データを取得することを特徴とする。これにより、制御コマンドの送信により外観上の変化が起こる機器の機器状態認識モデルを生成できる。
【００１７】
（５）また、本発明の自動学習装置は、取得されたモニタデータのうち、対応付けられた前記機器状態ラベルが異なるモニタデータの差分から機器の位置を抽出する位置抽出部を備えることを特徴とする。これにより、機器の位置を含めた機器の状態を学習することができる。また、複数の同種の機器が存在する場合にも、それらの機器を位置で区別できる。
【００１８】
（６）また、本発明の自動学習装置において、前記モニタ部は、マイクを備え、前記取得されるモニタデータとして音声データを取得することを特徴とする。これにより、制御コマンドの送信により音の変化が起こる機器の機器状態認識モデルを生成でき、そのような機器の的確な制御が可能になる。
【００１９】
（７）また、本発明の自動モニタ装置は、遠隔で制御可能な機器の状態を自動でモニタする自動モニタ装置であって、対象機器を特定の状態に制御する制御コマンドを送信するコマンド送信部と、少なくとも前記制御コマンドを送信した後の前記対象機器の状態をモニタし、前記モニタの結果としてモニタデータを取得するモニタ部と、を備え、前記対象機器の特定の状態を示す機器状態ラベルおよび前記機器状態ラベルに対応付けられた前記取得されたモニタデータは、別個の自動学習装置において前記対象機器の状態に対する学習に用いられ、前記学習により、モニタデータを入力としたときに対象機器の状態を出力として与える機器状態認識モデルが生成されることを特徴とする。これにより、対象機器の学習用データを自動で取得でき、対象機器の機器状態ラベルおよび取得されたモニタデータを用い、自動で機器状態認識モデルを生成できる。
【００２０】
（８）また、本発明の自動学習システムは、遠隔で制御可能な機器の状態を自動で学習する自動学習システムであって、（７）に記載の自動モニタ装置と、前記取得された対象機器の特定の状態を示す機器状態ラベルおよび前記機器状態ラベルに対応付けられたモニタデータを取得するデータ取得部と、前記取得された機器状態ラベルおよびモニタデータに基づいて前記対象機器の状態に対する学習を行い、モニタデータを入力としたときに対象機器の状態を出力として与える機器状態認識モデルを生成する学習部とを有する学習装置と、を備えることを特徴とする。
【００２１】
このように、自動モニタ装置によって取得されたデータを用いて、モニタデータが示す機器の状態を認識する機器状態認識モデルを自動的に生成できる。また、生成した機器状態認識モデルに基づいて的確な機器制御が可能になる。
【００２２】
（９）また、本発明の方法は、遠隔で制御可能な機器の状態を自動で学習する方法であって、対象機器を特定の状態に制御する制御コマンドを送信するステップと、少なくとも前記制御コマンドを送信した後の前記対象機器の状態をモニタし、前記モニタの結果としてモニタデータを取得するステップと、前記対象機器の特定の状態を示す機器状態ラベルおよび前記機器状態ラベルに対応付けられた前記取得されたモニタデータに基づいて前記対象機器の状態に対する学習を行い、モニタデータを入力としたときに対象機器の状態を出力として与える機器状態認識モデルを生成するステップと、を含むことを特徴とする。
【００２３】
これにより、対象機器を特定の状態に制御しモニタして自動で集めたデータを用いることで、モニタデータが示す機器の状態を認識する機器状態認識モデルを、手動で学習のためのサンプルデータを用意することなく、自動的に生成できる。また、生成した機器状態認識モデルに基づいて的確な機器制御が可能になる。
【００２４】
（１０）また、本発明のプログラムは、遠隔で制御可能な機器の状態を自動で学習するプログラムであって、対象機器を特定の状態に制御する制御コマンドを送信する処理と、少なくとも前記制御コマンドを送信した後の前記対象機器の状態をモニタし、前記モニタの結果としてモニタデータを取得する処理と、前記対象機器の特定の状態を示す機器状態ラベルおよび前記機器状態ラベルに対応付けられた前記取得されたモニタデータに基づいて前記対象機器の状態に対する学習を行い、モニタデータを入力としたときに対象機器の状態を出力として与える機器状態認識モデルを生成する処理と、をコンピュータに実行させることを特徴とする。
【００２５】
これにより、対象機器を特定の状態に制御しモニタして自動で集めたデータを用いることで、モニタデータが示す機器の状態を認識する機器状態認識モデルを、手動で学習のためのサンプルデータを用意することなく、自動的に生成できる。また、生成した機器状態認識モデルに基づいて的確な機器制御が可能になる。
【発明の効果】
【００２６】
本発明によれば、対象機器を特定の状態に制御しモニタして自動で集めたデータを用いることで、モニタデータが示す機器の状態を認識する機器状態認識モデルを、手動で学習のためのサンプルデータを用意することなく、自動的に生成できる。また、生成した機器状態認識モデルに基づいて的確な機器制御が可能になる。
【図面の簡単な説明】
【００２７】
【図１】第１の実施形態に係る自動学習装置の使用例を示す模式図である。
【図２】第１の実施形態に係る自動学習装置の構成を示すブロック図である。
【図３】モニタデータを取得するまでの自動学習装置の動作を示すフローチャートである。
【図４】モニタデータを取得したあとの自動学習装置の位置抽出処理と機器状態認識モデル生成の動作を示すフローチャートである。
【図５】位置抽出処理の概要を示す模式図である。
【図６】機器状態認識モデルの評価の動作を示すフローチャートである。
【図７】第２の実施形態に係る自動学習システムの構成を示すブロック図である。
【発明を実施するための形態】
【００２８】
次に、本発明の実施の形態について、図面を参照しながら説明する。説明の理解を容易にするため、各図面において同一の構成要素に対しては同一の参照番号を付し、重複する説明は省略する。
【００２９】
［第１の実施形態］
（自動学習装置の使用例）
図１は、自動学習装置１０の使用例を示す模式図である。この使用例では、赤外線や無線等により、遠隔で制御される機器が複数存在している。そして赤外線や無線等でそれらの機器を制御するとともに、モニタできる自動学習装置１０が存在している。この自動学習装置１０としては、スマートフォンやロボット等を用いることができる。
【００３０】
自動学習装置１０は、機器の存在および操作手段の情報は事前に与えられているが、機器の場所や機器が制御されたときの状態の情報は事前に与えられていない。家電機器情報やその操作のための赤外線信号等の情報は比較的容易に手に入れることができる。自動学習装置１０は、機器の情報を、手動の入力で取得してもよいし、デバイスＩＤ（後述）をもとにネット上等から自動で取得してもよい。このような前提のもとで、自動学習装置１０は、学習対象となる機器（対象機器）を識別し、その機器の状態を学習する。
【００３１】
なお、学習の対象である機器は、赤外線等のコマンド送信により制御可能な機器であることが好ましいが、双方方向通信可能なＩｏＴ機器であってもよい。自動学習装置１０は、後述のように位置情報を把握できる。したがって、双方方向通信可能なＩｏＴ機器であっても、その位置を取得するために自動学習装置１０を用いるメリットがある。
【００３２】
（自動学習装置の構成）
図２は、自動学習装置１０の構成の一例を示すブロック図である。自動学習装置１０は、機器データベース（ＤＢ）１２、自動学習管理部１４、制御管理部１６、コマンド送信部１８、モニタ部２０、モニタデータデータベース（ＤＢ）２２、位置抽出部２４、学習部２６、モデル評価部２８から構成されている。
【００３３】
機器ＤＢ１２は、与えられている機器の情報を保持するＤＢである。機器ＤＢ１２には、例えば次の情報が保持されている。その情報は、一意に機器を識別する「デバイスＩＤ」、エアコン等の機器の種類を示す「デバイスの種類」、電源のＯＮ／ＯＦＦの状態、温度や音量等の変化した状態を示す「機器の状態」、赤外線信号等により対象機器を特定の状態に制御する「制御コマンド」、画像で機器の状態を識別するためのデータである「機器状態認識モデル」、空間的に制御対象を識別するための情報である「対象機器位置」等である。初期状態では、「デバイスＩＤ」、「デバイスの種類」、「機器の状態」および「制御コマンド」が与えられ、保持されている。なお、対象機器の特定の状態を示す情報を機器状態ラベルといい、以下の例では、特定の「機器の状態」を含む１以上の機器の情報が機器状態ラベルに該当する。
【００３４】
自動学習管理部１４は、機器ＤＢ１２を確認し、存在する機器のうちその識別や状態がまだ学習されていない機器を把握し、その機器について自動学習を開始する。なお、自動的に学習開始するのが好ましいが、手動による契機で自動学習を開始してもよい。自動学習管理部１４は、どの機器に対してどのような制御を行って学習するかを、制御管理部１６に通知する。自動学習管理部１４は、機器状態認識モデルを評価するモデル評価部２８を含んでもよい。モデル評価部２８については後述する。
【００３５】
制御管理部１６は、指示された制御を対象機器に対して行い、その状態の変化をモニタするよう制御する。制御管理部１６は、コマンド送信部１８に対して制御コマンドの送信を指示し、モニタ部２０に対してモニタの開始と終了を指示する。制御管理部１６は、この一連の制御を自動学習管理部１４より通知された対象機器についての学習を十分に達成できるよう複数回繰り返すことが好ましい。そして、モニタ部２０により取得した画像データ（モニタデータ）を、機器の情報（機器状態ラベル）と紐づけて、モニタデータＤＢ２２に保存する。機器の情報とは、デバイスＩＤ、デバイスの種類、機器の状態等の情報である。
【００３６】
コマンド送信部１８は、赤外線や無線等により制御コマンドを対象機器に送信する機能を有し、そのためのハードウェアを備える。制御コマンドは、例えば、対象機器の電源をＯＮにするコマンドやＯＦＦにするコマンドである。
【００３７】
モニタ部２０は、例えばカメラであり、機器の状態をモニタする機能を有する。なお、カメラは特定の機器に向けて固定されているより、宅内等の空間全体の画像データを取得できる位置に設置するか、または向きを変えて空間全体の画像データを取得できるようにレンズ方向を移動可能に設置することが好ましい。モニタ部２０は、制御管理部１６からの指示に応じて画像撮影を行う。そして、取得したモニタデータを制御管理部１６へ渡す。なお、画像撮影は連続での複数枚の撮影でもよいし、動画撮影でもよい。また、赤外線カメラ等で撮影してもよい。モニタ部は、上記のようにカメラであることが好ましいが、ビデオ、サーモグラフィ、マイク、スマートメータであってもよい。
【００３８】
モニタデータＤＢ２２は、対象機器の情報とそれに紐づく画像データを蓄積する。これらの蓄積された情報は、対象機器の位置の抽出、対象機器の状態に対する学習および機器状態認識モデルの生成に用いられる。
【００３９】
位置抽出部２４は、対象機器の状態の変化に基づき、画像中の機器の位置を抽出する。位置抽出部２４は、モニタデータＤＢ２２に蓄積されたモニタデータを用いて画像中の機器の位置を抽出する。具体的な位置抽出処理は後述する。抽出された位置は、制御対象の機器を識別する情報として、機器ＤＢ１２に保持される。なお、上記の位置情報は、画像上の位置であることが好ましいが、画像から算出される実際の空間上の位置であってもよい。
【００４０】
学習部２６は、機器の状態に対する学習を行い、機器状態認識モデル生成を行う機能を有する。機器の取り得る状態の１つを表す機器状態ラベル（例えば、「電灯」という機器の「ＯＮ」という状態）と、画像データを用いて、深層学習の技術を用いた画像認識技術を適用することで機器の状態を学習する。深層学習の技術としては、Ｆａｓｔ  Ｒ−ＣＮＮを用いることができる。
【００４１】
学習部２６は、深層学習の結果を用いて機器状態認識モデルを生成し、機器状態認識モデルを機器ＤＢ１２に保持する。機器状態認識モデルは、モニタデータを入力としたときに対象機器の状態を出力として与えるプログラムに利用されるデータで特定される。モニタデータを入力としたときに対象機器の状態を出力として与えるプログラムに、深層学習で得られた機器状態認識モデルを特定するデータを読み込ませることで、機器状態認識モデルが機能する。そして、このプログラムにモニタデータを入力することで対象機器の状態が出力される。読み込ませる機器状態認識モデルが異なれば、同じモニタデータを入力しても出力が異なることもある。位置抽出部２４を備える構成の場合は、抽出された位置情報を用いて画像データ中の機器の位置を指定し、機器の状態を学習することもできる。
【００４２】
モデル評価部２８は、機器状態認識モデルを評価する。モデル評価部２８は、取得したモニタデータの一部をテストデータとして用い、機器状態認識モデルを特定するデータをプログラムに読み込ませたときに、プログラムがテストデータを正しく認識できるか否かの評価を行い、評価の結果得られる正解率が所定値に達するまで機器状態認識モデルの生成を繰り返し行わせる。このようにすると、機器状態認識モデルの精度が上がり、好ましい。
【００４３】
（自動学習装置の動作）
次に、自動学習装置１０の動作について説明する。図３は、モニタデータを取得するまでの動作を示すフローチャートである。図４は、モニタデータを取得した後の、位置抽出処理と機器状態認識モデル生成の動作を示すフローチャートである。例として室内電灯のＯＮ／ＯＦＦ状態を学習する動作を説明する。
【００４４】
まず、自動学習管理部１４は、オペレータから与えられた契機、または定期的なタイマー等を契機に、学習対象の機器を選択する（ステップＳ１）。学習対象の機器の選択の際には、自動学習管理部１４は、機器ＤＢ１２に問い合わせ、機器状態認識モデルの作成や対象機器位置の抽出がまだであるか、または低精度な学習対象の機器を抽出し、その機器を学習対象として選択する。
【００４５】
自動学習管理部１４は、選択した機器が取りうる状態とその状態への制御コマンドの情報を、機器ＤＢ１２に問い合わせ取り出す（ステップＳ２）。取り出す機器の情報は、「デバイスＩＤ」、「機器の状態」、「制御コマンド」を含む情報となる。例えば、シーリングライトでＯＮ／ＯＦＦしかできない機器の場合であれば、「機器の状態」の情報としてＯＮまたはＯＦＦの２組の情報を取り出せばよい。
【００４６】
自動学習管理部１４は、抽出した機器の情報を制御管理部１６へ引き渡し、学習フェーズを開始する（ステップＳ３）。制御管理部１６では、引き渡された機器の集合（ｘ∈Ｘ）とｘに紐づく状態の集合（ｓ∈Ｓｘ）から、機器ｘ、状態ｓを選択する（ステップＳ４）。これはランダムでも指示順でもよい。例えば、「機器：シーリングライト、状態：ＯＮ」を選択する。
【００４７】
制御管理部１６は、モニタ部２０に対して、モニタ開始を指示する（ステップＳ５）。このタイミングでは、機器に対して制御を開始していない。モニタ部２０は、指示に従って、モニタを開始する（ステップＳ６）。具体的には、モニタとしてカメラにより画像を撮影する。学習量を増やすため、一定時間連続で静止画撮影したり、動画撮影したりしてもよい。
【００４８】
制御管理部１６は、機器ｘに対して状態ｓにするために制御コマンドを送るよう、コマンド送信部１８へ指示する（ステップＳ７）。制御信号が干渉等で伝わらないことを考慮し、複数回送信してもよい。コマンド送信部１８は、指示された制御コマンドを送信する（ステップＳ８）。例えば、制御管理部１６は、シーリングライトをＯＮにする赤外線信号の制御コマンドを送るようコマンド送信部１８へ指示する。そして、コマンド送信部１８はＯＮに対応づけられた赤外線信号の制御コマンドをシーリングライトに送信する。
【００４９】
制御管理部１６は、モニタ開始し、機器制御に十分な時間経過後（例えば１０秒後）に、モニタを停止するよう指示する（ステップＳ９）。なお、この所定の被制御見込み時間は、マージンを確保するため、余裕時間を加え３０秒に伸ばしてもよい。モニタ部２０は、指示を受けてモニタを停止する（ステップＳ１０）。
【００５０】
モニタ部２０は、モニタ停止後、撮影、記録したデータを、制御管理部１６へ送信する（ステップＳ１１）。制御管理部１６は、指示した機器ｘおよび状態ｓと取得されたモニタデータとを紐づける（ステップＳ１２）。例えば、制御管理部１６は、送信されたモニタデータと「機器：シーリングライト、状態：ＯＮ」とを紐づける。
【００５１】
機器ｘに対し指示された状態がその他にあるか否かを含め、すべての状態を十分に繰り返したか否かを判定する（ステップＳ１３）。十分か否かについては、例えば一つの状態についてモニタリングが所定回数に達したか否かで判定できる。
【００５２】
機器ｘに対し指示された状態がその他にある等、すべての状態を十分に繰り返していなければ、再度ステップＳ４に戻り、他の状態で同様の動作を繰り返す。また、機器ｘ以外の機器も指示があれば、再度ステップＳ４に戻り、機器ｘ以外の機器においても同様の動作を繰り返す。なお、連続して同じ状態でのモニタリングを繰り返さないように、学習の前提として最低でも２つの機器の状態をとりうることが必要である。
【００５３】
指示されたすべての機器および状態について動作の繰り返しが完了すると、結果をモニタデータＤＢ２２に保存する（ステップＳ１４）。この例では、一回の機器状態制御をモニタするたびに、モニタデータＤＢ２２には、「機器：シーリングライト、状態：ＯＮ、モニタデータ：複数の画像」の情報が保存される。
【００５４】
制御管理部１６でのデータの収集が完了すると、次に位置抽出部２４が、機器の位置を抽出する。抽出のために、まず同一機器で、異なる状態のモニタデータをモニタデータＤＢ２２から取り出す（ステップＴ１）。そして、取り出したモニタデータを用いて位置抽出処理を行う（ステップＴ２）。位置抽出処理の詳細は後述する。
【００５５】
学習部２６は、画像中の機器ｘとその状態ｓをラベルとし、機器の位置情報により、画像中の機器の画像を抽出して、機器画像の学習処理を行う（ステップＴ２）。この学習処理は、深層学習の技術を使用する。また、画像からその状態を識別する画像認識プログラムとして、例えばＩｍａｇｅｎｅｔを利用できる。
【００５６】
なお、学習処理を行う際には、制御コマンドによる機器の制御が失敗した時のモニタデータの除去のため次の（Ａ）、（Ｂ）のような前処理を行うことが好ましい。（Ａ）まず、各状態の各モニタ結果に対して、モニタ開始から一定時間経過後（例えば５秒後）のデータを、状態変化が完了したものとして抽出する。また、時系列に沿ってモニタデータ間の類似度を求め、最も大きい変化が生まれた時点以降のモニタデータを状態変化が完了したモニタデータとして抽出してもよい。
【００５７】
（Ｂ）上記の（Ａ）でフィルタしたモニタデータに対して、各モニタデータ間の類似度を計算する。これは、Ｎ個のモニタデータに対して、Ｎ（Ｎ−１）／２個の類似度が計算される。このうち、Ｎ個の一定率（例えば７５％）の集合を作成し、その集合内でのモニタデータの類似度の平均値を算出し、その平均値が最も高くなるモニタデータの集合を、学習対象として抽出する。これにより例外的に混ざってしまった意図とは異なる状態のモニタデータを除くことができる。例えば、モニタデータＡ、Ｂ、Ｃ、Ｄがある場合、一定率を７５％とするとＡＢＣ、ＢＣＤ、ＡＢＤ、ＡＣＤの四つの集合ができる。このとき、集合ＡＢＣ内において、ＡとＢ、ＢとＣ、ＡとＣの類似度が計算でき、これらの平均値を求めることができる。同様にほかの集合も類似度の平均値を算出し、最も高い類似度の平均を持つ集合のモニタデータを学習対象として抽出する。学習部２６は、学習した結果を、機器状態認識モデルとして機器ＤＢに保存する（ステップＴ４）。
【００５８】
（位置抽出）
図５は、位置抽出処理の概要を示す模式図である。モニタデータＤＢ２２の中には、各機器に対して複数の異なる状態のモニタデータが保存されている。これら各機器ごとに異なる状態のモニタデータの差分を取ることで各機器の位置を抽出することができる。例えば、シーリングライトのＯＮの状態のモニタデータとＯＦＦの状態のモニタデータを用いることができる。シーリングライトがＯＮの状態と、ＯＦＦの状態で、シーリングライトの輝度が変わっており、その差分から対象機器としてのシーリングライトの位置を抽出できる。その変化範囲を含む周囲を機器の位置として学習し、機器ＤＢに保存する。
【００５９】
また、例えばエアコンに対してＯＦＦからＯＮに変える制御をし、それぞれの状態の画像データの差分を取ると、輝度が変化した位置を電源ランプであることを把握できる。この場合には、輝度が変化した位置を含む領域を機器の位置として扱う。また、送風口の形状が変化した場合には、形状が変化した位置を含む領域を機器の位置として扱うこともできる。
【００６０】
機器の状態が３以上あるときは、機器の複数の状態に共通した変化位置（最も変化した位置）を抽出してもよい。なお、この位置は厳密に機器のみを囲んで指定する必要はなく、機器を一意に識別するために、この座標にあるという一意性が担保できれば十分である。
【００６１】
（機器状態認識モデルの評価）
図６は、機器状態認識モデルの評価の動作を示すフローチャートである。モデル評価部２８は、機器ＤＢ１２から機器状態認識モデルを取り出す（ステップＵ１）。そして、機器状態認識モデルを評価する（ステップＵ２）。モデル評価部２８は、取得したモニタデータの一部をテストデータとして用い、機器状態認識モデルを特定するデータをプログラムに読み込ませたときに、プログラムがテストデータを正しく認識できるか否かの評価を行う。評価の結果得られる正解率が所定値に達しない場合は、ステップＳ５に戻り、モニタデータの取得と学習と機器状態認識モデルの生成を行う（ステップＵ３）。評価の結果得られる正解率が所定値に達した場合は、その旨を機器ＤＢ１２に保存し、終了する（ステップＵ４）。
【００６２】
（モニタデータの変形例）
なお、モニタデータとしては、上記のようにカメラによって撮影された画像データを使用するのが好ましいが、マイクによって収集された音やスマートメータによって収集された消費電力の値を使用してもよい。この場合には、基本的に位置情報は使用しない。モニタデータが音の場合は、機器の操作音や動作音、スピーカを有する機器の音量等を学習に使用できる。モニタデータが消費電力の値の場合は、機器に特有の波形や消費電力の値等を学習に使用できる。なお、モニタ部２０は、異なる種類の複数のモニタデータを収集してもよく、そのとき学習部２６は、異なる種類のモニタデータを別々に学習してもよいし、それらを合わせたデータを学習してもよい。
【００６３】
［第２の実施形態］
上記の実施形態では、自動学習装置１０が自機内で位置抽出や学習処理をすべて行えるように構成されているが、コマンド送信部１８およびモニタ部２０以外は、対象機器と同一場所に存在する必要はなく、例えばクラウド上に一部の機能を設けてもよい。
【００６４】
図７は、自動学習システム５０の構成の一例を示すブロック図である。自動学習システム５０は、自動モニタ装置１００および学習装置２００を備えている。自動モニタ装置１００は、遠隔で制御可能な機器の状態を自動でモニタする。学習装置２００は、自動モニタ装置１００と通信可能であり、自動モニタ装置１００から取得したモニタデータを用いて、対象機器の位置抽出や学習処理を行う。
【００６５】
（自動モニタ装置の構成）
自動モニタ装置１００は、制御管理部１６、コマンド送信部１８、モニタ部２０、モニタ側通信部１３０を備えている。制御管理部１６、コマンド送信部１８、モニタ部２０の機能は第１の実施形態と同様なので省略する。
【００６６】
モニタ側通信部１３０は、学習装置２００に設けられた学習側通信部２３０と通信する。モニタ側通信部１３０は、学習装置２００に設けられた機器ＤＢ１２、モニタデータＤＢ２２に保存されている必要なデータを受信し、制御管理部１６により機器状態ラベルと紐づけられたモニタデータを送信する。
【００６７】
（学習装置の構成）
学習装置２００は、機器ＤＢ１２、自動学習管理部１４、モニタデータＤＢ２２、位置抽出部２４、学習部２６、モデル評価部２８、学習側通信部２３０を備えている。機器ＤＢ１２、自動学習管理部１４、モニタデータＤＢ２２、位置抽出部２４、学習部２６、モデル評価部２８の機能は第１の実施形態と同様なので省略する。
【００６８】
学習側通信部２３０は、自動モニタ装置１００に設けられたモニタ側通信部１３０と通信する。学習側通信部２３０は、機器ＤＢ１２、モニタデータＤＢ２２に保存されている必要なデータを送信し、制御管理部１６により機器状態ラベルと紐づけられたモニタデータを受信し、モニタデータＤＢ２２に保存する。
【００６９】
（自動学習システムの動作）
自動学習システム５０の動作も、モニタ側通信部１３０と学習側通信部２３０との間で必要なデータのやり取りがある以外は、第１の実施形態の自動学習装置１０の動作と同様である。
【００７０】
このように、学習部２２６をクラウド上に設けることで、学習に必要な計算量が増大してもクラウド上で対応することができる。また、別の自動モニタ装置１００が取得したモニタデータから生成された機器状態認識モデルを利用したり、複数の自動モニタ装置１００が取得したモニタデータを合わせて学習用データとしたりすることもできる。
【符号の説明】
【００７１】
１０  自動学習装置
１２  機器ＤＢ
１４  自動学習管理部
１６  制御管理部
１８  コマンド送信部
２０  モニタ部
２２  モニタデータＤＢ
２４  位置抽出部
２６  学習部
２８  モデル評価部
５０  自動学習システム
１００  自動モニタ装置
１３０  モニタ側通信部
２００  学習装置
２３０  学習側通信部
【図１】
2018056890.tif 000003
【図２】
2018056890.tif 000004
【図３】
2018056890.tif 000005
【図４】
2018056890.tif 000006
【図５】
2018056890.tif 000007
【図６】
2018056890.tif 000008
【図７】
2018056890.tif 000009