(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023120609
(43)【公開日】2023-08-30
(54)【発明の名称】家畜管理方法、家畜管理装置および家畜管理プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20230823BHJP
G06T 7/246 20170101ALI20230823BHJP
A01K 29/00 20060101ALI20230823BHJP
【FI】
G06T7/00 350B
G06T7/246
A01K29/00 A
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022023555
(22)【出願日】2022-02-18
(71)【出願人】
【識別番号】399076312
【氏名又は名称】株式会社YE DIGITAL
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】斉藤 健太郎
(72)【発明者】
【氏名】馬場 大輔
(72)【発明者】
【氏名】西尾 星七
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096BA02
5L096FA69
5L096HA05
5L096HA08
5L096JA03
5L096JA11
5L096KA04
(57)【要約】
【課題】家畜に負担をかけることなく、低コストにかつ高精度に家畜の状態を管理すること。
【解決手段】実施形態の一態様に係る家畜管理方法は、取得工程と、追跡工程と、監視工程と、出力工程とを含む。取得工程は、手書きによる、または、無作為のマーキングが施された複数の家畜が撮像された画像を取得する。追跡工程は、上記画像に基づいて、AIモデルを用いた上記家畜を対象とする物体追跡を行う。監視工程は、追跡工程における追跡結果に基づいて上記家畜の状態監視を行う。出力工程は、監視工程における監視結果をユーザ端末へ出力する。また、追跡工程は、上記家畜の追跡中において所定のイベントの発生を検出した場合に、上記画像における上記家畜の検出領域に対しそれぞれ一意に割り当てられたIDの入れ替わりの発生の存否を確認する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
手書きによる、または、無作為のマーキングが施された複数の家畜が撮像された画像を取得する取得工程と、
前記画像に基づいて、AIモデルを用いた前記家畜を対象とする物体追跡を行う追跡工程と、
前記追跡工程における追跡結果に基づいて前記家畜の状態監視を行う監視工程と、
前記監視工程における監視結果をユーザ端末へ出力する出力工程と
を含み、
前記追跡工程は、
前記家畜の追跡中において所定のイベントの発生を検出した場合に、前記画像における前記家畜の検出領域に対しそれぞれ一意に割り当てられたIDの入れ替わりの発生の存否を確認する
ことを特徴とする家畜管理方法。
【請求項2】
前記追跡工程は、
前記家畜を対象とする物体検出、前記検出領域の回転角度を含む指向性、および、前記検出領域における前記マーキングの位置の検出について予め学習された前記AIモデルを用いる
ことを特徴とする請求項1に記載の家畜管理方法。
【請求項3】
前記追跡工程は、
前記マーキングの位置の検出について、3次元姿勢推定のアルゴリズムに基づき、前記家畜の頭部と腰位置とから前記家畜の背中を推定するように学習された前記AIモデルを用いる
ことを特徴とする請求項2に記載の家畜管理方法。
【請求項4】
前記追跡工程は、
所定周期が到来した場合、または、前記家畜が密接した場合を、前記イベントの発生として検出する
ことを特徴とする請求項1、2または3に記載の家畜管理方法。
【請求項5】
前記追跡工程は、
前記入れ替わりの発生が検出された場合に、前記画像の過去のフレームにおける前記IDと前記マーキングとの組み合わせに応じて、当該入れ替わりを補正する
ことを特徴とする請求項1~4のいずれか一つに記載の家畜管理方法。
【請求項6】
前記監視工程は少なくとも、
前記検出領域の動きから推定される前記家畜の運動量および給餌給水領域への進入回数を監視項目とする
ことを特徴とする請求項1~5のいずれか一つに記載の家畜管理方法。
【請求項7】
前記監視工程はさらに、
前記検出領域の移動速度から換算される前記家畜の歩行スピード、および、前記給餌給水領域への進入時間から推定される前記家畜の給餌量ならびに給水量を前記監視項目とする
ことを特徴とする請求項6に記載の家畜管理方法。
【請求項8】
手書きによる、または、無作為のマーキングが施された複数の家畜が撮像された画像を取得する取得部と、
前記画像に基づいて、AIモデルを用いた前記家畜を対象とする物体追跡を行う追跡部と、
前記追跡部による追跡結果に基づいて前記家畜の状態監視を行う監視部と、
前記監視部による監視結果をユーザ端末へ出力する出力部と
を備え、
前記追跡部は、
前記家畜の追跡中において所定のイベントの発生を検出した場合に、前記画像における前記家畜の検出領域に対しそれぞれ一意に割り当てられたIDの入れ替わりの発生の存否を確認する
ことを特徴とする家畜管理装置。
【請求項9】
前記画像を撮像するカメラと一体に設けられるとともに、前記カメラによって撮像された前記画像に基づいて前記AIモデルを生成するクラウドサービスを提供する学習装置から配信された前記AIモデルを実装する
ことを特徴とする請求項8に記載の家畜管理装置。
【請求項10】
手書きによる、または、無作為のマーキングが施された複数の家畜が撮像された画像を取得する取得手順と、
前記画像に基づいて、AIモデルを用いた前記家畜を対象とする物体追跡を行う追跡手順と、
前記追跡手順における追跡結果に基づいて前記家畜の状態監視を行う監視手順と、
前記監視手順における監視結果をユーザ端末へ出力する出力手順と
をコンピュータに実行させ、
前記追跡手順は、
前記家畜の追跡中において所定のイベントの発生を検出した場合に、前記画像における前記家畜の検出領域に対しそれぞれ一意に割り当てられたIDの入れ替わりの発生の存否を確認する
ことを特徴とする家畜管理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
開示の実施形態は、家畜管理方法、家畜管理装置および家畜管理プログラムに関する。
【背景技術】
【0002】
従来、畜産業等における家畜の管理において、家畜の個体ごとに生体センサを取り付け、かかる生体センサから取得する生体情報に基づいて、家畜の個体ごとの状態を管理する技術が知られている(たとえば、特許文献1参照)。
【0003】
また、同じく家畜の管理において、カメラを用いた画像センシングにより家畜の個体を識別し、家畜の個体ごとの状態を管理する技術が知られている(たとえば、特許文献2参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2018-099098号公報
【特許文献2】特開2021-101670号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述した従来技術には、家畜に負担をかけることなく、低コストにかつ高精度に家畜の状態を管理するうえで、さらなる改善の余地がある。
【0006】
たとえば家畜の個体ごとに生体センサなどを取り付ける場合、費用コストや労働コストが嵩むというコスト面から見た問題点の他、家畜に負担をかけてしまうというアニマルウェルフェアの観点から見た問題点がある。
【0007】
また、画像センシングによる方法においても、家畜の場合、個体同士が密集状態となることも多いため、個体識別が容易ではないという問題点がある。
【0008】
実施形態の一態様は、上記に鑑みてなされたものであって、家畜に負担をかけることなく、低コストにかつ高精度に家畜の状態を管理することができる家畜管理方法、家畜管理装置および家畜管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
実施形態の一態様に係る家畜管理方法は、取得工程と、追跡工程と、監視工程と、出力工程とを含む。前記取得工程は、手書きによる、または、無作為のマーキングが施された複数の家畜が撮像された画像を取得する。前記追跡工程は、前記画像に基づいて、AIモデルを用いた前記家畜を対象とする物体追跡を行う。前記監視工程は、前記追跡工程における追跡結果に基づいて前記家畜の状態監視を行う。前記出力工程は、前記監視工程における監視結果をユーザ端末へ出力する。また、前記追跡工程は、前記家畜の追跡中において所定のイベントの発生を検出した場合に、前記画像における前記家畜の検出領域に対しそれぞれ一意に割り当てられたIDの入れ替わりの発生の存否を確認する。
【発明の効果】
【0010】
実施形態の一態様によれば、家畜に負担をかけることなく、低コストにかつ高精度に家畜の状態を管理することができる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、実施形態に係る家畜管理方法の概要説明図である。
【
図2】
図2は、実施形態に係る学習装置のブロック図である。
【
図4】
図4は、領域指向性学習処理の説明図である。
【
図5】
図5は、マーキング位置検出学習処理の説明図(その1)である。
【
図6】
図6は、マーキング位置検出学習処理の説明図(その2)である。
【
図7】
図7は、マーキング位置検出学習処理の説明図(その3)である。
【
図8】
図8は、実施形態に係る監視装置のブロック図である。
【
図9】
図9は、ユーザ端末に提示される監視画面の一例を示す図(その1)である。
【
図10】
図10は、ユーザ端末に提示される監視画面の一例を示す図(その2)である。
【
図12】
図12は、実施形態に係る家畜管理システムが実行する処理手順を示す処理シーケンスである。
【
図13】
図13は、変形例に係る家畜管理システムの構成例を示す図である。
【
図14】
図14は、監視装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0012】
以下、添付図面を参照して、本願の開示する家畜管理方法、家畜管理装置および家畜管理プログラムの実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。
【0013】
まず、実施形態に係る家畜管理方法の概要について、
図1を参照して説明する。
図1は、実施形態に係る家畜管理方法の概要説明図である。なお、以下では、家畜が、養豚施設で飼養または保管される豚であるものとする。
【0014】
図1に示すように、実施形態に係る家畜管理システム1は、学習装置10と、監視装置100と、ユーザ端末200とを含む。
【0015】
監視装置100は、いわゆるエッジコンピューティングにおけるエッジプラットフォームに相当する装置であり、養豚施設に設けられる。監視装置100は、養豚施設の各飼養区画に設けられた1以上のカメラ150が接続される。
【0016】
ユーザ端末200は、養豚施設の管理者や作業者等が利用するスマートフォンやPC(Personal Computer)等の端末装置である。
【0017】
学習装置10は、インターネットやイントラネット、携帯電話回線網等であるネットワークNを介して監視装置100と通信可能に設けられる。学習装置10は、主たる機能として、たとえば養豚施設から学習用画像を収集し、収集した学習用画像を分類して学習用データセットを生成し、かかるデータセットを用いたAI(Artificial Intelligence)学習によりAIモデルを学習する(機能F1)。AI学習のアルゴリズムとしては、たとえば深層学習等が用いられる。また、学習装置10は、ネットワークNを介し、学習したAIモデルを監視装置100へ配信する。
【0018】
監視装置100は、カメラ150から養豚施設における各飼養区画の画像を取得し、学習装置10によって学習されたAIモデルを用いてAI推論による物体追跡を行い、追跡結果に基づく各豚の状態監視を行い、学習装置10およびユーザ端末200に対し、追跡結果および監視結果を出力する(機能F2)。
【0019】
監視装置100は、いわゆるMOT(Multi Object Tracking)のアルゴリズムを用いた物体追跡を行う。たとえば、監視装置100は、AIモデルに検出器の1つとして含まれるFaster R-CNN(Regions with Convolutional Neural Networks)を用い、取得した画像の1フレームの中から豚の特定を行い、ID(Identification)を割り当てる。そして、監視装置100は、連続する画像の各フレームにおいてかかるIDの割り当てを繰り返すことによって、各豚を識別しつつ追跡する。
【0020】
また、監視装置100は、追跡結果に基づいて各豚の状態を監視し、ネットワークNを介し、ユーザ端末200へ向けて監視結果を出力する。監視結果には、たとえば養豚施設の各飼養区画のリアルタイム映像や、各豚の運動量、歩行スピード、給餌量、給水量等が含まれる。
【0021】
また、監視装置100は、ネットワークNを介し、MOTによる追跡結果を学習装置10へ向けて出力する。かかる学習装置10に対する追跡結果には、実際に物体追跡に用いられた各画像が学習用画像として含まれる。学習装置10は、かかる各画像を、たとえばオペレータ等の人手を介して検証し、物体の誤検出等があれば、精度向上のために学習用画像を再分類等してAIモデルを再学習する。
【0022】
このようなフィードバックを繰り返すことにより、家畜管理システム1は、AIモデルの精度を向上させつつ、家畜を管理することができる。
【0023】
ところで、既に述べたが、家畜管理における既存技術には、たとえば家畜の個体ごとに生体センサなどを取り付ける場合、費用コストや労働コストが嵩むというコスト面から見た問題点の他、家畜に負担をかけてしまうというアニマルウェルフェアの観点から見た問題点がある。
【0024】
また、画像センシングによる方法においても、家畜の場合、個体同士が密集状態となることも多いため、個体識別が容易ではないという問題点がある。たとえば、本実施形態でも、MOTによる物体追跡を行うが、MOTは、物体が交錯したり、密集したりすることによってIDの割り当てが入れ替わってしまう「スイッチング」が起きる場合があることが懸念される。
【0025】
そこで、実施形態に係る家畜管理方法では、
図1に示すように、各豚には個体ごとでユニークなマーキングMを手書きで施すこととした。これによりまず、上記のコスト面や、アニマルウェルフェアの観点からの問題点を軽減することができる。
【0026】
また、実施形態に係る家畜管理方法では、同じく
図1に示すように、機能F1におけるAI学習において、各豚の任意方向や密集状態を考慮するとともに、マーキング位置の検出精度を考慮することとした(ステップS1)。
【0027】
一方で、実施形態に係る家畜管理方法では、ステップS1を含めて学習されたAIモデルを用いた機能F2における物体追跡において、前述の「スイッチング」を確認することとした(ステップS2)。具体的には、監視装置100は、物体追跡中に、所定周期が到来した、または、豚が密に接触(密接)したという所定のイベントの発生を検出した場合に、スイッチングの発生状況を確認し、スイッチングが起きていればこれを補正する。これらステップS1,S2により、MOTによる物体追跡のロバスト化を図ることができる。
【0028】
なお、ステップS1では、実施形態に係る家畜管理方法は、前述の任意方向や密集状態を考慮する点に関し、画像から抽出される物体の検出領域であるバウンディングボックスについて、回転角度を含む指向性を学習する領域指向性学習処理を実行する。
【0029】
また、実施形態に係る家畜管理方法は、同じくステップS1でのマーキング位置の検出精度を考慮する点に関し、3次元姿勢推定(3D Pose Estimation)アルゴリズムを用いて、バウンディングボックスからマーキングMのマーキング位置をさらに絞り込むべく学習するマーキング位置検出学習処理を実行する。たとえば、マーキング位置が
図1に示すように各豚の背中であれば、マーキング位置検出学習処理では、かかる背中をバウンディングボックス内において絞り込んで検出できるように学習する。
【0030】
これら領域指向性学習処理およびマーキング位置検出学習処理については、
図4~
図7を用いた説明で後述する。
【0031】
また、ユーザ端末200が、監視装置100から通知された監視結果を受けてユーザに対し提示する監視画面の具体例については、
図10および
図11を用いた説明で後述する。
【0032】
このように、実施形態に係る家畜管理方法では、手書きによるマーキングMが施された複数の豚が撮像された画像を取得し、かかる画像に基づいて、AIモデルを用いた各豚を対象とする物体追跡を行い、追跡結果に基づいて各豚の状態監視を行い、監視結果をユーザ端末200へ出力することとした。また、各豚の追跡中において所定のイベントの発生を検出した場合に、画像における各豚の検出領域に対しそれぞれ一意に割り当てられたIDの入れ替わりの発生の存否を確認することとした。
【0033】
したがって、実施形態に係る家畜管理方法によれば、家畜に負担をかけることなく、低コストにかつ高精度に家畜の状態を管理することができる。以下、上述した実施形態に係る家畜管理方法を適用した家畜管理システム1の構成例について、さらに具体的に説明する。
【0034】
図2は、実施形態に係る学習装置10のブロック図である。また、
図3は、学習部13cのブロック図である。なお、
図2、
図3、および、後に示す
図8では、本実施形態の特徴を説明するために必要な構成要素を機能ブロックで表しており、一般的な構成要素についての記載を省略している。
【0035】
換言すれば、
図2、
図3および
図8に図示される各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。たとえば、各機能ブロックの分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することが可能である。
【0036】
また、
図2、
図3および
図8を用いた説明では、これまでに既に述べた構成要素については、説明を簡略するか、省略する場合がある。
【0037】
図2に示すように、実施形態に係る学習装置10は、通信部11と、記憶部12と、制御部13とを備える。また、学習装置10は、HMI(Human Machine Interface)部3が接続される。HMI部3は、対オペレータ用の入力部品および出力部品を含む構成要素であり、キーボードやマウス、タッチパネル、スピーカ、ディスプレイ等によって実現される。HMI部3は、ソフトウェア部品によって実現されてもよい。
【0038】
通信部11は、たとえば、ネットワークアダプタ等によって実現される。通信部11は、ネットワークNに対し有線または無線で接続され、監視装置100との間で情報の送受信を行う。
【0039】
記憶部12は、たとえば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。
図2に示す例では、記憶部12は、収集情報DB(データベース)12aと、学習用データセット12bと、コンピュータビジョンライブラリ12cと、AIモデル12dとを記憶する。
【0040】
収集情報DB12aは、通信部11を介し、後述する収集部13aによって収集される監視装置100からの追跡結果を含む各種のデータが格納されるデータベースである。
【0041】
学習用データセット12bは、収集情報DB12aへ格納された追跡結果、および、HMI部3を介したオペレータの操作等に基づき、後述する分類部13bによって学習用に分類された学習用画像のデータセットである。なお、学習用データセット12bは、MNIST(Modified National Institute of Standards and Technology)データベース等から取得可能な既存のデータセットが含まれてもよい。
【0042】
コンピュータビジョンライブラリ12cは、深層学習、物体検出、領域回転、3次元姿勢推定等のコンピュータビジョン向けの各種のアルゴリズムが実装されたライブラリである。AIモデル12dは、後述する学習部13cによって学習され、監視装置100へ配信されることとなる学習モデル群である。
【0043】
制御部13は、コントローラ(controller)であり、たとえば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等によって、記憶部12に記憶されている図示略の各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部13は、たとえば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現することができる。
【0044】
制御部13は、収集部13aと、分類部13bと、学習部13cと、配信部13dとを有し、以下に説明する情報処理の機能や作用を実現または実行する。
【0045】
収集部13aは、通信部11を介し、監視装置100からの追跡結果を収集する。また、収集部13aは、収集した追跡結果を収集情報DB12aへ格納する。
【0046】
分類部13bは、収集情報DB12aへ格納された追跡結果、および、HMI部3を介したオペレータの操作等に基づき、追跡結果に含まれる学習用画像を学習用に分類し、学習用データセット12bを生成する。学習部13cは、学習用データセット12bおよびコンピュータビジョンライブラリ12cに基づき、AIモデル12dを学習する。
【0047】
図3に示すように、学習部13cは、物体検出学習部13caと、領域指向性学習部13cbと、マーキング位置検出学習部13ccとを含む。物体検出学習部13caは、Faster R-CNNを検出器とする物体検出を学習する物体検出学習処理を実行する。
【0048】
領域指向性学習部13cbは、前述の領域指向性学習処理を実行する。ここで、
図4は、領域指向性学習処理の説明図である。
【0049】
通常、AI学習における物体検出アルゴリズムでは、画像に対して回転角度がない水平のバウンディングボックスを物体の検出領域として抽出する。
図4の上段に示すように、同アルゴリズムは、たとえば画像中に四頭の豚が含まれる場合、四頭の豚のそれぞれを囲む、画像に対して水平なバウンディングボックスBB1~BB4を各豚の検出領域として抽出する。
【0050】
領域指向性学習部13cbは、かかるバウンディングボックスBB1~BB4に対し領域回転のアルゴリズムを適用し、バウンディングボックスの指向性を学習する領域指向性学習処理を実行する。
【0051】
具体的には、領域指向性学習部13cbは、R-CNN系のフレームワークに基づき、まず水平方向のバウンディングボックスBB1~BB4をROI(Region Of Interest)として抽出し、各ROIにおける分類と回帰を実行する。そして、領域指向性学習部13cbは、コンピュータビジョンライブラリ12cに含まれるROI_transを使用してROIを回転させ、回転によっても不変な特徴を学習することでROIに指向性を持たせる。
【0052】
ROI_transは、軸合わせされたROIを回転可能なROIに変換することで、ROIと指向性を有する物体との間の位置ずれの問題を解決するライブラリである。これにより、
図4の下段に示すように、領域指向性学習部13cbは、四頭の豚のそれぞれの検出領域を、回転角度を持ったバウンディングボックスBB1~BB4として抽出可能となるようにAIモデル12dを学習することができる。
【0053】
このように、回転角度を持ってバウンディングボックスBB1~BB4を抽出できることで、たとえば
図4の例では、バウンディングボックスBB3とバウンディングボックスBB4を重複させることなく分離して抽出することが可能となる。すなわち、任意方向を向き、または、密集状態にある各豚の検出精度を向上させることが可能となる。
【0054】
図3の説明に戻る。マーキング位置検出学習部13ccは、前述のマーキング位置検出学習処理を実行する。ここで、
図5~
図7は、マーキング位置検出学習処理の説明図(その1)~(その3)である。
【0055】
既に述べたように、本実施形態では、各豚には個体ごとでユニークなマーキングMを手書きで施すこととしている。したがって、マーキング位置検出学習部13ccは、まずマーキングMを認識する学習用のデータセットとして、
図5に示すように、たとえば複数パターンの手書きの数字を網羅したデータセットを用いた学習を行う。
【0056】
なお、
図5に示すデータセットは、前述のMSINSTデータベースから取得可能である。また、ここでは数字を例に挙げたが、マーキングMは、養豚施設の各飼養区画において各豚を個体ごとでユニークに識別できるものであればよい。したがって、マーキングMは、言語的に意味をなさないランダムな模様であってもよい。
【0057】
そして、マーキング位置検出学習部13ccは、バウンディングボックスを検出領域として検出される各物体に対して、前述の3次元姿勢推定アルゴリズムを適用し、バウンディングボックス内からマーキング位置を絞り込む学習を行う。3次元姿勢推定アルゴリズムは、
図6に示すように、画像中に検出された物体(ここでは、スケート選手)の姿勢を、3次元空間におけるジョイントおよびリンクの連なりとして推定するアルゴリズムである。
【0058】
本実施形態の場合、マーキングMは、各豚の背中に施されるので、マーキング位置検出学習部13ccは、バウンディングボックス内から各豚の背中を絞り込む学習を行う。具体的には、マーキング位置検出学習部13ccは、
図7に示すように、3次元姿勢推定アルゴリズムによって推定される各豚の脚等を含めた姿勢から「頭部」と「腰位置」とを推定し、かかる「頭部」と「腰位置」とを結ぶリンク部分を「背中」として抽出する。そして、かかる「背中」として抽出された領域が、マーキングMの認識対象として取り扱われることとなる。これにより、実施形態に係る家畜管理方法では、マーキングMの識別精度を向上させることができる。
【0059】
図2の説明に戻る。また、学習部13cは、学習結果をHMI部3に表示させる。ここで、オペレータが、たとえば学習結果に基づいて再分類を指示すると、分類部13bは、学習用データセット12bの学習用画像を再分類し、学習部13cにAIモデル12dを再学習させる。
【0060】
配信部13dは、通信部11を介し、学習部13cによって学習されたAIモデル12dを監視装置100へ配信する。
【0061】
次に、監視装置100の構成について説明する。
図8は、実施形態に係る監視装置100のブロック図である。
【0062】
図8に示すように、実施形態に係る監視装置100は、通信部101と、記憶部102と、制御部103とを備える。
【0063】
通信部101は、上述した通信部11と同様に、たとえば、ネットワークアダプタ等によって実現される。通信部101は、ネットワークNおよびカメラ150に対し有線または無線で接続され、学習装置10およびカメラ150との間で情報の送受信を行う。
【0064】
記憶部102は、上述した記憶部12と同様に、たとえば、RAM、ROM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。
図8に示す例では、記憶部102は、AIモデル102aを記憶する。AIモデル102aは、学習装置10から配信されるAIモデル12dに相当する。
【0065】
制御部103は、上述した制御部13と同様に、コントローラであり、たとえば、CPUやMPU、GPU等によって、記憶部102に記憶されている図示略の各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部103は、上述した制御部13と同様に、たとえば、ASICやFPGA等の集積回路により実現することができる。
【0066】
制御部103は、取得部103aと、物体追跡部103bと、状態監視部103cと、出力部103dとを有し、以下に説明する情報処理の機能や作用を実現または実行する。
【0067】
取得部103aは、通信部101を介し、学習装置10から配信されるAIモデル12dを取得し、AIモデル102aとして記憶部102へ記憶させる。また、取得部103aは、通信部101を介し、カメラ150によって撮影される養豚施設における各飼養区画の画像を取得し、物体追跡部103bへ出力する。
【0068】
物体追跡部103bは、AIモデル102aを用いたAI推論による物体追跡を行う。具体的には、物体追跡部103bは、MOTのアルゴリズムにより、画像の1フレームの中から各豚の特定を行い、IDを割り当てる。
【0069】
なお、このとき、物体追跡部103bは、各豚の検出領域であるバウンディングボックスを、回転角度を含む指向性あるものとして抽出する。また、物体追跡部103bは、特定した各豚の背中の部分を3次元姿勢推定のアルゴリズムにより絞り込み、絞り込まれた領域を対象領域としてマーキングMを識別し、各豚を特定する。また、物体追跡部103bは、連続する画像の各フレームにおいてかかるIDの割り当てを繰り返すことによって、各豚を識別しつつ追跡する。
【0070】
また、物体追跡部103bは、所定周期が到来した、または、密接したという所定のイベントの発生を検出した場合に、スイッチングの確認を行う。すなわち、物体追跡部103bは、割り当てたIDに対するマーキングMの組み合わせに入れ替わりが生じているかどうかを確認する。このとき、入れ替わりが生じていれば、物体追跡部103bは、画像の過去のフレームにおけるIDとマーキングMとの組み合わせに応じて、かかる入れ替わりを補正する。
【0071】
状態監視部103cは、物体追跡部103bの追跡結果に基づいて各豚の状態を監視する。また、状態監視部103cは、ユーザ端末200に対し、監視した監視結果を出力部103dに出力させる。
【0072】
ここで、
図9および
図10は、ユーザ端末200に提示される監視画面の一例を示す図(その1)および(その2)である。なお、
図10は、
図9に示された状態から時間nが経過した後の同じ飼育区画の状態を示すものとなっている。また、
図11は、監視項目の一例を示す図である
【0073】
図9および
図10に示すように、状態監視部103cによる監視結果は、ユーザ端末200において監視画面として提示される。監視画面には、監視対象である飼養区画のリアルタイム映像と、所定の監視項目とが表示される。
【0074】
リアルタイム映像には、各豚の検出領域であるバウンディングボックスと、バウンディングボックスに割り当てられたIDとが重畳されて表示される。ここで、バウンディングボックスは、たとえば色分けされて表示される。
図9および
図10の例では、線種の違いによってかかる色分けを表している。また、
図9および
図10の例では、IDとしてNo.1~8が割り当てられている。なお、太い破線の矩形領域RRは、図示略の給餌設備および給水設備が設けられた給餌・給水領域を示している。
【0075】
また、監視項目としては、
図9および
図10に示すように、たとえば各豚の総移動距離(運動量)と、各豚の給餌・給水領域進入回数とが表示される。かかる監視項目は、時間nが経過した
図9から
図10への変化が示すように、各豚に対応するバウンディングボックスの動きに応じて更新される。
【0076】
なお、
図11に示すように、監視項目としては、運動量や、給餌・給水領域進入回数の他に、歩行スピードや、給餌量、給水量等を挙げることができる。歩行スピードは、フレーム間におけるバウンディングボックスの移動速度から換算される。給餌量や、給水量は、各豚の給餌・給水領域への進入時間から推定することができる。
【0077】
こうした監視画面は、ユーザ端末200に対し、常時通知されることとしてもよいし、監視項目のうちのいずれかが所定の閾値を上回るあるいは下回るなどの異常を示す場合にのみ通知されることとしてもよい。異常を示す場合の例としては、運動量や歩行スピードが明らかに低下した場合や、同様に給餌量や給水量が低下した場合等が挙げられる。また、バウンディングボックスの軌跡から豚の発情行動等が推定される場合に、通知が行われてもよい。また、前述の3次元姿勢推定のアルゴリズムを利用し、たとえば二頭の豚が交尾姿勢をとった場合等に通知が行われてもよい。
【0078】
図8の説明に戻る。出力部103dは、通信部101を介し、物体追跡部103bからの追跡結果を学習装置10に対し出力する。また、出力部103dは、通信部101を介し、状態監視部103cからの監視結果をユーザ端末200に対し出力する。
【0079】
次に、実施形態に係る家畜管理システム1が実行する処理手順について、
図12を用いて説明する。
図12は、実施形態に係る家畜管理システム1が実行する処理手順を示す処理シーケンスである。
【0080】
図12に示すように、まず家畜管理システム1の運用前等において、学習装置10が学習用画像を収集する(ステップS101)。そして、学習装置10は、学習用画像を分類し(ステップS102)、学習用データセット12bを生成する(ステップS103)。
【0081】
そして、学習装置10は、学習用データセット12bおよびコンピュータビジョンライブラリ12cを用いてAIモデル12dを学習し(ステップS104)、監視装置100へAIモデル12dを配信する(ステップS105)。
【0082】
監視装置100は、カメラ150によって撮影された画像を取得し(ステップS106)、AIモデル102aを用いてAI推論による物体追跡を行う(ステップS107)。また、監視装置100は、物体追跡中に、スイッチングを確認するトリガとなる所定のイベントが発生したか否かを判定する(ステップS108)。
【0083】
ここで、イベントが発生した場合(ステップS108,Yes)、監視装置100は、スイッチングを確認する(ステップS109)。イベントが発生していない場合(ステップS108,No)、監視装置100は、スイッチングを確認しない。
【0084】
そして、監視装置100は、追跡結果に基づく状態監視を行う(ステップS110)。そして、監視装置100は、追跡結果を学習装置10へ出力し(ステップS111)、また、監視結果をユーザ端末200へ出力する(ステップS112)。
【0085】
学習装置10は、監視装置100からの追跡結果に含まれる学習用画像に基づいて、ステップS101からの処理を繰り返す。一方、ユーザ端末200は、監視装置100からの監視結果に応じた情報提示を行うことを繰り返す(ステップS113)。
【0086】
ところで、これまでは、カメラ150とは別体に設けられた監視装置100が、上述した機能F2を実行する例を挙げたが、カメラ150と監視装置100は一体に構成されてもよい。かかる変形例について、
図13を用いて説明する。
図13は、変形例に係る家畜管理システム1Aの構成例を示す図である。
【0087】
図13に示すように、変形例に係る家畜管理システム1Aは、監視装置100に代わるエッジプラットフォームに相当する装置として、AIカメラ300を有する。AIカメラ300は、カメラ150と監視装置100とを一体にした構成を有する装置であり、記憶部102に相当するストレージや、制御部103に相当するGPU等を備える。
【0088】
AIカメラ300は、AIモデルが実装されており、
図1でも示した機能F2を実行可能に設けられる。また、家畜管理システム1Aは、前述の学習装置10に相当する装置として、学習装置10Aを有する。
【0089】
学習装置10Aは、収集した画像に基づいてAIモデルを生成するクラウドサービスを提供するクラウドサーバとして構成される。したがって、かかる学習装置10AとAIカメラ300が連携することとすれば、養豚事業者は、養豚施設にAIカメラ300を設けるのみで、きわめて低コストに本実施形態に係る家畜管理方法による家畜管理を実現することが可能となる。
【0090】
なお、この他にも、たとえばAIカメラ300を統合・管理する管理装置を別途設けて、AIカメラ300からの情報収集や情報管理、対学習装置10A向けの情報通信、対ユーザ端末200向けの情報通信等をかかる管理装置が担うこととしてもよい。
【0091】
また、上述してきた実施形態に係る家畜管理システム1,1Aに含まれる各種装置は、たとえば
図14に示すような構成のコンピュータ1000によって実現される。ここでは、監視装置100を例に挙げて説明する。
図14は、監視装置100の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD(Hard Disk Drive)1400、通信インタフェース(I/F)1500、入出力インタフェース(I/F)1600、および、メディアインタフェース(I/F)1700を備える。
【0092】
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0093】
HDD1400は、CPU1100によって実行されるプログラムおよび当該プログラムによって使用されるデータ等を格納する。通信インタフェース1500は、通信ネットワークを介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを、通信ネットワークを介して他の機器へ送信する。
【0094】
CPU1100は、入出力インタフェース1600を介して、ディスプレイやプリンタ等の出力装置、および、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インタフェース1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを、入出力インタフェース1600を介して出力装置へ出力する。
【0095】
メディアインタフェース1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、当該プログラムを、メディアインタフェース1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、たとえばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または、半導体メモリ等である。
【0096】
たとえば、コンピュータ1000が実施形態に係る監視装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部103の各機能を実現する。また、HDD1400には、記憶部102内のデータが記憶される。コンピュータ1000のCPU1100は、これらのプログラムを、記録媒体1800から読み取って実行するが、他の例として、他の装置から、通信ネットワークを介してこれらのプログラムを取得してもよい。
【0097】
上述してきたように、実施形態に係る監視装置100またはAIカメラ300(「家畜管理装置」の一例に相当)は、取得部103aと、物体追跡部103b(「追跡部」の一例に相当)と、状態監視部103c(「監視部」の一例に相当)と、出力部103dとを備える。取得部103aは、手書きによるマーキングMが施された複数の豚(「家畜」の一例に相当)が撮像された画像を取得する。物体追跡部103bは、かかる画像に基づいて、AIモデル102aを用いた豚を対象とする物体追跡を行う。状態監視部103cは、物体追跡部103bによる追跡結果に基づいて豚の状態監視を行う。出力部103dは、状態監視部103cによる監視結果をユーザ端末200へ出力する。また、物体追跡部103bは、豚の追跡中において所定のイベントの発生を検出した場合に、上記画像における豚の検出領域に対しそれぞれ一意に割り当てられたIDの入れ替わりの発生の存否を確認する。
【0098】
したがって、実施形態に係る家畜管理システム1によれば、家畜に負担をかけることなく、低コストにかつ高精度に家畜の状態を管理することができる。
【0099】
なお、上述した実施形態では、家畜として豚を例に挙げたが、無論、家畜の種別を限定するものではない。また、上述した実施形態では、家畜の飼養区画の画像を取得することとしたが、飼養区画は屋内か屋外かを問わない。また、飼養区画は、壁によって区切られた空間に限らず、側方が開放された空間であってもよい。したがって、飼養区画は、牧場等であってもよい。
【0100】
また、上述した実施形態では、マーキングMが、手書きによって施されることとしたが、たとえば牛のホルスタイン種等に見られるように、家畜の種別によっては個体それぞれが初めからユニークな斑を有する場合がある。かかる場合、あえてマーキングMを施す必要はない。なお、この場合は、無作為のマーキングMが施されていると言うことができる。
【0101】
また、上述した実施形態では、マーキング位置が家畜の背中である場合を例に挙げたが、マーキング位置を限定するものではない。マーキング位置は、家畜の種別、飼養区画の態様、カメラ150またはAIカメラ300の取り付け位置等に応じて、適宜変更可能である。また、マーキングMは、手書きまたは無作為のものに限らず、家畜にタグ等を取り付けることによって施されてもよい。
【0102】
また、上述した実施形態では、AI学習のアルゴリズムとして深層学習を例に挙げたが、学習アルゴリズムを限定するものではない。
【0103】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【0104】
1,1A 家畜管理システム
10,10A 学習装置
11 通信部
12 記憶部
12a 収集情報DB
12b 学習用データセット
12c コンピュータビジョンライブラリ
12d AIモデル
13 制御部
13a 収集部
13b 分類部
13c 学習部
13ca 物体検出学習部
13cb 領域指向性学習部
13cc マーキング位置検出学習部
13d 配信部
100 監視装置
101 通信部
102 記憶部
102a AIモデル
103 制御部
103a 取得部
103b 物体追跡部
103c 状態監視部
103d 出力部
150 カメラ
200 ユーザ端末
300 AIカメラ
M マーキング