(57)【特許請求の範囲】
【請求項１】
行動推定対象の動物である推定対象動物が撮影された画像データから、前記画像データにおいて前記推定対象動物の外観から視認できる特徴点及び前記画像データにおいて前記推定対象動物の外観から視認できない特徴点を検出する特徴点検出部と、
時系列の前記画像データそれぞれについて前記特徴点検出部が検出した複数種類の前記特徴点の位置を示す時系列特徴点位置情報に基づいて前記推定対象動物の行動を推定する行動推定部と、
を備え、
前記動物は、牛であり、
前記特徴点の種類は、顔、舌の複数個所、尾の複数個所、背、右前繋、左前繋、左後繋、左後繋、右前膝、左前膝、右後膝、左後膝、右飛節及び左飛節を含む、
動物行動推定装置。
【請求項２】
前記特徴点検出部が検出した前記特徴点の位置に基づいて、動物の行動の推定に用いられる複数種類の特徴点のうち前記特徴点検出部において検出されなかった種類の特徴点の位置を推定する特徴点位置推定部をさらに備え、
前記行動推定部は、時系列の前記画像データそれぞれについて前記特徴点検出部が検出した前記特徴点の位置及び前記特徴点位置推定部が推定した前記特徴点の位置を示す時系列特徴点位置情報に基づいて前記推定対象動物の行動を推定する、
請求項１に記載の動物行動推定装置。
【請求項３】
前記特徴点検出部は、前記画像データに複数の推定対象動物が撮影されている場合、検出した前記特徴点の種類及び位置に基づいて、前記画像データから検出された前記特徴点が属する前記推定対象動物を判定する、
請求項１又は請求項２に記載の動物行動推定装置。
【請求項４】
前記行動推定部は、時系列の複数種類の特徴点の位置の情報及び正解の行動の情報を学習データとして機械学習された行動推定モデルと前記時系列特徴点位置情報とに基づいて前記推定対象動物の行動を推定する、
請求項１から請求項３のいずれか一項に記載の動物行動推定装置。
【請求項５】
正解の行動の情報は、行動の種別を示す情報、正常であるか正常ではないかの情報、又は、正常であるか異常であるかを示す情報である、
請求項４に記載の動物行動推定装置。
【請求項６】
前記特徴点検出部は、動物が撮影された画像データと当該画像データにおいてユーザにより指定された前記特徴点の種類及び位置とを学習データとして機械学習された特徴点検出モデルを用いて前記画像データから特徴点を検出する、
請求項１から請求項５のいずれか一項に記載の動物行動推定装置。
【請求項７】
前記行動推定部により推定される行動は、牛の怪我、牛の喧嘩、牛の虐待、牛の病気、牛の発情、牛の出産、牛の転倒、及び、牛の舌遊びのうち一以上の異常行動を含む、
請求項１から請求項４のいずれか一項に記載の動物行動推定装置。
【請求項８】
前記行動推定部により推定された行動が前記異常行動である場合に通知を出力する通知部をさらに備える、
請求項７に記載の動物行動推定装置。
【請求項９】
行動推定対象の動物である推定対象動物が撮影された画像データから、前記画像データにおいて前記推定対象動物の外観から視認できる特徴点及び前記画像データにおいて前記推定対象動物の外観から視認できない特徴点を検出する特徴点検出ステップと、推定ステップと、
時系列の前記画像データそれぞれについて前記特徴点検出ステップにおいて検出された前記特徴点の位置を示す時系列特徴点位置情報に基づいて前記推定対象動物の行動を推定する行動推定ステップと、
を有し、
前記動物は、牛であり、
前記特徴点の種類は、顔、舌の複数個所、尾の複数個所、背、右前繋、左前繋、左後繋、左後繋、右前膝、左前膝、右後膝、左後膝、右飛節及び左飛節を含む、
動物行動推定方法。
【請求項１０】
コンピュータを、
請求項１から請求項８のいずれか一項に記載の動物行動推定装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動物行動推定装置、動物行動推定方法及びプログラムに関する。
【背景技術】
【０００２】
従来、動画像から得られた人間の関節等の位置の変位に基づき、行動を推定する技術がある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第６５２５１８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
人間の場合、行動の推定に用いられる標本点となる関節等の体の部位のほとんどが胴体等によって遮蔽されることなく画像から得られることが多い。また、人間の場合は、前から見ても後ろから見ても骨格が同じ様に見える。しかし、牛の場合は胴体が大きく、行動の推定に用いられる標本点となる四肢の関節等の部位が、視点の反対側にあるために胴体により遮蔽されてしまう、胴体の中にあるために外観からは検出できない、などの理由により、画像から十分に得られないことがある。さらには、牛などの四肢動物は、全体的に動きが非対称であり、人間よりも動きが複雑である。そのため、人間についての行動推定をそのまま牛などに適用しても、見えない標本点が多数あるため困難であった。
【０００５】
上記事情に鑑み、本発明は、画像に基づく動物の行動の推定精度を向上させることができる動物行動推定装置、動物行動推定方法及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
本発明の一態様は、行動推定対象の動物である推定対象動物が撮影された画像データから、前記画像データにおいて前記推定対象動物の外観から視認できる特徴点及び前記画像データにおいて前記推定対象動物の外観から視認できない特徴点を検出する特徴点検出部と、時系列の前記画像データそれぞれについて前記特徴点検出部が検出した複数種類の前記特徴点の位置を示す時系列特徴点位置情報に基づいて前記推定対象動物の行動を推定する行動推定部と、を備える動物行動推定装置である。
【０００７】
本発明の一態様は、上述の動物行動推定装置であって、前記特徴点検出部が検出した前記特徴点の位置に基づいて、動物の行動の推定に用いられる複数種類の特徴点のうち前記特徴点検出部において検出されなかった種類の特徴点の位置を推定する特徴点位置推定部をさらに備え、前記行動推定部は、時系列の前記画像データそれぞれについて前記特徴点検出部が検出した前記特徴点の位置及び前記特徴点位置推定部が推定した前記特徴点の位置を示す時系列特徴点位置情報に基づいて前記推定対象動物の行動を推定する。
【０００８】
本発明の一態様は、上述の動物行動推定装置であって、前記特徴点検出部は、前記画像データに複数の推定対象動物が撮影されている場合、検出した前記特徴点の種類及び位置に基づいて、前記画像データから検出された前記特徴点が属する前記推定対象動物を判定する。
【０００９】
本発明の一態様は、上述の動物行動推定装置であって、前記行動推定部は、時系列の複数種類の特徴点の位置の情報及び正解の行動の情報を学習データとして機械学習された行動推定モデルと前記時系列特徴点位置情報とに基づいて前記推定対象動物の行動を推定する。
【００１０】
本発明の一態様は、上述の動物行動推定装置であって、正解の行動の情報は、行動の種別を示す情報、正常であるか正常ではないかを示す情報、又は、正常であるか異常であるかを示す情報である。
【００１１】
本発明の一態様は、上述の動物行動推定装置であって、前記特徴点検出部は、動物が撮影された画像データと当該画像データにおいてユーザにより指定された前記特徴点の種類及び位置とを学習データとして機械学習された特徴点検出モデルを用いて前記画像データから特徴点を検出する。
【００１２】
本発明の一態様は、上述の動物行動推定装置であって、前記特徴点位置推定部は、動物が撮影された画像データにおいてユーザが指定した特徴点の種類及び位置の情報を学習データとして機械学習された特徴点位置推定モデルと前記特徴点検出部が検出した前記特徴点の位置とに基づいて、前記特徴点検出部において検出されなかった種類の特徴点の位置を推定する。
【００１３】
本発明の一態様は、上述の動物行動推定装置であって、前記行動推定部により推定された行動が異常行動である場合に通知を出力する通知部をさらに備える。通知を出力する対象の異常行動は、ユーザにより指定されてもよい。
【００１４】
本発明の一態様は、上述の動物行動推定装置であって、前記動物は、四肢動物であり、前記特徴点の種類は、顔、舌、背、尾及び関節を含む。顔の特徴点は、頭頂、目、耳、鼻及び口を含む。
【００１５】
本発明の一態様は、行動推定対象の動物である推定対象動物が撮影された画像データから、前記画像データにおいて前記推定対象動物の外観から視認できる特徴点及び前記画像データにおいて前記推定対象動物の外観から視認できない特徴点を検出する特徴点検出ステップと、時系列の前記画像データそれぞれについて前記特徴点検出ステップにおいて検出された複数種類の前記特徴点の位置を示す時系列特徴点位置情報に基づいて前記推定対象動物の行動を推定する行動推定ステップと、を有する動物行動推定方法である。
【００１６】
本発明の一態様は、コンピュータを、上述したいずれかの動物行動推定装置として機能させるためのプログラムである。
【発明の効果】
【００１７】
本発明により、画像に基づく動物の行動の推定精度を向上させることが可能となる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態による動物行動推定システムの全体構成例を示す図である。
【図２】同実施形態による学習装置の構成を示すブロック図である。
【図３】同実施形態による第一動物行動推定装置の構成を示すブロック図である。
【図４】同実施形態による第二動物行動推定装置の構成を示すブロック図である。
【図５】同実施形態による牛の標本点を示す図である。
【図６】同実施形態による学習装置が表示する画面の例である。
【図７】同実施形態による時系列特徴点位置情報の例を示す図である。
【図８】同実施形態による第一動物行動推定装置が検出及び推定した特徴点の例を示す図である。
【図９】同実施形態による第一動物行動推定装置が検出及び推定した特徴点を時系列で並べた例を示す図である。
【図１０】同実施形態による学習装置の処理を示すフロー図である。
【図１１】同実施形態による動物行動推定システムの動物行動推定処理を示すフロー図である。
【図１２】同実施形態による動物行動推定装置の構成を示すブロック図である。
【図１３】同実施形態による動物行動推定装置の構成を示すブロック図である。
【図１４】同実施形態による動物行動推定装置の動物行動推定処理を示すフロー図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照しながら本発明の実施形態を詳細に説明する。本発明の実施形態の動物行動推定装置は、行動推定の対象となる動物について検出した特徴点に基づいて、その動物の行動を推定する。この特徴点として、動物の姿勢を表すことが可能な標本点を用いる。本実施形態による行動推定の対象となる動物は、人間以外の動物であり、例えば、牛等の四肢動物である。以下では、行動推定の対象となる動物が牛である場合を例に説明する。行動の推定は、どのような行動であるかの行動の種別の推定、又は、正常な行動であるか否かの推定である。
【００２０】
従来技術として、動画像全体を分析することによって、動物の中でも牛などの家畜の異常行動を検知するシステムがある。しかし、この従来技術では、例えば黒毛和牛のように全身が黒色の動物の場合、色により識別能力が低下して精度の点で問題があった。加えて、牛が複数重なっている場合に、各個体を分離して認識することは困難であった。また、四肢動物は人間より動作が複雑である事に加え、牛のように胴体が大きい場合は、視点の反対側の肢体の動きが遮蔽され、肢体の動きが観測できないことが多々ある。そのため、動画像全体を分析して行動を推定する従来技術や、動画像から検出された関節等を利用して行動を時系列推定する従来技術などを適用しても、可視的に見えない部分が多く存在する動物の行動推定は困難であった。
【００２１】
本実施形態では、肢体の動きが複雑な動物の行動（動作）を推定するために用いる標本点を、見えにくい、あるいは見えない位置にある肢体の標本点を含めて決める。そして、ユーザが動物の画像上で、各標本点の注釈（アノテーション）を加える。見えている部分の標本点に、見えていない部分の標本点を加えることによって、動物の姿勢を透過的に二次元又は三次元で表することができる。本実施形態では、このように注釈が加えられた標本点を学習データに用いて機械学習することによって、標本点となる特徴点を画像から検出するための特徴点検出モデルを学習する。同様の学習データを用いて機械学習することによって、さらに、一部の特徴点の位置から他の特徴点の位置を推定するための特徴点位置推定モデルを学習してもよい。また、各特徴点に対応する標本点の注釈を用いることによって、画像に複数頭の動物が撮影されている場合でも、個体ごとに特徴点を分離して、個々の行動の表現を得る。本実施形態では、時系列の各特徴点の位置により表される動物の動きと、正解の行動とを学習データに用いて、時系列の各特徴点の位置から行動を推定するための行動推定モデルを学習する。例えば、１つの静止画から得られた各特徴点の位置からは、牛が座った結果その姿勢になったのか、転んだ結果その姿勢になったのかを判定することは困難である。時系列の各特徴点の位置の変化を入力に用いることによって、牛が座る正常行動であるか、転んでしまった異常行動であるのかを判定可能とする。
【００２２】
各モデルの学習後、本実施形態の動物行動推定装置は、行動推定対象の動物（以下、推定対象動物と記載する）が撮影された画像から特徴点検出モデルを用いて見えている部分の特徴点を検出し、検出した特徴点と特徴点位置推定モデルとを用いて見えない部分の特徴点を推定する。本実施形態の動物行動推定装置は、見えている部分の特徴点に、推定した特徴点を加え、それら特徴点の時系列の位置の変化と行動推定モデルとを用いて動物の行動推定を行う。
【００２３】
四肢動物の場合、人間とは異なり、左右や前後の動きは対象ではないために人間よりも動作が複雑なため、本実施形態のでは、上述したように、見える部分だけでなく、見えない部分についても特徴点により表されるスケルトンで学習を行い、行動推定に用いる。また、特徴点として用いる標本点には、舌や尻尾など人間にない部分の標本点や、背のように人間の行動推定には重要ではない標本点を含む。これにより、動物固有の行動を含め、動物の行動の推定精度を飛躍的に向上させることができる。
【００２４】
図１は、本発明の一実施形態による動物行動推定システム１の全体構成例を示す図である。動物行動推定システム１は、学習装置１００と、第一動物行動推定装置２００と、第二動物行動推定装置３００と、カメラ４００と、利用者装置５００とを有する。学習装置１００と、第一動物行動推定装置２００と、第二動物行動推定装置３００と、利用者装置５００とは、ネットワーク６００に接続される。同図では、第一動物行動推定装置２００、カメラ４００及び利用者装置５００を１台ずつ示しているが、第一動物行動推定装置２００、カメラ４００及び利用者装置５００の数は任意である。例えば、動物の異常行動の検出を行うサービスを提供する事業者が学習装置１００及び第二動物行動推定装置３００を保有し、サービスの利用者が第一動物行動推定装置２００、カメラ４００及び利用者装置５００を保有する。なお、学習装置１００と第二動物行動推定装置３００とが物理的に同一の装置でもよい。また、第一動物行動推定装置２００が利用者装置５００を兼ねてもよい。
【００２５】
学習装置１００は、推定対象動物の行動の推定に用いる各種モデルを学習する。第一動物行動推定装置２００は、推定対象動物が撮影された動画又は静止画から推定対象動物の時系列の特徴点の位置を取得し、推定対象動物の行動が正常であるか否かを推定する。第二動物行動推定装置３００は、第一動物行動推定装置２００が正常な行動ではないと推定した推定対象動物の行動の種別を推定する。
【００２６】
カメラ４００は、動画又は静止画を撮像する撮像装置である。カメラ４００は、例えば、ウェブカメラでもよく、ＴｏＦ（Time of Flight）カメラやデプスカメラなどのセンシングカメラでもよい。ＴｏＦカメラやデプスカメラは、奥行き距離を画素ごとに計測できるセンシングカメラである。また、カメラ４００は、可視光で観測した動画又は静止画を撮影してもよく、可視光以外の波長で観測した動画又は静止画を撮影してもよい。カメラ４００は、推定対象動物を撮影した動画データを第一動物行動推定装置２００に出力する。例えば、牛などの家畜の場合、カメラ４００は、畜舎内や放牧場内に設置される。動画データは、時系列のフレームからなる。各フレームは、静止画のデータである。動画データに含まれる各フレームには、撮影時刻又は撮影順序を表す情報が付加されているか、動画データに各フレームの撮影時刻又は撮影順序を取得可能な情報が付加されている。カメラ４００は、異なるタイミングで撮影した静止画のデータを第一動物行動推定装置２００に出力してもよい。以下では、動画データに含まれるフレームと、静止画のデータとを総称して画像データと記載する。また、以下では、カメラ４００が動画データを撮影する場合を例に説明する。利用者装置５００は、例えば、利用者のパーソナルコンピュータ、スマートフォン、タブレット端末などである。利用者装置５００は、第二動物行動推定装置３００から受信した通知を画面に表示したり、音声により出力したりする。
【００２７】
図２は、学習装置１００の構成を示すブロック図である。学習装置１００は、例えば、１台以上のコンピュータ装置により実現される。学習装置１００は、通信部１１０と、入力部１２０と、表示部１３０と、記憶部１４０と、学習部１５０とを有する。
【００２８】
通信部１１０は、ネットワーク６００を介して他の装置とデータを送受信する。入力部１２０は、キーボード、ポインティングデバイス（マウス、タブレット等）、ボタン、タッチパネル等の既存の入力装置を用いて構成される。入力部１２０は、ユーザの指示を学習装置１００に入力する際にユーザによって操作される。入力部１２０は、ネットワークを介して接続される図示しないユーザのコンピュータ装置からユーザの指示を受信してもよい。表示部１３０は、ＣＲＴ（Cathode Ray Tube）ディスプレイ、液晶ディスプレイ、有機ＥＬ（Electro Luminescence）ディスプレイ等の画像表示装置である。表示部１３０は、データを表示する。表示部１３０は、ネットワークを介して接続される図示しないユーザのコンピュータ装置にデータを送信し、表示させてもよい。
【００２９】
記憶部１４０は、学習用画像記憶部１４１と、学習データ記憶部１４２と、特徴点検出モデル記憶部１４３と、特徴点位置推定モデル記憶部１４４と、行動推定モデル記憶部１４５とを備える。
【００３０】
学習用画像記憶部１４１は、動物が撮影された学習用の動画、又は、静止画のデータを記憶する。学習データ記憶部１４２は、学習データを記憶する。学習データは、特徴点学習データと、行動推定学習データとを含む。特徴点学習データは、画像データと、画像データにおける特徴点の種類及び位置とを対応付けたデータである。行動推定学習データは、時系列の各種類の特徴点それぞれの位置と、正解の動物の行動とを対応付けたデータである。特徴点として、動物の行動の推定に用いられる標本点を使う。
【００３１】
特徴点検出モデル記憶部１４３は、特徴点検出モデルを記憶する。特徴点検出モデルは、画像データから得られる特徴量を入力として、画像データに含まれている動物の特徴点の位置を検出するためのモデルである。特徴量として、例えば、画素値、輝度などを用いることができる。特徴点位置推定モデル記憶部１４４は、特徴点位置推定モデルを記憶する。特徴点検出モデルは、予め決められた複数種類の特徴点のうち一部の種類の特徴点それぞれの位置を入力として、他の種類の特徴点の位置を同定するためのモデルである。
【００３２】
行動推定モデル記憶部１４５は、行動推定モデルを記憶する。行動推定モデルは、時系列特徴点位置情報を入力として、動物の行動の推定結果を出力するためのモデルである。時系列特徴点位置情報は、時系列の特徴点位置情報を示す。特徴点位置情報は、各種類の特徴点それぞれの位置を示す。時系列特徴点位置情報の記述には、テンソル、ＪＳＯＮ（JavaScript（登録商標） Object Notation）、行列などを用いることができる。本実施形態の行動推定モデルには、正常行動判定モデルと行動種別推定モデルとがある。正常行動判定モデルは、時系列特徴点位置情報を入力として、行動が正常か否かの推定結果を出力する。行動種別推定モデルは、時系列特徴点位置情報を入力として、行動の種別の推定結果を出力する。
【００３３】
学習部１５０は、学習データ生成部１５１と、特徴点検出モデル学習部１５２と、特徴点位置推定モデル学習部１５３と、行動推定モデル学習部１５４と、配信部１５５とを備える。
【００３４】
学習データ生成部１５１は、学習用画像記憶部１４１から読み出した画像データに、入力部１２０を用いたユーザの入力に従って特徴点の種類と位置の情報を付加して特徴点学習データを生成し、学習データ記憶部１４２に書き込む。また、学習データ生成部１５１は、入力部１２０を用いたユーザの入力に従って、時系列特徴点位置情報と、その時系列特徴点位置情報が得られた動物の正解の行動とを対応付けた行動推定学習データを生成し、学習データ記憶部１４２に書き込む。
【００３５】
特徴点検出モデル学習部１５２は、学習データ記憶部１４２に記憶される特徴点学習データを用いて、機械学習により各種類の特徴点ごとに特徴点検出モデルを学習して特徴点検出モデル記憶部１４３に書き込む。特徴点位置推定モデル学習部１５３は、学習データ記憶部１４２に記憶される特徴点学習データから得られる動物の個体ごとの特徴点位置情報を用いて、機械学習により特徴点位置推定モデルを学習して特徴点位置推定モデル記憶部１４４に書き込む。行動推定モデル学習部１５４は、学習データ記憶部１４２に記憶される行動推定学習データを用いて、機械学習により正常行動判定モデル及び行動種別推定モデルを学習して行動推定モデル記憶部１４５に書き込む。配信部１５５は、学習された特徴点検出モデル、特徴点位置推定モデル、正常行動判定モデルを第一動物行動推定装置２００に配信し、学習された行動種別推定モデルを第二動物行動推定装置３００に配信する。
【００３６】
なお、学習装置１００として、従来技術のアノテーションツールを用いることができる。例えば、人間の特徴点に関するアノテーションを行うための既存のアプリケーションを実装したコンピュータ装置を、学習装置１００として用いてもよい。
【００３７】
図３は、第一動物行動推定装置２００の構成を示すブロック図である。第一動物行動推定装置２００は、例えば、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）、ＦＰＧＡ（Field Programmable Gate Array）等のハードウェア、又は、タブレット端末、パーソナルコンピュータ等のコンピュータ装置により実現される。第一動物行動推定装置２００は、通信部２１０と、記憶部２２０と、画像入力部２３０と、処理部２４０と、表示部２５０とを備える。
【００３８】
通信部２１０は、ネットワーク６００を介して他の装置とデータを送受信する。記憶部２２０は、特徴点検出モデル記憶部２２１と、特徴点位置推定モデル記憶部２２２と、正常行動判定モデル記憶部２２３と、画像記憶部２２４と、分析情報記憶部２２５とを備える。特徴点検出モデル記憶部２２１は、学習装置１００が学習した特徴点検出モデルを記憶する。特徴点位置推定モデル記憶部２２２は、学習装置１００が学習した特徴点位置推定モデルを記憶する。正常行動判定モデル記憶部２２３は、学習装置１００が学習した正常行動判定モデルを記憶する。画像記憶部２２４は、推定対象動物が撮影された動画データを記憶する。分析情報記憶部２２５は、動物行動の推定を行う対象の時系列特徴点位置情報や、時系列特徴点位置情報を生成するための情報を記憶する。
【００３９】
画像入力部２３０は、カメラ４００が撮影した動画データを入力し、画像記憶部２２４に書き込む。動画データに含まれるフレームに撮影時刻又は撮影順序が付加されていない場合、画像入力部２３０は、動画データに設定されている情報を用いて算出した撮影時刻又は撮影順序の情報をフレームに付加する。なお、画像入力部２３０は、カメラ４００から異なるタイミングにおいて撮影された静止画のデータを順次入力し、画像記憶部２２４に書き込んでもよい。
【００４０】
処理部２４０は、更新部２４１と、特徴点検出部２４２と、特徴点位置推定部２４３と、判定部２４４と、推定要求部２４５と、状況表示処理部２４６とを備える。
【００４１】
更新部２４１は、学習装置１００から配信された特徴点検出モデル、特徴点位置推定モデル、正常行動判定モデルをそれぞれ、特徴点検出モデル記憶部２２１、特徴点位置推定モデル記憶部２２２、正常行動判定モデル記憶部２２３に書き込む。なお、特徴点検出モデル記憶部２２１、特徴点位置推定モデル記憶部２２２及び正常行動判定モデル記憶部２２３のそれぞれに、学習装置１００が学習した特徴点検出モデル、特徴点位置推定モデル及び正常行動判定モデルが予め記憶され、更新されない場合、処理部２４０は更新部２４１を備えなくてもよい。
【００４２】
特徴点検出部２４２は、特徴点検出モデル記憶部２２１に記憶されている特徴点検出モデルを用いて各画像データにおける推定対象動物の特徴点を検出し、その特徴点の位置を得る。特徴点検出部２４２が検出した特徴点を検出特徴点と記載する。特徴点検出部２４２は、画像データに複数の推定対象動物が撮影されている場合、検出特徴点の種類及び位置に基づいて、検出特徴点を個体別に分類する。
【００４３】
特徴点位置推定部２４３は、個体ごとに、特徴点検出部２４２が検出した検出特徴点の位置と特徴点位置推定モデル記憶部２２２に記憶されている特徴点位置推定モデルとに基づいて、特徴点検出部２４２において検出されなかった種類の特徴点の位置を推定する。特徴点位置推定部２４３が位置を推定した特徴点を推定特徴点と記載する。特徴点位置推定部２４３は、特徴点検出部２４２が検出した検出特徴点の位置の情報に、推定特徴点の位置の情報を加えて特徴点位置情報を生成し、分析情報記憶部２２５に書き込む。
【００４４】
判定部２４４は、行動推定モデルを用いて動物の行動を推定する行動推定部の一例である。判定部２４４は、行動推定モデルとして、正常行動判定モデル記憶部２２３に記憶されている正常行動判定モデルを用いる。判定部２４４は、所定数の時系列の画像データそれぞれについて生成された特徴点位置情報を時刻順に並べた時系列特徴点位置情報を個体ごとに生成する。判定部２４４は、時系列特徴点位置情報と正常行動判定モデルとに基づいて、推定対象動物の行動が正常であるか否か、又は、推定対象動物の行動が正常か異常かを個体ごとに判定する。
【００４５】
推定要求部２４５は、判定部２４４が正常ではない、又は、異常であると判定した時系列特徴点位置情報を第二動物行動推定装置３００に送信し、行動の種別の推定を要求する。状況表示処理部２４６は、第一動物行動推定装置２００の稼働状態や、第二動物行動推定装置３００から通知された情報などを表示部２５０に表示する。第二動物行動推定装置３００から通知される情報は、第二動物行動推定装置３００が異常行動と推定した推定対象動物に関する情報を含む。この情報は、例えば、時系列特徴点位置情報や推定された異常行動の種別などを示す数値やテキスト等のデータである。
【００４６】
表示部２５０は、液晶ディスプレイ、有機ＥＬディスプレイ、ＣＲＴディスプレイ等の画像表示装置である。表示部２５０は、データを表示する。
【００４７】
図４は、第二動物行動推定装置３００の構成を示すブロック図である。第二動物行動推定装置３００は、例えば、１台以上のサーバコンピュータにより実現される。第二動物行動推定装置３００は、通信部３１０と、記憶部３２０と、処理部３３０とを有する。
【００４８】
通信部３１０は、ネットワーク６００を介して他の装置とデータを送受信する。記憶部３２０は、行動種別推定モデル記憶部３２１と、利用者情報記憶部３２２と、分析対象情報記憶部３２３とを備える。行動種別推定モデル記憶部３２１は、学習装置１００が学習した行動種別推定モデルを記憶する。利用者情報記憶部３２２は、利用者情報を記憶する。利用者情報は、サービス利用者の識別情報と、利用者アドレスとを含む。利用者アドレスは、通知の出力先となる利用者装置５００のアドレスである。サービス利用者の識別情報として、第一動物行動推定装置２００のアドレス等の識別子を用いてもよい。分析対象情報記憶部３２３は、第一動物行動推定装置２００から受信した時系列特徴点位置情報を記憶する。
【００４９】
処理部３３０は、更新部３３１と、行動種別推定部３３２と、通知部３３３と、異常データ送信部３３４とを備える。更新部３３１は、学習装置１００から配信された行動種別推定モデルを、行動種別推定モデル記憶部３２１に書き込む。なお、行動種別推定モデル記憶部３２１に、学習装置１００が学習した行動種別推定モデルが予め記憶され、更新されない場合、処理部３３０は更新部３３１を備えなくてもよい。行動種別推定部３３２は、行動推定モデルを用いて動物の行動を推定する行動推定部の一例である。行動種別推定部３３２は、行動推定モデルとして、行動種別推定モデル記憶部３２１に記憶された行動種別推定モデルを用いる。すなわち、行動種別推定部３３２は、第一動物行動推定装置２００から受信した時系列特徴点位置情報と、行動種別推定モデルとを用いて、推定対象動物の行動の種別を判定する。通知部３３３は、行動種別推定部３３２が推定した行動の種別が異常行動である場合、利用者装置５００に異常行動の検出と推定した行動の種別とを通知する。異常データ送信部３３４は、行動種別推定部３３２が推定した行動の種別が異常行動である場合、異常行動と推定された時系列特徴点位置情報や異常行動の種別などを含む数値やテキスト等のデータを第一動物行動推定装置２００に送信する。
【００５０】
図５は、四肢動物のうち、例として牛の標本点を示す図である。本実施形態では、頭頂、右耳、左耳、右目、左目、鼻、口元、牛舌中腹、牛舌先端、右肘頭、左肘頭、右前膝、左前膝、右前繋、左前繋、右後膝、左後膝、右飛節、左飛節、右後繋、左後繋、背、尾根部、尻尾付根、尻尾中部、尻尾先端の２６種類の標本点を用いた例であるが、標本点は２６種類でなくてもよい。頭頂、右耳、左耳、右目、左目、鼻、口元は、顔の特徴点である。なお、図５において、標本点の種類の名称の前に付加された数字は、標本点の種類を特定する識別子である。
【００５１】
人間の場合、肩の位置は姿勢を表すために重要な標本点であるが、牛の場合は肩の位置は重要ではないため、標本点に用いていない。一方で、背は牛にとって重要な標本点の一つである。背から頭頂への方向によって、頭がどちらに向いているのかがわかる。また、背と尾根部とを結ぶ背筋のラインは牛の方向を表す。さらに、背と足の付け根である右肘頭及び左肘頭のそれぞれとを結ぶラインにより、肢体の方向がわかる。また、牛の異常行動として、例えば、舌遊びがある。このような特有の異常行動は、舌の標本点を特徴点として用いることに検出が可能である。また、尻尾の部分の標本点も、人間にはない標本点である。
【００５２】
図６は、学習データの生成時に学習装置１００が表示部１３０に表示する画面の例である。牛の構造の知識を有するユーザが、入力部１２０により、牛の画像における標本点の位置と、その標本点の位置を各牛について入力する。ユーザは、外観から見えている標本点を入力することに加え、外観から見えない特徴点、例えば、左右の部分のうち陰になっている部分の標本点や、他の牛と重なっている部分における標本点、胴体の中にある標本点の位置については、画像から推定可能な限り入力する。各牛について全種類の標本点の位置を入力する必要はない。牛が正面を向いている場合と側面を向いている場合とでは標本点の数が異なるが、できる限り標本点を入力する。標本点の位置をなるべく正確に入力することによって、推定の精度が高くなる。人間の場合、目の高さは左右バランスを考慮する等の注意を要するが、牛についても同様に正確性を要する。学習データ生成部１５１は、図６に示すように、個体ごとに、入力された所定の種類の標本点間を直線で結んでスケルトン化して表示する。なお、画像内で１頭の牛が含まれる領域を矩形で示している。
【００５３】
図７は、時系列特徴点位置情報を示す図である。同図に示すように、時系列特徴点位置情報は、時刻と、個体識別情報（ＩＤ）と、各特徴点の位置とを対応付けた情報である。個体識別情報は、推定対象動物を特定する情報である。図７においては、特徴点の位置を２次元平面上の座標によって示している。なお位置の情報は、相対位置でもよく、絶対位置でもよく、極座標でもよい。相対位置の場合、画像の所定の画素を原点とするｘ−ｙ座標における座標値により位置が表される。例えば、カメラ４００が画像の深度の情報を含んだ映像データ又は画像データを生成する場合、特徴点の位置を三次元座標上の座標値により表してもよい。
【００５４】
図８は、第一動物行動推定装置２００が検出及び推定した特徴点を示す図である。図８に示すように、牛の個体ごとに特徴点を結んだ線により、牛の姿勢がわかる。特に、背や尾根部の標本点を起点として頭頂や肢体の部分などの他の標本点とが結ばれることにより、牛の姿勢や向きが分かり易くなっている。図９は、第一動物行動推定装置２００が検出及び推定した特徴点を時系列で並べた図である。図９では、個体ごとに、検出した特徴点を結んで姿勢を示している。時系列でそれらの姿勢を並べることにより、各個体の動きがわかる。
【００５５】
続いて、動物行動推定システム１の動作について説明する。
図１０は、学習装置１００における学習処理を示す処理フローである。まず、学習装置１００の学習データ生成部１５１は、特徴点学習データを生成する（ステップＳ１１０）。学習データ生成部１５１は、ユーザが入力部１２０により入力した指示に従って、学習用画像記憶部１４１から学習データとして用いる画像データを読み出し、表示部１３０に表示する。ユーザは、入力部１２０により、特徴点の種類及び位置を個体単位で入力する。学習データ生成部１５１は、画像データに、ユーザが入力した各牛の特徴点の種類及び位置の情報を示す特徴点位置情報を付加して特徴点学習データを生成し、学習データ記憶部１４２に書き込む。
【００５６】
続いて、学習データ生成部１５１は、行動推定学習データを生成する（ステップＳ１２０）。学習データ生成部１５１は、ユーザが入力部１２０により指定した時系列の特徴点学習データそれぞれから、ユーザが入力部１２０により指定した個体の特徴点位置情報を取得する。学習データ生成部１５１は、各特徴点学習データから得られた時系列の特徴点位置情報を設定した時系列特徴点位置情報と、ユーザが入力部１２０により入力した動物の正解の行動とを対応付けた行動推定学習データを生成する。正常行動判定モデルの学習に用いる行動推定学習データ（以下、第一行動推定学習データと記載）の場合、正解の行動は、正常な行動であるか否か、又は、正常な行動と異常な行動とのいずれであるかであり、行動種別推定モデルに用いる行動推定学習データ（以下、第二行動推定学習データと記載）の場合、正解の行動は、行動の種別である。行動の種別には、例えば、牛の怪我、牛の喧嘩、牛の虐待、牛の病気、牛の発情、牛の出産、牛の転倒、牛の舌遊びなどの異常行動や、歩行している、餌を食べている、などの正常行動がある。学習データ生成部１５１は、生成した行動推定学習データを学習データ記憶部１４２に書き込む。
【００５７】
入力部１２０により特徴点検出モデルの学習開始指示が入力されると、特徴点検出モデル学習部１５２は、学習データ記憶部１４２から特徴点学習データを読み出し、特徴点学習データに含まれる画像データから得られる画像の特徴量と、その画像データに付加されている特徴点位置情報とを用いて、特徴点検出モデルを機械学習する。特徴点検出モデルとして、画像データから人間の目や関節等の特徴点を検出する任意の従来技術を用いることができる。例えば、特徴点検出モデルは、ＣＮＮ（畳み込みニューラルネットワーク、Convolutional neural network）である。特徴点検出モデル学習部１５２は、機械学習した特徴点検出モデルを、特徴点検出モデル記憶部１４３に書き込む（ステップＳ１３０）。
【００５８】
入力部１２０により特徴点位置推定モデルの学習開始指示が入力されると、特徴点位置推定モデル学習部１５３は、学習データ記憶部１４２から特徴点学習データに付加されている特徴点位置情報を読み出し、個体ごとの特徴点位置情報を複数用いて、特徴点位置推定モデルの機械学習を行う。特徴点位置推定モデル学習部１５３は、学習した特徴点位置推定モデルを特徴点位置推定モデル記憶部１４４に書き込む（ステップＳ１４０）。なお、特徴点位置推定モデルの学習には、画像データにおいて見えている特徴点の位置と、画像データにおいて見えていない特徴点の位置との両方が含まれる特徴点位置情報を用いてもよく、画像データにおいて見えている特徴点の位置のみを用いて特徴点位置推定モデルを学習してもよい。画像データにおいて見えている特徴点の位置のみを用いて特徴点位置推定モデルを学習する場合、ユーザは、ステップＳ１１０において、特徴点の種類及び位置に加えて、画像において欠落あるいは背景上、判別しにくい特徴点であるか否かの情報も入力する。
【００５９】
入力部１２０により正常行動判定モデルの学習開始指示が入力されると、行動推定モデル学習部１５４は、学習データ記憶部１４２から第一行動推定学習データを読み出す。行動推定モデル学習部１５４は、読み出した第一行動推定学習データを用いて、正常行動判定モデルを機械学習する（ステップＳ１５０）。正常行動判定モデルとして、例えば、ＳＶＭ（サポートベクターマシン）が用いられる。行動推定モデル学習部１５４は、学習した正常行動判定モデルを行動推定モデル記憶部１４５に書き込む。
【００６０】
入力部１２０により行動種別推定モデルの学習開始指示が入力されると、行動推定モデル学習部１５４は、学習データ記憶部１４２から第二行動推定学習データを読み出す。行動推定モデル学習部１５４は、読み出した第二行動推定学習データ用いて、行動種別推定モデルを機械学習する（ステップＳ１６０）。例えば、行動推定モデル学習部１５４は、行動の種別ごとにＳＶＭを用いた行動種別推定モデルを作成する。あるいは、行動推定モデル学習部１５４は、時系列特徴点位置情報を入力する入力ノードと、行動の種別それぞれに対応し、その種別の行動であることを定量的に表す値を出力する出力ノードとを有するＤＮＮ（Deep Neural Network）等を行動種別推定モデルとして学習してもよい。行動推定モデル学習部１５４は、学習した行動種別推定モデルを行動推定モデル記憶部１４５に書き込む。
【００６１】
配信部１５５は、入力部１２０により配信が指示された特徴点検出モデル、特徴点位置推定モデル及び正常行動判定モデルを第一動物行動推定装置２００に配信し、入力部１２０により配信が指示された行動種別推定モデルを第二動物行動推定装置３００に配信する（ステップＳ１７０）。第一動物行動推定装置２００の更新部２４１は、受信した特徴点検出モデルを特徴点検出モデル記憶部２２１に、特徴点位置推定モデルを特徴点位置推定モデル記憶部２２２に、正常行動判定モデルを正常行動判定モデル記憶部２２３に書き込む。第二動物行動推定装置３００の更新部３３１は、行動種別推定モデルを行動種別推定モデル記憶部３２１に書き込む。
【００６２】
なお、学習装置１００は、図１０に示す各ステップの処理の順序を可能なものについては入れ替えて実行してもよい。図１０に示す学習処理を繰り返し行うことによって各種モデルを更新することができる。
【００６３】
図１１は、動物行動推定システム１における動物行動推定処理を示すフロー図である。第一動物行動推定装置２００の画像入力部２３０は、カメラ４００が撮影した行動推定対象の動画データをリアルタイムで入力し、あるいは異なるタイミングで撮影された静止画のデータを順次入力し、画像記憶部２２４に書き込んでいる。第一動物行動推定装置２００は、所定周期で図１１の処理を起動する。
【００６４】
特徴点検出部２４２は、撮影時刻が現在時刻と現在時刻から所定時間だけ遡った時刻との間である複数の画像データを画像記憶部２２４から読み出す。特徴点検出部２４２は、読み出した画像データごとに、画像データから得られた特徴量と、各特徴点の特徴点検出モデルとを用いて、画像データにおける推定対象動物の各特徴点を検出する。検出される特徴点には、画像データにおいて推定対象動物の外観から視認できる特徴点に加え、外観から視認できない特徴点が含まれ得る。特徴点検出部２４２は、検出された特徴点、すなわち、検出特徴点の種類と位置とに基づいて、個体ごとの検出特徴点の集合に分類する。この分類には、複数人が撮影されている画像データから個人別の特徴点を得るための任意の従来技術を用いることができる。例えば、特徴点検出部２４２は、同じ種類の検出特徴点がある場合、それらはそれぞれ別の個体の特徴点と判定する。また、特徴点検出部２４２は、ある種類の検出特徴点から１又は複数の他の種類の検出特徴点への方向や距離が１個体の特徴点であると判定される所定の範囲内にあるか否かに基づいて、それら検出特徴点が同じ個体の特徴点であるか否かを判定する。これらの判定を組み合わせることによって、特徴点検出部２４２は検出特徴点を個体ごとに分類する。特徴点検出部２４２は、画像データの撮影時刻と、個体ごとの各検出特徴点の種類及び位置の情報とを対応付けた特徴点位置情報を生成し、画像データ又は画像データの識別情報と対応付けて分析情報記憶部２２５に書き込む（ステップＳ２１０）。
【００６５】
さらに特徴点検出部２４２は、画像データを解析して、各個体の識別情報を得てもよい。例えば、各個体の右耳及び左耳に個体識別番号が表示された耳標が付けられている場合、個体識別番号を予め記憶部２２０に記憶しておく。特徴点検出部２４２は、画像データの右耳及び左耳それぞれの検出特徴点の近傍の領域の文字認識を行う。特徴点検出部２４２は、認識した文字が個体識別番号と一致した場合、その検出特徴点の位置が設定されている特徴点位置情報に個体識別番号を付加する。
【００６６】
特徴点位置推定部２４３は、各画像データの個体ごとに、特徴点位置情報に設定されている各検出特徴点の位置と特徴点位置推定モデルとを用いて、特徴点検出部２４２において検出されなかった種類の特徴点である推定特徴点の位置を算出する。特徴点位置推定部２４３は、特徴点位置情報に各推定特徴点の種類及び位置を追加する（ステップＳ２２０）。
【００６７】
判定部２４４は、ステップＳ２１０において読み出された画像データに対応付けられた特徴点位置情報を時系列で並べた時系列特徴点位置情報を個体ごとに生成する（ステップＳ２３０）。判定部２４４は、時系列特徴点位置情報と正常行動判定モデルとを用いて、行動が正常であるか否かを個体ごとに判定する（ステップＳ２４０）。判定部２４４は、行動が正常であるか異常であるかを判定してもよい。推定要求部２４５は、判定部２４４が正常ではない又は異常と判定した時系列特徴点位置情報に利用者識別及びカメラ識別情報を付加して第二動物行動推定装置３００に送信し、推定を要求する（ステップＳ２５０）。カメラ識別情報は、時系列特徴点位置情報が得られた画像データを撮影したカメラ４００を識別する情報である。
【００６８】
第二動物行動推定装置３００の処理部３３０は、第一動物行動推定装置２００から時系列特徴点位置情報を受信し、分析対象情報記憶部３２３に記憶する（ステップＳ３１０）。行動種別推定部３３２は、時系列特徴点位置情報と、行動種別推定モデルとを用いて行動の種別を推定する（ステップＳ３２０）。行動種別推定部３３２は、推定した行動の種別が正常である又は異常ではないと判定した場合（ステップＳ３３０：ＮＯ）、処理を終了する。
【００６９】
行動種別推定部３３２は、推定した行動の種別が異常行動であると判定した場合（ステップＳ３３０：ＹＥＳ）、通知部３３３に時系列特徴点位置情報から読み出した利用者識別、個体識別情報及びカメラ識別情報と、推定した異常行動の種別を出力する。通知部３３３は、利用者識別に対応して読み出した利用者アドレス宛に、個体識別情報及びカメラ識別情報と推定した異常行動の種別の情報とを設定したアラーム情報を送信する（ステップＳ３４０）。利用者装置５００は、通知部３３３から受信したアラーム情報を画面に表示したり、音声により出力したりする。なお、ユーザが、通知対象の異常行動の種類を選択し、選択された異常行動の種類を示す通知対象異常行動情報を利用者識別と対応付けて利用者情報記憶部３２２に登録しておいてもよい。通知部３３３は、推定された異常行動の種類が、利用者識別に対応して読み出した通知対象異常行動情報に通知対象として設定されている場合に、アラーム情報を送信する。
【００７０】
異常データ送信部３３４は、異常行動と判定された時系列特徴点位置情報の送信元の第一動物行動推定装置２００に、その時系列特徴点位置情報と異常行動の種別とを数値やテキストで記述した異常データ情報を送信する（ステップ３５０）。第一動物行動推定装置２００の状況表示処理部２４６は、第二動物行動推定装置３００から送信された異常データ情報を、表示部２５０に表示する（ステップＳ２６０）。
【００７１】
上記実施形態によれば、画像からは検出された標本点に加えて、画像からは検出できない標本点を用いることにより、精度の高い動物行動推定が可能となる。また、第二動物行動推定装置３００は、少ない情報量で動物の異常な行動だけを抽出できるため、負荷が軽い。よって、多くの利用者に対して動物の異常な行動を抽出して利用者に通知するサービスを提供することが可能となる。さらに、第一動物行動推定装置２００から第二動物行動推定装置３００へ送信するデータ量を低減できるため、サービス利用者の通信費が低減することが可能となる。また、第一動物行動推定装置２００が行う動物行動推定は正常であるか否かの判定であるために、第一動物行動推定装置２００に必要な処理能力を低減することができる。
【００７２】
なお、動物行動推定システム１は、特徴点位置推定モデルを使用しなくてもよい。この場合、学習装置１００は、特徴点位置推定モデル記憶部１４４及び特徴点位置推定モデル学習部１５３を備えなくてもよく、第一動物行動推定装置２００は、特徴点位置推定モデル記憶部２２２及び特徴点位置推定部２４３を備えてなくてもよい。学習装置１００は、図１０のステップＳ１４０の処理を行わず、配信部１５５は、ステップＳ１７０において、特徴点位置推定モデルの配信を行わない。また、第一動物行動推定装置２００は、図１１のステップＳ２２０の処理を行わず、判定部２４４は、ステップＳ２３０において、推定特徴点の種類及び位置が含まれない時系列特徴点位置情報を生成する。
【００７３】
また、第一動物行動推定装置２００が正常行動判定モデル記憶部２２３及び判定部２４４を有さない構成としてもよい。この場合、第一動物行動推定装置２００は、図１１のステップＳ２４０の処理を行わない。推定要求部２４５は、図１１のステップＳ２５０において、全ての時系列特徴点位置情報について第二動物行動推定装置３００に推定要求を行う。学習装置１００は、正常行動判定モデルを学習しなくてもよい。
【００７４】
また、第一動物行動推定装置２００及び第二動物行動推定装置３００を図１２に示すように統合した動物行動推定装置としてもよい。図１２は、動物行動推定装置７００の構成を示すブロック図である。同図において、図３に示す第一動物行動推定装置２００及び図４に示す第二動物行動推定装置３００と同一の部分には同一の符号を付し、その説明を省略する。
【００７５】
動物行動推定装置７００は、通信部２１０と、記憶部７２０と、画像入力部２３０と、処理部７４０と、表示部２５０とを備える。記憶部７２０は、特徴点検出モデル記憶部２２１と、特徴点位置推定モデル記憶部２２２と、正常行動判定モデル記憶部２２３と、画像記憶部２２４と、分析情報記憶部２２５と、行動種別推定モデル記憶部３２１と、利用者情報記憶部３２２と、分析対象情報記憶部３２３とを備える。処理部７４０は、更新部７４１と、特徴点検出部２４２と、特徴点位置推定部２４３と、判定部２４４と、推定要求部７４５と、行動種別推定部３３２と、通知部３３３と、状況表示処理部７４６とを備える。更新部７４１は、図１０のステップＳ１７０において学習装置１００から配信された特徴点検出モデル、特徴点位置推定モデル、正常行動判定モデル及び行動種別推定モデルをそれぞれ、特徴点検出モデル記憶部２２１、特徴点位置推定モデル記憶部２２２、正常行動判定モデル記憶部２２３及び行動種別推定モデル記憶部３２１に書き込む。推定要求部７４５は、図１１のステップＳ２５０において、判定部２４４が正常ではない又は異常と判定した時系列特徴点位置情報を行動種別推定部３３２に出力し、行動の推定を要求する。これにより、正常ではない又は異常と判定された時系列特徴点位置情報についてのみ行動の種別を推定するため、動物行動推定装置７００の負荷を軽減することができる。状況表示処理部７４６は、動物行動推定装置７００の稼働状態を表示する。また、状況表示処理部７４６は、図１１のステップＳ３５０において、行動種別推定部３３２が異常行動と判定した時系列特徴点位置情報と異常行動の種別とを数値やテキストで記述した異常データ情報を表示部２５０に表示する。
【００７６】
なお、動物行動推定装置７００が、特徴点位置推定モデル記憶部２２２及び特徴点位置推定部２４３を有さない構成としてもよい。動物行動推定装置７００は、図１１のステップＳ２２０の処理を行わず、判定部２４４は、ステップＳ２３０において、推定特徴点の種類及び位置が含まれない時系列特徴点位置情報を生成する。
【００７７】
なお、動物行動推定装置７００が、正常行動判定モデル記憶部２２３及び判定部２４４を有さない構成としてもよい。この場合、動物行動推定装置７００は、図１１のステップＳ２４０の処理を行わない。推定要求部７４５は、図１１のステップＳ２５０において、全ての時系列特徴点位置情報を行動種別推定部３３２に出力し、行動の推定を要求する。
【００７８】
また、動物行動推定装置７００が、推定要求部７４５、行動種別推定部３３２及び行動種別推定モデル記憶部３２１を有さない構成としてもよい。この場合、動物行動推定装置７００は、図１１のステップＳ２５０、Ｓ３１０〜Ｓ３４０の処理を行わない。通知部３３３は、ステップＳ２４０の処理の後、判定部２４４が正常ではない又は異常と判断した推定対象動物の個体識別を動物行動推定装置７００が備える図示しない表示部に表示する、又は、利用者装置５００に通知する。
【００７９】
また、図１３に示すように、１台の装置によりモデルの学習と対象推定動物の行動の種別の推定を行ってもよい。図１３は、動物行動推定装置８００の構成を示すブロック図である。動物行動推定装置８００は、全ての時系列特徴点位置情報について行動の種別を推定する。図１３において、図２に示す学習装置１００、図３に示す第一動物行動推定装置２００及び図４に示す第二動物行動推定装置３００と同一の部分には同一の符号を付し、その説明を省略する。
【００８０】
動物行動推定装置８００は、入力部１２０と、表示部１３０と、記憶部８４０と、学習部８５０と、画像入力部２３０と、推定処理部８６０とを備える。記憶部８４０は、学習用画像記憶部１４１と、学習データ記憶部１４２と、特徴点検出モデル記憶部１４３と、特徴点位置推定モデル記憶部１４４と、行動推定モデル記憶部１４５と、画像記憶部２２４と、分析情報記憶部２２５と、利用者情報記憶部３２２とを備える。学習部８５０が、図２に示す学習部１５０と異なる点は、配信部１５５を備えていない点である。なお、行動推定モデル学習部１５４は、行動推定モデルとして、行動種別推定モデルを学習する。
【００８１】
推定処理部８６０は、特徴点検出部２４２と、特徴点位置推定部２４３と、行動種別推定部３３２と、通知部８６１と、状況表示処理部８６２とを備える。特徴点検出部２４２は、特徴点の検出に、特徴点検出モデル記憶部１４３に記憶されている特徴点検出モデルを用いる。特徴点位置推定部２４３は、特徴点の位置の推定に、特徴点位置推定モデル記憶部１４４に記憶されている特徴点位置推定モデルを用いる。行動種別推定部３３２は、時系列特徴点位置情報を生成し、行動推定モデル記憶部１４５に記憶される行動種別推定モデルを用いて行動の種別の推定を行う。通知部８６１は、行動種別推定部３３２が推定した行動の種別を、利用者装置５００に通知してもよく、表示部１３０に表示してもよい。画像入力部２３０が、各利用者のカメラ４００から利用者識別が付与された動画データや静止画の画像データを受信する場合、通知部８６１は、動画データや静止画のデータにより特定される利用者識別に基づいて通知先を判断する。状況表示処理部８６２は、動物行動推定装置８００の稼働状態や、行動種別推定部３３２により行動が異常であると推定された時系列特徴点位置情報と異常行動の種別とを数値やテキストで記述した異常データ情報を表示部２５０に表示する。
【００８２】
上記構成により、動物行動推定装置８００の学習部８５０は、図１０に示す学習処理のステップＳ１１０〜ステップＳ１６０の処理を行う。動物行動推定装置８００は、以下のように動物行動推定処理を行う。
【００８３】
図１４は、動物行動推定装置８００における動物行動推定処理を示すフロー図である。動物行動推定装置８００の画像入力部２３０は、カメラ４００が撮影した行動推定対象の動画データをリアルタイムで入力し、あるいは、異なるタイミングで撮影した静止画のデータを順次入力し、画像記憶部２２４に書き込んでいる。なお、動物行動推定装置８００の画像入力部２３０は、複数の利用者のカメラ４００それぞれから行動推定対象を撮影した動画データを、ネットワーク６００を介して入力し、画像記憶部２２４に書き込んでもよい。この場合、動画データには、カメラ識別情報及び利用者識別が設定される。カメラ識別情報を利用者識別として用いてもよい。動物行動推定装置８００は、所定周期で図１４の処理を起動する。
【００８４】
ステップＳ８１０及びステップＳ８２０の処理は、図１１に示すステップＳ２１０及びステップＳ２２０の処理と同様である。すなわち、特徴点検出部２４２は、撮影時刻が現在時刻と現在時刻から所定時間だけ遡った時刻との間である複数の画像データを画像記憶部２２４から読み出す。特徴点検出部２４２は、読み出した画像データごとに、画像データから得られた特徴量と、各特徴点の特徴点検出モデルとを用いて、画像データにおける推定対象動物の各特徴点を検出する。特徴点検出部２４２は、画像データの撮影時刻と、個体ごとの各検出特徴点の種類及び位置の情報とを対応付けた特徴点位置情報を生成し、画像データ又は画像データの識別情報と対応付けて分析情報記憶部２２５に書き込む（ステップＳ８１０）。さらに特徴点検出部２４２は、画像データを解析して得た個体の識別情報を、特徴点位置情報に付加する。特徴点位置推定部２４３は、各画像データの個体ごとに、特徴点位置情報に設定されている各検出特徴点の位置と特徴点位置推定モデルとを用いて、推定特徴点の位置を算出する。特徴点位置推定部２４３は、特徴点位置情報に各推定特徴点の種類及び位置を追加する（ステップＳ８２０）。
【００８５】
行動種別推定部３３２は、ステップＳ８１０において読み出された画像データに対応づけられた特徴点位置情報を時系列で並べた時系列特徴点位置情報を個体ごとに生成する（ステップＳ８３０）。行動種別推定部３３２は、時系列特徴点位置情報と、行動種別推定モデルとを用いて行動の種別を推定する（ステップＳ８４０）。行動種別推定部３３２は、推定した行動の種別が正常である、又は、異常ではないと判定した場合（ステップＳ８５０：ＮＯ）、処理を終了する。
【００８６】
行動種別推定部３３２は、推定した行動の種別が異常行動であると判定した場合（ステップＳ８５０：ＹＥＳ）、通知部８６１に時系列特徴点位置情報から読み出した利用者識別、個体識別情報及びカメラ識別情報と、推定した異常行動の種別を出力する。通知部８６１は、時系列特徴点位置情報が得られた画像データに付加された利用者識別に対応して利用者情報記憶部３２２から利用者アドレスを読み出す。通知部８６１は、この利用者アドレス宛に、個体識別情報及びカメラ識別情報と推定した異常行動の種別の情報とを設定したアラーム情報を送信する（ステップＳ８６０）。利用者装置５００は、通知部３３３から受信したアラーム情報を画面に表示したり、音声により出力したりする。なお、利用者が動物行動推定装置８００を保有する場合、通知部８６１は、アラーム情報を表示部１３０に表示してもよい。状況表示処理部８６２は、行動種別推定部３３２が異常行動と判定した時系列特徴点位置情報と異常行動の種別とを数値やテキストで記述した異常データ情報を表示部２５０に表示する（ステップＳ８７０）。ステップＳ８７０の処理が、ステップＳ８６０において表示部１３０にアラーム情報を表示する処理を兼ねてもよい。
【００８７】
なお、動物行動推定装置８００の推定処理部８６０は、判定部２４４と推定要求部２４５をさらに備えるようにしてもよい。この場合、記憶部８４０は、正常行動判定モデル記憶部２２３をさらに備える。そして、行動推定モデル学習部１５４は、さらに正常行動判定モデルを学習して行動推定モデル学習部１５４に書き込む。判定部２４４は、行動推定モデル学習部１５４に記憶されている正常行動判定モデルを用いて推定対象動物の行動が正常であるか否か、又は、行動が正常か異常かを判定する。推定要求部２４５は、判定部２４４が正常ではない又は異常と判定した推定対象動物の時系列特徴点位置情報についてのみ、行動の種別の推定を行動種別推定部３３２に要求する。
【００８８】
なお、動物行動推定装置８００の推定処理部８６０は、行動種別推定部３３２に代えて判定部２４４を備えるようにしてもよい。この場合、行動推定モデル学習部１５４は、行動推定モデルとして、正常行動判定モデルを学習し、行動推定モデル学習部１５４に書き込む。判定部２４４は、行動推定モデル学習部１５４に記憶されている正常行動判定モデルを用いて推定対象動物の行動が正常であるか否か、又は、行動が正常か異常かを判定する。通知部８６１は、判定部２４４が正常ではない又は異常と判断した推定対象動物の個体識別情報及びカメラ識別情報を設定したアラーム情報を、動物行動推定装置８００が備える表示部１３０に表示する、又は、利用者装置５００に通知する。
【００８９】
なお、動物行動推定装置８００が、特徴点位置推定モデル記憶部１４４、特徴点位置推定モデル学習部１５３及び特徴点位置推定部２４３を備えない構成としてもよい。学習部８５０は、図１０のステップＳ１４０の処理を行わず、行動種別推定部３３２は、ステップＳ８３０において、推定特徴点の種類及び位置が含まれない時系列特徴点位置情報を生成する。
【００９０】
上述した学習装置１００、第一動物行動推定装置２００、第二動物行動推定装置３００、動物行動推定装置７００及び動物行動推定装置８００は、バスで接続されたＣＰＵ（Central Processing Unit）、ＧＰＵ（Graphics Processing Unit）等のプロセッサやメモリや補助記憶装置などを備え、プロセッサがプログラムを実行することによって上記の機能を実現する。なお、学習装置１００、第一動物行動推定装置２００、第二動物行動推定装置３００、動物行動推定装置７００及び動物行動推定装置８００の各機能の全て又は一部は、ＡＳＩＣやＰＬＤやＦＰＧＡ等のハードウェアを用いて実現されてもよい。プログラムは、コンピュータ読み取り可能な記録媒体に記録されても良い。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ、ＵＳＢメモリ、ＳＳＤ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。プログラムは、電気通信回線を介して送信されてもよい。
【００９１】
また、学習装置１００、第一動物行動推定装置２００、第二動物行動推定装置３００、動物行動推定装置７００及び動物行動推定装置８００をそれぞれ複数のコンピュータ装置により実現してもよい。この場合、学習装置１００、第一動物行動推定装置２００、第二動物行動推定装置３００、動物行動推定装置７００及び動物行動推定装置８００の各機能部を、これら複数のコンピュータ装置のいずれにより実現するかは任意とすることができる。また、同一の機能部を複数のコンピュータ装置により実現してもよい。例えば、学習装置１００の記憶部１４０、動物行動推定装置７００の記憶部７２０、動物行動推定装置８００の記憶部８４０を他の機能部とは別のコンピュータ装置により実現してもよく、第二動物行動推定装置３００、動物行動推定装置７００、動物行動推定装置８００の行動種別推定部３３２を複数のコンピュータ装置により実現し、分散処理を行ってもよい。
【００９２】
以上説明した実施形態によれば、動物行動推定装置は、特徴点検出部と、行動推定部と備える。特徴点検出部は、行動推定対象の動物である推定対象動物が撮影された画像データから、画像データにおいて推定対象動物の外観から視認できる特徴点及び画像データにおいて推定対象動物の外観から視認できない特徴点を検出する。画像データは、動画データに含まれるフレーム又は静止画のデータのいずれでもよい。特徴点は、動物の行動の推定に用いられ、動物が四肢動物である場合、特徴点の種類は、顔、舌、背、尾及び関節を含む。行動推定部は、時系列の画像データそれぞれについて特徴点検出部が検出した特徴点の位置を示す時系列特徴点位置情報に基づいて推定対象動物の行動を推定する。
【００９３】
また、動物行動推定装置は、特徴点位置推定部をさらに備えてもよい。特徴点位置推定部は、特徴点検出部が検出した特徴点の位置に基づいて、動物の行動の推定に用いられる複数種類の特徴点のうち特徴点検出部において検出されなかった種類の特徴点の位置を推定する。行動推定部は、時系列の画像データそれぞれについて特徴点検出部が検出した特徴点の位置及び特徴点位置推定部が推定した特徴点の位置を示す時系列特徴点位置情報に基づいて推定対象動物の行動を推定する。
【００９４】
なお、特徴点検出部は、画像データに複数の推定対象動物が撮影されている場合、検出した特徴点の種類及び位置に基づいて、画像データから検出された特徴点が属する推定対象動物を判定する。
【００９５】
行動推定部は、時系列の複数種類の特徴点の位置の情報及び正解の行動の情報を学習データとして機械学習された行動推定モデルと時系列特徴点位置情報とに基づいて推定対象動物の行動を推定してもよい。正解の行動の情報は、行動の種別を示す情報、正常な行動であるか否かを示す情報、又は、正常であるか異常であるかを示す情報である。
【００９６】
特徴点位置推定部は、動物が撮影された画像データにおいてユーザが指定した特徴点の種類及び位置の情報を学習データとして機械学習された特徴点位置推定モデルと特徴点検出部が検出した特徴点の位置とに基づいて、特徴点検出部において検出されなかった種類の特徴点の位置を推定してもよい。
【００９７】
特徴点検出部は、動物が撮影された画像データと当該画像データにおいてユーザにより指定された特徴点の種類及び位置とを学習データとして機械学習された特徴点検出モデルを用いて、画像データから特徴点を検出する。
【００９８】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００９９】
１…動物行動推定システム、
１００…学習装置、
１１０、２１０、３１０…通信部、
１２０…入力部、
１３０、２５０…表示部、
１４０、２２０、３２０、７２０、８４０…記憶部、
１４１…学習用画像記憶部、
１４２…学習データ記憶部、
１４３、２２１…特徴点検出モデル記憶部、
１４４、２２２…特徴点位置推定モデル記憶部、
１４５…行動推定モデル記憶部、
１５０、８５０…学習部、
１５１…学習データ生成部、
１５２…特徴点検出モデル学習部、
１５３…特徴点位置推定モデル学習部、
１５４…行動推定モデル学習部、
１５５…配信部、
２００…第一動物行動推定装置、
２２０…記憶部、
２２３…正常行動判定モデル記憶部、
２２４…画像記憶部、
２２５…分析情報記憶部、
２３０…画像入力部、
２４０、３３０、７４０…処理部、
２４１、３３１、７４１…更新部、
２４２…特徴点検出部、
２４３…特徴点位置推定部、
２４４…判定部、
２４５、７４５…推定要求部、
２４６、７４６、８６２…状況表示処理部、
３００…第二動物行動推定装置、
３２０…記憶部、
３２１…行動種別推定モデル記憶部、
３２２…利用者情報記憶部、
３２３…分析対象情報記憶部、
３３２…行動種別推定部、
３３３、８６１…通知部、
３３４…異常データ送信部、
４００…カメラ、
５００…利用者装置、
６００…ネットワーク、
７００、８００…動物行動推定装置、
８６０…推定処理部
【図１】
0006966038.tif 000002
【図２】
0006966038.tif 000003
【図３】
0006966038.tif 000004
【図４】
0006966038.tif 000005
【図５】
0006966038.tif 000006
【図６】
0006966038.tif 000007
【図７】
0006966038.tif 000008
【図８】
0006966038.tif 000009
【図９】
0006966038.tif 000010
【図１０】
0006966038.tif 000011
【図１１】
0006966038.tif 000012
【図１２】
0006966038.tif 000013
【図１３】
0006966038.tif 000014
【図１４】
0006966038.tif 000015