(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023117934
(43)【公開日】2023-08-24
(54)【発明の名称】記憶制御装置、学習装置、家畜識別装置、記憶制御システム、記憶制御方法、およびプログラム
(51)【国際特許分類】
A01K 29/00 20060101AFI20230817BHJP
G06T 7/00 20170101ALI20230817BHJP
【FI】
A01K29/00 A
G06T7/00 350B
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022020760
(22)【出願日】2022-02-14
(71)【出願人】
【識別番号】504224153
【氏名又は名称】国立大学法人 宮崎大学
(74)【代理人】
【識別番号】100165179
【弁理士】
【氏名又は名称】田▲崎▼ 聡
(74)【代理人】
【識別番号】100175824
【弁理士】
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100152272
【弁理士】
【氏名又は名称】川越 雄一郎
(74)【代理人】
【識別番号】100181722
【弁理士】
【氏名又は名称】春田 洋孝
(72)【発明者】
【氏名】ティ ティ ズイン
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096CA04
5L096GA17
5L096GA30
5L096GA51
5L096HA09
5L096KA04
(57)【要約】
【課題】家畜を好適に識別すること。
【解決手段】記憶制御装置200は、入力部201と、設定部202と、抽出部203と、記憶制御部204とを備える。入力部201は、家畜を前方から撮像した撮像情報を入力する。設定部202は、前記撮像情報が示す撮像領域のうち、家畜の頭部が移動可能な所定領域を設定する。抽出部203は、前記撮像情報に基づいて、前記所定領域内の家畜の顔画像を抽出する。記憶制御部204は、前記所定領域に対応する識別情報ごとに前記顔画像を分類して記憶させる。
【選択図】
図2
【特許請求の範囲】
【請求項1】
家畜を前方から撮像した撮像情報を入力する入力手段と、
前記撮像情報が示す撮像領域のうち、家畜の頭部が移動可能な所定領域を設定する設定手段と、
前記撮像情報に基づいて、前記所定領域内の家畜の顔画像を抽出する抽出手段と、
前記所定領域に対応する識別情報ごとに前記顔画像を分類して記憶させる記憶制御手段と、
を備えることを特徴とする記憶制御装置。
【請求項2】
前記記憶制御手段は、前記顔画像が示す領域と前記所定領域とが重複する度合いに基づいて、当該所定領域に対応する識別情報ごとに前記顔画像を記憶させる、
ことを特徴とする請求項1に記載の記憶制御装置。
【請求項3】
前記入力手段に入力された前記撮像情報に基づいて、前記撮像領域のうち家畜の顔の領域を検出する検出手段を備え、
前記設定手段は、複数の前記撮像情報から前記検出手段によって検出された顔の領域に基づいて、前記所定領域を設定する、
ことを特徴とする請求項1または2に記載の記憶制御装置。
【請求項4】
前記設定手段は、前記撮像領域を予め区分けされた前記所定領域を設定する、
ことを特徴とする請求項1または2に記載の記憶制御装置。
【請求項5】
前記記憶制御手段は、既知の家畜の顔画像が入力されると前記既知の家畜の識別情報とその確度を出力する判別モデルに前記抽出手段によって抽出された顔画像を入力し、前記確度が所定値以上である場合に、判別された識別情報に前記顔画像を分類し、前記確度が所定値未満である場合に、前記所定領域に対応する識別情報に前記顔画像を分類する、
請求項1~4のいずれか一項に記載の記憶制御装置。
【請求項6】
請求項1~5のいずれか一項に記載の記憶制御装置によって記憶された前記顔画像を入力サンプルとし、複数のクラスのうち当該顔画像が属するクラスを示すワンホットベクトルを出力サンプルとする学習用データセットを用いて、入力された前記顔画像に対応して、当該顔画像が属する前記クラスの事後確率を示すベクトルを出力するように判別モデルを作成させる学習処理手段を備える、
ことを特徴とする学習装置。
【請求項7】
前記撮像情報を入力する撮像情報入力手段と、
前記撮像情報に基づいて、前記顔画像を抽出する顔画像抽出手段と、
請求項6に記載の学習装置によって学習された判別モデルに、前記顔画像抽出手段によって抽出された前記顔画像を入力することで、識別情報を識別する識別手段と、
前記識別手段によって識別された結果を出力する出力手段と、
を備えることを特徴とする家畜識別装置。
【請求項8】
前記撮像情報は、所定数の連続するフレームの撮像情報であり、
前記識別手段は、前記顔画像抽出手段によって前記顔画像が抽出される度に識別情報を識別する、
ことを特徴とする請求項7に記載の家畜識別装置。
【請求項9】
前記出力手段は、前記識別手段によって識別された識別情報のうち、最も多く識別された識別情報を最終結果として出力する、
ことを特徴とする請求項8に記載の家畜識別装置。
【請求項10】
家畜を前方から撮像する撮像装置と、記憶制御装置とを備えた記憶制御システムにおいて、
前記記憶制御装置は、
前記撮像装置から撮像情報を入力する入力手段と、
前記撮像情報が示す撮像領域のうち、家畜の頭部が移動可能な所定領域を設定する設定手段と、
前記撮像情報に基づいて、前記所定領域内の家畜の顔画像を抽出する抽出手段と、
前記所定領域に対応する識別情報ごとに前記顔画像を分類して記憶させる記憶制御手段と、
を備えることを特徴とする記憶制御システム。
【請求項11】
記憶制御装置に用いられるコンピュータが、
家畜を前方から撮像した撮像情報を入力する入力工程と、
前記撮像情報が示す撮像領域のうち、家畜の頭部が移動可能な所定領域を設定する設定工程と、
前記撮像情報に基づいて、前記所定領域内の家畜の顔画像を抽出する抽出工程と、
前記所定領域に対応する識別情報ごとに前記顔画像を分類して記憶させる記憶制御工程と、
を含む処理を実行することを特徴とする記憶制御方法。
【請求項12】
記憶制御装置に用いられるコンピュータを、
家畜を前方から撮像した撮像情報を入力する入力手段、
前記撮像情報が示す撮像領域のうち、家畜の頭部が移動可能な所定領域を設定する設定手段、
前記撮像情報に基づいて、前記所定領域内の家畜の顔画像を抽出する抽出手段、
前記所定領域に対応する識別情報ごとに前記顔画像を分類して記憶させる記憶制御手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、記憶制御装置、学習装置、家畜識別装置、記憶制御システム、記憶制御方法、およびプログラムに関する。
【背景技術】
【0002】
従来、酪農場においては、各家畜をそれぞれ管理する必要がある。この管理において、家畜を1頭ずつ手作業で識別したとすると、手間がかかる。特に、規模が大きい酪農場ほど、この手間は顕著になる。そこで、家畜を識別する技術が各種開示されている。例えば、家畜に通信機を装着させて、家畜の位置や群れを判定する方法が開示されている(例えば、特許文献1参照。)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載の技術では、家畜の体の一部に通信機を装着させるため、長期間装着することで牛にストレスを与えてしまい、家畜の品質が低下するおそれがある。また、家畜に装着した通信機と通信を行う中継器を農場全体に設置することになるため、酪農家にとって手間や負担が大きくなってしまう。
【0005】
本発明は、このような事情に鑑みてなされたもので、その目的は、家畜を簡単に識別することができる技術を提供することにある。
【課題を解決するための手段】
【0006】
上述した課題を解決するために、本発明の一態様である記憶制御装置は、家畜を前方から撮像した撮像情報を入力する入力手段と、前記撮像情報が示す撮像領域のうち、家畜の頭部が移動可能な所定領域を設定する設定手段と、前記撮像情報に基づいて、前記所定領域内の家畜の顔画像を抽出する抽出手段と、前記所定領域に対応する識別情報ごとに前記顔画像を分類して記憶させる記憶制御手段と、を備えることを特徴とする記憶制御装置である。
【0007】
上述した課題を解決するために、本発明の一態様である学習装置は、上記に記載の記憶制御装置によって記憶された顔画像を入力サンプルとし、複数のクラスのうち当該顔画像が属するクラスを示すワンホットベクトルを出力サンプルとする学習用データセットを用いて、入力された前記顔画像に対応して、当該顔画像が属する前記クラスの事後確率を示すベクトルを出力するように判別モデルを作成させる学習処理手段を備える、ことを特徴とする学習装置である。
【0008】
また、本発明の他の態様である家畜識別装置は、家畜を前方から撮像した撮像情報を入力する撮像情報入力手段と、前記撮像情報に基づいて、家畜の顔画像を抽出する顔画像抽出手段と、上記に記載の学習装置によって学習された判別モデルに、前記顔画像抽出手段によって抽出された前記顔画像を入力することで、識別情報を識別する識別手段と、前記識別手段によって識別された結果を出力する出力手段と、を備えることを特徴とする家畜識別装置である。
【0009】
また、本発明の他の態様である記憶制御システムは、家畜を前方から撮像する撮像装置と、学習装置とを備えた記憶制御システムにおいて、前記学習装置は、前記撮像装置から撮像情報を入力する入力手段と、前記撮像情報が示す撮像領域のうち、家畜の頭部が移動可能な所定領域を設定する設定手段と、前記撮像情報に基づいて、前記所定領域内の家畜の顔画像を抽出する抽出手段と、前記所定領域に対応する識別情報ごとに前記顔画像を分類して記憶させる記憶制御手段と、を備えることを特徴とする記憶制御システムである。
【0010】
また、本発明の他の態様である記憶制御方法は、学習装置に用いられるコンピュータが、家畜を前方から撮像した撮像情報を入力する入力工程と、前記撮像情報が示す撮像領域のうち、家畜の頭部が移動可能な所定領域を設定する設定工程と、前記撮像情報に基づいて、前記所定領域内の家畜の顔画像を抽出する抽出工程と、前記所定領域に対応する識別情報ごとに前記顔画像を分類して記憶させる記憶制御工程と、を含む処理を実行することを特徴とする記憶制御方法である。
【0011】
また、本発明の他の態様であるプログラムは、記憶制御装置に用いられるコンピュータを、家畜を前方から撮像した撮像情報を入力する入力手段、前記撮像情報が示す撮像領域のうち、家畜の頭部が移動可能な所定領域を設定する設定手段、前記撮像情報に基づいて、前記所定領域内の家畜の顔画像を抽出する抽出手段、前記所定領域に対応する識別情報ごとに前記顔画像を分類して記憶させる記憶制御手段、として機能させることを特徴とするプログラムである。
【発明の効果】
【0012】
本発明によれば、家畜を簡単に識別することができる。
【図面の簡単な説明】
【0013】
【
図1】家畜識別システム1の一例を示す説明図である。
【
図2】本実施形態に係る家畜識別システム1の機能的構成の一例を示すブロック図である。
【
図3】牛Buの顔画像を抽出して記憶する概要の一例を示す説明図である。
【
図4】学習処理部221の構成および分類モデルMOの構成を示す説明図である。
【
図5】家畜識別装置120のハードウェア構成の一例を示す説明図である。
【
図6】家畜識別装置120が行う顔画像320の記憶制御処理の一例を示すフローチャートである。
【
図7】家畜識別装置120が行う牛Buの識別処理の一例を示すフローチャートである。
【
図8】家畜識別装置120が表示する牛IDの表示例を示す説明図である。
【発明を実施するための形態】
【0014】
(実施形態)
図1は、家畜識別システム1の一例を示す説明図である。家畜識別システム1は、記憶制御システムの一例である。家畜識別システム1は、撮像装置100と、家畜識別装置120とを備える。酪農場には、数十頭から数百頭の家畜が飼育されている。本実施形態において、家畜は、乳牛(牛Bu)である。ただし、家畜は、牛Buに限らず、例えば、肉牛であってもよいし、豚、ヤギ、鶏など牛以外の動物であってもよい。
【0015】
酪農場には、牛Buが餌を食べる給餌場10が設けられている。給餌場10には、柵20が設けられている。柵20には、牛Buの頭部が通過可能な隙間が設けられており、牛Buは、柵20の隙間から頭を出して餌を食べる。柵20は、牛Buが頭を隙間に通したときに頭部の移動を制限するよう隙間をロック可能なタイプの(ヘッドロックを備える)ものでもよいし、隙間をロックせずに牛Buが自由に頭を抜き差し可能とするタイプのものでもよい。牛Buは、例えば、毎日決まった時間に給餌場10に移動して、餌を食べる。餌を食べ終えた牛Buは、給餌場10から退き、餌を食べていない別の牛Buと順次入れ替わる。
【0016】
給餌場10には、複数の牛Buを前方から撮像する撮像装置100が固定配置されている。つまり、撮像装置100は、撮像範囲に柵20の隙間が並ぶ面が写るように設置される。撮像装置100は、牛Buの顔を前方から撮像する。撮像装置100は、各牛Buの顔を撮像する。なお、撮像する牛Buの頭数(柵20の隙間の数)は、図示では4頭を示しているが、これに限らず、例えば、5頭以上(例えば10頭)とすることも可能であるし、3頭以下とすることも可能である。
【0017】
撮像装置100は、給餌場10に、複数台配置される。複数の撮像装置100は、それぞれを識別する番号(カメラ番号)が付されている。なお、撮像装置100は、複数台配置されることに限らず、1台配置されていてもよい。撮像装置100には、例えば、CCD(charge coupled device)カメラや、CMOS(Complementary Metal Oxide Semiconductor)カメラを用いることが可能である。また、撮像装置100には、3Dカメラが用いられてもよい。
【0018】
撮像装置100は、例えば、1秒間に25フレームの画像を撮像する。撮像装置100は、撮像した撮像画像を示す撮像情報を家畜識別装置120へ出力する。撮像情報の出力態様は、有線または無線の送信による出力態様としてもよいし、記憶媒体(例えば、USB(Universal Serial Bus)メモリなど)へ記憶させる出力態様としてもよい。
【0019】
家畜識別装置120は、パソコン、ノートパソコン、タブレット装置、スマートホンなどのコンピュータ装置である。家畜識別装置120は、撮像装置100が出力した撮像情報を入力する。撮像情報の入力態様は、有線または無線の受信による入力態様としてもよいし、記憶媒体から読み取る入力態様としてもよい。家畜識別装置120は、入力した撮像情報から各牛Buの顔画像を牛Buごとに記憶し、記憶した顔画像を用いて、各牛Buを識別可能に学習する。
【0020】
(家畜識別システム1の機能的構成、および牛Buの顔画像の抽出について)
図2は、本実施形態に係る家畜識別システム1の機能的構成の一例を示すブロック図である。家畜識別システム1は、記憶制御システムの一例である。
図3は、牛Buの顔画像を抽出して記憶する概要の一例を示す説明図である。
図2および
図3の説明では、適宜
図3を参照しつつ、
図2に示す機能的構成について説明する。
【0021】
図2に示すように、家畜識別システム1は、撮像装置100と、家畜識別装置120とを備える。家畜識別装置120は、記憶制御装置200と、学習装置220を備える。記憶制御装置200は、入力部201と、設定部202と、抽出部203と、記憶制御部204と、検出部205と、記憶部210とを備える。学習装置220は、学習処理部221を備える。家畜識別装置120は、撮像情報入力部231と、顔画像抽出部232と、識別部233と、出力部234とを備える。
【0022】
入力部201は、撮像装置100から撮像情報を入力する。撮像情報は、牛Bu(Bu1~Bu4)を前方から撮像した画像情報である。撮像情報300は、動画および静止画を含む。
図3に示すように、撮像情報300は、複数のフレーム画像301を含む。各フレーム画像301の撮像領域302には、複数の牛Buが存在することを示している。なお、撮像領域302には、一頭の牛Buのみが存在する場合もある。
【0023】
設定部202は、撮像情報300が示す撮像領域302のうち関心領域310(310a~310d)を設定する。関心領域310は、所定領域の一例である。関心領域310は、牛Buまたは柵20の隙間に対応して設けられる領域であり、それぞれ牛Buの頭部が存在可能な領域を示す。関心領域310には、それぞれ対応する識別情報が付与される。
【0024】
抽出部203は、撮像情報300に基づいて、関心領域310内の牛Buの顔画像320(320a~320d)を抽出する。抽出部203は、画像認識による物体検出機能により、顔画像320を抽出する。抽出部203は、入力部201にフレーム画像301が入力される度に、顔画像320を抽出する。
【0025】
抽出された顔画像320は、例えば、300×300ピクセルに正規化される。仮に、抽出した顔画像320が横240×縦300ピクセルであった場合、横方向の300ピクセルに満たない箇所に無地(例えば黒)の画像を付け加えることにより、300×300ピクセルにする。すなわち、抽出した顔画像320の縦横の一方が300ピクセルであり、他方が300ピクセルに満たない場合、300ピクセルに満たない箇所に無地(例えば黒)の画像を付け加えることにより、300×300ピクセルにする。
【0026】
また、仮に、抽出した顔画像320の縦横いずれもが300ピクセルではない場合、ピクセル数の大きい一方が300ピクセルになるよう、縦横同じ比率で拡大または縮小する。そして、他方の300ピクセルに満たない箇所に無地の画像を付け加える。これにより、顔画像320が縦横いずれも300ピクセルではない場合でも、300×300ピクセルにすることが可能である。
【0027】
記憶制御部204は、関心領域310に対応して付与される識別情報ごとに顔画像320を記憶部210に分類して記憶させる。具体的には、記憶制御部204は、抽出部203によって抽出された顔画像320が抽出される度に、それぞれ関心領域310に対応して設けられるフォルダ330(330a~330d)に顔画像320を分類して記憶させる。記憶部210は、牛Buごとに、所定数の顔画像320をそれぞれ記憶させる。所定数は、後述する学習処理部において学習済みモデルを作成することが可能な数(例えば、300枚程度)であればよい。
【0028】
フォルダ330には、識別情報としてのフォルダID(Identity)が付されている。フォルダIDは、牛IDに対応付けられる。牛IDは、フォルダIDと同じIDとしてもよいし、別途、家畜識別装置120の操作者(例えば、酪農家)によって付されるIDや、牛Buの名前や番号としてもよい。記憶制御部204は、牛ID(フォルダID)ごとに顔画像320を記憶部210に記憶させる。なお、以下では、牛IDとフォルダIDとを同じIDとして説明し、具体的には、フォルダIDについては、牛IDとして説明する。
【0029】
(重複率の算出について)
ここで、給餌場10で餌を食べる牛Buは、餌を食べ始めてから、所定時間(例えば5分)はその場に留まって餌を食べ続ける傾向にあるものの、目の前の餌がなくなったときには、隣の牛Buの前にある餌を食べる場合もある。このような場合や、空腹が満たされて牛Buがその場に留まらない場合には、牛Buの顔画像320が関心領域310から外れてしまうことがある。関心領域310から外れた顔画像320は、例えば、顔が半分しか写っていないこともあるため、学習用の画像に用いられることは望ましくない。そこで、本実施形態では、顔画像320と関心領域310との重複率に基づいて、顔画像320を記憶させるようにしている。
【0030】
具体的に説明すると、記憶制御部204は、顔画像320が示す領域と、関心領域310とが重複する度合い(重複率)に基づいて、当該関心領域310に対応する牛IDごとに顔画像320を記憶させる。重複率は、関心領域310における顔画像320が示す領域の比率として表すことができる。例えば、重複率が閾値未満の顔画像320は、隣の牛Buに設定された関心領域310に重なっている可能性がある。
【0031】
一例を挙げると、
図3の牛Bu1の顔が隣の牛Bu2の前に移動したことにより、牛Bu1の顔画像320aが、関心領域310aと関心領域310bとから抽出されたとする。この場合、関心領域310aから抽出された牛Bu1の顔画像320aは、関心領域310aにおける重複率として、低い値が算出される。また、関心領域310bから抽出された牛Bu1の顔画像320aについても、関心領域310bにおける重複率として、低い値が算出される。
【0032】
このため、本実施形態において、重複率が閾値未満の場合、記憶制御部204は、当該顔画像320をフォルダ330に記憶させないようにする。一方で、重複率が閾値以上の場合、記憶制御部204は、当該顔画像320を、対応する牛IDのフォルダ330に記憶させるようにする。
【0033】
(関心領域310の設定について)
図3に示すように、牛Buは、関心領域310の中央付近で餌を食べている。ただし、牛Buは、必ずしも、撮像領域302における関心領域310の中央に位置して、餌を食べるとは限らない。このため、本実施形態では、牛Buの頭部の移動範囲に応じて関心領域310を設定するようにしている。
【0034】
具体的に説明すると、検出部205は、入力部201に入力された撮像情報300に含まれる複数のフレーム画像のそれぞれについて、撮像領域302のうち牛Buの顔の領域を検出する。検出部205は、物体検出機能により顔を検出する。顔の領域は、例えば、顔画像320が示す領域と同等の領域である。ただし、顔の領域は、顔画像320が示す領域よりも小さい領域としてもよいし、大きい領域としてもよい。
【0035】
設定部202は、検出部205によって検出された複数のフレーム画像における顔の領域に基づいて、関心領域310を設定する。具体的には、設定部202は、検出部205によって検出された同一の個体に係る複数の顔領域の中心を含む所定領域を関心領域310に設定する。個体の同定は、例えば、同じフレーム画像に写る複数の顔領域をそれぞれ別の個体とみなし、連続するフレーム画像において最も距離が近い顔領域同士を、同一の個体とみなすことによって行われる。また、個体の同定は、単に相対的な出現位置(左から2番目など)を特定することによって行われてもよい。
【0036】
関心領域310は、予め大きさや形(長方形)が予め定められていてもよい。この場合、設定部202は、検出部205によって検出された顔領域の位置を基準にして、当該長方形の配置位置を決定することにより、関心領域310を設定する。また、関心領域310を設定する際に、隣り合う関心領域310との間には隙間を設けることが望ましい。これは、各牛Buが隣の牛Buの関心領域310に入りにくくするためである。
【0037】
なお、最初に顔領域の位置を基準にして当該長方形を配置して関心領域310を設定したとすると、たまたま隣り合う牛Buの距離が近い場合には、隣り合う関心領域310同士が重なり合ってしまうおそれもある。このため、最初の数十秒程度で各牛Buの顔領域の平均的な位置を検出するようにし、当該位置を基準にして関心領域310を設定してもよい。また、設定部202は、当該長方形を縮小したり、横方向の長さを短くしたりして、隣り合う関心領域310同士が重なり合わないように、関心領域310を設定してもよい。
【0038】
(学習済みモデルの作成について)
学習処理部221は、牛IDを識別するための学習済みモデル(判別モデル)を作成する。具体的に説明すると、学習処理部221は、学習用データセットを用いて、学習済みモデルを作成させる。学習用データセットは、記憶制御部204によって記憶された顔画像320を入力サンプルとし、複数のクラスのうち当該顔画像320が属するクラスを示すワンホットベクトルを出力サンプルとする学習用データセットである。学習済みモデルは、入力された顔画像320に対応して、当該顔画像320が属するクラスの事後確率を示すベクトルを出力する学習済みモデルである。クラスの数は、記憶部210のフォルダの数である。
【0039】
ここで、
図4を用いて、学習処理部221について具体的に説明する。
図4は、学習処理部221の構成および分類モデルMOの構成を示す説明図である。
図4(A)は、学習処理部221の構成を示す。学習処理部221は、分類モデル記憶部11と、データセット取得部12と、学習部13と、出力部14とを備える。
【0040】
分類モデル記憶部11は、畳み込みニューラルネットワークによって構成された分類モデルM0を記憶する。分類モデルM0は、
図4(B)に示すように、入力部M01、特徴量算出部M02、分類部M03、出力部M04を備える。入力部M01は、入力された顔画像320をベクトルとして特徴量算出部M02に出力する。入力部M01は、ニューラルネットワークの入力層をなす。
【0041】
特徴量算出部M02及び分類部M03は、ニューラルネットワークの中間層をなす。出力部M04は、ニューラルネットワークの出力層をなす。特徴量算出部M02は、入力部M01から入力されたベクトルを、低次元の特徴ベクトルに変換し、分類部M03に出力する。分類部M03は、特徴量算出部M02から入力された特徴ベクトルから、当該特徴ベクトルが表す牛IDの事後確率を示すP次元のベクトルに変換する。Pは、推定すべき牛IDの数である。
【0042】
データセット取得部12は、入力サンプルである顔画像320と、出力サンプルである牛IDラベルとを関連付けた学習用データセットを取得する。牛IDラベルは、データセットにおける牛IDの数をPとした場合に、P次元のワンホットベクトルによって表される。
【0043】
学習部13は、データセット取得部12が取得した学習用データセットを用いて、顔画像320が入力されると、当該顔画像320に該当する牛IDの事後確率を示すP次元のベクトルを出力するように、分類モデルM0のパラメータを学習させる。
【0044】
次に、学習方法について、具体的に説明する。データセット取得部12は、予め用意されたデータセットを取得する。そして、学習部13は、取得したデータセットを用いて、分類モデル記憶部11が記憶する分類モデルM0のパラメータを学習させる。このとき、学習部13は、分類モデルM0の計算結果を用いて損失関数を最小化するように、勾配降下法により各パラメータを更新する。
【0045】
なお、学習部13は、分類モデルM0のうち特徴量算出部M02および分類部M03のパラメータを更新する。例えば、損失関数は、分類モデルM0の出力値とデータセットの出力サンプルとのクロスエントロピー誤差を表す。
【0046】
学習部13は、損失関数の評価値が所定の閾値を下回った場合、または所定回数だけ学習処理を繰り返した場合に、学習処理を終了する。学習部13による学習処理が終了すると、出力部14は、学習部13によって学習された分類モデルM0(学習済みモデル)を識別部233へ出力する。
【0047】
(識別情報の付与について)
ここで、学習が進んでいない段階では、学習済みモデルで学習されていない牛Buと学習された牛Buとが混在することがある。このとき、学習された牛Buが餌を食べ終わって、学習されていない牛Buと入れ替わったときに、この2つの牛Buの顔画像が同じフォルダに記憶されないようにする必要がある。これについて具体的に説明すると、識別部233は、抽出部203によって抽出された顔画像320を学習済みモデルに入力することで牛IDを識別する。識別部233によって牛IDが識別されない場合(確率が低い場合)であり且つ当該牛Buについて牛IDが付与されたフォルダ330がある場合、記憶制御部204は、抽出された顔画像320を、当該牛IDに対応するフォルダ330に記憶させる。
【0048】
また、新たに給餌場10に入った直後の牛Buには、牛ID(フォルダID)が割り当てられていないことになる。このため、新たに給餌場10に入ってきた牛Buについて、牛IDを付与してフォルダ330を作成する必要がある。これについて具体的に説明すると、新たに給餌場10に入った直後の牛Buがいる場合、具体的には、識別部233によって牛IDが識別されない場合(学習されていない場合)であり且つ当該牛Buについて牛IDが付与されたフォルダ330がない場合、記憶制御部204は、当該関心領域310に対応する牛IDを新たに付与して、フォルダ330を生成する。
【0049】
また、学習済みモデルで学習された牛Buの場合、識別部233によって牛IDが識別されることになる。この場合、記憶制御部204は、抽出部203によって抽出された顔画像320を、当該牛IDに対応するフォルダ330に記憶させる。この場合、学習処理部221は、フォルダ330に記憶された当該顔画像320を用いて学習済みモデルを更新することにより、学習精度を向上させることができる。ただし、記憶制御部204は、抽出された顔画像320を記憶部210に記憶させないようにしてもよい。
【0050】
このように、記憶制御部204は、既知の家畜の顔画像320が入力されると既知の家畜の牛IDとその確度を出力する判別モデル(例えば、学習処理部に221によって作成された学習済みモデル)に、抽出部203によって抽出された顔画像320を入力する。そして、当該確度が所定値以上である場合、記憶制御部204は、判別された牛IDに顔画像320を分類する。一方で、当該確度が所定値未満である場合、記憶制御部204は、関心領域310に対応する牛IDに顔画像320を分類する。なお、判別モデルは、学習処理部に221によって作成された学習済みモデルに限らず、他の装置によって作成された学習済みモデルとしてもよい。
【0051】
(牛Buの識別について)
識別部233は、学習処理部221によって作成された学習済みモデルを用いることによって、給餌場10で餌を食べる牛Buの牛IDをリアルタイムに識別することが可能である。具体的に説明すると、撮像情報入力部231は、撮像装置100から、牛Buを前方から撮像した撮像情報を入力する。顔画像抽出部232は、撮像情報に基づいて、牛Buの顔画像320を抽出する。識別部233は、学習装置220によって学習された学習済みモデルに、顔画像抽出部232によって抽出されたリアルタイムの顔画像320を入力することで、牛IDを識別する。より具体的には、識別部233は、学習済みモデルに入力した顔画像320について牛IDごとの推定値を導出し、推定値の高い牛IDを選択(識別)する。
【0052】
出力部234は、識別部233によって識別された結果を示す牛IDを出力する。出力部234は、識別部233によって識別された牛IDと、顔画像320とを出力する。出力部234は、牛IDと牛Buの顔画像320(映像)とを対応付けてディスプレイ405(
図8参照)に表示させる。なお、出力部234による出力態様は、表示による出力態様に限らず、音声による出力態様や、外部の装置への送信による出力態様を含んでもよい。外部の装置に送信する場合、外部の装置が、当該牛IDや顔画像320を表示してもよい。
【0053】
識別部233は、顔画像抽出部232によって顔画像320が抽出される度に牛IDを識別する。出力部234は、識別部233によって牛IDが識別される度に、当該牛IDを出力する。また、出力部234は、識別部233によって識別された牛IDのうち、最も多く識別された牛IDを最終結果として出力する。具体的には、出力部234は、所定時間内に最も多く識別された牛IDを最終結果として出力する。所定時間は、牛Buがその場に留まって餌を食べる時間内(例えば5分以内)であればよい。本実施形態において、所定時間は、例えば、3分である。
【0054】
なお、本実施形態において、識別部233は、学習装置220によって作成された学習済みモデルを用いて、顔画像320の牛IDを識別するようにしたが、これに限らない。例えば、識別部233は、各フォルダ330に対応する顔画像320の特徴量を比較する比較用のデータを用いて、牛IDを識別するようにしてもよい。具体的に説明すると、不図示のデータベースに、各牛Buについて、牛IDと、顔画像320から抽出された比較用の特徴量とを対応付けて記憶しておく。識別部233は、顔画像抽出部232によって抽出されたリアルタイムの顔画像320から特徴量を計算し、当該特徴量と最も類似度が高い特徴量に対応する牛IDを特定(識別)するようにしてもよい。
【0055】
なお、本実施形態において、記憶制御装置200と、学習装置220とは、家畜識別装置120に含まれるが、これに限らない。例えば、家畜識別装置120と、記憶制御装置200と、学習装置220とは、それぞれ別々の装置であってもよい。また、家畜識別装置120と、学習装置220とを別々の装置とし、学習装置220に記憶制御装置200が含まれるようにしてもよいし、家畜識別装置120に記憶制御装置200が含まれるようにしてもよい。
【0056】
また、記憶部210は、記憶制御装置200に具備されることに限らず、外部のサーバなど外部の装置に具備されていてもよい。また、入力部201と、撮像情報入力部231とは、別々の機能部とすることに限らず、一の機能部としてもよい。同様に、抽出部203と、顔画像抽出部232とについても、別々の機能部とすることに限らず、一の機能部としてもよい。
【0057】
(家畜識別装置120のハードウェア構成)
図5は、家畜識別装置120のハードウェア構成の一例を示す説明図である。
図5において、家畜識別装置120は、CPU401(Central Processing Unit)と、メモリ402と、操作部403と、マイク404と、ディスプレイ405と、スピーカ406と、通信I/F(インタフェース)とを備える。これらは、バスを介して相互に通信可能である。
【0058】
CPU401は、中央演算処理装置であり、メモリ402に記憶されている各種プログラムを読み出して実行することにより、家畜識別装置120の動作を制御する。各種プログラムは、本実施形態に係る、記憶制御プログラムと、学習プログラムと、家畜識別プログラムとを含む。
【0059】
メモリ402は、記憶部210であり、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、ハードディスク、SSD(Solid State Drive)などを含む。ROMは、読み出し専用メモリであり、プログラムをはじめとしてCPU401が利用する各種の情報を記憶する。RAMは、読み出しや書き込みが可能なメモリであり、種々の情報を記憶する。例えば、RAMは、外部から取得した情報や、処理において生成した情報を記憶する。また、メモリ402は、USBメモリなどの着脱可能な記憶媒体や、光ディスクなどを含む。
【0060】
操作部403は、タッチパネルディスプレイや、キーボード、マウスなどの操作入力部である。マイク404は、音声等の音を入力する。CPU401は、音声認識プログラムを実行することにより、マイク404に入力された音声を認識する。
【0061】
ディスプレイ405は、タッチパネルディスプレイや、モニタなどである。スピーカ406は、音を出力する。通信I/F407は、他の装置と情報を送受信するインタフェースである。なお、家畜識別装置120は、この他にも、情報を読み取るスキャナや、媒体に情報を印刷するプリンタなどを備えていてもよい。
【0062】
なお、
図2に示した各部201~205、221、231~234や、
図4に示した各部11~14は、CPU401によって実現される。すなわち、CPU401がメモリ402に記憶されている各種プログラムを実行することにより、各部11~14、201~205、221、231~234の機能を実現する。
【0063】
(家畜識別装置120が行う顔画像320の記憶制御処理の一例)
図6は、家畜識別装置120が行う顔画像320の記憶制御処理の一例を示すフローチャートである。
図6において、家畜識別装置120は、操作部403(
図4参照)が学習開始を示す所定の操作を受け付けることにより、学習を開始するか否かを判断する(ステップS601)。家畜識別装置120は、学習の開始となるまで待機し(ステップS601:NO)、学習の開始になると(ステップS601:YES)、撮像装置100によって撮像された撮像情報300(一のフレーム画像301)を入力する(ステップS602)。
【0064】
そして、家畜識別装置120は、関心領域310を設定済みであるか否かを判断する(ステップS603)。関心領域310を設定済みである場合(ステップS603:YES)、家畜識別装置120は、ステップS605に進む。関心領域310を設定済みではない場合(ステップS603:NO)、家畜識別装置120は、牛Buの顔の領域を検出し、当該検出結果に基づいて、撮像領域302のうち、複数の関心領域310(310a~310d)を設定する(ステップS604)。
【0065】
そして、家畜識別装置120は、複数の関心領域310のうち、一の関心領域310を特定する(ステップS605)。次に、家畜識別装置120は、特定した一の関心領域310から顔画像320を抽出する(ステップS606)。そして、家畜識別装置120は、抽出した顔画像320の領域と、関心領域310とに基づいて、重複率を算出する(ステップS607)。
【0066】
次に、家畜識別装置120は、重複率が閾値以上であるか否かを判断する(ステップS608)。重複率が閾値未満である場合(ステップS608:NO)、家畜識別装置120は、ステップS614に進む。重複率が閾値以上である場合(ステップS608:YES)、家畜識別装置120は、抽出した顔画像320を学習済みモデルに入力する(ステップS609)。
【0067】
家畜識別装置120は、学習済みモデルに顔画像320を入力した結果、牛IDを導出したか否かを判断する(ステップS610)。具体的には、家畜識別装置120は、学習済みモデルの出力ベクトルのうち、最も値が高い要素が示す確率が閾値以上である場合に、当該要素に対応する牛IDが導出されたと判定する。一方、家畜識別装置120は、学習済みモデルの出力ベクトルのうち、最も値が高い要素が示す確率が閾値未満である場合に、牛IDが導出されなかったと判定する。牛IDを導出した場合(ステップS610:YES)、すなわち、牛IDを識別した場合、家畜識別装置120は、ステップS613に進む。なお、牛IDを導出した場合、牛IDをディスプレイ405に表示してもよい。一方、牛IDを導出しない場合(ステップS610:NO)、家畜識別装置120は、特定した一の関心領域310に対応する牛IDが付されているか否かを判断する(ステップS611)。
【0068】
当該一の関心領域310に対応する牛IDが付されている場合(ステップS611:YES)、家畜識別装置120は、ステップS613に進む。一方、当該関心領域310に対応する牛IDが付されていない場合(ステップS611:NO)、家畜識別装置120は、当該関心領域310に対応する新たな牛IDを付与し、すなわち、新たなフォルダIDを付与したフォルダ330を生成する(ステップS612)。
【0069】
次に、家畜識別装置120は、当該一の関心領域310に対応するフォルダ330に顔画像320を記憶する(ステップS613)。そして、家畜識別装置120は、対象のフレーム画像301において、全ての関心領域310を特定したか否かを判断する(ステップS614)。全ての関心領域310を特定していない場合(ステップS614:NO)、家畜識別装置120は、ステップS605に戻り、特定していない他の関心領域310について、顔画像320の抽出や記憶等を行う。
【0070】
一方、全ての関心領域310を特定した場合(ステップS614:YES)、家畜識別装置120は、学習済みモデルを作成することが可能な所定数の顔画像320を得ることが可能な所定時間(例えば5分)が経過したか否かを判断する(ステップS615)。所定時間が経過していない場合(ステップS615:NO)、家畜識別装置120は、ステップS602に戻り、次のフレーム画像301を入力する。
【0071】
一方、所定時間が経過した場合(ステップS615:YES)、家畜識別装置120は、フォルダ330ごとに記憶した顔画像320を用いて、牛IDを求める学習済みモデルを作成する(ステップS616)。既に学習済みモデルが作成されている場合は、家畜識別装置120は、学習済みモデルを上書きする。なお、ステップS615に示した、学習開始のトリガとなる所定時間は、任意に設定変更することが可能である。また、当該トリガは、所定時間とすることに限らず、所定フレーム数としてもよいし、記憶した顔画像320の枚数としてもよい。
【0072】
ステップS616における学習済みモデルの作成を終えると、家畜識別装置120は、学習済みモデルの対象の牛IDに対応する関心領域310について、当該牛IDとの対応付けを解除する(ステップS617)。次に、家畜識別装置120は、操作部403(
図4参照)が学習終了を示す所定の操作を受け付けることにより、学習を終了するか否かを判断する(ステップS618)。
【0073】
学習を終了しない場合(ステップS618:NO)、家畜識別装置120は、ステップS602に戻り、次のフレーム画像301を入力する。一方、学習を終了する場合(ステップS618:YES)、家畜識別装置120は、一連の処理を終了する。
【0074】
上述した処理により、家畜識別装置120は、関心領域310から抽出した顔画像320を、牛IDごと(関心領域310ごと)にフォルダ330に記憶させることができる。また、家畜識別装置120は、各フォルダ330の顔画像320を入力サンプルとした学習済みモデルを作成することができる。また、上述した処理を繰り返し実行していくことにより、学習済みモデルによって識別可能な牛Buの数を順次増加させることができる。
【0075】
(家畜識別装置120が行う牛Buの識別処理の一例)
図7は、家畜識別装置120が行う牛Buの識別処理の一例を示すフローチャートである。
図7において、家畜識別装置120は、操作部403(
図4参照)が識別開始を示す所定の操作を受け付けることにより、牛IDの識別を開始するか否かを判断する(ステップS701)。家畜識別装置120は、牛IDの識別の開始となるまで待機し(ステップS701:NO)、牛IDの識別の開始になると(ステップS701:YES)、撮像装置100によって撮像された撮像情報300(一のフレーム画像301)を入力する(ステップS702)。
【0076】
そして、家畜識別装置120は、顔画像320を抽出する(ステップS703)。次に、家畜識別装置120は、抽出した顔画像320ののうち一の顔画像320を特定する(ステップS704)。そして、家畜識別装置120は、特定した顔画像320を学習済みモデルに入力する(ステップS705)。
【0077】
家畜識別装置120は、入力した顔画像320についての牛IDごとの推定値を導出し、推定値の高い牛IDを選択する(ステップS706)。なお、ステップS706では、牛IDごとに推定値がパーセンテージで表される。具体的には、牛ID「1」の可能性が95%、牛ID「2」の可能性が2%、牛ID「3」の可能性が1%というように表され、最も可能性が高い牛IDが選択される。
【0078】
次に、家畜識別装置120は、選択した牛IDをディスプレイ405に表示する(ステップS707)。そして、家畜識別装置120は、ステップS703において抽出した全ての顔画像320について、学習済みモデルへの入力が完了したか否かを判断する(ステップS708)。全ての顔画像320について、学習済みモデルへの入力が完了していない場合(ステップS708:NO)、家畜識別装置120は、ステップS704に戻り、未だ特定していない一の顔画像320を特定し、学習済みモデルへの入力および牛IDの選択(識別)を行う。
【0079】
一方、全ての顔画像320について、学習済みモデルへの入力が完了した場合(ステップS708:YES)、家畜識別装置120は、所定時間(例えば3分)が経過したか否かを判断する(ステップS709)。所定時間が経過していない場合(ステップS709:NO)、家畜識別装置120は、ステップS702に戻り、次のフレーム画像の入力を行う。一方、所定時間が経過した場合(ステップS709:YES)、家畜識別装置120は、所定時間内に最も多く選択した牛IDを最終結果としてディスプレイ405に表示する(ステップS710)。
【0080】
次に、家畜識別装置120は、操作部403(
図4参照)が識別終了を示す所定の操作を受け付けることにより、牛IDの識別を終了するか否かを判断する(ステップS711)。牛IDの識別を終了しない場合(ステップS711:NO)、家畜識別装置120は、ステップS702に戻り、次のフレーム画像301を入力する。一方、牛IDの識別を終了する場合(ステップS711:YES)、家畜識別装置120は、一連の処理を終了する。
【0081】
上述した処理により、家畜識別装置120は、撮像領域302から顔画像320を抽出し、抽出した顔画像320に基づいて、牛IDを識別することができる。
【0082】
(家畜識別装置120が表示する牛IDの表示例)
図8は、家畜識別装置120が表示する牛IDの表示例を示す説明図である。
図8(A)は、牛IDの識別を開始してから、所定時間が経過する前の画面を示す。
図8(B)は、当該所定時間が経過した後の画面を示す。
図8(A)、(B)において、ディスプレイ405には、検索画面800が表示されている。検索画面800は、カメラ番号入力領域810と、検索開始ボタン820、撮像表示領域830と、牛ID表示領域840とを含む。
【0083】
カメラ番号入力領域810は、カメラ番号の入力を受け付ける領域である。カメラ番号は、給餌場10に配置される複数の撮像装置100のうち、いずれかの撮像装置100を示す番号である。検索開始ボタン820は、牛IDの検索の開始を受け付けるボタンである。検索対象となる牛IDは、カメラ番号入力領域810に入力されたカメラ番号の撮像装置100によって撮像される牛Buの牛IDである。
【0084】
撮像表示領域830は、撮像装置100によって撮像された画像を表示する領域である。当該撮像装置100は、カメラ番号入力領域810に入力されたカメラ番号に対応する撮像装置100である。また、撮像表示領域830は、識別結果領域831(831a~831d)を含む。識別結果領域831は、撮像表示領域830内の顔画像320(320a~320d)に対応した領域であり、牛IDの識別結果を示す。識別結果領域831は、撮像表示領域830内の顔画像320における顔の位置に応じて、上方または下方に表示される。
【0085】
例えば、牛ID「1」、「3」の顔画像320a、320cにおける牛Buの顔の位置は、撮像表示領域830において、比較的、上方に位置している。このため、撮像表示領域830の顔画像320a、320cにおける下方にスペースができることから、識別結果領域831a、831cを、顔画像320の下方に表示するようにしている。
【0086】
一方で、牛ID「2」、「4」の顔画像320b、320dにおける牛Buの顔の位置は、撮像表示領域830において、比較的、下方に位置している。このため、撮像表示領域830の顔画像320b、320dにおける上方にスペースができることから、識別結果領域831a、831cを、顔画像320の上方に表示するようにしている。
【0087】
このように、識別結果領域831は、顔画像320における顔の位置に応じて、都度、上方または下方に切り替えて表示される。また、同じ顔画像320であっても、フレームごとに、異なる識別結果が表示されることもある。
【0088】
牛ID表示領域840は、牛IDの識別結果をリスト表示する領域である。具体的には、牛ID表示領域840は、撮像表示領域830に表示される牛Buの牛IDをリスト状に表示する領域である。また、牛ID表示領域840に表示される牛IDは、識別結果領域831の識別結果に対応している。このため、牛ID表示領域840に表示される牛IDは、フレームごとに、異なる牛IDが表示されることもある。
【0089】
図8(A)において、識別結果領域831は、第1の表示態様で表示されている。
図8(B)において、識別結果領域831は、第1の表示態様とは異なる第2の表示態様で表示されている。第2の表示態様は、識別結果の最終結果を示す表示態様である。第2の表示態様で表示されてからは、同じ顔画像320について、異なる識別結果が表示されることはない。
【0090】
また、牛ID表示領域840の表示態様についても、最終結果を示す表示態様となる。なお、
図8(B)では、識別結果領域831と牛ID表示領域840との両方が最終結果を示す表示態様としているが、少なくともいずれか一方を、最終結果を示す表示態様とすればよい。
【0091】
また、
図8において、操作者がカメラ番号入力領域810に、別のカメラ番号を入力して、検索開始ボタン820を選択すると、家畜識別装置120は、撮像表示領域830に別の撮像装置100によって撮像された撮像画像を表示して、当該撮像画像に基づいて牛IDの検索を行う。そして、家畜識別装置120は、所定時間が経過すると、別の撮像装置100によって撮像された牛Buの牛IDを最終結果として表示する。
【0092】
これにより、操作者は、撮像装置100によって撮像された牛Buのうち、どの牛Buが餌を食べたのか、または、餌を食べていないのかを容易に確認することができる。
【0093】
以上説明したように、本実施形態において、家畜識別システム1(記憶制御装置200)は、牛Buを前方から撮像した撮像情報に基づいて、関心領域310内の牛Buの顔画像320を抽出し、関心領域310に対応する牛IDごとに顔画像320を分類して記憶させるようにした。これにより、給餌場10において餌を食べる牛Buの顔画像320を簡単かつ精度よく得ることができる。このため、顔画像320に基づく牛Buの識別を行うことができる。したがって、牛Buの体の一部に通信機を装着させたり、農場全体に中継器を設置したりしなくても、簡単な構成で、牛Buを簡単に識別することが可能になる。これにより、牛Buの識別にかかる酪農家の負荷を軽減することができる。
【0094】
また、本実施形態において、家畜識別システム1(記憶制御装置200)は、顔画像320が示す領域と関心領域310とが重複する度合いに基づいて、当該関心領域310に対応する牛IDごとに顔画像320を記憶させるようにした。これにより、牛Buの顔が写っている領域が小さい顔画像320については、すなわち、関心領域310から外れているような精度の低い顔画像320については、記憶させないようにすることができる。このため、例えば、精度の低い顔画像320を学習済みモデルの作成に用いないようにすることができる。したがって、牛IDの識別に係る精度を向上させることができる。
【0095】
また、本実施形態において、家畜識別システム1(記憶制御装置200)は、撮像情報300に基づいて、撮像領域302のうち牛Buの顔の領域を検出し、検出した顔の領域に基づいて、関心領域310を設定するようにした。これにより、牛Buの位置に応じた好適な関心領域310を設定することができる。すなわち、撮像領域302内のいずれの位置で牛Buが餌を食べたとしても、顔画像320を好適に得ることができる。
【0096】
また、本実施形態において、家畜識別システム1(記憶制御装置200)は、判別モデルに抽出部203によって抽出された顔画像を入力し、確度が所定値以上である場合に、判別され牛IDに顔画像320を分類し、当該確度が所定値未満である場合に、関心領域310に対応する牛IDに顔画像320を分類するようにした。これにより、新たに給餌場10に入った直後の牛Bu(牛IDが付与されていない牛Bu)に対しても、牛IDを付したフォルダ330を作成して、顔画像320を適切に分類することができる。
【0097】
また、本実施形態において、家畜識別システム1(学習装置220)は、牛IDごとに記憶した顔画像320を入力サンプルとし、複数のクラスのうち当該顔画像320が属するクラスを示すワンホットベクトルを出力サンプルとする学習用データセットを用いて、入力された顔画像320に対応して、当該顔画像320が属する前記クラスの事後確率を示すベクトルを出力するように学習済みモデル(判別モデル)を作成するようにした。これにより、給餌場10で餌を食べる牛Buの顔画像320を用いて、数分程度で学習済みモデルを自動で作成することができる。したがって、簡単かつ迅速に学習済みモデルを作成することができるとともに、牛IDの識別を高精度に行うことができる。
【0098】
また、本実施形態において、家畜識別システム1(記憶制御装置200)は、判別モデルを、学習装置220が作成した学習済みモデルとした。これにより、新たに給餌場10に入った直後の牛Bu(牛IDが付与されていない牛Bu)に対しても、牛IDを付したフォルダ330を作成して、学習済みモデルを作成することができる。したがって、酪農場内の全ての牛Buについて、学習済みモデルを簡単かつ迅速に作成することができる。
【0099】
また、本実施形態において、家畜識別システム1(家畜識別装置120)は、学習装置220によって学習された学習済みモデルに、顔画像320を入力することで、牛IDを識別し、識別結果を出力するようにした。これにより、給餌場10で餌を食べる牛Buを簡単かつ精度よく識別することができる。したがって、簡単な構成で、牛Buを好適に識別することが可能になる。
【0100】
また、本実施形態において、家畜識別システム1(家畜識別装置120)は、所定数の連続するフレームの撮像情報300から顔画像320を抽出する度に牛IDを識別して、出力するようにした。これにより、撮像情報300が入力される度に、リアルタイムの識別結果をディスプレイ405に表示することができる。したがって、操作者に識別結果を迅速に提示することができる。
【0101】
また、本実施形態において、家畜識別システム1(家畜識別装置120)は、識別した牛IDのうち、最も多く識別した牛IDを最終結果として出力するようにした。これにより、牛Buの顔の向き等によっては、識別結果にバラツキが生じる可能性があるものの、このようなバラツキが生じたとしても、所定時間内に最も多く識別した牛IDを最終結果とすることができる。したがって、より高精度に牛IDの識別を行うことができる。
【0102】
(実施形態の変形例)
以下に、実施形態の変形例について説明する。なお、以下の変形例では、上述した実施形態で説明した内容については、適宜説明を省略する。また、以下の変形例および上述した実施形態は、それぞれ組み合わせることも可能である。
【0103】
(変形例)
上述した実施形態では、関心領域310は、撮像領域302(
図3参照)のうち牛Buの顔の領域に基づいて設定される構成について説明した。変形例1では、このような構成に加えて又は代えて、関心領域310は、撮像領域302を予め区分けされた領域とした構成について説明する。
【0104】
変形例において、設定部202は、撮像領域302を予め区分けされた関心領域310を設定する。具体的には、撮像領域302のうち、牛Buが位置する領域が予め想定されているものとする。設定部202は、牛Buが位置するものと想定される領域に、予め関心領域310を設定する。
図3を例に挙げると、撮像領域302のうち、4つの関心領域310(310a~310d)を予め設定する。隣り合う関心領域310の間には隙間が設けられている。なお、図示では4頭の牛Buが撮像領域302に写ることを想定しているが、例えば、8等の牛Buが撮像領域302に写ることが想定される場合には、8つの関心領域310を予め設定しておけばよい。
【0105】
変形例に係る家畜識別システム1(記憶制御装置200)によれば、仮に、撮像の開始時点で、隣り合う牛Buの距離が近かったとしても、予め定めた関心領域310ごとに顔画像320を得ることができる。このようにしても、顔画像320を好適に得ることができる。
【0106】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【0107】
なお、以上に説明した家畜識別システム1、家畜識別装置120、記憶制御装置200および学習装置220を実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録し、そのプログラムをコンピュータシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【符号の説明】
【0108】
1…家畜識別システム、100…撮像装置、120…家畜識別装置、200…記憶制御装置、201…入力部、202…設定部、203…抽出部、204…記憶制御部、205…検出部、210…記憶部、220…学習装置、221…学習処理部、231…撮像情報入力部、232…顔画像抽出部、233…識別部、234…出力部、401…CPU、402…メモリ、403…操作部、404…マイク、405…ディスプレイ、406…スピーカ、407…通信I/F