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

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

▶ ソフトバンクモバイル株式会社の特許一覧 ▶ ニューラルエックス インコーポレイテッドの特許一覧

特表2024-532032情報処理方法、非一時的なコンピュータ可読記憶媒体及び情報処理装置
<>
  • 特表-情報処理方法、非一時的なコンピュータ可読記憶媒体及び情報処理装置 図1
  • 特表-情報処理方法、非一時的なコンピュータ可読記憶媒体及び情報処理装置 図2
  • 特表-情報処理方法、非一時的なコンピュータ可読記憶媒体及び情報処理装置 図3
  • 特表-情報処理方法、非一時的なコンピュータ可読記憶媒体及び情報処理装置 図4
  • 特表-情報処理方法、非一時的なコンピュータ可読記憶媒体及び情報処理装置 図5
  • 特表-情報処理方法、非一時的なコンピュータ可読記憶媒体及び情報処理装置 図6
  • 特表-情報処理方法、非一時的なコンピュータ可読記憶媒体及び情報処理装置 図7
  • 特表-情報処理方法、非一時的なコンピュータ可読記憶媒体及び情報処理装置 図8
  • 特表-情報処理方法、非一時的なコンピュータ可読記憶媒体及び情報処理装置 図9
  • 特表-情報処理方法、非一時的なコンピュータ可読記憶媒体及び情報処理装置 図10
  • 特表-情報処理方法、非一時的なコンピュータ可読記憶媒体及び情報処理装置 図11
  • 特表-情報処理方法、非一時的なコンピュータ可読記憶媒体及び情報処理装置 図12
  • 特表-情報処理方法、非一時的なコンピュータ可読記憶媒体及び情報処理装置 図13
  • 特表-情報処理方法、非一時的なコンピュータ可読記憶媒体及び情報処理装置 図14
  • 特表-情報処理方法、非一時的なコンピュータ可読記憶媒体及び情報処理装置 図15
  • 特表-情報処理方法、非一時的なコンピュータ可読記憶媒体及び情報処理装置 図16
  • 特表-情報処理方法、非一時的なコンピュータ可読記憶媒体及び情報処理装置 図17
  • 特表-情報処理方法、非一時的なコンピュータ可読記憶媒体及び情報処理装置 図18
  • 特表-情報処理方法、非一時的なコンピュータ可読記憶媒体及び情報処理装置 図19
  • 特表-情報処理方法、非一時的なコンピュータ可読記憶媒体及び情報処理装置 図20
  • 特表-情報処理方法、非一時的なコンピュータ可読記憶媒体及び情報処理装置 図21
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-09-05
(54)【発明の名称】情報処理方法、非一時的なコンピュータ可読記憶媒体及び情報処理装置
(51)【国際特許分類】
   G06T 7/00 20170101AFI20240829BHJP
   G06T 13/40 20110101ALI20240829BHJP
   G06N 3/004 20230101ALI20240829BHJP
【FI】
G06T7/00 350C
G06T13/40
G06N3/004
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023562569
(86)(22)【出願日】2023-07-28
(85)【翻訳文提出日】2023-10-10
(86)【国際出願番号】 JP2023027883
(87)【国際公開番号】W WO2024024981
(87)【国際公開日】2024-02-01
(31)【優先権主張番号】17/875,428
(32)【優先日】2022-07-28
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】501440684
【氏名又は名称】ソフトバンク株式会社
(71)【出願人】
【識別番号】523384702
【氏名又は名称】ニューラルエックス インコーポレイテッド
【氏名又は名称原語表記】NeuralX Inc.
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】石若 裕子
(72)【発明者】
【氏名】仲田 真輝
【テーマコード(参考)】
5B050
5L096
【Fターム(参考)】
5B050AA03
5B050BA08
5B050BA09
5B050BA18
5B050BA20
5B050CA01
5B050EA24
5B050EA26
5B050FA02
5B050FA05
5B050FA12
5B050FA17
5L096CA02
5L096DA02
5L096FA66
5L096FA67
5L096FA69
5L096FA77
5L096HA11
5L096KA04
(57)【要約】
【課題】複数の対象物に関する情報を精度よく推定することを可能とする。
【解決手段】本願に係る情報処理方法は、コンピュータが実行する情報処理方法であって、3次元のシミュレーション空間に位置する複数の対象物を仮想カメラにより撮像した2次元のシミュレーション画像を取得する取得工程と、シミュレーション画像における複数の対象物の重なり度合いを示す情報を視覚的に表示するシミュレーション画像を生成する生成工程と、を含む。
【選択図】図1
【特許請求の範囲】
【請求項1】
コンピュータが実行する情報処理方法であって、
3次元のシミュレーション空間に位置する複数の対象物を仮想カメラにより撮像した2次元のシミュレーション画像を取得する取得工程と、
前記シミュレーション画像における前記複数の対象物の重なり度合いを示す情報を視覚的に表示する前記シミュレーション画像を生成する生成工程と、
を含む情報処理方法。
【請求項2】
前記生成工程は、
前記3次元のシミュレーション空間における前記複数の対象物それぞれの位置座標、および、前記仮想カメラの位置座標に基づいて、前記シミュレーション画像における前記複数の対象物の重なり度合いを示す情報を算出する、
請求項1に記載の情報処理方法。
【請求項3】
前記生成工程は、
前記シミュレーション画像を機械学習モデルに入力した場合に、当該シミュレーション画像の生成に用いられたパラメータ情報に基づいて生成された正解データまたは当該正解データと対応する情報を出力するように前記機械学習モデルを学習させる、
請求項1に記載の情報処理方法。
【請求項4】
前記生成工程によって生成された学習済みの前記機械学習モデルを用いて、前記複数の対象物を撮像した撮像画像から前記撮像画像に含まれる前記複数の対象物に関する情報を推定する推定工程をさらに備える、
請求項1~3のいずれか1つに記載の情報処理方法。
【請求項5】
前記推定工程は、
前記複数の対象物に関する情報として、前記撮像画像に含まれる前記複数の対象物の数を推定する、
請求項4に記載の情報処理方法。
【請求項6】
前記対象物は、魚であり、前記複数の対象物は、前記魚の群れに含まれる複数の魚である、
請求項1または2に記載の情報処理方法。
【請求項7】
魚の生物学的な特性に関する内的パラメータの値と、前記魚の周囲の環境の特性に関する外的パラメータの値と、前記魚が他の魚に対してとる行動である群行動の特性に関する群れパラメータの値と、前記魚が所在する水中における水の色の特性に関する色パラメータの値と、を取得する取得工程と、
前記取得工程によって取得された前記内的パラメータの値、前記外的パラメータの値、前記群れパラメータの値、および前記色パラメータの値に基づいて、前記魚の群れに属する各魚の行動を含むシミュレーション画像を生成する生成工程と、
を含む情報処理方法。
【請求項8】
前記生成工程は、
前記内的パラメータの値、前記外的パラメータの値、前記群れパラメータの値、および前記色パラメータの値に基づいて、前記魚の群れに属する各魚の行動を制御することで、前記シミュレーション画像を生成する、
請求項7に記載の情報処理方法。
【請求項9】
前記生成工程は、
前記色パラメータの値として、前記魚の群れに属する各魚が所在する生け簀の水中における葉緑素の濃度に基づいて、前記シミュレーション画像を生成する、
請求項7または8に記載の情報処理方法。
【請求項10】
前記生成工程は、
前記色パラメータの値として、前記魚の群れに属する各魚が所在する生け簀の水中における浮遊物の濃度に基づいて、前記シミュレーション画像を生成する、
請求項7または8に記載の情報処理方法。
【請求項11】
前記生成工程は、
前記色パラメータの値として、前記魚の群れに属する各魚が所在する生け簀の水中を照らす太陽光の強度、および、当該生け簀の水面からの深さに基づいて、前記シミュレーション画像を生成する、
請求項7または8に記載の情報処理方法。
【請求項12】
前記生成工程は、
前記色パラメータの値として、前記魚の群れに属する各魚が所在する生け簀の水面から仮想カメラの位置の深さまでの距離に基づいて、前記シミュレーション画像を生成する、
請求項7または8に記載の情報処理方法。
【請求項13】
前記生成工程は、
前記シミュレーション画像を機械学習モデルに入力した場合に、当該シミュレーション画像の生成に用いられたパラメータ情報に基づいて生成された正解データまたは当該正解データと対応する情報を出力するように前記機械学習モデルを学習させる、
請求項7または8に記載の情報処理方法。
【請求項14】
前記生成工程によって生成された学習済みの前記機械学習モデルを用いて、前記魚の群れを撮像した撮像画像から前記撮像画像に含まれる前記魚の群れに関する情報を推定する推定工程をさらに備える、
請求項13に記載の情報処理方法。
【請求項15】
3次元のシミュレーション空間に位置する複数の対象物を仮想カメラにより撮像した2次元のシミュレーション画像を取得する取得手順と、
前記シミュレーション画像における前記複数の対象物の重なり度合いを示す情報を視覚的に表示する前記シミュレーション画像を生成する生成手順と、
をコンピュータに実行させる情報処理プログラムが保存された非一時的なコンピュータ可読記憶媒体。
【請求項16】
魚の生物学的な特性に関する内的パラメータの値と、前記魚の周囲の環境の特性に関する外的パラメータの値と、前記魚が他の魚に対してとる行動である群行動の特性に関する群れパラメータの値と、前記魚が所在する水中における水の色の特性に関する色パラメータの値と、を取得する取得手順と、
前記取得手順によって取得された前記内的パラメータの値、前記外的パラメータの値、前記群れパラメータの値、および前記色パラメータの値に基づいて、前記魚の群れに属する各魚の行動を含むシミュレーション画像を生成する生成手順と、
をコンピュータに実行させる情報処理プログラムが保存された非一時的なコンピュータ可読記憶媒体。
【請求項17】
3次元のシミュレーション空間に位置する複数の対象物を仮想カメラにより撮像した2次元のシミュレーション画像を取得する取得部と、
前記シミュレーション画像における前記複数の対象物の重なり度合いを示す情報を視覚的に表示する前記シミュレーション画像を生成する生成部と、
を備える情報処理装置。
【請求項18】
魚の生物学的な特性に関する内的パラメータの値と、前記魚の周囲の環境の特性に関する外的パラメータの値と、前記魚が他の魚に対してとる行動である群行動の特性に関する群れパラメータの値と、前記魚が所在する水中における水の色の特性に関する色パラメータの値と、を取得する取得部と、
前記取得部によって取得された前記内的パラメータの値、前記外的パラメータの値、前記群れパラメータの値、および前記色パラメータの値に基づいて、前記魚の群れに属する各魚の行動を含むシミュレーション画像を生成する生成部と、
を備える情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理方法、非一時的なコンピュータ可読記憶媒体及び情報処理装置に関する。
【背景技術】
【0002】
深層学習(Deep Learning)は、コンピュータビジョンや音声認識の分野で素晴らしい結果を出している。例えば、養殖場では生簀内の魚の群れの尾数のカウントが課題となっているが、深層学習の手法を用いれば、このような問題が改善されると期待される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】国際公開第2019/045091号
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、深層学習による解析の精度はトレーニングデータに依存する。すなわち、精度の高い解析結果を得るためには、多様なパターンを網羅した大量のトレーニングデータを機械学習モデルに学習させる必要がある。例えば、コンピュータビジョンを用いて生簀内の魚の群れを撮影した撮影画像から魚の群れに関する情報(例えば、尾数)を精度よく推定するには、魚の周囲の環境、魚種や尾数などの多様な条件の組み合わせを網羅した大量のトレーニングデータを機械学習モデルに学習させる必要がある。
【0005】
しかしながら、多様なパターンを網羅した大量のトレーニングデータを作成することは容易ではない。例えば、多様な条件の組み合わせを網羅した膨大な数の画像それぞれに対して、正解データを人手によって付与することで大量のトレーニングデータを作成するのは非常に困難である。
【0006】
このように、多様なパターンを網羅した大量のトレーニングデータを得ることができない場合、機械学習モデルに質の高い学習をさせることができないため、実際の撮影画像から複数の対象物に関する情報を精度よく推定することが難しい場合がある。
【0007】
そこで、本開示では、複数の対象物に関する情報を精度よく推定することを可能とすることができる情報処理方法、非一時的なコンピュータ可読記憶媒体及び情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、従来技術の課題を少なくとも部分的に解決することを目的とする。
【0009】
実施形態の一態様によれば、本願に係る情報処理方法は、コンピュータが実行する情報処理方法であって、3次元のシミュレーション空間に位置する複数の対象物を仮想カメラにより撮像した2次元のシミュレーション画像を取得する取得工程と、前記シミュレーション画像における前記複数の対象物の重なり度合いを示す情報を視覚的に表示する前記シミュレーション画像を生成する生成工程と、を含む。
【0010】
上記ならびにその他の本発明の目的、特徴、効果および技術的・産業的意義については、添付図面と合わせて本発明の以下の好適な実施例の詳細な説明を参照すれば、理解が深まるであろう。
【図面の簡単な説明】
【0011】
図1図1は、実施形態に係る情報処理装置の構成例を示す図である。
図2図2は、実施形態に係るシミュレーション画像の生成に用いられる9つのパラメータの概要を説明するための図である。
図3図3は、水温と魚の行動との関係について説明するための図である。
図4図4は、照度と魚の行動との関係について説明するための図である。
図5図5は、生け簀の網と魚の行動との関係について説明するための図である。
図6図6は、魚が他の魚に対して群行動をとる範囲について説明するための図である。
図7図7は、魚の体長と魚の速度との関係について説明するための図である。
図8図8は、魚のマイスナー細胞の反応速度と魚の意思決定に要する時間の長さおよび時間間隔との関係について説明するための図である。
図9図9は、魚の3次元CG画像および3次元バウンディングボックスを示す図である。
図10図10は、魚の生け簀の3次元CG画像を示す図である。
図11図11は、魚の状態を決定する有限状態マシーンを示す図である。
図12図12は、実施形態に係る葉緑素の濃度を示すパラメータを変化させたシミュレーション画像の一例を示す図である。
図13図13は、実施形態に係る浮遊物の濃度を示すパラメータを変化させたシミュレーション画像の一例を示す図である。
図14図14は、実施形態に係る太陽光の強度、および、生け簀の水面からの深さを示すパラメータを変化させたシミュレーション画像の一例を示す図である。
図15図15は、実施形態に係る水面から仮想カメラの位置の深さまでの距離を示すパラメータを変化させたシミュレーション画像の一例を示す図である。
図16図16は、実施形態に係るシミュレーション画像に含まれる各魚の重なり度合いを示すラベルを含むトレーニングデータの一例を示す図である。
図17図17は、実施形態に係る機械学習モデルの一例を示す図である。
図18図18は、撮影画像の推定結果を出力した画面の一例を示す図である。
図19図19は、撮影画像の推定結果を出力した画面の一例を示す図である。
図20図20は、撮影画像の推定結果を出力した画面の一例を示す図である。
図21図21は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0012】
以下に、本願に係る情報処理方法、非一時的なコンピュータ可読記憶媒体及び情報処理装置を実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理方法、非一時的なコンピュータ可読記憶媒体及び情報処理装置が限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0013】
(実施形態)
〔1.はじめに〕
【0014】
近年、魚の養殖は、地球の食糧問題を解決する手段として注目されている。魚の養殖によって高品質な魚を供給するには、給餌(魚に対する餌やり)と関わりが深い魚の尾数を正確に知ることが重要である。
【0015】
しかしながら、養殖場の水中という特殊な環境下では、地上のIT技術を活用することが難しい場合がある。そのため、従来は、人が網で一部の魚をすくい上げて計量した後に、目視で尾数を数えていた。この方法は、魚への負担が大きいうえ、正確さに欠けるといった問題がある。
【0016】
そこで近年、コンピュータビジョンを用いて生簀内の魚の群れを撮影した撮影画像から魚の群れの尾数を自動でカウントする方法が注目を浴びている。具体例には、撮影画像から魚の群れの尾数を推定するよう画像認識用の機械学習モデルを学習する方法である。しかしながら、機械学習モデルを用いて撮影画像から尾数を精度よく推定するには、魚の周囲の環境(例えば、季節、時刻、天気、水温、照度、水の汚れ具合など)や魚の生物学的な特性(例えば、魚種、魚の大きさ、魚の速度、尾数など)等の多様な条件の組み合わせを網羅した大量のトレーニングデータを機械学習モデルに学習させる必要がある。
【0017】
しかしながら、上述したような多様な条件の組み合わせを網羅した大量のトレーニングデータを作成することは容易ではない。例えば、多様な条件の組み合わせを網羅した膨大な数の画像それぞれに対して、正解データを人手によって付与することで大量のトレーニングデータを作成するのは非常に困難である。また、機械学習モデルを用いて撮影画像から尾数を精度よく推定するには、トレーニングデータの質も重要である。ところが、正解データを人手によって付与する場合、トレーニングデータの質が必ずしも高いとは言えない場合がある。
【0018】
例えば、3次元の生簀内を泳いでいる魚の群れを撮影した撮影画像では、カメラに近い側に位置する魚(以下、手前に位置する魚ともいう)と、その魚よりも奥に位置する魚(以下、奥に位置する魚ともいう)とが重なる領域が含まれる場合がある。このように、手前に位置する魚と奥に位置する魚とが重なる領域を含む撮影画像では、奥に位置する魚の体の一部が隠れるため、撮影画像に含まれる魚の位置を人の目で見て特定することが難しい場合がある。そのため、手前に位置する魚と奥に位置する魚とが重なる領域を含む撮影画像に対して、例えば、バウンディングボックスで魚の位置を囲むアノテーション作業を人手によって行う場合、正確な魚の位置を示すアノテーションを付すことは難しい場合がある。また、撮影画像に含まれる魚の位置を人の目で見て特定することが難しいため、作業者によってアノテーション結果が異なるという問題も生じる。
【0019】
これに対し、実施形態に係る情報処理装置は、3次元のシミュレーション空間に位置する複数の魚を仮想カメラにより撮像した2次元のシミュレーション画像における複数の魚の重なり度合いを示す情報を視覚的に表示するシミュレーション画像を生成する(後述する図16参照)。
【0020】
このように、実施形態に係る情報処理装置は、3次元空間(例えば、生簀内)に実在する魚の群れを撮影した撮影画像ではなく、3次元のシミュレーション空間に位置する魚の群れを仮想カメラにより撮像したシミュレーション画像を用いる。これにより、情報処理装置は、シミュレーション画像における複数の魚の重なり度合いを示す情報を自動で算出することができる。また、情報処理装置は、複数の魚の重なり度合いを示す情報をシミュレーション画像にアノテーションとして付加することができるので、正確で質の良いトレーニングデータを容易に生成することができる。これにより、情報処理装置は、例えば、撮像画像から魚の群れに関する情報(例えば、尾数)を推定する機械学習モデルに対して質の良いトレーニングデータを大量に学習させることを可能にする。すなわち、情報処理装置は、質の良いトレーニングデータを大量に学習させることにより、例えば、撮像画像から魚の群れに関する情報(例えば、尾数)を推定する機械学習モデルの推定精度を向上させることができる。したがって、情報処理装置は、魚の群れに関する情報を精度よく推定することを可能とすることができる。
【0021】
〔2.情報処理装置の構成〕
【0022】
図1は、実施形態に係る情報処理装置100の構成例を示す図である。情報処理装置100は、通信部110と、記憶部120と、入力部130と、出力部140と、制御部150とを有する。
【0023】
(通信部110)
【0024】
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークと有線または無線で接続され、例えば、魚を管理する管理者によって利用される端末装置との間で情報の送受信を行う。
【0025】
(記憶部120)
【0026】
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。具体的には、記憶部120は、シミュレーションに用いられる各種プログラム(情報処理プログラムの一例)を記憶する。また、記憶部120は、シミュレーションに用いられる各種パラメータの値を記憶する。
【0027】
図2は、実施形態に係るシミュレーション画像の生成に用いられる9つのパラメータの概要を説明するための図である。実施形態に係る情報処理装置は、図2に示す9つのパラメータの値に基づいて、魚の群れに属する各魚の行動を含むシミュレーション画像を生成する。図2の上段は、3種類の群行動の特性(整列、結合、分離)に関する群れパラメータを示す。また、図2の中段は、水温、照度、生け簀の網等に関する外的パラメータを示す。また、図2の下段は、魚が群行動をとる範囲、魚の大きさと移動速度の関係、および魚の意思決定に要する時間といった内的パラメータを示す。なお、9つのパラメータの詳細については後述する。
【0028】
このように、情報処理装置100は、魚の生物学的な特性に関する情報、魚の周囲の環境に関する情報、および魚の群行動の特性に関する情報に基づいて魚の群れの行動を含むシミュレーション画像を生成するため、実際の生け簀に所在する魚の群れの行動を精度よく再現することができる。また、情報処理装置100は、シミュレーション画像の生成に用いる複数のパラメータの値を変化させることで、多様なパターンを網羅したシミュレーション画像を大量かつ容易に生成することができる。また、情報処理装置100は、シミュレーション画像の生成に用いられたパラメータの値を正解データとして活用することができるので、正解データを人手によって付与する場合と比べて、質の良いトレーニングデータを大量にかつ容易に生成することができる。
【0029】
これにより、情報処理装置100は、例えば、撮像画像から魚の群れに関する情報(例えば、尾数)を推定する機械学習モデルに対して質の良いトレーニングデータを大量に学習させることを可能にする。すなわち、情報処理装置100は、質の良いトレーニングデータを大量に学習させることにより、例えば、撮像画像から魚の群れに関する情報(例えば、尾数)を推定する機械学習モデルの推定精度を向上させることができる。したがって、情報処理装置100は、魚の群れに関する情報を精度よく推定することを可能とすることができる。
【0030】
(入力部130)
【0031】
入力部130は、利用者から各種操作が入力される。例えば、入力部130は、タッチパネル機能により表示面(例えば出力部140)を介して利用者からの各種操作を受け付けてもよい。また、入力部130は、情報処理装置100に設けられたボタンや、情報処理装置100に接続されたキーボードやマウスからの各種操作を受け付けてもよい。
【0032】
(出力部140)
【0033】
出力部140は、例えば、液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイ等によって実現される表示画面であり、各種情報を表示するための表示装置である。出力部140は、制御部150の制御に従って、各種情報を表示する。なお、情報処理装置100にタッチパネルが採用される場合には、入力部130と出力部140とは一体化される。また、以下の説明では、出力部140を画面と記載する場合がある。
【0034】
(制御部150)
【0035】
制御部150は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置100内部の記憶装置に記憶されている各種プログラム(情報処理プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部150は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0036】
制御部150は、取得部151と、生成部152と、推定部153と、出力制御部154を機能部として有し、以下に説明する情報処理の作用を実現または実行してよい。なお、制御部150の内部構成は、図1に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、各機能部は、制御部150の機能を示したものであり、必ずしも物理的に区別されるものでなくともよい。
【0037】
(取得部151)
【0038】
取得部151は、魚の生物学的な特性に関する内的パラメータの値と、魚の周囲の環境の特性に関する外的パラメータの値と、魚が他の魚に対してとる行動である群行動の特性に関する群れパラメータの値と、を取得する。具体的には、取得部151は、入力部130を介して利用者によって入力された内的パラメータの値と、外的パラメータの値と、群れパラメータの値と、を取得する。
【0039】
より具体的には、取得部151は、シミュレーション画像に含まれる魚の群れに属する各魚に設定される内的パラメータの値を取得する。例えば、取得部151は、シミュレーション画像に含まれる魚の群れの尾数がN(Nは自然数)である場合、N個の魚の個体それぞれについて設定されるN個の内的パラメータの値を取得する。
【0040】
また、取得部151は、シミュレーション画像に含まれる魚の群れに設定される群れパラメータの値を取得する。群れパラメータの値は、魚の群れごとに各魚に共通の値が設定される。例えば、取得部151は、シミュレーション画像に含まれる魚の群れの尾数がN(Nは自然数)である場合、N個の魚の個体すべてに共通の群れパラメータの値を取得する。
【0041】
また、取得部151は、シミュレーション画像に含まれる魚の群れの周囲の環境ごとに設定される外的パラメータの値を取得する。例えば、取得部151は、シミュレーション画像に含まれる魚の群れが所在する生け簀ごとに設定される外的パラメータの値を取得する。例えば、取得部151は、シミュレーション画像に含まれる魚の群れが所在する生け簀の水深に応じて異なる値が設定される外的パラメータの値を取得する。
【0042】
(生成部152)
【0043】
生成部152は、取得部151によって取得された内的パラメータの値、外的パラメータの値、および群れパラメータの値に基づいて、魚の群れに属する各魚の行動を制御することで、シミュレーション画像を生成する。以下では、図3図8を用いて、生成部152が、内的パラメータの値、外的パラメータの値、および群れパラメータの値に基づいて、魚の群れに属する各魚の行動を制御する場合について詳細に説明する。
【0044】
図3は、水温と魚の行動との関係について説明するための図である。魚の生物学的な特性として、魚の個体ごとに好みの水温が存在し、魚の個体はそれぞれ好みの水温の領域に向かって移動することが知られている。図3の上段に示す例では、生成部152は、魚が好む水温よりも、魚の周囲の水温の方が高いため、魚が好みの水温の領域に向かうように魚の行動を制御する。また、図3の下段に示す例では、生成部152は、魚が好む水温よりも、魚の周囲の水温の方が低いため、魚が好みの水温の領域に向かうように魚の行動を制御する。例えば、生成部152は、魚の移動方向が好みの水温の領域に向かうように魚の移動方向を制御する。このように、生成部152は、内的パラメータの値として、魚の群れに属する各魚が好む水温に基づいて、各魚が好みの水温の領域に向かうように各魚の行動を制御する。
【0045】
また、生け簀における水温の分布は、季節(または、季節の潮流)および水深に応じて異なることが知られている。図3の上段に示す例では、季節が夏であり、魚が所在する生け簀に黒潮が流れ込むことで、生け簀における水温が高い状態である。また、夏場の生け簀における水温は、生け簀の水面に近いほど高く、生け簀の底面に近いほど低いことが知られている。そこで、生成部152は、外的パラメータの値として、生け簀の水面に近いほど水温が高く、生け簀の底面に近いほど水温が低くなるように、生け簀における水温の分布を水深に応じて変化させる。また、図3の下段に示す例では、季節が冬であり、魚が所在する生け簀に親潮が流れ込むことで、生け簀における水温が低い状態である。また、冬場の生け簀における水温は、生け簀の水面に近いほど低く、生け簀の底面に近いほど高いことが知られている。そこで、生成部152は、外的パラメータの値として、生け簀の水面に近いほど水温が低く、生け簀の底面に近いほど水温が高くなるように、生け簀における水温の分布を水深に応じて変化させる。このように、生成部152は、外的パラメータの値として、魚の群れに属する各魚が所在する生け簀における水温の分布に基づいて、各魚が好みの水温の領域に向かうように各魚の行動を制御する。
【0046】
また、魚の生物学的な特性として、魚の周囲の水温が高いほど魚の移動速度が高くなり、魚の周囲の水温が低いほど魚の移動速度が低くなることが知られている。そこで、生成部152は、内的パラメータの値として、魚の群れに属する各魚が所在する生け簀における水温の分布に基づいて、魚の群れに属する各魚の周囲の水温が高いほど各魚の移動速度が大きくなるように各魚の行動を制御する。
【0047】
図4は、照度と魚の行動との関係について説明するための図である。魚の生物学的な特性として、魚の個体ごとに好みの照度が存在し、魚の個体はそれぞれ好みの照度の領域に向かって移動することが知られている。図4の上段に示す例では、生成部152は、魚が好む照度よりも、魚の周囲の照度の方が低いため、魚が好みの照度の領域に向かうように魚の行動を制御する。また、図4の下段に示す例では、生成部152は、魚が好む照度よりも、魚の周囲の照度の方が高いため、魚が好みの照度の領域に向かうように魚の行動を制御する。例えば、生成部152は、魚の移動方向が好みの照度の領域に向かうように魚の移動方向を制御する。このように、生成部152は、内的パラメータの値として、魚の群れに属する各魚が好む照度に基づいて、各魚が好みの照度の領域に向かうように各魚の行動を制御する。
【0048】
また、生け簀における照度の分布は、季節、時刻、天気、および水深に応じて異なることが知られている。図4の上段に示す例では、季節が冬(または、時刻が朝または夜など)であり、生け簀における照度が低い状態である。また、図4の下段に示す例では、季節が夏(または、時刻が昼など)であり、生け簀における照度が高い状態である。また、一般的に、生け簀における照度は、生け簀の水面に近いほど高く、生け簀の底面に近いほど低いことが知られている。そこで、生成部152は、外的パラメータの値として、生け簀の水面に近いほど照度が高く、生け簀の底面に近いほど照度が低くなるように、生け簀における照度の分布を水深に応じて変化させる。このように、生成部152は、外的パラメータの値として、魚の群れに属する各魚が所在する生け簀における照度の分布に基づいて、各魚が好みの照度の領域に向かうように各魚の行動を制御する。
【0049】
図5は、生け簀の網と魚の行動との関係について説明するための図である。魚の生物学的な特性として、魚が生け簀の網や生け簀の水面等の障害物に近づくと、魚が障害物を回避する回避行動をとることが知られている。本願発明の発明者等は、魚と障害物との距離が魚の体長の4倍以下となった場合に、魚が障害物を検知して、魚が障害物を回避する回避行動をとるという実験結果を得た。そこで、生成部152は、内的パラメータの値として、魚の群れに属する各魚と障害物との距離が所定の閾値(例えば、各魚の体長の所定の倍数の長さ)以下である場合に、各魚が障害物を回避する回避行動をとるように各魚の行動を制御する。
【0050】
また、図5に示すように、魚の生物学的な特性として、魚と生け簀の網との距離が近ければ近いほど(遠ければ遠いほど)、魚は高速な(低速な)衝突回避行動をとることが知られている。そこで、生成部152は、魚の群れに属する各魚と障害物との距離が小さいほど大きい反発力に基づいて、各魚の行動を制御する。ここで、反発力とは、魚が障害物との衝突を避けるため障害物から離れようとする力のことを指す。例えば、生成部152は、魚と障害物との距離が所定の閾値以下である場合に、魚と障害物との距離に反比例する大きさの反発力に基づいて、魚の行動を制御する。例えば、生成部152は、魚の移動方向(図5では、魚が生け簀の網に向かう方向)と逆向きの方向の反発力を魚に作用させることで、魚が障害物(図5では、生け簀の網)を回避するように魚の行動を制御する。このように、生成部152は、内的パラメータの値として、魚の群れに属する各魚と障害物との距離が所定の閾値以下である場合に、各魚に対して作用する反発力に基づいて、各魚の行動を制御する。
【0051】
図6は、魚が他の魚に対して群行動をとる範囲について説明するための図である。魚の生物学的な特性として、魚は自身の周囲に位置する他の魚に対して群行動をとることが知られている。本願発明の発明者等は、魚が自身の体長の3倍の距離の範囲内に所在する他の魚を検知して、自身の体長の3倍の距離の範囲内に所在する他の魚に対して群行動をとるという実験結果を得た。そこで、生成部152は、群れパラメータの値として、魚の群れに属する各魚の位置から所定の範囲内(例えば、各魚の体長の所定の倍数の距離の範囲内)に他の魚が位置する場合に、各魚が群行動をとるように各魚の行動を制御する。
【0052】
ここで、魚が他の魚に対してとる群行動とは、結合(cohesion)、分離(separation)、整列(alignment)という3つのルールに従う行動のことを指す。「結合」は個体同士がばらばらにならないように近付こうとする力(以下、結合力ともいう)、「分離」は個体同士が衝突を避けるため離れようとする力(以下、分離力ともいう)、「整列」は群れとして動く方向を揃えようとする力(以下、整列力ともいう)を指す。魚の行動は、これら3つの力の合計によって決まる。以下では、結合力、分離力および整列力の3つの力を「群れパラメータ」と総称する。3つの力は、それぞれ、力の大きさ、力の向き、および力が及ぶ範囲を示すパラメータの値によって決定される。例えば、群れパラメータは、群れがいる空間(例えば、生け簀)の大きさ、魚の大きさ、および魚の群れの密集度によって決定される。このように、生成部152は、群れパラメータの値として、魚の群れに属する各魚同士がばらばらにならないように近付こうとする力である結合力、魚の群れに属する各魚同士が衝突を避けるため離れようとする力である分離力、および魚の群れに属する各魚同士が群れとして動く方向を揃えようとする力である整列力に基づいて、各魚の行動を制御する。
【0053】
図7は、魚の体長と魚の速度との関係について説明するための図である。魚の生物学的な特性として、魚の体長が大きい(小さい)ほど、魚の移動速度が大きい(小さい)ことが知られている。そこで、生成部152は、内的パラメータの値として、魚の群れに属する各魚の体長に基づいて、体長が大きいほど各魚の移動速度が大きくなるように各魚の行動を制御する。また、魚の生物学的な特性として、魚の尾びれの振幅が大きい(小さい)ほど、魚の移動速度が大きい(小さい)ことが知られている。そこで、生成部152は、内的パラメータの値として、魚の群れに属する各魚の尾びれの振幅の大きさに基づいて、振幅の大きさが大きいほど各魚の移動速度が大きくなるように各魚の行動を制御してもよい。
【0054】
図8は、魚のマイスナー細胞の反応速度と魚の意思決定に要する時間の長さおよび時間間隔との関係について説明するための図である。魚の生物学的な特性として、魚が各行動をとる意思決定に要する時間は、魚のマイスナー細胞(神経細胞の一種)の反応速度によって決まることが知られている。ここで、魚が各行動をとる意思決定とは、魚が「どこへ泳ぐか」「どのように泳ぐか」を瞬間的に決定する意思決定のことを指す。図8に示す例では、魚が各行動をとる意思決定に要する時間は、約200ミリ秒であり、意思決定と意思決定の時間間隔は数百ミリ秒である。そこで、生成部152は、内的パラメータの値として、魚の群れに属する各魚が各行動をとる意思決定に要する時間の長さおよび時間の間隔に基づいて、各魚の行動を制御する。具体的には、生成部152は、シミュレーション画像の更新時間を魚が各行動をとる意思決定に要する時間(例えば、数百ミリ秒)に設定する。例えば、生成部152は、魚が所定の状態(例えば、後述する図11に示す「Slow Swim」の状態)をとる時間の長さを、魚が各行動をとる意思決定に要する時間(例えば、数百ミリ秒)に制御する。続いて、生成部152は、魚が所定の状態(例えば、後述する図11に示す「Slow Swim」の状態)から他の状態(例えば、後述する図11に示す「C-start Left」の状態)に遷移する時間間隔を、意思決定と意思決定の時間間隔(例えば、数百ミリ秒)に制御する。続いて、生成部152は、魚が他の状態(例えば、後述する図11に示す「C-start Left」の状態)をとる時間の長さを、魚が各行動をとる意思決定に要する時間(例えば、数百ミリ秒)に制御する。
【0055】
また、魚の生物学的な特性として、魚の周囲の水温(または魚の体温)が低い(高い)ほど、魚のマイスナー細胞の反応速度が遅い(速い)ことが知られている。そこで、生成部152は、内的パラメータの値として、魚の周囲の水温が低いほど長い意思決定に要する時間の長さおよび時間の間隔に基づいて、各魚の行動を制御してもよい。
【0056】
図9は、魚の3次元CG画像および3次元バウンディングボックスを示す図である。図9に示す魚は、魚種ごとに実測した体側データ(以下、生け簀の実在データともいう)に基づいて生成された魚の3次元CG画像である。生成部152は、生け簀の実在データに基づいて生成されたリアルな魚の3次元CG画像を用いてシミュレーション画像を生成する。なお、生成部152は、生け簀の実在データに基づかない魚の3次元CG画像を用いてシミュレーション画像を生成してもよい。例えば、生成部152は、生け簀の実在データの周辺の値(例えば、実測データの代表値から所定の範囲内の値など)に基づいて、生け簀の実在データとは異なる体側データを有する魚の3次元CG画像を用いてシミュレーション画像を生成してもよい。また、生成部152は、シミュレーション画像に含まれる魚の群れに属する各魚の体長、移動速度、初期位置、初期状態および重さ等をそれぞれ異ならせてよい。
【0057】
また、図9に示す魚を囲む枠は、魚の位置情報および大きさを特定するための3次元バウンディングボックスである。生成部152は、各魚の位置情報を生成する。例えば、生成部152は、魚OBの中心位置および魚OBの存在範囲を示す位置情報を生成する。魚の位置情報は、例えば、3次元座標情報を用いて生成される。図9の例では、生成部152は、魚OBの位置情報の一例として、魚OBの中心の座標(b、b、b)(図示略)、および、魚OBを内包する最小限の大きさの直方体(3次元バウンディングボックス)の奥行b、幅bおよび高さbに関する情報を生成する。
【0058】
図10は、魚の生け簀の3次元CG画像を示す図である。図10は、実在する生け簀の緯度経度、水温、照度、水中画像データ等(以下、生け簀の実在データともいう)に基づいて生成された生け簀の3次元CG画像である。生成部152は、生け簀の実在データに基づいて生成されたリアルな生け簀の3次元CG画像を用いてシミュレーション画像を生成する。なお、生成部152は、生け簀の実在データに基づかない生け簀の3次元CG画像を用いてシミュレーション画像を生成してもよい。例えば、生成部152は、生け簀の実在データの周辺の値(例えば、実測データの代表値から所定の範囲内の値など)に基づいて、生け簀の実在データとは異なるデータ(例えば、生け簀の広さ、深さ、水温、照度などが実測データの代表値から所定の範囲内の値)を有する生け簀の3次元CG画像を用いてシミュレーション画像を生成してもよい。また、生成部152は、実在データに存在しない値(例えば、実測データが存在しない時間帯のデータなど)に基づいて、生け簀の実在データとは異なるデータを有する生け簀の3次元CG画像を用いてシミュレーション画像を生成してもよい。
【0059】
図11は、魚の状態を決定する有限状態マシーンを示す図である。魚の生物学的な特性として、魚種ごとに魚の泳ぎ方(泳法、遊泳ともいう)を特定のパターンに分類可能なことが知られている。なお、図11では、魚種がサケである場合について説明するが、遊泳のパターンは魚種ごとに異なってよい。生成部152は、図11に示すような12種類の魚の遊泳の状態を示す12種類のアニメーションを生成する。また、生成部152は、12種類のアニメーションの中から有限状態マシーン(FSM)によって各魚の遊泳の状態を決定することで、各魚の遊泳の状態を遷移させる。
【0060】
例えば、生成部152は、魚の遊泳を「Slow Swim」の状態から「C-start Left」の状態に遷移させる。続いて、生成部152は、魚の遊泳を「C-start Left」の状態から「Fast Swim」の状態に遷移させる。続いて、生成部152は、魚の遊泳を「Fast Swim」の状態から「Semi Fast Swim」の状態に遷移させる。続いて、生成部152は、魚の遊泳を「Semi Fast Swim」の状態から「Slow Swim」の状態に遷移させる。続いて、生成部152は、魚の遊泳を「Slow Swim」の状態から「Rest Swim」の状態に遷移させる。また、生成部152は、状態遷移の際に、遷移前の状態と遷移後の状態との間を補間することで、スムーズなアニメーションを実現することができる。
【0061】
また、生成部152は、取得部151が取得した内的パラメータの値、外的パラメータの値、および群れパラメータの値に基づいて、リアルな魚の3次元CG(図9参照)がリアルな生け簀を再現した3次元のシミュレーション空間(図10参照)の中を泳ぐように魚の3次元CGの行動を制御することで、生簀内を泳ぐ魚の群れにそっくりな3次元のシミュレーションを実現する。続いて、生成部152は、生け簀を再現した3次元のシミュレーション空間の水面から所定の深さの位置に設置された仮想カメラによって、生簀内を泳ぐ魚の群れにそっくりな3次元のシミュレーションを撮影することで、シミュレーション画像を生成する。
【0062】
また、生成部152は、シミュレーション画像を生成すると、生成したシミュレーション画像に含まれる各魚の位置情報を示す2次元バウンディングボックスを付加したトレーニングデータを生成してよい。なお、生成部152は、シミュレーション画像を生成する際に用いた各魚の位置情報を用いることで、2次元バウンディングボックスを付加したトレーニングデータを容易に生成することができる。
【0063】
また、生成部152は、シミュレーション画像を生成すると、生成したシミュレーション画像に含まれる各魚の位置情報を示す3次元バウンディングボックスを付加したトレーニングデータを生成してよい。なお、生成部152は、シミュレーション画像を生成する際に用いた各魚の位置情報を用いることで、3次元バウンディングボックスを付加したトレーニングデータを容易に生成することができる。
【0064】
また、生成部152は、シミュレーション画像を生成すると、生成したシミュレーション画像に含まれる各魚をシルエットで置換したトレーニングデータを生成してよい。例えば、生成部152は、シルエットで置換した各魚が色分けして表示されたトレーニングデータを生成する。なお、色分けは、色要素の付与に相当する。例えば、生成部152は、複数の魚が存在する場合には、魚ごとに色分けする色を異ならせてもよく、魚の分類情報に応じて色を異ならせてもよい。
【0065】
上述した例では、生成部152が、魚の生物学的な特性に関する内的パラメータの値と、魚の周囲の環境の特性に関する外的パラメータの値と、魚が他の魚に対してとる行動である群行動の特性に関する群れパラメータの値に基づいて、魚の群れに属する各魚の行動を含むシミュレーション画像を生成する場合について説明したが、パラメータの種類はこれらに限られない。図12図15では、生成部152が、上述した内的パラメータ、外的パラメータおよび群れパラメータに加えて、魚が所在する水中における水の色の特性に関する色パラメータの値に基づいてシミュレーション画像を生成する場合について説明する。具体的には、取得部151は、内的パラメータの値と、外的パラメータの値と、群れパラメータの値と、色パラメータの値と、を取得する。具体的には、取得部151は、入力部130を介して利用者によって入力された内的パラメータの値と、外的パラメータの値と、群れパラメータの値と、色パラメータの値と、を取得する。生成部152は、取得部151によって取得された内的パラメータの値、外的パラメータの値、群れパラメータの値、および色パラメータの値に基づいて、魚の群れに属する各魚の行動を含むシミュレーション画像を生成する。
【0066】
図12は、実施形態に係る葉緑素の濃度を示すパラメータを変化させたシミュレーション画像の一例を示す図である。図12に示す6枚の画像は、左にいくほど葉緑素の濃度が低いシミュレーション画像であり、右にいくほど葉緑素の濃度が高いシミュレーション画像である。葉緑素は、水中に存在する植物性プランクトンや藻類に含まれる緑色の色素である。一般的に、水中の葉緑素は、青色に対応する波長の光(以下、青色の光ともいう)を吸収しやすいことが知られている。そのため、水中における葉緑素の濃度が高いほど、青色の光が減衰しやすいため、葉緑素の濃度が高い水中は、赤色っぽく見えることが知られている。また、葉緑素は、水が濁る原因になる。そのため、葉緑素の濃度が高い水中は、赤色っぽく見えるとともに、濁って見えるため、結果として、赤茶色っぽく見えることが知られている。そこで、生成部152は、色パラメータの値として、魚の群れに属する各魚が所在する生け簀の水中における葉緑素の濃度に基づいて、シミュレーション画像を生成する。具体的には、生成部152は、生け簀の水中における葉緑素の濃度が高いほど、シミュレーション画像の各画素におけるRGB値のうち、B(青色)の輝度値が小さくなるように、シミュレーション画像の各画素におけるRGB値を制御して、シミュレーション画像を生成する。
【0067】
図13は、実施形態に係る浮遊物の濃度を示すパラメータを変化させたシミュレーション画像の一例を示す図である。図13に示す6枚の画像は、左にいくほど浮遊物の濃度が低いシミュレーション画像であり、右にいくほど浮遊物の濃度が高いシミュレーション画像である。浮遊物は、巻き上げられた海底の土、貝やクラゲの卵、またはゴミなどである。浮遊物は、水が濁る原因になる。そのため、浮遊物の濃度が高い水中は、濁って見えることが知られている。そこで、生成部152は、色パラメータの値として、魚の群れに属する各魚が所在する生け簀の水中における浮遊物の濃度に基づいて、シミュレーション画像を生成する。具体的には、生成部152は、生け簀の水中における浮遊物の濃度が高いほど、シミュレーション画像の各画素における輝度値が小さくなるように、シミュレーション画像の各画素における輝度値を制御して、シミュレーション画像を生成する。
【0068】
図14は、実施形態に係る太陽光の強度、および、生け簀の水面からの深さを示すパラメータを変化させたシミュレーション画像の一例を示す図である。図14に示す6枚の画像は、正午から18時までの間に太陽光の強度を変化させたシミュレーション画像である。図14では、左端のシミュレーション画像は、正午なので、太陽光の強度が強く、生け簀の水中が明るく見える。一方、右端のシミュレーション画像は、日没を過ぎたため、太陽光の強度が低く、生け簀の水中が暗く見える。一般的に、海水などの希薄溶液に入射した光の吸光度は、希薄溶液の濃度および光路の長さに比例することが知られている(ランバート・ベールの法則(Lambert-Beer law))。ここで、希薄溶液に入射する前の光の強度をI、希薄溶液を透過した後の光の強度をIとするとき、I/I=Tを透過率と呼ぶ。また、透過率Tの常用対数の負値である「-logT=E」を吸光度と呼ぶ。また、生け簀の水中を照らす太陽光の強度、および、生け簀の水面からの深さは、生け簀の位置を示す緯度および経度、日時に応じて変化する。すなわち、生け簀における海水の色は、生け簀の水中を照らす太陽光の強度、および、生け簀の水面からの深さに応じて変化する。そこで、生成部152は、色パラメータの値として、魚の群れに属する各魚が所在する生け簀の水中を照らす太陽光の強度、および、生け簀の水面からの深さに基づいて、シミュレーション画像を生成する。具体的には、生成部152は、ランバート・ベールの法則に従うようにシミュレーション画像の各画素における輝度値を制御して、シミュレーション画像を生成する。
【0069】
図15は、実施形態に係る水面から仮想カメラの位置の深さまでの距離を示すパラメータを変化させたシミュレーション画像の一例を示す図である。図15に示す6枚の画像は、左にいくほど仮想カメラの位置が浅いシミュレーション画像であり、右にいくほど仮想カメラの位置が深いシミュレーション画像である。一般的に、水面から深くなるほど、より多くの光が吸収されるため、水の色が暗くなることが知られている。そこで、生成部152は、色パラメータの値として、魚の群れに属する各魚が所在する生け簀の水面から仮想カメラの位置の深さまでの距離に基づいて、シミュレーション画像を生成する。具体的には、生成部152は、生け簀の水面から仮想カメラの位置の深さまでの距離が大きいほど、シミュレーション画像の各画素における輝度値が小さくなるように、シミュレーション画像の各画素における輝度値を制御して、シミュレーション画像を生成する。
【0070】
図16は、実施形態に係るシミュレーション画像に含まれる各魚の重なり度合いを示すラベルを含むトレーニングデータの一例を示す図である。図16では、シミュレーション画像に含まれる各魚がシルエットで置換されている。図16では、取得部151は、生け簀を模した3次元のシミュレーション空間内を泳ぐ複数の魚の3次元CGを仮想カメラにより撮像した2次元のシミュレーション画像を取得する。
【0071】
生成部152は、3次元のシミュレーション空間に位置する複数の魚を仮想カメラにより撮像した2次元のシミュレーション画像における複数の魚の重なり度合いを示す情報を視覚的に表示するシミュレーション画像を生成する。具体的には、生成部152は、取得部151によって取得されたシミュレーション画像に基づいて、シミュレーション画像に含まれる複数の魚のうち、画像中で重なって見える魚が存在するか否かを判定する。例えば、生成部152は、3次元のシミュレーション空間に位置する複数の魚それぞれの位置座標、および、仮想カメラの位置座標に基づいて、仮想カメラの位置から見たときに画像中で重なって見える魚が存在するか否かを判定する。図16では、生成部152は、シミュレーション画像に含まれる3匹の魚ОB1~ОB3が画像中で重なって見えると判定する。
【0072】
続いて、生成部152は、3次元のシミュレーション空間に位置する複数の魚それぞれの位置座標、および、仮想カメラの位置座標に基づいて、シミュレーション画像における複数の魚の重なり度合いを示す情報を算出する。例えば、生成部152は、重なり度合いを示す情報として、複数の魚それぞれの視認可能な領域の面積の割合をそれぞれ算出する。図16では、生成部152は、最前面に位置する魚ОB1は、魚の体全体が視認可能なので、視認可能な領域の面積の割合を100%と算出する。また、生成部152は、魚ОB1の奥に位置する魚ОB2は、手前に位置する魚ОB1によって体の一部が隠れて視認できない領域の面積の割合を20%、視認可能な領域の面積の割合を80%と算出する。また、生成部152は、最後面に位置する魚ОB3(魚ОB2の奥に位置する魚ОB3)は、手前に位置する魚ОB2によって体の一部が隠れて視認できない面積の割合を40%、視認可能な領域の面積の割合を60%と算出する。
【0073】
続いて、生成部152は、重なり度合いを示す情報を算出した場合、重なり度合いを示す情報を視覚化してシミュレーション画像に付加する。例えば、生成部152は、複数の魚それぞれの視認可能な領域の面積の割合を示すラベルをそれぞれの魚から所定範囲内の位置に表示する。図16では、生成部152は、魚ОB1の視認可能な領域の面積の割合を示す「100%」の文字を含むラベルL1を魚ОB1から所定範囲内の位置に表示する。また、生成部152は、魚ОB2の視認可能な領域の面積の割合を示す「80%」の文字を含むラベルL2を魚ОB2から所定範囲内の位置に表示する。また、生成部152は、魚ОB3の視認可能な領域の面積の割合を示す「60%」の文字を含むラベルL3を魚ОB3から所定範囲内の位置に表示する。
【0074】
図17は、実施形態に係る機械学習モデルの一例を示す図である。図17に示す機械学習モデルは、YOLO(You Only Look Once)のニューラルネットワークを備える。生成部152は、シミュレーション画像を機械学習モデルに入力した場合に、シミュレーション画像に含まれる各魚の個体識別情報および各魚の個体識別情報に対応する情報(例えば、尾数)を出力するように機械学習モデルを学習させる。なお、生成部152は、YOLOに限らず、物体検出に用いられるあらゆる公知のニューラルネットワークを機械学習モデルに適用してよい。例えば、生成部152は、YOLOの他にも、物体検出用に開発されたFaster R-CNN、またはSSD(Single Shot MultiBox Detector)を機械学習モデルに適用することができる。
【0075】
例えば、生成部152は、生成したシミュレーション画像を機械学習モデルM1に入力した場合に、個体識別された各魚の位置情報を示す3次元バウンディングボックスが重畳して表示されたシミュレーション画像および個体識別された魚の尾数(魚の群れの尾数)を出力するように機械学習モデルM1を学習させる。
【0076】
また、生成部152は、生成したシミュレーション画像を機械学習モデルM2に入力した場合に、個体識別された各魚の大きさを示す2次元バウンディングボックスが重畳して表示されたシミュレーション画像および個体識別された魚の尾数(魚の群れの尾数)を出力するように機械学習モデルM2を学習させる。
【0077】
また、生成部152は、生成したシミュレーション画像を機械学習モデルM3に入力した場合に、個体識別された各魚がシルエットで置き換えられたシミュレーション画像および個体識別された魚の尾数(魚の群れの尾数)を出力するように機械学習モデルM3を学習させる。
【0078】
また、生成部152は、生成したシミュレーション画像を機械学習モデルM1~M3それぞれに入力した場合に、シミュレーション画像における複数の魚の重なり度合いを示す情報を視覚化した情報が重畳して表示されたシミュレーション画像をそれぞれ出力するように機械学習モデルM1~M3それぞれを学習させる。例えば、生成部152は、生成したシミュレーション画像を機械学習モデルM1~M3それぞれに入力した場合に、シミュレーション画像における複数の魚それぞれの視認可能な領域の面積の割合を示すラベルが重畳して表示されたシミュレーション画像をそれぞれ出力するように機械学習モデルM1~M3それぞれを学習させる。
【0079】
このように、生成部152は、生成したシミュレーション画像を機械学習モデルに入力した場合に、シミュレーション画像の生成に用いられたパラメータ情報に基づいて生成された正解データまたは正解データと対応する情報を出力するように機械学習モデルを学習させる。
【0080】
(推定部153)
【0081】
推定部153は、生成部152によって生成された学習済みの機械学習モデルを用いて、複数の対象物を撮像した撮像画像から撮像画像に含まれる複数の対象物に関する情報を推定する。例えば、推定部153は、生成部152によって生成された学習済みの機械学習モデルを用いて、魚の群れを撮像した撮像画像から撮像画像に含まれる魚の群れに関する情報を推定する。
【0082】
また、推定部153は、複数の対象物に関する情報として、撮像画像に含まれる複数の対象物の数を推定する。例えば、推定部153は、生成部152によって生成された学習済みの機械学習モデルM2に撮影画像を入力する。続いて、推定部153は、2次元バウンディングボックスならびに撮影画像における複数の魚それぞれの視認可能な領域の面積の割合を示すラベルが重畳して表示された撮影画像、および、個体識別された魚の尾数(魚の群れの尾数)を機械学習モデルM2から出力する。推定部153は、機械学習モデルM2から出力された情報を推定結果とする。
【0083】
(出力制御部154)
【0084】
出力制御部154は、推定部153が推定した推定結果を画面に表示するよう制御する。図18~20は、撮影画像の推定結果を出力した画面の一例を示す図である。
【0085】
図18に示す例では、出力制御部154は、推定部153が推定した推定結果として、撮影画像から検出された各魚を囲む2次元バウンディングボックス、および、検出された各魚の種類を示すラベルが重畳して表示された撮影画像を画面に表示させる。なお、出力制御部154は、推定部153が推定した推定結果として、検出された各魚の視認可能な領域の面積の割合を示すラベルがさらに重畳して表示された撮影画像を画面に表示させてもよい。
【0086】
図19に示す例では、出力制御部154は、推定部153が推定した推定結果として、撮影画像から検出された各魚を囲む3次元バウンディングボックス、および、検出された各魚の種類を示すラベルが重畳して表示された撮影画像を画面に表示させる。なお、出力制御部154は、推定部153が推定した推定結果として、検出された各魚の視認可能な領域の面積の割合を示すラベルがさらに重畳して表示された撮影画像を画面に表示させてもよい。
【0087】
図20に示す例では、出力制御部154は、推定部153が推定した推定結果として、2次元バウンディングボックスが付加された撮影画像および個体識別された魚の尾数(魚の群れの尾数)である「146」を画面に表示させる。
【0088】
なお、上述した実施形態では、シミュレーション画像に含まれる対象物が魚であり、複数の対象物が魚の群れに含まれる複数の魚である場合について説明したが、シミュレーション画像における対象物は、魚に限られない。例えば、シミュレーション画像における対象物は、魚以外にも、人物、動物、車両などであってもよい。また、情報処理装置100は、3次元のシミュレーション空間に位置する複数の対象物(例えば、複数の人物、複数の動物または複数の車両等)を仮想カメラにより撮像した2次元のシミュレーション画像における複数の対象物の重なり度合いを示す情報を視覚的に表示するシミュレーション画像を生成してよい。
【0089】
〔3.効果〕
【0090】
上述したように、実施形態に係る情報処理装置100は、取得部151と生成部152を備える。取得部151は、3次元のシミュレーション空間に位置する複数の対象物を仮想カメラにより撮像した2次元のシミュレーション画像を取得する。生成部152は、3次元のシミュレーション空間に位置する複数の対象物を仮想カメラにより撮像した2次元のシミュレーション画像における複数の対象物の重なり度合いを示す情報を視覚的に表示するシミュレーション画像を生成する。
【0091】
このように、情報処理装置100は、3次元空間に実在する複数の対象物を撮影した撮影画像ではなく、3次元のシミュレーション空間に位置する複数の対象物を仮想カメラにより撮像したシミュレーション画像を用いる。これにより、情報処理装置100は、シミュレーション画像における複数の対象物の重なり度合いを示す情報を自動で算出することができる。また、情報処理装置100は、複数の対象物の重なり度合いを示す情報をシミュレーション画像にアノテーションとして付加することができるので、正確で質の良いトレーニングデータを容易に生成することができる。これにより、情報処理装置100は、例えば、撮像画像から複数の対象物に関する情報(例えば、対象物の数)を推定する機械学習モデルに対して質の良いトレーニングデータを大量に学習させることを可能にする。すなわち、情報処理装置100は、質の良いトレーニングデータを大量に学習させることにより、例えば、撮像画像から複数の対象物に関する情報(例えば、対象物の数)を推定する機械学習モデルの推定精度を向上させることができる。したがって、情報処理装置100は、複数の対象物に関する情報を精度よく推定することを可能とすることができる。
【0092】
また、生成部152は、3次元のシミュレーション空間における複数の対象物それぞれの位置座標、および、仮想カメラの位置座標に基づいて、シミュレーション画像における複数の対象物の重なり度合いを示す情報を算出する。
【0093】
これにより、情報処理装置100は、複数の対象物の重なり度合いを示す情報をシミュレーション画像にアノテーションとして付加することができるので、撮像画像から複数の対象物に関する情報(例えば、対象物の数)を推定する機械学習モデルを学習させるために用いられる正確で質の良いトレーニングデータを容易に生成することができる。
【0094】
また、生成部152は、シミュレーション画像を機械学習モデルに入力した場合に、シミュレーション画像の生成に用いられたパラメータ情報に基づいて生成された正解データまたは正解データと対応する情報を出力するように機械学習モデルを学習させる。
【0095】
これにより、情報処理装置100は、例えば、撮像画像から複数の対象物に関する情報(例えば、対象物の数)を推定する機械学習モデルに対して質の良いトレーニングデータを大量に学習させることを可能にする。すなわち、情報処理装置100は、質の良いトレーニングデータを大量に学習させることにより、例えば、撮像画像から複数の対象物に関する情報(例えば、対象物の数)を推定する機械学習モデルの推定精度を向上させることができる。
【0096】
また、情報処理装置100は、推定部153をさらに備える。推定部153は、生成部152によって生成された学習済みの機械学習モデルを用いて、複数の対象物を撮像した撮像画像から撮像画像に含まれる複数の対象物に関する情報を推定する。
【0097】
これにより、情報処理装置100は、質の良いトレーニングデータを大量に学習することにより、撮像画像から複数の対象物に関する情報(例えば、対象物の数)を推定する機械学習モデルの推定精度を向上させることができる。例えば、情報処理装置100は、撮像画像から魚の群れに関する情報(例えば、尾数)を推定する機械学習モデルの推定精度を向上させることができる。したがって、情報処理装置100は、複数の対象物に関する情報を精度よく推定することができる。
【0098】
また、推定部153は、複数の対象物に関する情報として、撮像画像に含まれる複数の対象物の数を推定する。
【0099】
これにより、情報処理装置100は、撮像画像に含まれる複数の対象物の数を精度よく推定することができる。
【0100】
また、対象物は、魚であり、複数の対象物は、魚の群れに含まれる複数の魚である。
【0101】
このように、情報処理装置100は、3次元空間(例えば、生簀内)に実在する魚の群れを撮影した撮影画像ではなく、3次元のシミュレーション空間に位置する魚の群れを仮想カメラにより撮像したシミュレーション画像を用いる。これにより、情報処理装置100は、シミュレーション画像における複数の魚の重なり度合いを示す情報を自動で算出することができる。また、情報処理装置100は、複数の魚の重なり度合いを示す情報をシミュレーション画像にアノテーションとして付加することができるので、正確で質の良いトレーニングデータを容易に生成することができる。これにより、情報処理装置100は、例えば、撮像画像から魚の群れに関する情報(例えば、尾数)を推定する機械学習モデルに対して質の良いトレーニングデータを大量に学習させることを可能にする。すなわち、情報処理装置100は、質の良いトレーニングデータを大量に学習させることにより、例えば、撮像画像から魚の群れに関する情報(例えば、尾数)を推定する機械学習モデルの推定精度を向上させることができる。したがって、情報処理装置100は、魚の群れに関する情報を精度よく推定することを可能とすることができる。
【0102】
また、取得部151は、魚の生物学的な特性に関する内的パラメータの値と、魚の周囲の環境の特性に関する外的パラメータの値と、魚が他の魚に対してとる行動である群行動の特性に関する群れパラメータの値と、魚が所在する水中における水の色の特性に関する色パラメータの値と、を取得する。生成部152は、取得部151によって取得された内的パラメータの値、外的パラメータの値、群れパラメータの値、および色パラメータの値に基づいて、魚の群れに属する各魚の行動を含むシミュレーション画像を生成する。
【0103】
このように、情報処理装置100は、魚の生物学的な特性に関する情報、魚の周囲の環境に関する情報、魚の群行動の特性に関する情報、および魚が所在する水中における水の色の特性に関する情報に基づいて魚の群れの行動を含むシミュレーション画像を生成するため、実際の生け簀に所在する魚の群れの行動を精度よく再現することができる。また、情報処理装置100は、シミュレーション画像の生成に用いる複数のパラメータの値を変化させることで、多様なパターンを網羅したシミュレーション画像を大量かつ容易に生成することができる。また、情報処理装置100は、シミュレーション画像の生成に用いられたパラメータの値を正解データとして活用することができるので、正解データを人手によって付与する場合と比べて、質の良いトレーニングデータを大量にかつ容易に生成することができる。
【0104】
また、生成部152は、内的パラメータの値、外的パラメータの値、群れパラメータの値、および色パラメータの値に基づいて、魚の群れに属する各魚の行動を制御することで、シミュレーション画像を生成する。
【0105】
これにより、情報処理装置100は、魚の生物学的な特性に関する情報、魚の周囲の環境に関する情報、魚の群行動の特性に関する情報、および魚が所在する水中における水の色の特性に関する情報に基づいて魚の群れに属する各魚の行動を制御するため、実際の生け簀に所在する魚の群れの行動を精度よく再現することができる。これにより、情報処理装置100は、例えば、撮像画像から魚の群れに関する情報(例えば、尾数)を推定する機械学習モデルに対して質の良いトレーニングデータを大量に学習させることを可能にする。
【0106】
また、生成部152は、色パラメータの値として、魚の群れに属する各魚が所在する生け簀の水中における葉緑素の濃度に基づいて、シミュレーション画像を生成する。
【0107】
これにより、情報処理装置100は、水中における葉緑素の濃度に応じて異なる見え方をするシミュレーション画像を含むトレーニングデータを大量にかつ容易に生成することができる。したがって、情報処理装置100は、生成されたシミュレーション画像を含むトレーニングデータを用いて機械学習モデルを学習させることにより、機械学習モデルの推定精度を向上させることができる。
【0108】
また、生成部152は、色パラメータの値として、魚の群れに属する各魚が所在する生け簀の水中における浮遊物の濃度に基づいて、シミュレーション画像を生成する。
【0109】
これにより、情報処理装置100は、水中における浮遊物の濃度に応じて異なる見え方をするシミュレーション画像を含むトレーニングデータを大量にかつ容易に生成することができる。したがって、情報処理装置100は、生成されたシミュレーション画像を含むトレーニングデータを用いて機械学習モデルを学習させることにより、機械学習モデルの推定精度を向上させることができる。
【0110】
また、生成部152は、色パラメータの値として、魚の群れに属する各魚が所在する生け簀の水中を照らす太陽光の強度、および、生け簀の水面からの深さに基づいて、シミュレーション画像を生成する。
【0111】
これにより、情報処理装置100は、水中を照らす太陽光の強度、および、生け簀の水面からの深さに応じて異なる見え方をするシミュレーション画像を含むトレーニングデータを大量にかつ容易に生成することができる。したがって、情報処理装置100は、生成されたシミュレーション画像を含むトレーニングデータを用いて機械学習モデルを学習させることにより、機械学習モデルの推定精度を向上させることができる。
【0112】
また、生成部152は、色パラメータの値として、魚の群れに属する各魚が所在する生け簀の水面から仮想カメラの位置の深さまでの距離に基づいて、シミュレーション画像を生成する。
【0113】
これにより、情報処理装置100は、水面から仮想カメラの位置の深さまでの距離に応じて異なる見え方をするシミュレーション画像を含むトレーニングデータを大量にかつ容易に生成することができる。したがって、情報処理装置100は、生成されたシミュレーション画像を含むトレーニングデータを用いて機械学習モデルを学習させることにより、機械学習モデルの推定精度を向上させることができる。
【0114】
また、生成部152は、シミュレーション画像を機械学習モデルに入力した場合に、シミュレーション画像の生成に用いられたパラメータ情報に基づいて生成された正解データまたは正解データと対応する情報を出力するように機械学習モデルを学習させる。
【0115】
これにより、情報処理装置100は、例えば、撮像画像から魚の群れに関する情報(例えば、尾数)を推定する機械学習モデルに対して質の良いトレーニングデータを大量に学習させることを可能にする。すなわち、情報処理装置100は、質の良いトレーニングデータを大量に学習させることにより、例えば、撮像画像から魚の群れに関する情報(例えば、尾数)を推定する機械学習モデルの推定精度を向上させることができる。
【0116】
また、情報処理装置100は、推定部153をさらに備える。推定部153は、生成部152によって生成された学習済みの機械学習モデルを用いて、魚の群れを撮像した撮像画像から前記撮像画像に含まれる前記魚の群れに関する情報を推定する。
【0117】
これにより、情報処理装置100は、質の良いトレーニングデータを大量に学習することにより、撮像画像から魚の群れに関する情報(例えば、尾数)を推定する機械学習モデルの推定精度を向上させることができる。したがって、情報処理装置100は、学習済みの機械学習モデル用いることにより、魚の群れに関する情報を精度よく推定することができる。また、情報処理装置100は、例えば、撮像画像から魚の群れの尾数を推定する場合、画像認識を用いることで、魚に対して直接触れることなく(非接触に)魚の群れに関する情報を精度よく推定することができるので、魚に対する負担を軽減することができる。また、情報処理装置100は、画像認識を用いることで、人が網で魚をすくい上げる場合と比べて、短時間のうちに高精度な推定結果を得ることができる。
【0118】
〔4.ハードウェア構成〕
【0119】
また、上述してきた実施形態に係る情報処理装置100は、例えば図21に示すような構成のコンピュータ1000によって実現される。図21は、情報処理装置100の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を備える。
【0120】
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0121】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、所定の通信網を介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを所定の通信網を介して他の機器へ送信する。
【0122】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。
【0123】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0124】
例えば、コンピュータ1000が実施形態に係る情報処理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部150の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から所定の通信網を介してこれらのプログラムを取得してもよい。
【0125】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0126】
〔5.その他〕
【0127】
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0128】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0129】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0130】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、生成部は、生成手段や生成回路に読み替えることができる。
【0131】
実施形態の一態様によれば、複数の対象物に関する情報を精度よく推定することを可能とすることができる。
【0132】
完全且つ明確に開示するために特定の実施例に関して本発明を説明したが、添付の特許請求の範囲はこれに限定されず、本明細書の基本的教示内容の相応な範囲内で当業者が想到し得る変形例や代替構成のすべてを具現化するものとして解釈すべきである。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
【国際調査報告】