(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-09
(45)【発行日】2024-04-17
(54)【発明の名称】水産養殖における分析及び選別
(51)【国際特許分類】
G06Q 50/02 20240101AFI20240410BHJP
【FI】
G06Q50/02
(21)【出願番号】P 2022555984
(86)(22)【出願日】2021-03-19
(86)【国際出願番号】 US2021023097
(87)【国際公開番号】W WO2021242368
(87)【国際公開日】2021-12-02
【審査請求日】2022-11-25
(32)【優先日】2020-05-28
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】516326438
【氏名又は名称】エックス デベロップメント エルエルシー
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100126480
【氏名又は名称】佐藤 睦
(72)【発明者】
【氏名】クロバク,ローラ ヴァレンティン
(72)【発明者】
【氏名】ジェームズ,バーナビー ジョン
【審査官】深津 始
(56)【参考文献】
【文献】特開2000-131022(JP,A)
【文献】特開2000-116314(JP,A)
【文献】国際公開第2019/154840(WO,A1)
【文献】特開2021-018448(JP,A)
【文献】特開2002-086075(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 -G06Q 99/00
(57)【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、
魚個体群内の特定の魚の1つ以上の画像を取得することと、
前記
特定の魚の前記1つ以上の画像に基づいて、(i)前記特定の魚の物理的特性を反映する第1の値、及び(ii)前記特定の魚の
前記1つ以上の画像から推定された前記特定の魚に関連付けられている重量値と前記特定の魚に関連付けられている体長値との関係に基づいて算出された第2の値、を含む、データ要素を決定することであって、前記第2の値における前記重量値は、少なくとも、前記特定の魚の体の場所間の距離に対応するトラス長のセットを推定することによって決定される、前記データ要素を決定することと、
前記データ要素に基づいて、前記
特定の魚を、前記魚個体群の特定の下位個体群のメンバーとして分類することと、
前記特定の魚を、前記魚個体群の前記特定の下位個体群のメンバーとして分類することに基づいて、自動魚選別機のアクチュエータを制御することと、を含む、コンピュータ実装方法。
【請求項2】
前記
特定の魚の前記1つ以上の画像が、前記
特定の魚の第1のビューを表す第1の画像と、前記
特定の魚の異なる第2のビューを表す第2の画像と、を少なくとも含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
少なくとも前記第1の画像及び前記第2の画像を使用して、前記
特定の魚の3次
元姿勢を決定
し、
前記第2の値は前記特定の魚の前記3次元姿勢に基づいて算出される、請求項2に記載のコンピュータ実装方法。
【請求項4】
前記魚個体群内の他の魚に対応する1つ以上の他のデータ要素を生成することを含む、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記
特定の魚を前記特定の下位個体群のメンバーとして分類することが、前記特定の魚の前記データ要素と、前記魚個体群内の前記他の魚に対応する前記1つ以上の他のデータ要素と、に基づいて、1つ以上のクラスタを生成することを含む、請求項
4に記載のコンピュータ実装方法。
【請求項6】
前記アクチュエータが、前記自動魚選別機に関連付けられている複数の通路の中から特定の通路を選択的に開放するフラップを制御する、請求項1に記載のコンピュータ実装方法。
【請求項7】
前記フラップが、前記アクチュエータを作動させるために必要とされる力を低減するための穴を含む、請求項
6に記載のコンピュータ実装方法。
【請求項8】
前記特定の魚に関連付けられているグラフ内のデータポイントを表すために、前記データ要素の前記第1の値及び前記データ要素の前記第2の値を座標ペアとして使用する、視覚的表現を生成することを更に含む、請求項1に記載のコンピュータ実装方法。
【請求項9】
動作を実行するために、コンピュータシステムによって実行可能な1つ以上の命令を格納する、非一時的なコンピュータ可読媒体であって、前記動作が、
魚個体群内の特定の魚の1つ以上の画像を取得することと、
前記
特定の魚の前記1つ以上の画像に基づいて、(i)前記特定の魚の物理的特性を反映する第1の値、及び(ii)前記特定の魚の
前記1つ以上の画像から推定された前記特定の魚に関連付けられている重量値と前記特定の魚に関連付けられている体長値との関係に基づいて算出された第2の値、を含む、データ要素を決定すること
であって、前記第2の値における前記重量値は、少なくとも、前記特定の魚の体の場所間の距離に対応するトラス長のセットを推定することによって決定される、前記データ要素を決定することと、
前記データ要素に基づいて、前記
特定の魚を、前記魚個体群の特定の下位個体群のメンバーとして分類することと、
前記特定の魚を、前記魚個体群の前記特定の下位個体群のメンバーとして分類することに基づいて、自動魚選別機のアクチュエータを制御することと、を含む、非一時的なコンピュータ可読媒体。
【請求項10】
前記
特定の魚の前記1つ以上の画像が、前記
特定の魚の第1のビューを表す第1の画像と、前記
特定の魚の異なる第2のビューを表す第2の画像と、を少なくとも含む、請求項
9に記載の非一時的なコンピュータ可読媒体。
【請求項11】
少なくとも前記第1の画像及び前記第2の画像を使用して、前記
特定の魚の3次
元姿勢を決定
し、
前記第2の値は前記特定の魚の前記3次元姿勢に基づいて算出される、請求項
10に記載の非一時的なコンピュータ可読媒体。
【請求項12】
前記魚個体群内の他の魚に対応する1つ以上の他のデータ要素を生成することを含む、請求項
9に記載の非一時的なコンピュータ可読媒体。
【請求項13】
前記
特定の魚を前記特定の部分個体群のメンバーとして分類することが、前記特定の魚の前記データ要素と、前記魚個体群内の前記他の魚に対応する前記1つ以上の他のデータ要素と、に基づいて、1つ以上のクラスタを生成することを含む、請求項
12に記載の非一時的なコンピュータ可読媒体。
【請求項14】
前記アクチュエータが、前記自動魚選別機に関連付けられている複数の通路の中から特定の通路を選択的に開放するフラップを制御する、請求項
9に記載の非一時的なコンピュータ可読媒体。
【請求項15】
前記特定の魚に関連付けられているグラフ内のデータポイントを表すために、前記データ要素の前記第1の値及び前記データ要素の前記第2の値を座標ペアとして使用する、視覚的表現を生成することを更に含む、請求項
9に記載の非一時的なコンピュータ可読媒体。
【請求項16】
コンピュータ実装システムであって、
1つ以上のコンピュータと、
前記1つ以上のコンピュータと相互動作可能に結合されており、かつ前記1つ以上のコンピュータによって実行されると1つ以上の動作を実行する1つ以上の命令を格納する、有形の非一時的な機械可読媒体を有する、1つ以上のコンピュータメモリデバイスと、を備え、前記1つ以上の動作が、
魚個体群内の特定の魚の1つ以上の画像を取得することと、
前記
特定の魚の前記1つ以上の画像に基づいて、(i)前記特定の魚の物理的特性を反映する第1の値、及び(ii)前記特定の魚の
前記1つ以上の画像から推定された前記特定の魚に関連付けられている重量値と前記特定の魚に関連付けられている体長値との関係に基づいて算出された第2の値、を含むデータ要素を決定すること
であって、前記第2の値における前記重量値は、少なくとも、前記特定の魚の体の場所間の距離に対応するトラス長のセットを推定することによって決定される、前記データ要素を決定することと、
前記データ要素に基づいて、前記
特定の魚を、前記魚個体群の特定の下位個体群のメンバーとして分類することと、
前記特定の魚を、前記魚個体群の前記特定の下位個体群のメンバーとして分類することに基づいて、自動魚選別機のアクチュエータを制御することと、を含む、コンピュータ実装システム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、概して、強化された機械的魚選別機器について説明する。
【背景技術】
【0002】
養殖魚個体群には、人間が消費するのに適した正常で健康な魚だけでなく、稚魚、不健康又は病気の魚、寄生虫が大量に寄生している魚、ラント(runt)など、人間が消費するのに適していない魚も含まれ得る。水産養殖の状況において、魚個体群が収穫されると、作業員は、迅速な観察に基づいて、収穫された各魚を視覚的に評価し、健康な魚だけが市場に送られるように、健康な魚を不健康な魚から手動で分離する場合がある。
【0003】
多くの場合、これらの迅速な視覚的観察により、魚の分類が不正確になり、一部の魚が不適切に市場に送られる場合がある。同時に、手動プロセスを使用して数千又は数万の魚を分類する場合、選別プロセスは、長期間続く可能性があり、その間、収穫された魚は、次善の状態又はストレスの多い状態に保たれ得、更なる魚の損失につながる。
【発明の概要】
【0004】
いくつかの実装態様では、コンピュータ、撮像デバイス、及び作動機械デバイス、を含む、電子デバイスを使用して、魚を分析及び選別する。撮像デバイスは、水中にいる魚の1つ以上の画像を取得する。1つ以上の画像は、魚を検出するために、コンピュータなどの電子デバイス又は機械学習モデルを含むソフトウェアアルゴリズムによって分析される。魚の物理的特性が決定され、関連する値を計算するために使用される。物理的特性には、特に、魚の体のキーポイント、3次元(3D)での魚の配置、魚の体のキーポイント間の距離に関連するトラス(truss)の長さ、魚の重さ又はバイオマス、体の長さなどを含めることができる。物理的特性及び関連する値を使用して、魚を、事前定義されたエリアに分類及び選別する。魚に対応するデータ要素を含む対応するデータがデータベースに格納され、データ要素、分析、又は選別に関連する情報がユーザに提示される。情報の提示は、魚個体群に関連するデータを表示するインタラクティブなグラフィックにすることができる。
【0005】
有利な実装態様は、次の機能のうちの1つ以上を含み得る。例えば、魚の個体群に関する関連情報を提供するユーザインターフェース(UI)を生成し、ユーザデバイスに送信することができる。ユーザインターフェースは、魚個体群内の1つ以上の魚の場所をプロットするための座標点として、物理的特性及び状態因子を使用する個体群グラフにすることができる。場合によっては、物理的特性は、魚の重量であり、状態因子は、魚の重量と長さの関数として定義することができる。次に、個体群グラフ内の1つ以上のクラスタに基づいて、魚個体群内のラントなどの部分個体群を決定することができる。
【0006】
いくつかの実装態様では、個体群情報は、魚の別個の囲いについて記録される。例えば、第1の囲いは、10%の外れ値で構成することができる。第2の囲いは、2%の外れ値で構成することができる。ユーザは、外れ値の画像だけでなく、個体群全体のメンバーの画像にもアクセスすることができる。個体群のサイズ、重量、形状、摂食行動、及び囲い内の動きに関する統計は、囲い、個体群、又は囲い若しくは個体群に関連付けられている1つ以上の特定の魚に関連するデータとして記録することができる。魚の識別を使用して、特定の魚の履歴データを提供することもできる。履歴データは、特に、以前の場所、時間の経過に伴う、身体的特徴、身体的変化、成長、又は行動など、特定の魚の1つ以上の検出中に取り込んだ任意の情報を含み得る。
【0007】
いくつかの実装態様では、視覚データを取り込んで、自動化されたプロセスで特性、特質、又はその他の検出データを決定するために使用する。例えば、手作業で行った目視観察に基づいて、従業員が各魚を評価する代わりに、魚が水中にいる間、コンピュータ又はコンピュータのグループが自動的に画像を取得することができる。画像を自動的に取得する性質により、このタイプのシステムは、所与の期間内に、より多くのデータを収集することが可能になる。データは、学習及び改善することができるアルゴリズムを使用して、取得することができる。このようにして、データは、手動の観察アプローチよりも正確になり得る。データを使用して以前のデータを二重チェックするか、又は組み合わせて魚に関連する、レコード又は個々のデータの要素若しくはセットのより大きなデータベースを作成することができる。より大きなデータベースを使用して、個体群に関連付けられている傾向、危険因子、又はその他の出力を決定することができる。この出力を使用して自動選別によって個体群を自動的に管理するか、又はユーザに送信することができる。
【0008】
いくつかの実装態様では、魚個体群内の特定の魚の1つ以上の画像を取得する。魚の1つ以上の画像に基づいて、特定の魚の物理的特性を反映する第1の値と、特定の魚の状態因子を反映する第2の値と、を含むデータ要素を決定することができる。データ要素に基づいて、魚を、魚個体群の特定の下位個体群のメンバーとして分類することができる。特定の魚を、魚個体群の特定の下位個体群のメンバーとして分類することに基づいて、自動魚選別機のアクチュエータを制御することができる。
【0009】
いくつかの実装態様では、魚の1つ以上の画像は、魚の第1のビューを表す第1の画像と、魚の異なる第2のビューを表す第2の画像と、を少なくとも含む。
【0010】
いくつかの実装態様では、少なくとも第1の画像及び第2の画像を使用して、魚の3次元(3D)姿勢を決定する。
【0011】
いくつかの実装態様では、状態因子は、魚に関連付けられている1つ以上の重量値及び魚に関連付けられている1つ以上の体長値の関数として計算される。
【0012】
いくつかの実装態様では、データ要素は、部分的に、魚の体の場所間の距離に対応するトラス長のセットを推定することによって決定される。
【0013】
いくつかの実装態様では、魚個体群内の他の魚に対応する1つ以上の他のデータ要素が生成される。
【0014】
いくつかの実装態様では、魚を、特定の下位個体群のメンバーとして分類することは、特定の魚のデータ要素と、魚個体群内の他の魚に対応する1つ以上の他のデータ要素と、に基づいて、1つ以上のクラスタを生成することを含む。
【0015】
いくつかの実装態様では、アクチュエータは、自動魚選別機に関連付けられている複数の通路の中から特定の通路を選択的に開放するフラップを制御する。
【0016】
いくつかの実装態様では、フラップは、アクチュエータを作動させるために必要とされる力を軽減するための穴を含む。
【0017】
いくつかの実装態様では、特定の魚に関連付けられているグラフ内のデータポイントを表すために、データ要素の第1の値及びデータ要素の第2の値を座標ペアとして使用する、視覚的表現を生成する。
【0018】
本発明の1つ以上の実施形態の詳細は、添付の図面及び以下の説明に記載されている。本発明の他の特徴及び利点は、明細書、図面、及び特許請求の範囲から、明らかになるであろう。
【図面の簡単な説明】
【0019】
【
図1】水産養殖における分析及び選別のためのシステムの例を示す図である。
【
図2】水産養殖における分析及び選別のためのシステムの例を示すフロー図である。
【
図4】ユーザインターフェースの個体群グラフの例を示す図である。
【
図5】水産養殖における分析及び選別のためのプロセスの例を示すフロー図である。
【0020】
様々な図面の中の類似の参照番号及び名称は、類似の要素を示す。
【発明を実施するための形態】
【0021】
図1は、水産養殖における分析及び選別のためのシステム100の例を示す図である。システム100は、ラント魚104及び健康な魚106を含む第1の魚囲い102を含む。第1の魚囲い102は、多数の小さい魚を含む第2の魚囲い118及び多数のより大きな魚を含む第3の魚囲い124に接続されている。3つの魚囲いと3つの魚囲いを接続する水路とを含むシステム100は、ラント魚104及び健康な魚106を含む魚が自由に泳ぐのを可能にするのに十分な量の水を貯蔵している。
【0022】
システム100は、撮像デバイス108に接続されている制御ユニット110と、選別アクチュエータ116と、を更に含む。選別アクチュエータ116は、第1の魚囲い102から第2の魚囲い118及び第3の魚囲い124へのアクセスを制御する。制御ユニット110は、魚個体群の関連情報を示す個体群グラフ112及び120を生成するために使用される。個体群グラフ112及び120に示される魚個体群は、特に、ラント魚104及び健康な魚106を含む。
【0023】
個体群グラフ112及び120は、魚個体群内の魚の重量及びK因子データ、並びに特定の魚の履歴データ及び画像を含む関連情報を含む。個体群グラフ112及び120内の個々のポイントは、個々の魚に対応する。コンピュータ又はその他の電子デバイスでレンダリングされた、所与のユーザインターフェース内のグラフィック内のポイントをクリックすることによって、魚に関連する追加情報にアクセスすることができる。
【0024】
図1は、段階A~Kを含むプロセスとして示されている。段階Aは、第1の魚囲い102内のラント魚104及び健康な魚106を示している。ラント魚104は、第1の魚囲い102から、第1の魚囲い102を第3の魚囲い118及び第3の魚囲い124に接続する水路へと泳ぐ。
【0025】
ラント魚104が水路に入り、第2の魚囲い118及び第3の魚囲い124の方向に水路を通って前方に進むことができるように、水の流量が調整される。いくつかの実装態様では、ある要素から別の要素への魚の移動を制御するために他のプロセスが使用される。例えば、第1の魚囲い102を第2の魚囲い118に接続する水路に対してインセンティブを与えることができる。インセンティブは、第1の魚囲い102から第2の魚囲い118への魚の移動を制御するために使用することができる。別の例では、魚は、流れ、ポンプ、又はその他の流れ発生源内へと泳ぐことを好むので、水路内に流れを生成して、魚が魚水路内に泳ぐように誘導し得る。
【0026】
段階Bは、ラント魚104が撮像デバイス108のビュー内にあるときに、ラント魚104の1つ以上の画像を取得する撮像デバイス108を示している。第1の魚囲い102を第2の魚囲い118及び第3の魚囲い124に接続する水路内の魚の動きを検出するためにモーションセンサが使用される。モーションセンサは、撮像デバイス108による1つ以上の画像の取り込みをトリガする。この場合、モーションセンサは、ラント魚104の動きを検出し、撮像デバイス108は、続いてラント魚104の1つ以上の画像を取得する。画像は、制御ユニット110に送信される。
【0027】
段階Cは、制御ユニット110がラント魚104の1つ以上の画像を受信することを示している。制御ユニット110によって実行される分析の詳細なプロセスは、
図2に記載されている。実行された分析に基づいて、制御ユニット110は、ラント魚104に対応する物理的特性を決定する。例えば、制御ユニット110は、ラント魚104が2.1キログラム(kg)の重量及び12.4センチメートル(cm)の長さを有すると決定する。魚個体群内の各魚の物理的特性に関連する情報を使用して、個体群グラフ112を生成する。
【0028】
個体群グラフ112は、ラント魚104及び健康な魚106を含む魚個体群に関連するデータを示す。ラント魚104の検出に関連するデータは、個体群グラフ112を作成するために使用されるデータベースを更新する。個体群グラフ112は、
図4を参照してより詳細に説明される。ラント魚104に関連するデータは、ラント魚104に対応する識別プロファイルに追加される。ラント魚104に関連するデータは、システム100のユーザ又は他の要素によってアクセスされ得る。
【0029】
段階Dは、制御ユニット110によって生成されたグラフィック要素、個体群グラフ112の例を示している。個体群グラフ112のx軸は、重量であり、y軸は、魚の物理的特性に関連するK因子である。グラフの右上近くのポイントは、大きな魚を表し、左下近くのポイントは、小さな魚を表す。状態因子の値は、魚の状態を定量化する任意の数式に基づいて決定され得る。このような状態因子の1つの例は、K因子であり、これは、業界が魚の個体群内の個々の魚の状態を客観的かつ定量的に推定するために使用する1つの典型的な尺度である。状態因子だけでも魚の健康状態の強力な尺度となるが、他の値に対してプロットされた状態因子は、例えば、クラスタリング手法を使用して魚の様々な下位個体群を特定する場合などに使用するための、更に強力なツールを提供する。他の実装態様では、決定された物理的特性に基づいて計算された他のパラメータを使用することができる。
【0030】
業界標準の状態因子は、魚を物理的に計量及び測定することによって伝統的に計算されるが、これは時間のかかるプロセスである。状態因子を計算するために使用される1つの式の例を、以下の式(1)に示す。
【数1】
【0031】
式(1)において、kは、状態因子であり、重量は、例えばグラムで表される魚の重量であり、長さは、例えば3乗したセンチメートルでの、魚の長さである。プロセスを自動化し、重要なパラメータを決定するために機械学習技術を使用することにより、
図1に示されるシステム100は、伝統的なアプローチに対する改善を提供する(例えば、特に、精度の向上、収集データの増加、個体群内の外れ値の状況認識の向上)。
【0032】
ラント魚104の画像114は、ラント魚104の識別に関連する例示的な統計及びパラメータを示す。画像114は、個体群グラフ112などのグラフィック要素内に格納することができ、ラント魚104に関連する特定のデータエントリに対して選択が行われた後に、ユーザに示すことができる。画像114に示されるように、ラント魚104は、個体群グラフ112とラント魚104に関連する身体的特徴とに基づいて、制御ユニット110によって「ラント」として分類される。K因子は、1.1として計算され、重量は、2.1キログラム(kg)であると決定される。
【0033】
ラント魚104に対応するデータ要素は、ラント魚104の重量(例えば、2.1kg)及び状態因子又はK因子(例えば、1.1)に基づいて生成される。この場合、データ要素は、個体群グラフ112内にラント魚104の表示をプロットするための座標ペアとして使用される。他の魚について以前に記録された1つ以上のデータ要素を使用して、個体群グラフ112内の他のポイントを生成することができる。場合によっては、魚のグループを1つのポイント内にまとめてプロットすることができる。
【0034】
段階Eでは、制御ユニット110は、個体群グラフ112におけるラント魚104の場所、ラント魚104の物理的特性、及び所定の選別基準に基づいて、ラント魚104を選別する場所を決定する。システム100の選別基準は、「ラント」として分類された魚を第2の魚囲い118に選別することと、「健康」として分類された魚を第3の魚囲い124に選別することと、を含む。制御ユニット110は、選別アクチュエータ116を起動して、ラント魚104が第2の魚囲い118に進入できるようにする。
図1の例では、選別アクチュエータ116は、制御ユニット110によって起動され、選別基準に応じて一方向又は他方向に揺動する電動要素である。
【0035】
選別アクチュエータ116は、穴を有する要素に接続される。穴を有する要素は、段階Eにおいて、第1の魚囲い102から第3の魚囲い124への通路を遮断するために使用される。穴は、魚の通路をブロックする要素を動かす際の抗力を減らすために含めることができる。選別アクチュエータ116に取り付けられた要素は、プラスチック製である。同様の構造は、アルミニウム、木材、ガラス、その他の金属又は物質を含む他の材料で作ることができる。穴は、魚又は他の動物が泳ぐことができないようにしながら、動きの抵抗を減らす円形又は別の形状にすることができる。
【0036】
選別アクチュエータ116は、制御ユニット110から信号を受信して、実装態様に応じて、第3の魚囲い124への通路を閉鎖するか、又は第2の魚囲い118への通路を開放する。第3の魚の囲い124まで泳ぐことができないラント魚104は、第2の魚の囲い118まで泳ぎ、選別される。段階Fでは、ラント魚104は、第2の魚囲い118において「ラント」として分類される、他の同様のサイズの魚に合流する。
【0037】
段階Gでは、健康な魚106は、第1の魚囲い102から、第1の魚囲い102を第2の魚囲い118及び第3の魚囲い124に接続する水路に移動する。撮像デバイス108は、健康な魚106の1つ以上の画像を取得する。ラント魚104の動きを検出するために使用される動き検出器は、健康な魚106が撮像デバイス108のビューに入るときのその動きを検出するために再び使用することができる。
【0038】
段階Hは、撮像デバイス108によって取得された健康な魚106の1つ以上の画像を受信する制御ユニット110を示している。上述したように、制御ユニット110によって実行される分析の詳細なプロセスは、
図2に示されている。実行された分析に基づいて、制御ユニット110は、健康な魚106に対応する物理的特性を決定する。例えば、制御ユニット110は、健康な魚106が4.3キログラム(kg)の重量及び14.5センチメートル(cm)の長さを有すると決定する。魚個体群内の各魚の物理的特性に関連する情報を使用して、個体群グラフ120を生成する。
【0039】
段階Iでは、個体群グラフ120は、撮像デバイス108によって取得された1つ以上の画像の分析に基づいて、制御ユニット110によって生成される。個体群グラフは、健康な魚106の最近の検出を追加した所与の個体群の個体群データを表す。健康な魚106などの個体群のメンバーに関連する情報を格納するデータベースを、最近の検出に基づいて更新することができる。この場合、健康な魚106の検出は、健康な魚106に関連付けられている識別プロファイル内の追加のデータポイントとしてデータベースに追加される。健康な魚106に関連する識別プロファイル及び対応するデータは、ユーザによって、又はシステム100のメンバーによって自動的にアクセスすることができる。
【0040】
更新されたデータベースは、ユーザに提示するか、又は選別の決定などの自動化された決定を行うために参照することができる。個体群グラフ112及び120に示されるグラフィック要素は、特定の識別された魚に関連付けられている識別プロファイルを有する1匹以上の魚に関する情報を格納するデータベースに対応するデータ視覚化ツールの2つのバージョンを表す。識別プロファイルに関連するデータは、検出、ユーザ入力、又はシステム100内の他のイベントによって、更新、変更、又は参照することができる。データは、ユーザに提示するか、又は自動決定に使用することができる。
【0041】
識別された魚に関連付けられている画像は、個体群グラフ120などのグラフィック要素を使用してアクセスすることができる。例えば、画像122は、最近検出された健康な魚106の画像を示す。画像122は、健康な魚に関する情報も示す。示されている特定の情報は、収集又は計算された情報の任意の形態とすることができ、本明細書において制限されない。
図1の例では、画像122は、制御ユニット110が健康な魚106を「健康」として分類したことを示している。K因子は、1.4であり、重量は、4.3kgである。個体群グラフ120内の要素を選択することによって、画像122に示される情報などの対応する情報を示すことができる。
【0042】
健康な魚106に対応するデータ要素は、健康な魚106の重量(例えば、4.3kg)及び状態因子又はK因子(例えば、1.4)に基づいて生成される。この場合、データ要素は、個体群グラフ120内に健康な魚106の表示をプロットするための座標ペアとして使用される。他の魚について以前に記録された1つ以上のデータ要素を使用して、個体群グラフ120内の他のポイントを生成することができる。場合によっては、魚のグループを1つのポイント内にまとめてプロットすることができる。
【0043】
いくつかの実装態様では、データ要素は、システム内の1つ以上の変数に基づいて生成される。例えば、データ要素は、多次元ベクトルにすることができる。多次元ベクトルは、多次元プロット内で使用することができる。多次元プロット内では、多次元クラスタリングアルゴリズムを使用して下位個体群をグループ化することができる。場合によっては、重量及び状態因子の代わりに、重量、状態因子、及び長さが使用される。個体群のメンバーに関連する他の任意の測定値又は認識値をデータ要素に追加することができる。個体群のメンバーに関連する任意の値を、多次元ベクトル内の要素として表すことができる。
【0044】
段階Jでは、制御ユニット110は、選別アクチュエータ116に信号を送信する。信号内のデータは、個体群グラフ120内の健康な魚106の場所、健康な魚106の物理的特性、及び個体群のメンバーをどこで分類するかについての指示に基づく。この場合、信号は、選別アクチュエータ116が第2の魚囲い118への通路を閉鎖し、健康な魚106が第3の魚囲い124に進入することを可能にするための命令である。選別アクチュエータ116は、第1の魚囲い102を第2の魚囲い118に接続する水路上でフラップの移動を促し、これにより、健康な魚106が第3の魚囲い124まで泳ぐことを可能にする。
【0045】
上述のように、この例では、選別アクチュエータ116は、制御ユニット110によって起動され、選別基準に応じて一方向又は他方向に揺動する電動要素である。システム100の選別基準は、「ラント」として分類された魚を第2の魚囲い118に選別することと、「健康」として分類された魚を第3の魚囲い124に選別することと、を含む。段階Kは、健康な魚106が、第3の魚囲い124において「健康」として分類された他の魚に合流していることを示している。
【0046】
図2は、水産養殖における分析及び選別のためのシステム200の例を示すフロー図である。システム200は、魚202の1つ以上の画像を取得し、1つ以上の画像を制御ユニット110に送信する撮像デバイス204を含む。制御ユニット110は、システム100内で使用され、魚202の1つ以上の画像、又は1つ以上の画像及び既存のデータに基づいて分析を実行する。既存のデータは、制御ユニット110によってアクセス可能なデータベースに格納されている。
【0047】
撮像デバイス204は、魚202のある視点から1つの画像を取り込み、魚202の別の視点から別の画像を取り込むステレオカメラである。立体画像は、撮像デバイス204によって取得された1つ以上の画像の一部として、制御ユニット110に送信することができる。いくつかの実装態様では、複数の撮像デバイスを使用して、魚202の1つ以上の画像を取得する。複数の撮像デバイスは、魚202の周りの異なる視点に位置することができ、魚202の異なるビューを取り込むことができる。
【0048】
アイテム206に示されるフローチャートは、制御ユニット110によって実行されるいくつかの処理ステップ及びアクションを示す。制御ユニット110は、撮像デバイス204から魚202の1つ以上の画像を受信し、魚検出208を実行する。魚検出208は、視覚データを使用して魚を検出するために、ラベル付けされたバウンディングボックスでトレーニングされた教師ありニューラルネットワークの使用を含む。魚としてラベル付けされたボックスは、教師ありニューラルネットワークをトレーニングして、ラベル付けされたバウンディングボックス内のオブジェクトと特性を共有するオブジェクトを魚として検出するためのグラウンドトゥルースデータベース(ground truth database)として使用される。教師ありニューラルネットワークは、トレーニング後に、撮像デバイス204から1つ以上の画像を取得し、1匹以上の魚の画像内で魚の検出及び魚の周囲のバウンディングボックスを生成することができる。
【0049】
いくつかの実装態様では、教師ありニューラルネットワークは、畳み込みニューラルネットワークの形態である。様々な画像処理技術を使用することができる。例えば、畳み込みニューラルネットワークなどの教師ありニューラルネットワークの形態を含む画像処理技術は、魚202の1つ以上の画像を入力として受信することができる。畳み込みネットワークの場合、様々な学習済みフィルタを1つ以上の画像に適用することができる。いくつかのフィルタを適用するプロセスを使用して、魚202の1つ以上の画像内で、魚202の体の特徴を含む特定の要素を検出することができる。場合によっては、画像のパディングを使用して、ニューラルネットワーク内の所与のフィルタを使用して、1つ以上の画像のうちの一つの画像内の要素を完全に取り込むことができる。当技術分野で知られている別の画像処理技術も、1つ以上の画像を処理するために使用することができる。
【0050】
魚検出208によって処理された1つ以上の画像において、1つ以上の画像に存在する各魚は、1匹の魚の個別の検出である。
図2の例では、魚202は、撮像デバイス204によって取得された1つ以上の画像の1つ以上のセクション内で検出される。キーポイント検出210のプロセスは、1つ以上の画像における魚202の検出に対応する視覚情報を含むデータを魚検出208から受信する。1つ以上の画像は、画像のステレオペア内の2つ以上の角度又は視点からの画像を含む。キーポイント検出210は、魚202の画像上のラベル付けされたキーポイントを使用してトレーニングされた教師ありニューラルネットワークを含む。魚の体のキーポイントが、キーポイントを結ぶトラス長と共に
図3に示されている。
【0051】
いくつかの実装態様では、魚を検出するために使用されるニューラルネットワークは、キーポイントを検出するために使用されるニューラルネットワークとは別個のものである。例えば、2つのニューラルネットワークは別個のデータでトレーニングすることができ、一方の新しいバージョンを他方の古いバージョンと共に使用して、制御ユニット110への別個の更新を可能にすることができる。他の実装態様では、検出は、魚及び魚に関連付けられているキーポイントを検出するようにトレーニングされた単一のニューラルネットワークで行われる。例えば、ラベル付けされた魚の画像及びラベル付けされた魚のキーポイントを使用してトレーニングされたニューラルネットワークは、魚検出208及びキーポイント検出210の両方の動作を実行することができる。制御ユニット110のプロセスフローでは、他の統合が可能である。例えば、姿勢推定は、魚及びキーポイントを検出するニューラルネットワークに含まれ得る。
【0052】
魚のキーポイントには、目、上唇、背びれなどの体の部分が含まれる。特定の重要なポイントは、魚の種類又は動物によって異なる。特定のキーポイントとしてラベル付けされた画像のセクションを含むトレーニングデータは、ニューラルネットワークのトレーニングに使用される。トレーニング済みのニューラルネットワークは、ラベル付けされていないデータに1つ以上のキーポイントを含むものとしてラベルを付けるために使用される。場合によっては、領域内でキーポイントが検出されない。この場合、キーポイントがないことを示すラベルを領域内に含めるか、ラベルがないことを使用して、領域内にキーポイントがないことを示すことができる。ラベル付けされていないデータは、魚202の検出を含む画像のセクションである。キーポイントは、魚202の検出を含む1つ以上の画像のセクションに基づいて決定される。
【0053】
姿勢推定212のプロセスは、キーポイント検出210から検出されたキーポイントを受信する。姿勢推定212は、魚202の複数の視点から取り込まれた画像を含む画像からキーポイント検出を受信する。複数の視点、及び複数の視点からの画像で検出された対応するキーポイントにより、姿勢推定212は、3次元(3D)で姿勢を推定することができる。ある視点からの画像と別の視点からの画像で特定されたキーポイントが一致し、3D空間に投影される。キーポイントの投影は、3Dで姿勢を推定するために使用される。場合によっては、キーポイントの投影は、3Dでの姿勢の推定値である。
【0054】
トラス長を計算するプロセス214は、3D姿勢推定及び検出された魚の体で検出されたキーポイントに関連する情報を受信する。計算されたトラス長の結果は、アイテム215に示されている。魚202は、その体に沿ったトラス長で示されている。アイテム215に示されている魚202のより詳細な画像については、
図3を参照して説明する。トラス長は、魚202で検出されたキーポイント間の長さを表す。
【0055】
姿勢推定212は、キーポイント間の距離を解釈し、それによってトラス長を決定するために使用される。例えば、3D空間に投影されたキーポイントを使用して、キーポイントに関連付けられている様々な距離を決定することができる。キーポイントは、魚の体の特定の場所を表すことができる。魚202が撮像デバイス204から延びる仮想線から15度の角度にある場合、魚202の体上の場所は、2次元(2D)で近くに見えることがある。魚202の体上の場所に対応する3Dでの投影されたキーポイントを使用して、3D空間内の魚202の角度などの効果を考慮して真の距離値を決定する。場合によっては、レンズ形状又は焦点距離を含む特定のカメラパラメータを含む他の効果が、魚202の体の場所間の見かけの距離に影響を与え得る。姿勢推定212を使用することにより、魚の3D姿勢が考慮され、魚202の正確な測定が行われる。
【0056】
いくつかの実装態様では、視覚デバイスからの効果が、取得された魚の1つ以上の画像を変更する。例えば、カメラのレンズの形状によっては、画像が歪むことがある。画像の歪みは、魚の視覚的な外観に影響を与え得る。1つ以上のトラス長の真の値は、3D姿勢とその後の3Dでのトラス測定によって決定することができる。視覚的な歪みは、画像内の既知の場所に対する既知の影響に基づいた標準的なキャリブレーションによって軽減され得る。同様に、連続して撮影された1つ以上の画像を使用して、レンズの歪みなどの視覚的なアーティファクトの影響を受けにくい、より正確な値を決定することができる。
【0057】
モデリング及び分析216のプロセスは、検出された魚、検出された魚の検出されたキーポイント、検出された魚の姿勢推定、又は計算されたトラス長を含む、前の処理ステップのうちの1つ以上に関連する情報を受信する。モデリング及び分析216は、トラス長の測定値及び対応するグラウンドトゥルースの重量を使用してトレーニングされた線形回帰モデルである。いくつかの実装態様では、コンピューティングデバイス上で実行される他のアルゴリズム又はプロセスを使用して、魚202の情報に基づいて重量を決定することができる。このようにして、モデリング及び分析216は、撮像デバイス204によって取得され、制御ユニット110によって処理された1つ以上の画像内で検出された魚202又は任意の他の魚の重量を決定する。
【0058】
モデリング及び分析216は、K因子を、重量を表す1つ以上の値を、3乗した長さを表す1つ以上の値で除算したものとして計算することを含む。議論されたように、重量は、撮像デバイス204の1つ以上の画像から取得されたトラス長に基づいて計算されている。手作業で魚を計量する伝統的なアプローチは、現在の方法よりも大幅に時間がかかり、ミスが発生しやすくなり得る。更に、予測及び選別を生成するために十分な量の魚を計量することは、伝統的な手動アプローチでは現実的ではない。本方法では、複数の測定を自動的に実行して、精度を向上させるか、又は結果を確認することができる。長さ及び重量の両方は、キーポイントに基づいて決定でき、その後のトラス長は、3D姿勢推定に基づいて決定される。制御ユニット110は、前述のように計算を実行し、業界標準のK因子を取得する。魚202に対応する決定された物理的情報に基づいて他の値を計算することができ、又は追加情報を使用して追加値を計算することができる。
【0059】
モデリング及び分析216は、個体群のメンバーに対応する情報を追跡するデータベースに情報を送信する。この場合、魚202の検出は、魚202のアイデンティティに対応する既存のエントリに追加することができ、又は魚202及び検出に関連する情報を保持するために新しいエントリを作成することができる。計算された重量、長さ、及び1つ以上の画像のうちの少なくとも1つの画像を含むデータは、データベースに追加される。
【0060】
集約クラスタリング218のプロセスは、個体群のメンバーに関連する情報を格納するデータベース内のデータを使用して、個体群内のクラスタを生成する。
図1の個体群グラフ112及び120と同様のグラフ219を使用して、2つのクラスタ219a及び219bを示す。グラフ219では、
図1に示されるように、重量は、x軸上で左から右に増加し、K因子は、y軸上で下から上に増加する。グラフの右上近くのポイントは、大きな魚を表し、左下近くのポイントは、小さな魚を表す。したがって、クラスタ219aは、健康であると判定され、クラスタ219bは、ラント又はより小さな魚であると判定される。グラフ219は、
図4により詳細に示されている。
【0061】
魚202は、クラスタ219bに属する。対応するデータは、アクションマッピング220に送信される。アクションマッピング220は、個体群に対する魚202の物理的特性及びクラスタリングに基づいて魚202を選別するために所定の基準を使用する。この場合、
図1のように、ラントは、健康で大きな魚から分離されるべきである。アクションマッピング220は、ラント魚の検出を、ラント魚のために指定された特定の場所にラント魚を移動させるアクションに関連付ける。アクションマッピング220は、健康な魚の検出を、健康な魚のために指定された特定の場所に健康な魚を移動させるアクションに関連付ける。
【0062】
アクションマッピング220に基づいて、対応するアクチュエータ起動222が実行される。
図1及び
図2の例では、アイテム223に示されるように、選別アクチュエータ116のフラップを使用して、ある場所から別の場所への魚の通過を可能にし、魚を選別する。
図2では、選別アクチュエータ116が起動して、魚202が水路を通って第3の魚囲い124に移動するのが阻止される。魚202は、他の水路を通って移動し、第2の魚囲い118内の他のより小さな魚に合流する。
【0063】
図3は、トラスネットワーク300の例を示す図である。
図3は、
図2に示されるシステム200によって魚202について計算されたトラス長及びキーポイントを示している。キーポイント間のトラス長は、魚の重量を含む魚に関する情報を抽出するために使用される。魚の様々なトラス、又はキーポイント間の長さを使用することができる。
図3は、上唇302から目304まで、上唇302から前縁背びれ306まで、上唇302から前縁胸びれ308まで、前縁背びれ306から前縁尻びれ310まで、前縁尻びれ310から後下部尾柄部312まで、後下部尾柄部312から後上部尾柄部314までを含むいくつかの可能なトラス長を示している。記述されたキーポイントの並べ替えを含む、他のキーポイント及び他の分離を使用することができる。異なる魚の場合、又は異なる魚の種類の場合、異なるキーポイントが、生成され得る。キーポイントの任意のセットについて、トラスネットワークが、モデルとして生成され得る。
【0064】
システム200は、示されていない他のトラス長を使用することができる。例えば、上唇302から尾313までのトラス長は、個体群グラフなどの対応するグラフィック要素で使用されるK因子の計算内で、魚202の長さとして使用することができる。更に、特定のトラス長を使用して、特定の奇形を認識することができる。えら蓋の短縮などの奇形は、上唇302からえらまでのトラス長などのトラス長を使用して検出することができる。魚の1つ以上の画像を処理することは、以下の健康状態、すなわち、腹部の短縮、尾部の短縮、脊柱側弯症、脊柱前弯症、脊柱後弯症、上顎の奇形、下顎の奇形、えら蓋の短縮、ラント症候群、又は心筋症症候群(CMS)のうちのいずれかを決定することを含むことができる。
【0065】
図4は、ユーザインターフェース個体群グラフ400の例を示す図である。
図1の個体群グラフ112及び120に示されるように、魚個体群の重量及びK因子をユーザにグラフィカルに示すことができる。
図1に示されるように、各ポイントは、魚又は魚のグループに関連付けられている。また、各ポイントには魚の画像が含まれている。グラフ400上のポイントと相互作用し、画像又は統計情報を含む追加情報を示すために、グラフィカルユーザインターフェースを使用することができる。ユーザは、画像を使用して、個体群の特定のセクションを追跡することができる。データが更新されると、獣医師又は他の医療専門家は、同様に、グラフ400の特定のセクションについて警告を受けることができる。
【0066】
クラスタ402は、グラフ400によって表される個体群内のより小さい魚又は外れ値に対応する。クラスタ404は、個体群内のより大きな魚又は通常の健康な魚に対応する。要素406は、グラフ400によって表される個体群内の選択を表す。いくつかの実装態様では、選択は、1匹の魚である。他の実装態様では、選択は、類似の魚又は魚の類似の孵化のグループである。
図1の画像114又は122に類似する画像は、データベースに格納され、ユーザが要素406などの要素をクリックするか、そうでなければ選択したときに表示することができる。個体群グラフの一部として、その他の視覚要素又は変更を加えることができる。例えば、
図4の例に示されるように、ヒストグラム408及び410は、グラフ400内の要素の影付きの色に対応する魚の数を詳述する個体群に関連する追加情報を示している。表示される情報と情報を表示する方法は、ユーザ又は他のシステム管理者によって変更することができる。
【0067】
いくつかの実装態様では、個体群内のメンバーの囲い内での摂食行動又は移動を記録し、分析に使用することができる。例えば、多数の魚が通常のエリアで餌を食べていない、一定の間隔で餌を食べていない、又は十分に餌を食べていない場合、関連する追跡情報を記録し、特定の魚又は複数の魚に付与することができる。
【0068】
いくつかの実装態様では、他のパラメータを使用して特定のクラスタ又はグラフを生成することができる。例えば、ウミジラミは、魚個体群内の多数の魚で検出することができる。グラフには、K因子などの別の健康指標に関連して、魚が感染しているウミジラミの数を含めることができる。他の組み合わせが可能であり、ユーザが調整するか、又は1つ以上の受信した検出に応答して生成することができる。例えば、特定の病気が複数回検出されることにより、個体群内での病気の影響を示すグラフを生成することができる。動的に生成されたグラフは、個体群内の他の外向きの兆候が見えるようになる前に、個体群内の問題にユーザを誘導するのに役立つ。
【0069】
いくつかの実装態様では、個体群内の1匹以上の魚を観察することに基づいて、収量予測を生成することができる。例えば、第1の囲い内で、10匹の魚が検出され得る。10匹の魚の検出に関連する対応するデータを使用して、10匹の魚を他の同様の囲いと比較することができる。同様の魚のグループを使用して、予測を生成することができる。例えば、履歴データを使用して、第1の囲い内の10匹の魚を、以前に検出された同様の魚のグループと比較することができる。魚の所与のグループは、同様の魚のグループと一致させることができる。以前に検出された類似のグループの魚の履歴データに関連付けられている収量を使用して、第1の囲い内の10匹以上の魚の収量を予測することができる。他の実装態様では、任意の数の魚を使用して履歴データと比較し、個体群のメンバーの収量予測を生成することができる。収量予測は、特に、個体群のメンバーの選別、市場向けの1匹以上の魚の準備、収益の予測などを含む、ビジネス目的又は意思決定に使用することができる。
【0070】
図5は、水産養殖における分析及び選別のためのプロセス500の例を示すフロー図である。プロセス500は、1つ以上の電子システム、例えば、
図1に示されるシステム100又は
図2に示されるシステム200によって実行することができる。
【0071】
プロセス500は、魚の1つ以上の画像を取得すること(502)を含む。例えば、撮像デバイス108は、ラント魚が第1の魚囲い102から、第1の魚囲い102を第2の魚囲い118及び第3の魚囲い124に接続する水路に移動するときに、ラント魚104の1つ以上の画像を取得することができる。撮像デバイス108は、デジタルカメラの形態又は複数のデジタルカメラのセットとすることができる。
【0072】
プロセス500は、1つ以上の画像内の魚を検出すること(504)を含む。例えば、制御ユニット110は、1つ以上の画像を処理するニューラルネットワークを使用してラント魚104を検出することができる。モーションセンサがラント魚104に対応する移動を検出した後、1つ以上の画像を撮像デバイス108から取得することができる。
【0073】
いくつかの実装態様では、制御ユニット110は、魚202の1つ以上の画像を分析するために、1つ以上の機械学習モデル、ニューラルネットワーク、又はアルゴリズムを含む、
図2を参照して説明した分析を実行する。ニューラルネットワークを使用して、1匹以上の魚を含む画像内の1匹以上の魚を検出することができる。バウンディングボックス又はその他の記号を使用して、1つ以上の画像内の1匹以上の魚が検出されたことを示すことができる。1匹以上の魚を検出するために使用される1つ以上のバウンディングボックスに対応するセクションは、対応する魚の画像として使用することができる。
【0074】
プロセス500は、魚の物理的特性を決定し、関連する値を計算すること(506)を含む。例えば、
図2において、制御ユニット110内のモデリング及び分析216は、1つ以上の画像及び
図2を参照して説明した追加の処理ステップに基づいて決定されたトラス長を受信する。モデリング及び分析216は、データとして受信したトラスネットワーク測定値に基づいて重量を決定する。トラスネットワークから重量を生成するプロセスは、トラス長を取得し、決定されたトラス長に基づいて重量を計算するようにトレーニングされたニューラルネットワーク又は機械学習の形態にすることができる。
【0075】
プロセス500は、魚に関連するデータをデータベース内に格納すること(508)を含む。例えば、制御ユニット110は、1つ以上の電子記憶デバイスに通信可能に接続することができる。電子記憶デバイスは、データベース内の個体群の1つ以上のメンバーに関連するデータを格納することができる。データベースは、
図2のアイテム219に示される個体群グラフを生成するために使用することができる。データベースは、1つ以上の追加検出によって更新するか、手動検出又はシステムへの変更によって変更することができる。場合によっては、データベースは、
図1のシステム100に通信可能に接続されたシステム内に格納することができる。
【0076】
プロセス500は、魚の物理的特性に基づいて、魚を所定の場所に選別すること(510)を含む。例えば、制御ユニット110は、ラント魚104を「ラント」として分類し、システム100の所定の選別基準に従って、制御ユニット110は、選別アクチュエータ116に信号を送信して、ラント魚104による第2の魚囲い118への通過を可能にする。制御ユニット110は、個体群グラフ112に示されるように、個体群からのデータを使用して、ラント魚104を選別する場所を決定することができる。
【0077】
プロセス500は、情報をユーザに出力すること(512)を含む。例えば、制御ユニット110は、
図4の個体群グラフ400などの112又は120と同様のグラフィック要素に対応するデータを、ディスプレイなどの外部要素、又はスマートフォン若しくはタブレットなどの携帯型電子デバイスを含む他の電子デバイスに出力することができる。電子デバイスは、
図4に示すように、データをグラフィカルにレンダリングすることができる。システム構成ツールを使用して、個体群に関連する特定の種類の情報を表示し、並びに表示される情報の視覚的な詳細を変更することができる。例えば、
図4の個体群グラフ400は、ヒストグラム408及び410を追加して、又は追加せずに示すことができる。グラフの様々な視覚的スタイルを使用でき、グラフ400と比較してデータの代替ソースを表すことができる。
【0078】
いくつかの実装態様では、魚の複数の目撃情報がデータベースにまとめて集約される。例えば、魚が囲いから囲いへと移動する場合に、ある囲いにある魚と別の囲いにある同じ魚の複数の目撃情報を格納することができる。魚の画像、画像の対応する場所、魚の現在の場所、又は最後に知られた場所などの情報を記録することができる。特に、状態因子、病気、脊椎変形を含む骨格変形などの他のデータも記録することができる。
【0079】
いくつかの実装態様では、魚に対応する取得画像のサブセットが記録される。例えば、遮られていない、又は他の方法での魚を特徴付ける魚の画像が鮮明であり、且つ魚の検出の領域に視覚的な欠陥がない場合、まとめて集約することができる。魚の集約画像を使用してビデオを形成し、そこから行動の手がかりを立案することができる。行動の手がかりを使用して、現在の精神状態を更に記録するか、又は目に見えない病気の症状など、魚の他の目に見えない特徴を推測することができる。場合によっては、魚の集約画像に基づいて、魚に関連する行動を判断することができる。行動は、病気の決定又は予測若しくは選別を含むその他の自動化されたプロセスを支援するために使用することができる。
【0080】
いくつかの実装態様では、個体群内のクラスタ又はグループを追跡して、クラスタ又はグループに関連する情報を推測する。例えば、個体群内のより小さなサイズの魚を記録又は追跡することができる。より小さなサイズの魚に関連するデータを使用して、原因の理解を通知するか、又は化学物質の漏れ、特に水温若しくは水質を含む環境要因、又は他の外部の影響が原因であると考えられる生育阻害と相関している特定の囲い又は場所から魚を遠ざけるなどの自動予防措置を有効にすることができる。個体群に関するデータを収集することにより、個体群をより適切に管理するか、又は収量又は利益を含む予測を生成するために理解を深め、使用することができる。
【0081】
いくつかの実装態様では、魚を選別することは、他のプロセスを伴うことができる。例えば、ウミジラミがいる魚は、魚を害虫駆除できる自動害虫駆除機のある場所に選別することができる。他の囲い又は場所にある同様の選別機は、シラミが取り除かれた後、同様に魚を特定の囲いに戻すことができる。同様のアクションは、他の病気又は疾病に対しても実行することができる。
【0082】
いくつかの実装態様では、個体群の記録されたデータに基づいてサイトにフラグを立てることができる。例えば、魚の囲いの間をボートが移動すると、囲いの間で病気が広がる可能性がある。特定の囲い内で多くの魚が病気にかかっている場合、そのサイトにフラグが立てられ、ボート、及び人間、他の動物、機械、器具などの病気の他の拡散源が、フラグが立てられたサイトに行くのを防ぐことができ、又は、そこにいる場合には、最初に消毒又はその他の予防措置を講じることなく、外出を防ぐことができる。一例では、制御ユニット110は、フラグが立てられたサイトの場所を「フラグが立てられたサイト」としてボートのフリートに信号を送信して、ボートがその領域を移動しないように警告することができる。
【0083】
いくつかの実装態様では、他の選別基準が使用される。例えば、「ラント」として分類された魚と「健康」として分類された魚とを選別する代わりに、システムは、特定の奇形を持つ魚と身体的な奇形を持たない魚とを選別することができる。身体的な奇形は、制御ユニット110によって決定された特定のトラス長に基づいて検出することができる。特定の奇形、又は特に脊柱側弯症若しくは脊柱前彎を含む1つ以上の奇形の特性を共有する魚に基づくクラスタリングを使用して、奇形のない魚から奇形のある特定の魚を選別することができる。
【0084】
いくつかの実装態様では、病気にかかっている魚が検出される。例えば、制御ユニット110は、魚のウミジラミを検出することができる。魚のウミジラミの検出は、データベース内に格納される追加のデータ要素とすることができる。ウミジラミの病気にかかっている魚は、ウミジラミの病気にかかっていない魚から検出して選別することができる。一般に、制御ユニット110が所与の個体群を選別するための基準として、任意の病気を使用することができる。
【0085】
いくつかの実装態様では、制御ユニット110は、画像内の見えない要素を解釈する。例えば、撮像デバイス204が魚202の1つ以上の画像を取り込んでいる間に、別の魚が撮像デバイス204と魚202との間を泳いでいる場合、その別の魚は、魚202の一部を見えなくするか覆い隠す可能性がある。例えば、その別の魚が、魚202の尾を隠している可能性がある。この例では、制御ユニット110は、魚、種、又は動物の形状の知識に基づいて、尾が頭の反対側の特定の場所にあり、且つ背びれから等距離にあるはずであると推測することができる。場合によっては、動物又は魚の他の要素の割合を使用して、見えない可能性のある他の要素の可能性のある場所又は割合を決定することができる。
【0086】
いくつかの実装態様では、魚にとって役に立たないと判定された画像は、無視又は破棄することができる。例えば、上記の例において、別の魚が尾を除いて魚202の全身を覆っている場合、魚202の画像は、魚202の情報を解釈するのに十分なデータを欠いているとして破棄又は無視することができる。同様に、魚202が撮像デバイスに対して極端な角度にある場合、複数のキーポイントが積み重ねられた結果の画像、又は互いに近すぎる結果の画像を使用して、特定の画像を破棄又は無視する必要があると判定することができる。同様に、汚れ若しくはレンズのひびなどの光学要素による不明瞭な部分、又はデジタルデータの破損も、無視又は破棄するのに十分であるとすることができる。
【0087】
いくつかの実装態様では、画像の品質の指標を表すスコアを使用して、画像が分析又は選別に使用されるかどうかが判定される。例えば、上記の例において、別の魚が尾を除いて魚202の全身を覆っている場合、品質スコアは、品質が悪いことを示す低い値とすることができる。様々なスコアリングシステム及び範囲を使用することができる。一方、
図2のアイテム215に示されるように、画像が、魚を正確に90度の角度で取り込んだものである場合、品質指標は、優れた品質を示す非常に高いものとすることができる。場合によっては、複数の画像からの決定が競合する場合、品質スコアの低い画像からの決定よりも、品質スコアの高い画像からの決定を使用することができる。
【0088】
いくつかの実装態様では、撮像デバイス204は、3D姿勢推定を可能にする深度センサを含む。例えば、撮像デバイス204によって取得された画像は、撮像デバイス204上の深度センサからの深度情報を含む。姿勢推定212は、撮像デバイス204によって取得された深度センサ情報に基づいて、魚202の3D姿勢を決定する。このように、魚202のステレオ画像、即ち、魚202の2つ以上の視点からの画像は、3D姿勢推定には使用されない。場合によっては、深度センサは、ソナー又は構造化光の形態にすることができる。
【0089】
いくつかの実装態様では、制御ユニット110は、
図2に示されるプロセスのサブセットを実行する。例えば、制御ユニット110は、集約されたクラスタリング218を含む動作を実行し得る。その後、制御ユニット110は、所与のアクションマッピング220に基づいてアクチュエータ起動222を実行することができない。場合によっては、アクションマッピング220は、アクションを実行しないことを規定する。他の場合では、集約されたクラスタリングのみが実行され、情報のデータベースと、所与の個体群を表す対応するグラフィック要素と、を維持するために、その結果のデータが格納される。
【0090】
いくつかの実装態様では、画像分析は、複数のステップからなり得る。例えば、魚検出208ステップにおいて制御ユニット110によって実行される画像分析は、1つ以上の画像内の魚202を検出するために使用される大まかなオブジェクト識別子を含み得る。第2のオブジェクト識別子が、キーポイント検出210プロセスであり得、第1のオブジェクト識別子の出力を受信して、魚のキーポイントを含む魚202上のオブジェクトを突き止めることを含み得る。これらの複数のステップは、アルゴリズム、ニューラルネットワーク、又は線形回帰を含む様々な計算方法によって実行することができるが、これらに限定されない。
【0091】
いくつかの実装態様では、撮像デバイスによって取得された1つ以上の画像には、2匹以上の魚が含まれる。例えば、撮像デバイス108は、ラント魚104と健康な魚106との両方の画像を取り込むことができる。制御ユニット110によって実行される画像処理を使用して、ラント魚104と健康な魚106との両方を含む1つ以上の画像内でラント魚104及び健康な魚106を識別することができる。ラント魚104を含む1つ以上の画像のセクションを、ラント魚104の画像として使用することができる。同様に、健康な魚106を含む1つ以上の画像のセクションを、健康な魚106の画像として使用することができる。一般に、このアプローチは、1つの撮像デバイス又は複数の撮像デバイスのビュー内の任意の数の魚に適用することができる。
【0092】
いくつかの実装態様では、撮像デバイス108は、動き検出器からの信号なしで、健康な魚106の1つ以上の画像を取得する。例えば、撮像デバイス108は、1つ以上の画像を取り込み、1つ以上の画像を制御ユニット110に送信することができる。1つ以上の画像に対して画像検出を実行することによって、制御ユニット110は、健康な魚106の画像を決定することができる。
【0093】
いくつかの実装態様では、動き検出器又は他の要素を使用して、制御信号を撮像デバイスに送信する。例えば、動き検出器が移動を検出する場合、動き検出器は、撮像デバイスに信号を送信することができ、動き検出器からの信号の受信に応答して、撮像デバイス108は、画像を取得する頻度を増加させることができる。
【0094】
いくつかの実装態様では、他の選別基準が使用される。例えば、「ラント」として分類されたメンバーをあるエリアに分けて、「健康」として分類されたメンバーを別のエリアに分離する代わりに、システム100を使用して、病気であるか、又は別様に不調であると判断されたメンバーを、個体群の病気ではない又は好調であるメンバーから分離することができる。システム100、すなわち撮像デバイス108によって収集されて、制御ユニット110によって処理された1つ以上の画像に基づく決定を使用して、魚を好調又は不調として分類することができる。その決定に基づいて、制御ユニット110は、好調な魚から不調な魚を自動的に選別するか、又は外部システムによる選別のために特定の魚にフラグを立てることができる。制御ユニット110の識別能力は、識別するために使用することができ、したがって、個体群区分けの任意の形態を支援することができる。
【0095】
いくつかの実装態様では、選別アクチュエータ116は、別の形態又は要素である。例えば、
図1に示されるフラップの代わりに、選別アクチュエータは、所与の選別基準に基づいて物体が下降して通路を塞ぎ、あるエリアから別のエリアへの通過を可能にするために上昇するドロップダウン機構とすることができる。場合によっては、水流を使用して、1匹又は複数匹の魚を選別することができる。水流の増加を使用して、魚をある場所に維持するか、又は所与の場所に魚を別の場所よりも優先して選別しようとして、その所与の場所にインセンティブを与えることができる。
【0096】
いくつかの実装態様では、選別アクチュエータ116は、閉鎖又は開放機構を含む。例えば、閉鎖機構は、人間の目の虹彩に似た要素を含むことができる。この要素を使用して通路のサイズを制限し、個体群の特定のメンバーのみが通過できるようにすることができる。同様の目的を達成するために、他の形状を使用又は生成することができる。アクチュエータを使用して個体群のメンバーが移動するための形状を作成する利点は、コンピュータ又は制御ユニット110などの他のコントローラを使用して動的に形状の種類を変更できることである。
【0097】
いくつかの実装態様では、選別アクチュエータ116は、線形アクチュエータを含む。例えば、選別の決定に応じて左又は右に揺動する代わりに、選別アクチュエータ116、又は選別アクチュエータ116に取り付けられた要素は、直線的に左又は右、上又は下に移動して、一方のエリアから別のエリアへの通路を交互に遮断又は開放することができる。
【0098】
いくつかの実装態様では、制御ユニット110は、選別基準に基づいて選別の決定を確立するために使用される。例えば、魚の決定された特性及びシステムの対応する選別基準に基づいて、選別の決定を生成することができる。選別の決定は、制御ユニット110によって直接実行されない外部関与のために、システムのユーザ又は所有者に送信することができる。例えば、選別の決定に基づく指示は、水産養殖環境内の作業者に送信することができる。作業者は、制御ユニット110によって決定された選別の決定に基づいて、識別された魚を所与の場所に手動で選別することができる。場合によっては、制御ユニット110は、
図1のラント魚104などの動物を自動的に選別することができ、また、外部システムによって実行される選別の決定を生成することもできる。場合によっては、自動的に選別できない動物を、外部システム又は特定の外部システムによる選別が必要であると識別することができる。
【0099】
いくつかの実装態様では、1つ以上の他の画像が撮像デバイス108によって取り込まれる。例えば、モーションセンサを使用する代わりに、撮像デバイス108は、1つ以上の画像を取り込み、1つ以上の画像を制御ユニット110に送信することができる。制御ユニット110は、1つ以上の画像を分析し、分析に基づいて、魚がビュー内にあるかどうか、したがって魚が撮像デバイス108のビュー領域に存在するかどうかを決定する。このようにして、撮像デバイス108によって取得された画像内の魚の画像認識を使用して、任意の既存のモーションセンサで置換又は補足することができる。
【0100】
いくつかの実装態様では、撮像デバイス108は、複数のサブ要素を含む。例えば、撮像デバイス108は、1つ以上のカメラ、記憶デバイス、又は他の電子部品から構成される撮像アセンブリの形態とすることができる。撮像デバイス108は、姿勢推定を含む3D分析を支援するために、2つ以上の視点から物体の画像を取り込むことができる。
【0101】
いくつかの実装態様では、魚を保管するために他の保管デバイスが使用される。例えば、第1の魚囲い102の代わりに、ラント魚104をオープンウォーター環境で保管することができる。オープンウォーター環境は、同様に、魚の保管に使用される1つ以上の他のエリアに接続することができる。選別アクチュエータを使用して、魚の保管に使用される1つ以上の他のエリアへのアクセスを制御することができる。一般に、魚を含む水生動物を保管できる任意の要素を、
図1の第1の魚囲い102の代わりに使用することができる。同様に、水生動物を保管できる任意の要素を、第2の魚囲い118又は第3の魚囲い124の代わりに使用することができる。
【0102】
いくつかの実装態様では、3つ以上の要素を使用して動物を選別することができる。例えば、第2の魚囲い118及び第3の魚囲い124における2つの要素の代わりに、3つの要素を使用することができる。選別アクチュエータを使用して、魚又はその他のアイテムを3つの要素のうちの1つに選別することができる。
【0103】
いくつかの実装態様では、魚の代わりに、他の動物を選別することができる。例えば、水産養殖の他の形態又は非水産養殖の形態は、システム100と同様のシステムを使用して同様に選別され得る。牧草地で飼育されたウシは、
図1及び
図2の制御ユニット110と同様の制御ユニットによる視覚処理に基づいて、同様に別個の草場に選別されるか、又は更なるプロセスのためにタグ付けされ得る。一般に、本明細書で説明する方法及びデバイスは、個体群のメンバーの分析に基づいて選別を実行することができる任意の例に適用することができる。分析は、ユーザに通知するためだけでなく、この本明細書で詳細を伴って説明されている選別などの後続のアクションを通知するためにも使用することができる。
【0104】
多数の実装態様が説明されてきた。それでもなお、本発明の趣旨及び範囲から逸脱することなく、様々な変更がなされ得ることが理解されよう。例えば、上記に示す様々な形態のフローが、工程を並べ替えるか、追加するか、又は削除されて、使用され得る。
【0105】
本明細書で説明された本発明の実施形態及び機能的動作の全ては、デジタル電子回路内で、又は本明細書に開示された構造及びそれらの構造上の均等物を含むコンピュータソフトウェア、ファームウェア、若しくはハードウェア内で、又はそれらのうちの1つ以上を組み合わせて実施することができる。本発明の実施形態は、1つ以上のコンピュータプログラム製品、例えば、データ処理装置により実行するための、又はデータ処理装置の動作を制御するための、コンピュータ可読媒体上に符号化されたコンピュータプログラム命令のうちの1つ以上のモジュールとして、実施することができる。コンピュータ可読媒体は、機械可読記憶デバイス、機械可読記憶基板、メモリデバイス、機械可読伝播信号を引き起こす物質の組成物、又はこれらのうちの1つ以上の組み合わせとすることができる。「データ処理装置」という用語は、データを処理するための全ての装置、デバイス、及び機械を包含し、それらには、例として、プログラマブルプロセッサ、コンピュータ、又は複数のプロセッサ若しくはコンピュータが含まれる。装置は、ハードウェアに加えて、当該のコンピュータプログラムのための実行環境を作り出すコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらのうちの1つ以上の組み合わせを構成するコードを含むことができる。伝播信号は、人工的に生成された信号、例えば、好適な受信機装置に伝送するための情報を符号化するように生成される、機械で生成された電気的、光学的、又は電磁気的信号である。
【0106】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られている)は、コンパイル式又はインタープリット式言語を含む、任意の形態のプログラミング言語で記述することが可能であり、独立型プログラムとして、又はモジュール、コンポーネント、サブルーチン、若しくはコンピューティング環境で使用するために好適な他のユニットとして含む任意の形態で配備することができる。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応する必要はない。プログラムは、他のプログラム又はデータを保持するファイルの一部(例えば、マークアップ言語文書に記憶された1つ以上のスクリプト)、当該のプログラム専用の単一ファイル、又は複数の調整ファイル(例えば、1つ以上のモジュール、サブプログラム、又はコードの一部を記憶するファイル)に記憶することができる。コンピュータプログラムは、1つのコンピュータ上で、又は1つのサイトに配置された、若しくは複数のサイトに分散され通信ネットワークによって相互接続された複数のコンピュータ上で、実行されるように配備することができる。
【0107】
本明細書で説明されるプロセス及びロジックフローは、入力データを処理して出力を生成することによって機能を実行するために、1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実行することができる。プロセス及びロジックフローはまた、専用論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)によって実行することができ、装置もまた、そのようなものとして実施することができる。
【0108】
コンピュータプログラムの実行に好適なプロセッサには、例として、汎用及び専用マイクロプロセッサの両方、並びに任意の種類のデジタルコンピュータのうちの任意の1つ以上のプロセッサが含まれる。概して、プロセッサは、読み取り専用メモリ若しくはランダムアクセスメモリ、又はその両方から命令及び/又はデータを受信することになる。コンピュータの必須要素は、命令を実行するためのプロセッサ、並びに命令及びデータを格納するための1つ以上のメモリデバイスである。概して、コンピュータはまた、データを格納するための1つ以上の大容量ストレージデバイス、例えば、磁気ディスク、光磁気ディスク、若しくは光ディスクを含むか、又は大容量ストレージデバイスからデータを受信、若しくはデータを転送、若しくはその両方を行うように動作可能に結合される。しかしながら、コンピュータはこのようなデバイスを有する必要はない。更に、コンピュータは、別のデバイス、例えば、ごく一部ながら例を挙げると、タブレットコンピュータ、携帯電話、携帯情報端末(PDA)、モバイルオーディオプレーヤ、全地球測位システム(GPS)受信機に組み込むことができる。コンピュータプログラム命令及びデータを記憶するための好適なコンピュータ可読媒体は、全ての形態の不揮発性メモリ、媒体、及びメモリデバイスを含み、例としては、半導体メモリデバイス(例えば、EPROM、EEPROM、及びフラッシュメモリデバイス)、磁気ディスク(例えば、内蔵ハードディスク又は取り外し可能ディスク)、光磁気ディスク、並びにCD-ROMディスク及びDVD-ROMディスクを含む。プロセッサ及びメモリは、専用論理回路によって補足されるか、又は専用論理回路に組み込むことができる。
【0109】
ユーザとの対話を提供するために、本発明の実施形態は、コンピュータ上で実施することができ、当該コンピュータは、ユーザに情報を表示するための表示デバイス、例えば、CRT(陰極線管)若しくはLCD(液晶ディスプレイ)モニタ、並びにユーザがコンピュータに入力を提供することができるキーボード及びポインティングデバイス(例えば、マウス又はトラックボール)を有する。他の種類のデバイスを利用して、ユーザとの対話を提供することもでき、例えば、ユーザに提供されるフィードバックは、任意の形態の感覚的フィードバック(例えば、視覚的フィードバック、聴覚的フィードバック、又は触覚的フィードバック)とすることができ、ユーザからの入力は、音響、音声、又は触覚入力を含む任意の形態で受信することができる。
【0110】
本発明の実装態様は、バックエンドコンポーネント(例えば、データサーバとして)を含むか、又はミドルウェアコンポーネント(例えば、アプリケーションサーバ)を含むか、又はフロントエンドコンポーネント(例えば、ユーザが本発明の実施態様と対話することができるグラフィカルユーザインターフェース若しくはウェブブラウザを有するクライアントコンピュータ)を含む、コンピューティングシステム、又は1つ以上のそのようなバックエンド、ミドルウェア、又はフロントエンドコンポーネントの任意の組み合わせで実施することができる。システムのコンポーネントは、デジタルデータ通信の任意の形態又は媒体、例えば、通信ネットワークによって相互接続することができる。通信ネットワークとしては、例えば、ローカルエリアネットワーク(「LAN」)及びワイドエリアネットワーク(「WAN」)(例えば、インターネット)が挙げられる。
【0111】
コンピューティングシステムは、クライアントとサーバとを含むことができる。クライアントとサーバとは、一般に、互いに離れており、典型的には通信ネットワークを介して相互作用する。クライアントとサーバとの関係は、それぞれのコンピュータで実行され、かつ互いにクライアント-サーバ関係を有している、コンピュータプログラムによって生じる。
【0112】
本明細書は、多くの特定例を含んでいるが、これらは、本発明の、又は請求され得る事項の範囲に限定したものとして解釈されるべきではなく、むしろ本発明の特定の実施形態に対して特有の特徴の説明として解釈されるべきである。別個の実施形態の文脈で本明細書に記載された特定の特徴を、単一の実施形態で組み合わせて実施することもできる。逆に、単一の実施形態の文脈で本明細書に記載された様々な特徴を、複数の実施形態で別個に、又は任意の好適な副次的組み合わせで実施することもできる。また、特徴は、特定の組み合わせで作用するものとして上述され、及び当初はそのように特許請求され得る、場合によっては、特許請求された組み合わせからの1つ以上の特徴を、その組み合わせから削除することができ、特許請求された組み合わせは、副次的組み合わせ又は副次的組み合わせの変形例を対象とすることができる。
【0113】
同様に、動作が特定の順序で図面に描写されているが、これは、所望の結果を達成するために、かかる動作がその示された特定の順序、若しくは一連の順序で実行されるべきであること、又は図示された全ての動作が実行されるべきであることを要求するものとして理解されるべきではない。特定の状況では、マルチタスク及び並列処理が有利な場合がある。更に、上述した実施形態における様々なシステムコンポーネントの分離は、全ての実施形態においてこのような分離を必要とするものと理解されるべきではなく、記載されたプログラムコンポーネント及びシステムは、一般に、単一のソフトウェア製品にまとめて一体化することができるか、又は複数のソフトウェア製品にパッケージ化することができる。
【0114】
HTMLファイルが言及されている各例では、他のファイルタイプ又はフォーマットが代用され得る。例えば、HTMLファイルは、XML、JSON、プレーンテキスト、又は他のタイプのファイルに置き換えられ得る。更に、テーブル又はハッシュテーブルが言及されている場合、他のデータ構造(スプレッドシート、リレーショナルデータベース、又は構造化ファイルなど)が使用され得る。
【0115】
本発明の特定の実施形態が説明された。他の実施形態は、以下の特許請求の範囲内に存在する。例えば、特許請求の範囲に記載されたステップは、異なる順序で実行することができ、望ましい結果を依然として達成することができる。