(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-02
(54)【発明の名称】水産養殖システムにおける食事構成データの選択
(51)【国際特許分類】
A01K 61/80 20170101AFI20240925BHJP
G06Q 50/02 20240101ALI20240925BHJP
A01K 61/90 20170101ALN20240925BHJP
【FI】
A01K61/80
G06Q50/02
A01K61/90
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024513913
(86)(22)【出願日】2022-05-24
(85)【翻訳文提出日】2024-04-30
(86)【国際出願番号】 US2022030677
(87)【国際公開番号】W WO2023033885
(87)【国際公開日】2023-03-09
(32)【優先日】2021-09-02
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】516326438
【氏名又は名称】エックス デベロップメント エルエルシー
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100126480
【氏名又は名称】佐藤 睦
(72)【発明者】
【氏名】リン,ジュリア ブラック
(72)【発明者】
【氏名】スマイリー,キラ カミラ
(72)【発明者】
【氏名】ホン,ジュン オック
(72)【発明者】
【氏名】レスリー,クリストファー
【テーマコード(参考)】
2B104
5L050
【Fターム(参考)】
2B104AA01
2B104AA13
2B104AA16
2B104CF02
2B104CF16
2B104CF17
2B104CF21
2B104CF28
2B104GA01
5L050CC01
(57)【要約】
【課題】 水産養殖環境内の魚などの家畜に給餌するための手法を提供することである。
【解決手段】 構成データの選択を自動化する、コンピュータ記憶媒体(406)上に符号化されたコンピュータプログラムを含む、方法、システム及び装置。方法の1つは、養殖された家畜の給餌に関する1つ以上の給餌パラメータ及び1つ以上の基準を含む、水産養殖環境における家畜の給餌に関する食事構成データを取得することを含む。1つ以上の基準の各々は、1つ以上の給餌パラメータに関連付けることができる。水産養殖環境の少なくとも1つの特性を説明するセンサデータを取得することができる。取得センサデータ及び取得給餌パラメータを使用して、一連の選択された給餌パラメータを選択することができる。選択された一連の給餌パラメータは、給餌制御サブシステムに提供され得る(550)。
【選択図】
図5
【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、
(i)養殖された家畜の給餌に関する1つ以上の給餌パラメータ、及び(ii)1つ以上の基準、を含む、水産養殖環境における家畜の給餌に関する食事構成データを取得することであって、前記1つ以上の基準の各々が前記1つ以上の給餌パラメータに関連付けられている、前記食事構成データを取得することと、
前記水産養殖環境の少なくとも1つの特性を記述するセンサデータを取得することと、
前記取得されたセンサデータ及び前記取得された給餌パラメータを使用して、選択された一連の給餌パラメータを選択することと、
前記選択された一連の給餌パラメータを給餌制御サブシステムに提供することと、
を含む、コンピュータ実装方法。
【請求項2】
水産養殖環境の特性を測定するよう構成されている1つ以上のセンサから、前記選択された一連の給餌パラメータの有効性に関するセンサデータを取得することと、
前記取得されたセンサデータに少なくとも一部基づいて、前記少なくとも1つの取得された給餌パラメータの調整を決定することと、
前記調整に基づいて、前記少なくとも1つの取得された給餌パラメータを調整することと、
を更に含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記センサデータが、水塩分濃度、溶存酸素、温度、水濁度及び気象条件のうちの少なくとも1つを記述する、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記選択することが、
基準を取得することであって、前記複数の基準における各基準が、少なくとも1つの取得された給餌パラメータに関連付けられる、前記基準を取得することと、
前記取得された基準のうちのある基準が満たされるとの判定に基づいて、前記基準に関連付けられた給餌パラメータを選択することと、
を更に含む、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記調整することが、機械学習モデルを評価することを更に含む、請求項2に記載のコンピュータ実装方法。
【請求項6】
前記機械学習モデルが、強化学習モデル又は能動学習機械学習モデルである、請求項5に記載のコンピュータ実装方法。
【請求項7】
一連のポリシーにおける1つ以上のポリシーに対する前記調整の評価に基づいて、前記調整が、前記一連のポリシーにおける前記1つ以上のポリシーを満たしたと判定することと、
前記調整が、前記一連のポリシーにおける前記1つ以上のポリシーを満たしたとの判定に基づいて、前記調整に基づき、前記1つ以上の給餌パラメータのうちの少なくとも1つを調整することと、
を更に含む、請求項2に記載のコンピュータ実装方法。
【請求項8】
1つ以上のコンピュータと、前記1つ以上のコンピュータによって実行されると、前記1つ以上のコンピュータに動作を実行させる命令を記憶する1つ以上の記憶デバイスと、を備えるシステムであって、前記動作が、
(i)養殖された家畜の給餌に関する1つ以上の給餌パラメータ、及び(ii)1つ以上の基準、を含む、水産養殖環境における家畜の給餌に関する食事構成データを取得することであって、前記1つ以上の基準の各々が前記1つ以上の給餌パラメータに関連付けられている、前記食事構成データを取得することと、
前記水産養殖環境の少なくとも1つの特性を記述するセンサデータを取得することと、
前記取得されたセンサデータ及び前記取得された給餌パラメータを使用して、選択された一連の給餌パラメータを選択することと、
前記選択された一連の給餌パラメータを給餌制御サブシステムに提供することと、
を含む、システム。
【請求項9】
前記動作が、
水産養殖環境の特性を測定するよう構成されている1つ以上のセンサから、前記選択された一連の給餌パラメータの有効性に関するセンサデータを取得することと、
前記取得されたセンサデータに少なくとも一部基づいて、少なくとも1つの取得された給餌パラメータの調整を決定することと、
前記調整に基づいて、前記少なくとも1つの取得された給餌パラメータを調整することと、
を更に含む、請求項8に記載のシステム。
【請求項10】
前記センサデータが、水塩分濃度、溶存酸素、温度、水濁度及び気象条件のうちの少なくとも1つを記述する、請求項8に記載のシステム。
【請求項11】
前記選択することが、
基準を取得することであって、前記複数の基準における各基準が、少なくとも1つの取得された給餌パラメータに関連付けられることと
前記取得された基準のうちのある基準が満たされるとの判定に基づいて、前記基準に関連付けられた給餌パラメータを選択することと、
を更に含む、請求項8に記載のシステム。
【請求項12】
調整することが、機械学習モデルを評価することを更に含む、請求項9に記載のシステム。
【請求項13】
前記機械学習モデルが、強化学習モデル又は能動学習機械学習モデルである、請求項12に記載のシステム。
【請求項14】
前記動作が、
一連のポリシーにおける1つ以上のポリシーに対する前記調整の評価に基づいて、前記調整が、前記一連のポリシーにおける前記1つ以上のポリシーを満たしたと判定することと、
前記調整が、前記一連のポリシーにおける前記1つ以上のポリシーを満たしたとの判定に基づいて、前記調整に基づき、前記1つ以上の給餌パラメータのうちの少なくとも1つを調整することと、
を更に含む、請求項9に記載のシステム。
【請求項15】
1つ以上のコンピュータによって実行されると、前記1つ以上のコンピュータに動作を実行させる命令を記憶する1つ以上の非一時的コンピュータ可読記憶媒体であって、前記動作が、
(i)養殖された家畜の給餌に関する1つ以上の給餌パラメータ、及び(ii)1つ以上の基準、を含む、水産養殖環境における家畜の給餌に関する食事構成データを取得することであって、前記1つ以上の基準の各々が前記1つ以上の給餌パラメータに関連付けられている、前記食事構成データを取得することと、
前記水産養殖環境の少なくとも1つの特性を記述するセンサデータを取得することと、
前記取得されたセンサデータ及び前記取得された給餌パラメータを使用して、選択された一連の給餌パラメータを選択することと、
前記選択された一連の給餌パラメータを給餌制御サブシステムに提供することと、
を含む、1つ以上の非一時的コンピュータ可読記憶媒体。
【請求項16】
前記動作が、
水産養殖環境の特性を測定するよう構成されている1つ以上のセンサから、前記選択された一連の給餌パラメータの有効性に関するセンサデータを取得することと、
前記取得されたセンサデータに少なくとも一部基づいて、少なくとも1つの取得された給餌パラメータの調整を決定することと、
前記調整に基づいて、前記少なくとも1つの取得された給餌パラメータを調整することと、
を更に含む、請求項15に記載の1つ以上の非一時的コンピュータ可読記憶媒体。
【請求項17】
前記センサデータが、水塩分濃度、溶存酸素、温度、水濁度及び気象条件のうちの少なくとも1つを記述する、請求項15に記載の1つ以上の非一時的コンピュータ可読記憶媒体。
【請求項18】
前記選択することが、
基準を取得することであって、前記複数の基準における各基準が、少なくとも1つの取得された給餌パラメータに関連付けられることと、
前記取得された基準のうちのある基準が満たされるとの判定に基づいて、前記基準に関連付けられた給餌パラメータを選択することと、
を更に含む、請求項16に記載の1つ以上の非一時的コンピュータ可読記憶媒体。
【請求項19】
調整することが、機械学習モデルを評価することを更に含む、請求項16に記載の1つ以上の非一時的コンピュータ可読記憶媒体。
【請求項20】
前記機械学習モデルが、強化学習モデル又は能動学習機械学習モデルである、請求項19に記載の1つ以上の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、概して、水産養殖環境における魚のための強化された給餌システムを記載する。
【背景技術】
【0002】
研究者及び養魚場のオペレータは、魚に給餌をする場合にいくつかの課題に直面する。正常な成長のために必要とされるよりも多量の餌を供給すると、餌の浪費並びに対応する餌の費用の増大をもたらすおそれがある。あるいは、正常な成長に必要とされるよりも少ない餌を供給すると、養殖魚の健康に影響を及ぼす可能性があり、最終製品の品質及び歩留まりを低下させるおそれがある。
【0003】
給餌レベルをモニタリングするために、魚に行われる給餌を観察して調節する手動プロセスがしばしば使用されるが、この手法では、魚囲いの活動をモニタリングして制御するために、作業者が現場にいる必要がある。そのような手動プロセスは、多くの場合、時間を消費し、高価であり、かつ魚の活動をモニタリングするために使用されるカメラが正確に置かれていない場合、又は運用ロジスティクスにより人間観察者の利用性が低下する場合など、いくつかの制限を有する。
【発明の概要】
【0004】
概して、本明細書は、食事計画を使用して、水産養殖環境内の魚などの家畜に給餌するための手法と、センサデータに応答して代替食事構成データの中から選択し、強化学習又は能動学習などの技法を使用して食事構成データを改善するためのフレームワークとの両方を記載する。
【0005】
より詳細には、本明細書に記載されている主題の革新的な態様は、例えば、水産養殖の文脈において、魚及び魚への給餌をモニタリング及び画像化することに関する。「給餌セッション」は、「主要餌」の間、又はおそらく「検証餌」の間など、所与の時間及び所与の期間に、魚がどのように給餌されるべきかを説明することができる。給餌セッションの間に使用されるパラメータは、便宜上、「食事構成データ」又は単に「構成データ」に含まれる。構成データの例は、給餌する強度、給餌の強度を増加させる速度、魚の食欲が衰えたときの給餌速度低下率などのパラメータを含むことができる。構成データの各パラメータは、給餌強度の場合、毎秒150グラムなどの関連する値を有することができる。
【0006】
例示的な一実装形態では、給餌セッションは、感知された給餌状態に基づいて決定される少なくとも1つの値を指定する食事構成データによって定義される。例えば、給餌速度は、管及び飼料スプレッダーを使用して餌を分注する給餌システムを制御する給餌アプリケーションプログラミングインタフェース(API)によって管理され、カメラによって飼料ペレットが囲いの中に落下していると観察される深度に基づいて決定することができる。
【0007】
主題の別の例示的な実装形態によれば、食事計画の構成データは、魚用の給餌デバイスを制御するために使用される。給餌中にカメラによって得られた魚の画像は、構成データに基づいてその後のアクションを決定するために分析される。研究者又は養魚場のオペレータは、魚の給餌を調整するために構成データのパラメータを調整することができる。パラメータ調整は、餌の廃棄を最小化しながら成長を最大化することを含む最適な給餌を決定するために使用することができる。
【0008】
有利な実装形態は、魚及び周囲環境の画像及びビデオを取得する水中カメラデバイスを含むことができる。水中カメラデバイスは、魚を含む囲いを巡視して、オンボードコンピュータによって処理され得るか、又は処理するために遠隔コンピュータに送信され得る画像及びビデオを取り込むことができる。水中カメラは、とりわけ、魚が依然として餌を食べているかどうか、又は魚がある期間の間に餌を食べ終えた可能性が高いことを示す閾値を給餌が下回っているかどうかを判定するために使用することができる、画像及びフィルム映像を取り込むことができる。
【0009】
研究者又は養魚場のオペレータは、給餌プロセスを最適化するために、構成データのパラメータを反復的に調整することができる。手動プロセスによって引き起こされる指定された食事計画に対する意図しない変更は、給餌を自動化することによって低減することができる。このようにして、給餌は、構成データの特定の構成可能パラメータと一層相関させることができ、これにより、より正確なA/B試験並びに最適化が可能となる。更に、1つ以上の機械学習モデルを使用して、給餌パラメータの有効性を測定するセンサデータを使用して、給餌パラメータの調整を決定し、給餌プロセスを更に改善することができる。
【0010】
本明細書に記載されている主題の革新的な態様の1つは、養殖魚に給餌するための食事計画を示す1つ以上のパラメータを含む食事構成データを取得することと、食事構成データに基づいて食事計画を実行することと、食事計画の実行中に1つ以上のセンサからセンサデータを受信することと、1つ以上のセンサからのセンサデータに基づいて、食事計画の実行を調整することとを含む方法において具現化される。更に、食事計画のパラメータを調整することもできる。
【0011】
別の革新的な態様は、養殖された家畜の給餌に関する1つ以上の給餌パラメータ及び1つ以上の基準を含む、水産養殖環境における家畜への給餌に関する食事構成データを取得することを特徴とする。1つ以上の基準の各々は、1つ以上の給餌パラメータに関連付けることができる。水産養殖環境の少なくとも1つの特性を説明するセンサデータを取得することができる。取得センサデータ及び取得給餌パラメータを使用して、一連の選択された給餌パラメータを選択することができる。選択された一連の給餌パラメータは、給餌制御サブシステムに提供され得る。
【0012】
以下の特徴のうちの1つ以上もまた含まれ得る。水産養殖環境の特性を測定するように構成されている1つ以上のセンサから、選択された一連の給餌パラメータの有効性に関するセンサデータを取得することができる。取得されたセンサデータに少なくとも一部に基づいて、少なくとも1つの取得給された餌パラメータの調整を決定することができ、その調整に基づいて、少なくとも1つの取得された給餌パラメータを調整することができる。センサデータは、水塩分濃度、溶存酸素、温度、水濁度及び気象条件のうちの少なくとも1つを記載することができる。少なくとも1つの取得された給餌パラメータに関連付けられた基準を取得することができ、取得された基準のうちのある基準が満たされているとの判定に基づいて、基準に関連付けられた給餌パラメータを選択することができる。調整には、機械学習モデルを評価することを含むことができ、機械学習モデルは、強化学習機械学習モデル又は能動学習機械学習モデルであることができる。一連のポリシー内の1つ以上のポリシーに対する調整の評価に基づいて、この調整は、一連のポリシー内の1つ以上のポリシーを満たすように決定され得、調整が一連のポリシー内の1つ以上のポリシーを満たすとの決定に基づいて、及び調整に基づいて、少なくとも1つの給餌パラメータが調整され得る。
【0013】
本態様及び他の態様の他の実装形態は、対応するシステム、装置、及びコンピュータプログラムを含み、それらは、方法のアクションを実行するように構成され、コンピュータ記憶デバイス上で符号化される。1つ以上のコンピュータのシステムは、動作中にシステムにアクションを実行させる、システム上にインストールされたソフトウェア、ファームウェア、ハードウェア、又はそれらの組合せによってそのように構成することができる。1つ以上のコンピュータプログラムは、データ処理装置によって実行されると、装置にアクションを実行させる命令を有することによってそのように構成することができる。
【0014】
上記及び他の実施形態は、各々が、以下の特徴のうちの1つ以上を単独で又は組み合わせて任意選択で含むことができる。例えば、一部の実装形態では、食事構成データに基づいて食事計画を実行することは、食事構成データの1つ以上のパラメータを決定することと、食事構成データの1つ以上のパラメータを示す信号を給餌機構に送信することとを含む。
【0015】
一部の実装形態では、信号は、1つ以上のパラメータに基づいて養殖魚に給餌する方法を給餌機構に指示するように構成されている。
【0016】
一部の実装形態では、センサデータに基づいた食事計画の実行の調整は、1つ以上の決定に関連付けられた値を生成するために1つ以上のモデルを使用してセンサデータを処理することと、その値を、食事構成データによって示される1つ以上の条件と比較することと、食事構成データによって示される1つ以上の条件が、1つ以上の決定に基づいて満たされているか又は満たされていないかに基づいて、食事計画の実行を調整することとを含む。
【0017】
一部の実装形態では、1つ以上のモデルは、訓練を受けたニューラルネットワークモデルを含む。
【0018】
一部の実装形態では、食事構成データは、センサデータに基づいて、所定量を超えて魚に給餌することを防止するポリシーを含み、一部の場合、その量は0であり得る。
【0019】
一部の実装態様では、所定量は、給餌される養殖魚のバイオマスを示すバイオマスの百分率として表される。
【0020】
一部の実装形態では、養殖魚のバイオマスは、1つ以上の視覚画像に図示される各魚のバイオマスを決定するように構成されている1つ以上の訓練されたモデルによって決定される。
【0021】
本発明の1つ以上の実施形態の詳細は、添付の図面及び以下の明細書に記載される。本発明の他の特徴、態様、及び利点は、明細書、図面、及び特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0022】
【
図1】魚の自動給餌システムの一例を示す図である。
【
図2】魚の自動給餌プロセスの一例を示すフロー図である。
【
図3】給餌を実行するシステムの一例を示す図である。
【
図4】魚の自動給餌に使用されるコンピューティングシステムの一例を例示する図である。
【
図5】魚の自動給餌システムの一例を示す図である。
【
図6】魚の自動給餌プロセスの一例を例示するフロー図である。
【0023】
種々の図面における同様の参照番号及び名称は、同様の要素を示す。
【発明を実施するための形態】
【0024】
概して、本明細書は、
図1~
図4に関連して説明される家畜に給餌するための手法、並びに
図5及び
図6に関連して説明されるセンサデータを使用して代替の食事構成データの中から選択するためのフレームワークを説明する。
【0025】
特に、
図1は、水産養殖環境における家畜の自動給餌のためのシステム100の一例を示す図である。水産養殖には、魚、甲殻類及び軟体動物などの水生生物の養殖が含まれる。水産養殖は、野生の魚集団にかかる圧力を低下させることによって、魚の乱獲を受け得る海洋生態系の健全性にとって重要である。経験によれば、すべての魚介類の半分以上が水産養殖に由来するものであり、水産養殖がない場合には、海洋生態系に対する実質的な、おそらくは非可逆的な負荷が生じる可能性がある。
【0026】
家畜に適切に給餌することは、水産養殖の重要かつ困難な側面である。給餌不足は、家畜が成長しない原因となり得、おそらく身体的な害をもたらし、給餌過剰は資源の浪費をもたらす。食事計画に従うことにより、家畜が、無駄な飼料の量を制限すると同時に、成長に十分な飼料の投与を受ける可能性が増大する。更に、食事計画は、飼料の落下速度のようなリアルタイムで感知される要因に基づいて動的に調整され、無駄な飼料量を低減することができる。更に、食事計画は、例えば、食事計画の効果的な態様を有利にする強化学習を使用して、以前の結果に基づいて調整することができる。
【0027】
図1に戻ると、システム100は、撮像デバイス110によって収集された構成データ120及び画像データ130に基づいて、給餌機構106を制御するように構成されている制御ユニット102を含む。給餌機構106により、魚ペレット又は他の魚餌などの飼料114が魚囲い108内の魚112に供給される。
【0028】
撮像デバイス110は、水中の視覚画像を取り込むように構成されている、1つ以上のカメラを装備することができる。撮像デバイス110はまた、制御ユニット102にデータを提供するために、光センサ及び深度センサなどの1つ以上のセンサを装備することができる。撮像デバイス110は、制御ユニット102に通信可能に接続されて、画像データ130を制御ユニット102に送信することができる。
【0029】
給餌機構106は、囲い108に飼料114を供給する中央給餌ステーションに囲い108を接続するパイプを含むことができる。一部の実装形態では、囲い108に配置された分配器を使用して、囲い108内に飼料114をより均一に分配することができる。例えば、分配者は、魚112用の飼料114を落としながら、囲い108の表面の周囲を移動することができる。一部の場合、飼料114を押し出すためのデバイスを使用することができる。例えば、飼料114と共に空気又は水を吹き付ける送風機を使用して、飼料114を分散させることができる。
【0030】
段階Aでは、給餌機構106はまだ給餌を行っていない。段階Bにおいて、制御ユニット102は、構成データ120を受信する。構成データ120は、給餌する強度、非給餌から給餌へ給餌の強度を増加させる速度、所与の期間後の餌の必要な深度、給餌される魚の必要な割合、及び現在の食事計画実行と次の食事計画実行との間の遅延を含むことができる食事パラメータを指定する。実装形態に応じて、他のパラメータが、構成データ120内で指定され得る。
【0031】
段階Cにおいて、制御ユニット102は、構成データ120に基づいて食事を開始するための信号を給餌機構106に送信する。制御ユニット102は、構成データ120において指定された増分パラメータに基づいて、給餌機構106の給餌強度を増分するための信号を送信することができる。増分パラメータは、構成データ120において指定された初期給餌強度から最大給餌強度まで、又は給餌深度などの決定された条件が満たされるまで、給餌機構106によって飼料114が魚囲い108に漸進的に供給される速度を決定することができる。
【0032】
初期給餌強度、最大給餌強度及び最大給餌深度はそれぞれ、構成データ120において指定することができる。強度増分間の時間は、構成データ120によって更に指定され得る。例えば、給餌強度は、毎分毎秒10グラムずつ増加することができる。
【0033】
撮像デバイス110は、画像データ130を制御ユニット102に送る。
図1の例では、画像データ130は、生データの形態であり、制御ユニット102は、構成データ120における食事計画に基づいて、後続のアクションを決定するために上記の生データを処理する。撮像デバイス110の代わりに制御ユニット102において処理を実行することによって、システム100は、画像解析に必要な処理能力を備える必要がない、一層軽量かつ一層安価な撮像デバイス110を可能にすることができる。更に、撮像デバイス110は、とりわけ、移動、画像の取り込み、画像の送信などの他のアクションを補助するために、画像解析に必要になると思われるエネルギーを使用することができる。
【0034】
一部の実装形態では、撮像デバイス110は、魚112及び周囲環境の1つ以上の画像を取得するために、囲い108の周囲を移動することができる。撮像デバイス110は、魚囲い108の水中を移動するためのプロペラ、ジェット又は他の推進手段を装備することができる。撮像デバイス110は、ロープ又はケーブルを用いて囲い108に取り付けることができる。撮像デバイス110を囲い108に接続するために使用されるロープ又はケーブルの長さは、囲い108の周囲において撮像デバイス110を移動させるために、長く又は短くすることができる。深度センサの代わりに、又はこれに加えて、撮像デバイス110の有効深度を決定するために、ロープの長さをモニタリングすることができる。
【0035】
制御ユニット102は、撮像デバイス110からの画像データ130を受信する。画像データ130は、魚112に対応する1つ以上の事象を含む。例えば、画像データ130は、魚の画像を含むことができる。魚は、本明細書において魚112と称される1つ以上の魚のうちの1つとすることができる。制御ユニット102は、機械学習法を含む1つ以上の分析技法を使用して魚の画像を解析することができる。魚は、魚を識別するように訓練された訓練済み検出モデルに基づいて識別され得る。魚は、魚の活動を識別するために訓練された同じ又は異なる検出モデルを使用して、現在食べている、ペレットを飲み込むために垂直に泳いでいる、又は口を開けて泳いでいると更に識別することができる。
【0036】
図1の例では、画像データ130は、飼料114の1つ以上のペレットの画像を含む。制御ユニット102は、飼料114の画像を解析して、1つ以上のペレットを識別することができる。撮像デバイス110は、構成データ120において指定された閾値を下回る飼料114の画像を取り込むことができる。処理後、制御ユニット102は、閾値未満の検出された飼料114に基づいて、停止信号を給餌機構106に送信することを決定することができる。
【0037】
制御ユニット102は、画像データ130を処理することによって、飼料114が落ちる深度を判定することができる。例えば、画像データ130は、撮像デバイス110の現在の深度を示す、撮像デバイス110によって送信された深度測定値を含むことができる。深度測定値は、撮像デバイス110に取り付けられた深度センサを使用して決定することができる。画像データ130は、撮像デバイス110がどの方向を向いているかを示す傾斜角を更に含むことができる。制御ユニット102は、画像データ130の1つ以上の要素を使用して、撮像デバイス110から受信した画像内で検出された対象物の実際の深度を決定することができる。制御ユニット102は、対象物の実際の深度を構成データ120において指定された基準と比較することができる。
【0038】
段階Dにおいて、制御ユニット102は、少なくともフィード114が構成データ120において指定された深度まで落下することに基づいて、給餌機構106に停止信号を送信することを決定する。停止信号は、餌114が魚囲い108の魚112に供給されるのを停止するように構成されている。
【0039】
一部の実装形態では、深度範囲を使用して、給餌量を増加させるか、又は減少させるかを決定することができる。例えば、構成データ120は、5メートル(m)~15mの深度範囲を指定することができる。制御ユニット102が飼料114を、15mを超えて検出した場合、制御ユニット102は、魚112への飼料114の供給を停止するように構成されている給餌機構106に停止信号を送信することができる。同様に、一部の実装形態では、制御ユニット102が5m未満の飼料114を検出しない場合、制御ユニット102は、給餌量を増加させるように構成されている給餌機構106に給餌量増加信号を送信することができる。
【0040】
一部の実装形態では、制御ユニット102は、飼料114が検出される深度に基づいて、飼料を減量することができる。例えば、5m~15mの範囲では、制御ユニット102は、11mで飼料114を検出することができる。この範囲の領域を飼料減量率に割り当てる所定のスケールに基づいて、制御ユニット102は、11mにおける飼料114が10パーセント減の給餌に対応すると決定することができ、給餌を10パーセント減量するように構成されている給餌機構106に信号を送信することができる。
【0041】
制御ユニット102は、後に、12mにおいて飼料114を検出し、所定のスケールに基づいて、給餌機構106に信号を送信して、給餌を25パーセント減量することができる。減少率は、停止深度まで増大することができる。飼料114が停止深度を超えて検出された場合、飼料は、100パーセント減量され、餌は終了する。一般に、任意の深度範囲を使用することができ、その中に組み込まれた領域は、構成データ120において指定されたいかなる給餌量減量にも関連付けることができる。
【0042】
一部の実装形態では、飼料114の検出は、少なくとも1つのペレット又は餌の項目を検出することを含むことができる。例えば、飼料114の各項目を検出して、飼料の深度を決定することができる。最も深い識別項目を使用して、飼料114の深度を決定することができる。一部の実装形態では、飼料114の深度を決定するために、飼料114の1つ以上の項目の深度を平均することができる。例えば、制御ユニット102は、5m、5m、5m、7m及び12mの深度において、5個のペレットを検出することができる。平均化が使用される場合、5個の検出されたペレットに基づく飼料114の深度は、制御ユニット102によって、6.8mであると決定することができる。
【0043】
一部の実装形態では、飼料114の深度を決定するために他のメトリックが使用される。例えば、検出された餌の各項目に関連付けられた各深度を、最大停止深度などの基準深度と比較して、検出された深度と基準との間の誤差を決定することができる。差を組み合わせて、差の二乗平均平方根などのメトリックを生成することができる。メトリックは、飼料114の深度計算に対する外れ値検出の影響を制御するために使用することができる。
【0044】
一部の実装形態では、飼料114の深度を決定するために、クラスタリングアルゴリズムを使用することができる。例えば、飼料114の各項目の深度は、画像データ130に基づいて、制御ユニット102によって決定することができる。次に、k平均クラスタリングなどのクラスタリングアルゴリズムを使用して、第1及び第2の部分をクラスタリングすることができる。第1の部分は、飼料114の深度を決定するために使用することができ、第2の部分は、外れ値として計算から除外することができる。
【0045】
一部の実装形態では、他の外れ値検出方法が、飼料114の深度から外れ値を除外するために使用することができる。例えば、飼料114の各項目の深度は、画像データ130に基づいて、制御ユニット102によって決定することができる。制御ユニット102は、zスコア又は極値解析、確率的及び統計学的モデリング、線形回帰モデル、近接度ベースのモデル、情報理論モデル、並びに高次元外れ値検出方法を含む任意の数の外れ値検出方法を使用して、飼料114の深度を決定するために除外される1つ以上の外れ値を決定することができる。
【0046】
一部の実装形態では、制御ユニット102は、画像データ130に基づいて、1つ以上の他の事象を検出する。例えば、制御ユニット102は、全給餌量の割合を検出することができる。全給餌量の割合は、本明細書に記載されている1つ以上の検出モデルを使用して、口が開いている魚と口が閉じている魚との比の決定に一部基づいて決定することができる。口が開いている魚は摂食しているとみなすことができる一方、口が閉じている魚は摂食していないとみなすことができる。制御ユニット102は、少なくとも部分的に、構成データ120において指定された全給餌量の割合及び全給餌の目標割合に基づいて、給餌を増量、給餌を減量又は給餌を停止するかを決定することができる。
【0047】
一部の実装形態では、制御ユニット102は、画像データ130内の1つ以上の事象の検出に応答して他のアクションを実行する。例えば、制御ユニット102は、飼料114が所定の深度まで落ちていないと判定することができる。これは、餌が所定の深度に落ちる前に、魚112が囲い108の表面近くで餌を食べた結果とすることができる。構成データ120は、十分な餌が魚112に供給されることを確実にするために、餌114が所定の深度まで落ちることを指定することができる。制御ユニット102は、画像データ130及び構成データ120の両方を使用して、構成データ120において指定された餌の深度要件を満たすために、給餌強度を増大させるように構成されている給餌機構106に信号を送信することができる。所与の深度範囲内に給餌を達成するために、比例積分微分(PID)制御装置などの制御アルゴリズムを使用して、給餌速度を動的に調整することができる。
【0048】
別の例では、制御ユニット102は、飼料114が所定の深度よりも下に落ちたことを判定することができる。構成データ120は、飼料114が所定の深度以下に落ちないことを指定することができる。飼料114が落下閾値を満たすと制御ユニット102が判定した場合、制御ユニット102は、飼料114を減量するか、又は魚112に供給されている飼料114を停止するように構成し、給餌機構106に信号を送信することができる。
【0049】
一部の実装形態では、制御ユニット102は、構成データ120の1つ以上のパラメータに対応する1つ以上の値を決定し、それに応答して、1つ以上の値に基づいて後続のアクションを決定する。例えば、制御ユニット102は、魚囲い108の給餌速度が所定の閾値よりも低く、餌の落下深度も所定の閾値よりも低いと判定することができる。次に、制御ユニット102は、構成データ120内の対応するパラメータと比較した、決定された給餌速度及び決定された餌の落下深度に基づいて、より多くの飼料を供給するように構成し、給餌機構106に信号を送信することができる。
【0050】
別の例では、制御ユニット102は、魚囲い108の給餌速度が所定の閾値よりも低く、餌の落下深度が所定の閾値よりも高いと判定することができる。これは、魚112が満腹で摂食せず、したがって餌114が更に落ちることによって引き起こされ得る。次に、制御ユニット102は、構成データ120内の対応するパラメータと比較した、決定された給餌速度及び決定された餌の落下深度に基づいて、飼料114を減量するよう、又は餌を停止するように構成し、給餌機構106に信号を送信することができる。このようにして、構成データ120のパラメータに関連付けられた単一の値が、制御ユニット102によって決定された1つ以上の他の値にしたがって、制御ユニット102によって解釈され得る。
【0051】
一部の実装形態では、撮像デバイス110は、撮像デバイス110によって取得された画像を前処理することができる。例えば、撮像デバイス110は、取得された画像を処理し、対応する処理済みデータを制御ユニット102に送信することができる。このようにして、撮像デバイス110は、制御ユニット102の処理要件を低減し、制御ユニット102と通信するために必要な帯域幅を低減し、かつ制御ユニット102のためのエネルギー要件を低減することができる。
【0052】
一部の実装形態では、1つ以上の追加の撮像デバイスを使用して、画像を取得することができる。例えば、撮像デバイス110は、画像を取り込むために囲い108内で使用することができる任意の数の撮像デバイスとなり得る。
【0053】
図2は、魚の自動給餌プロセス200の一例を示すフロー図である。プロセス200は、1つ以上の電子システム、例えば、
図1のシステム100によって実行され得る。
【0054】
プロセス200は、食事計画を示す食事構成データを取得することを含む(202)。例えば、
図1の段階Bに示されているとおり、制御ユニット102は、構成データ120を受信することができる。表1は、構成データ120に含めることができるパラメータ及び関連する値の例示的な実装形態を示す。
【0055】
【0056】
一部の実装形態では、構成データ120は、1つ以上の調整可能パラメータを含むことができる。例えば、構成データ120は、餌の開始時にどれだけの飼料114が魚112に供給されるかを制御することができる「initial_intensity_grams_per_sec」パラメータを含むことができる。構成データ120は、飼料114が魚112に提供される速度をどれだけ向上させるかを制御することができる「increment_intensity_grams_per_sec」パラメータを含むことができる。構成データ120は、飼料114が決定された増分値(例えば、「increment_intensity_grams_per_sec」)だけ増分される速度を制御することができる「time_between_intensity_increment_in_minutes」パラメータを含むことができる。構成データ120は、飼料114の最小深度、又は撮像デバイス110などのセンサの最小深度を指定することができる「min_depth_in_m」パラメータを含むことができる。構成データ120は、カメラによって感知されるように、飼料114が水中に落ちるときに到達することができる深度を指定することができる「fall_through_depth_in_m」パラメータを含むことができる。構成データ120は、カメラによって感知されるように、落下する飼料114の量を制御し、過度な落下を防止することができる「fall_thru_score_threshold」を含むことができる。構成データ120は、構成データ120のパラメータを満たすために調整が必要とされるときに飼料114が調整される速度を制御することができる「feed_adjustment_proportional_gain」を含むことができる。構成データ120は、摂食中に給餌すべき魚112の魚の量を指定することができる「fraction_of_total_feeding」を含むことができ、この場合、訓練済みモデルは、口が開いている魚を給餌している魚として検出し、口が閉じている魚を給餌していない魚として検出することができる。構成データ120は、「Main Meal」などの現在の餌と後続の餌との間の時間量を指定することができる、「delay_to_next_meal_in_minutes」を含むことができ、この場合、遅延は、魚に供給される餌の量に基づいて調整することができる。構成データ120はまた、最小給餌時間及び最大給餌時間を含むことができる。構成データ120は、構成された深度における落下が構成された値を超える場合に、所与の増分だけ給餌速度を低下させるなど、複合パラメータを更に含むことができる。
【0057】
プロセス200は、食事計画の実行を含む(204)。例えば、制御ユニット102は、構成データ120に基づいて食事を開始するための信号を給餌機構106に送信することができる。構成データ120は、どの初期速度で飼料114が魚112に供給されるべきであるかを示す「initial_intensity_grams_per_sec」パラメータを含むことができる。
【0058】
プロセス200は、食事計画の実行中にセンサデータを受信することを含む(206)。例えば、制御ユニット102は、撮像デバイス110などの1つ以上のセンサからの入力値を使用して、1つ以上のパラメータの値を決定し、次に、構成データ120において、センサデータに基づいて決定された値を取得されたパラメータと比較することができる。
【0059】
プロセス200は、食事計画の実行を調整することを含む(208)。例えば、制御ユニット102は、構成データ120において指定された「fall_through_depth_in_m」の値を、決定された給餌深度と比較することができる。飼料が構成データ120において指定された「fall_through_depth_in_m」の値よりも深い深度に到達したと判定した後に、制御ユニット102は、給餌を減量又は停止させるためにフィード機構106に信号を送信することができる。
【0060】
図3は、給餌を実行するシステム300の一例を示す図である。システム300は、制御ユニット305と通信するセンサ302を含む。システム300は、本明細書に記載されている技法を実施するために使用され得る。例えば、撮像デバイス110は、センサ302の一例とすることができ、制御ユニット102は制御ユニット305の一例とすることができる。
【0061】
一部の実装形態では、センサ302は、移動デバイスに取り付けられ得るか、又はその一部であり得る。例えば、センサ302は、水中を移動するように構成されている水中巡視デバイスに取り付けられたカメラとすることができる。センサ302は、光センサ、近接センサ、又はデータを収集するように構成されている他の電子装置とすることができる。センサ302は、データを取得及び送信するように構成されているコンピュータハードウェアを含むことができる。
【0062】
制御ユニット305は、第1の通信307をセンサ302に送信することができる。一部の場合、第1の通信307は、巡視タスクの詳細を含むことができる。例えば、制御ユニット305は、魚囲い108などの魚囲い内の特定の領域まで移動するようセンサ302に命令する信号を送信することができる。制御ユニット305は、魚囲い内の特定の深度又は位置からの画像など、特定の領域からデータを取得するよう、センサ302に命令する信号を送信することができる。
【0063】
一部の実装形態では、制御ユニット305は、センサ302の動きのタイプを制御することができる。例えば、制御ユニット305は、特定の深度まで移動するようセンサ302に命令する信号を送信することができるか、又はセンサ302が巡視することができる許容可能な深度を示すことができる。別の例として、制御ユニット305は、特定の速度で移動するようセンサ302に命令する信号を送信することができる。
【0064】
一部の実装形態では、制御ユニット305は、どのデータがセンサ302によって取得されるかを制御することができる。例えば、制御ユニット305は、特定の時間量の間に、特定の周波数で視覚画像を取り込むようセンサ302に命令する信号を送信することができる。これは、より多くの画像データを有することが有用であり得る給餌事象などの他の事象と一致するように構成され得る。
【0065】
第1の通信307に応答して、センサ302は、センサデータ309を制御ユニット305に送信することができる。センサデータ309は、センサ302によって取得された、画像データ130などの視覚画像を含むことができる。センサデータ309は、第1の通信307に応じて他のデータ形式もやはり含むことができる。例えば、センサデータ309は、センサ302又はセンサ302に通信可能に接続されたデバイスによって発生された1つ以上の決定を含むことができる。
【0066】
一部の実装形態では、センサデータ309は、他の形態のデータを含むことができる。例えば、センサデータ309は、給餌機構106などのさまざまな給餌機構からのフィードバックを含むことができる。センサデータ309は、現在供給されている飼料の量、又は魚囲い108などの領域に餌を提供するデバイスの動作状態などの他の状態情報を示すことができる。
【0067】
制御ユニット305は、制御ユニット305によって事前に取得されたデータに基づいてセンサデータ309を処理することができる。一部の場合、事前取得データは、構成データ120を含むことができる。システム300内の事前取得データは、モデル312、戦略315及びポリシー315を含む。一部の実装形態では、構成データ120は、モデル312、戦略315及びポリシー315の1つ以上の要素を含むことができる。
【0068】
モデル312は、センサデータ309を処理して、センサデータ309に基づいて1つ以上の決定を行う。例えば、センサデータ309が魚の画像を含む場合、モデル312は、センサデータ309内の魚の出現を検出することができる。モデル312は、本明細書において議論されている給餌シナリオにおける特定の発生を検出するように構成されている1つ以上の訓練済みモデルの集合体であり得る。例えば、モデル312を使用して、センサデータ309の1つ以上の画像内で口が開いている魚又はいくつかのペレットの出現を検出することができる。
【0069】
一部の実装形態では、モデル312はバイオマス推定を含む。例えば、モデル312の1つ以上の訓練済みモデルは、魚の1つ以上の画像に基づいて魚のバイオマス推定を決定するように構成することができる。一部の実装形態では、未訓練モデルには、関連バイオマスを伴う魚の画像を提供される。未訓練モデルは、関連するバイオマスに一致する産出量を生成するために、そのパラメータのうちの1つ以上を調整することによって訓練され得る。一部の場合、検出された魚の部分間のトラス長さが、バイオマスを予測するためのモデルへの入力値として使用される。例えば、参照により本明細書に組み込まれる、2020年1月6日に出願の「Fish Biomass,Shape,Size,or Health Determination」と題する、米国出願第16/734,661号に記載されている処理技法は、制御ユニット305による処理に使用され得る。
【0070】
モデル312の産出量を使用して、戦略315及びポリシー317の条件を解釈することができる。例えば、モデル312は、魚囲いが飼料中のその総バイオマスの3パーセントが供給されたことを検出することができる。戦略315は、例えば、餌の落下深度に基づいて、給餌を継続すべきであることを示すことができる。ポリシー317は、全飼料量が魚囲いのバイオマスの特定の割合、例えば3パーセントに達したときなど、必要な場合に給餌を停止するための最大給餌量を含むことができる。
【0071】
戦略315のパラメータが追加の給餌を必要とし得る場合でさえも、ポリシー317における最大給餌量に達した場合、制御ユニット305は、給餌を停止するための信号を送信することができる。この場合、ポリシー317を使用して、確実に、魚の給餌が多すぎる又は少なすぎることがないようにすることができる。ポリシー317は、最大及び最小給餌速度、並びにバイオマスの重量での及び割合としての最大給餌量を含むことができる。
【0072】
表2は、ポリシー317に含まれ得るパラメータ及び関連する値の例示的な実装形態を示す。一部の実装形態では、ポリシー317は、構成データ120内に含まれ得る。
【0073】
【0074】
一部の実装形態では、ポリシー317は、1つ以上の調整可能パラメータを含むことができる。例えば、ポリシー317は、所与の給餌戦略がパラメータによって指定された所定の値未満に給餌速度を低下させることを防止することができる「min_pen_feeding_rate_kg_per_min」を含むことができる。ポリシー317は、所与の給餌戦略がパラメータによって指定された所定の値を超えて給餌速度を向上させることを防止することができる「max_pen_feeding_rate_kg_per_min」を含むことができる。ポリシー317は、所与の給餌戦略が、パラメータによって指定されたバイオマスの割合を超える飼料の量を魚の群に給餌し続けることを防止することができる「max_pen_feeding_amount_percent_biomass」を含むことができる。ポリシー317は、所与の給餌戦略が、パラメータによって指定された飼料の量を超える飼料の量を魚の群に給餌し続けることを防止することができる「pen_total_feed_hard_limit_in_kg」を含むことができる。
【0075】
一部の実装形態では、戦略312及びポリシー317のパラメータを調整して、自動給餌プロセスを変更することができる。例えば、構成データ120に関して本明細書において議論されているとおり、モデル312、戦略315及びポリシー317を含む制御ユニット305の要素は、センサデータ309を処理するために制御ユニット305によって事前に取得することができる。モデル312の産出量は、戦略315における1つ以上の条件が満たされるかどうかを決定するために使用され得る。これらの条件は、構成データ120に関して本明細書で考察されている。食事を調整する前に、制御ユニット305は、ポリシー317の1つ以上の条件を確認することができる。
【0076】
一部の実装形態では、ポリシー317の条件は、戦略315の条件よりも高い優先度が付与され得る。例えば、モデル312の1つ以上の決定に基づいて、戦略315の条件が給餌を増量させ、ポリシー317の条件が給餌を停止させる場合、制御ユニット305は、給餌を増量する代わりに給餌を停止することによってポリシー317に高い優先度を付与することができる。
【0077】
制御ユニット305は、モデル312の1つ以上の産出量、並びに戦略315及びポリシー317の条件に基づいて、給餌調整325を決定することができる。給餌調整325を示す給餌調整信号320は、魚囲い108内の魚などの魚に供給される給餌を調整するよう構成されている関連する給餌機構に送信することができる。
【0078】
一部の実装形態では、制御ユニット305は、最大給餌量に到達したと判定することができる。例えば、戦略315内の条件にかかわらず、ポリシー317の最大給餌条件を満たすことができる。この場合、制御部305は、給餌を停止すると判定することができる。給餌調整325は、給餌を停止すべきであることを示すように構成することができ、対応する給餌調整信号320を、給餌機構に送信することができる。
【0079】
一部の実装形態では、制御ユニット305は、モデル312内のデータを処理することなく、戦略315又はポリシー317の1つ以上の条件を決定することができる。例えば、魚に供給される飼料の量は、センサ302によって送信され、モデル312によって更に処理されることなく、ポリシー317内の条件と比較され得る。この場合のセンサ302は、魚に供給される餌を測定するよう構成されている給餌機構106などの給餌機構に固定されたセンサを含むことができる。前述したとおり、センサ302は、例示目的のために単一のセンサとして図示されているが、データを取得するように構成されている1つ超のセンサを含むことができる。
【0080】
図4は、魚の自動給餌に使用されるコンピューティングシステムの一例を示す例示する図である。コンピューティングシステムは、本明細書に記載されている技法を実施するために使用され得るコンピューティングデバイス400及びモバイルコンピューティングデバイス450を含む。例えば、システム100又はシステム300の1つ以上の構成要素は、制御ユニット102、給餌機構106、撮像デバイス110、制御ユニット305又はセンサ302を実装するコンピュータシステムなどのコンピューティングデバイス400又はモバイルコンピューティングデバイス450の例とすることができる。
【0081】
コンピューティングデバイス400は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、及び他の適切なコンピュータなどのさまざまな形態のデジタルコンピュータを表すことが意図される。モバイルコンピューティングデバイス450は、携帯情報端末、セルラー電話、スマートフォン、モバイル埋め込み無線システム、無線診断コンピューティングデバイス、及び他の同様のコンピューティングデバイスなど、さまざまな形態のモバイルデバイスを表すことが意図されている。ここに示されている構成要素、それらの接続及び関係、並びにそれらの機能は、例に過ぎないことを意図しており、限定するものではない。
【0082】
コンピューティングデバイス400は、プロセッサ402と、メモリ404と、記憶デバイス406と、メモリ404及び複数の高速拡張ポート410に接続する高速インタフェース408と、低速拡張ポート414及び記憶デバイス406に接続する低速インタフェース412とを含む。プロセッサ402、メモリ404、記憶デバイス406、高速インタフェース408、高速拡張ポート410、及び低速インタフェース412の各々は、さまざまなバスを使用して相互接続され、共通のマザーボード上に、又は必要に応じて他の方法で装着することができる。プロセッサ402は、高速インタフェース408に連結されたディスプレイ416などの外部入力/出力デバイス上にGUIのためのグラフィカル情報を表示するために、メモリ404又は記憶デバイス406に記憶された命令を含む、コンピューティングデバイス400内で実行するための命令を処理することができる。他の実装形態では、複数のプロセッサ及び/又は複数のバスは、複数のメモリ及びメモリのタイプと共に、適宜、使用することができる。更に、複数のコンピューティングデバイスが、各デバイスが動作の一部を実現する状態で(例えば、サーババンク、ブレードサーバのグループ又はマルチプロセッサシステムとして)接続され得る。一部の実装形態では、プロセッサ402は、シングルスレッドプロセッサである。一部の実装形態では、プロセッサ402は、マルチスレッドプロセッサである。一部の実装形態では、プロセッサ402は、量子コンピュータである。
【0083】
メモリ404は、コンピューティングデバイス400内に情報を記憶する。一部の実装形態では、メモリ404は、揮発性メモリユニット(単数又は複数)である。一部の実装形態では、メモリ404は、非揮発性メモリユニット(単数又は複数)である。メモリ404はまた、磁気ディスク又は光ディスクなどの別の形態のコンピュータ可読媒体であることができる。
【0084】
記憶デバイス406は、コンピューティングデバイス400のために大容量記憶装置を設けることが可能である。一部の実装形態では、記憶デバイス406は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、若しくはテープデバイス、フラッシュメモリ若しくは他の同様の固体状態メモリデバイス、又は記憶領域ネットワーク若しくは他の構成におけるデバイスを含むデバイスのアレイなどのコンピュータ可読媒体であることができるか、又はこれを含むことができる。命令は、情報担体に記憶することができる。命令は、1つ以上の処理デバイス(例えば、プロセッサ402)によって実行されると、上述などの1つ以上の方法を実行する。命令はまた、コンピュータ又は機械可読媒体(例えば、メモリ404、記憶デバイス406又はプロセッサ402上のメモリ)などの1つ以上の記憶デバイスによって記憶され得る。高速インタフェース408が、コンピューティングデバイス400の帯域幅集中動作を管理する一方、低速インタフェース412は、より低い帯域幅集中動作を管理する。そのような機能の割り当ては、単なる例に過ぎない。一部の実装形態では、高速インタフェース408は、メモリ404、ディスプレイ416(例えば、グラフィックプロセッサ又はアクセラレータを介する)、及びさまざまな拡張カード(図示せず)を収容することができる高速拡張ポート410に連結されている。一部の実装形態では、低速インタフェース412は、記憶デバイス406及び低速拡張ポート414と、に連結されている。さまざまな通信ポート(例えば、USB、Bluetooth、イーサネット、ワイヤレスイーサネット)を含むことができる低速拡張ポート414は、キーボード、ポインティングデバイス、スキャナーなどの1つ以上の入力/出力デバイスに、又は、例えばネットワークアダプタを介して、スイッチ若しくはルータなどのネットワーキングデバイスに連結することができる。
【0085】
コンピューティングデバイス400は、図に示されるように、いくつかの異なる形態で実装することができる。例えば、それは、標準サーバ420として、又はそのようなサーバのグループにおいて複数回、実装することができる。更に、それは、ラップトップコンピュータ422などのパーソナルコンピュータにおいて実装することができる。それはまた、ラックサーバシステム424の一部として実装することができる。代替的に、コンピューティングデバイス400からのコンポーネントは、モバイルコンピューティングデバイス450などのモバイルデバイスにおいて、他のコンポーネントと組み合わせることができる。そのようなデバイスの各々は、コンピューティングデバイス400及びモバイルコンピューティングデバイス450のうちの1つ以上を含むことができ、システム全体は、互いに通信する複数のコンピューティングデバイスから構成することができる。
【0086】
モバイルコンピューティングデバイス450は、他のコンポーネントの中でも、プロセッサ452、メモリ464、ディスプレイ454などの入力/出力デバイス、通信インタフェース466及びトランシーバ468を含む。モバイルコンピューティングデバイス450はまた、追加の記憶装置を供給するために、マイクロドライブ又は他のデバイスなどの記憶デバイスが設けられ得る。プロセッサ452、メモリ464、ディスプレイ454、通信インタフェース466及びトランシーバ468はそれぞれ、さまざまなバスを使用して相互接続されており、コンポーネントのうちのいくつかは、共通のマザーボード上に、又は適宜、他の方法で装着することができる。
【0087】
プロセッサ452は、メモリ464に記憶された命令を含む、モバイルコンピューティングデバイス450内の命令を実行することができる。プロセッサ452は、別個かつ複数のアナログ及びデジタルプロセッサを含むチップのチップセットとして実装することができる。プロセッサ452は、例えば、ユーザインタフェースの制御、モバイルコンピューティングデバイス450によって実行されるアプリケーション、及びモバイルコンピューティングデバイス450による無線通信などの、モバイルコンピューティングデバイス450の他のコンポーネントの調整を実現することができる。
【0088】
プロセッサ452は、ディスプレイ454に連結された制御インタフェース458及びディスプレイインタフェース456を通してユーザと通信することができる。ディスプレイ454は、例えば、TFT(Thin-Film-Transistor Liquid Crystal Display、薄膜トランジスタ液晶ディスプレイ)ディスプレイ若しくはOLED(Organic Light Emitting Diode、有機発光ダイオード)ディスプレイ、又は他の適切なディスプレイ技術とすることができる。ディスプレイインタフェース456は、グラフィカル情報及び他の情報をユーザに提示するために、ディスプレイ454を駆動するための適切な回路を含むことができる。制御インタフェース458は、ユーザからコマンドを受信し、プロセッサ452への提出のためにそれらを変換することができる。更に、外部インタフェース462は、他のデバイスとのモバイルコンピューティングデバイス450の近距離通信を可能にするよう、プロセッサ452との通信をもたらすことができる。外部インタフェース462は、例えば、一部の実装形態では、有線通信、又は他の実装形態では無線通信を実現することができ、複数のインタフェースを使用することもできる。
【0089】
メモリ464は、モバイルコンピューティングデバイス450内に情報を記憶する。メモリ464は、1つ以上のコンピュータ可読媒体、1つ以上の揮発性メモリユニット又は1つ以上の不揮発性メモリユニットのうちの1つ以上として実装することができる。拡張メモリ474もまた、例えば、SIMM(single In Line Memory Module、シングルインラインメモリモジュール)カードインタフェースを含むことができる、拡張インタフェース472を通してモバイルコンピューティングデバイス450に設けられ得る、及び接続され得る。拡張メモリ474は、モバイルコンピューティングデバイス450のための余分な記憶空間を提供することができ、又はモバイルコンピューティングデバイス450のためのアプリケーション若しくは他の情報を記憶することもできる。具体的には、拡張メモリ474は、上で説明されるプロセスを実行又は補足するための命令を含むことができ、安全な情報も含むことができる。したがって、例えば、拡張メモリ474は、モバイルコンピューティングデバイス450のためのセキュリティモジュールとして設けられることができ、モバイルコンピューティングデバイス450の安全な使用を可能にする命令でプログラム化することができる。更に、安全なアプリケーションは、ハッキング不可能な方法でSIMMカード上に識別情報を配置するなど、追加の情報と共に、SIMMカードを介して提供することができる。
【0090】
メモリは、例えば、以下で考察されているとおり、フラッシュメモリ及び/又はNVRAMメモリ(非揮発ランダムアクセスメモリ)を含むことができる。一部の実装形態では、命令が、1つ以上の処理デバイス(例えば、プロセッサ452)によって実行されると、上述などの1つ以上の方法を実行するように、命令が情報担体に記憶される。命令はまた、1つ以上のコンピュータ又は機械可読媒体(例えば、メモリ464、拡張目メモリ474又はプロセッサ452上のメモリ)などの1つ以上の記憶デバイスによって記憶され得る。一部の実装形態では、命令は、例えば、トランシーバ468又は外部インタフェース462を介して、伝搬信号中で受信され得る。
【0091】
モバイルコンピューティングデバイス450は、一部の場合、デジタル信号処理回路を含むことができる、通信インタフェース466を介して無線で通信することができる。通信インタフェース466は、とりわけ、GSM音声通話(Global System for Mobile communications:汎欧州デジタルセルラーシステム)、SMS(Short Message Service:ショートメッセージサービス)、EMS(Enhanced Messaging Service:拡張メッセージサービス)、又はMMSメッセージング(Multimedia Messaging Service:マルチメディアメッセージングサービス)、CDMA(code divisionmultiple access:符号分割多元接続)、TDMA(time divisionmultiple access:時分割多元接続)、PDC(Personal Digital Cellular:パーソナルデジタルセルラー)、WCDMA(Wideband Code Division Multiple Access:広帯域符号分割多元接続)、CDMA2000、又はGPRS(General Packet Radio Service:汎用パケット無線システム)、LTE、5G/6Gセルラーなどの、さまざまなモード又はプロトコルの下で通信を実現することができる。そのような通信は、例えば、無線周波数を使用するトランシーバ468を通して行うことができる。更に、短距離通信は、Bluetooth、Wi-Fi又は他のそのようなトランシーバ(図示せず)などを使用して行うことができる。更に、GPS(Global Positioning System:全地球測位システム)受信機モジュール470は、モバイルコンピューティングデバイス450上で実行するアプリケーションによって適切に使用され得る、モバイルコンピューティングデバイス450に追加のナビゲーション及び位置関連無線データを提供することができる。
【0092】
モバイルコンピューティングデバイス450はまた、ユーザが話した情報を受信し、それを使用可能なデジタル情報に変換することができる、音声コーデック460を使用して可聴的に通信することができる。音声コーデック460は、同様に、例えば、モバイルコンピューティングデバイス450のハンドセットにおけるスピーカなどを通して、ユーザのための可聴音を発生させることができる。そのような音は、例えば、記録された音(とりわけ、音声メッセージ、音楽ファイル)を含むことができ、モバイルコンピューティングデバイス450上で動作するアプリケーションによって発生された音も含むことができる、音声電話通話からの音を含むことができる。
【0093】
モバイルコンピューティングデバイス450は、
図4に示されるように、いくつかの異なる形態で実装することができる。例えば、それは、携帯電話480として実装することができる。それはまた、スマートフォン482、携帯情報端末又は他の同様のモバイルデバイスの一部として実装することができる。
【0094】
図1~
図4は、食事計画を使用して水産養殖環境内の魚などの家畜に給餌することを説明した一方、
図5及び
図6は、センサデータに応答して食事構成データを選択し、強化学習及び能動学習などの技法を使用して食事構成データに対する改善を行うためのフレームワークを説明する。
【0095】
水産養殖環境に含まれるセンサは、家畜の健康管理及び給餌を支援することができる。センサは、光、温度及び気圧などの環境条件をモニタリングするために使用される測定値を提供することができる。測定値はまた、家畜の個体数及びバイオマスの推定値などの情報を生成する際にも使用することができる。センサは、固定位置に取り付けられ得るか、又は環境を巡視する1つ以上のリグに取り付けられ得る。
【0096】
センサデータを使用して、給餌に対する手法を改善することができる。例えば、より大きなバイオマスは、より多くの飼料を消費する傾向があるので、センサデータから決定される正確なバイオマス推定を使用して、食事計画の状況を調整することができる。別の例では、気圧の低下は気象条件の悪化を知らせることができ、一部の水生家畜は、悪天候において飼料消費が減少する。したがって、気圧の変化は、食事構成データの選択に影響を及ぼし得る。
【0097】
更に、食事構成データは、さまざまな感知された条件下での給餌に対する現在知られている最良の手法を表すことができるが、一部の場合、モニタリングされたメトリックに応じて食事構成データを改善することができる。フレームワークは、以下で更に説明されるとおり、例えば、給餌速度をわずかに向上又は低下させることによって、選択された食事構成データに変動を与えてその結果をモニタリングし、結果が改善されると食事計画を調整することができる。この変動は、家畜の成長に十分な飼料が確実に与えられるというポリシーによって制限され得る。
【0098】
図5は、魚の自動給餌システムの一例を示す図である。システム500は、ウインチシステム514及びステレオカメラを含む1つ以上のカメラをそれぞれ含む1つ以上のカメラサブシステム502と備える囲い510を含むことができる。システム500はまた、フィーダ機構516及び環境の特性をモニタリングする1つ以上のセンサデバイス504を含むことができる。本システムは、環境コンテキスト決定エンジン530、食事構成データ選択エンジン540、食事構成データ記憶サブシステム543、給餌制御エンジン550及び食事構成評価エンジン560を更に含むことができる。
【0099】
囲い510は、囲い510の区域内で自由に泳ぐ魚520などの水生生物であってもよい家畜を取り囲むことができる。一部の実装形態では、囲い510内に収容される水生家畜520には、鰭のある魚又は他の水性生命体が含まれ得る。家畜520には、例えば、いくつかの例を挙げると、稚魚、コイ、サメ、サケ及びバス、又は甲殻類、例えば、エビが含まれ得る。
【0100】
水生家畜に加えて、囲い510は、水、例えば、海水、淡水又は雨水を収容するが、この囲いは、水生家畜にとって生息可能な環境を維持することができる任意の流体を収容することができる。
【0101】
一部の実装形態では、システム500は、ピア、ドック又はブイなどの構造物に固定することができる。例えば、家畜520は、囲い510内に拘束される代わりに、水域を自由に泳ぎ回ることができ、システム500は、囲い510外のその水域のある特定の領域内の家畜をモニタリングすることができる。
【0102】
ウインチサブシステム508は、カメラサブシステム502を巡視パターンで、例えば、囲い510内の異なる深度まで上下に移動することができる。例えば、カメラサブシステム502は、魚の飼料をモニタリングしながら、囲い510内で上下に巡視することができる。ウインチサブシステム508は、1つ以上のモータ、1つ以上の電源、及びセンササブシステム502を吊り下げるコード514が取り付けられている1つ以上の滑車を含むことができる。滑車は、コード514などのコードの動き及び方向を支持するために使用される機械である。ウインチサブシステム508は、単一のコード514を含むが、本明細書に記載されているとおり、カメラサブシステム502の移動及び回転を可能にする1つ以上のコード及び1つ以上の滑車の任意の構成を使用することができる。
【0103】
ウインチサブシステム508は、コード514を移動させるために1つ以上のモータを駆動することができる。コード514及び取り付けられたカメラサブシステム502は、x、y及びz方向に沿って、命令に対応する位置まで移動され得る。ウインチサブシステム108のモータを使用し、カメラサブシステム502を回転させて、センササブシステムの水平角度及び垂直角度を調節することができる。電源は、ウインチサブシステムの個々のコンポーネントに電力供給することができる。この電源は、さまざまな電圧レベル及び電流レベルでAC及びDC電力をコンポーネントの各々に供給することができる。一部の実装形態では、ウインチサブシステムは、x、y及びz方向の運動を可能にするための、複数のウインチ又は複数のモータを含むことができる。
【0104】
各カメラサブシステム502は、上、下、任意の側面又は他の角度などの種々の方向を指すことができる、1つ以上の画像取り込みデバイスを含むことができる。各カメラサブシステム502は、それに含まれる撮像デバイスのいずれかを使用して画像を撮影することができ、囲い510は、複数のカメラサブシステム502を含むことができる。
【0105】
カメラサブシステム502は、任意の適切なフォーマットで表される、個々の画像データ又はビデオ画像データとすることができる、画像データ525を提示することができる。個々の画像に関すると、フォーマットは、JPEG、TIFF、BMP、未加工などを含むことができる。ビデオ画像データに関すると、フォーマットは、MP4、MOV、WAV、AVIなどを含むことができる。画像データは、センサデータとして環境コンテキスト決定エンジン530に供給することができる。
【0106】
囲い510内、又は囲い510の近傍のセンサデバイス504は、環境条件をモニタリングし、追加のセンサデータ525を供給することができる。センサデバイスの例は、水又は空気の温度を測定するための温度計、気圧を測定するための気圧計、水の塩濃度を測定するための塩分濃度検出器などを含むことができる。
【0107】
給餌機構516は、囲い510に飼料518を供給する中央給餌ステーションに囲い510を接続するパイプを含むことができる。一部の実装形態では、囲い510に配置された分配器を使用して、囲い510内に飼料518をより均一に分配することができる。例えば、分配者は、魚520用の飼料518を落としながら、囲い510の表面の周囲を移動することができる。一部の場合、飼料518を押し出すためのデバイスを使用することができる。例えば、飼料518と共に空気又は水を吹き付ける送風機を使用して、飼料518を分散させることができる。
【0108】
第1の期間において、段階Aでは、カメラサブシステム502及び温度計504などのセンサにより、センサデータ525が環境コンテキスト決定エンジン530に提供される。
【0109】
段階Bにおいて、環境コンテキスト決定エンジン530は、画像及び温度データなどのセンサデータ525を受信することができ、画像分類、対象物の検出、対象物の追跡などのコンピュータビジョンモデルなどの解析技法を適用して、環境を記述する環境データ535を生成する。
【0110】
環境データ535は、水塩分濃度、溶存酸素、温度、水濁度、気象条件などの生センサデータ、及びバイオマス推定などの環境コンテキスト決定エンジンによって計算されたデータを含むことができる。
【0111】
環境データ535は、任意の好適なフォーマットで符号化することができる。例えば、拡張可能なマークアップ言語(XML)などの構造化テキストフォーマットを使用して、環境データ535を符号化することができ、タグは、環境データ535に含まれるさまざまなカテゴリのデータに対応する。
【0112】
段階Cでは、食事構成データ選択エンジン540は、環境データ535を使用して、食事構成データ記憶サブシステム543から食事構成データ542を選択することができる。
【0113】
食事構成データ記憶サブシステム543は、リレーショナルデータベース、非構造化データベース、ファイルシステムなどの適切なデータ記憶サブシステムであり得る。
【0114】
先に表1に例示した食事構成データは、環境コンテキスト基準を記述する情報により増補することができる。環境コンテキスト基準は、ブール式又はアサーションなどの規則として表現することができる。
【0115】
表3は、アサーションとして表現された環境基準の例を例示する。
【0116】
【0117】
この例では、MAIN_MEAL構成は、2つの部分項目を有し、1つは、測定された温度が摂氏5度~10度であるときに適用され、TRUE値で示されるデフォルトは、事前基準が満たされないときに適用される。基準により印の付けられていないパラメータは、環境データ535にかかわらず、すべての食事構成に適用することができる。
【0118】
食事構成データ選択エンジン540は、環境データ535と、食事構成データ記憶サブシステム543に記憶された構成データに関連付けられた環境コンテキスト基準とを比較し、基準が満たされるパラメータ及び値を選択することができる。結果は、選択された食事構成545とすることができる。
【0119】
一部の実装形態では、食事構成データ選択エンジン540は、訓練済み機械学習モデルを使用して、食事構成を選択することができる。機械学習モデルは、食事構成パラメータ又はパラメータの値を決定する回帰モデルの中から選択する分類モデルとすることができる。
【0120】
段階Dにおいて、システム500は、選択された食事構成545を、給餌機構516を制御するように構成されている給餌制御エンジン550に渡すことができる。既に記載したとおり、構成データ545は、給餌する強度、給餌の強度を増加させる速度、所与の期間後の餌の必要な深度、給餌される魚の必要な割合、及び現在の食事計画実行と次の食事計画実行との間の遅延を含むことができる食事パラメータを指定する。他のパラメータが、構成データ内で指定され得る。
【0121】
段階Eでは、給餌制御エンジン550は、食事を開始するために給餌機構516に信号を送信することができ、この場合、給餌パターンは、選択された構成データ545によって案内される。給餌制御エンジン550は、選択された構成データ545において指定された増分パラメータに基づいて、給餌機構516の給餌強度を増分するための信号を送信することができる。増分パラメータは、構成データ545において指定された初期給餌強度から最大給餌強度まで、又は給餌深度などの決定された条件が満たされるまで、給餌機構516によって飼料518が魚囲い510に漸進的に供給される速度を決定することができる。
【0122】
更に、給餌制御エンジン550は、選択された構成データ545を食事構成評価エンジン560に送信することができ、ここで、以下で説明するように、食事構成の有効性を評価するために、上記の構成データ545を使用することができる。
【0123】
段階Fでは、システム500は、給餌の有効性を反映するデータ、すなわち食事計画の成功を反映するメトリクス562を収集することができる。魚への給餌の間に、所与の深度未満のペレットの落下速度などのいくつかのデータを収集することができる。総バイオマス及び飼料変換率(魚バイオマスに変換される飼料の割合を測定する)などの他のデータは、より長い時間枠にわたって測定することができる。他のメトリックスは、バイオマスの成長速度、家畜のサイズ分布、集団の変化(増加又は減少)などを含むことができる。
【0124】
給餌有効性メトリックは、任意の好適なフォーマット、例えば、XMLなどの構造化テキストフォーマットで符号化され得る。給餌有効性メトリック562は、食事構成評価エンジン560に配信され得る。
【0125】
食事構成評価エンジン560は、給餌有効性メトリック562を使用して、段階Eにおいて給餌制御エンジン550によって配信された構成データ545の有効性を評価することができる。食事構成評価エンジン560は、食事構成データ記憶サブシステム543内に既に記憶されている食事構成データに対する1つ以上の追加、削除又は調整を含み得る、修正済み構成データ565を更に決定することができる。
【0126】
段階Gでは、食事構成評価エンジン560は、修正済み構成データ565を構成データ記憶サブシステム543に配信することができる。それに応答して、構成データ記憶サブシステム543は、既に記憶された記憶構成データ542を調整することができる、それに追加することができる、又はその全部若しくは一部を削除することができる。
【0127】
図6は、魚の自動給餌プロセスの一例を例示するフロー図である。便宜上、プロセス600は、水産養殖環境における魚の自動給餌のためのシステム、例えば、このプロセスを実行するように適切にプログラムされた
図5の魚の自動給餌のためのシステムによって実行されると説明される。
【0128】
動作602において、本システムは、水産養殖環境に関連付けられた1つ以上のセンサからセンサデータを取得する。センサデータは、PCI-E又はイーサネットなどの有線接続を介して、又は802.11gなどのプロトコルを使用する無線ネットワークを介して、又はセルラーデータ接続を介して取得することができる。
【0129】
動作604において、本システムは食事構成データを取得することができる。食事構成データは、リレーショナルデータベースからデータを検索するための構造化照会言語(SQL)照会、又はファイルシステムからファイルに記憶されたデータを検索するためのファイルシステムコールなどの従来のデータ検索技法を使用して取得することができる。
【0130】
動作606では、本システムは、給餌パラメータを決定する。一部の実装形態では、本システムは、動作602で取得されたセンサデータを使用して、食事構成データに関連付けられた1つ以上の環境コンテキスト基準を評価する。本システムは、関連付けられた基準を有する食事構成データに含まれるパラメータについて、環境コンテキスト基準が満たされるかどうかを判定することができる。同じパラメータに関する複数の環境コンテキスト基準が満たされる場合、本システムは、関連付けられた最も高い優先度を有する環境コンテキスト基準を選択すること、環境コンテキスト基準が満たされる第1のパラメータを選択すること、又は環境コンテキスト基準が満たされるパラメータの中からランダムに選択することなどの競合解決方法を使用することができる。
【0131】
一部の実装形態では、本システムは、1つ以上の給餌パラメータを変動させることができ、これによって、代替給餌構成が既存の構成よりも優れた結果をもたらすかどうかをシステムが判定することが可能になる。例えば、本システムは、構成された閾値を超えない量だけ供給パラメータをランダムに増加又は減少させることができる。例えば、閾値は、パラメータが、1%、2%などのある特定の割合を超えて変動され得ないことを指定することができる。
【0132】
一部の実装形態では、本システムはまた、給餌パラメータが構成された値又は比率よりも大きくも小さくもないことを保証するために、ガードレールを強制するポリシーを実装することができる。例えば、ポリシーは、給餌速度が120グラム/分未満又は180グラム/分を超えることができないことを示すことができる。別の例では、ポリシーは、推定バイオマス(キログラム数で測定される)と給餌速度(1分当たりのグラム数で測定される)との比が設定された閾値を超えないことを示すことができる。給餌がポリシーで定義された値を超える場合、本システムは、その値を超えることなく、ポリシー内の値に最も近い値を選択することができる。
【0133】
動作608では、本システムは、給餌パラメータを給餌制御エンジンに提供する。給餌パラメータは、有線(例えば、PCI-E)又は無線(例えば、セルラー)接続を介して提供され得る。
【0134】
動作610では、本システムは、水産養殖環境に関連付けられた1つ以上のセンサから、選択された一連の給餌パラメータの有効性に関するセンサデータを取得する。センサデータは、PCI-E又はイーサネットなどの有線接続を使用して、又は802.11gなどのプロトコルを使用する無線ネットワークを介して、又はセルラーデータ接続を介して取得することができる。センサデータは、カメラサブシステムから取得された画像を含むことができる。そのような画像は、バイオマスの推定値(既に記載したとおり)、家畜集団の推定値などを決定するため、本システムによって使用され得る。
【0135】
動作612では、本システムは、給餌パラメータを調整することができる。本システムは、選択された一連の給餌パラメータの有効性を反映する構成データ及びセンサデータを入力値として採用する強化学習(RL)機械学習モデルを使用することができる。一部の実装形態では、RLモデルは、複数の囲い全体のデータを集約して、任意の所与の囲いにおける調整を通知することができる。RLモデルは、バイオマス、家畜集団及びFCRの増加に褒美を与えることができる一方で、バイオマス、FCR及び家畜集団の減少にペナルティを与える。RLモデルの評価結果は、1つ以上の給餌パラメータの調整又は異なる給餌戦略の選択とすることができる。次に、調整された給餌パラメータは、食事構成データ記憶サブシステムに記憶することができる。
【0136】
一部の実装形態では、本システムは、動作606を参照して説明したポリシーなど、1つ以上のポリシーに対して提案された調整を評価することができる。提案された調整がポリシーを満たすとシステムが判定した場合、提案された調整は続行することができる。提案された調整がポリシーを満たさないとシステムが判定した場合、システムは、調整が行われるべきではないと判定することができる。例えば、提案された調整により、給餌速度がポリシー内の最小給餌速度を下回る場合、システムは、調整を行うべきではないと判定することができる。
【0137】
本明細書は、水産養殖環境における給餌の決定を主に説明してきたが、農業環境内の給餌もまた、本明細書に説明される技法を使用して自動化することができる。例えば、農業環境におけるセンサデータは、気温、湿度、風速、雨、雪、空気清澄度などを含むことができる。有効性メトリックは、バイオマスサイズ、集団サイズ、飼料変換率などを含むことができる。飼料は、養殖される家畜のために選択することができる。いくつかの実装形態について記載してきた。それでもなお、本開示の趣旨及び範囲から逸脱することなく、さまざまな修正が行われ得ることが理解されよう。例えば、上で示されたフローのさまざまな形態は、ことが再順序付けされて、追加されて、又はなくして使用され得る。
【0138】
本明細書において記載される主発明及び機能的動作の実施形態は、本明細書において開示されている構造及びそれらの構造的均等物を含む、デジタル電子回路、又はコンピュータソフトウェア、ファームウェア若しくはハードウェア、又はそれらのうちの1つ以上の組合せで実行することができる。本発明の実施形態は、1つ以上のコンピュータプログラム製品、例えば、データ処理装置による実行又はデータ処理装置の動作を制御するためにコンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1つ以上のモジュールとして実装され得る。コンピュータ可読媒体は、機械可読記憶デバイス、機械可読記憶基板、メモリデバイス、機械可読伝搬信号に効果を及ぼす組成物、又はそれらのうちの1つ以上の組合せとすることができる。用語「データ処理装置」は、例としてプログラマブルプロセッサ、コンピュータ、又は複数のプロセッサ若しくはコンピュータを含む、データを処理するためのすべての装置、デバイス、及び機械を包含する。装置は、ハードウェアに加えて、問題のコンピュータプログラムのための実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらのうちの1つ以上の組合せを構成するコードを含むことができる。伝播信号は、人工的に生成された信号、例えば、好適な受信機装置への送信のために情報を符号化するために生成された機械生成電気信号、光信号又は電磁信号である。
【0139】
(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られる)コンピュータプログラムは、コンパイラ型言語若しくはインタープリタ型言語を含む、任意の形態のプログラミング言語で書くことができ、スタンドアロンプログラムとして又はモジュールとして、コンポーネント、サブルーチン、又はコンピューティング環境での使用に好適な他のユニットを含む任意の形態で展開することができる。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応する必要はない。プログラムは、他のプログラム若しくはデータ(例えば、マークアップ言語文書に記憶された1つ以上のスクリプト)を保持するファイルの一部分内に、問題のプログラム専用の単一ファイル内に、又は複数の調整されたファイル(例えば、1つ以上のモジュール、サブプログラム、若しくはコードの一部分を記憶するファイル)内に、記憶されることができる。コンピュータプログラムは、1つのコンピュータ上で、又は1つのサイトに位置するか若しくは複数のサイトにわたって分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開されることができる。
【0140】
本明細書に記載されるプロセス及び論理フローは、入力データに対して動作し、出力を生成することによって機能を実施するために、1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実施されることができる。プロセス及び論理フローはまた、専用論理回路、例えば、FPGA(field programmable gate array)(フィールドプログラマブルゲートアレイ)又はASIC(application specific integrated circuit)(特定用途向け集積回路)によって実施されることができ、装置はまた、専用論理回路、例えば、FPGA又はASICとして実装されることができる。
【0141】
コンピュータプログラムの実行に好適なプロセッサは、例として、汎用マイクロプロセッサ及び専用マイクロプロセッサの両方、並びに任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。概して、プロセッサは、読み出し専用メモリ若しくはランダムアクセスメモリ又はその両方から命令及びデータを受信する。コンピュータの必須要素は、命令を実施するためのプロセッサ、並びに命令及びデータを記憶するための1つ以上のメモリデバイスである。概して、コンピュータはまた、データを記憶するための1つ以上の大容量記憶デバイス、例えば、磁気ディスク、光磁気ディスク又は光ディスクを含むか、又は1つ以上の大容量記憶デバイスからデータを受信するか若しくは1つ以上の大容量記憶デバイスにデータを転送するか、又はその両方を行うように動作可能に連結される。しかし、コンピュータは、そのようなデバイスを有する必要はない。更に、コンピュータは、別のデバイス、例えば、ごく一部ながら例を挙げると、タブレットコンピュータ、携帯電話、携帯情報端末(PDA)、モバイルオーディオプレーヤ、全地球測位システム(GPS)受信機に組み込むことができる。コンピュータプログラム命令及びデータを記憶するのに好適なコンピュータ可読媒体は、例として、半導体メモリデバイス、例えば、EPROM、EEPROM、及びフラッシュメモリデバイスを含む、すべての形態の不揮発性メモリ、媒体、及びメモリデバイスと、磁気ディスク、例えば、内蔵ハードディスク又はリムーバブルディスクと、光磁気ディスクと、CD-ROM及びDVD-ROMディスクとを含む。プロセッサ及びメモリは、専用論理回路によって補完され得るか、又は専用論理回路に組み込まれることができる。
【0142】
ユーザとの対話を提供するために、本発明の実施形態は、ユーザに情報を表示するためのディスプレイデバイス、例えば、CRT(cathode ray tube)(陰極線管)又はLCD(liquid crystal display)(液晶ディスプレイ)モニタ、並びにキーボード及びポインティングデバイス、例えば、ユーザがコンピュータに入力を提供することができるマウス若しくはトラックボールを有するコンピュータ上に実装され得る。他の種類のデバイスが、ユーザとの相互作用を提供するために同様に使用され得る。例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバックであり得、ユーザからの入力は、音響、音声、又は触覚入力を含む、任意の形態で受信され得る。
【0143】
本発明の実施形態は、例えば、データサーバとしてバックエンドコンポーネントを含むか若しくはミドルウェアコンポーネント、例えば、アプリケーションサーバを含む、又はフロントエンドコンポーネント、例えば、グラフィカルユーザインタフェース、若しくはユーザが開示された技法の実装形態と対話し得るウェブブラウザ、又は1つ以上のそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、若しくはフロントエンドコンポーネントの任意の組合せを含む、コンピューティングシステムで実装されることができる。システムのコンポーネントは、デジタルデータ通信の任意の形態又は媒体、例えば、通信ネットワークによって相互接続することができる。通信ネットワークの実施例は、ローカルエリアネットワーク(「LAN」)と、ワイドエリアネットワーク(「WAN」)、例えば、インターネットと、を含む。
【0144】
コンピューティングシステムは、クライアント及びサーバを含むことができる。クライアント及びサーバは概して互いに離れており、典型的には通信ネットワークを介して対話する。クライアント及びサーバの関係は、それぞれのコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。
【0145】
本明細書は、多くの詳細を含むが、これらは本発明の範囲又は主張され得るものの範囲に対する限定としてではなく、むしろ、本発明の特定の実施形態に特有の形態の説明として解釈されるべきである。別個の実施形態の文脈の中で本明細書において記載される特定の形態はまた、単一の実施形態において組み合わされて実施され得る。逆に、単一の実施形態の文脈で説明されている種々の特徴は、複数の実施形態で別個に、又は任意の好適な部分的組合せで実装することもできる。更に、特徴は、ある特定の組合せで作用するものとして上記で説明され、かつ最初にそのように特許請求されることさえあり得るが、特許請求された組合せからの1つ以上の特徴は、場合によっては、組合せから削除され得、特許請求された組合せは、部分組合せ又は部分組合せの変形に向けられ得る。
【0146】
同様に、動作は特定の順序で図面に図示されているが、これは、所望の結果を達成するために、そのような動作が示された特定の順序で若しくは連続的な順序で実施されること、又はすべての例示された動作が実施されることを必要とすると理解されるべきではない。ある特定の状況では、マルチタスキング及び並列処理が有利であり得る。更に、上で説明された実施形態におけるさまざまなシステムコンポーネントの分離は、すべての実施形態においてかかる分離を必要とすると理解されるべきではなく、説明されたプログラムコンポーネント及びシステムは、概して、単一のソフトウェア製品にともに一体化され得るか、又は複数のソフトウェア製品にパッケージ化され得ることを理解されたい。
【0147】
HTMLファイルが言及されている各場合では、他のファイルタイプ又はフォーマットが代用され得る。例えば、HTMLファイルは、XML、JSON、プレーンテキスト又は他のタイプのファイルによって置き換えられ得る。更に、テーブル又はハッシュテーブルが言及される場合、他のデータ構造(スプレッドシート、リレーショナルデータベース又は構造化ファイルなど)が使用され得る。
【0148】
本発明の特定の実施形態が説明されてきた。他の実施形態は、以下の特許請求の範囲内である。例えば、特許請求の範囲内に記載されたことは、異なる順序で実施することができ、それでも所望の結果を達成することができる。
【国際調査報告】