以下、本発明を実施するための最良の形態について図を参照しながら説明する。なお、これはあくまでも一例であって、本発明の技術的範囲はこれに限られるものではない。
[物体状況判断システム1の概要]
本発明の好適な実施形態の概要について、図1に基づいて説明する。図1は、本発明の好適な実施形態である物体状況判断システム1の概要を説明するための図である。物体状況判断システム1は、コンピュータ10から構成され、画像内に撮影された物体の状況を推測するコンピュータシステムである。
なお、物体状況判断システム1は、図示していないユーザが所持するユーザ端末(スマートフォンやタブレット端末等の携帯端末やカメラ等の撮影装置)等の他の端末類が含まれていてもよい。
コンピュータ10は、ユーザ端末と公衆回線網等を介してデータ通信可能に接続されており、必要なデータの送受信を実行する。
コンピュータ10は、ユーザ端末が撮影した画像や、その他のコンピュータが記録する画像を取得する。コンピュータ10は、この取得した画像内に撮影された物体、この物体の姿勢、形、方向、撮影された画像の背景の少なくとも2つに関する構成要素をこの画像内の特徴点を抽出して解析する。コンピュータ10は、特徴点として、形状、輪郭や画素値の平均、分散ヒストグラム等の統計的な数値を抽出して解析する。
コンピュータ10は、この画像内に複数の物体が撮影されている場合、其々の物体を画像解析し、其々の物体の姿勢、形、方向、撮影された画像の背景の少なくとも2つに関する構成要素をこの画像内の特徴点を抽出して解析する。また、コンピュータ10は、この複数の物体の組み合わせ及び物体間の相対位置に関する構成要素をこの画像内の特徴点を抽出して解析する。
コンピュータ10は、物体がどのような状況であるかの状況データを取得する。コンピュータ10は、ユーザ端末により入力されたこの物体の状況(作業内容や動作や場所等)を、状況データとして取得する。また、コンピュータ10は、その他のコンピュータが記録するこの物体の状況を、状況データとして取得する。
コンピュータ10は、解析した構成要素の組み合わせと、取得した状況データとを関連付けて学習する。コンピュータ10は、画像内に撮影された物体、この物体の姿勢、形、方向、撮影された画像の背景の少なくとも2つに関する構成要素と、取得した状況データとを関連付けて学習する。また、コンピュータ10は、画像内に複数の物体が撮影されている場合、画像内に撮影された其々の物体の姿勢、形、方向、撮影された画像の背景の少なくとも2つに関する構成要素と、取得した状況データとを関連付けて学習する。また、コンピュータ10は、画像内に複数の物体が撮影されている場合、画像内に撮影された複数の物体の組み合わせ及び物体間の相対位置に関する構成要素と、取得した状況データとを関連付けて学習する。
コンピュータ10は、所定の画像に対して、この画像内に撮影された物体、当該物体の姿勢、形、方向、撮影された画像の背景の少なくとも2つに関する構成要素を、当該画像内の特徴点を抽出して解析した結果が、学習結果における構成要素の組み合わせと類似又は同一の場合、状況データの学習結果に基づいて、物体の状況を推測する。また、コンピュータ10は、画像内に複数の物体が撮影されている場合、画像内に撮影された其々の物体の姿勢、形、方向、撮影された画像の背景の少なくとも2つに関する構成要素を、この画像内の特徴点を抽出して解析した結果が、学習結果における構成要素の組み合わせと類似又は同一の場合、状況データの学習結果に基づいて、物体の状況及び複数の物体が全体として何を行っているかを推測する。また、コンピュータ10は、画像内に複数の物体が撮影されている場合、画像内に撮影された複数の物体の組み合わせ及び物体間の相対位置に関する構成要素を、この画像内の特徴点を抽出して解析した結果が、学習結果における構成要素の組み合わせと類似又は同一の場合、状況データの学習結果に基づいて、物体の状況及び複数の物体が全体として何を行っているかを推測する。
物体状況判断システム1が実行する処理の概要について説明する。
はじめに、コンピュータ10は、ユーザ端末が撮影した画像やその他のコンピュータが記録する画像を取得する(ステップS01)。
コンピュータ10は、この画像を画像解析する(ステップS02)。コンピュータ10は、この取得した画像に撮影された物体、この物体の姿勢、形、方向又は画像の背景の少なくとも2つに関する構成要素を、この画像内の特徴点を抽出して解析する(ステップS02)。コンピュータ10は、特徴点として、形状、輪郭や、画素値の平均、分散ヒストグラム等の統計的な数値を抽出して解析する。
なお、コンピュータ10は、複数の物体がこの画像に撮影されている場合、この複数の物体其々を画像解析し、其々の物体、この其々の物体の姿勢、形、方向又は画像の背景の少なくとも2つに関する構成要素を、この画像内の特徴点を抽出して解析する。また、コンピュータ10は、複数の物体の組み合わせ及び物体間の相対位置に関する構成要素を、この画像内の特徴点を抽出して解析する。
コンピュータ10は、この物体がどのような状況であるかの状況データを取得する(ステップS03)。コンピュータ10は、ユーザ端末により入力されたこの物体の状況(作業内容や動作や場所等)を、状況データとして取得する。また、コンピュータ10は、その他のコンピュータが記録するこの物体の状況を、状況データとして取得する。
コンピュータ10は、解析した構成要素の組み合わせと、取得した状況データとを関連付けて学習する(ステップS04)。コンピュータ10は、所定の構成要素の組み合わせに該当する状況を状況データに基づいて学習することにより、類似又は同一の構成要素を有する画像に撮影された物体の状況を推測することになる。
コンピュータ10は、画像内に撮影された物体、この物体の姿勢、形、方向、撮影された画像の背景の少なくとも2つに関する構成要素と、取得した状況データとを関連付けて学習する。また、コンピュータ10は、画像内に複数の物体が撮影されている場合、画像内に撮影された其々の物体の姿勢、形、方向、撮影された画像の背景の少なくとも2つに関する構成要素と、取得した状況データとを関連付けて学習する。また、コンピュータ10は、画像内に複数の物体が撮影されている場合、画像内に撮影された複数の物体の組み合わせ及び物体間の相対位置に関する構成要素と、取得した状況データとを関連付けて学習する。
コンピュータ10は、所定の画像に対して解析した結果が、構成要素の組み合わせと類似又は同一の場合、状況データの学習結果に基づいて、物体の状況を推測する(ステップS05)。コンピュータ10は、所定の画像内に撮影された物体、この物体の姿勢、形、方向、撮影された画像の背景の少なくとも2つに関する構成要素を抽出して解析する。コンピュータ10は、解析した構成要素の組み合わせと、学習結果における構成要素の組み合わせとを比較することにより、この所定の画像に撮影された物体の状況を推測する。コンピュータ10は、類似又は同一であるか否かの判定として、例えば、構成要素の組み合わせの一致率を用いる。この一致率が所定の割合以上であるか否かに基づいて判定する。
コンピュータ10は、所定の画像に対して、この画像内に撮影された物体、当該物体の姿勢、形、方向、撮影された画像の背景の少なくとも2つに関する構成要素を、当該画像内の特徴点を抽出して解析した結果が、学習結果における構成要素の組み合わせと類似又は同一の場合、状況データの学習結果に基づいて、物体の状況を推測する。また、コンピュータ10は、画像内に複数の物体が撮影されている場合、画像内に撮影された其々の物体の姿勢、形、方向、撮影された画像の背景の少なくとも2つに関する構成要素を、この画像内の特徴点を抽出して解析した結果が、学習結果における構成要素の組み合わせと類似又は同一の場合、状況データの学習結果に基づいて、物体の状況及び複数の物体が全体として何を行っているかを推測する。また、コンピュータ10は、画像内に複数の物体が撮影されている場合、画像内に撮影された複数の物体の組み合わせ及び物体間の相対位置に関する構成要素を、この画像内の特徴点を抽出して解析した結果が、学習結果における構成要素の組み合わせと類似又は同一の場合、状況データの学習結果に基づいて、物体の状況及び複数の物体が全体として何を行っているかを推測する。
以上が、物体状況判断システム1の概要である。
[物体状況判断システム1のシステム構成]
図2に基づいて、本発明の好適な実施形態である物体状況判断システム1のシステム構成について説明する。図2は、本発明の好適な実施形態である物体状況判断システム1のシステム構成を示す図である。図2において、物体状況判断システム1は、コンピュータ10から構成され、画像内に撮影された物体の状況を推測するコンピュータシステムである。コンピュータ10は、図示していないユーザ端末やその他のコンピュータ等と公衆回線網等を介してデータ通信可能に接続されており、必要なデータの送受信を実行する。
コンピュータ10は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を備え、通信部として、ユーザ端末や他のコンピュータと通信可能にするためのデバイス、例えば、IEEE802.11に準拠したWi―Fi(Wireless―Fidelity)対応デバイス等を備える。また、コンピュータ10は、記録部として、ハードディスクや半導体メモリ、記録媒体、メモリカード等によるデータのストレージ部を備える。また、コンピュータ10は、処理部として、各種処理を実行する各種デバイス等を備える。
コンピュータ10において、制御部が所定のプログラムを読み込むことにより、通信部と協働して、画像取得モジュール20、音声取得モジュール21、状況取得モジュール22、通知モジュール23を実現する。また、コンピュータ10において、制御部が所定のプログラムを読み込むことにより、記録部と協働して、記録モジュール30を実現する。また、コンピュータ10において、制御部が所定のプログラムを読み込むことにより、処理部と協働して、画像解析モジュール40、音声認識モジュール41、学習モジュール42、物体数判定モジュール43、比較モジュール44、推測モジュール45を実現する。
[第一の物体状況学習処理]
図3に基づいて、物体状況判断システム1が実行する第一の物体状況学習処理について説明する。図3は、コンピュータ10が実行する第一の物体状況学習処理のフローチャートを示す図である。上述した各モジュールが実行する処理について、本処理に併せて説明する。
はじめに、画像取得モジュール20は、動画や静止画等の画像を取得する(ステップS10)。ステップS10において、画像取得モジュール20は、ユーザ端末が撮影した画像やその他のコンピュータが記録する画像等を取得する。例えば、ユーザ端末は、自身に内蔵された撮影装置により撮影した画像を、画像データとしてコンピュータ10に送信する。画像取得モジュール20は、この画像データを受信することにより、画像を取得する。
音声取得モジュール21は、音声を取得する(ステップS11)。ステップS11において、音声取得モジュール21は、ユーザ端末が集音した音声やその他のコンピュータが記録する音声等を取得する。例えば、ユーザ端末は、画像を撮影する際、音声も集音し、この集音した音声を、音声データとしてコンピュータ10に送信する。音声取得モジュール21は、この音声データを取得することにより、音声を取得する。
なお、ステップS11の処理は、省略可能である。この場合、コンピュータ10は、後述する処理において、音声に関連する処理を省略すればよい。
画像解析モジュール40は、取得した画像を画像解析する(ステップS12)。ステップS12において、画像解析モジュール40は、取得した画像の特徴点(形状又は輪郭や、画素値の平均、分散ヒストグラム等の統計的な数値)を抽出する。画像解析モジュール40は、この特徴点に基づいて、この画像の構成要素を解析する。構成要素としては、この物体そのもの(例えば、物体の名称、型式)、この物体の姿勢(例えば、物体を構成する各部位の状態、この部位の動作内容)、この物体の形(例えば、概形、特徴的な部位の形状)、この物体の方向(例えば、物体そのものがどの方向を向いているか、特徴的な部位がどの方向を向いているか、各部位がどの方向を向いているか)、背景(例えば、画像内における物体以外)が挙げられる。
解析する構成要素の組み合わせとしては、上述した通り、これらの少なくとも2つに関する構成要素の組み合わせであるが、この組み合わせに関して、より状況を推測するために有効な組み合わせを解析することも可能である。例えば、画像モジュール40は、各構成要素において、より状況を推測する際に有効な構成要素の組み合わせを選んで解析する。このような構成要素としては、物体そのものと、物体の方向とを少なくとも含む組み合わせや、物体そのものと背景とを少なくとも含む組み合わせや、物体の形と方向とを少なくとも含む組み合わせが挙げられる。これらの組み合わせが有効な理由としては、後述する状況の推測として、物体が、どこで、何を、どうした(どうしている)を推測する際、よりこれらの状況を推測しやすくなる構成要素であるからである。すなわち、画像解析モジュール400は、状況を推測しやすくする構成要素の組み合わせを優先的に抽出して解析することも可能である。
図7に基づいて、画像解析モジュール40が実行する画像解析について説明する。図7は、画像取得モジュール20が取得する画像を模式的に示した図である。画像解析モジュール40は、画像100を画像解析することにより、特徴点を抽出する。画像解析モジュール40は、特徴点を抽出することにより、この画像100に撮影された物体110と、背景160とを特定する。画像解析モジュール40は、この画像100の構成要素を抽出した特徴点に基づいて解析する。画像解析モジュール40は、この画像100の構成要素として、物体110そのもの、物体110の姿勢、形、方向を解析する。また、画像解析モジュール40は、この画像100の構成要素として、背景160を解析する。画像解析モジュール40は、物体110そのものとして、ショベルカーであることを解析する。画像解析モジュール40は、この物体110の姿勢として、アーム120が地面140に向かって伸びている、バケット130の爪が地面140に接触していることを其々解析する。画像解析モジュール40は、この物体110の形として、ショベルカーの概形、アーム120及びバケット130の形状を解析する。画像解析モジュール40は、この物体110の方向として、自身が向いている方向、アーム120の先端が向いている方向、バケット130が向いている方向、このバケット130の爪が向いている方向を解析する。画像解析モジュール40は、画像110の背景として、地面140、土砂150を解析する。
なお、図7において、画像解析モジュール40は、物体110そのもの、物体110の姿勢、形、方向、画像100の背景の全てを構成要素として解析しているが、上述した通り、これらのうち、少なくとも2つに関するものを構成要素として解析してもよい。例えば、画像解析モジュール40は、物体110そのものと、姿勢とに関するものを構成要素として解析してもよいし、物体110の姿勢、形及び方向に関するものを構成要素として解析してもよいし、物体110そのものと画像100の背景160とに関するものを構成要素として解析してもよいし、これらの例以外の組み合わせに関するものを構成要素として解析してもよい。
また、画像解析モジュール40は、上述した例以外のものを解析してもよい。例えば、物体110の姿勢、形、方向は、上述した例に限らずその他の部位やパーツ等を解析してもよい。また、画像100の背景160も、上述した例に限らずその他のものを解析してもよい。
音声認識モジュール41は、取得した音声を音声認識する(ステップS13)。ステップS13において、音声認識モジュール41は、取得した音声を、スペクトラムアナライザ等により音声認識し、音波波形に基づいて、音声(例えば、物体の駆動音や、物体の排気音や、各部位の駆動音や、環境音等)を構成要素として認識する。
状況取得モジュール22は、画像内に撮影された物体がどのような状況であるかの状況データを取得する(ステップS14)。ステップS14において、状況取得モジュール22は、ユーザ端末により入力された物体の状況(作業内容、動作、場所等)を、状況データとして取得する。ユーザ端末は、ユーザから物体の状況の入力を受け付け、受け付けた物体の状況を状況データとして送信する。また、状況取得モジュール22は、その他のコンピュータが記録する物体の状況を、状況データとして取得する。その他のコンピュータは、自身が記録する物体の状況を状況データとして送信する。状況取得モジュール22は、この状況データを受信することにより、状況データを取得する。例えば、図7の画像に対して、状況取得モジュール22は、この物体110の状況として、「ショベルカーが建設現場で地面を掘削している」、ことを状況データとして取得する。
このように、状況データとは、物体が、どこで、何を、どうした(どうしている)に関するデータである。
学習モジュール42は、解析した構成要素の組み合わせと、取得した状況データとを関連付けて学習する(ステップS15)ステップS15において、学習モジュール42は、画像に撮影された物体そのもの、この物体の姿勢、形、方向、背景に関する構成要素のうち、画像解析モジュール40により解析された少なくとも2つに関する構成要素と、音声認識モジュール41により認識された音声に関する構成要素と、状況取得モジュール22が取得した状況データとを関連付けて学習する。
なお、学習モジュール42は、認識された音声に関する構成要素を除外し、解析された構成要素と状況データとを関連付けて学習する構成であってもよい。
図7に基づいて、ステップS15の処理を説明する。学習モジュール42は、この画像100の物体110、物体110の姿勢、形、方向、背景160の少なくとも2つに関する構成要素の解析結果と、状況データとを関連付けて学習する。具体的には、例えば、学習モジュール42は、物体110そのものがショベルカー、物体110の姿勢として、アーム120が地面に向かって伸びている、バケット130の爪が地面140に接触している、物体110の形として、ショベルカーの概形、アーム120及びバケット130の形状、物体110の方向として、自身が向いている方向、アーム120の先端が向いている方向、バケット130が向いている方向、バケット130の爪が向いている方向、背景160として、地面140、土砂150のうち、物体110そのもの、物体110の姿勢、形、方向、背景160の少なくとも2つに関する構成要素の解析結果と、状況データとを関連付けて学習する。
さらに、このとき、解析結果の構成要素と、音声の認識結果と状況データとを関連付けて学習する。
例えば、学習モジュール42は、物体110そのものと、物体110の姿勢とに関する構成要素の解析結果と、状況データとを関連付けて学習する場合、物体110としてショベルカーと、物体110の姿勢として、アーム120が地面に向かって伸びている、バケット130の爪が地面140に接触していることとを、状況データと関連付けて学習する。学習モジュール42は、物体110の姿勢と、形と、方向とに関する構成要素の解析結果と、状況データとを関連付けて学習する場合、物体110の姿勢として、アーム120が地面に向かって伸びていること、バケット130の爪が地面140に接触していることと、物体110の形として、ショベルカーの概形、アーム120及びバケット130の形状と、物体110の方向として、自身が向いている方向、アーム120の先端が向いている方向、バケット130が向いている方向、バケット130の爪が向いている方向とを状況データと関連付けて学習する。その他の組み合わせも同様である。
本例では、上述した全ての構成応要素の解析結果と、状況データとを関連付けて学習するものとして説明する。
記録モジュール30は、この学習結果を記録する(ステップS16)。コンピュータ10は、このようにして記録した学習結果を、後述する処理に使用する。
以上が、第一の物体状況学習処理である。
[第二の物体状況学習処理]
図4に基づいて、物体状況判断システム1が実行する第二の物体状況学習処理について説明する。図4は、コンピュータ10が実行する第二の物体状況学習処理のフローチャートを示す図である。上述した各モジュールが実行する処理について、本処理に併せて説明する。
第一の物体状況学習処理と、第二の物体状況学習処理との相違点は、第一の物体状況学習処理が、画像に撮影された物体が1つであるのに対して、第二の物体状況学習処理が画像に撮影された物体が2つ以上である点である。
なお、上述した第一の物体状況学習処理と同様の処理は、その詳細な説明は省略する。
はじめに、画像取得モジュール20は、動画や静止画等の画像を取得する(ステップS20)。ステップS20の処理は、上述したステップS10の処理と同様である。
音声取得モジュール21は、音声を取得する(ステップS21)。ステップS21の処理は、上述したステップS11の処理と同様である。
なお、ステップS21の処理は、省略可能である。この場合、コンピュータ10は、後述する処理において、音声に関連する処理を省略すればよい。
画像解析モジュール40は、取得した画像を画像解析する(ステップS22)。ステップS22において、画像解析モジュール40は、取得した画像の特徴点を抽出する。画像解析モジュール40は、この特徴点に基づいて、この画像の構成要素を解析する。構成要素としては、其々の物体そのもの、其々の物体の姿勢、形、方向、背景が挙げられる。すなわち、上述したステップS12の処理を、其々の物体に対して行うことになる。その結果、画像解析モジュール40は、其々の物体そのもの、其々の物体の姿勢、形、方向、背景の少なくとも2つに関する構成要素を解析する。
解析する構成要素の組み合わせとしては、上述した通り、これらの少なくとも2つに関する構成要素の組み合わせであるが、この組み合わせに関して、より状況を推測するために有効な組み合わせを解析することも可能である。例えば、画像モジュール40は、各構成要素において、より状況を推測する際に有効な構成要素の組み合わせを選んで解析する。このような構成要素としては、其々の物体そのものと、其々の物体の方向とを少なくとも含む組み合わせや、其々の物体そのものと背景とを少なくとも含む組み合わせや、其々の物体の形と方向とを少なくとも含む組み合わせが挙げられる。これらの組み合わせが有効な理由としては、後述する状況の推測として、其々の物体が、どこで、何を、どうした(どうしている)を推測する際、よりこれらの状況を推測しやすくなる構成要素であるからである。また、後述する状況の推測として、複数の物体が全体として、どこで、何を、どうした(どうしている)を推測する際、よりこれらの状況を推測しやすくなる構成要素であるからである。すなわち、画像解析モジュール400は、状況を推測しやすくする構成要素の組み合わせを優先的に抽出して解析することも可能である。
また、画像解析モジュール40は、この特徴点に基づいて、複数の物体の組み合わせ(画像内に撮影された物体と物体との組み合わせ)及び物体間の相対位置(物体同士の位置関係、距離、配置等)に関する構成要素を解析する。
図8に基づいて、画像解析モジュール40が実行する画像解析について説明する。図8は、画像取得モジュール20が取得する画像を模式的に示した図である。画像解析モジュール40は、画像200を画像解析することにより、特徴点を抽出する。画像解析モジュール40は、特徴点を抽出することにより、この画像200に撮影された物体210と、物体220と、背景280とを特定する。画像解析モジュール40は、この画像200の構成要素を抽出した特徴点に基づいて解析する。画像解析モジュール40は、この画像200の構成要素として、物体210そのもの、物体210の姿勢、形、方向と、物体220そのもの、物体220の姿勢、形、方向と、背景280との其々を解析する。その結果、画像解析モジュール40は、其々の物体そのもの、其々の物体の姿勢、形、方向、背景280を構成要素として解析する。また、画像解析モジュール40は、この物体210と物体220との組み合わせ及びこの物体210と物体220との間の相対位置を構成要素として解析する。
画像解析モジュール40は、物体210がショベルカーであることを解析する。画像解析モジュール40は、物体210の姿勢として、アーム230が物体220に向かって伸びている、バケット240が物体220に接触していることを其々解析する。画像解析モジュール40は、物体210の形として、ショベルカーの概形、アーム230及びバケット240の形状を解析する。画像解析モジュール40は、物体210の方向として、物体210が物体220の方向を向いている、アーム230及びバケット240が物体220の方向を向いていると解析する。
また、画像解析モジュール40は、物体220がダンプカーであると解析する。画像解析モジュール40は、物体220の姿勢として、荷台250を傾けていないことを解析する。画像解析モジュール40は、物体220の形として、ダンプカーの概形、荷台250の形状を解析する。画像解析モジュール40は、物体220の方向として、物体220が物体210と反対の方向を向いている、荷台250が物体210の方向を向いていることを解析する。
また、画像解析モジュール40は、この画像200に撮影された背景280として、土砂260、地面270を解析する。
また、画像解析モジュール40は、物体210と物体220との組み合わせとして、ショベルカーとダンプカーとであることを解析する。さらに、画像解析モジュール40は、物体210と物体220との相対位置として、物体210と物体220とが近傍に位置し、特に、アーム230及びバケット240と荷台250とが近接していることを解析する。
なお、図8において、画像解析モジュール40は、其々の物体210,220そのもの、其々の物体210,220の姿勢、形、方向、画像200の背景280の全てを構成要素として解析しているが、上述した通り、これらのうち、少なくとも2つに関するものを構成要素として解析してもよい。例えば、画像解析モジュール40は、其々の物体210,220そのものと、其々の物体210,220の姿勢とに関するものを構成要素として解析してもよいし、其々の物体210,220の姿勢、形及び方向に関するものを構成要素として解析してもよいし、其々の物体210,220そのものと画像200の背景280とに関するものを構成要素として解析してもよいし、これらの例以外の組み合わせに関するものを構成要素として解析してもよい。
また、画像解析モジュール40は、上述した例以外のものを解析してもよい。例えば、其々の物体210,220の姿勢、形、方向は、上述した例に限らず、その他の部位やパーツ等を解析してもよい。また、画像200の背景280も、上述した例に限らずその他のものを解析してもよい。また、画像解析モジュール40は、物体210,220の組み合わせも上述した例に限らずその他のものを解析してもよい。また、画像解析モジュール40は、物体210,220間の相対位置も上述した例に限らず、その他の部位やパーツ等を解析してもよい。
音声認識モジュール41は、取得した音声を音声認識する(ステップS23)。ステップS23の処理は、上述したステップS13の処理と同様である。ステップS23において、音声認識モジュール41は、其々の物体の駆動音、排気音、其々の物体の各部位の駆動音、環境音等を認識する。
状況取得モジュール22は、画像内に撮影された其々の物体がどのような状況であるかの状況データを取得する(ステップS24)。ステップS24の処理は、上述したステップS14の処理と同様である。例えば、図8の画像に対して、状況取得モジュール22は、物体210の状況として、ショベルカーが、建設現場で、地面を掘削していること、この掘削した土砂を積み込んでいること、物体220の状況としてダンプカーが、建設現場で、土砂を積み込まれていることを状況データとして取得する。さらに、状況取得モジュール22は、複数の物体の全体としての状況として、「建設現場で、ショベルカーが掘削した土砂を、ダンプカーに積み込んでいる」ことを状況データとして取得する。
学習モジュール42は、解析した構成要素の組み合わせと、取得した状況データとを関連付けて学習する(ステップS25)。ステップS25の処理は、上述したステップS15の処理と略同様である。ステップS25において、学習モジュール42は、画像に撮影された其々の物体そのもの、其々の物体の姿勢、形、方向、画像の背景に関する構成要素のうち、画像解析モジュール40により解析された少なくとも2つに関する構成要素と、音声認識モジュール41により認識された音声に関する構成要素と、状況取得モジュール22が取得した状況データとを関連付けて学習する。このときに関連付ける状況データは、其々の物体の状況及び全体としての状況である。
また、学習モジュール42は、画像に撮影された物体の組み合わせ及び物体間の相対位置に関する構成要素と、音声認識モジュール41により認識された音声に関する構成要素と、状況取得モジュール22が取得した状況データとを関連付けて学習する。このときに関連付ける状況データは、全体としての状況である。
なお、学習モジュール42は、認識された音声に関する構成要素を除外し、解析された構成要素と状況データとを関連付けて学習する構成であってもよい。
図8に基づいて、ステップS25の処理を説明する。学習モジュール42は、この画像200の其々の物体210,220そのもの、其々の物体210,220の姿勢、形、方向、画像200の背景280の少なくとも2つに関する構成要素の解析結果と、状況データとを関連付けて学習する。具体的には、学習モジュール42は、物体210がショベルカー、物体220がダンプカーであること、物体210の姿勢として、アーム230が物体220に向かって伸びている、バケット240が物体220に接触している、物体220の姿勢として、荷台250を傾けていないこと、物体210の形として、ショベルカーの概形、アーム230及びバケット240の形状、物体220の形として、ダンプカーの概形、荷台250の形状、物体210の方向として、物体210が物体220の方向を向いている、アーム230及びバケット240が物体220の方向を向いている、物体220の方向として、物体220が物体210と反対の方向を向いている、荷台250が物体210の方向を向いていること、背景280として土砂260、地面270のうち、其々の物体210,220そのもの、其々の物体210,220の姿勢、形、方向、背景280の少なくとも2つに関する構成要素の解析結果と、状況データとを関連付けて学習する。
また、学習モジュール42は、画像200に撮影された物体210,220の組み合わせ及び物体210,220間の相対位置に関する構成要素と、状況データとを関連付けて学習する。具体的には、物体210と物体220との組み合わせとして、ショベルカーとダンプカーであること及び物体210,220間の相対位置として、物体210と物体220とが近傍に位置し、特に、アーム230及びバケット240と荷台250とが近接していることを、画像200に撮影された物体210,220の組み合わせ及び物体210,220間の相対位置に関する構成要素の解析結果として、状況データに関連付けて学習する。
さらに、解析結果の構成要素と、音声の認識結果と状況データとを関連付けて学習する。
例えば、学習モジュール42は、物体210及び物体220そのものと、物体210及び物体220の姿勢とに関する構成要素の解析結果と、状況データとを関連付けて学習する場合、物体210としてショベルカー、物体220としてダンプカーと、物体210の姿勢として、アーム230が物体220に向かって伸びている、バケット240が物体220に接触している、物体220の姿勢として、荷台250を傾けていないこととを、状況データと関連付けて学習する。学習モジュール42は、物体210及び物体220の姿勢と、形と、方向とに関する構成要素の解析結果と、状況データと関連付けて学習する場合、アーム230が物体220に向かって伸びている、バケット240が物体220に接触している、物体220の姿勢として、荷台250を傾けていないこと、物体210の形として、ショベルカーの概形、アーム230及びバケット240の形状、物体220の形として、ダンプカーの概形、荷台250の形状、物体210の方向として、物体210が物体220の方向を向いている、アーム230及びバケット240が物体220の方向を向いている、物体220の方向として、物体220が物体210と反対の方向を向いている、荷台250が物体210の方向を向いていることを状況データと関連付けて学習する。その他の組み合わせも同様である。
また、例えば、学習モジュール42は、物体210,220の組み合わせ及び物体210,220間の相対位置に関する構成要素の解析結果と、状況データとを関連付けて学習する場合、物体210と物体220との組み合わせとして、ショベルカーとダンプカーであること及び物体210,220間の相対位置として、物体210と物体220とが近傍に位置し、特に、アーム230及びバケット240と荷台250とが近接していることを状況データと関連付けて学習する。
本例では、上述した全ての構成応要素の解析結果と、状況データとを関連付けて学習するものとして説明する。
記録モジュール30は、この学習結果を記録する(ステップS26)。コンピュータ10は、このようにして記録した学習結果を、後述する処理に使用する。
以上が、第二の物体状況学習処理である。
[第一の物体状況判断処理]
図5に基づいて、物体状況判断システム1が実行する第一の物体状況判断処理について説明する。図5は、コンピュータ10が実行する第一の物体状況判断処理のフローチャートを示す図である。上述した各モジュールが実行する処理について、本処理に併せて説明する。
はじめに、画像取得モジュール20は、動画や静止画等の画像を取得する(ステップS30)。ステップS30の処理は、上述したステップS10の処理と同様である。
音声取得モジュール21は、音声を取得する(ステップS31)。ステップS31の処理は、上述したステップS11の処理と同様である。
なお、ステップS11の処理は、省略可能である。この場合、コンピュータ10は、後述する処理において、音声に関連する処理を省略すればよい。
画像解析モジュール40は、取得した画像を画像解析する(ステップS32)。ステップS32において、画像解析モジュール40は、取得した画像の特徴点を抽出する。
物体数判定モジュール43は、抽出した特徴点に基づいて、複数の物体が画像内に撮影されているか否かを判定する(ステップS33)。ステップS33において、物体数判定モジュール43は、抽出した特徴点に基づいて、この画像内に撮影された物体の個数を判定することにより、複数の物体が撮影されているか否かを判定する。
ステップS33において、物体数判定モジュール43は、複数の物体が撮影されていると判定した場合(ステップS33 YES)、コンピュータ10は、後述する第二の物体状況判断処理を実行する。なお、本処理では、記載を簡略化するために、処理を終了するものとして説明する。
一方、ステップS33において、物体数判定モジュール43は、複数の物体が撮影されていないと判定した場合(ステップS33 NO)、画像解析モジュール40は、この特徴点に基づいて、この画像の構成要素を解析する(ステップS34)。ステップS34の処理は、上述したステップS12の処理と同様である。
図9に基づいて、画像解析モジュール40が実行する画像解析について説明する。図9は、画像取得モジュール20が取得する画像を模式的に示した図である。画像解析モジュール40は、画像300を画像解析することにより、特徴点を抽出する。画像解析モジュール40は、特徴点を抽出することにより、この画像300に撮影された物体310と、背景360とを特定する。画像解析モジュール40は、この画像300の構成要素を、抽出した特徴点に基づいて解析する。画像解析モジュール40は、この画像300の構成要素として、物体310そのもの、物体310の姿勢、形、方向を解析する。また、画像解析モジュール40は、この画像300の構成要素として、背景360を解析する。画像解析モジュール40は、物体310そのものとして、ショベルカーであることを解析する。画像解析モジュール40は、この物体310の姿勢として、アーム320が地面340に向かって伸びている、バケット330の爪が地面340に接触していることを其々解析する。画像解析モジュール40は、この物体310の形として、ショベルカーの概形、アーム320及びバケット330の形状を解析する。画像解析モジュール40は、この物体310の方向として、自身が向いている方向、アーム320の先端が向いている方向、バケット330が向いている方向、このバケット330の爪が向いている方向を解析する。画像解析モジュール40は、画像300の背景360として、地面340、土砂350を解析する。
なお、図9において、画像解析モジュール40は、物体310そのもの、物体310の姿勢、形、方向、画像300の背景360の全てを構成要素として解析しているが、上述した通り、これらのうち、少なくとも2つに関するものを構成要素として解析してもよい。例えば、画像解析モジュール40は、物体310そのものと、姿勢とに関するものを構成要素として解析してもよいし、物体310の姿勢、形及び方向に関するものを構成要素として解析してもよいし、物体310そのものと画像300の背景とに関するものを構成要素として解析してもよいし、これらの例以外の組み合わせに関するものを構成要素として解析してもよい。
また、画像解析モジュール40は、記録モジュール30が記録した学習結果を参照し、学習結果として記録した構成要素の組み合わせに該当する構成要素の組み合わせを解析してもよい。
また、画像解析モジュール40は、上述した例以外のものを解析してもよい。例えば、物体310の姿勢、形、方向は、上述した例に限らずその他の部位やパーツ等を解析してもよい。また、画像300の背景360も、上述した例に限らずその他のものを解析してもよい。
音声認識モジュール41は、取得した音声を音声認識する(ステップS35)。ステップS35の処理は、上述したステップS13の処理と同様である。
比較モジュール44は、今回解析した画像及び音声における構成要素と、記録モジュール30が記録する学習結果における構成要素とを比較する(ステップS36)。ステップS36において、解析結果である物体そのもの、物体の姿勢、形、方向、画像の背景、音声に関する構成要素と、学習結果における物体そのもの、物体の姿勢、形、方向、画像の背景、音声に関する構成要素とを比較する。このとき、学習結果における構成要素の組み合わせに該当する解析結果である物体そのもの、物体の姿勢、形、方向、画像の背景、音声の組み合わせと、学習結果における構成要素の組み合わせとを比較する。すなわち、比較モジュール44は、学習結果における構成要素が、物体そのもの、物体の姿勢に関するものである場合、解析結果における物体そのもの、物体の姿勢に関する構成要素を比較する。比較モジュール44は、他の構成要素の組み合わせも同様に比較する。
なお、比較モジュール44は、音声に関する構成要素を除外して、今回解析した画像における構成要素と、記録モジュール30が記録する学習結果における構成要素とを比較する構成であってもよい。
比較モジュール44は、比較した結果、構成要素の組み合わせと、類似又は同一であるか否かを判定する(ステップS37)。ステップS37において、比較モジュール44は、今回の構成要素の解析結果と、学習結果における構成要素とを比較し、其々の構成要素の組み合わせが類似又は同一であるか否かを判定する。比較モジュール44が実行する類似又は同一であるか否かの判定としては、例えば、構成要素の一致率を用い、この一致率が所定の割合以上であるか否かに基づくものである。例えば、類似である場合、比較モジュール44は、解析結果における構成要素と、学習結果における構成要素との一致率が75%を超過する場合、類似するものと判定する。一致である場合、比較モジュール44は、解析結果における構成要素と、学習結果における構成要素との一致率が90%を超過する場合、一致するものと判定する。
上述した図9において、比較モジュール44は、物体310そのものとして、ショベルカー、この物体310の姿勢として、アーム320が地面340に向かって伸びている、バケット330の爪が地面340に接触している、この物体310の形として、ショベルカーの概形、アーム320及びバケット330の形状、この物体310の方向として、自身が向いている方向、アーム320の先端が向いている方向、バケット330が向いている方向、このバケット330の爪が向いている方向、画像300の背景360として、地面340、土砂350と、学習結果における構成要素との一致率を判定する。
ステップS37において、比較モジュール44は、構成要素の組み合わせと類似又は同一ではないと判定した場合(ステップS37 NO)、推測モジュール45は、この物体の状況を推測できないと判定し、本処理を終了する。
なお、コンピュータ10は、物体の状況を推測できなかった旨の通知を、ユーザ端末等に通知させる構成であってもよい。さらに、コンピュータ10は、上述したステップS14−16の処理を今回取得した画像に対して実行することにより、学習精度を向上させ、物体の状況を推測する精度を向上させてもよい。このとき、コンピュータ10は、物体の状況を推測できなかった旨の通知とともに、状況データの入力を促す通知を行うことにより、これらの処理を実行するようにしてもよい。
一方、ステップS37において、比較モジュール44は、構成要素の組み合わせと類似又は同一であると判定した場合(ステップS37 YES)、推測モジュール45は、学習結果に基づいて、物体の状況を推測する(ステップS38)。ステップS38において、推測モジュール45は、今回の解析結果の組み合わせと類似又は同一の構成要素の組み合わせに関連付けられた学習結果における状況データを、今回の画像に撮影された物体の状況として推測する。推測モジュール45は、今回の場合、上述した物体310そのもの、物体310の姿勢、形、方向、背景と同一又は類似する学習結果における状況データとして、「ショベルカーが建設現場で地面を掘削している」を、画像の状況として推測する。
なお、推測モジュール45は、物体の状況として、複数の状況を推測した場合、其々の一致率に応じて、其々の状況の可能性の割合とともに、推測してもよい。
通知モジュール23は、この推測結果を、ユーザに通知する(ステップS39)。ステップS39において、通知モジュール23は、この推測結果を、ユーザ端末に出力する。ユーザ端末は、この推測結果を、自身の表示部等に表示又は音声により放音する。このようにすることにより、通知モジュール23は、推測結果をユーザに通知する。
なお、通知モジュール23は、複数の状況を推測した場合、各状況と、各状況の可能性の割合とを自身の表示部等に表示又は音声により放音してもよい。
以上が、第一の物体状況判断処理である。
[第二の物体状況判断処理]
図6に基づいて、物体状況判断システム1が実行する第二の物体状況判断処理について説明する。図6は、コンピュータ10が実行する第二の物体状況判断処理のフローチャートを示す図である。上述した各モジュールが実行する処理について、本処理に併せて説明する。
第一の物体状況判断処理と、第二の物体状況判断処理との相違点は、第一の物体状況判断処理が、画像に撮影された物体が1つであるのに対して、第二の物体状況判断処理が画像に撮影された物体が2つ以上である点である。
はじめに、画像取得モジュール20は、動画や静止画等の画像を取得する(ステップS40)。ステップS40の処理は、上述したステップS10の処理と同様である。
音声取得モジュール21は、音声を取得する(ステップS41)。ステップS41の処理は、上述したステップS11の処理と同様である。
なお、ステップS41の処理は、省略可能である。この場合、コンピュータ10は、後述する処理において、音声に関連する処理を省略すればよい。
画像解析モジュール40は、取得した画像を画像解析する(ステップS42)。ステップS42において、画像解析モジュール40は、取得した画像の特徴点を抽出する。
物体数判定モジュール43は、抽出した特徴点に基づいて、複数の物体が画像内に撮影されているか否かを判定する(ステップS43)。ステップS43の処理は、上述したステップS33の処理と同様である。
ステップS43において、物体数判定モジュール43は、複数の物体が撮影されていないと判定した場合(ステップS43 NO)、コンピュータ10は、上述した第一の物体状況判断処理を実行する。なお、本処理では、記載を簡略化するために、処理を終了するものとして説明する。
一方、ステップS43において、物体数判定モジュール43は、複数の物体が撮影されていると判定した場合(ステップS43 YES)、画像解析モジュール40は、この特徴点に基づいて、この画像の構成要素を解析する(ステップS44)。ステップS44の処理は、上述したステップS12の処理と同様である。
図10に基づいて、画像解析モジュール40が実行する画像解析について説明する。図10は、画像取得モジュール20が取得する画像を模式的に示した図である。画像解析モジュール40は、画像400を画像解析することにより、特徴点を抽出する。画像解析モジュール40は、特徴点を抽出することにより、この画像400に撮影された物体410,420と、背景480とを特定する。画像解析モジュール40は、この画像400の構成要素を抽出した特徴点に基づいて解析する。画像解析モジュール40は、この画像400の構成要素として、物体410そのもの、物体410の姿勢、形、方向を解析する。また、画像解析モジュール40は、この画像400の構成要素として、物体420そのもの、物体420の姿勢、形、方向を解析する。また、画像解析モジュール40は、この画像400の構成要素として、背景480を解析する。
画像解析モジュール40は、物体410そのものとして、ショベルカーであることを解析する。画像解析モジュール40は、物体410の姿勢として、アーム430が物体420に向かって伸びている、バケット440が物体420に接触していることを其々解析する。画像解析モジュール40は、物体410の形として、ショベルカーの概形、アーム430及びバケット440の形状を解析する。画像解析モジュール40は、物体410の方向として、物体410が物体420の方向を向いている、アーム430及びバケット440が物体420の方向を向いていると解析する。
また、画像解析モジュール40は、物体420がダンプカーであると解析する。画像解析モジュール40は、物体420の姿勢として、荷台450を傾けていないことを解析する。画像解析モジュール40は、物体420の形として、ダンプカーの概形、荷台450の形状を解析する。画像解析モジュール40は、物体420の方向として、物体420が物体410と反対の方向を向いている、荷台450が物体410の方向を向いていることを解析する。
また、画像解析モジュール40は、この画像400に撮影された背景480として、土砂460、地面470を解析する。
また、画像解析モジュール40は、物体410と物体420との組み合わせとして、ショベルカーとダンプカーとの組み合わせであることを解析する。さらに、画像解析モジュール40は、物体410と物体420との相対位置として、物体410と物体420とが近傍に位置し、特に、アーム430及びバケット440と荷台450とが近接していることを解析する。
なお、図10において、画像解析モジュール40は、物体410,420そのもの、物体410,420の姿勢、形、方向、画像400の背景480の全てを構成要素として解析しているが、上述した通り、これらのうち、少なくとも2つに関するものを構成要素として解析してもよい。例えば、画像解析モジュール40は、物体410,420そのものと、物体410,420の其々の姿勢とに関するものを構成要素として解析してもよいし、物体410,420の其々の姿勢、形及び方向に関するものを構成要素として解析してもよいし、物体410,420そのものと画像400の背景480とに関するものを構成要素として解析してもよいし、これらの例以外の組み合わせに関するものを構成要素として解析してもよい。
また、画像解析モジュール40は、記録モジュール30が記録した学習結果を参照し、学習結果として記録した構成要素の組み合わせに該当する構成要素の組み合わせを解析してもよい。
また、画像解析モジュール40は、上述した例以外のものを解析してもよい。例えば、物体410,420の姿勢、形、方向は、上述した例に限らずその他の部位やパーツ等を解析してもよい。また、画像400の背景480も、上述した例に限らずその他のものを解析してもよい。また、物体の組み合わせ及び物体間の相対位置も、上述した例に限らずその他のものを解析してもよい。
音声認識モジュール41は、取得した音声を音声認識する(ステップS45)。ステップS45の処理は、上述したステップS13の処理と同様である。
比較モジュール44は、今回解析した画像及び音声における構成要素と、記録モジュール30が記録する学習結果における構成要素とを比較する(ステップS46)。ステップS46において、比較モジュール44は、解析結果である其々の物体そのもの、其々の物体の姿勢、形、方向、画像の背景、其々の音声に関する構成要素と、学習結果における其々の物体そのもの、其々の物体の姿勢、形、方向、画像の背景、音声に関する構成要素とを比較する。このとき、学習結果における構成要素の組み合わせに該当する解析結果である物体そのもの、其々の物体の姿勢、形、方向、画像の背景、音声の組み合わせと、学習結果における構成要素の組み合わせとを比較する。すなわち、比較モジュール44は、学習結果における構成要素が、物体そのもの、物体の姿勢に関するものである場合、解析結果における物体そのもの、物体の姿勢に関する構成要素を比較する。比較モジュール44は、他の構成要素の組み合わせも同様に比較する。
また、比較モジュール44は、解析結果である物体の組み合わせ及び物体間の相対位置に関する構成要素と、学習結果における物体の組み合わせ及び物体間の相対位置に関する構成要素とを比較する。
なお、比較モジュール44は、音声に関する構成要素を除外して、今回解析した画像における構成要素と、記録モジュール30が記録する学習結果における構成要素とを比較する構成であってもよい。
比較モジュール44は、比較した結果、構成要素の組み合わせと、類似又は同一であるか否かを判定する(ステップS47)。ステップS47の処理は、上述したステップS37の処理と同様である。
上述した図10において、比較モジュール44は、物体410そのものとして、ショベルカー、物体410の姿勢として、アーム430が物体420に向かって伸びている、バケット440が物体420に接触している、物体410の形として、ショベルカーの概形、アーム430及びバケット440の形状、物体410の方向として、物体410が物体420の方向を向いている、アーム430及びバケット440が物体420の方向を向いていると、物体420がダンプカー、物体420の姿勢として、荷台450を傾けていない、物体420の形として、ダンプカーの概形、荷台450の形状、物体420の方向として、物体420が物体410と反対の方向を向いている、荷台450が物体410の方向を向いていることと、画像400に撮影された背景480として、土砂460、地面470と、学習結果における構成要素との一致率を判定する。
また、比較モジュール44は、物体410と物体420との組み合わせとして、ショベルカーとダンプカーとの組み合わせ、物体410と物体420との相対位置として、物体410と物体420とが近傍に位置し、特に、アーム430及びバケット440と荷台450とが近接していることと、学習結果における構成要素との一致率を判定する。
ステップS47において、比較モジュール44は、構成要素の組み合わせと類似又は同一ではないと判定した場合(ステップS47 NO)、推測モジュール45は、この物体の状況を推測できないと判定し、本処理を終了する。
なお、コンピュータ10は、物体の状況を推測できなかった旨の通知を、ユーザ端末等に通知させる構成であってもよい。さらに、コンピュータ10は、上述したステップS24−26の処理を今回取得した画像に対して実行することにより、学習精度を向上させ、物体の状況を推測する精度を向上させてもよい。このとき、コンピュータ10は、物体の状況を推測できなかった旨の通知とともに、状況データの入力を促す通知を行うことにより、これらの処理を実行するようにしてもよい。
一方、ステップS47において、比較モジュール44は、構成要素の組み合わせと類似又は同一であると判定した場合(ステップS47 YES)、推測モジュール45は、学習結果に基づいて、物体の状況を推測する(ステップS48)。ステップS48において、推測モジュール45は、今回の解析結果の組み合わせと類似又は同一の構成要素の組み合わせに関連付けられた学習結果における状況データを、今回の画像に撮影された物体の状況として推測する。推測モジュール45は、今回の場合、上述した其々の物体410,420そのもの、其々の物体410,420の姿勢、形、方向、背景480と同一又は類似する学習結果における状況データとして、物体410の状況として「ショベルカーが、建設現場で、地面を掘削している」、「掘削した土砂を積み込んでいる」、物体420の状況として、「ダンプカーが、建設現場で、土砂を積み込まれている」、物体410及び物体420の全体としての状況として、「建設現場で、ショベルカーが掘削した土砂を、ダンプカーに積み込んでいる」ことを、画像の状況として推測する。
なお、推測モジュール45は、其々の物体の状況として、複数の状況を推測した場合、其々の一致率に応じて、其々の状況の可能性の割合とともに、推測してもよい。
通知モジュール23は、この推測結果を、ユーザに通知する(ステップS49)。ステップS49の処理は、上述したステップS39の処理と同様である。
なお、通知モジュール23は、複数の状況を推測した場合、各状況と、各状況の可能性の割合とを自身の表示部等に表示又は音声により放音してもよい。
以上が、第二の物体状況判断処理である。
上述した手段、機能は、コンピュータ(CPU、情報処理装置、各種端末を含む)が、所定のプログラムを読み込んで、実行することによって実現される。プログラムは、例えば、コンピュータからネットワーク経由で提供される(SaaS:ソフトウェア・アズ・ア・サービス)形態で提供される。また、プログラムは、例えば、フレキシブルディスク、CD(CD−ROMなど)、DVD(DVD−ROM、DVD−RAMなど)等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体からプログラムを読み取って内部記録装置又は外部記録装置に転送し記録して実行する。また、そのプログラムを、例えば、磁気ディスク、光ディスク、光磁気ディスク等の記録装置(記録媒体)に予め記録しておき、その記録装置から通信回線を介してコンピュータに提供するようにしてもよい。
以上、本発明の実施形態について説明したが、本発明は上述したこれらの実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。