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

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

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

特表2023-508860魚の現存量、形状、サイズ、または健康状態の決定
<>
  • 特表-魚の現存量、形状、サイズ、または健康状態の決定 図1A
  • 特表-魚の現存量、形状、サイズ、または健康状態の決定 図1B
  • 特表-魚の現存量、形状、サイズ、または健康状態の決定 図2
  • 特表-魚の現存量、形状、サイズ、または健康状態の決定 図3A
  • 特表-魚の現存量、形状、サイズ、または健康状態の決定 図3B
  • 特表-魚の現存量、形状、サイズ、または健康状態の決定 図4
  • 特表-魚の現存量、形状、サイズ、または健康状態の決定 図5A
  • 特表-魚の現存量、形状、サイズ、または健康状態の決定 図5B
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-03-06
(54)【発明の名称】魚の現存量、形状、サイズ、または健康状態の決定
(51)【国際特許分類】
   G06T 7/00 20170101AFI20230227BHJP
   G06V 10/82 20220101ALI20230227BHJP
【FI】
G06T7/00 300F
G06T7/00 350C
G06V10/82
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022537317
(86)(22)【出願日】2020-12-23
(85)【翻訳文提出日】2022-08-15
(86)【国際出願番号】 US2020066820
(87)【国際公開番号】W WO2021141781
(87)【国際公開日】2021-07-15
(31)【優先権主張番号】16/734,661
(32)【優先日】2020-01-06
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVASCRIPT
(71)【出願人】
【識別番号】516326438
【氏名又は名称】エックス デベロップメント エルエルシー
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100126480
【弁理士】
【氏名又は名称】佐藤 睦
(72)【発明者】
【氏名】ヤン,グレース カルバート
(72)【発明者】
【氏名】ジェームズ,バーナビー ジョン
(72)【発明者】
【氏名】キンボール,ピーター
(72)【発明者】
【氏名】メッサーナ,マシュー
(72)【発明者】
【氏名】レグロス,フェルディナンド
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096BA18
5L096FA02
5L096FA06
5L096FA09
5L096FA66
5L096HA11
5L096JA11
5L096KA04
(57)【要約】
【課題】 魚の特定の具体的な特徴を効率良く決定することである。
【解決手段】 魚の形状、サイズ、質量、および健康状態を推定するための、コンピュータ可読記憶媒体上に符号化されたコンピュータプログラムを含む方法、システム、および装置が記載されている。一対のステレオカメラを利用して、画定された区域内の魚のオフアクシス画像を取得することができる。それらの画像は、処理され、強調され、そして組み合わされ得る。対象物検出を使用して、画像内の魚を検出および追跡することができる。姿勢推定器を使用して、検出された魚のキーポイントおよび特徴を決定することができる。それらのキーポイントに基づいて、魚のサイズおよび形状の推定値を提供する魚のモデルが生成される(S322)。回帰モデルまたはニューラルネットワークモデルを魚のモデルに適用して、魚の特性を決定することができる(S330)。
【選択図】図3B
【特許請求の範囲】
【請求項1】
コンピュータ利用方法であって、
1つ以上のプロセッサによって、魚の1つ以上の画像を取得することと、
前記1つ以上の画像内の前記魚の1つ以上の特徴と関連付けられている1つ以上のキーポイントを決定することと、
前記魚の前記1つ以上の特徴と関連付けられている前記1つ以上のキーポイントに基づいて、前記1つ以上のプロセッサによって、前記魚のモデルを生成することと、
前記魚の前記モデルを使用して、現存量、形状、サイズ、または健康状態を含む、前記魚の特性を決定することと、
前記1つ以上のプロセッサに接続された装置における表示または格納のための前記魚の前記特性の表現を出力することと、を含む、コンピュータ利用方法。
【請求項2】
特性を決定する動作が、
以下の健康状態、すなわち、腹部の短縮、尾部の短縮、脊柱側弯症、脊柱前弯症、脊柱後弯症、上顎の奇形、下顎の奇形、えら蓋の短縮、ラント症候群、または心筋症症候群(CMS)のうちのいずれかを決定することをさらに含む、請求項1に記載のコンピュータ利用方法。
【請求項3】
前記1つ以上の画像から単一画像を生成することと、
前記単一画像のための深度マップを生成することと、
回帰型畳み込みニューラルネットワークを使用して対象物検出を実行することによって、前記単一画像内の前記魚および1つ以上の関心領域を識別することと、をさらに含む、請求項1に記載のコンピュータ利用方法。
【請求項4】
前記魚の前記1つ以上の特徴と関連付けられている前記1つ以上のキーポイントが、姿勢推定を使用して前記1つ以上の関心領域の各々に対して決定され、
前記1つ以上の画像が、1つ以上の画像獲得装置を使用して取得され、
前記1つ以上の画像が、1つの画像獲得装置からの画像、および異なる画像獲得装置からの別の画像を含む、請求項3に記載のコンピュータ利用方法。
【請求項5】
前記決定された1つ以上のキーポイントが、1つ以上の2次元キーポイントを含み、
前記魚の前記モデルを生成することが、
前記魚の3Dモデルを生成することを含む、請求項1に記載のコンピュータ利用方法。
【請求項6】
前記魚の3Dモデルを生成することが、
前記決定された1つ以上の2次元キーポイントおよび前記深度マップを使用することによって、前記魚の3次元キーポイントを決定すること、を含む、請求項5に記載のコンピュータ利用方法。
【請求項7】
前記魚の前記モデルを生成することが、
長さの値からなるトラスネットワークを決定することを含み、前記長さの値が、キーポイント間の距離を示す、請求項1に記載のコンピュータ利用方法。
【請求項8】
前記魚の前記モデルを使用して前記魚の特性を決定することが、
前記魚の前記モデルに線形回帰モデルを適用することを含む、請求項1に記載のコンピュータ利用方法。
【請求項9】
前記魚の1つ以上の二次画像を取得することと、
前記取得された、前記魚の1つ以上の二次画像に基づいて、前記魚の特性を決定することと、
前記魚の前記モデルを使用して決定された前記特性、および前記取得された、前記魚の1つ以上の二次画像に基づいて決定された前記特性に基づいて、特性を決定することと、をさらに含む、請求項1に記載のコンピュータ利用方法。
【請求項10】
姿勢推定モデルを使用してニューラルネットワーク分類器を訓練し、前記魚の予想キーポイントを予測することをさらに含む、請求項1に記載のコンピュータ利用方法。
【請求項11】
システムであって、
1つ以上の計算装置、および命令を格納する1つ以上の記憶装置を備え、前記命令が、前記1つ以上の計算装置によって実行されるときに、前記1つ以上の計算装置に、
魚の1つ以上の画像を取得することと、
前記1つ以上の画像内の前記魚の1つ以上の特徴と関連付けられている1つ以上のキーポイントを決定することと、
前記魚の前記1つ以上の特徴と関連付けられている前記1つ以上のキーポイントに基づいて、前記魚のモデルを生成することと、
前記魚の前記モデルを使用して、前記魚の現存量、形状、サイズ、または健康状態を含む特性を決定することと、
前記1つ以上の計算装置に接続された装置における表示または格納のための、前記魚の前記特性の表現を出力することと、を含む、動作を実行させる、システム。
【請求項12】
特性を決定する前記動作が、
以下の健康状態、すなわち、腹部の短縮、尾部の短縮、脊柱側弯症、脊柱前弯症、脊柱後弯症、上顎の奇形、下顎の奇形、えら蓋の短縮、ラント症候群、または心筋症症候群(CMS)のうちのいずれかを決定することをさらに含む、請求項11に記載のコンピュータ利用方法。
【請求項13】
前記動作が、
前記1つ以上の画像から単一画像を生成することと、
前記単一画像のための深度マップを生成することと、
回帰型畳み込みニューラルネットワークを使用して対象物検出を実行することによって、前記単一画像内の、前記魚および1つ以上の関心領域を識別することと、をさらに含む、請求項11に記載のシステム。
【請求項14】
前記魚の前記1つ以上の特徴と関連付けられている前記1つ以上のキーポイントが、姿勢推定を使用して前記1つ以上の関心領域の各々に対して決定され、
前記1つ以上の画像が、1つ以上の画像獲得装置を使用して取得され、
前記1つ以上の画像が、1つの画像獲得装置からの画像、および異なる画像獲得装置からの別の画像を含む、請求項13に記載のシステム。
【請求項15】
前記決定された1つ以上のキーポイントが、1つ以上の2次元キーポイントを含み、
前記魚の前記モデルを生成することが、
前記魚の3Dモデルを生成することを含む、請求項11に記載のシステム。
【請求項16】
前記魚の3Dモデルを生成することが、
前記決定された1つ以上の2次元キーポイント、および前記深度マップを使用することによって、前記魚の3次元キーポイントを決定すること、を含む、請求項15に記載のコンピュータ利用方法。
【請求項17】
前記魚の前記モデルを生成することが、
長さの値からなるトラスネットワークを決定することを含み、前記長さの値が、キーポイント間の距離を示す、請求項11に記載のシステム。
【請求項18】
前記魚の前記モデルを使用して前記魚の特性を決定することが、
前記魚の前記モデルに線形回帰モデルを適用することを含む、請求項11に記載のシステム。
【請求項19】
前記動作が、
前記魚の1つ以上の二次画像を取得することと、
前記取得された、前記魚の1つ以上の二次画像に基づいて、前記魚の特性を決定することと、
前記魚の前記モデルを使用して決定された前記特性、および前記取得された、前記魚の1つ以上の二次画像に基づいて決定された前記特性に基づいて、特性を決定することと、をさらに含む、請求項13に記載のシステム。
【請求項20】
命令を含む1つ以上の非一過性コンピュータ可読記憶媒体であって、前記命令が、1つ以上の計算装置によって実行されるときに、前記1つ以上の計算装置に、
魚の1つ以上の画像を取得することと、
前記1つ以上の画像内の前記魚の1つ以上の特徴と関連付けられている1つ以上のキーポイントを決定することと、
前記魚の前記1つ以上の特徴と関連付けられている前記1つ以上のキーポイントに基づいて、前記魚のモデルを生成することと、
前記魚の前記モデルを使用して、前記魚の現存量、形状、サイズ、または健康状態を含む特性を決定することと、
前記1つ以上の計算装置に接続された装置における表示または格納のための、前記魚の前記特性の表現を出力することと、を含む、動作を実行させる、1つ以上の非一過性コンピュータ可読記憶媒体。
【請求項21】
特性を決定する前記動作が、
以下の健康状態、すなわち、腹部の短縮、尾部の短縮、脊柱側弯症、脊柱前弯症、脊柱後弯症、上顎の奇形、下顎の奇形、えら蓋の短縮、ラント症候群、または心筋症症候群(CMS)のうちのいずれかを決定することをさらに含む、請求項20に記載の1つ以上の非一過性コンピュータ可読記憶媒体。
【請求項22】
前記動作が、
前記1つ以上の画像から単一画像を生成することと、
前記単一画像のための深度マップを生成することと、
回帰型畳み込みニューラルネットワークを使用して対象物検出を実行することによって、前記単一画像内の、前記魚および1つ以上の関心領域を識別することと、をさらに含む、請求項20に記載の1つ以上の非一過性コンピュータ可読記憶媒体。
【請求項23】
前記魚の前記1つ以上の特徴と関連付けられている前記1つ以上のキーポイントが、姿勢推定を使用して前記1つ以上の関心領域の各々に対して決定され、
前記1つ以上の画像が、1つ以上の画像獲得装置を使用して取得され、
前記1つ以上の画像が、1つの画像獲得装置からの画像、および異なる画像獲得装置からの別の画像を含む、請求項22に記載の1つ以上の非一過性コンピュータ可読記憶媒体。
【請求項24】
前記決定された1つ以上のキーポイントが、1つ以上の2次元キーポイントを含み、
前記魚の前記モデルを生成することが、
前記魚の3Dモデルを生成することを含む、請求項20に記載の1つ以上の非一過性コンピュータ可読記憶媒体。
【請求項25】
前記魚の3Dモデルを生成することが、
前記決定された1つ以上の2次元キーポイント、および前記深度マップを使用することによって、前記魚の3次元キーポイントを決定すること、を含む、請求項24に記載の1つ以上の非一過性コンピュータ可読記憶媒体。
【請求項26】
前記魚の前記モデルを生成することが、
長さの値からなるトラスネットワークを決定することを含み、前記長さの値が、キーポイント間の距離を示す、請求項20に記載の1つ以上の非一過性コンピュータ可読記憶媒体。
【請求項27】
前記魚の前記モデルを使用して前記魚の特性を決定することが、
前記魚の前記モデルに線形回帰モデルを適用することを含む、請求項14に記載の1つ以上の非一過性コンピュータ可読記憶媒体。
【請求項28】
前記動作が、
前記魚の1つ以上の二次画像を取得することと、
前記取得された、前記魚の1つ以上の二次画像に基づいて、前記魚の特性を決定することと、
前記魚の前記モデルを使用して決定された前記特性、および前記取得された、前記魚の1つ以上の二次画像に基づいて決定された前記特性に基づいて、特性を決定することと、をさらに含む、請求項20に記載の1つ以上の非一過性コンピュータ可読記憶媒体。
【請求項29】
前記動作が、
姿勢推定モデルを使用してニューラルネットワーク分類器を訓練し、前記魚の予想キーポイントを予測することをさらに含む、請求項22に記載の1つ以上の非一過性コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、海洋モニタリングシステムに関する。
【背景技術】
【0002】
魚のサンプルセットを手作業で捕獲および計量するプロセスは、多くの場合、ある区域内の多くの魚のサイズおよび重量を推定するために使用される。しかしながら、このようなプロセスは、時間がかかり、不正確であり、大幅な金銭上、運搬上、および人的上の資源を必要とする。
【発明の概要】
【0003】
1つの例示的な実施態様によれば、魚の画像が、カメラを使用して取り込まれ、処理および分析されて、2次元(2D)または3次元(3D)モデルを構築する。これらのモデルの特定の側面を処理することに基づいて、現存量、形状、サイズ、または健康状態を含む、魚の特定の具体的な特徴を決定することができる。
【0004】
概して、本明細書に記載される主題の他の革新的態様は、それらの具体的な特徴を決定することに関する。いくつかの実施態様では、一対のステレオカメラを利用して、画定した区域内の魚のオフアクシス画像ビューを取得することができる。それらの画像は、処理され、強調され、そして組み合わされ得る。対象物検出を使用して、画像内の魚を検出および追跡することができる。姿勢推定器を使用して、検出された魚のキーポイントおよび特徴を決定することができる。収集されたデータに基づいて、アルゴリズムが、現存量、形状、サイズ、または健康状態を含む、魚の側面を見分けることができる。
【0005】
いくつかの実施態様では、各トラスが画像分析を介して検出されたキーポイント間の距離である、魚の2Dトラスネットワークモデルを生成することができる。回帰モデルまたはニューラルネットワークを2Dモデルに適用して、特定の魚パラメータを決定することができる。回帰モデルまたはニューラルネットワークを適用して、モデルの側面を形成することもできる。
【0006】
いくつかの実施態様では、魚の3Dモデルを生成することができる。回帰モデルまたはニューラルネットワークモデルを3Dモデルに適用して、魚の現存量、形状、サイズ、または健康状態を含む、特定の魚パラメータを決定することができる。回帰モデルまたはニューラルネットワークを適用して、モデルの側面を形成することもできる。
【0007】
いくつかの実施態様では、上述した動作は、繰り返すことができ、複数のモデルおよび重量を、魚について決定することができる。複数のモデルおよび重量を平均して、より信頼性の高い結果をもたらすことができる。いくつかの実施態様では、魚の各モデルは、評価され得、スコアが生成されて、モデルの精度をランク付けすることができる。閾値スコアよりも大きいスコアを有するモデルのみを利用して、重量および健康状態のような魚の重要な側面を決定することができる。
【0008】
本明細書に記載されている主題の態様は、コンピュータ利用方法で具現化することができる。このコンピュータ利用方法は、1つ以上のプロセッサを含むことができる。これらの複数のプロセッは、魚の1つ以上の画像を処理することができる。魚の画像を使用して、この方法は、魚の1つ以上の特徴と関連付けられた1つ以上のキーポイントを決定することができる。これらのキーポイントを使用して、魚のモデルを作成することができる。魚のモデルを使用して、現存量、形状、サイズ、および健康状態を含む特性を決定することができる。次いで、この方法は、ユーザに結果を出力するか、またはデータを格納することができる。
【0009】
いくつかの実施態様では、特性を決定することは、以下の健康状態、すなわち、腹部の短縮、尾部の短縮、脊柱側弯症、脊柱前弯症、脊柱後弯症、上顎の奇形、下顎の奇形、えら蓋の短縮、ラント症候群、または心筋症症候群(CMS)のうちのいずれかを決定することを含むことができる。
【0010】
いくつかの実施態様では、単一画像が、1つ以上の画像から生成され得る。任意の画像から、深度マップが、作成され得る。画像または深度マップを用いて、畳み込みニューラルネットワークを使用して、その魚の1つ以上の関心領域を識別することができる。
【0011】
いくつかの実施態様では、姿勢推定を使用して、関心領域内のキーポイントを見つけることができる。複数の獲得装置からの画像を使用することができる。
【0012】
いくつかの実施態様では、魚のモデルを使用して魚の特性を決定することには、線形回帰モデルを魚のモデルに適用することが含まれる。
【0013】
いくつかの実施態様では、魚の追加の画像を取り込むことができる。その追加の画像を使用して、魚の特性またはキーポイントを決定するのに役立たせることができる。
【0014】
いくつかの実施態様では、ニューラルネットワーク分類器が、姿勢推定モデルを使用して訓練されて、魚の予想キーポイントを予測することができる。
【0015】
他の態様は、対応する方法、システム、装置、コンピュータ可読記憶媒体、および上述した方法の動作を実施するように構成されるコンピュータプログラムを含む。
【0016】
上述した態様、および本明細書にさらに記載されている実施態様は、いくつかの利点を提供することができる。例えば、魚の現存量、形状、サイズ、または健康状態の決定は、カメラから取得された画像に左右されるため、本システムは、膨大な画像が比較的低コストで取得され得ることから、特性を決定するために画像が選択される場合に選択可能であり得る。これにより、決定時のより高い精度の度合いが、選択的に提供される。さらに、正確な結果を得るためには、より少ない画像を処理するだけでよく、それによってまた、必要とされる処理時間およびリソースを削減する利点も提供することができる。別の利点は、脊柱側弯症、脊柱前弯症、および脊柱後弯症のような脊椎奇形を含む骨格上の奇形を、スクリーニングおよびモニタリングすることができることである。健康状態は、繁殖の品質および割合に影響を及ぼすだけでなく、孵化場および魚の所有者の経済的存立可能性にも直接影響を及ぼし得る。例えば、目に見える骨格上の奇形は、魚の市場性および価格に大きな影響を及ぼし得る。
【0017】
いくつかの実施態様では、単一魚、または多数の魚の集団が、継続的にモニタリングされ得、各魚または集団全体についてのプロファイルが作成され得る。したがって、単一魚、または集団全体としての年齢、履歴、または品質を検証することに関心のあるユーザにとって、このシステムは、物理的な変化および品質に関する幅広い情報を提供する。魚または魚集団のプロファイルは、任意の利害関係者に提供することができる。
【0018】
さらに、姿勢推定および特徴識別を実施するために使用されるニューラルネットワークおよび機械学習技術は、適応システムを提供し、その適応システムは、以前の結果および訓練データを使用して継続的に訓練されて、特徴識別、および、魚の現存量、形状、サイズ、または健康状態の推定の精度を向上させることができる。カメラおよび画像処理技術を使用して魚を識別し、そしてそれらの特性を推定するため、魚を捕獲して魚特性を決定するという人間への依存性が低減される。本明細書に記載の実施態様はまた、現存量、形状、サイズ、または健康状態を含む魚特性を決定する際のより高い精度および一貫性も提供する。さらに、このシステムは、より多くのカメラを追加の場所に追加することによって、魚のより広い区域を比較的容易にカバーするようにスケーリングすることができる。
【0019】
本明細書に記載されている1つ以上の態様の詳細は、添付図面、および以下の説明に記述されている。主題の他の特徴、態様、および利点は、明細書、図面、および特許請求の範囲から、明らかになるであろう。
【図面の簡単な説明】
【0020】
図1A】魚モニタリングシステムを備える典型的な魚タンクの側面図を示す。
図1B】魚モニタリングシステムを備える典型的な魚タンクの、空中からの図を示す。
図2】魚タンク内の魚の画像を取り込む画像獲得システムの上面図を示す。
図3A-3B】魚の現存量、形状、重量、および健康状態を決定するための例示的なフロー図を示す。
図4】魚のサイズ、形状、および重量を決定するための例示的なシステムを示す。
図5A】魚の特徴に対応するラベルを有する例示的な魚の画像を示す。
図5B】魚のキーポイントに対応するラベル、および魚のトラス長に対応する線を有する例示的な魚の画像を示す。
【0021】
様々な図面の中の同様の参照番号および名称は、同様の要素を示す。
【発明を実施するための形態】
【0022】
開示される主題の態様は、各図に関してさらに詳細に説明される。
【0023】
図1Aおよび図1Bは、魚モニタリングシステムを備える魚タンク180の側面図、および空中からの図を、それぞれ示す。タンク180は、様々な形状およびサイズを有してもよい。図1Aおよび図1Bは、タンクが、円形または円筒形の上部を有する円錐ベースを含む、典型的な実施態様を示す。タンク180は、異なる種類の水、例えば、淡水、塩水、異なる塩分レベルの水を含み得、1つ以上の種の魚を含み得る。タンク180は、ガラス、コンクリート、アクリル樹脂、プラスチック、またはそれらの組み合わせなどの任意の好適な材料で作製することができる。空気ポンプ、水ポンプ、照明システム、加熱および冷却システム、ならびに濾過システムなどの追加の装置を使用して、タンク180内の条件を調整することができる。
【0024】
この魚モニタリングシステムは、複数の装置、および光センサなどのセンサ、温度計、フィルタ、塩分センサ、ならびに画像獲得システムを含むことができる。この画像獲得システムは、タンク180内の魚の画像およびビデオを取得するように構成された1つ以上のカメラを含むカメラシステム185を含むことができる。
【0025】
以下でさらに詳細に説明されているように、カメラシステム185は、タンク180の外側に配置されたコンピュータシステムに接続され得る。このコンピュータシステムは、位置、レンズの焦点距離、またはズームなどの、カメラの複数のパラメータを制御することができ、魚の静止画像または動画像を取得するためのカメラシステム185を制御することができる。カメラシステム185は、コンピュータシステムから受信した命令に基づいて、カメラを特定の方向に操縦するように構成されたモータを含むことができる。コンピュータシステムは、さらなる処理のためにカメラシステム185から画像を受信することができる。
【0026】
カメラシステム185は、タンク180内の異なる場所に配備することができる。一般に、カメラシステム185は、タンク180内のある位置に配置され得、それにより、良質の画像、例えば、ぼやけのない鮮明な魚の画像、ならびに最適な取り込み角度および視界がカメラシステム185により取り込まれるのを可能にする。例えば、図1Aおよび図1Bに示すように、カメラシステム185は、タンク180の比較的中央の場所に配置され得る。カメラシステム185は、水面ブイ、水面直下ブイ、固定構造体、またはケーブル線を使用することによるなどの様々な方法で、タンク180内の適所に保持することができる。
【0027】
様々な要因が、魚タンク180内のカメラシステム185の位置を決定し得る。例えば、場合によっては、タンク180内の魚が、流れに逆らって遊泳する種類の魚である場合、図2に示してあるように、カメラシステム185は、実質的に流れに平行に位置決めされ得る。他の魚は、流れに伴って遊泳することができ、流れに依存する遊泳パターンを有さない場合がある。場合によっては、魚タンク180/280内の特定の種の魚は、特定の温度または光量を有する特定の深度または区域で遊泳することがあり、カメラシステム185/285は、タンク180/280内に位置決めされて、カメラ285Aおよび285Bがこれらの特定の深度または区域内の魚に焦点を合わせるのを可能にする。
【0028】
図2に示すように、魚タンク280内のカメラシステム285は、左ステレオカメラ285Aおよび右ステレオカメラ285B、または上部カメラおよび下部カメラなどの複数のカメラを含むことができる。一般に、様々なカメラ構成が使用され得る。カメラ285Aおよび285Bの各々は、魚タンク280内の魚の画像およびビデオを取得するように位置決めされ得る。いくつかの実施態様では、カメラ285Aおよび285Bは、魚に対してほぼ直角の角度で魚の画像を取得するように位置決めされ得、その結果、1つ以上の魚の側面図を取得することができる。複数のカメラ285Aおよび285Bは、わずかに異なる角度から特定の魚に対して2つ以上の画像を提供することができる。図3Aおよび図3Bに関して以下に説明されているように、複数の画像を使用して、魚の特徴付けを向上させることができる。
【0029】
いくつかの実施態様では、カメラシステム285内のカメラ285Aおよび285Bは、魚画像を取得する前に、較正される。カメラ285Aおよび285Bを較正するために、カメラ285Aおよび285Bは、カメラレンズに対して異なる角度および距離において基準パターンの画像を取り込むことができ、自乗平均平方根(RMS)誤差を、その取り込まれた画像パターンと、基準パターンとの間の差を決定することによって、計算することができる。RMS誤差が誤差閾値を満たす場合、カメラ285Aおよび285Bの設定値を調整して、カメラ285Aおよび285Bを再較正することができる。カメラ285Aおよび285Bの設定値を調整することには、取り込まれた基準画像を変更する任意の動作が含まれ得る。それらの動作には、カメラの位置を調整すること、カメラ285Aおよび285Bのレンズ位置を調整すること、ならびにカメラ285Aおよび285Bのズーム量を調整することのうちの1つ以上を含むことができるが、これらに限定されない。
【0030】
カメラ285Aおよび285Bの設定値を調整した後、別の画像のセットが取り込まれ、第2のRMS誤差が計算され得る。この較正プロセスは、RMS誤差がもはや誤差閾値を満たさなくなるまで繰り返すことができる。
【0031】
図3Aおよび図3Bは、魚の現存量、形状、サイズ、または健康状態を決定するための方法の例示的なフロー図を示す。この方法は、図4を参照してさらに説明されるシステムによって実施することができる。そのシステムは、カメラを含むことができ、上述したように、そのカメラは、較正され、魚タンク内の魚の1つ以上の画像を取得するように構成されている(S305)。それらの画像は、左ステレオカメラおよび右ステレオカメラから、それぞれ取得される左ステレオ画像305Aおよび右ステレオ画像305Bを含み得る。他の実施態様は、左右のステレオカメラへの追加、またはそれらの置き換えとして、上部および下部のステレオカメラを含む、様々なカメラ角度を使用することができる。
【0032】
取り込まれた画像305Aまたは305Bは、前処理することができる(S310)。この前処理は、画像の強調および矯正を含むことがある。例えば、画像305Aまたは305Bは、ヒストグラム等化、フィルタリング、まだら除去、ぼやけ除去、またはノイズ除去のうちの1つ以上を実行することによって強調されて、画像品質を向上させることができる。場合によっては、光レベルが、例えば、バーストモードで取得された複数の画像を合成することによって、増強され得る。場合によっては、画像内の色が、適応ヒストグラム等化を実行することによって、強調され得る。
【0033】
場合によっては、貧弱な画像品質を有する画像305Aまたは305Bを取り込むことに応答して、カメラは、上述したように、再較正され得る。例えば、取り込まれた画像305Aまたは305Bを評価して、画像の品質、または画像内の魚の描写を決定することができる。画像305Aまたは305Bが顕著にぼやけていて、遮蔽を有し、または魚がカメラに対して望ましくない角度にある(例えば、魚の長手方向軸が、カメラに対して垂直でない)場合、カメラは、再較正され得、または別の画像が取り込まれ得る。
【0034】
いくつかの実施態様では、前処理の一部として、取得された画像内の魚の識別子が、決定され得る。例えば、形態学的マーク、遺伝学的マーク、マイクロタブ、受動一体形トランスポンダタグ、ワイヤタグ、無線タグなどの方法を使用して、タグ付けまたはマーク付けされた魚が、そのタグまたはマーカーによって識別され得る。いくつかの実施態様では、取得された画像が、検査されて、魚の独特のスポットパターンを識別することができる。この独特のドットパターンは、魚の特色に対応し得、これを使用して、後続の画像と以前の画像で魚を識別することができる。オプティカルフロー、視覚的類似性、カルマンフィルタ処理を含むがこれらに限定されない標準的な対象物追跡技術が、魚の動きに対して調整され得、またこの技術を使用して、後続および以前の画像内の魚を追跡および識別することもできる。
【0035】
いくつかの実施態様では、前処理の一部として、左右ステレオ画像305Aおよび305Bを組み合わせて、任意の好適な画像の組み合わせ、またはステレオ対応技術などの併合技術を使用して単一の画像を形成することができる。対象物検出が実行されて、複数の前処理された画像、または単一の前処理された画像310A内で魚を検出することができる(S310)。いくつかの実施態様では、より高速な回帰型畳み込みニューラルネットワーク(RCNN)を利用して対象物検出を実行することができる。
【0036】
いくつかの実施態様では、セマンティックセグメンテーションを実行して、画像内の背景から画像内の魚をセグメント化することができる。セマンティックセグメンテーションにより、魚の詳細な特徴をより容易に分析することができる。一般に、様々な好適な対象物検出技術を使用して、単一の前処理された画像310A内の魚を検出することができる。
【0037】
図3Aに示すように、境界ボックスを使用して、画像310A内の検出された対象物を識別することができる。境界ボックスは、深度測定、および測定された寸法の誤差のマージンに基づいて、測定された寸法を含み得る。境界ボックス、または検出された対象物は、画像310A内の魚の画像などの、画像310A内の関心領域に対応することができる。複数のフレームが処理されている場合、最近傍アルゴリズムを使用して、フレーム間で合致が最も予想される対象物を見つけることができる。
【0038】
いくつかの実施態様では、深度マップを生成して、カメラからの魚の距離を決定することができる。深度マップは、任意の好適な技術を使用して生成することができる。例えば、レイリー散乱または画像アレイ深度再構成を使用して、深度マップを作成することができる。さらに、立体カメラ、ソナー、音響カメラ、またはレーザのうちの1つ以上を利用して、カメラレンズからの魚の距離を決定することができる。
【0039】
1つ以上の画像、例えば、組み合わされた単一画像、ステレオ画像ペア、または一連の画像内の魚を検出し、境界ボックスを使用して関心領域を識別した後に、姿勢推定器を使用して、各関心領域内のキーポイントを識別することができる(S315)。この姿勢推定器は、図4を参照してさらに説明される。いくつかの実施態様では、この姿勢推定器は、DeepPose動作、マルチ魚姿勢推定動作、または畳み込みニューラルネットワーク動作を実行することができる。画像315A(拡大版が、図5に示されている)に示すように、キーポイントは、目、鼻孔、えら板、えら蓋、補助骨、胸びれ、側線、背びれ、あぶらびれ、腹びれ、尻びれ、および尾びれなどの魚の特徴と関連付けられ得る。キーポイントは、画像内の画素位置を反映する数値座標によってラベル付けされ得、魚の特定の特徴と関連つけられ得る。
【0040】
いくつかの実施態様では、キーポイントおよび関連付けられている特徴が画像内で部分的に表示されず、または視認不可能であり得る場合であっても、姿勢推定器は、キーポイントおよび関連付けられている特徴の確率が特定の場所に存在することに基づいて、キーポイントおよび関連付けられている特徴らしきものを依然として識別することができる。キーポイント場所の確率は、画像内の魚の予想形状、サイズ、もしくは種類、または魚の他の特徴の場所、のうちの1つ以上に基づくことができる。例えば、参照として図5Aを使用すると、脂びれが画像内に示されない場合であっても、脂びれの場所は、画像内の尾びれおよび背びれの位置に基づいて、確率モデルを使用して推定することができる。ニューラルネットワークおよびモデルを介してさらに処理することにより、特定の魚種のモデルに基づいて、遮蔽されたキーポイントが位置している場所を推論することができる。
【0041】
図3Bでは、魚のモデル322Aを、図3Aの姿勢推定器S315からの識別されたキーポイントを使用して生成することができる。そのキーポイントは、項目S320において格納され得、図3Bに示されたモデルプロセスのための入力として使用することができる。そのモデルは、実施態様に応じて、2Dまたは3Dとすることができる。
【0042】
2Dモデル実施態様の場合、S320において格納されたキーポイントは、トラスネットワークの構造内で使用することができる。このトラスネットワークは、特定のキーポイントを分離する距離を指示する一組の値である。トラスネットワークの画像例が、図3Bの項目322Aに示されているか、または図5Bにさらに詳細に示されている。個々のトラスは、2つの特定のキーポイント間の距離である。システム内で使用されるモデル形式は、ベクトル、またはベクトル群とすることができ、その場合には、各トラス長は、ベクトル内の要素である。
【0043】
3Dの実施態様の場合、様々な、2Dから3Dへの変換技術を使用することができる。例えば、いくつかの実施態様では、2D画像内のキーポイントを、深度マップを使用して、魚の3Dモデルにマッピングすることができる。この深度マップは、ブロックマッチングアルゴリズム、運動からの深度、またはセミグローバルマッチングおよび相互情報量による立体処理などの様々な技術を使用して決定され得る。対象物、すなわち、ステレオ画像(例えば、左画像および右画像)内の魚が、検出され得、決定された、カメラからの深度、およびその画像と、検出された対象物との間の不一致を使用して、3Dモデルを生成することができる。
【0044】
いくつかの実施態様では、生成されたモデル322Aは、スコア化され、ランク付けされ得る。このスコアおよびランクは、生成されたモデルの品質因子、および魚の取り込まれた画像を反映する。モデル322Aのスコア化は、カメラに対する魚の仰角、カメラに対するその魚の平坦度、カメラに対するその魚の姿勢または垂直性、カメラに対するその魚の距離、または特定の姿勢をスコア化するためのニューラルネットワークモデル、のうちの1つ以上を含む、多くのパラメータに基づいて決定することができる。魚の仰角、平坦度、および垂直性、ならびにカメラからの魚の距離の値は、深度マップを決定するとき、およびキーポイントの場所を決定するときなどの、以前の動作の中で決定され得る。場合によっては、様々なパラメータに、様々な重みが割り当てられ得る。
【0045】
例えば、場合によっては、より大きい仰角を有する魚、またはカメラからより大きい距離にある魚は、低いスコアを有し得る。場合によっては、魚がカメラに対して比較的垂直または水平には見えない魚の画像は、より低いスコアが付けられ得る。場合によっては、決定されたキーポイントの数を使用して、スコアを計算することができる。例えば、より多くのキーポイント数が画像から決定された画像に対して、またはより少ないキーポイントが、画像内で視認できる1つ以上のキーポイントの不足に起因して、確率モデルを使用して決定された画像に対しては、より高いスコアが与えられ得る。一般に、スコアが高いほど、画像およびモデルの品質は、より良好である。
【0046】
モデル322Aのスコアは、利用可能である場合、同じ魚に対する他のモデルの他のスコアと並行してランク付けすることができる(S325)。例えば、図3Bの項目325Aに示すように、A312などの識別子を割り当てられた魚のモデル322Aは、86のスコアを有し、23にランク付けされている。一般に、上で説明した基準を使用する、様々な種類のスコアシステムおよびランク付けシステムが利用され得る。
【0047】
それらのスコアまたはランク付けが閾値を満たす場合、モデル322Aを利用して、魚の現存量、形状、サイズ、または健康状態を決定することができる(S330)。例えば、閾値が85以上のスコア、または25以上のランクである場合、モデル322aは、項目325Aに示されたスコアおよびランクに基づいて、その閾値を満たすことができる。閾値は、異なる魚、環境、または魚タンクの場合に、異なるように設定することができる。
【0048】
魚の重量および健康状態を含む重要な特性を決定するために、その魚の、キーポイント間の長さを意味する様々なトラスを使用することができる。図5Bは、上唇500から目501まで、上唇500から前縁背びれ503まで、上唇500から前縁胸びれ502まで、前縁背びれ503から前縁尻びれ505まで、前縁尻びれ505から後下部尾柄部507まで、後下部尾柄部507から後上部尾柄部508までを含むいくつかの可能なトラス長を示す。記述されたキーポイントの並べ替えを含む、他のキーポイントおよび他の分離を使用することができる。異なる魚の場合、異なるキーポイントが、生成され得る。キーポイントの任意のセットについて、トラスネットワークが、モデルとして生成され得る。
【0049】
閾値を合格した322Aのようなモデルは、既存のモデルと比較することができる。2Dの場合、新規モデルおよび既存モデルの両方が、特定のトラス長に対応する値要素を有するベクトルとして存在することができる。既存のベクトルは、特定の魚の現存量、形状、サイズ、または健康状態を含む関連したデータと関連付けられ得る。新しい魚の特性を決定するプロセスS330は、線形回帰モデル、特定のクラスタリングアルゴリズム(例えば、K平均もしくはガウス混合)、またはモデル322Aの一部もしくは全部を表す新規ベクトルに対する高次元近似で既存のベクトルを見つけるための他の計算システムに関係し得る。個別のベクトル、または複数のベクトルを使用して、特定の魚の特性を比較することができる。
【0050】
腹部の短縮、尾部の短縮、脊柱側弯症、脊柱前弯症、脊柱後弯症、上顎の奇形、下顎の奇形、えら蓋の短縮、ラント症候群および心筋症症候群(CMS)を含むが、これらに限定されない様々な健康状態について、モニタリングすることができる。短縮されたえら蓋状態のような一部の健康状態は、寄生虫に対する感受性を直接増大させ、呼吸のような健康機能を低下させ、影響を受けた標本内の致死率を増加させる可能性がある。脊柱側弯症、脊柱前弯症、および脊柱後弯症のような脊椎奇形を含む骨格上の奇形は、繁殖の品質および割合に影響を及ぼすだけでなく、孵化場および魚の所有者の経済的存立可能性にも直接影響を及ぼし得る。目に見える骨格上の奇形は、魚の市場価格に大きな影響を及ぼし得る。
【0051】
平均的な健康状態などを含む特定の健康状態を決定するには、トラス長モデルに焦点を当て、ニューラルネットワークを使用して、より大きなデータセットと比較する必要があり得る。条件によっては、モデル内にトラス長を多かれ少なかれ含めることは、有利な場合がある。上顎の奇形、えら蓋の短縮などの病気の場合、特定のトラス長は、ニューラルネットワーク内でより重く重み付けされることになり得る。線形回帰モデル、ならびにクラスタリングアルゴリズムを使用することができる。
【0052】
決定された特性は、ユーザのために表示され、またはデータとして格納することもできる。可能な表示オプションが、図3Bの項目330Aに示されている。重量は、任意の所与の重量メトリックで表示することができる。健康ステータスは、特定の健康状態に対応する英数字IDを介して表示することができる。A312のIDを有する画像化された魚は、23ポンドの推定重量を有し得る。魚IDのA312はまた、健康状態ラベル134cを有し得る。健康状態は、健康問題、平均的な健康状態、平均以上の健康状態、特定の異常性、または特性を含む、いくつかの修飾子を表すことができる。個々の識別子は、より大きな区別のサブセットであり得る。健康状態IDを使用して、特定の魚の健康状態に関する分析論、ならびに魚集団の健康状態の傾向および特定の値を検索することができる。魚の特性を表す他の形式を使用することができる。
【0053】
次いで、画像内に取り込まれた魚の推定された現存量、形状、サイズ、健康状態、およびモデルは、結果として出力することができる(S335)。この結果は、いくつかの方法で出力され得る。例えば、場合によっては、モデル322aは、特定の特性とともに、コンピュータ装置のディスプレイ335A上に表示することができる。場合によっては、それらの結果は、データベース内の、その魚のための魚プロファイルに格納することができる。それらの結果は、その魚と関連付けられている以前の結果に追加または集約することができる。重量およびサイズ寸法に対する新しい平均値が、定期的に決定され得、または各時間に新しい結果が、生成される。
【0054】
いくつかの実施態様では、格納された魚データは、魚の追跡記録を提供することができる。例えば、魚は、魚タンク内で、その魚の終生にわたって追跡され得る。魚は、誕生からその成長を通じて、完全に育った成魚になるまで、追跡することができる。したがって、魚が経験した変化の詳細なタイミングおよび種類が、記録され得る。研究者または魚購入者などのグループが魚の履歴についてより多くを学ぶことに興味を持った場合、魚データベースに照会して、魚の履歴に関する情報を検索することができる。
【0055】
いくつかの実施態様では、その結果を提供して、姿勢推定器を訓練することができる。例えば、魚の画像およびその決定されたモデル、推定された重量、形状、ならびにサイズを基準として提供して、姿勢推定器を訓練データとして訓練するか、または魚重量計算全体の加重平均として使用することができる。それらの結果に対するフィードバックが利用可能である場合、そのフィードバックもまた、訓練データとして提供することもできる。例えば、批評者が、その結果を閲覧した後に、その結果が貧弱な推定であることを示した場合、批評者のフィードバックは、姿勢推定器への訓練データとして提供され得る。
【0056】
いくつかの実施態様では、それらの結果を提供して、健康状態モニタリング装置を訓練することができる。例えば、魚の画像、およびその決定された3Dまたは2Dモデル、推定された重量、形状、サイズ、ならびに健康状態を基準として提供して、健康状態モニタリング装置を訓練データとして訓練するか、または魚健康状態計算全体の加重平均として使用することができる。それらの結果に対するフィードバックが利用可能である場合、そのフィードバックもまた、訓練データとして提供することもできる。例えば、批評者が、その結果を閲覧した後に、その結果が魚の健康状態を正確には反映していないことを示した場合、その批評者のフィードバックは、健康状態計算への訓練データとして提供することができる。
【0057】
一般に、魚は、長期間にわたって、また短期間にわたって追跡され得る。短期間の追跡の場合、魚の継続的なビデオが、カメラシステムを制御することによって得ることができ、その結果、カメラシステム内のカメラは、魚が移動するときに、魚の画像を継続的に取り込むことができる。場合によっては、カメラシステムは、魚の動きを自動的に追跡するようにプログラム動作され得る。場合によっては、カメラシステムを、ユーザ、例えば、システム管理者によって手動で制御して、魚の動きを追跡することができる。
【0058】
長期間の追跡の場合、定期的な魚画像を、例えば、数日毎、数週間毎、または数ヶ月毎に取得することができる。魚を識別するための方法を利用して、画像内の魚が同一物であることを確認し、識別された魚のプロファイルを更新することができる。例えば、場合によっては、魚を識別するための方法は、表現学習を介して魚の画像から特徴を抽出することを含むことができ、その表現学習は、メトリック損失を使用して、正の画像サンプル、すなわち同じ魚の複数の画像、ならびに負の画像サンプル、すなわち魚の少なくとも1つの画像、および異なる魚の少なくとも1つの他の画像に基づいて、特徴抽出器を学習させるものである。場合によっては、ハンドエンジニアリングを使用して、魚の画像から特徴を抽出することができる。
【0059】
特徴抽出の結果は、魚画像を高次元ベクトル空間内のベクトルにマッピングする関数である。画像内の魚の各検出は、新しい観察(最初の光景)であるか、または他の例のクラスター(繰り返し訪問)に近いものかのどちらかである。クラスタリングアルゴリズム(例えば、K平均法または混合ガウス)を使用して、クラスターを計算することができる。魚が成熟するに従って時間の経過とともに、クラスターは、ドリフトまたは拡張し得、この進展を追跡することができる。
【0060】
図3Bに戻って参照すると、いくつかの実施態様では、画像化された魚の特性を決定した後に、本システムは、魚のより多くのデータがユーザによって要求されるか、または必要とされているかどうかを判定することができる。魚のさらなるデータが要求または必要とされる場合、システムは、動作S305から始まる、図3Aおよび図3Bの動作を繰り返すことになる。魚のより多くのデータがもはや要求されないか、または必要とされない場合、魚の特性を決定するための方法は、終了することができる。
【0061】
魚に対する追加のデータのための要求は、明示的または暗黙的であってもよい。例えば、場合によっては、本システムは、プログラムされ、複数のセットのデータを取得して、魚の特性を決定することができ、その測定は、必要な数のデータセットが取得されるまで繰り返され得る。場合によっては、システムは、ユーザからの要求を受信して、特定の魚のための追加データを取得することができる。
【0062】
図4は、魚のサイズ、形状、および重量を決定するための例示的なシステム400を示す。このシステム400は、魚タンク480、計算装置490、およびサーバ475を備えることができる。魚タンク480は、図1A図1B、および図2を参照して説明した魚タンクに対応する。魚タンク480は、魚モニタリングシステムを含むことができ、その魚モニタリングシステムは、光センサ、温度計、塩分センサ、運動センサ、流れセンサ、およびカメラシステム401などの複数のセンサを含む。
【0063】
カメラシステム401は、画像を取り込むように構成されている1つ以上のビデオ/写真カメラ、ステレオカメラ、または光学感知装置を含むことができる。例えば、カメラシステム401は、タンク480内の様々な深度および照明条件で1つ以上の魚の画像を取り込むように構成され得る。カメラシステム401は、魚の単一の静止画像、およびまた複数の魚画像が定期的に取り込むことができる魚のビデオ画像も取り込むように構成することができる。カメラシステム401は、計算装置490から受信したコマンドに基づいて、制御され得る。
【0064】
カメラシステム401は、いくつかの異なる種類の技術によって起動させることができる。例えば、運動センサは、カメラシステム401に組み込まれてもよく、それを使用して運動が検出されたときに、カメラシステム401を起動させて1つ以上の画像を取り込むことができる。いくつかの実施態様では、カメラシステム401は、計算装置490またはセンサから画像を取り組むためのコマンドを受信するように構成されている。
【0065】
いくつかの例では、カメラシステム401は、一体型または外付け型照明器(例えば、赤外線のZ波制御「白色」光であり、光は、計算装置490によって制御される)を起動して、画像品質を向上させることができる。一体型または個別の光センサを使用して、照明が必要とされるかどうかを判定することができる。照明器を作動させることにより、画像品質の向上をもたらすことができる。
【0066】
カメラシステム401は、時間/日付スケジュール、システム作動コマンド、または他の変数の任意の組み合わせとともにプログラムされて、画像がいつ取り込まれるべきかを決定することができる。カメラシステム401は、画像を取り込まないときは、低電力モードに入ることができる。場合によっては、カメラシステム401は、内部の交換可能なバッテリーによって電力供給されてもよい。場合によっては、カメラシステム401は、光が利用可能であるときに、小型太陽光電池を使用してバッテリーを再充電することができる。
【0067】
カメラシステム401は、ケーブルを介して計算装置490に接続され得、画像405Aなどのデータは、ケーブルを介して計算装置490と通信することができる。計算装置490は、姿勢推定器492、メモリ494、プロセッサ496、および入力/出力装置498を含むことができる。姿勢推定器492は、ニューラルネットワークを含むことができ、訓練データおよび様々な機械学習方法を使用して訓練され得る。訓練データには、特徴の位置および種類が異なる魚の多数の画像が含まれる場合がある。訓練に基づいて、姿勢推定器492は、魚の特徴の確度の高い場所、ならびに特徴の形状、サイズ、および色などの特徴の特性の相違を決定することができる。姿勢推定器492を訓練して、魚の形状およびサイズ、ならびにその魚の特徴の場所の相違が、魚の重量にどのように影響を及ぼすかを決定することができる。
【0068】
メモリ494は、1つ以上の大容量記憶装置、例えば、磁気ディスク、光磁気ディスク、光学ディスク、EPROM、EEPROM、フラッシュメモリデバイスとして実装されてもよく、またデータを格納するための内蔵ハードディスク、取り外し可能ディスク、光磁気ディスク、CDROM、またはDVD-ROMディスクとして実装されてもよい。いくつかの実施態様では、メモリ494は、魚プロファイルデータを格納することができ、その魚プロファイルデータには、サイズ、形状、重量、健康状態、スコア、および各プロファイルされた魚と関連付けられたランキングデータが含まれ得る。この魚プロファイルデータはまた、その魚の1つ以上の画像およびモデルも含むことができる。いくつかの実施態様では、メモリ494は、姿勢推定器492を訓練するための訓練データ、およびRCNNを訓練するためのデータを格納することができる。
【0069】
入力/出力装置498は、キーボード、ポインティングデバイス、マウス、入力用ペン、および/またはタッチセンシティブパネル、例えば、タッチパッドまたはタッチスクリーンなどの入力装置を含み得る。出力装置は、ディスプレイ、スクリーン、スピーカー、および一般にデジタルデータを出力することができる任意のデバイスを含み得る。入力/出力装置498はまた、送受信機も含むことができ、その送受信機は、送信機および受信機を含み、サーバ475と通信するために利用することができる。この送受信機は、増幅器、変調器、復調器、アンテナ、および各種の他のコンポーネントを含み得る。送受信機は、サーバ475に接続された装置間でデータを転送またはルーティングすることができる。送受信機は、タンク480とサーバ475との間、および計算装置490とサーバ475との間で通信されるデータをルーティングすることができる。例えば、魚の重量、形状、サイズ、健康状態、およびモデルを決定した後に、計算装置490は、送受信機を介して、魚の識別子、スコア、ランク、重量、および健康状態情報などの魚プロファイル情報430Aをサーバ475に送信することができる。
【0070】
プロセッサ496は、本明細書に説明された方法を実施するための命令を実行するための姿勢推定器492、メモリ494、および入力/出力装置498に接続され得る。いくつかの実施態様では、実行可能な命令が、メモリ装置110内に格納され得る。プロセッサ496は、1つ以上の実行可能な命令として動作を符号化し、そしてメモリ装置110内に実行可能な命令を提供することによって、プログラムされ得る。プロセッサ496は、例えば、マルチコア構成で、1つ以上の処理ユニットを含み得るが、これに限定されない。処理ユニットという用語は、本明細書で使用されるとき、マイクロプロセッサ、マイクロコントローラ、縮小命令セット回路(RISC)、特定用途向け集積回路(ASIC)、論理回路、および本明細書に記載されている動作を実行するための命令を実行することができる任意の他の回路またはデバイスを指す。姿勢推定器492は、プロセッサ496の一部として実装され得るか、またはプロセッサ496に電気的に接続され得る。
【0071】
いくつかの実施態様では、サーバ475は、複数のサーバとして実装され得、サーバ475の様々なコンポーネントが、複数のサーバにわたって分散配置され得る。サーバ475は、1つ以上のネットワークを介して、計算装置490に接続され得る。図3Aおよび図3Bに図示された方法の1つ以上の動作は、計算装置490またはサーバ475で実施され得、その結果、方法の一部分は、計算装置490によって実行され、他の部分は、サーバ475によって実行され得る。
【0072】
サーバ475は、1つ以上のネットワークに結合された任意の好適な計算装置を含み得、それらには、パーソナルコンピュータ、サーバコンピュータ、一連のサーバコンピュータ、ミニコンピュータ、およびメインフレームコンピュータ、ならびにそれらの組み合わせが含まれるが、これらに限定されない。例えば、サーバ475は、ネットワークオペレーティングを実行するウェブサーバ(または一連のサーバ)を含んでもよい。いくつかの実施態様では、サーバ475は、魚プロファイルデータベースなどの1つ以上のデータベースに接続されるか、またはこれらと統合されてもよい。
【0073】
サーバ475はまた、セキュアソケットレイヤ(SSL)で保護されたファイル転送プロトコル、セキュアシェルファイル転送プロトコル(SFTP)ベースの鍵管理、およびNaCI暗号化ライブラリなどの共通かつ標準のプロトコルおよびライブラリも実装することができる。サーバ475は、クラウドおよび/またはネットワークコンピューティングのために使用および/または提供され得る。図には示されていないが、サーバ475は、電子メール、SMSメッセージング、テキストメッセージングなどのメッセージング機能性、および暗号化/復号化サービス、サイバーアラートなどの他の機能性を提供する外部システムへの接続を有してもよい。
【0074】
1つ以上のネットワークは、ネットワークアクセス、データ伝送、および他のサービスをサーバ475に提供することができる。1つ以上のネットワークは、任意の一般的に規定されたネットワークアーキテクチャを包含および実装してもよく、そのアーキテクチャには、グローバルシステムフォーモバイルコミュニケーションズ(GSM)アソシエーション、インターネットエンジニアリングタスクフォース(IETF)、およびワールドワイドインターオペラビリティフォーマイクロウェーブアクセス(WiMAX)フォーラムなどの標準化団体により規定されたネットワークアーキテクチャが含まれる。例えば、1つ以上のネットワークは、GSMアーキテクチャ、汎用パケット無線サービス(GPRS)アーキテクチャ、およびユニバーサルモバイルテレコミュニケーションシステム(UMTS)アーキテクチャのうちの1つ以上を実装してもよい。1つ以上のネットワークは、WiMAXフォーラムまたはワイヤレスフィディリティ(WiFi)アーキテクチャにより規定されたWiMAXアーキテクチャを実装してもよい。1つ以上のネットワークは、例えば、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、仮想LAN(VLAN)、企業LAN、レイヤ3仮想プライベートネットワーク(VPN)、企業IPネットワーク、企業ネットワーク、またはこれらの組み合わせを含んでもよい。いくつかの実施態様では、1つ以上のネットワークは、インターネット接続、および他のネットワーク関連機能を提供するクラウドシステムを含んでもよい。
【0075】
サーバ475は、魚プロファイルデータベースなどの1つ以上のデータベースと接続または統合され得る。1つ以上のデータベースは、クラウドデータベース、またはデータベース管理システム(DBMS)により管理されたデータベースを含み得る。DBMSは、データベース内のデータの編成、格納、管理、および検索を制御するエンジンとして実装され得る。DBMSは、クエリー、バックアップおよび複製、規則の励行、セキュリティの提供、計算の実行、変更の実行、およびログへのアクセス、ならびに自動最適化の機能を頻繁に提供する。DBMSの例としては、Oracle(登録商標) データベース、IBM(登録商標) DB2、Adaptive Server Enterprise、FileMaker(登録商標)、Microsoft(登録商標) Access(登録商標)、Microsoft(登録商標) Structured Query Language(SQL)Server、MySQL(商標)、PostgreSQL(登録商標)、MongoDB、Mondo/ES JavaScript Object Notification(JSON)、およびNoSQL実装が含まれる。DBMSは、通常、モデリング言語、データ構造、データベースクエリー言語、およびトランザクションメカニズムを含む。モデリング言語は、データベースモデルに応じて、DBMS内の各データベースのスキーマを定義するために使用され得、階層モデル、ネットワークモデル、リレーショナルモデル、オブジェクトモデル、またはいくつかの他の適用可能な既知の、または簡便な構成を含み得る。データ構造は、フィールド、レコード、ファイル、オブジェクト、およびデータを格納するための任意の他の適用可能な既知の、または簡便な構造を含み得る。DBMSはまた、格納されるデータについてのメタデータも含むことができる。
【0076】
本明細書に記載された実施形態、ならびに機能的動作および/または操作は、デジタル式電子回路内に、もしくは、本明細書に開示された構造体、およびそれらの構造上の等価物を含むコンピュータソフトウェア、ファームウェア、もしくはハードウェア内に、またはそれらのうちの1つ以上を組み合わせて、実装することができる。実施形態は、1つ以上のコンピュータプログラム製品、例えば、データ処理装置により実行するための、またはデータ処理装置の動作を制御するための、コンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1つ以上のモジュールとして、実装されてもよい。コンピュータ可読媒体は、機械可読記憶装置、機械可読記憶基板、メモリ装置、機械可読伝播信号を引き起こす物質の組成物、またはこれらのうちの1つ以上の組み合わせであってもよい。「データ処理装置」という用語は、データを処理するためのすべての装置、デバイス、および機械を包含し、それらには、例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータが含まれる。それらの装置は、ハードウェアに加えて、当該コンピュータプログラムのための実行環境を作り出すコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つ以上の組み合わせを構成するコードを含んでもよい。伝播信号は、人工的に生成された信号、例えば、好適な受信機装置に伝送するための情報を符号化するように生成される、機械で生成された電気的、光学的、または電気磁気的信号である。
【0077】
コンピュータプログラムはまた、プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られており、コンパイル式またはインタープリット式言語を含む、任意の形式のプログラミング言語で記述することができ、独立型プログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境で使用するために好適な他のユニットとして含まれる任意の形式で導入されてもよい。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応する必要はない。プログラムは、他のプログラムまたはデータを保持するファイルの一部に、問題のプログラム専用の単一のファイル、または複数の調整ファイルに格納することができる。コンピュータプログラムは、1つのサイトに配置されるか、または複数のサイトにわたって分散、かつ通信ネットワークにより相互接続された、1つのコンピュータ上または複数のコンピュータ上で、実行され得る。
【0078】
本明細書に記載されたプロセスおよびロジックフローは、1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実行され得、そのコンピュータプログラムは、入力データ上で動作し、出力を生成することによって動作を実行する。プロセスおよびロジックフローはまた、専用論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行され得、装置もまた、それらのものとして実装され得る。
【0079】
コンピュータプログラムの実行に好適なプロセッサには、例として、汎用および専用マイクロプロセッサの両方、ならびに任意の種類のデジタルコンピュータのうちの任意の1つ以上のプロセッサが含まれる。一般に、プロセッサは、読み取り専用メモリもしくはランダムアクセスメモリ、またはその両方から命令および/もしくはデータを受信することになる。プロセッサは、ハードウェアおよびソフトウェアの任意の好適な組み合わせを含むことができる。
【0080】
コンピュータの要素には、命令を実行するためのプロセッサ、ならびに命令およびデータを格納するための1つ以上のメモリ装置が含まれ得る。一般に、コンピュータはまた、データを格納するための1つ以上の大容量記憶装置、例えば、磁気ディスク、光磁気ディスク、もしくは光ディスクを含み、または大容量記憶装置からデータを受信もしくは転送またはその両方を行うように動作可能に大容量記憶装置に結合されることになる。さらに、コンピュータは、別の装置、例えば、ユーザ装置内に内蔵されてもよい。コンピュータプログラム命令およびデータを格納するための好適なコンピュータ可読媒体は、不揮発性メモリ、媒体、およびメモリ装置のすべての形態を含み、例として、EPROM、EEPROM、およびフラッシュメモリ装置などの半導体メモリ装置、磁気ディスク、例えば、内蔵ハードディスクまたは取り外し可能ディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクが含まれる。プロセッサおよびメモリは、専用ロジック回路によって補足され、またはそれに組み込まれ得る。
【0081】
本明細書は多くの特定例を含んでいるが、これらは、本開示、または請求され得る事項の範囲に限定したもとして解釈されるべきではなく、逆に特定の実施形態に特有の特徴に関する説明として解釈されるべきである。別々の実施形態の文脈で、本明細書に記載されている特定の特徴はまた、単一の実施形態の中に組み込んで実施することもできる。逆に、単一の実施形態の文脈で、本明細書に記載されている様々な特徴はまた、複数の実施形態の中で、別々に、または任意の好適な部分組み合わせで実施することもできる。さらに、各特徴は、特定の組み合わせで動作するものとして上記に説明され得、同様に特許請求の範囲にも記載されているが、特許請求された組み合わせからの1つ以上の特徴が、場合によっては、その組み合わせから削除され得、特許請求された組み合わせは、部分組み合わせ、または部分組み合わせの変形例を対象とする場合がある。
【0082】
同様に、動作が特定の順番で図面に図示されているが、これは、かかる動作がその示された特定の順番、もしくは一連の順番で実行されるべきであること、または例証したすべての動作が、所望の結果を達成するために実行されるべきであることを要求するものとして理解されるべきではない。さらに、上述した実施形態中の様々なシステムコンポーネントの分離は、すべての実施形態においてかかる分離を必要とするものとして理解されるべきではなく、記載されたプログラムコンポーネントおよびシステムは、一般に、単一のソフトウェア製品内にともに一体化されてもよく、または複数のソフトウェア製品にパッケージ化されてもよい。
【0083】
1つ以上という成句、および少なくとも1つという成句は、任意の要素の組み合わせを含むことを理解されたい。例えば、AおよびBのうちの1つ以上という成句は、A、B、または、AおよびBの両方を含む。同様に、AおよびBのうちの少なくとも1つという成句は、A、B、または、AおよびBの両方を含む。
【0084】
このように、特定の実施態様が説明されてきた。他の実施態様は、以下の特許請求の範囲内に存在する。例えば、特許請求の範囲に記載された動作は、異なる順番で実行されてもよく、依然として望ましい結果を達成することができる。
図1A
図1B
図2
図3A
図3B
図4
図5A
図5B
【手続補正書】
【提出日】2023-02-15
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータ実施方法であって、
1つ以上のプロセッサによって、魚の1つ以上の画像を取得することと、
前記1つ以上の画像内の前記魚の1つ以上の特徴と関連付けられている1つ以上のキーポイントを決定することと、
前記魚の前記1つ以上の特徴と関連付けられている前記1つ以上のキーポイントに基づいて、前記1つ以上のプロセッサによって、前記魚のモデルを生成することと、
前記魚の前記モデルを使用して、腹部の短縮、尾部の短縮、脊柱側弯症、脊柱前弯症、脊柱後弯症、上顎の奇形、下顎の奇形、えら蓋の短縮、ラント症候群、または心筋症症候群(CMS)の中から前記魚の特性を決定することと、
前記1つ以上のプロセッサに接続された装置における表示または格納のための前記魚の前記特性の表現を出力することと、を含む、コンピュータ実施方法。
【請求項2】
前記1つ以上の画像から単一画像を生成することと、
前記単一画像のための深度マップを生成することと、
回帰型畳み込みニューラルネットワークを使用して対象物検出を実行することによって、前記単一画像内の前記魚および1つ以上の関心領域を識別することと、をさらに含む、請求項1に記載のコンピュータ実施方法。
【請求項3】
前記魚の前記1つ以上の特徴と関連付けられている前記1つ以上のキーポイントが、姿勢推定を使用して前記1つ以上の関心領域の各々に対して決定され、
前記1つ以上の画像が、1つ以上の画像獲得装置を使用して取得され、
前記1つ以上の画像が、1つの画像獲得装置からの画像、および異なる画像獲得装置からの別の画像を含む、請求項2に記載のコンピュータ実施方法。
【請求項4】
前記決定された1つ以上のキーポイントが、1つ以上の2次元キーポイントを含み、
前記魚の前記モデルを生成することが、
前記魚の3Dモデルを生成することを含む、請求項1に記載のコンピュータ実施方法。
【請求項5】
前記魚の3Dモデルを生成することが、
前記決定された1つ以上の2次元キーポイントおよび前記深度マップを使用することによって、前記魚の3次元キーポイントを決定すること、を含む、請求項4に記載のコンピュータ実施方法。
【請求項6】
前記魚の前記モデルを生成することが、
長さの値からなるトラスネットワークを決定することを含み、前記長さの値が、キーポイント間の距離を示す、請求項1に記載のコンピュータ実施方法。
【請求項7】
前記魚の前記モデルを使用して前記魚の特性を決定することが、
前記魚の前記モデルに線形回帰モデルを適用することを含む、請求項1に記載のコンピュータ実施方法。
【請求項8】
前記魚の1つ以上の二次画像を取得することと、
前記取得された、前記魚の1つ以上の二次画像に基づいて、前記魚の特性を決定することと、
前記魚の前記モデルを使用して決定された前記特性、および前記取得された、前記魚の1つ以上の二次画像に基づいて決定された前記特性に基づいて、特性を決定することと、をさらに含む、請求項1に記載のコンピュータ実施方法。
【請求項9】
姿勢推定モデルを使用してニューラルネットワーク分類器を訓練し、前記魚の予想キーポイントを予測することをさらに含む、請求項1に記載のコンピュータ実施方法。
【請求項10】
システムであって、
1つ以上の計算装置、および命令を格納する1つ以上の記憶装置を備え、前記命令が、前記1つ以上の計算装置によって実行されるときに、前記1つ以上の計算装置に、
魚の1つ以上の画像を取得することと、
前記1つ以上の画像内の前記魚の1つ以上の特徴と関連付けられている1つ以上のキーポイントを決定することと、
前記魚の前記1つ以上の特徴と関連付けられている前記1つ以上のキーポイントに基づいて、前記魚のモデルを生成することと、
前記魚の前記モデルを使用して、腹部の短縮、尾部の短縮、脊柱側弯症、脊柱前弯症、脊柱後弯症、上顎の奇形、下顎の奇形、えら蓋の短縮、ラント症候群、または心筋症症候群(CMS)の中から前記魚の特性を決定することと、
前記1つ以上の計算装置に接続された装置における表示または格納のための、前記魚の前記特性の表現を出力することと、を含む、動作を実行させる、システム。
【請求項11】
前記動作が、
前記1つ以上の画像から単一画像を生成することと、
前記単一画像のための深度マップを生成することと、
回帰型畳み込みニューラルネットワークを使用して対象物検出を実行することによって、前記単一画像内の、前記魚および1つ以上の関心領域を識別することと、をさらに含む、請求項10に記載のシステム。
【請求項12】
前記魚の前記1つ以上の特徴と関連付けられている前記1つ以上のキーポイントが、姿勢推定を使用して前記1つ以上の関心領域の各々に対して決定され、
前記1つ以上の画像が、1つ以上の画像獲得装置を使用して取得され、
前記1つ以上の画像が、1つの画像獲得装置からの画像、および異なる画像獲得装置からの別の画像を含む、請求項11に記載のシステム。
【請求項13】
前記決定された1つ以上のキーポイントが、1つ以上の2次元キーポイントを含み、
前記魚の前記モデルを生成することが、
前記魚の3Dモデルを生成することを含む、請求項10に記載のシステム。
【請求項14】
前記魚の3Dモデルを生成することが、
前記決定された1つ以上の2次元キーポイント、および前記深度マップを使用することによって、前記魚の3次元キーポイントを決定すること、を含む、請求項13に記載のシステム
【請求項15】
前記魚の前記モデルを生成することが、
長さの値からなるトラスネットワークを決定することを含み、前記長さの値が、キーポイント間の距離を示す、請求項10に記載のシステム。
【請求項16】
前記魚の前記モデルを使用して前記魚の特性を決定することが、
前記魚の前記モデルに線形回帰モデルを適用することを含む、請求項10に記載のシステム。
【請求項17】
前記動作が、
前記魚の1つ以上の二次画像を取得することと、
前記取得された、前記魚の1つ以上の二次画像に基づいて、前記魚の特性を決定することと、
前記魚の前記モデルを使用して決定された前記特性、および前記取得された、前記魚の1つ以上の二次画像に基づいて決定された前記特性に基づいて、特性を決定することと、をさらに含む、請求項11に記載のシステム。
【請求項18】
命令を含む1つ以上の非一過性コンピュータ可読記憶媒体であって、前記命令が、1つ以上の計算装置によって実行されるときに、前記1つ以上の計算装置に、
魚の1つ以上の画像を取得することと、
前記1つ以上の画像内の前記魚の1つ以上の特徴と関連付けられている1つ以上のキーポイントを決定することと、
前記魚の前記1つ以上の特徴と関連付けられている前記1つ以上のキーポイントに基づいて、前記魚のモデルを生成することと、
前記魚の前記モデルを使用して、腹部の短縮、尾部の短縮、脊柱側弯症、脊柱前弯症、脊柱後弯症、上顎の奇形、下顎の奇形、えら蓋の短縮、ラント症候群、または心筋症症候群(CMS)の中から前記魚の特性を決定することと、
前記1つ以上の計算装置に接続された装置における表示または格納のための、前記魚の前記特性の表現を出力することと、を含む、動作を実行させる、1つ以上の非一過性コンピュータ可読記憶媒体。
【請求項19】
前記動作が、
前記1つ以上の画像から単一画像を生成することと、
前記単一画像のための深度マップを生成することと、
回帰型畳み込みニューラルネットワークを使用して対象物検出を実行することによって、前記単一画像内の、前記魚および1つ以上の関心領域を識別することと、をさらに含む、請求項18に記載の1つ以上の非一過性コンピュータ可読記憶媒体。
【請求項20】
前記魚の前記1つ以上の特徴と関連付けられている前記1つ以上のキーポイントが、姿勢推定を使用して前記1つ以上の関心領域の各々に対して決定され、
前記1つ以上の画像が、1つ以上の画像獲得装置を使用して取得され、
前記1つ以上の画像が、1つの画像獲得装置からの画像、および異なる画像獲得装置からの別の画像を含む、請求項19に記載の1つ以上の非一過性コンピュータ可読記憶媒体。
【請求項21】
前記決定された1つ以上のキーポイントが、1つ以上の2次元キーポイントを含み、
前記魚の前記モデルを生成することが、
前記魚の3Dモデルを生成することを含む、請求項18に記載の1つ以上の非一過性コンピュータ可読記憶媒体。
【請求項22】
前記魚の3Dモデルを生成することが、
前記決定された1つ以上の2次元キーポイント、および前記深度マップを使用することによって、前記魚の3次元キーポイントを決定すること、を含む、請求項21に記載の1つ以上の非一過性コンピュータ可読記憶媒体。
【請求項23】
前記魚の前記モデルを生成することが、
長さの値からなるトラスネットワークを決定することを含み、前記長さの値が、キーポイント間の距離を示す、請求項18に記載の1つ以上の非一過性コンピュータ可読記憶媒体。
【請求項24】
前記魚の前記モデルを使用して前記魚の特性を決定することが、
前記魚の前記モデルに線形回帰モデルを適用することを含む、請求項18に記載の1つ以上の非一過性コンピュータ可読記憶媒体。
【請求項25】
前記動作が、
前記魚の1つ以上の二次画像を取得することと、
前記取得された、前記魚の1つ以上の二次画像に基づいて、前記魚の特性を決定することと、
前記魚の前記モデルを使用して決定された前記特性、および前記取得された、前記魚の1つ以上の二次画像に基づいて決定された前記特性に基づいて、特性を決定することと、をさらに含む、請求項18に記載の1つ以上の非一過性コンピュータ可読記憶媒体。
【請求項26】
前記動作が、
姿勢推定モデルを使用してニューラルネットワーク分類器を訓練し、前記魚の予想キーポイントを予測することをさらに含む、請求項18に記載の1つ以上の非一過性コンピュータ可読記憶媒体。
【国際調査報告】