(57)【要約】      （修正有）【課題】飼養頭数が数百頭から数千頭にも及ぶ大規模な酪農場等においても、家畜の異常を特定することが出来る特定装置、特定方法及びプログラムの提供。【解決手段】家畜の異常を特定する特定装置１０であって、前記家畜に装着された加速度センサ及び気圧センサがそれぞれ測定した加速度データ及び気圧データを記憶する記憶手段と、所定の時間の間における１以上の加速度データ及び１以上の気圧データを前記記憶手段から取得する取得手段と、前記１以上の気圧データに基づいて、前記家畜の姿勢を推定する推定手段と、推定された前記家畜の姿勢に応じて、前記１以上の加速度データに基づいて、所定の第１のスコアと所定の第２のスコアとを算出する算出手段と、前記第１のスコア及び前記第２のスコアのうちの値が大きい方のスコアが、予め設定された所定の閾値を超えている場合、前記家畜に異常が発生したことを特定する特定手段と、を有することを特徴とする。【選択図】図１
2020198829.tif 000002
【特許請求の範囲】
【請求項１】
家畜の異常を特定する特定装置であって、
前記家畜に装着された加速度センサ及び気圧センサがそれぞれ測定した加速度データ及び気圧データを記憶する記憶手段と、
所定の時間の間における１以上の加速度データ及び１以上の気圧データを前記記憶手段から取得する取得手段と、
前記１以上の気圧データに基づいて、前記家畜の姿勢を推定する推定手段と、
推定された前記家畜の姿勢に応じて、前記１以上の加速度データに基づいて、所定の第１のスコアと所定の第２のスコアとを算出する算出手段と、
前記第１のスコア及び前記第２のスコアのうちの値が大きい方のスコアが、予め設定された所定の閾値を超えている場合、前記家畜に異常が発生したことを特定する特定手段と、
を有することを特徴とする特定装置。
【請求項２】
前記加速度データには、前記家畜の進行方向に対して右方向を正の方向とする第１の軸成分の加速度値と、前記家畜の進行方向を正の方向とする第２の軸成分の加速度値と、重力方向を正の方向とする第３の軸成分の加速度値とが含まれ、
前記算出手段は、
前記１以上の加速度データそれぞれの第１の軸成分の加速度値と第３の軸成分の加速度値とに基づいて、前記第２のスコアを算出する、ことを特徴とする請求項１に記載の特定装置。
【請求項３】
前記算出手段は、
前記１以上の加速度データそれぞれの大きさの標準偏差と、予め設定された上限値及び下限値との大小関係に基づいて、前記第１のスコアを算出する、ことを特徴とする請求項１又は２に記載の特定装置。
【請求項４】
前記推定手段は、
前記気圧データと、基準となる気圧センサが測定した基準気圧データとの差分を示す差分気圧データの所定の期間毎の中央値に基づいて、前記期間毎の中央値の相対的な変化により前記家畜の姿勢を推定する、ことを特徴とする請求項１乃至３の何れか一項に記載の特定装置。
【請求項５】
前記推定手段は、
前記家畜の姿勢として、前記家畜が立っている状態であることを示す起立と、前記家畜が通常の行動として横たわっている状態であることを示す第１の横臥と、前記家畜に前記異常が発生した結果横たわっている状態となっている可能性があることを示す第２の横臥とを少なくとも推定する、ことを特徴とする請求項１乃至４の何れか一項に記載の特定装置。
【請求項６】
前記算出手段は、
前記家畜の姿勢が起立と推定された場合、前記第１のスコア及び前記第２のスコアを０にリセットした後に、前記所定の時間の間の前記第１のスコア及び前記第２のスコアを算出し、
前記家畜の姿勢が第１の横臥と推定された場合、前記第１のスコア及び第２のスコアの算出は行わず、
前記家畜の姿勢が第２の横臥と推定された場合、前記第１のスコア及び第２のスコアをリセットせずに、前記第１のスコア及び前記第２のスコアを算出する、ことを特徴とする請求項５に記載の特定装置。
【請求項７】
家畜の異常を特定する特定装置が、
前記家畜に装着された加速度センサ及び気圧センサがそれぞれ測定した加速度データ及び気圧データを記憶手段に記憶させる記憶手順と、
所定の時間の間における１以上の加速度データ及び１以上の気圧データを前記記憶手段から取得する取得手順と、
前記１以上の気圧データに基づいて、前記家畜の姿勢を推定する推定手順と、
推定された前記家畜の姿勢に応じて、前記１以上の加速度データに基づいて、所定の第１のスコアと所定の第２のスコアとを算出する算出手順と、
前記第１のスコア及び前記第２のスコアのうちの値が大きい方のスコアが、予め設定された所定の閾値を超えている場合、前記家畜に異常が発生したことを特定する特定手順と、
を実行することを特徴とする特定方法。
【請求項８】
コンピュータを、請求項１乃至６の何れか一項に記載の特定装置における各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特定装置、特定方法及びプログラムに関する。
【背景技術】
【０００２】
肥育牛では、肥育後期に起立困難等の異常が発生し易いことが知られている。起立困難を放置すると、窒息等により牛が死亡することがあるため、牛を肥育する肥育農家では、牛舎の見回り等を行って、起立困難等の異常が牛に発生していないかを確認している。
【０００３】
また、繁殖牛でも産前産後に起立困難等の異常が発生し易いことが知られており、繁殖農家は、同様に、牛舎の見回り等を行って、起立困難等の異常が牛に発生していないかを確認している。
【０００４】
更に、鼓脹症等の異常によって牛が起立困難となる場合もある。鼓脹症とは、牛等の反芻動物の家畜に起こり得る病気であり、例えば、青草等の発酵性飼料を過食した際等に発症する場合がある。鼓脹症が発症した場合、牛の腹部が膨脹するため、牛は起立困難となる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】阿部 亮著、「農学基礎セミナー  家畜飼育の基礎」、新版、社団法人  農産漁村文化協会、2008 年 4 月, p.109, p.122-124.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、例えば、飼養頭数が数百頭から数千頭にも及ぶ大規模な酪農場等では、牛舎の見回り等を行って、牛に異常（鼓脹症等を含む起立困難）が発生していないかを確認するのは困難である。
【０００７】
本発明の実施の形態は、上記の点に鑑みてなされたもので、家畜の異常を特定することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明の実施の形態は、家畜の異常を特定する特定装置であって、前記家畜に装着された加速度センサ及び気圧センサがそれぞれ測定した加速度データ及び気圧データを記憶する記憶手段と、所定の時間の間における１以上の加速度データ及び１以上の気圧データを前記記憶手段から取得する取得手段と、前記１以上の気圧データに基づいて、前記家畜の姿勢を推定する推定手段と、推定された前記家畜の姿勢に応じて、前記１以上の加速度データに基づいて、所定の第１のスコアと所定の第２のスコアとを算出する算出手段と、前記第１のスコア及び前記第２のスコアのうちの値が大きい方のスコアが、予め設定された所定の閾値を超えている場合、前記家畜に異常が発生したことを特定する特定手段と、を有することを特徴とする。
【発明の効果】
【０００９】
家畜の異常を特定することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態に係る特定システムの全体構成の一例を示す図である。
【図２】測定データ記憶部に記憶されている測定データの一例を示す図である。
【図３】本実施形態に係る特定処理部の機能構成の一例を示す図である。
【図４】本実施形態に係る異常特定処理の一例を示すフローチャートである。
【図５】本実施形態に係る姿勢推定処理の一例を示すフローチャートである。
【図６】本実施形態に係る第１のスコア加算処理の一例を示すフローチャートである。
【図７】スコア算出の一例を説明するための図である。
【図８】本実施形態に係る第２のスコア加算処理の一例を示すフローチャートである。
【図９】効果の一例を説明するための図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態（以降、「本実施形態」とも表す。）について、図面を参照しながら説明する。本実施形態では、家畜の一例として、牛の異常を特定する場合について説明する。ただし、家畜は牛に限られない。
【００１２】
＜全体構成＞
まず、起立困難等の異常を特定する特定システム１の全体構成について、図１を参照しながら説明する。図１は、本実施形態に係る特定システム１の全体構成の一例を示す図である。
【００１３】
図１に示すように、本実施形態に係る特定システム１には、牛の異常を特定する特定装置１０と、牛に装着された１以上のタグ２０と、基準となる気圧を測定する基準気圧センサ３０とが含まれる。なお、タグ２０は、ベルト等によって牛の首部分に固定して装着される（つまり、タグ２０が固着又は内蔵等されたベルトを牛の首部分に巻付けて装着される）ことが好ましい。
【００１４】
タグ２０は、牛に装着される機器である。１頭の牛に対して１つのタグ２０が装着されている。タグ２０には、当該タグ２０を装着している牛の加速度（ｘ軸、ｙ軸及びｚ軸の３軸の加速度）を測定する加速度センサと、気圧を測定する気圧センサとが含まれる。ここで、ｘ軸、ｙ軸及びｚ軸で構成される座標系はタグ２０に固定されており、タグ２０は、例えば、牛が起立し、かつ、首が曲がっていない（真っ直ぐの）状態で、当該牛の進行方向に対して右方向をｘ軸の正の方向、当該進行方向をｙ軸の正の方向、重力方向をｚ軸の正の方向となるように装着される。ただし、牛に対する各軸（ｘ軸、ｙ軸及びｚ軸）の方向はこれに限られず、少なくとも所定の１つの軸（例えばｘ軸）の方向が牛の進行方向に対して右方向又は左方向のいずれか（つまり、タグ２０がベルトによって牛の首部分に固定して装着されている場合は所定の１つの軸が当該ベルトに対して平行）となっていればよく、座標系における各軸の相対的な位置関係は保ったままで各軸が任意の方向となるようにタグ２０を牛に装着することが可能である。
【００１５】
タグ２０は、所定の時間毎（例えば２秒毎）に、加速度センサにより測定した加速度センサ値と、気圧センサにより測定された気圧センサ値とが含まれる測定データを特定装置１０に送信する。特定装置１０に送信された測定データは、後述する測定データ記憶部２００に蓄積（記憶）される。
【００１６】
基準気圧センサ３０は、牛舎内の所定の位置（例えば、牛舎内の地面上等）に設置され、基準となる気圧を測定する。基準気圧センサ３０は、所定の時間毎（例えば２秒毎）に、測定した気圧を示す基準気圧センサ値が含まれる基準気圧データを特定装置１０に送信する。特定装置１０に送信された基準気圧データは、後述する基準気圧データ記憶部３００に蓄積（記憶）される。
【００１７】
特定装置１０は、牛の異常（例えば、肥育後期に発生する起立困難、産前産後に発生する起立困難、鼓脹症による起立困難等）を特定する１以上のコンピュータである。特定装置１０は、特定処理部１００と、測定データ記憶部２００と、基準気圧データ記憶部３００とを有する。
【００１８】
特定処理部１００は、測定データ記憶部２００に記憶されている測定データと、基準気圧データ記憶部３００に記憶されている基準気圧データとを用いて、牛の異常を特定する。特定処理部１００は、特定装置１０にインストールされた１以上のプログラムが、ＣＰＵ（Central Processing Unit）等のプロセッサに実行させる処理により実現される。
【００１９】
測定データ記憶部２００は、タグ２０から受信した測定データを記憶する。測定データ記憶部２００は、例えばＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等の記憶装置を用いて実現可能である。測定データ記憶部２００には、所定の時間毎（例えば２秒毎）に、複数の測定データが記憶されている。なお、タグ２０から受信した測定データは、例えば、特定処理部１００により、測定データ記憶部２００に記憶（蓄積）させればよい。
【００２０】
基準気圧データ記憶部３００は、基準気圧センサ３０から受信した基準気圧データを記憶する。基準気圧データ記憶部３００は、例えばＨＤＤやＳＳＤ等の記憶装置を用いて実現可能である。基準気圧データ記憶部３００には、所定の時間毎（例えば２秒毎）に、複数の基準気圧データが記憶されている。なお、基準気圧センサ３０から受信した基準気圧データは、例えば、特定処理部１００により、基準気圧データ記憶部３００に記憶（蓄積）させればよい。
【００２１】
なお、図１に示す特定システム１の構成は一例であって、他の構成であってもよい。例えば、特定装置１０は、複数台のコンピュータで構成されていてもよい。また、例えば、特定処理部１００が有する機能の一部を、特定装置１０と通信ネットワークを介して接続される装置（例えばクラウドサーバ等）が有していてもよい。また、例えば、測定データ記憶部２００及び基準気圧データ記憶部３００の少なくとも一方を、特定装置１０と通信ネットワークを介して接続される記憶装置（例えば、ＤＢサーバ等）が有していてもよい。
【００２２】
＜測定データ記憶部２００に記憶されている測定データ＞
次に、本実施形態に係る測定データ記憶部２００に記憶されている測定データについて、図２を参照しながら説明する。図２は、測定データ記憶部２００に記憶されている測定データの一例を示す図である。
【００２３】
図２に示すように、測定データ記憶部２００には、タグを識別する情報であるタグＩＤ毎に、１以上の測定データが記憶されている。なお、１頭の牛に対して１つのタグ２０が装着されていることから、タグＩＤは、牛を識別する情報（例えば、牛の個体識別情報等）であってもよい。
【００２４】
各測定データには、日時と、加速度センサ値と、気圧センサ値とが含まれる。日時は、例えば、タグ２０が測定データを送信した日時である。なお、日時は、特定装置１０が測定データを受信した日時であってもよい。
【００２５】
加速度センサ値は、タグ２０に含まれる加速度センサにより測定された加速度の値である。加速度センサ値には、ｘ軸方向の加速度成分を示すｘ成分と、ｙ軸方向の加速度成分を示すｙ成分と、ｚ軸方向の加速度成分を示すｚ成分とが含まれる。例えば、日時「ｔ１」の測定データには、加速度センサ値のｘ成分「ｘ１」と、加速度センサ値のｙ成分「ｙ１」と、加速度センサ値のｚ成分「ｚ１」とが含まれる。同様に、例えば、日時「ｔ２」の測定データには、加速度センサ値のｘ成分「ｘ２」と、加速度センサ値のｙ成分「ｙ２」と、加速度センサ値のｚ成分「ｚ２」とが含まれる。なお、以降では、加速度センサ値のｘ成分を「ｘ成分加速度センサ値」、加速度センサ値のｙ成分を「ｙ成分加速度センサ値」、加速度センサ値のｚ成分を「ｚ成分加速度センサ値」とも表す。
【００２６】
また、気圧センサ値は、タグ２０に含まれる気圧センサにより測定された気圧の値である。例えば、日時「ｔ１」の測定データには、気圧センサ値「ｐ１」が含まれる。同様に、例えば、日時「ｔ２」の測定データには、気圧センサ値「ｐ２」が含まれる。
【００２７】
なお、例えば、各タグ２０が２秒毎に測定データを特定装置１０に送信する場合、Δｔ＝ｔｉ＋１−ｔｉ（ｉは１以上の整数）とすれば、Δｔ＝２［秒］である。
【００２８】
このように、測定データ記憶部２００に記憶されている測定データには、タグＩＤ毎に、日時と、加速度センサ値と、気圧センサ値とが含まれている。
【００２９】
＜特定処理部１００の機能構成＞
次に、本実施形態に係る特定処理部１００の機能構成について、図３を参照しながら説明する。図３は、本実施形態に係る特定処理部１００の機能構成の一例を示す図である。
【００３０】
図３に示すように、本実施形態に係る特定処理部１００には、姿勢推定部１０１と、スコア算出部１０２と、異常特定部１０３とが含まれる。
【００３１】
姿勢推定部１０１は、測定データに含まれる気圧センサ値と、基準気圧データに含まれる基準気圧センサ値とを用いて、牛の姿勢を推定する。ここで、牛の姿勢としては、例えば、「起立」、「横臥（通常）」及び「横臥（注意）」がある。「起立」とは、牛が立っている状態のことである。また、「横臥（通常）」とは、通常の横臥状態（つまり、起立困難でなく、牛が横たわっている状態）のことである。一方で、「横臥（注意）」とは、牛に異常が発生している可能性がある横臥状態（つまり、起立困難によって牛が横臥状態になっている可能性がある状態）のことである。
【００３２】
スコア算出部１０２は、姿勢推定部１０１により推定された姿勢に応じて、測定データに含まれる加速度センサ値を用いて、牛の異常を特定するための所定の第１のスコアと所定の第２のスコアとを算出する。第１のスコアとは、牛が瞬間的に大きな動作を行ったことをスコア化した指標値である。一方で、第２のスコアとは、牛が継続的に大きな動作を行ったことをスコア化した指標値である。
【００３３】
異常特定部１０３は、スコア算出部１０２により算出された第１のスコア又は第２のスコアを用いて、牛の異常を特定する。異常特定部１０３は、例えば、第１のスコア又は第２のスコアが所定の閾値を超えている場合に、牛に異常が発生したと特定する。
【００３４】
＜異常特定処理＞
以降では、牛の異常の特定する処理（異常特定処理）について、図４を参照しながら説明する。図４は、本実施形態に係る異常特定処理の一例を示すフローチャートである。図４に示す異常特定処理は、所定の時間毎（例えば１０分毎）に繰り返し実行される。なお、以降では、或る牛（つまり、或るタグＩＤのタグ２０が装着された牛）の異常を特定する場合について説明する。
【００３５】
まず、姿勢推定部１０１は、所定の時間の間（例えば、直近の過去１０分間）の牛の姿勢を推定する（ステップＳ１０１）。本ステップでは、牛の姿勢が「横臥（通常）」、「横臥（注意）」、又は「起立」のいずれかに推定される。また、この姿勢推定結果は、例えば補助記憶装置等の記憶領域に記憶される。
【００３６】
ここで、上記のステップＳ１０１における牛の姿勢を推定する処理（姿勢推定処理）について、図５を参照しながら説明する。図５は、本実施形態に係る姿勢推定処理の一例を示すフローチャートである。
【００３７】
姿勢推定部１０１は、該当の時間の間（例えば、直近の過去１０分間）の気圧センサ値及び基準気圧センサ値を取得する（ステップＳ２０１）。すなわち、姿勢推定部１０１は、当該時間の間の測定データを測定データ記憶部２００から取得した上で、これらの測定データから気圧センサ値を取得する。同様に、姿勢推定部１０１は、当該時間の間の基準気圧データを基準気圧データ記憶部３００から取得した上で、これらの基準気圧データから基準気圧センサ値を取得する。
【００３８】
次に、姿勢推定部１０１は、上記のステップＳ２０１で取得された気圧センサ値及び基準気圧センサ値を用いて、該当の時間の間における差分気圧センサ値を算出する（ステップＳ２０２）。差分気圧センサ値とは、気圧センサ値と、この気圧センサ値と同一日時（又は当該気圧センサ値の日時に対応する日時）の基準気圧センサ値との差（つまり、当該気圧センサ値から当該基準気圧センサ値を減算した値）である。これにより、例えば、２秒毎の測定データ及び基準気圧データが測定データ記憶部２００及び基準気圧データ記憶部３００にそれぞれ記憶されており、データの欠損が無い場合、直近の過去１０分間の気圧センサ値及び基準気圧センサ値から３００個の差分気圧センサ値が得られる。
【００３９】
次に、姿勢推定部１０１は、上記のステップＳ２０２で算出された差分気圧センサ値の所定の時間毎（例えば１分毎）の中央値を示す第１の中央値を算出する（ステップＳ２０３）。例えば、上記のステップＳ２０２で直近の過去１０分間における２秒毎の差分気圧センサ値が算出された場合、１分間毎の第１の中央値が合計１０個算出される。なお、この第１の中央値は、例えば補助記憶装置等の記憶領域に記憶される。
【００４０】
次に、姿勢推定部１０１は、過去の所定の時間分（例えば、過去１２時間分）の第１の中央値を取得する（ステップＳ２０４）。例えば、１分間毎に第１の中央値が算出された場合、過去１２時間分の第１の中央値として、６０×１２＝７２０個の第１の中央値が取得される。
【００４１】
次に、姿勢推定部１０１は、直前の姿勢推定結果（つまり、例えば、過去２０分前から１０分前までの１０分間における姿勢推定結果）を取得する（ステップＳ２０５）。直前の姿勢推定結果は、例えば補助記憶装置等の記憶領域に記憶されている。なお、本ステップは、必ずしもステップＳ２０４の次に実行される必要はなく、少なくとも、後述するステップＳ２１８の前に実行されればよい。
【００４２】
次に、姿勢推定部１０１は、上記のステップＳ２０４で取得された第１の中央値の所定の時間毎（例えば１０分間毎）の中央値を示す第２の中央値を算出する（ステップＳ２０６）。例えば、上記のステップＳ２０４で取得された７２０個の第１の中央値の１０分間毎の中央値を算出する場合、７２個の第２の中央値が得られる。
【００４３】
次に、姿勢推定部１０１は、上記のステップＳ２０６で算出された第２の中央値の中から、該当の時間の間（つまり、例えば、直近の過去１０分間）における第２の中央値を取得する（ステップＳ２０７）。本ステップで取得された第２の中央値を「第２の中央値Ｍ」とする。
【００４４】
次に、姿勢推定部１０１は、上記のステップＳ２０４で取得された第２の中央値全体の中で、第２の中央値Ｍが上位ｂ１％以上であるか否かを判定する（ステップＳ２０８）。ここで、ｂ１は予め設定されたパラメータであり、０より大きい任意の値が設定される。一例として、ｂ１＝３５等とすることが考えられる。
【００４５】
上記のステップＳ２０８で第２の中央値Ｍが上位ｂ１％以上であると判定された場合、姿勢推定部１０１は、牛の姿勢を「横臥（注意）」と推定する（ステップＳ２０９）。これは、該当の時間の間（つまり、例えば、直近の過去１０分間）では相対的に差分気圧センサ値が高く、起立困難によって牛が横臥状態となっている可能性があると考えられるためである。
【００４６】
一方で、上記のステップＳ２０８で第２の中央値Ｍが上位ｂ１％以上であると判定されなかった場合、姿勢推定部１０１は、直近の所定の時間の間（例えば、直近の過去３０分間）の第２の中央値を取得する（ステップＳ２１０）。なお、直近の過去３０分間は一例であって、直近の過去２０分間や直近の過去４０分間等であってもよい。例えば、直近の過去３０分間の第２の中央値を取得する場合、直近の過去１０分間における第２の中央値Ｍ１（＝Ｍ）、直近の過去２０分前から１０分前までの１０分間における第２の中央値Ｍ２、直近の過去３０分前から２０分前までの１０分間における第２の中央値Ｍ３が取得される。
【００４７】
次に、姿勢推定部１０１は、上記のステップＳ２１０で取得された第２の中央値の全てが、上記のステップＳ２０４で取得された第２の中央値全体の下位ｂ２％未満であるか否かを判定する（ステップＳ２１１）。ここで、ｂ２は予め設定されたパラメータであり、０より大きい値が予め設定される。一例として、ｂ２＝２５等とすることが考えられる。
【００４８】
なお、ｂ１＜（１００−ｂ２）とすることが好ましい。これは、第２の中央値Ｍが上位ｂ１％以上と判定された場合は横臥（注意）と推定され、後述するように第１のスコア及び第２のスコアはリセットされない（図４のステップＳ１０２で「横臥（注意）」）のに対して、上記のステップＳ２１０で取得された第２の中央値の全てが下位ｂ２％未満と判定された場合には、後述するステップＳ２１２で起立と推定され、後述するように第１のスコア及び第２のスコアがリセットされる（図４のステップＳ１０３で「起立」）ためである。
【００４９】
上記ステップＳ２１１で、上記のステップＳ２１０で取得された第２の中央値の全てが第２の中央値全体の下位ｂ２％未満であると判定された場合、姿勢推定部１０１は、牛の姿勢を「起立」と推定する（ステップＳ２１２）。これは、該当の時間の間（つまり、例えば、直近の過去１０分間）では相対的に差分気圧センサ値が低く、牛が起立状態であると考えられるためである。
【００５０】
一方で、ステップＳ２１１で、上記のステップＳ２１０で取得された第２の中央値の全てが第２の中央値全体の下位ｂ２％未満であると判定されなかった場合、姿勢推定部１０１は、当該時間の間の直前の所定の時間の間（つまり、過去２０分前から１０分前までの１０分間）の第２の中央値（つまり、第２の中央値Ｍ２）を取得する（ステップＳ２１３）。
【００５１】
次に、姿勢推定部１０１は、ΔＭ＝Ｍ−Ｍ２＝Ｍ１−Ｍ２を算出する（ステップＳ２１４）。
【００５２】
次に、姿勢推定部１０１は、ΔＭ＜ｂ３であるか否かを判定する（ステップＳ２１５）。ここで、ｂ３は予め設定されたパラメータであり、任意の値が設定される。一例として、ｂ３＝−０．０３等とすることが考えられる。
【００５３】
上記のステップＳ２１５でΔＭ＜ｂ３であると判定された場合、姿勢推定部１０１は、ステップＳ２１２に進む。これにより、牛の姿勢が「起立」と推定される。この場合、例えば、過去２０分前から１０分前の１０分間の差分気圧センサ値よりも、過去１０分前から現在までの１０分間の差分気圧センサ値の方が相対的に低く、牛が起立状態になったと考えられるためである。
【００５４】
一方で、上記のステップＳ２１５でΔＭ＜ｂ３であると判定されなかった場合、姿勢推定部１０１は、ΔＭ＞ｂ４であるか否かを判定する（ステップＳ２１６）。ここで、ｂ４は予め設定されたパラメータであり、任意の値が設定される。一例として、ｂ４＝０．０２５等とすることが考えられる。
【００５５】
上記のステップＳ２１６でΔＭ＞ｂ４であると判定された場合、姿勢推定部１０１は、牛の姿勢を「横臥（通常）」と推定する（ステップＳ２１７）。これは、該当の時間の間（つまり、例えば、直近の過去１０分間）では、その１つ前の時間の間（つまり、例えば、過去２０分前から１０分前までの１０分間）よりも相対的に差分気圧センサ値が高く、牛が通常の行動として横臥状態になったと考えられるためである。
【００５６】
一方で、上記のステップＳ２１６でΔＭ＞ｂ４であると判定されなかった場合、姿勢推定部１０１は、直前の姿勢推定結果（つまり、上記のステップＳ２０５で取得された姿勢推定結果）を、今回の姿勢推定結果とする（ステップＳ２１８）。
【００５７】
図４に戻る。ステップＳ１０１に続いて、スコア算出部１０２は、上記のステップＳ１０１で推定された牛の姿勢が「横臥（通常）」、「横臥（注意）」、又は「起立」のいずれであるかを判定する（ステップＳ１０２）。
【００５８】
上記のステップＳ１０２で牛の姿勢が「起立」と判定された場合、スコア算出部１０２は、第１のスコアＳ１及び第２のスコアＳ２をそれぞれ０にリセットする（ステップＳ１０３）。なお、第１のスコアＳ１及び第２のスコアＳ２は、例えば補助記憶装置等の記憶領域に記憶されており、その値が保持されている。
【００５９】
上記のステップＳ１０２で牛の姿勢が「横臥（注意）」と判定された場合又はステップＳ１０３に続いて、スコア算出部１０２は、第１のスコアＳ１の加算と、第２のスコアＳ２の加算とを行う（ステップＳ１０４及びステップＳ１０５）。ステップＳ１０４における第１のスコアＳ１の加算を行う処理（第１のスコア加算処理）と、ステップＳ１０５における第２のスコアＳ２の加算を行う処理（第２のスコア加算処理）とについては後述する。なお、第１のスコア加算処理と第２のスコア加算処理とは並列に実行されてもよいし、第１のスコア加算処理が実行された後に第２のスコア加算処理が実行されてもよいし、第２のスコア加算処理が実行された後に第１のスコア加算処理が実行されてもよい。
【００６０】
一方で、上記のステップＳ１０２で牛の姿勢が「横臥（通常）」と判定された場合、特定処理部１００は、異常特定処理を終了する。すなわち、この場合、第１のスコアＳ１及び第２のスコアＳ２のリセットも加算（及び異常判定）も行われない。
【００６１】
ステップＳ１０４及びステップＳ１０５に続いて、スコア算出部１０２は、第１のスコアＳ１及び第２のスコアＳ２のうち、大きい方をスコアＳとする（ステップＳ１０６）。すなわち、スコア算出部１０２は、Ｓ＝ｍａｘ（Ｓ１，Ｓ２）とする。
【００６２】
次に、異常特定部１０３は、上記のステップＳ１０６で得られたスコアＳ（つまり、当該時間の間のスコアＳ）が、Ｓ＞ｔｈであるか否かを判定する（ステップＳ１０７）。ここで、ｔｈは予め設定された閾値（パラメータ）である。一例として、閾値ｔｈは、１５〜３５程度に設定することが考えられ、特に２５程度にすることが好ましい。なお、特定対象とする異常の種別に応じて、閾値ｔｈの値を異ならせてもよい。例えば、或る病気に罹患した牛で上限値を超えたり下限値を下回ったりする動作が継続的に発生するような場合には、閾値ｔｈの値を高めに設定する。一方で、別の或る病気に罹患した牛では突発的に大きな動作が発生するような場合、閾値ｔｈの値を低めに設定する等である。
【００６３】
上記のステップＳ１０７でＳ＞ｔｈであると判定されなかった場合、特定処理部１００は、異常特定処理を終了する。なお、この場合は該当の時間の間で牛に異常が特定されなかった場合である。
【００６４】
一方で、上記のステップＳ１０７でＳ＞ｔｈであると判定された場合、異常特定部１０３は、牛に異常が発生したと特定する（ステップＳ１０８）。これにより、牛に発生した異常（例えば、肥育後期に発生する起立困難、産前産後に発生する起立困難、鼓脹症による起立困難等）を特定することができる。なお、この場合、特定処理部１００は、例えば、牛に異常が発生したことをアラートとして所定の端末（例えば、酪農家のスマートフォン等）に通知してもよい。
【００６５】
ここで、上記のステップＳ１０４における第１のスコア加算処理について、図６を参照しながら説明する。図６は、本実施形態に係る第１のスコア加算処理の一例を示すフローチャートである。
【００６６】
まず、スコア算出部１０２は、該当の時間の間（つまり、例えば、直近の過去１０分間）の加速度センサ値を取得する（ステップＳ３０１）。すなわち、スコア算出部１０２は、当該時間の測定データを測定データ記憶部２００から取得した上で、これらの測定データから加速度センサ値を取得する。これにより、例えば、２秒毎の測定データが測定データ記憶部２００に記憶されており、データの欠損が無い場合、直近の過去１０分間の測定データから３００個の加速度センサ値が得られる。
【００６７】
次に、スコア算出部１０２は、当該時間の間（つまり、例えば、直近の過去１０分間）の加速度センサ値に対して所定の前処理を行う（ステップＳ３０２）。前処理としては、例えば、欠損補完（リサンプリング）処理やノイズ除去処理等が挙げられる。なお、欠損補完処理とは、データ（加速度センサ値）の精度を上げるため、データが取得できなかった場合の欠損を補完する処理である。また、ノイズ除去処理とは、牛の瞬間的な動作（例えば、瞬間的に身体を震わせる動作や瞬間的に大きく身体をびくつかせる動作等）を示すデータを除去する処理である。なお、本ステップの前処理は必ずしも行われなくてもよい。
【００６８】
次に、スコア算出部１０２は、上記のステップＳ３０２での前処理後の加速度センサ値のＬ２ノルムを算出する（ステップＳ３０３）。
【００６９】
次に、スコア算出部１０２は、所定の時間（例えば１分）単位で、Ｌ２ノルムの標準偏差を算出する（ステップＳ３０４）。例えば、１分単位でＬ２ノルムの標準偏差を算出する場合、スコア算出部１０２は、１分間に含まれる３０個のＬ２ノルムから１つの標準偏差が算出されるため、過去１０分間では合計１０個の標準偏差が得られる。なお、本ステップで算出された各標準偏差は、例えば補助記憶装置等の記憶領域に記憶される。
【００７０】
次に、スコア算出部１０２は、上記のステップＳ３０４で算出された標準偏差を用いて、該当の時間の間（例えば、直近の過去１０分間）のスコアｓ１を算出する（ステップＳ３０５）。スコアｓ１とは、当該時間の間に、標準偏差が所定の上限値を超えた後に所定の下限値を下回った回数と、標準偏差が所定の下限値を下回った後に所定の上限値を超えた回数との合計のことである。これらの上限値及び下限値は予め設定されたパラメータである。
【００７１】
なお、上限値及び下限値は、例えば、経験則に基づいて決定されるが、下限値としては牛が横臥している状態の間における加速度センサ値から算出される標準偏差よりも高い値とすることが好ましい。また、上限値としては牛が採食している状態（餌を食べている状態）の間における加速度センサ値から算出される標準偏差と同等又は同等以上の値とすることが好ましい。上限値は、例えば、牛が採食している状態（又は、採食時と同程度の動きをしている状態）の間における加速度センサ値を正解データとして、機械学習の手法によって学習することで決定された標準偏差が設定されてもよい。
【００７２】
また、上限値及び下限値は、牛毎に設定されてもよいし、全ての牛に対して共通に設定されてもよい。牛毎に設定することで、例えば、牛毎の行動の特徴を考慮した上限値及び下限値を設定することが可能となる。牛毎に設定する場合は、更に、牛の過去の動作データに基づいて上限値及び下限値が決定されてもよい。例えば、統計的に動きが多いと判断される牛には高めの上限値を設定する等である。言い換えれば、牛毎の特性に応じて、上限値及び下限値が設定されてもよい。
【００７３】
ここで、一例として、６：００から６：１０までの１０分間のスコアｓ１を算出する場合について、図７を参照しながら説明する。図７は、スコア算出の一例を説明するための図である。
【００７４】
図７に示すように、６：００から６：１０までの１０分間において、標準偏差が所定の上限値を超えた後に所定の下限値を下回った回数は２回（Ｑ１及びＱ３）であり、標準偏差が所定の下限値を下回った後に所定の上限値を超えた回数は１回（Ｑ２）である。このため、この１０分間のスコアｓ１は、ｓ１＝３となる。
【００７５】
次に、スコア算出部１０２は、上記のステップＳ３０５で算出されたスコアｓ１を第１のスコアＳ１に加算する（ステップＳ３０６）。これにより、当該時間の間（つまり、例えば、直近の過去１０分間）の第１のスコアＳ１が得られる。
【００７６】
次に、上記のステップＳ１０５における第２のスコア加算処理について、図８を参照しながら説明する。図８は、本実施形態に係る第２のスコア加算処理の一例を示すフローチャートである。
【００７７】
まず、スコア算出部１０２は、該当の時間の間（つまり、例えば、直近の過去１０分間）の加速度センサ値を取得する（ステップＳ４０１）。なお、本ステップでは、上記のステップＳ３０１で取得された測定データから加速度センサ値が取得されてもよい。
【００７８】
次に、スコア算出部１０２は、所定の時間毎（例えば１分毎）に、以下のｍｉｎ１とｍｉｎ２とｖａｌ１とｖａｌ２とを算出する（ステップＳ４０２）。なお、以降では、１分間毎のｍｉｎ１とｍｉｎ２とｖａｌ１とｖａｌ２とを算出するものとする。
【００７９】
ｍｉｎ１：（該当の１分間におけるｘ成分加速度センサ値の最大値）−（当該１分間におけるｘ成分加速度センサ値の最小値）
ｍｉｎ２：（該当の１分間におけるｚ成分加速度センサ値の最大値）−（当該１分間におけるｚ成分加速度センサ値の最小値）
ｖａｌ１：（（該当の１分間における最後のｘ成分加速度センサ値）−（当該１分間における最初のｘ成分加速度センサ値））の絶対値
ｖａｌ２：（（該当の１分間における最後のｚ成分加速度センサ値）−（当該１分間における最初のｚ成分加速度センサ値））の絶対値
これにより、例えば、上記のステップＳ４０１で直近の過去１０分間の加速度センサが得られた場合、１分毎のｍｉｎ１が１０個と、１分毎のｍｉｎ２が１０個と、１分毎のｖａｌ１が１０個と、１分毎のｖａｌ２が１０個とが得られる。
【００８０】
次に、スコア算出部１０２は、所定の時間毎（例えば１分毎）に、ＭＩＮ＝ｍａｘ（ｍｉｎ１，ｍｉｎ２）とする（ステップＳ４０３）。すなわち、スコア算出部１０２は、同一日時のｍｉｎ１及びｍｉｎ２のうち、大きい方を当該日時のＭＩＮとする。これにより、１分毎のＭＩＮが１０個得られる。
【００８１】
次に、スコア算出部１０２は、所定の時間毎（例えば１分毎）に、ＶＡＬ＝ｍａｘ（ｖａｌ１，ｖａｌ２）とする（ステップＳ４０４）。すなわち、スコア算出部１０２は、同一日時のｖａｌ１及びｖａｌ２のうち、大きい方を当該日時のＶＡＬとする。これにより、１分毎のＶＡＬが１０個得られる。
【００８２】
次に、スコア算出部１０２は、ＶＡＬ＞ａ１となるデータ数をスコアｓ３とする（ステップＳ４０５）。ここで、ａ１は予め設定されたパラメータであり、０より大きい任意の値が設定される。一例として、ａ１＝６００等とすることが考えられる。なお、上述したようにＶＡＬが１０個得られた場合、スコアｓ３は、０≦ｓ３≦１０である。
【００８３】
次に、スコア算出部１０２は、ＭＩＮの最小値＞ａ２であるか否かを判定する（ステップＳ４０６）。ここで、ａ２は予め設定されたパラメータであり、０より大きい任意の値が設定される。一例として、ａ２＝１５０等とすることが考えられる。
【００８４】
上記のステップＳ４０６でＭＩＮの最小値＞ａ２であると判定された場合、スコア算出部１０２は、ＶＡＬ＞ａ３となるデータ数をスコアｓ２とする（ステップＳ４０７）。ここで、ａ３は予め設定されたパラメータであり、０より大きい任意の値が設定される。一例として、ａ３＝１０００等とすることが考えられる。ただし、ａ３≧ａ１とすることが好ましい。なお、上述したようにＶＡＬが１０個得られた場合、スコアｓ２は、０≦ｓ２≦１０である。
【００８５】
一方で、上記のステップＳ４０６でＭＩＮの最小値＞ａ２であると判定されなかった場合、スコア算出部１０２は、スコアｓ２＝０とする（ステップＳ４０８）。
【００８６】
ステップＳ４０７又はステップＳ４０８に続いて、スコア算出部１０２は、スコアｓ２及びｓ３を、例えば補助記憶装置等の記憶領域に保存する（ステップＳ４０９）。このとき、スコア算出部１０２は、上記のステップＳ４０１で加速度センサ値が取得された時間幅（つまり、例えば１０分間の時間幅）と対応付けてスコアｓ２及びｓ３を保存する。
【００８７】
次に、スコア算出部１０２は、過去の所定の時間の間（例えば、過去１８０分間）のスコアｓ２及びｓ３を、例えば補助記憶装置等の記憶領域から取得する（ステップＳ４１０）。これより、例えば、１０分毎にスコアｓ２及びｓ３が算出された場合、過去１８０分間のスコアｓ２及びｓ３がそれぞれ１８個得られる。
【００８８】
次に、スコア算出部１０２は、各スコアｓ２の累計値である第１の累計値と、各スコアｓ３の累計値である第２の累計値とを算出する（ステップＳ４１１）。
【００８９】
次に、スコア算出部１０２は、スコアｓ４＝ｍａｘ（第２の累計値−ａ４，０）とする（ステップＳ４１２）。すなわち、スコア算出部１０２は、第２の累計値からａ４を減算した値と、０とのうち、大きい方をスコアｓ４とする。ここで、ａ４は予め設定されたパラメータであり、０より大きい任意の値が設定される。一例として、ａ４＝１５等とすることが考えられる。
【００９０】
次に、スコア算出部１０２は、第２のスコアＳ２＝ｍｉｎ（第１の累計値，ｓ４）とする（ステップＳ４１３）。すなわち、スコア算出部１０２は、第１の累計値及びｓ４のうち、大きい方を第２のスコアＳ２とする。これにより、当該時間の間（つまり、例えば、直近の過去１０分間）の第２のスコアＳ２が得られる。
【００９１】
＜効果＞
最後に、本実施形態の効果について説明する。本実施形態では、加速度センサ値のＬ２ノルムの標準偏差が上限値を超えたり後に下限値を下回ったり、下限値を下回った後に上限値を超えたりした回数を第１のスコアＳ１として算出する。すなわち、例えば、牛が瞬間的に大きな動作を行った場合等に、第１のスコアＳ１が加算される。
【００９２】
しかしながら、例えば、牛が継続的に強い動作を行っているような場合には、図９（ａ）に示すように、Ｌ２ノルムの標準偏差が高い状態のままとなり、下限値を下回らないことがある。このような場合には、第１のスコアＳ１が加算されずに、第１のスコアＳ１が上がらないことになる。
【００９３】
そこで、本実施形態では、図９（ｂ）に示すように、ｘ成分加速度センサ値及びｙ成分加速度センサ値の変化量が大きい場合に、第２のスコアＳ２を加算する。そして、第１のスコアＳ１及び第２のスコアＳ２の大きい方と、閾値とを比較することで、牛の異常を特定する。これにより、牛が瞬間的に強い動作（つまり、起立困難時に多く発生する瞬間的な大きな動作）を断続的に行っている場合を異常と特定することができると共に、牛が継続的に強い動作（例えば、起立困難によりもがいたり、暴れたりしている動作）を行っている場合も異常と特定することが可能となる。
【００９４】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【００９５】
１        特定システム
１０      特定装置
２０      タグ
３０      基準気圧センサ
１００    特定処理部
１０１    姿勢推定部
１０２    スコア算出部
１０３    異常特定部
【図１】
2020198829.tif 000003
【図２】
2020198829.tif 000004
【図３】
2020198829.tif 000005
【図４】
2020198829.tif 000006
【図５】
2020198829.tif 000007
【図６】
2020198829.tif 000008
【図７】
2020198829.tif 000009
【図８】
2020198829.tif 000010
【図９】
2020198829.tif 000011