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

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

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

特表2023-550875水産養殖のための逃げ出し検出及び軽減
<>
  • 特表-水産養殖のための逃げ出し検出及び軽減 図1
  • 特表-水産養殖のための逃げ出し検出及び軽減 図2
  • 特表-水産養殖のための逃げ出し検出及び軽減 図3
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-12-06
(54)【発明の名称】水産養殖のための逃げ出し検出及び軽減
(51)【国際特許分類】
   G06T 7/00 20170101AFI20231129BHJP
   G06T 7/60 20170101ALI20231129BHJP
   G06V 20/60 20220101ALI20231129BHJP
   G06T 7/70 20170101ALI20231129BHJP
   A01K 61/95 20170101ALI20231129BHJP
【FI】
G06T7/00 350B
G06T7/60 110
G06V20/60
G06T7/70 A
A01K61/95
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023521915
(86)(22)【出願日】2021-09-23
(85)【翻訳文提出日】2023-06-08
(86)【国際出願番号】 US2021051704
(87)【国際公開番号】W WO2022115142
(87)【国際公開日】2022-06-02
(31)【優先権主張番号】17/102,947
(32)【優先日】2020-11-24
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
2.WCDMA
(71)【出願人】
【識別番号】516326438
【氏名又は名称】エックス デベロップメント エルエルシー
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100126480
【弁理士】
【氏名又は名称】佐藤 睦
(72)【発明者】
【氏名】ジェームズ,バーナビー ジョン
【テーマコード(参考)】
2B104
5L096
【Fターム(参考)】
2B104AA01
2B104GA01
5L096AA02
5L096AA06
5L096BA02
5L096BA05
5L096CA04
5L096DA02
5L096DA03
5L096FA52
5L096FA66
5L096FA67
5L096GA30
5L096GA51
5L096KA04
5L096MA07
(57)【要約】
【課題】 魚の逃げ出し検出及び軽減を図ることである。
【解決手段】 水産養殖のための逃げ出し検出及び軽減のための、コンピュータ記憶媒体上に符号化されたコンピュータプログラムを含む、方法、システム、及び装置。いくつかの実装形態では、方法は、囲い内の1匹以上の魚を描写する1つ以上の画像を取得することと、1つ以上の画像を複数の検出モデルに提供する結果として、各異なるタイプの魚のメンバーである可能性が高い画像に描写されている魚の量を反映する値を生成することと、少なくとも値に基づいて、囲いの潜在的開口に関するエラー状態を検出することと、囲いの潜在的開口に関するエラー状態を検出することに応答して、潜在的開口に関する1つ以上の軽減アクションを開始することと、を含む。
【選択図】 図1
【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、
囲い内に位置する魚の集団内の1匹以上の魚を描写する1つ以上の画像を取得することと、
前記画像内に描写されている魚を、異なるタイプの魚のメンバーである可能性が高い、又はメンバーではない可能性が高いとして分類するように各々構成されている複数の検出モデルの各々に、前記1つ又は画像を提供することと、
前記1つ以上の画像を前記複数の検出モデルに提供する結果として、各異なるタイプの魚のメンバーである可能性が高い前記画像に描写されている魚の量を反映する値を生成することと、
少なくとも前記値に基づいて、前記囲いの潜在的開口に関するエラー状態を検出することと、
前記囲いの前記潜在的開口に関する前記エラー状態を検出することに応答して、前記潜在的開口に関する1つ以上の軽減アクションを開始することと、を含む、コンピュータ実装方法。
【請求項2】
前記1つ以上の軽減アクションを開始することは、信号を、前記囲いに対して前記信号において指定された位置に向かって移動するように構成された制御可能なデバイスに送信することを含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記1つ以上の軽減アクションを開始することは、魚が前記囲いに入ること及び出ることを防止するように構成された1つ以上のデバイスに信号を送信することを含む、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記複数の検出モデルは、前記1匹以上の魚の各々を、異なるタイプの魚のメンバーである可能性が高い、又はメンバーでない可能性が高いとして分類することを支援するように構成された1つ以上の分類器を含む、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記囲い内に囲われた前記1匹以上の魚の位置に対応する位置を記憶することを更に含む、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記1つ以上の軽減アクションを開始することは、前記1匹以上の魚の前記位置に部分的に基づいて、魚が出る又は入ることを可能にする前記囲いの前記潜在的開口を判定することを含む、請求項5に記載のコンピュータ実装方法。
【請求項7】
ユーザ選好に基づいてユーザに警告を送信することであって、前記警告は、前記1つ以上の軽減アクションを開始する際に使用される情報を含む、ユーザに警告を送信することを更に含む、請求項1に記載のコンピュータ実装方法。
【請求項8】
前記複数の検出モデルは、前記異なるタイプの魚の画像を使用して訓練された機械学習モデルを含む、請求項1に記載のコンピュータ実装方法。
【請求項9】
動作を実行するためにコンピュータシステムによって実行可能な1つ以上の命令を記憶する非一時的コンピュータ可読媒体であって、前記動作は、
囲い内に位置する魚の集団内の1匹以上の魚を描写する1つ以上の画像を取得することと、
前記画像内に描写されている魚を、異なるタイプの魚のメンバーである可能性が高い、又はメンバーではない可能性が高いとして分類するように各々構成されている複数の検出モデルの各々に、前記1つ以上の画像を提供することと、
前記1つ以上の画像を前記複数の検出モデルに提供する結果として、各異なるタイプの魚のメンバーである可能性が高い前記画像に描写されている魚の量を反映する値を生成することと、
少なくとも前記値に基づいて、前記囲いの潜在的開口に関するエラー状態を検出することと、
前記囲いの前記潜在的開口に関する前記エラー状態を検出することに応答して、前記潜在的開口に関する1つ以上の軽減アクションを開始することと、を含む、非一時的コンピュータ可読媒体。
【請求項10】
前記1つ以上の軽減アクションを開始することは、信号を、前記囲いに対して前記信号において指定された位置に向かって移動するように構成された制御可能なデバイスに送信することを含む、請求項9に記載の非一時的コンピュータ可読媒体。
【請求項11】
前記1つ以上の軽減アクションを開始することは、魚が前記囲いに入ること及び出ることを防止するように構成された1つ以上のデバイスに信号を送信することを含む、請求項9に記載の非一時的コンピュータ可読媒体。
【請求項12】
前記複数の検出モデルは、前記1匹以上の魚の各々を、異なるタイプの魚のメンバーである可能性が高い、又はメンバーでない可能性が高いとして分類することを支援するように構成された1つ以上の分類器を含む、請求項9に記載の非一時的コンピュータ可読媒体。
【請求項13】
前記囲い内に囲われた前記1匹以上の魚の位置に対応する位置を記憶することを更に含む、請求項9に記載の非一時的コンピュータ可読媒体。
【請求項14】
前記1つ以上の軽減アクションを開始することは、前記1匹以上の魚の前記位置に部分的に基づいて、魚が出る又は入ることを可能にする前記囲いの前記潜在的開口を判定することを含む、請求項13に記載の非一時的コンピュータ可読媒体。
【請求項15】
ユーザ選好に基づいてユーザに警告を送信することであって、前記警告は、前記1つ以上の軽減アクションを開始する際に使用される情報を含む、ユーザに警告を送信することを更に含む、請求項9に記載の非一時的コンピュータ可読媒体。
【請求項16】
前記複数の検出モデルは、前記異なるタイプの魚の画像を使用して訓練された機械学習モデルを含む、請求項9に記載の非一時的コンピュータ可読媒体。
【請求項17】
コンピュータ実装システムであって、
1つ以上のコンピュータと、
前記1つ以上のコンピュータと相互動作可能に結合され、1つ以上の命令を記憶する有形の非一時的機械可読媒体を有する、1つ以上のコンピュータメモリデバイスと、を備え、前記1つ以上の命令が、前記1つ以上のコンピュータによって実行されたときに、1つ以上の動作を実行し、前記1つ以上の動作は、
囲い内に位置する魚の集団内の1匹以上の魚を描写する1つ以上の画像を取得することと、
前記画像内に描写されている魚を、異なるタイプの魚のメンバーである可能性が高い、又はメンバーではない可能性が高いとして分類するように各々構成されている複数の検出モデルの各々に、前記1つ以上の画像を提供することと、
前記1つ以上の画像を前記複数の検出モデルに提供する結果として、各異なるタイプの魚のメンバーである可能性が高い前記画像に描写されている魚の量を反映する値を生成することと、
少なくとも前記値に基づいて、前記囲いの潜在的開口に関するエラー状態を検出することと、
前記囲いの前記潜在的開口に関する前記エラー状態を検出することに応答して、前記潜在的開口に関する1つ以上の軽減アクションを開始することと、を含む、コンピュータ実装システム。
【請求項18】
前記1つ以上の軽減アクションを開始することは、信号を、前記囲いに対して前記信号において指定された位置に向かって移動するように構成された制御可能なデバイスに送信することを含む、請求項17に記載のコンピュータ実装システム。
【請求項19】
前記1つ以上の軽減アクションを開始することは、魚が前記囲いに入ること及び出ることを防止するように構成された1つ以上のデバイスに信号を送信することを含む、請求項17に記載のコンピュータ実装システム。
【請求項20】
前記複数の検出モデルは、前記1匹以上の魚の各々を、異なるタイプの魚のメンバーである可能性が高い、又はメンバーでない可能性が高いとして分類することを支援するように構成された1つ以上の分類器を含む、請求項17に記載のコンピュータ実装システム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、概して、カメラコントローラに関し、特に水産養殖における水中カメラに使用されるカメラコントローラに関する。
【背景技術】
【0002】
研究者及び養魚場運営者は、水産養殖に使用される生け簀又は他の囲いを管理する際にいくつかの課題に直面する。網又は他の材料は、水産養殖環境内で魚を取り囲むために使用され得るが、これらの材料は、使用中に破れる、又は破断し得る。開放水域環境では、未検出の破れは、例えば、近くの他の魚の集団に対して負の帰結を有し得る、魚の逃げ出しという結果になり得る。
【0003】
魚が生け簀の破られた網を通って逃げ出すときに、修復努力は、典型的には、スポーツ漁師を雇うこと又はフィヨルド網の使用などによって、逃げ出した魚を捕らえて戻すことを試みることを伴う。しかしながら、これらの方法は、費用がかかり、かつ効果的でない傾向がある。
【0004】
魚が逃げ出したか又は逃げ出しつつあるかを判定するために囲いを手動で直接モニタリングすることは、囲いが大きい(例えば、周囲が170メートル~200メートルであり、深さが35メートルである)可能性があるので、困難である可能性がある。更に、手作業のプロセスは、作業スケジュール又は悪天候条件が人間のモニタの可用性を低下させるときなど、多くの場合、時間がかかり、費用がかかり、不正確であり、遅延する可能性がある。
【発明の概要】
【0005】
概して、本明細書に説明される主題の革新的な態様は、魚の逃げ出し検出及び軽減に関する。
【0006】
本明細書に説明される主題の一実装形態によれば、囲いに在来する魚を包含するメッシュ状網囲いにおける破れは、在来魚の逃げ出し又は囲いの外部からの外来魚の移入を防止するために検出され得る。監視デバイス、例えば、カメラは、囲い内に存在している魚の画像を取得するために使用される。存在している魚の取得された画像は、1匹以上の在来魚と同様に、メッシュ状網の破断を通って囲いに入ってきた1匹以上の外来魚を含み得る。取得された画像は、存在している魚に対応する魚の種又はタイプを識別するために、及び囲い内の外来魚に対する在来魚の量、又は囲い内の外来魚に対する在来魚の量の経時的な変化を示す比率などの指標を計算するために、使用される。本指標は、自動開口検出又は軽減手順又は技術を開始して、囲いにおける潜在的開口を位置特定し、孤立させ、及び/又は修復するために、他のハードウェア制御システムによって使用することができる、逃げ出しリスクスコアとして利用される。
【0007】
いくつかの実装形態では、水産養殖のための逃げ出し検出及び軽減のための方法は、囲い内に位置する魚の集団内の1匹以上の魚を描写する1つ以上の画像を取得することと、画像内に描写されている魚を、異なるタイプの魚のメンバーである可能性が高い、又はメンバーではない可能性が高いとして分類するように各々構成されている複数の検出モデルの各々に、1つ以上の画像を提供することと、1つ以上の画像を複数の検出モデルに提供する結果として、各異なるタイプの魚のメンバーである可能性が高い画像に描写されている魚の量を反映する値を生成することと、少なくとも値に基づいて、囲いの潜在的開口に関するエラー状態を検出することと、囲いの潜在的開口に関するエラー状態を検出することに応答して、潜在的開口に関する1つ以上の軽減アクションを開始することと、を含む。
【0008】
いくつかの実装形態では、1つ以上の軽減アクションを開始することは、信号を、囲いに対して当該信号において指定された位置に向かって移動するように構成された制御可能なデバイスに送信することを含む。
【0009】
いくつかの実装形態では、1つ以上の軽減アクションを開始することは、魚が囲いに入ること及び出ることを防止するように構成された1つ以上のデバイスに信号を送信することを含む。
【0010】
いくつかの実装形態では、複数の検出モデルは、1匹以上の魚の各々を、異なるタイプの魚のメンバーである可能性が高い、又はメンバーでない可能性が高いとして分類することを支援するように構成された1つ以上の分類器を含む。
【0011】
いくつかの実装形態では、本方法は、囲い内に囲われた1匹以上の魚の位置に対応する位置を記憶することを更に含む。
【0012】
いくつかの実装形態では、1つ以上の軽減アクションを開始することは、1匹以上の魚の位置に部分的に基づいて、魚が出る又は入ることを可能にする囲いの潜在的開口を判定することを含む。
【0013】
いくつかの実装形態では、本方法は、ユーザ選好に基づいてユーザに警告を送信することであって、警告が1つ以上の軽減アクションを開始する際に使用される情報を含む、送信することを更に含む。
【0014】
いくつかの実装形態では、複数の検出モデルは、異なるタイプの魚の画像を使用して訓練された機械学習モデルを含む。
【0015】
有利な実装形態は、以下の特徴のうちの1つ以上を含むことができる。例えば、集団追跡の間接的特質は、破れ又は逃げ出しの視覚的標識について囲いを直接モニタリングする努力なしに、逃げ出し及び意図しない囲い開口の効果的な検出を可能にする。囲いの典型的なサイズを考慮すると、囲いをモニタリングする直接的方法は、本明細書で概説される集団検出及び追跡の間接的方法と比較して、追加のリソースを必要とし得る。加えて、囲い内の1匹以上の魚の位置を取得することは、外来魚が囲いに入り、在来魚が囲いから出ることを可能にする潜在的な開口を直接識別するために使用することができる。これらの技術を使用して、自動検出技術は、開口を通っての逃げ出し又は意図しない魚の進入のリスクが高いときに開始され得、また逃げ出しのリスクが低いときに回避又は排除され、監視デバイスに対する不必要な需要及び消耗逃げ出しを低減し、他のより高い優先度の監視タスクのための監視リソースを保存する。
【0016】
本発明の1つ以上の実施形態の詳細は、添付の図面及び以下の説明に記載される。本発明の他の態様及び利点は、説明、図面、及び特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0017】
図1】逃げ出し検出及び軽減システムの実施例を示す図である。
図2】逃げ出し検出及び軽減のためのプロセスの実施例を示す流れ図である。
図3】逃げ出し検出及び軽減システムにおいて使用することができるコンピュータシステムコンポーネントの図である。
【0018】
様々な図面における同様の参照番号及び名称は、同様の要素を示す。
【発明を実施するための形態】
【0019】
図1は、逃げ出し検出及び軽減システム100の実施例を示す図である。システム100は、漁網囲い101内の異なるタイプの魚を検出し、それらの異なるタイプの魚、例えば、数ある中で、サケ、サバ、ベラ及びランプフィッシュのような掃除魚などの異なる種の集団を追跡するように構成されている。次いで、システム100は、逃げ出し検出の代わりとして、異なるタイプの魚の集団の相対的増加又は他の変化を、例えば、経時的に検出するように構成されている。次いで、システム100は、在来魚が囲い101から逃げ出すことを防止し、外来魚が囲い101に入ることを防止するように設計された検出又は軽減アクションを実行するように構成されている。
【0020】
システム100は、群れ102a、群れ102b、及び魚102cに示される在来魚のための漁網囲い101を含む。本明細書内では、在来魚は、最初は囲い101内に囲われているが、開口111などの開口を通って囲い101の外に移動し得る魚を指し、一方、外来魚は、最初は囲い101内に囲われていないが、開口111などの開口を通って囲い101内に移動し得る魚を指す。システムはまた、監視デバイス107に通信可能に接続された制御ユニット103を含む。制御ユニット103は、監視デバイス107に制御信号を送信するだけでなく、監視デバイス107から情報を受信するように構成されている。監視デバイス107は、移動し、魚の画像を記録するように構成されている。
【0021】
図1の段階A~Cは、システム100の動作の実施例を描写する。具体的には、段階Aでは、監視デバイス107は、囲い101を巡回する。監視デバイス107は、移動コントローラ104から1つ以上の信号を受信する。1つ以上の信号は、囲い101の周りの動きを通知するために、監視デバイス107によって使用することができる。
【0022】
いくつかの実装形態では、監視デバイス107は、1つ以上の他のタスクに関して逃げ出し検出を優先する。例えば、監視デバイス107は、数ある中で、魚識別、摂食追跡、挙動追跡、集団識別、逃げ出し検出、一般的監視などの複数の目的のために使用することができる。場合によっては、監視デバイス107は、囲い101における破れ、亀裂、又は他の開口によって引き起こされる逃げ出しのリスクが所定の閾値を上回るときに、逃げ出し検出に関するアクションを優先する。アクションに優先順位を付けることによって、監視デバイス107は、逃げ出し軽減又は検出アクションをより少ない頻度で実行し得る。アクションに優先順位を付けることによって、監視デバイス107はまた、エネルギー、データ記憶、又は他の限られたリソースなどのリソースを節約し得る。これらのリソースは、より高い優先度を有するアクションのために保存され得る。同様に、アクションに優先順位を付けることによって、監視デバイス107は、高い優先度のアクションのみを実行することができ、それによって、物理的機構の消耗を潜在的に低減する。
【0023】
巡回中、監視デバイス107は、外来魚109aの1つ以上の画像を含む魚の画像をキャプチャする。外来魚109aは、群れ102a及び102bに示された在来魚とは異なる特性を有する魚である。外来魚109a、109b、及び109cは、囲い101に作られた開口111を通って囲い101内に入る。同様に、在来魚102cは、開口111を通って逃げ出す。図1の実施例では、開口111は、囲い101の漁網における破れである。
【0024】
外来魚109aの検出及び識別が詳細に検討されるが、システム100は、群れ102a及び102bの在来魚と同様に、他の外来魚109b及び109cを検出及び識別するように同様に構成されている。例えば、外来魚109aを検出及び識別するために使用される技術は、群れ102a及び102bの在来魚の魚の各々を検出及び識別するために使用することができる。いくつかの実装形態では、訓練されたモデルは、外来魚109a並びに群れ102a及び102bの在来魚を検出又は識別するために、代替の分類器を使用する。例えば、訓練されたモデルは、群れ102a及び102bの在来魚を検出又は識別するために、在来魚に対応する分類器を使用することができ、外来魚109b及び109cなどの他の潜在的な外来魚の中から外来魚109aを検出又は識別するために、外来魚に対応する分類器を使用することができる。
【0025】
監視デバイス107は、外来魚109aのキャプチャされた1つ以上の画像を制御ユニット103に送信する。場合によっては、監視デバイス107はまた、外来魚109aの現在位置に対応する位置、例えば、数ある中で、深さ、網グリッド、方向、位置座標、半径方向位置、囲い識別子、象限又は他の区分識別子を送信する。外来魚109aのキャプチャされた1つ以上の画像は、外来魚109aを含まない視覚的部分と、外来魚109aを含む視覚的部分とを含み得る。制御ユニット109aは、キャプチャされた1つ以上の画像内の外来魚109aを検出するために、背景に対する外来魚109aの境界を識別する、又は外来魚109aの身体上の所定のマーカ、例えば、魚の鼻、魚の尾などを検出する画像認識を使用する技術などの、任意の適切な処理技術を使用することができる。当技術分野で知られている任意の適切なデータ処理技術が、使用され得る。
【0026】
段階Bでは、制御ユニット103は、項目114に示されるように、外来魚109aの1つ以上の画像を分析するために、魚検出モジュール113を使用する。図1の実施例では、魚検出モジュール113は、外来魚109aのキャプチャされた1つ以上の画像に基づいて、外来魚109aについてのトラスネットワーク115を生成するトラスネットワーク生成器を含む。トラスネットワーク115は、外来魚109aのタイプを判定するために、部分的に、使用することができる。実装形態によっては、外来魚109aのタイプは、数ある中で、種識別子、亜種識別子、特徴的要素識別子、健康状態識別子のいずれかを含む。トラスネットワーク115は、外来魚109aの身体上の様々な点間の距離を表す複数の値を含む。
【0027】
少なくとも複数の値に基づいて、魚検出モジュール113は、外来魚109aに対応する魚のタイプを判定することができる。例えば、群れ102a及び102bに示されている在来魚がサケである状況では、外来魚109aは、在来魚とは異なる掃除魚のタイプ、サバ、又は任意の他のタイプの海洋動物として検出され得る。群れ102a及び102bに示される在来魚、又は一匹以上の外来魚109a、109b、109c、及び109dのいずれかを構成する魚のタイプは、本明細書では限定されない。
【0028】
いくつかの実装形態では、魚検出モジュール113は、1つ以上の分類器を使用する。例えば、魚検出モジュール113は、サケを検出するサケモデル分類器、サバを検出するサバモデル分類器、掃除魚を検出する掃除魚モデル分類器などを使用することができる。場合によっては、1つ以上の分類器は、1つ以上の画像内の所与の魚を検出するために、1つ以上の画像に適用される。場合によっては、特定の分類器は、1つ以上の検出に基づいて更新される。場合によっては、サケ、サバ、掃除魚(例えば、ベラ、ランプフィッシュ)、又は他のタイプの魚のサブカテゴリは、所与のサブカテゴリを検出するように構成された分類器を使用して、検出及び分類することができる。
【0029】
いくつかの実装形態では、魚の第1のカテゴリ又は種の検出は、1つ以上のキャプチャされた画像において描写される魚の量を反映する、比率などの値を計算するために使用されない。例えば、魚検出モジュール113は、サケを検出するサケモデル分類器、サバを検出するサバモデル分類器、掃除魚を検出する掃除魚モデル分類器などを使用することができる。システム100は、後続のアクションをトリガするために、サケ及びサバの検出のみを使用し得る。魚の1つのカテゴリ、例えば、掃除魚の検出は、1つ以上の他のカテゴリ、例えば、サケ及びサバが計算値、例えば、比率を生成するために使用されるように、データからフィルタリングすることができる。
【0030】
いくつかの実装形態では、掃除魚は、在来魚の総計に含まれる。例えば、サケが在来魚である実施例では、掃除魚の検出の数は、在来魚検出の合計を作成するために、サケ検出の数に加えることができる。次いで、在来魚検出の合計は、在来魚検出の合計と外来魚検出の合計とを含む比率を生成するために、使用することができる。
【0031】
いくつかの実装形態では、魚検出モジュール113は、異なるタイプの魚を識別するように訓練された分類器を使用する。例えば、分類器は、魚のグループ内の種又は別個の種のサブカテゴリを検出するように構成することができる。分類器は、実装形態によっては、種の特定のサブカテゴリ又は特定の種に関連付けられた、異なる特徴、例えば、パターン、色、トラス長さ、特徴的要素などを検出するように訓練することができる。様々な特徴を検出するように訓練された後、分類器は、新たに取得された画像における様々な特徴を検出するために、使用することができる。次いで、訓練された分類器による1つ以上の特徴の検出は、所与の魚を種の特定のサブカテゴリ又は特定の種のメンバーとして識別するために、使用することができる。
【0032】
魚検出モジュール113の検出に基づいて、追跡モジュール117は、例えば、孤立値として、又は養殖魚に対する野生魚の比率として、外来魚109aの現在の量を記録する指標、及び任意選択的に、前に又は後に判定された指標に関連付けられた任意の以前の指標を生成する。図1の実施例では、追跡モジュール117は、監視デバイス107によって制御ユニット103に送信された位置又は他の情報に基づいて、外来魚109aの位置を記録する。
【0033】
追跡モジュール117は、外来魚109aの位置を、他の魚の1つ以上の他の記憶された位置を含む記憶されたマップに追加する。記憶されたマップの視覚的表現は、視覚的な別個の要素が異なるカテゴリの魚を意味する、項目118に示されている。例えば、在来魚は、項目118に示される記憶されたマップの視覚表現において黒い点として示され、外来魚は、項目118に示される記憶されたマップの視覚的表現において灰色の点として示される。概して、任意の視覚表現は、魚検出モジュール113によって実行される検出に基づいて、1匹以上の魚の位置を示すためにユーザに提示され得る。場合によっては、外来魚109aの位置は、半径方向位置又は深度値を含む。
【0034】
追跡モジュール117は、外来魚としての外来魚109aの検出に基づいて、魚検出モジュール117によって検出された外来魚の累積数に対応する指標の値をインクリメントする。この値は、逃げ出しリスクスコアを生成するために使用される。囲い101における外来魚及び在来魚の現在までの合計の視覚化は、魚タイプBの数が外来魚(例えば、外来魚109a、109b、及び109c)の数に対応し、魚タイプAの数が在来魚(例えば、群れ102a及び102b)の数に対応して、項目119に示されている。
【0035】
項目121に視覚的に示される時点で、外来魚の数は、在来魚の数に対して増加する。図1の実施例では、トリガ検出モジュール123は、在来魚に対する外来魚の比率が閾値122を超えたことを検出すること、すなわち、逃げ出しが、囲い101から逃げ出す在来魚だけでなく、開口111などの開口を通って囲い101に入る外来魚も含む可能性がある場合、逃げ出しのリスクが高いと検出される。トリガ検出モジュール123は、外来魚109aの検出又は任意の先行若しくは後続の検出の対応する情報に基づいて、検出出力124を生成する。例えば、検出出力124は、開口111の位置に対応する破れなどの開口の可能性の高い位置を含むことができる。開口111の位置は、項目118に示されるように、1匹以上の検出された魚の位置によって通知することができる。
【0036】
いくつかの実装形態では、トリガ検出モジュール123は、所定の時間量内の外来魚の数の増加を検出する。例えば、トリガ検出モジュール123は、1時間以内の外来魚の増加を記録することができる。トリガ検出モジュール123が1時間以内に十分な数の外来魚を検出した場合、トリガ検出モジュール123は、囲い101に破れ、穴、又は他の開口がある可能性が高いと判定することができる。トリガ検出モジュール123が十分な数の外来魚を検出するが、1時間よりも長い時間がかかる場合、トリガ検出モジュール123は、代替の判定を行うことができる。例えば、場合によっては、外来魚の時間がかかる検出率は、小魚が囲い101に泳いで入り、次いで経時的に成長することによって引き起こされる可能性がある。
【0037】
いくつかの実装形態では、外来魚の検出率が、使用される。例えば、追跡モジュール117は、所定の時間期間、例えば、秒、分など当たりの外来魚の検出数を記録することができる。所定の時間期間当たりの外来魚の検出数は、在来魚の検出率とすることができる。外来魚の検出率に基づいて、トリガ検出モジュール123は、閾値を満たす外来魚の十分な増加を検出することができる。例えば、外来魚の検出率がある特定の閾値を上回る場合、トリガ検出モジュール123は、開口があり、軽減アクションなどの後続のアクションが実行されるべきである可能性が高いことを示す出力を生成することができる。場合によっては、閾値を満たすことは、スプリアスであり得る検出率の短時間の増加が後続のアクションをトリガすることを防止するために、率が所定の時間量にわたって閾値を上回ると判定することを含む。
【0038】
制御ユニット103は、検出出力124に基づいて、監視デバイス107に情報を送信する。場合によっては、情報は、可能性の高い破れ又は開口の近くにある別の位置125に移動するように監視デバイス107に命令するように構成されている。次いで、位置125に描写された監視デバイス107は、軽減技術を実行すること、又は開口111に関する追加の情報を取得することに進むことができる。場合によっては、軽減技術は、囲い101の修理、又は外来魚が囲い101に入り込むのを防止することを助け、在来魚が逃げ出さないようにプログラムされた動きを含む。
【0039】
いくつかの実装形態では、システム100の自動逃げ出し検出技術は、逃げ出しのリスクが高いときに開始され、逃げ出しのリスクが低いときに回避又は排除される。このようにして、システム100は、監視デバイス107などの監視デバイスに対する不必要な需要及び消耗を低減し、潜在的な逃げ出しの所与のリスクスコアに基づいて、自動逃げ出し検出技術よりも優先されたタスクなど、他のより優先度の高い監視タスクのための監視リソースを保存することができる。逃げ出しのリスクは、在来魚が囲い101から逃げ出すことができ得、外来魚が囲い101に入ることができ得るというリスクを表し得る。
【0040】
いくつかの実装形態では、監視デバイス107には、監視デバイス107が開口111に対応する囲い101の網の破れを修理することを可能にする修理ツールが装備されている。例えば、監視デバイス107は、在来魚が逃げ出すこと、又は外来魚が入ることを防止するために、開口111の対向する側部を接続する締結具を使用することができる。
【0041】
いくつかの実装形態では、囲い101は、自己修復囲いである。例えば、アクチュエータは、囲い101に埋め込むことができ、次いで、囲い101の一部を閉じる又は開くように制御することができる。開口の位置が制御ユニット103の判定に基づいて検出されるときに、信号は、作動させる、すなわち任意の意図されない開口を他の方法で閉鎖する命令とともに、疑わしい開口位置の近傍内の囲い101の1つ以上のアクチュエータに送信することができる。場合によっては、制御ユニット103による後続のデータ追跡は、囲い101のアクチュエータが疑わしい開口位置を閉じるのに成功したかどうかを判定するために、使用することができる。そうでない場合、最初に作動されたアクチュエータの近傍における他のアクチュエータを作動させることを含む探索方法は、対応するデータ追跡が、判定された値に基づいて、疑わしい開口位置が閉じられていることを確立するまで、使用され得る。
【0042】
いくつかの実装形態では、監視デバイス107は、外来魚が囲い101に入り込むのを防止することを助け、在来魚が逃げ出さないようにプログラムされた動きを使用する。例えば、監視デバイス107は、開口111を位置特定し、監視デバイス107が開口111を物理的に遮断するようにそれ自体を位置特定するために、搭載されたセンサ、又は制御ユニット103によって送信された情報を使用することができる。場合によっては、監視デバイス107に利用可能な拡張可能なファン又は他のツールが、開口111を遮断するために使用され得る。
【0043】
いくつかの実装形態では、音又は他の妨害物が、開口111を通って入ること又は出ることを阻止するために、使用される。例えば、監視デバイス107は、開口111の近傍内をナビゲートし得、1つ以上のタイプの魚を追い払うように設計された音声を再生するスピーカデバイスを使用し得る。音声は、捕食者の音に似ていてもよいし、所与の魚にとって大きな音であってもよいし、又は他の方法で妨害するものであってもよい。音声はまた、魅力的であってもよく、開口111から離れた所与の位置に魚を誘い込んでもよい。
【0044】
いくつかの実装形態では、アトラクタは、囲い111における魚の位置を制御するために、検出出力124の開口検出に応答して使用される。例えば、食物が、魚が開口111から離れて誘引されるように、開口111から離れた所定の位置内に分配され得る。当技術分野で知られている任意の他の魅力的なデバイスが、同様に使用され得る。
【0045】
いくつかの実装形態では、動的遮断要素が、開口111を通って入ること及び出ることを防止するために使用される。例えば、監視デバイス107は、位置125に移動し、開口111を通って入ること及び出ることを防止又は軽減するために、開口111の上に遮断要素を配置することができる。場合によっては、当技術分野で知られている任意のデバイスが、開口111を通って入ること及び出ることを防止するために、監視デバイス107に搭載されているか、又は囲い101の近傍内のいずれかで使用され得る。例えば、監視デバイス107は、開口111の近傍に水流を生成するために、搭載された水ベントを使用することができる。水流は、開口111を通って入ること及び出ることを魚にとってより困難にするように生成することができる。例えば、水流は、開口を通って入ろう又は出ようとする所与の魚が妨げられるように、開口111を横切って発生させることができる。
【0046】
いくつかの実装形態では、他のロボット又はデバイスは、システム100におけるエンティティのうちの1つ以上に帰属する1つ以上のアクションを実行するために使用される。例えば、監視デバイス107が開口111の近傍にナビゲートする代わりに、第2又は第3のロボットが、警告され、後続のタスクを実行するために、開口111に向かって移動することができる。場合によっては、制御ユニット103、又は制御ユニット103に通信可能に接続された別のデバイスは、第2又は第3のロボットが囲い101又は囲い101の近傍における1匹以上の魚に関連する1つ以上のアクションを実行するように、第2又は第3のロボットに1つ以上の信号を送信するために使用される。
【0047】
いくつかの実装形態では、制御ユニット103は、警告選好及び検出出力124に基づいて、1人以上のユーザに警告する。例えば、制御ユニット103は、システム100によって収集された他の情報と同様に、囲い101の網において起こり得る破れを詳述する通知とともに、ユーザの通信可能に接続されたデバイスにメッセージを送信することができる。概して、任意の当事者は、実行された任意の所与のプロセス又はシステム100によって検出された事象を通知され得る。任意の所与の当事者に送信された情報は、所与の当事者に固有であり得る1つ以上の所定の通知選好に従って提示され得る。
【0048】
いくつかの実装形態では、監視デバイス107は、制御ユニット103に画像を送信し続けることができる。制御ユニット103は、在来魚に対する外来魚の比率をモニタすることができる。他の閾値は、軽減技術内で使用され得る。例えば、在来魚に対する外来魚の比率が所定の時間量にわたって一定のままであった場合、制御ユニット103は、所与の軽減技術が成功したことをユーザに警告することができる。この場合、所定の時間量及び所定の変化率の両方は、在来魚に対する外来魚の比率が所定の時間量にわたって一定のままであったかどうかを判定するために、使用することができる。
【0049】
いくつかの実装形態では、監視デバイス107は、制御ユニット103に他の情報を送信する。例えば、監視デバイス107は、現在の配向を制御ユニット103に送信することができる。現在の配向は、監視デバイス107に取り付けられたカメラが向いている現在の方向を含むことができる。現在の配向は、監視デバイス107の姿勢を組み込むことができる。現在の配向はまた、ピッチ、ロール、ヨーなどを組み込むことができる。概して、三次元空間においてデバイスを位置付けし、配向させる任意の方法を、使用することができる。監視デバイス107を配向させる又は位置付けるための所与の方法のための対応する情報は、監視デバイス107によって制御ユニット103に送信することができる。
【0050】
いくつかの実装形態では、位置は、監視デバイス107によって制御ユニット103に送信された他の情報に基づいて推測される。例えば、魚検出モジュール113は、外来魚109aの1つ以上の画像が監視デバイス107によってキャプチャされたときに、対応する現在時刻で監視デバイス107の位置を取得することができる。監視デバイス107の位置及び外来魚109aの1つ以上の画像に基づいて、外来魚109aの位置は、推測され得る。場合によっては、トラスネットワーク115は、外来魚109aの1つ以上の画像がキャプチャされた時点で、外来魚109aと監視デバイス107との間の可能性のある距離を判定するために使用される。
【0051】
いくつかの実装形態では、画像のシーケンスは、外来魚109aの移動の方向を判定するために使用される。例えば、制御ユニット103は、外来魚109aの複数の画像を取得することができる。制御ユニット103は、魚検出モジュール113を使用して、外来魚109aが現在の速度率で現在の方向に向かっていることを判定することができる。判定された現在の方向及び現在の速度率に基づいて、魚検出モジュール113は、画像をキャプチャした後のある時点での外来魚109aの後続の位置を判定することができる。
【0052】
いくつかの実装形態では、位置は、監視デバイス107によって送信された配向情報に基づいて推測される。例えば、監視デバイス107は、監視デバイス107の現在の配向及び位置を、外来魚109aの1つ以上の画像とともに魚検出モジュール113に送信することができる。魚検出モジュール113は、外来魚109aの位置を判定するために、外来魚109aの配向、位置、及び1つ以上の画像のうちの1つ以上を使用することができる。
【0053】
いくつかの実装形態では、在来魚及び外来魚は、同じ種であるが、1つ以上の特性を共有しない。例えば、在来魚は、特定の亜種であり得る。魚検出モジュール113は、特定の亜種に属する魚を在来魚として検出し、特定の亜種に属さない魚を外来魚として検出することができる。魚検出モジュール113は、外来魚を定義する1つ以上の特徴及び在来魚を定義する1つ以上の特徴を記述する予め記憶されたデータに基づいて、外来魚及び在来魚の分類を行うことができる。
【0054】
いくつかの実装形態では、在来魚と外来魚との間の非共有特性は、別のプロセスによって外部で生成される。例えば、在来魚は、視覚的要素(例えば、プラスチックマーカー、切除されたひれなど)又は非視覚的要素(例えば、電子チップ、ビーコンなど)などの特徴的要素でタグ付けされ得る。次いで、監視デバイス107は、魚検出モジュール113が所与の魚の特徴的要素に対応するデータを取得し、検出された特徴的要素に基づいて所与の魚のタイプを検出するように、所与の魚について特徴的要素の関連データ(例えば、視覚的特徴的要素の画像又は非視覚的特徴的要素の非視覚的データ)を巡回して取得することができる。
【0055】
いくつかの実装形態では、いずれの既知の魚タイプにも対応しない、魚検出モジュール113によって検出された魚は、不明などの別個のカテゴリに分類され得る。例えば、魚検出モジュール113は、監視デバイス107によって取得されたデータを分析し、それを所与の数の魚のタイプについての所定のデータと比較することができる。魚検出モジュール113が、所与の取得されたデータを任意の所定の魚タイプに一致させることが不可能である場合、魚検出モジュール113は、魚を未知としてマークし、システム設定に従って結果を集計することができる。例えば、不明な魚は、在来魚などの既存のカテゴリに含まれ得、又は、外来魚又は在来魚のいずれでもない第3のカテゴリに含まれ得る。場合によっては、第3のカテゴリは、項目121に示す事象などのトリガ事象がトリガ検出モジュール123によって検出されたか否かを判定するために使用される処理値を生成するために、使用することができる。
【0056】
いくつかの実装形態では、閾値122の代わりに、別のトリガが、検出出力124を生成するためにシステム100によって使用される。例えば、追跡モジュール117は、所与の時間量にわたる所与の魚カテゴリの集団の変化のレベルを追跡することができる。次いで、トリガ検出モジュール123は、所定のレベルの変化を検出することに基づいて、検出された変化のレベルと同様に、囲い101の周りの潜在的な関心領域に関連する情報を含む検出出力124を生成することができる。
【0057】
いくつかの実装形態では、他の処理値は、トリガ検出モジュール123のための閾値として使用することができる。例えば、項目119に示される魚タイプAから魚タイプBへの閾値122の代わりに、トリガ検出モジュール123は、現在若しくは過去の在来魚の数、現在若しくは過去の外来魚の数、現在若しくは過去の第3のカテゴリの観察の数、又は他の関連パラメータを表す1つ以上の値に基づいて、1つ以上の処理値を計算することができる。次いで、結果として生じる1つ以上の処理値は、所与の事象が起こっているかどうかを判定するために、トリガ検出モジュール123によって使用することができる。
【0058】
いくつかの実装形態では、あるタイプの機械学習モデルは、事象が発生したか否か、又は検出出力124を生成するか否かを検出するために、使用される。例えば、システム100において使用される所与の機械学習モデルは、魚の逃げ出しの履歴データで訓練され得る。機械学習モデルは、1つ以上の所与の状況を所与の事象に対応するものとして分類するように訓練することができる。例えば、機械学習モデルは、訓練データとして使用される魚の逃げ出しの履歴データに基づいて、潜在的な魚の逃げ出しを判定することができる。
【0059】
いくつかの実装形態では、あるタイプの機械学習モデルは、1つ以上の記録された位置項目に基づいて、事象がどこで起きたのかを検出するために使用される。例えば、項目118に示される記憶されたマップの視覚的表現に示されるように、システム100は、所与の魚検出に対応するいくつかの位置を記録する。1つ以上の位置の位置決めに基づいて、履歴位置決めデータで訓練された機械学習モデルを、項目118に示される記憶されたマップに対応する情報に基づいて、開口111などの可能性の高い開口を判定するために使用することができる。
【0060】
いくつかの実装形態では、他の処理技術を、魚を検出するために、魚検出モジュール113によって使用することができる。例えば、トラスネットワークを生成する代わりに、魚検出モジュール113は、群れ102aの在来魚などの魚に埋め込まれたチップから、監視デバイス107によってキャプチャされた電子信号を取得することができる。魚検出モジュール113は、その電子信号を在来魚の既知の電子信号と比較し、その比較に基づいて、魚のタイプを判定することができる。
【0061】
いくつかの実装形態では、他の処理技術は、キャプチャされた1つ以上の画像内の魚を検出又は識別するために、魚検出モジュール113によって使用することができる。例えば、トラスネットワークを生成する代わりに、魚検出モジュール113は、取得された1つ以上の画像の第1の視覚部分を検出するために、物体検出又は別の形態の画像処理を使用することができる。第1の視覚部分は、タグ、固有のひれ切除、又は他の別個の要素などの特徴的視覚的要素を含むことができる。魚検出モジュール113は、第1の視覚的部分に少なくとも部分的に基づいて、取得された1つ以上の画像の第1の視覚的部分にキャプチャされた魚の対応するタイプを識別することができる。
【0062】
いくつかの実装形態では、制御ユニット103は、監視デバイス107に搭載されたデバイスである。例えば、監視デバイス107は、制御ユニット103に関して説明された処理に充てられる1つ以上の区画又は付属品を有する潜水艇であることができる。場合によっては、1つ以上の他の監視デバイスは、制御ユニット103が複数の監視デバイスのための複数の信号を処理することができるように、監視デバイス107の本体上に固定された制御ユニット103と接続することができる。
【0063】
図2は、逃げ出し検出及び軽減のためのプロセス200の実施例を示すフローチャートである。プロセス200は、1つ以上の電子システム、例えば、図1のシステム100によって実行され得る。
【0064】
プロセス200は、囲い内の魚の画像をキャプチャする(202)ことを含む。例えば、図1に示されるように、監視デバイス107は、囲い101を巡回する。巡回中、監視デバイス107は、群れ102a又は102bにおける在来魚の1つ以上の画像を含む魚の画像をキャプチャする。監視デバイス107は、同様に、外来魚109aの画像をキャプチャする。外来魚109aは、群れ102a及び102bに示された在来魚とは異なる特性を有する魚である。外来魚109a、109b、及び109cは、囲い101に作られた開口111を通って囲い101内に入る。同様に、在来魚102cは、開口111を通って逃げ出す。
【0065】
プロセス200は、検出モデルを使用して囲いの1匹以上の魚を分類する(204)ことを含む。例えば、監視デバイス107は、外来魚109aに対応する情報を制御ユニット103に送信する。その情報に基づいて、制御ユニット103及び魚検出モジュール113は、外来魚109aを外来魚としてカテゴライズする。監視デバイス107はまた、群れ102a又は102bの1匹以上の在来魚に対応する情報を制御ユニット103に送信し得る。群れ102a又は102bの1匹以上の在来魚に対応する情報は、群れ102a又は102bの1匹以上の在来魚を在来魚として検出及び識別するために、制御ユニット103によって使用することができる。
【0066】
プロセス200は、経時的に1匹以上の魚の検出を記録する(206)ことを含む。例えば、図1の項目114並びに項目118及び119に示されるように、位置と同様に、いくつかの異なるタイプの魚が記録される。図1の実施例では、魚タイプAである在来魚と魚タイプBである外来魚との比率は、項目119に示されるように、追跡モジュール117によって追跡される。加えて、囲い101における様々な魚の位置は、項目118に示されている。実装形態によっては、他のパラメータ又は因子が記録され得る。
【0067】
プロセス200は、外来魚に対する在来魚の比率の変化を検出する(208)ことを含む。例えば、図1では、トリガ検出モジュール123は、項目114に示されるように、在来魚に対する外来魚の比率が閾値122を超えたことを検出する。上で考察されるように、他の実装形態では、囲い101における1つ以上の魚検出に対応する他のパラメータはモニタすることができる。
【0068】
プロセス200は、検出及び軽減プロトコルをトリガする(210)ことを含む。例えば、トリガ検出モジュール123は、外来魚109aの検出又は任意の先行若しくは後続の検出の対応する情報に基づいて、検出出力124を生成することができる。例えば、検出出力124は、開口111の位置に対応する破れの可能性の高い位置を含むことができる。破れの位置は、項目118に示されるように、1匹以上の検出された魚の位置によって通知することができる。
【0069】
いくつかの実装形態では、制御ユニット103は、検出出力124に基づいて、監視デバイス107に情報を送信する。場合によっては、情報は、可能性の高い破れ又は開口の近くにある位置125に移動するように監視デバイス107に命令するように構成されている。次いで、位置125に描写された監視デバイス107は、軽減技術を実行することに進むことができる。場合によっては、軽減技術は、囲い101の修理、又は、上で考察されるように、外来魚が囲い101に入り込むのを防止することを助け、在来魚が逃げ出さないようにプログラムされた動きを含む。
【0070】
図3は、図1のシステム100などの逃げ出し検出及び軽減のためのシステムを実装するために使用することができるコンピュータシステム300のコンポーネントの図である。
【0071】
コンピューティングデバイス300は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、及び他の適切なコンピュータなど、様々な形態のデジタルコンピュータを表すことが意図されている。コンピューティングデバイス350は、携帯情報端末、携帯電話、スマートフォン、及び他の同様のコンピューティングデバイスなど、様々な形態のモバイルデバイスを表すことが意図されている。追加的に、コンピューティングデバイス300又は350は、ユニバーサルシリアルバス(Universal Serial Bus、USB)フラッシュドライブを含むことができる。USBフラッシュドライブは、オペレーティングシステム及び他のアプリケーションを記憶することができる。USBフラッシュドライブは、別のコンピューティングデバイスのUSBポートに挿入することができる、無線送信機又はUSBコネクタなどの入力/出力コンポーネントを含むことができる。ここで示されるコンポーネント、それらの接続及び関係、並びにそれらの機能は、例であることのみを意味し、本明細書に説明及び/又は特許請求される発明の実装形態に限定することを意味しない。
【0072】
コンピューティングデバイス300は、プロセッサ302と、メモリ304と、記憶デバイス308と、メモリ304及び高速拡張ポート310に接続する高速インターフェース308と、低速バス314及び記憶デバイス308に接続する低速インターフェース312とを含む。コンポーネント302、304、308、308、310、及び312の各々は、様々なバスを使用して相互接続され、共通のマザーボード上に、又は適宜他の方法で取り付けることができる。プロセッサ302は、高速インターフェース308に結合されたディスプレイ316などの外部入力/出力デバイス上にGUIのためのグラフィカル情報を表示するために、メモリ304又は記憶デバイス308に記憶された命令を含む、コンピューティングデバイス300内で実行するための命令を処理することができる。他の実装形態では、複数のプロセッサ及び/又は複数のバスは、複数のメモリ及びメモリのタイプとともに、適宜、使用することができる。また、複数のコンピューティングデバイス300は、例えば、サーババンク、ブレードサーバのグループ、又はマルチプロセッサシステムとして、必要な動作の一部を提供する各デバイスと接続することができる。
【0073】
メモリ304は、コンピューティングデバイス300内に情報を記憶する。一実装形態では、メモリ304は、1つ以上の揮発性メモリユニットである。別の実装形態では、メモリ304は、1つ以上の不揮発性メモリユニットである。メモリ304はまた、磁気ディスク又は光ディスクなどの別の形態のコンピュータ可読媒体であることができる。
【0074】
記憶デバイス308は、コンピューティングデバイス300のために大容量記憶装置を提供することが可能である。一実装形態では、記憶デバイス308は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、若しくはテープデバイス、フラッシュメモリ若しくは他の同様の固体メモリデバイス、又は記憶領域ネットワーク若しくは他の構成におけるデバイスを含むデバイスのアレイなどのコンピュータ可読媒体であるか、又はそれを含むことができる。コンピュータプログラム製品は、情報キャリアにおいて有形に具現化することができる。コンピュータプログラム製品はまた、実行されるときに、上で説明されるものなどの1つ以上の方法を実行する命令を含むことができる。情報キャリアは、メモリ304、記憶デバイス308、又はプロセッサ302上のメモリなどのコンピュータ又は機械可読媒体である。
【0075】
高速コントローラ308は、コンピューティングデバイス300のための帯域幅集約的動作を管理し、一方低速コントローラ312は、より低い帯域幅集約的動作を管理する。そのような機能の割り当ては、単なる例にすぎない。一実装形態では、高速コントローラ308は、例えば、グラフィックスプロセッサ又はアクセラレータを通して、メモリ304、ディスプレイ316に結合され、様々な拡張カード(図示せず)を受け入れることができる高速拡張ポート310に結合される。本実装形態では、低速コントローラ312は、記憶デバイス308及び低速拡張ポート314に結合される。様々な通信ポート、例えば、USB、Bluetooth、Ethernet、無線Ethernetを含むことができる低速拡張ポートは、キーボード、ポインティングデバイス、マイクロフォン/スピーカ対、スキャナなどの1つ以上の入出力デバイス、又はスイッチ若しくはルータなどのネットワーキングデバイスに、例えば、ネットワークアダプタを通して結合することができる。コンピューティングデバイス300は、図に示されるように、いくつかの異なる形態で実装することができる。例えば、それは、標準サーバ320として、又はそのようなサーバのグループにおいて複数回、実装することができる。それはまた、ラックサーバシステム324の一部として実装することができる。加えて、それは、ラップトップコンピュータ322などのパーソナルコンピュータにおいて実装することができる。代替的に、コンピューティングデバイス300からのコンポーネントは、デバイス350などのモバイルデバイス(図示せず)において、他のコンポーネントと組み合わせることができる。そのようなデバイスの各々は、コンピューティングデバイス300、350のうちの1つ以上を含むことができ、システム全体は、互いに通信する複数のコンピューティングデバイス300、350で構成することができる。
【0076】
コンピューティングデバイス300は、図に示されるように、いくつかの異なる形態で実装することができる。例えば、それは、標準サーバ320として、又はそのようなサーバのグループにおいて複数回、実装することができる。それはまた、ラックサーバシステム324の一部として実装することができる。加えて、それは、ラップトップコンピュータ322などのパーソナルコンピュータにおいて実装することができる。代替的に、コンピューティングデバイス300からのコンポーネントは、デバイス350などのモバイルデバイス(図示せず)において、他のコンポーネントと組み合わせることができる。そのようなデバイスの各々は、コンピューティングデバイス300、350のうちの1つ以上を含むことができ、システム全体は、互いに通信する複数のコンピューティングデバイス300、350で構成することができる。
【0077】
コンピューティングデバイス350は、他のコンポーネントの中でも、プロセッサ352と、メモリ364と、ディスプレイ354などの入力/出力デバイスと、通信インターフェース366と、トランシーバ368とを含む。デバイス350はまた、追加の記憶装置を提供するために、マイクロドライブ又は他のデバイスなどの記憶デバイスを備えることができる。コンポーネント350、352、364、354、366、及び368の各々は、様々なバスを使用して相互接続され、コンポーネントのうちのいくつかは、共通のマザーボード上に、又は適宜他の方法で取り付けることができる。
【0078】
プロセッサ352は、メモリ364に記憶された命令を含む、コンピューティングデバイス350内の命令を実行することができる。プロセッサは、別個の複数のアナログ及びデジタルプロセッサを含むチップのチップセットとして実装することができる。追加的に、プロセッサは、いくつかのアーキテクチャのいずれかを使用して実装することができる。例えば、プロセッサ310は、CISC(Complex Instruction Set Computer、複雑命令セットコンピュータ)プロセッサ、RISC(Reduced Instruction Set Computer、縮小命令セットコンピュータ)プロセッサ、又はMISC(Minimal Instruction Set Computer、最小命令セットコンピュータ)プロセッサとすることができる。プロセッサは、例えば、ユーザインタフェースの制御、デバイス350によって実行されるアプリケーション、及びデバイス350による無線通信など、デバイス350の他のコンポーネントの調整のために提供することができる。
【0079】
プロセッサ352は、ディスプレイ354に結合された制御インターフェース358及びディスプレイインターフェース356を通してユーザと通信することができる。ディスプレイ354は、例えば、TFT(Thin-Film-Transistor Liquid Crystal Display、薄膜トランジスタ液晶ディスプレイ)ディスプレイ若しくはOLED(Organic Light Emitting Diode、有機発光ダイオード)ディスプレイ、又は他の適切なディスプレイ技術であることができる。ディスプレイインターフェース356は、グラフィカル情報及び他の情報をユーザに提示するために、ディスプレイ354を駆動するための適切な回路を備えることができる。制御インターフェース358は、ユーザからコマンドを受信し、プロセッサ352への提出のためにそれらを変換することができる。加えて、外部インターフェース362は、他のデバイスとのデバイス350の近距離通信を可能にするように、プロセッサ352との通信に提供することができる。外部インターフェース362は、例えば、いくつかの実装形態では有線通信のために、又は他の実装形態では無線通信のために提供することができ、複数のインターフェースを使用することもできる。
【0080】
メモリ364は、コンピューティングデバイス350内に情報を記憶する。メモリ364は、1つ以上のコンピュータ可読媒体、1つ以上の揮発性メモリユニット、又は1つ以上の不揮発性メモリユニットのうちの1つ以上として実装することができる。拡張メモリ374はまた、例えば、SIMM(Single In Line Memory Module、シングルインラインメモリモジュール)カードインターフェースを含むことができる、拡張インターフェース372を通してデバイス350に提供及び接続することができる。そのような拡張メモリ374は、デバイス350のための余分な記憶空間を提供することができ、又はデバイス350のためのアプリケーション若しくは他の情報を記憶することもできる。具体的には、拡張メモリ374は、上で説明されるプロセスを実行又は補足するための命令を含むことができ、安全な情報も含むことができる。したがって、例えば、拡張メモリ374は、デバイス350のためのセキュリティモジュールとして提供することができ、デバイス350の安全な使用を可能にする命令でプログラムすることができる。加えて、安全なアプリケーションは、ハッキング不可能な方法でSIMMカード上に識別情報を配置するなど、追加の情報とともに、SIMMカードを介して提供することができる。
【0081】
メモリは、例えば、以下で考察されるように、フラッシュメモリ及び/又はNVRAMメモリを含むことができる。一実装形態では、コンピュータプログラム製品は、情報キャリアにおいて有形に具現化される。コンピュータプログラム製品は、実行されるときに、上で説明されるものなどの1つ以上の方法を実行する命令を含む。情報キャリアは、例えば、トランシーバ368又は外部インターフェース362を介して受信することができる、メモリ364、拡張メモリ374、又はプロセッサ352上のメモリなどのコンピュータ又は機械可読媒体である。
【0082】
デバイス350は、必要に応じてデジタル信号処理回路を含むことができる、通信インターフェース366を通して無線で通信することができる。通信インターフェース366は、数ある中で、GSM音声通話、SMS、EMS、又はMMSメッセージング、CDMA、TDMA、PDC、WCDMA、CDMA2000、又はGPRSなど、様々なモード又はプロトコルの下での通信のために提供することができる。そのような通信は、例えば、無線周波数トランシーバ368を通して行うことができる。加えて、短距離通信は、Bluetooth、Wi-Fi、又は他のそのようなトランシーバ(図示せず)などを使用して行うことができる。加えて、GPS(Global Positioning System、全地球測位システム)受信機モジュール370は、デバイス350上で実行されるアプリケーションによって適切に使用することができる、追加のナビゲーション及び位置関連の無線データをデバイス350に提供することができる。
【0083】
デバイス350はまた、ユーザが話した情報を受信し、それを使用可能なデジタル情報に変換することができる、音声コーデック360を使用して可聴的に通信することができる。音声コーデック360は、同様に、例えば、デバイス350のハンドセットにおけるスピーカなどを通して、ユーザのための可聴音を生成することができる。そのような音は、例えば、音声メッセージ、音楽ファイルなどの記録された音を含むことができ、またデバイス350上で動作するアプリケーションによって生成された音も含むことができる、音声電話通話からの音を含むことができる。
【0084】
コンピューティングデバイス350は、図に示されるように、いくつかの異なる形態で実装することができる。例えば、それは、携帯電話380として実装することができる。それはまた、スマートフォン382、携帯情報端末、又は他の同様のモバイルデバイスの一部として実装することができる。
【0085】
いくつかの実装形態について説明してきた。それにもかかわらず、本開示の趣旨及び範囲から逸脱することなく、様々な修正が行われ得ることが理解されるであろう。例えば、上で示されたフローの様々な形態は、ステップが再順序付けされ、追加され、又は除去されて使用され得る。
【0086】
本明細書に説明された本発明の実施形態及び機能的動作の全ては、本明細書において開示された構造並びにそれらの構造的均等物を含む、デジタル電子回路において、又はコンピュータソフトウェア、ファームウェア、若しくはハードウェア、又はそれらのうちの1つ以上の組み合わせにおいて、実装することができる。本発明の実施形態は、1つ以上のコンピュータプログラム製品、例えば、データ処理装置による実行、又はデータ処理装置の動作を制御するためにコンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1つ以上のモジュールとして実装することができる。コンピュータ可読媒体は、機械可読記憶デバイス、機械可読記憶基板、メモリデバイス、機械可読伝搬信号に効果を及ぼす組成物、又はそれらのうちの1つ以上の組み合わせとすることができる。用語「データ処理装置」は、例としてプログラマブルプロセッサ、コンピュータ、又は複数のプロセッサ若しくはコンピュータを含む、データを処理するための全ての装置、デバイス、及び機械を包含する。装置は、ハードウェアに加えて、問題のコンピュータプログラムのための実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらのうちの1つ以上の組み合わせを構成するコードを含むことができる。伝搬信号は、人工的に生成された信号、例えば、好適な受信機装置への送信のために情報を符号化するために生成された機械生成電気信号、光信号、又は電磁信号である。
【0087】
(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られる)コンピュータプログラムは、コンパイラ型言語若しくはインタープリタ型言語を含む、任意の形態のプログラミング言語で書くことができ、スタンドアロンプログラムとして又はモジュールとして、コンポーネント、サブルーチン、又はコンピューティング環境での使用に好適な他のユニットを含む任意の形態で展開することができる。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応する必要はない。プログラムは、他のプログラム若しくはデータ(例えば、マークアップ言語文書に記憶された1つ以上のスクリプト)を保持するファイルの一部分内に、問題のプログラム専用の単一ファイル内に、又は複数の調整されたファイル(例えば、1つ以上のモジュール、サブプログラム、若しくはコードの一部分を記憶するファイル)内に、記憶することができる。コンピュータプログラムは、1つのコンピュータ上で、又は1つのサイトに位置するか若しくは複数のサイトにわたって分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開することができる。
【0088】
本明細書に説明されるプロセス及び論理フローは、入力データに対して動作し、出力を生成することによって機能を実行するために、1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実行することができる。プロセス及び論理フローはまた、専用論理回路、例えば、FPGA(field programmable gate array、フィールドプログラマブルゲートアレイ)又はASIC(application specific integrated circuit、特定用途向け集積回路)によって実行することができ、装置はまた、専用論理回路、例えば、FPGA又はASICとして実装することができる。
【0089】
コンピュータプログラムの実行に好適なプロセッサは、例として、汎用マイクロプロセッサ及び専用マイクロプロセッサの両方、並びに任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。概して、プロセッサは、読み出し専用メモリ若しくはランダムアクセスメモリ又はその両方から命令及びデータを受信する。コンピュータの必須要素は、命令を実施するためのプロセッサ、並びに命令及びデータを記憶するための1つ以上のメモリデバイスである。概して、コンピュータはまた、データを記憶するための1つ以上の大容量記憶デバイス、例えば、磁気ディスク、光磁気ディスク、又は光ディスクを含むか、又は1つ以上の大容量記憶デバイスからデータを受信するか若しくは1つ以上の大容量記憶デバイスにデータを転送するか、又はその両方を行うように動作可能に結合される。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。更に、コンピュータは、別のデバイス、例えば、ほんの数例を挙げると、タブレットコンピュータ、モバイル電話、携帯情報端末(personal digital assistant、PDA)、モバイルオーディオプレーヤ、全地球測位システム(GPS)受信機に埋め込むことができる。コンピュータプログラム命令及びデータを記憶するために好適なコンピュータ可読媒体は、例として、半導体メモリデバイス、例えば、EPROM、EEPROM、及びフラッシュメモリデバイスを含む、全ての形態の不揮発性メモリ、媒体、及びメモリデバイスと、磁気ディスク、例えば、内蔵ハードディスク又はリムーバブルディスクと、光磁気ディスクと、CD-ROM及びDVD-ROMディスクと、を含む。プロセッサ及びメモリは、専用論理回路によって補完することができるか、又は専用論理回路に組み込むことができる。
【0090】
ユーザとの対話を提供するために、本発明の実施形態は、ユーザに情報を表示するためのディスプレイデバイス、例えば、CRT(cathode ray tube、陰極線管)又はLCD(liquid crystal display、液晶ディスプレイ)モニタ、並びにキーボード及びポインティングデバイス、例えば、ユーザがコンピュータに入力を提供することができるマウス若しくはトラックボールを有するコンピュータ上に実装することができる。他の種類のデバイスが、ユーザとの相互作用を提供するために同様に使用することができ、例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバックであり得、ユーザからの入力は、音響、音声、又は触覚入力を含む、任意の形態で受信され得る。
【0091】
本発明の実施形態は、例えば、データサーバとしてバックエンドコンポーネントを含むか、又はミドルウェアコンポーネント、例えば、アプリケーションサーバを含むか、又はフロントエンドコンポーネント、例えば、グラフィカルユーザインターフェース、若しくはユーザが開示された技術の実装形態と対話することができるウェブブラウザを含むか、又は1つ以上のそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、若しくはフロントエンドコンポーネントの任意の組み合わせを含む、コンピューティングシステムにおいて実装することができる。システムのコンポーネントは、デジタルデータ通信の任意の形態又は媒体、例えば、通信ネットワークによって相互接続することができる。通信ネットワークの実施例は、ローカルエリアネットワーク(local area network、「LAN」)と、ワイドエリアネットワーク(wide area network、「WAN」)、例えば、インターネットと、を含む。
【0092】
コンピューティングシステムは、クライアント及びサーバを含むことができる。クライアント及びサーバは概して互いに離れており、典型的には通信ネットワークを介して対話する。クライアント及びサーバの関係は、それぞれのコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。
【0093】
本明細書は、多くの詳細を含むが、これらは、本発明の範囲又は特許請求され得るものに対する限定として解釈されるべきではなく、むしろ、本発明の特定の実施形態に特有である特徴の説明として解釈されるべきである。別個の実施形態の文脈において本明細書に説明されるある特定の特徴はまた、単一の実施形態において組み合わせて実装することもできる。逆に、単一の実施形態の文脈で説明されている様々な特徴は、複数の実施形態で別個に、又は任意の好適な部分的組み合わせで実装することもできる。更に、特徴は、ある特定の組み合わせで作用するものとして上で説明され、かつ最初にそのように特許請求されることさえあり得るが、特許請求された組み合わせからの1つ以上の特徴は、場合によっては、組み合わせから削除することができ、特許請求された組み合わせは、部分組み合わせ又は部分組み合わせの変形を対象とし得る。
【0094】
同様に、動作は特定の順序で図面に描写されているが、これは、所望の結果を達成するために、そのような動作が示された特定の順序で若しくは連続的な順序で実行されること、又は全ての例示された動作が実行されることを必要とすると理解されるべきではない。ある特定の状況では、マルチタスキング及び並列処理が有利であり得る。更に、上で説明された実施形態における様々なシステムコンポーネントの分離は、全ての実施形態においてかかる分離を必要とすると理解されるべきではなく、説明されたプログラムコンポーネント及びシステムは、概して、単一のソフトウェア製品にともに一体化することができるか、又は複数のソフトウェア製品にパッケージ化することができることを理解されたい。
【0095】
HTMLファイルが言及されている各事例では、他のファイルタイプ又はフォーマットは代用され得る。例えば、HTMLファイルは、XML、JSON、プレーンテキスト、又は他のタイプのファイルによって置き換えられ得る。更に、テーブル又はハッシュテーブルが言及される場合、他のデータ構造(スプレッドシート、リレーショナルデータベース、又は構造化ファイルなど)が使用され得る。
【0096】
本発明の特定の実施形態が説明されてきた。他の実施形態は、以下の特許請求の範囲内である。例えば、特許請求の範囲に記載されたステップは、異なる順序で実行することができ、かつ依然として所望の結果を達成することができる。
図1
図2
図3
【国際調査報告】