(57)【要約】【課題】牝牛が乗駕行動をとったことを精度よく出力する。【解決手段】距離画像取得部が、牝牛が存在する領域を上方から撮影した距離画像を所定時間間隔で取得し、乗駕行動判定部が、距離画像に基づいて、牝牛の位置（矩形枠）のうち高さが閾値以上となっている牝牛（矩形枠）を特定する。また、乗駕行動判定部は、その後に取得される複数の距離画像に基づいて、特定した矩形枠（牝牛）の高さが閾値以上を示す時間が所定時間以上であった場合に、特定した矩形枠内の牝牛が乗駕行動をとったと判定する。そして、通知部は、乗駕行動判定部の判定結果を端末に出力する。【選択図】図８
2020156393.tif 000002
【特許請求の範囲】
【請求項１】
発情期に乗駕行動をとる動物が存在する領域を上方から撮影した距離画像を所定時間間隔で取得し、
取得した第１の距離画像に基づいて、高さが基準値以上となっている前記動物を撮影した範囲を特定し、
前記第１の距離画像の後に取得される複数の距離画像に基づいて、特定した前記範囲の高さが前記基準値以上を示す時間が所定時間以上かを判断し、前記所定時間以上であった場合に、特定した前記範囲において撮影された前記動物が乗駕行動をとったことを出力する、
処理をコンピュータに実行させるための行動検出プログラム。
【請求項２】
前記出力する処理では、特定した前記範囲内における高さ分布に基づいて、乗駕許容行動をとった動物を推定し、推定した前記動物の情報を出力する、ことを特徴とする請求項１に記載の行動検出プログラム。
【請求項３】
前記出力する処理では、特定した前記範囲から前記高さ分布に基づいて定まる方向に移動した動物を乗駕許容行動をとった動物と推定する、ことを特徴とする請求項２に記載の行動検出プログラム。
【請求項４】
前記出力する処理では、推定した前記乗駕許容行動をとった動物を特定した二次元画像を出力する、ことを特徴とする請求項２又は３に記載の行動検出プログラム。
【請求項５】
前記基準値は、前記動物の体高に基づいて定まる値である、ことを特徴とする請求項１〜４のいずれか一項に記載の行動検出プログラム。
【請求項６】
発情期に乗駕行動をとる動物が存在する領域を上方から撮影した距離画像を所定時間間隔で取得し、
取得した第１の距離画像に基づいて、高さが基準値以上となっている前記動物を撮影した範囲を特定し、
前記第１の距離画像の後に取得される複数の距離画像に基づいて、特定した前記範囲の高さが前記基準値以上を示す時間が所定時間以上かを判断し、前記所定時間以上であった場合に、特定した前記範囲において撮影された動物が乗駕行動をとったことを出力する、
処理をコンピュータが実行することを特徴とする行動検出方法。
【請求項７】
発情期に乗駕行動をとる動物が存在する領域を上方から撮影した距離画像を所定時間間隔で取得する取得部と、
取得した第１の距離画像に基づいて、高さが基準値以上となっている前記動物を撮影した範囲を特定する特定部と、
前記第１の距離画像の後に取得される複数の距離画像に基づいて、特定した前記範囲の高さが前記基準値以上を示す時間が所定時間以上かを判断し、前記所定時間以上であった場合に、特定した前記範囲において撮影された動物が乗駕行動をとったことを出力する出力部と、
を備える行動検出システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、行動検出プログラム、行動検出方法及び行動検出システムに関する。
【背景技術】
【０００２】
牛繁殖農家にとって、牝牛の発情期の検知は、タイミングよく人工授精させ、効率的な家畜生産につなげるために重要である。従来は、牝牛の発情期を検知するために、２４時間体制で監視していたため、農家の負担となっていた。これに対し、牝牛にセンサを装着して牝牛の発情期を検知する方法が知られている（例えば、特許文献１、２等参照）。また、所定高さの探知波を観測空間内に発射しつつスキャンすることで、牝牛同士の乗駕行動や牡子牛による牝牛への乗駕行動を検知し、発情期を判断する装置が知られている（例えば、特許文献３等参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−９０６０４号公報
【特許文献２】特開２０１１−２３４６６８号公報
【特許文献３】特開２０１７−１９２３７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、牝牛にセンサを装着する方法では、牝牛にストレスを与えるおそれがある。また、所定高さの探知波を観測空間内に発射しつつスキャンする方法では、他の牛が邪魔になり、乗駕行動をとっている牛に探知波が当たらない場合があり、検知精度が低くなるおそれがある。
【０００５】
１つの側面では、本発明は、動物が乗駕行動をとったことを精度よく出力することが可能な行動検出プログラム、行動検出方法及び行動検出システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
一つの態様では、行動検出プログラムは、発情期に乗駕行動をとる動物が存在する領域を上方から撮影した距離画像を所定時間間隔で取得し、取得した第１の距離画像に基づいて、高さが基準値以上となっている前記動物を撮影した範囲を特定し、前記第１の距離画像の後に取得される複数の距離画像に基づいて、特定した前記範囲の高さが前記基準値以上を示す時間が所定時間以上かを判断し、前記所定時間以上であった場合に、特定した前記範囲において撮影された動物が乗駕行動をとったことを出力する、処理をコンピュータに実行させるための行動検出プログラムである。
【発明の効果】
【０００７】
動物が乗駕行動をとったことを精度よく出力することができる。
【図面の簡単な説明】
【０００８】
【図１】一実施形態に係る行動検出システムの構成を概略的に示す図である。
【図２】建屋における撮影装置の配置の一例を示す図である。
【図３】図３（ａ）は、端末のハードウェア構成を示す図であり、図３（ｂ）は、サーバのハードウェア構成を示す図である。
【図４】サーバの機能ブロック図である。
【図５】行動量テーブルの一例を示す図である。
【図６】サーバの処理の一例を示すフローチャートである。
【図７】図７（ａ）は、距離画像の一例を示す図であり、図７（ｂ）は、距離画像から牛の位置を特定する処理を説明するための図である。
【図８】図８（ａ）は、牝牛の高さの閾値について説明するための図であり、図８（ｂ）は、図６のステップＳ１８において対象牛とされる牝牛を説明するための図である。
【図９】図９（ａ）〜図９（ｃ）は、行動量テーブルの更新について説明するための図である。
【図１０】図１０（ａ）は、乗駕行動をとる牝牛を示す図であり、図１０（ｂ）は、図１０（ａ）の例における高さの分布を示すグラフである。
【図１１】図１１（ａ）は、乗駕許容行動をとっていた牝牛が異動する可能性の高い方向（矢印ｒ）を示す図であり、図１１（ｂ）は、矢印ｒの方向に移動した牝牛を示す距離画像を図である。
【図１２】図１２（ａ）は、図１１（ｂ）の距離画像に対応する二次元画像であり、図１２（ｂ）は、通知画像を示す図である。
【図１３】通知画面を示す図である。
【図１４】変形例におけるサーバの処理を示すフローチャートである。
【図１５】変形例に係る通知画面を示す図である。
【発明を実施するための形態】
【０００９】
以下、行動検出システムの一実施形態について、図１〜図１２に基づいて詳細に説明する。図１には、一実施形態に係る行動検出システム１００の構成が概略的に示されている。本実施形態の行動検出システム１００は、酪農家が飼育する発情期に乗駕行動をとる動物（本実施形態では牝牛）の行動を監視し、乗駕行動が行われたことや乗駕許容行動をとった牝牛（発情している牝牛）の情報を酪農家に通知するシステムである。ここで、乗駕行動とは、牝牛の背後から他の牛が乗りかかる行動である。また、乗駕許容行動とは、他の牛が背後から乗りかかっても牝牛が許容して動かない行動であり、この乗駕許容行動をとる牝牛は発情していることを意味する。
【００１０】
図１に示すように、行動検出システム１００は、複数の撮影装置５０と、端末７０と、サーバ１０と、を備える。これら各装置は、インターネットなどのネットワーク８０に接続されている。
【００１１】
本実施形態において、撮影装置５０は、図２において模式的に示すように、牝牛を飼育する建屋１１０の天井に設けられている。撮影装置５０は、距離画像を撮影可能な距離画像カメラと、二次元画像（例えばＲＧＢ画像）を撮影可能な二次元画像カメラと、を有している。本実施形態では、建屋１１０内に４つの撮影装置５０が設けられており、各撮影装置５０が有する距離画像カメラと二次元画像カメラの撮影範囲は、建屋１１０内を４分割した領域Ａ〜Ｄとなっている。すなわち、４つの撮影装置５０により、建屋１１０内の全ての牝牛を撮影し続けることができるようになっている。
【００１２】
距離画像カメラは、各領域内の高さ分布を取得可能な距離画像を撮影する。ここで、距離画像は、通常の二次元画像における色や濃淡の値の代わりに、撮影装置５０から対象物までの距離の値を持った画像のことをいう。
【００１３】
二次元画像カメラは、各領域内に存在する牝牛を上方から撮影し、二次元画像（ＲＧＢ画像）を得る。
【００１４】
端末７０は、酪農家が利用するＰＣ（Personal Computer）やスマートフォン、タブレット型の端末などである。端末７０は、図３（ａ）に示すようなハードウェア構成を有する。すなわち、端末７０は、ＣＰＵ（Central Processing Unit）１９０、ＲＯＭ（Read Only Memory）１９２、ＲＡＭ（Random Access Memory）１９４、記憶部（ここではＨＤＤ（Hard Disk Drive））１９６、ネットワークインタフェース１９７、表示部１９３、入力部１９５、及び可搬型記憶媒体１９１に記憶されているデータやプログラムを読取可能な可搬型記憶媒体用ドライブ１９９等を備えている。これら端末７０の構成各部は、バス１９８に接続されている。端末７０は、サーバ１０から提供される情報を受信して、表示部１９３上に表示する機能を有している。
【００１５】
図１に戻り、サーバ１０は、撮影装置５０から距離画像や二次元画像を取得し、距離画像に基づいて、牝牛の乗駕行動を検出するとともに、乗駕許容行動をとった牝牛（発情している牝牛）を特定する。また、サーバ１０は、乗駕行動が行われたことや乗駕許容行動をとった牝牛の情報を端末７０に通知する。
【００１６】
図３（ｂ）には、サーバ１０のハードウェア構成が概略的に示されている。図３（ｂ）に示すように、サーバ１０は、ＣＰＵ９０、ＲＯＭ９２、ＲＡＭ９４、記憶部（ここでは、ＨＤＤ）９６、ネットワークインタフェース９７、及び可搬型記憶媒体用ドライブ９９等を備えている。これらサーバ１０の構成各部は、バス９８に接続されている。サーバ１０では、ＲＯＭ９２あるいはＨＤＤ９６に格納されているプログラム（行動検出プログラムを含む）、或いは可搬型記憶媒体用ドライブ９９が可搬型記憶媒体９１から読み取ったプログラム（行動検出プログラムを含む）をＣＰＵ９０が実行することにより、図４に示す、各部の機能が実現される。なお、図４の各部の機能は、例えば、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）等の集積回路により実現されてもよい。
【００１７】
図４には、サーバ１０の機能ブロック図が示されている。サーバ１０では、ＣＰＵ９０がプログラムを実行することにより、取得部としての距離画像取得部２０、二次元画像取得部２２、距離画像解析部２４、乗駕行動判定部２６、推定部としての発情牛推定部２８、出力部としての通知部３０、としての機能が実現されている。
【００１８】
距離画像取得部２０は、各撮影装置５０の距離画像カメラにおいて所定時間間隔（例えば５秒間隔）で撮影される距離画像を取得する。距離画像取得部２０は、取得した距離画像を距離画像解析部２４に送信する。また、距離画像取得部２０は、発情牛推定部２８からの求めに応じて、発情牛推定部２８に対して距離画像を送信する。
【００１９】
二次元画像取得部２２は、通知部３０からの求めに応じて、各撮影装置５０の二次元画像カメラが撮影した二次元画像を取得する。二次元画像取得部２２は、取得した二次元画像を通知部３０に送信する。
【００２０】
距離画像解析部２４は、距離画像に基づいて、建屋１１０内の各領域Ａ〜Ｄに存在する牝牛の位置と牝牛の高さを特定する。
【００２１】
乗駕行動判定部２６は、各牝牛の位置や高さに基づいて、乗駕行動の有無を判定する。乗駕行動判定部２６は、乗駕行動の有無を判定する際に、行動量テーブル４０を利用する。図５には、行動量テーブル４０のデータ構造が示されている。なお、行動量テーブル４０の詳細については、後述する。
【００２２】
発情牛推定部２８は、乗駕行動判定部２６が乗駕行動があったと判定した場合に、距離画像に基づいて、発情している牝牛（乗駕許容行動をとった牝牛）を推定する。発情牛推定部２８は、推定結果を通知部３０に送信する。
【００２３】
通知部３０は、乗駕行動判定部２６が乗駕行動有りと判定したこと、及び発情牛推定部２８が推定した発情している牝牛を示す画像を端末７０に対して送信する。ここで、通知部３０は、発情牛推定部２８が推定した発情している牝牛の情報を取得すると、二次元画像取得部２２に二次元画像の送信を要求し、二次元画像取得部２２から二次元画像を受信する。そして、通知部３０は、受信した二次元画像に発情している牝牛を特定するマーク等を付した通知画像を作成し、通知画像を含む通知画面（図１３参照）を端末７０に送信する。
【００２４】
（サーバ１０の処理について）
次に、サーバ１０の処理について、図６のフローチャートに沿って、その他図面を適宜参照しつつ詳細に説明する。なお、以下においては、説明の便宜上、領域Ａを撮影する撮影装置５０を用いた処理について説明するが、領域Ｂ〜Ｄを撮影する撮影装置５０を用いた処理についても同様である。
【００２５】
図６の処理では、まず、ステップＳ１０において、距離画像取得部２０が、距離画像カメラにおいて撮影された対象領域（ここでは領域Ａ）の距離画像を取得する。なお、距離画像取得部２０は、取得した距離画像を距離画像解析部２４に送信する。本実施形態においては、撮影装置５０が例えば５秒間隔で距離画像を撮影するのであれば、ステップＳ１０は５秒間隔で実行される。
【００２６】
次いで、ステップＳ１２では、距離画像解析部２４が、距離画像から対象領域内の各位置（各画素）の高さ情報を算出する。次いで、ステップＳ１４では、距離画像解析部２４が、高さ情報から、牝牛の位置と高さを判定する。ここで、距離画像解析部２４は、地面から所定以上の高さ（例えば地面から数ｃｍ以上の高さ）を示す画素範囲を牝牛の位置と判定する。例えば、図７（ａ）に示すように領域Ａ内に牝牛が分布しているとする。この場合、距離画像解析部２４は、図７（ｂ）において破線枠で示すように、距離画像において、地面から所定以上の高さの画素範囲（牝牛の位置）を内包する最小の矩形枠を特定する。そして、距離画像解析部２４は、特定した矩形枠の４つの頂点の位置を位置ａ，ｂ，ｃ，ｄとする。また、距離画像解析部２４は、牝牛の高さとして、矩形枠内のうちで最も高い点の高さを特定する。
【００２７】
次いで、ステップＳ１６では、乗駕行動判定部２６が、高さが閾値以上となっている牝牛が存在するか否かを判断する。ここで、閾値としては、例えば、建屋１１０内で飼育されている牝牛の種類に基づいて、当該種類の牝牛の平均的な体高に所定数（例えば、１．３など）を掛けた値を用いることができる。また、閾値としては、ステップＳ１２を実行するたびに得られる牝牛の高さの平均値や、この平均値に所定数を掛けた値などを用いることができる。例えば、牝牛の平均体高に所定数（例えば１．３）を掛けた値を閾値とすると、図８（ａ）に示すように、乗駕行動をとっている牝牛の高さは、閾値以上となる。ステップＳ１６の判断が肯定された場合には、ステップＳ１８に移行するが、ステップＳ１６の判断が否定された場合には、ステップＳ３０に移行する。なお、ステップＳ３０以降の処理については後述する。
【００２８】
ステップＳ１６の判断が肯定されて、ステップＳ１８に移行すると、乗駕行動判定部２６が、高さが閾値以上の牝牛を対象牛とする。なお、対象牛となる場合とは、図８（ｂ）において一点鎖線枠で示すように、牝牛が別の牝牛の背中に乗り上げ、乗駕行動をとっている場合である。なお、この場合には、牝牛２頭を含む矩形枠が牛位置として特定されているため、牝牛２頭が１頭分の牝牛と見做されるものとする。図７においては、対象牛は１頭となるが、領域Ａ内の複数個所で乗駕行動が行われていた場合には、対象牛は複数となる。
【００２９】
次いで、ステップＳ２０では、乗駕行動判定部２６が、対象牛を全て選択済みか否かを判断する。このステップＳ２０の判断が否定された場合には、ステップＳ２２に移行する。なお、ステップＳ２０の判断が肯定された場合には、ステップＳ３０に移行するが、ステップＳ３０以降の処理の詳細については後述する。
【００３０】
ステップＳ２２に移行すると、乗駕行動判定部２６が、未選択の対象牛を選択する。ここでは、一例として、図８（ｂ）の一点鎖線枠で示す対象牛が選択されたものとする。
【００３１】
次いで、ステップＳ２４では、乗駕行動判定部２６が、選択した対象牛の位置に類似する位置が記録されているデータが行動量テーブル４０に存在するか否かを判断する。ここで、行動量テーブル４０は、高さを閾値以上に維持したままほとんど移動しない牝牛の情報を管理するテーブルであり、図５に示すようなデータ構造を有する。行動量テーブル４０には、対象牛の「識別番号」、位置及び高さが特定された「日時」、対象牛を内包する矩形枠の各頂点の「位置ａ」、「位置ｂ」、「位置ｃ」、「位置ｄ」、対象牛の「高さ」が格納される。「識別番号」は、対象牛に対して後述するステップＳ２６で割り当てられる番号である。また、「位置」は、距離画像に設定されたＸＹ座標系上における矩形枠の各頂点の位置座標である。行動量テーブル４０は、ステップＳ２６で割り当てられた識別番号ごとに作成される。すなわち、他の牛に乗り上げている牝牛の数だけ、行動量テーブル４０は存在することになる。そして、対象牛が高さを閾値以上に維持しつつほとんど移動しない間は、対応する行動量テーブル４０に対して日時、位置及び高さのデータが追加され続けるようになっている。
【００３２】
例えば、ステップＳ２２で選択された対象牛が乗駕行動を開始した直後であれば、選択した対象牛の位置と類似する位置を有するデータは存在していないので、ステップＳ２４の判断は否定され、ステップＳ２６に移行する。ここで、乗駕行動判定部２６は、位置が類似するか否かを判定する際に、例えば、選択した対象牛の位置ａ〜ｄの重心と、現在存在する１又は複数の行動量テーブル４０の最新の位置ａ〜ｄの重心とを比較する。そして、最新の位置ａ〜ｄの重心の中に、選択した対象牛の位置ａ〜ｄの重心に近似するものがあれば、ステップＳ２４の判断が肯定されるものとする。ただし、これに限らず、乗駕行動判定部２６は、位置が類似するか否かを判定する際に、選択した対象牛の位置ａ〜ｄそれぞれと、各行動量テーブル４０の最新の位置ａ〜ｄの差の合計が所定値未満か否かを判断することとしてもよい。
【００３３】
ステップＳ２４の判断が否定され、ステップＳ２６に移行すると、乗駕行動判定部２６は、選択している対象牛に識別番号を付与して、位置と時刻と高さを行動量テーブル４０に記録する。例えば、乗駕行動判定部２６は、現在選択している対象牛に、他の行動量テーブル４０において未採番の識別番号（例えば、００８）を付与して、図９（ａ）に示すような識別番号「００８」の行動量テーブル４０を作成し、対象牛の位置と時刻と高さを記録する。その後は、ステップＳ２０に戻る。
【００３４】
一方、ステップＳ２４の判断が肯定された場合には、ステップＳ２８に移行し、乗駕行動判定部２６は、行動量テーブル４０の対応するデータに対応付けて、位置と時刻を記録する。
【００３５】
例えば、図９（ａ）の行動量テーブル４０（識別番号００８）が作成されており、次（例えば５秒後）に取得された距離画像から選択した対象牛の位置が図９（ａ）の最新の位置と近似していた場合には、ステップＳ２４の判断が肯定されてステップＳ２８に移行する。この場合、乗駕行動判定部２６は、図９（ｂ）に示すように、行動量テーブル４０（識別番号００８）に新たな位置、時刻、高さの情報を記録する。その後は、ステップＳ２０に戻る。
【００３６】
ステップＳ２０に戻ると、乗駕行動判定部２６は、対象牛を全て選択済みか否かを判断する。このステップＳ２０の判断が否定されている間は、ステップＳ２２〜Ｓ２８の処理・判断を繰り返すが、ステップＳ２０の判断が肯定されると、ステップＳ３０に移行する。
【００３７】
ステップＳ１６の判断が否定され、あるいはステップＳ２０の判断が肯定され、ステップＳ３０に移行すると、乗駕行動判定部２６は、行動量テーブル４０への記録が途絶えた牝牛が存在するか否かを判断する。すなわち、直近のステップＳ１０において取得した距離画像に基づいて、新たな位置や高さのデータが記録されなかった行動量テーブル４０があるか否かを判断する。このステップＳ３０の判断が否定された場合には、ステップＳ１０に戻るが、肯定された場合には、ステップＳ３２に移行する。例えば、図９（ｃ）に示すように、２０１９年３月１３日の１０時６分５秒までのデータが記録されていた行動量テーブル４０（識別番号００１）に、２０１９年３月１３日の１０時６分１０秒の距離画像から得られたデータが入力されなかった場合には、ステップＳ３２に移行する。
【００３８】
ステップＳ３２に移行すると、乗駕行動判定部２６は、記録が途絶えた行動量テーブル４０のうち、記録時間が所定時間以上の行動量テーブル４０が存在するか否かを判断する。ここで、記録時間とは、行動量テーブル４０に記録された最初の時刻と最後の時刻との間の時間を意味する。例えば、図９（ｃ）の例であれば、記録時間は３５秒となる。図９（ｃ）の例において所定時間が４０秒に設定されていれば、ステップＳ３２の判断は否定され、乗駕行動判定部２６は、ステップＳ１０に戻る。なお、ステップＳ３２の判断が否定された場合には、記録が途絶えた行動量テーブル４０を削除した上で、ステップＳ１０に戻るものとする。
【００３９】
一方、ステップＳ３２の判断が肯定された場合には、ステップＳ３４に移行する。ステップＳ３４に移行すると、発情牛推定部２８は、乗駕を受けた牝牛を特定する。以下、ステップＳ３４の処理について詳細に説明する。
【００４０】
まず、発情牛推定部２８は、記録が途絶えた行動量テーブル４０の最新の日時に得られた距離画像（例えば、図８（ｂ）の距離画像）を距離画像取得部２０から取得し、取得した距離画像から、対象牛の位置を示す矩形枠内全体の高さ情報を取得する。
【００４１】
次いで、発情牛推定部２８は、矩形枠内の高さ情報に基づいて、矩形の長手方向に沿った高さの分布（長手方向に沿った稜線の形状）を抽出する。ここで、図８（ｂ）の矩形枠内の牛が、図１０（ａ）に示すように乗駕行動を行っていた場合には、高さの分布は、図１０（ｂ）において細実線で示すようになる。
【００４２】
この場合、発情牛推定部２８は、図１０（ｂ）の細実線のグラフを、例えば３本の直線（太実線参照）で近似する。そして、発情牛推定部２８は、３本の直線のうち、ステップＳ１６で用いた閾値（図１０（ｂ）の一点鎖線で示す値）を超えている範囲を特定し、頂点Ｐを境として、範囲Ｚａ，Ｚｂとする。
【００４３】
次いで、発情牛推定部２８は、範囲Ｚａ，Ｚｂのうち、傾きが急峻な方（すなわち、範囲の幅が狭い方）を特定し、頂点Ｐから特定した範囲（図１０（ｂ）では範囲Ｚａ）が延びる方向を特定する。ここでは、図１１（ａ）において矢印ｒで示す方向が特定されたものとする。
【００４４】
次いで、発情牛推定部２８は、その後一定期間の間、距離画像取得部２０に距離画像を要求する。そして、発情牛推定部２８は、取得した距離画像に基づいて、頂点Ｐを基準として矢印ｒ方向又は矢印ｒ方向に近似する方向に移動する牝牛（図１１（ｂ）の矩形枠Ｓで示す牝牛）を乗駕許容行動をとった牝牛として特定する。乗駕許容行動をとっていた牝牛は、通常、乗駕行動終了後に前方に移動することが多いからである。また、発情牛推定部２８は、乗駕許容行動をとった牝牛を特定できた距離画像の撮影日時の情報を距離画像のメタデータ等から取得する。このように乗駕行動をとった牝牛（発情した牝牛）を特定した後、発情牛推定部２８は、図１１（ｂ）の矩形枠Ｓの位置情報と、撮影日時の情報を通知部３０に受け渡す。
【００４５】
次いで、図６のステップＳ３６では、通知部３０が端末７０に対して通知を行う。この場合、通知部３０は、発情牛推定部２８から得た距離画像の撮影日時に撮影された二次元画像を二次元画像取得部２２に対して要求する。この要求に応じて、二次元画像取得部２２から二次元画像（図１２（ａ）参照）が送信されてくると、通知部３０は、受信した二次元画像に一点鎖線枠（矩形枠）Ｓを表示する加工を行って通知画像（図１２（ｂ）参照）を作成する。
【００４６】
そして、通知部３０は、乗駕行動があったことと、発情している牝牛を示す通知画像とを含む、図１３に示すような通知画面を作成し、端末７０に送信する。酪農家においては、端末７０において表示される通知画面を参照することで、発情している牝牛を確認することができる。この場合、酪農家は、例えば通知画像を拡大するなどして発情している牝牛の耳等に設けられている標識の番号を確認することで、発情している牝牛を正確に特定することができる。このようにすることで、酪農家は、２４時間監視等を行わなくても、発情している牛の情報を得ることができる。
【００４７】
ステップＳ３６の後は、ステップＳ１０に戻る。なお、ステップＳ３６からステップＳ１０に戻る際には、記録が途絶えた行動量テーブル４０を削除するものとする。ステップＳ１０に戻ると、上述したステップＳ１０以降の処理が繰り返し実行されるようになっている。
【００４８】
これまでの説明から明らかなように、本実施形態では、距離画像解析部２４と乗駕行動判定部２６により、取得した距離画像（第１の距離画像）から高さが閾値（基準値）以上となっている牝牛を撮影した範囲を特定する特定部としての機能が実現されている。また、距離画像解析部２４と乗駕行動判定部２６により、高さが閾値以上となっている牝牛を撮影した範囲を特定したときに用いた画像（第１の距離画像）の後に取得された複数の距離画像に基づいて、高さを閾値以上に維持している時間が所定時間以上かを判断する判断部としての機能が実現されている。
【００４９】
以上、詳細に説明したように、本実施形態によると、距離画像取得部２０は、発情期に乗駕行動をとる動物（本実施形態では牝牛）が存在する領域を上方から撮影した距離画像を所定時間間隔で取得する。また、乗駕行動判定部２６は、距離画像に基づいて、牝牛の位置（矩形枠）のうち高さが閾値以上となっている牝牛（矩形枠）を特定する。更に、乗駕行動判定部２６は、その後に取得される複数の距離画像に基づいて、特定した矩形枠（牝牛）の高さが閾値以上を示す時間が所定時間以上であった場合に、特定した矩形枠内の牝牛が乗駕行動をとったと判定する。そして、通知部３０は、乗駕行動判定部２６の判定結果を端末７０に出力する。これにより、本実施形態では、高さが閾値以上となっている牝牛が所定時間以上その高さを維持してほとんど移動しなかったことを検出した場合に、乗駕行動があったことを出力する。したがって、酪農家は２４時間監視等を行わなくても、乗駕行動があったことを知ることができる。この場合、牝牛にセンサ等を取り付けなくてもよいため、牝牛に対してストレスを与えないようにすることができる。また、本実施形態では、牝牛が存在する領域を上方から撮影するため、水平方向から撮影する場合のように、乗駕行動をとっている牝牛が他の牝牛に隠れてしまい、乗駕行動を検出できなくなるという事態の発生を防止することができる。
【００５０】
また、本実施形態では、発情牛推定部２８は、特定した矩形枠内における高さ分布に基づいて、乗駕許容行動をとった牝牛（発情した牝牛）が移動する可能性の高い方向（矢印ｒ方向）を特定する。そして、発情牛推定部２８は、特定した矩形枠近傍から矢印ｒ方向に近似する方向に移動した牝牛を乗駕許容行動をとった牝牛（発情した牝牛）と推定する。これにより、本実施形態では、発情牛推定部２８は、発情した牝牛を精度よく推定し、端末７０に通知することができる。
【００５１】
また、本実施形態では、発情牛推定部２８が推定した発情した牝牛の情報を端末７０に通知する際に、発情した牝牛を特定することができる通知画像を二次元画像を用いて作成する。これにより、発情した牝牛を端末７０上にわかりやすく表示することができる。
【００５２】
また、本実施形態では、高さの閾値を、牝牛の体高に基づいて決定することとしているので、乗駕行動の有無を精度よく判定することができる。
【００５３】
なお、上記実施形態では、図１１（ａ）、図１１（ｂ）を用いて説明したように、乗駕許容行動をとった牝牛（発情している牝牛）を推定した上で、発情している牝牛を特定した通知画像（図１２（ｂ））を端末７０に送信する場合について説明した。しかしながら、これに限らず、通知部３０は、乗駕行動をとっているときに得られた二次元画像に図１１（ａ）の一点鎖線枠と同様の枠を表示したものを通知画像として作成し、作成した通知画像を含む通知画面を端末７０に送信することとしてもよい。この場合、酪農家は、通知画像を拡大等することにより、一点鎖線枠内において下側に位置している牝牛を発情している牝牛として特定することとしてもよい。
【００５４】
なお、上記実施形態では、乗駕行動を監視する対象が、牝牛である場合について説明したが、これに限られるものではない。例えば、牡の子牛や去勢した牡牛も乗駕行動を行うことがあるため、これらの牛を監視対象に含めてもよい。また、乗駕行動の監視対象は、発情期に乗駕行動をとる動物であれば、馬や豚など、牛以外の動物であってもよい。
【００５５】
（変形例）
なお、上記実施形態では、サーバ１０が乗駕行動が行われたことを端末７０に出力する場合について説明したが、これに限らず、サーバ１０は、伏臥していたり倒れたりしている牛（牝牛に限らない）を検知し、検知結果を端末７０に送るようにしてもよい。
【００５６】
以下、本変形例の詳細について、図１４のフローチャートに沿って説明する。なお、図１４の各ステップのうち、図６のステップと対応するステップには、図６と同一のステップ番号を付して示している。また、本変形例では、上述のように監視対象が牝牛に限らないため、図６において「牝牛」と表記していた箇所を図１４では、「牛」と表記している。なお、以下の説明においては、図１４の処理をサーバ１０が有する機能の１つである処理部が実行するものとする
【００５７】
図１４の処理では、処理部が、ステップＳ１０〜Ｓ１４を図６と同様に実行する。その後、ステップＳ１６’に移行すると、処理部は、高さが閾値未満の牛が存在するか否かを判断する。この場合の閾値は、上記実施形態のステップＳ１６で用いた閾値とは異なる値であり、例えば、牛の平均体高（牛の種類に基づいて得られる平均体高や検出される平均体高）に１よりも小さい所定数（例えば０．５）を掛けた値であるものとする。すなわち、ステップＳ１６’では、伏臥している又は倒れている牛が存在するか否かを判断している。
【００５８】
このステップＳ１６’の判断が否定された場合には、ステップＳ１０に戻る。一方、ステップＳ１６’の判断が肯定されると、ステップＳ１８を経て、ステップＳ２０に移行する。ステップＳ２０の判断が肯定された場合には、ステップＳ３２に移行するが、否定された場合には、ステップＳ２２に移行する。なお、ステップＳ２２〜Ｓ２８の処理については、図６のステップＳ２２〜Ｓ２８と同様である。すなわち、ステップＳ２２〜Ｓ２８では、処理部は、新たに伏臥した牛又は倒れた牛が存在する場合には、その牛の行動量テーブル４０を新たに作成する。一方、処理部は、伏臥し続けている又は倒れ続けている牛が存在する場合には、その牛の行動量テーブル４０に新たなデータを記録する（更新する）。
【００５９】
一方、ステップＳ２０の判断が肯定されて、ステップＳ３２に移行すると、処理部は、記録時間が所定時間以上の行動量テーブル４０が存在するか否かを判断する。すなわち、本ステップＳ３２では、ほぼ同じ位置において伏臥又は倒れ続けている牛が存在するか否かを判断する。このステップＳ３２の判断が否定された場合には、ステップＳ１０に戻るが、肯定された場合には、ステップＳ３４’に移行する。
【００６０】
ステップＳ３４’に移行すると、処理部は、記録時間が所定時間以上の行動量テーブルに対応する牛を伏臥、倒れ候補として決定する。そして、処理部は、伏臥又は倒れ候補の牛の位置を示す２次元画像を上記実施形態と同様に作成して、図１５に示すような通知画面を端末７０に通知する。
【００６１】
以上のように、本変形例によれば、伏臥、倒れ候補の牛を精度よく検知し、その旨を通知することができる。なお、本変形例においては、伏臥、倒れ候補の牛が存在していることを報知するのみでもよい。すなわち、処理部は、図１５のような通知画像を含む通知画面を作成せずに、伏臥、倒れ候補の牛が存在しているという警告情報を端末７０に対して通知するのみでもよい。
【００６２】
なお、上記変形例では、伏臥、倒れを監視する対象が、牛である場合について説明したが、これに限られるものではない。すなわち、伏臥や倒れの監視対象は、牛以外の様々な動物とすることができる。
【００６３】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記憶媒体（ただし、搬送波は除く）に記録しておくことができる。
【００６４】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ（Digital Versatile Disc）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）などの可搬型記憶媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００６５】
プログラムを実行するコンピュータは、例えば、可搬型記憶媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記憶媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００６６】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【００６７】
なお、以上の実施形態の説明に関して、更に以下の付記を開示する。
（付記１）  発情期に乗駕行動をとる動物が存在する領域を上方から撮影した距離画像を所定時間間隔で取得し、
取得した第１の距離画像に基づいて、高さが基準値以上となっている前記動物を撮影した範囲を特定し、
前記第１の距離画像の後に取得される複数の距離画像に基づいて、特定した前記範囲の高さが前記基準値以上を示す時間が所定時間以上かを判断し、前記所定時間以上であった場合に、特定した前記範囲において撮影された前記動物が乗駕行動をとったことを出力する、
処理をコンピュータに実行させるための行動検出プログラム。
（付記２）  前記出力する処理では、特定した前記範囲内における高さ分布に基づいて、乗駕許容行動をとった動物を推定し、推定した前記動物の情報を出力する、ことを特徴とする付記１に記載の行動検出プログラム。
（付記３）  前記出力する処理では、特定した前記範囲から前記高さ分布に基づいて定まる方向に移動した動物を乗駕許容行動をとった動物と推定する、ことを特徴とする付記２に記載の行動検出プログラム。
（付記４）  前記出力する処理では、推定した前記乗駕許容行動をとった動物を特定した二次元画像を出力する、ことを特徴とする付記２又は３に記載の行動検出プログラム。
（付記５）  前記基準値は、前記動物の体高に基づいて定まる値である、ことを特徴とする付記１〜４のいずれかに記載の行動検出プログラム。
（付記６）  動物が存在する領域を上方から撮影した距離画像を所定時間間隔で取得し、
取得した第１の距離画像に基づいて、高さが基準値以下となっている動物を撮影した範囲を特定し、
前記第１の距離画像の後に取得される複数の距離画像に基づいて、特定した前記範囲の高さが前記基準値以下を示す時間が所定時間以上かを判断し、前記所定時間以上であった場合に前記動物の伏臥又は倒れに関する情報を報知する、
処理をコンピュータに実行させるための行動検出プログラム。
（付記７）  発情期に乗駕行動をとる動物が存在する領域を上方から撮影した距離画像を所定時間間隔で取得し、
取得した第１の距離画像に基づいて、高さが基準値以上となっている前記動物を撮影した範囲を特定し、
前記第１の距離画像の後に取得される複数の距離画像に基づいて、特定した前記範囲の高さが前記基準値以上を示す時間が所定時間以上かを判断し、前記所定時間以上であった場合に、特定した前記範囲において撮影された前記動物が乗駕行動をとったことを出力する、
処理をコンピュータが実行することを特徴とする行動検出方法。
（付記８）  発情期に乗駕行動をとる動物が存在する領域を上方から撮影した距離画像を所定時間間隔で取得する取得部と、
取得した第１の距離画像に基づいて、高さが基準値以上となっている前記動物を撮影した範囲を特定する特定部と、
前記第１の距離画像の後に取得される複数の距離画像に基づいて、特定した前記範囲の高さが前記基準値以上を示す時間が所定時間以上かを判断する判断部と、
前記所定時間以上であった場合に、特定した前記範囲において撮影された前記動物が乗駕行動をとったことを出力する出力部と、
を備える行動検出システム。
（付記９）  前記特定部が特定した前記範囲内における高さ分布に基づいて、乗駕許容行動をとった動物を推定する推定部を備え、
前記出力部は、前記推定部が推定した乗駕許容行動をとった動物の情報を出力する、ことを特徴とする付記８に記載の行動検出システム。
（付記１０）  前記推定部は、前記特定部が特定した前記範囲から前記高さ分布に基づいて定まる方向に移動した動物を乗駕許容行動をとった動物と推定する、ことを特徴とする付記９に記載の行動検出システム。
（付記１１）  前記出力部は、前記推定部が推定した前記乗駕許容行動をとった動物を特定した二次元画像を出力する、ことを特徴とする付記９又は１０に記載の行動検出システム。
（付記１２）  前記基準値は、前記動物の体高に基づいて定まる値である、ことを特徴とする付記８〜１１のいずれかに記載の行動検出システム。
【符号の説明】
【００６８】
２０  距離画像取得部（取得部）
２４  距離画像解析部（特定部の一部、判断部の一部）
２６  乗駕行動判定部（特定部の一部、判断部の一部）
２８  発情牛推定部（推定部）
３０  通知部（出力部）
１００  行動検出システム
【図１】
2020156393.tif 000003
【図２】
2020156393.tif 000004
【図３】
2020156393.tif 000005
【図４】
2020156393.tif 000006
【図５】
2020156393.tif 000007
【図６】
2020156393.tif 000008
【図７】
2020156393.tif 000009
【図８】
2020156393.tif 000010
【図９】
2020156393.tif 000011
【図１０】
2020156393.tif 000012
【図１１】
2020156393.tif 000013
【図１２】
2020156393.tif 000014
【図１３】
2020156393.tif 000015
【図１４】
2020156393.tif 000016
【図１５】
2020156393.tif 000017