(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023184649
(43)【公開日】2023-12-28
(54)【発明の名称】死亡鶏検知システム
(51)【国際特許分類】
A01K 29/00 20060101AFI20231221BHJP
A01K 45/00 20060101ALI20231221BHJP
【FI】
A01K29/00 A
A01K45/00 Z
【審査請求】有
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2023189900
(22)【出願日】2023-11-07
(62)【分割の表示】P 2020091884の分割
【原出願日】2019-03-18
(31)【優先権主張番号】P 2018099274
(32)【優先日】2018-05-24
(33)【優先権主張国・地域又は機関】JP
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り 2018年2月10日~2018年2月18日株式会社横浜ファームにおけるシステム構築および納品
(71)【出願人】
【識別番号】518182379
【氏名又は名称】大豊産業株式会社
(74)【代理人】
【識別番号】110001704
【氏名又は名称】弁理士法人山内特許事務所
(72)【発明者】
【氏名】寺奥 泰次郎
(57)【要約】
【課題】死亡鶏を精度良く検知できる死亡鶏検知システムを提供する。
【解決手段】死亡鶏検知システム1は、ケージ内の鶏を撮影するカメラ13と、カメラ13から取得した監視画像に死亡鶏が含まれるか否かに基づいて、鶏の生死を判定する鶏生死判定装置30とを備える。鶏生死判定装置30は、ケージ内の鶏を撮影して得られた画像であって死亡鶏を含まない生存画像と、死亡鶏を含む死亡画像とを含む学習データを用いて、予め機械学習が行なわれた学習器を構成する。生存画像と死亡画像とを含む学習データを用いて機械学習が行なわれた学習器を用いることで、死亡鶏を精度良く検知できる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ケージ内の鶏を撮影するカメラを有する巡回ロボットと、
前記カメラから取得した監視画像に基づいて、前記鶏の生死を判定する鶏生死判定装置と、を備える
ことを特徴とする死亡鶏検知システム。
【請求項2】
前記巡回ロボットは前記カメラの撮影範囲を照らす照明を有する
ことを特徴とする請求項1記載の死亡鶏検知システム。
【請求項3】
前記巡回ロボットは前記カメラを昇降させる機構を有する
ことを特徴とする請求項1または2記載の死亡鶏検知システム。
【請求項4】
前記巡回ロボットはサーモグラフィカメラを有する
ことを特徴とする請求項1~3のいずれかに記載の死亡鶏検知システム。
【請求項5】
前記巡回ロボットはルート上に敷設された磁気テープに沿って走行する
ことを特徴とする請求項1~4のいずれかに記載の死亡鶏検知システム。
【請求項6】
前記巡回ロボットは周囲の空間を把握するレーダーを有する
ことを特徴とする請求項1~4のいずれかに記載の死亡鶏検知システム。
【請求項7】
前記巡回ロボットは前記監視画像を前記鶏生死判定装置に送信する
ことを特徴とする請求項1~6のいずれかに記載の死亡鶏検知システム。
【請求項8】
前記巡回ロボットを制御する巡回ロボット制御装置を備える
ことを特徴とする請求項1~7のいずれかに記載の死亡鶏検知システム。
【請求項9】
前記巡回ロボット制御装置が接続された場内ネットワークと、
前記場内ネットワークに接続された無線親機と、を備え、
前記巡回ロボットは、
前記カメラが接続された機内ネットワークと、
前記機内ネットワークに接続された走行台車と、
前記機内ネットワークに接続され、前記無線親機と無線通信可能な無線子機と、を有する
ことを特徴とする請求項8記載の死亡鶏検知システム。
【請求項10】
前記巡回ロボット制御装置は、予め定められた巡回開始時間が到来したときに、前記巡回ロボットに対して走行指示を行う
ことを特徴とする請求項8または9記載の死亡鶏検知システム。
【請求項11】
前記巡回ロボット制御装置は、前記巡回ロボットをルートに沿って所定距離走行させ、前記巡回ロボットを停止させ、前記カメラで撮影を行う処理を、繰り返し行う
ことを特徴とする請求項8~10のいずれかに記載の死亡鶏検知システム。
【請求項12】
前記巡回ロボット制御装置は、前記巡回ロボットのルート上の位置を示す情報に基づき、前記監視画像に写っている前記ケージの位置情報を生成する
ことを特徴とする請求項8~11のいずれかに記載の死亡鶏検知システム。
【請求項13】
前記巡回ロボット制御装置は、前記ケージの位置情報を前記鶏生死判定装置に送信する
ことを特徴とする請求項12記載の死亡鶏検知システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、死亡鶏検知システムに関する。さらに詳しくは、本発明は、養鶏場において死亡鶏を検知するシステムに関する。
【背景技術】
【0002】
採卵鶏の養鶏場では、ケージ内で複数の鶏を飼育している。ケージ内の鶏が死亡すると、死亡した鶏(以下、「死亡鶏」と称する。)に他の鶏が産み落とした卵が引っ掛かってケージから排出されず、腐敗することがある。また、卵の腐敗および死亡鶏の腐敗に起因して、他の鶏が病気にかかることがある。そうすると、養鶏農家にとって経済的な損害が発生する。このような事態を回避するために、鶏が死亡した場合には、その鶏をケージから速やかに除去する必要がある。
【0003】
従来、死亡鶏の発見は人的作業により行なわれていた。すなわち、養鶏場の職員が定期的に鶏舎を巡回監視し、死亡鶏を発見した場合にそれを除去していた。しかし、このような人的作業は職員への負担が大きいという問題がある。
【0004】
この問題に対して、特許文献1には、死亡動物を自動的に検知する装置が開示されている。この装置は、二次元レーザスキャナーを用いて周期的に飼育場内の動物の外形をマッピングし、連続するマッピングを比較して、外形に変化がない静止状態の動物を死亡動物として検知する。この装置を用いれば、死亡鶏を自動的に検知できるので、職員の負担を軽減できる。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1の装置は、健康な動物は常に動いていることを前提とし、静止状態の動物を死亡動物として検知している。しかし、現実には生きている鶏であっても静止している場合がある。例えば、生きている鶏が同じ場所に座り続けている場合がある。特に、日齢が進んだ鶏は座っている時間が長い傾向がある。また、死亡鶏は必ずしも静止していない。鶏には自己の周囲に存在する異物を蹴って退ける習性がある。この習性により、死亡鶏は他の鶏により動かされることがある。そのため、特許文献1の装置は、生きている鶏を死亡鶏として誤検知することがあり、また、死亡鶏を検知できないこともある。
【0007】
本発明は上記事情に鑑み、死亡鶏を精度良く検知できる死亡鶏検知システムを提供することを目的とする。
【課題を解決するための手段】
【0008】
第1発明の死亡鶏検知システムは、ケージ内の鶏を撮影するカメラと、前記カメラから取得した監視画像に死亡鶏が含まれるか否かに基づいて、前記鶏の生死を判定する鶏生死判定装置と、を備えることを特徴とする。
第2発明の死亡鶏検知システムは、第1発明において、前記鶏生死判定装置は、ケージ内の鶏を撮影して得られた画像であって死亡鶏を含まない生存画像と、死亡鶏を含む死亡画像とを含む学習データを用いて、予め機械学習が行なわれた学習器を構成することを特徴とする。
第3発明の死亡鶏検知システムは、第2発明において、前記生存画像には、画像内の全ての鶏が立っている立ち画像と、画像内の一部の鶏が立っており残部の鶏が座っている座り画像とが含まれることを特徴とする。
第4発明の死亡鶏検知システムは、第2または第3発明において、前記死亡画像には、画像内の一部の鶏が倒れている倒れ画像、画像内の一部の鶏に欠損がある欠損画像、および画像内の一部の鶏が変色している変色画像のうち、一種類または複数種類が含まれることを特徴とする。
第5発明の死亡鶏検知システムは、第2または第3発明において、前記死亡画像には、死亡鶏の種類、死亡鶏の前記ケージ内の位置、死亡鶏の角度、死亡鶏の向き、前記ケージの構成のうち、一または複数を変更しつつ撮影して得られた複数パターンの画像が含まれることを特徴とする。
第6発明の死亡鶏検知システムは、第2~第5発明のいずれかにおいて、前記鶏生死判定装置は、前記監視画像に死亡鶏が含まれる確率が死亡閾値以上である場合に、死亡と判定し、前記監視画像に死亡鶏が含まれる確率が生存閾値以下である場合に、生存と判定し、前記監視画像に死亡鶏が含まれる確率が前記生存閾値を超え、前記死亡閾値未満である場合に、生死不明と判定することを特徴とする。
第7発明の死亡鶏検知システムは、第6発明において、前記鶏生死判定装置は、同一位置の前記ケージを繰り返し撮影して得られた複数の前記監視画像に基づいて、いずれも生死不明と判定した場合に、死亡と再判定することを特徴とする。
第8発明の死亡鶏検知システムは、第6発明において、前記ケージ内の鶏を撮影するサーモグラフィカメラを備え、前記鶏生死判定装置は、前記監視画像に基づいて生死不明と判定した場合に、前記サーモグラフィカメラから取得した温度画像のうち生死不明の鶏の領域の温度を取得し、該温度が温度閾値以下の場合に死亡と再判定することを特徴とする。
第9発明の死亡鶏検知システムは、第1発明において、前記鶏生死判定装置は、前記監視画像内の全ての鶏が立っている、または、前記監視画像内の一部の鶏が立っており残部の鶏が座っている場合に、前記監視画像に死亡鶏が含まれないと判定することを特徴とする。
第10発明の死亡鶏検知システムは、第1または第9発明において、前記鶏生死判定装置は、前記監視画像内の一部の鶏が倒れている、前記監視画像内の一部の鶏に欠損がある、または、前記監視画像内の一部の鶏が変色している場合に、前記監視画像に死亡鶏が含まれると判定することを特徴とする。
第11発明の死亡鶏検知システムは、第1~第10発明のいずれかにおいて、前記鶏生死判定装置は、死亡と判定した場合に、死亡鶏情報を通知することを特徴とする。
第12発明の死亡鶏検知システムは、第11発明において、前記死亡鶏情報には死亡判定の根拠となった前記監視画像が含まれることを特徴とする。
第13発明の死亡鶏検知システムは、第11または第12発明において、前記死亡鶏情報には死亡判定の根拠となった前記監視画像が撮影された前記ケージの位置情報が含まれることを特徴とする。
第14発明の死亡鶏検知システムは、第1~第13発明のいずれかにおいて、前記カメラの撮影範囲を照らす、色温度が4,000~7,000Kの照明を備えることを特徴とする。
第15発明の死亡鶏検知システムは、第14発明において、前記照明は常時点灯していることを特徴とする。
第16発明の死亡鶏検知システムは、第1~第15発明のいずれかにおいて、前記カメラが搭載され、前記ケージに沿って走行する走行台車を備えることを特徴とする。
第17発明の鶏生死判定プログラムは、ケージ内の鶏を撮影して得られた監視画像に基づいて、該鶏の生死を判定するようコンピュータを機能させるための鶏生死判定プログラムであって、ケージ内の鶏を撮影して得られた画像であって死亡鶏を含まない生存画像と、死亡鶏を含む死亡画像とを含む学習データを用いて、予め機械学習が行なわれた学習器を構成し、前記学習器に前記監視画像が入力されると、該監視画像に死亡鶏が含まれるか否かの判定結果を出力するよう、コンピュータを機能させることを特徴とする。
第18発明の鶏生死判定プログラムは、第17発明において、前記生存画像には、画像内の全ての鶏が立っている立ち画像と、画像内の一部の鶏が立っており残部の鶏が座っている座り画像とが含まれることを特徴とする。
第19発明の鶏生死判定プログラムは、第17または第18発明において、前記死亡画像には、画像内の一部の鶏が倒れている倒れ画像、画像内の一部の鶏に欠損がある欠損画像、および画像内の一部の鶏が変色している変色画像のうち、一種類または複数種類が含まれることを特徴とする。
第20発明の鶏生死判定プログラムは、第17または第18発明において、前記死亡画像には、死亡鶏の種類、死亡鶏の前記ケージ内の位置、死亡鶏の角度、死亡鶏の向き、前記ケージの構成のうち、一または複数を変更しつつ撮影して得られた複数パターンの画像が含まれることを特徴とする。
第21発明の鶏生死判定プログラムは、第17~第20発明のいずれかにおいて、前記監視画像に死亡鶏が含まれる確率が死亡閾値以上である場合に、死亡と判定し、前記監視画像に死亡鶏が含まれる確率が生存閾値以下である場合に、生存と判定し、前記監視画像に死亡鶏が含まれる確率が前記生存閾値を超え、前記死亡閾値未満である場合に、生死不明と判定するよう、コンピュータを機能させることを特徴とする。
第22発明の鶏生死判定プログラムは、第21発明において、同一位置の前記ケージを繰り返し撮影して得られた複数の前記監視画像に基づいて、いずれも生死不明と判定した場合に、死亡と再判定するよう、コンピュータを機能させることを特徴とする。
第23発明の鶏生死判定プログラムは、第21発明において、前記監視画像に基づいて生死不明と判定した場合に、サーモグラフィカメラで前記ケージ内の鶏を撮影して得られた温度画像のうち生死不明の鶏の領域の温度を取得し、該温度が温度閾値以下の場合に死亡と再判定するよう、コンピュータを機能させることを特徴とする。
第24発明の鶏生死判定プログラムは、ケージ内の鶏を撮影して得られた監視画像に基づいて、該鶏の生死を判定するようコンピュータを機能させるための鶏生死判定プログラムであって、前記監視画像内の全ての鶏が立っている、または、前記監視画像内の一部の鶏が立っており残部の鶏が座っている場合に、生存と判定するよう、コンピュータを機能させることを特徴とする。
第25発明の鶏生死判定プログラムは、ケージ内の鶏を撮影して得られた監視画像に基づいて、該鶏の生死を判定するようコンピュータを機能させるための鶏生死判定プログラムであって、前記監視画像内の一部の鶏が倒れている、前記監視画像内の一部の鶏に欠損がある、または、前記監視画像内の一部の鶏が変色している場合に、死亡と判定するよう、コンピュータを機能させることを特徴とする。
第26発明の鶏生死判定装置は、第17~第25発明のいずれかの鶏生死判定プログラムがインストールされたコンピュータからなることを特徴とする。
【発明の効果】
【0009】
第1発明によれば、監視画像に死亡鶏が含まれるか否かに基づいて鶏の生死を判定するので、死亡鶏を精度良く検知できる。
第2発明によれば、生存画像と死亡画像とを含む学習データを用いて機械学習が行なわれた学習器を用いることで、監視画像に死亡鶏が含まれるか否かを精度良く判定できる。
第3発明によれば、生存画像として立ち画像のほか、座り画像を含む学習データを用いて機械学習が行なわれているので、学習器が座っている鶏を死亡鶏と誤判定する頻度を低減できる。
第4発明によれば、死亡画像として死亡鶏の特徴を有する倒れ画像、欠損画像、および変色画像を含む学習データを用いて機械学習が行なわれているので、学習器が死亡鶏を生きている鶏と誤判定する頻度を低減できる。
第5発明によれば、種々のパターンの死亡画像を用いて機械学習が行なわれているので、学習器の誤判定率を低減できる。
第6発明によれば、鶏の生死を死亡、生存、生死不明の三段階で判定するので、生死の判定が困難な監視画像に基づいて無理に死亡、生存の判定をすることがなく、誤検知の頻度を低減できる。
第7発明によれば、同一位置のケージを撮影して得られた監視画像に対して、連続して生死不明と判定した場合に、死亡と再判定することで、死亡鶏の検知漏れを低減できる。
第8発明によれば、監視画像に基づいて生死不明と判定した場合に、温度画像に基づいて生死の判定を再度行なうので、生死不明として処理される件数を低減できる。
第9発明によれば、監視画像内の全ての鶏が立っている場合のほか、一部の鶏が座っている場合にも、監視画像に死亡鶏が含まれないと判定するので、座っている鶏を死亡鶏と誤判定する頻度を低減できる。
第10発明によれば、監視画像内の鶏が死亡鶏の特徴である倒れ、欠損、または変色を有する場合に、監視画像に死亡鶏が含まれると判定するので、死亡鶏を生きている鶏と誤判定する頻度を低減できる。
第11発明によれば、死亡鶏情報を通知することで、職員に死亡鶏の除去を促すことができる。
第12発明によれば、死亡判定の根拠となった監視画像を通知することで、人間による鶏の生死の最終判断を行なうことができる。
第13発明によれば、ケージの位置情報が通知されるので、職員が死亡鶏の位置を把握でき、死亡鶏の除去作業が容易になる。
第14発明によれば、照明の光の色が白に近いので、鶏に与えるストレスが小さく、また、監視画像に鶏の色が反映されやすい。
第15発明によれば、照明がフラッシュせずに常時点灯しているので、鶏に与えるストレスを低減できる。
第16発明によれば、カメラが搭載された走行台車がケージに沿って走行するので、少数のカメラでケージ全体の監視ができる。
第17発明によれば、生存画像と死亡画像とを含む学習データを用いて機械学習が行なわれた学習器を構成するので、監視画像に死亡鶏が含まれるか否かを精度良く判定できる。その結果、鶏の生死を精度良く判定できる。
第18発明によれば、生存画像として立ち画像のほか、座り画像を含む学習データを用いて機械学習が行なわれているので、学習器が座っている鶏を死亡鶏と誤判定する頻度を低減できる。
第19発明によれば、死亡画像として死亡鶏の特徴を有する倒れ画像、欠損画像、および変色画像を含む学習データを用いて機械学習が行なわれているので、学習器が死亡鶏を生きている鶏と誤判定する頻度を低減できる。
第20発明によれば、種々のパターンの死亡画像を用いて機械学習が行なわれているので、学習器の誤判定率を低減できる。
第21発明によれば、鶏の生死を死亡、生存、生死不明の三段階で判定するので、生死の判定が困難な監視画像に基づいて無理に死亡、生存の判定をすることがなく、誤検知の頻度を低減できる。
第22発明によれば、同一位置のケージを撮影して得られた監視画像に対して、連続して生死不明と判定した場合に、死亡と再判定することで、死亡鶏の検知漏れを低減できる。
第23発明によれば、監視画像に基づいて生死不明と判定した場合に、温度画像に基づいて生死の判定を再度行なうので、生死不明として処理される件数を低減できる。
第24発明によれば、監視画像内の全ての鶏が立っている場合のほか、一部の鶏が座っている場合にも、生存と判定するので、座っている鶏を死亡鶏と誤判定する頻度を低減できる。
第25発明によれば、監視画像内の鶏が死亡鶏の特徴である倒れ、欠損、または変色を有する場合に、死亡と判定するので、死亡鶏を生きている鶏と誤判定する頻度を低減できる。
第26発明によれば、生存画像と死亡画像とを含む学習データを用いて機械学習が行なわれた学習器を用いることで、監視画像に死亡鶏が含まれるか否かを精度良く判定できる。その結果、鶏の生死を精度良く判定できる。
【図面の簡単な説明】
【0010】
【
図1】第1実施形態に係る死亡鶏検知システムの全体構成図である。
【
図2】第1実施形態における巡回ロボットの側面図である。
【
図3】第1実施形態における巡回ロボットのルートを示す鶏舎の平面図である。
【
図4】第1実施形態における鶏生死判定装置のブロック図である。
【
図5】第1実施形態における死亡鶏検知システムによる処理を示すフローチャートである。
【
図6】第1実施形態における生死判定処理の詳細を示すフローチャートである。
【
図10】図(A)は鶏の頸部が欠損している場合の欠損画像の一例である。図(B)は鶏の羽根がむしれている場合の欠損画像の一例である。
【
図11】図(A)は鶏の体の一部が変色している場合の変色画像の一例である。図(B)は鶏に血液が付着している場合の変色画像の一例である。
【
図13】図(A)は死亡鶏の角度が0°の説明図である。図(B)は死亡鶏の角度が180°の説明図である。
【
図14】図(A)は死亡鶏の向きが左向きの説明図である。図(B)は死亡鶏の向きが右向きの説明図である。
【
図15】第3実施形態における生死判定処理の詳細を示すフローチャートである。
【
図16】第4実施形態に係る死亡鶏検知システムの全体構成図である。
【
図17】第4実施形態における鶏生死判定装置のブロック図である。
【
図18】第4実施形態における生死判定処理の詳細を示すフローチャートである。
【
図19】図(A)は監視画像の一例である。図(B)は図(A)の監視画像に対応する温度画像の一例である。
【発明を実施するための形態】
【0011】
つぎに、本発明の実施形態を図面に基づき説明する。
〔第1実施形態〕
本発明の第1実施形態に係る死亡鶏検知システム1は、採卵鶏の養鶏場において、死亡鶏を自動的に検知するためのシステムである。
【0012】
(死亡鶏検知システムの全体構成)
まず、本実施形態の死亡鶏検知システム1の全体構成を説明する。
図1に示すように、死亡鶏検知システム1は巡回ロボット10を備えている。巡回ロボット10は鶏舎内を巡回してケージ内の鶏を撮影するためのロボットである。巡回ロボット10の数は特に限定されず、一つでもよいし、複数でもよい。
【0013】
巡回ロボット10は走行台車12およびカメラ13を有している。一の巡回ロボット10に搭載されるカメラ13の数は特に限定されず、一つでもよいし、複数でもよい。走行台車12およびカメラ13は巡回ロボット10の内部に構築された機内ネットワーク11に接続されている。機内ネットワーク11は、特に限定されないが、例えばLAN(Local Area Network)である。したがって、カメラ13としてネットワークカメラが好適に用いられる。
【0014】
養鶏場内には場内ネットワーク21が構築されている。場内ネットワーク21は、特に限定されないが、例えばLAN(Local Area Network)である。場内ネットワーク21には巡回ロボット制御装置22と、鶏生死判定装置30とが接続されている。
【0015】
また、場内ネットワーク21には無線親機23が接続されており、機内ネットワーク11には無線子機14が接続されている。無線親機23と無線子機14とは双方向に無線通信可能であり、場内ネットワーク21と機内ネットワーク11とを無線接続する。したがって、巡回ロボット制御装置22および鶏生死判定装置30は、巡回ロボット10の走行台車12およびカメラ13と双方向に通信可能となっている。
【0016】
巡回ロボット制御装置22は巡回ロボット10の走行などを制御する機能を有する。巡回ロボット制御装置22をPLC(Programmable Logic Controller)で構成してもよいし、CPU、メモリなどで構成されたコンピュータで構成してもよい。
【0017】
巡回ロボット10のカメラ13はケージ内の鶏を撮影する。以下、カメラ13がケージ内の鶏を撮影することにより得られた画像を「監視画像」と称する。監視画像はネットワーク11、21を介して鶏生死判定装置30に送信される。鶏生死判定装置30はカメラ13から取得した監視画像に死亡鶏が含まれるか否かを判断し、その結果に基づいて鶏の生死を判定する。
【0018】
場内ネットワーク21は通信制御装置24を介して外部ネットワーク41に接続している。外部ネットワーク41は、特に限定されないが、例えばインターネットである。外部ネットワーク41には養鶏場の職員が有する端末40が接続されている。端末40はスマートフォン、タブレット端末、携帯電話などの携帯端末でもよいし、汎用のコンピュータでもよい。端末40の数は特に限定されず、一つでもよいし、複数でもよい。
【0019】
鶏生死判定装置30は死亡鶏を検知した場合に、死亡鶏に関する情報(以下、「死亡鶏情報」と称する。)を端末40に送信する。これにより、養鶏場の職員に対して死亡鶏情報を通知する。死亡鶏情報の送信は、例えば、電子メールの送信により行なわれる。死亡鶏情報を受け取った職員は、ケージから死亡鶏を除去する作業を行なう。
【0020】
(巡回ロボット)
つぎに、巡回ロボット10の詳細を説明する。
図2に示すように、鶏舎内には複数のケージ51が設置されている。各ケージ51内で複数の鶏が飼育されている。一般に、ケージ51は横方向に連接されるとともに、縦に積み重ねられて一のケージ列50を構成している。鶏舎内にはこのようなケージ列50が複数設置されている。
【0021】
各ケージ51の前面には給餌装置52および集卵装置53が水平に設けられている。ケージ51内の鶏は給餌装置52により餌が与えられる。ケージ51の床面は後ろから前に向かって下る傾斜を有している。鶏が産み落とした卵は床面の傾斜により前方に転がり、ケージ51から排出されて集卵装置53で回収される。
【0022】
巡回ロボット10は走行台車12を有する。走行台車12はケージ列50の前方の通路を走行する。走行台車12にはポール15が立設されており、このポール15にカメラ13が固定されている。走行台車12が鶏舎の通路を走行しつつ、カメラ13でケージ51内の鶏を撮影する。
【0023】
カメラ13は鶏を撮影した画像を取得できるものであればよく、種々のカメラを採用できる。カメラ13として一般的な可視光領域のカラーカメラが好適に用いられる。この場合、監視画像は各画素の色情報からなるデジタルデータである。
【0024】
走行台車12にはケージ列50を構成するケージ51の段数と同数のカメラ13を搭載することが好ましい。例えば、ケージ列50が3段である場合、走行台車12には3台のカメラ13が搭載される。各カメラ13はそれに対応する段のケージ51に合わせて、高さが調整される。
【0025】
走行台車12に搭載するカメラ13をケージ列50の段数よりも少ない数、例えば1台としてもよい。この場合、走行台車12にカメラ13を昇降させる機構を設ければ、少数のカメラ13で複数段のケージ51の全体を撮影できる。
【0026】
給餌装置52と集卵装置53とは上下に間隔を空けて設けられている。給餌装置52と集卵装置53との間からは主に鶏の脚部を視認できる。以下、ケージ51の給餌装置52と集卵装置53との間の開口部を「脚開口部」と称する。カメラ13は脚開口部から鶏の脚部を撮影するよう、高さおよび角度を調整することが好ましい。
【0027】
一般に、鶏舎内は暗いため、カメラ13で撮影するには光量が不足することがある。この場合には、走行台車12に照明16を搭載すればよい。照明16はポール15に固定される。また、カメラ13と同数の照明16を走行台車12に搭載することが好ましい。この場合、一のカメラ13の撮影範囲を照らすように一の照明16が設けられる。
【0028】
照明16はカメラ13の撮影範囲を照らすことができればよく、種々の照明を採用できる。ただし、照明16として光の色温度が4,000~7,000Kであるものを用いることが好ましい。この種の照明には、一般に白色(4,200K)、昼白色(5,000K)、昼光色(6,000K)と称される照明が含まれる。なかでも、昼白色の照明を採用することが好ましい。
【0029】
色温度が4,000~7,000Kであれば、光の色が白に近い。このような光を発する照明16を用いれば、鶏に与えるストレスを小さくできる。鶏は自然光に慣れているため、白色に近い光を照明に用いた方が、鶏に与えるストレスを小さくできると推測される。実際に、赤色の照明を用いた場合には、鶏が騒ぎ、鶏に大きなストレスを与えることが確認されている。鶏に大きなストレスを与えると産卵に悪影響を及ぼす恐れがあり、好ましくない。
【0030】
また、照明16の光の色が白に近いので、カメラ13で撮影された監視画像に鶏の本来の色が反映されやすい。したがって、後述のごとく、監視画像の色から死亡鶏の特徴を抽出するのに適している。
【0031】
照明16はフラッシュさせず、少なくとも巡回ロボット10が鶏舎を巡回している間は常時点灯させることが好ましい。そうすれば、鶏に与えるストレスを低減できる。実際に、照明16をフラッシュさせた場合には、鶏が騒ぎ、鶏に大きなストレスを与えることが確認されている。
【0032】
図3に示すように、鶏舎には、複数のケージ列50が並んで配置されることが一般的である。ケージ列50の間には通路が設けられる。巡回ロボット10は鶏舎の通路に定められたルートRに沿って走行する。すなわち、カメラ13が搭載された走行台車12がケージ51(ケージ列50の長手方向)に沿って走行する。そのため、走行台車12に搭載された少数のカメラ13で、鶏舎に設けられた複数のケージ51全体の監視ができる。
【0033】
走行台車12としてルートR上に敷設された磁気テープに沿って走行するものを用いることができる。走行台車12としてレーザーレーダーなどのレーダーで周囲の空間を把握しつつ走行するものを用いてもよい。
【0034】
巡回ロボット制御装置22は予め定められた巡回時間が到来したときに、走行台車12に対して走行指示を開始する。例えば、巡回ロボット制御装置22は走行台車12をルートRに沿って所定距離走行させる。つぎに、巡回ロボット制御装置22は走行台車12を停止させ、カメラ13で撮影を行なう。その後、巡回ロボット制御装置22は再び走行台車12をルートRに沿って所定距離走行させる。これを繰り返すことで、ルートR上の複数の撮影ポイントでケージ51の撮影を行なう。これにより、全てのケージ51に対して監視画像を取得する。
【0035】
鶏舎に設置された各ケージ51は、ケージ列50の別を示す列番号、上段、中段、下段などを示す段番号、ケージ列50の長手方向に沿って割り振られた行番号などにより、その位置を一意に特定できる。巡回ロボット制御装置22は巡回ロボット10のルートR上の位置を示す情報を有している。この情報より、巡回ロボット制御装置22はカメラ13で撮影された監視画像に写っているケージ51の位置情報を生成できる。ここで、ケージ51の位置情報は、例えば、列番号、段番号、行番号からなる。
【0036】
監視画像はカメラ13で撮影した都度、鶏生死判定装置30に送信される。なお、巡回ロボット10が鶏舎の巡回を終えた後、例えばルートR上に設けられた待機位置に到達したときに、その巡回において撮りためた複数の監視画像を鶏生死判定装置30に送信してもよい。
【0037】
(鶏生死判定装置)
つぎに、鶏生死判定装置30の詳細を説明する。
図4は鶏生死判定装置30の構成を示したブロック図である。鶏生死判定装置30はコンピュータによって実現される。コンピュータは専用機でもよいし、汎用機でもよい。コンピュータはCPU(Central Processing Unit:中央処理装置)、GPU(Graphics Processing Unit:画像処理装置)、主記憶装置、補助記憶装置などから構成されている。
【0038】
鶏生死判定装置30の記憶装置には鶏生死判定プログラムが記憶されている。鶏生死判定プログラムは複数のサブプログラムから構成されてもよい。鶏生死判定プログラムは鶏生死判定装置30を構成するコンピュータにインストールされている。コンピュータが鶏生死判定プログラムを実行することで、鶏生死判定装置30としての機能が実現される。具体的には、画像取得部31、位置取得部32、学習器33、生死判定部34、履歴記憶部35、および通知部36が実現される。
【0039】
鶏生死判定プログラムは学習済みモデルを含む。コンピュータが鶏生死判定プログラムを実行すると、コンピュータ上に学習器33が構成される。学習器33のアルゴリズムとしては、ニューラルネットワーク、サポートベクターマシンなど、分類問題を扱うのに適したアルゴリズムが用いられる。学習器33は予め機械学習が行なわれている。機械学習の方式としては、特に限定されないが、教師あり学習が好適に用いられる。学習器33がニューラルネットワークである場合、機械学習によりニューロン間の重み付け係数が最適化される。
【0040】
機械学習は例えばつぎの手順で行なわれる。この手順は教師あり学習によるものである。
まず、機械学習に用いる学習データを用意する。学習データは訓練データと評価データとからなる。訓練データは複数の生存画像と、複数の死亡画像と、それらの画像の生死情報とからなる。評価データは複数の生存画像と、複数の死亡画像とからなり、生死情報が付されていない。
【0041】
ここで、生死画像および死亡画像は、巡回ロボット10に搭載されたカメラ13と同様の条件でケージ51内の鶏を撮影して得られた画像である。生死画像には生きている鶏のみが含まれ死亡鶏が含まれない。死亡画像には死亡鶏が含まれる。死亡画像に生きている鶏が含まれてもよい。生死情報は画像内に死亡鶏が含まれるか否かを示す情報である。訓練データを構成する生存画像には生存情報が付され、死亡画像には死亡情報が付される。生死情報は教師あり学習における教師信号である。
【0042】
学習器33に訓練データを入力し、生存画像および死亡画像それぞれの特徴量、パターンを学習させる。つぎに、学習器33に評価データを入力し、出力された生死情報が正しいか評価する。以上の訓練と評価とを、評価データに対して正しい生死情報が出力されるまで繰り返し行なう。これにより、学習器33がニューラルネットワークである場合、ニューロン間の重み付け係数が最適化される。
【0043】
以上のように、学習器33は生存画像と死亡画像とを含む学習データを用いて予め機械学習が行なわれている。そして、学習器33はカメラ13で撮影された監視画像が入力されると、監視画像に死亡鶏が含まれるか否かの判定結果を出力する。学習器33は生存画像と死亡画像とを含む学習データを用いて機械学習が行なわれているので、監視画像に死亡鶏が含まれるか否かを精度良く判定できる。その結果、鶏の生死を精度良く判定できる。
【0044】
学習器33による判定の精度は、学習データの質に依存するところがある。例えば、死亡鶏にも種々の態様がある。特定の態様の死亡鶏が学習されていないと、その態様の死亡鶏を含む監視画像が入力された場合に、生死を正確に判定できない場合がある。そこで、本願発明者は、生存画像および死亡画像をさらに種類分けし、学習器33に種々の態様の鶏を学習させることで、学習器33の判定精度をより向上させた。
【0045】
具体的には、生存画像には立ち画像と座り画像とが含まれる。
図7に例示されるように、立ち画像は画像内の全ての鶏が立っている画像である。ケージ51の脚開口部からは主に鶏の脚のみが認識できる。
図8に例示されるように、座り画像は画像内の一部の鶏が立っており残部の鶏が座っている画像である。ケージ51の脚開口部からは鶏の胴体が認識できる。
【0046】
また、死亡画像には倒れ画像、欠損画像、および変色画像が含まれる。
図9に例示されるように、倒れ画像は画像内の一部の鶏が、欠損および変色なく、倒れている画像である。ケージ51の脚開口部からは横向きになった鶏の胴体が認識できる。
図10に例示されるように、欠損画像は画像内の一部の鶏に欠損がある画像である。ここで、欠損とは鶏の体の一部が欠けていることを意味する。
図10(A)のように鶏の頸部が欠損している場合、および
図10(B)のように鶏の羽根がむしれている場合などが含まれる。死亡鶏が他の鶏に蹴られることにより欠損が生じる。
図11に例示されるように、変色画像は画像内の一部の鶏が変色している画像である。
図11(A)のように鶏の体の一部が変色している場合、および
図11(B)のように血液の付着により変色している場合などが含まれる。死亡鶏が腐敗することにより体の一部が変色したり、死亡鶏が他の鶏に蹴られて出血することにより血液が付着したりする。
【0047】
なお、死亡画像として、倒れ画像、欠損画像、および変色画像のうち、一種類のみが含まれてもよいし、複数種類が含まれてもよい。死亡画像の判定精度を向上させるという観点からは、これら全ての種類の画像が死亡画像に含まれることが好ましい。また、死亡画像として他の態様の死亡鶏を含む画像が含まれてもよい。
【0048】
学習データとして用いられる生存画像および死亡画像として、カメラで撮影された画像そのままを用いてもよいし、カメラで撮影された画像に対して何らかの処理を施した画像を用いてもよい。学習データとして処理後の画像を用いる場合には、カメラ13から取得した判定対象の監視画像にも同様の処理を施して学習器33に入力する。
【0049】
以上のように、学習器33は生存画像として立ち画像のほか、座り画像を含む学習データを用いて機械学習が行なわれている。そのため、学習器33は監視画像内の全ての鶏が立っている(立ち画像に相当する)場合、または、監視画像内の一部の鶏が立っており残部の鶏が座っている(座り画像に相当する)場合に、監視画像に死亡鶏が含まれないと判定する。監視画像内の全ての鶏が立っている場合のほか、一部の鶏が座っている場合にも、監視画像に死亡鶏が含まれないと判定するので、座っている鶏を死亡鶏と誤判定する頻度を低減できる。
【0050】
また、学習器33は死亡画像として死亡鶏の特徴を有する倒れ画像、欠損画像、および変色画像を含む学習データを用いて機械学習が行なわれている。そのため、学習器33は監視画像内の一部の鶏が倒れている(倒れ画像に相当する)場合、監視画像内の一部の鶏に欠損がある(欠損画像に相当する)場合、または、監視画像内の一部の鶏が変色している(変色画像に相当する)場合に、監視画像に死亡鶏が含まれると判定する。監視画像内の鶏が死亡鶏の特徴である倒れ、欠損、または変色を有する場合に、監視画像に死亡鶏が含まれると判定するので、死亡鶏を生きている鶏と誤判定する頻度を低減できる。
【0051】
学習器33は監視画像が入力されると、その監視画像の生死判定結果を出力する。生死判定結果は、例えば、監視画像に死亡鶏が含まれる確からしさ(確率)である。
【0052】
図4に示すように、鶏生死判定装置30は学習器33のほかに、画像取得部31、位置取得部32、生死判定部34、履歴記憶部35、および通知部36を備えている。
【0053】
画像取得部31は、巡回ロボット10のカメラ13から監視画像を取得し、取得した監視画像を学習器33に入力する。画像取得部31はカメラ13から取得した監視画像をそのまま学習器33に入力してもよいし、監視画像に対して何らかの処理を施した後に学習器33に入力してもよい。
【0054】
位置取得部32は、画像取得部31が取得した監視画像に写っているケージ51の位置情報を取得する。位置取得部32は、ケージ51の位置情報を、例えば巡回ロボット制御装置22から取得する。
【0055】
生死判定部34は学習器33から出力された生死判定結果に基づき、最終的な生死判定を行なう。学習器33は生死判定結果として監視画像に死亡鶏が含まれる確率(以下、「死亡確率」と称する。)を出力する。生死判定部34は死亡確率が死亡閾値以上である場合に「死亡」と判定する。また、生死判定部34は死亡確率が生存閾値以下である場合に「生存」と判定する。さらに、生死判定部34は死亡確率が生存閾値を超え、死亡閾値未満である場合に「生死不明」と判定する。
【0056】
死亡閾値および生存閾値は予め設定されている。死亡閾値は生存閾値よりも高い値である。例えば、死亡閾値は80%、生存閾値は20%と設定される。この場合、死亡確率が80%以上であれば「死亡」と判定する。死亡確率が20%以下であれば「生存」と判定する。死亡確率が20%を超え、80%未満であれば「生死不明」と判定する。
【0057】
このように、鶏の生死を死亡、生存、生死不明の三段階で判定することにより、生死の判定が困難な監視画像に基づいて無理に死亡、生存の判定をすることを回避できる。そのため、誤検知の頻度を低減できる。
【0058】
履歴記憶部35は、生死判定部34による生死の判定結果(死亡、生存、生死不明)を、その判定の根拠となった監視画像が撮影されたケージ51の位置情報と対応させた状態で記憶する。ここで、ケージ51の位置情報は位置取得部32から入力される。巡回ロボット10は鶏舎の巡回を定期または不定期で繰り返し行ない、監視画像を撮影する。履歴記憶部35は、巡回ロボット10の巡回ごとに、判定結果を履歴として記憶する。
【0059】
通知部36は、生死判定部34が死亡判定した場合に、死亡鶏情報を通知する。死亡鶏情報の通知は、例えば、職員が有する端末40に電子メールを送信することにより行なわれる。なお、端末40に専用のアプリケーションをインストールしておき、そのアプリケーションを介して死亡鶏情報を通知してもよい。死亡鶏情報を通知することで、職員に死亡鶏の除去を促すことができる。
【0060】
死亡鶏情報に死亡判定の根拠となった監視画像を含めてもよい。監視画像を通知することで、人間による鶏の生死の判断を行なうことができる。鶏生死判定装置30が死亡と判定したとしても、人間の目では監視画像に死亡鶏が確認できない場合には、死亡鶏の除去作業を行なう必要がない。そのため、職員の負担を軽減できる。
【0061】
死亡判定の根拠となった監視画像が撮影されたケージ51の位置情報を死亡鶏情報に含めてもよい。ケージ51の位置情報が通知されるので、職員が死亡鶏の位置を把握でき、死亡鶏の除去作業が容易になる。また、死亡鶏情報に監視画像の撮影日時を含めてもよい。そうすれば、死亡鶏の発生日時を把握できる。
【0062】
(死亡鶏検知システムの処理)
つぎに、
図5に示すフローチャートに基づき、死亡鶏検知システム1の動作および処理を説明する。
巡回ロボット10は予め定められた巡回開始時刻が到来したときに、鶏舎の巡回を開始する。巡回開始時刻は、例えば、1日のうちの一の時刻でもよいし、複数の時刻でもよい。
【0063】
巡回開始時刻は巡回ロボット制御装置22に記憶されている。巡回ロボット制御装置22は巡回開始時刻が到来した後に、巡回ロボット10に対して走行指示を行なう(ステップS21)。走行指示を受け取った巡回ロボット10は、鶏舎内に設定されたルートRに沿って所定距離走行した後、停止する(ステップS31)。
【0064】
つぎに、巡回ロボット制御装置22は巡回ロボット10に対して撮影指示を行なう(ステップS22)。撮影指示を受け取った巡回ロボット10は、搭載されたカメラ13で監視画像の撮影を行なう(ステップS32)。そして、巡回ロボット10は監視画像を鶏生死判定装置30に送信する(ステップS33)。
【0065】
以上の巡回ロボット10の走行および撮影は、巡回ロボット10が鶏舎全体を巡回し終わるまで繰り返し行なわれる。
【0066】
鶏生死判定装置30の画像取得部31は、巡回ロボット10から監視画像を受信する(ステップS11)。そうすると、鶏生死判定装置30の位置取得部32は、巡回ロボット制御装置22に対して、監視画像が撮影されたケージ51の位置を問い合わせる。巡回ロボット制御装置22はケージ51の位置情報を鶏生死判定装置30に送信する(ステップS23)。そして、鶏生死判定装置30はケージ51の位置情報を受信する(ステップS12)。これにより、鶏生死判定装置30は監視画像とそれに対応する位置情報とを保有することとなる。なお、位置取得部32は巡回ロボット制御装置22から監視画像の撮影日時を取得してもよい。
【0067】
つぎに、鶏生死判定装置30は取得した監視画像に基づいて鶏の生死を判定する生死判定処理を行なう(ステップS13)。鶏生死判定装置30は生存判定、死亡判定、生死不明判定のいずれかを行なう。生死判定処理の詳細は後述する。
【0068】
生死判定処理の結果が死亡判定の場合(ステップS14でYesの場合)、鶏生死判定装置30の通知部36は死亡鶏情報を通知する(ステップS15)。通知部36は、例えば、死亡鶏情報を含む電子メールを職員が有する端末40に送信する。
【0069】
生死判定処理の結果が生存判定または生死不明判定の場合(ステップS14でNoの場合)、鶏生死判定装置30は通知を行なうことなく処理を終了する。
【0070】
鶏生死判定装置30の監視画像受信(ステップS11)から通知(ステップS15)までの処理は、巡回ロボット10から監視画像を受信するたびに行なわれる。
【0071】
つぎに、
図6に示すフローチャートに基づき、生死判定処理の詳細を説明する。
鶏生死判定装置30の画像取得部31は、巡回ロボット10から取得した監視画像をそのまま、あるいは何らかの処理を施した後に学習器33に入力する。学習器33は入力された監視画像に死亡鶏が含まれる確率、すなわち死亡確率を求める(ステップS13.1)。
【0072】
生死判定部34は求められた死亡確率と生存閾値とを比較する(ステップS13.2)。死亡確率が生存閾値以下の場合、生死判定部34は生存判定を行なう(ステップS13.3)。そして、履歴記憶部35は監視画像の撮影日時、ケージ51の位置情報、監視画像、判定結果(生存判定)などの情報を記憶する。
【0073】
ステップS13.2において死亡確率が生存閾値を超える場合、生死判定部34は死亡確率と死亡閾値とを比較する(ステップS13.4)。死亡確率が死亡閾値以上の場合、生死判定部34は死亡判定を行なう(ステップS13.5)。そして、履歴記憶部35は監視画像の撮影日時、ケージ51の位置情報、監視画像、判定結果(死亡判定)などの情報を記憶する。
【0074】
ステップS13.4において死亡確率が死亡閾値未満の場合、生死判定部34は生死不明判定を行なう(ステップS13.6)。そして、履歴記憶部35は監視画像の撮影日時、ケージ51の位置情報、監視画像、判定結果(生死不明判定)などの情報を記憶する。
【0075】
以上のように、鶏の生死を死亡、生存、生死不明の三段階で判定することにより、生死の判定が困難な監視画像に基づいて無理に死亡、生存の判定をすることを回避できる。そのため、誤検知の頻度を低減できる。
【0076】
ところで、ステップS15の通知(
図5参照)を、死亡判定の場合のみならず、生死不明判定が連続する場合にも行なってもよい。例えば、通知部36は、履歴記憶部35に記憶された判定結果の履歴を参照し、同一位置のケージ51を繰り返し撮影して得られた複数の監視画像に基づいて、いずれも生死不明判定であった場合に、通知を行なう。ここで、通知を行なう生死不明判定の連続回数は、2回、3回など、任意の回数に設定すればよい。
【0077】
この場合、通知部36は生死不明情報を端末40に送信する。生死不明情報には生死不明判定の根拠となった監視画像を含めることが好ましい。監視画像を通知することで、人間による鶏の生死の判断を行なうことができる。通知を受けた職員が鶏の生死の判断を行ない、必要な場合に(死亡と判断した場合に)、死亡鶏を除去する作業を行なえばよい。
【0078】
このように、同一位置のケージ51を繰り返し撮影して得られた、時系列的に連続する複数の監視画像に基づいて、いずれも生死不明と判定した場合にも通知することで、検知漏れの死亡鶏が放置される可能性を低減できる。
【0079】
〔第2実施形態〕
つぎに、本発明の第2実施形態に係る死亡鶏検知システムを説明する。
前述のごとく、学習器33による判定の精度は、学習データの質に依存するところがある。学習データを構成する死亡画像として、種々のパターンの画像を用意しておいたほうが、学習器33の判定精度が高くなる。
【0080】
死亡画像のパターン化の指標として、(1)死亡鶏の種類、(2)死亡鶏のケージ内の位置、(3)死亡鶏の角度、(4)死亡鶏の向き、(5)ケージの構成が挙げられる。以下、順に説明する。
【0081】
(1)死亡鶏の種類
死亡鶏の種類とは、死亡鶏の態様を分類したものである。死亡鶏の種類として、「倒れ」、「欠損」、「変色」の3パターンが挙げられる。「倒れ」とは鶏が、欠損および変色なく、倒れていることを意味する。「欠損」とは鶏の体の一部が欠けていることを意味する。「変色」とは鶏の体が腐敗、血液の付着などにより変色していることを意味する。第1実施形態における「倒れ画像」、「欠損画像」、および「変色画像」は死亡鶏の種類の3パターンの画像に相当する。なお、「倒れ」、「欠損」、「変色」の3パターンのうち、一部を用いてもよいし、他の態様を追加してもよい。
【0082】
(2)死亡鶏のケージ内の位置
死亡鶏のケージ内の位置とは、ケージ内において死亡鶏が存在する位置を分類したものである。例えば、
図12に示すように、カメラ13を正面として、ケージ51内を横方向に左、中、右と3分割し、奥行方向に前、中、奥と3分割する。そうすると、ケージ51内が9領域に分割される。
図12に示す例では、死亡鶏は右奥の領域に存在する。死亡鶏が存在する領域の違いにより、9パターンの画像が得られる。なお、ケージ51内をより細かく分割してもよいし、より粗く分割してもよい。
【0083】
(3)死亡鶏の角度
死亡鶏の角度とは、ケージの床面に倒れている死亡鶏を上から見た時の、死亡鶏の頭の向きを分類したものである。例えば、
図13(A)に示すように、死亡鶏の頭がケージ51の奥方向に向いている場合を0°とする。そうすると、
図13(B)に示すように、死亡鶏の頭がケージ51の前方向に向いている場合は180°となる。水平面内の全方向360°を15°ずつの範囲に分け、各方向に死亡鶏を向けて撮影すれば、24パターンの画像が得られる。なお、角度をより細かく分割してもよいし、より粗く分割してもよい。
【0084】
(4)死亡鶏の向き
死亡鶏の向きとは、死亡鶏の体の中心軸周りの角度を分類したものである。例えば、
図14(A)に示す姿勢の死亡鶏を左向きとする。また、
図14(B)に示す姿勢の死亡鶏を右向きとする。このように、死亡鶏の向きとして、「左向き」、「右向き」の2パターンを挙げることができる。また、「うつ伏せ」、「仰向け」の2パターンを追加してもよい。
【0085】
(5)ケージの構成
ケージの構成とは、死亡画像に写り込むケージの構成の相違を分類したものである。ケージ列50はフレームにより支えられているため、ケージ51の位置(列、段、行)によって、死亡画像にフレームが写り込む場合と、写り込まない場合とがある。例えば、フレームの写り込みの有り、無しで2パターンとすればよい。
【0086】
以上の(1)死亡鶏の種類、(2)死亡鶏のケージ内の位置、(3)死亡鶏の角度、(4)死亡鶏の向き、(5)ケージの構成のうち、一の指標のみを採用してもよいし、任意の複数の指標を組み合わせてもよい。例えば、(1)死亡鶏の種類を3パターン、(2)死亡鶏のケージ内の位置を9パターン、(3)死亡鶏の角度を24パターン、(4)死亡鶏の向きを2パターン、(5)ケージの構成を2パターンとし、それら全ての組み合わせとすると、2,592パターンとなる。
【0087】
選択した指標に従い、死亡鶏の姿勢などを変更しつつ撮影して、複数パターンの画像を得る。それらの画像を死亡画像として用いて機械学習を行なう。種々のパターンの死亡画像を用いて機械学習を行なうことで、学習器33の誤判定率を低減できる。
【0088】
〔第3実施形態〕
つぎに、本発明の第3実施形態に係る死亡鶏検知システムを説明する。
鶏生死判定装置30を構成する生死判定部34(
図4参照)は、生死不明判定が連続する場合に、死亡と再判定してもよい。具体的には、生死判定部34は、履歴記憶部35に記憶された判定結果の履歴を参照し、同一位置のケージ51を繰り返し撮影して得られた複数の監視画像に基づいて、いずれも生死不明と判定した場合に、判定結果を「死亡」に変更する。このような判定を行なうことで、死亡鶏の検知漏れを低減できる。
【0089】
図15に示すフローチャートに基づき、本実施形態における生死判定処理の詳細を説明する。
ステップS13.1~S13.5は、第1実施形態と同様であるので説明を省略する(
図6参照)。ステップS13.4において死亡確率が死亡閾値未満の場合、生死判定部34は生死不明と仮判定する(ステップS13.7)。つぎに、生死判定部34は履歴記憶部35から前回の巡回における同一位置のケージ51の判定結果を取得する(ステップS13.8)。前回の判定結果が生存判定または死亡判定である場合(ステップS13.9でNoの場合)、生死判定部34は生死不明と判定する(ステップS13.10)。
【0090】
ステップS13.8で取得した前回の判定結果が生死不明判定である場合、すなわち、同一位置のケージ51の判定結果が2回連続で生死不明である場合(ステップS13.9でYesの場合)、生死判定部34は死亡と再判定する(ステップS13.5)。なお、ステップS13.9において、生死不明判定の連続回数は2回でなくてもよく、3回以上の任意の回数に設定できる。
【0091】
以上のように、同一位置のケージ51を繰り返し撮影して得られた、時系列的に連続する複数の監視画像に基づいて、いずれも生死不明と判定した場合に、最終的に死亡と判断する。このような処理とすることで、死亡鶏の検知漏れを低減できる。
【0092】
〔第4実施形態〕
つぎに、本発明の第4実施形態に係る死亡鶏検知システム4を説明する。
図16に示すように、本実施形態の死亡鶏検知システム4は、カメラ13(カラーカメラ)に加えて、サーモグラフィカメラ17を備える。その予の構成は第1実施形態と同様であるので、同一部材に同一符号を付して説明を省略する。
【0093】
サーモグラフィカメラ17は対象物の温度分布を画像として撮影するカメラである。サーモグラフィカメラ17は、カメラ13と同様に、ケージ51内の鶏を撮影する。以下、サーモグラフィカメラ17がケージ51内の鶏を撮影することにより得られた画像を「温度画像」と称する。
【0094】
サーモグラフィカメラ17の画角とカメラ13の画角とはほぼ同一であることが好ましい。そうすれば、カメラ13で得られた監視画像と、サーモグラフィカメラ17で得られた温度画像との比較が容易である。そのため、サーモグラフィカメラ17は巡回ロボット10に搭載される。例えば、サーモグラフィカメラ17は巡回ロボット10のポール15にカメラ13と横並びに固定される(
図2参照)。
【0095】
サーモグラフィカメラ17は機内ネットワーク11に接続されている。したがって、サーモグラフィカメラ17と鶏生死判定装置30とは双方向に通信可能となっている。サーモグラフィカメラ17で得られた温度画像はネットワーク11、21を介して鶏生死判定装置30に送信される。
【0096】
図17に示すように、本実施形態の鶏生死判定装置30は温度判定部37を有する。温度判定部37はコンピュータが鶏生死判定プログラムを実行することで実現される。その予の構成は、第1実施形態と同様であるので、同一部材に同一符号を付して説明を省略する。
【0097】
画像取得部31は、サーモグラフィカメラ17から温度画像を取得し、取得した温度画像を温度判定部37に入力する。生死判定部34が生死不明と判定した場合、温度判定部37は温度画像に基づいて、生死の判定を再度行なう。
【0098】
つぎに、
図5に示すフローチャートに基づき、死亡鶏検知システム4の処理を説明する。
本実施形態の死亡鶏検知システム4の処理は、基本的に第1実施形態と同様であるので、第1実施形態との相違点を主として説明する。
【0099】
巡回ロボット制御装置22から撮影指示を受け取った巡回ロボット10は、カメラ13で監視画像の撮影を行なうとともに、サーモグラフィカメラ17で温度画像の撮影を行なう(ステップS32)。すなわち、同一位置のケージ51に対して、同一タイミングで監視画像および温度画像の撮影を行なう。巡回ロボット10は監視画像および温度画像を鶏生死判定装置30に送信する(ステップS33)。
【0100】
鶏生死判定装置30は取得した監視画像および温度画像に基づいて生死判定処理を行なう(ステップS13)。
【0101】
図18に示すフローチャートに基づき、本実施形態における生死判定処理の詳細を説明する。
ステップS13.1~S13.5は、第1実施形態と同様であるので説明を省略する(
図6参照)。ステップS13.4において死亡確率が死亡閾値未満の場合、生死判定部34は生死不明と仮判定する(ステップS13.11)。
【0102】
つぎに、温度判定部37は温度画像から生死不明の鶏の温度を取得する(ステップS13.12)。具体的には、ステップS13.1において、学習器33は監視画像に死亡鶏が含まれる確率(死亡確率)を求めるとともに、死亡確率の算定の根拠となった鶏の監視画像中の領域を出力する。したがって、ステップS13.11において生死不明と仮判定した場合、学習器33の出力から監視画像における生死不明の鶏の領域が分かることとなる。
【0103】
温度判定部37は学習器33が死亡確率を算定した監視画像と同タイミングで撮影された温度画像を画像取得部31から取得する。例えば、
図19(A)に示される監視画像に対して、
図19(B)に示される温度画像が取得される。
【0104】
温度判定部37は、監視画像における生死不明の鶏の領域に基づき、温度画像における生死不明の鶏の領域を画定する。監視画像と温度画像とで、画角がほぼ同一であれば、監視画像における領域を、そのまま温度画像における領域に置き換えることができる。
【0105】
つぎに、温度判定部37は温度画像から生死不明の鶏の領域の温度(鶏温度)を取得する。ここで、生死不明の鶏の領域の平均温度を鶏温度としてもよいし、最高温度を鶏温度としてもよい。
【0106】
つぎに、生死判定部34は温度判定部37が求めた鶏温度と温度閾値とを比較する(ステップS13.13)。そして、鶏温度が温度閾値以下である場合に「死亡」と再判定する(ステップS13.3)。逆に、鶏温度が温度閾値を超える場合には「生存」と再判定すればよい(ステップS13.4)。
【0107】
ここで、温度閾値は、生きている鶏の平均的な体温よりも低い温度(例えば、30℃)に設定される。鶏は死亡した直後から冷える始め、温度が低くなる。生死不明の鶏の温度が温度閾値よりも低い場合には、死亡鶏である可能性が高い。
【0108】
なお、温度閾値を二段階で定めておき、鶏温度が2つの閾値の間である場合には、生死不明と判定してもよい。
【0109】
以上のように、監視画像に基づいて生死不明と判定した場合に、温度画像に基づいて生死の判定を再度行なう。そのため、生死不明として処理される件数を低減できる。そのため、職員が監視画像を見て鶏の生死の判断を行なう作業を削減できる。また、死亡鶏の検知漏れを低減できる。
【0110】
〔その他の実施形態〕
上記実施形態における鶏生死判定装置30は監視画像に基づく鶏の生死の判定を学習済みの学習器33を用いて行なう構成であるが、これに限定されない。鶏生死判定装置30は監視画像に対して何らかの処理を施して特徴を抽出し、鶏の生死を判定できればよい。監視画像に死亡鶏が含まれるか否かに基づいて鶏の生死を判定することで、死亡鶏を精度良く検知できる。
【0111】
具体的には、監視画像内の全ての鶏が立っている、または、監視画像内の一部の鶏が立っており残部の鶏が座っている場合に、生存と判定すればよい。このような判定をすれば、座っている鶏を死亡鶏と誤判定する頻度を低減できる。
【0112】
また、監視画像内の一部の鶏が倒れている、監視画像内の一部の鶏に欠損がある、または、監視画像内の一部の鶏が変色している場合に、死亡と判定すればよい。監視画像内の鶏が死亡鶏の特徴である倒れ、欠損、または変色を有する場合に、死亡と判定することで、死亡鶏を生きている鶏と誤判定する頻度を低減できる。
【0113】
ケージ51内の鶏を撮影するカメラ13およびサーモグラフィカメラ17は走行台車12に搭載されていなくてもよい。例えば、ケージ51ごとにカメラ13およびサーモグラフィカメラ17を設けてもよい。同様に、照明16を走行台車12に搭載しなくてもよい。照明16をケージ51に直接設けてもよいし、鶏舎全体を照らす照明16を用いてもよい。
【0114】
ケージ51の位置情報を示すプレートなどの表示物をケージ51に直接貼り付けてもよい。表示物を撮影領域に収めて監視画像を撮影すれば、職員が通知された監視画像を確認することで、そのケージ51の位置情報を把握できる。したがって、この場合、鶏生死判定装置30は巡回ロボット制御装置22からケージ51の位置情報を取得しなくてもよい。
【0115】
死亡鶏情報の通知は電子メールによる方法に限定されない。鶏生死判定装置30に接続されたディスプレイなどに表示する方法でもよい。
【0116】
鶏生死判定装置30の設置位置は特に限定されない。養鶏場内に設置してもよいし、養鶏場外に設置してもよい。鶏生死判定装置30を養鶏場外に設置する場合、鶏生死判定装置30は、例えば、インターネットを介して巡回ロボット10と通信することとなる。この場合、鶏生死判定装置30をいわゆるクラウドシステムとして構成してもよい。また、鶏生死判定装置30を巡回ロボット10に搭載してもよい。
【実施例0117】
つぎに、実施例を説明する。
(実施例1)
コンピュータ上に構成されたニューラルネットワークを教師あり学習により機械学習して、学習済みモデルを作成した。学習データは生存画像と死亡画像とからなる。生存画像として、立ち画像を700枚、座り画像を700枚用意した。死亡画像として、倒れ画像を72枚、欠損画像を5枚、変色画像を14枚用意した。
【0118】
上記学習データを用いて学習した後の学習済みモデルに対して、学習データとして用いていない新たな生存画像を877枚入力して、それぞれに対して生死判定を行なった。ここで、学習済みモデルが出力する死亡確率が80%以上であれば「死亡」と判定する。死亡確率が20%以下であれば「生存」と判定する。死亡確率が20%を超え、80%未満であれば「生死不明」と判定する。
【0119】
その結果、「生存」と正しく判定した確率は79.0%であった。「生死不明」と判定した確率は14.7%であった。また、「死亡」と誤判定した確率は6.3%であった。
【0120】
また、学習済みモデルに対して、学習データとして用いていない新たな死亡画像を545枚入力して、それぞれに対して生死判定を行なった。その結果、「死亡」と正しく判定した確率は84.0%であった。「生死不明」と判定した確率は9.9%であった。また、「生存」と誤判定した確率は6.1%であった。
【0121】
(実施例2)
コンピュータ上に構成されたニューラルネットワークを教師あり学習により機械学習して、学習済みモデルを作成した。学習データは生存画像と死亡画像とからなる。生存画像として、立ち画像を700枚、座り画像を700枚用意した。
【0122】
死亡画像として、(1)死亡鶏の種類、(2)死亡鶏のケージ内の位置、(3)死亡鶏の角度、(4)死亡鶏の向き、および(5)ケージの構成を変更しつつ撮影して得られた画像を用意した。
【0123】
ここで、(1)死亡鶏の種類は「倒れ」、「欠損」、「変色」の3パターンとした。(2)死亡鶏のケージ内の位置は横方向に3分割、奥行方向に3分割した9パターンとした。(3)死亡鶏の角度は全方向360°を15°ずつの範囲に分けた24パターンとした。(4)死亡鶏の向きは「左向き」、「右向き」の2パターンとした。(5)ケージの構成はフレームの写り込みの有り、無しで2パターンとした。これらの組み合わせとして、2,592パターンの画像を1枚ずつ用意した。
【0124】
上記学習データを用いて学習した後の学習済みモデルに対して、学習データとして用いていない新たな生存画像を251枚入力して、それぞれに対して生死判定を行なった。その結果、「生存」と正しく判定した確率は83.7%であった。「生死不明」と判定した確率は15.9%であった。また、「死亡」と誤判定した確率は0.4%であった。
【0125】
また、学習済みモデルに対して、学習データとして用いていない新たな死亡画像を265枚入力して、それぞれに対して生死判定を行なった。その結果、「死亡」と正しく判定した確率は75.8%であった。「生死不明」と判定した確率は20.4%であった。また、「生存」と誤判定した確率は3.8%であった。
【0126】
実施例1に比べて実施例2の方が、生存画像を「死亡」と誤判定する確率が5.9%低い。また、実施例1に比べて実施例2の方が、死亡画像を「生存」と誤判定する確率が2.3%低い。これより、実施例2の学習方法を採用すれば、学習器の誤判定率を低減できることが確認された。