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

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

▶ イノベーシア システムズ,インコーポレイテッドの特許一覧

特表2023-523700魚の体積推定、重量推定、および分析値生成のためのシステムおよび方法
<>
  • 特表-魚の体積推定、重量推定、および分析値生成のためのシステムおよび方法 図1
  • 特表-魚の体積推定、重量推定、および分析値生成のためのシステムおよび方法 図2
  • 特表-魚の体積推定、重量推定、および分析値生成のためのシステムおよび方法 図3
  • 特表-魚の体積推定、重量推定、および分析値生成のためのシステムおよび方法 図4
  • 特表-魚の体積推定、重量推定、および分析値生成のためのシステムおよび方法 図5
  • 特表-魚の体積推定、重量推定、および分析値生成のためのシステムおよび方法 図6
  • 特表-魚の体積推定、重量推定、および分析値生成のためのシステムおよび方法 図7
  • 特表-魚の体積推定、重量推定、および分析値生成のためのシステムおよび方法 図8
  • 特表-魚の体積推定、重量推定、および分析値生成のためのシステムおよび方法 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-06-07
(54)【発明の名称】魚の体積推定、重量推定、および分析値生成のためのシステムおよび方法
(51)【国際特許分類】
   G06T 7/62 20170101AFI20230531BHJP
   G01B 11/00 20060101ALI20230531BHJP
   G01B 11/03 20060101ALI20230531BHJP
   A01K 61/95 20170101ALI20230531BHJP
【FI】
G06T7/62
G01B11/00 A
G01B11/03 H
A01K61/95
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022562421
(86)(22)【出願日】2021-04-15
(85)【翻訳文提出日】2022-12-08
(86)【国際出願番号】 US2021027392
(87)【国際公開番号】W WO2021216343
(87)【国際公開日】2021-10-28
(31)【優先権主張番号】16/854,682
(32)【優先日】2020-04-21
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
2.FIREWIRE
3.JAVASCRIPT
4.PYTHON
(71)【出願人】
【識別番号】522398739
【氏名又は名称】イノベーシア システムズ,インコーポレイテッド
(74)【代理人】
【識別番号】100114775
【弁理士】
【氏名又は名称】高岡 亮一
(74)【代理人】
【識別番号】100121511
【弁理士】
【氏名又は名称】小田 直
(74)【代理人】
【識別番号】100202751
【弁理士】
【氏名又は名称】岩堀 明代
(74)【代理人】
【識別番号】100208580
【弁理士】
【氏名又は名称】三好 玲奈
(74)【代理人】
【識別番号】100191086
【弁理士】
【氏名又は名称】高橋 香元
(72)【発明者】
【氏名】マ,チェン
(72)【発明者】
【氏名】パルパティ,スリカンス
(72)【発明者】
【氏名】パスラ,ラグナンダン
【テーマコード(参考)】
2B104
2F065
5L096
【Fターム(参考)】
2B104GA01
2F065AA01
2F065AA04
2F065AA21
2F065AA24
2F065AA53
2F065AA59
2F065BB15
2F065CC16
2F065FF04
2F065JJ19
2F065JJ26
2F065LL04
2F065QQ42
5L096AA09
5L096FA02
5L096FA32
5L096FA69
5L096GA51
5L096GA55
(57)【要約】
いくつかの実施形態では、魚囲い内の魚を監視するための水中カメラシステムが提供される。いくつかの実施形態では、魚の寸法を決定するために立体カメラが使用され、水中カメラシステムは、魚の寸法を使用して、魚囲い内の魚のバイオマスを推定し得る。バイオマス値およびバイオマス値の変化率を使用して、魚囲いにおける魚の給餌を調整することができる。いくつかの実施形態では、立体カメラによってキャプチャされた画像を使用して、可変焦点レンズカメラの焦点を魚に合わせて、魚の状態を診断するために使用され得る高解像度画像を取得し得る。いくつかの実施形態では、カメラによってキャプチャされた画像は、魚の動きを予測するために使用され得、予測された動きは、様々な魚モニタリング分析値を生成するために使用され得る。
【選択図】図1
【特許請求の範囲】
【請求項1】
魚囲い内の少なくとも1匹の魚のバイオマスを決定するコンピュータ実装方法であって、
コンピューティングデバイスによって、水中立体カメラによってキャプチャされた画像内の魚の位置を検出することと、
前記コンピューティングデバイスによって、前記画像内の前記魚のセグメンテーションマスクを決定することと、
前記コンピューティングデバイスによって、前記セグメンテーションマスクが測定可能な魚に関連付けられているかどうかを決定することと、
前記セグメンテーションマスクが測定可能な魚に関連付けられていると決定したことに応答して、
前記コンピューティングデバイスによって、前記画像に基づいて前記魚の少なくとも1つの寸法を決定することと、
前記コンピューティングデバイスによって、前記魚の前記少なくとも1つの寸法に基づいて前記魚の重量を決定することと、
前記コンピューティングデバイスによって、前記魚の前記重量を魚重量測定値のセットに追加することと
を含むコンピュータ実装方法。
【請求項2】
前記コンピューティングデバイスによって、前記魚重量測定値のセットが、少なくとも閾値数の魚重量測定値を含むかどうかを決定することと、
前記魚重量測定値のセットが少なくとも前記閾値数の魚重量測定値を含むと決定したことに応答して、
前記コンピューティングデバイスによって、前記魚重量測定値のセットに基づいて、前記魚囲い内の総魚バイオマスを決定することと
をさらに含む請求項1に記載のコンピュータ実装方法。
【請求項3】
前記魚重量測定値のセットが少なくとも前記閾値数の魚重量測定値を含むかどうかを決定することが、前記複数の魚の真の平均重量が前記魚重量測定値のセットの平均の所定の閾値内にあるという所定の信頼性を提供するために、前記魚重量測定値のセットがいくつかの魚重量測定値を含むかどうかを決定することを含む、請求項2に記載のコンピュータ実装方法。
【請求項4】
前記セグメンテーションマスクが測定可能な魚に関連付けられているかどうかを決定することが、
ブラー検出フィルタ、
形状測定フィルタ、および
遮蔽検出フィルタ
のうちの少なくとも1つを適用することを含む、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記遮蔽検出フィルタを適用することが、前記セグメンテーションマスク外の領域の深度を、前記セグメンテーションマスク内の領域の平均深度と比較することを含む、請求項4に記載のコンピュータ実装方法。
【請求項6】
前記画像に基づいて前記魚の前記少なくとも1つの寸法を決定することが、
前記セグメンテーションマスクの軸に沿ったピクセルをスライスに分離することと、
前記スライスの各スライスの深度値を決定することと、
前記画像上のピンホールモデルを使用して、3D提示における前記マスクの長さを決定することと
を含む、請求項1に記載のコンピュータ実装方法。
【請求項7】
前記画像に基づいて前記魚の前記長さを決定することが、水中屈折を補償するために前記画像内の前記深度データを補正することをさらに含む、請求項6に記載のコンピュータ実装方法。
【請求項8】
前記少なくとも1つの寸法が、長さおよび高さのうちの少なくとも1つを含み、前記魚の前記少なくとも1つの寸法に基づいて前記魚の前記重量を決定することが、
前記魚の前記長さおよび前記高さのうちの前記少なくとも1つを使用して、魚重量データストアから前記魚の重量値を取り出すことを含む、
請求項1に記載のコンピュータ実装方法。
【請求項9】
魚囲い内の複数の魚を監視するための水中カメラシステムであって、
少なくとも1つのカメラと、
前記少なくとも1つのカメラに通信可能に結合されたコンピューティングデバイスであって、
前記少なくとも1つのカメラからの少なくとも1つの画像において魚を検出することと、
前記少なくとも1つの画像から前記魚の運動挙動を決定することと、
前記魚の前記運動挙動に少なくとも部分的に基づいて、少なくとも1つの魚モニタリング分析値を決定することと
を行うように構成されている、コンピューティングデバイスと
を含む水中カメラシステム。
【請求項10】
ハウジングをさらに含み、前記少なくとも1つのカメラおよび前記コンピューティングデバイスが、前記ハウジング内に配置されるか、または前記ハウジングに取り付けられている、請求項9に記載の水中カメラシステム。
【請求項11】
前記少なくとも1つのカメラが、立体カメラおよび可変焦点レンズカメラのうちの少なくとも1つを含む、請求項9に記載の水中カメラシステム。
【請求項12】
前記少なくとも1つの魚モニタリング分析値を決定することが、
吸虫感染の有無を決定することと、
浮袋を有する魚種におけるストレスの有無を決定することと、
飽食の有無を決定することと
のうちの少なくとも1つを含む、請求項9に記載の水中カメラシステム。
【請求項13】
前記コンピューティングデバイスをサーバに通信可能に結合するように構成されたネットワークインターフェースをさらに含む、請求項9に記載の水中カメラシステム。
【請求項14】
前記コンピューティングデバイスが、前記少なくとも1つの魚モニタリング分析値を決定する前に、前記少なくとも1つの画像内の魚が測定可能であるかどうかを決定するようにさらに構成されている、請求項9に記載の水中カメラシステム。
【請求項15】
前記少なくとも1つの画像内の前記魚が測定可能であるかどうかを決定することが、前記少なくとも1つの画像内のブラーを検出すること、前記少なくとも1つの画像に形状測定分析を適用すること、および前記少なくとも1つの画像内の前記魚の遮蔽を検出することのうちの少なくとも1つを含む、請求項14に記載の水中カメラシステム。
【請求項16】
コンピューティングデバイスの1つ以上のプロセッサによる実行に応答して、前記コンピューティングデバイスに、魚囲い内の複数の魚を監視するためのアクションを実行させるコンピュータ実行可能命令を記憶した非一時的コンピュータ可読媒体であって、前記アクションが、
前記コンピューティングデバイスによって、少なくとも1匹の魚を示す水中カメラシステムによってキャプチャされた画像を受信することと、
前記コンピューティングデバイスによって、前記少なくとも1匹の魚が遮蔽されているかどうかに少なくとも部分的に基づいて、前記画像内の少なくとも1匹の魚の測定可能性を決定することと、
前記画像内の少なくとも1匹の魚が測定可能であると決定したことに応答して、前記画像に基づいて少なくとも1匹の魚の少なくとも1つの特性を決定することと
を含む、非一時的コンピュータ可読媒体。
【請求項17】
前記少なくとも1匹の魚が遮蔽されているかどうかに少なくとも部分的に基づいて、前記画像内の前記少なくとも1匹の魚の前記測定可能性を決定することが、
前記画像内の魚のセグメンテーションマスクを決定することと、
前記セグメンテーションマスク内の領域内のピクセルの平均深度を決定することと、
前記セグメンテーションマスク外の領域内のピクセルの深度を、前記セグメンテーションマスク内の前記領域内の前記ピクセルの前記平均深度と比較することと、
前記セグメンテーションマスク外の前記領域内の前記ピクセルの前記深度が、前記セグメンテーションマスク内の前記領域内の前記ピクセルの前記平均深度よりも大きいと決定したことに応答して、前記魚が測定可能であると決定することと、
を含む、請求項16に記載の非一時的コンピュータ可読媒体。
【請求項18】
前記セグメンテーションマスク内の前記領域内の前記ピクセルが、前記セグメンテーションマスクのエッジからの第1の閾値距離内のピクセルのセットを含み、前記セグメンテーションマスク外の前記領域内の前記ピクセルが、前記セグメンテーションマスクの前記エッジからの第2の閾値距離内のピクセルのセットを含む、請求項17に記載の非一時的コンピュータ可読媒体。
【請求項19】
前記画像内の前記少なくとも1匹の魚の前記測定可能性を決定することが、前記画像内のブラーの量および前記画像への形状分析の適用にさらに部分的に基づく、請求項16に記載の非一時的コンピュータ可読媒体。
【請求項20】
前記画像に基づいて前記少なくとも1匹の魚の前記少なくとも1つの特性を決定することが、少なくとも1匹の魚の少なくとも1つの寸法を測定すること、少なくとも1匹の魚の挙動を決定すること、少なくとも1匹の魚の重量を決定すること、および少なくとも1匹の魚の健康状態を決定することのうちの少なくとも1つを含む、請求項16に記載の非一時的コンピュータ可読媒体。
【請求項21】
少なくとも1匹の魚の前記少なくとも1つの寸法を測定することが、
前記画像内の魚のセグメンテーションマスクを決定することと、
前記セグメンテーションマスクの軸に沿ったピクセルをスライスに分離することと、
前記スライスの各スライスの深度値を決定することと、
前記画像上のピンホールモデルを使用して、3D提示における前記マスクの長さを決定することと
を含む、請求項20に記載の非一時的コンピュータ可読媒体。
【請求項22】
魚囲い内の少なくとも1匹の魚を監視するための水中カメラシステムであって、
立体カメラと、
可変焦点レンズカメラと、
前記可変焦点レンズカメラおよび前記立体カメラに通信可能に結合されたコンピューティングデバイスであって、
前記立体カメラから画像内の魚を検出することと、
前記立体カメラからの前記画像に基づいて、前記可変焦点レンズカメラの焦点を調整することと、
前記可変焦点レンズカメラを使用して、前記魚の焦点画像をキャプチャすることと、
前記焦点画像に少なくとも部分的に基づいて、少なくとも1つの魚モニタリング分析値を決定することと、
を行うように構成されている、コンピューティングデバイスと、
を含む水中カメラシステム。
【請求項23】
前記立体カメラからの前記画像に基づいて前記可変焦点レンズカメラの前記焦点を調整することが、
前記立体カメラからの前記画像内の深度情報に基づいて、前記可変焦点レンズカメラから前記魚までの距離を決定することと、
前記距離に基づいて前記可変焦点レンズカメラの前記焦点を調整することと
を含む、請求項22に記載の水中カメラシステム。
【請求項24】
前記立体カメラからの前記画像に基づいて前記可変焦点レンズカメラの前記焦点を調整することが、
前記魚の現在位置および運動挙動に基づいて、前記魚の将来の位置を予測することと、
前記予測された将来の位置に基づいて、前記可変焦点レンズカメラの前記焦点を調整することと
を含む、請求項22に記載の水中カメラシステム。
【請求項25】
前記焦点画像に少なくとも部分的に基づいて、前記少なくとも1つの魚モニタリング分析値を決定することが、
前記魚を個々に識別することと、
前記魚の皮膚状態を検出することと、
前記魚のアメーバ性鰓病の徴候を検出することと、
前記魚のウミジラミを検出することと
のうちの少なくとも1つを含む、請求項22に記載の水中カメラシステム。
【請求項26】
前記焦点画像に少なくとも部分的に基づいて、前記少なくとも1つの魚モニタリング分析値を決定することが、
前記魚の運動挙動を検出することと、
前記運動挙動に基づいて、前記少なくとも1つの魚モニタリング分析値を決定することと
を含む、請求項22に記載の水中カメラシステム。
【請求項27】
前記コンピューティングデバイスが、前記焦点画像に少なくとも部分的に基づいて、前記少なくとも1つの魚モニタリング分析値を決定する前に、前記魚画像内の魚が測定可能であるかどうかを決定するようにさらに構成されている、請求項22に記載の水中カメラシステム。
【請求項28】
前記焦点画像内の前記魚が測定可能であるかどうかを決定することが、前記焦点画像内のブラーを検出すること、前記焦点画像に形状測定分析を適用すること、および前記焦点画像内の前記魚の遮蔽を検出することのうちの少なくとも1つを含む、請求項27に記載の水中カメラシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の概要は、発明を実施するための形態で以下でさらに説明する概念の選択を、簡略化された形式で紹介するために提供されている。本発明の概要は、請求された主題の主要な特徴を特定することを意図しておらず、請求された主題の範囲を決定する際の補助として使用されることも意図していない。
【0002】
いくつかの実施形態では、魚囲い内の少なくとも1匹の魚のバイオマスを決定するコンピュータ実装方法が提供される。コンピューティングデバイスは、水中立体カメラによってキャプチャされた画像内の魚の位置を検出する。コンピューティングデバイスは、画像内の魚のセグメンテーションマスクを決定する。コンピューティングデバイスは、セグメンテーションマスクが測定可能な魚に関連付けられているかどうかを決定する。セグメンテーションマスクが測定可能な魚に関連付けられていると決定したことに応答して、コンピューティングデバイスは、画像に基づいて魚の少なくとも1つの寸法を決定し、魚の少なくとも1つの寸法に基づいて魚の重量を決定し、魚の重量を魚の重量測定値のセットに追加する。
【0003】
いくつかの実施形態では、魚囲い内の複数の魚を監視するための水中カメラシステムが提供される。システムは、少なくとも1つのカメラと、少なくとも1つのカメラに通信可能に結合されたコンピューティングデバイスとを含む。コンピューティングデバイスは、少なくとも1つのカメラからの少なくとも1つの画像において魚を検出することと、少なくとも1つの画像から魚の運動挙動を決定することと、魚の運動挙動に少なくとも部分的に基づいて、少なくとも1つの魚モニタリング分析値を決定することとを行うように構成されている。
【0004】
いくつかの実施形態では、コンピュータ実行可能命令を記憶した非一時的コンピュータ可読媒体が提供される。命令は、コンピューティングデバイスの1つ以上のプロセッサによる実行に応答して、コンピューティングデバイスに、魚囲い内の複数の魚を監視するためのアクションを実行させ、アクションは、コンピューティングデバイスによって、少なくとも1匹の魚を示す水中カメラシステムによってキャプチャされた画像を受信することと、コンピューティングデバイスによって、少なくとも1匹の魚が遮蔽されているかどうかに少なくとも部分的に基づいて、画像内の少なくとも1匹の魚の測定可能性を決定することと、画像内の少なくとも1匹の魚が測定可能であると決定したことに応答して、画像に基づいて少なくとも1匹の魚の少なくとも1つの特性を決定することとを含む。
【0005】
いくつかの実施形態では、魚囲い内の少なくとも1匹の魚を監視するための水中カメラシステムが提供される。システムは、立体カメラ、可変焦点レンズカメラ、およびコンピューティングデバイスを含む。コンピューティングデバイスは、可変焦点レンズカメラおよび立体カメラに通信可能に結合されている。コンピューティングデバイスは、立体カメラから画像内の魚を検出することと、立体カメラからの画像に基づいて、可変焦点レンズカメラの焦点を調整することと、可変焦点レンズカメラを使用して、魚の焦点画像をキャプチャすることと、焦点画像に少なくとも部分的に基づいて、少なくとも1つの魚モニタリング分析値を決定することとを行うように構成されている。
【図面の簡単な説明】
【0006】
任意の特定の要素または行為の議論を容易に識別するために、参照番号における最上位の数字は、その要素が最初に紹介された図番号を指す。
【0007】
図1】本開示の様々な態様による、魚囲い内の状態を監視および制御するためのシステムの非限定的な例示的実施形態を示す概略図である。
図2】本開示の様々な態様による、水中カメラシステムの非限定的な例示的実施形態を示すブロック図である。
図3】本開示の様々な態様による、魚囲い内の複数の魚の総バイオマスを決定する方法の非限定的な例示的実施形態を示すフローチャートである。
図4】本開示の様々な態様による、画像内のセグメンテーションマスクに関連付けられた魚の測定可能性を決定するための手順の非限定的な例示的実施形態を示すフローチャートである。
図5】本開示の様々な態様による、遮蔽セグメンテーションマスクおよび画像の非限定的な例示的実施形態、ならびに非遮蔽セグメンテーションマスクおよび画像の非限定的な例示的実施形態を示す画像である。
図6】本開示の様々な態様による、画像およびセグメンテーションマスクに基づいて魚の長さを測定するための手順の非限定的な例示的実施形態を示すフローチャートである。
図7】本開示の様々な態様による、少なくとも1つの魚モニタリング分析値を決定する方法の非限定的な例示的実施形態を示すフローチャートである。
図8】本開示の様々な態様による、少なくとも1つの魚モニタリング分析値を決定する方法の非限定的な例示的実施形態を示すフローチャートである。
図9】本開示の実施形態とともにコンピューティングデバイスとして使用するのに適したコンピューティングデバイスの非限定的な例示的実施形態を示すブロック図である。
【発明を実施するための形態】
【0008】
消費用の魚を育てる方法として、養魚などの養殖技術が普及しつつある。養殖の1つの比較的新しい形態は、開放水域中に配備された魚囲いを使用する。そのようなシステムは、魚を育てるのに有益な環境を提供するが、魚囲いの水中配備によって、囲い内の状態および魚の健康を監視することが困難になる。魚囲いの操作を効率的に管理するために、魚囲い内の魚を正確かつタイムリーに監視することが望まれる。体重および健康は、正確な監視が望まれる2つの条件であり、すなわち、魚囲い内のバイオマスの変化を監視することで、サポートする給餌システムを増加させるか減少させるかに関する決定を通知し、魚囲い内の魚の健康を監視することで、魚を苦しめるあらゆる状態の治療を提供するかどうかに関する決定を通知することができる。
【0009】
図1は、本開示の様々な態様による、魚囲い内の状態を監視および制御するためのシステムの非限定的な例示的実施形態を示す概略図である。
【0010】
図示のシステム100では、養殖管理コンピューティングデバイス102は、魚囲い104とともに設置された水中カメラシステム106に通信可能に結合される。いくつかの実施形態では、水中カメラシステム106は、魚の健康情報およびバイオマス推定値のうちの少なくとも1つを決定するために、魚囲い104内の魚の画像をキャプチャおよび分析するように構成されている。
【0011】
いくつかの実施形態では、水中カメラシステム106は、健康情報およびバイオマス推定値のうちの少なくとも1つを養殖管理コンピューティングデバイス102に送信する。いくつかの実施形態では、養殖管理コンピューティングデバイス102は、限定はしないが、給餌速度の変更および健康状態が悪いときのための治療の提供を含む、魚囲い104を管理するためのアクションをユーザがとることができるように、受信された情報をユーザに提示し得る。いくつかの実施形態では、養殖管理コンピューティングデバイス102は、情報を受信し、限定はしないが、自動給餌ペレットディスペンサによる給餌速度を自動的に変更すること、魚囲い104の深度を自動的に変更すること、および薬剤を自動的に分配することを含めて、情報をユーザに提示することの有無にかかわらず、管理アクションを自律的にとり得る。
【0012】
養殖管理コンピューティングデバイス102は、図1ではラップトップコンピューティングデバイスとして示されているが、いくつかの実施形態では、限定はしないが、デスクトップコンピューティングデバイス、サーバコンピューティングデバイス、タブレットコンピューティングデバイス、スマートフォンコンピューティングデバイス、およびクラウドコンピューティングシステム内の1つ以上のコンピューティングデバイスを含む、他のタイプのコンピューティングデバイスが、養殖管理コンピューティングデバイス102に使用され得る。
【0013】
さらに、図1は、水中カメラシステム106が、外洋などの開放水域内に沈められ得る水中魚囲いである魚囲い104とともに設置される例示的な実施形態を示す。しかしながら、この実施形態は、限定的であると見なされないものとし、いくつかの実施形態では、水中カメラシステム106は、異なる環境において水中に設置されてもよい。例えば、いくつかの実施形態では、水中カメラシステム106は、海岸線付近の養殖現場の水上魚囲いに設置されてもよい。別の例として、いくつかの実施形態では、水中カメラシステム106は、魚の幼生(larvae)、幼生(hatchlings)、および/または稚魚を監視するために、陸上の孵化場または養殖場に関連付けられた水中の魚囲い内で利用され得る。さらに別の例として、いくつかの実施形態では、水中カメラシステム106は、再循環養殖システム(RAS)に関連付けられた魚囲いにおいて利用されてもよく、高度な水処理システムに結合された陸上の魚囲いが、魚を成長させるために使用される。
【0014】
図2は、本開示の様々な態様による、水中カメラシステムの非限定的な例示的実施形態を示すブロック図である。水中カメラシステム106は、健康および総バイオマスなどの特性を決定するために、魚囲い内の魚を監視するための高精度システムを提供するように設計される。
【0015】
図示のように、水中カメラシステム106は、立体カメラ202と、可変焦点レンズカメラ204と、コンピューティングデバイス206とを含む。いくつかの実施形態では、ハウジング(図示せず)は、水中カメラシステム106の構成要素を囲んでもよく、または水中カメラシステム106のいくつかの構成要素を囲み、水中カメラシステム106の他の構成要素のための外部取り付け位置を提供してもよい。
【0016】
いくつかの実施形態では、立体カメラ202は、画像内のピクセルの深度情報を決定するために視差を使用することができるように、互いに物理的にオフセットされた2つのカメラを含むカメラである。いくつかの実施形態では、限定はしないが、飛行時間センサを含む他の深度検出技術を使用するカメラが、立体カメラ202の代わりに使用され得る。いくつかの実施形態では、可変焦点レンズカメラ204は、限られた焦点深度にわたって高解像度写真を撮影することができるカメラである。焦点深度が限られるので、可変焦点レンズカメラ204は、可変焦点レンズカメラ204からの焦点の距離を調整する機構を有する。一般に、水中での使用に適合された任意の適切な立体カメラ202および可変焦点レンズカメラ204が使用され得る。いくつかの実施形態では、立体カメラ202および可変焦点レンズカメラ204の一方または他方のみが存在してもよい。いくつかの実施形態では、水中カメラシステム106は、立体カメラ202の代わりに、またはそれに加えて、広視野カメラを含み得る。
【0017】
図示のように、コンピューティングデバイス206は、1つ以上のプロセッサ208と、ネットワークインターフェース210と、コンピュータ可読媒体212とを含む。いくつかの実施形態では、プロセッサ208は、1つ以上の市販の汎用コンピュータプロセッサを含み得、その各々は、1つ以上の処理コアを含み得る。いくつかの実施形態では、プロセッサ208はまた、機械学習タスクを効率的に実行するように適合された1つ以上のプロセッサ、および/またはコンピュータビジョンタスクを効率的に実行するように適合された1つ以上のプロセッサを含む、1つ以上の専用コンピュータプロセッサを含み得、限定はしないが、Compute Unified Device Architecture(CUDA)対応グラフィックス処理ユニット(GPU)を含む。
【0018】
いくつかの実施形態では、ネットワークインターフェース210は、水中カメラシステム106から別のコンピューティングデバイスに情報を通信するために、任意の適切な通信技術を実装し得る。例えば、いくつかの実施形態では、ネットワークインターフェース210は、2G、3G、4G、5G、LTE、Wi-Fi、WiMAX、Bluetooth、衛星ベース、または他のワイヤレス通信技術を実装するワイヤレスインターフェースを含み得る。別の例として、いくつかの実施形態では、ネットワークインターフェース210は、Ethernet、USB、Firewire、CAN-BUS、または他の有線通信技術を実装する有線インターフェースを含み得る。いくつかの実施形態では、ネットワークインターフェース210は、複数の通信技術を含み得る。例えば、ネットワークインターフェース210は、水中コンピューティングデバイス206を、ブイまたは表面の他の構成要素上に位置するトランシーバに結合する有線インターフェースを含むことができ、トランシーバは、船上または陸上のコンピューティングデバイスと通信するためにワイヤレス通信技術を使用することができる。いくつかの実施形態では、水中カメラシステム106は、限定はしないが、フラッシュメモリまたはハードドライブを含む、取り外し可能なコンピュータ可読媒体の交換を介してデータを転送し得る。
【0019】
いくつかの実施形態では、コンピュータ可読媒体212は、コンピューティングデバイス206にインストールされ、プロセッサ208による実行に応答して、水中カメラシステム106に様々なエンジンおよび/またはデータストアを提供させるコンピュータ実行可能命令を記憶する。いくつかの実施形態では、コンピュータ可読媒体212は、限定はしないが、ハードディスクドライブを含む、磁気コンピュータ可読媒体を含み得る。いくつかの実施形態では、コンピュータ可読媒体212は、限定はしないが、DVDまたはCD-ROMドライブを含む、光学コンピュータ可読媒体を含み得る。いくつかの実施形態では、コンピュータ可読媒体212は、限定はしないが、フラッシュメモリを含む、電子不揮発性記憶媒体を含み得る。いくつかの実施形態では、コンピュータ実行可能命令の少なくともいくつかは、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、またはコンピュータ実行可能命令のストレージを、論理を実装するための1つ以上の回路と組み合わせる他のデバイスにプログラムされ得る。いくつかの実施形態では、そのようなFPGAまたはASICは、コンピュータ可読媒体212とコンピューティングデバイス206の両方の態様を提供し得る。いくつかの実施形態では、上述のコンピュータ可読媒体の組合せが、例示されたコンピュータ可読媒体212を集合的に提供するために提供され得る。
【0020】
図示のように、コンピュータ可読媒体212は、画像分析エンジン220と、魚測定エンジン222と、魚測定データストア214と、魚重量データストア216と、機械学習モデルデータストア218とを含む。いくつかの実施形態では、画像分析エンジン220は、立体カメラ202および/または可変焦点レンズカメラ204から情報を受信し、処理して、分析のために魚囲い104内の魚の画像をキャプチャする。いくつかの実施形態では、画像分析エンジン220は、画像の前処理、フィルタリング、および/または他の分析も行う。いくつかの実施形態では、画像分析エンジン220は、制御コマンドを立体カメラ202および/または可変焦点レンズカメラ204に送信し得る。いくつかの実施形態では、魚測定エンジン222は、画像分析エンジン220によって処理された画像を受信し、画像内の魚の測定値を生成する。画像分析エンジン220および魚測定エンジン222によって実行されるアクションのさらなる説明が、以下に提供される。
【0021】
いくつかの実施形態では、魚測定データストア214は、魚測定エンジン222および/または画像分析エンジン220によって生成された魚の測定値を記憶する。いくつかの実施形態では、魚重量データストア216は、魚の1つ以上の寸法など、画像分析エンジン220によって決定可能な魚の特性と、魚の重量との間の相関を記憶する。いくつかの実施形態では、機械学習モデルデータストア218は、画像に対して様々なタスクを実行するように訓練された1つ以上の機械学習モデルを記憶する。例えば、機械学習モデルデータストア218は、画像内の魚を検出するように訓練された1つ以上の畳み込みニューラルネットワークを記憶し得る。魚測定データストア214、魚重量データストア216、および機械学習モデルデータストア218によって記憶され、それらから取り出される情報のさらなる説明が、以下に提供される。
【0022】
本明細書で使用するとき、「エンジン」は、C、C++、COBOL、JAVA(商標)、PHP、Perl、HTML、CSS、JavaScript、VBScript、ASPX、Microsoft .NET(商標)、Go、Pythonなどのプログラミング言語で書くことができる、ハードウェア命令またはソフトウェア命令で具現化される論理を指す。エンジンは、実行可能プログラムにコンパイルされてもよく、またはインタープリタ型プログラミング言語で書かれてもよい。ソフトウェアエンジンは、他のエンジンから、またはそれ自体から呼び出され得る。一般に、本明細書で説明するエンジンは、他のエンジンとマージすることができる、またはサブエンジンに分割することができる論理モジュールを指す。エンジンは、任意のタイプのコンピュータ可読媒体またはコンピュータ記憶デバイスに記憶された論理によって実装され、1つ以上の汎用コンピュータに記憶され、実行され得、したがって、エンジンまたはその機能を提供するように構成された専用コンピュータを作成する。エンジンは、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または別のハードウェアデバイスにプログラムされる論理によって実装され得る。
【0023】
魚測定データストア214、魚重量データストア216、および機械学習モデルデータストア218は、コンピュータ可読媒体212上に存在するものとして示されている。いくつかの実施形態では、魚測定データストア214、魚重データストア216、および機械学習モデルデータストア218のうちの1つ以上は、異なるコンピュータ可読媒体または異なるコンピューティングデバイス上に存在し得る。
【0024】
本明細書で使用するとき、「データストア」は、コンピューティングデバイスによるアクセスのためにデータを記憶するように構成された任意の適切なデバイスを指す。データストアの一例は、1つ以上のコンピューティングデバイス上で実行され、高速ネットワークを介してアクセス可能な、高信頼性の高速リレーショナルデータベース管理システム(DBMS)である。データストアの別の例は、キー-値ストアである。しかしながら、クエリに応答して記憶されたデータを迅速かつ確実に提供することができる任意の他の適切な記憶技術および/またはデバイスが使用され得、コンピューティングデバイスは、ネットワークを介してではなくローカルにアクセス可能であり得、またはクラウドベースのサービスとして提供され得る。データストアはまた、ハードディスクドライブ、フラッシュメモリ、RAM、ROM、または任意の他のタイプのコンピュータ可読記憶媒体など、コンピュータ可読記憶媒体上に編成された方法で記憶されたデータを含み得る。当業者は、本開示の範囲から逸脱することなく、本明細書で説明する別個のデータストアを単一のデータストアに組み合わせることができ、かつ/または本明細書で説明する単一のデータストアを複数のデータストアに分離することができることを認識するであろう。
【0025】
図3は、本開示の様々な態様による、魚囲い内の少なくとも1匹の魚のバイオマスを決定する方法の非限定的な例示的実施形態を示すフローチャートである。魚囲い内の魚を、カメラ画像を使用して自動化された方法で測定することは、複数の困難に直面する。例えば、フォーカス/モーションブラーによる画質の低下、他の魚または魚囲いのハードウェアによる魚の遮蔽、不十分な照明、または魚の角度によって、不良な監視データが生成される可能性がある。いくつかの実施形態では、方法300は、魚囲い内のバイオマスの信頼できる推定値を生成するのに十分に正確なデータをカメラ画像から収集するために、品質決定パイプラインおよび一意の測定技術を提供することによって、これらの問題を回避しようと試みる。いくつかの実施形態では、複数の魚の測定値が収集され、魚囲い内の魚の個体数の推定値とともに使用されて、魚囲い内の魚の総バイオマスが決定され得る。
【0026】
開始ブロックから、方法300はブロック302に進み、水中カメラシステム106の立体カメラ202が魚の画像をキャプチャする。いくつかの実施形態では、立体カメラ202によってキャプチャされた画像は、2匹以上の魚を含み得、方法300は、単一の画像において複数の魚を処理することができる。しかしながら、説明を容易にするために、方法300の説明は、画像が、測定されるべき単一の魚を含むと仮定する。立体カメラ202によってキャプチャされた画像は、画像内のピクセルごとに色情報および深度情報を含む。
【0027】
ブロック304において、水中カメラシステム106の画像分析エンジン220は、画像内の魚の位置を決定する。いくつかの実施形態では、画像分析エンジン220は、画像内の魚の位置を定義するバウンディングボックスを決定するために、機械学習モデルデータストア218からの第1の機械学習モデルを使用し得る。いくつかの実施形態では、画像内の魚の位置を決定するために使用される第1の機械学習モデルは、立体画像内の魚を検出するために魚の他の画像上で訓練された畳み込みニューラルネットワークであってもよい。
【0028】
ブロック306において、画像分析エンジン220は、画像内の魚のセグメンテーションマスクを決定する。いくつかの実施形態では、画像分析エンジン220は、セグメンテーションマスクを決定するために、機械学習モデルデータストア218からの第2の機械学習モデルを使用し得る。例えば、画像分析エンジン220は、ブロック304で決定された魚の位置を含む画像の部分をクロップアウトし、クロップアウトされた部分を第2の機械学習モデルへの入力として提供し得る。いくつかの実施形態では、第2の機械学習モデルは、別の畳み込みニューラルネットワークであってもよい。いくつかの実施形態では、限定はしないが、エッジ検出および深度不連続性の検出を含む他の技術を使用して、魚のセグメンテーションマスクを決定または改良することができる。
【0029】
手順ブロック308において、画像分析エンジン220は、セグメンテーションマスクが測定可能な魚に関連付けられているかどうかを決定する。水中カメラからの画像の自動処理に関する問題の1つは、水中カメラによってキャプチャされた画像の多くが、自動分析に不適切であり得ることである。したがって、方法300は、手順ブロック308において、画像がセグメンテーションマスクに関連付けられた魚を測定するのに適しているかどうかを決定するために、任意の適切な手順を使用することができる。このような手順の1つの非限定的な例が図4に示されており、以下で詳細に説明する。
【0030】
次いで、方法300は、決定ブロック310に進み、魚が測定可能であると決定されたかどうかに基づいて決定が行われる。魚が測定可能であると決定されなかった場合、決定ブロック310の結果はNOであり、方法300はブロック302に戻って魚の別の画像をキャプチャする。そうではなく、魚が測定可能であると決定された場合、決定ブロック310の結果はYESであり、方法300は手順ブロック312に進む。
【0031】
手順ブロック312において、水中カメラシステム106の魚測定エンジン222は、画像およびセグメンテーションマスクに基づいて魚の少なくとも1つの寸法を決定し、ブロック314において、魚測定エンジン222は、魚の少なくとも1つの寸法を使用して水中カメラシステム106の魚重量データストア216に照会することによって魚の重量を決定する。いくつかの実施形態では、魚囲い104内のすべての魚が同じであってもよく、したがって、魚重量データストア216は、魚の種を個別に決定する必要なく照会されてもよい。いくつかの実施形態では、複数の異なる種の魚が魚囲い104内に存在してもよく、したがって、照会のために示された魚の種を取得するために、(機械学習モデルデータストア218に記憶された別の機械学習モデルにセグメンテーションマスクを提供するなど)魚の種を決定する追加のステップが実行されてもよい。
【0032】
方法300は、魚重量データストア216に魚重量を照会するために使用することができる任意の寸法(または複数の寸法)を決定し得る。例えば、所与の種の魚の長さおよび/または高さを体重と相関させるデータが利用可能である(および、魚重量データストア216に記憶され得る)。したがって、手順ブロック312で決定された魚の長さおよび/または高さを使用して魚重量データストア216に照会することによって、魚の重量が決定され得る。画像およびセグメンテーションマスクに基づいて魚の少なくとも1つの寸法を取得するための任意の適切な技術が使用され得る。そのような技術の1つの非限定的な例が図6に示されており、以下でさらに詳細に説明する。
【0033】
ブロック316において、魚測定エンジン222は、水中カメラシステム106の魚測定データストア214に魚の重量を追加する。いくつかの実施形態では、魚測定エンジン222はまた、魚の測定された寸法を魚測定データストア214に記憶してもよい。
【0034】
次いで、方法300は、決定ブロック318に進み、魚の十分な測定値が魚測定データストア214に追加されたかどうかに関する決定が行われる。いくつかの実施形態では、魚測定データストア214に追加された魚の測定値の総数は、測定値の閾値数と比較され得る。いくつかの実施形態では、信頼区間が構成され得、信頼区間は、測定値の閾値数を決定するために使用され得る。例えば、魚囲い104が40,000匹の魚を含むことがわかっている場合、95%の信頼区間を使用するように水中カメラシステム106を構成することは、ペン内のすべての魚の真の平均重量がサンプルの平均の5%以内であることを確実にするために、約381の魚測定値を収集する必要があることを意味する。
【0035】
魚囲い104内の魚の統計的に適切なサンプルを構成するためにより多くの測定値が必要な場合、決定ブロック318の結果はNOであり、方法300はブロック302に戻って魚の別の画像をキャプチャする。そうではなく、十分な測定値が魚測定データストア214に記憶されている場合、決定ブロック318の結果はYESであり、方法300はブロック320に進む。
【0036】
ブロック320において、魚測定エンジン222は、魚測定データストア214に記憶された重みを使用して、魚バイオマスを決定する。いくつかの実施形態では、魚測定エンジン222は、記憶された魚測定値の平均を決定し得、総魚バイオマスを決定するために、その平均に魚囲い104内の魚の個体数を乗算し得る。いくつかの実施形態では、魚測定エンジン222は、魚囲い104に加えられたものとしてカウントされた魚の初期数から、死んだことがわかっている魚の数を反映する死亡数、および検出されていない手段(限定はしないが、外部捕食を含む)によって魚囲い104から除去された魚の数を反映する推定される減少数を差し引いたものに基づいて、魚囲い104内の魚の個体数を決定することができる。いくつかの実施形態では、魚測定エンジン222は、決定された魚バイオマスとして、記憶された魚測定値自体の平均を使用し得る。
【0037】
次いで、方法300は、終了ブロックに進み、終了する。図3は、方法300がこの時点で停止するように示しているが、いくつかの実施形態では、方法300は、任意の目的のために、決定された総魚バイオマスを使用し続けることができる。例えば、いくつかの実施形態では、魚測定エンジン222は、総魚バイオマスを養殖管理コンピューティングデバイス102に送信し得、次いで、それは、総魚バイオマスをユーザに提示し得る。いくつかの実施形態では、魚測定エンジン222は、総魚バイオマスを養殖管理コンピューティングデバイス102に送信し得、次いで、それは、総魚バイオマスを使用して自動給餌デバイスを制御し得る。別の例として、魚測定エンジン222は、記憶された魚測定値の平均を送信して、同様の目的のために使用することができる。
【0038】
いくつかの実施形態では、養殖管理コンピューティングデバイス102は、経時的な魚バイオマスの変化率を測定し得、変化率は、魚給餌デバイスを制御するために使用され得る。いくつかの実施形態では、バイオマス推定および成長速度の傾向を使用して、魚囲い104内の個体群のための給餌ペレットサイズおよび/または給餌のタイプを選択することができる。バイオマス推定および成長速度の傾向はまた、総給餌量、給餌供給スタイル、給餌速度、および/または給餌時間を設定するために使用されてもよい。いくつかの実施形態では、バイオマス推定値および/または総魚バイオマスの経時的な変化率は、自動給餌デバイスを制御するためのフィードバックループ機構への入力であってもよい。フィードバックループ機構への他の入力は、水温および水圧(表面下の距離)などの環境データのセットのうちの1つ以上を含み得る。フィードバックループ機構の出力は、所与の日の給餌供給のための進入/非進入を示し得る。
【0039】
図4は、本開示の様々な態様による、画像内のセグメンテーションマスクに関連付けられた魚の測定可能性を決定するための手順の非限定的な例示的実施形態を示すフローチャートである。手順400は、図3の手順ブロック308での使用に適した手順の非限定的な例である。一般に、手順400は、不正確な魚重量推定値をもたらす可能性が高い画像が無視されることを可能にする画質推定パイプラインを提供する。いくつかの実施形態では、手順400は、上述のように、画像分析エンジン220によって魚を含むと決定された画像の切り取られた部分に対して動作する。いくつかの実施形態では、手順400はまた、分析されるべき魚に関連付けられた画像のピクセルを示すセグメンテーションマスク情報を受信してもよい。上述のように、画像は立体カメラ202によってキャプチャされるので、画像は、ピクセルごとに色情報と深度情報の両方を含む。
【0040】
開始ブロックから、手順400はブロック402に進み、画像分析エンジン220は、魚の画像に関連付けられたブラーの量を決定する。限定はしないが、ラプラシアンの変動を決定すること、高速フーリエ変換を計算して、高周波数および低周波数の分布を検査すること、ブラー画像および非ブラー画像上で訓練された機械学習モデルを使用すること、または任意の他の適切な技術を含む、任意の適切な技術を使用して、ブラーが検出され得る。
【0041】
次いで、手順400は、決定ブロック404に進み、画像分析エンジン220によって決定されたブラーの量に基づいて決定が行われる。いくつかの実施形態では、決定は、ブラーの量を、使用されたブラー検出技術に依存するブラーの所定の閾値量と比較することによって行われ得る。
【0042】
ブラーの量とブラーの所定の閾値量との比較が、魚の画像がブレ過ぎていることを示す場合、決定ブロック404の結果はYESであり、手順400はブロック418に進む。そうではなく、ブラーの量とブラーの所定の閾値量との比較が、魚の画像がブレ過ぎていることを示さない場合、決定ブロック404の結果はNOであり、手順400はブロック406に進む。
【0043】
ブロック406において、画像分析エンジン220は、形状分析フィルタを使用してセグメンテーションマスクを処理する。いくつかの実施形態では、形状分析フィルタは、セグメンテーションマスクの形状から特徴を抽出し、それらの特徴を既知の良好なセグメンテーションマスクの訓練セットから抽出された特徴と比較するように訓練される。いくつかの実施形態では、ゼルニケモーメントのセットが、セグメンテーションマスクについて決定され得る。ゼルニケモーメントは、互いに直交する特徴を含み、それによって、情報の冗長性を最小化する。また、ゼルニケモーメントに基づく特徴は、並進およびスケール不変であり、したがって厳密な形状マッチング基準を提供する。いくつかの実施形態では、セグメンテーションマスクは、特徴を抽出する前に、セグメンテーションマスクを回転させること、タイトクロッピングすること、および/または固定寸法にサイズ変更することによって、スケールまたは並進不変性を除去するように標準化され得る。
【0044】
次いで、手順400は、決定ブロック408に進み、形状分析フィルタが、セグメンテーションマスクから抽出された特徴が、既知の良好なセグメンテーションマスクから抽出された特徴と十分に類似していると決定したかどうかに基づいて、決定が行われる。形状分析フィルタが、セグメンテーションマスクが十分に類似していないと決定した場合、決定ブロック408の結果はYESであり、手順400はブロック418に進む。そうではなく、形状分析フィルタが、セグメンテーションマスクが既知の良好なセグメンテーションマスク形状に類似する形状を有すると決定した場合、決定ブロック408の結果はNOであり、手順400はブロック410に進む。
【0045】
魚囲い104内の魚を監視するためにカメラを使用する際の1つの一般的な問題は、魚が成長し、魚囲い104に群がり始めると、1匹の魚の視界が別の魚によって遮蔽されることがますます一般的になっていることである。図5は、本開示の様々な態様による、遮蔽セグメンテーションマスクおよび画像の非限定的な例示的実施形態、ならびに非遮蔽セグメンテーションマスクおよび画像の非限定的な例示的実施形態を示す画像である。第1の画像502では、遮蔽されていない魚508は、その全長がカメラに見える。したがって、対応する非遮蔽セグメンテーションマスク506は、遮蔽されていない魚508全体を示す。第2の画像504では、遮蔽された魚512の一部はカメラに見えるが、カメラに近い遮蔽する魚514は、遮蔽された魚512の前部を覆っているヒレを有する。したがって、対応する遮蔽セグメンテーションマスク510は、遮蔽された魚512の前部で切り捨てられる。とは言え、遮蔽セグメンテーションマスク510の形状は依然として魚のようなものであり、したがって、遮蔽にもかかわらず、ブロック406において適用された形状分析フィルタが、第2の画像504が測定可能でないと決定していない可能性がある。セグメンテーションマスクを測定に適さないものにする画像内の遮蔽を検出するために、追加の分析が実行される必要がある。
【0046】
そのために、図4のブロック410に戻ると、画像分析エンジン220は、セグメンテーションマスク内の領域におけるピクセルの平均深度を決定し、ブロック412において、画像分析エンジン220は、セグメンテーションマスク外の領域におけるピクセルの深度を、セグメンテーションマスク内の領域におけるピクセルの平均深度と比較する。図5に示されるように、画像分析エンジン220は、セグメンテーションマスクの境界から所定数のピクセル外側の領域内のピクセルの平均深度を決定し、セグメンテーションマスクの境界から所定数のピクセル内側(またはセグメンテーションマスク全体)の領域内のピクセルの平均深度を決定することができる。いくつかの実施形態では、画像分析エンジン220は、最初に、セグメンテーションマスクをスライスに(例えば、垂直、水平、または放射状スライスに)区分し、各スライス内のセグメンテーションマスクの境界の内側および外側のピクセルの平均深度を個別に決定することができる。次いで、画像分析エンジン220は、外側部分のピクセルの平均深度を、内側部分のピクセルの平均深度と比較する。魚が遮蔽されていない場合、外側部分(またはスライスごとの外側部分)のピクセルの平均深度は、内側部分のピクセルの平均深度よりも大きい。しかしながら、魚が遮蔽されている場合、外側部分(または少なくとも1つのスライスの外側部分)におけるピクセルの平均深度は、内側部分におけるピクセルの平均深度よりも大きく、魚よりもカメラに近い物体が存在することを意味する。図5では、第1の画像502内の遮蔽されていない魚508のセグメンテーションマスクを囲むすべてのピクセルは、セグメンテーションマスク内のピクセルよりも大きい深度を有するが、遮蔽された魚512の前部のスライス内の遮蔽された魚512のセグメンテーションマスクを囲むピクセルは、セグメンテーションマスク内のピクセルよりも小さい深度を有することになり、したがって、遮蔽する魚514の存在を示す。
【0047】
次いで、手順400は、決定ブロック414に進み、ブロック412で実行された比較を使用して、セグメンテーションマスクによって識別された物体が遮蔽されているかどうかを決定する。物体が遮蔽されていることを比較が示す場合、決定ブロック414の結果はYESであり、手順400はブロック418に進む。ブロック418は、魚の画像が測定に適していないことを示す各決定ブロック結果のターゲットである。したがって、ブロック418において、画像分析エンジン220は、魚が測定可能でないと決定する。次いで、手順400は終了ブロックに進み、終了する。
【0048】
決定ブロック414に戻ると、物体が遮蔽されていないことを比較が示す場合、決定ブロック414の結果はNOであり、手順400はブロック416に進む。ブロック416において、魚の画像に対するすべての試験が実施されており、いずれの試験も、画像内の魚が測定可能でないことを示していない。したがって、ブロック416において、画像分析エンジン220は、魚が測定可能であると決定する。次いで、手順400は終了ブロックに進み、終了する。
【0049】
終了時に、手順400は、魚が測定可能であるかどうかかの決定をその呼び出し側に提供する。
【0050】
図6は、本開示の様々な態様による、画像およびセグメンテーションマスクに基づいて魚の長さを測定するための手順の非限定的な例示的実施形態を示すフローチャートである。手順600は、図3の手順ブロック312での使用に適した技術の一例であり、長さは、決定されるべき少なくとも1つの寸法である。
【0051】
開始ブロックから、手順600はブロック602に進み、画像分析エンジン220は、セグメンテーションマスクの軸に沿ってピクセルをスライスに分離する。例えば、画像分析エンジン220は、セグメンテーションマスクを、所与の数のピクセル幅であるスライスに分離し得る。ピクセルの数は、計算速度と細粒度精度との間のトレードオフを管理するために構成可能であり得る。非限定的な例として、いくつかの実施形態では、画像分析エンジン220は、セグメンテーションマスクを10ピクセル幅のスライスに分離することができるが、任意の他の適切な数のピクセルを使用することができる。
【0052】
ブロック604において、画像分析エンジン220は、各スライスの深度値を決定する。いくつかの実施形態では、画像分析エンジン220は、各スライス内のピクセルの平均深度を決定することができ、平均深度をスライスの深度として使用することができる。いくつかの実施形態では、画像分析エンジン220は、各スライスの中間点におけるピクセルの深度を決定することができ、中間点ピクセルの深度をスライスの深度として使用することができる。いくつかの実施形態では、画像分析エンジン220は、各スライスの各境界におけるピクセルの深度を決定し得る。
【0053】
ブロック606において、画像分析エンジン220は、スライスの深度値に基づいて魚の曲線表現を生成する。すなわち、いくつかの実施形態では、画像分析エンジン220は、カメラに対する3次元空間におけるスライスの各々の位置を決定することができる。
【0054】
ブロック608において、画像分析エンジン220は、ピンホールモデルを使用して曲線表現の長さを決定する。すなわち、画像および深度値は、あたかも画像をキャプチャしたカメラがピンホールカメラであるかのように処理され得、画像分析エンジン220は、魚の曲線表現の3次元空間における実際の長さを計算するために、各スライスの水平幅とともに、カメラからの各スライスの距離を使用し得る。いくつかの実施形態では、画像分析エンジン220はまた、そのピンホールモデルの一部として水中屈折を補償し得る。
【0055】
次いで、手順600は終了ブロックに進み、終了する。終了時に、手順400は、魚の長さのその決定をその呼び出し側に提供する。水平方向ではなく垂直方向にプロセスを単に再配向することによって、同様の技術を使用して魚の高さを決定することができることが理解されるであろう。
【0056】
図7は、本開示の様々な態様による、少なくとも1つの魚モニタリング分析値を決定する方法の非限定的な例示的実施形態を示すフローチャートである。魚の寸法を測定し、寸法を使用して魚の重量およびバイオマスの合計を決定することに加えて、水中カメラシステム106によってキャプチャされた高品質画像は、魚囲い104の管理のための他の分析値を決定する能力を提供する。
【0057】
開始ブロックから、方法700はブロック702に進み、水中カメラシステム106のコンピューティングデバイス206の画像分析エンジン220が、水中カメラシステム106の立体カメラ202によってキャプチャされた画像内の魚を検出する。いくつかの実施形態では、画像分析エンジン220は、画像内の魚を検出するために、限定はしないが、畳み込みニューラルネットワークを含む、機械学習モデルデータストア218に記憶された機械学習モデルを使用し得る。上述のように、立体カメラ202によってキャプチャされる画像は、ピクセルごとに色情報と深度情報の両方を含み得る。いくつかの実施形態では、方法700は、少なくとも1つの画像が分析に適切であるかどうかを決定するために、手順400などの技術を使用することができるが、そのようなステップは図7に示されていない。
【0058】
ブロック704において、画像分析エンジン220は、画像内の深度情報に基づいて、魚と水中カメラシステム106の可変焦点レンズカメラ204との間の距離を決定する。いくつかの実施形態では、画像分析エンジン220は、立体カメラ202と可変焦点レンズカメラ204との相対位置を認識し、この相対位置を画像内の深度情報(立体カメラ202と魚との間の距離を表す)とともに使用して、魚と可変焦点レンズカメラ204との間の距離を決定する。いくつかの実施形態では、可変焦点レンズカメラ204は、限定はしないが、立体カメラ202のレンズ間を含む方法で位置決めされ、それにより、画像内の深度情報は、さらなる処理なしに、可変焦点レンズカメラ204と魚との間の距離として使用することができる。
【0059】
オプションのブロック706において、画像分析エンジン220は、魚の現在の位置および魚の運動挙動に基づいて、魚の将来の位置を予測する。いくつかの実施形態では、画像分析エンジン220は、魚の動きおよび/または向きを決定するために、魚の画像または複数の連続画像のいずれかにおいて、魚の動きおよび/または向きの指示を使用し得る。このブロックは、いくつかの実施形態では、ゆっくり動く魚の単一の画像が分析され得、魚の予測される動きは、分析のために重要ではない場合があるので、オプションとして図示され、説明される。
【0060】
ブロック708において、画像分析エンジン220は、可変焦点レンズカメラ204の焦点を調整する。いくつかの実施形態では、画像分析エンジン220は、ブロック704からの深度情報(または処理された深度情報)に一致するように、可変焦点レンズカメラ204の焦点を調整し得る。いくつかの実施形態では、画像分析エンジン220は、魚の予測される動きに追従するように、可変焦点レンズカメラ204の焦点を調整し得る。いくつかのそのような実施形態では、画像分析エンジン220は、立体カメラ202からの深度情報を連続的に測定し、魚の予測された動きに基づいて可変焦点レンズカメラ204の焦点を連続的に調整し得る。いくつかの実施形態では、魚の予測される動きは、魚の動きを表すベクトル、魚の向き、および魚の体の動きのうちの1つ以上を含み得る。
【0061】
ブロック710において、画像分析エンジン220は、可変焦点レンズカメラ204を使用して魚の焦点画像をキャプチャし、ブロック712において、画像分析エンジン220は、焦点画像に少なくとも部分的に基づいて、少なくとも1つの魚モニタリング分析値を決定する。可変焦点レンズカメラ204の焦点は、魚の焦点画像をキャプチャするように調整されているので、魚の高解像度ビューを取得することができ、それから魚の状態の詳細な分析を決定することができる。
【0062】
焦点画像および予測された動きに基づいて決定することができる魚モニタリング分析値の一例は、皮膚病、ウミジラミ、またはアメーバ性鰓病の有無である。可変焦点レンズカメラ204の焦点を魚に合わせすることによって、魚の皮膚の高解像度画像をキャプチャすることができるので、これらの状態は、限定はしないが、ウミジラミ、皮膚病、またはアメーバ性鰓病の徴候を検出するように訓練された機械学習モデルを含む、任意の適切な技術を使用して、焦点画像から魚において特定することができる。
【0063】
次いで、方法700は、終了ブロックに進み、終了する。図7は、この時点で終了するように方法700を示すが、いくつかの実施形態では、魚モニタリング分析値を使用して、魚囲い104の動作を制御することができる。例えば、いくつかの実施形態では、魚モニタリング分析値は、ユーザがアクションをとることができるように、ユーザに提示するために養殖管理コンピューティングデバイス102に送信され得る。別の例として、いくつかの実施形態では、魚モニタリング分析値は、魚囲い104の機能を自動的に制御するために、養殖管理コンピューティングデバイス102によって使用され得る。例えば、ウミジラミが検出された場合、H202の分配、ウミジラミを防ぐための飼料への添加物の提供、またはウミジラミを食べる他の魚の導入など、ウミジラミに対する処置を提供され得る。
【0064】
図8は、本開示の様々な態様による、少なくとも1つの魚モニタリング分析値を決定する方法の非限定的な例示的実施形態を示すフローチャートである。いくつかの魚モニタリング分析値は、焦点画像が取得されなくても、魚の運動挙動に基づいて決定することができる。
【0065】
開始ブロックから、方法800はブロック802に進み、水中カメラシステム106のコンピューティングデバイス206の画像分析エンジン220が、水中カメラシステム106のカメラによってキャプチャされた少なくとも1つの画像内の魚を検出する。いくつかの実施形態では、画像分析エンジン220は、画像内の魚を検出するために、限定はしないが、畳み込みニューラルネットワークを含む、機械学習モデルデータストア218に記憶された機械学習モデルを使用し得る。画像分析エンジン220は、立体カメラ202または可変焦点レンズカメラ204によってキャプチャされた1つ以上の画像を使用することができる。いくつかの実施形態では、方法800は、少なくとも1つの画像が分析に適切であるかどうかを決定するために、手順400などの技術を使用することができるが、そのようなステップは図8に示されていない。
【0066】
ブロック804において、画像分析エンジン220は、魚の運動挙動を決定する。運動挙動は、魚のベクトルおよび/または向きを含み得る。いくつかの実施形態では、画像分析エンジン220は、魚の動きおよび/または向きを決定するために、魚の画像または複数の連続画像のいずれかにおいて、魚の動きおよび/または向きの指示を使用し得る。
【0067】
ブロック806において、画像分析エンジン220は、魚の運動挙動に少なくとも部分的に基づいて、少なくとも1つの魚モニタリング分析値を決定する。
【0068】
運動挙動に基づいて決定することができる魚モニタリング分析値の一例は、吸虫感染の有無である。いくつかの魚種では、吸虫感染によって、泳いでいる間に魚が向きを変えて、網またはロープなど魚囲い104の構造物にこすりつけ、魚が逆さまに泳ぐことがある。魚の逆向きおよび/または魚を水中構造物と接触させる動きを検出することで、吸虫感染の存在を示すことができる。
【0069】
運動挙動に基づいて決定され得る魚モニタリング分析値の別の例は、限定はしないが、マスおよびスチールヘッドを含む、浮袋を有する魚種におけるストレスである。収縮した浮袋は、魚が水中に潜ったままであり、浮力を制御するために浮袋に空気を再充填するために表面に到達することができない場合に生じることがある。運動挙動は、予測された動きが、魚が横に泳いでいる、および/または、浮力がもはや浮袋によって補償されないので、嗜眠の徴候を示しているとき、そのようなストレスの存在を示すことができる。
【0070】
運動挙動に基づいて決定することができる魚モニタリング分析値のさらに別の例は、魚の飽食である。いくつかの魚種は、飽満になると泳ぎ方および群泳パターンを変えることが知られていることが観察されている。したがって、飽食を魚モニタリング分析値として決定するために、運動挙動を、飽食を示す既知の泳ぎ方および群泳パターンと比較することができる。
【0071】
次いで、方法800は、終了ブロックに進み、終了する。図8は、この時点で終了するように方法800を示すが、いくつかの実施形態では、魚モニタリング分析値を使用して、魚囲い104の動作を制御することができる。例えば、いくつかの実施形態では、魚モニタリング分析値は、ユーザがアクションをとることができるように、ユーザに提示するために養殖管理コンピューティングデバイス102に送信され得る。別の例として、いくつかの実施形態では、魚モニタリング分析値は、魚囲い104の機能を自動的に制御するために、養殖管理コンピューティングデバイス102によって使用され得る。例えば、吸虫感染が検出された場合、Hディスペンサを作動させて、例えば数秒または数分など、感染に対処するのに有効な時間量の間、Hの希釈濃度で魚囲い104を浸すことができる。別の例として、浮袋に関連するストレスが検出された場合、魚がそれらの浮袋を再び満たすことを可能にするために、浸水した魚囲い104が表面に出されてもよく、または、魚囲い104が浸水している間に提供される人工気泡の機能性が検証または作動されてもよい。最後の例として、飽食の検出の有無を使用して、給餌ディスペンサを制御することができる。
【0072】
図9は、本開示のコンピューティングデバイスとして使用するのに適した例示的なコンピューティングデバイス900の態様を示すブロック図である。複数の異なるタイプのコンピューティングデバイスが上述されたが、例示的なコンピューティングデバイス900は、多くの異なるタイプのコンピューティングデバイスに共通の様々な要素を説明する。図9は、ネットワーク上のデバイスとして実装されるコンピューティングデバイスを参照して説明されるが、以下の説明は、サーバ、パーソナルコンピュータ、携帯電話、スマートフォン、タブレットコンピュータ、組み込みコンピューティングデバイス、および本開示の実施形態の一部を実装するために使用され得る他のデバイスに適用可能である。コンピューティングデバイスのいくつかの実施形態は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他のカスタマイズされたデバイスにおいて実装され得るか、またはそれを含み得る。さらに、コンピューティングデバイス900は、現在利用可能な、またはまだ開発されていない任意の数のデバイスのうちの任意の1つであり得ることを、当業者などは認識するであろう。
【0073】
その最も基本的な構成では、コンピューティングデバイス900は、通信バス906によって接続された少なくとも1つのプロセッサ902およびシステムメモリ904を含む。デバイスの正確な構成およびタイプに応じて、システムメモリ904は、読取り専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、EEPROM、フラッシュメモリ、または同様のメモリ技術などの揮発性または不揮発性メモリであり得る。当業者などは、システムメモリ904が、通常、プロセッサ902によって即座にアクセス可能であり、かつ/または現在操作されているデータおよび/またはプログラムモジュールを記憶することを認識するであろう。この点に関して、プロセッサ902は、命令の実行をサポートすることによって、コンピューティングデバイス900の計算センタとして働くことができる。
【0074】
図9にさらに示されるように、コンピューティングデバイス900は、ネットワークを介して他のデバイスと通信するための1つ以上の構成要素を備えるネットワークインターフェース910を含み得る。本開示の実施形態は、共通ネットワークプロトコルを使用して通信を実行するためにネットワークインターフェース910を利用する基本サービスにアクセスすることができる。ネットワークインターフェース910はまた、Wi-Fi、2G、3G、LTE、WiMAX、Bluetooth、Bluetooth低エネルギーなど、1つ以上のワイヤレス通信プロトコルを介して通信するように構成されたワイヤレスネットワークインターフェースを含み得る。当業者によって理解されるように、図9に示されるネットワークインターフェース910は、コンピューティングデバイス900の特定の構成要素に関して上で説明および図示された1つ以上のワイヤレスインターフェースまたは物理通信インターフェースを表し得る。
【0075】
図9に示す例示的な実施形態では、コンピューティングデバイス900は、記憶媒体908も含む。しかしながら、サービスは、ローカル記憶媒体にデータを持続するための手段を含まないコンピューティングデバイスを使用してアクセスされ得る。したがって、図9に示す記憶媒体908は、記憶媒体908がオプションであることを示すために破線で表されている。いずれにせよ、記憶媒体908は、揮発性または不揮発性、取り外し可能または取り外し不可能であり得、限定はしないが、ハードドライブ、ソリッドステートドライブ、CD ROM、DVD、または他のディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージなど、情報を記憶することが可能な任意の技術を使用して実装され得る。
【0076】
プロセッサ902、システムメモリ904、通信バス906、記憶媒体908、およびネットワークインターフェース910を含むコンピューティングデバイスの適切な実装形態は、知られており、市販されている。説明を容易にするために、また、特許請求される主題の理解にとって重要ではないので、図9は、多くのコンピューティングデバイスの典型的な構成要素のいくつかを示していない。この点に関して、コンピューティングデバイス900は、キーボード、キーパッド、マウス、マイクロフォン、タッチ入力デバイス、タッチスクリーン、タブレットなどの入力デバイスを含み得る。そのような入力デバイスは、RF、赤外線、シリアル、パラレル、Bluetooth、Bluetooth低エネルギー、USB、またはワイヤレスもしくは物理的接続を使用する他の適切な接続プロトコルを含む、有線またはワイヤレス接続によってコンピューティングデバイス900に結合され得る。同様に、コンピューティングデバイス900はまた、ディスプレイ、スピーカ、プリンタなどの出力デバイスを含み得る。これらのデバイスは、当技術分野で周知であるため、本明細書ではさらに図示または説明しない。
図1
図2
図3
図4
図5
図6
図7
図8
図9
【国際調査報告】