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

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

▶ エックス デベロップメント エルエルシーの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-19
(45)【発行日】2022-07-27
(54)【発明の名称】魚測定ステーション管理
(51)【国際特許分類】
   A01K 61/95 20170101AFI20220720BHJP
【FI】
A01K61/95
【請求項の数】 20
(21)【出願番号】P 2020531499
(86)(22)【出願日】2019-04-23
(65)【公表番号】
(43)【公表日】2021-05-06
(86)【国際出願番号】 US2019028743
(87)【国際公開番号】W WO2019212807
(87)【国際公開日】2019-11-07
【審査請求日】2020-07-15
(31)【優先権主張番号】15/970,131
(32)【優先日】2018-05-03
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】516326438
【氏名又は名称】エックス デベロップメント エルエルシー
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100126480
【弁理士】
【氏名又は名称】佐藤 睦
(72)【発明者】
【氏名】アトウォーター,ジョエル フレイザー
(72)【発明者】
【氏名】ジェームズ,バーナビー ジョン
(72)【発明者】
【氏名】メッサーナ,マシュー
【審査官】坂田 誠
(56)【参考文献】
【文献】米国特許出願公開第2015/302241(US,A1)
【文献】国際公開第2016/023071(WO,A1)
【文献】米国特許出願公開第2010/198023(US,A1)
【文献】特開2017-181766(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A01K 61/95
(57)【特許請求の範囲】
【請求項1】
コンピュータにより実行される方法であって、
魚生けすに関連付けられた現在の環境条件を取得することと、
前記魚生けすに関連付けられた前記現在の環境条件を示す特定のパラメータを、訓練されたモデルに提供することであって、前記モデルは、前記魚生けすに関連付けられた環境条件を示す所定の入力パラメータに対して、1つ以上の水中カメラを使用して前記魚生けすに収容された魚の画像を生成するための、前記1つ以上の水中カメラの動作を含む所定の出力パラメータのセットを出力するよう訓練された、提供することと、
特定の出力パラメータのセットを前記モデルから取得することと、
前記特定の出力パラメータのセットに基づいて、1つ以上の水中カメラの位置を調整することと、
を含む、方法。
【請求項2】
前記入力パラメータは、前記魚生けすに収容された魚の種類、前記魚生けす内の水流、又は、前記魚生けす内の光レベルを示す、請求項1に記載の方法。
【請求項3】
前記特定の出力パラメータのセットは、前記魚の画像を生成するために使用される、複数の前記水中カメラの第1のサブセット、及び、前記魚の画像を生成するために使用されない、複数の前記水中カメラの第2のサブセットを特定する、請求項1に記載の方法。
【請求項4】
前記特定の出力パラメータのセットは、前記魚の画像を生成するために使用される前記水中カメラに関連付けられた1つ以上のカメラ角度を示し、前記1つ以上の水中カメラの位置は、前記1つ以上のカメラ角度に一致するように調整される、請求項1に記載の方法。
【請求項5】
前記魚生けすに収容された魚の画像を生成するためのパラメータを出力する前記モデルを、機械学習を使用して訓練すること、を含む、請求項1に記載の方法。
【請求項6】
前記特定の出力パラメータのセットは前記1つ以上の水中カメラの特定のモードを示し、前記特定のモードは複数のモードから選択され、前記複数のモードは、前記1つ以上の水中カメラに予め関連付けられ、かつ、魚種類及び魚の動に関連付けられており前記複数のモードの各々は、前記魚の種類及び活動の組み合わせが互いに異なる、請求項1に記載の方法。
【請求項7】
前記魚生けすに対する前記1つ以上の水中カメラの配向を調整すること、を含む、請求項1に記載の方法。
【請求項8】
1つ以上の計算装置と、命令を格納する1つ以上の記憶装置とを備え、前記命令は、前記1つ以上の計算装置によって実行されるときに、前記1つ以上の計算装置に、
魚生けすに関連付けられた現在の環境条件を取得することと、
前記魚生けすに関連付けられた前記現在の環境条件を示す特定のパラメータを、訓練されたモデルに提供することであって、前記モデルは、前記魚生けすに関連付けられた環境条件を示す所定の入力パラメータに対して、1つ以上の水中カメラを使用して前記魚生けすに収容された魚の画像を生成するための、前記1つ以上の水中カメラの動作を含む所定の出力パラメータのセットを出力するよう訓練された、提供することと、
特定の出力パラメータのセットを前記モデルから取得することと、
前記特定の出力パラメータのセットに基づいて、1つ以上の水中カメラの位置を調整することと、
を含む動作を実行させるシステム。
【請求項9】
前記入力パラメータは、前記魚生けすに収容された魚の種類、前記魚生けす内の水流、又は、前記魚生けす内の光レベルを示す、請求項8に記載のシステム。
【請求項10】
前記特定の出力パラメータのセットは、前記魚の画像を生成するために使用される、複数の前記水中カメラの第1のサブセット、及び、前記魚の画像を生成するために使用されない、複数の前記水中カメラの第2のサブセットを特定する、請求項8に記載のシステム。
【請求項11】
前記特定の出力パラメータのセットは、前記魚の画像を生成するために使用される前記水中カメラに関連付けられた1つ以上のカメラ角度を示し、前記1つ以上の水中カメラの位置は、前記1つ以上のカメラ角度に一致するように調整される、請求項8に記載のシステム。
【請求項12】
前記動作は、前記魚生けすに収容された魚の画像を生成するためのパラメータを出力する前記モデルを、機械学習を使用して訓練することを含む、請求項8に記載のシステム。
【請求項13】
前記特定の出力パラメータのセットは前記1つ以上の水中カメラの特定のモードを示し、前記特定のモードは複数のモードから選択され、前記複数のモードは、前記1つ以上の水中カメラに予め関連付けられ、かつ、魚種類及び魚の動に関連付けられており前記複数のモードの各々は、前記魚の種類及び活動の組み合わせが互いに異なる、請求項8に記載のシステム。
【請求項14】
前記動作は、前記魚生けすに対する前記1つ以上の水中カメラの配向を調整することを含む、請求項8に記載のシステム。
【請求項15】
命令を含む1つ以上の非一過性コンピュータ可読記憶媒体であって、前記命令が、1つ以上の計算装置によって実行されるときに、前記1つ以上の計算装置に、
魚生けすに関連付けられた現在の環境条件を取得することと、
前記魚生けすに関連付けられた前記現在の環境条件を示す特定のパラメータを、訓練されたモデルに提供することであって、前記モデルは、前記魚生けすに関連付けられた環境条件を示す所定の入力パラメータに対して、1つ以上の水中カメラを使用して前記魚生けすに収容された魚の画像を生成するための、前記1つ以上の水中カメラの動作を含む所定の出力パラメータのセットを出力するよう訓練された、提供することと、
特定の出力パラメータのセットを前記モデルから取得することと、
前記特定の出力パラメータのセットに基づいて、1つ以上の水中カメラの位置を調整することと、
を含む動作を実行させる、非一過性コンピュータ可読記憶媒体。
【請求項16】
前記入力パラメータは、前記魚生けすに収容された魚の種類、前記魚生けす内の水流、又は、前記魚生けす内の光レベルを示す、請求項15に記載の非一過性コンピュータ可読記憶媒体。
【請求項17】
前記特定の出力パラメータのセットは、前記魚の画像を生成するために使用される、複数の前記水中カメラの第1のサブセット、及び、前記魚の画像を生成するために使用されない、複数の前記水中カメラの第2のサブセットを特定する、請求項15に記載の非一過性コンピュータ可読記憶媒体。
【請求項18】
前記特定の出力パラメータのセットは、前記魚の画像を生成するために使用される前記水中カメラに関連付けられた1つ以上のカメラ角度を示し、前記1つ以上の水中カメラの位置は、前記1つ以上のカメラ角度に一致するように調整される、請求項15に記載の非一過性コンピュータ可読記憶媒体。
【請求項19】
前記動作は、前記魚生けすに収容された魚の画像を生成するためのパラメータを出力する前記モデルを、機械学習を使用して訓練することを含む、請求項15に記載の非一過性コンピュータ可読記憶媒体。
【請求項20】
前記特定の出力パラメータのセットは前記1つ以上の水中カメラの特定のモードを示し、前記特定のモードは複数のモードから選択され、前記複数のモードは、前記1つ以上の水中カメラに予め関連付けられ、かつ、魚種類及び魚の動に関連付けられており前記複数のモードの各々は、前記魚の種類及び活動の組み合わせが互いに異なる、請求項15に記載の非一過性コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[0001] 本開示は、一般に、海洋モニタリングシステムに関する。
【背景技術】
【0002】
[0002] 研究者及び農場経営者は、魚の行動の観察及び記録において、いくつかの課題に直面している。魚のサンプルセットを観察する、手作業によるプロセスは、多くの場合、魚の特性を推定するために使用される。しかしながら、このようなプロセスは、多くの場合、時間がかかり、不正確であり、費用がかかり、1日の特定の時間帯、又は悪天候条件中にアクセス性が低下するなどのいくつかの制限がある。
【発明の概要】
【0003】
[0003] 一般に、本明細書に記載されている主題の革新的な態様は、魚のモニタリングに関する。
【0004】
[0004] 本明細書に記載されている主題の態様は、システム内で具現化することができる。このシステムは、1つ以上の計算装置、及び命令を格納する1つ以上の記憶装置を備え、その命令が、1つ以上の計算装置によって実行されるときに、1つ以上の計算装置に動作を実行させる。その動作は、(I)水中魚生けすの決定された区域内の1つ以上の場所における1つ以上の条件と、(II)水中魚生けすの決定された区域内の1つ以上の対象物をモニタリングするための1つ以上のパラメータと、を示す、データを受信することと、1つ以上の条件及び1つ以上のパラメータに基づいて、水中魚生けすの決定された区域内のカメラシステムに対して、複数のモニタリングモードの中からモニタリングモードを決定することと、カメラシステム内の1つ以上のカメラを1つ以上の対象物の目標プロファイルと整列させるように、決定されたモニタリングモードに従ってカメラシステムを構成することと、決定されたモニタリングモードに従ってカメラシステムを構成することに応答して、1つ以上の画像のセットを取得することと、を含む。1つ以上の画像のセットは、水中魚生けすの決定された区域内の1つ以上の対象物の画像を含む。
【0005】
[0005] 実施態様は、各々、以下の特徴のうちの1つ以上を任意選択的に含み得る。例えば、いくつかの実施態様では、水中魚生けすの決定された区域内の1つ以上の場所における1つ以上の条件を示すデータを受信することは、1つ以上のカメラから画像データを受信することと、ユーザから、1つ以上の対象物の遊泳パターン又は遊泳行動を示すデータを受信することと、光センサ、温度計、塩分センサ、光学センサ、運動センサ、及び流れセンサを含む1つ以上のセンサから、決定された区域内の環境条件を示す環境データを受信することと、のうちの1つ以上を含む。
【0006】
[0006] いくつかの実施態様では、1つ以上の条件は、対象物の動き、対象物の配向、流れの方向、流れの強度、塩分レベル、光度、温度レベル、深度レベル、圧力レベル、酸素レベル、及び決定された区域のトポロジーを含む。
【0007】
[0007] いくつかの実施態様では、水中魚生けすの決定された区域内の1つ以上の対象物をモニタリングするための1つ以上のパラメータを示すデータを受信することは、1つ以上の対象物が従事している活動又は行動を示すデータを取得することと、関心対象の種類を示すデータを取得すること、のうちの1つ以上を含む。
【0008】
[0008] いくつかの実施態様では、その行動は、睡眠、摂食、単独遊泳、群泳、適所遊泳、及び特定の移動パターンに従う動きのうちの1つ以上を含む。その対象物は、魚、及び対象物の種類が、魚の一種又は特定の魚の識別表示であること、並びに寄生虫、及び対象物の種類が、寄生虫の一種又は特定の寄生虫の識別表示であることと、のうちの1つ以上を含む。
【0009】
[0009] いくつかの実施態様では、1つ以上の条件及び1つ以上のパラメータに基づいて、水中魚生けすの決定された区域内のカメラシステムのためのモニタリングモードを決定することは、1つ以上の条件、1つ以上のパラメータ、及び1つ以上の場所にマッピングする、1つ以上のモニタリングモードを決定することと、1つ以上のモニタリングモードの各々に対するスコアを決定することと、1つ以上のモニタリングモードに対するスコアの中で最高スコアを有するモニタリングモードを選択することと、を含む。
【0010】
[0010] いくつかの実施態様では、カメラシステム内の1つ以上のカメラを1つ以上の対象物の目標プロファイルと整列させるように、決定されたモニタリングモードに従ってカメラシステムを構成することは、(i)1つ以上のカメラに近接する1つ以上の対象物の体に対してほぼ垂直の角度で、かつ(ii)1つ以上の対象物の体に対してほぼ水平であるように、カメラシステム内の1つ以上のカメラを位置決めするようにカメラシステムを制御すること、を含む。
【0011】
[0011] いくつかの実施態様では、1つ以上の対象物が、魚を含み、1つ以上の対象物の体に対してほぼ水平であるように、カメラシステム内の1つ以上のカメラを位置決めするようにカメラシステムを制御する動作は、1つ以上のカメラが1つ以上のカメラに近接する魚に対してほぼ平行になるまで、水中魚生けすの決定された区域内で上方又は下方に移動するように、1つ以上のカメラを制御することであって、1つ以上のカメラから魚まで延在する線が、魚生けす内の水の上面に対して平行である、制御することと、1つ以上のカメラに近接する魚の体の少なくとも一方の側面上のすべてのキーポイントが、1つ以上のカメラの各々のレンズ内に完全に同時に視認可能であるように、1つ以上のカメラが横方向に移動するように制御することと、を含む。魚の目標プロファイルは、魚の体の少なくとも一方の側面上のすべてのキーポイントを含み、そのキーポイントは、目、鼻孔、えら板、えら蓋、補助骨、胸びれ、側線、背びれ、あぶらびれ、腹びれ、尻びれ、及び尾びれに対応する。
【0012】
[0012] いくつかの実施態様では、カメラシステムを構成することは、決定されたモニタリングモードに基づいて、カメラシステム内の第1のカメラセットを作動させ、第2のカメラセットを停止させること、を含む。
【0013】
[0013] いくつかの実施態様では、動作は、1つ以上の画像のセットを取得することに応答して、1つ以上の画像の品質係数を決定することと、品質係数が品質閾値を満たすかどうかを判定することと、をさらに含む。品質係数が品質閾値を満たさないことに応答して、1つ以上の計算装置は、追加データを受信し、追加のデータに基づいて、カメラシステムを再構成し、1つ以上の対象物の、第2の1つ以上の画像のセットを取得する。その追加のデータは、(I)水中魚生けすの決定された区域内の1つ以上の場所における1つ以上の条件と、(II)水中魚生けすの決定された区域内の1つ以上の対象物をモニタリングするための1つ以上のパラメータと、を示す、第2のデータのセットを含む。品質閾値を満たす品質係数に応答して、1つ以上の計算装置は、カメラシステムを再構成することなく、対象物の第2の画像のセットを取得する。
【0014】
[0014] 他の態様は、対応する方法、システム、装置、コンピュータ可読記憶媒体、及び上記の方法の動作を実施するように構成されたコンピュータプログラムを含む。
【0015】
[0015] 本明細書にさらに説明される上記の態様及び実施態様は、いくつかの利点を提供することができる。例えば、魚を観察する自動化された動的方法が説明されている。機械学習技術及びニューラルネットワークの使用を通じて、システムは、カメラの位置及び設定値を調整し、モニタリングモードを変更して、取得された画像が、例えば、魚のぼやけ画像及び不完全画像のない高品質なものとすることができる。各モードは特定の活動に対してカスタマイズされ得るため、研究者は、どの画像が調査対象の活動に該当するのかを識別するために何千枚もの画像にわたって選別する必要がない。逆に、該当するデータのみが研究者に提供されるため、コンピュータ、記憶装置、及びネットワークリソースに対して改善された効率をもたらす。
【0016】
[0016] 取得された画像は、計算装置によって使用され、追加の動作を実行することができる。例えば、取得された画像は、計算装置によって使用され、魚に関する特徴を識別及び抽出し、魚のプロファイルを調べ、魚の行動を分類及び追跡することができる。取得された画像を使用して、決定された区域内の条件をモニタリングし、決定された区域内の装置を制御することができる。例えば、給餌装置を使用して魚を給餌する場合、計算装置は、取得された画像内で魚がもはや餌を食べていない場合には、給餌装置をスイッチオフすることができる。これにより、餌の浪費、及び魚の過食を防止する。
【0017】
[0017] 本明細書に記載される1つ以上の態様の詳細は、添付の図面及び以下の説明に記述されている。本主題の他の特徴、態様、及び利点は、本明細書、図面、及び特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0018】
図1】魚をモニタリングするための典型的なシステムを示す。
図2A】囲い網システムの各種の実施態様を示す。
図2B】囲い網システムの各種の実施態様を示す。
図2C】囲い網システムの各種の実施態様を示す。
図2D】囲い網システムの各種の実施態様を示す。
図2E】囲い網システムの各種の実施態様を示す。
図2F】囲い網システムの各種の実施態様を示す。
図3A】囲い網システムの上面図を示す。
図3B】囲い網システムの上面図を示す。
図4A】カメラシステムの各種の実施態様を示す。
図4B】カメラシステムの各種の実施態様を示す。
図4C】カメラシステムの各種の実施態様を示す。
図4D】カメラシステムの各種の実施態様を示す。
図4E】カメラシステムの各種の実施態様を示す。
図5】魚モニタリングシステムを構成するための方法のフロー図を示す。
図6A】異なるモードで動作する魚モニタリングシステムの典型的な実施態様を示す。
図6B】異なるモードで動作する魚モニタリングシステムの典型的な実施態様を示す。
図6C】異なるモードで動作する魚モニタリングシステムの典型的な実施態様を示す。
図7A】魚、サイズ、及び重量を決定するための方法のフロー図を示す。
図7B】魚、サイズ、及び重量を決定するための方法のフロー図を示す。
図8】魚の特徴に対応するラベルを付けた例示的な魚の画像を示す。
【0019】
[0026] 各種の図面における同様の参照番号及び呼称は、同様の要素を示す。
【発明を実施するための形態】
【0020】
[0027] 魚モニタリングシステムは、魚をモニタリングするために、囲い網システムなどの決定された区域内に配備され得る。魚の高品質画像は、魚モニタリングシステム内のカメラシステムが魚に対して実質的に水平に位置決めされている場合、例えば、カメラシステムが魚の下方又は上方ではない視野角を有する場合、かつ魚がカメラシステムのレンズに対して垂直の方向に遊泳している場合に、取得することができる。しかしながら、魚の遊泳パターンは、決定された区域内の温度、照明、及び流れの方向などの条件に起因して、また休息、摂食、又は群泳などの魚の活動のタイミングに起因して、変化し得る。高品質であり、遮るもののない魚の画像を取得するために信頼性及び効率の高い魚モニタリングシステムを実現するためには、カメラシステムは、決定された区域内の様々な条件、及び魚の遊泳パターンに適合し得ることが必要である。魚モニタリングシステムを使用して、所与の区域内の個々の魚、複数の魚、又は魚の集団全体をモニタリングすることができる。
【0021】
[0028] 実施態様によれば、ニューラルネットワーク及び機械学習技術が実装されて、魚モニタリングシステムを定期的に訓練し、決定された区域内の条件に基づいて高品質の魚の画像を取り込むことができる。本明細書に記載されているように、訓練されたモニタリングシステムは、高品質の画像、例えば、最小限のユーザ調整を伴って決定された区域内の遮るもののない魚の画像を取得することができる。以下に詳細に説明されるように、取得された魚の画像は、魚の完全な水平プロファイルを含み、魚の完全な体、及びそのすべてのキーポイントが視認可能であり、その魚の体の平坦度及び直線度は、推定されることができる。
【0022】
[0029] モニタリングシステムは、1つ以上のモニタリングモードを有することができ、カメラシステムは、モニタリングモードによって示されるように、特定の設定値、例えば、位置、視野角によって構成することができる。各モニタリングモードは、魚の種類、並びに睡眠、摂食、単独遊泳、群泳、適所遊泳、及び特定の移動パターン、例えば、屈曲、伸張、移動に従う動きなどの魚の活動と関連付けることができる。モニタリングモードは、決定された区域内における、その日の特定の時間又は特定の場所などの時間及び場所データに従って構成することができる。モニタリングモードはまた、1つ以上の魚を追跡し、魚の形状、サイズ、又は質量などの魚の特性を決定するために使用することもできる。
【0023】
[0030] 開示される主題の態様は、図面に関してさらに詳細に説明される。
【0024】
[0031] 図1は、魚をモニタリングするための典型的なシステム100を示す。システム100は、囲い網システム110、計算装置120、及びサーバ130を備えることができる。囲い網システム110は、魚モニタリングシステムを含むことができ、その魚モニタリングシステムは、光センサ、温度計、塩分センサ、運動センサ、流れセンサ、及びカメラシステム112などのフィルタ及び複数のセンサを含む。囲い網システム110の各種の実施態様が、使用され得る。魚の感謝110の典型的な実施態様が、図2A図2Fを参照して以下に説明されている。
【0025】
[0032] カメラシステム112は、1つ以上のビデオ/写真カメラ、ステレオカメラ、又は画像を取り込むように構成されている光学感知装置を含むことができる。例えば、カメラシステム112は、囲い網システム110内の様々な深度、及び照明条件で1つ以上の魚の画像を取り込むように構成することができる。カメラシステム112は、魚の単一の静止画像、及びまた複数の魚の画像を定期的に取り込むことができる魚のビデオ画像も取り込むように構成することができる。
【0026】
[0033] カメラシステム112は、いくつかの異なる種類の技術によって起動させることができる。例えば、運動センサは、カメラシステム112に組み込まれてもよく、それを使用して、運動が検出されたときに、カメラシステム112を起動させて1つ以上の画像を取り込むことができる。いくつかの実施態様では、カメラシステム112は、計算装置120又はセンサから画像を取り組むためのコマンドを受信するように構成されている。
【0027】
[0034] いくつかの例では、カメラシステム112は、一体型又は外部の照明器、例えば、赤外線、ゼットウェーブ制御式「白色」ライト、計算装置120により制御されるライトを起動させて、光が不足しているときに画像品質を向上させることができる。一体型又は個別の光センサを使用して、照明が必要とされるかどうかを判定することができる。照明器を作動させることにより、画像品質の向上をもたらすことができる。
【0028】
[0035] カメラシステム112は、時間/日付スケジュール、システム作動コマンド、又は他のパラメータの任意の組み合わせに従ってプログラムされ、いつ画像を取り込むべきかを決定することができる。カメラシステム112は、画像を取り込まないときは、低電力モードに入ることができる。場合によっては、カメラシステム112は、内部の交換可能なバッテリーによって電力供給されてもよい。場合によっては、カメラシステム112は、光が利用可能であるときに、小型太陽光電池を使用してバッテリーを再充電することができる。
【0029】
[0036] カメラシステム112は、ケーブルを介して計算装置120に接続され得、画像118などのデータは、ケーブルを介して計算装置120と通信することができる。計算装置120は、ケーブルを介してカメラシステム112にコマンドを送信することができる。一般に、カメラシステム112の様々な実施態様が使用され得る。カメラシステム112の典型的な実施態様が、図4A図4Eを参照して以下にさらに説明される。
【0030】
[0037] 計算装置120は、カメラシステムコントローラ122、メモリ124、プロセッサ126、及び入力/出力装置128を含むことができる。カメラシステムコントローラ122は、ニューラルネットワークを含むことができ、訓練データ及び様々な機械学習方法を使用して訓練され得る。訓練データには、様々な魚の様々な画像を含む場合がある。例えば、訓練データは、同じ又は異なる種類の特徴、例えば、ひれ、尾、及び特性、例えば、その特徴の形状、サイズ、色を有する魚の画像を含み得る。場合によっては、画像内の魚の場所における変化、例えば、画像の中央、脇、又は縁における変化が、使用され得る。様々な角度からの、及び様々な活動に従事している魚の画像が、訓練データとして使用されることができる。例えば、カメラに面している、カメラに対して垂直である、又はカメラから離れるように遊泳している魚の画像が、訓練データとして使用することができる。様々なカメラ視野角で取り込まれた魚の画像は、訓練データとして使用することができる。
【0031】
[0038] 訓練に基づいて、カメラシステムコントローラ122は、魚特徴の確度の高い場所、並びにその特徴の形状、サイズ、及び色などの、特徴の特性の変化を予測することができる。カメラシステムコントローラ122はまた、魚の形状及びサイズにおける変化、並びに魚の特徴の場所が、魚の重量にどのように影響を及ぼすのかを決定するためにも訓練され得る。いくつかの実施態様では、1つ以上のカメラシステムの位置及び配向は、訓練に基づいて決定することができる。
【0032】
[0039] メモリ124は、1つ以上の大容量記憶装置、例えば、磁気ディスク、光磁気ディスク、光学ディスク、EPROM、EEPROM、フラッシュメモリデバイスとして実装されてもよく、またデータを格納するための内蔵ハードディスク、取り外し可能ディスク、光磁気ディスク、CDROM、又はDVD-ROMディスクとして実装されてもよい。いくつかの実施態様では、メモリ124は、魚プロファイルデータを格納することができ、この魚プロファイルデータには、サイズ、形状、重量、スコア、及び各プロファイルされた魚と関連付けられたランク付けデータが含まれ得る。魚プロファイルデータはまた、魚の1つ以上の画像及び3Dモデルも含むことができる。いくつかの実施態様では、メモリ124は、カメラシステムコントローラ122を訓練するための訓練データ、並びにカメラシステムコントローラ122及びニューラルネットワークを訓練するための規則を格納することができる。
【0033】
[0040] 入力/出力装置128は、キーボード、ポインティングデバイス、マウス、入力用ペン、及び/又はタッチセンシティブパネル、例えば、タッチパッド又はタッチスクリーンなどの入力装置を含み得る。出力装置は、ディスプレイ、スクリーン、スピーカー、及び一般にデジタルデータを出力することができる任意のデバイスを含み得る。入力/出力装置128はまた、送受信機も含むことができ、その送受信機は、送信機及び受信機を含み、サーバ130と通信するために利用されることができる。この送受信機は、増幅器、変調器、復調器、アンテナ、及び各種の他のコンポーネントを含み得る。送受信機は、サーバ130に接続された装置間でデータを転送又はルーティングすることができる。送受信機は、囲い網システム110とサーバ130との間、及び計算装置120とサーバ130との間で通信されるデータをルーティングすることができる。例えば、魚画像を取り込み、そして魚の重量、形状、サイズ、又は3Dモデルを決定した後、以下に説明されているように、計算装置120は、送受信機を介して、魚の識別、魚の3Dモデルを生成するためのデータ、魚の1つ以上の画像、魚の種類、魚のサイズ、魚の重量、及び魚のスコア又はランクのうちの1つ以上などの魚プロファイル情報134を、サーバ130に送信することができる。
【0034】
[0041] プロセッサ126は、本明細書に説明されている方法を実施するための命令を実行するために、カメラシステムコントローラ122、メモリ124、及び入力/出力装置128に結合され得る。いくつかの実施態様では、実行可能な命令が、メモリ装置110内に格納され得る。プロセッサ126は、1つ以上の実行可能な命令として動作を符号化し、そしてメモリ装置110内に実行可能な命令を提供することによって、プログラムされ得る。プロセッサ126は、例えば、マルチコア構成で、1つ以上の処理ユニットを含み得るが、これに限定されない。処理ユニットという用語は、本明細書で使用されるとき、マイクロプロセッサ、マイクロコントローラ、縮小命令セット回路(RISC)、特定用途向け集積回路(ASIC)、論理回路、及び本明細書に記載されている動作を実行するための命令を実行することができる任意の他の回路又はデバイスを指す。いくつかの実施態様では、カメラシステムコントローラ122は、プロセッサ126の一部として実装され得るか、又はプロセッサ126に電気的に接続され得る。
【0035】
[0042] いくつかの実施態様では、サーバ130は、複数のサーバとして実装され得、サーバ130の様々なコンポーネントが、複数のサーバにわたって分散され得る。サーバ130は、1つ以上のネットワークを介して、計算装置120に接続され得る。図5、7A、及び7Bに図示してある方法の1つ以上の動作は、計算装置120又はサーバ130内で実施され得、その結果、その方法の一部分は、計算装置120によって実行され、他の部分は、サーバ130によって実行され得る。
【0036】
[0043] サーバ130は、1つ以上のネットワークに結合された任意の好適な計算装置を含み得、それらには、パーソナルコンピュータ、サーバコンピュータ、一連のサーバコンピュータ、ミニコンピュータ、及びメインフレームコンピュータ、並びにそれらの組み合わせが含まれるが、これらに限定されない。例えば、サーバ130は、ウェブサーバ、又は一連のサーバを含み得、ネットワークオペレーティングシステムを実行することができる。いくつかの実施態様では、サーバ130は、魚のプロファイルを格納する魚プロファイルデータベースなどの1つ以上のデータベースに接続又は統合され得る。
【0037】
[0044] サーバ130はまた、セキュアソケットレイヤ(SSL)で保護されたファイル転送プロトコル、セキュアシェルファイル転送プロトコル(SFTP)ベースの鍵管理、及びNaCI暗号化ライブラリなどの共通かつ標準のプロトコル及びライブラリも実装することができる。サーバ130は、クラウド及び/又はネットワークコンピューティングのために、使用及び/又は提供され得る。図には示されていないが、サーバ130は、電子メール、SMSメッセージング、テキストメッセージングなどのメッセージング機能性、及び暗号化/復号化サービス、サイバーアラートなどの他の機能性を提供する外部システムへの接続を有してもよい。
【0038】
[0045] 1つ以上のネットワークは、ネットワークアクセス、データ伝送、及び他のサービスをサーバ130に提供することができる。1つ以上のネットワークは、任意の一般的に規定されたネットワークアーキテクチャを包含及び実装してもよく、そのアーキテクチャには、グローバルシステムフォーモバイルコミュニケーションズ(GSM)アソシエーション、インターネットエンジニアリングタスクフォース(IETF)、及びワールドワイドインターオペラビリティフォーマイクロウェーブアクセス(WiMAX)フォーラムなどの標準化団体により規定されたネットワークアーキテクチャが含まれる。例えば、1つ以上のネットワークは、GSMアーキテクチャ、汎用パケット無線サービス(GPRS)アーキテクチャ、及びユニバーサルモバイルテレコミュニケーションシステム(UMTS)アーキテクチャのうちの1つ以上を実装してもよい。1つ以上のネットワークは、WiMAXフォーラム又はワイヤレスフィディリティ(WiFi)アーキテクチャにより規定されたWiMAXアーキテクチャを実装してもよい。1つ以上のネットワークは、例えば、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、仮想LAN(VLAN)、企業LAN、レイヤ3仮想プライベートネットワーク(VPN)、企業IPネットワーク、企業ネットワーク、又はこれらの組み合わせを含んでもよい。いくつかの実施態様では、1つ以上のネットワークは、インターネット接続、及び他のネットワーク関連機能を提供するクラウドシステムを含んでもよい。
【0039】
[0046] サーバ130は、魚プロファイルデータベースなどの1つ以上のデータベースと接続又は統合され得る。1つ以上のデータベースは、クラウドデータベース、又はデータベース管理システム(DBMS)により管理されたデータベースを含み得る。DBMSは、データベース内のデータの編成、保存、管理、及び検索を制御するエンジンとして実装され得る。DBMSは、クエリー、バックアップ及び複製、規則の励行、セキュリティの提供、計算の実行、変更の実行、及びログへのアクセス、並びに自動最適化の機能を頻繁に提供する。DBMSの例としては、Oracle(登録商標)データベース、IBM(登録商標)DB2、Adaptive Server Enterprise、FileMaker(登録商標)、Microsoft(登録商標)Access(登録商標)、Microsoft(登録商標)Structured Query Language(SQL)Server、MySQL(登録商標)、PostgreSQL(登録商標)、MongoDB、Mondo/ES JavaScript Object Notification(JSON)、及びNoSQL実装が含まれる。DBMSは、通常、モデリング言語、データ構造、データベースクエリー言語、及びトランザクションメカニズムを含む。モデリング言語は、データベースモデルに応じて、DBMS内の各データベースのスキーマを定義するために使用され得、階層モデル、ネットワークモデル、リレーショナルモデル、オブジェクトモデル、又はいくつかの他の適用可能な既知の、又は簡便な構成を含み得る。データ構造は、フィールド、レコード、ファイル、オブジェクト、及びデータを格納するための任意の他の適用可能な既知の、又は簡便な構造を含み得る。DBMSはまた、格納されるデータについてのメタデータも含むことができる。
【0040】
[0047] 図2A図2Fを参照すると、いくつかの実施態様では、囲い網システム210は、異なる種類の水、例えば、淡水、塩水、異なる塩分レベルの水を含み得、魚の1つ以上の種を含み得る。囲い網システム210は、ガラス、コンクリート、アクリル樹脂、プラスチック、又はそれらの組み合わせなどの任意の好適な材料で作製することができる。空気ポンプ、水ポンプ、照明システム、加熱及び冷却システム、並びにフィルタリングシステムなどの追加の装置を使用して、囲い網システム210内の条件を調整することができる。
【0041】
[0048] 図2Aに示すように、囲い網システム210は、円錐形ベースから、水位線220に位置決めされている囲いリング218まで延在する円筒形構造体を備える円錐形ベースを含み得、その水位線は、囲い網システム210内の水の上面と同じ高さであり得る。一般に、囲い網システム210の様々な構成が使用され得る。例えば、囲い網システム210は、円錐及び円筒形構造体を有するものとして示されているが、矩形、三角形、ピラミッド形、又は立方体形などの他の形状及びサイズも使用され得る。
【0042】
[0049] ブイ線216及びケーブルのネットワークは、囲い網システム210にわたって配設され得る。ブイ線216及びケーブルのネットワークは、囲いリング218などの、囲い網システム210の様々な部分から、水位線220に浮かぶ水面ブイ214まで延在することができる。カメラシステム212は、水面ブイ214から吊り下げられ得、水面ブイは、2つ以上のブイ線216の交点において配置され得る。水面ブイ214の位置は、ブイ線216を再構成することによって調整することができる。例えば、ブイ線216は、囲いリング218の中央に、又は囲いリング218及び囲い網システム210の側面に向かって互いに交差し得る。次いで、カメラシステム212は、水位線220及び水面ブイ214の下方に、かつ囲い網システム210の中央又は側壁に向かって位置決めされ得る。
【0043】
[0050] 水面ブイ214は、様々な好適な材料で作製されてもよく、ポリエチレンエラストマー又は発泡体、ポリウレタンエラストマー又は発泡体、コポリマー発泡体、及びシンタクチック発泡体が挙げられるが、これらに限定されない。ブイ線216及びケーブルは、1つ以上の好適な材料で作製されてもよく、その材料としては、ポリプロピレンロープ、ナイロンロープ、マニラロープ、ケブラー、及び光学繊維が挙げられるが、これらに限定されない。囲い網システム210の他の構成及び変形は、図2B~2Fに図示してある。
【0044】
[0051] 例えば、図2Bに示すように、図2Aに図示してある構造体に加えて、ケーブルが、囲い網システム210の床からカメラシステム212まで延在し得る。ケーブルは、カメラシステム212の位置を維持するための追加の支持体を提供し、水面波及び他の水面の外乱がカメラシステム212の位置に及ぼし得る悪影響を低減する。
【0045】
[0052] いくつかの実施態様では、図2Cに示すように、水面ブイではなく水面直下ブイ214が、囲い網システム210の床から延在するケーブルに加えて利用され得る。水面直下ブイ214は、水面ブイの浮力レベルと比較して異なる浮力レベルを有してもよく、したがって、水面直下ブイ214が水位線220には存在しない水中の深度で浮くことが可能になる。水面直下ブイ214を囲い網システム210のベースに接続するケーブルは、囲い網システム210のベースの任意の部分から延在し得、カメラシステム212及び水面直下ブイ214に接続され得る。カメラシステム212は、水面直下ブイ214と、囲い網システム210のベースとの間に位置決めされ得る。
【0046】
[0053] いくつかの実施態様では、水面ブイ又は水面直下ブイは、利用されなくてもよい。例えば、図2Dに示すように、囲い網システム210のベースから延在する2つ以上のケーブルを使用して、カメラシステム212を適所に保持することができる。図2E及び2Fに示す実施態様では、構造体224は、囲い網システム210の上方に配備されてもよい。構造体224は、様々な好適な材料、例えば、鋼、金属、プラスチックで作製されてもよく、様々な形状及びサイズを有してもよい。構造体224は、カメラシステム212に取り付けられた1つ以上のケーブルに接続され得、その結果、カメラシステム212は、構造体224が水位線220の上方に完全に又は部分的に位置決めされることができても、水位線220の下方に構造体224から吊り下げられる。図2Eの実施態様では、2つのケーブルが、構造体224から延在して、カメラシステム212の位置を固定する。図2Fにおいて、単一のケーブルが構造体224から延在して、カメラシステム212の位置を固定している。
【0047】
[0054] いくつかの実施態様では、構造体224は、レール、受容プレート、及びロック機構を含み得、コンピュータシステムに接続され得る。ロック機構は、1つ以上のケーブルを構造体224に接続することができる。ロック機構は、クランプ、はんだ接合、又は1つ以上のケーブルを構造体224に接続するための任意の他の材料もしくは装置を含んでもよい。ロック機構は、構造体224に取り付けられたレールに沿って移動することができる受容プレートに付け加えられてもよい。受容プレートは、レールを使用して構造体224の部分に沿って垂直又は水平に移動することができる。受容プレートの移動により、受容プレートに接続されたロック機構及びケーブルを移動させ、その結果、囲い網システム210内のカメラシステム212の位置もまた調整される。
【0048】
[0055] 例えば、受容プレートが特定の距離だけ水平方向に移動する場合、カメラシステム212もまた、同じ方向に同じ距離だけ水平方向に移動する。受容プレートが特定の距離を垂直方向に移動する場合、カメラシステム212もまた、同じ距離だけ垂直方向に移動する。一般に、受容プレートは、カメラシステム212が魚に対してほぼ平行に位置決めされ得るように、又はカメラシステム212に近接する魚の体の少なくとも一方の側面がカメラシステム212のレンズ内に完全に視認可能であるように、水平及び垂直に移動され得る。カメラシステム212は、手動で、又はコンピュータシステムからの電子制御信号を受信することに応答して、移動することができる。
【0049】
[0056] いくつかの事例では、2つ以上のロック機構が、同じ方向及び距離に連続的に又は同時に移動するように制御されてもよい。このようにして、カメラシステム212は、コンピュータシステムから受信したコマンドに応答して、囲い網システム210の様々な部分に動的に位置決めされ得る。
【0050】
[0057] 図3A及び図3Bは、魚モニタリングシステムを備える囲い網システム310の空中図を示す。魚モニタリングシステムは、光センサ、温度計、塩分センサ、及び画像獲得システムなどの、複数の装置、フィルタ、及びセンサを含むことができる。画像獲得システムは、囲い網システム310内の魚の画像及びビデオを取得するように構成された1つ以上のカメラを備えるカメラシステム312を含むことができる。
【0051】
[0058] 上述したように、カメラシステム312は、囲い網システム310の外側に配置されたコンピュータシステムに接続され得る。このコンピュータシステムは、位置、レンズの焦点距離、又はズームなどのカメラの複数のパラメータを制御することができ、カメラシステム312を制御して、魚の静止画像又は動画像を取得することができる。カメラシステム312は、コンピュータシステムから受信した命令に基づいて、特定の方向にカメラを操縦するように構成された1つ以上のモータを含むことができる。コンピュータシステムは、さらなる処理のためにカメラシステム312から画像を受信することができる。
【0052】
[0059] カメラシステム312は、囲い網システム310内の異なる場所に配備され得る。一般に、カメラシステム312は、囲い網システム310内のある位置に配置され得、その位置は、良質の画像、例えば、ぼやけのない鮮明な魚の画像、及び魚の少なくとも一方の完全な側面の画像がカメラシステム312によって取り込まれるのを可能にする。例えば、図3A及び図3Bに示すように、カメラシステム312は、囲い網システム310の中央から比較的離れた場所に配置され得る。図3Bに図示してあるように、魚が円形遊泳パターンで群泳しているときに、この位置を利用することができる。上述したように、カメラシステム312は、水面ブイ、水面直下ブイ、固定された構造体、又はケーブル線を使用することによるなどの様々な方法で適所に保持することができる。
【0053】
[0060] 様々な要因により、囲い網システム310内のカメラシステム312の位置を決定することができる。例えば、場合によっては、図3Aに図示してあるように、囲い網システム310内の魚が流れに逆らって遊泳する種類の魚である場合、カメラシステム312は、流れに対して実質的に平行に位置決めされ得、その結果、カメラは、魚体に関して比較的垂直の角度を有することができる。他の魚は、流れと一緒に遊泳し得、又は流れに依存する遊泳パターンを有さない場合がある。図3Bに図示してあるように、一部の魚は、円形パターンで遊泳する場合がある。場合によっては、囲い網システム310内の特定の種の魚は、特定の温度又は光量を有する特定の深度又は区域において遊泳し得、カメラシステム312は、囲い網システム310内に位置決めされて、カメラ312A及び312Bが、これらの特定の深度又は区域内の魚に焦点を合わせることができる。魚の予想場所及び遊泳パターンを決定するこれらの様々な要因の観点から、カメラシステム312の位置決めは、それに応じて決定及び調整することができる。
【0054】
[0061] ここで、図3A図4Eを参照すると、囲い網システム310内のカメラシステム312/412は、複数のカメラを備えることができる。場合によっては、カメラは、左ステレオカメラ312A及び右ステレオカメラ312Bなどの水平配置で位置決めされてもよい。場合によっては、カメラは、上部カメラ又は下部カメラなどの垂直配置で位置決めされてもよい。一般に、様々なカメラの構成が使用され得る。カメラ312A及び312Bの各々は、カメラポート408内に設置され得、囲い網システム310内の魚の画像及びビデオを取得するように位置決めされ得る。上述したように、特定の環境下において、カメラ312A及び312Bは、魚体に対してほぼ垂直の角度で魚の画像を取得するように位置決めされ得、その結果、1つ以上の魚の側面図を取得することができる。
【0055】
[0062] 図4Aを参照すると、カメラシステム412は、流れの方向を検出するための内部センサ410を含むことができる。検出された流れ方向に基づいて、カメラシステム412は、カメラシステム412の長手方向軸が流れ方向に対して平行になるように、流れ方向に対してその位置を調整することができる。カメラシステム412は、例えば、抗力を低減することによって、カメラシステム412の動きを容易にするフェアリング414を備えることができる。
【0056】
[0063] 図4Bに示すように、カメラシステム412は、アクティブ旋回軸416を含むことができ、そのアクティブ旋回軸は、0°~359°の任意の角度でカメラシステム412を回転させるように構成された機械装置である。アクティブ旋回軸416は、カメラシステム412の上面からカメラシステム412の底面までカメラシステム412の中心を通って走る中心軸に沿ってカメラシステム412を回転させることができる。この仮想中心軸は、カメラシステム412に取り付けられたケーブル線422の長手方向軸に対して同一直線上にあってもよい。
【0057】
[0064] いくつかの実施態様では、カメラシステム412は、マイクロコントローラを含み得、そのマイクロコントローラは、内部センサ410及びアクティブ旋回軸416に接続されている。マイクロコントローラは、アクティブ旋回軸416に命令を与えて、内部センサ410により検出された流れ方向に従って回転させることができる。例えば、マイクロコントローラは、カメラシステム412が反時計回りに26°だけ回転すべきであることを決定することができ、その結果、カメラシステム412は、検出した流れ方向に対して平行になる。次いで、マイクロコントローラは、アクティブ旋回軸416に命令を送信して、反時計回りに26°だけ回転させ得、それに応じてアクティブ旋回軸416は、カメラシステム412の位置を調整することができる。
【0058】
[0065] いくつかの実施態様では、図4Cに示すように、制御面420が、カメラシステム412に取り付けられ得る。制御面420は、カメラシステム412に取り付けられている細長いコネクタに取り付けられた平坦な三角形の本体を有し得る。制御面420は、アクティブ型又はパッシブ型であってもよい。例えば、制御面420の平坦な表面は、水流の自然な力を使用して、流れ方向に沿ってそれ自体を受動的に整列させることができる。細長いコネクタ及びアクティブ旋回軸416は、カメラシステム412が、それ自体を制御面420と受動的に整列し、その結果として、流れ方向と整列させることができる。
【0059】
[0066] いくつかの実施態様では、制御面420は、カメラシステム内のマイクロコントローラによって制御することができる。マイクロコントローラは、制御面420及びアクティブ旋回軸416を利用して、カメラシステム412を特定の方向に移動させることができる。したがって、制御面420は、受動的又は能動的な方法で利用することができる。制御面420は、細長いコネクタに取り付けられた平坦な三角形の本体を有するものとして説明されているが、一般に、制御面420は、いくつかの好適な形状及びサイズで実装することができる。例えば、三角形の平坦な表面ではなく、矩形又は正方形の平坦な表面を使用することができ、様々な好適な種類のコネクタを利用することができる。
【0060】
[0067] 図4B図4D、及び図4Eは、カメラシステム412をケーブル及び/又はブイ線に接続するための異なる方法を図示してある。例えば、図4Bに示すように、単一のケーブル線422がカメラシステム412に接続されているときに、ケーブル線422は、カメラシステム412の表面上に存在するアクティブ旋回軸416に取り付けることができる。ケーブル線422は、ケーブル線がカメラシステム412の上方、下方、又は側面の装置に接続されているかどうかに応じて、カメラシステム412の上面、底面、又は側面に接続することができる。例えば、図4Bに示すように、ケーブル線422は、ケーブル線422が水面ブイなどの水位線上の装置まで延在しているため、カメラシステム412の上面に接続されている。場合によっては、例えば、図2B図2Dに示すように、ケーブル線422は、ケーブル線422が囲い網システムのベース又は床に向かって延在している場合、カメラシステム412の底面に接続されてもよい。
【0061】
[0068] 図4Dに示すように、複数のケーブル線422がカメラシステム412に接続されている場合、複数のケーブル線の各々は、アクティブ旋回軸416に付け加えられ得る。この構成により、カメラシステム412が、複数のケーブルへの接続を乱すことなく、任意の方向に回転するのを可能にする。いくつかの実施態様では、アクティブ旋回軸416がカメラシステム412と一体化されていない場合、複数のケーブル線422は、カメラシステム412の異なる部分に取り付けることができる。例えば、水位線に向かって延在する2つのケーブル422が適切な位置にカメラシステム412を保持している場合、2つのケーブル422は、カメラシステム412の上面の対向する端部上でカメラシステム412に取り付けることができる。
【0062】
[0069] 上述したように、カメラシステム312/412の様々な構成が利用され得る。複数のカメラ312A及び312Bは、わずかに異なる角度からの特定の魚に対して2つ以上の画像を提供することができる。この複数の画像を使用して、図7A及び図7Bに関して以下に説明されているように、魚の特徴付けを向上させることができる。
【0063】
[0070] いくつかの実施態様では、カメラシステム312内のカメラ312A及び312Bは、魚画像を取得する前に較正される。カメラ312A及び312Bを較正するために、カメラ312A及び312Bは、カメラレンズに対して異なる角度及び距離において基準パターンの画像を取り込むことができ、空間平均二乗(RMS)誤差が、取り込まれた画像パターンと基準パターンとの間の差を決定することによって計算することができる。RMS誤差が誤差閾値を満たす場合、カメラ312A及び312Bの設定値を調整して、カメラ312A及び312Bを再較正することができる。カメラ312A及び312Bの設定値を調整することには、取り込まれた基準画像を変更する任意の動作が含まれ得る。それらの動作には、カメラの位置を調整すること、カメラ312A及び312Bのレンズ位置を調整すること、並びにカメラ312A及び312Bのズーム量を調整することのうちの1つ以上を含むことができるが、これらに限定されない。
【0064】
[0071] カメラ312A及び312Bの設定値を調整した後、別の画像のセットが取り込まれ、第2のRMS誤差が計算され得る。この較正プロセスは、RMS誤差がもはや誤差閾値を満たさなくなるまで繰り返すことができる。
【0065】
[0072] 図5は、囲い網システムなどの決定された区域内に魚モニタリングシステムを構成するための方法に関するフローチャートを示す。モニタリングシステムは、図1に関して説明されたシステム100に対応することができる。カメラシステムコントローラ及びプロセッサなどの、モニタリングシステムの1つ以上のコンポーネントは、定期的に訓練されて、モニタリングシステムの性能及び信頼性を向上させることができる(S505)。ニューラルネットワーク、機械学習法、及び分類器が、カメラシステムコントローラ及びプロセッサに統合され、それらによって利用されて、様々な方法でモニタリングシステムを訓練することができる。
【0066】
[0073] いくつかの実施態様では、システム管理者が、画像を訓練データとして提供することができる。場合によっては、モニタリングシステム内の1つ以上のカメラシステムによって以前に取得された画像は、訓練画像データとして使用することができる。訓練画像は、ばらつきを伴う様々な魚の画像を含み得、当該魚、及び当該魚の特徴を識別するタグ又はラベルを提供することができる。照明条件、温度条件、カメラの場所、決定された区域のトポロジー、流れの方向又は強度、塩分レベル、酸素レベル、魚の活動、及び画像が取り込まれた時点でのタイミングデータ、のうちの1つ以上を示す文脈訓練データもまた、訓練画像と共に提供され得る。
【0067】
[0074] 機械学習技術を使用して、訓練画像と文脈訓練データとの間の様々な関係を決定することができる。例えば、モニタリングシステムは、魚が頻繁に摂食する場所及び深度、魚が好んで遊泳する流れ条件、魚が特定の活動、例えば、睡眠、摂食、群泳に従事する照明、温度、又は塩分レベルを決定することができる。モニタリングシステムはまた、魚が特定の活動に従事するタイミングも決定することができる。例えば、魚が、決定された区域の特定の領域内で、午後7時~7時25分に最も頻繁に餌を食べる場合、モニタリングシステムは、魚が頻繁に餌を食べる1つの時間帯としての午後7時~7時25分の時間帯、及び魚が頻繁に餌を食べる場所としての当該特定の領域を決定することができる。
【0068】
[0075] モニタリングシステムはまた、訓練データに基づいて、好ましいカメラの位置及び場所を学習することもできる。例えば、訓練画像及び文脈訓練データを使用して、モニタリングシステムは、特定の場所及び深度におけるどのカメラを使用して特定の種類の高品質画像を取り込むことができるかを学習することができる。モニタリングシステムはまた、特定の場所におけるカメラをどのように位置決めするか、及び魚の品質画像を取得するために利用され得るカメラ設定値を学習することもできる。例えば、4°の角度で位置決めされたカメラが、より枚数の少ない魚の画像、又は魚体全体を取り込んでいない魚の画像を取り込む場合、逆に、84°の角度で位置決めされたカメラが、より枚数の多い魚の画像、又は魚体全体を取り込んでいる魚の画像を取り込む場合、モニタリングシステムは、カメラが84°の角度で位置決めされて魚の画像を取得するべきであると決定することができる。
【0069】
[0076] 別の例として、モニタリングシステムは、第1の種類の魚が決定された区域の周りを円形パターンで深度5メートルにて最も頻繁に遊泳すること、及び第2の種類の魚が午後7時~7時25分に、決定された区域の北西象限にて最も頻繁に餌に群がることを決定することができる。次いで、モニタリングシステムは、深度5メートルからの閾値高さの差以内に配置されているカメラA、B、及びCを識別し、これらのカメラを使用して第1の種類の魚が遊泳している画像を取得することができる。閾値高さの差を満たさない、カメラシステム内の他のカメラは、第1の種類の魚の遊泳を撮像する目的のためには作動しないように構成することができる。閾値高さの差は、モニタリングシステムの管理者によって設定されてもよく、異なる深度において変化し得る。
【0070】
[0077] モニタリングシステムはまた、決定された区域の北西象限内に配置されたカメラF、H、及びKを識別し、毎日午後7時~7時25分にそれらのカメラを作動させて第2の種類の魚が餌を食べる画像を取得することもできる。カメラF、H、及びK以外のカメラは、第2の種類の魚の摂食を撮像する目的には作動しないように構成することができる。例えば、北西象限内の固定された場所にある魚給餌装置を利用して、特定の時間に魚の餌を解放するような事例では、モニタリングシステムは、カメラF、H、及びKをさらに制御して給餌時間に魚給餌装置に向けることができる。カメラ方向は、図4B及び図4Dに関して説明したように、アクティブ旋回軸を使用してカメラを回転させること、又は、例えば、図2E及び図2Fに関して説明したように、カメラを特定の方向に面するように移動させること、によって制御することができる。
【0071】
[0078] いくつかの実施態様では、ラベル又はタグデータが訓練画像内に含まれていない場合、分類器を使用して、各画像内に描写されている魚の種類、画像内の各魚の場所、画像内の各魚の特徴の有無を分類することができる。例えば、より高速の再帰型畳み込みニューラルネットワーク(RCNN)を利用して、画像内の魚、及びその画像内の当該場所を検出することができる。セマンティックセグメンテーション、DeepPose操作、及び畳み込みニューラルネットワークのうちの1つ以上を使用して、画像内の魚の特徴を決定することができる。
【0072】
[0079] 分類器はまた、画像内の魚の体の位置、及び魚が画像内で従事している可能性が高い活動の種類から、カメラに対する魚の体の角度を決定することもできる。ニューラルネットワーク、機械学習方法、及び分類器を使用すると、モニタリングシステムは、画像内の魚の種類、その特徴、例えば、ひれ、尾、及び特性、例えば、画像内で検出された魚の特徴のうちの形状、サイズ、色、画像内の魚の場所、画像内に取り込まれた魚のカメラ位置及び視野角、魚が従事している1つ以上の活動と関連付けられている場所、決定された区域のトポロジー、タイミング、照明、深度、塩分、流れ、温度などの1つ以上の条件を学習又は識別するように訓練され得る。
【0073】
[0080] 訓練に基づいて、モニタリングシステムは、複数のカメラを含む当該カメラシステムのための動作のモニタリングモードを決定することができる。各モニタリングモードは、以下の表Iに示すように、関連付けられた条件及びパラメータのセットを有することができる。
【表1】
【0074】
[0082] 表Iに示すように、モニタリングシステムは、複数のモニタリングモードを有することができる。モニタリングモードは、同じ種類の魚の場合、例えば、タイセイヨウサケの場合には2つのモード、又は異なる種類の魚、例えば、カラフトマス及びニジマスの場合があり得る。これらのモードは、活動、活動時間、活動場所、活動の画像を取得するために使用され得るカメラ、及びタイミング、照明、深度、塩分、流れ、温度などの、活動と関連付けられている条件などの、特定のパラメータ及び条件の値を学習している場合がある。表Iに一覧表示されている値、カメラ、及び魚の識別名は、典型的かつ例示的な目的のためのものである。様々な魚に対するモニタリングモードの様々な構成が、モニタリングシステムによって、学習及び決定され得る。
【0075】
[0083] 表Iには示されていないが、特定のカメラが、あるモードと関連付けられている場合、カメラの場所、アクティブ旋回軸の回転角度、レンズの焦点、及びズームのうちの1つ以上などのカメラ設定値もまた、その特定のカメラに対して保存される。場所情報が、決定された区域をマッピングするために使用される座標系に基づいて、提供され得る。直交座標又は円筒座標を使用した3D座標系を使用することができる。いくつかの実施態様では、全地球測位システム(GPS)座標が使用され、緯度又は経度情報を指定することができる。
【0076】
[0084] 一例として、群泳に従事しているタイセイヨウサケの画像がカメラA、C、及びEを使用して取得され得ることを、モードAが示すことができる。カメラA、C、及びEのそれぞれの設定値もまた、モードAに保存され得る。タイセイヨウサケは、8,000~10,000ルクスの範囲の光レベルを伴う流れに逆らって遊泳するときに、通常、午前7時~7時40分及び午後5時15分~5時50分に群泳に従事する場合がある。群泳活動は、決定された区域をマッピングするために使用される3D直交座標系のうちの1次元の2~20の範囲に対応する特定の深度で発生する可能性がある。この範囲は、例えば、決定された区域内で1~8メートルの深度に対応し得る。「x」などの標識を使用して、すべての可能な値を示すことができる。例えば、モードAの場合の位置座標は、(x,2~20,x)であり、これは、群泳活動が座標系の様々なx値及びz値で発生するが、y座標では、2~20の範囲で発生していることを示す。
【0077】
[0085] いくつかのモニタリングモードでは、特定のパラメータ又は条件の値を提供するための十分な情報が存在しない場合があり、表Iに示すように、表Iは、「不適(n/a)」などの標識を使用して、特定のパラメータ又は条件、例えば、モードC及びEにおける時間パラメータ、並びにモードBの場合の条件に対して、十分な情報が利用不可能であることを示す場合がある。いくつかのモードでは、パラメータ又は条件のうちの1つ以上が、モニタリングモードを実行するために、任意選択可能又は必須とすることができる。例えば、モニタリングモードE及びFを実行するための34pptの塩分レベルを有する条件は、任意選択可能とすることができる。場合によっては、遊泳活動と関連付けられているモードの場合、時間パラメータは、任意選択可能とすることができる。給餌と関連付けられているモードなどの他のモードの場合、時間パラメータは、モードを実行するために重要である場合がある。
【0078】
[0086] 前述の説明で説明したように、モニタリングシステムは、ニューラルネットワーク、機械学習方法、及び分類器を使用して訓練され得、訓練に基づいてモニタリングモードの動的リストを生成することができる(S510)。この訓練は、継続的なプロセスであり得、モニタリングシステムは、その訓練に基づいて、モニタリングモードを動的に作成又は変更することができる。
【0079】
[0087] 訓練の後、モニタリングシステムを使用して、最小限の操作者、又は人間の介在を伴って、魚の画像を取り込むことができる。当該センサネットワークを使用して、モニタリングシステムは、決定された区域内の様々な場所における1つ以上の条件を示すデータを受信することができる(S510)。センサから受信したデータとしては、光度レベル、温度レベル、塩分レベル、酸素レベル、検出された運動及び運動の種類、流れの方向及び大きさ、並びに1つ以上の画像が含まれ得るが、これらに限定されない。これらのセンサは、固定又は可変の場所に配備され得、センサから受信したデータはまた、時間及び場所データなどのパラメータデータも含み得(S515)、したがって、モニタシステムは、決定された区域内の異なる場所に存在する条件の種類を決定することができる。
【0080】
[0088] いくつかの実施態様では、決定された区域内の条件を示すデータは、モニタリングシステムの管理者によって提供され得る。したがって、管理者は、コンピュータシステムを使用してデータを入力し、決定された区域内の1つ以上の場所における条件を記述することができる。管理者が情報を入力するための機能により、モニタリングシステムは、モニタリングシステム装置、例えば、センサが検出することができなかった可能性のある追加データを受信することができ、場合によっては、管理者がモニタリングシステム内の故障デバイスから再度受信したデータを修正することができる。
【0081】
[0089] 決定された区域内のパラメータ及び条件を示すデータを受信した後、モニタリングシステムは、カメラシステムのモニタリングモードを決定することができる(S520)。いくつかの実施態様では、モニタリングシステムは、検出された条件及びパラメータが1つ以上のモニタリングモードに一致するかどうかを判定することによって、モニタリングモードを決定することができる。例えば、午前2時頃に、タイヘイヨウハリバットを有する囲い網システム内の(55,-2,2)なる場所付近で、温度が50°~54°Fの範囲内であり、かつ光度レベルが100~400ルクスの範囲内であることを示す、センサからのデータを、モニタリングシステムが受信した場合、表Iに示すように、モニタリングシステムは、モニタリングモードEが実行されるべきであることを決定することができる。
【0082】
[0090] 一般に、モニタリングシステムにより検出されたパラメータ及び条件と、保存されているモニタリングモードと関連付けられているパラメータ及び条件との間の適合が適合閾値を満たす場合、そのとき、モニタリングモードが選択され得る。例えば、適合閾値が70%に設定されている場合、そのとき、モニタリングモードは、モニタリングシステムにより検出されたパラメータ及び条件と、保存されているモニタリングモードと関連付けられているパラメータ及び条件との間の適合が、70%以上である場合にのみ選択され得る。
【0083】
[0091] いくつかの実施態様では、1つ以上のモニタリングモードは、そのモニタリングシステムにより検出されたパラメータ及び条件が、1つ以上のモニタリングモードと関連付けられているパラメータ及び条件と一致する量に基づいて、スコア化され得る。1つ以上のモニタリングモードのスコアの中で最高スコアを有するモニタリングモードを選択することができる。
【0084】
[0092] いくつかの実施態様では、閾値適合に加えて、モニタリングモードが必要とされる条件又はパラメータを有する場合、必要とされる条件又はパラメータも満足しなければならない。例えば、表I中のモードDなどのモニタリングモードが、必要とされる100~400ルクスの光度条件を有する場合、そのとき、モードDは、場所(x,10~20,-10~-40)において検出された光レベルが100~400ルクスに該当しない限り、選択することができない。いくつかの実施態様では、モニタリングモードを選択するために、魚の種類などの特定のパラメータを満たす必要がある。
【0085】
[0093] いくつかの実施態様では、モニタリングシステムは、モニタリングシステムの管理者から受け取った命令に従って、モニタリングモードを決定することができる。管理者から受け取った命令は、モニタリングシステムにより決定された適合モニタリングモードを無効又は確認することができる。例えば、管理者が、午前7時に、命令をモニタリングシステムに送信して、モードBの代わりに、表Iに示すように、モードAを実行することができる。
【0086】
[0094] モニタリングシステムのモニタリングモードを決定した後、モニタリングシステムは、決定されたモニタリングモードに従ってカメラ設定値を構成することができる(S525)。例えば、表Iに戻って参照すると、モニタリングシステムがモードAを選択した場合、カメラシステム内のカメラA、C、及びEは、モードAで指定されたカメラ設定値に従って作動及び構成することができる。カメラ設定値は、カメラの場所、カメラの傾斜角度、カメラに取り付けられたアクティブ旋回軸により使用される回転角度、ズームレベル、及びカメラレンズの設定値を指定することができる。次いで、モニタリングシステムは、カメラA、C、及びE内のマイクロコントローラに命令を送信し得、そのマイクロコントローラは、受信した命令を実行して、特定のモードのために保存されたカメラ設定値に従ってカメラを構成する。場合によっては、カメラの場所が可変である場合、モニタリングシステムはまた、図2E及び2Fを参照して説明したレール及び受容プレートなどの、モニタリングシステム内の装置にも命令を送信して、決定されたモニタリングモードにより指定された場所にカメラを移動させることができる。
【0087】
[0095] いくつかの実施態様では、モニタリングシステムが1つ以上のモニタリングモードを使用するように決定したときに、決定されたモニタリングモードを実施するようには構成されていないいずれのカメラも停止させることができる。例えば、表Iに示すように、モニタリングモードB及びFのみが24時間の期間中実施され得ることを、モニタリングシステムが決定した場合、カメラC、D、及びHは、モニタリングモードB及びFで指定された設定値に従って構成することができ、カメラA、B、及びE~Gなどの他のカメラは、24時間の期間中、停止され得る。
【0088】
[0096] カメラシステム内のカメラを構成した後、モニタリングシステムは、決定したモニタリングモードに従って魚の画像を取得することができる(S530)。例えば、表Iに示すようにモニタリングモードB及びDが選択されている場合、例えば、表Iに示すように、モニタリングモードB及びDが選択されている場合、カメラCは、午前6時20分~7時20分に魚の画像を取得し、カメラB及びFは、午前2時~3時30分に魚の画像を取得する。
【0089】
[0097] カメラシステムにより取り込まれた画像は、ケーブルを介してコンピュータシステムに送信され得、そのコンピュータシステムは、その画像をさらに処理及び分析することができる。いくつかの実施態様では、モニタリングシステムは、品質試験を実行して、取得された画像が品質閾値又は品質係数を満たすかどうか判定することができる(S535)。例えば、モニタリングシステムは、取り込まれた画像が正しい魚の種類のものかどうか、又は画像品質が、ぼやけ、魚の部分的又は不完全な撮像、ノイズ、不十分な明るさ、及び魚の画像内の障害物などの要因によって、十分に折り合っていないかどうかを判定することができる。
【0090】
[0098] 場合によっては、品質係数には、重みが割り当てられ得、画像の正味の品質評価(NQR)を、係数、及びそれらのそれぞれの重みに基づいて決定することができる。一例として、正味の品質評価は、式1を使用して計算することができる。
式1
NQR=(魚の種類)(W1)+(ぼやけ)(W2)+(完全な魚の画像)(W3)+(十分な明るさ)(W4)+(ノイズのないこと)(W5)+(画像障害物のないこと)(W6)
【0091】
[0100] 重みW1~W6は、異なる値を割り当てることができる。例えば、いくつかの場合には、魚の種類係数は、例えば、0.8よりも大きい、最も高い重量を有する場合がある。正味の品質評価NQRが、管理者によって設定された品質閾値を満たす場合、以下にさらに説明されているように、画像は、保存され得、1つ以上の用途に利用され得る。モニタリングシステムはまた、作動したカメラから受信した画像が品質閾値を満たす画像を提供している場合、より多くの画像を取得するように、作動したカメラに命令することもできる。
【0092】
[0101] 画像の正味の品質評価NQRが品質閾値を満たし損なった場合、その画像は、保存又は利用され得ず、モニタリングシステムは、動作S510に戻ってモニタリングシステム内の条件及びパラメータを検出することができる。モニタリングシステム内の条件及びパラメータを識別する際に任意のエラーがあった場合、そのエラーは、モニタリングシステム内の条件及びパラメータを示すデータを受信するプロセスを繰り返すことによって、矯正することができる。さらに、いくつかの実施態様では、品質閾値を合否する画像は、訓練画像として使用されてモニタリングシステムをさらに訓練することができる。それによって、モニタリングシステムは、取得した画像に基づいて、モニタリングモードを継続的に学習及び調整することができる。
【0093】
[0102] 品質閾値に合格する画像は、1つ以上の用途のために使用することができる。例えば、給餌装置を使用して魚に餌を与え、魚の摂食に関連したモニタリングモードで取得された画像が実行されている場合、モニタリングシステム又はモニタリングシステム管理者は、魚がもはや、取得した画像内で餌を食べていない場合、給餌装置をスイッチオフにすることができる。これにより、餌の浪費、及び魚の過食を防止する。さらに、管理者は、決定された区域の一部での魚の行動に関するリアルタイムの情報を取得することができ、その情報は、それ以外の方法では、モニタリングシステムなしでは管理者が見ることができない。
【0094】
[0103] 別の例として、特定の活動に従事している魚の画像を取得することによって、研究者は、行動パターンを分類し、魚が特定の活動に従事しているときの、魚の行動についてさらに学習することができる。各モードは特定の活動に対してカスタマイズすることができるため、研究者は、どの画像が調査対象の活動に該当するのかを識別するために何千枚もの画像にわたって選別する必要がない。逆に、適切なデータのみが研究者に提供される。
【0095】
[0104] 別の例として、図7A図7B、及び図8に関して以下でさらに詳細に説明するように、魚の画像を取得し、魚の特徴を識別することにより、モニタリングシステムは、魚を追跡し、プロファイルを調べ、魚が病気であるか、異常な行動をしているか、食べているか、食べていないかなどの魚の特性及び行動を示す情報を提供することができる。
【0096】
[0105] 魚の画像を取得するためのカメラを制御及び構成するための機能は、様々な利点を提供することができ、数多くの用途に使用することができる。いくつかの利点には、機械学習に基づいて、カメラを位置決めし、カメラ設定値を構成して、魚の品質画像を取得することができることが含まれる。研究者及びシステム管理者は、魚に関する数多くの無関係又は貧弱な品質画像を通読する必要がない。逆に、モニタリングシステムは、特定の種類の魚及び活動のための画像を取得するように構成することができ、適切でない、又は貧弱な品質の画像を選別して捨てることができる。
【0097】
[0106] さらに、ニューラルネットワーク及び機械学習機能が、モニタリングシステムによって実装されるため、モニタリングシステムは、その訓練データに従ってモニタリングモードを変更又は作成することによって、モニタリングモードを動的に調整することができる。モニタリングシステムにより取得された画像はまた、訓練目的にも使用されるため、モニタリングシステムは、リアルタイムで定期的に又は継続的に更新することができる。人間の介入又は入力を最小限に抑えることができる。
【0098】
[0107] 図6A図6Cは、異なるモードで動作する魚モニタリングシステムの典型的な実施態様を図示する。図6A図6Cにおいて、コンピュータシステム610は、決定された区域内に配置されたカメラシステム620と通信することができる。カメラシステム620は、ケーブル及びアクティブ旋回軸625に取り付けられ得、それらは、ケーブルの長手方向軸に沿ってカメラシステム620を回転させることができる。魚給餌装置630が、カメラシステム620に近接して配置され得る。
【0099】
[0108] 図6Aは、流れに逆らって魚が遊泳する画像を取得するためのモニタリングモードが実行されているシナリオを図示する。カメラシステム620は、実行したモニタリングモードによって指定されたカメラ設定値に従って構成されている。カメラシステム620は、カメラシステム620及びコンピュータシステム610に接続された1つ以上のケーブルを介して魚の画像640Aを送信する。
【0100】
[0109] カメラシステム620は、カメラシステム620の半径距離以内で起こる運動を検出する運動センサに接続されている。カメラシステム620は、運動センサがカメラシステム620の半径距離以内で運動を検出するまで、又はモニタリングモードにより指定された期間の満了が実行されるまで、画像640Aを送信し続ける。例えば、図6Bに示すように、カメラシステム620は、魚の運動が運動センサによって検出されなかったとき、又はモニタリングモード内で指定された写真を撮るための期間が満了したときに、画像640Aを送信することを中止する。
【0101】
[0110] しばらくして、カメラシステム620は、魚給餌の画像を取得するための第2のモニタリングモードを実行することができる。いくつかの実施態様では、第2のモニタリングモードは、魚給餌装置630によって餌の解放のタイミングに一致させる画像獲得タイミングを有することができ、その結果、魚給餌装置630は、第2のモニタリングモードが開始すると同時に魚の餌を解放する。次いで、アクティブ旋回軸625は、第2のモニタリングモードにより指定されたカメラ設定値に従ったある角度だけ、カメラシステム620を回転させることができる。
【0102】
[0111] いくつかの実施態様では、カメラシステム620内の運動センサは、魚給餌装置630が魚の餌を解放するときに、魚給餌装置630の周りの魚の運動を検出することができる。カメラシステム620内のマイクロコントローラは、運動センサから運動の方向又は場所を示すデータを受信し、運動が検出された場所に向かって方向付けられるようにカメラシステム620の回転角度を決定することができる。次いで、マイクロコントローラは、アクティブ旋回軸625を制御して、魚の餌を食べる魚の方向にカメラシステム625を回転させることができる。
【0103】
[0112] 回転した後、カメラシステム620は、魚の餌を食べる魚の1つ以上の画像640Bを取得し、1つ以上のケーブルを介して画像640Bをコンピュータシステム610に送信する。同じカメラシステム620は、様々な方向に向けられ得、様々なモニタリングモードの様々なカメラ設定値に従って構成されて、様々な種類の活動に従事する魚の画像を取り込むことができる。
【0104】
[0113] 決定された区域内の関心領域にカメラを位置決めした後、モニタリングシステムは、魚の画像上に追加の処理を実行することができる。図7A及び図7Bは、魚のサイズ、形状、及び重量を決定するための方法の典型的なフロー図を示す。この方法は、図1を参照してさらに説明されるシステムによって実施され得る。システムは、上述したように較正され、囲い網システム内の1つ以上の魚の画像を取得するように構成されているカメラを含むことができる(S705)。それらの画像は、左ステレオカメラ及び右ステレオカメラからそれぞれ取得された左ステレオ画像705A及び右ステレオ画像705Bを含むことができる。
【0105】
[0114] 取り込まれた画像705A、705Bは、前処理され得る(S710)。この前処理は、画像の強調及び修正を含み得る。例えば、画像705A、705Bは、画像品質を向上させるために、ヒストグラム等化、フィルタリング、ぼやけ除去、ブレ除去、又はノイズ除去のうちの1つ以上を実行することによって、強調され得る。場合によっては、光レベルが、例えば、バーストモードで取得された複数の画像を結合することによって、増強されてもよい。場合によっては、画像内の色が、適応ヒストグラム等化を実行することによって強調されてもよい。
【0106】
[0115] 場合によっては、上述したように、貧弱な画像品質を有する画像705A、705Bを取り込むことに応答して、カメラは、再較正されてもよい。例えば、取り込まれた画像705A又は705Bが評価されて、画像の品質、又は画像内の魚の描写を決定することができる。画像705A又は705Bが著しくぼやけている、オクルージョンを有する場合、又は魚がカメラに対して望ましくない角度にある場合、例えば、魚の長手方向軸がカメラに対して垂直でない場合には、カメラは再較正されてもよく、別の画像が取り込まれてもよい。
【0107】
[0116] いくつかの実施態様では、前処理の一部として、取得された画像内の魚の識別が決定され得る。例えば、形態学的マーク、遺伝学的マーク、マイクロタグ、パッシブ一体型トランスポンダタグ、ワイヤタグ、無線タグなどの方法を使用して、タグ又はマークが付けられた魚は、例えば、そのタグ又はマークによって識別されてもよい。いくつかの実施態様では、取得された画像は、検査されて魚の特有のスポットパターンを識別することができる。この特有のドットパターンは、その魚の特色に対応し得、以後及び以前の画像内の魚を識別するのに使用されてもよい。
【0108】
[0117] いくつかの実施態様では、前処理の一部として、左右ステレオ画像705A及び705Bを組み合わせて、任意の好適な画像の組み合わせ、又はステレオ対応技術などの併合技術を使用して単一の画像を形成することができる。対象物検出が実行されて、複数の前処理された画像、又は単一の前処理された画像710A内で魚を検出することができる(S710)。いくつかの実施態様では、より高速な再帰型畳み込みニューラルネットワーク(RCNN)を利用して対象物検出を実行することができる。
【0109】
[0118] いくつかの実施態様では、セマンティックセグメンテーションを実行して、画像内の背景から画像内の魚をセグメント化することができる。セマンティックセグメンテーションにより、魚の詳細な特徴を容易に分析することができる。一般に、様々な好適な対象物検出技術を使用して、単一の前処理された画像710A内の魚を検出することができる。
【0110】
[0119] 図7Aに示すように、境界ボックスを使用して、画像710A内の検出された対象物を識別することができる。境界ボックスは、深度測定に基づく測定された寸法、及びその測定された寸法の誤差マージンの表示を含み得る。境界ボックス、又は検出された対象物は、画像710A内の魚の画像などの、画像710A内の関心領域に対応し得る。複数のフレームが処理されている場合、最近傍アルゴリズムを使用して、フレーム間で最も本当らしく一致する対象物を見つけることができる。
【0111】
[0120] いくつかの実施態様では、深度マップが生成されて、カメラからの魚の距離を決定することができる。深度マップは、任意の好適な技術を使用して生成することができる。例えば、レイリー散乱又は画像アレイ深度再構成を使用して、深度マップを作り出すことができる。さらに、立体カメラ、ソナー、音響カメラ、又はレーザのうちの1つ以上を利用して、カメラレンズからの魚の距離を決定することができる。
【0112】
[0121] 1つ以上の画像、例えば、組み合わされた単一画像、ステレオ画像ペア、又は一連の画像内の魚を検出し、境界ボックスを使用して関心領域を識別した後に、姿勢推定器を使用して、各関心領域内のキーポイントを識別することができる(S715)。いくつかの実施態様では、この姿勢推定器は、DeepPose動作、マルチ魚姿勢推定動作、又は畳み込みニューラルネットワーク動作を実行することができる。画像715Aに示すように、その拡大版が図8に示されているが、キーポイントは、目、鼻孔、えら板、えら蓋、補助骨、胸びれ、側線、背びれ、あぶらびれ、腹びれ、尻びれ、及び尾びれなどの魚の特徴と関連付けられ得る。キーポイントは、画像内の画素位置を反映する数値座標によってラベル付けされ得、魚の特定の特徴と関連つけられ得る。
【0113】
[0122] いくつかの実施態様では、キーポイント及び関連付けられている特徴が画像内で部分的に表示されず、又は視認不可能であり得る場合であっても、姿勢推定器は、キーポイント及び関連付けられている特徴の確率が特定の場所に存在することに基づいて、キーポイント及び関連付けられている特徴らしきものを依然として識別することができる。キーポイント場所の確率は、画像内の魚のありそうな形状、サイズ、もしくは種類、又はその魚の他の特徴の場所、のうちの1つ以上に基づくことができる。例えば、基準として図8を使用すると、あぶらびれが画像内に示すことができなくても、あぶらびれの場所は、画像内の尾びれ及び背びれの位置に基づいて、確率モデルを使用して推定することができる。
【0114】
[0123] 次に、魚の3Dモデル720Aが、魚の特徴に関連付けられている識別されたキーポイントを使用して、生成され得る(S720)。一般に、様々な2-Dの3Dへの変換技術が使用され得る。例えば、いくつかの実施態様では、2D画像内のキーポイントは、深度マップを使用して魚の3Dモデル720Aにマッピングすることができる。深度マップは、ブロックマッチングアルゴリズム、運動からの深度、又はセミグローバルマッチングと相互情報によるステレオ処理などの様々な技術を使用して、決定され得る。ステレオ画像、例えば、左及び右画像の対象物、例えば、魚が検出され得、カメラからの深度が決定され、画像と、検出された対象物との間の差異を使用して、3Dモデル720Aを使用することができる。3Dモデル720Aは、魚の画像の推定された形状及びサイズを提供する。
【0115】
[0124] いくつかの実施態様では、生成された3Dモデル720Aは、スコア化され、ランク付けされ得る。スコア及びランクは、生成された3Dモデルの品質係数、及び魚の取り込まれた画像を反映する。モデル720Aのスコアは、カメラに対する魚の仰角、カメラに対する魚の平坦度、カメラに対する魚の姿勢又は垂直性、カメラに対する魚の距離、又は特定の姿勢をスコア化するためのニューラルネットワークモデル、のうちの1つ以上を含む多くのパラメータに基づいて決定され得る。魚の仰角、平坦度、及び垂直性、並びにカメラからの魚の距離の値は、深度マップを決定するとき、及びキーポイントの場所を決定するときなどの、以前の動作の中で決定され得る。場合によっては、様々なパラメータが、様々な重みに割り当てられ得る。
【0116】
[0125] 例えば、場合によっては、より大きい仰角を有する魚、又はカメラからより大きい距離にある魚は、低いスコアを有し得る。場合によっては、魚がカメラに対して比較的垂直又は水平には見えない魚の画像は、より低いスコアが付けられ得る。場合によっては、決定されたキーポイントの数を使用して、スコアを計算することができる。例えば、より多くのキーポイント数が画像から決定された画像に対して、又はより少ないキーポイントが、画像内で視認できる1つ以上のキーポイントの不足に起因して、確率モデルを使用して決定された画像に対しては、より高いスコアが与えられ得る。一般に、スコアが高いほど、画像及び3Dモデルの品質は、より良好である。
【0117】
[0126] 3Dモデル720Aのスコアは、利用可能である場合、同じ魚に対する3Dモデルの他のスコア化と並行してランク付けされ得る(S725)。例えば、図7Bの項目725Aに示すように、A312などの識別表示を割り当てられた魚の3Dモデル720Aは、86のスコアを有し、23にランク付けされている。一般に、上で説明した基準を使用する、様々な種類のスコア化システム及びランク付けシステムが利用され得る。
【0118】
[0127] スコア又はランク付けが閾値を満たす場合、3Dモデル720Aを利用して、魚の重量を決定することができる(S730)。例えば、閾値がスコア85以上、又はランク25以上である場合、3Dモデル720Aは、項目725Aに示されたスコア及びランクに基づいて、閾値を満たすことができる。この閾値は、様々な魚、環境、又は囲い網システムに対して、各様に設定することができる。
【0119】
[0128] 魚の重量を決定するために、線形回帰モデルを使用して、3Dモデル720Aを重量にマッピングすることができる。例えば、3Dモデル720A内のキーポイントの座標を使用して、2つのキーポイントと決定距離との間の距離を決定することができ、キーポイントを線形回帰モデルに入力して魚の推定重量を決定することができる。図7Bの項目730Aに示すように、A312のIDを有する撮像された魚は、23ポンドの推定重量を有し得る。
【0120】
[0129] 次いで、画像内に取り込まれた魚の推定された重量、形状、サイズ、及び3Dモデルは、結果として出力することができる(S735)。この結果は、いくつかの方法で出力され得る。例えば、場合によっては、3Dモデル720A、並びに推定された重量、形状、及びサイズは、コンピュータ装置のディスプレイ735A上に表示することができる。場合によっては、それらの結果は、データベース内の、その魚のための魚プロファイルに保存することができる。それらの結果は、その魚と関連付けられている以前の結果に追加又は集約することができる。重量及びサイズ寸法に対する新しい平均値が、定期的に決定され得、又は各時間に新しい結果が、生成される。
【0121】
[0130] いくつかの実施態様では、保存された魚データは、魚の追跡記録を提供することができる。例えば、魚は、囲い網システム内で、その魚の終生にわたって追跡され得る。魚は、誕生からその成長を通じて、完全に育った成魚になるまで、追跡することができる。したがって、魚が経験した変化の詳細なタイミング及び種類が、記録され得る。研究者又は魚購入者などのグループが魚の履歴についてより多くを学ぶことに興味を持った場合、魚データベースに照会して、魚の履歴に関する情報を検索することができる。
【0122】
[0131] いくつかの実施態様では、その結果を提供して、姿勢推定器を訓練することができる。例えば、魚の画像及び当該決定された3Dモデル、推定された重量、形状、及びサイズを基準として提供して、訓練データとして姿勢推定器を訓練するか、又は全体的な魚重量計算のための加重平均として使用することができる。それらの結果に対するフィードバックが利用可能である場合、そのフィードバックもまた、訓練データとして提供することもできる。例えば、批評者が、その結果を閲覧した後に、その結果が貧弱な推定であることを示した場合、批評者のフィードバックは、姿勢推定器への訓練データとして提供され得る。
【0123】
[0132] 一般に、魚は、長期間にわたって、また短期間にわたって追跡され得る。短期間の追跡の場合、魚の継続的なビデオが、カメラシステムを制御することによって得ることができ、その結果、カメラシステム内のカメラは、魚が移動するときに、魚の画像を定期的に又は継続的に取り込むことができる。場合によっては、カメラシステムは、魚の動きを自動的に追跡するようにプログラム動作され得る。場合によっては、カメラシステムを、ユーザ、例えば、システム管理者によって手動で制御して、魚の動きを追跡することができる。
【0124】
[0133] 長期間の追跡の場合、定期的な魚画像が、例えば、数日毎、数週間毎、又は数ヶ月毎に取得することができる。魚を識別するための方法を利用して、画像内の魚が同一物であることを確認し、識別された魚のプロファイルを更新することができる。例えば、場合によっては、魚を識別するための方法は、表現学習を介して魚の画像から特徴を抽出することを含むことができ、その表現学習は、メトリック損失を使用して、当該魚のポジティブ画像サンプル、すなわち同じ魚、及びネガティブ画像サンプル、すなわち異なる魚に基づいて、特徴抽出器を学習させるものである。場合によっては、ハンドエンジニアリングを使用して、魚の画像から特徴を抽出することができる。
【0125】
[0134] 特徴抽出の結果は、魚画像を高次元ベクトル空間内のベクトルにマッピングする関数である。画像内の魚の各検出は、新しい観察、例えば、最初の光景であるか、又は他の例のクラスター、例えば、繰り返し訪問に近いものかのどちらかである。クラスタリングアルゴリズム、例えば、K平均法又は混合ガウスを使用して、クラスターを計算することができる。魚が成熟するに従って時間の経過と共に、クラスターは、ドリフト又は拡張し得、この進展を追跡することができる。
【0126】
[0135] 図7Bに戻って参照すると、いくつかの実施態様では、撮像された魚の重量を決定した後、システムは、魚のさらなるデータがユーザによって要求されるか、又は必要とされているかどうかを判定することができる。魚のさらなるデータが要求又は必要とされる場合、システムは、動作S705から始まる、図7A及び図7Bの動作を繰り返すことになる。魚のデータがもはや要求又は必要とされない場合、魚の重量、形状、及びサイズを決定するための方法は、終了され得る。
【0127】
[0136] 魚に対する追加のデータのための要求は、明示的又は暗黙的であってもよい。例えば、場合によっては、システムは、プログラムされて、魚の平均重量を決定するための複数のデータセットを取得することができ、測定は、データセットの必要数が得られるまで、繰り返され得る。場合によっては、システムは、ユーザからの要求を受信して、特定の魚のための追加データを取得することができる。
【0128】
[0137] 上記の実施態様は、魚画像を取得することに関して説明してきたが、実施態様は、虫、寄生虫、及びイカなどの、水中に生きる様々な好適な対象物の画像を取得するために、実施することができる。モニタリングモードは、様々な異なる設定値に従って構成することができること、及びコンピュータシステムが、同時に又は異なる時間帯に複数のカメラと通信してモニタリングモードを実行することができることも理解されたい。
【0129】
[0138] 本明細書に記載された実施形態、並びに機能的動作及び/又は操作は、デジタル式電子回路内に、もしくは、本明細書に開示された構造体、及びそれらの構造上の等価物を含むコンピュータソフトウェア、ファームウェア、もしくはハードウェア内に、又はそれらのうちの1つ以上を組み合わせて、実装することができる。実施形態は、1つ以上のコンピュータプログラム製品、例えば、データ処理装置により実行するための、又はデータ処理装置の動作を制御するための、コンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1つ以上のモジュールとして、実装されてもよい。コンピュータ可読媒体は、機械可読記憶装置、機械可読記憶基板、メモリ装置、機械可読伝播信号を引き起こす物質の組成物、又はこれらのうちの1つ以上の組み合わせであってもよい。「データ処理装置」という用語は、データを処理するためのすべての装置、デバイス、及び機械を包含し、それらには、例として、プログラマブルプロセッサ、コンピュータ、又は複数のプロセッサもしくはコンピュータが含まれる。それらの装置は、ハードウェアに加えて、コンピュータプログラムのための実行環境を作り出すコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらのうちの1つ以上の組み合わせを構成するコードを含んでもよい。伝播信号は、人工的に生成された信号、例えば、好適な受信機装置に伝送するための情報を符号化するように生成される、機械で生成された電気的、光学的、又は電気磁気的信号である。
【0130】
[0139] コンピュータプログラムはまた、プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られており、コンパイル式又はインタープリット式言語を含む、任意の形式のプログラミング言語で記述することができ、独立型プログラムとして、又はモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境で使用するために好適な他のユニットとして含まれる任意の形式で導入されてもよい。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応する必要はない。プログラムは、他のプログラム又はデータを保持するファイルの一部に、問題のプログラム専用の単一のファイル、又は複数の調整ファイルに格納することができる。コンピュータプログラムは、1つのサイトに配置されるか、又は複数のサイトにわたって分散、かつ通信ネットワークにより相互接続された、1つのコンピュータ上又は複数のコンピュータ上で、実行され得る。
【0131】
[0140] 本明細書に記載されたプロセス及びロジックフローは、1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実行され得、そのコンピュータプログラムは、入力データ上で動作し、出力を生成することによって動作を実行する。プロセス及びロジックフローはまた、専用論理回路、例えば、フィールドプログラマブルゲートアレイ(FPGA)又は特定用途向け集積回路(ASIC)によって実行され得、装置もまた、それらのものとして実装され得る。
【0132】
[0141] コンピュータプログラムの実行のために好適なプロセッサとしては、例として、汎用及び専用の両用マイクロプロセッサ、並びに任意の種類のデジタルコンピュータのうちの任意の1つ以上のプロセッサが含まれる。一般に、プロセッサは、読み取り専用メモリもしくはランダムアクセスメモリ、又はその両方から命令及び/又はデータを受信することになる。プロセッサは、ハードウェア及びソフトウェアの任意の好適な組み合わせを含むことができる。
【0133】
[0142] コンピュータの要素には、命令を実行するためのプロセッサ、並びに命令及びデータを格納するための1つ以上のメモリ装置が含まれ得る。一般に、コンピュータはまた、データを格納するための1つ以上の大容量記憶装置、例えば、磁気ディスク、光磁気ディスク、もしくは光ディスクを含み、又は大容量記憶装置からデータを受信もしくは転送又はその両方を行うように動作可能に大容量記憶装置に結合されることになる。さらに、コンピュータは、別の装置、例えば、ユーザ装置内に内蔵されてもよい。コンピュータプログラム命令及びデータを格納するための好適なコンピュータ可読媒体は、不揮発性メモリ、媒体、及びメモリ装置のすべての形態を含み、例として、EPROM、EEPROM、及びフラッシュメモリ装置などの半導体メモリ装置、磁気ディスク、例えば、内蔵ハードディスク又は取り外し可能ディスク、光磁気ディスク、並びにCDROM及びDVD-ROMディスクが含まれる。プロセッサ及びメモリは、専用ロジック回路によって補足され、又はそれに組み込まれ得る。
【0134】
[0143] 本明細書は多くの特定例を含んでいるが、これらは、本開示、又は請求され得る事項の範囲に限定したもとして解釈されるべきではなく、逆に特定の実施形態に特有の特徴に関する説明として解釈されるべきである。別々の実施形態の文脈で、本明細書に記載されている特定の特徴はまた、単一の実施形態の中に組み込んで実施することもできる。逆に、単一の実施形態の文脈で、本明細書に記載されている様々な特徴はまた、複数の実施形態の中で、別々に、又は任意の好適な副組み合わせで実施することもできる。さらに、各特徴は、特定の組み合わせで動作するものとして上記に説明され得、同様に特許請求の範囲にも記載されているが、特許請求された組み合わせからの1つ以上の特徴が、場合によっては、その組み合わせから削除され得、特許請求された組み合わせは、副組み合わせ、又は副組み合わせの変形例に向かわせる場合がある。
【0135】
[0144] 同様に、動作が特定の順番で図面に図示されているが、これは、係る動作がその示された特定の順番、もしくは一連の順番で実行されるべきであること、又は例証したすべての動作が、所望の結果を達成するために実行されるべきであることを要求するものとして理解されるべきではない。さらに、上述した実施形態中の様々なシステムコンポーネントの分離は、すべての実施形態において係る分離を必要とするものとして理解されるべきではない。記載されたプログラムコンポーネント及びシステムは、一般に、単一のソフトウェア製品内に共に一体化されてもよく、又は複数のソフトウェア製品にパッケージ化されてもよい。
【0136】
[0145] 1つ以上という表現、及び少なくとも1つという表現は、任意の要素の組み合わせを含む。例えば、A及びBのうちの1つ以上という表現は、A、B、又はA及びBの両方を含む。同様に、A及びBのうちの少なくとも1つ以上という表現は、A、B、又はA及びBの両方を含む。
【0137】
[0146] したがって、特定の実施態様が説明されてきた。他の実施態様は、以下の請求項の範囲内に存在する。例えば、請求項に記載された動作は、異なる順番で実行されてもよく、依然として望ましい結果を達成することができる。
図1
図2A
図2B
図2C
図2D
図2E
図2F
図3A
図3B
図4A
図4B
図4C
図4D
図4E
図5
図6A
図6B
図6C
図7A
図7B
図8