上述の従来技術では、鶏の色と体温との2つのパラメータで判定するので、1回の撮像画像でも、斃死鶏は比較的正確に検出することができる。しかしながら、死んでから、変色や温度が低下する迄なので、判定にかなりの時間を要するとともに、斃死までは至らずとも、その手前の弱った鶏までは見付ることはできない。弱った鶏は、産卵せず、餌を無駄食いするだけでなく、特に集卵の邪魔になってしまう。
また、東西産業貿易株式会社の斃死鶏ナビゲーションシステムでは、早朝にケージ内を撮影し、その撮影画像から、AIで動きの無いのを斃死鶏と判定している。しかしながら、この従来技術でも、1回の撮像画像から判断しているので、たとえば撮影が、産卵している早朝、休んでいる夕方、或いは餌と餌の活動の弱い時になってしまえば、正確な判定が困難である。
本発明の目的は、斃死鶏や弱った鶏を正確、かつ速やかに検出することができる斃死鶏検出装置およびそれを備える養鶏システムを提供することである。
本発明の斃死鶏検出装置は、鶏を収容したケージ内の斃死鶏を検出する装置において、前記ケージは、少なくとも横方向に複数並べられており、その横方向に移動しつつ、前記ケージ内部を連続画像で撮像する撮像装置と、前記撮像装置の撮像画像を解析し、前記斃死鶏であるか否かを仮判定する第1の判定手段と、予め定める複数回分の前記第1の判定手段の判定結果を、前記撮像装置の移動位置基準を一致させて積算し、予め定める閾値以上で実際の斃死鶏と本判定する第2の判定手段とを含むことを特徴とする。
上記の構成によれば、ケージ内の斃死鶏を検出するにあたって、多数の鶏を収容したケージを横(水平)方向に並べて成る(勿論、上下(垂直)方向にも多段に並べるケースが殆ど) 大規模な鶏舎では、各ケージを常時観察しておくのは現実的でない。そこで、自走する台車や、好ましくは、走行しながら餌を投下してゆく給餌装置に撮像装置を設けて、横方向に移動しつつ、前記ケージ内部を撮像するようにする。そして、その撮像画像を解析し、前記斃死鶏を判定するにあたって、1回の画像から判定していたのでは、動きなど、細かなことが分からないので、前記撮像装置は連続画像を撮像し、第1の判定手段は、その撮像画像をたとえばフレーム毎に画像認識することなどにより(たとえば、腹が見えて倒れている)、斃死鶏であるか否かを、仮判定する。
しかしながら、この仮判定では、たとえば食後に休んでいたり、産卵のため腹を着けていたりするような状態でも、斃死鶏と判定してしまう可能性がある。そこで、第2の判定手段を設け、前記第1の判定手段の仮判定結果を、予め定める複数回分(時系列方向に)積算する。その際、撮像装置は移動しているので、移動位置基準、たとえば壁やケージの金網の部分が一致するようにタイミング調整して、前記仮判定結果を積算する。その積算値は、所定の閾値と比較し、閾値以上で実際の斃死鶏と本判定する。
したがって、斃死鶏の判定を、移動する撮像装置の1回の撮像結果から判定するのではなく、同じ場所で、違う時間帯の繰返しの判定結果から判定するので、判定までに少なくとも前記閾値の回数分の移動(撮像)が必要になり、多少の時間を要するものの、それでも比較的速やかに、斃死鶏から、弱っている鶏までを正確に検出することができる。そして、作業者が本判定結果に従い、対応するケージに行けば、必ず、斃死鶏や弱っている鶏が居ることになり、それらを除去する作業効率を向上することができるとともに、空振りが無く、作業者の信頼を得ることができる。
また、本発明の斃死鶏検出装置では、前記撮像装置は、給餌装置、またはその給餌装置に追走する台車に設けられることを特徴とする。
上記の構成によれば、多数の鶏を収容したケージを横(水平)方向に、さらに上下(垂直)方向に多段に並べて成る大規模な鶏舎では、その横方向に敷設されたレールなどに沿って、各ケージの前を予め定められた時間に順次移動しながら、前記各ケージに設けられた餌受け(給餌トレイ)に餌を投入してゆくことで自動給餌を行う装置が用いられている。そして、養鶏業者によって給餌の回数や時間帯は若干異なるものの、夜間は鶏を休ませるので、給餌は、たとえば日中5~6回行われる。そこで、この給餌装置またはこれに追走する台車に、たとえばケージが多段に積層されていれば各段、両側にケージが設けられる場合は両側の各段の餌の投餌口付近に、前記撮像装置を据付ける。
そして、鶏は、餌を食べる時は立ち、活発に動くので、この給餌のタイミングで鶏を観察すれば、特に餌受け(給餌トレイ)付近の低い視点から鶏の足元を見れば、斃死鶏であるか否か、また夏バテなどで弱っているか否かの健康状態まで、効率的に判定することができる。具体的には、その給餌のタイミングで、腹が見えていたり、鶏冠が見えていたり、或いは立っていれば少しは動くはずの足の動きから判定することができる。
このように鶏を観察するタイミングを調整するだけで、比較的正確かつ容易に、斃死鶏を見付けることができる。また、給餌の頻繁なタイミング毎に観察を行うことで、速やかに斃死鶏を見付けることができる。また、給餌装置に撮像装置を設ける場合には、特許文献1のような専用の装置を設ける必要がなくなる。一方、既に給餌装置が設置されている場合、同じ通路やレールを使用して、この給餌装置に追走する台車を用い、この台車に前記撮像装置を設けることで、給餌のタイミングで鶏を観察することができる斃死鶏検出装置を、後付けすることができる。
さらにまた、本発明の斃死鶏検出装置では、前記撮像装置は、相対的に上方に配置される餌受け(給餌トレイ)と、下方に配置される卵受けとの間の隙間から、前記ケージ内部を観察することを特徴とする。
上記の構成によれば、餌受け(給餌トレイ)は、樋のように横(水平)方向に連続して形成されているので、前記の低い視点で鶏の足付近を観察するにあたって障害となるが、同様に樋のように横(水平)方向に連続して形成される卵受けとは、段違いとなっており、この間の隙間から覗くように撮像装置を据付けることで、前記の鶏の足付近を、各ケージ間、連続して、障害無く観察し続けることができ、好適である。
また、本発明の斃死鶏検出装置では、前記撮像装置は前記給餌装置に設けられ、該給餌装置には前記撮像装置による撮像画像を記録する記録装置をさらに備え、該給餌装置への餌の補充基点において、前記記録装置の撮像画像を前記第1の判定手段に転送することを特徴とする。
上記の構成によれば、給餌装置は、前記のように、たとえば1日に5~6回、ケージの前を往復するが、往復の毎に、基点では餌の補充を行う必要がある。そこで、撮像装置による撮像画像を記録装置に記録しておき、その補充基点で、Wi-Fi(登録商標)等の近距離の簡易な無線通信で、前記記録装置から撮像画像のデータを第1の判定手段に纏めて吸上げるようにする。そうすることで、給餌装置に斃死鶏の検出のための配線を引回したり、広い(長い)鶏舎に、大掛かりな無線通信設備を設置する必要は無く、給餌装置には、従来の電力線と、必要な制御線程度の引回しでよい。
さらにまた、本発明の斃死鶏検出装置では、前記第1の判定手段は、前記仮判定を、前記撮像装置の連続画像を解析し、フレーム毎に、前記斃死鶏であるか否かの2値判定で行うとともに、前記移動位置基準を通過中であるか否かの2値判定を行い、前記第2の判定手段は、前記移動位置基準が一致するように、前記斃死鶏であるか否かの2値判定結果の時間軸をずらして前記予め定める複数回分積算を行うことを特徴とする。
上記の構成によれば、第1の判定手段は、連続画像から、フレーム毎に前記斃死鶏であるか否かを、2値で仮判定するとともに、壁やケージの金網のような移動位置基準を、そのフレームで通過しているか否かを判定する。そして、第2の判定手段は、前記斃死鶏であるか否かの2値判定結果の積算を行うにあたって、前記移動位置基準が一致するように、この斃死鶏であるか否かの2値判定結果の時間軸を調整する。
したがって、前記給餌装置や台車などの走行速度がばらつき、前記移動位置基準間(1つのケージ)での撮像フレーム数が異なることになっても、その時間のずれを調整し、前記斃死鶏であるか否かの2値の仮判定結果を、時系列に所定フレーム分、正確に積算することができる。前記走行速度のばらつきは、換気や冷却用の送風の風向や風量、車輪のスリップ、或いは駆動電圧や負荷の違い(餌の量)などによって生じる。これによって、斃死鶏であるか否かの本判定の結果を正確に求めることができる。
また、本発明の斃死鶏検出装置では、前記第2の判定手段は、前記斃死鶏であるか否かの2値の判定結果を、予め定めるビット数に整合して前記予め定める複数回分積算を行うことを特徴とする。
上記の構成によれば、斃死鶏の判定を、第1の判定手段で、移動する撮像装置の1回の撮像結果から判定するのではなく、それを仮判定結果として、第2の判定手段で、該仮判定結果を積算して本判定を行うにあたって、前記撮像装置の移動位置基準、たとえば壁やケージの金網の部分が一致するようにタイミング調整して、前記仮判定結果を積算する。その積算の際、たとえば、第1の判定手段での斃死鶏であるか否かの2値の判定結果が、第2の判定手段で、前記移動位置基準間、すなわち1つのケージに所定のビット(フレーム)数より、少ない場合はダミービット(フレーム)を挿入し、多い場合はビット(フレーム)削除する。或いは、前記1つのケージに所定のビット(フレーム)数を決めずに、一番、ビット(フレーム)数の多いデータに合せて、ダミービット(フレーム)を挿入する。
これによって、タイミング調整して判定結果を積算するにあたって、撮像装置の移動速度のばらつき(コマ(フレーム)数)を補償することができる。
さらにまた、本発明の斃死鶏検出装置では、前記第2の判定手段は、前記積算の結果を基準データとして、前後に1フレームずつずらしたデータを作成し、それら3つのデータを相互に加算した結果を、前記予め定める閾値と比較することを特徴とする。
上記の構成によれば、たまたま同じタイミングで斃死鶏の検知漏れがあり、それが積算の結果(カウント値)に反映されていても、タイミングを前後にずらしたデータを加えて、閾値と比較することで、そのような検知漏れを補償して、正確な判定を行うことができる。
さらにまた、本発明の養鶏システムでは、前記の斃死鶏検出装置を備えることを特徴とする。
上記の構成によれば、斃死鶏から弱っている鶏を、容易かつ速やかに見付けることができる養鶏システムを実現することができる。
本発明の斃死鶏検出装置およびそれを備える養鶏システムは、以上のように、撮像装置を横方向に移動しつつケージ内を撮像し、その撮像画像を解析し、前記斃死鶏を判定するにあたって、第1の判定手段は、連続画像のそれぞれにおいて、腹が見えて倒れている等の鶏の態様などから、斃死鶏であるか否かを仮判定し、さらに第2の判定手段で、前記連続画像の移動位置基準、たとえば壁やケージの金網の部分が一致するようにタイミング調整して、前記仮判定結果を積算し、所定の閾値と比較して実際の斃死鶏を本判定する。
それゆえ、判定迄に多少の時間を要するものの、同じ場所で、違う時間帯の繰返しの判定結果から判定するので、斃死鶏から、弱っている鶏までを正確に検出することができる。
図1は、本発明の実施の一形態に係る斃死鶏検出装置を備える養鶏システムのブロック図である。図1(a)は、鶏舎1を正面から見た図であり、図1(b)は、側面から見た図である。本実施形態の斃死鶏検出装置は、大略的に、1または複数棟の鶏舎1で飼育している多数の鶏の健康状態、特に斃死鶏を、事務所11で監視し、飼育員等が保持するモバイル端末12で、その情報を共有するものである。なお、飼育する鶏は、卵を産む雌に限らず、肉用の鶏や、成鳥までの生育段階の鶏でもよい。また、本件明細書において、斃死鶏や健康状態の悪い(弱った)鶏を検出する以外の通常の飼育に関する部分の説明は省略する。
図2は、本発明の実施の一形態に係る鶏舎1の一部分の断面図である。鶏舎1内には、複数列のケージ鶏舎(図1では図面の簡略化のために2列(山)のみを示している)2が、相互に平行に、たとえば幅(図1の奥行き)方向に100mに亘って形成される。各ケージ鶏舎2には、複数(図1では4)段のケージ3が積層されており、また各ケージ3は、その幅方向に、金網などの壁31によって、所定の長さに区分されている。各ケージ3は、奥行き(図1の左右)方向に2つに区画されており、そのため各ケージ鶏舎2は、表裏からアクセス可能になっている。各ケージ3は、その2つに区画された区画それぞれで、たとえば10羽~数羽の鶏41~43(以下、総称する際は、参照符号4で示す)を収容する。1棟の鶏舎1に、この図1のようなケージ鶏舎2が、2階建てとされることもある。
こうして横(幅、水平)方向に複数並べられるケージ3の正面には、相対的に、上方に餌受け(給餌トレイ)51が、下方には卵受け52が、樋のように引回される。また、背面合わせの該ケージ3の奥(中央部分)には、共通に、給水管53が前記横(幅)方向に引回され、その給水管53には、背面合わせのケージ3毎に、給水口が設けられている。吸水口は、たとえばニップル式給水器から成り、その場合、ニップル状の突起54を、鶏4がくちばし等で押し上げると、弁が開いて鶏飲水が流れ落ちるようになっている。ケージ3の床面は目の粗い網板55となっており、そのため鶏4の糞は該網板55を通過して下方の除糞ベルト56上に落下し、その除糞ベルト56は所定時間毎に送られて(循環されて)、糞が掻落されて乾燥される。前記網板55は、前記背面合わせのケージ3の奥(中央部分)側から前下がりになっており、産卵された卵が転がるとともに、斃死鶏も押出され易くなっている。
上述のように構成される大規模なケージ鶏舎2において、ケージ3内の参照符号43で示すような斃死鶏や、参照符号42で示すような弱っている鶏を検出するにあたっては、一般的にケージ3内を観察する頻度を高めることで、それらを正確かつ速やかに検出することが可能になる。しかしながら、特に多数の鶏4を収容したケージ3を横(水平)方向に、また上下(垂直)方向に多段に並べて成る大規模なケージ鶏舎2では、各ケージ3をずっと観察しておくのは現実的でない。そこで注目すべきは、本実施形態の斃死鶏監視装置では、走行しながら餌を投下してゆく給餌装置6に撮像装置7を設け、横方向に移動しつつ、ケージ3内部を連続画像で撮像するようにする。そして、その撮像画像から、事務所11に設けた判定手段111で、後に詳述するように、前記斃死鶏43や弱っている鶏42を判定する。撮像装置7は、給餌装置6に限らず、それに追走する台車などに設けられてもよい。
給餌装置6は、ケージ鶏舎2の各列(山)に設けられ、図示しない制御装置によって制御され、所定時刻に、自走して、各段(列)のケージ3の前記餌受け(給餌トレイ)51に給餌を行うものである。そのため、横(水平)方向に多数並べられる各ケージ3の正面上部にはレール61が敷設されており、このレール61上を車輪62が走行することで、フレーム63が移動する。そのフレーム63に、前記各段(列)のケージ3の餌受け(給餌トレイ)51に対応した投餌口64が設けられるとともに、この投餌口64付近に、それぞれ撮像装置7が据付けられている。
具体的には、撮像装置7は、ケージ3の前を走行しながら連続画像を撮像するにあたって、餌受け(給餌トレイ)51および卵受け52は、上述のように、樋のように横(水平)方向に連続して形成されているので、本実施形態では、撮像装置7は、相対的に上方に配置されるそれらの餌受け(給餌トレイ)51と、下方に配置される卵受け52との間の隙間から、前記ケージ3内部を観察する。
そして、図2では、レール61が上部に敷設され、フレーム63はそのレール61に懸垂状態で走行することで、鶏舎1の床面10を掃除し易くしているが、レール61が床面10に敷設されてもよい。また、フレーム63は、対面する列(山)間で相互に連結されることで、安定化されてもよく、またフレーム63の上部や下部に、揺れ止めのレールと、それに接触する車輪や摺板が設けられてもよい。
前記撮像装置7は、デジタルのビデオカメラなどで実現され、それぞれの撮像画像は、カメラの識別情報および日時の情報と共に、給餌装置6に搭載された共通の記録装置71に記録される。そして、給餌装置6が、図1(b)で示すように、ホームポジション(基点)に帰還している間に、前記記録装置71は、撮像画像のデータを、纏めて、該ホームポジション付近に設置されたルーター102に、Wi-Fi(登録商標)等の近距離の簡易な無線通信103で送信する。ルーター102で受信された撮像画像のデータは、さらに養鶏施設内の通信線104を介して、前記事務所11内のサーバ112に送信され、蓄積される。前記ホームポジションは、たとえば、餌タンクやホッパを備える餌の補充機101が設置される場所に設定される。養鶏業者によって給餌の回数や時間帯は若干異なるものの、夜間は鶏を休ませるので、給餌装置6は、たとえば日中に5~6回、予め定められた時刻に、このホームポジションを出発してケージ3の前を往復し、帰還(往復)の毎に、該ホームポジションでは、餌の補充が行われる。
サーバ112内の撮像画像は、適宜、第1の判定手段である解析用のパーソナルコンピュータ111に読出される。そして、1フレーム毎に、人工知能(AI)によって画像認識され、健康な鶏41であるか、或いは斃死鶏43であるのかが仮判定される。斃死鶏43の判定は、たとえば、腹が見えて倒れていたり、鶏冠が床に着いていたりである。しかしながら、この仮判定では、参照符号42で示す弱っていると思われる鶏が、食後に休んでたり、或いは産卵している、つまり健康である可能性もある。そこで、前記パーソナルコンピュータ111は、第2の判定手段として、前記の仮判定結果を、予め定める複数フレーム分(時系列方向に)積算して、所定の閾値と比較し、閾値以上で実際の斃死鶏43と本判定する。
注目すべきは、撮像装置7は移動しているので、その本判定の際、前記第2の判定手段としてのパーソナルコンピュータ111は、撮像画像における移動位置基準として、前記壁31の部分が一致するようにタイミング調整して、前記仮判定結果を積算することである。その本判定の結果、斃死鶏43や弱っている鶏42であれば、該パーソナルコンピュータ111の画面に、ケージ番号とともに表示され、同様の情報は、携帯電話回線などの公衆無線通信回線113を介して、飼育員が所持する前記モバイル端末12でも共有される。
図3および図4に、斃死鶏の判定イメージを説明する。図3(a)(b)は、異なる撮像装置或いは異なる日付での、同じ撮像装置による同じ位置での時間違いの撮像画像において、前記人工知能(AI)の画像認識による斃死鶏の判定結果を示すものである。図3の例では、斃死鶏の判定にあたって、積算フレーム数nを6とし、判定閾値tを5としている。図3(a)(b)は、その6つのフレームF1,F2,・・・,F6を、3列2段に纏めて示している。図3(a)(b)では、上方に餌受け(給餌トレイ)51、下方に卵受け52が映り込んでいるが、撮像装置7の画角を調整して、これらをカットするようにしてもよい。本実施形態では、前記人工知能(AI)の画像認識には、これらの部分を予め除外することで、汎用の撮像装置7を使用しても、画角を拡げられるようにしている。
図3(a)では、フレームF1,F2,F3,F4,F6の5回、斃死鶏43が判定されているので、フレームF5では判定されなかったが、判定し損なった可能性もあるので、閾値t以上で、斃死鶏43が居ると判定している。一方、図3(b)では、フレームF2,F4の疎らに判定されており、前後のフレームでも判定されなかったので、閾値t未満で、誤判定の可能性もあり、斃死鶏43は居ないと判定している。
一方、図4は、前記積算にあたってのタイミング合わせの方法を概略的に説明する図である。図4(a)は、図3(a)(b)と同様に、同じ撮像装置7による同じ位置での時間違いの撮像画像である。図3(a)(b)と同様に、フレームF1,F2,・・・,F6を、3列2段に纏めて示している。しかしながら、図3は、ケージ3の中央付近の画像であったが、図4は、前記移動位置基準としての壁31付近の画像を示している。
図4(a)は、正確には、同じ位置と思われる地点での時間違いの撮像画像である。この図4(a)の例では、壁31は、画像(フレーム)F1~F6の何処かに現れている。しかしながら、その壁31の画像(フレーム)F1~F6内での位置には、ばらつきもある。このばらつきは、撮像装置7は給餌装置6に搭載されて移動しているので、給餌装置6の速度のずれによることが多く、具体的には、換気や冷却用の送風の風向や風量、レール61に対する車輪62のスリップ、駆動電圧の変動、餌の積み込み状況、などによる。
したがって、この図4(a)のような状況のままで、フレームF1~F6を単純に積算してしまうと、鶏41~43の該フレームF1~F6内での位置はズレてしまい、斃死鶏43や弱っている鶏42を見付けることは困難である。そこで、図3(a)(b)のようなフレームF1~F6を積算しての本判定の際、前記第2の判定手段としてのパーソナルコンピュータ111は、前記撮像画像における移動位置基準としての壁31の金網の部分が一致するようにタイミング調整して、前記仮判定結果を積算する。
図4(b)は、図4(a)の各画像(フレーム)F1~F6を、それぞれタイミング調整した結果を示す。以下の説明では、撮像装置7は、画面に向かって、右から左に移動しているものとしている。そして、図4は、壁31の部分が、画像中央に来る、すなわち、丁度、ケージ3の間での画像である。図4(a)から図4(b)では、元々、フレームF1,F2では、壁31が画像中央にある、すなわちタイミングにズレがないので、調整は無しとなっている。フレームF3,F4,F5では、図4(a)は、壁31が画面左側にあり、つまり撮像装置7が遅くて、壁31が画像の中央位置に到達していないことを表わし、図4(b)では、タイミングを早く調整している。逆に、フレームF6では、図4(a)は、壁31が画面右側にあり、つまり撮像装置7が早くて、壁31が画像中央を過ぎてしまったことを表わし、図4(b)では、タイミングを遅く調整している。
図5は、第1および第2の判定手段としての前記パーソナルコンピュータ111での上述のような処理方法を説明するための機能ブロック図である。各撮像装置7は、給餌装置6の往復の毎に、動画像P1,P2,・・・,Pn(以下、総称する際は、参照符号Pで示す)を撮像する。nは積算フレーム数で、たとえば1日分であれば、6回の給餌で、n=12となる。そして、上述のように各動画像Pの各画像(フレーム)F1,F2,・・・,Fn(以下、総称する際は、参照符号Fで示す)毎に、人工知能(AI)が画像認識し、その画像(フレーム)F内に、斃死鶏43が居るかどうかを判定した、連続した2値のデータH1,H2,・・・,Hn(以下、総称する際は、参照符号Hで示す)の列を作成するとともに、壁31があるか否かを判定した、連続した2値のデータW1,W2,・・・,Wn(以下、総称する際は、参照符号Wで示す)の列を作成する。
図6は、その2値データH,Wの作成方法を説明する図である。動画像Pは、図3のように、ケージ3前の所定タイミングにおける所定範囲の瞬間の画像の連続である。それを分かり易く連続画面に展開すると、図6(a)のようになる。各画像(フレーム)Fは、前記所定範囲を切出すもので、たとえば、図6(b)で示すようになる。図6(b)で切出した画像(フレーム)は、2つで、参照符号Fx,Fyとしている。これらの画像(フレーム)Fx,Fyから、図6(c)で示すように2値判定すると、壁31のデータWの列は図6(d)で示すとおりであり、斃死鶏43のデータHの列は図6(e)で示すとおりである。
そして、図6(e)で示す斃死鶏43のデータHを前記n回積算するにあたって、どのケージのどの位置のデータであるのか、正確な位置を特定する必要がある。そこで、図6(d)で示す壁31の2値の判定結果であるデータWから、実際の壁31の中央点を特定する位置特定処理が行われ、移動位置基準として、前記中央点の判定結果を示すデータの列が得られる。図7に、その壁31の中央点の判定方法を示す。ここで、たとえば、ケージ3当り、データHは25フレーム、すなわち25ビットのデータとなり、壁のデータWは15フレーム、すなわち15ビットのデータとなるが、この図7では、図面の簡略化のために、ビット数を減らして表示している。なお、データHの25フレームは、壁31が全く映っていないフレーム数で、データWの15フレームは、一部でも壁31が映っているフレーム数である。
図7(a)は、図6(d)と同様の前記壁のデータの列である。各画像(フレーム)Fで、「1」が壁を検知しており、「0」が検知していないことを表わす。図7(b)は、前記壁31の実際の中央点である。図7(c)は、図7(a)の判定結果を折れ線に示したグラフである。図7(c)で、壁31が検知されると(2値データが「1」となると)、カウンタがカウントを開始し、該壁31が検知されているフレームの連続カウント数であるカウント値cntが前記閾値t以上カウントすると、この区間を壁31と判定する。
しかしながら、壁のデータWは、前記15ビット分であるので、実際に壁が続いていても、15ビットの内、1つでもカウント(壁の認識)漏れを生じると、残りのデータが正しくても、壁と認識されず、たとえば2ケージ分を1ケージと誤判定してしまうような可能性もある。そこで、壁31の非検知のカウンタを設け、壁31が検知されなくなると(2値データが「0」に切換わると)、カウンタがカウントを開始し、そのカウント値cnt’が、閾値s、たとえば1以下であると、壁31は続いているものと判定結果を修正(カウント値cntの加算を継続)し、2以上になると、壁31は終わっているものと判定(カウント値cntの加算を止める)する。図7(c)で、そうして求めたカウント値cntの中央位置を、図7(d)で示すように、図7(b)の壁の中央位置と判定する。
しかしながら、図7(d)の判定結果も、撮像装置7の走行速度にばらつきがあると、壁31間の画像(コマ(フレーム))数にもばらつきが生じることがある。この走行速度のばらつきは、前記のとおり、換気や冷却用の送風の風向や風量、車輪のスリップ、或いは駆動電圧や負荷の違い(餌の量)などによって生じる。そこで、本実施の形態では、図7(d)で示す壁の中央位置の判定結果について、画像(フレーム)の前記n回の積算回数分に亘り、ビット数を整合する。
具体的には、図7(d)の判定結果を、動画像P1,P2,Pnについて抜き出したデータ列の一例が、図8(a)で示すとおりである。図8(a)では、部屋(ケージ)1については同じ幅で、部屋(ケージ)2との間の壁の位置は、動画像P1,P2,Pn間で同じである。これに対して、部屋(ケージ)2の幅にはずれがあり、部屋(ケージ)3との間の壁の位置は、動画像P1で最も早く、動画像P2で最も遅く、動画像Pnがそれらの間である。すると、本実施の形態では、図8(b)で示すように、最も遅い動画像P2の長さまで、データ列に、ダミーデータdを挿入する。具体的には、動画像P2を基準として、動画像P1には2フレーム分、動画像Pnには1フレーム分、ダミーデータdを挿入している。そうすることで、動画像P1,P2,Pn間で、各部屋(ケージ)間の壁31の現れるタイミングを一致させることができる。こうして作成されたタイミング調整済の壁の中央位置のデータの列を、図5では参照符号w1,w2,・・・,wnで示す(以下、総称する際は、参照符号wで示す)。
なお、動画像P1,P2,Pn間のビット数の整合には、上述の例では、1つのケージに所定のビット(フレーム)数を決めずに、一番、ビット(フレーム)数の多いデータ(図8(a)ではP2)に合せて、ダミービット(フレーム)dを挿入しているが、1つのケージに所定のビット(フレーム)数を定め(上述の説明では25+15=40)、それより、少ない場合は前記ダミービット(フレーム)dを挿入し、多い場合はビット(フレーム)削除するようにしてもよい。
そして、図6(e)で示す斃死鶏43のデータHの列について、前記n回、画像(フレーム)積算するにあたって、この壁31の中央位置のデータwの列で、タイミング調整が行われる。つまり、データwにおけるダミーデータdが、同様に、対応する斃死鶏43のデータHに挿入されてビット長が調整されるとともに、壁31のデータも重ねられる。こうして、位置整合後の斃死鶏43のデータh1,h2,・・・,hn(以下、総称する際は、参照符号hで示す)が作成される。
その後、前記位置整合後の斃死鶏43のデータhは、nフレーム、積算(時系列方向に加算)される。その積算のイメージを図9で示す。図9(a)では、n=4として、4フレームを加算する例を示しており、図面の簡略化のために、壁31の前記15ビットのデータの内、中央位置のみを示し、それ以外は「0」データとしている。同様に、部屋(ケージ)内のデータも減らして示している。前記図9(a)の4フレーム分のデータhを単純に積算すると、図9(b)で示すような加算済データh0になる。図9(b)の変化をグラフで示すと、図9(c)の通りとなる。
グラフからも明らかなように、斃死鶏43と判定する閾値tを2とすると、塊であるべき、すなわち積算値が2を超える期間は、或る程度、連続すべきところ、途中、図9(c)にて参照符号Bで示す期間に、閾値を下回るディップdipが生じている。図9(b)の積算値も「0」で、これは、図9(a)の各フレームの斃死鶏43の仮判定のデータhに、同じタイミングで、誤検知により、参照符号E1で示す非検知の「0」を生じているためである。
また、そのような誤検知を生じても、前述の図7に基づくと、カウント値cntのカウント中、1,3,4フレームでは、カウント値cnt’は「1」としかならない。すなわち、前後のカウント値cntから、斃死鶏43を判定していることになる。これに対して、フレーム2では、前述の図7に基づくと、参照符号E2で示すカウント値cntのカウント中、カウント値cnt’が「0」を4つもカウントしてしまい、斃死鶏43は検知していないことになっている。参照符号E3で示す「1」は、「1」の塊から外れたところにあり、単なる誤検知である。
図9(a)における参照符号E1で示す誤検知は、偶然でも、積算すべき4つのフレームに亘り、同じタイミングで生じてしまっている。しかしながら、この図9の例では、非検知の「0」は、1フレームタイミングだけであるので、図9(b)で示す加算済データh0が「0」となるのは、1フレーム期間Bだけであり、前述の図7からすれば、カウント値cnt’は1にしかならず、検知ミスを生じることはない。しかしながら、非検知の「0」が2フレームタイミングに亘ると、カウント値cnt’に対する閾値が1のままであると、斃死鶏43は無いと誤判定(見逃して)してしまうことになる。
ここで、カウント値cnt,cnt’に対する閾値は、前述のように、1ケージ当り、たとえばケージ3内の画像(フレーム)が25、壁31の画像(フレーム)が15であるので、それらに対して斃死鶏43の塊が占める大きさから、適宜設定されればよい。撮像装置7は、通常の動画像の撮影装置(ビデオカメラ)よりもフレームレートが少なく、1画像(フレーム)は、たとえば0.1秒である。しかしながら、カウント値cnt,cnt’に対する閾値の設定は、厳しくすると斃死鶏43や弱っている鶏42の検知精度は上がるが、つまり判定すれば、ほぼ確実にそうなっているが、中々判定に至らず、特に弱っている鶏42を判定するまでに時間を要してしまう。反対に、閾値を弛めると、判定は早いが、誤判定が増えてしまうという問題がある。
そこで、本実施形態では、斃死鶏43の判定データHを基準位置調整したデータhを単純に積算した上記の加算済データh0に対して、以下のような加工を行う。図10は、そのデータ加工の方法を説明する図である。先ず、前述の図9(b)で示す加算済データh0を図10(a)で示し、これを基準データとする。上述のように、この基準データにも、図8で示すように、壁の中央位置による基準位置(タイミング)調整が行われている。本実施形態では、さらにこの基準データを、1画像(フィールド)分前後シフトさせたデータを作成する。後シフトのデータを図10(b)、前シフトのデータを図10(c)で示す。そして、これらの3フレーム分のデータを加算する。加算結果を図10(d)で示す。
図10(d)のデータの変化を、図9(c)と同様のグラフで示すと、図9(e)となる。これに対して、図9(b)および図10(a)で示す加算済データh0は、図10(f)である。図10(f)のグラフと、図10(e)のグラフとを比較すると、検知漏れによるカウント値のディップdipが、埋め合わされて、閾値t以上となっていることが理解される。そして、この閾値t以上の間のカウント値cntの中央値を、斃死鶏43や弱っている鶏42の居る位置と判定する。壁の中央位置と、この斃死鶏43や弱っている鶏42の居る位置とを合せた判定結果のデータKの列は、図10(g)で示す通りである。
そして、前記パーソナルコンピュータ111やモバイル端末12の画面には、斃死鶏43や弱っている鶏42が居るケージ番号が表示される。そのため、実際の表示データK’は、図11で示すように、前記データKにおいて、壁31を通過(判定)する毎に、部屋(ケージ)番号をカウントしたデータが付されたものになり、その表示データK’は、どの部屋(ケージ)のどの当りに斃死鶏43や弱っている鶏42が居るのかを示すようになる。図11では、部屋(ケージ)3の、部屋(ケージ)2との壁寄りである。
なお、図10(a)で示す基準データに対して、図10(b)(c)で示すシフトデータを加算することで、イメージ的に、解像度のような判定精度の低下も考えられるが、1フレーム、本実施形態では0.1秒程度では、そのような精度低下の影響は小さく、上記のディップdipの埋め合わせ効果の方が、遥かに大きい。
ここで、連続フレーム数のカウント値cntと、斃死鶏43や弱っている鶏42が居るか否かの判定閾値tとの最適パラメータの探索結果を、図12に示す。実験は、ケージ鶏舎2が4列(山)で、5日分のデータで行っている。積算フレーム数nは、6としている。すなわち、1日6回の給餌で、12回、ケージ3の前を通過するが、往路だけ撮像している。斃死鶏43や弱っている鶏42が居たことの正解判定は、撮像装置7の撮像画像を人手で観察し、実際に除去した結果で行っている。カウント値cntは、1、すなわち一瞬でも閾値t以上となったケースから、16、すなわち、実際の壁31の幅分のフレームで閾値t以上となるケースで変化させている。閾値tの最大値は、n=6と、図10のシフト加算とにより、積算値が3倍に膨らむ可能性のあることから、最大、18としている。図12のscoreには、適合率と再現率との調和平均であるf1-scoreを用いた。
図12からは、図13で示すように、連続フレーム数のカウント値cntが10、すなわち壁31が見えてもよい前記15フレームの2/3程度のフレーム数で、また閾値tは8、すなわち概ね3回の判定で、scoreが90以上となっている。詳しくは、適合率が100%以上、再現率は90%である。このパラメータは、実際の鶏舎1の設置や飼育の環境などに応じて、定められればよい。
以上のように、本実施形態の斃死鶏検出装置およびそれを用いる養鶏システムでは、ケージ3内の斃死鶏43を検出するにあたって、横(水平)方向に並んだ多数のケージ3を、移動する撮像装置7で連続撮影し、AIなどによる解析で前記斃死鶏43を判定するにあたって、1回の画像による判定結果を仮判定結果とし、予め定める複数n回分(時系列方向に)、ケージの金網の部分などが一致するようにタイミング調整して、積算し、閾値t以上で実際の斃死鶏と本判定する。
したがって、同じ場所で、違う時間帯の繰返しの判定結果から斃死鶏43を判定するので、判定までに少なくとも前記閾値tの回数分の移動(撮像)が必要になり、多少の時間を要するものの、それでも比較的速やかに、斃死鶏43から、弱っている鶏42までを正確に検出することができる。そして、作業者が本判定結果に従い、対応するケージに行けば、必ず、斃死鶏43や弱っている鶏42が居ることになり、それらを除去する作業効率を向上することができるとともに、空振りが無く、作業者の信頼を得ることができる。
また、本実施形態の斃死鶏検出装置では、多数の鶏4を収容したケージ3を横(水平)方向に、さらに上下(垂直)方向に多段に並べて成る大規模な鶏舎1では、その横方向に敷設されたレール61に沿って、各ケージ3の前を予め定められた時間に順次移動しながら、前記各ケージ3に設けられた餌受け(給餌トレイ)51に餌を投入してゆくことで自動給餌を行う給餌装置6が設けられているので、この給餌装置6の各段の投餌口64付近に、撮像装置7を据付ける。
一方、鶏4は、餌を食べる時は立ち、活発に動くので、この給餌のタイミングで鶏を観察すれば、特に餌受け(給餌トレイ)51付近の低い視点から鶏4の足元を見れば、斃死鶏43であるか否か、また夏バテなどで弱っている鶏42か否かの健康状態まで、効率的に判定することができる。具体的には、その給餌のタイミングで、腹が見えていたり、鶏冠431が見えていたり、或いは立っていれば少しは動くはずの足411の動きから判定することができる。こうして、鶏4を観察するタイミングを調整するだけで、比較的正確かつ容易に、斃死鶏43や弱っている鶏42を見付けることができる。また、給餌の頻繁なタイミング毎に観察を行うことで、速やかに斃死鶏や弱っている鶏42を見付けることができる。
しかも、餌受け(給餌トレイ)51は、樋のように横(水平)方向に連続して形成されているので、前記の低い視点で鶏4の足411付近を観察するにあたって障害となるが、同様に樋のように横(水平)方向に連続して形成される卵受け52とは、段違いとなっており、そこで本実施形態の斃死鶏検出装置では、この間の隙間から覗くように撮像装置7を据付けるので、前記の鶏4の足411付近を、各ケージ3間、連続して、障害無く観察し続けることができ、好適である。
ここで、斃死鶏43や弱っている鶏42を見付けるのは、必ずしもリアルタイムである必要はなく、実際に除去作業を行うのは、1日に1回程度であるので、それで見落としが無ければ、充分である。すなわち、斃死鶏43を速やかに検出することが望まれるが、前記の時間程度の検出遅れは、大きな問題にはならない。そこで、撮像装置7による撮像画像を前記記録装置71に記録しておき、給餌装置6がホームポジションに戻って補充機101から餌を補充する時点で、この記録装置71から、前記無線通信103で撮像画像のデータを判定手段111に纏めて吸上げ、都度解析を行うか、或いは積算を行う1日分のデータが揃ってから解析を行えばよい。こうして、給餌装置6に斃死鶏43の検出のための配線を引回したりする必要は無く、給餌装置6には、従来の、電力線と、必要な制御線程度の引回しでよい。また、無線通信103も、Wi-Fi(登録商標)のような近距離の簡易な無線通信でよく、広い(長い)鶏舎1の隅々まで電波が届くように、大掛かりな無線通信設備を設置する必要は無い。
本実施形態では、記録装置71は、撮像装置7毎に設けられておらず、図1の例では、同じ給餌装置6に搭載される4台で共通に使用される。近年では、汎用の(安価な)撮像装置であっても、画質は向上しており、合成画面であっても、AIの判定に支障は無い。これによって、結果的に画面当りの判定時間を短くすることができるとともに、記録装置71の容量も小さくすることができる。
さらにまた、本実施形態の斃死鶏検出装置では、前記の仮判定の結果を、複数n回積算して本判定を行うにあたって、仮判定にはフレーム毎に斃死鶏43であるか否かの2値判定を行うとともに、同様に、移動位置基準となる壁31を通過中であるか否かの2値判定も行い、移動位置基準が一致するように、仮判定結果の時間軸をずらして、すなわち、フレーム間のタイミング調整をして、前記積算を行う。したがって、給餌装置6の走行速度がばらつき、前記移動位置基準間(1つのケージ)での撮像フレーム数が異なることになっても、その時間のずれを調整し、前記斃死鶏43であるか否かの2値の仮判定結果を、時系列に所定フレームn分、正確に積算することができる。
さらに、タイミング調整して仮判定結果を積算するにあたって、移動位置基準間、すなわち1つのケージで、一番ビット(フレーム)数の多いデータに合せて、ダミービット(フレーム)dを挿入するので、撮像装置7の移動速度のばらつき(コマ(フレーム)数)を補償することができる。
さらに、前記積算の結果(カウント値)に対しても、それを基準データとして、前後に1フレームずつずらしたデータを作成し、それら3つのデータを相互に加算した結果を、閾値tと比較するので、たまたま同じタイミングで斃死鶏の検知漏れがあり、それが積算の結果(カウント値)に反映されていても、前後のデータで、その検知漏れを埋め合わせることができ、正確な判定を行うことができる。
上述の説明では、壁31のカウント結果でケージ番号を得ているが、ケージ番号は、各ケージ3に数字やバーコードで表示されているものを撮像装置7自体や別途のリーダーなどで読取ることで取得されてもよく、また撮像装置7が対応するケージ3の段の情報と共に、給餌装置6の制御装置から、走行位置のデータで取得されてもよい。