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

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

▶ 日本ユニシス株式会社の特許一覧 ▶ 国立大学法人広島大学の特許一覧 ▶ 全国酪農業協同組合連合会の特許一覧

特開2025-7395プログラム、情報処理方法及び情報処理装置
<>
  • 特開-プログラム、情報処理方法及び情報処理装置 図1
  • 特開-プログラム、情報処理方法及び情報処理装置 図2
  • 特開-プログラム、情報処理方法及び情報処理装置 図3
  • 特開-プログラム、情報処理方法及び情報処理装置 図4
  • 特開-プログラム、情報処理方法及び情報処理装置 図5
  • 特開-プログラム、情報処理方法及び情報処理装置 図6
  • 特開-プログラム、情報処理方法及び情報処理装置 図7
  • 特開-プログラム、情報処理方法及び情報処理装置 図8
  • 特開-プログラム、情報処理方法及び情報処理装置 図9
  • 特開-プログラム、情報処理方法及び情報処理装置 図10
  • 特開-プログラム、情報処理方法及び情報処理装置 図11
  • 特開-プログラム、情報処理方法及び情報処理装置 図12
  • 特開-プログラム、情報処理方法及び情報処理装置 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025007395
(43)【公開日】2025-01-17
(54)【発明の名称】プログラム、情報処理方法及び情報処理装置
(51)【国際特許分類】
   A01K 29/00 20060101AFI20250109BHJP
   G01B 11/02 20060101ALI20250109BHJP
【FI】
A01K29/00 D
G01B11/02 H
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023108762
(22)【出願日】2023-06-30
(71)【出願人】
【識別番号】591030237
【氏名又は名称】BIPROGY株式会社
(71)【出願人】
【識別番号】504136568
【氏名又は名称】国立大学法人広島大学
(71)【出願人】
【識別番号】000201652
【氏名又は名称】全国酪農業協同組合連合会
(74)【代理人】
【識別番号】100114557
【弁理士】
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【弁理士】
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】武井 宏将
(72)【発明者】
【氏名】石田 若菜
(72)【発明者】
【氏名】杉野 利久
(72)【発明者】
【氏名】東 健太郎
【テーマコード(参考)】
2F065
【Fターム(参考)】
2F065AA21
2F065BB05
2F065CC16
2F065FF01
2F065FF04
2F065JJ03
2F065JJ26
2F065MM01
2F065QQ21
(57)【要約】
【課題】対象動物の周囲長に基づき体重を推定することが可能なプログラム等を提供すること。
【解決手段】一つの側面に係るプログラムは、対象動物を撮像した画像データ及び前記対象動物の3次元座標データを取得し、前記画像データにおける前記対象動物の第1特徴点11a及び第2特徴点11bを特定し、前記第1特徴点11a及び第2特徴点11b間の点群に対応する複数の3次元座標データを特定し、特定した複数の3次元座標データに基づき、前記対象動物の周囲長を導出し、導出した周囲長に基づき、前記対象動物の体重を導出する処理をコンピュータに実行させる。
【選択図】図3
【特許請求の範囲】
【請求項1】
対象動物を撮像した画像データ及び前記対象動物の3次元座標データを取得し、
前記画像データにおける前記対象動物の第1特徴点及び第2特徴点を特定し、
前記第1特徴点及び第2特徴点間の点群に対応する複数の3次元座標データを特定し、
特定した複数の3次元座標データに基づき、前記対象動物の周囲長を導出し、
導出した周囲長に基づき、前記対象動物の体重を導出する
処理をコンピュータに実行させるプログラム。
【請求項2】
前記第1特徴点からオフセットした第1オフセット点と、前記第2特徴点からオフセットした第2オフセット点とを結ぶ線分上の所定間隔で等分した複数の点群に対応する複数の3次元座標データを特定する
請求項1に記載のプログラム。
【請求項3】
特定した各3次元座標データ間の線分長の合計長を導出する
請求項1または2に記載のプログラム。
【請求項4】
前記対象動物の合計長と周囲長との関係を示す推定式、または前記対象動物の合計長を入力した場合に該対象動物の周囲長を出力するよう学習された第1学習モデルに基づき、導出した合計長から前記対象動物の周囲長を導出する
請求項3に記載のプログラム。
【請求項5】
前記対象動物の周囲長と体重との関係を示す推定式、または前記対象動物の周囲長を入力した場合に該対象動物の体重を出力するよう学習された第2学習モデルに基づき、導出した周囲長から前記対象動物の体重を導出する
請求項1または2に記載のプログラム。
【請求項6】
前記画像データから、前記対象動物の測定対象領域のセグメンテーションデータを抽出し、
前記測定対象領域のテンプレートデータ及び該テンプレートデータにおける前記対象動物の複数の基準特徴点を取得し、
取得したテンプレートデータ及び複数の基準特徴点に基づき、抽出したセグメンテーションデータにおける前記対象動物の第1特徴点及び第2特徴点を特定する
請求項1または2に記載のプログラム。
【請求項7】
対象動物を撮像した画像データ及び前記対象動物の3次元座標データを取得し、
前記画像データにおける前記対象動物の第1特徴点及び第2特徴点を特定し、
前記第1特徴点及び第2特徴点間の点群に対応する複数の3次元座標データを特定し、
特定した複数の3次元座標データに基づき、前記対象動物の周囲長を導出し、
導出した周囲長に基づき、前記対象動物の体重を導出する
情報処理方法。
【請求項8】
制御部を備える情報処理装置であって、
前記制御部は、
対象動物を撮像した画像データ及び前記対象動物の3次元座標データを取得し、
前記画像データにおける前記対象動物の第1特徴点及び第2特徴点を特定し、
前記第1特徴点及び第2特徴点間の点群に対応する複数の3次元座標データを特定し、
特定した複数の3次元座標データに基づき、前記対象動物の周囲長を導出し、
導出した周囲長に基づき、前記対象動物の体重を導出する
情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報処理方法及び情報処理装置に関する。
【背景技術】
【0002】
近年、牛の体重を推定する技術がある。特許文献1には、牛を所定方向から撮像した画像から牛の体重を推定する体重推定装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2023-014766号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に係る発明は、対象動物(例えば、牛)の周囲長に基づき体重を推定することができないという問題がある。
【0005】
一つの側面では、対象動物の周囲長に基づき体重を推定することが可能なプログラム等を提供することにある。
【課題を解決するための手段】
【0006】
一つの側面に係るプログラムは、対象動物を撮像した画像データ及び前記対象動物の3次元座標データを取得し、前記画像データにおける前記対象動物の第1特徴点及び第2特徴点を特定し、前記第1特徴点及び第2特徴点間の点群に対応する複数の3次元座標データを特定し、特定した複数の3次元座標データに基づき、前記対象動物の周囲長を導出し、導出した周囲長に基づき、前記対象動物の体重を導出する処理をコンピュータに実行させる。
【発明の効果】
【0007】
一つの側面では、対象動物の周囲長に基づき体重を推定することが可能となる。
【図面の簡単な説明】
【0008】
図1】コンピュータの構成例を示すブロック図である。
図2】測定結果DB及び訓練データDBのレコードレイアウトの一例を示す説明図である。
図3】牛の体重を導出する処理を説明する説明図である。
図4】牛の体重を導出する際の処理手順を示すフローチャートである。
図5】実施形態2におけるコンピュータの構成例を示すブロック図である。
図6】テンプレートデータDBのレコードレイアウトの一例を示す説明図である。
図7】牛の複数の基準特徴点の一例を示す説明図である。
図8】第1特徴点及び第2特徴点の特定処理を説明する説明図である。
図9】特徴点の特定処理を説明する説明図である。
図10】第1特徴点及び第2特徴点を特定する際の処理手順を示すフローチャートである。
図11】マスク画像を補正する処理のサブルーチンの処理手順を示すフローチャートである。
図12】マスク画像のサイズを調整する処理のサブルーチンの処理手順を示すフローチャートである。
図13】特徴点を特定する処理のサブルーチンの処理手順を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、本発明をその実施形態を示す図面に基づいて詳述する。
【0010】
(実施形態1)
実施形態1は、対象動物の体重を導出する形態に関する。対象動物は、象、牛、馬、羊、豚、鶏、鴨、犬、猫、マウスまたはマグロ等を含む。なお、対象動物に限らず、物体、人間、動物の骨格、または内蔵器官等にも同様に適用することができる。物体は、オートバイ、自動車もしくは鉄道車両等の製造物、機器、電柱または部材等を含む。なお、以下では、牛を対象動物として説明するが、他の種類の対象動物にも同様に適用することができる。
【0011】
本実施形態のシステムは、情報処理装置1を含む。情報処理装置1は、種々の情報に対する処理、記憶及び送受信等を行う情報処理装置である。情報処理装置1は、例えばスマートフォン、携帯電話、アップルウォッチ(Apple Watch:登録商標)等のウェアラブルデバイス、ウェアラブルカメラ、タブレット、またはパーソナルコンピュータ等の情報処理機器である。
【0012】
なお、情報処理装置1は、サーバ装置、または機能をクラウドサービスとして提供するクラウドサーバ装置であっても良い。以下では簡潔のため、情報処理装置1をコンピュータ1と読み替える。
【0013】
本実施形態に係るコンピュータ1は、牛を撮像した画像データ及び当該牛の3次元座標データを取得する。コンピュータ1は、取得した画像データにおける当該牛の第1特徴点及び第2特徴点を特定する。コンピュータ1は、特定した第1特徴点及び第2特徴点間の点群に対応する複数の3次元座標データを特定する。コンピュータ1は、特定した複数の3次元座標データに基づき、当該牛の周囲長を導出する。コンピュータ1は、導出した周囲長に基づき、当該牛の体重を導出する。
【0014】
図1は、コンピュータ1の構成例を示すブロック図である。コンピュータ1は、制御部11、記憶部12、通信部13、入力部14、表示部15、読取部16、大容量記憶部17、撮像部18及び3Dセンサ19を含む。各構成はバスBで接続されている。
【0015】
制御部11はCPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)、FPGA(Field Programmable Gate Array)、DSP(Digital Signal Processor)、または量子プロセッサ等の演算処理装置を含み、記憶部12に記憶された制御プログラム1P(プログラム製品)を読み出して実行することにより、コンピュータ1に係る種々の情報処理、制御処理等を行う。
【0016】
なお、制御プログラム1Pは、単一のコンピュータ上で、または1つのサイトにおいて配置されるか、もしくは複数のサイトにわたって分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開することができる。なお、図1では制御部11を単一のプロセッサであるものとして説明するが、マルチプロセッサであっても良い。
【0017】
記憶部12はRAM(Random Access Memory)、ROM(Read Only Memory)等のメモリ素子を含み、制御部11が処理を実行するために必要な制御プログラム1P又はデータ等を記憶している。また、記憶部12は、制御部11が演算処理を実行するために必要なデータ等を一時的に記憶する。通信部13は通信に関する処理を行うための通信モジュールである。
【0018】
入力部14は、キーボード、マウスまたは表示部15と一体化したタッチパネルでも良い。表示部15は、液晶ディスプレイ又は有機EL(electroluminescence)ディスプレイ等であり、制御部11の指示に従い各種情報を表示する。
【0019】
読取部16は、CD(Compact Disc)-ROM又はDVD(Digital Versatile Disc)-ROMを含む可搬型記憶媒体1aを読み取る。制御部11が読取部16を介して、制御プログラム1Pを可搬型記憶媒体1aより読み取り、大容量記憶部17に記憶しても良い。また、ネットワークN等を介して他のコンピュータから制御部11が制御プログラム1Pをダウンロードし、大容量記憶部17に記憶しても良い。さらにまた、半導体メモリ1bから、制御部11が制御プログラム1Pを読み込んでも良い。
【0020】
大容量記憶部17は、例えばHDD(Hard disk drive:ハードディスク)、SSD(Solid State Drive:ソリッドステートドライブ)等の記録媒体を備える。大容量記憶部17は、測定結果DB(database)171、訓練データDB172、周囲長推定モデル173及び体重推定モデル174を含む。
【0021】
測定結果DB171は、牛の周囲長及び体重等の測定結果を記憶している。訓練データDB172は、周囲長推定モデル173及び体重推定モデル174を構築(作成)するための訓練データを記憶している。周囲長推定モデル173は、牛の周囲長を推定する推定器であり、機械学習により生成された学習済みモデルである。体重推定モデル174は、牛の体重を推定する推定器であり、機械学習により生成された学習済みモデルである。
【0022】
なお、本実施形態において記憶部12及び大容量記憶部17は一体の記憶装置として構成されていても良い。また、大容量記憶部17は複数の記憶装置により構成されていても良い。更にまた、大容量記憶部17はコンピュータ1に接続された外部記憶装置であっても良い。
【0023】
撮像部18は、例えばCCD(Charge Coupled Device)カメラ、CMOS(Complementary Metal Oxide Semiconductor)カメラ等の撮像装置である。なお、撮像部18はコンピュータ1の中に内蔵せず、外部で直接的にコンピュータ1と接続し、撮像可能な構成としても良い。
【0024】
3Dセンサ19は、撮像部18により撮像された牛等の対象動物の画像と、3次元座標データとが位置合わせることが可能なセンサである。すなわち、3次元座標データは、画像データの各ピクセルに対応付けられている。
【0025】
3Dセンサ19は、例えば、LiDARセンサであっても良い。LiDARセンサは、レーザ光を照射して反射光または散乱光を検出するもので、3次元点群データ(X,Y,Z)を検出することができる。なお、LiDARセンサの他に、深度センサまたは赤外線センサ等が利用されても良い。なお、撮像部18と3Dセンサ19との一体型のセンサを利用しても良い。
【0026】
なお、コンピュータ1は、3Dセンサ19と一体型に限らず、コンピュータ1と3Dセンサ19とが別々の装置として設けられても良い。
【0027】
コンピュータ1は、種々の情報処理及び制御処理等をコンピュータ単体で実行しても良いし、複数のコンピュータで分散して実行しても良い。また、コンピュータ1は、1台のコンピュータ内に設けられた複数の仮想マシンによって実現されても良い。
【0028】
なお、上述したシステムの構成に限るものではない。例えば、情報処理端末(タブレット等)は、牛を撮像する。情報処理端末は、当該情報処理端末に搭載されたLiDARセンサにより当該牛の3次元座標データを取得する。情報処理端末は、取得した牛の画像データ及び3次元座標データをサーバ装置に送信する。サーバ装置は、情報処理端末から送信された牛の画像データ及び3次元座標データに基づき、牛の体重を導出する。サーバ装置は、導出した牛の体重を情報処理端末に送信する。情報処理端末は、サーバ装置から送信された牛の体重を受信し、受信した牛の体重を表示しても良い。なお、サーバ装置の代わりに、クラウドサーバであっても良い。すなわち、情報処理端末は、牛の撮像、画像データの送信、並びに、牛の体重の受信及び表示を行う。サーバ装置は、牛の周囲長及び体重等の導出処理(演算処理)を行う。
【0029】
図2は、測定結果DB171及び訓練データDB172のレコードレイアウトの一例を示す説明図である。
測定結果DB171は、画像ID列、画像データ列、3次元座標データ列、測定部位列、特徴点名称列、特徴点座標列、周囲長列及び体重列を含む。画像ID列は、各牛の画像データを識別するために、一意に特定される画像データのIDを記憶している。
【0030】
画像データ列は、牛の画像データを記憶している。3次元座標データ列は、牛の画像データ(2次元画像データ)の各ピクセルに対応する3次元座標データを記憶している。測定部位列は、牛の測定部位の名称を記憶している。特徴点名称列は、牛の画像データにおける特徴点の名称を記憶している。特徴点座標列は、牛の画像データにおける特徴点の座標値を記憶している。周囲長列は、牛の周囲長を記憶している。体重列は、牛の体重を記憶している。
【0031】
訓練データDB172は、訓練ID列、種類列、入力列及び出力列を含む。訓練ID列は、各訓練データを識別するために、一意に特定される訓練データのIDを記憶している。種類列は、周囲長推定モデル173及び体重推定モデル174を含む学習モデルの種類を記憶している。
【0032】
学習モデルの種類が「周囲長推定モデル173」である場合、入力列は、牛の線分長の合計長を記憶し、出力列は、牛の周囲長を記憶している。なお、線分長の合計長に関しては後述する。学習モデルの種類が「体重推定モデル174」である場合、入力列は、牛の周囲長を記憶し、出力列は、牛の体重を記憶している。
【0033】
なお、上述した各DBの記憶形態は一例であり、データ間の関係が維持されていれば、他の記憶形態であっても良い。
【0034】
続いて、牛の体重を導出する処理を説明する。まず、コンピュータ1は、牛を撮像した画像データ及び当該牛の3次元座標データを取得する。牛の画像データは、牛を横から撮像した画像データである。例えばコンピュータ1は、撮像部18を介して、牛を横から撮像した画像データを取得する。なお、コンピュータ1は、撮像機能を有する外部の情報処理端末により撮像された牛の画像データを取得しても良い。
【0035】
コンピュータ1は、当該牛の3次元座標データを取得する。具体的には、コンピュータ1は、3次元点群データを検出するためのLiDARセンサである3Dセンサ19を介して、当該牛の3次元座標データを取得する。3次元座標データは、画像の各ピクセルに対して3次元座標値を持つデータ(3次元点群データ)である。
【0036】
次に、コンピュータ1は、当該牛の体重を導出する。図3は、牛の体重を導出する処理を説明する説明図である。図3Aは、第1特徴点及び第2特徴点を特定する処理を説明する説明図である。図3Bは、合計長を導出する処理を説明する説明図である。図3Cは、牛の周囲長及び体重を導出する処理を説明する説明図である。
【0037】
コンピュータ1は、取得した画像データにおける当該牛の第1特徴点11a及び第2特徴点11bを特定する。図示のように、第1特徴点11aが胸深の上部座標であり、第2特徴点11bが胸深の下部座標である。胸深は、胸囲を測定する線上胸椎上縁より胸の下縁に至る直線距離である。
【0038】
なお、第1特徴点11a及び第2特徴点11bの位置は、図3に例示されている位置に限定されない。例えば、第1特徴点11a及び第2特徴点11bの位置は、体高を測定するためのき甲部頂点、及び当該き甲部頂点により垂直方向に沿って地面に至る地面測定点であっても良い。または、第1特徴点11a及び第2特徴点11bの位置は、十字部高を測定するための十字部、及び当該十字部により垂直方向に沿って地面に至る地面測定点であっても良い。
【0039】
さらにまた、第1特徴点11a及び第2特徴点11bの位置は、胸幅(胸囲測定部の肋骨幅)を測定するための肩後第8肋骨の基部を通過する帯径部の両端にある測定点であっても良い。さらにまた、第1特徴点11a及び第2特徴点11bの位置は、腰角幅(左右腰角外縁の直線距離)を測定するための左腰角外縁にある測定点及び右腰角外縁にある測定点であっても良い。
【0040】
第1特徴点11a及び第2特徴点11bの特定処理について、例えば、コンピュータ1は、画像データに対し、ユーザによる第1特徴点11a及び第2特徴点11bの指定(入力)を受け付けても良い。なお、第1特徴点11a及び第2特徴点11bは、ユーザによる手動特定に限らず、例えば、実施形態2でのテンプレートデータを利用することにより、自動的に特定することができる。
【0041】
コンピュータ1は、受け付けた第1特徴点11a及び第2特徴点11bに対応する3次元座標データを測定結果DB171から取得(特定)する。
【0042】
牛の輪郭領域において、ノイズ等の影響により輝度または位相等が不安定であるため、3Dセンサ19により取得された輪郭領域の3次元座標データを利用すると、後述する合計長の導出処理がノイズ等の影響により不正確になる恐れがある。牛の体内方向にオフセットする第1オフセット点11cと第2オフセット点11dを利用することにより、正確でない合計長の導出結果を防止することができる。第1オフセット点11cは、第1特徴点11aから下方向にオフセットした点であり、第2オフセット点11dは、第2特徴点11bから上方向にオフセットした点である。
【0043】
第1オフセット点11c及び第2オフセット点11dは、線分12a上の所定間隔で等分することにより得られる。具体的には、コンピュータ1は、特定した第1特徴点11aと第2特徴点11bとを結ぶ線分12aを特定する。コンピュータ1は、特定した線分12aを所定間隔で等分する。所定間隔は、一例として、線分12aを5等分することにより得られた間隔であっても良い。図示のように、線分12aは、5等分により、間隔13a、間隔13b、間隔13c、間隔13d及び間隔13eに等間隔で等分されている。
【0044】
コンピュータ1は、第1特徴点11aが属する間隔13aの下側に隣接する間隔13bにおいて、当該間隔13bに属する第1オフセット点11cを特定する。コンピュータ1は、第2特徴点11bが属する間隔13eの上側に隣接する間隔13dにおいて、当該間隔13dに属する第2オフセット点11dを特定する。
【0045】
コンピュータ1は、特定した第1オフセット点11cと第2オフセット点11dとの間での複数の点群に対応する複数の3次元座標データを特定する。具体的には、コンピュータ1は、測定結果DB171から、第1オフセット点11cと第2オフセット点11dとの間の各点に対応する3次元座標データを取得(特定)する。図3B示すように、第1オフセット点11cと第2オフセット点11dとの間に、各ピクセル(例えば、点11e及び点11f)に対応する3次元座標データが特定される。コンピュータ1は、特定した各3次元座標データ間の線分長の合計長を導出する。
【0046】
コンピュータ1は、導出した線分長の合計長から牛の周囲長を導出する。具体的には、コンピュータ1は、導出した合計長を周囲長推定モデル173に入力し、当該牛の周囲長を導出(出力)する。周囲長推定モデル173は、人工知能(AI;Artificial Intelligence)ソフトウェアの一部であるプログラムモジュールとして利用される。
【0047】
周囲長推定モデル173は、例えば、機械学習または深層学習等の人工知能の技術を利用して実現されても良い。周囲長推定モデル173は、牛の測定対象(測定部位)領域(例えば、胸深)の線分長の合計長と当該牛の周囲長との相関性に基づく構築(生成)済みの推定器である。例えば、周囲長推定モデル173は、訓練データDB172に蓄積された訓練データを用いて、牛の測定対象領域の線分長の合計長と当該牛の周囲長との相関性を学習する。周囲長推定モデル173は、学習した学習結果に基づき、入力された牛の測定対象領域の線分長の合計長から、当該牛の周囲長を推定する。
【0048】
訓練データは、牛の測定対象領域(例えば、胸深)の線分長の合計長に対し、過去の測定実績から得られた牛の周囲長を関連付けて生成するデータである。なお、周囲長推定モデル173は、コンピュータ1、外部の情報処理装置またはクラウドサーバ等により生成されても良い。
【0049】
コンピュータ1は、牛の測定対象領域の線分長の合計長を取得した場合、取得した合計長を周囲長推定モデル173に入力して、当該牛の周囲長を推定した推定結果を出力する。例えば、推定された牛の周囲長が129cmである。
【0050】
なお、周囲長推定モデル173としては、例えば、線形回帰分析、MARS(Multivariate adaptive regression splines)、サポートベクター回帰(SVR)、回帰木、モデル木、遺伝子プログラム、二値分類、ロジスティック回帰、k近傍法、サポートベクターマシン、決定木、またはランダムフォレスト等の任意の学習アルゴリズムで構築された学習済みモデルであって良い。
【0051】
また、合計長と周囲長との関係を示す推定式を利用して、牛の周囲長を求めることができる。例えば、周囲長の推定式は、以下の式(1)で表される。
推定周囲長(cm)=k1×合計長(cm) …(1)
k1は、周囲長を算出するための係数(例えば、正数)であり、例えば、多変数曲線あてはめ(カーブフィッティング;Curve Fitting)により算出される。なお、k1は、システムの管理者等により設定されても良い。例えば、k1が2.5であっても良い。コンピュータ1は、牛の胸深の線分長の合計長に基づき、上述した式(1)を用いて、牛の周囲長を導出(算出)する。
【0052】
コンピュータ1は、導出した牛の周囲長から当該牛の体重を導出する。具体的には、コンピュータ1は、導出した牛の周囲長を体重推定モデル174に入力し、当該牛の体重を導出(出力)する。体重推定モデル174は、人工知能ソフトウェアの一部であるプログラムモジュールとして利用される。
【0053】
体重推定モデル174は、例えば、機械学習または深層学習等の人工知能の技術を利用して実現されても良い。体重推定モデル174は、牛の測定対象領域(例えば、胸深)の周囲長と当該牛の体重との相関性に基づく構築(生成)済みの推定器である。例えば、体重推定モデル174は、訓練データDB172に蓄積された訓練データを用いて、牛の測定対象領域の周囲長と当該牛の体重との相関性を学習する。体重推定モデル174は、学習した学習結果に基づき、測定対象領域の周囲長から、当該牛の体重を推定する。
【0054】
訓練データは、牛の測定対象領域(例えば、胸深)の周囲長に対し、過去の測定実績から得られた牛の体重を関連付けて生成するデータである。なお、体重推定モデル174は、コンピュータ1、外部の情報処理装置またはクラウドサーバ等により生成されても良い。
【0055】
コンピュータ1は、牛の測定対象領域の周囲長を取得した場合、取得した周囲長を体重推定モデル174に入力して、当該牛の体重を推定した推定結果を出力する。例えば、推定された牛の体重が382kgである。
【0056】
なお、体重推定モデル174としては、例えば、線形回帰分析、MARS、サポートベクター回帰、回帰木、モデル木、遺伝子プログラム、二値分類、ロジスティック回帰、k近傍法、サポートベクターマシン、決定木、またはランダムフォレスト等の任意の学習アルゴリズムで構築された学習済みモデルであって良い。
【0057】
また、牛の周囲長と体重との関係を示す推定式を利用して、牛の体重を求めることができる。例えば、体重の推定式は、以下の式(2)で表される。
推定体重(kg)=k2-k3×周囲長(cm)+k4×[周囲長(cm)]2 …(2)
k2、k3及びk4は、体重を算出するための係数(例えば、正数)であり、例えば、多変数曲線あてはめにより算出される。なお、k2、k3及びk4は、システムの管理者等により設定されても良い。例えば、k2が55であり、k3が2.2であり、k4が0.02であっても良い。コンピュータ1は、牛の周囲長に基づき、上述した式(2)を用いて、牛の体重を導出(算出)する。
【0058】
図4は、牛の体重を導出する際の処理手順を示すフローチャートである。コンピュータ1の制御部11は、牛を横から撮像した画像データを撮像部18により取得する(ステップS101)。制御部11は、3Dセンサ19を介して、取得した画像データの各ピクセルに対応する3次元座標データを取得する(ステップS102)。
【0059】
制御部11は、画像IDに対応付けて、取得した牛の画像データ、及び画像データの各ピクセルに対応する3次元座標データを一つのレコードとして大容量記憶部17の測定結果DB171に記憶する(ステップS103)。
【0060】
制御部11は、取得した画像データにおける当該牛の第1特徴点11a及び第2特徴点11bを特定する(ステップS104)。例えば、制御部11は、画像データに対し、ユーザによる第1特徴点11a及び第2特徴点11bの指定(入力)を入力部14により受け付けても良い。制御部11は、特定した第1特徴点11a及び第2特徴点11bに対応する3次元座標データを大容量記憶部17の測定結果DB171から特定する(ステップS105)。
【0061】
制御部11は、特定した第1特徴点11aからオフセットした第1オフセット点11cと、特定した第2特徴点11bからオフセットした第2オフセット点11dを特定する(ステップS106)。具体的には、制御部11は、特定した第1特徴点11aと第2特徴点11bとを結ぶ線分12aを特定する。制御部11は、特定した線分12aを所定間隔(例えば、5等分により得られた間隔)で等分する。制御部11は、第1特徴点11aが属する間隔において、当該間隔の下側に隣接する間隔に属する第1オフセット点11cを特定する。制御部11は、第2特徴点11bが属する間隔において、当該間隔の上側に隣接する間隔に属する第2オフセット点11dを特定する。
【0062】
制御部11は、特定した第1オフセット点11cと第2オフセット点11dとの間での複数の点群に対応する複数の3次元座標データを特定する(ステップS107)。具体的には、制御部11は、大容量記憶部17の測定結果DB171から、特定した第1オフセット点11cと第2オフセット点11dとの間の各点に対応する3次元座標データを特定(取得)する。制御部11は、特定した各点の3次元座標データ間の線分長の合計長を導出する(ステップS108)。
【0063】
制御部11は、導出した合計長から牛の周囲長を導出する(ステップS109)。具体的には、制御部11は、導出した合計長を周囲長推定モデル173に入力し、当該牛の周囲長を出力(導出)する。制御部11は、導出した牛の周囲長から当該牛の体重を導出する(ステップS110)。具体的には、制御部11は、導出した牛の周囲長を体重推定モデル174に入力し、当該牛の体重を出力(導出)する。
【0064】
制御部11は、測定結果を大容量記憶部17の測定結果DB171に記憶し(ステップS111)、処理を終了する。具体的には、制御部11は、画像IDに対応付けて、測定部位(例えば、胸深)、特徴点(第1特徴点11a及び第2特徴点11b)の名称(例えば、胸深上部及び胸深下部)及び座標、並びに、導出した牛の周囲長及び体重を測定結果DB171に記憶する。
【0065】
本実施形態によると、対象動物を撮像した画像データ及び当該対象動物の3次元座標データに基づき、当該対象動物の周囲長を導出することが可能となる。
【0066】
本実施形態によると、対象動物の周囲長に基づき、当該対象動物の体重を導出することが可能となる。
【0067】
本実施形態によると、対象動物の合計長と周囲長との関係を示す式(1)、または周囲長推定モデル173に基づき、当該対象動物の周囲長を導出することが可能となる。
【0068】
本実施形態によると、対象動物の周囲長と体重との関係を示す式(2)、または体重推定モデル174に基づき、当該対象動物の体重を導出することが可能となる。
【0069】
(実施形態2)
実施形態2は、対象動物の画像データ及び当該対象動物の測定対象領域のテンプレートデータを利用することにより、第1特徴点11a及び第2特徴点11bを自動的に特定する形態に関する。なお、実施形態1と重複する内容については説明を省略する。なお、以下では、牛を対象動物として説明するが、他の種類の対象動物にも同様に適用することができる。
【0070】
図5は、実施形態2におけるコンピュータ1の構成例を示すブロック図である。なお、図1と重複する内容については同一の符号を付して説明を省略する。大容量記憶部17には、テンプレートデータDB175が含まれる。テンプレートデータDB175は、牛の測定対象領域のテンプレートデータを記憶している。
【0071】
図6は、テンプレートデータDB175のレコードレイアウトの一例を示す説明図である。テンプレートデータDB175は、テンプレートID(Identifier)列、画像データ列、測定部位列、基準特徴点名称列及び基準特徴点座標列を含む。
【0072】
テンプレートID列は、各牛の測定対象領域のテンプレートデータを識別するために、一意に特定されるテンプレートデータのIDを記憶している。画像データ列は、牛の測定対象領域の基準画像データを記憶している。
【0073】
測定部位列は、牛の測定部位の名称を記憶している。測定部位は、胸深または体長等を含む。なお、測定部位は、体高、水平体長または十字部高等を含んでも良い。基準特徴点名称列は、テンプレートデータにおける牛の基準特徴点の名称を記憶している。基準特徴点座標列は、テンプレートデータにおける牛の基準特徴点の座標値を記憶している。なお、テンプレートデータに関しては後述する。
【0074】
図7は、牛の複数の基準特徴点の一例を示す説明図である。牛の体尺を測定するため、予め牛の測定対象領域における複数の基準特徴点が設けられている。図示のように、胸深上部を示す基準特徴点14a、及び胸深下部を示す基準特徴点14bを有する。基準特徴点14a(胸深上部)と基準特徴点14b(胸深下部)とに基づいて、牛の胸囲を測定することができる。
【0075】
なお、図7に示されている基準特徴点に限るものではない。例えば、肩端を示す基準特徴点、坐骨端を示す基準特徴点、または十字部(牛の両腰角を結んだ線と背骨との交点)を示す基準特徴点等を設けても良い。肩端を示す基準特徴点と、坐骨端を示す基準特徴点とに基づき、牛の体長を測定することができる。十字部を示す基準特徴点に基づいて牛の十字部高を測定することができる。
【0076】
図8は、第1特徴点11a及び第2特徴点11bの特定処理を説明する説明図である。まず、コンピュータ1は、測定対象となる牛の画像データを取得する。コンピュータ1は、取得した牛の画像データから、当該牛の測定対象領域のセグメンテーションデータ(以下、マスク画像と読み替える)を抽出する。測定対象領域は、例えば、脚、尻尾及び頭を除いた牛の胴体である。例えばコンピュータ1は、インスタンスセグメンテーション(Instance Segmentation)ネットワークにより構築された画像セグメンテーションモデルを用いて、牛の測定対象領域のマスク画像を抽出しても良い。
【0077】
画像セグメンテーションモデルは、牛を横から撮像した画像データを用いて学習される。当該画像セグメンテーションモデルは牛の胴体を白、そうでない領域を黒とした画像を出力するように設定しているので、出力された画像が正解画像に近づくように学習を行う。コンピュータ1は、取得した牛の画像データを当該画像セグメンテーションモデルに入力し、測定対象領域のマスク画像を出力する。出力されたマスク画像は、牛の胴体に相当する領域(前景画素部分)が白色(画素値が1)であり、その他の領域(背景画素部分)が黒色(画素値が0)である。
【0078】
なお、画像セグメンテーションモデルは、SegNetモデル、または、セマンティックセグメンテーション(Semantic Segmentation)のモデルの一つであるU-NET(Convolutional Networks for Biomedical Image Segmentation)等であっても良い。U-NETはFCN(Fully Convolutional Networks)の一種であり、ダウンサンプリングを行うエンコーダと、アップサンプリングを行うデコーダとを含む。U-NETは全結合層がなく、畳み込み層とプーリング層だけで構成されるニューラルネットワークである。
【0079】
なお、上述した画像セグメンテーションモデルの他に、背景差分法等を利用することができる。背景差分法を適用することによって、背景差分結果としてのマスク画像が生成される。
【0080】
次に、コンピュータ1は、抽出したマスク画像に対し、背景画素部分における白色である部分が存在している場合、3次元座標データに基づいてマスク画像を補正する。図示のように、背景画素部分に白色領域20aが存在しているため、3次元座標データを用いてマスク画像を補正することが必要である。
【0081】
具体的には、コンピュータ1は、牛までの深度(距離)情報を測定する3Dセンサ19により3次元座標データを取得する。コンピュータ1は、取得した3次元座標データに基づき、抽出したマスク画像を補正する。図示のように、3次元座標データは、X軸(第1座標軸)、Y軸(第2座標軸)及びZ軸を含む3次元座標値を持つデータである。
【0082】
X軸は、牛の横方向(左右方向)を示し、紙面の右方向を正方向とする。Y軸は、牛の縦方向(上下方向)を示し、紙面の下方向を正方向とする。Z軸は、牛の胴体であるピクセル(白いピクセル)の視点方向(図8における紙面に直交する)を示す。
【0083】
例えばコンピュータ1は、牛の胴体であるピクセル(白いピクセル)の視点方向の深度(Z軸の値)と、対象(白色領域20a)となるピクセルの視点方向の深度との深度の差分を示す深度差分値を算出する。コンピュータ1は、算出した深度差分値が所定の閾値以上である場合、対象となるピクセルの画素値を0に設定することにより、当該ピクセルを黒とする。深度差分値が所定の閾値未満である場合、対象となるピクセルの画素値はそのままに保持される。
【0084】
深度差分値の閾値は、例えば50センチメートル(cm:centimeter)であっても良い。なお、深度差分値の閾値は、撮像時に撮像装置と牛との距離に応じて適宜設定すれば良い。または、牛の画像データと3次元座標データとを入力した場合に、深度差分値の閾値を出力するよう学習された学習モデルを利用しても良い。なお、深度差分値が所定の閾値の範囲(例えば、30cm~50cm)外である場合、牛の胴体以外のピクセルであるとして、当該ピクセルの画素値を0に設定しても良い。
【0085】
コンピュータ1は、マスク画像における複数の特徴点(第1特徴点11a及び第2特徴点11b等)を特定する。図9は、特徴点の特定処理を説明する説明図である。
【0086】
コンピュータ1は、補正したマスク画像のサイズを調整する。具体的には、コンピュータ1は、測定対象領域(例えば、牛の胴体)のテンプレートデータ(以下、テンプレートマスク画像と読み替える)をテンプレートデータDB175から取得する。
【0087】
テンプレートマスク画像は、予め決められた、複数の基準特徴点の名称及び座標値を含む測定対象領域の画像データである。なお、テンプレートマスク画像は、ユーザによって手動で作成されるか、または、牛の画像データを入力した場合に当該牛の測定対象領域における複数の基準特徴点を出力するよう学習済みのテンプレートマスク画像出力モデルを用いて生成されても良い。
【0088】
コンピュータ1は、取得した測定対象領域のテンプレートマスク画像から、当該測定対象領域の最大連結成分に基づいて得られた矩形15aを取得する。最大連結成分は、画素間の連続性を持つ領域のうち、最大の領域を指す。図示のように、最大連結成分は牛の胴体における白色領域である。
【0089】
具体的には、コンピュータ1は、測定対象領域の最大連結成分におけるX軸の最大値及び最小値、並びに、Y軸の最大値及び最小値に基づき、矩形15aを取得する。コンピュータ1は、取得した矩形15aの左上のピクセルの座標値(x1,y1)及び右下のピクセルの座標値(x2,y2)に基づき、当該矩形15aのサイズを算出する。
【0090】
コンピュータ1は、測定対象となるマスク画像の各ピクセルの画素値に基づき、ピクセルの画素値が1である測定対象領域を特定する。コンピュータ1は、特定した測定対象領域の最大連結成分に基づいて得られた矩形15bを取得する。コンピュータ1は、算出した矩形15aのサイズに基づき、マスク画像のサイズを調整(変更)する。具体的には、コンピュータ1は、取得した矩形15bの横幅及び縦幅が、矩形15aの横幅及び縦幅と同じになるようにマスク画像のサイズを調整する。
【0091】
コンピュータ1は、サイズ調整したマスク画像における複数の特徴点を特定する。具体的には、コンピュータ1は、テンプレートマスク画像における各基準特徴点のX軸の値に基づき、サイズ調整したマスク画像における各特徴点のX軸の値を決定する。図示のように、テンプレートマスク画像の基準特徴点PのX軸の値(x)を、マスク画像の特徴点QのX軸の値(x)に設定する。
【0092】
コンピュータ1は、テンプレートマスク画像における各基準特徴点のY軸の値と、測定対象領域の最大連結成分のY軸の最大値及び最小値とに基づき分割比率を算出する。コンピュータ1は、算出した分割比率に基づき、サイズ調整したマスク画像における各特徴点のY軸の値を決定する。
【0093】
図示のように、コンピュータ1は、テンプレートマスク画像の測定対象領域の最大連結成分における距離d1及び距離d2を算出する。距離d1は、基準特徴点PのY軸の値(y)と、当該基準特徴点Pに対応する測定対象領域の最大連結成分のY軸の最小値(ymin)との距離である。距離d2は、基準特徴点PのY軸の値(y)と、当該基準特徴点Pに対応する測定対象領域の最大連結成分のY軸の最大値(ymax)との距離である。
【0094】
コンピュータ1は、当該基準特徴点Pに対応する測定対象領域の最大連結成分の縦幅(ymax-ymin)と、算出した距離d1及び距離d2とに基づき、当該基準特徴点Pにおける分割比率を算出する。例えば、算出された分割比率は2:3である。
【0095】
コンピュータ1は、サイズ調整したマスク画像に対し、決定された当該マスク画像特徴点QのX軸の値(x)に対応付けて、当該マスク画像の測定対象領域の最大連結成分のY軸の最大値(y’max)及び最小値(y’min)を取得する。コンピュータ1は、算出した分割比率と、取得したマスク画像の測定対象領域の最大連結成分のY軸の最大値(y’max)及び最小値(y’min)とに基づき、特徴点QのY軸の値(y’)を決定する。図示のように、決定された特徴点Qの座標値が(x,y’)である。
【0096】
続いて、図8に戻り、コンピュータ1は、特定した複数の特徴点(第1特徴点11a及び第2特徴点11b)を測定結果DB171に記憶する。具体的には、コンピュータ1は、特定した複数の特徴点それぞれの座標値を取得する。コンピュータ1は、牛の画像データに対して画像IDを割り振る。コンピュータ1は、割り振った画像IDに対応付けて、牛の画像データ、測定部位の名称、各特徴点の名称及び座標値を測定結果DB171に記憶する。コンピュータ1は、特定した複数の特徴点(第1特徴点11a及び第2特徴点11b)を牛の画像データに重畳して表示する。
【0097】
図10は、第1特徴点11a及び第2特徴点11bを特定する際の処理手順を示すフローチャートである。コンピュータ1の制御部11は、牛を横から撮像した画像データを撮像部18により取得する(ステップS121)。制御部11は、例えばU-NET等により構築された画像セグメンテーションモデルを用いて、牛の測定対象領域のマスク画像を抽出する(ステップS122)。
【0098】
制御部11は、マスク画像を補正する処理のサブルーチンを実行する(ステップS123)。制御部11は、マスク画像のサイズを調整する処理のサブルーチンを実行する(ステップS124)。制御部11は、特徴点(第1特徴点11a及び第2特徴点11b)を特定する処理のサブルーチンを実行する(ステップS125)。なお、マスク画像の補正処理、マスク画像サイズの調整処理及び特徴点の特定処理のサブルーチンに関しては後述する。
【0099】
制御部11は、測定結果を大容量記憶部17の測定結果DB171に記憶する(ステップS126)。具体的には、制御部11は、牛の画像データに対して画像IDを割り振る。制御部11は、割り振った画像IDに対応付けて、牛の画像データ、測定部位の名称、各特徴点の名称及び座標値を測定結果DB171に記憶する。制御部11は、表示部15を介して、特定した第1特徴点11a及び第2特徴点11bを牛の画像データに重畳して表示し(ステップS127)、処理を終了する。
【0100】
図11は、マスク画像を補正する処理のサブルーチンの処理手順を示すフローチャートである。コンピュータ1の制御部11は、牛までの深度情報を測定する3Dセンサ19により3次元座標データを取得する(ステップS01)。制御部11は、取得した3次元座標データから、牛であるピクセル(白いピクセル)の3次元座標データを取得する(ステップS02)。当該ピクセルは、例えば、牛の胴体である領域のいずれかのピクセルであっても良い。
【0101】
制御部11は、測定対象となるマスク画像から、1つのピクセルを取得する(ステップS03)。制御部11は、取得したピクセルが黒であるか否かを判定する(ステップS04)。例えば制御部11は、ピクセルの画素値が0である場合、当該ピクセルが黒であると判定する。または、制御部11は、ピクセルの画素値が1である場合、当該ピクセルが白であると判定する。
【0102】
制御部11は、取得したピクセルが黒であると判定した場合(ステップS04でYES)、ステップS03の処理に戻る。制御部11は、取得したピクセルが黒でないと判定した場合(ステップS04でNO)、ステップS01の処理で取得した3次元座標データから、当該ピクセルの3次元座標データが存在しているか否かを判定する(ステップS05)。制御部11は、当該ピクセルの3次元座標データが存在していないと判定した場合(ステップS05でNO)、後述するステップS08の処理に遷移する。
【0103】
制御部11は、当該ピクセルの3次元座標データが存在していると判定した場合(ステップS05でYES)、ステップS02の処理で取得した牛(例えば、牛の胴体)であるピクセル(白いピクセル)の視点方向の深度(Z軸の値)と、当該ピクセルの視点方向の深度との深度差分値を算出する(ステップS06)。制御部11は、算出した深度差分値が所定の閾値(例えば、50cm)以上であるか否かを判定する(ステップS07)。
【0104】
制御部11は、算出した深度差分値が所定の閾値未満である場合(ステップS07でNO)、後述するステップS09の処理に遷移する。制御部11は、算出した深度差分値が所定の閾値以上である場合(ステップS07でYES)、ピクセルの画素値を0に設定することにより、当該ピクセルを黒に設定する(ステップS08)。制御部11は、当該ピクセルがマスク画像における最後のピクセルであるか否かを判定する(ステップS09)。
【0105】
制御部11は、当該ピクセルが最後のピクセルでないと判定した場合(ステップS09でNO)、ステップS03の処理に戻る。制御部11は、当該ピクセルが最後のピクセルであると判定した場合(ステップS09でYES)、マスク画像の補正処理のサブルーチンを終了してリターンする。
【0106】
図12は、マスク画像のサイズを調整する処理のサブルーチンの処理手順を示すフローチャートである。コンピュータ1の制御部11は、測定対象領域(例えば、牛の胴体)のテンプレートマスク画像を大容量記憶部17のテンプレートデータDB175から取得する(ステップS11)。
【0107】
図9の示すように、制御部11は、取得した測定対象領域のテンプレートマスク画像から、当該測定対象領域の最大連結成分に基づいて得られた第1矩形(矩形15a)を取得する(ステップS12)。制御部11は、取得した第1矩形(矩形15a)の左上のピクセル座標値(x1,y1)及び右下のピクセル座標値(x2,y2)に基づき、当該第1矩形(矩形15a)のサイズを算出する(ステップS13)。
【0108】
制御部11は、測定対象となるマスク画像の各ピクセルの画素値に基づき、ピクセルの画素値が1である測定対象領域を特定する(ステップS14)。制御部11は、特定した測定対象領域の最大連結成分に基づいて得られた第2矩形(矩形15b)を取得する(ステップS15)。
【0109】
制御部11は、算出した第1矩形(矩形15a)のサイズに基づき、当該マスク画像における測定対象領域のサイズを調整する(ステップS16)。具体的には、制御部11は、当該マスク画像における測定対象領域の最大連結成分に基づいて得られた第2矩形(矩形15b)の横幅及び縦幅が、テンプレートマスク画像における測定対象領域の最大連結成分に基づいて得られた第1矩形(矩形15a)の横幅及び縦幅と同じになるように、当該マスク画像のサイズを調整する。制御部11は、マスク画像サイズの調整処理のサブルーチンを終了してリターンする。
【0110】
図13は、特徴点を特定する処理のサブルーチンの処理手順を示すフローチャートである。コンピュータ1の制御部11は、テンプレートIDに基づき、該当するテンプレートマスク画像における複数の基準特徴点を大容量記憶部17のテンプレートデータDB175から取得する(ステップS21)。制御部11は、当該テンプレートマスク画像における測定対象領域(例えば、牛の胴体)の最大連結成分を取得する(ステップS22)。
【0111】
制御部11は、取得した複数の基準特徴点から、1つの基準特徴点の座標値を取得する(ステップS23)。制御部11は、特定対象となる特徴点の第1座標軸(例えば、X軸)の値を決定する(ステップS24)。具体的には、制御部11は、取得した基準特徴点の第1座標軸の値を、当該特徴点の第1座標軸の値に設定する。
【0112】
制御部11は、テンプレートマスク画像の測定対象領域に対し、当該基準特徴点の第1座標軸(例えば、X軸)の値に対応付けて、当該測定対象領域の最大連結成分の第2座標軸(例えば、Y軸)の最大値及び最小値を取得する(ステップS25)。制御部11は、当該基準特徴点の第2座標軸の値と、取得した最大連結成分の第2座標軸の最大値及び最小値とに基づき、当該基準特徴点における分割比率を算出する(ステップS26)。
【0113】
制御部11は、算出した分割比率に基づき、当該特徴点の第2座標軸の値を決定する(ステップS27)。具体的には、制御部11は、ステップS24の処理で決定された、当該特徴点の第1座標軸の値に対応付けて、当該マスク画像の測定対象領域の最大連結成分の第2座標軸の最大値及び最小値を取得する。制御部11は、算出した分割比率と、取得した当該マスク画像の測定対象領域の最大連結成分の第2座標軸の最大値及び最小値とに基づき、当該特徴点の第2座標軸の値を決定する。
【0114】
制御部11は、テンプレートマスク画像の複数の基準特徴点から、当該基準特徴点が最後の基準特徴点であるか否かを判定する(ステップS28)。制御部11は、当該基準特徴点が最後の基準特徴点でないと判定した場合(ステップS28でNO)、ステップS23の処理に戻る。制御部11は、当該基準特徴点が最後の基準特徴点であると判定した場合(ステップS28でYES)、特定した複数の特徴点を出力する(ステップS29)。制御部11は、特徴点の特定処理のサブルーチンを終了してリターンする。
【0115】
本実施形態によると、対象動物の画像データ及び当該対象動物の測定対象領域のテンプレートデータに基づき、第1特徴点11a及び第2特徴点11bを特定(自動抽出)することが可能となる。
【0116】
本実施形態によると、第1特徴点11a及び第2特徴点11bを自動抽出することにより、対象動物の体重導出の効率化を向上させる。
【0117】
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【0118】
各実施形態に記載した事項は相互に組み合わせることが可能である。また、特許請求の範囲に記載した独立請求項及び従属請求項は、引用形式に関わらず全てのあらゆる組み合わせにおいて、相互に組み合わせることが可能である。さらに、特許請求の範囲には他の2以上のクレームを引用するクレームを記載する形式(マルチクレーム形式)を用いているが、これに限るものではない。マルチクレームを少なくとも一つ引用するマルチクレーム(マルチマルチクレーム)を記載する形式を用いて記載しても良い。
【符号の説明】
【0119】
1 情報処理装置(コンピュータ)
11 制御部
12 記憶部
13 通信部
14 入力部
15 表示部
16 読取部
17 大容量記憶部
171 測定結果DB
172 訓練データDB
173 周囲長推定モデル
174 体重推定モデル
175 テンプレートデータDB
18 撮像部
19 3Dセンサ
1a 可搬型記憶媒体
1b 半導体メモリ
1P 制御プログラム
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13