(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022113244
(43)【公開日】2022-08-04
(54)【発明の名称】畜産牛体調判定装置、畜産牛体調判定方法、及び、畜産牛体調判定プログラム、並びに、機械学習装置
(51)【国際特許分類】
A01K 29/00 20060101AFI20220728BHJP
【FI】
A01K29/00 A
A01K29/00 D
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2021009330
(22)【出願日】2021-01-25
(71)【出願人】
【識別番号】590002389
【氏名又は名称】静岡県
(74)【代理人】
【識別番号】100214248
【弁理士】
【氏名又は名称】青山 純
(74)【代理人】
【識別番号】100214260
【弁理士】
【氏名又は名称】相羽 昌孝
(72)【発明者】
【氏名】瀬戸 隆弘
(72)【発明者】
【氏名】大村 学海
(57)【要約】
【課題】畜産牛の体調を低コストで、簡単かつ確実に判定することを可能とする畜産体調判定装置を提供する。
【解決手段】畜産牛体調判定装置1は、畜産牛に装着された行動量センサ3が計測した畜産牛の行動量を示す行動量データを取得するデータ取得部10と、行動量データに基づいて、畜産牛の体調を判定する判定部12とを備える。
【選択図】
図3
【特許請求の範囲】
【請求項1】
畜産牛に装着された行動量センサが計測した前記畜産牛の行動量を示す行動量データを取得するデータ取得部と、
前記行動量データに基づいて、前記畜産牛の体調を判定する判定部とを備える、
畜産牛体調判定装置。
【請求項2】
前記データ取得部は、
前記行動量データとして、前記行動量センサが所定の振動又は所定の変位を検出した回数又は検出値を所定の単位時間帯毎に積算した積算値を取得し、
前記判定部は、
前記単位時間帯毎の前記積算値に基づいて、前記体調を判定する、
請求項1に記載の畜産牛体調判定装置。
【請求項3】
前記判定部は、
所定の給餌予定時刻を含む期間であって当該期間に対して直前及び直後の前記期間と重複しない給餌期間において、前記給餌期間に含まれる前記単位時間帯毎の前記積算値に基づいて、前記体調を判定する、
請求項2に記載の畜産牛体調判定装置。
【請求項4】
前記判定部は、
所定の判定時刻に対して直前の第1の給餌予定時刻を含む前記給餌期間に含まれる複数の前記単位時間帯のうち、前記積算値が最大となる第1の最大ピーク時間帯と、前記第1の最大ピーク時間帯の直前又は直後の前記単位時間帯において前記積算値が大きい方の第1の次点ピーク時間帯とを特定し、前記第1の最大ピーク時間帯の前記積算値と、前記第1の次点ピーク時間帯の前記積算値とを加算することで、判定対象の第1の給餌行動量を算出し、
前記第1の給餌予定時刻に対して直前の第2の給餌予定時刻を含む前記給餌期間に含まれる複数の前記単位時間帯のうち、前記積算値が最大となる第2の最大ピーク時間帯と、前記第2の最大ピーク時間帯の直前又は直後の前記単位時間帯において前記積算値が大きい方の第2の次点ピーク時間帯とを特定し、前記第2の最大ピーク時間帯の前記積算値と、前記第2の次点ピーク時間帯の前記積算値とを加算することで、判定対象の第2の給餌行動量を算出し、
前記第2の給餌予定時刻以前の所定の日数分について前記第1の給餌行動量を日別に算出し、前記日別の前記第1の給餌行動量に基づいて第1の平均値及び第1の標準誤差を算出し、前記第1の平均値から所定の定数と前記第1の標準誤差との乗算値を減算することで、第1の基準ピークを算出し、
前記第2の給餌予定時刻以前の前記日数分について前記第2の給餌行動量を前記日別に算出し、前記日別の前記第2の給餌行動量に基づいて第2の平均値及び第2の標準誤差を算出し、前記第2の平均値から前記所定の定数と前記第2の標準誤差との乗算値を減算することで、第2の基準ピークを算出し、
前記判定対象の前記第1の給餌行動量が前記第1の基準ピークよりも小さく、かつ、前記判定対象の前記第2の給餌行動量が前記第2の基準ピークよりも小さい場合、前記体調が悪化していると判定する、
請求項3に記載の畜産牛体調判定装置。
【請求項5】
前記判定部は、
所定の判定期間以前の所定の日数分における前記単位時間帯毎の前記積算値を1日における時間帯別に集計することで、前記時間帯別の統計分布に基づいて所定の信頼区間の下限値を前記単位時間帯毎に算出し、
前記判定期間に含まれる複数の前記単位時間帯について、前記単位時間帯の前記積算値と、当該単位時間帯の前記下限値とを前記時間帯別に比較する比較処理を行い、
前記比較処理において前記積算値が前記下限値よりも小さい前記時間帯が所定の回数連続する場合、前記体調が悪化していると判定する、
請求項2に記載の畜産牛体調判定装置。
【請求項6】
前記判定部は、
所定の判定期間以前の所定の日数分について前記判定期間と同一の学習期間に含まれる前記単位時間帯毎の前記積算値を日別にそれぞれ含む複数の学習用データに基づいて前記学習期間に含まれる前記単位時間帯毎の前記積算値と前記体調との相関関係を機械学習させた学習モデルに、前記判定期間に含まれる前記単位時間帯毎の前記積算値を入力することにより、前記体調を判定する、
請求項2に記載の畜産牛体調判定装置。
【請求項7】
前記判定部は、
前記体調として、前記畜産牛の採食行動が低下しているか否かを判定する、
請求項1乃至請求項6のいずれか一項に記載の畜産牛体調判定装置。
【請求項8】
前記判定部は、
前記体調として、前記畜産牛が所定の疾病を発症しているか否かを判定する、
請求項1乃至請求項6のいずれか一項に記載の畜産牛体調判定装置。
【請求項9】
畜産牛に装着された行動量センサが計測した前記畜産牛の行動量を示す行動量データを取得するデータ取得工程と、
前記行動量データに基づいて、前記畜産牛の体調を判定する判定工程とを備える、
畜産牛体調判定方法。
【請求項10】
コンピュータを、請求項1乃至請求項8のいずれか一項に記載の畜産牛体調判定装置が備える各部として機能させる、
畜産牛体調判定プログラム。
【請求項11】
畜産牛に装着された行動量センサが計測した前記畜産牛の行動量を示す行動量データに基づいて前記畜産牛の体調を判定するための学習モデルを生成する機械学習装置であって、
前記行動量データとして、所定の振動又は所定の変位を検出した回数又は検出値を所定の単位時間帯毎に積算した前記単位時間帯毎の積算値を含むデータであって、所定の判定期間以前の所定の日数分について前記判定期間と同一の学習期間に含まれる前記単位時間帯毎の前記積算値を日別にそれぞれ含む複数の学習用データを記憶する学習用データ記憶部と、
複数の前記学習用データを前記学習モデルに入力することで、前記学習期間に含まれる前記単位時間帯毎の前記積算値と前記体調との相関関係を前記学習モデルに学習させる機械学習部と、
前記機械学習部により学習させた前記学習モデルを記憶する学習済みモデル記憶部と、を備える、
機械学習装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、畜産牛体調判定装置、畜産牛体調判定方法、及び、畜産牛体調判定プログラム、並びに、機械学習装置に関する。
【背景技術】
【0002】
近年、牛などの家畜の状態を管理するシステムが提供されつつある。特に、野外において牛の発熱や炎症等の早期発見のために、赤外線サーモグラフィや赤外線カメラを利用して各個体の牛の体表温度を測定することで、その体調を把握するというものがある。
【0003】
一般に、牛等の動物は、体の部位ごとに温度差が存在し、健康状態を正確に把握するためには、温度を測定すべき対象の各部位の温度を正確に決定することが求められる。しかし、カメラで撮影された赤外線画像からは牛等の輪郭やおおよその部位を特定することはできるが、カメラから被写体までの距離等の要因によって、温度の精度を向上させることには限界があった。
【0004】
そこで、例えば、特許文献1では、カメラにて可視光画像と赤外線画像を取得して、可視光画像から個体の部位を特定し、赤外線画像から可視光画像上で特定した部位ごとに温度を測定することで、温度の精度を向上させている。さらに、監視対象の全ての個体で測定した温度差について平均値や中央値の算出等の統計処理を行うことで、監視対象の複数の動物に共通してみられた温度変化の特徴を加味して、各個体の状態を診断する診断装置が開示されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に開示された診断装置は、可視光画像と赤外線画像を取得することで、各個体の温度を正確に検出することで、家畜の状態を正確に診断することを可能としている。
【0007】
しかしながら、特許文献1のように、全ての家畜を常に監視できるようにカメラを設置するためにはかなりのコストが発生する。また、分析を行うためには、可視光画像と赤外線画像を解析するための画像処理に加えて、各個体ごとの統計処理と全体の統計処理を行うためには、高性能なコンピュータが必要になり、比較的巨大なシステムになる。そのため、このようなシステムを導入することが可能な畜産家は限られていた。
【0008】
本発明は、上述した課題に鑑み、畜産牛の体調を低コストで、簡単かつ確実に判定することを可能とする畜産牛体調判定装置、畜産牛体調判定方法、及び、畜産牛体調判定プログラム、並びに、機械学習装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するために、本発明の一態様に係る畜産牛体調判定装置は、畜産牛に装着された行動量センサが計測した畜産牛の行動量を示す行動量データを取得するデータ取得部と、行動量データに基づいて、畜産牛の体調を判定する判定部と、を備える。
【発明の効果】
【0010】
本発明に係る畜産牛体調判定装置によれば、データ取得部が、畜産牛に装着された行動量センサが計測した畜産牛の行動量を示す行動量データを取得し、判定部が行動量データに基づいて、畜産牛の体調を判定する。これにより、畜産牛の行動量に応じて、体調を管理することができるので、畜産牛の体調の変化を低コストで、簡単かつ確実に判定することができる。
【0011】
上記以外の課題、構成及び効果は、後述する発明を実施するための形態にて明らかにされる。
【図面の簡単な説明】
【0012】
【
図1】第1の実施形態に係る畜産牛体調判定システム100の一例を示す全体構成図である。
【
図2】畜産牛体調判定装置1及び通知装置5を構成するコンピュータ200の一例を示すハードウエア構成図である。
【
図3】第1の実施形態に係る畜産牛体調判定システム100の一例を示す機能ブロック図である。
【
図4】第1の実施形態に係る行動量データの一例を示すデータ構成図である。
【
図5】畜産牛2の給餌時刻と行動量の変化を示す図である。
【
図6】畜産牛体調判定装置1の動作例を示すフローチャートである(その1)。
【
図7】畜産牛体調判定装置1の動作例を示すフローチャートである(その2)。
【
図8】行動量の変化と時間帯の関係を示すグラフである。
【
図9】第2の実施形態に係る畜産牛体調判定システム101の一例を示す全体構成図である。
【
図10】第2の実施形態に係る畜産牛体調判定装置1の動作例を示すフローチャートである。
【
図11】第2の実施形態に係る行動量データの一例を示すデータ構成図である。
【
図12】第2の実施形態に係る行動量の変化と時間帯の関係を示すグラフである。
【
図13】第3の実施形態に係る畜産牛体調判定システム102の一例を示す全体構成図である。
【
図14】第3の実施形態に係る行動量データの一例を示すデータ構成図である。
【発明を実施するための形態】
【0013】
以下、図面を参照して本発明を実施するための実施形態について説明する。以下では、本発明の目的を達成するための説明に必要な範囲を模式的に示し、本発明の該当部分の説明に必要な範囲を主に説明することとし、説明を省略する箇所については公知技術によるものとする。
【0014】
(実施形態1)
図1は、第1の実施形態に係る畜産牛体調判定システム100の一例を示す全体構成図である。
【0015】
畜産牛体調判定システム100において判定対象の畜産牛2には、行動量センサ3が装着される。行動量センサ3は、畜産牛2の行動(採食、反芻、横臥、歩行等)によって、生じる振動を検出することで、畜産牛2の行動量を示す行動量データを検出する。具体的には、行動量センサ3は、畜産牛2の頸部にベルトを用いて装着されるか、畜産牛2の腹部に防寒着のポケット等に収納された状態で装着される。
【0016】
畜産牛体調判定システム100は、上記のような行動量センサ3が検出した行動量データを解析することで飼育員に畜産牛2の体調の変化を通知するシステムとして機能する。
【0017】
畜産牛体調判定システム100は、その具体的な構成として、行動量データに関する情報を分析して畜産牛2の体調を判定する畜産牛体調判定装置1、1又は複数の行動量センサ3、及び、各畜産牛2の体調に関する情報を提供する通知装置5を備える。
【0018】
畜産牛体調判定装置1は、ネットワーク6を介して、行動量センサ3と通信可能に構成される。ネットワーク6は、任意の通信規格に従って無線通信によりデータを送受信する。
【0019】
一方、畜産牛体調判定装置1は、ネットワーク7を介して、通知装置5と通信可能に構成される。ネットワーク7は、任意の通信規格に従って有線通信又は無線通信、あるいは、有線通信と無線通信の組合せによりデータを送受信する。
【0020】
通知装置5は、畜産牛体調判定装置1から各畜産牛2の体調に関する通知をネットワーク7を介して受信し、飼育員に畜産牛2の体調を通知するために使用される。
【0021】
図2は、畜産牛体調判定装置1と、通知装置5とを構成するコンピュータ200の一例を示すハードウエア構成図である。
【0022】
畜産牛体調判定装置1、通知装置5のそれぞれは、汎用又は専用のコンピュータ200により構成される。コンピュータ200は、
図2に示すように、その主要な構成要素として、バス210、プロセッサ212、メモリ214、入力デバイス216、表示デバイス218、ストレージ装置220、通信I/F(インターフェース)部222、外部機器I/F部224、I/O(入出力)デバイスI/F部226、及び、メディア入出力部228を備える。なお、上記の構成要素は、コンピュータ200が使用される用途に応じて適宜省略されてもよい。
【0023】
プロセッサ212は、1つ又は複数の演算処理装置(CPU(Central Processing Unit)、MPU(Micro-processing unit)、DSP(digital signal processor)、GPU(Graphics Processing Unit)等)で構成され、コンピュータ200全体を統括する制御部として動作する。メモリ214は、各種のデータ及びプログラム230を記憶し、例えば、メインメモリとして機能する揮発性メモリ(DRAM(Dynamic
Random Access Memory)、SRAM(Static Random Access Memory)等)と、不揮発性メモリ(ROM(Read Only memory)、フラッシュメモリ等)とで構成される。
【0024】
入力デバイス216は、例えば、キーボード、マウス、テンキー、電子ペン等で構成される。出力デバイス217は、例えば、音(音声)出力装置、バイブレーション装置等で構成される。表示デバイス218は、例えば、液晶ディスプレイ、有機ELディスプレイ、電子ペーパー、プロジェクタ等で構成される。入力デバイス216及び表示デバイス218は、タッチパネルディスプレイのように、一体的に構成されていてもよい。ストレージ装置220は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)等で構成され、オペレーティングシステムやプログラム230の実行に必要な各種のデータを記憶する。
【0025】
通信I/F部222は、インターネットやイントラネット等のネットワーク240(
図1のネットワーク7と同じであってもよい)に有線又は無線により接続され、所定の通信規格に従って他のコンピュータとの間でデータの送受信を行う。外部機器I/F部224は、プリンタ、スキャナ等の外部機器250に有線又は無線により接続され、所定の通信
規格に従って外部機器250との間でデータの送受信を行う。I/OデバイスI/F部226は、各種のセンサ、アクチュエータ等のI/Oデバイス260に接続され、I/Oデバイス260との間で、例えば、センサによる検出信号やアクチュエータへの制御信号等の各種の信号やデータの送受信を行う。メディア入出力部228は、例えば、DVD(Digital Versatile Disc)ドライブ、CD(Compact Disc)ドライブ等のドライブ装置で構成され、DVD、CD等のメディア270に対してデータの読み書きを行う。
【0026】
上記構成を有するコンピュータ200において、プロセッサ212は、ストレージ装置220に記憶されたプログラム230をメモリ214に呼び出して実行し、バス210を介してコンピュータ200の各部を制御する。プログラム230は、インストール可能なファイル形式又は実行可能なファイル形式でCD、DVD等の非一時的な記録媒体に記録され、メディア入出力部228を介してコンピュータ200に提供されてもよい。プログラム230は、通信I/F部222を介してネットワーク240経由でダウンロードすることによりコンピュータ200に提供されてもよい。なお、プログラム230は、メモリ214上に予め記憶されていてもよい。また、コンピュータ200は、プロセッサ212がプログラム230を実行することで実現する各種の機能を、例えば、FPGA(field-programmable gate array)、ASIC(application specific integrated circuit)等のハードウエアで実現するものでもよい。
【0027】
コンピュータ200は、例えば、据置型コンピュータや携帯型コンピュータで構成され、任意の形態の電子機器である。コンピュータ200は、クライアント型コンピュータでもよいし、サーバ型コンピュータやクラウド型コンピュータでもよい。
【0028】
図3は、第1の実施形態に係る畜産牛体調判定装置1、行動量センサ3、及び、通知装置5の一例を示す機能ブロック図である。
【0029】
(行動量センサ3)
行動量センサ3は、
図3に示すように、センサ部30、積算処理部31、メモリ32、及び、通信部33を備え、これらがカバー(不図示)で覆われている。センサ部30は、複数の端子300と移動体301で構成され、カバー内に移動体301を囲むように複数の端子300が設けられる。移動体301は、例えば、略球状の形状に形成され、行動量センサ3の振動に伴い、カバー内を移動体301が移動することで移動体301を囲む端子300に接触する。なお、移動体301は、行動量センサ3の振動に伴って移動するような形状であればどのような形状でもよい。
【0030】
積算処理部31は、複数の端子300のいずれかが振動を検出した回数を所定の単位時間帯毎に積算した積算値をメモリ32に記憶する。具体的には、移動体301が端子300に接触した回数を振動の回数として取得する。また、メモリ32には、各畜産牛2を識別するための牛識別情報IDが記憶される。所定の単位時間帯は、1日における時間帯を、例えば、1時間単位で分けたものであり、1時間単位に代えて、15分単位、30分単位、2時間単位等で分けたものでもよい。
【0031】
通信部33は、無線通信機能を備え、メモリ32に記憶された牛識別情報IDと積算値とを行動量データとして、所定の間隔でネットワーク6を介して畜産牛体調判定装置1に送信する。
【0032】
なお、上記では、行動量センサ3の動きに伴う振動を検出する場合について説明したが、行動量センサ3の動きに伴って移動した移動体301の変位(移動量)を検出する構成
とし、変位の検出値を単位時間帯毎に積算した積算値を取得するようにしてもよい。
【0033】
あるいは、行動量センサ3として、加速度センサ、ジャイロスコープ、又は、デジタルモーションプロセッサーを用いて、これらのいずれかで検出した検出値を畜産牛2の行動量を示す行動量データとしてもよい。さらに、これらを組合せて用いることで、より詳細な畜産牛2の動きを示す行動量データを取得するようにしてもよい。
【0034】
(畜産牛体調判定装置1)
畜産牛体調判定装置1は、データ取得部10、行動量データ記憶部11、判定部12、及び、出力処理部13を備える。なお、データ取得部10、判定部12、及び、出力処理部13は、畜産牛体調判定方法において、データ取得工程、判定工程、及び、出力処理工程の主体として動作する。
【0035】
畜産牛体調判定装置1は、
図2に示すコンピュータ200で構成され、具体的には、サーバ型コンピュータやクラウド型コンピュータとして構成される。この場合、データ取得部10、行動量データ記憶部11、判定部12、及び、出力処理部13は、通信I/F部222、プロセッサ212、メモリ214、及び、ストレージ装置220とで構成される。
【0036】
データ取得部10は、畜産牛2に装着された行動量センサ3が計測した畜産牛2の行動量を示す行動量データを、各畜産牛2に装着された行動量センサ3の通信部33から所定の間隔で受信し、受信した行動量データを行動量データ記憶部11に随時記憶する。
【0037】
図4は、各畜産牛2別に収集されて、行動量データ記憶部11に記憶された行動量データの一例を示すデータ構成図である。各畜産牛2(1~m)に装着された行動量センサ3に対して牛識別情報IDとしてそれぞれにU1,U2,・・・、Umが割り当てられている場合は、牛識別情報ID(U1,U2,・・・、Um)に対応させて、行動量センサ3から受信した行動量データをData1,Data2,・・・DataMとして記憶する。行動量データのData1,Data2,・・・DataMには、行動量センサ3が積算値を検出した日付と、その日付の時間帯毎の各畜産牛2の行動量を表す積算値を記憶する。
【0038】
図4の例では、牛識別情報IDが「U1」の畜産牛2に対して、1日の時間帯を1時間単位で分けて、各時間帯0:00~1:00、1:00~2:00、2:00~3:00、・・・、23:00~0:00の積算値を記憶したデータ構成を示している。例えば、牛識別情報IDがU1の畜産牛2の積算値は、1月1日の0:00~1:00の時間帯は「111回」、1:00~2:00の時間帯は「222回」、2:00~3:00の時間帯は「333回」、・・・、23:00~0:00の時間帯は「88回」である。
【0039】
判定部12は、行動量データ記憶部11に、牛識別情報ID毎に記憶されている各畜産牛2の行動量データの単位時間帯毎の積算値に基づいて、各畜産牛2の体調を判定する。具体的には、判定部12は、給餌を行う予定の給餌予定時刻を含む期間を給餌期間とし、給餌期間に含まれる単位時間帯毎の積算値に基づいて体調を判定する。
【0040】
給餌は、1日に所定の回数行われ、各回の時刻が給餌予定時刻として予め決められている。しかし、飼育員の当日の作業スケジュールの進捗具合や天候等の様々な要因によって、実際の給餌は、給餌予定時刻通りに行われる場合だけでなく、給餌予定時刻よりも早かったり遅かったりする場合があり、給餌が行われる時刻にはバラツキが存在する。そこで、給餌期間は、給餌予定時刻の前後にそれぞれ適切な時間幅を持たせた期間を設定する。その際、各回の給餌予定時刻に対して給餌期間をそれぞれ設定することになるが、各回の
給餌期間が時間的に互いに重ならないように、各回の給餌期間は、各給餌期間の直前及び直後の給餌期間と重複しない期間を設定する。例えば、給餌予定時刻の前後に3時間を含めた期間を給餌期間とする。給餌予定時刻が、例えば9:00の場合には、給餌期間は6:00~12:00とし、給餌予定時刻が、例えば17:00の場合には、給餌期間は14:00~20:00とする。給餌期間は、給餌予定時刻の前後に適切は時間幅をもつものであればよい。なお、給餌の回数は、例えば、畜産牛2の月齢等に応じて異なり、1日2回に限らず、1日3回であっても、それ以上であってもよい。
【0041】
畜産牛2の採食行動時には、給餌場所に向かう移動と採食に伴う動きにより、行動量センサ3で検出される積算値が大きくなるが、畜産牛2の体調が悪化している場合には、畜産牛2の採食行動が低下することが多い。そこで、判定部12は、体調として、畜産牛2の採食行動が低下しているか否かを判定する。
【0042】
また、畜産牛2の採食行動が低下している場合には、所定の疾病を発症していることが多い。そこで、判定部12は、体調として、畜産牛2が所定の疾病を発症しているか否かを判定するようにしてもよい。なお、所定の疾病には、例えば、下痢等の消化器系の疾病が含まれるが、呼吸器系の疾病が含まれていてもよい。
【0043】
出力処理部13は、判定部12が畜産牛2の体調を判定したときの判定結果を通知装置5に出力する。通知装置5がディスプレイ等の表示部52を備えている場合には、表示部52に畜産牛2の体調の悪化の可能性を示す判定結果を表示させるための表示情報を出力処理部13から出力する。表示情報には、畜産牛2の牛識別情報IDと、体調の悪化の有無が含まれる。また、判定結果が畜産牛2の体調の悪化の可能性を示す場合には、体調が悪化したと判定した要因を表す表示情報を出力するようにしてもよい。あるいは、畜産牛2の行動量パターンから所定の疾病を発症している可能性があるときは、所定の疾病の可能性を示す判定結果を表示情報として出力してもよい。判定結果は、判定時刻の設定に従って、設定された判定時刻に判定された判定結果を通知装置5に送信する。あるいは、所定の時間間隔で判定を行い、畜産牛2の体調が悪化の可能性を示す判定結果が得られた時だけ通知装置5に送信するようにしてもよい。
【0044】
(通知装置5)
通知装置5は、判定結果受信部50、及び、通知部51を備える。
【0045】
通知装置5は、
図2に示すコンピュータ200で構成され、具体的には、クライアント型コンピュータや携帯型コンピュータとして構成される。この場合、判定結果受信部50は、通信I/F部222とプロセッサ212とで構成され、通知部51はプロセッサ212と表示デバイス218と、出力デバイス217とで構成される。特に、通知部51が表示デバイス218に表示を行うときは表示部52として機能する。
【0046】
判定結果受信部50は、畜産牛体調判定装置1が判定した畜産牛2の牛識別情報IDと体調の判定結果とを畜産牛体調判定装置1から受信する。また、判定結果には、判定結果には体調が悪化したと判定したときの要因を表す表示情報を含んでいてもよい。
【0047】
表示部52は、受信した畜産牛2の牛識別情報IDと畜産牛2の体調の判定結果とを、表示デバイス218に表示する。さらに、畜産牛2の体調が悪化したと判定した場合には、体調が悪化したと判定した要因を表す表示情報も表示デバイス218に表示する。あるいは、所定の疾病の可能性を示す判定結果を表示情報も表示デバイス218に表示するようにしてもよい。
【0048】
なお、通知情報を通知する通知部51は、表示部52を用いた表示による通知の代わり
に、通知部51が出力デバイス217を用いて、畜産牛2の体調が悪化したと判定された判定結果をユーザに通知するために音又は音声による通知、あるいは、通知装置5を振動させるバイブレーションによる通知を行うようにしてもよい。さらに、表示部52と通知部51を用いて、畜産牛2の体調が悪化したと判定された場合には、表示部52による体調が悪化した畜産牛2の識別情報の表示と、通知部51による音又は音声による通知やバイブレーションによる通知とを組み合わせた通知にしてもよい。畜産牛2の体調の悪化と判定した場合には、表示部52に判定結果に加えて体調が悪化したと判定した要因を表す表示情報の表示と、通知部51による音又は音声による通知やバイブレーションによる通知とを組み合わせた通知にしてもよい。
【0049】
(畜産牛体調判定方法)
図5は、畜産牛2の給餌時刻と行動量の変化を示す図である。
図5(a)は、畜産牛2の体調が正常な時の給餌時刻と行動量の変化を示し、
図5(b)及び(c)は、畜産牛2の体調に異常がある時の給餌時刻と行動量の変化を示す。
【0050】
図5に示すように、畜産牛2の行動量の分布と時間の関係は、給餌時刻の行動量がピークとなるような山なりの波形として表される。畜産牛2の体調に異常がある時の
図5(b)の行動量の分布は、
図5(a)の正常な時の行動量の分布に比べて、波形のピークが低い。あるいは、
図5(c)に示すように、畜産牛2の体調に異常がある時は、
図5(a)の正常時の行動量の分布に比べて、波形のピークは変わらなくとも行動量が増える時間幅が小さくなり、波形が細くなる。そのため、過去の行動量と比較して、判定時刻における行動量が少ない場合には、体調が悪化した可能性が高い。その際、畜産牛2の行動量は個体差が大きいので、行動量データ記憶部11に記憶されている各畜産牛2の過去の行動量データから、各畜産牛2毎の行動量の標準的なピークを推定することで、個体差による行動量の違いを吸収する。さらに、各畜産牛2の標準的なピークより低い値であって、標準的な範囲から外れていると考えられる値を各畜産牛2の基準ピークとして、給餌時刻付近に現れる各畜産牛2の行動量のピークと基準ピークとを比較することで判定時刻における各畜産牛2の体調を判定する。
【0051】
そこで、
図6から
図8を用いて、行動量センサ3が所定の周期で検出した行動量データから、牛の体調の悪化の有無を判定する処理の流れについて具体的に説明する。
図6及び
図7は、畜産牛体調判定装置1の動作例を示すフローチャートである。
図8は、行動量の変化と時間帯の関係を示すグラフである。
【0052】
第1の実施形態では、給餌を1日に2回行う場合について説明する。
図8は、給餌予定時刻を2回設定した時のグラフの一例である。縦軸が行動量を表し、横軸が時間を表している。縦軸の単位は単位時間帯当たりの積算値(count/hour)である。また、単位時間帯を1時間とし、給餌期間は、給餌予定時刻の前後にそれぞれ3時間を加えた期間として説明する。
図8の一番上のグラフは、畜産牛2の体調を判定する判定当日の行動量と時間の変化を表す。2番目のグラフは、判定日の1日前の行動量と時間の変化を表し、最後のグラフは、判定日のN日前の行動量と時間の変化を表す。
図8では、判定日の2日前から判定日のN-1日前のグラフは省略する。
【0053】
まず、畜産牛体調判定装置1の初期設定を行う。
図6に示すように、ステップS100において、畜産牛体調判定装置1は、第1及び第2の給餌予定時刻の指定を受付ける。
図8に示すように、第1の給餌予定時刻を、例えば17:00に設定し、第2の給餌予定時刻を、例えば9:00に設定する。給餌予定時刻の設定に従って、第1の給餌期間が14:00~20:00に設定され、第2の給餌期間は6:00~12:00に設定される。続いて、ステップS110において、畜産牛体調判定装置1は、判定時刻の指定を受付ける。
図8に示すように、判定時刻を、例えば21:00に設定する。
【0054】
判定部12は、ステップ120において、判定当日、例えば、1月15日の判定時刻の21:00になると、行動量データ記憶部11から、1月15日の0:00~21:00までの積算値を読み出す(
図4参照)。判定時刻の直前の第1の給餌予定時刻(17:00)を含む給餌期間(14:00~20:00)に含まれる複数の単位時間帯のうち、積算値が最大となる第1の最大ピーク時間帯と、第1の最大ピーク時間帯の直前又は直後の単位時間帯において積算値が大きい方の第1の次点ピーク時間帯とを特定する。
図8の当日の例では、第1の最大ピーク時間帯は18:00~19:00であり、第1の次点ピーク時間帯は17:00~18:00である。
【0055】
次に、判定部12は、ステップS121において、第1の最大ピーク時間帯の積算値と、第1の次点ピーク時間帯の積算値とを加算することで、判定対象の第1の給餌行動量P1を算出する。
図8の当日の例では、第1の最大ピーク時間帯の積算値111が、例えば「7112」であり、第1の次点ピーク時間帯の積算値112が、例えば「5812」であるとすると、第1の給餌行動量P1は、第1の最大ピーク時間帯の積算値111に第1の次点ピーク時間帯の積算値112を加えるので、「12924」になる。
【0056】
続いて、判定部12は、ステップS130において、第1の給餌予定時刻(17:00)に対して直前の判定当日の第2の給餌予定時刻(9:00)を含む給餌期間(6:00~12:00)に含まれる複数の単位時間帯のうち、積算値が最大となる第2の最大ピーク時間帯と、第2の最大ピーク時間帯の直前又は直後の単位時間帯において積算値が大きい方の第2の次点ピーク時間帯とを特定する。
図8の例では、第2の最大ピーク時間帯は9:00~10:00であり第2の次点ピーク時間帯は8:00~9:00である。
【0057】
次に、判定部12は、ステップS131において、第2の最大ピーク時間帯の積算値と、第2の次点ピーク時間帯の積算値とを加算することで、判定対象の第2の給餌行動量P2を算出する。
図8の当日の例では、第2の最大ピーク時間帯の積算値113は、例えば「7302」であり、第2の次点ピーク時間帯の積算値114は、例えば「6012」であるとすると、第2の給餌行動量P2は、第2の最大ピーク時間帯の積算値113に第2の次点ピーク時間帯の積算値114を加えるので、「13314」になる。
【0058】
さらに、第2の給餌予定時刻以前のN日分の積算値を読み出し、第1の給餌行動量P1と第2の給餌行動量P2に活動量を評価するための基準ピークの値を、N日分(例えば、7日分)の積算値から算出する。判定日が1月15日の場合、1月15日より前の1月8日~1月14日間の7日分の積算値を、行動量データ記憶部11から読み出して、1月15日の基準ピークの値を算出する。何日分の行動データから基準ピークの値を算出するのかは、例えば、畜産牛2の月齢に応じて適切な日数(N)を設定すればよい。
【0059】
まず、ステップS140において、第2の給餌予定時刻以前のN日数分について、第1の給餌予定時刻を含む給餌期間のうち第1の最大ピーク時間帯と、第1の次点ピーク時間帯とを日別に特定する。続いて、ステップS141において、第1の最大ピーク時間帯の積算値と、第1の次点ピーク時間帯の積算値とを日別に加算することで、日別の第1の給餌行動量P1(n)(nは何日前かを表す)を算出する。
【0060】
図8の例では、1日前の第1の最大ピーク時間帯は17:00~18:00であり、第1の次点ピーク時間は16:00~17:00であるので、第1の給餌行動量P1(1)=積算値111A+積算値112Aである。また、N日前の第1の最大ピーク時間帯は17:00~18:00であり、第1の次点ピーク時間は16:00~17:00であるので、第1の給餌行動量P1(N)=積算値111N+積算値112Nである。同様にして、2日前~N-1日前についても、第1の給餌行動量P1(2)~P1(N-1)を算出
する。
【0061】
次に、ステップS142において、日別の第1の給餌行動量P1(1)~P1(N)に基づいて、判定日より前のN日間の第1の給餌行動量の第1の平均値X1及び第1の標準誤差S1を算出する。ステップS143において、第1の平均値X1から所定の定数kと第1の標準誤差S1との乗算値を減算することで、式(1)の第1の基準ピークL1を算出する。所定の定数kは、例えば、2~4の範囲で予め定められており、各畜産牛2別に定められていてもよいし、畜産牛2の月齢に応じて可変であってもよい。
L1=X1-(k×S1) (1)
【0062】
続いて、
図7に進み、ステップS150において、第2の給餌予定時刻以前のN日数分について、第2の給餌予定時刻を含む給餌期間のうち第2の最大ピーク時間帯と、第2の次点ピーク時間帯とを日別に特定する。ステップS151において、第2の最大ピーク時間帯の積算値と、第2の次点ピーク時間帯の積算値とを日別に加算することで、日別の第2の給餌行動量P2(n)を算出する。
【0063】
図8の例では1日前の第2の最大ピーク時間帯は8:00~9:00であり、第2の次点ピーク時間は9:00~10:00であるので、第2の給餌行動量P2(1)=積算値113A+積算値114Aである。N日前の第2の最大ピーク時間帯は8:00~9:00であり、第2の次点ピーク時間は7:00~8:00であるので、第2の給餌行動量P2(N)=積算値113N+積算値114Nである。同様にして、2日前~N-1日前についても、第2の給餌行動量P2(2)~P2(N-1)を算出する。
【0064】
次に、ステップS152において、日別の第2の給餌行動量P2(1)~P2(N)に基づいて、判定日より前のN日間の第2の給餌行動量の第2の平均値X2及び第2の標準誤差S2を算出する。ステップS153において、第2の平均値X2から所定の定数kと第2の標準誤差S2との乗算値を減算することで、下式(2)の第2の基準ピークL2を算出する。
L2=X2-(k×S2) (2)
【0065】
さらに、ステップS160において、判定対象の第1の給餌行動量が前記第1の基準ピークL1よりも小さく、かつ、判定対象の第2の給餌行動量が第2の基準ピークL2よりも小さいかを判定する。つまり、下式の条件(3)を満たすかを判定する。
P1<L1 かつ P2<L2 (3)
【0066】
判定部12は、式(3)の条件を満たす場合には、体調が悪化していると判定する。体調の変化は、給餌時刻の1回の行動量だけでは、体調の悪化による行動量の低下であるのか、その他の要因によって行動量が低下していたのかの区別は困難であるため、2回連続して、行動量が基準ピークより小さいときに、体調が悪化した可能性が有ると判定する。
【0067】
ステップS160が肯定(Yes)された場合には、体調が悪化している可能性があるのでステップS161に進む。ステップS161において、判定結果が体調が悪化したことを示す表示情報を作成する。
【0068】
ステップS160が否定(No)された場合には、体調が良好であると判定されたのでステップS162に進む。ステップS162において、判定結果が体調が良好であることを示す表示情報を作成する。
【0069】
ステップS170において、出力処理部13は、判定部12が畜産牛2の体調を判定したときの判定結果を表示するための表示情報を牛識別情報IDと一緒に通知装置5に出力
する。また、上記のステップS100~S170までの処理は、全ての畜産牛2について行われ、各畜産牛2の体調の判定結果の表示情報と牛識別情報IDとを通知装置5に出力する。通知装置5は、判定結果受信部50で、判定結果と牛識別情報IDとを受信し、通知部51の表示部52で牛識別情報IDと判定結果とを表示する。
【0070】
上記では、一日のうちの2回の給餌時刻から、畜産牛2の体調を判定しているが、日を跨いだ2回の給餌時刻から判定してもよい。
【0071】
上記では、一日に1回判定を行う場合について説明したが、一日に2回以上、判定を行ってもよい。また、判定結果を送信するのは、体調が悪化した可能性が有ると判定された時だけ、体調が悪化した可能性が畜産牛2の牛識別情報IDを送るようにしてもよい。
【0072】
飼育員は、通知装置5で受信した判定結果を確認することで、牛識別情報IDから体調が悪化している可能性が有る畜産牛2を特定することができる。さらに、飼育員は、体調が悪化している可能性が有る畜産牛2を特定して、直接、畜産牛2の状態を確認することができるので、体調が悪化している畜産牛2を早期に発見することが可能になる。
【0073】
以上の通り、第1の実施形態に係る畜産牛体調判定装置1及び畜産牛体調判定システム100によれば、畜産牛2の行動量に応じて、体調を管理することができるので、畜産牛2の体調の変化を低コストで、簡単かつ確実に判定することができる。
【0074】
(実施形態2)
次に、第2の実施形態について説明する。
図9は、第2の実施形態に係る畜産牛体調判定システム101の一例を示す全体構成図である。第2の実施形態の畜産牛体調判定装置1は、判定部12aが、給餌期間だけでなく給餌期間以外にも計測された行動量データに基づいて畜産牛2の体調を判定する点で、第1の実施形態の畜産牛体調判定装置1と相違する。その他の畜産牛体調判定装置1、行動量センサ3、及び、通知装置5の構成及び動作は、第1の実施形態と同様であるため、同一符号を振って詳細な説明は省略する。
【0075】
判定部12aは、行動量データ記憶部11に、牛識別情報ID毎に記憶されている各畜産牛2の行動量データの単位時間帯毎の積算値に基づいて、各畜産牛2の体調を判定する。具体的には、判定部12aは、判定期間以前の所定の日数分における単位時間帯毎の積算値を一日における時間帯別に集計することで、時間帯別の統計分布に基づいて信頼区間の下限値を単位時間帯毎に算出する。そして、判定部12aは、判定期間に含まれる複数の単位時間帯について、単位時間帯の積算値と、単位時間帯の下限値とを時間帯別に比較する比較処理を行い、比較処理において積算値が前記下限値よりも小さい時間帯が所定の回数連続する場合、体調が悪化していると判定する。
【0076】
(畜産牛体調判定方法)
図10から
図12を用いて、行動量センサ3が所定の周期で検出した行動量データから、牛の体調の悪化の有無を判定する処理の流れについて具体的に説明する。
図10は、畜産牛体調判定装置1の動作例を示すフローチャートである。
図11は、各畜産牛2別に収集した行動量データの一例を示すデータ構成図である。
図11のデータ構成図は、
図4のデータ構成図と同様に、各畜産牛2別に、行動量センサ3が積算値を検出した日付と、その日付の時間帯毎の積算値を記憶する。
図12は、行動量の変化と時間帯の関係を示すグラフである。
図12は、縦軸が行動量を表し、横軸が時間を表している。縦軸の単位は単位時間帯当たりの積算値(count/hour)である。また、
図11及び
図12では、単位時間帯は1時間とする。
【0077】
図10に示すように、まず、ステップS200において、畜産牛体調判定装置1は、判
定期間の指定を受付ける。例えば、
図11に示すように、1月15日を判定期間として指定する。
【0078】
次に、ステップS210において、判定期間以前の所定の日数分、例えば14日分における単位時間帯毎 の積算値を時間帯別に集計する。
図11に示すように、破線で囲まれた枠毎に時間帯別の積算値を統計分析する。続いて、ステップS220において、時間帯別の統計分析に基づいて、所定の信頼区間の下限値を単位時間帯毎に算出する。
【0079】
まず、時間帯別の積算値の平均値を求める。
図12の実線のグラフが、時間帯別の積算値の平均値を示す。さらに、時間帯別の積算値の標準偏差を求め、時間帯別の90%の信頼区間の下限値を求める。
図12の例では、信頼区間の下限値がエラーバー(キャップ付き縦線)で示されている。ここでは、所定の信頼区間の下限値は、90%の信頼区間の下限値として説明するが、80%の信頼区間の下限値としてもよいし、95%の信頼区間の下限値としてもよい。
【0080】
さらに、ステップS230において、判定期間に含まれる複数の単位時間帯について、各単位時間帯の積算値と、その単位時間帯の下限値とを時間帯別に比較する比較処理を行う。
図12の破線のグラフが、判定期間に含まれる単位時間帯別の積算値を示す。例えば、7:00~9:00の時間帯では、判定期間の積算値が平均値を上回っているが、10:00~11:00の時間帯では、判定期間の積算値が平均値を下回っているが、90%の信頼区間内に入っている。しかし、11:00~15:00の時間帯では、90%の信頼区間の下限値より下回っている。行動量が90%の信頼区間の下限値より下回っている場合には、体調の悪化の可能性が有るが、1回の行動量だけでは、体調の悪化による行動量の低下であるのか、その他の要因によって行動量が低下していたのかの区別は困難である。
【0081】
そこで、ステップS240において、比較処理で、単位時間帯の積算値がその単位時間帯の90%の信頼区間の下限値よりも小さい時間帯が所定の回数連続するかについて判定する。例えば、
図12の11:00~14:00の時間帯のように、3回連続して、単位時間帯の積算値がその単位時間帯の90%の信頼区間の下限値よりも小さい場合には、体調が悪化した可能性があると判定して(Yes)、ステップS241に進む。なお、上記の判定に用いる回数は、必要に応じて適宜決定すればよい。ステップS241において、判定結果が体調が悪化したことを示す表示情報を作成する。3回連続しない場合には(No)、体調が良好であると判定されるのでステップS242に進む。ステップS242において、判定結果が体調が良好であることを示す表示情報を作成する。
【0082】
ステップS250において、出力処理部13は、判定部12が畜産牛2の体調を判定したときの判定結果を牛識別情報IDと一緒に通知装置5に出力する。また、上記のステップS200~S250までの処理は、全ての畜産牛2について行われ、各畜産牛2の体調の判定結果を表示するための表示情報と牛識別情報IDとを通知装置5に出力する。通知装置5は、判定結果受信部50で、判定結果と牛識別情報IDとを受信し、通知部51の表示部52で牛識別情報IDと判定結果とを表示する。
【0083】
以上の通り、第2の実施形態に係る畜産牛体調判定装置1及び畜産牛体調判定システム101によれば、第1の実施形態と同様に、畜産牛2の行動量に応じて、体調を管理することができるので、畜産牛2の体調の変化を低コストで、簡単かつ確実に判定することができる。
【0084】
(実施形態3)
次に、第3の実施形態について説明する。
図13は、第3の実施形態に係る畜産牛体調
判定システム102の一例を示す全体構成図である。第3の実施形態の畜産牛体調判定装置1は、判定部12bが、機械学習装置8により生成された学習モデル83を用いて畜産牛2の体調を判定する点で、第1の実施形態の畜産牛体調判定装置1と相違する。その他の畜産牛体調判定装置1、行動量センサ3、及び、通知装置5の構成及び動作は、第1の実施形態と同様であるため、同一符号を振って詳細な説明は省略する。
【0085】
図13に示すように、第3の実施形態の畜産牛体調判定装置1は、データ取得部10、判定部12b、及び、出力処理部13に加えて、機械学習装置8を備える。
【0086】
機械学習装置8には、学習用データ記憶部80、機械学習部81、及び、学習済みモデル記憶部82を備える。
【0087】
図14は、学習用データ記憶部80に記憶された学習用データセットの一例を示すデータ構成図である。学習用データ記憶部80は、データ取得部10が取得した行動量データを学習用データセットとして記憶する。具体的には、学習用データ記憶部80は、第1の実施形態の行動量データ記憶部11(
図4参照)と同様に、各畜産牛2別に、行動量センサ3が積算値を検出した日付と、その日付の時間帯毎の積算値を記憶する。
【0088】
学習用データセットは、所定の判定期間以前の所定の日数分(
図14の例では、1月1日~1月14日の14日分)について判定期間(
図14の例では、1月15日の24時間)と1日における同一の期間である学習期間(
図14の例では、1日のうち0時から翌日0時までの24時間)に含まれる単位時間帯毎の積算値を日別にそれぞれ含む複数の学習用データにより構成される。
【0089】
機械学習部81は、例えば、教師なし学習による異常検知モデルとして学習モデル83を生成するための機械学習を行う。具体的には、機械学習部81は、学習用データ記憶部80から複数の学習用データをそれぞれ読み出して学習モデル83に入力することで、学習期間に含まれる単位時間帯毎の積算値と畜産牛2の体調との相関関係を学習モデル83に学習させる。
【0090】
学習済みモデル記憶部82には、学習モデル83が記憶され、機械学習部81で学習モデル83に対して機械学習が行われた学習済みの学習モデル83のパラメータ(例えば、ニューラルネットワークモデルの重み等)が記憶される。
【0091】
学習モデル83は、例えば、ニューラルネットワークモデルで構成され、学習期間に含まれる時間帯の数に相当する24個のニューロンからなる入力層と、畜産牛2の体調を0~1の範囲の出力値(例えば、0は正常、1は異常)で出力する出力層と、入力層と出力層との間を接続する隠れ層とからなる。なお、学習モデル83は、ニューラルネットワークモデルで構成される場合に限られず、任意の機械学習アルゴリズムを実現するモデルで構成されてもよい。
【0092】
判定部12bは、所定の判定期間(
図14の例では、1月15日の24時間)に含まれる単位時間帯毎の積算値を学習モデル83に入力することにより、畜産牛2の体調を判定する。判定部12bは、例えば、単位時間帯毎の積算値を学習モデル83に入力することで学習モデル83から出力された出力値が所定の閾値以下の場合には、畜産牛2の体調は良好であると判定し、そうでない場合には、畜産牛2の体調が悪化していると判定する。
【0093】
以上の通り、第3の実施形態に係る畜産牛体調判定装置1及び畜産牛体調判定システム101によれば、第1の実施形態と同様に、畜産牛2の行動量に応じて、体調を管理することができるので、畜産牛2の体調の変化を低コストで、簡単かつ確実に判定することが
できる。そして、機械学習を用いることで、行動量データと体調との相関関係が自動的に抽出されるので、畜産牛2の個体差に依存することなく、判定精度を向上させることができる。
【0094】
(他の実施形態)
本発明は上述した実施形態に制約されるものではなく、本発明の主旨を逸脱しない範囲内で種々変更して実施することが可能である。そして、それらはすべて、本発明の技術思想に含まれるものである。
【0095】
(プログラム)
本発明は、
図2に示すコンピュータ200を、上記実施形態に係る畜産牛体調判定装置1が備える各部として機能させるプログラム(畜産牛体調判定プログラム)230の態様で提供することができる。
【符号の説明】
【0096】
1…畜産牛体調判定装置、2…畜産牛、3…行動量センサ、
4…管理装置、5…通知装置、6、7…ネットワーク、8…機械学習装置、
10…データ取得部、11…行動量データ記憶部、12、12a、12b…判定部、
30…センサ部、31…積算処理部、32…メモリ、33…通信部、
50…判定結果受信部、51…通知部、52…表示部、
80…学習用データ記憶部、81…機械学習部、82…学習済みモデル記憶部、
83…学習モデル、
100、101、102…畜産牛体調判定システム、
200…コンピュータ、210…バス、212…プロセッサ、214…メモリ、
216…入力デバイス、217…出力デバイス、218…表示デバイス、
220…ストレージ装置、222…通信I/F部、224…外部機器I/F部、
226…I/OデバイスI/F部、228…メディア入出力部、
230…プログラム、240…ネットワーク、250…外部機器、
260…I/Oデバイス、270…メディア、
300…端子、301…移動体