<実施形態>
本発明の第1の実施形態について、図面を参照しながら説明する。
本発明に係る環境制御装置100は、各種の機器を制御することができる情報処理装置である。換言すれば、環境制御装置100は、各種の機器を制御することにより、ユーザの周辺環境を制御することができる装置である。環境制御装置100が制御する機器は、一例として、様々な家電製品が挙げられ、その場合に、環境制御装置100は、いわゆるホームネットワークシステムとして機能する。
環境制御装置100は、ユーザの状況に係る情報を各種の機器から取得し、取得した情報に基づいて、ユーザの状況を推定する。そして、推定した状況に対して、ユーザにとってより好適であると推定される環境になるように、各種の機器を制御する。環境制御装置100は、その外観としてどのような態様をとってもよく、スマートスピーカーのようなスピーカーであったり、単なるコンピュータシステムであったり、ロボットであったりしてもよい。即ち、環境制御装置100は、単体のコンピュータシステムとして成立してもよいし、スマートスピーカーやロボット等の機器に内蔵されてもよい。また、環境制御装置100は、スマートスピーカーやロボットを制御するためのサーバであってもよい。なお、環境制御装置100は、ユーザ周辺の環境を設定する装置として環境設定装置と呼称されてもよい。
以下、このような環境制御装置100について説明する。
(システム構成)
図1に示すように、環境制御装置100を含む環境設定システム1は、ユーザの環境を特定可能な情報を収集する機器として、例えば、カメラ20、マイク30、センサ40を含む。カメラ20、マイク30、センサ40は、ネットワーク300を介して、環境制御装置100と通信可能に接続されており、カメラ20、マイク30、センサ40が収集して得られたデータは、環境制御装置100に送信される。
カメラ20は、画像または映像を撮像する機能を有する。カメラ20は、逐次ユーザ10及びその周辺を撮像し、その画像データを、環境制御装置100に送信する。
マイク30は、音声を録音する機能を有する。マイク30は、逐次ユーザ10及びその周辺の音声を拾い、音声データに変換して、環境制御装置100に送信する。
センサ40は、その他の環境に係る情報を得ることができるものであれば、どのようなセンサであってもよい。ここで、センサ40は、画像を取得するセンサとして機能するカメラ20、音声を取得するセンサとして機能するマイク30以外の例えば、温度センサであたり、湿度センサであったり、照度センサであったり、超音波センサであったり、赤外線センサであったりしてよい。各センサ40は、センシングして得られたセンサデータを環境制御装置100に送信する。また、センサ40は、各種の家電における稼働状況に係る情報を取得するものであってもよい。この場合、各家電が自装置の稼働状況における情報を環境制御装置100に送信することとしてもよい。
また、環境設定システム1は、ユーザの周辺環境を制御する機器を含む。ユーザの周辺環境を制御するとは、ユーザの周辺に何等かの影響を及ぼすことをいい、より具体的には、機器の動作状態を変更することを示し、例えば、温度に係る制御であったり、湿度に係る制御であったり、音の制御であったりしてよく、照明の光量の制御であったりしてよい。また、機器としては、各種の家電を用いることができ、例えば、照明装置、空調装置、スピーカー、テレビ、給湯装置、電動ブラインド、電動カーテン、…などがある。図1には、一例として、空調装置50が示されている。
図1に示すように、環境制御装置100は、ネットワーク300を介して、各種の機器(家電)と接続されており、環境制御装置100は、各機器を制御可能に構成されている。制御可能に構成されているとは、環境制御装置100が各機器を遠隔制御できるように各機器の制御権を有していることを意味する。
図1に示すように、環境制御装置100は、カメラ20から得られたユーザ10を撮像した映像のデータ、マイク30を介して得られたユーザ10の周辺の音声データ、その他の各種のセンサ40がセンシングして得たセンサデータを、ネットワーク300を介して受信する。環境制御装置100は、受信した各種のデータ(映像データ、音声データ、センサデータ)に基づいて、ユーザ10の状況を推定する。そして、推定した状況に応じて、ユーザにとって好適な環境になるように機器を制御する。図1の例では、ユーザ10が汗をかいて、暑そうにしているという状況を推定し、空調装置50を制御して、ユーザ10の周囲を涼しくする例を示している。
また、カメラ20、マイク30、センサ40は、環境制御装置100が機器の制御を行った後も、ユーザの状況を示す情報を獲得し、環境制御装置100に送信する。環境制御装置100は、受け付けた情報に基づいて、自装置で行った制御がユーザにとって好適であったか否かを判定する。そして、その判定結果を、自装置で行う環境制御にフィードバックする。これにより、環境制御装置100は、ユーザ10に特化した環境設定が行えるようになる。ここで、ユーザの状況を示す情報とは、ユーザ自身の様子を示す直接的な情報であってもよいし、ユーザの行動に起因する間接的な情報であってもよい。ユーザ自身の様子を示す直接的な情報とは、例えば、ユーザが手を振っていることを示す情報や、ユーザが汗をかいていることを示す情報や、ユーザが震えているということを示す情報などであってもよい。ユーザの行動に起因する間接的な情報とは、例えば、ユーザが自身の手でリモコン等を用いて機器を制御したことを示す制御情報や、ユーザが物を動かした(例えば、窓を開けた、カーテンを閉めたなど)ことを示す情報や、ユーザが移動したことに伴う移動音を示す情報などであってもよい。
ネットワーク300は、環境制御装置100と各種の機器との間を相互に接続させるためのネットワークであり、例えば、無線ネットワークや有線ネットワークである。具体的には、ネットワーク300は、ワイヤレスLAN(wireless LAN:WLAN)や広域ネットワーク(wide area network:WAN)、ISDNs(integrated service digital networks)、無線LANs、LTE(long term evolution)、LTE−Advanced、第4世代(4G)、第5世代(5G)、CDMA(code division multiple access)、WCDMA(登録商標)、イーサネット(登録商標)などである。
また、ネットワーク300は、これらの例に限られず、例えば、公衆交換電話網(Public Switched Telephone Network:PSTN)やブルートゥース(Bluetooth(登録商標))、ブルートゥースローエナジー(Bluetooth Low Energy)、光回線、ADSL(Asymmetric Digital Subscriber Line)回線、衛星通信網などであってもよく、どのようなネットワークであってもよい。ネットワーク300は、ユーザの住居に備えられる場合には、ホームネットワークと呼称されることもある。
また、ネットワーク300、例えば、NB−IoT(Narrow Band IoT)や、eMTC(enhanced Machine Type Communication)であってもよい。なお、NB−IoTやeMTCは、IoT向けの無線通信方式であり、低コスト、低消費電力で長距離通信が可能なネットワークである。
また、ネットワーク300は、これらの組み合わせであってもよい。また、ネットワーク300は、これらの例を組み合わせた複数の異なるネットワークを含むものであってもよい。例えば、ネットワーク300は、LTEによる無線ネットワークと、閉域網であるイントラネットなどの有線ネットワークとを含むものであってもよい。
(環境制御装置の構成例)
図2は、環境制御装置100の構成例を示すブロック図である。図2に示すように、環境制御装置100は、例えば、受信部110と、記憶部120と、制御部130と、送信部140と、を備える。
受信部110は、ネットワーク300を介して、カメラ20、マイク30、センサ40それぞれから、画像データ、音声データ、センサデータを受信する通信インターフェースである。受信部110は、画像データ、音声データ、センサデータのうちのいずれかを受信すると、制御部130に伝達する。
記憶部120は、環境制御装置100が動作するうえで必要とする各種プログラムや各種データを記憶する機能を有する。記憶部120は、例えば、HDD、SSD、フラッシュメモリなど各種の記憶媒体により実現される。なお、環境制御装置100は、プログラムを記憶部120に記憶し、当該プログラムを実行して、制御部130が、当該制御部130に含まれる各部としての処理を実行してもよい。当該プログラムは、環境制御装置100に、制御部130が実行する各機能を実現させる。記憶部120は、受信した画像データに基づいて画像解析を行う画像解析プログラムや、受信した音声データに基づいて音声解析を行う音声解析プログラムや、センサデータからセンシングデータ解析を行うセンサ解析プログラムや、それらの解析結果からユーザの状況を推定する推定プログラムを記憶している。また、記憶部120は、推定したユーザの状況から、ユーザ周辺の機器に対して実行する制御を特定し、推薦するために用いる環境決定モデル121を記憶している。環境決定モデル121の詳細については、後述する。環境決定モデル121は、初期には、汎用のものが記憶されていることとし、機器の制御の結果、ユーザの反応をみて、フィードバックを行うことにより、ユーザ10にパーソナライズされる。なお、環境制御装置100の記憶部120に記憶される各種の情報は、クラウド上に設けられてもよく、その場合に、環境制御装置100は、制御に必要とするデータを、クラウドにアクセスして取得した上で制御を行うように構成されてもよい。
制御部130は、環境制御装置100の各部を制御するものであり、例えば、中央処理装置(CPU)やマイクロプロセッサ、ASIC、FPGAなどであってもよい。なお、制御部130は、これらの例に限られず、どのようなものであってもよい。
制御部130は、画像処理部131と、音声処理部132と、センサデータ処理部133と、行動推定部134と、推薦部135と、装置制御部136と、反映部137と、を含む。
画像処理部131は、受信部110から伝達された画像データを解析する機能を有する。画像処理部131は、解析結果を行動推定部134に伝達する。画像処理部131による画像解析には、一般に知られる画像認識技術を用いればよい。ここでいう画像処理部131による画像解析とは、例えば、ユーザがどのような状況にあるかを解析するものであり、画像内に、ユーザが存在するか否か、ユーザが存在する場合にどのような姿勢であるか、また、何をしているかを特定するものである。一例として、画像処理部131による画像解析は、受信部110から伝達された画像データを入力として、ユーザの行動やユーザの状況を示す映像状況情報を出力する深層学習モデルにより実現されてもよい。ここで、映像状況情報は、解析の結果を示す情報である。
音声処理部132は、受信部110から伝達された音声データを解析する機能を有する。音声処理部132は、解析結果を行動推定部134に伝達する。音声処理部132による音声解析には、一般に知られる音声認識技術を用いればよい。ここでいう音声処理部132による音声解析とは、ユーザの周囲の音に関する環境を特定するためのものであり、騒がしい、テレビの音がしている、複数の人物が会話をしている、2人以上の人間が喧嘩をしているなどといった状況を解析するものである。一例として、音声処理部132による音声解析は、受信部110から伝達された音声データを入力として、ユーザの周囲の音に関する情報に基づいて推定されるユーザの行動やユーザ自身とユーザの周囲の状況に関する情報を出力する深層学習モデルにより実現されてもよい。
センサデータ処理部133は、受信部110から伝達されたセンサデータを解析する機能を有する。センサデータ処理部133は、解析結果を行動推定部134に伝達する。センサデータ処理部133によるセンサデータの解析は様々であり、例えば、センサが温度センサであれば、現在のユーザの周囲の温度が何度であるかを解析したり、湿度センサであれば、現在のユーザの周囲の湿度が何度であるかを解析したり、照度センサであれば、照明がついているのか、照度がいくらであるかを解析したり、超音波センサであれば、センサのある位置からユーザまでの距離を解析したりと、センサデータ処理部133は、センサとその用途に応じて様々な情報を解析する。
行動推定部134は、画像処理部131、音声処理部132、センサデータ処理部133から伝達されたデータに基づいて、ユーザの行動やユーザ自身と周囲の状況を推定する機能を有する。
推薦部135は、行動推定部134が推定したユーザの行動及びユーザの周囲の状況に基づいて、環境決定モデル121を利用して、制御対象の機器及びその機器において実行する制御を特定する機能を有する。推薦部135は、特定した制御対象の機器及びその機器において実行する制御に関する情報を、装置制御部136に伝達する。
装置制御部136は、推薦部135からの指示に従って、指定された機器に対して、指定された指示に基づく制御信号を送信するよう、送信部140に指示する。
反映部137は、装置制御部136が、制御信号を送信する指示を出した後に、所定時間、受信部110が受信する画像データ、音声データ、センサデータに基づいて、環境制御装置100が実行した機器の制御に対するユーザの評価を特定する。即ち、反映部137は、機器の制御に対するユーザの評価を示す評価情報を生成する生成部としても機能する。そして、反映部137は、特定した評価に基づいて、環境決定モデル121を変更(更新)する、即ち、ユーザの評価を環境決定モデル121に反映させる機能を有する。ここで、ユーザの評価を示す評価情報は、環境制御装置100が実行した機器の制御に対する良し悪し(肯定的評価、否定的評価)やその度合であってもよいし、機器の制御に伴って、機器の制御内容には直接には関与しないものの、ユーザ自身、あるいは、ユーザの行動に現れた付加的評価を示すものであってもよい。
送信部140は、制御部130(装置制御部136)からの指示に従って、各種の機器(家電)に制御信号を送信する機能を有する通信インターフェースである。
以上が、環境制御装置100の構成例である。
(環境決定モデルの構成例)
次に、環境決定モデル121の一例を、図3を用いて説明する。図3は、環境決定モデル121のデータ概念図である。図3に示すように、環境決定モデル121は、環境条件301と、制御機器302と、制御内容303とが対応付けられた情報である。
環境条件301は、ユーザの環境を変更するにあたって機器の制御を行うための条件を示す情報である。環境条件301は、1または複数の条件であるとし、環境制御装置100は、これらの全てもしくは所定数(所定割合)以上の条件を満たした場合に、機器に対する制御を行う。環境条件には、ユーザの状態や、ユーザの現在の行動、ユーザがとろうとしている行動、周囲の環境、時間、など、様々なものが条件として設定されてよい。
制御機器302は、対応する環境条件301が満たされた場合に、制御の対象となる機器を示す情報である。制御機器302には、制御の対象となる機器は複数含まれていてもよい。
制御内容303は、対応する環境条件301が満たされた場合に、対応する制御機器302において実行する制御の内容を示す情報である。制御内容303には、複数の制御内容が含まれていてもよい。また、対応する制御機器302に複数の機器が設定されている場合であって、制御内容303にも複数の制御内容が記載されている場合には、どの機器がどの制御内容を実行するかが規定される。
図3の例で言えば、例えば、行動推定部134によるユーザの行動の推定結果や、ユーザの状況の判定結果から、環境条件301として、「・ユーザが汗をかいている」、「気温が所定の閾値(システムにおいて設定された任意の値でオペレータまたは制御部130が設定した値)より高い」、「空調装置の電源が入っている」という条件を満たした場合には、装置制御部136は、制御機器302として、「空調装置」を対象に、制御内容303として、「冷房の温度を2度下げる」という制御を行う。また、図3の別の例で言えば、「ユーザがテレビを見ている」、「ユーザが眩しそうにしている」という条件を満たした場合には、「照明装置」、「ブラインド」または「カーテン」を対象に、部屋の照明を落とす(光量を下げる)制御を行うとともに、「ブラインドを閉める」または「カーテン」を閉じる制御を行うことになる。
なお、図3は、あくまで環境決定モデル121の一例に過ぎない。環境決定モデル121は、様々な環境条件を入力として、制御の対象となる機器と、その機器における制御内容を導出できるデータであれば、どのようなデータであってもよく、その他の一例としては、深層学習における学習モデルを用いることができる。また、図3に示す環境条件301、制御機器302、制御内容303もまた、一例に過ぎず、図3に示した内容以外の条件に基づいて、何らかの機器が、何らかの制御を行うこととしてよいことは言うまでもない。
(環境制御装置100の動作例)
図4は、環境制御装置100の動作であって、機器の制御を行う際の動作を示すフローチャートである。
図4に示すように、環境制御装置100の受信部110は、カメラ20から、画像データを受信する。受信部110は、受信した画像データを、画像処理部131に伝達する。画像処理部131は、伝達された画像データを解析して得られる映像状況情報を生成する(ステップS401)。映像状況情報は、画像処理部131が解析して得られたユーザの状況やユーザの行動を特定し得る情報を含む。画像処理部131は、映像状況情報を行動推定部134に伝達する。
受信部110は、マイク30から音声データを受信する。受信部110は、受信した音声データを、音声処理部132に伝達する。音声処理部132は、伝達された音声データを解析して得られる音声状況情報を生成する(ステップS402)。音声状況情報は、音声処理部132が解析して得られたユーザの周囲の音に関する情報を含む。音声処理部132は、音声状況情報を行動推定部134に伝達する。
受信部110は、各種のセンサ40からセンサデータを受信する。受信部110は、受信したセンサデータを、センサデータ処理部133に伝達する。センサデータ処理部133は、伝達されたセンサデータを解析して得られるユーザ状況情報を生成する(ステップS403)。ユーザ状況情報は、ユーザの周囲の状況に関する情報を含む。センサデータ処理部133は、ユーザ状況情報を行動推定部134に伝達する。
行動推定部134は、伝達された映像状況情報と、音声状況情報と、ユーザ状況情報と、からユーザが置かれている状況やユーザの行動を推定する。行動推定部134は、推定したユーザが置かれている状況やユーザの行動を示す情報を推薦部135に伝達する。推薦部135は伝達された情報に基づいて、環境決定モデル121を利用して、制御すべき機器を特定するとともに、その機器において実行する機能、即ち、その制御内容を特定する(ステップS404)。推薦部135は、特定した制御対象機器とその制御内容を示す情報を装置制御部136に伝達する。
装置制御部136は、推薦部135から伝達された制御内容を示す情報に基づく制御信号を生成し、生成した制御信号を、制御対象機器に送信するよう送信部140に伝達する。送信部140は、指示された制御対象機器に宛てて伝達された制御信号を送信する(ステップS405)。これにより、機器は制御信号に基づく動作をして、ユーザの環境を整える。
これにより、環境制御装置100は、ユーザからの明示的な指示なしで、ユーザが望んでいると推察される環境となるように、ユーザ周辺の機器(例えば、家電)を制御することができる。
図5は、環境制御装置100による環境決定モデル121の更新処理を示すフローチャートである。
図5は、受信部110は、画像データ、音声データ、センサデータのうちの少なくともいずれか1つを受信する(ステップS501)。
制御部130は、データを受信した場合に、過去に機器の制御を行うための制御信号を出力しているか否かを判定する(ステップS502)。ここでは、単純に制御信号を出力しているか否かを判定することとし、制御対象の機器までは確認する必要はない。ここでいう過去とは、ステップS502の判定を行うまでであればいつでもよく、環境制御装置100の電源が入ってからであってもよいし、ステップS502の判定を行う一日以内であってもよい。過去に機器の制御を行っている場合には(ステップS502のYES)、環境決定モデル121を更新すべきか否かを判定するための処理として、制御部130は、その制御を行ったのが所定時間以内であるか否かを判定する(ステップS503)。即ち、データを受信した時刻から、過去に遡って所定時間内に、装置制御部136(送信部140)から制御信号が送信されているか否かを判定する。
ここで、ステップS503の処理の意味を説明する。ステップS503の処理は、画像データ、音声データ、センサデータ等のデータを受信した場合に、その受信したデータから環境を判定し、環境制御装置100が行った機器の制御がユーザにとって好適であったか否かであったかを判定し、その結果を環境決定モデル121に反映してこれを更新すべきか否かを判定するための処理である。
そこで、ここでは、その判定処理として、環境制御装置100は、自装置で機器の制御を行ってから所定時間以内のデータを受信したか否かを判定している。これは、機器の制御を行ってから、ユーザにとってその制御が好適であったか否か(満足したか否か)は、機器の制御を行ってから所定時間以内に現れると想定されるためである。なお、この所定時間は、環境制御装置100が実行した機器の制御内容に応じて、異なってよい。機器の制御がユーザに現れるまでの時間は、行った制御によって異なるためである。例えば、機器の制御として空調装置の温度調整を行った場合には、その影響がユーザに出るまでは比較的時間がかかると想定されることから所定時間を他の制御に比して長く設定し、機器の制御として照明装置のオンオフを行った場合には、その影響がユーザにすぐに出るので所定時間を他の制御に比して短く設定することとしてよい。このように判定のための時間を異ならせることで、反映部137は、各種の制御に応じて、適切に受信したデータが環境決定モデル121を更新するのに適切であるか否かを判定することができる。
また、ここでは、受信したデータが、環境決定モデル121の更新に用いるべきか否かの判定として、機器の制御を行ってから所定時間以内であるかを判定しているが、これは、環境決定モデル121の更新を実行すべきか否かを判定できるのであれば、それ以外の判定であってもよい。例えば、制御部130は、受信したデータの内容と、環境制御装置100が実行した機器の制御の内容との相関性を判定することで、環境決定モデル121の更新を実行すべきか否かを判定することとしてもよい。環境制御装置100が実行した機器の制御内容との相関性の有無については、一例として、各機器の制御内容に応じて、想定される環境の変化を示す情報が対応付けられた情報を記憶部120に記憶しておき、受信したデータが対応付けられている想定される環境の変化を示す情報との一致度合いに基づいて判定することができる。制御内容との相関性を見ることで、反映部137は、受信したデータが、環境決定モデル121を更新するためのデータであるか否かを、より適切に判定することができる。したがって、反映部137は、より適切に環境決定モデル121を更新することができる。ここで、相関性の有無について具体例を用いて説明すると、機器の制御として空調装置の温度を下げるという制御を行ったとしたとき、得られたデータが空調装置の温度をユーザが上げたといったデータや、ユーザが震えているといったデータについては、共に空調装置の制御によって関わる温度が影響するので相関性が高いものとし、例えば、周囲の雑音が大きくなった、テレビの音量が大きくなったなどの温度にあまりかかわりがないデータについては、相関性が低いものとする。また、例えば、機器の制御として、電話がかかってきたためにテレビの音量を下げるという制御をした場合には、音に関するデータ、例えば、ユーザの話し声が途切れた(電話が終わった)などについては、相関性が高いものとし、音に関連しないデータについては、相関性が低いものとする。
また、制御部130は、その他の条件を、受信したデータを環境決定モデル121の更新に用いるか否かを判定するための条件として、用いることとしてもよく、例えば、ユーザが、制御部130が制御した機器から、所定距離内にいるか否かを条件として用いることとしてもよい。即ち、制御した機器の近くにいれば、ユーザに対する影響は大きく、遠ければユーザに対する影響は少ないと考えられるからである。このように、ステップS503における判定においては、受信したデータを環境決定モデル121の更新に用いるべきか否かを判定できれば、どのような判定を行うこととしてもよい。
データ受信前の所定時間内に機器の制御を行っていた場合には(ステップS503のYES)、機器制御処理と、環境決定モデル121の更新処理とを実行する(ステップS504)。ここで、機器制御処理とは、図4に示す処理のことである。制御部130の画像処理部131、音声処理部132、センサデータ処理部133は、取得した各種のデータに基づいて環境制御装置100による機器の制御に対するユーザの評価を特定する(ステップS503)。
一方、データ受信前に機器の制御を行っていない場合(ステップS502のNO)や、データ受信前に機器の制御を行っていたとしてもその制御を所定時間内に行っていない場合には(ステップS503のNO)、制御部130は、図4に示す機器制御処理を実行し(ステップS505)、処理を終了する。
図5に示す処理を実行することにより、環境制御装置100は、環境決定モデル121をユーザに特化したモデルに修正していくことができる。なお、図5のステップS504に示すように、機器制御処理と環境決定モデル121の更新処理は、並列に実行されてもよいし、機器制御処理を行ってから環境決定モデル121の更新処理を行う、あるいは、環境決定モデル121の更新処理を行ってから機器制御処理を行うようにしてもよい。また、ステップS504においては、環境決定モデル121の更新処理のみを行うこととしてもよい。
(制御とフィードバックの具体例)
以下には、各種の機器の制御の具体例とそのフィードバックの例を説明する。なお、ここでは、図3に示した以外の制御例も説明する。
(例1)
まず、環境制御装置100は、以下の情報を得たとする。
(a1)ユーザが汗をかいている(画像処理による結果)。
(a2)ユーザが手で顔を仰いでいる(画像処理による結果)。
(a3)センサから得られた温度が28度で、所定の温度(例えば、27度)を超えている(センサデータ処理による結果)。
これにより、環境制御装置100は、環境決定モデル121の環境条件を参照して、対応する制御機器、制御内容を特定する。これらの条件に対して、例えば、空調装置の電源が入って動作していない場合には、空調装置の冷房を23度でつけるという制御を行い、空調装置の電源が入っていて動作している場合には、空調装置の設定温度を23度に下げるという制御を行う。換言すれば、環境制御装置100は、環境決定モデル121で指定されている温度(例えば、23度)を設定温度として空調装置が冷房を実行するように制御する。この制御によりユーザがいる空間に対応する空調装置の冷房がつけられ、部屋が冷やされることになる。
一方、この制御の後、所定時間内(例えば、10分以内)に、以下の情報を環境制御装置100が得たとする。
・ユーザが震えている(画像処理による結果)。
・ユーザが空調装置の温度設定を26度に変更した(センサデータ処理による結果)。
これにより、環境制御装置100は、環境決定モデル121の環境条件を修正する。具体的には、環境制御装置100は、冷房を23度で設定したことに対する制御に対する評価として、ユーザは冷房を切らなかったので、冷房を入れるという制御自体は間違っていなかったものの、冷房を設定したものの23度という温度設定が低すぎたと評価をしたと判断する。そこで、反映部137は、この判断の元、環境決定モデル121における条件(a1)、(a2)、(a3)に対応する制御内容303における、「23度で冷房をつける」という制御内容から「25度で冷房をつける」という制御内容に、環境決定モデル121を更新する。また、あるいは、環境制御装置100が実行した制御が、例えば、空調装置の設定温度を27度から23度に下げる(温度を4度下げる)という制御であった場合には、温度を下げすぎたと判断し、反映部137は、「空調装置の温度を4度下げる」という制御内容から「空調装置の温度を2度下げる」という制御内容に、環境決定モデル121を更新する。即ち、反映部137は、実行した機器の制御内容の度合を変更する形で、環境決定モデル121を更新することとしてよい。
(例2)
まず、環境制御装置100は、以下の情報を得たとする。
(b1)ユーザがテレビを見ている(画像処理による結果)。
(b2)ユーザがまぶしそうにしている(画像処理による結果)。
これにより、環境制御装置100は、環境決定モデル121の環境条件を参照して、対応する制御機器、制御内容を特定する。これらの条件に対して、例えば、照明装置の光量を3下げ、電動カーテンを閉じるという制御を行う。この制御によりユーザがいる空間の明るさを低減することができる。
一方、この制御の後、所定時間内(例えば、10分以内)に、以下の情報を環境制御装置100が得たとする。
・ユーザが照明装置の明るさを元に戻した(画像処理による結果)。
これにより、環境制御装置100は、環境決定モデル121の環境条件を修正する。具体的には、環境制御装置100は、カーテンを閉じたことはユーザにとって好適であったものの、照明装置の光量を下げることまでは不要であったと判断する。そこで、反映部137は、この判断の元、環境決定モデル121における条件(b1)、(b2)に対応する制御内容303における、「照明装置の光量を2下げる、電動カーテンを閉じる」という制御内容から「電動カーテンを閉じる」という制御内容に、環境決定モデル121を更新する。このように、反映部137は、既存の条件の内容を変更するだけでなく、新たな制御内容を加えるとしてもよいし、複数の制御内容がある場合に、そのうちのいずれかを消去するという形で、環境決定モデル121を更新することとしてよい。
(例3)
まず、環境制御装置100は、以下の情報を得たとする。
(c1)ユーザがテレビを見ている(画像処理による結果)。
(c2)電話がなっている(音声処理による結果)。
(c3)ユーザが電話をとろうとしている(画像処理による結果)。
これにより、環境制御装置100は、環境決定モデル121の環境条件を参照して、対応する制御機器、制御内容を特定する。これらの条件に対して、環境制御装置100は、例えば、テレビのボリュームを3下げるという制御を行う。この制御により、ユーザが電話での応答をテレビの音に邪魔されないようにすることができる。
一方、この制御の後、所定時間内(例えば、10分以内)に、以下の情報を環境制御装置100が得たとする。
・ユーザがテレビの字幕を表示する操作を行った(センサデータ処理による結果)。
これにより、環境制御装置100は、環境決定モデル121の環境条件を修正する。具体的には、環境制御装置100は、ユーザは、ボリュームを下げたことには問題ないと思っているものの番組の内容を認識したいために字幕の表示を行ったと判断する。そこで、反映部137は、環境決定モデル121における条件(c1)、(c2)、(c3)に対応する制御内容303における「ボリュームを3下げる」という制御内容から、「ボリュームを3下げる、字幕の表示を開始する」という制御内容に、環境決定モデル121を更新する。即ち、反映部137は、実行した機器の制御内容に新たな制御内容を追加するという形で、環境決定モデル121を更新することとしてよい。
(例4)
まず、環境制御装置100は、以下の情報を得たとする。
(d1)ドアの開閉があった(センサデータ処理による結果)。
(d2)ただいまの音声があった(音声処理による結果)。
(d3)外部天気情報の入力から外気温は低い(センサデータ処理による結果)。
(d4)ユーザが帰ってきた(画像処理による結果)。
これにより、環境制御装置100は、環境モデル121の環境条件を参照して、対応する制御機器、制御内容を特定する。これらの条件に対して、例えば、環境制御装置100は、風呂を沸かす制御を行う。また、併せてエアコンの温度上げる(あるいは、暖房を入れる)制御を行う。
一方、この制御の後、所定時間内(例えば、10分以内)に、以下の情報を環境制御装置100が得たとする。
・ユーザが安らいだ表情をしている(画像処理による結果)。
・「気持ちいい」という音声があった(音声処理による結果)。
これにより、環境制御装置100は、実行した制御内容が、ユーザにとって好適なものであったと評価する。また、あるいは、環境制御装置100が、ユーザの音声から「お風呂にはまだ早いかなあ」という情報を得ていた場合、制御部131は、上記(d1)、(d2)、(d3)、(d4)の条件がそろった場合であっても、制御を行った時間帯では、風呂を沸かさないように、制御内容を変更し、環境決定モデル121を更新する。
(例5)
まず、環境制御装置100は、以下の情報を得たとする。
(e1)「今日の晩御飯は何にしようかしら?」との音声があった(音声処理による結果)。
(e2)冷蔵庫の中に、ひき肉と玉ねぎとジャガイモと人参とオクラが残っている(センサデータ処理による結果)。
(e3)ユーザが台所にいる(画像処理による結果)。
これにより、環境制御装置100は、ユーザが調理をしようとしている状況であると判断し、環境決定モデル121を参照して、ユーザに対して冷蔵庫の在庫で調理可能な料理を提案する。このとき、提案できるレシピを保持していない場合に、制御部130は、インターネット等にアクセスして、実現できる料理のレシピを獲得する。そして、獲得したレシピの中から、ユーザの嗜好に合致するレシピをユーザに提案する。この提案は、例えば、スピーカーから音声により、ユーザに対して、「それでは、○○などどうでしょうか?」と提案することとしてもよい。
一方、この制御を行った後、所定時間内(例えば、1時間以内)に、環境制御装置100は、以下の情報を取得したとする。
・「おいしいね」という音声があった(音声処理による結果)。
・ユーザが笑顔である(画像処理による結果)。
・「もうちょっと辛い方がいいかな」という音声があった(音声処理による結果)。
これにより環境制御装置100は、実行した制御内容がユーザにとって好適であったものの、レシピにおいて辛みが足らなかったと判断する。そこで、環境制御装置100は、上記(e1)、(e2)、(e3)、の条件がそろっている場合に実行する制御内容として、レシピの提案を行うこととするものの、そのレシピにおいて辛み成分の量を作成したレシピよりも増量したレシピを提供するよう環境決定モデル121に設定する。このように環境制御装置100は、機器の制御にとどまらず、何等かの提案を行うこととしてもよい。この場合の制御対象の機器としては、一例として、モニターを対象として、提案内容を示す文字の表示を行ったり、スピーカーを対象として、提案内容を示す音声の出力を行うこととしてよい。
(例6)
まず、環境制御装置100は、以下の情報を得たとする。
(f1)二人のユーザが向かい合っている(画像処理による結果)。
(f2)複数のユーザ間で争論になっている(音声処理による結果)。
これにより、環境制御装置100は、環境決定モデル121の環境条件を参照して、対応する制御機器、制御内容を特定する。これらの条件に対して、例えば、ユーザ同士で喧嘩になっていると判断し、ユーザの気持ちを落ち着けるために、スピーカーから穏やかな音楽を流すという制御を行う。
一方、この制御の後、所定時間内(例えば、10分以内)に、以下の情報を環境制御装置100が得たとする。
・ユーザ同士の話し合う声量が落ちてきた。
これにより、環境制御装置100は、実行した制御が目的を達成できたものと判定する。この場合には、反映部137は、環境決定モデル121の更新を実行しない。
このように、環境制御装置100は、ユーザからの明示的な指示なしでユーザが置かれている様々な状況、ユーザが取ろうとしている行動を特定し、そのユーザの周辺に配されている機器を制御する。これにより、環境制御装置100は、ユーザの指示なしでもユーザにとって好適な環境を生み出すことができ、ユーザにとって快適な空間を提供することができる。
(補足)
上記実施形態に係る装置は、上記実施形態に限定されるものではなく、他の手法により実現されてもよいことは言うまでもない。以下、各種変形例について説明する。
(1)上記実施形態においては、環境制御装置100は、機器に対する制御を行ってから所定時間内のデータを用いて、制御内容に対する反映(フィードバック)を行うこととしたが、この所定時間は一律であってもよいし、制御機器、あるいは、制御内容に応じて、別々に設定されることとしてもよい。機器の制御を実行したことに伴う影響がユーザにすぐにでる場合には、この所定時間を短く設定し、ユーザへの影響が出るまで時間がかかるものは、この所定時間を長く設定することとしてもよい。例えば、オンオフですぐに切り替わる照明装置のオンオフや光量の増減、テレビの音量の増減などは、ユーザもすぐにその変化に気づきやすいので、仮に環境制御装置100による制御に何らかの不満があった場合には、その制御内容に対する措置をとることが推定されるので、そのような機器の場合であれば、所定時間を短く設定することで、雑音となり得る行動を取得してしまうことを防止することができる。一方で、空調装置の冷房の温度の上げ下げなどはユーザに影響が出るまで時間を要するものは、所定時間を長く設定することで、所定時間を短くした場合よりも、ユーザが制御内容をどのように評価したのかに関する情報を取得できない可能性を低減することができる。
(2)上記実施の形態においては、環境制御装置100が実行していた一部の機能を他の機器に実行させてもよい。例えば、環境制御装置100の機能部のうちネットワーク上の他の装置に実行させてもよい。即ち、クラウドコンピューティングにより実現されてもよい。
クラウドコンピューティングにより実現する機能は、画像処理であってもよいし、音声処理であってもよいし、ユーザの行動推定であってもよいし、環境決定モデルの更新処理であってもよいし、それらのうちの複数であってもよい。
(3)上記実施の形態において、環境決定モデル121は、ユーザの状況や行動を示す情報を入力として、制御対象の機器の情報と、制御の内容の情報を出力するモデルであるが、これはその限りではない。環境決定モデル121は、カメラ20が獲得した画像データ、マイク30が獲得した音声データ、各種のセンサ40が獲得したセンサデータを入力として、制御対象の機器の情報と、制御の内容の情報を出力するモデルであってもよい。この場合、画像処理部131、音声処理部132、センサデータ処理部133、行動推定部134、推薦部135までの機能部を1つの機能部で実現することができる。
(4)上記実施の形態においては、一人のユーザの場合の例を説明しているが、状況によっては、複数のユーザが存在する場合も当然にある。ここでは、そのような複数の人物がいる環境下における環境制御装置100による制御について説明する。
環境制御装置100は、環境決定モデル121を、環境制御装置100が制御する空間内に存在するユーザ毎に保持することとしてもよい。具体的には、記憶部120は、環境制御装置100を利用するユーザとそのユーザを示す画像情報(写真)に対応付けて、各々の環境決定モデル121を記憶する。
制御部130は、画像処理部131による画像処理の結果に基づいて、制御対象の空間に存在するユーザを特定する。このとき、複数のユーザが存在する場合には、制御内容やユーザに応じて、どのような制御を実行するのかを決定する。
複数のユーザが存在する場合における環境下においては、制御内容が複数のユーザに共通する場合には、その共通する制御内容を実行するものとする。
一方で、複数のユーザが存在する場合における環境下において、制御方向が同一であっても、制御内容が一致しない場合には、一例として、制御値として中間値や平均値をとる制御を行う。ここで、制御方向が同一とは、制御において何らかの数値を制御する場合に、その数値を変更する方向(加算、減算)が同一であることを意味する。例えば、あるユーザに対する制御が、「テレビのボリュームを3下げる」という制御である一方で、別のユーザに対する制御が、「テレビのボリュームを1下げる」という制御である場合には、その中間をとって、「テレビのボリュームを2下げる」という制御を行うこととしてよい。
あるいは、複数のユーザの中で、予め優先度を設定しておき、優先度の高いユーザに対応する制御内容を実行することとしてもよい。この優先度の設定は、環境制御装置100に、ユーザからの入力を受け付ける入力部を備え、ユーザが各環境決定モデル121に対して設定できることとしてよい。また、優先度による制御を行う場合には、初期設定として、社会的弱者(例えば、老人や幼児)のユーザの優先度を高く設定するようにしてもよい。
(5)上記実施の形態においては、環境制御装置100は、現在の状況におかれているユーザの環境を制御するものとして説明したが、これは、その限りではない。環境制御装置100は、更に、ユーザの未来の状況を予測して、環境を設定することとしてもよい。
具体的には、カメラ20、マイク30、各種のセンサ40から得られた情報を蓄積する。環境制御装置100の制御部130は、ユーザの行動を特定可能な情報を蓄積する。そして、蓄積した情報から、行動推定部134は、更に、ユーザの次の行動を推定する。そして、環境制御装置100は、推定した次の行動に対応した制御を予め行っておく。その結果、環境制御装置100は、予めユーザに好適な環境を提供できるようにすることもできる。
(6)上記実施の形態において、環境制御装置100は、ユーザからの明示的な入力なしで制御を行うこととしたが、ユーザの明示的指示にしたがって各種の機器の制御を行ってもよいことは言うまでもない。この場合、環境制御装置100は、画像データ、音声データ、センサデータを解析して、ユーザが指示した内容を対応付けて環境決定モデル121に新たな環境に応じた制御内容を追加することとしてもよい。
(7)本開示の各実施形態のプログラムは、コンピュータに読み取り可能な記憶媒体に記憶された状態で提供されてもよい。記憶媒体は、「一時的でない有形の媒体」に、プログラムを記憶可能である。記憶媒体は、HDDやSDDなどの任意の適切な記憶媒体、またはこれらの2つ以上の適切な組合せを含むことができる。記憶媒体は、揮発性、不揮発性、または揮発性と不揮発性の組合せでよい。なお、記憶媒体はこれらの例に限られず、プログラムを記憶可能であれば、どのようなデバイスまたは媒体であってもよい。
なお、環境制御装置100は、例えば、記憶媒体に記憶されたプログラムを読み出し、読み出したプログラムを実行することによって、各実施形態に示す複数の機能部の機能を実現することができる。また、当該プログラムは、任意の伝送媒体(通信ネットワークや放送波等)を介して、環境制御装置100に提供されてもよい。環境制御装置100は、例えば、インターネット等を介してダウンロードしたプログラムを実行することにより、各実施形態に示す複数の機能部の機能を実現する。
なお、当該プログラムは、例えば、ActionScript、JavaScript(登録商標)などのスクリプト言語、Objective―C、Java(登録商標)などのオブジェクト指向プログラミング言語、HTML5などのマークアップ言語などを用いて実装できる。
環境制御装置100における処理の少なくとも一部は、1以上のコンピュータにより構成されるクラウドコンピューティングにより実現されていてもよい。また、環境制御装置100の各機能部は、上記実施形態に示した機能を実現する1または複数の回路によって実現されてもよく、1の回路により複数の機能部の機能が実現されることとしてもよい。
(7)本開示の実施形態を諸図面や実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。従って、これらの変形や修正は本開示の範囲に含まれることに留意されたい。例えば、各手段、各ステップ等に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数の手段やステップ等を1つに組み合わせたり、或いは分割したりすることが可能である。また、各実施形態に示す構成を適宜組み合わせることとしてもよい。