(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022110224
(43)【公開日】2022-07-29
(54)【発明の名称】豚飼育支援装置、豚飼育支援方法、および豚飼育支援プログラム
(51)【国際特許分類】
A01K 29/00 20060101AFI20220722BHJP
G06N 20/00 20190101ALI20220722BHJP
【FI】
A01K29/00
G06N20/00 130
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2021005488
(22)【出願日】2021-01-18
(71)【出願人】
【識別番号】000229519
【氏名又は名称】日本ハム株式会社
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】伊澤 翔
(72)【発明者】
【氏名】森下 直樹
(72)【発明者】
【氏名】助川 慎
(72)【発明者】
【氏名】内田 大介
(72)【発明者】
【氏名】奥田 雅貴
(57)【要約】
【課題】ペン内で集団飼育されている豚の中に発育が遅れている豚が存在するかを、過度なコストや労力を要することなく適時に飼育員に知らせることのできる豚飼育支援装置を提供する。
【解決手段】豚飼育支援装置のひとつは、ペンに向けて設置されたカメラによって撮像された画像を用いて飼育されている豚の臀部幅を検知し、当該臀部幅が一定期間の間に検知された臀部幅の統計値に対して閾値以上の偏差を示す場合に、飼育員等へ向けて通知を発出する。また、別の豚飼育支援装置は、ペンに向けて設置されたカメラによって撮像された画像を用いて飼育されている豚の最広となる腹部幅と最狭となる腹部幅の比率である広狭比を検知し、当該広狭比が一定期間の間に検知された広狭比の統計値に対して閾値以上の偏差を示す場合に、飼育員等へ向けて通知を発出する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
豚が集団飼育されているペンに向けて設置されたカメラによって撮像された画像の画像データを取得する取得部と、
前記画像データの画像から前記豚の臀部を抽出し、抽出された臀部画像に基づいて前記豚の臀部幅を検知する検知部と、
設定された期間の間に前記検知部によって検知された前記臀部幅の統計値を算出する算出部と、
前記統計値に対して閾値以上の偏差を示す前記臀部幅が前記検知部によって検知された場合に通知を発出する通知部と
を備える豚飼育支援装置。
【請求項2】
前記検知部は、尾部が現れている豚が写った教師画像によって学習された学習モデルを用いて前記臀部を抽出する請求項1に記載の豚飼育支援装置。
【請求項3】
豚が集団飼育されているペンに向けて設置されたカメラによって撮像された画像の画像データを取得する取得部と、
前記画像データの画像から前記豚の腹部を抽出し、抽出された腹部画像に基づいて最広となる腹部幅と最狭となる腹部幅の比率である広狭比を検知する検知部と、
設定された期間の間に前記検知部によって検知された前記広狭比の統計値を算出する算出部と、
前記統計値に対して閾値以上の偏差を示す前記広狭比が前記検知部によって検知された場合に通知を発出する通知部と
を備える豚飼育支援装置。
【請求項4】
前記検知部は、四本足で立っている豚が写った教師画像によって学習された学習モデルを用いて前記腹部を抽出する請求項3に記載の豚飼育支援装置。
【請求項5】
前記通知部は、前記ペンが複数設けられている場合には、検知されたペンに関するペン情報を併せて通知する請求項1から4のいずれか1項に記載の豚飼育支援装置。
【請求項6】
豚が集団飼育されているペンに向けて設置されたカメラによって撮像された画像の画像データを取得する取得ステップと、
前記画像データの画像から前記豚の臀部を抽出し、抽出された臀部画像に基づいて前記豚の臀部幅を検知する検知ステップと、
設定された期間の間に前記検知ステップによって検知された前記臀部幅の統計値を算出する算出部と、
前記統計値に対して閾値以上の偏差を示す前記臀部幅が前記検知ステップで検知された場合に通知を発出する通知ステップと
を有する豚飼育支援方法。
【請求項7】
豚が集団飼育されているペンに向けて設置されたカメラによって撮像された画像の画像データを取得する取得ステップと、
前記画像データの画像から前記豚の腹部を抽出し、抽出された腹部画像に基づいて最広となる腹部幅と最狭となる腹部幅の比率である広狭比を検知する検知ステップと、
設定された期間の間に前記検知ステップによって検知された前記広狭比の統計値を算出する算出部と、
前記統計値に対して閾値以上の偏差を示す前記広狭比が前記検知ステップで検知された場合に通知を発出する通知ステップと
を有する豚飼育支援方法。
【請求項8】
豚が集団飼育されているペンに向けて設置されたカメラによって撮像された画像の画像データを取得する取得ステップと、
前記画像データの画像から前記豚の臀部を抽出し、抽出された臀部画像に基づいて前記豚の臀部幅を検知する検知ステップと、
設定された期間の間に前記検知ステップによって検知された前記臀部幅の統計値を算出する算出部と、
前記統計値に対して閾値以上の偏差を示す前記臀部幅が前記検知ステップで検知された場合に通知を発出する通知ステップと
をコンピュータに実行させる豚飼育支援プログラム。
【請求項9】
豚が集団飼育されているペンに向けて設置されたカメラによって撮像された画像の画像データを取得する取得ステップと、
前記画像データの画像から前記豚の腹部を抽出し、抽出された腹部画像に基づいて最広となる腹部幅と最狭となる腹部幅の比率である広狭比を検知する検知ステップと、
設定された期間の間に前記検知ステップによって検知された前記広狭比の統計値を算出する算出部と、
前記統計値に対して閾値以上の偏差を示す前記広狭比が前記検知ステップで検知された場合に通知を発出する通知ステップと
をコンピュータに実行させる豚飼育支援プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、豚飼育支援装置、豚飼育支援方法、および豚飼育支援プログラムに関する。
【背景技術】
【0002】
家畜の体表面にスリット状のパターン光を照射し、その輝線の形状を分析することにより当該家畜の体重を推定する手法が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
豚を飼育する場合には、一般的にペンと呼ばれる檻や区切られた区画において集団飼育する手法が採用されることが多い。ペンに収容されて同一環境下で集団飼育されても、個々の豚には発育のばらつきが発生する場合がある。同一ペン内の豚は均等に発育することが望ましいが、発育が遅れた豚については、全体的に体躯の小さい別の飼育集団へ編入するといった処置が取られる。しかし、1つのペンに例えば10頭程度が収容され、そのようなペンが複数設けられた養豚場においては、発育の遅れた豚を見つけ出す作業が飼育員にとって大きな負担となっていた。また、一頭一頭に正確にパターン光を照射してそれぞれの体重を推定することも現実的には難しい。
【0005】
本発明は、このような問題を解決するためになされたものであり、ペン内で集団飼育されている豚の中に発育が遅れている豚が存在するかを、過度なコストや労力を要することなく適時に飼育員に知らせることのできる豚飼育支援装置等を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の第1の態様における豚飼育支援装置は、豚が集団飼育されているペンに向けて設置されたカメラによって撮像された画像の画像データを取得する取得部と、画像データの画像から豚の臀部を抽出し、抽出された臀部画像に基づいて豚の臀部幅を検知する検知部と、設定された期間の間に検知部によって検知された臀部幅の統計値を算出する算出部と、統計値に対して閾値以上の偏差を示す臀部幅が検知部によって検知された場合に通知を発出する通知部とを備える。
【0007】
本発明の第2の態様における豚飼育支援装置は、豚が集団飼育されているペンに向けて設置されたカメラによって撮像された画像の画像データを取得する取得部と、画像データの画像から豚の腹部を抽出し、抽出された腹部画像に基づいて最広となる腹部幅と最狭となる腹部幅の比率である広狭比を検知する検知部と、設定された期間の間に検知部によって検知された広狭比の統計値を算出する算出部と、統計値に対して閾値以上の偏差を示す広狭比が検知部によって検知された場合に通知を発出する通知部とを備える。
【0008】
本発明の第3の態様における豚飼育支援方法は、豚が集団飼育されているペンに向けて設置されたカメラによって撮像された画像の画像データを取得する取得ステップと、画像データの画像から豚の臀部を抽出し、抽出された臀部画像に基づいて豚の臀部幅を検知する検知ステップと、設定された期間の間に検知ステップによって検知された臀部幅の統計値を算出する算出部と、統計値に対して閾値以上の偏差を示す臀部幅が検知ステップで検知された場合に通知を発出する通知ステップとを有する。
【0009】
本発明の第4の態様における豚飼育支援方法は、豚が集団飼育されているペンに向けて設置されたカメラによって撮像された画像の画像データを取得する取得ステップと、画像データの画像から豚の腹部を抽出し、抽出された腹部画像に基づいて最広となる腹部幅と最狭となる腹部幅の比率である広狭比を検知する検知ステップと、設定された期間の間に検知ステップによって検知された広狭比の統計値を算出する算出部と、統計値に対して閾値以上の偏差を示す広狭比が検知ステップで検知された場合に通知を発出する通知ステップとを有する。
【0010】
本発明の第5の態様における豚飼育支援プログラムは、豚が集団飼育されているペンに向けて設置されたカメラによって撮像された画像の画像データを取得する取得ステップと、画像データの画像から豚の臀部を抽出し、抽出された臀部画像に基づいて豚の臀部幅を検知する検知ステップと、設定された期間の間に検知ステップによって検知された臀部幅の統計値を算出する算出部と、統計値に対して閾値以上の偏差を示す臀部幅が検知ステップで検知された場合に通知を発出する通知ステップとをコンピュータに実行させる。
【0011】
本発明の第6の態様における豚飼育支援プログラムは、豚が集団飼育されているペンに向けて設置されたカメラによって撮像された画像の画像データを取得する取得ステップと、画像データの画像から豚の腹部を抽出し、抽出された腹部画像に基づいて最広となる腹部幅と最狭となる腹部幅の比率である広狭比を検知する検知ステップと、設定された期間の間に検知ステップによって検知された広狭比の統計値を算出する算出部と、統計値に対して閾値以上の偏差を示す広狭比が検知ステップで検知された場合に通知を発出する通知ステップとをコンピュータに実行させる。
【発明の効果】
【0012】
本発明により、ペン内で集団飼育されている豚の中に発育が遅れている豚が存在するかを、過度なコストや労力を要することなく適時に飼育員に知らせることのできる豚飼育支援装置等を提供することができる。
【図面の簡単な説明】
【0013】
【
図1】本実施形態の第1実施例に係る豚飼育支援装置を採用した養豚環境の全体像を示す図である。
【
図2】豚飼育支援装置と周辺装置のハードウェア構成を示す図である。
【
図3】撮像画像から豚の臀部を抽出して臀部画像が生成されるまでの処理の概念を説明する図である。
【
図4】臀部幅を計測する処理の概念を説明する図である。
【
図5】演算部の処理手順を説明するフロー図である。
【
図6】本実施形態の第2実施例に係る豚飼育支援装置を採用した養豚環境の全体像を示す図である。
【
図7】ステレオカメラを利用した場合の臀部画像の生成手法を説明する図である。
【
図8】本実施形態の第3実施例に係る豚飼育支援装置を採用した養豚環境の全体像を示す図である。
【
図9】豚飼育支援装置と周辺装置のハードウェア構成を示す図である。
【
図10】正常豚と痩身豚の腹部広狭比の違いを説明する図である。
【
図11】学習モデルを用いた腹部広狭比の検知手順を説明する図である。
【
図12】演算部の処理手順を説明するフロー図である。
【発明を実施するための形態】
【0014】
以下、発明の実施の形態を通じて本発明を説明するが、特許請求の範囲に係る発明を以下の実施形態に限定するものではない。また、実施形態で説明する構成の全てが課題を解決するための手段として必須であるとは限らない。
【0015】
図1は、本実施形態の第1実施例に係る豚飼育支援装置を採用した養豚環境の全体像を示す図である。養豚場は、壁や柵によって区分された複数のペン301を備える。それぞれのペン301には複数(例えば10頭程度)の豚302が収容され、集団で飼育されている。なお、それぞれのペン301で飼育される豚302の頭数は、豚302の品種や飼育環境等に応じて調整され得る。それぞれのペン301での飼育開始時点において収容される豚302は同程度の体格であり、出荷可能な大きさに成長するまで集団で飼育される。すなわち、ペン301への収容およびペン301からの退出は、原則として豚302の集団に対して一斉に実施される。
【0016】
カメラユニット210は、ペン301内の所定位置を俯瞰して撮像できるように、例えば天井から吊り下げられて設置されている。カメラユニット210は、例えば給餌容器303に頭部を没入して採餌する豚302を背後から俯瞰する画角Frの範囲を撮像するように設置されている。このように設置されたカメラユニット210によれば、採餌中の豚302の臀部が正対する画像を取得できる。
【0017】
カメラユニット210は、給餌容器303付近を所定位置とする場合に限らず、ペン301内を動き回る豚302の臀部を正対した状態で撮像することが期待できるのであれば、そのような場所を所定位置として設置して良い。例えば、給水容器304付近を所定位置としても良い。給餌場や給水場は、収容されている豚302が入れ替わり立ち替わり訪れる場所であるので、ランダムに多くの豚302の臀部画像を取得するのに都合が良い。
【0018】
カメラユニット210は、撮像した画像を画像データに変換し、ネットワーク200を介してサーバ100へ送信する。具体的には、施設内に設置された無線ユニット230がネットワーク200と接続されており、カメラユニット210は、無線ユニット230と無線通信を確立することにより、画像データをサーバ100へ送信することができる。なお、カメラユニット210とサーバ100を接続するネットワーク200は、インターネットやイントラネットを用いてもよいし、サーバ100が設置される管理施設が養豚場内に設けられるような場合には、近距離無線通信を採用してもよい。
【0019】
豚302を世話する飼育員は、飼育員端末220を所持し得る。飼育員端末220は、例えば、タブレット端末やスマートフォンであり、無線ユニット230およびネットワーク200を介してサーバ100との間で各種情報の授受を行うことができる。飼育員は、例えば飼育記録を飼育員端末220へ入力してサーバ100へ転送することもできるし、サーバ100に蓄積された飼育記録を呼び出すこともできる。また、飼育員端末220は、後述する通知を受け取った場合には、その旨を表示する。
【0020】
管理施設には、豚飼育支援装置としてのサーバ100が設置されている。サーバ100は、ネットワーク200と接続されている。サーバ100は、ペン301ごとに設置されているカメラユニット210から順次画像データを取得して、当該画像データに基づいて豚302の発育遅れの豚を検知する。サーバ100は、管理者や飼育員の要求に応じて検知状況や後述する統計値を表示モニタ150へ表示することができる。表示モニタ150は、例えば液晶パネルを備えるモニタである。また、サーバ100は、管理者や飼育員の操作を受け付ける入力デバイス160と接続される。入力デバイス160は、キーボード、マウス、表示モニタ150の表示面に重畳されたタッチパネル等によって構成される。
【0021】
さて、ペンにおける豚の集団飼育においては、他の豚との競争や体調不良等により十分に餌を採取できない豚が生じることがある。このような豚は、他の豚に比べて発育が遅れることになる。より具体的には、体重が増加するペースが他の豚に比べて遅く、一定期間を経過すると体躯の差となって顕れる。このような発育遅れの豚は、他の豚と共に出荷することができない。そのため、発育遅れの豚は、飼育期間を延長すべく同程度の体躯である日齢の浅い別の飼育集団が収容されたペンへ編入されたり、個別のゲージで特別な処置を受けたりする。
【0022】
しかし、集団飼育されているペンが豚舎内に複数設置されているような比較的規模の大きな養豚においては、飼育員が多数の豚を定常的に観察して発育遅れの豚を見つけ出すことは、飼育員の多大な労力や熟練を要する作業であった。本実施形態における豚飼育支援装置は、ペン301内に発育遅れの豚が存在するかを検知して飼育員へ知らせることにより飼育作業を支援する。
【0023】
図1に示すように養豚場に複数のペン301が存在する場合には、飼育員は、どのペン301に発育遅れの豚が含まれるかの情報を豚飼育支援装置から知らされるだけでも、多くの労力を削減することができる。すなわち、飼育員は、ペンを観察する作業の頻度を下げることができ、通知を受けた場合にはその特定ペンを対象として発育遅れの豚の探索を行えばよい。経験の浅い飼育員であっても、一つのペン内の限られた頭数に対して発育遅れの豚を探し出すことは比較的容易である。
【0024】
本願発明者は、ペンに収容された豚の成長度合をより簡便に評価する手法の研究を重ねた結果、豚の臀部の幅である臀部幅と当該豚の体重には強い相関があることを見出した。豚のいずれかの体部の大きさと体重の間には一般的にはある程度の相関があるものとされるが、臀部幅と体重の間の相関性は、個体間のばらつきが少なく、他の部位と体重の間の相関性よりも特に強いことがわかった。また、豚の臀部を観察対象とすれば、その位置や皮膚形状から、正確かつ簡易に画像による解析を行うことができることもわかった。そこで、本実施例においては、ペン内をランダムに動き回る豚の臀部を観察し、その臀部幅を検知することによって、飼育集団の中で発育遅れの豚が存在するか否かを判断する。
【0025】
図2は、豚飼育支援装置としてのサーバ100と周辺装置のハードウェア構成を示す図である。サーバ100は、上述のように、表示モニタ150、入力デバイス160、カメラユニット210、飼育員端末220と接続可能である。
【0026】
サーバ100は、主に、演算部110、記憶部120、通信ユニット130によって構成される。演算部110は、サーバ100の制御とプログラムの実行処理を行うプロセッサ(CPU:Central Processing Unit)である。プロセッサは、ASIC(Application Specific Integrated Circuit)やGPU(Graphics Processing Unit)等の演算処理チップと連携する構成であってもよい。演算部110は、記憶部120に記憶された豚飼育支援プログラムを読み出して、豚飼育の支援に関する様々な処理を実行する。
【0027】
記憶部120は、不揮発性の記憶媒体であり、例えばHDD(Hard Disk Drive)によって構成されている。記憶部120は、サーバ100の制御や処理を実行するプログラムの他にも、制御や演算に用いられる様々なパラメータ値、関数、表示要素データ、ルックアップテーブル等を記憶し得る。記憶部120は、特に、検知用ニューラルネットワーク121を記憶している。検知用ニューラルネットワーク121は、カメラユニット210が撮像した画像を入力すると、臀部が正対する豚302捉えた画像であるか否かを識別する。具体的には後述する。なお、記憶部120は、複数のハードウェアで構成されていても良く、例えば、プログラムを記憶する記憶媒体と検知用ニューラルネットワーク121を記憶する記憶媒体が別々のハードウェアで構成されてもよい。
【0028】
通信ユニット130は、例えばLANユニットを含み、ネットワーク200を介して、演算部110が生成する撮像制御信号をカメラユニット210へ送信したり、カメラユニット210から送られてくる画像データを演算部110へ引き渡したりする。また、飼育員端末220と演算部110の間で実行されるデータの授受を中継する。なお、通信ユニット130は、他の外部装置との間でデータや制御信号の授受を中継することもできる。例えば、豚飼育支援プログラムや検知用ニューラルネットワーク121の更新データを外部サーバから取り込む場合にも利用され得る。
【0029】
演算部110は、豚飼育支援プログラムが指示する処理に応じて様々な演算を実行する機能演算部としての役割も担う。演算部110は、取得部111、検知部112、算出部113、通知部114として機能し得る。取得部111は、カメラユニット210によって撮像された画像の画像データを取得し、検知部112へ引き渡す。検知部112は、取得部111から受け取った画像データの画像から豚の臀部を抽出し、抽出された臀部画像に基づいて当該豚の臀部幅を検知する。算出部113は、設定された期間の間に検知部112によって検知された臀部幅の統計値を算出する。通知部114は、算出部113が算出した統計値に対して予め設定された閾値以上の偏差を示す臀部幅が検知部112によって検知された場合に通知を発出する。それぞれの具体的な演算処理については後述する。
【0030】
図3は、撮像画像から豚の臀部を抽出して臀部画像が生成されるまでの処理の概念を説明する図である。カメラユニット210は、給餌容器303へ入れ替わり立ち替わり訪れる豚302を逐次撮像し、取得部111は、その撮像画像の画像データを、ネットワーク200を介して取得する。上述のように、カメラユニット210は、例えば俯瞰する特定の画角Frの範囲を撮像するように設置されているので、撮像対象となる豚302は、臀部が正対する姿勢を取る限りいずれも等距離に位置すると想定し得る。
【0031】
演算部110は、撮像画像から豚302の尾部を見つけ出し、その周辺を予め設定された画像サイズで切出して切出し画像を生成する。具体的には、例えば尾部画像として予め多数用意されたテンプレート画像とマッチング処理を行うことにより撮像画像から尾部の領域を見つけ出し、その尾部領域を含み、かつ右側の体躯境界と左側の体躯境界を含むように切り出すことにより切出し画像を生成する。そして、尾部の中心から左側の体躯境界までのピクセル数D
Lと右側の体躯境界までのピクセル数D
Rを計算する。
図6(A)の場合は、豚302は斜めを向いているのでD
L≠D
Rであり、臀部が正対していないと判断できるので、この切出し画像は臀部画像として採用されない。一方、
図6(B)の場合は、豚302は正面を向いているのでD
L=D
Rであり、臀部が正対していると判断できるので、この切出し画像は臀部画像として採用される。換言すれば、尾部が臀部の幅方向の中心に位置する画像が臀部画像として採用される。なお、D
LとD
Rが等しいか等しくないかは、切出し画像の横幅のピクセル数に応じて設定される許容誤差を考慮して判断される。
【0032】
撮像画像から臀部画像を生成するまでの処理は、上述のような画像処理によって実現し得るが、本実施例において検知部112は、検知用ニューラルネットワーク121を用いてこの一連の処理を実行する。検知用ニューラルネットワーク121は、尾部が見える豚の後ろ姿の画像のうちDL=DRとなっている画像を正解として当該画像に紐づけた教師データを相当数与えて学習させる教師あり学習によって予め作成されたものである。教師データには尾部の中心座標が与えられており、このような教師データを学習した検知用ニューラルネットワーク121は、DL=DRを満たす豚の後ろ姿の画像を抽出すると共に、尾部の中心座標を出力する。教師データは、例えばオペレータがDL=DRを満たす豚の後ろ姿の画像を選択すると共に、尾部の中心座標を決定して紐づけることにより作成される。このように生成された学習モデルである検知用ニューラルネットワーク121は、豚飼育支援装置であるサーバ100に組み込まれて利用に供される。
【0033】
例えば養豚場に観察対象であるペン301が8つ設けられているとすると、それぞれのペン301を俯瞰する8つのカメラユニット210から順次画像データがサーバ100へ送られてくる。取得部111がそれらの画像を取得すると、検知部112へ引き渡す。検知部112は、記憶部120から読み出した検知用ニューラルネットワーク121へそれらの画像を順次入力する。検知用ニューラルネットワーク121は、画像が入力されるごとに演算処理を実行し、その画像がDL=DRを満たす豚の後ろ姿の画像であるかを判定する。そして、そのような条件を満たす後ろ姿の画像であると判定した場合には、その尾部の中心座標を出力する。検知部112は、検知用ニューラルネットワーク121が中心座標を出力した画像から、当該中心座標を基準として予め設定された画像サイズで切り出して、臀部画像を生成する。
【0034】
図4は、臀部幅を計測する処理の概念を説明する図である。臀部幅は、臀部画像から演算される。臀部幅を検出する範囲は、認識された尾部の中心位置から背中側へp
0ピクセルの範囲と足元側へp
0ピクセルの範囲に挟まれた帯状範囲に定められる。検知部112は、この帯状範囲の中で水平方向に左側の体躯境界から右側の体躯境界までのピクセル数を順次カウントし、そのカウント数が最大となる水平位置における幅を臀部幅と決定する。すなわち、尾部の中心を高さ方向の中心とする予め定められた範囲における最大幅が臀部幅(ピクセル)として決定される。検知部112は、このようにして受け取った撮像画像から臀部幅を検知できた場合には、当該臀部幅を算出部113、通知部114へ引き渡す。算出部113は、設定された観察期間の開始時点から臀部幅を累積的に取得し、その統計値を算出する。本実施形態においては、平均値と標準偏差を算出する。
【0035】
観察対象となるペン301で規定数の臀部幅が検知されると、算出部113が算出した統計値は、そのペン301内で飼育されている豚全体の性質を表すものとして利用し得る。規定数としては、例えば、ペン301に収容されている豚の頭数の8割の値が設定される。8割程度の値が設定されていれば、一頭の豚が複数回観察されていたとしても、その影響を小さく留めることが期待できる。そして、その後に検知された臀部幅が、算出された統計値に対して閾値以上の偏差を示す場合には、その臀部幅が検知された豚に対して発育異常があると推定し得る。
【0036】
本実施形態においては、平均値に対してα×σを下回る臀部幅の場合に、発育遅れの豚であると判断する。ここで、αは係数でありσは標準偏差である。αは、収容されている豚の日齢や種類、発育のばらつきをどの程度まで許容するか等に応じて事前に管理者等によって設定される値である。例えば、α=2に設定されると、発育のばらつきが正規分布に従う場合、約95.4%の豚は正常と判断され、約2.3%の豚が発育遅れ、同じく約2.3%の豚が発育過多と判断される。本実施形態においては、特に発育遅れに着目しているので、通知部114は、臀部幅が平均値に対してα×σを下回る場合に、発育遅れの豚が存在する旨を知らせる通知を飼育員端末220へ発出する。なお、統計値(偏差を含む)は上記に限らず、例えば尖度や歪度を考慮したり、中央値を用いたりしてもよい。
【0037】
次に、サーバ100を用いた豚飼育支援方法の処理手順について説明する。
図5は、演算部110の処理手順を説明するフロー図である。フローは、観察開始の指示を受けた時点から開始される。
【0038】
取得部111は、ステップS101で、第nペンのカメラユニット210から、imgnの画像データを、通信ユニット130を介して取得する。例えば、n=1である場合には、第1ペンに向けられたカメラユニット210から、img1の画像データを取得する。取得部111は、取得した画像データを検知部112へ引き渡す。nは、ステップS101が実行されるたびにインクリメントされる。
【0039】
検知部112は、ステップS102で、
図3を用いて説明したように、受け取った画像データの画像img
nを検知用ニューラルネットワーク121へ入力する。そして、その出力から臀部画像が得られたらステップS103へ進み、得られなかったらステップS101へ戻る。
【0040】
検知部112は、ステップS103へ進んだら、
図4を用いて説明したように、臀部画像から臀部幅を検知する。臀部幅を検知したら、その結果を算出部113および通知部114へ引き渡す。算出部113は、新たに検知された臀部幅を検知部112から受け取ったら、それまでに受け取っていた臀部幅から算出していた統計値を更新する。そして、算出部113は、ステップS105へ進み、観察を開始した時点から受け取った臀部幅の数が規定数を超えているか否かを確認する。超えていればステップS104で算出した統計値と規定数を超えた旨の情報を通知部114へ引き渡してステップS106へ進み、超えていなければステップS101へ戻る。
【0041】
ステップS106へ進むと、通知部114は、検知部112から受け取った臀部幅が、算出部113から受け取った統計値に対して、上述のように事前に設定された基準となる偏差以上の値であるか否かを確認する。本実施例では、検知部112から受け取った臀部幅が平均値に対してα×σを下回っているか否かを確認し、下回っている場合にはステップS107へ進み、下回っていなければステップS107をスキップしてステップS108へ進む。ステップS107へ進んだ場合には、通知部114は、発育遅れと思われる豚が存在する旨の通知を、検知されたペンのペン情報を付加して、飼育員端末220へ発出する。ペン情報は、例えばペンを識別するために与えられているペンナンバーである。通知を発出したら、ステップS108へ進む。演算部110は、ステップS108で、観察期間が終了したか否かを確認する。観察期間が終了していなければ、ステップS101へ戻って観察を続行する。終了していれば、一連の処理を終える。
【0042】
なお、上記の処理手順においては、臀部幅が規定数を超えるまで、すなわち算出された統計値が集団の性質を表していると評価し得るまでは、検知された臀部幅のそれぞれに対する判定は行っていない。しかし、規定数を超えた後に、それまでに蓄積された臀部幅のそれぞれを判定してもよい。このように蓄積された臀部幅の判定を行えば、観察開始後の初期段階で撮像された豚302に対しても発育遅れの有無を確認することができる。
【0043】
また、観察期間を予め設定された期間に制限することにより、発育経過に伴う統計値の変化を除去することができる。例えば、一か月前の臀部幅と現時点における臀部幅を混在して平均値を算出することにより現時点における平均値と乖離してしまう、といったことがない。観察期間は、このような不都合が生じない程度の期間(例えば、3日間)に設定される。新たな観察期間が開始される場合には、それまでの統計値はリセットされる。あるいは、過去の参照値として利用される。
【0044】
次に、本実施形態の第2実施例に係る豚飼育支援装置を説明する。第1実施例においては、給餌容器303等を俯瞰する比較的狭い画角Frで撮像するように設定されたカメラユニット210を用いた。また、カメラユニット210は二次元画像を出力するので、カメラユニット210から豚の臀部までの距離を一定の距離とするとの前提を設けて、臀部画像から決定される臀部幅(ピクセル)を検知した。しかし、カメラユニット210を、距離画像を出力できるカメラユニットへ変更すれば、これらの前提に制約されず、より多くの臀部画像を抽出することも可能である。距離画像を出力するカメラユニットとして、ステレオカメラやTOFカメラなどを採用し得るが、ここでは、ステレオカメラを採用した場合について説明する。
【0045】
図6は、本実施形態の第2実施例に係る豚飼育支援装置を採用した養豚環境の全体像を示す図である。
図6で示す構成は、
図1で示す構成に対して、カメラユニット211がステレオカメラを採用している点と、撮像範囲である画角Frが広くなっている点で異なる。カメラユニット211は、画角Frが広い分、多くの豚302を一度に撮像することができる。なお、
図6においては、左上のペン301に対してのみ画角Frを示しているが、他のペン301を俯瞰するカメラユニット211も同様の画角で各ペン301を撮像することができる。
【0046】
図7は、カメラユニット211を採用した場合の臀部画像の生成手法を説明する図である。カメラユニット211で撮像された撮像画像には、多くの豚302が写り込んでいる場合が多い。そこで、検知部112は、ステレオ画像の一方から臀部が正対する豚302の臀部領域を全て切り出す。具体的には、
図3を用いて説明した手法と同様に、尾部が臀部の幅方向の中心に位置する画像領域を切り出して臀部画像とする。このとき、切出し画像の画像サイズは、固定サイズではなく、それぞれの豚の左右の体躯境界が含まれるように個別に調整される。
【0047】
例えば、図示するようにPic1からPic3までの3つの臀部画像が抽出されると、検知部は、それぞれに対応する領域をもう一方のステレオ画像から切り出す。そして、対応する2つの臀部画像間のずれ量を用いて、カメラユニット211からそれぞれの臀部までの距離d1、d2、d3を算出する。検知部112は、
図3を用いて説明したように一方のステレオ画像から臀部幅を演算し、それぞれの距離を用いて、標準距離d
0(例えば1m)に対する臀部幅に修正する。このように修正を施せば、臀部幅を一律に比較検証できる。臀部幅を検知した後の処理は、第1実施例と同様である。
【0048】
次に、本実施形態の第3実施例に係る豚飼育支援装置を説明する。第1実施例および第2実施例の豚飼育支援装置は、豚の体重と相関が強い臀部幅を観察することにより発育遅れの豚を検知した。第3実施例に係る豚飼育支援装置は、豚の腹部を観察することにより発育遅れの豚を検知する。以下の説明において、第1実施例および第2実施例と同様の機能を発揮する構成については、同じ符番を付し、特に言及する場合を除きその説明を省略する。
【0049】
図8は、本実施形態の第3実施例に係る豚飼育支援装置を採用した養豚環境の全体像を示す図である。カメラユニット212は、ペン301ごとに設置されており、それぞれの観察対象であるペン301の全体を俯瞰して撮像できるように、例えば天井から吊り下げられて設置されている。カメラユニット212は、撮像した画像を画像データに変換し、ネットワーク200を介してサーバ100’へ送信する。
【0050】
図9は、豚飼育支援装置としてのサーバ100’と周辺装置のハードウェア構成を示す図である。検知部112’は、取得部111から受け取った画像データの画像から豚の腹部を抽出し、抽出された腹部画像に基づいて最広となる腹部幅と最狭となる腹部幅の比率である広狭比を検知する。なお、このような広狭比を以降では腹部広狭比と称する場合がある。
【0051】
検知部112’によって用いられる検知用ニューラルネットワーク122は、カメラユニット210が撮像した画像を入力すると、腹部広狭比を検知するのに適した姿を示す豚の画像領域を探索し、当該画像領域に写る豚の腹部広狭比を出力する。なお、算出部113、通知部114は、第1実施例および第2実施例では臀部幅を対象として統計値を算出したり通知を発出したりしたが、第3実施例においては、腹部広狭比を対象として統計値を算出したり、通知を発出したりする。
【0052】
次に腹部広狭比について説明する。本願発明者は、ペンに収容された豚の成長度合をより簡便に評価する手法の研究を更に重ねた結果、豚の腹部広狭比も当該豚の体重との間に強い相関があることを見出した。腹部広狭比と体重の相関性も、臀部幅と同様に、個体間のばらつきが少なく、他の部位と体重の間の相関性よりも特に強いことがわかった。また、豚の腹部に限れば観察が容易であり、正確かつ簡易に画像による解析を行うことができることもわかった。そこで、本実施例においては、ペン内をランダムに動き回る豚の腹部を観察し、腹部広狭比を検知することによって、飼育集団の中で発育遅れの豚が存在するか否かを判断する。
【0053】
図10は、正常豚と痩身豚の腹部広狭比の違いを説明する図である。腹部広狭比は、観察対象となる豚が四本足で立っている姿勢において、上端となる背中から後脚(前脚でも構わない)近傍における腹部の下端までの重力方向に沿う長さをa、上端となる背中から腹部のうち最も垂れ下がった下端までの重力方向に沿う長さをbとした場合の、b/aを言う。例えば、
図10(A)に示す、同一ペン301内で順調に発育している多くの豚である正常豚のb/aは、
図10(B)に示す、発育の遅れている豚である痩身豚のb/aよりも大きい。したがって、この腹部広狭比をパラメータとして、上述の臀部幅に対する統計処理と同様の処理を行えば、取得した画像に写る豚が発育遅れの豚であるか否かを判断できる。
【0054】
図11は、学習モデルである検知用ニューラルネットワーク122を用いた腹部広狭比の検知手順を説明する図である。検知部112’は、取得部111からペン301の俯瞰画像である取得画像を受け取ると、検知用ニューラネットワーク122へ当該取得画像を入力する。
【0055】
検知用ニューラネットワーク122は、ペン301を俯瞰する俯瞰画像において四本足で立っている姿勢を見せる豚を取り囲む矩形領域を正解として当該俯瞰画像に紐づけた教師データを相当数与えて学習させる教師あり学習によって予め作成されたものである。教師データは、例えばオペレータが俯瞰画像に写り込む各豚に対して四本足で立っている姿勢を見せる豚を抽出し、矩形領域で取り囲んで正解を与えることにより作成される。一つの俯瞰画像に対象となる複数の豚が存在する場合には、オペレータは、それらのそれぞれを矩形領域で取り囲んで正解として指定する。このように生成された学習モデルである検知用ニューラルネットワーク122は、豚飼育支援装置であるサーバ100に組み込まれて利用に供される。
【0056】
例えば、養豚場に観察対象であるペン301が8つ設けられているとすると、それぞれのペン301を俯瞰する8つのカメラユニット212から順次画像データがサーバ100へ送られてくる。取得部111がそれらの画像を取得すると、検知部112’へ引き渡す。検知部112’は、記憶部120から読み出した検知用ニューラルネットワーク122へそれらの画像を順次入力する。検知用ニューラルネットワーク122は、画像が入力されるごとに演算処理を実行し、その画像から四本足で立っている姿勢を見せる豚が写る領域を検証エリアとして抽出する。このようにして、例えば図示するように入力された画像から検証エリア「area01」、「area02」…を抽出する。
【0057】
検知部112’は、抽出されたそれぞれの検証エリアに写る豚の腹部広狭比を算出する。具体的には、
図4を用いて説明した臀部幅の算出と同様に、後脚の付け根を基準として背中側の体躯境界から腹部側の体躯境界までのピクセル数をカウントして最狭となる腹部幅aを決定する。さらに腹部幅aの直線を平行に前脚側へ徐々にシフトさせ、その都度背中側の体躯境界から腹部側の体躯境界までのピクセル数をカウントする。そして、その中で最大となるものを最広の腹部幅bとして決定する。このようにaおよびbを決定したら、腹部広狭比b/aを算出する。検証エリアが複数抽出された場合には、検証エリアごとにこの演算を繰り返し、得られた腹部広狭比b/aを算出部113および通知部114へ引き渡す。
【0058】
観察対象となるペン301で規定数の腹部広狭比が検知されると、算出部113が算出した統計値は、そのペン301内で飼育されている豚全体の性質を表すものとして利用し得る。規定数としては、例えば、ペン301に収容されている豚の頭数の8割の値が設定される。8割程度の値が設定されていれば、一頭の豚が複数回観察されていたとしても、その影響を小さく留めることが期待できる。そして、その後に検知された腹部広狭比が、算出された統計値に対して閾値以上の偏差を示す場合には、その腹部広狭比が検知された豚に対して発育異常があると推定し得る。統計処理を通じて発育異常を推定する手法は、臀部幅を用いる場合も腹部広狭比を用いる場合も同様である。
【0059】
次に、サーバ100’を用いた豚飼育支援方法の処理手順について説明する。
図12は、演算部110の処理手順を説明するフロー図である。フローは、観察開始の指示を受けた時点から開始される。
【0060】
取得部111は、ステップS201で、第nペンのカメラユニット210から、imgnの画像データを、通信ユニット130を介して取得する。例えば、n=1である場合には、第1ペンに向けられたカメラユニット210から、img1の画像データを取得する。取得部111は、取得した画像データを検知部112’へ引き渡す。nは、ステップS201が実行されるたびにインクリメントされる。
【0061】
検知部112’は、ステップS202で、
図11を用いて説明したように、受け取った画像データの画像img
nを検知用ニューラルネットワーク122へ入力する。そして、その出力から検証エリアが抽出されたらステップS203へ進み、抽出されなかったらステップS201へ戻る。
【0062】
検知部112’は、ステップS203へ進んだら、抽出された検証エリアごとに胴部広狭比を算出する。換言すれば、検証エリアとして抽出された部分画像から胴部広狭比を検知する。検知部112’は、その結果を算出部113および通知部114へ引き渡す。算出部113は、新たに検知された胴部広狭比を検知部112’から受け取ったら、それまでに受け取っていた胴部広狭比から算出していた統計値を更新する。そして、算出部113は、ステップS205へ進み、観察を開始した時点から受け取った腹部広狭比の数が規定数を超えているか否かを確認する。超えていればステップS204で算出した統計値と規定数を超えた旨の情報を通知部114へ引き渡してステップS206へ進み、超えていなければステップS201へ戻る。
【0063】
ステップS206へ進むと、通知部114は、検知部112’から受け取った腹部広狭比が、算出部113から受け取った統計値に対して、上述のように事前に設定された基準となる偏差以上の値であるか否かを確認する。本実施例では、検知部112’から受け取った腹部広狭比が平均値に対してα×σを下回っているか否かを確認し、下回っている場合にはステップS207へ進み、下回っていなければステップS207をスキップしてステップS208へ進む。ステップS207へ進んだ場合には、通知部114は、発育遅れと思われる豚が存在する旨の通知を、検知されたペンのペン情報を付加して、飼育員端末220へ発出する。ペン情報は、例えばペンを識別するために与えられているペンナンバーである。通知を発出したら、ステップS208へ進む。演算部110は、ステップS208で、観察期間が終了したか否かを確認する。観察期間が終了していなければ、ステップS201へ戻って観察を続行する。終了していれば、一連の処理を終える。
【0064】
なお、上記の処理手順に対しても、臀部幅の処理手順と同様に、規定数を超えた後に、それまでに蓄積された腹部広狭比のそれぞれを判定してもよい。また、観察期間の設定や新たな観察期間が開始される場合の処理も同様である。
【0065】
以上いくつかの実施例を通じて説明した本実施形態においては、複数のペン301が一つの豚舎に設けられている場合を想定したが、複数の豚舎に亘って設けられているペン301を観察対象にしてもよい。また、検知通知の出力先は、飼育員端末220に限らない。例えば、無線ユニット230およびネットワーク200を介してサーバ100、100’と接続された告知灯を、それぞれのペン301に隣接して一つずつ設置し、当該告知灯へ通知を出力してもよい。サーバ100、100’は、例えば第5ペンにおいて発育遅れの豚を検知したら、第5ペンに隣接して設置された告知灯へ通知を送信して当該告知灯を点灯させる。また、演算部110は、サーバ100、100’に接続された表示モニタ150に、検知部112、112’が検知した結果や、算出部113が算出した統計値、通知部114が発出する通知を直接的に表示しても構わない。
【0066】
また、以上説明した本実施形態においては、サーバ100、100’が豚飼育支援装置として機能する場合を説明したが、ハードウェア構成はこれに限らない。飼育員端末220として説明した携帯端末がサーバ100、100’と同様の処理を行えば、当該携帯端末が豚飼育支援装置として機能し得る。また、例えば、サーバ100、100’の処理の一部を飼育員端末220が担うように構成すれば、サーバ100、100’と飼育員端末220が連携するシステムが、豚飼育支援装置となり得る。
【符号の説明】
【0067】
100、100’…サーバ、110…演算部、111…取得部、112、112’…検知部、113…算出部、114…通知部、120…記憶部、121、122…検知用ニューラルネットワーク、130…通信ユニット、150…表示モニタ、160…入力デバイス、200…ネットワーク、210、211、212…カメラユニット、220…飼育員端末、230…無線ユニット、301…ペン、302…豚、303…給餌容器、304…給水容器