(57)【要約】  魚の形状、サイズ、及び質量を推定するために、コンピュータ可読記憶媒体上で符号化されるコンピュータプログラムを含む方法、システム、及び装置が記載されている。一対のステレオカメラ（１８５）を利用して、画定された区域内で魚の右画像及び左画像を取得することができる。この右画像及び左画像は、処理、強調、及び組み合わせが行われ得る。対象物検出を使用して、画像内の魚を検出及び追跡することができる。姿勢推定器を使用して、検出された魚のキーポイント及び特徴を決定することができる。キーポイントに基づいて、魚の３次元（３−Ｄ）モデルが生成され、魚のサイズ及び形状の推定値を提供する。回帰モデル又はニューラルネットワークモデルが、３−Ｄモデルに適用されて魚の予想重量を決定することができる。【選択図】図１Ａ
2021510861.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のプロセッサによって、魚の１つ以上の画像を取得することと、
前記１つ以上の画像内の前記魚の１つ以上の特徴と関連付けられている１つ以上のキーポイントを決定することと、
前記魚の前記１つ以上の特徴と関連付けられている前記１つ以上のキーポイントに基づいて、前記１つ以上のプロセッサによって、前記魚のモデルを生成することと、
前記魚の前記モデルを使用して、前記魚の予想重量を決定することと、
前記１つ以上のプロセッサに接続された装置における表示又は格納のために前記魚の前記予想重量を出力することと、を含むコンピュータ利用方法。
【請求項２】
前記１つ以上の画像から単一画像を生成することと、
前記単一画像のための深度マップを生成することと、
回帰型畳み込みニューラルネットワークを使用して対象物検出を実行することによって、前記単一画像内の前記魚及び１つ以上の関心領域を識別することと、をさらに含む、請求項１に記載のコンピュータ利用方法。
【請求項３】
前記魚の前記１つ以上の特徴と関連付けられている前記１つ以上のキーポイントが、姿勢推定を使用して前記１つ以上の関心領域の各々に対して決定され、
前記１つ以上の画像が、左カメラ及び右カメラを含む１つ以上の画像獲得装置を使用して取得され、
前記１つ以上の画像が、左画像及び右画像を含む、請求項２に記載のコンピュータ利用方法。
【請求項４】
前記決定された１つ以上のキーポイントが、１つ以上の２次元キーポイントを含み、
前記魚の前記モデルを生成することが、
前記決定された１つ以上の２次元キーポイント、及び前記深度マップを使用することによって、前記魚のための３次元キーポイントを決定すること、を含む、請求項２に記載のコンピュータ利用方法。
【請求項５】
前記魚の前記モデルを使用して前記魚の予想重量を決定することが、
前記魚の前記モデルに線形回帰モデルを適用することによって前記魚の前記重量を推定することであって、前記魚の前記モデルが、前記魚の３次元モデルである、推定すること、を含む、請求項１に記載のコンピュータ利用方法。
【請求項６】
前記魚の１つ以上の二次画像を取得することと、
前記取得された前記魚の１つ以上の二次画像に基づいて、前記魚の予想二次重量を決定することと、
前記取得された前記魚の１つ以上の二次画像に基づいて、前記魚の前記モデル、及び前記決定された前記魚の予想二次重量を使用して、前記決定された前記魚の予想重量に基づく平均予想重量を決定することと、をさらに含む、請求項１に記載のコンピュータ利用方法。
【請求項７】
前記魚の予想キーポイントを予測するための姿勢推定モデルを使用して、ニューラルネットワーク分類器を訓練すること、をさらに含む、請求項１に記載のコンピュータ利用方法。
【請求項８】
１つ以上の計算装置、及び命令を格納する１つ以上の記憶装置を備え、前記命令が、前記１つ以上の計算装置によって実行されるときに、前記１つ以上の計算装置に、
魚の１つ以上の画像を取得することと、
前記１つ以上の画像内の前記魚の１つ以上の特徴と関連付けられている１つ以上のキーポイントを決定することと、
前記魚の前記１つ以上の特徴と関連付けられている前記１つ以上のキーポイントに基づいて、前記魚のモデルを生成することと、
前記魚の前記モデルを使用して、前記魚の予想重量を決定することと、
前記１つ以上の計算装置に接続された装置における表示及び格納のために、前記魚の前記予想重量を出力することと、を含む動作を実行させるシステム。
【請求項９】
前記動作が、
前記１つ以上の画像から単一画像を生成することと、
前記単一画像のための深度マップを生成することと、
回帰型畳み込みニューラルネットワークを使用して対象物検出を実行することによって、前記単一画像内の前記魚及び１つ以上の関心領域を識別することと、をさらに含む、請求項８に記載のシステム。
【請求項１０】
前記魚の前記１つ以上の特徴と関連付けられている前記１つ以上のキーポイントが、姿勢推定を使用して前記１つ以上の関心領域の各々に対して決定され、
前記１つ以上の画像が、左カメラ及び右カメラを含む１つ以上の画像獲得装置を使用して取得され、
前記１つ以上の画像が、左画像及び右画像を含む、請求項９に記載のシステム。
【請求項１１】
前記決定された１つ以上のキーポイントが、１つ以上の２次元キーポイントを含み、
前記魚の前記モデルを生成することが、
前記決定された１つ以上の２次元キーポイント、及び前記深度マップを使用することによって、前記魚のための３次元キーポイントを決定すること、を含む、請求項９に記載のシステム。
【請求項１２】
前記魚の前記モデルを使用して前記魚の予想重量を決定することが、
前記魚の前記モデルに線形回帰モデルを適用することによって前記魚の前記重量を推定することであって、前記魚の前記モデルが、前記魚の３次元モデルである、推定すること、を含む、請求項８に記載のシステム。
【請求項１３】
前記動作が、
前記魚の１つ以上の二次画像を取得することと、
前記取得された前記魚の１つ以上の二次画像に基づいて、前記魚の予想二次重量を決定することと、
前記取得された前記魚の１つ以上の二次画像に基づいて、前記魚の前記モデル、及び前記決定された前記魚の二次重量を使用して、前記決定された前記魚の予想重量に基づく平均予想重量を決定することと、をさらに含む、請求項９に記載のシステム。
【請求項１４】
命令を含む１つ以上の非一過性コンピュータ可読記憶媒体であって、前記命令が、１つ以上の計算装置によって実行されるときに、前記１つ以上の計算装置に、
魚の１つ以上の画像を取得することと、
前記１つ以上の画像内の前記魚の１つ以上の特徴と関連付けられている１つ以上のキーポイントを決定することと、
前記魚の前記１つ以上の特徴と関連付けられている前記１つ以上のキーポイントに基づいて、前記魚のモデルを生成することと、
前記魚の前記モデルを使用して、前記魚の予想重量を決定することと、
前記１つ以上の計算装置に接続された装置における表示及び格納のために、前記魚の前記予想重量を出力することと、を含む動作を実行させる、１つ以上の非一過性コンピュータ可読記憶媒体。
【請求項１５】
前記動作が、
前記１つ以上の画像から単一画像を生成することと、
前記単一画像のための深度マップを生成することと、
回帰型畳み込みニューラルネットワークを使用して対象物検出を実行することによって、前記単一画像内の前記魚及び１つ以上の関心領域を識別することと、をさらに含む、請求項１４に記載の１つ以上の非一過性コンピュータ可読記憶媒体。
【請求項１６】
前記魚の前記１つ以上の特徴と関連付けられている前記１つ以上のキーポイントが、姿勢推定を使用して前記１つ以上の関心領域の各々に対して決定され、
前記１つ以上の画像が、左カメラ及び右カメラを含む１つ以上の画像獲得装置を使用して取得され、
前記１つ以上の画像が、左画像及び右画像を含む、請求項１５に記載の１つ以上の非一過性コンピュータ可読記憶媒体。
【請求項１７】
前記決定された１つ以上のキーポイントが、１つ以上の２次元キーポイントを含み、
前記魚の前記モデルを生成することが、
前記決定された１つ以上の２次元キーポイント、及び前記深度マップを使用することによって、前記魚のための３次元キーポイントを決定すること、を含む、請求項１５に記載の１つ以上の非一過性コンピュータ可読記憶媒体。
【請求項１８】
前記魚の前記モデルを使用して前記魚の予想重量を決定することが、
前記魚の前記モデルに線形回帰モデルを適用することによって前記魚の前記重量を推定することであって、前記魚の前記モデルが、前記魚の３次元モデルである、推定すること、を含む、請求項１４に記載の１つ以上の非一過性コンピュータ可読記憶媒体。
【請求項１９】
前記動作が、
前記魚の１つ以上の二次画像を取得することと、
前記取得された前記魚の１つ以上の二次画像に基づいて、前記魚の予想二次重量を決定することと、
前記取得された前記魚の１つ以上の二次画像に基づいて、前記魚の前記モデル、及び前記決定された前記魚の予想二次重量を使用して、前記決定された前記魚の予想重量に基づく平均予想重量を決定することと、をさらに含む、請求項１４に記載の１つ以上の非一過性コンピュータ可読記憶媒体。
【請求項２０】
前記動作が、
前記魚の予想キーポイントを予測するように、姿勢推定モデルを使用してニューラルネットワーク分類器を訓練すること、をさらに含む、請求項１５に記載の１つ以上の非一過性コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]  本開示は、一般に、海洋モニタリングシステムに関する。
【背景技術】
【０００２】
[0002]  研究者は、たびたび、魚の重量及びサイズを決定することが難しいことを見出した。魚のサンプルセットを手作業で捕獲及び計量するプロセスは、多くの場合、ある区域内の多くの魚のサイズ及び重量を推定するために使用される。しかしながら、このようなプロセスは、時間がかかり、不正確であり、大幅な金銭上、運搬上、及び人的上の資源を必要とする。
【発明の概要】
【０００３】
[0003]  一般に、本明細書に記載される主題の革新的な態様は、魚の形状、サイズ、及び重量を決定することに関する。いくつかの実施態様では、一対のステレオカメラを利用して、画定された区域内の魚の右画像及び左画像を取得することができる。右画像及び左画像は、処理、強調、及び組み合わせをすることができる。対象物検出を使用して、画像内の魚を検出及び追跡することができる。姿勢推定器を使用して、検出された魚のキーポイント及び特徴を決定することができる。キーポイントに基づいて、魚の３次元（３−Ｄ）モデルが生成され、魚のサイズ及び形状の推定値を提供する。回帰モデル又はニューラルネットワークモデルを３−Ｄモデルに適用して、魚の重量を決定することができる。
【０００４】
[0004]  いくつかの実施態様では、上述した動作を繰り返すことができ、魚のための複数の３−Ｄモデル及び重量が、決定され得る。複数のモデル及び重量を平均して、より信頼性の高い結果をもたらすことができる。いくつかの実施態様では、魚の各３−Ｄモデルは、評価され得、スコアが生成されて３−Ｄモデルの精度をランク付けする。閾値スコアよりも大きいスコアを有する３−Ｄモデルのみを利用して、魚の重量を決定することができる。
【０００５】
[0005]  本明細書に記載されている主題の態様が、コンピュータ利用方法で具現化されることができる。この方法は、１つ以上のプロセッサによって、魚の１つ以上の画像を取得することと、１つ以上の画像内の魚の１つ以上の特徴と関連付けられている１つ以上のキーポイントを決定することと、魚の１つ以上の特徴と関連付けられている１つ以上のキーポイントに基づいて、１つ以上のプロセッサによって、魚のモデルを生成することと、魚のモデルを使用して魚の予想重量を決定することと、１つ以上のプロセッサに接続された装置における表示又は格納のために魚の予想重量を出力することと、を含む。
【０００６】
[0006]  いくつかの実施態様では、この方法は、１つ以上の画像から単一画像を生成することと、単一画像のための深度マップを生成することと、回帰畳み込みニューラルネットワークを使用して対象物検出を実行することによって、単一画像内の魚及び１つ以上の関心領域を識別することと、をさらに含む。
【０００７】
[0007]  いくつかの実施態様では、魚の１つ以上の特徴と関連付けられている１つ以上のキーポイントは、姿勢推定を使用して１つ以上の関心領域の各々に対して決定される。１つ以上の画像は、左カメラ及び右カメラを含む１つ以上の画像獲得装置を使用して取得され、１つ以上の画像は、左画像及び右画像を含む。
【０００８】
[0008]  いくつかの実施態様では、決定された１つ以上のキーポイントは、１つ以上の２次元キーポイントを含み、魚のモデルを生成することは、決定された１つ以上の２次元キーポイント、及び深度マップを使用することによって、魚のための３次元キーポイントを決定すること、を含む。
【０００９】
[0009]  いくつかの実施態様では、魚のモデルを使用して魚の予想重量を決定することは、魚のモデルに線形回帰モデルを適用することによって魚の重量を推定することを含む。魚のモデルは、魚の３次元モデルである。
【００１０】
[0010]  いくつかの実施態様では、この方法は、魚の１つ以上の二次画像を取得することと、取得された魚の１つ以上の二次画像に基づいて、魚の予想二次重量を決定することと、取得された魚の１つ以上の二次画像に基づいて、魚のモデル、及び決定された魚の予想二次重量を使用して、決定された魚の予想重量に基づく平均予想重量を決定することと、をさらに含む。
【００１１】
[0011]  いくつかの実施態様では、この方法は、魚の予想キーポイントを予測するための姿勢推定モデルを使用してニューラルネットワーク分類器を訓練すること、をさらに含む。
【００１２】
[0012]  他の態様は、方法、システム、装置、コンピュータ可読記憶媒体、及び上述した方法の動作を実施するように構成されるコンピュータプログラムを含む。
【００１３】
[0013]  上述した態様、及び本明細書にさらに記載されている実施態様は、いくつかの利点を提供することができる。例えば、魚の重量の決定が、カメラから取得された画像に依拠するため、このシステムは、多数の画像が比較的高価に取得され得るため、重量を決定するために画像が選択される際に、選択可能であり得る。これにより、重量決定における、より高い精度を選択的に提供する。さらに、正確な結果を取得するために、より少ない画像を処理するだけでよく、それによってまた、必要とされる処理時間及びリソースを削減する利点も提供することができる。
【００１４】
[0014]  いくつかの実施態様では、単一の魚、又は多数の魚の集団が継続的にモニタリングされ得、各魚に対するプロファイルを作り出すことができる。したがって、魚の年齢、履歴、又は品質を検証することに関心のあるユーザにとって、このシステムは、魚についての包括的な情報、並びにその物理的な変化及び品質を提供する。魚プロファイルは、関心のある任意のグループに提供することができる。
【００１５】
[0015]  さらに、姿勢推定及び特徴識別を実装するために使用されるニューラルネットワーク及び機械学習技術は、適応システムを提供し、この適応システムは、以前の結果及び訓練データを使用して継続的に訓練され得、特徴識別、並びに魚のサイズ及び重量の推定の精度を向上させることができる。カメラ及び画像処理技術を使用して魚を識別し、そしてそれらの重量及びサイズを推定するため、ヒトが魚を捕獲し、魚の特性を決定することに関する依存性が低減される。本明細書に記載されている実施態様はまた、魚のサイズ及び重量を決定する際の、より高い精度及び一貫性も提供する。さらに、このシステムは、より多くのカメラを追加の場所に追加することによって、倍率を変更して魚のより広い区域を比較的容易にカバーすることができる。
【００１６】
[0016]  本明細書に記載されている１つ以上の態様の詳細は、添付図面、及び以下の説明に記述されている。主題の他の特徴、態様、及び利点は、明細書、図面、及び特許請求の範囲から、明らかになるであろう。
【図面の簡単な説明】
【００１７】
【図１Ａ】魚モニタリングシステムを備える典型的な魚タンクの側面図を示す。
【図１Ｂ】魚モニタリングシステムを備える典型的な魚タンクの、空中からの図を示す。
【図２】魚タンク内の魚の画像を取り込む画像獲得システムの上面図を示す。
【図３Ａ】魚のサイズ、形状、及び重量を決定するための方法の典型的なフロー図を示す。
【図３Ｂ】魚のサイズ、形状、及び重量を決定するための方法の典型的なフロー図を示す。
【図４】魚のサイズ、形状、及び重量を決定するための典型的システムを示す。
【図５】魚の特徴に対応するラベルの付いた例示的な魚の画像を示す。
【００１８】
[0023]  様々な図面の中の同様の参照番号及び名称は、同様の要素を示す。
【発明を実施するための形態】
【００１９】
[0024]  開示される主題の態様は、各図に関してさらに詳細に説明される。
【００２０】
[0025]  図１Ａ及び図１Ｂは、魚モニタリングシステムを備える魚タンク１８０の側面図、及び空中からの図を、それぞれ示す。タンク１８０は、様々な形状及びサイズを有してもよい。図１Ａ及び図１Ｂは、タンクが、円形又は円筒形の上部を有する円錐ベースを含む、典型的な実施態様を示す。タンク１８０は、異なる種類の水、例えば、淡水、塩水、異なる塩分レベルの水を含み得、１つ以上の種の魚を含み得る。タンク１８０は、ガラス、コンクリート、アクリル樹脂、プラスチック、又はそれらの組み合わせなどの任意の好適な材料で作製することができる。空気ポンプ、水ポンプ、照明システム、加熱及び冷却システム、並びに濾過システムなどの追加の装置を使用して、タンク１８０内の条件を調整することができる。
【００２１】
[0026]  この魚モニタリングシステムは、複数の装置、及び光センサなどのセンサ、温度計、フィルタ、塩分センサ、並びに画像獲得システムを含むことができる。この画像獲得システムは、タンク１８０内の魚の画像及びビデオを取得するように構成された１つ以上のカメラを含むカメラシステム１８５を含むことができる。
【００２２】
[0027]  以下でさらに詳細に説明されているように、カメラシステム１８５は、タンク１８０の外側に配置されたコンピュータシステムに接続され得る。このコンピュータシステムは、位置、レンズの焦点距離、又はズームなどの、カメラの複数のパラメータを制御することができ、魚の静止画像又は動画像を取得するためのカメラシステム１８５を制御することができる。カメラシステム１８５は、コンピュータシステムから受信した命令に基づいて、カメラを特定の方向に操縦するように構成されたモータを含むことができる。コンピュータシステムは、さらなる処理のためにカメラシステム１８５から画像を受信することができる。
【００２３】
[0028]  カメラシステム１８５は、タンク１８０内の異なる場所に配備することができる。一般に、カメラシステム１８５は、タンク１８０内のある位置に配置され得、それにより、良質の画像、例えば、ぼやけのない鮮明な魚の画像、並びに最適な取り込み角度及び視界がカメラシステム１８５により取り込まれるのを可能にする。例えば、図１Ａ及び１Ｂに示すように、カメラシステム１８５は、タンク１８０の比較的中央の場所に配置され得る。カメラシステム１８５は、水面ブイ、水面直下ブイ、固定構造体、又はケーブル線を使用することによるなどの様々な方法で、タンク１８０内の適所に保持することができる。
【００２４】
[0029]  様々な要因が、魚タンク１８０内のカメラシステム１８５の位置を決定し得る。例えば、場合によっては、タンク１８０内の魚が、流れに逆らって遊泳する種類の魚である場合、図２に示してあるように、カメラシステム１８５は、実質的に流れに平行に位置決めされ得る。他の魚は、流れに伴って遊泳することができ、流れに依存する遊泳パターンを有さない場合がある。場合によっては、魚タンク１８０／２８０内の特定の種の魚は、特定の温度又は光量を有する特定の深度又は区域で遊泳することがあり、カメラシステム１８５／２８５は、タンク１８０／２８０内に位置決めされて、カメラ２８５Ａ及び２８５Ｂがこれらの特定の深度又は区域内の魚に焦点を合わせるのを可能にする。
【００２５】
[0030]  図２に示すように、魚タンク２８０内のカメラシステム２８５は、左ステレオカメラ２８５Ａ及び右ステレオカメラ２８５Ｂ、又は上部カメラ及び下部カメラなどの複数のカメラを含むことができる。一般に、様々なカメラ構成が使用され得る。カメラ２８５Ａ及び２８５Ｂの各々は、魚タンク２８０内の魚の画像及びビデオを取得するように位置決めされ得る。いくつかの実施態様では、カメラ２８５Ａ及び２８５Ｂは、魚に対してほぼ直角の角度で魚の画像を取得するように位置決めされ得、その結果、１つ以上の魚の側面図を取得することができる。複数のカメラ２８５Ａ及び２８５Ｂは、わずかに異なる角度から特定の魚に対して２つ以上の画像を提供することができる。図３Ａ及び図３Ｂに関して以下に説明されているように、複数の画像を使用して、魚の特徴付けを向上させることができる。
【００２６】
[0031]  いくつかの実施態様では、カメラシステム２８５内のカメラ２８５Ａ及び２８５Ｂは、魚画像を取得する前に、較正される。カメラ２８５Ａ及び２８５Ｂを較正するために、カメラ２８５Ａ及び２８５Ｂは、カメラレンズに対して異なる角度及び距離において基準パターンの画像を取り込むことができ、空間平均二乗（ＲＭＳ）誤差が、取り込まれた画像パターンと基準パターンとの間の差を決定することによって計算することができる。ＲＭＳ誤差が誤差閾値を満たす場合、カメラ２８５Ａ及び２８５Ｂの設定値を調整して、カメラ２８５Ａ及び２８５Ｂを再較正することができる。カメラ２８５Ａ及び２８５Ｂの設定値を調整することには、取り込まれた基準画像を変更する任意の動作が含まれ得る。それらの動作には、カメラの位置を調整すること、カメラ２８５Ａ及び２８５Ｂのレンズ位置を調整すること、並びにカメラ２８５Ａ及び２８５Ｂのズーム量を調整することのうちの１つ以上を含むことができるが、これらに限定されない。
【００２７】
[0032]  カメラ２８５Ａ及び２８５Ｂの設定値を調整した後、別の画像のセットが取り込まれ、第２のＲＭＳ誤差が計算され得る。この較正プロセスは、ＲＭＳ誤差がもはや誤差閾値を満たさなくなるまで繰り返すことができる。
【００２８】
[0033]  図３Ａ及び図３Ｂは、魚のサイズ、形状、及び重量を決定するための方法の典型的なフロー図を示す。この方法は、図４を参照してさらに説明されるシステムによって実施することができる。そのシステムは、カメラを含むことができ、上述したように、そのカメラは、較正され、魚タンク内の魚の１つ以上の画像を取得するように構成されている（Ｓ３０５）。それらの画像は、左ステレオカメラ及び右ステレオカメラから、それぞれ取得される左ステレオ画像３０５Ａ及び右ステレオ画像３０５Ｂを含み得る。
【００２９】
[0034]  取り込まれた画像３０５Ａ、３０５Ｂは、前処理され得る（Ｓ３１０）。この前処理は、画像の強調及び矯正を含むことがある。例えば、画像３０５Ａ、３０５Ｂは、画像品質を向上させるために、ヒストグラム等化、フィルタリング、まだら除去、ぼやけ除去、又はノイズ除去のうちの１つ以上を実行することによって、強調することができる。場合によっては、光レベルが、例えば、バーストモードで取得された複数の画像を合成することによって、増強され得る。場合によっては、画像内の色が、適応ヒストグラム等化を実行することによって、強調され得る。
【００３０】
[0035]  場合によっては、貧弱な画像品質を有する画像３０５Ａ、３０５Ｂを取り込むことに応答して、カメラは、上述したように、再較正され得る。例えば、取り込まれた画像３０５Ａ又は３０５Ｂを評価して、画像の品質、又は画像内の魚の描写を決定することができる。画像３０５Ａ又は３０５Ｂが著しくぼやけている、オクルージョンを有する、又は魚がカメラに対して望ましくない角度にある（例えば、魚の長手方向軸が、カメラに対して垂直でない）場合、カメラは、再較正され、別の画像が取り込まれ得る。
【００３１】
[0036]  いくつかの実施態様では、前処理の一部として、取得された画像内の魚の識別が、決定され得る。例えば、形態学的マーク、遺伝学的マーク、マイクロタブ、受動一体形トランスポンダタグ、ワイヤタグ、無線タグなどの方法を使用して、タグ付け又はマーク付けされた魚が、そのタグ又はマーカーによって識別され得る。いくつかの実施態様では、取得された画像が、検査されて、魚の独特のスポットパターンを識別することができる。この独特のドットパターンは、魚の特色に対応し得、これを使用して、後続の画像と以前の画像で魚を識別することができる。
【００３２】
[0037]  いくつかの実施態様では、前処理の一部として、左右ステレオ画像３０５Ａ及び３０５Ｂを組み合わせて、任意の好適な画像の組み合わせ、又はステレオ対応技術などの併合技術を使用して単一の画像を形成することができる。対象物検出が実行されて、複数の前処理された画像、又は単一の前処理された画像３１０Ａ内で魚を検出することができる（Ｓ３１０）。いくつかの実施態様では、より高速な再帰型畳み込みニューラルネットワーク（ＲＣＮＮ）を利用して対象物検出を実行することができる。
【００３３】
[0038]  いくつかの実施態様では、セマンティックセグメンテーションを実行して、画像内の背景から画像内の魚をセグメント化することができる。セマンティックセグメンテーションにより、魚の詳細な特徴をより容易に分析することができる。一般に、様々な好適な対象物検出技術を使用して、単一の前処理された画像３１０Ａ内の魚を検出することができる。
【００３４】
[0039]  図３Ａに示すように、境界ボックスを使用して、画像３１０Ａ内の検出された対象物を識別することができる。境界ボックスは、深度測定、及び測定された寸法の誤差のマージンに基づいて、測定された寸法を含み得る。境界ボックス、又は検出された対象物は、画像３１０Ａ内の魚の画像などの、画像３１０Ａ内の関心領域に対応することができる。複数のフレームが処理されている場合、最近傍アルゴリズムを使用して、フレーム間で合致が最も予想される対象物を見つけることができる。
【００３５】
[0040]  いくつかの実施態様では、深度マップを生成して、カメラからの魚の距離を決定することができる。深度マップは、任意の好適な技術を使用して生成することができる。例えば、レイリー散乱又は画像アレイ深度再構成を使用して、深度マップを作成することができる。さらに、立体カメラ、ソナー、音響カメラ、又はレーザのうちの１つ以上を利用して、カメラレンズからの魚の距離を決定することができる。
【００３６】
[0041]  １つ以上の画像、例えば、組み合わされた単一画像、ステレオ画像ペア、又は一連の画像内の魚を検出し、境界ボックスを使用して関心領域を識別した後に、姿勢推定器を使用して、各関心領域内のキーポイントを識別することができる（Ｓ３１５）。この姿勢推定器は、図４を参照してさらに説明される。いくつかの実施態様では、この姿勢推定器は、ＤｅｅｐＰｏｓｅ動作、マルチ魚姿勢推定動作、又は畳み込みニューラルネットワーク動作を実行することができる。画像３１５Ａ（拡大版が、図５に示されている）に示すように、キーポイントは、目、鼻孔、えら板、えら蓋、補助骨、胸びれ、側線、背びれ、あぶらびれ、腹びれ、尻びれ、及び尾びれなどの魚の特徴と関連付けられ得る。キーポイントは、画像内の画素位置を反映する数値座標によってラベル付けされ得、魚の特定の特徴と関連つけられ得る。
【００３７】
[0042]  いくつかの実施態様では、キーポイント及び関連付けられている特徴が画像内で部分的に表示されず、又は視認不可能であり得る場合であっても、姿勢推定器は、キーポイント及び関連付けられている特徴の確率が特定の場所に存在することに基づいて、キーポイント及び関連付けられている特徴らしきものを依然として識別することができる。キーポイント場所の確率は、画像内の魚の予想形状、サイズ、もしくは種類、又は魚の他の特徴の場所、のうちの１つ以上に基づくことができる。例えば、基準として図５を使用すると、あぶらびれが画像内に示すことができなくても、あぶらびれの場所は、画像内の尾びれ及び背びれの位置に基づいて、確率モデルを使用して推定することができる。
【００３８】
[0043]  次に、魚の３−Ｄモデル３２０Ａが、魚の特徴に関連付けられている識別されたキーポイントを使用して、生成され得る（Ｓ３２０）。一般に、様々な２−Ｄの、３−Ｄへの変換技術を使用することができる。例えば、いくつかの実施態様では、２−Ｄ画像内のキーポイントは、深度マップを使用して魚の３−Ｄモデル３２０Ａにマッピングすることができる。この深度マップは、ブロックマッチングアルゴリズム、運動からの深度、又はセミグローバルマッチング及び相互情報量による立体処理などの様々な技術を使用して決定され得る。対象物、すなわち、ステレオ画像（例えば、左及び右画像）内の魚が検出され得、決定されたカメラからの深度、及び画像と検出された対象物との間の不一致を使用して、３−Ｄモデル３２０Ａを使用することができる。３−Ｄモデル３２０Ａは、撮像された魚の推定された形状及びサイズを提供する。
【００３９】
[0044]  いくつかの実施態様では、生成された３−Ｄモデル３２０Ａは、スコア化及びランク付けされ得る。スコア及びランクは、生成された３−Ｄモデルの品質係数、及び魚の取り込まれた画像を反映する。モデル３２０Ａのスコアは、カメラに対する魚の仰角、カメラに対する魚の平坦度、カメラに対する魚の姿勢又は垂直性、カメラに対する魚の距離、又は特定の姿勢をスコア化するためのニューラルネットワークモデル、のうちの１つ以上を含む多くのパラメータに基づいて決定され得る。魚の仰角、平坦度、及び垂直性、並びにカメラからの魚の距離の値は、深度マップを決定するとき、及びキーポイントの場所を決定するときなどの、以前の動作の中で決定され得る。場合によっては、様々なパラメータが、様々な重みに割り当てられ得る。
【００４０】
[0045]  例えば、場合によっては、より大きい仰角を有する魚、又はカメラからより大きい距離にある魚は、低いスコアを有し得る。場合によっては、魚がカメラに対して比較的垂直又は水平には見えない魚の画像は、より低いスコアが付けられ得る。場合によっては、決定されたキーポイントの数を使用して、スコアを計算することができる。例えば、より多くのキーポイント数が画像から決定された画像に対して、又はより少ないキーポイントが、画像内で視認できる１つ以上のキーポイントの不足に起因して、確率モデルを使用して決定された画像に対しては、より高いスコアが与えられ得る。一般に、スコアが高いほど、画像及び３−Ｄモデルの品質は、より良好である。
【００４１】
[0046]  ３−Ｄモデル３２０Ａのスコアは、利用可能である場合、同じ魚に対する３−Ｄモデルの他のスコアと並行してランク付けされ得る。例えば、図３Ｂの項目３２５Ａに示すように、Ａ３１２などの識別表示を割り当てられた魚の３−Ｄモデル３２０Ａは、８６のスコアを有し、２３にランク付けされている。一般に、上で説明した基準を使用する、様々な種類のスコアシステム及びランク付けシステムが利用され得る。
【００４２】
[0047]  スコア又はランク付けが閾値を満たす場合、３−Ｄモデル３２０Ａを利用して、魚の重量を決定することができる（Ｓ３３０）。例えば、閾値がスコア８５以上、又はランク２５以上である場合、３−Ｄモデル３２０Ａは、項目３２５Ａに示されたスコア及びランクに基づいて、閾値を満たすことができる。閾値は、異なる魚、環境、又は魚タンクの場合に、異なるように設定することができる。
【００４３】
[0048]  魚の重量を決定するために、線形回帰モデルを使用して、３−Ｄモデル３２０Ａを重量にマッピングすることができる。例えば、３−Ｄモデル３２０Ａ内のキーポイントの座標を使用して、２つのキーポイント間の距離を決定することができ、決定された距離、及びキーポイントを線形回帰モデルに入力して魚の推定重量を決定することができる。図３Ｂの項目３３０Ａに示すように、Ａ３１２のＩＤを有する撮像された魚は、２３ポンドの推定重量を有し得る。
【００４４】
[0049]  次いで、画像内に取り込まれた魚の推定された重量、形状、サイズ、及び３−Ｄモデルは、結果として出力することができる（Ｓ３３５）。この結果は、いくつかの方法で出力され得る。例えば、場合によっては、３−Ｄモデル３２０Ａ、並びに推定された重量、形状、及びサイズは、コンピュータ装置のディスプレイ３３５Ａ上に表示することができる。場合によっては、それらの結果は、データベース内の、その魚のための魚プロファイルに保存することができる。それらの結果は、その魚と関連付けられている以前の結果に追加又は集約することができる。重量及びサイズ寸法に対する新しい平均値が、定期的に決定され得、又は各時間に新しい結果が、生成される。
【００４５】
[0050]  いくつかの実施態様では、保存された魚データは、魚の追跡記録を提供することができる。例えば、魚は、魚タンク内で、その魚の終生にわたって追跡され得る。魚は、誕生からその成長を通じて、完全に育った成魚になるまで、追跡することができる。したがって、魚が経験した変化の詳細なタイミング及び種類が、記録され得る。研究者又は魚購入者などのグループが魚の履歴についてより多くを学ぶことに興味を持った場合、魚データベースに照会して、魚の履歴に関する情報を検索することができる。
【００４６】
[0051]  いくつかの実施態様では、その結果を提供して、姿勢推定器を訓練することができる。例えば、魚の画像及び当該決定された３−Ｄモデル、推定された重量、形状、及びサイズを基準として提供して、訓練データとして姿勢推定器を訓練するか、又は全体的な魚重量計算のための加重平均として使用することができる。それらの結果に対するフィードバックが利用可能である場合、そのフィードバックもまた、訓練データとして提供することもできる。例えば、批評者が、その結果を閲覧した後に、その結果が貧弱な推定であることを示した場合、批評者のフィードバックは、姿勢推定器への訓練データとして提供され得る。
【００４７】
[0052]  一般に、魚は、長期間にわたって、また短期間にわたって追跡され得る。短期間の追跡の場合、魚の継続的なビデオが、カメラシステムを制御することによって得ることができ、その結果、カメラシステム内のカメラは、魚が移動するときに、魚の画像を継続的に取り込むことができる。場合によっては、カメラシステムは、魚の動きを自動的に追跡するようにプログラム動作され得る。場合によっては、カメラシステムを、ユーザ、例えば、システム管理者によって手動で制御して、魚の動きを追跡することができる。
【００４８】
[0053]  長期間の追跡の場合、定期的な魚画像が、例えば、数日毎、数週間毎、又は数ヶ月毎に取得することができる。魚を識別するための方法を利用して、画像内の魚が同一物であることを確認し、識別された魚のプロファイルを更新することができる。例えば、場合によっては、魚を識別するための方法は、表現学習を介して魚の画像から特徴を抽出することを含むことができ、その表現学習は、メトリック損失を使用して、当該魚のポジティブ画像サンプル、すなわち同じ魚、及びネガティブ画像サンプル、すなわち異なる魚に基づいて、特徴抽出器を学習させるものである。場合によっては、ハンドエンジニアリングを使用して、魚の画像から特徴を抽出することができる。
【００４９】
[0054]  特徴抽出の結果は、魚画像を高次元ベクトル空間内のベクトルにマッピングする関数である。画像内の魚の各検出は、新しい観察（最初の光景）であるか、又は他の例のクラスター（繰り返し訪問）に近いものかのどちらかである。クラスタリングアルゴリズム（例えば、Ｋ平均法又は混合ガウス）を使用して、クラスターを計算することができる。魚が成熟するに従って時間の経過と共に、クラスターは、ドリフト又は拡張し得、この進展を追跡することができる。
【００５０】
[0055]  図３Ｂに戻って参照すると、いくつかの実施態様では、撮像された魚の重量を決定した後、システムは、魚のさらなるデータがユーザによって要求されるのか、又は必要とされているかどうかを判定することができる。魚のさらなるデータが要求又は必要とされる場合、システムは、動作Ｓ３０５から始まる、図３Ａ及び図３Ｂの動作を繰り返すことになる。魚のデータがもはや要求又は必要とされない場合、魚の重量、形状、及びサイズを決定するための方法は、終了され得る。
【００５１】
[0056]  魚に対する追加のデータのための要求は、明示的又は暗黙的であってもよい。例えば、場合によっては、システムは、プログラムされて、魚の平均重量を決定するための複数のデータセットを取得することができ、測定は、データセットの必要数が得られるまで、繰り返され得る。場合によっては、システムは、ユーザからの要求を受信して、特定の魚のための追加データを取得することができる。
【００５２】
[0057]  図４は、魚のサイズ、形状、及び重量を決定するための典型的なシステム４００を示す。このシステム４００は、魚タンク４８０、計算装置４９０、及びサーバ４７５を備えることができる。魚タンク４８０は、図１Ａ、図１Ｂ、及び図２を参照して説明した魚タンクに対応する。魚タンク４８０は、魚モニタリングシステムを含むことができ、その魚モニタリングシステムは、光センサ、温度計、塩分センサ、運動センサ、流れセンサ、及びカメラシステム４０１などの複数のセンサを含む。
【００５３】
[0058]  カメラシステム４０１は、画像を取り込むように構成されている１つ以上のビデオ／写真カメラ、ステレオカメラ、又は光学感知装置を含むことができる。例えば、カメラシステム４０１は、タンク４８０内の様々な深度及び照明条件で１つ以上の魚の画像を取り込むように構成され得る。カメラシステム４０１は、魚の単一の静止画像、及びまた複数の魚画像が定期的に取り込むことができる魚のビデオ画像も取り込むように構成することができる。カメラシステム４０１は、計算装置４９０から受信したコマンドに基づいて、制御され得る。
【００５４】
[0059]  カメラシステム４０１は、いくつかの異なる種類の技術によって起動させることができる。例えば、運動センサは、カメラシステム４０１に組み込まれてもよく、それを使用して運動が検出されたときに、カメラシステム４０１を起動させて１つ以上の画像を取り込むことができる。いくつかの実施態様では、カメラシステム４０１は、計算装置４９０又はセンサから画像を取り組むためのコマンドを受信するように構成されている。
【００５５】
[0060]  いくつかの例では、カメラシステム４０１は、一体型又は外部の照明器、例えば、赤外線、ゼットウェーブ制御式「白色」ライト、計算装置４９０により制御されるライトを起動させて、光が不足しているときに画像品質を向上させることができる。一体型又は個別の光センサを使用して、照明が必要とされるかどうかを判定することができる。照明器を作動させることにより、画像品質の向上をもたらすことができる。
【００５６】
[0061]  カメラシステム４０１は、時間／日付スケジュール、システム作動コマンド、又は他の変数の任意の組み合わせと共にプログラムされて、画像がいつ取り込まれるべきかを決定することができる。カメラシステム４０１は、画像を取り込まないときは、低電力モードに入ることができる。場合によっては、カメラシステム４０１は、内部の交換可能なバッテリーによって電力供給されてもよい。場合によっては、カメラシステム４０１は、光が利用可能であるときに、小型太陽光電池を使用してバッテリーを再充電することができる。
【００５７】
[0062]  カメラシステム４０１は、ケーブルを介して計算装置４９０に接続され得、画像４０５Ａなどのデータは、ケーブルを介して計算装置４９０と通信することができる。計算装置４９０は、姿勢推定器４９２、メモリ４９４、プロセッサ４９６、及び入力／出力装置４９８を含むことができる。姿勢推定器４９２は、ニューラルネットワークを含むことができ、訓練データ及び様々な機械学習方法を使用して訓練され得る。訓練データには、特徴の位置及び種類が異なる魚の多数の画像が含まれる場合がある。訓練に基づいて、姿勢推定器４９２は、魚の特徴の確度の高い場所、並びに特徴の形状、サイズ、及び色などの特徴の特性の相違を決定することができる。姿勢推定器４９２を訓練して、魚の形状及びサイズ、並びにその魚の特徴の場所の相違が、魚の重量にどのように影響を及ぼすかを決定することができる。
【００５８】
[0063]  メモリ４９４は、１つ以上の大容量記憶装置、例えば、磁気ディスク、光磁気ディスク、光学ディスク、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリデバイスとして実装されてもよく、またデータを格納するための内蔵ハードディスク、取り外し可能ディスク、光磁気ディスク、ＣＤＲＯＭ、又はＤＶＤ−ＲＯＭディスクとして実装されてもよい。いくつかの実施態様では、メモリ４９４は、魚プロファイルデータを格納することができ、この魚プロファイルデータには、サイズ、形状、重量、スコア、及び各プロファイルされた魚と関連付けられたランク付けデータが含まれ得る。魚プロファイルデータはまた、その魚の１つ以上の画像及び３−Ｄモデルも含むことができる。いくつかの実施態様では、メモリ４９４は、姿勢推定器４９２を訓練するための訓練データ、及びＲＣＮＮを訓練するためのデータを格納することができる。
【００５９】
[0064]  入力／出力装置４９８は、キーボード、ポインティングデバイス、マウス、入力用ペン、及び／又はタッチセンシティブパネル、例えば、タッチパッド又はタッチスクリーンなどの入力装置を含み得る。出力装置は、ディスプレイ、スクリーン、スピーカー、及び一般にデジタルデータを出力することができる任意のデバイスを含み得る。入力／出力装置４９８はまた、送受信機も含むことができ、その送受信機は、送信機及び受信機を含み、サーバ４７５と通信するために利用されることができる。この送受信機は、増幅器、変調器、復調器、アンテナ、及び各種の他のコンポーネントを含み得る。送受信機は、サーバ４７５に接続された装置間でデータを転送又はルーティングすることができる。送受信機は、タンク４８０とサーバ４７５との間、及び計算装置４９０とサーバ４７５との間で通信されるデータをルーティングすることができる。例えば、魚の重量、形状、サイズ、及び３−Ｄモデルを決定した後、計算装置４９０は、送受信機を介して、魚の識別表示、スコア、ランク、及び重量情報などの魚プロファイル情報４３０Ａをサーバ４７５に送信することができる。
【００６０】
[0065]  プロセッサ４９６は、本明細書で説明された方法を実施するための命令を実行するための姿勢推定器４９２、メモリ４９４、及び入力／出力装置４９８に結合され得る。いくつかの実施態様では、実行可能な命令が、メモリ装置１１０内に格納され得る。プロセッサ４９６は、１つ以上の実行可能な命令として動作を符号化し、そしてメモリ装置１１０内に実行可能な命令を提供することによって、プログラムされ得る。プロセッサ４９６は、例えば、マルチコア構成で、１つ以上の処理ユニットを含み得るが、これに限定されない。処理ユニットという用語は、本明細書で使用されるとき、マイクロプロセッサ、マイクロコントローラ、縮小命令セット回路（ＲＩＳＣ）、特定用途向け集積回路（ＡＳＩＣ）、論理回路、及び本明細書に記載されている動作を実行するための命令を実行することができる任意の他の回路又はデバイスを指す。姿勢推定器４９２は、プロセッサ４９６の一部として実装され得るか、又はプロセッサ４９６に電気的に接続され得る。
【００６１】
[0066]  いくつかの実施態様では、サーバ４７５は、複数のサーバとして実装され得、サーバ４７５の様々なコンポーネントが、複数のサーバにわたって分散配置され得る。サーバ４７５は、１つ以上のネットワークを介して、計算装置４９０に接続され得る。図３Ａ及び図３Ｂに図示された方法の１つ以上の動作は、計算装置４９０又はサーバ４７５で実施され得、その結果、方法の一部分は、計算装置４９０によって実行され、他の部分は、サーバ４７５によって実行され得る。
【００６２】
[0067]  サーバ４７５は、１つ以上のネットワークに結合された任意の好適な計算装置を含み得、それらには、パーソナルコンピュータ、サーバコンピュータ、一連のサーバコンピュータ、ミニコンピュータ、及びメインフレームコンピュータ、並びにそれらの組み合わせが含まれるが、これらに限定されない。例えば、サーバ４７５は、ネットワークオペレーティングを実行するウェブサーバ（又は一連のサーバ）を含んでもよい。いくつかの実施態様では、サーバ４７５は、魚プロファイルデータベースなどの１つ以上のデータベースに接続されるか、又はこれらと統合されてもよい。
【００６３】
[0068]  サーバ４７５はまた、セキュアソケットレイヤ（ＳＳＬ）で保護されたファイル転送プロトコル、セキュアシェルファイル転送プロトコル（ＳＦＴＰ）ベースの鍵管理、及びＮａＣＩ暗号化ライブラリなどの共通かつ標準のプロトコル及びライブラリも実装することができる。サーバ４７５は、クラウド及び／又はネットワークコンピューティングのために使用及び／又は提供され得る。図には示されていないが、サーバ４７５は、電子メール、ＳＭＳメッセージング、テキストメッセージングなどのメッセージング機能性、及び暗号化／復号化サービス、サイバーアラートなどの他の機能性を提供する外部システムへの接続を有してもよい。
【００６４】
[0069]  １つ以上のネットワークは、ネットワークアクセス、データ伝送、及び他のサービスをサーバ４７５に提供することができる。１つ以上のネットワークは、任意の一般的に規定されたネットワークアーキテクチャを包含及び実装してもよく、そのアーキテクチャには、グローバルシステムフォーモバイルコミュニケーションズ（ＧＳＭ）アソシエーション、インターネットエンジニアリングタスクフォース（ＩＥＴＦ）、及びワールドワイドインターオペラビリティフォーマイクロウェーブアクセス（ＷｉＭＡＸ）フォーラムなどの標準化団体により規定されたネットワークアーキテクチャが含まれる。例えば、１つ以上のネットワークは、ＧＳＭアーキテクチャ、汎用パケット無線サービス（ＧＰＲＳ）アーキテクチャ、及びユニバーサルモバイルテレコミュニケーションシステム（ＵＭＴＳ）アーキテクチャのうちの１つ以上を実装してもよい。１つ以上のネットワークは、ＷｉＭＡＸフォーラム又はワイヤレスフィディリティ（ＷｉＦｉ）アーキテクチャにより規定されたＷｉＭＡＸアーキテクチャを実装してもよい。１つ以上のネットワークは、例えば、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、インターネット、仮想ＬＡＮ（ＶＬＡＮ）、企業ＬＡＮ、レイヤ３仮想プライベートネットワーク（ＶＰＮ）、企業ＩＰネットワーク、企業ネットワーク、又はこれらの組み合わせを含んでもよい。いくつかの実施態様では、１つ以上のネットワークは、インターネット接続、及び他のネットワーク関連機能を提供するクラウドシステムを含んでもよい。
【００６５】
[0070]  サーバ４７５は、魚プロファイルデータベースなどの１つ以上のデータベースと接続又は統合され得る。１つ以上のデータベースは、クラウドデータベース、又はデータベース管理システム（ＤＢＭＳ）により管理されたデータベースを含み得る。ＤＢＭＳは、データベース内のデータの編成、保存、管理、及び検索を制御するエンジンとして実装され得る。ＤＢＭＳは、クエリー、バックアップ及び複製、規則の励行、セキュリティの提供、計算の実行、変更の実行、及びログへのアクセス、並びに自動最適化の機能を頻繁に提供する。ＤＢＭＳの例としては、Ｏｒａｃｌｅ（登録商標）データベース、ＩＢＭ（登録商標）ＤＢ２、Ａｄａｐｔｉｖｅ  Ｓｅｒｖｅｒ  Ｅｎｔｅｒｐｒｉｓｅ、ＦｉｌｅＭａｋｅｒ（登録商標）、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ａｃｃｅｓｓ（登録商標）、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ（ＳＱＬ）Ｓｅｒｖｅｒ、ＭｙＳＱＬ（登録商標）、ＰｏｓｔｇｒｅＳＱＬ（登録商標）、ＭｏｎｇｏＤＢ、Ｍｏｎｄｏ／ＥＳ  ＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔｉｆｉｃａｔｉｏｎ（ＪＳＯＮ）、及びＮｏＳＱＬ実装が含まれる。ＤＢＭＳは、通常、モデリング言語、データ構造、データベースクエリー言語、及びトランザクションメカニズムを含む。モデリング言語は、データベースモデルに応じて、ＤＢＭＳ内の各データベースのスキーマを定義するために使用され得、階層モデル、ネットワークモデル、リレーショナルモデル、オブジェクトモデル、又はいくつかの他の適用可能な既知の、又は簡便な構成を含み得る。データ構造は、フィールド、レコード、ファイル、オブジェクト、及びデータを格納するための任意の他の適用可能な既知の、又は簡便な構造を含み得る。ＤＢＭＳはまた、格納されるデータについてのメタデータも含むことができる。
【００６６】
[0071]  本明細書に記載された実施形態、並びに機能的動作及び／又は操作は、デジタル式電子回路内に、もしくは、本明細書に開示された構造体、及びそれらの構造上の等価物を含むコンピュータソフトウェア、ファームウェア、もしくはハードウェア内に、又はそれらのうちの１つ以上を組み合わせて、実装することができる。実施形態は、１つ以上のコンピュータプログラム製品、例えば、データ処理装置により実行するための、又はデータ処理装置の動作を制御するための、コンピュータ可読媒体上に符号化されたコンピュータプログラム命令の１つ以上のモジュールとして、実装されてもよい。コンピュータ可読媒体は、機械可読記憶装置、機械可読記憶基板、メモリ装置、機械可読伝播信号を引き起こす物質の組成物、又はこれらのうちの１つ以上の組み合わせであってもよい。「データ処理装置」という用語は、データを処理するためのすべての装置、デバイス、及び機械を包含し、それらには、例として、プログラマブルプロセッサ、コンピュータ、又は複数のプロセッサもしくはコンピュータが含まれる。それらの装置は、ハードウェアに加えて、当該コンピュータプログラムのための実行環境を作り出すコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらのうちの１つ以上の組み合わせを構成するコードを含んでもよい。伝播信号は、人工的に生成された信号、例えば、好適な受信機装置に伝送するための情報を符号化するように生成される、機械で生成された電気的、光学的、又は電気磁気的信号である。
【００６７】
[0072]  コンピュータプログラムはまた、プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られており、コンパイル式又はインタープリット式言語を含む、任意の形式のプログラミング言語で記述することができ、独立型プログラムとして、又はモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境で使用するために好適な他のユニットとして含まれる任意の形式で導入されてもよい。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応する必要はない。プログラムは、他のプログラム又はデータを保持するファイルの一部に、問題のプログラム専用の単一のファイル、又は複数の調整ファイルに格納することができる。コンピュータプログラムは、１つのサイトに配置されるか、又は複数のサイトにわたって分散、かつ通信ネットワークにより相互接続された、１つのコンピュータ上又は複数のコンピュータ上で、実行され得る。
【００６８】
[0073]  本明細書に記載されたプロセス及びロジックフローは、１つ以上のコンピュータプログラムを実行する１つ以上のプログラマブルプロセッサによって実行され得、そのコンピュータプログラムは、入力データ上で動作し、出力を生成することによって動作を実行する。プロセス及びロジックフローはまた、専用論理回路、例えば、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）又はＡＳＩＣ（特定用途向け集積回路）によって実行され得、装置もまた、それらのものとして実装され得る。
【００６９】
[0074]  コンピュータプログラムの実行のために好適なプロセッサとしては、例として、汎用及び専用の両用マイクロプロセッサ、並びに任意の種類のデジタルコンピュータのうちの任意の１つ以上のプロセッサが含まれる。一般に、プロセッサは、読み取り専用メモリもしくはランダムアクセスメモリ、又はその両方から命令及び／又はデータを受信することになる。プロセッサは、ハードウェア及びソフトウェアの任意の好適な組み合わせを含むことができる。
【００７０】
[0075]  コンピュータの要素には、命令を実行するためのプロセッサ、並びに命令及びデータを格納するための１つ以上のメモリ装置が含まれ得る。一般に、コンピュータはまた、データを格納するための１つ以上の大容量記憶装置、例えば、磁気ディスク、光磁気ディスク、もしくは光ディスクを含み、又は大容量記憶装置からデータを受信もしくは転送又はその両方を行うように動作可能に大容量記憶装置に結合されることになる。さらに、コンピュータは、別の装置、例えば、ユーザ装置内に内蔵されてもよい。コンピュータプログラム命令及びデータを格納するための好適なコンピュータ可読媒体は、不揮発性メモリ、媒体、及びメモリ装置のすべての形態を含み、例として、ＥＰＲＯＭ、ＥＥＰＲＯＭ、及びフラッシュメモリ装置などの半導体メモリ装置、磁気ディスク、例えば、内蔵ハードディスク又は取り外し可能ディスク、光磁気ディスク、並びにＣＤ−ＲＯＭ及びＤＶＤ−ＲＯＭディスクが含まれる。プロセッサ及びメモリは、専用ロジック回路によって補足され、又はそれに組み込まれ得る。
【００７１】
[0076]  本明細書は多くの特定例を含んでいるが、これらは、本開示、又は請求され得る事項の範囲に限定したもとして解釈されるべきではなく、逆に特定の実施形態に特有の特徴に関する説明として解釈されるべきである。別々の実施形態の文脈で、本明細書に記載されている特定の特徴はまた、単一の実施形態の中に組み込んで実施することもできる。逆に、単一の実施形態の文脈で、本明細書に記載されている様々な特徴はまた、複数の実施形態の中で、別々に、又は任意の好適な副組み合わせで実施することもできる。さらに、各特徴は、特定の組み合わせで動作するものとして上記に説明され得、同様に特許請求の範囲にも記載されているが、特許請求された組み合わせからの１つ以上の特徴が、場合によっては、その組み合わせから削除され得、特許請求された組み合わせは、副組み合わせ、又は副組み合わせの変形例に向かわせる場合がある。
【００７２】
[0077]  同様に、動作が特定の順番で図面に図示されているが、これは、係る動作がその示された特定の順番、もしくは一連の順番で実行されるべきであること、又は例証したすべての動作が、所望の結果を達成するために実行されるべきであることを要求するものとして理解されるべきではない。さらに、上述した実施形態中の様々なシステムコンポーネントの分離は、すべての実施形態において係る分離を必要とするものとして理解されるべきではなく、記載されたプログラムコンポーネント及びシステムは、一般に、単一のソフトウェア製品内に共に一体化されてもよく、又は複数のソフトウェア製品にパッケージ化されてもよい。
【００７３】
[0078]  １つ以上という成句、及び少なくとも１つという成句は、任意の要素の組み合わせを含むことを理解されたい。例えば、Ａ及びＢのうちの１つ以上という表現は、Ａ、Ｂ、又はＡ及びＢの両方を含む。同様に、Ａ及びＢのうちの少なくとも１つ以上という表現は、Ａ、Ｂ、又はＡ及びＢの両方を含む。
【００７４】
[0079]  したがって、特定の実施態様が説明されてきた。他の実施態様は、以下の特許請求の範囲内に存在する。例えば、特許請求の範囲に記載された動作は、異なる順番で実行されてもよく、依然として望ましい結果を達成することができる。
【図１Ａ】
2021510861.tif 000003
【図１Ｂ】
2021510861.tif 000004
【図２】
2021510861.tif 000005
【図３Ａ】
2021510861.tif 000006
【図３Ｂ】
2021510861.tif 000007
【図４】
2021510861.tif 000008
【図５】
2021510861.tif 000009
【国際調査報告】
2021510861.tif 000010
2021510861.tif 000011
2021510861.tif 000012
2021510861.tif 000013
2021510861.tif 000014