IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本ハム株式会社の特許一覧 ▶ 株式会社エヌ・ティ・ティ・データの特許一覧

特開2022-110219豚飼育支援装置、豚飼育支援方法、および豚飼育支援プログラム
<>
  • 特開-豚飼育支援装置、豚飼育支援方法、および豚飼育支援プログラム 図1
  • 特開-豚飼育支援装置、豚飼育支援方法、および豚飼育支援プログラム 図2
  • 特開-豚飼育支援装置、豚飼育支援方法、および豚飼育支援プログラム 図3
  • 特開-豚飼育支援装置、豚飼育支援方法、および豚飼育支援プログラム 図4
  • 特開-豚飼育支援装置、豚飼育支援方法、および豚飼育支援プログラム 図5
  • 特開-豚飼育支援装置、豚飼育支援方法、および豚飼育支援プログラム 図6
  • 特開-豚飼育支援装置、豚飼育支援方法、および豚飼育支援プログラム 図7
  • 特開-豚飼育支援装置、豚飼育支援方法、および豚飼育支援プログラム 図8
  • 特開-豚飼育支援装置、豚飼育支援方法、および豚飼育支援プログラム 図9
  • 特開-豚飼育支援装置、豚飼育支援方法、および豚飼育支援プログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022110219
(43)【公開日】2022-07-29
(54)【発明の名称】豚飼育支援装置、豚飼育支援方法、および豚飼育支援プログラム
(51)【国際特許分類】
   A01K 29/00 20060101AFI20220722BHJP
   G06N 20/00 20190101ALI20220722BHJP
【FI】
A01K29/00
G06N20/00 130
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2021005483
(22)【出願日】2021-01-18
(71)【出願人】
【識別番号】000229519
【氏名又は名称】日本ハム株式会社
(71)【出願人】
【識別番号】000102728
【氏名又は名称】株式会社エヌ・ティ・ティ・データ
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】伊澤 翔
(72)【発明者】
【氏名】森下 直樹
(72)【発明者】
【氏名】助川 慎
(72)【発明者】
【氏名】内田 大介
(72)【発明者】
【氏名】奥田 雅貴
(72)【発明者】
【氏名】本橋 寛樹
(72)【発明者】
【氏名】本間 翔
(72)【発明者】
【氏名】東尾 尚昇
(57)【要約】      (修正有)
【課題】ペン内で集団飼育されている豚の中に尾部を負傷した豚が存在するかを、過度なコストや労力を要することなく適時に飼育員に知らせることのできる豚飼育支援装置を提供する。
【解決手段】豚飼育支援装置は、豚302が集団飼育されているペン301に向けて設置されたカメラ210によって撮像された画像の画像データを取得する取得部と、画像データの画像から豚302の臀部を抽出し、臀部に存在する赤色領域に基づいて負傷豚か否かを検知する検知部とを備える。検知部は、複数設けられているペン301のそれぞれに対して負傷豚が存在するかを検知する場合には、負傷豚を検知したペン301に関するペン情報を出力してもよい。
【選択図】図1
【特許請求の範囲】
【請求項1】
豚が集団飼育されているペンに向けて設置されたカメラによって撮像された画像の画像データを取得する取得部と、
前記画像データの画像から前記豚の臀部を抽出し、前記臀部に存在する赤色領域に基づいて負傷豚か否かを検知する検知部と
を備える豚飼育支援装置。
【請求項2】
前記検知部は、複数設けられている前記ペンのそれぞれに対して前記負傷豚が存在するかを検知し、前記負傷豚が存在することを検知した場合には検知した当該ペンに関するペン情報を出力する請求項1に記載の豚飼育支援装置。
【請求項3】
前記検知部は、尾部が現れている豚が写った教師画像によって学習された学習モデルを用いて前記負傷豚を検知する請求項1または2に記載の豚飼育支援装置。
【請求項4】
設定された観察時間の間に検知された前記負傷豚を計数する計数部を備える請求項1から3のいずれか1項に記載の豚飼育支援装置。
【請求項5】
前記計数部は、検知された前記負傷豚において前記赤色領域の形状に基づいて同一豚を判定し、同一豚であると判定された前記負傷豚については計数しない請求項4に記載の豚飼育支援装置。
【請求項6】
豚が集団飼育されているペンに向けて設置されたカメラによって撮像された画像の画像データを取得する取得ステップと、
前記画像データの画像から前記豚の臀部を抽出し、前記臀部に存在する赤色領域に基づいて負傷豚か否かを検知する検知ステップと
を有する豚飼育支援方法。
【請求項7】
豚が集団飼育されているペンに向けて設置されたカメラによって撮像された画像の画像データを取得する取得ステップと、
前記画像データの画像から前記豚の臀部を抽出し、前記臀部に存在する赤色領域に基づいて負傷豚か否かを検知する検知ステップと
をコンピュータに実行させる豚飼育支援プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、豚飼育支援装置、豚飼育支援方法、および豚飼育支援プログラムに関する。
【背景技術】
【0002】
家畜の異常を検知するシステムが知られている。例えば、個々の家畜に各種センサを装着し、その出力が健康状態ではあり得ない値である場合に、当該個体を異常であると判断する(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2017-201930号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
豚を飼育する場合には、一般的にペンと呼ばれる檻や区切られた区画において集団飼育する手法が採用されることが多い。集団飼育においては、強いストレスを感じている豚が他の豚を攻撃して負傷させることがある。そのような豚は、特に他の豚の尾部を齧る傾向がある。飼育員は、尾部を齧られた豚をいち早く治療したり、ストレスの発生原因を調査したりする必要がある。
【0005】
ペン内の豚の異常を検知するために一頭一頭にセンサを取り付けることは現実的ではなく、また、そのための膨大な解析データを用意することも難しい。特に、尾部の負傷を異常行動から検知することは容易でない。また、養豚場の豚舎内には複数のペンが設置されることが多く、飼育員が個々の豚を万遍なく監視し続けることも困難である。
【0006】
本発明は、このような問題を解決するためになされたものであり、ペン内で集団飼育されている豚の中に尾部を負傷した豚が存在するかを、過度なコストや労力を要することなく適時に飼育員に知らせることのできる豚飼育支援装置等を目的とする。
【課題を解決するための手段】
【0007】
本発明の第1の態様における豚飼育支援装置は、豚が集団飼育されているペンに向けて設置されたカメラによって撮像された画像の画像データを取得する取得部と、画像データの画像から豚の臀部を抽出し、臀部に存在する赤色領域に基づいて負傷豚か否かを検知する検知部とを備える。
【0008】
本発明の第2の態様における豚飼育支援方法は、豚が集団飼育されているペンに向けて設置されたカメラによって撮像された画像の画像データを取得する取得ステップと、画像データの画像から豚の臀部を抽出し、臀部に存在する赤色領域に基づいて負傷豚か否かを検知する検知ステップとを有する。
【0009】
本発明の第3の態様における豚飼育支援プログラムは、豚が集団飼育されているペンに向けて設置されたカメラによって撮像された画像の画像データを取得する取得ステップと、画像データの画像から豚の臀部を抽出し、臀部に存在する赤色領域に基づいて負傷豚か否かを検知する検知ステップとをコンピュータに実行させる。
【発明の効果】
【0010】
本発明により、ペン内で集団飼育されている豚の中に尾部を負傷した豚が存在するかを、過度なコストや労力を要することなく適時に飼育員に知らせることのできる豚飼育支援装置等を提供することができる。
【図面の簡単な説明】
【0011】
図1】本実施形態に係る豚飼育支援装置を採用した養豚環境の全体像を示す図である。
図2】豚飼育支援装置と周辺装置のハードウェア構成を示す図である。
図3】本実施形態における正常豚と負傷豚の違いを説明する図である。
図4】学習モデルを用いた検証エリアの抽出手順を説明する図である。
図5】学習モデルを用いた負傷豚の検知手順を説明する図である。
図6】検知通知を受けた飼育員端末の表示例を示す図である。
図7】演算部の処理手順を説明するフロー図である。
図8】他の実施例に係る演算部の処理手順を説明するフロー図である。
図9】更に他の実施例に係る豚飼育支援装置を採用した養豚環境の全体像を示す図である。
図10図9の実施例における負傷豚の検知手順を説明する図である。
【発明を実施するための形態】
【0012】
以下、発明の実施の形態を通じて本発明を説明するが、特許請求の範囲に係る発明を以下の実施形態に限定するものではない。また、実施形態で説明する構成の全てが課題を解決するための手段として必須であるとは限らない。
【0013】
図1は、本実施形態に係る豚飼育支援装置を採用した養豚環境の全体像を示す図である。養豚場は、壁や柵によって区分された複数のペン301を備える。それぞれのペン301には複数(例えば10頭程度)の豚302が収容され、集団で飼育されている。なお、それぞれのペン301で飼育される豚302の頭数は、豚302の品種や飼育環境等に応じて調整され得る。
【0014】
収容された豚302を観察するためのカメラユニット210が、ペン301ごとに設置されている。カメラユニット210は、観察対象であるペン301の全体を俯瞰して撮像できるように当該ペン301に向けて、例えば天井から吊り下げられて設置されている。カメラユニット210は、撮像した画像を画像データに変換し、ネットワーク200を介してサーバ100へ送信する。具体的には、施設内に設置された無線ユニット230がネットワーク200と接続されており、カメラユニット210は、無線ユニット230と無線通信を確立することにより、画像データをサーバ100へ送信することができる。なお、カメラユニット210とサーバ100を接続するネットワーク200は、インターネットやイントラネットを用いてもよいし、サーバ100が設置される管理施設が養豚場内に設けられるような場合には、近距離無線通信を採用してもよい。
【0015】
豚302を世話する飼育員は、飼育員端末220を所持し得る。飼育員端末220は、例えば、タブレット端末やスマートフォンであり、無線ユニット230およびネットワーク200を介してサーバ100との間で各種情報の授受を行うことができる。飼育員は、例えば飼育記録を飼育員端末220へ入力してサーバ100へ転送することもできるし、サーバ100に蓄積された飼育記録を呼び出すこともできる。また、飼育員端末220は、後述する検知通知を受け取った場合には、その旨を表示する。
【0016】
管理施設には、豚飼育支援装置としてのサーバ100が設置されている。サーバ100は、ネットワーク200と接続されている。サーバ100は、ペン301ごとに設置されているカメラユニット210から順次画像データを取得して、当該画像データに基づいて豚302の負傷豚を検知する。サーバ100は、管理者や飼育員の要求に応じてその結果を表示モニタ150へ表示することができる。表示モニタ150は、例えば液晶パネルを備えるモニタである。また、サーバ100は、管理者や飼育員の操作を受け付ける入力デバイス160と接続される。入力デバイス160は、キーボード、マウス、表示モニタ150の表示面に重畳されたタッチパネル等によって構成される。
【0017】
さて、ペンにおける豚の集団飼育においては、強いストレスを感じている豚が他の豚を攻撃して負傷させることがある。そのような豚は、特に他の豚の尾部を齧る傾向がある。また、強いストレスを感じている豚ほど他の豚の尾部を齧る頻度も高い。飼育員は、尾部を齧られた豚をいち早く治療したり、ストレスの発生原因を調査したりする必要がある。しかし、一般的に養豚は飼育規模が大きく、豚舎内に複数のペンを設置して集団飼育することが多いことから、飼育員が多数の豚を定常的に観察したり、時間経過とともに変化する流血を汚れと見分けたりすることは、飼育員の多大な労力や熟練を要する作業であった。本実施形態における豚飼育支援装置は、ペン301内に尾部を負傷した負傷豚が存在するかを検知して飼育員へ知らせることにより飼育作業を支援する。
【0018】
図1に示すように養豚場に複数のペン301が存在する場合には、飼育員は、どのペン301に負傷豚が含まれるかの情報を豚飼育支援装置から知らされるだけでも、多くの労力を削減することができる。すなわち、飼育員は、ペンを観察する作業の頻度を下げることができ、通知を受けた場合にはその特定ペンを対象として負傷豚の探索を行えばよい。経験の浅い飼育員であっても、一つのペン内の限られた頭数に対して負傷豚を探し出すことは比較的容易である。
【0019】
図2は、豚飼育支援装置としてのサーバ100と周辺装置のハードウェア構成を示す図である。サーバ100は、上述のように、表示モニタ150、入力デバイス160、カメラユニット210、飼育員端末220と接続可能である。
【0020】
サーバ100は、主に、演算部110、記憶部120、通信ユニット130によって構成される。演算部110は、サーバ100の制御とプログラムの実行処理を行うプロセッサ(CPU:Central Processing Unit)である。プロセッサは、ASIC(Application Specific Integrated Circuit)やGPU(Graphics Processing Unit)等の演算処理チップと連携する構成であってもよい。演算部110は、記憶部120に記憶された豚飼育支援プログラムを読み出して、豚飼育の支援に関する様々な処理を実行する。
【0021】
記憶部120は、不揮発性の記憶媒体であり、例えばHDD(Hard Disk Drive)によって構成されている。記憶部120は、サーバ100の制御や処理を実行するプログラムの他にも、制御や演算に用いられる様々なパラメータ値、関数、表示要素データ、ルックアップテーブル等を記憶し得る。記憶部120は、特に、検知用ニューラルネットワーク121を記憶している。検知用ニューラルネットワーク121は、カメラユニット210が撮像した画像を入力すると、その画像内に存在する負傷豚の頭数を出力する。具体的には後述する。なお、記憶部120は、複数のハードウェアで構成されていても良く、例えば、プログラムを記憶する記憶媒体と検知用ニューラルネットワーク121を記憶する記憶媒体が別々のハードウェアで構成されてもよい。
【0022】
通信ユニット130は、例えばLANユニットを含み、ネットワーク200を介して、演算部110が生成する撮像制御信号をカメラユニット210へ送信したり、カメラユニット210から送られてくる画像データを演算部110へ引き渡したりする。また、飼育員端末220と演算部110の間で実行されるデータの授受を中継する。なお、通信ユニット130は、他の外部装置との間でデータや制御信号の授受を中継することもできる。例えば、豚飼育支援プログラムや検知用ニューラルネットワーク121の更新データを外部サーバから取り込む場合にも利用され得る。
【0023】
演算部110は、豚飼育支援プログラムが指示する処理に応じて様々な演算を実行する機能演算部としての役割も担う。演算部110は、取得部111、検知部112として機能し得る。取得部111は、主に、カメラユニット210によって撮像された画像の画像データを取得し、検知部112へ引き渡す。検知部112は、主に、取得部111から受け取った画像データの画像か豚の臀部を抽出し、当該臀部に対する赤色領域の割合に基づいて負傷豚か否かを検知する。
【0024】
図3は、本実施形態における正常豚と負傷豚の違いを説明する図である。本実施形態における豚飼育支援装置は、尾部を負傷した負傷豚を検知する。上述のように尾部を齧られた豚は、負傷して流血する。流血は臀部に広がって付着する。
【0025】
図3(A)は、正常豚の後ろ姿の例であり、いずれも臀部に流血の付着が認められない。このような豚は、他の箇所に流血の付着が見られる場合であっても本実施形態においては正常豚とする。図3(B)は、負傷豚の後ろ姿の例であり、いずれも臀部に流血の付着が認められる。画像において、流血は臀部に赤色領域として現れるので、検知部112は、この臀部近傍の赤色領域を手掛かりとして、画像中の豚が負傷豚であるか否かを検知する。検知部112は、具体的には、ペン301を俯瞰する俯瞰画像から後ろ姿の豚が写る領域を検証エリアとして抽出する抽出処理と、検証エリアに写る豚が負傷豚であるか否かを検知する検知処理を順次行う。
【0026】
図4は、学習モデルを用いた検証エリアの抽出手順を説明する図である。検知部112は、取得部111からペン301の俯瞰画像である取得画像を受け取ると、学習モデルである検知用ニューラルネットワーク121を構成する第1ニューラルネットワーク121aへ当該取得画像を入力する。
【0027】
第1ニューラルネットワーク121aは、ペン301を俯瞰する俯瞰画像において後ろ姿を見せる豚を取り囲む矩形領域を正解として当該俯瞰画像に紐づけた教師データを相当数与えて学習させる教師あり学習によって予め作成されたものである。教師データは、例えばオペレータが俯瞰画像に写り込む各豚に対して臀部が確認できる後ろ姿の豚を抽出し、矩形領域で取り囲んで正解を与えることにより作成される。一つの俯瞰画像に対象となる複数の豚が存在する場合には、オペレータは、それらのそれぞれを矩形領域で取り囲んで正解として指定する。
【0028】
このように生成された学習モデルである第1ニューラルネットワーク121aは、豚飼育支援装置であるサーバ100に検知用ニューラルネットワーク121の一部として組み込まれて利用に供される。具体的には、例えば養豚場に観察対象であるペン301が8つ設けられているとすると、それぞれのペン301を俯瞰する8つのカメラユニット210から順次画像データがサーバ100へ送られてくる。それらの画像データの画像img1~img8は、第1ニューラルネットワーク121aへ順次入力される。第1ニューラルネットワーク121aは、画像が入力されるごとに演算処理を実行し、その画像から後ろ姿の豚が写る領域を検証エリアとして抽出する。このようにして、例えば図示するように第1ペンの画像img1から検証エリア「area01」、「area02」…を抽出する。
【0029】
図5は、学習モデルを用いた負傷豚の検知手順を説明する図である。検知部112は、第1ニューラルネットワーク121aが検証エリアを抽出したら、それぞれを切り出してエリア画像を生成し、検知用ニューラルネットワーク121を構成する第2ニューラルネットワーク121bへ当該エリア画像を入力する。エリア画像が複数生成された場合は、順次第2ニューラルネットワーク121bへ入力する。なお、図5は、図4に示す画像データの画像img1から抽出された検証エリアのエリア画像を例として示している。
【0030】
第2ニューラルネットワーク121bは、臀部を含む後ろ姿を見せる個々の豚の画像に対して、臀部周りに流血が原因と見られる赤色領域が存在すれば正解が、そうでなければ不正解が紐付けられた教師データを相当数与えて学習させる教師あり学習によって予め作成されたものである。教師データは、例えばオペレータが臀部に対する赤色領域の大きさや、流血と想定される色味などを考慮して正解および不正解を与えることにより作成される。
【0031】
このように生成された学習モデルである第2ニューラルネットワーク121bは、豚飼育支援装置であるサーバ100に検知用ニューラルネットワーク121の一部として組み込まれて利用に供される。具体的には、例えば図示するように4つのエリア画像(area01、area02、area03、area04)が順次入力されると、第2ニューラルネットワーク121bは、それぞれに対して画像中の豚が負傷豚である確率Pn(P1=0.023、P2=0.921、P3=0.017、P4=0.146)を算出する。そして、算出された確率Pnが予め設定された閾値(図の例では0.85)を超える場合に、当該エリア画像に写る豚を負傷豚と認定し、認定した負傷豚の合計を検知頭数(図の例では1)として出力する。閾値は、学習モデルの出力精度や負傷豚である確率に応じて、試行錯誤により事前に調整された値が設定される。また、負傷豚については、その負傷度合いに応じて、例えば重症豚/中等症豚/軽症豚といったクラスを分けて学習させておくことで、負傷度合いに応じた閾値を設定することも考えられる。検知部112は、第2ニューラルネットワーク121bが1頭以上の検知頭数を出力した場合に、負傷豚が存在する旨を知らせる検知通知を飼育員端末220へ出力する。検知通知には、負傷豚を検知したペンに関する情報が付加される。なお、本実施形態においては、ペン情報としてペンナンバーが付加される。
【0032】
図6は、検知通知を受けた飼育員端末の表示例を示す図である。上述のように、検知部112が検知通知を出力すると、飼育員端末220は、当該検知通知を受信して、その内容を表示パネルに表示する。具体的には図示するように、飼育員端末220は、検知通知に付加されているペン情報を参照して、負傷豚が検知されたペンナンバーを表示する(図の例では「第2ペン」)。このとき、検知された負傷豚の頭数を併せて表示する(図の例では「2頭」)。また、養豚場のペン配置に関する屋内地図を保持している場合は、該当するペンの位置が認識されるように併せて表示する。なお、飼育員端末220は、このような表示を行うと共に告知音を発してもよい。
【0033】
次に、サーバ100を用いた豚飼育支援方法の処理手順について説明する。図7は、演算部110の処理手順を説明するフロー図である。フローは、観察開始の指示を受けた時点から開始される。
【0034】
検知部112は、ステップS101で、変数nを1にセットする。nはペンナンバーを表し、ここでは養豚場内のペンの数をm個とする。ステップS103へ進み、取得部111は、第nペンに向けられたカメラユニット210から、imgnの画像データを、通信ユニット130を介して取得する。n=1である場合には、第1ペンに向けられたカメラユニット210から、img1の画像データを取得する。取得部111は、取得した画像データを検知部112へ引き渡す。
【0035】
検知部112は、ステップS103で、図4および図5を用いて説明したように、受け取った画像データの画像imgnを検知用ニューラルネットワーク121の第1ニューラルネットワーク121aへ入力する。そして、その出力を検知用ニューラルネットワーク121の第2ニューラルネットワーク121bへ入力することにより、画像imgnに写り込んだ負傷豚の頭数(検知頭数)を出力させる。
【0036】
ステップS104へ進み、検知部112は、第2ニューラルネットワーク121bの出力である検知頭数が1以上であるか、すなわち負傷豚が存在するか否かを確認する。負傷豚が存在すると確認したら、ステップS105へ進み、検知通知を生成して飼育員端末220へ出力する。このとき、ペン情報として第nペンであることを付加し、また、第2ニューラルネットワーク121bの出力である検知頭数を付加する。検知通知を出力したらステップS106へ進む。検知部112は、ステップS104で負傷豚が存在しないと確認したら、ステップS105をスキップしてステップS106へ進む。
【0037】
検知部112は、ステップS106で変数nをインクリメントし、ステップS107へ進む。ステップS107へ進んだら、変数nが養豚場内のペン数mを超えたか否かを判断する。超えていないと判断したら、ステップS102へ戻り、インクリメントした変数nに対して同様の処理を実行する。超えたと判断したら、ステップS108へ進む。
【0038】
検知部112は、ステップS108へ進んだら、終了の指示を受けたか否かを確認する。終了の指示は、管理者から入力デバイス160を介して終了の操作を受け付けたり、プログラムに予め設定された条件が満たされたりした場合に生成される。終了の指示を受けていないと判断したら、予め設定された周期に応じたインターバルをおいてステップS101へ戻る。終了の指示を受けたと判断したら、一連の処理を終了する。
【0039】
以上説明した実施例によれば、豚飼育支援装置は、複数のペン301をそれぞれ撮像した画像データを順次取得し、その画像から負傷豚を検知し、負傷豚が検知されればその都度飼育員へ通知する構成であった。しかし、養豚場における管理環境によっては、都度通知するのではなく、特定の時刻や周期で通知する方が飼育員等にとって好ましい場合もある。そのような場合には、指定された観察時間が経過するまでは検知結果を蓄積しておき、その後に蓄積結果を纏めて通知するとよい。図8は、そのような他の実施例に係る演算部110の処理手順を説明するフロー図である。なお、図7の処理と同様の処理については、図7のステップ番号と同じ番号を付すことにより、その説明を省略する場合がある。
【0040】
図8に示す本実施例においては、演算部110は、機能演算部として計数部を有する。計数部は、設定された観察時間の間に検知された負傷豚を計数する。具体的には、それぞれのペンに対応して用意されたC1からCmまでのカウンタを用いて負傷豚を計数する。図8のフローは、設定された観察時間の開始に合わせて開始される。
【0041】
計数部は、観察開始にあたり初期処理としてステップS201で、経時タイマTによる経時を開始させ、第nペンに収容されている負傷豚の頭数をカウントするカウンタCnを全てリセットした後に、ステップS101へ進む。
【0042】
検知部112は、ステップS104で、画像imgnに写り込む負傷豚の検知頭数を確認し、負傷豚が1頭以上存在すると確認したら、ステップS205へ進む。ステップS205へ進んだら、検知部112は、計数部へ検知頭数を引き渡す。計数部は、その時点におけるCnのカウンタ値に検知部112から受け取った検知頭数を加算することにより、Cnを更新し、その後ステップS106へ進む。ステップS104で負傷豚が存在しないと確認したら、ステップS205をスキップしてステップS106へ進む。
【0043】
検知部112は、ステップS107で、変数nが養豚場内のペン数mを超えたか否かを判断し、超えていないと判断したら、ステップS102へ戻り、インクリメントした変数nに対して同様の処理を実行する。超えたと判断したら、ステップS208へ進む。ステップS208へ進んだら、計数部は、経時タイマTが設定された観察時間Tcを超えたか否かを判断する。超えていないと判断したら、予め設定された周期に応じたインターバルをおいてステップS101へ戻る。超えたと判断したら、ステップS209へ進む。
【0044】
ステップS209へ進んだら、計数部は、その時点におけるC1からCmまでのカウンタ値を検知部112へ引き渡す。検知部112は、これらのカウンタ値を確認し、1以上のカウンタ値を示すペンに対して検知通知を生成して飼育員端末220へ出力する。飼育員端末220は、複数の検知通知を受信した場合には、付加されているペン情報を参照して、負傷豚が検知された旨をペンごとに画面を切り替えて表示してもよいし、一覧表にまとめて表示してもよい。なお、検知部112は、いずれのペンにおいても負傷豚が検知されなかった場合でも検知通知を生成し、その旨を飼育員端末220に表示させてもよい。演算部110は、検知部112がステップS209の処理を終えたら、一連の処理を終了する。連続して観察を実行する場合には、再びステップS201から処理を開始する。
【0045】
なお、設定された観察時間の間に繰り返し負傷豚を検知する場合には、同一の負傷豚を何度も検知して重複してカウントしてしまう場合がある。負傷豚の存否確認を主たる目的とする場合にはそれでもよいが、負傷豚の頭数を正確にカウントさせたい場合には、計数部に同一豚であるか否かを判定させ、同一豚であると判定した場合には積算の対象から除外すればよい。具体的には、検知部112が検知した負傷豚が写るエリア画像を記憶部120に記憶しておき、新たに負傷豚が検知された場合には、その負傷豚が写るエリア画像と記憶部に記憶されているエリア画像を対比して、同一豚であるか否かを判定する。より具体的には、それぞれのエリア画像に写り込む負傷豚の赤色領域の形状をパターンマッチングによって比較し、一致すると判定される場合に両者は同一豚であると判定するとよい。
【0046】
以上説明した各実施例においては、それぞれのペン301に一つずつのカメラユニット210を設置したが、複数のペン301をまとめて俯瞰するカメラユニットを設置してもよい。その場合には、取得部111は、カメラユニットから取得した画像を各ペン301の境界に沿って分割し、分割したそれぞれの画像を順次検知部112へ引き渡せばよい。反対に、1つのペン301に対して複数のカメラユニット210を設置してもよい。例えば、ペン301内の豚302を側方から撮像するカメラユニット210を設置すれば、負傷豚の誤検知を軽減できる。また、1つのペン301に対して複数のカメラユニット210を設置すれば、ペン301内で動き回る豚の後ろ姿を撮像する機会も増えるので、より精度よく負傷豚を検知することができる。
【0047】
以上説明した各実施例においては、それぞれのペン301の全体を俯瞰する俯瞰画像に基づいて負傷豚を検知したが、ペン内の特定の場所にカメラを向け、およそ一頭分の後ろ姿を捉える画角で撮像した撮像画像に基づいて負傷豚を検知してもよい。図9は、そのような更に他の実施例に係る豚飼育支援装置を採用した養豚環境の全体像を示す図である。図1と同様の要素については同じ符番を付して、その説明を省略する。
【0048】
カメラユニット210は、ペン102内の所定位置を俯瞰して撮像する。カメラユニット210は、例えば給餌容器303に頭部を没入して採餌する豚302を背後から俯瞰する画角Frの範囲を撮像するように設置されている。このように設置されたカメラユニット210によれば、採餌中の豚302の臀部が正対する画像を取得できる。
【0049】
カメラユニット210は、給餌容器303付近を所定位置とする場合に限らず、ペン301内を動き回る豚302の臀部を正対した状態で撮像することが期待できるのであれば、そのような場所を所定位置として設置して良い。例えば、給水容器付近を所定位置としても良い。給餌場や給水場は、収容されている豚302が入れ替わり立ち替わり訪れる場所であるので、ランダムに多くの豚302の臀部画像を取得するのに都合が良い。
【0050】
図10は、図9の実施例における負傷豚の検知手順を説明する図である。取得部111は、カメラユニット210から撮像画像データを取得し、その撮像画像から豚302の尾部付近の領域を切り出して切出し画像を生成する。具体的には、取得部111は、例えば尾部画像として予め多数用意されたテンプレート画像とマッチング処理を行うことにより、対象画像から尾部の領域を見つけ出す。そして取得部111は、見つけ出した尾部の領域とその周囲を予め設定された画像サイズで切り出して切出し画像を生成する。取得部111は、生成した切出し画像を検知部112へ引き渡す。
【0051】
検知部112は、切出し画像に対してエッジ処理を施すことにより、尾部の中心から左側の体躯境界までのピクセル数DLと右側の体躯境界までのピクセル数DRを計算する。図示するように、DL=DRである場合に臀部が正対していると判断し、この切出し画像を臀部画像とする。換言すれば、検知部112は、尾部が臀部の幅方向の中心に位置する画像を抽出して臀部画像とする。なお、検知部112は、切出し画像の横幅のピクセル数に応じて設定される許容誤差を考慮してDLとDRが等しいか等しくないかを判断する。
【0052】
検知部112は、このようにして抽出された臀部画像から、赤色領域と臀部領域をそれぞれ抜き出して面積を計算する。そして、(赤色領域の面積)/(臀部領域の面積)を計算し、この値が予め設定された閾値を超えた場合に、臀部に流血が認められると判断し、撮影画像に写り込む豚を負傷豚であると認定する。豚飼育支援装置は、このような手法を採用しても負傷豚を検知することができる。
【0053】
以上いくつかの実施例を通じて説明した本実施形態においては、複数のペン301が一つの豚舎に設けられている場合を想定したが、複数の豚舎に亘って設けられているペン301を観察対象にしてもよい。また、検知通知の出力先は、飼育員端末220に限らない。例えば、無線ユニット230およびネットワーク200を介してサーバ100と接続された告知灯を、それぞれのペン301に隣接して一つずつ設置し、当該告知灯へ検知通知を出力してもよい。サーバ100は、例えば第5ペンにおいて負傷豚を検知したら、第5ペンに隣接して設置された告知灯へ検知通知を送信して当該告知灯を点灯させる。また、検知部112は、サーバ100に接続された表示モニタ150に、検知結果を直接的に表示しても構わない。例えば、それぞれのペン301において検知された負傷豚の頭数一覧を表示モニタ150に一覧表示されるようにしてもよい。
【0054】
また、以上説明した本実施形態においては、サーバ100が豚飼育支援装置として機能する場合を説明したが、ハードウェア構成はこれに限らない。飼育員端末220として説明した携帯端末がサーバ100と同様の処理を行えば、当該携帯端末が豚飼育支援装置として機能し得る。また、例えば、サーバ100の処理の一部を飼育員端末220が担うように構成すれば、サーバ100と飼育員端末220が連携するシステムが、豚飼育支援装置となり得る。
【符号の説明】
【0055】
100…サーバ、110…演算部、111…取得部、112…検知部、120…記憶部、121…検知用ニューラルネットワーク、130…通信ユニット、150…表示モニタ、160…入力デバイス、200…ネットワーク、210…カメラユニット、220…飼育員端末、230…無線ユニット、301…ペン、302…豚、303…給餌容器
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10