(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-14
(45)【発行日】2023-09-25
(54)【発明の名称】動的監視のためのカメラウインチ制御
(51)【国際特許分類】
A01K 61/10 20170101AFI20230915BHJP
【FI】
A01K61/10
(21)【出願番号】P 2022538473
(86)(22)【出願日】2021-02-03
(86)【国際出願番号】 US2021016387
(87)【国際公開番号】W WO2021158644
(87)【国際公開日】2021-08-12
【審査請求日】2022-08-16
(32)【優先日】2020-02-07
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】516326438
【氏名又は名称】エックス デベロップメント エルエルシー
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100126480
【氏名又は名称】佐藤 睦
(72)【発明者】
【氏名】ジェームズ,バーナビー ジョン
(72)【発明者】
【氏名】キチカイロ,タチアナ
(72)【発明者】
【氏名】キンボール,ピーター
(72)【発明者】
【氏名】ソーントン,クリストファー
【審査官】吉田 英一
(56)【参考文献】
【文献】国際公開第2019/232247(WO,A1)
【文献】国際公開第2019/188506(WO,A1)
【文献】国際公開第2019/017132(WO,A1)
【文献】国際公開第2014/098614(WO,A1)
【文献】国際公開第2009/008733(WO,A1)
【文献】米国特許出願公開第2007/0045601(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
A01K 61/10
(57)【特許請求の範囲】
【請求項1】
バイオマス監視システムによって実行される方法であって、
囲いに含まれ、ウインチサブシステムに結合された1つ以上のセンサーによって監視される、1つ以上の
水生家畜オブジェクトを含む
水生家畜の1つ以上の特性を表す1つ以上のメトリックを受信することであって、
前記
水生家畜の前記1つ以上の特性を表す前記1つ以上のメトリックを受信することは、前記1つ以上の
水生家畜オブジェクトのそれぞれから前記1つ以上のセンサーまでの各距離の中央値に対応する、前記1つ以上のセンサーから前記
水生家畜までの距離の中央値を決定することを含む、受信することと、
前記距離の中央値が、距離の中央値の上限閾値以上であると決定することと、
前記距離の中央値が、前記距離の中央値の上限閾値以上であると決定することに基づいて、前記1つ以上のセンサーを移動する位置を決定することと、
前記1つ以上のセンサーの動きに関連する情報を含む命令を決定することであって、前記命令の前記情報は、前記1つ以上のセンサーを前記
水生家畜に近づけることに関する、決定することと、
前記1つ以上のセンサーの位置を変更するために、前記命令を前記ウインチサブシステムに送信することと、を含む方法。
【請求項2】
前記1つ以上のメトリックは、個々の
水生家畜オブジェクトの検出数、ステレオマッチした
水生家畜追跡数、前記
水生家畜の深度オフセットの中央値、前記
水生家畜のオブジェクト追跡期間の中央値、または前記
水生家畜の追跡角度の中央値を含む、請求項1に記載の方法。
【請求項3】
前記1つ以上のセンサーからセンサーデータを受信することと、
前記センサーデータを使用して、前記1つ以上のメトリックを生成することと、をさらに含む、請求項1に記載の方法。
【請求項4】
前記ウインチサブシステムによって、前記命令を受信することと、
前記ウインチサブシステムによって、前記
命令に従って前記1つ以上のセンサーの位置を変更することと、をさらに含む、請求項1に記載の方法。
【請求項5】
前記
水生家畜の
水生家畜オブジェクトのおおよその数を決定することと、
前記
水生家畜オブジェクトのおおよその数が
水生家畜オブジェクトの閾値数より少ないことを決定することと、をさらに含み、
前記命令の前記情報は、前記囲い内における第1の深さから前記囲い内における第2の深さへの、前記1つ以上のセンサーの位置の変化に関する、請求項1に記載の方法。
【請求項6】
前記1つ以上のセンサーの前記囲い内における第1の深さを決定することと、
前記1つ以上のセンサーの前記囲い内における前記第1の深さと基準深さとの間の差である深度オフセット値を計算することと、
前記深度オフセット値が深度オフセット値の閾値以上であると決定することと、さらに含み、
前記命令の前記情報は、前記囲い内における前記第1の深さから前記囲い内における第2の深さへの、前記1つ以上のセンサーの位置の変化に関する、請求項1に記載の方法。
【請求項7】
前記1つ以上のセンサーの前記囲い内における第1の深さを決定することと、
前記1つ以上のセンサーの前記囲い内における前記第1の深さと基準深さとの間の差である深度オフセット値を計算することと、
前記深度オフセット値が深度オフセット値の閾値以上であると決定することと、さらに含み、
前記命令の前記情報は、前記囲い内における前記第1の深さから前記囲い内における第2の深さへの、前記1つ以上のセンサーの位置の変化に関する、請求項1に記載の方法。
【請求項8】
1つ以上の
水生家畜オブジェクトの軌跡と水平線との間に形成される1つ以上の角度の中央値に対応する、前記
水生家畜の追跡角度の中央値を決定することと、
前記
水生家畜の前記追跡角度の中央値が、追跡オフセットの閾値以上であると決定することと、をさらに含み、
前記命令の前記情報は、前記ウインチサブシステムの角度の初期角度から更新された角度への変更に関する、請求項1に記載の方法。
【請求項9】
前記1つ以上の
水生家畜オブジェクトのそれぞれから前記1つ以上のセンサーまでの各距離の中央値に対応する、前記1つ以上のセンサーから前記
水生家畜までの距離の中央値を決定することと、
前記距離の中央値が、距離の中央値の下限閾値以下であると決定することと、をさらに含み、
前記命令の前記情報は、前記1つ以上のセンサーを前記
水生家畜から遠ざけることに関する、請求項1に記載の方法。
【請求項10】
前記メトリックを使用して、
水生家畜が前記囲い内の特定の場所にいる尤度をそれぞれ表す複数のエントリを含む確信行列を生成することをさらに含む、請求項1に記載の方法。
【請求項11】
前記確信行列は、前記複数のエントリの尤度のそれぞれについて、前記尤度の信頼度スコアをさらに含む、請求項10に記載の方法。
【請求項12】
前記命令の前記情報は、前記確信行列の特定のエントリに対応する前記囲い内の特定の場所であって、前記囲い内の他の場所と比較して、
水生家畜が存在する尤度が最も高い特定の場所に、前記1つ以上のセンサーを移動することに関する、請求項10に記載の方法。
【請求項13】
前記1つ以上のセンサーは、カメラ、IRセンサー、UVセンサー、温度センサー、圧力センサー、ハイドロフォン、水流センサー、または、酸素飽和または溶解した固体の量を検出するものなどの水質センサーを含む、請求項1に記載の方法。
【請求項14】
前記
水生家畜の特性は、空腹、病気、傷ついている、または死んでいることを含む、請求項1に記載の方法。
【請求項15】
バイオマス監視システムであって、
1つ以上のコンピュータと、命令を格納する1つ以上のストレージデバイスと、を含み、前記命令は、前記1つ以上のコンピュータによって実行されると、前記1つ以上のコンピュータに、
囲いに含まれ、ウインチサブシステムに結合された1つ以上のセンサーによって監視される、1つ以上の
水生家畜オブジェクトを含む
水生家畜の1つ以上の特性を表す1つ以上のメトリックを受信することであって、
前記
水生家畜の前記1つ以上の特性を表す前記1つ以上のメトリックを受信することは、前記1つ以上の
水生家畜オブジェクトのそれぞれから前記1つ以上のセンサーまでの各距離の中央値に対応する、前記1つ以上のセンサーから前記
水生家畜までの距離の中央値を決定することを含む、受信することと、
前記距離の中央値が、距離の中央値の上限閾値以上であると決定することと、
前記距離の中央値が、前記距離の中央値の上限閾値以上であると決定することに基づいて、前記1つ以上のセンサーを移動する位置を決定することと、
前記1つ以上のセンサーの動きに関連する情報を含む命令を決定することであって、前記命令の前記情報は、前記1つ以上のセンサーを前記
水生家畜に近づけることに関する、決定することと、
前記1つ以上のセンサーの位置を変更するために、前記命令を前記ウインチサブシステムに送信することと、
を含む動作を行わせるように動作可能である、バイオマス監視システム。
【請求項16】
前記1つ以上のセンサーは、カメラ、IRセンサー、UVセンサー、温度センサー、圧力センサー、ハイドロフォン、水流センサー、または、酸素飽和または溶解した固体の量を検出するものなどの水質センサーを含む、請求項15に記載のシステム。
【請求項17】
前記動作は、
前記ウインチサブシステムによって、前記命令を受信することと、
前記ウインチサブシステムによって、前記
命令に従って前記1つ以上のセンサーの位置を変更することと、をさらに含む、請求項15に記載のシステム。
【請求項18】
前記動作は、
前記1つ以上のセンサーからセンサーデータを受信することと、
前記センサーデータを使用して、前記1つ以上のメトリックを生成することと、をさらに含む、請求項15に記載のシステム。
【請求項19】
1つ以上のコンピュータによって実行可能な命令を含むソフトウェアを格納する非一時的コンピュータ可読媒体であって、前記命令は、実行されると、前記1つ以上のコンピュータに、
囲いに含まれ、ウインチサブシステムに結合された1つ以上のセンサーによって監視される、1つ以上の
水生家畜オブジェクトを含む
水生家畜の1つ以上の特性を表す1つ以上のメトリックを受信することであって、
前記
水生家畜の前記1つ以上の特性を表す前記1つ以上のメトリックを受信することは、前記1つ以上の
水生家畜オブジェクトのそれぞれから前記1つ以上のセンサーまでの各距離の中央値に対応する、前記1つ以上のセンサーから前記
水生家畜までの距離の中央値を決定することを含む、受信することと、
前記距離の中央値が、距離の中央値の上限閾値以上であると決定することと、
前記距離の中央値が、前記距離の中央値の上限閾値以上であると決定することに基づいて、前記1つ以上のセンサーを移動する位置を決定することと、
前記1つ以上のセンサーの動きに関連する情報を含む命令を決定することであって、前記命令の前記情報は、前記1つ以上のセンサーを前記
水生家畜に近づけることに関する、決定することと、
前記1つ以上のセンサーの位置を変更するために、前記命令を前記ウインチサブシステムに送信することと、
を含む動作を行わせる、非一時的コンピュータ可読媒体。
【請求項20】
前記1つ以上のセンサーは、カメラ、IRセンサー、UVセンサー、温度センサー、圧力センサー、ハイドロフォン、水流センサー、または、酸素飽和または溶解した固体の量を検出するものなどの水質センサーを含む、請求項19に記載の媒体。
【請求項21】
前記動作は、
前記ウインチサブシステムによって、前記命令を受信することと、
前記ウインチサブシステムによって、前記
命令に従って前記1つ以上のセンサーの位置を変更することと、をさらに含む、請求項19に記載の媒体。
【請求項22】
前記動作は、
前記1つ以上のセンサーからセンサーデータを受信することと、
前記センサーデータを使用して、前記1つ以上のメトリックを生成することと、をさらに含む、請求項19に記載の媒体。
【請求項23】
バイオマス監視システムによって実行される方法であって、
囲いに含まれ、ウインチサブシステムに結合された1つ以上のセンサーによって監視される、1つ以上の
水生家畜オブジェクトを含む
水生家畜の1つ以上の特性を表す1つ以上のメトリックを受信することであって、
前記
水生家畜の前記1つ以上の特性を表す前記1つ以上のメトリックを受信することは、前記1つ以上の
水生家畜オブジェクトのそれぞれから前記1つ以上のセンサーまでの各距離の中央値に対応する、前記1つ以上のセンサーから前記
水生家畜までの距離の中央値を決定することを含む、受信することと、
前記距離の中央値が、前記距離の中央値の下限閾値以下であると決定することに基づいて、前記1つ以上のセンサーを移動する位置を決定することと、
前記1つ以上のセンサーの動きに関連する情報を含む命令を決定することであって、前記命令の前記情報は、前記1つ以上のセンサーを前記
水生家畜から遠ざけることに関する、決定することと、
前記1つ以上のセンサーの位置を変更するために、前記命令を前記ウインチサブシステムに送信することと、を含む方法。
【請求項24】
前記1つ以上のセンサーは、カメラ、IRセンサー、UVセンサー、温度センサー、圧力センサー、ハイドロフォン、水流センサー、または、酸素飽和または溶解した固体の量を検出するものなどの水質センサーを含む、請求項23に記載の方法。
【請求項25】
前記ウインチサブシステムによって、前記命令を受信することと、
前記ウインチサブシステムによって、前記
命令に従って前記1つ以上のセンサーの位置を変更することと、をさらに含む、請求項23に記載の方法。
【請求項26】
前記1つ以上のセンサーからセンサーデータを受信することと、
前記センサーデータを使用して、前記1つ以上のメトリックを生成することと、をさらに含む、請求項23に記載の方法。
【請求項27】
バイオマス監視システムであって、
囲いに含まれ、ウインチサブシステムに結合された1つ以上のセンサーによって監視される、1つ以上の
水生家畜オブジェクトを含む
水生家畜の1つ以上の特性を表す1つ以上のメトリックを受信することであって、
前記
水生家畜の前記1つ以上の特性を表す前記1つ以上のメトリックを受信することは、前記1つ以上の
水生家畜オブジェクトのそれぞれから前記1つ以上のセンサーまでの各距離の中央値に対応する、前記1つ以上のセンサーから前記
水生家畜までの距離の中央値を決定することを含む、受信することと、
前記距離の中央値が、前記距離の中央値の下限閾値以下であると決定することに基づいて、前記1つ以上のセンサーを移動する位置を決定することと、
前記1つ以上のセンサーの動きに関連する情報を含む命令を決定することであって、前記命令の前記情報は、前記1つ以上のセンサーを前記
水生家畜から遠ざけることに関する、決定することと、
前記1つ以上のセンサーの位置を変更するために、前記命令を前記ウインチサブシステムに送信することと、
を含む、バイオマス監視システム。
【請求項28】
前記1つ以上のセンサーは、カメラ、IRセンサー、UVセンサー、温度センサー、圧力センサー、ハイドロフォン、水流センサー、または、酸素飽和または溶解した固体の量を検出するものなどの水質センサーを含む、請求項27に記載のシステム。
【請求項29】
前記ウインチサブシステムによって、前記命令を受信することと、
前記ウインチサブシステムによって、前記
命令に従って前記1つ以上のセンサーの位置を変更することと、をさらに含む、請求項27に記載のシステム。
【請求項30】
前記1つ以上のセンサーからセンサーデータを受信することと、
前記センサーデータを使用して、前記1つ以上のメトリックを生成することと、をさらに含む、請求項27に記載のシステム。
【請求項31】
1つ以上のコンピュータによって実行可能な命令を含むソフトウェアを格納する非一時的コンピュータ可読媒体であって、前記命令は、実行されると、前記1つ以上のコンピュータに、
囲いに含まれ、ウインチサブシステムに結合された1つ以上のセンサーによって監視される、1つ以上の
水生家畜オブジェクトを含む
水生家畜の1つ以上の特性を表す1つ以上のメトリックを受信することであって、
前記
水生家畜の前記1つ以上の特性を表す前記1つ以上のメトリックを受信することは、前記1つ以上の
水生家畜オブジェクトのそれぞれから前記1つ以上のセンサーまでの各距離の中央値に対応する、前記1つ以上のセンサーから前記
水生家畜までの距離の中央値を決定することを含む、受信することと、
前記距離の中央値が、前記距離の中央値の下限閾値以下であると決定することに基づいて、前記1つ以上のセンサーを移動する位置を決定することと、
前記1つ以上のセンサーの動きに関連する情報を含む命令を決定することであって、前記命令の前記情報は、前記1つ以上のセンサーを前記
水生家畜から遠ざけることに関する、決定することと、
前記1つ以上のセンサーの位置を変更するために、前記命令を前記ウインチサブシステムに送信することと、
を含む動作を行わせる、非一時的コンピュータ可読媒体。
【請求項32】
前記1つ以上のセンサーは、カメラ、IRセンサー、UVセンサー、温度センサー、圧力センサー、ハイドロフォン、水流センサー、または、酸素飽和または溶解した固体の量を検出するものなどの水質センサーを含む、請求項31に記載の媒体。
【請求項33】
前記動作は、
前記ウインチサブシステムによって、前記命令を受信することと、
前記ウインチサブシステムによって、前記
命令に従って前記1つ以上のセンサーの位置を変更することと、をさらに含む、請求項31に記載の媒体。
【請求項34】
前記動作は、
前記1つ以上のセンサーからセンサーデータを受信することと、
前記センサーデータを使用して、前記1つ以上のメトリックを生成することと、をさらに含む、請求項31に記載の媒体。
【請求項35】
バイオマス監視システムによって実行される方法であって、
囲いに含まれ、ウインチサブシステムに結合された1つ以上のセンサーによって監視される、1つ以上の
水生家畜オブジェクトを含む
水生家畜の1つ以上の特性を表す1つ以上のメトリックを受信することであって、
前記
水生家畜の前記1つ以上の特性を表す前記1つ以上のメトリックを受信することは、前記1つ以上の
水生家畜オブジェクトの軌跡と水平線との間に形成される1つ以上の角度の中央値に対応する、前記
水生家畜の追跡角度の中央値を決定することを含む、受信することと、
前記
水生家畜の前記追跡角度の中央値が、追跡オフセットの閾値以上であると決定することと、
前記
水生家畜の前記追跡角度の中央値が、前記追跡オフセットの閾値以上であると決定することに基づいて、前記1つ以上のセンサーを移動する位置を決定することと、
前記1つ以上のセンサーの動きに関連する情報を含む命令を決定することであって、前記命令の前記情報は、前記ウインチサブシステムの角度の初期角度から更新された角度への変更に関する、決定することと、
前記1つ以上のセンサーの位置を変更するために、前記命令を前記ウインチサブシステムに送信することと、を含む方法。
【請求項36】
前記1つ以上のセンサーは、カメラ、IRセンサー、UVセンサー、温度センサー、圧力センサー、ハイドロフォン、水流センサー、または、酸素飽和または溶解した固体の量を検出するものなどの水質センサーを含む、請求項35に記載の方法。
【請求項37】
前記ウインチサブシステムによって、前記命令を受信することと、
前記ウインチサブシステムによって、前記
命令に従って前記1つ以上のセンサーの位置を変更することと、をさらに含む、請求項35に記載の方法。
【請求項38】
前記1つ以上のセンサーからセンサーデータを受信することと、
前記センサーデータを使用して、前記1つ以上のメトリックを生成することと、をさらに含む、請求項35に記載の方法。
【請求項39】
バイオマス監視システムであって、
囲いに含まれ、ウインチサブシステムに結合された1つ以上のセンサーによって監視される、1つ以上の
水生家畜オブジェクトを含む
水生家畜の1つ以上の特性を表す1つ以上のメトリックを受信することであって、
前記
水生家畜の前記1つ以上の特性を表す前記1つ以上のメトリックを受信することは、前記1つ以上の
水生家畜オブジェクトの軌跡と水平線との間に形成される1つ以上の角度の中央値に対応する、前記
水生家畜の追跡角度の中央値を決定することを含む、受信することと、
前記
水生家畜の前記追跡角度の中央値が、追跡オフセットの閾値以上であると決定することと、
前記
水生家畜の前記追跡角度の中央値が、前記追跡オフセットの閾値以上であると決定することに基づいて、前記1つ以上のセンサーを移動する位置を決定することと、
前記1つ以上のセンサーの動きに関連する情報を含む命令を決定することであって、前記命令の前記情報は、前記ウインチサブシステムの角度の初期角度から更新された角度への変更に関する、決定することと、
前記1つ以上のセンサーの位置を変更するために、前記命令を前記ウインチサブシステムに送信することと、
を含む、バイオマス監視システム。
【請求項40】
前記1つ以上のセンサーは、カメラ、IRセンサー、UVセンサー、温度センサー、圧力センサー、ハイドロフォン、水流センサー、または、酸素飽和または溶解した固体の量を検出するものなどの水質センサーを含む、請求項39に記載のシステム。
【請求項41】
前記ウインチサブシステムによって、前記命令を受信することと、
前記ウインチサブシステムによって、前記
命令に従って前記1つ以上のセンサーの位置を変更することと、をさらに含む、請求項39に記載のシステム。
【請求項42】
前記1つ以上のセンサーからセンサーデータを受信することと、
前記センサーデータを使用して、前記1つ以上のメトリックを生成することと、をさらに含む、請求項39に記載のシステム。
【請求項43】
1つ以上のコンピュータによって実行可能な命令を含むソフトウェアを格納する非一時的コンピュータ可読媒体であって、前記命令は、実行されると、前記1つ以上のコンピュータに、
囲いに含まれ、ウインチサブシステムに結合された1つ以上のセンサーによって監視される、1つ以上の
水生家畜オブジェクトを含む
水生家畜の1つ以上の特性を表す1つ以上のメトリックを受信することであって、
前記
水生家畜の前記1つ以上の特性を表す前記1つ以上のメトリックを受信することは、前記1つ以上の
水生家畜オブジェクトの軌跡と水平線との間に形成される1つ以上の角度の中央値に対応する、前記
水生家畜の追跡角度の中央値を決定することを含む、受信することと、
前記
水生家畜の前記追跡角度の中央値が、追跡オフセットの閾値以上であると決定することと、
前記
水生家畜の前記追跡角度の中央値が、前記追跡オフセットの閾値以上であると決定することに基づいて、前記1つ以上のセンサーを移動する位置を決定することと、
前記1つ以上のセンサーの動きに関連する情報を含む命令を決定することであって、前記命令の前記情報は、前記ウインチサブシステムの角度の初期角度から更新された角度への変更に関する、決定することと、
前記1つ以上のセンサーの位置を変更するために、前記命令を前記ウインチサブシステムに送信することと、
を含む動作を行わせる、非一時的コンピュータ可読媒体。
【請求項44】
前記1つ以上のセンサーは、カメラ、IRセンサー、UVセンサー、温度センサー、圧力センサー、ハイドロフォン、水流センサー、または、酸素飽和または溶解した固体の量を検出するものなどの水質センサーを含む、請求項43に記載の媒体。
【請求項45】
前記動作は、
前記ウインチサブシステムによって、前記命令を受信することと、
前記ウインチサブシステムによって、前記
命令に従って前記1つ以上のセンサーの位置を変更することと、をさらに含む、請求項43に記載の媒体。
【請求項46】
前記動作は、
前記1つ以上のセンサーからセンサーデータを受信することと、
前記センサーデータを使用して、前記1つ以上のメトリックを生成することと、をさらに含む、請求項43に記載の媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、水産養殖システム用の自動ウインチコントローラに関する。
【背景技術】
【0002】
水産養殖には、魚、甲殻類、水生植物などの水生生物の養殖が含まれる。水産養殖では、商業漁業とは対照的に、淡水魚と海水魚の個体数が管理された環境で養殖される。例えば、魚の養殖には、水槽、養魚池、または海の囲いの中で魚を飼育することが含まれる。
【0003】
人間のオペレーターによって制御されるカメラシステムを使用して、養殖魚が囲いの中を移動するときに魚を監視できる。カメラシステムを手動で制御する場合、オペレーターの注意の持続時間や作業スケジュール、または極端な気象条件における人間のオペレーターの快適さなどの人的要因が、監視の品質に影響を与える可能性がある。
【発明の概要】
【0004】
囲いの中の家畜、例えば魚の位置は、例えば、食物の存在、水の温度、水中の酸素のレベル、または光の量などの多くの要因に応じて変化する可能性がある。しかし、人間のオペレーターによって制御されるバイオマス監視システムは、複数の方法で制限される可能性がある。一例では、オペレーターは、家畜を監視するための適切な位置を見つけて確認するために、センサー、例えばカメラを、囲いを通して何度も掃引しなければならない場合がある。他の例では、人間が制御するカメラシステムから受信するセンサーデータの品質は、オペレーターの家畜への注意、または、センサーを操作するオペレーターの能力に影響を与える可能性のある温度、光の量、降水量、波の量などの環境条件によって、影響を受ける可能性がある。家畜という用語は、囲いの中の生きている内容物を表すために使用され、一般に囲いには、商業魚(例えば、鮭、マグロ、タラ)や植物(例えば、海藻)などのあらゆる種類の水生貨物を含めることができる。
【0005】
バイオマスメトリックの精度を高めるために、人間のオペレーターは、監視に関連する多くのパラメーターも考慮に入れる必要がある。例えば、センサーの範囲内に存在する魚の数、センサーからの魚の距離、魚の頭や側面など魚のどの部分を監視しているか、などである。したがって、人間が制御するバイオマス監視システムは、センサーの理想的な表示位置をもたらすセンサー位置の変化を決定するために、様々なパラメーターによって提供される情報を追跡および合成するオペレーターの能力によって制限される可能性がある。
【0006】
したがって、従来のシステムの欠陥に悩まされず、1つ以上のセンサーを含むセンサーサブシステムからセンサーデータを受信し、家畜に関連するバイオマスメトリックを生成できるバイオマスメトリック生成サブシステムを含むバイオマス監視システムが開示される。センサー位置サブシステムは、バイオマスメトリックを使用して、センサーサブシステムの位置を決定できる。
【0007】
1つの一般的な態様では、センサーサブシステムを制御するための方法は、囲いに含まれ、ウインチサブシステムに結合された1つ以上のセンサーによって監視される、1つ以上の家畜オブジェクトを含む家畜の1つ以上の特性を表す1つ以上のメトリックを受信することを含む。この方法は、メトリックに基づいて1つ以上のセンサーを移動する位置を決定することと、1つ以上のセンサーの移動に関連する情報を含む命令を決定することとをさらに含む。この方法は、1つ以上のセンサーの位置を変更するために、命令をウインチサブシステムに送信することをさらに含む。
【0008】
実装形態には、次の特徴の1つ以上が含まれる場合がある。例えば、家畜の特性には、空腹、病気、傷ついている、または死んでいることを含むことができる。1つ以上のメトリックは、個々の家畜オブジェクトの検出数、ステレオマッチした家畜追跡数、家畜までの距離の中央値、家畜の深度オフセットの中央値、家畜のオブジェクト追跡期間の中央値、または家畜の追跡角度の中央値を含むことができる。
【0009】
いくつかの実装形態では、この方法は、1つ以上のセンサーからセンサーデータを受信することと、センサーデータを使用して、1つ以上のメトリックを生成することとをさらに含む。
【0010】
いくつかの実装形態では、この方法は、ウインチサブシステムによって、命令を受信することと、ウインチサブシステムによって、指示に従って1つ以上のセンサーの位置を変更することと、をさらに含む。
【0011】
いくつかの実装形態では、この方法は、家畜の家畜オブジェクトのおおよその数を決定することと、家畜オブジェクトのおおよその数が家畜オブジェクトの閾値数より少ないと決定することとを含む。命令の情報は、囲い内における第1の深さから囲い内における第2の深さへの、1つ以上のセンサーの位置の変化に関し得る。
【0012】
いくつかの実装形態では、この方法は、1つ以上のセンサーの囲い内における第1の深さを決定することと、1つ以上のセンサーの囲い内における第1の深さと基準深さとの間の差である深度オフセット値を計算することとを含む。この方法はまた、深度オフセット値が深度オフセット値の閾値以上であると決定することを含むことができる。命令の情報は、囲い内における第1の深さから囲い内における第2の深さへの、1つ以上のセンサーの位置の変化に関し得る。
【0013】
いくつかの実装形態では、この方法は、1つ以上の家畜オブジェクトの軌跡と水平線との間に形成される1つ以上の角度の中央値に対応する、家畜の追跡角度の中央値を決定することを含む。この方法は、家畜の追跡角度の中央値が、追跡オフセットの閾値以上であると決定することをさらに含むことができる。命令の情報は、ウインチサブシステムの角度の初期角度から更新された角度への変更に関し得る。
【0014】
いくつかの実装形態では、この方法は、1つ以上の家畜オブジェクトのそれぞれから1つ以上のセンサーまでの各距離の中央値に対応する、1つ以上のセンサーから家畜までの距離の中央値を決定することを含む。この方法は、距離の中央値が、距離の中央値の上限閾値以上であると決定することをさらに含むことができる。命令の情報は、1つ以上のセンサーを家畜に近づけることに関し得る。
【0015】
いくつかの実装形態では、この方法は、1つ以上の家畜オブジェクトのそれぞれから1つ以上のセンサーまでの各距離の中央値に対応する、1つ以上のセンサーから家畜までの距離の中央値を決定することを含む。この方法は、距離の中央値が、距離の中央値の下限閾値以下であると決定することをさらに含むことができる。命令の情報は、1つ以上のセンサーを家畜から遠ざけることに関し得る。
【0016】
いくつかの実装形態では、この方法は、メトリックを使用して、家畜が囲い内の特定の場所にいる尤度をそれぞれ表す複数のエントリを含む確信行列を生成することを含む。確信行列は、複数のエントリの尤度のそれぞれについて、尤度の信頼度スコアをさらに含むことができる。
【0017】
いくつかの実装形態では、命令の情報は、確信行列の特定のエントリに対応する囲い内の特定の場所であって、囲い内の他の場所と比較して、家畜が存在する尤度が最も高い特定の場所に、1つ以上のセンサーを移動することに関する。
【0018】
いくつかの実装形態では、1つ以上のセンサーは、カメラ、IRセンサー、UVセンサー、温度センサー、圧力センサー、ハイドロフォン、水流センサー、または酸素飽和または溶解した固体の量を検出するものなどの水質センサーを含む。
【0019】
1つ以上の実装形態の詳細は、添付図面および以下の説明において記述される。本開示の他の潜在的な特徴および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0020】
【
図1】例示的なバイオマス監視システムおよび水生家畜を含む囲いの図である。
【0021】
【
図2】
図1のバイオマス監視システムの、1つ以上のセンサーを含むセンサーサブシステムの位置を変更する例示的なプロセスの流れ図である。
【0022】
【
図3】家畜が少ないか、全く検出されない場合に対処するための、
図2のセンサーサブシステムの位置変化を示す図である。
【0023】
【
図4】センサーサブシステムの深度オフセットの中央値が大幅に偏っている場合に対処するための、
図2および
図3のセンサーサブシステムの位置変化を示す図である。
【0024】
【
図5】家畜追跡角度の中央値が大幅に偏っている場合に対処するための、
図2から
図4のセンサーサブシステムの頂角の変化を示す図である。
【0025】
【
図6】家畜までの水平距離が減少する、
図2から
図5のセンサーサブシステムの位置変化を示す図である。
【0026】
【
図7】家畜までの水平距離が増加する、
図2から
図6のセンサーサブシステムの位置変化を示す図である。
【0027】
様々な図面の中の同様の参照番号および名称は、同様の要素を示す。本明細書に示されている構成要素、それらの接続および関係、ならびにそれらの機能は、例示のみを意図しており、本明細書で説明および/または特許請求されている実装形態を限定することを意味するものではない。
【発明を実施するための形態】
【0028】
図1は、例示的なバイオマス監視システム100および水生家畜を含む囲い110の図である。参照しやすいように、デカルト座標系が用意されている。
図1は、xy平面内に延在する囲い110を示しているが、囲いはさらにz方向に延在しており、正のz方向は、図面のページの外に延在している。
【0029】
家畜は、囲い110の範囲内で自由に泳ぐ魚120などの水生生物であってもよい。いくつかの実装形態では、構造102内に格納された水生家畜104は、魚類または他の水生生物を含むことができる。家畜104は、いくつかの例を挙げれば、例えば、稚魚、鯉、サメ、およびバスを含むことができる。
【0030】
水生家畜に加えて、囲い110は、水、例えば、海水、淡水、または雨水を含むが、囲いは、水生家畜の居住可能な環境を維持できる任意の流体を含むことができる。バイオマス監視システム100は、センサーサブシステム102、センサー位置サブシステム104、バイオマスメトリック生成サブシステム106、およびウインチサブシステム108を含む。
【0031】
バイオマス監視システム100は、水生家畜を監視するために、例えば、水生家畜の健康状態を決定し、囲い110内の家畜の居住可能な生活条件を維持するために使用できる。センサー位置サブシステム104は、センサーサブシステム102の現在の位置を記憶し、センサーサブシステムが移動される位置に対応する命令を生成できる。いくつかの実装形態では、バイオマス監視システム100は、囲い110内に収容されるのではなく、桟橋、ドック、またはブイなどの構造に固定されている。例えば、囲い110内に収容される代わりに、家畜120は水域を自由に歩き回ることができ、バイオマス監視システム100は、水域の特定の領域内の家畜を監視できる。
【0032】
ウインチサブシステム108は、命令を受信し、1つ以上のモーターを作動させて、センサーサブシステム102を命令に対応する位置に移動させる。センサーサブシステム102は、センサーサブシステムの視野内で、囲い110および水生家畜に対応するセンサーデータを生成する。バイオマスメトリック生成サブシステム106は、センサーデータを使用して1つ以上のメトリックを生成し、センサー位置サブシステム104は、それを使用して、更新された命令を生成できる。ウインチサブシステム108は、更新された命令を受信し、センサーサブシステム102を対応する位置に移動させることができる。センサー位置サブシステム104は、命令を自動的に生成できる。すなわち、センサー位置サブシステム104は、センサーサブシステム102の現在の位置または次の位置の適合性を決定するために人間による評価または入力を必要としない。
【0033】
センサーサブシステム102は、家畜を監視できる1つ以上のセンサーを含むことができる。センサーシステム229は、防水性であり、典型的な海流などの外力の影響に、破損することなく耐えることができる。センサーサブシステム102は、センサーサブシステムのセンサーのタイプに応じて、センサーデータ、例えば、画像およびビデオ映像、熱画像、熱シグネチャを取得する1つ以上のセンサーを含むことができる。例えば、センサーサブシステム102は、カメラ、IRセンサー、UVセンサー、熱センサー、圧力センサー、ハイドロフォン、水流センサー、または、酸素飽和または溶解した固体の量を検出するものなどの水質センサー、のうちの1つ以上を含むことができる。
【0034】
バイオマス監視システム100は、センサーサブシステム102によって捕捉されたセンサーデータをセンサーデータストレージにさらに格納できる。いくつかの実装形態では、バイオマス監視システムは、ビデオや画像などのメディア、および超音波データ、熱データ、圧力データなどのセンサーデータを保存できる。さらに、センサーデータには、センサーサブシステムがセンサーデータを補足した地理的位置に対応するGPS情報を含めることができる。
【0035】
センサーサブシステム102とウインチサブシステム108の一方または両方は、加速度計、ジャイロスコープ、磁力計などの、動きを追跡し、センサーサブシステムの位置を決定するための慣性測定装置を含むことができる。ウインチサブシステム108はまた、引き出された、および巻き取られたコード114の量を追跡して、センサーシステム102の位置を推定するための別の入力を提供できる。いくつかの実装形態では、ウインチサブシステム108はまた、センサーサブシステム102の位置および状態に関する入力を提供するために、コードに加えられるトルクを提供できる。いくつかの実装形態では、センサーサブシステム102は、自律型水中ビークル(AUV)、例えば、係留されたAUVに取り付けることができる。
【0036】
図1の例では、センサーサブシステム102は、囲い110内に完全に沈められたカメラを含むが、他の実施形態では、センサーサブシステムは、例えば、センサーサブシステムが水上に吊り下げられている間、センサーサブシステムを完全に沈めずにセンサーデータを取得できる。囲い110内のセンサーサブシステム102の位置は、センサー位置サブシステム104によって生成された命令によって決定される。
【0037】
センサー位置サブシステム104は、囲い110内のx、y、およびz座標に対応する命令を生成する1つ以上のコンピュータを含むことができる。命令はまた、バイオマス監視システム100の回転軸112周りの回転に対応することができ、回転軸は、実質的にy方向に延びるコード114の一部と同一の広がりを有する。そのような回転は、センサーサブシステム102の水平角を変化させ、水平角は、センサーサブシステムがセンサー入力を受信するxz平面内の角度である。命令はまた、センサーサブシステムをウインチサブシステム108の構成要素に接続するピン116周りの回転に対応することができる。このような回転により、センサーサブシステムの頂角が変化する。頂角は正のy軸に対して測定される。
【0038】
命令は、囲い110内のセンサーサブシステム102の可能な位置、水平角、および頂角を説明することができる。例えば、センサー位置サブシステム104は、バイオマスメトリック生成サブシステム106から受信した1つ以上のメトリックに基づいて命令を決定できる。
【0039】
いくつかの実装形態では、センサー位置サブシステム104は、家畜および囲い110を観察できる水生家畜の世話人にセンサーデータを提示できるコンピュータに、通信可能に結合できる。センサー位置サブシステム104は、命令をウインチサブシステム108に通信することができる。
【0040】
ウインチサブシステム108は、1つ以上のモーター、1つ以上の電源、およびセンサーサブシステム102を吊り下げるコード114が取り付けられている1つ以上の滑車を含むことができる。滑車は、コード114などのコードの動きと方向をサポートするために使用される単純な機械である。ウインチシステム108は単一のコード114を含むが、本明細書に記載されるように、センサーサブシステム102が移動および回転することを可能にする1つ以上のコードおよび1つ以上の滑車の任意の構成を使用できる。
【0041】
ウインチサブシステム108は、センサー位置サブシステム104から命令を受信し、1つ以上のモーターを作動させて、コード114を動かす。コード114、および取り付けられたセンサーサブシステム102は、x、y、およびz方向に沿って、命令に対応する位置に移動できる。ウインチサブシステム108のモーターを使用して、センサーサブシステム102を回転させて、センサーサブシステムの水平角および頂角を調整できる。電源装置は、ウインチサブシステムの個々の構成要素に電力を供給できる。電源装置は、様々な電圧および電流レベルで各構成要素にACおよびDC電力を供給できる。いくつかの実装形態では、ウインチサブシステムは、x、y、およびz方向の動きを可能にするために、複数のウインチまたは複数のモーターを含むことができる。
【0042】
センサー位置サブシステム104は、バイオマスメトリック生成サブシステム106に通信可能に結合され、サブシステム106がセンサーデータを受信することを可能にする。バイオマスメトリック生成サブシステム106は、センサーデータを使用して、様々なバイオマスメトリックを生成できる。例えば、魚120を含む囲い110の場合、バイオマスメトリック生成サブシステムが生成できるメトリックには、センサーの範囲内に存在する魚の数、センサーまでの魚のおおよその距離、センサーのレンズによって形成される水平線からの魚のオフセット距離、およびセンサーの前面によって形成される平面に対する魚の体の角度が含まれる。
【0043】
バイオマスメトリック生成サブシステム106は、1つ以上のバイオマスメトリックをセンサー位置サブシステム104に送信することができ、センサー位置サブシステム104は、それらを使用して、更新された命令を生成できる。すなわち、センサー位置サブシステム104は、受信したメトリックを使用して、センサーサブシステム102の位置を動的に更新することができ、例えば、ウインチサブシステム108は、センサーデータを生成するための理想的な位置にセンサーサブシステムを移動させる。
【0044】
図1は、2つの異なる時間、T
1およびT
2における、同じ魚である魚120の2つの位置を示している。時間T
1とT
2では、魚はそれぞれ位置P
1とP
2にいる。魚120は、点線で輪郭が描かれている位置P
1から位置P
2に移動する。軌跡118は、位置P
1から位置P
2への移動方向を示す矢印で魚120が移動した方向を示している。バイオマスメトリック生成サブシステム106は、特定の時間枠にわたって1つ以上の魚に沿った1つ以上の特定のポイントを監視することによって、軌跡118を説明する情報を生成できる。
図1に関して示されるように、バイオマスメトリック生成サブシステム106は、魚120の背びれを監視して、軌跡118を説明する情報を生成するが、個々の家畜オブジェクトの他のポイント、例えば家畜オブジェクトの目、尾、または鼻などを使用して追跡情報を生成できる。
【0045】
図1はまた、x軸に平行な水平線から軌跡118まで測定される追跡角度αを示している。バイオマスメトリック生成サブシステム106は、個々の家畜オブジェクトの追跡情報を使用して、その家畜オブジェクトの追跡角度を記述する情報を生成できる。
図1は鋭角追跡角度を示しており、いくつかの実装形態では、バイオマスメトリック生成サブシステム106は、180°-αに等しい鈍角追跡角度に対応する情報を生成できる。バイオマスメトリック生成サブシステム106は、センサーサブシステム102の視野内に存在する個々の家畜オブジェクトごとに追跡情報および追跡角度情報を生成できる。
【0046】
図2は、バイオマス監視システムの、1つ以上のセンサーを含むセンサーサブシステムの位置を変更する例示的なプロセスの流れ図である。例示的なプロセスは、本明細書に従ってプログラムされた1つ以上のコンピュータのバイオマス監視システムによって実行されるものとして説明される。例えば、バイオマス監視システム100は、例示的なプロセスを実行できる。
【0047】
バイオマス監視システムは、囲いに含まれ、ウインチサブシステムに結合された1つ以上のセンサーによって監視される家畜の1つ以上の特性を表す1つ以上のメトリックを受信する(210)。1つ以上のセンサーはセンサーサブシステムの一部である。メトリックは、センサー位置サブシステムに通信可能に結合されたバイオマスメトリック生成サブシステムによって生成できる。バイオマスメトリック生成サブシステムは、生成されたメトリックをデータストレージに格納できる。バイオマスメトリック生成サブシステムは、1つ以上のメトリックごとに新しい値を定期的に生成し、生成された新しい値ごとにデータストレージ内の1つ以上のメトリックの値を更新できる。バイオマスメトリック生成サブシステムは、いくつかの例を挙げると、1分以上、10分以上、または1時間以上ごとにメトリックの値を生成できる。
【0048】
一例として、生成されたバイオマスメトリックの1つは、特定の時間内に検出される、例えば、囲いに含まれる家畜の個々の魚などの、個々の家畜オブジェクトの数であり得る。バイオマスメトリック生成サブシステムは、任意の適切な画像認識方法を使用して家畜オブジェクトを検出できる。例えば、機械学習された画像認識モデル、または検出された個々の家畜オブジェクトの色、サイズ、または形状を家畜オブジェクトの参照画像と比較する他のコンピュータプログラムを使用する。
【0049】
別の例として、生成されたバイオマスメトリックの1つは、家畜のオブジェクト追跡期間の中央値であり得る。バイオマスメトリック生成サブシステムは、家畜オブジェクトのオブジェクト追跡期間を決定できる。家畜オブジェクトの追跡期間は、家畜オブジェクトが異なる位置間を移動するのにかかる時間である。例えば、
図1を参照すると、家畜オブジェクトの追跡期間は、家畜オブジェクトが位置P
2にあるときと家畜オブジェクトが位置P
1にあるときとの間の時間の変化、例えば、T
2-T
1であり得る。バイオマスメトリック生成サブシステムは、複数の家畜オブジェクトのそれぞれについて決定された追跡期間から、追跡期間の中央値を決定できる。つまり、中央値追跡期間メトリックは、それぞれが異なる家畜オブジェクトに対して決定された複数の追跡期間における中央値の追跡期間を表す。
【0050】
別の例として、生成されたバイオマスメトリックの1つは、家畜追跡角度の中央値であり得る。バイオマスメトリック生成サブシステムは、上記のように、家畜オブジェクトのオブジェクト追跡角度を決定できる。バイオマスメトリック生成サブシステムは、複数の家畜オブジェクトのそれぞれについて決定された家畜追跡角度から、家畜追跡角度の中央値を決定できる。つまり、中央値家畜追跡角度メトリックは、それぞれが異なる家畜オブジェクトに対して決定された複数の家畜追跡角度における中央値の家畜追跡角度を表す。
【0051】
さらに別の例として、生成されたバイオマスメトリックの1つは、ステレオマッチした家畜追跡数であり得る。複数のセンサー、例えば複数のカメラを有するセンサーサブシステムを含む実施形態の場合、バイオマスメトリック生成サブシステムは、複数のセンサーのそれぞれからのセンサーデータを使用して、ステレオマッチ家畜追跡メトリックを生成できる。複数のセンサーのそれぞれからのセンサーデータを使用して、バイオマスメトリック生成サブシステムは、1つ以上の家畜オブジェクトの追跡情報を生成できる。
【0052】
ステレオマッチ家畜追跡メトリックは、複数のセンサーのそれぞれの特定の範囲内にある個々の家畜オブジェクトの数を示すことができる。例えば、複数のカメラのそれぞれがバイオマスメトリック生成サブシステムにセンサーデータを提供できる。バイオマスメトリック生成サブシステムは、複数のカメラのそれぞれによって受信したセンサーデータを使用して、1つ以上の家畜オブジェクトの個別の追跡情報を生成できる。複数のカメラの視点によっては、各カメラに対応する追跡情報が異なる場合がある。例えば、1つ目のカメラは魚が2つの位置の間を移動するときに全追跡期間を撮影し、2つ目のカメラは全追跡期間の一部を撮影する場合がある。追跡情報(例えば、1つ以上のカメラのそれぞれの視野で家畜オブジェクトが表示される期間の交差)と複数のカメラの位置または視野角に関連する情報を使用して、ステレオマッチ家畜追跡メトリックは、センサーサブシステムまでの魚の距離を推定するために使用できる。
【0053】
別の例として、バイオマスメトリック生成サブシステムが、魚または魚の軌跡が複数のセンサーのうちの1つの視野に存在するが、他のセンサーの視野には存在しないと判断した場合、センサー位置サブシステムはこの情報を使用して、センサーサブシステムまでの魚の距離を推定するか、または魚がセンサーサブシステムのステレオホロプターの最小距離以下であるかを決定できる。
【0054】
別の例として、バイオマス生成サブシステムが、センサーサブシステムの1つ以上のセンサーの視野に魚が存在すると判断したが、バイオマス生成サブシステムが特定の特徴(例えば、魚やその他の家畜オブジェクトの頭や尾などの特徴)を監視して追跡情報を生成するときに、センサー位置サブシステムが魚の特定の特徴を識別できない場合、センサー位置サブシステムは、センサーサブシステムまでの魚の距離を推定したり、センサーサブシステムがセンサーサブシステムまでの距離の上限閾値以上であるかを、ステレオマッチ家畜追跡メトリックから決定したりすることができる。
【0055】
さらに別の例として、生成されたバイオマスメトリックの1つは、家畜までの水平距離の中央値であり得る。例えば、バイオマスメトリック生成サブシステムは、y方向に垂直な方向で測定された、センサーサブシステムから個々の家畜オブジェクトまでの距離を表す水平距離を決定できる。バイオマスメトリック生成サブシステムは、複数の家畜オブジェクトのそれぞれについて決定された水平距離から、水平距離の中央値を決定できる。つまり、中央値水平距離メトリックは、複数の家畜オブジェクトに対応する数の距離における中央値の距離を表す。
【0056】
別の例として、生成されたバイオマスメトリックの1つは、家畜の深度オフセットの中央値であり得る。センサーサブシステムは、xz平面に垂直なセンサーサブシステムの平面内の海面より上または下の特定の深さに配置できる。バイオマスメトリック生成サブシステムは、y方向で測定された、センサーサブシステムの平面から個々の家畜オブジェクトまでの垂直距離を表す深度オフセットを決定できる。バイオマスメトリック生成サブシステムは、複数の家畜オブジェクトのそれぞれについて決定された深度オフセットから、深度オフセットの中央値を決定できる。つまり、中央値深度オフセットメトリックは、複数の家畜オブジェクトに対応する数の深度オフセットにおける中央値の深度オフセットを表す。
【0057】
システムは、メトリックに基づいて1つ以上のセンサーを移動する位置を決定する(220)。例えば、システムは、センサーサブシステムの深さ、または垂直位置、例えば、
図1に対するy方向の位置を、個々の家畜オブジェクトの検出メトリックまたは中央値深度オフセットメトリックに基づいて調整するべきであると決定できる。別の例として、システムは、センサーサブシステムの水平位置、例えば、xまたはz方向におけるその位置を、中央値水平距離メトリックまたは中央値オブジェクト追跡期間メトリックに基づいて調整するべきであると決定できる。さらに別の例として、システムは、xz平面で測定されたセンサーサブシステムの水平角、または正のy軸から測定された頂角が、ステレオマッチ家畜追跡メトリックまたは中央値家畜追跡角度メトリックに基づいて調整するべきであると決定できる。
【0058】
システムは、1つ以上のセンサーの動きに関連する情報を含む命令を決定する(230)。命令は、センサーサブシステムと1つ以上のセンサーが結合されているウインチサブシステムで読み取り可能な方法でエンコードできる。例えば、命令は、例えば、センサーサブシステムの深さを増加させるために、センサーサブシステムの垂直位置を変更する命令であり得る。命令は、バイオマスメトリック生成サブシステムから1つ以上のセンサーの位置に関連する情報を受信するバイオマス監視サブシステムのセンサー位置サブシステムによって生成できる。
【0059】
別の例として、センサー位置サブシステムは、センサーサブシステムが移動される囲い内の(x、y、z)位置、xz平面で測定された水平角φ、およびz軸に対して測定された頂角θの観点から命令を記述できる。他の例では、命令は、x、y、またはz方向の移動に関するものにすることができる。例えば、水平方向(x)に10フィート移動する、垂直方向(y)に海面下20フィート移動する、直交する水平方向(z)に15フィート移動する、xz平面で30°(時計回りなど)回転する、正のz軸から下向きに45°回転する、などである。
【0060】
センサーサブシステムの現在の位置と角度、またはセンサーサブシステムの次の位置と角度を記述するための方式の例を説明しているが、他の方式を使用することもできる。例えば、センサー位置サブシステムは、デカルト座標と極座標の組み合わせ、またはデカルト座標と円筒座標の組み合わせを使用して、位置とセンサーの情報を通信できる。
【0061】
システムは、1つ以上のセンサーの位置を変更する命令をウインチサブシステムに送信する(240)。センサー位置サブシステムは、命令を生成し、それをウインチサブシステムに伝達できる。ウインチサブシステムは、例えば、センサーサブシステムのx、y、および/またはz位置、および/またはセンサーサブシステムの水平角または頂角を変更することによって命令を実行する。
【0062】
いくつかの実装形態では、バイオマスメトリック生成サブシステムは、1つ以上のメトリックを使用して、囲いの確信行列を生成できる。確信行列は、囲いを個別の部分に分割することができ、各部分には、その部分によって定義された空間に1つ以上の個々の家畜アイテムが存在する尤度を表す確率が割り当てられる。例えば、確信行列は、家畜が囲いの中の特定の場所にいる尤度を表すことができ、特定の場所に関連付けられた尤度は、確信行列のエントリとして表すことができる。
【0063】
いくつかの実装形態では、確信行列は、囲いの一部のx、y、およびz値に対応するエントリを持つ3次元行列にすることができる。いくつかの実装形態では、確信行列は、囲いの一部のx、y、およびz値に対応するエントリと、確信行列の確率が計算されたときの時間値を持つ4次元行列にすることができる。
【0064】
いくつかの実装形態では、囲いは放射状に対称であり(例えば、円筒形の囲い)、確信行列は、囲いの中心点を基準にして囲いを個別の部分に分割できる。例えば、確信行列は、中心点からの半径方向の距離、深さ(例えば、y方向で測定)、および時間に対応するエントリを持つ3次元行列にすることができる。
【0065】
いくつかの実装形態では、確信行列のエントリは、囲いの中の特定の場所にある家畜オブジェクトの数の推定値を表すことができる。いくつかの実装形態では、確信行列のエントリは、家畜オブジェクトの数の推定値と、推定値に関連する信頼度を表すことができる。いくつかの実装形態では、確信行列のエントリは、囲い内の特定の場所にある特定のカテゴリの家畜オブジェクトに属する家畜オブジェクトの数の推定値を表すことができる。例えば、確信行列のエントリは、囲いの中の特定の場所にいる病気の魚の数、囲いの中の特定の場所にいる成熟した魚の数、または囲い内の特定の場所にいる小さい魚(例えば、平均的な家畜オブジェクトより小さい)の数を表すことができる。いくつかの実装形態では、バイオマス監視システムは、家畜オブジェクトの行動、例えば、家畜オブジェクトが特定の時間、特定の季節、または特定の環境条件下でどのくらいの深さに位置する傾向があるかなどの行動を監視できる。いくつかの実装形態では、確信行列に家畜オブジェクトの動作に関連する情報を含めることができる。
【0066】
バイオマスメトリック生成サブシステムは、複数日の複数時間のそれぞれについて確信行列を維持できる。例えば、バイオマスメトリック生成サブシステムは、1日の1時間ごとに確信行列を生成し、確信行列をデータストレージに格納できる。バイオマスメトリック生成サブシステムは、1時間ごとの確信行列を複数日保存できる。
【0067】
いくつかの実装形態では、センサー位置システムは、以前に生成された確信行列を使用して、センサーサブシステムの位置を決定できる。例えば、バイオマスメトリック生成サブシステムが少数の個々の家畜オブジェクトを検出した場合、センサー位置サブシステムは、以前に生成された確信行列に従って、家畜の尤度が高い場所に対応する囲いの場所にセンサーサブシステムを移動する命令を決定できる。いくつかの実装形態では、センサー位置システムは、確信行列の信頼度値を使用して、センサーサブシステムの位置を決定し、収集されたデータの品質を向上させることができる。
【0068】
図3は、家畜が少ないかまたは全く検出されないシナリオに対処するためのセンサーサブシステム102の位置変化を示す図である。
図3の例では、センサーサブシステム102は、視覚センサーデータを生成するカメラを含む(A)。
【0069】
センサーデータは、バイオマスメトリック生成サブシステム106に通信され、バイオマスメトリック生成サブシステム106は、センサーデータを使用して1つ以上のメトリックを生成する(B)。例えば、バイオマスメトリック生成サブシステム106によって生成されるメトリックの1つは、特定の時間内に検出された個々の魚の数であり得る。この例では、1つの魚、魚120のみが検出され、個々の魚検出メトリックが低くなる。
【0070】
ステージ(B)で生成された1つ以上のメトリックは、センサー位置サブシステム104に伝達され、センサー位置サブシステム104は、メトリックを使用して、家畜数低が検出されたことを決定する(C)。例えば、センサー位置サブシステム104は、ステージ(B)で生成された魚検出メトリックの実際の数をメトリックの閾値と比較できる。魚検出メトリックの実際の数が、魚検出メトリックの閾値数よりも少ない場合、センサー位置サブシステム104は、家畜数低が検出され、センサーサブシステム102を移動する命令が生成されることを決定できる。
【0071】
センサー位置サブシステム104は、センサーサブシステム102の動きに対応する命令を決定し、その命令をウインチサブシステム108に伝達する(D)。
図3の例では、命令は、家畜数低の検出に応じて、センサーサブシステム102の垂直位置または深さを変更するためのものである。
【0072】
ウインチサブシステム108は、センサー制御サブシステム104から命令を受信し、1つ以上のモーターを作動させて、命令を実行する(E)。センサーサブシステム102は、y方向に下降する(F)。
図3に示すように、家畜は主に囲い110の床のほうにいるので、センサーサブシステム102を下げることにより、センサーサブシステムは家畜のセンサーデータをよりよく生成できる。
【0073】
いくつかの実装形態では、ステージ(D)中に、センサー位置サブシステムは、以前に生成された確信行列を使用して命令を決定できる。例えば、センサー位置サブシステムは、当日の前日に生成された確信行列を使用して、少なくとも最小数の魚がいる可能性が高い囲い内の特定の場所を決定できる。命令は、センサーサブシステムを囲い内の特定の場所に移動することに関し得る。別の例として、センサー位置サブシステムは、当日の1年前に生成された確信行列を使用できる。さらに別の例として、センサー位置サブシステムは、当日と同様の大気または気象条件を有する日に生成された確信行列を使用して、命令を決定できる。
【0074】
図4は、センサーサブシステムの深度オフセットの中央値が大幅に偏っている場合に対処するための、センサーサブシステム102の位置変化を示す図である。
図4の例では、センサーサブシステム102は、視覚センサーデータを生成するカメラを含む(A)。
【0075】
センサーデータは、バイオマスメトリック生成サブシステム106に通信され、バイオマスメトリック生成サブシステム106は、センサーデータを使用して1つ以上のメトリックを生成する(B)。例えば、バイオマスメトリック生成サブシステム106は、家畜の深度オフセットの中央値に対応するメトリックを生成できる。
【0076】
ステージ(B)で生成された1つ以上のメトリックは、センサー位置サブシステム104に伝達され、センサー位置サブシステム104は、メトリックを使用して、家畜の深度オフセットの中央値が著しく偏っていることを決定する(C)。例えば、センサー位置サブシステム104は、ステージ(B)で生成された中央値深度オフセットメトリックをセンサーサブシステム102の現在の深さと比較して、バイアス(例えば、深度オフセットの中央値とセンサーサブシステム現在の深さとの差)を決定できる。深度オフセットの中央値のバイアスが深度バイアス値の閾値以上である場合、センサー位置サブシステム104は、センサーサブシステム102を移動する命令が生成されることを決定できる。
【0077】
センサー位置サブシステム104は、センサーサブシステム102の動きに対応する命令を決定し、その命令をウインチサブシステム108に伝達する(D)。中央値深度オフセットメトリックは、家畜がセンサーサブシステム102より実質的に上にあるか、センサーサブシステムより実質的に下にあるかを示す符号付きの値にすることができる。
図4の例では、中央値深度オフセットメトリックの符号は、家畜がセンサーサブシステム102より実質的に上にあることを示している。命令は、センサーサブシステム102の現在の深さから大幅に偏っている深度オフセットの中央値に応じて、センサーサブシステム102の垂直位置または深さを変更するためのものである。
【0078】
ウインチサブシステム108は、センサー制御サブシステム104から命令を受信し、1つ以上のモーターを作動させて、命令を実行する(E)。センサーサブシステム102は、y方向に上昇する(F)。
図4に示すように、家畜は主に囲い110の水面のほうにいるので、センサーサブシステム102を上げることにより、センサーサブシステムは家畜のセンサーデータをよりよく生成できる。
【0079】
図5は、家畜追跡角度の中央値が大幅に偏っている場合に対処するための、センサーサブシステム102の頂角の変化を示す図である。
図5の例では、センサーサブシステム102は、視覚センサーデータを生成するカメラを含む(A)。
【0080】
センサーデータは、バイオマスメトリック生成サブシステム106に通信され、バイオマスメトリック生成サブシステム106は、センサーデータを使用して1つ以上のメトリックを生成する(B)。例えば、バイオマスメトリック生成サブシステム106は、家畜追跡角度の中央値に対応するメトリックを生成できる。例えば、バイオマスメトリック生成システムは、3匹の魚の初期位置(点線で表示)と3匹の魚の最終位置を使用して、追跡角度α1、α2、およびα3を生成できる。各魚と追跡角度α1、α2、およびα3は、各魚が初期位置にあるときの背びれから最終位置にあるときの背びれまで伸びる破線を使用して示される異なる軌跡に関連付けられている。追跡角度の中央値は、3つの追跡角度α1、α2、およびα3の中央値にすることができる。
【0081】
ステージ(B)で生成された1つ以上のメトリックは、センサー位置サブシステム104に伝達され、センサー位置サブシステム104は、メトリックを使用して、家畜追跡角度が大幅に偏っていることを決定する(C)。例えば、センサー位置サブシステム104は、ステージ(B)で生成された中央値家畜追跡角度メトリックが家畜追跡角度の閾値よりも大きいかどうかを決定できる。家畜追跡角度の中央値が家畜追跡角度の閾値以上である場合、家畜追跡角度は大幅に偏っており、センサー位置サブシステム104は、センサーサブシステム102の水平角または頂角を変更する命令が生成されることを決定できる。
【0082】
いくつかの実装形態では、センサー位置サブシステム104は、家畜追跡角度の中央値とセンサーサブシステム102の水平角との間の差、または家畜追跡角度の中央値とセンサーサブシステムの頂角との間の差が、差の閾値より大きいかどうかを決定できる。家畜の追跡角度の中央値と水平角または頂角との差が差の閾値以上である場合、センサー位置サブシステム104は、センサーサブシステム102の水平角または頂角を変更する命令を生成することを決定できる。
【0083】
センサー位置サブシステム104は、センサーサブシステム102の動きに対応する命令を決定し、その命令をウインチサブシステム108に伝達する(D)。
図5の例では、家畜追跡角度の中央値は、魚がy方向に下向きに動いていることを示している(例えば、家畜追跡角度の中央値は大幅に偏っている)。センサーサブシステム102の視野角はx軸とほぼ一致しているので、センサーサブシステムは、y方向に下向きに移動している魚の位置の上に向けてもよい。したがって、センサー位置サブシステム104によって決定される命令は、家畜の追跡角度の中央値が大幅に偏っていることに応じて、センサーサブシステム102の頂角を変更するためのものである。
【0084】
ウインチサブシステム108は、センサー制御サブシステム104から命令を受信し、1つ以上のモーターを作動させて、命令を実行する(E)。センサーサブシステム102は、
図5の反時計回りの矢印によって示されるように、センサーサブシステムの頂角を変更して回転する(F)。
図5に示すように、センサーサブシステム102の頂角を変更することにより、センサーサブシステムは、センサーサブシステムの下に位置する家畜のセンサーデータをよりよく生成できる。
【0085】
図6は、家畜までの水平距離が減少する、センサーサブシステム102の位置変化を示す図である。
図6の例では、センサーサブシステム102は、視覚センサーデータを生成するカメラを含む(A)。
【0086】
センサーデータは、バイオマスメトリック生成サブシステム106に通信され、バイオマスメトリック生成サブシステム106は、センサーデータを使用して1つ以上のメトリックを生成する(B)。例えば、バイオマスメトリック生成サブシステム106は、家畜までの水平距離の中央値に対応するメトリックを生成できる。別の例として、バイオマスメトリック生成サブシステム106は、ステレオマッチした家畜追跡数に対応するメトリックを生成できる。
【0087】
ステージ(B)で生成された1つ以上のメトリックは、センサー位置サブシステム104に伝達され、センサー位置サブシステム104は、メトリックを使用して、家畜までの水平距離を更新するかどうかを決定する(C)。家畜までの水平距離の中央値が水平距離の上限閾値以上である場合、センサー位置サブシステム104は、センサーサブシステム102を移動する命令が生成されることを決定できる。あるいは、またはさらに、ステレオマッチした家畜追跡数が家畜オブジェクト追跡の閾値数より少ない場合、センサー位置サブシステム104は、センサーサブシステム102を移動する命令が生成されることを決定できる。
【0088】
センサー位置サブシステム104は、センサーサブシステム102の動きに対応する命令を決定し、その命令をウインチサブシステム108に伝達する(D)。
図6の例では、中央値水平距離メトリックの大きさは、家畜までの水平距離が、センサーサブシステム102が家畜の高品質センサーデータを生成するには大きすぎる可能性があることを示している。センサー位置サブシステム104によって決定される命令は、家畜までの水平距離の中央値が水平距離の上限閾値以上であることに対して、センサーサブシステム102の水平位置を変更するためのものである。
【0089】
ウインチサブシステム108は、センサー制御サブシステム104から命令を受信し、1つ以上のモーターを作動させて、命令を実行する(E)。センサーサブシステム102は、x方向に移動する(F)。
図6に示すように、家畜は主にセンサーサブシステム102の右端に位置し、したがって、センサーサブシステムをx方向に動かすことにより、センサーサブシステムは家畜のセンサーデータをよりよく生成できる。
【0090】
図7は、家畜までの水平距離が増加する、センサーサブシステム102の位置変化を示す図である。
図7の例では、センサーサブシステム102は、視覚センサーデータを生成するカメラを含む(A)。
【0091】
センサーデータは、バイオマスメトリック生成サブシステム106に通信され、バイオマスメトリック生成サブシステム106は、センサーデータを使用して1つ以上のメトリックを生成する(B)。例えば、バイオマスメトリック生成サブシステム106は、家畜までの水平距離の中央値に対応するメトリックを生成できる。別の例として、バイオマスメトリック生成サブシステム106は、家畜のオブジェクト追跡期間の中央値に対応するメトリックを生成できる。さらに別の例として、バイオマスメトリック生成サブシステム106は、ステレオマッチした家畜追跡数に対応するメトリックを生成できる。
【0092】
ステージ(B)で生成された1つ以上のメトリックは、センサー位置サブシステム104に伝達され、センサー位置サブシステム104は、メトリックを使用して、家畜までの水平距離を更新するかどうかを決定する(C)。家畜までの水平距離の中央値が水平距離の下限閾値以下の場合、オブジェクト追跡期間の中央値が追跡期間の閾値以下の場合、またはステレオマッチした家畜追跡数が家畜オブジェクト追跡数の閾値未満の場合、センサー位置サブシステム104は、センサーサブシステム102を移動する命令が生成されることを決定できる。
【0093】
センサー位置サブシステム104は、センサーサブシステム102の動きに対応する命令を決定し、その命令をウインチサブシステム108に伝達する(D)。
図7の例では、中央値水平距離メトリックの大きさは、家畜までの水平距離が、センサーサブシステム102が家畜の高品質センサーデータを生成するには小さすぎる可能性があることを示してもよい。あるいは、またはさらに、中央値オブジェクト追跡期間メトリックの大きさは、家畜までの水平距離が、センサーサブシステム102が家畜の高品質センサーデータを生成するには小さすぎる可能性があることを示してもよい。あるいは、またはさらに、ステレオマッチオブジェクト追跡メトリックの大きさは、家畜までの水平距離が、センサーサブシステム102が家畜の高品質のセンサーデータを生成するには小さすぎる可能性があることを示してもよい。センサー位置サブシステム104によって決定される命令は、中央値水平距離メトリックの大きさ、および/または中央値オブジェクト追跡期間メトリックの大きさ、および/またはステレオマッチオブジェク追跡メトリックの大きさに応じて、センサーサブシステム102の水平位置を変更するためのものである。
【0094】
ウインチサブシステム108は、センサー制御サブシステム104から命令を受信し、1つ以上のモーターを作動させて、命令を実行する(E)。センサーサブシステム102は、x方向に移動する(F)。
図7に示すように、ほとんどの魚はセンサーサブシステム102の近くに位置し、したがって、センサーサブシステムをx方向に動かすことにより、センサーサブシステムは家畜のセンサーデータをよりよく生成できる。
【0095】
いくつかの実装形態では、バイオマス監視システム100は、絶対圧力センサー、ソナーセンサー、レーザー距離計、水温センサー、および周囲光センサーなどのセンサーを含むことができる。バイオマス監視システム100は、絶対圧力センサーやソナーなどのこれらのセンサーからのデータを使用して、センサーサブシステム102から水面までの距離を測定できる。さらに、ソナーセンサーからのデータを使用して、センサーシステム102から囲い110の底部までの距離を測定できる。いくつかの実装形態では、ソナーセンサー、レーザー距離計、および絶対圧センサーからのデータを使用して、センサーシステム102の位置を決定できる。
【0096】
いくつかの実装形態では、バイオマス監視システム100は、センサーサブシステム102と囲い110内の他の要素との間の距離測定を実行できる。例えば、バイオマス監視システム100は、ソナーセンサーからのデータ、レーザー距離計からのデータ、およびカメラからのデータを使用して、囲い110内の他のオブジェクトまでのセンサーサブシステム102の距離を決定できる。バイオマス監視システム100は、例えば、ステレオ写真測量などの技術を使用して、センサーサブシステム102のステレオカメラから画像を再構成できる。ステレオ写真測量は、異なる位置から撮影された2つ以上の写真画像で行われた測定を使用して、オブジェクトのポイントの3次元座標を推定することを含む。
【0097】
いくつかの実装形態が説明された。それでもなお、本発明の趣旨および範囲から逸脱することなく、様々な修正が行われてもよいことが理解されよう。例えば、上記の様々な形式のフローを使用して、ステップを並べ替えたり、追加したり、削除してもよい。
【0098】
本明細書で説明された本発明の実施形態および機能的動作のすべては、デジタル電子回路内に、または本明細書に開示された構造およびそれらの構造上の均等物を含むコンピュータソフトウェア、ファームウェア、もしくはハードウェア内に、またはそれらのうちの1つ以上を組み合わせて実装され得る。本発明の実施形態は、1つ以上のコンピュータプログラム製品、例えば、データ処理装置により実施するための、またはデータ処理装置の動作を管制するための、コンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1つ以上のモジュールとして実装され得る。コンピュータ可読媒体は、機械可読ストレージデバイス、機械可読ストレージ基板、メモリデバイス、機械可読伝播信号に影響を及ぼす物質の組成物、またはこれらのうちの1つ以上の組み合わせであり得る。「データ処理装置」という用語は、データを処理するためのすべての装置、デバイス、および機械を包含し、それらには、例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータが含まれる。装置は、ハードウェアに加えて、コンピュータプログラムのための実施環境を作り出すコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つ以上の組み合わせを構成するコードを含み得る。伝播信号は、人工的に生成された信号、例えば、好適な受信機装置に伝送するための情報を符号化するように生成される、機械で生成された電気的、光学的、または電気磁気的信号である。
【0099】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られている)は、コンパイル式またはインタープリット式言語を含む、任意の形式のプログラミング言語で書かれることができ、独立型プログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境で使用するために好適な他のユニットとして含まれる任意の形式でデプロイされ得る。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応する必要はない。プログラムは、他のプログラムもしくはデータを保持するファイルの一部、例えば、マークアップ言語ドキュメントに格納された1つ以上のスクリプト、プログラム専用の単一ファイル、または複数の調整ファイル、例えば、1つ以上のモジュール、サブプログラム、もしくはコードの一部を格納するファイルに格納できる。コンピュータプログラムは、1つのコンピュータ上で、または1つの場所に配置されたもしくは複数の場所に分散され、通信ネットワークによって相互配線された複数のコンピュータ上で、実行されるように配備され得る。
【0100】
本明細書で説明されるプロセスおよびロジックフローは、入力データを処理して出力を生成することによって機能を実行するために、1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実行され得る。プロセスおよびロジックフローはまた、専用論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行され得、装置もまた、そのようなものとして実装され得る。
【0101】
コンピュータプログラムの実行に好適なプロセッサには、例として、汎用および専用マイクロプロセッサの両方、ならびに任意の種類のデジタルコンピュータのうちの任意の1つ以上のプロセッサが含まれる。概して、プロセッサは、読み取り専用メモリもしくはランダムアクセスメモリ、またはその両方から命令および/またはデータを受信することになる。コンピュータの必須要素は、命令を実行するためのプロセッサ、ならびに命令およびデータを格納するための1つ以上のメモリデバイスである。概して、コンピュータはまた、データを格納するための1つ以上の大容量ストレージデバイス、例えば、磁気ディスク、光磁気ディスク、もしくは光ディスクを含むか、または大容量ストレージデバイスからデータを受信、もしくはデータを転送、もしくはその両方を行うように動作可能に結合される。しかしながら、コンピュータはそのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス、例えば、ごく一部ながら例を挙げると、タブレットコンピュータ、携帯電話、携帯情報端末(PDA)、モバイルオーディオプレーヤ、全地球測位システム(GPS)受信機に組み込まれ得る。コンピュータプログラム命令およびデータを格納するための好適なコンピュータ可読媒体には、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスが含まれ、例としては、例えば、EPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス、例えば内蔵ハードディスクまたは取り外し可能ディスクなどの磁気ディスク、光磁気ディスク、ならびにCD ROMディスクおよびDVD-ROMディスクが挙げられる。プロセッサおよびメモリは、専用論理回路によって補足されるか、または専用論理回路に組み込まれ得る。
【0102】
ユーザとの対話を提供するために、本発明の実施形態は、コンピュータ上で実装することができ、当該コンピュータは、ユーザに情報を表示するための表示デバイス、例えば、CRT(陰極線管)もしくはLCD(液晶ディスプレイ)モニタ、ならびにユーザがコンピュータに入力を提供できるキーボードおよびポインティングデバイス(例えば、マウス、トラックボール)を有する。他の種類のデバイスを使用して、ユーザとの対話を提供することもでき、例えば、ユーザに提供されるフィードバックは、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックなどの任意の形態の感覚的フィードバックであり得、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態で受信することができる。
【0103】
本発明の実施形態は、バックエンドコンポーネント(例えば、データサーバとして)を含むか、またはミドルウェアコンポーネント(例えば、アプリケーションサーバ)を含むか、またはフロントエンドコンポーネント(例えば、ユーザが本発明の実装態様と対話し得るグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータ)を含む、コンピューティングシステム、または1つ以上のそのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組み合わせに実装されることができる。システムのコンポーネントは、デジタルデータ通信の任意の形式または媒体、例えば、通信ネットワークによって相互接続されることができる。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、例えばインターネットが含まれる。
【0104】
コンピューティングシステムには、クライアントとサーバとを含むことができる。クライアントおよびサーバは概して、互いにリモートであり、典型的には通信ネットワークを介して相互作用する。クライアントとサーバとの関係は、それぞれのコンピュータで実行され、かつ互いにクライアントとサーバとの関係を有している、コンピュータプログラムによって生じる。
【0105】
本明細書は、多くの特定例を含んでいるが、これらは、本発明の、または請求され得る事項の範囲に限定したものとして解釈されるべきではなく、むしろ本発明の特定の実施形態に対して特有の特徴の説明として解釈されるべきである。別個の実施形態の文脈で本明細書に記載された特定の特徴を、単一の実施形態で組み合わせて実装することもできる。逆に、単一の実施形態の文脈で記載されている様々な特徴は、複数の実施形態で、別個に、または任意の好適な部分組み合わせで実装することもできる。また、特徴は、特定の組み合わせで作用するものとして上述され、および当初はそのように特許請求され得るが、いくつかの場合、特許請求された組み合わせからの1つ以上の特徴を、その組み合わせから削除することができ、特許請求された組み合わせは、副次的組み合わせまたは副次的組み合わせの変形例を対象とし得る。
【0106】
同様に、動作が特定の順序で図面に図示されているが、これは、所望の結果を達成するために、かかる動作がその示された特定の順序、もしくは一連の順序で実行されるべきであること、または例証したすべての動作が実行されるべきであることを要求するものとして理解されるべきではない。特定の状況では、マルチタスクおよび並列処理が有利な場合がある。また、上述した実施形態における様々なシステムコンポーネントの分離は、すべての実施形態においてこのような分離を必要とするものと理解されないものとし、記載されたプログラムコンポーネントおよびシステムは、一般に、単一のソフトウェア製品内にまとめて一体化することができるか、または複数のソフトウェア製品にパッケージ化することができる。
【0107】
本発明の特定の実施形態を説明した。他の実施形態は、以下の特許請求の範囲内に存在する。例えば、特許請求の範囲に記載されたステップは、異なる順序で実行されてもよく、望ましい結果を依然として達成することができる。