(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-30
(45)【発行日】2023-11-08
(54)【発明の名称】特定装置、特定方法及びプログラム
(51)【国際特許分類】
A01K 29/00 20060101AFI20231031BHJP
【FI】
A01K29/00 A
(21)【出願番号】P 2019108947
(22)【出願日】2019-06-11
【審査請求日】2022-06-10
(73)【特許権者】
【識別番号】000102717
【氏名又は名称】NTTテクノクロス株式会社
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】佐々木 克敏
(72)【発明者】
【氏名】畠中 将徳
【審査官】吉原 健太
(56)【参考文献】
【文献】国際公開第2016/171077(WO,A1)
【文献】特開2017-060407(JP,A)
【文献】特開2017-201930(JP,A)
【文献】特開2003-310077(JP,A)
【文献】特開2007-124966(JP,A)
【文献】米国特許出願公開第2008/0204255(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
A01K 11/00 - 29/00
A01K 33/00 - 37/00
A01K 41/00 - 59/06
A01K 67/00 - 67/04
G16Y 10/00 - 40/60
A61B 5/06 - 5/22
G01P 15/00 - 15/18
(57)【特許請求の範囲】
【請求項1】
家畜の異常を特定する特定装置であって、
前記家畜に装着された加速度センサ及び気圧センサがそれぞれ測定した加速度データ及び気圧データを記憶する記憶手段と、
所定の時間の間における1以上の加速度データ及び1以上の気圧データを前記記憶手段から取得する取得手段と、
前記1以上の気圧データに基づいて、前記家畜の姿勢を推定する推定手段と、
推定された前記家畜の姿勢に応じて、前記1以上の加速度データに基づいて、
前記家畜が瞬間的に大きな動作を行ったことをスコア化した第1のスコアと
、前記家畜が継続的に大きな動作を行ったことをスコア化した第2のスコアとを算出する算出手段と、
前記第1のスコア及び前記第2のスコアのうちの値が大きい方のスコアが、予め設定された所定の閾値を超えている場合、前記家畜に異常が発生したことを特定する特定手段と、
を有することを特徴とする特定装置。
【請求項2】
前記加速度データには、前記家畜の進行方向に対して右方向を正の方向とする第1の軸成分の加速度値と、前記家畜の進行方向を正の方向とする第2の軸成分の加速度値と、重力方向を正の方向とする第3の軸成分の加速度値とが含まれ、
前記算出手段は、
前記1以上の加速度データそれぞれの第1の軸成分の加速度値と第3の軸成分の加速度値とに基づいて、前記第2のスコアを算出する、ことを特徴とする請求項1に記載の特定装置。
【請求項3】
前記算出手段は、
前記1以上の加速度データそれぞれの大きさの標準偏差と、予め設定された上限値及び下限値との大小関係に基づいて、前記第1のスコアを算出する、ことを特徴とする請求項1又は2に記載の特定装置。
【請求項4】
前記推定手段は、
前記気圧データと、基準となる気圧センサが測定した基準気圧データとの差分を示す差分気圧データの所定の期間毎の中央値に基づいて、前記期間毎の中央値の相対的な変化により前記家畜の姿勢を推定する、ことを特徴とする請求項1乃至3の何れか一項に記載の特定装置。
【請求項5】
前記推定手段は、
前記家畜の姿勢として、前記家畜が立っている状態であることを示す起立と、前記家畜が通常の行動として横たわっている状態であることを示す第1の横臥と、前記家畜に前記異常が発生した結果横たわっている状態となっている可能性があることを示す第2の横臥とを少なくとも推定する、ことを特徴とする請求項1乃至4の何れか一項に記載の特定装置。
【請求項6】
前記算出手段は、
前記家畜の姿勢が起立と推定された場合、前記第1のスコア及び前記第2のスコアを0にリセットした後に、前記所定の時間の間の前記第1のスコア及び前記第2のスコアを算出し、
前記家畜の姿勢が第1の横臥と推定された場合、前記第1のスコア及び第2のスコアの算出は行わず、
前記家畜の姿勢が第2の横臥と推定された場合、前記第1のスコア及び第2のスコアをリセットせずに、前記第1のスコア及び前記第2のスコアを算出する、ことを特徴とする請求項5に記載の特定装置。
【請求項7】
家畜の異常を特定する特定装置が、
前記家畜に装着された加速度センサ及び気圧センサがそれぞれ測定した加速度データ及び気圧データを記憶手段に記憶させる記憶手順と、
所定の時間の間における1以上の加速度データ及び1以上の気圧データを前記記憶手段から取得する取得手順と、
前記1以上の気圧データに基づいて、前記家畜の姿勢を推定する推定手順と、
推定された前記家畜の姿勢に応じて、前記1以上の加速度データに基づいて、
前記家畜が瞬間的に大きな動作を行ったことをスコア化した第1のスコアと
、前記家畜が継続的に大きな動作を行ったことをスコア化した第2のスコアとを算出する算出手順と、
前記第1のスコア及び前記第2のスコアのうちの値が大きい方のスコアが、予め設定された所定の閾値を超えている場合、前記家畜に異常が発生したことを特定する特定手順と、
を実行することを特徴とする特定方法。
【請求項8】
コンピュータを、請求項1乃至6の何れか一項に記載の特定装置における各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、特定装置、特定方法及びプログラムに関する。
【背景技術】
【0002】
肥育牛では、肥育後期に起立困難等の異常が発生し易いことが知られている。起立困難を放置すると、窒息等により牛が死亡することがあるため、牛を肥育する肥育農家では、牛舎の見回り等を行って、起立困難等の異常が牛に発生していないかを確認している。
【0003】
また、繁殖牛でも産前産後に起立困難等の異常が発生し易いことが知られており、繁殖農家は、同様に、牛舎の見回り等を行って、起立困難等の異常が牛に発生していないかを確認している。
【0004】
更に、鼓脹症等の異常によって牛が起立困難となる場合もある。鼓脹症とは、牛等の反芻動物の家畜に起こり得る病気であり、例えば、青草等の発酵性飼料を過食した際等に発症する場合がある。鼓脹症が発症した場合、牛の腹部が膨脹するため、牛は起立困難となる。
【先行技術文献】
【特許文献】
【0005】
【文献】阿部 亮著、「農学基礎セミナー 家畜飼育の基礎」、新版、社団法人 農産漁村文化協会、2008 年 4 月, p.109, p.122-124.
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、例えば、飼養頭数が数百頭から数千頭にも及ぶ大規模な酪農場等では、牛舎の見回り等を行って、牛に異常(鼓脹症等を含む起立困難)が発生していないかを確認するのは困難である。
【0007】
本発明の実施の形態は、上記の点に鑑みてなされたもので、家畜の異常を特定することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するため、本発明の実施の形態は、家畜の異常を特定する特定装置であって、前記家畜に装着された加速度センサ及び気圧センサがそれぞれ測定した加速度データ及び気圧データを記憶する記憶手段と、所定の時間の間における1以上の加速度データ及び1以上の気圧データを前記記憶手段から取得する取得手段と、前記1以上の気圧データに基づいて、前記家畜の姿勢を推定する推定手段と、推定された前記家畜の姿勢に応じて、前記1以上の加速度データに基づいて、所定の第1のスコアと所定の第2のスコアとを算出する算出手段と、前記第1のスコア及び前記第2のスコアのうちの値が大きい方のスコアが、予め設定された所定の閾値を超えている場合、前記家畜に異常が発生したことを特定する特定手段と、を有することを特徴とする。
【発明の効果】
【0009】
家畜の異常を特定することができる。
【図面の簡単な説明】
【0010】
【
図1】本実施形態に係る特定システムの全体構成の一例を示す図である。
【
図2】測定データ記憶部に記憶されている測定データの一例を示す図である。
【
図3】本実施形態に係る特定処理部の機能構成の一例を示す図である。
【
図4】本実施形態に係る異常特定処理の一例を示すフローチャートである。
【
図5】本実施形態に係る姿勢推定処理の一例を示すフローチャートである。
【
図6】本実施形態に係る第1のスコア加算処理の一例を示すフローチャートである。
【
図7】スコア算出の一例を説明するための図である。
【
図8】本実施形態に係る第2のスコア加算処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、本発明の実施の形態(以降、「本実施形態」とも表す。)について、図面を参照しながら説明する。本実施形態では、家畜の一例として、牛の異常を特定する場合について説明する。ただし、家畜は牛に限られない。
【0012】
<全体構成>
まず、起立困難等の異常を特定する特定システム1の全体構成について、
図1を参照しながら説明する。
図1は、本実施形態に係る特定システム1の全体構成の一例を示す図である。
【0013】
図1に示すように、本実施形態に係る特定システム1には、牛の異常を特定する特定装置10と、牛に装着された1以上のタグ20と、基準となる気圧を測定する基準気圧センサ30とが含まれる。なお、タグ20は、ベルト等によって牛の首部分に固定して装着される(つまり、タグ20が固着又は内蔵等されたベルトを牛の首部分に巻付けて装着される)ことが好ましい。
【0014】
タグ20は、牛に装着される機器である。1頭の牛に対して1つのタグ20が装着されている。タグ20には、当該タグ20を装着している牛の加速度(x軸、y軸及びz軸の3軸の加速度)を測定する加速度センサと、気圧を測定する気圧センサとが含まれる。ここで、x軸、y軸及びz軸で構成される座標系はタグ20に固定されており、タグ20は、例えば、牛が起立し、かつ、首が曲がっていない(真っ直ぐの)状態で、当該牛の進行方向に対して右方向をx軸の正の方向、当該進行方向をy軸の正の方向、重力方向をz軸の正の方向となるように装着される。ただし、牛に対する各軸(x軸、y軸及びz軸)の方向はこれに限られず、少なくとも所定の1つの軸(例えばx軸)の方向が牛の進行方向に対して右方向又は左方向のいずれか(つまり、タグ20がベルトによって牛の首部分に固定して装着されている場合は所定の1つの軸が当該ベルトに対して平行)となっていればよく、座標系における各軸の相対的な位置関係は保ったままで各軸が任意の方向となるようにタグ20を牛に装着することが可能である。
【0015】
タグ20は、所定の時間毎(例えば2秒毎)に、加速度センサにより測定した加速度センサ値と、気圧センサにより測定された気圧センサ値とが含まれる測定データを特定装置10に送信する。特定装置10に送信された測定データは、後述する測定データ記憶部200に蓄積(記憶)される。
【0016】
基準気圧センサ30は、牛舎内の所定の位置(例えば、牛舎内の地面上等)に設置され、基準となる気圧を測定する。基準気圧センサ30は、所定の時間毎(例えば2秒毎)に、測定した気圧を示す基準気圧センサ値が含まれる基準気圧データを特定装置10に送信する。特定装置10に送信された基準気圧データは、後述する基準気圧データ記憶部300に蓄積(記憶)される。
【0017】
特定装置10は、牛の異常(例えば、肥育後期に発生する起立困難、産前産後に発生する起立困難、鼓脹症による起立困難等)を特定する1以上のコンピュータである。特定装置10は、特定処理部100と、測定データ記憶部200と、基準気圧データ記憶部300とを有する。
【0018】
特定処理部100は、測定データ記憶部200に記憶されている測定データと、基準気圧データ記憶部300に記憶されている基準気圧データとを用いて、牛の異常を特定する。特定処理部100は、特定装置10にインストールされた1以上のプログラムが、CPU(Central Processing Unit)等のプロセッサに実行させる処理により実現される。
【0019】
測定データ記憶部200は、タグ20から受信した測定データを記憶する。測定データ記憶部200は、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)等の記憶装置を用いて実現可能である。測定データ記憶部200には、所定の時間毎(例えば2秒毎)に、複数の測定データが記憶されている。なお、タグ20から受信した測定データは、例えば、特定処理部100により、測定データ記憶部200に記憶(蓄積)させればよい。
【0020】
基準気圧データ記憶部300は、基準気圧センサ30から受信した基準気圧データを記憶する。基準気圧データ記憶部300は、例えばHDDやSSD等の記憶装置を用いて実現可能である。基準気圧データ記憶部300には、所定の時間毎(例えば2秒毎)に、複数の基準気圧データが記憶されている。なお、基準気圧センサ30から受信した基準気圧データは、例えば、特定処理部100により、基準気圧データ記憶部300に記憶(蓄積)させればよい。
【0021】
なお、
図1に示す特定システム1の構成は一例であって、他の構成であってもよい。例えば、特定装置10は、複数台のコンピュータで構成されていてもよい。また、例えば、特定処理部100が有する機能の一部を、特定装置10と通信ネットワークを介して接続される装置(例えばクラウドサーバ等)が有していてもよい。また、例えば、測定データ記憶部200及び基準気圧データ記憶部300の少なくとも一方を、特定装置10と通信ネットワークを介して接続される記憶装置(例えば、DBサーバ等)が有していてもよい。
【0022】
<測定データ記憶部200に記憶されている測定データ>
次に、本実施形態に係る測定データ記憶部200に記憶されている測定データについて、
図2を参照しながら説明する。
図2は、測定データ記憶部200に記憶されている測定データの一例を示す図である。
【0023】
図2に示すように、測定データ記憶部200には、タグを識別する情報であるタグID毎に、1以上の測定データが記憶されている。なお、1頭の牛に対して1つのタグ20が装着されていることから、タグIDは、牛を識別する情報(例えば、牛の個体識別情報等)であってもよい。
【0024】
各測定データには、日時と、加速度センサ値と、気圧センサ値とが含まれる。日時は、例えば、タグ20が測定データを送信した日時である。なお、日時は、特定装置10が測定データを受信した日時であってもよい。
【0025】
加速度センサ値は、タグ20に含まれる加速度センサにより測定された加速度の値である。加速度センサ値には、x軸方向の加速度成分を示すx成分と、y軸方向の加速度成分を示すy成分と、z軸方向の加速度成分を示すz成分とが含まれる。例えば、日時「t1」の測定データには、加速度センサ値のx成分「x1」と、加速度センサ値のy成分「y1」と、加速度センサ値のz成分「z1」とが含まれる。同様に、例えば、日時「t2」の測定データには、加速度センサ値のx成分「x2」と、加速度センサ値のy成分「y2」と、加速度センサ値のz成分「z2」とが含まれる。なお、以降では、加速度センサ値のx成分を「x成分加速度センサ値」、加速度センサ値のy成分を「y成分加速度センサ値」、加速度センサ値のz成分を「z成分加速度センサ値」とも表す。
【0026】
また、気圧センサ値は、タグ20に含まれる気圧センサにより測定された気圧の値である。例えば、日時「t1」の測定データには、気圧センサ値「p1」が含まれる。同様に、例えば、日時「t2」の測定データには、気圧センサ値「p2」が含まれる。
【0027】
なお、例えば、各タグ20が2秒毎に測定データを特定装置10に送信する場合、Δt=ti+1-ti(iは1以上の整数)とすれば、Δt=2[秒]である。
【0028】
このように、測定データ記憶部200に記憶されている測定データには、タグID毎に、日時と、加速度センサ値と、気圧センサ値とが含まれている。
【0029】
<特定処理部100の機能構成>
次に、本実施形態に係る特定処理部100の機能構成について、
図3を参照しながら説明する。
図3は、本実施形態に係る特定処理部100の機能構成の一例を示す図である。
【0030】
図3に示すように、本実施形態に係る特定処理部100には、姿勢推定部101と、スコア算出部102と、異常特定部103とが含まれる。
【0031】
姿勢推定部101は、測定データに含まれる気圧センサ値と、基準気圧データに含まれる基準気圧センサ値とを用いて、牛の姿勢を推定する。ここで、牛の姿勢としては、例えば、「起立」、「横臥(通常)」及び「横臥(注意)」がある。「起立」とは、牛が立っている状態のことである。また、「横臥(通常)」とは、通常の横臥状態(つまり、起立困難でなく、牛が横たわっている状態)のことである。一方で、「横臥(注意)」とは、牛に異常が発生している可能性がある横臥状態(つまり、起立困難によって牛が横臥状態になっている可能性がある状態)のことである。
【0032】
スコア算出部102は、姿勢推定部101により推定された姿勢に応じて、測定データに含まれる加速度センサ値を用いて、牛の異常を特定するための所定の第1のスコアと所定の第2のスコアとを算出する。第1のスコアとは、牛が瞬間的に大きな動作を行ったことをスコア化した指標値である。一方で、第2のスコアとは、牛が継続的に大きな動作を行ったことをスコア化した指標値である。
【0033】
異常特定部103は、スコア算出部102により算出された第1のスコア又は第2のスコアを用いて、牛の異常を特定する。異常特定部103は、例えば、第1のスコア又は第2のスコアが所定の閾値を超えている場合に、牛に異常が発生したと特定する。
【0034】
<異常特定処理>
以降では、牛の異常の特定する処理(異常特定処理)について、
図4を参照しながら説明する。
図4は、本実施形態に係る異常特定処理の一例を示すフローチャートである。
図4に示す異常特定処理は、所定の時間毎(例えば10分毎)に繰り返し実行される。なお、以降では、或る牛(つまり、或るタグIDのタグ20が装着された牛)の異常を特定する場合について説明する。
【0035】
まず、姿勢推定部101は、所定の時間の間(例えば、直近の過去10分間)の牛の姿勢を推定する(ステップS101)。本ステップでは、牛の姿勢が「横臥(通常)」、「横臥(注意)」、又は「起立」のいずれかに推定される。また、この姿勢推定結果は、例えば補助記憶装置等の記憶領域に記憶される。
【0036】
ここで、上記のステップS101における牛の姿勢を推定する処理(姿勢推定処理)について、
図5を参照しながら説明する。
図5は、本実施形態に係る姿勢推定処理の一例を示すフローチャートである。
【0037】
姿勢推定部101は、該当の時間の間(例えば、直近の過去10分間)の気圧センサ値及び基準気圧センサ値を取得する(ステップS201)。すなわち、姿勢推定部101は、当該時間の間の測定データを測定データ記憶部200から取得した上で、これらの測定データから気圧センサ値を取得する。同様に、姿勢推定部101は、当該時間の間の基準気圧データを基準気圧データ記憶部300から取得した上で、これらの基準気圧データから基準気圧センサ値を取得する。
【0038】
次に、姿勢推定部101は、上記のステップS201で取得された気圧センサ値及び基準気圧センサ値を用いて、該当の時間の間における差分気圧センサ値を算出する(ステップS202)。差分気圧センサ値とは、気圧センサ値と、この気圧センサ値と同一日時(又は当該気圧センサ値の日時に対応する日時)の基準気圧センサ値との差(つまり、当該気圧センサ値から当該基準気圧センサ値を減算した値)である。これにより、例えば、2秒毎の測定データ及び基準気圧データが測定データ記憶部200及び基準気圧データ記憶部300にそれぞれ記憶されており、データの欠損が無い場合、直近の過去10分間の気圧センサ値及び基準気圧センサ値から300個の差分気圧センサ値が得られる。
【0039】
次に、姿勢推定部101は、上記のステップS202で算出された差分気圧センサ値の所定の時間毎(例えば1分毎)の中央値を示す第1の中央値を算出する(ステップS203)。例えば、上記のステップS202で直近の過去10分間における2秒毎の差分気圧センサ値が算出された場合、1分間毎の第1の中央値が合計10個算出される。なお、この第1の中央値は、例えば補助記憶装置等の記憶領域に記憶される。
【0040】
次に、姿勢推定部101は、過去の所定の時間分(例えば、過去12時間分)の第1の中央値を取得する(ステップS204)。例えば、1分間毎に第1の中央値が算出された場合、過去12時間分の第1の中央値として、60×12=720個の第1の中央値が取得される。
【0041】
次に、姿勢推定部101は、直前の姿勢推定結果(つまり、例えば、過去20分前から10分前までの10分間における姿勢推定結果)を取得する(ステップS205)。直前の姿勢推定結果は、例えば補助記憶装置等の記憶領域に記憶されている。なお、本ステップは、必ずしもステップS204の次に実行される必要はなく、少なくとも、後述するステップS218の前に実行されればよい。
【0042】
次に、姿勢推定部101は、上記のステップS204で取得された第1の中央値の所定の時間毎(例えば10分間毎)の中央値を示す第2の中央値を算出する(ステップS206)。例えば、上記のステップS204で取得された720個の第1の中央値の10分間毎の中央値を算出する場合、72個の第2の中央値が得られる。
【0043】
次に、姿勢推定部101は、上記のステップS206で算出された第2の中央値の中から、該当の時間の間(つまり、例えば、直近の過去10分間)における第2の中央値を取得する(ステップS207)。本ステップで取得された第2の中央値を「第2の中央値M」とする。
【0044】
次に、姿勢推定部101は、上記のステップS204で取得された第2の中央値全体の中で、第2の中央値Mが上位b1%以上であるか否かを判定する(ステップS208)。ここで、b1は予め設定されたパラメータであり、0より大きい任意の値が設定される。一例として、b1=35等とすることが考えられる。
【0045】
上記のステップS208で第2の中央値Mが上位b1%以上であると判定された場合、姿勢推定部101は、牛の姿勢を「横臥(注意)」と推定する(ステップS209)。これは、該当の時間の間(つまり、例えば、直近の過去10分間)では相対的に差分気圧センサ値が高く、起立困難によって牛が横臥状態となっている可能性があると考えられるためである。
【0046】
一方で、上記のステップS208で第2の中央値Mが上位b1%以上であると判定されなかった場合、姿勢推定部101は、直近の所定の時間の間(例えば、直近の過去30分間)の第2の中央値を取得する(ステップS210)。なお、直近の過去30分間は一例であって、直近の過去20分間や直近の過去40分間等であってもよい。例えば、直近の過去30分間の第2の中央値を取得する場合、直近の過去10分間における第2の中央値M1(=M)、直近の過去20分前から10分前までの10分間における第2の中央値M2、直近の過去30分前から20分前までの10分間における第2の中央値M3が取得される。
【0047】
次に、姿勢推定部101は、上記のステップS210で取得された第2の中央値の全てが、上記のステップS204で取得された第2の中央値全体の下位b2%未満であるか否かを判定する(ステップS211)。ここで、b2は予め設定されたパラメータであり、0より大きい値が予め設定される。一例として、b2=25等とすることが考えられる。
【0048】
なお、b
1<(100-b
2)とすることが好ましい。これは、第2の中央値Mが上位b
1%以上と判定された場合は横臥(注意)と推定され、後述するように第1のスコア及び第2のスコアはリセットされない(
図4のステップS102で「横臥(注意)」)のに対して、上記のステップS210で取得された第2の中央値の全てが下位b
2%未満と判定された場合には、後述するステップS212で起立と推定され、後述するように第1のスコア及び第2のスコアがリセットされる(
図4のステップS103で「起立」)ためである。
【0049】
上記ステップS211で、上記のステップS210で取得された第2の中央値の全てが第2の中央値全体の下位b2%未満であると判定された場合、姿勢推定部101は、牛の姿勢を「起立」と推定する(ステップS212)。これは、該当の時間の間(つまり、例えば、直近の過去10分間)では相対的に差分気圧センサ値が低く、牛が起立状態であると考えられるためである。
【0050】
一方で、ステップS211で、上記のステップS210で取得された第2の中央値の全てが第2の中央値全体の下位b2%未満であると判定されなかった場合、姿勢推定部101は、当該時間の間の直前の所定の時間の間(つまり、過去20分前から10分前までの10分間)の第2の中央値(つまり、第2の中央値M2)を取得する(ステップS213)。
【0051】
次に、姿勢推定部101は、ΔM=M-M2=M1-M2を算出する(ステップS214)。
【0052】
次に、姿勢推定部101は、ΔM<b3であるか否かを判定する(ステップS215)。ここで、b3は予め設定されたパラメータであり、任意の値が設定される。一例として、b3=-0.03等とすることが考えられる。
【0053】
上記のステップS215でΔM<b3であると判定された場合、姿勢推定部101は、ステップS212に進む。これにより、牛の姿勢が「起立」と推定される。この場合、例えば、過去20分前から10分前の10分間の差分気圧センサ値よりも、過去10分前から現在までの10分間の差分気圧センサ値の方が相対的に低く、牛が起立状態になったと考えられるためである。
【0054】
一方で、上記のステップS215でΔM<b3であると判定されなかった場合、姿勢推定部101は、ΔM>b4であるか否かを判定する(ステップS216)。ここで、b4は予め設定されたパラメータであり、任意の値が設定される。一例として、b4=0.025等とすることが考えられる。
【0055】
上記のステップS216でΔM>b4であると判定された場合、姿勢推定部101は、牛の姿勢を「横臥(通常)」と推定する(ステップS217)。これは、該当の時間の間(つまり、例えば、直近の過去10分間)では、その1つ前の時間の間(つまり、例えば、過去20分前から10分前までの10分間)よりも相対的に差分気圧センサ値が高く、牛が通常の行動として横臥状態になったと考えられるためである。
【0056】
一方で、上記のステップS216でΔM>b4であると判定されなかった場合、姿勢推定部101は、直前の姿勢推定結果(つまり、上記のステップS205で取得された姿勢推定結果)を、今回の姿勢推定結果とする(ステップS218)。
【0057】
図4に戻る。ステップS101に続いて、スコア算出部102は、上記のステップS101で推定された牛の姿勢が「横臥(通常)」、「横臥(注意)」、又は「起立」のいずれであるかを判定する(ステップS102)。
【0058】
上記のステップS102で牛の姿勢が「起立」と判定された場合、スコア算出部102は、第1のスコアS1及び第2のスコアS2をそれぞれ0にリセットする(ステップS103)。なお、第1のスコアS1及び第2のスコアS2は、例えば補助記憶装置等の記憶領域に記憶されており、その値が保持されている。
【0059】
上記のステップS102で牛の姿勢が「横臥(注意)」と判定された場合又はステップS103に続いて、スコア算出部102は、第1のスコアS1の加算と、第2のスコアS2の加算とを行う(ステップS104及びステップS105)。ステップS104における第1のスコアS1の加算を行う処理(第1のスコア加算処理)と、ステップS105における第2のスコアS2の加算を行う処理(第2のスコア加算処理)とについては後述する。なお、第1のスコア加算処理と第2のスコア加算処理とは並列に実行されてもよいし、第1のスコア加算処理が実行された後に第2のスコア加算処理が実行されてもよいし、第2のスコア加算処理が実行された後に第1のスコア加算処理が実行されてもよい。
【0060】
一方で、上記のステップS102で牛の姿勢が「横臥(通常)」と判定された場合、特定処理部100は、異常特定処理を終了する。すなわち、この場合、第1のスコアS1及び第2のスコアS2のリセットも加算(及び異常判定)も行われない。
【0061】
ステップS104及びステップS105に続いて、スコア算出部102は、第1のスコアS1及び第2のスコアS2のうち、大きい方をスコアSとする(ステップS106)。すなわち、スコア算出部102は、S=max(S1,S2)とする。
【0062】
次に、異常特定部103は、上記のステップS106で得られたスコアS(つまり、当該時間の間のスコアS)が、S>thであるか否かを判定する(ステップS107)。ここで、thは予め設定された閾値(パラメータ)である。一例として、閾値thは、15~35程度に設定することが考えられ、特に25程度にすることが好ましい。なお、特定対象とする異常の種別に応じて、閾値thの値を異ならせてもよい。例えば、或る病気に罹患した牛で上限値を超えたり下限値を下回ったりする動作が継続的に発生するような場合には、閾値thの値を高めに設定する。一方で、別の或る病気に罹患した牛では突発的に大きな動作が発生するような場合、閾値thの値を低めに設定する等である。
【0063】
上記のステップS107でS>thであると判定されなかった場合、特定処理部100は、異常特定処理を終了する。なお、この場合は該当の時間の間で牛に異常が特定されなかった場合である。
【0064】
一方で、上記のステップS107でS>thであると判定された場合、異常特定部103は、牛に異常が発生したと特定する(ステップS108)。これにより、牛に発生した異常(例えば、肥育後期に発生する起立困難、産前産後に発生する起立困難、鼓脹症による起立困難等)を特定することができる。なお、この場合、特定処理部100は、例えば、牛に異常が発生したことをアラートとして所定の端末(例えば、酪農家のスマートフォン等)に通知してもよい。
【0065】
ここで、上記のステップS104における第1のスコア加算処理について、
図6を参照しながら説明する。
図6は、本実施形態に係る第1のスコア加算処理の一例を示すフローチャートである。
【0066】
まず、スコア算出部102は、該当の時間の間(つまり、例えば、直近の過去10分間)の加速度センサ値を取得する(ステップS301)。すなわち、スコア算出部102は、当該時間の測定データを測定データ記憶部200から取得した上で、これらの測定データから加速度センサ値を取得する。これにより、例えば、2秒毎の測定データが測定データ記憶部200に記憶されており、データの欠損が無い場合、直近の過去10分間の測定データから300個の加速度センサ値が得られる。
【0067】
次に、スコア算出部102は、当該時間の間(つまり、例えば、直近の過去10分間)の加速度センサ値に対して所定の前処理を行う(ステップS302)。前処理としては、例えば、欠損補完(リサンプリング)処理やノイズ除去処理等が挙げられる。なお、欠損補完処理とは、データ(加速度センサ値)の精度を上げるため、データが取得できなかった場合の欠損を補完する処理である。また、ノイズ除去処理とは、牛の瞬間的な動作(例えば、瞬間的に身体を震わせる動作や瞬間的に大きく身体をびくつかせる動作等)を示すデータを除去する処理である。なお、本ステップの前処理は必ずしも行われなくてもよい。
【0068】
次に、スコア算出部102は、上記のステップS302での前処理後の加速度センサ値のL2ノルムを算出する(ステップS303)。
【0069】
次に、スコア算出部102は、所定の時間(例えば1分)単位で、L2ノルムの標準偏差を算出する(ステップS304)。例えば、1分単位でL2ノルムの標準偏差を算出する場合、スコア算出部102は、1分間に含まれる30個のL2ノルムから1つの標準偏差が算出されるため、過去10分間では合計10個の標準偏差が得られる。なお、本ステップで算出された各標準偏差は、例えば補助記憶装置等の記憶領域に記憶される。
【0070】
次に、スコア算出部102は、上記のステップS304で算出された標準偏差を用いて、該当の時間の間(例えば、直近の過去10分間)のスコアs1を算出する(ステップS305)。スコアs1とは、当該時間の間に、標準偏差が所定の上限値を超えた後に所定の下限値を下回った回数と、標準偏差が所定の下限値を下回った後に所定の上限値を超えた回数との合計のことである。これらの上限値及び下限値は予め設定されたパラメータである。
【0071】
なお、上限値及び下限値は、例えば、経験則に基づいて決定されるが、下限値としては牛が横臥している状態の間における加速度センサ値から算出される標準偏差よりも高い値とすることが好ましい。また、上限値としては牛が採食している状態(餌を食べている状態)の間における加速度センサ値から算出される標準偏差と同等又は同等以上の値とすることが好ましい。上限値は、例えば、牛が採食している状態(又は、採食時と同程度の動きをしている状態)の間における加速度センサ値を正解データとして、機械学習の手法によって学習することで決定された標準偏差が設定されてもよい。
【0072】
また、上限値及び下限値は、牛毎に設定されてもよいし、全ての牛に対して共通に設定されてもよい。牛毎に設定することで、例えば、牛毎の行動の特徴を考慮した上限値及び下限値を設定することが可能となる。牛毎に設定する場合は、更に、牛の過去の動作データに基づいて上限値及び下限値が決定されてもよい。例えば、統計的に動きが多いと判断される牛には高めの上限値を設定する等である。言い換えれば、牛毎の特性に応じて、上限値及び下限値が設定されてもよい。
【0073】
ここで、一例として、6:00から6:10までの10分間のスコアs
1を算出する場合について、
図7を参照しながら説明する。
図7は、スコア算出の一例を説明するための図である。
【0074】
図7に示すように、6:00から6:10までの10分間において、標準偏差が所定の上限値を超えた後に所定の下限値を下回った回数は2回(Q
1及びQ
3)であり、標準偏差が所定の下限値を下回った後に所定の上限値を超えた回数は1回(Q
2)である。このため、この10分間のスコアs
1は、s
1=3となる。
【0075】
次に、スコア算出部102は、上記のステップS305で算出されたスコアs1を第1のスコアS1に加算する(ステップS306)。これにより、当該時間の間(つまり、例えば、直近の過去10分間)の第1のスコアS1が得られる。
【0076】
次に、上記のステップS105における第2のスコア加算処理について、
図8を参照しながら説明する。
図8は、本実施形態に係る第2のスコア加算処理の一例を示すフローチャートである。
【0077】
まず、スコア算出部102は、該当の時間の間(つまり、例えば、直近の過去10分間)の加速度センサ値を取得する(ステップS401)。なお、本ステップでは、上記のステップS301で取得された測定データから加速度センサ値が取得されてもよい。
【0078】
次に、スコア算出部102は、所定の時間毎(例えば1分毎)に、以下のmin1とmin2とval1とval2とを算出する(ステップS402)。なお、以降では、1分間毎のmin1とmin2とval1とval2とを算出するものとする。
【0079】
min1:(該当の1分間におけるx成分加速度センサ値の最大値)-(当該1分間におけるx成分加速度センサ値の最小値)
min2:(該当の1分間におけるz成分加速度センサ値の最大値)-(当該1分間におけるz成分加速度センサ値の最小値)
val1:((該当の1分間における最後のx成分加速度センサ値)-(当該1分間における最初のx成分加速度センサ値))の絶対値
val2:((該当の1分間における最後のz成分加速度センサ値)-(当該1分間における最初のz成分加速度センサ値))の絶対値
これにより、例えば、上記のステップS401で直近の過去10分間の加速度センサが得られた場合、1分毎のmin1が10個と、1分毎のmin2が10個と、1分毎のval1が10個と、1分毎のval2が10個とが得られる。
【0080】
次に、スコア算出部102は、所定の時間毎(例えば1分毎)に、MIN=max(min1,min2)とする(ステップS403)。すなわち、スコア算出部102は、同一日時のmin1及びmin2のうち、大きい方を当該日時のMINとする。これにより、1分毎のMINが10個得られる。
【0081】
次に、スコア算出部102は、所定の時間毎(例えば1分毎)に、VAL=max(val1,val2)とする(ステップS404)。すなわち、スコア算出部102は、同一日時のval1及びval2のうち、大きい方を当該日時のVALとする。これにより、1分毎のVALが10個得られる。
【0082】
次に、スコア算出部102は、VAL>a1となるデータ数をスコアs3とする(ステップS405)。ここで、a1は予め設定されたパラメータであり、0より大きい任意の値が設定される。一例として、a1=600等とすることが考えられる。なお、上述したようにVALが10個得られた場合、スコアs3は、0≦s3≦10である。
【0083】
次に、スコア算出部102は、MINの最小値>a2であるか否かを判定する(ステップS406)。ここで、a2は予め設定されたパラメータであり、0より大きい任意の値が設定される。一例として、a2=150等とすることが考えられる。
【0084】
上記のステップS406でMINの最小値>a2であると判定された場合、スコア算出部102は、VAL>a3となるデータ数をスコアs2とする(ステップS407)。ここで、a3は予め設定されたパラメータであり、0より大きい任意の値が設定される。一例として、a3=1000等とすることが考えられる。ただし、a3≧a1とすることが好ましい。なお、上述したようにVALが10個得られた場合、スコアs2は、0≦s2≦10である。
【0085】
一方で、上記のステップS406でMINの最小値>a2であると判定されなかった場合、スコア算出部102は、スコアs2=0とする(ステップS408)。
【0086】
ステップS407又はステップS408に続いて、スコア算出部102は、スコアs2及びs3を、例えば補助記憶装置等の記憶領域に保存する(ステップS409)。このとき、スコア算出部102は、上記のステップS401で加速度センサ値が取得された時間幅(つまり、例えば10分間の時間幅)と対応付けてスコアs2及びs3を保存する。
【0087】
次に、スコア算出部102は、過去の所定の時間の間(例えば、過去180分間)のスコアs2及びs3を、例えば補助記憶装置等の記憶領域から取得する(ステップS410)。これより、例えば、10分毎にスコアs2及びs3が算出された場合、過去180分間のスコアs2及びs3がそれぞれ18個得られる。
【0088】
次に、スコア算出部102は、各スコアs2の累計値である第1の累計値と、各スコアs3の累計値である第2の累計値とを算出する(ステップS411)。
【0089】
次に、スコア算出部102は、スコアs4=max(第2の累計値-a4,0)とする(ステップS412)。すなわち、スコア算出部102は、第2の累計値からa4を減算した値と、0とのうち、大きい方をスコアs4とする。ここで、a4は予め設定されたパラメータであり、0より大きい任意の値が設定される。一例として、a4=15等とすることが考えられる。
【0090】
次に、スコア算出部102は、第2のスコアS2=min(第1の累計値,s4)とする(ステップS413)。すなわち、スコア算出部102は、第1の累計値及びs4のうち、大きい方を第2のスコアS2とする。これにより、当該時間の間(つまり、例えば、直近の過去10分間)の第2のスコアS2が得られる。
【0091】
<効果>
最後に、本実施形態の効果について説明する。本実施形態では、加速度センサ値のL2ノルムの標準偏差が上限値を超えたり後に下限値を下回ったり、下限値を下回った後に上限値を超えたりした回数を第1のスコアS1として算出する。すなわち、例えば、牛が瞬間的に大きな動作を行った場合等に、第1のスコアS1が加算される。
【0092】
しかしながら、例えば、牛が継続的に強い動作を行っているような場合には、
図9(a)に示すように、L2ノルムの標準偏差が高い状態のままとなり、下限値を下回らないことがある。このような場合には、第1のスコアS
1が加算されずに、第1のスコアS
1が上がらないことになる。
【0093】
そこで、本実施形態では、
図9(b)に示すように、x成分加速度センサ値及びy成分加速度センサ値の変化量が大きい場合に、第2のスコアS
2を加算する。そして、第1のスコアS
1及び第2のスコアS
2の大きい方と、閾値とを比較することで、牛の異常を特定する。これにより、牛が瞬間的に強い動作(つまり、起立困難時に多く発生する瞬間的な大きな動作)を断続的に行っている場合を異常と特定することができると共に、牛が継続的に強い動作(例えば、起立困難によりもがいたり、暴れたりしている動作)を行っている場合も異常と特定することが可能となる。
【0094】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【0095】
1 特定システム
10 特定装置
20 タグ
30 基準気圧センサ
100 特定処理部
101 姿勢推定部
102 スコア算出部
103 異常特定部