(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024094067
(43)【公開日】2024-07-09
(54)【発明の名称】情報処理プログラム、情報処理装置及び情報処理方法
(51)【国際特許分類】
G06V 10/77 20220101AFI20240702BHJP
G06V 20/05 20220101ALI20240702BHJP
G06V 10/774 20220101ALI20240702BHJP
G06T 7/00 20170101ALI20240702BHJP
G06T 19/00 20110101ALI20240702BHJP
G06T 15/60 20060101ALI20240702BHJP
【FI】
G06V10/77
G06V20/05
G06V10/774
G06T7/00 350B
G06T19/00 A
G06T15/60
【審査請求】有
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022210796
(22)【出願日】2022-12-27
(71)【出願人】
【識別番号】501440684
【氏名又は名称】ソフトバンク株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】石若 裕子
(72)【発明者】
【氏名】小川 駿
(72)【発明者】
【氏名】利根 忠幸
(72)【発明者】
【氏名】吉田 智博
【テーマコード(参考)】
5B050
5B080
5L096
【Fターム(参考)】
5B050AA03
5B050BA09
5B050BA13
5B050CA01
5B050DA04
5B050EA26
5B050FA02
5B080AA00
5B080CA00
5B080FA02
5B080GA00
5L096BA02
5L096CA17
5L096DA02
5L096EA13
5L096FA66
5L096FA70
5L096JA11
5L096KA03
5L096KA04
(57)【要約】
【課題】画像のうち、個々の魚を視覚的に識別不可能な領域に対応する魚群に含まれる魚の尾数を推定することができる。
【解決手段】本願に係る情報処理プログラムは、魚群を含む画像であって、魚群に含まれる個々の魚を視覚的に識別不可能な領域である不鮮明領域、および、不鮮明領域に対応する魚群の影に対応する影領域を含む画像を取得する取得手順と、不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を推定し、魚同士の間の空間の体積に関する情報に基づいて、不鮮明領域に対応する魚群に含まれる魚の尾数を推定する推定手順と、をコンピュータに実行させる。
【選択図】
図2
【特許請求の範囲】
【請求項1】
魚群を含む画像であって、前記魚群に含まれる個々の魚を視覚的に識別不可能な領域である不鮮明領域、および、前記不鮮明領域に対応する魚群の影に対応する影領域を含む前記画像を取得する取得手順と、
前記不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を推定し、前記魚同士の間の空間の体積に関する情報に基づいて、前記不鮮明領域に対応する魚群に含まれる魚の尾数を推定する推定手順と、
をコンピュータに実行させる情報処理プログラム。
【請求項2】
前記推定手順は、
前記不鮮明領域に対応する魚群のうち、赤色の光を照射された魚群である赤色魚群を含む赤色画像に基づいて、前記不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を推定する、
請求項1に記載の情報処理プログラム。
【請求項3】
前記推定手順は、
前記赤色の光を照射された水中の参照物体を含む参照画像であって、前記水中の撮像装置により撮像された参照画像のうち、前記参照物体が占める物体領域における輝度値である参照輝度値と、前記撮像装置から前記参照物体までの距離である参照距離との関係性を示す参照情報と、前記赤色画像のうち、前記赤色魚群に含まれる個々の魚が占める魚領域における輝度値である魚輝度値との比較に基づいて、前記撮像装置から前記赤色魚群に含まれる個々の魚までの距離である魚距離を推定し、前記魚距離に基づいて、前記赤色魚群に含まれる魚同士の相対距離を推定し、前記魚同士の相対距離に基づいて、前記不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を推定する、
請求項2に記載の情報処理プログラム。
【請求項4】
前記推定手順は、
前記魚同士の相対距離の平均に基づいて、前記不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を推定する、
請求項3に記載の情報処理プログラム。
【請求項5】
前記推定手順は、
前記魚同士の相対距離の時間平均に基づいて、前記不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を推定する、
請求項3に記載の情報処理プログラム。
【請求項6】
コンピュータグラフィックスにより生成された学習対象の魚群を含むCG画像であって、前記学習対象の魚群に含まれる個々の魚を視覚的に識別不可能な領域である学習対象の不鮮明領域、および、前記学習対象の不鮮明領域に対応する魚群の影に対応する学習対象の影領域を含む前記CG画像に関する情報が入力情報として入力された場合に、前記学習対象の不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を出力情報として出力するよう学習された第1機械学習モデルを生成する生成手順をさらに備え、
前記推定手順は、
前記生成手順によって生成された前記第1機械学習モデルを用いて、前記画像から前記不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を推定する、
請求項1に記載の情報処理プログラム。
【請求項7】
コンピュータグラフィックスにより生成された学習対象の魚群を含むCG画像であって、前記学習対象の魚群に含まれる個々の魚を視覚的に識別不可能な領域である学習対象の不鮮明領域、および、前記学習対象の不鮮明領域に対応する魚群の影に対応する学習対象の影領域を含む前記CG画像に関する情報が入力情報として入力された場合に、前記学習対象の不鮮明領域に対応する魚群に含まれる魚の尾数を推定するよう学習された第2機械学習モデルを生成する生成手順をさらに備え、
前記推定手順は、
前記生成手順によって生成された前記第2機械学習モデルを用いて、前記画像に関する情報から、前記不鮮明領域に対応する魚群に含まれる魚の尾数を推定する、
請求項1に記載の情報処理プログラム。
【請求項8】
前記生成手順は、
前記CG画像に関する情報として、前記CG画像、前記学習対象の不鮮明領域に関する情報、および、前記学習対象の影領域に関する情報が入力情報として入力された場合に、前記学習対象の不鮮明領域に対応する魚群に含まれる魚の尾数を出力情報として出力するよう学習された前記第2機械学習モデルを生成し、
前記推定手順は、
前記画像に関する情報として、前記画像、前記不鮮明領域に関する情報、および、前記影領域に関する情報から、前記不鮮明領域に対応する魚群に含まれる魚の尾数を推定する、
請求項7に記載の情報処理プログラム。
【請求項9】
前記生成手順は、
前記学習対象の不鮮明領域に関する情報として、前記学習対象の不鮮明領域に対応する魚群の塊の体積に関する情報、前記学習対象の不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報、および、前記学習対象の不鮮明領域に対応する魚群に含まれる魚の体積に関する情報が入力情報として入力された場合に、前記学習対象の不鮮明領域に対応する魚群に含まれる魚の尾数を出力情報として出力するよう学習された前記第2機械学習モデルを生成し、
前記推定手順は、
前記不鮮明領域に関する情報として、前記不鮮明領域に対応する魚群の塊の体積に関する情報、前記不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報、および、前記不鮮明領域に対応する魚群に含まれる魚の体積に関する情報から、前記不鮮明領域に対応する魚群に含まれる魚の尾数を推定する、
請求項8に記載の情報処理プログラム。
【請求項10】
前記生成手順は、
前記学習対象の影領域に関する情報として、前記学習対象の影領域の色の濃さを示す情報が入力情報として入力された場合に、前記学習対象の不鮮明領域に対応する魚群に含まれる魚の尾数を出力情報として出力するよう学習された前記第2機械学習モデルを生成し、
前記推定手順は、
前記影領域に関する情報として、前記影領域の色の濃さを示す情報から、前記不鮮明領域に対応する魚群に含まれる魚の尾数を推定する、
請求項8に記載の情報処理プログラム。
【請求項11】
魚群を含む画像であって、前記魚群に含まれる個々の魚を視覚的に識別不可能な領域である不鮮明領域、および、前記不鮮明領域に対応する魚群の影に対応する影領域を含む前記画像を取得する取得部と、
前記不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を推定し、前記魚同士の間の空間の体積に関する情報に基づいて、前記不鮮明領域に対応する魚群に含まれる魚の尾数を推定する推定部と、
を備える情報処理装置。
【請求項12】
情報処理装置が実行するプログラムにより実現される情報処理方法であって、
魚群を含む画像であって、前記魚群に含まれる個々の魚を視覚的に識別不可能な領域である不鮮明領域、および、前記不鮮明領域に対応する魚群の影に対応する影領域を含む前記画像を取得する取得工程と、
前記不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を推定し、前記魚同士の間の空間の体積に関する情報に基づいて、前記不鮮明領域に対応する魚群に含まれる魚の尾数を推定する推定工程と、
を含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理プログラム、情報処理装置及び情報処理方法に関する。
【背景技術】
【0002】
従来、魚の養殖技術を向上させるための様々な技術が知られている。例えば、生簀内の魚が撮影された撮影画像から、魚の数(尾数ともいう)に応じて変化する予め定められた特徴量を抽出する。そして、機械学習による特徴量と尾数との関係データである学習モデルに、抽出された特徴量を照合することにより、学習モデルから尾数を検知する技術が知られている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術では、機械学習により学習された学習モデルを用いて、画像のうち個々の魚を視覚的に識別可能な領域に含まれる魚の尾数を推定するにすぎないため、画像のうち個々の魚を視覚的に識別不可能な領域に対応する魚群に含まれる魚の尾数を推定することができるとは限らない。
【課題を解決するための手段】
【0005】
実施形態に係る情報処理プログラムは、魚群を含む画像であって、前記魚群に含まれる個々の魚を視覚的に識別不可能な領域である不鮮明領域、および、前記不鮮明領域に対応する魚群の影に対応する影領域を含む前記画像を取得する取得手順と、前記不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を推定し、前記魚同士の間の空間の体積に関する情報に基づいて、前記不鮮明領域に対応する魚群に含まれる魚の尾数を推定する推定手順と、をコンピュータに実行させる。
【発明の効果】
【0006】
実施形態の一態様によれば、画像のうち、個々の魚を視覚的に識別不可能な領域に対応する魚群に含まれる魚の尾数を推定することができるといった効果を奏する。
【図面の簡単な説明】
【0007】
【
図1】
図1は、生け簀における魚群の一例を示す図である。
【
図2】
図2は、実施形態に係る情報処理装置の構成例を示す図である。
【
図3】
図3は、不鮮明領域に対応する魚群の塊および不鮮明領域に対応する魚群の影について説明するための図である。
【
図4】
図4は、実施形態に係るCG画像の一例を示す図である。
【
図5】
図5は、不鮮明領域に対応する魚群の塊と魚のパーソナルスペースとの関係について説明するための図である。
【
図6】
図6は、魚のパーソナルスペースの一例について説明するための図である。
【
図7】
図7は、魚のパーソナルスペースの一例について説明するための図である。
【
図8】
図8は、赤色の光を照射された魚群を含む赤色画像に基づいて、魚のパーソナルスペースを推定する処理について説明するための図である。
【
図9】
図9は、実施形態に係る情報処理装置による情報処理手順を示すフローチャートである。
【
図10】
図10は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0008】
以下に、本願に係る情報処理プログラム、情報処理装置及び情報処理方法を実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理プログラム、情報処理装置及び情報処理方法が限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0009】
(実施形態)
〔1.はじめに〕
近年、魚の養殖は、地球の食糧問題を解決する手段として注目されている。魚の養殖によって高品質な魚を供給するには、給餌(魚に対する餌やり)と関わりが深い魚の尾数を正確に知ることが重要である。
【0010】
しかしながら、養殖場の水中という特殊な環境下では、地上のIT技術を活用することが難しい場合がある。そのため、従来は、人が網で一部の魚をすくい上げて計量した後に、目視で尾数を数えていた。この方法は、魚への負担が大きいうえ、正確さに欠けるといった問題がある。
【0011】
そこで近年、コンピュータビジョンを用いて生け簀における魚群(魚の群れともいう)を撮影した撮影画像から魚群の尾数を自動でカウントする方法が注目を浴びている。具体例には、撮影画像から魚群の尾数を推定するよう画像認識用の機械学習モデルを学習する方法である。より具体的には、学習済みの機械学習モデルを用いて、撮影画像中の個々の魚を検出し、検出された個々の魚の数を合計して尾数を算出する。すなわち、従来の方法では、学習済みの機械学習モデルを用いて、撮影画像中の個々の魚を視覚的に識別可能な撮影画像のうち、個々の魚を視覚的に識別可能な領域に含まれる魚の尾数を推定する。
【0012】
しかしながら、実際には、撮影画像中の個々の魚を視覚的に識別することができない撮影画像が存在する。この点について
図1を用いて説明する。
図1は、生け簀における魚群の一例を示す図である。例えば、マダイのように、野生で群れない魚種の魚群については、
図1に示すように、魚が密集しており、魚の密度が非常に高い領域(過密な領域)と、魚がまばらに存在し、魚の密度が非常に低い領域(疎な領域)とが混在することが知られている。
図1に示す生け簀における魚群を撮像した撮像画像のうち、疎な領域に対応する部分は、撮影画像中の個々の魚を視覚的に識別することができる。そのため、疎な領域に対応する部分は、従来の学習済みの機械学習モデルを用いて、撮影画像中の個々の魚を検出し、検出された個々の魚の数を合計して尾数を算出することができる。これに対し、
図1に示す生け簀における魚群を撮像した撮像画像のうち、過密な領域に対応する部分は、魚同士の境界が視覚的に不鮮明で、撮影画像を確認してもただの黒い塊にしか見えず、撮影画像中の個々の魚を視覚的に識別することができないため、一尾ずつ数えて検出することができない。すなわち、過密な領域に対応する部分は、従来の学習済みの機械学習モデルを用いて、撮影画像中の個々の魚を検出し、検出された個々の魚の数を合計して尾数を算出することが非常に困難である。
【0013】
これに対し、実施形態に係る情報処理装置100は、魚群を含む画像であって、魚群に含まれる個々の魚を視覚的に識別不可能な領域である不鮮明領域、および、不鮮明領域に対応する魚群の影に対応する影領域を含む画像を取得する。また、情報処理装置100は、不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を推定し、魚同士の間の空間の体積に関する情報に基づいて、不鮮明領域に対応する魚群に含まれる魚の尾数を推定する。これにより、情報処理装置100は、例えば、不鮮明領域に対応する魚群の塊の体積を、不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積と魚の体積とを加算した体積で除することにより、不鮮明領域に対応する魚群に含まれる魚の尾数を推定することができる。したがって、情報処理装置100は、画像のうち、個々の魚を視覚的に識別不可能な領域に対応する魚群に含まれる魚の尾数を推定することができる。
【0014】
なお、魚の大きさを表す寸法には、魚の全長、標準体長(体長)、尾叉長、体高、体幅などの種類が存在する。本願明細書において「魚の大きさ」と記載する場合には、魚の全長、標準体長(体長)、尾叉長、体高、体幅などいずれの寸法によって測定される魚の大きさをも含む概念とする。
【0015】
また、以下では、画像が動画像である場合について説明する。なお、画像は静止画像であってもよい。
【0016】
〔2.情報処理装置の構成〕
図2は、実施形態に係る情報処理装置100の構成例を示す図である。情報処理装置100は、通信部110と、記憶部120と、入力部130と、出力部140と、制御部150とを有する。
【0017】
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークと有線または無線で接続され、例えば、魚を管理する管理者によって利用される端末装置や撮像装置との間で情報の送受信を行う。
【0018】
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。具体的には、記憶部120は、各種プログラム(情報処理プログラムの一例)を記憶する。
【0019】
(入力部130)
入力部130は、利用者から各種操作が入力される。例えば、入力部130は、タッチパネル機能により表示面(例えば出力部140)を介して利用者からの各種操作を受け付けてもよい。また、入力部130は、情報処理装置100に設けられたボタンや、情報処理装置100に接続されたキーボードやマウスからの各種操作を受け付けてもよい。
【0020】
(出力部140)
出力部140は、例えば、液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイ等によって実現される表示画面であり、各種情報を表示するための表示装置である。出力部140は、制御部150の制御に従って、各種情報を表示する。なお、情報処理装置100にタッチパネルが採用される場合には、入力部130と出力部140とは一体化される。また、以下の説明では、出力部140を画面と記載する場合がある。
【0021】
(制御部150)
制御部150は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置100内部の記憶装置に記憶されている各種プログラム(情報処理プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部150は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0022】
制御部150は、取得部151と、生成部152と、推定部153と、出力制御部154を機能部として有し、以下に説明する情報処理の作用を実現または実行してよい。なお、制御部150の内部構成は、
図2に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、各機能部は、制御部150の機能を示したものであり、必ずしも物理的に区別されるものでなくともよい。
【0023】
図3は、不鮮明領域に対応する魚群の塊および不鮮明領域に対応する魚群の影について説明するための図である。ここで、「不鮮明領域」とは、魚群を含む画像のうち、魚群に含まれる個々の魚を視覚的に識別不可能な領域のことを指す。言い換えると、「不鮮明領域」とは、魚群を含む画像のうち、個々の魚の境界が視覚的に不鮮明な領域のことを指す。また、以下では、画像のうち、不鮮明領域に対応する魚群の影に対応する領域のことを「影領域」と記載する場合がある。
【0024】
図3は、生け簀1における魚群を示す。生け簀1には、
図1で説明したような過密な領域と疎な領域が混在している。以下では、過密な領域のことを、「不鮮明領域に対応する魚群の塊」と記載する場合がある。例えば、情報処理装置100は、RGBカメラまたはソナーを用いて、不鮮明領域に対応する魚群の塊を検出してよい。
図3では、不鮮明領域に対応する魚群の塊2と、不鮮明領域に対応する魚群の塊2の影3を示す。また、
図3では、疎な領域に所在する魚22の影31を示す。上述したように、過密な領域に対応する部分は、魚同士の境界が視覚的に不鮮明で、撮影画像を確認してもただの黒い塊にしか見えず、撮影画像中の個々の魚を視覚的に識別することができないため、一尾ずつ数えて検出することができない。そこで、情報処理装置100は、不鮮明領域に対応する魚群の塊は塊ごとに何尾であると推定する。また、情報処理装置100は、不鮮明領域に対応する魚群の塊の尾数と疎な領域に所在する魚の尾数を合計して、生け簀全体における魚の尾数を推定する。
【0025】
ここで、不鮮明領域に対応する魚群の塊2の影3の色が濃いことは、不鮮明領域に対応する魚群に含まれる魚同士の距離が近い(密である)ことと相関があると考えられる。また、不鮮明領域に対応する魚群の塊2の影3の色が薄いことは、不鮮明領域に対応する魚群に含まれる魚同士の距離がやや離れている(やや疎である)ことと相関があると考えられる。すなわち、不鮮明領域に対応する魚群の影に対応する影領域と、不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積(以下、「魚のパーソナルスペース」と記載する場合がある)との間には、相関関係があると考えられる。つまり、不鮮明領域に対応する魚群の塊2の影3を示す影領域の濃さを示す情報は、後述する機械学習モデルM1およびM2により不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積を推定する際の手がかりとなると考えられる。そこで、情報処理装置100は、画像のうち、不鮮明領域に対応する魚群の塊2の影3を示す影領域の濃さを示す情報(例えば、RGB値の値など)を後述する機械学習モデルM1およびM2の入力情報として入力する。
【0026】
(取得部151)
取得部151は、魚群を含む画像であって、魚群に含まれる個々の魚を視覚的に識別不可能な領域である不鮮明領域、および、不鮮明領域に対応する魚群の影に対応する影領域を含む画像を取得する。例えば、取得部151は、通信部110を介して、撮像装置から画像を取得してよい。
【0027】
(生成部152)
生成部152は、コンピュータグラフィックスにより生成された学習対象の魚群を含むCG画像であって、学習対象の魚群に含まれる個々の魚を視覚的に識別不可能な領域である学習対象の不鮮明領域、および、学習対象の不鮮明領域に対応する魚群の影に対応する学習対象の影領域を含むCG画像に関する情報が入力情報として入力された場合に、学習対象の不鮮明領域に対応する魚群に含まれる魚の尾数を推定するよう学習された第1機械学習モデルM1を生成する。具体的には、生成部152は、CG画像に関する情報として、CG画像、学習対象の不鮮明領域に関する情報、および、学習対象の影領域に関する情報が入力情報として入力された場合に、学習対象の不鮮明領域に対応する魚群に含まれる魚の尾数を出力情報として出力するよう学習された第1機械学習モデルM1を生成する。
【0028】
より具体的には、生成部152は、学習対象の不鮮明領域に関する情報として、学習対象の不鮮明領域に対応する魚群の塊の体積に関する情報、学習対象の不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報、および、学習対象の不鮮明領域に対応する魚群に含まれる魚の体積に関する情報が入力情報として入力された場合に、学習対象の不鮮明領域に対応する魚群に含まれる魚の尾数を出力情報として出力するよう学習された第1機械学習モデルM1を生成する。
【0029】
例えば、生成部152は、コンピュータグラフィックスにより生成された学習対象の魚群を含むCG画像であって、学習対象の魚群に含まれる個々の魚を視覚的に識別不可能な領域である学習対象の不鮮明領域、および、学習対象の不鮮明領域に対応する魚群の影に対応する学習対象の影領域を含むCG画像に関する情報が入力情報として入力された場合に、学習対象の不鮮明領域に対応する魚群の塊の体積を出力情報として出力する機械学習モデルM11を生成する。続いて、生成部152は、機械学習モデルM11を用いて、CG画像から、学習対象の不鮮明領域に対応する魚群の塊の体積に関する情報を推定する。例えば、生成部152は、機械学習モデルM11を用いて、学習対象の不鮮明領域に対応する魚群の塊の体積に関する情報の一例として、コンピュータグラフィックスにより生成された3次元CGの生け簀における魚群の塊のXYZ軸の各方向における長さを推定してよい。続いて、生成部152は、機械学習モデルM11を用いて推定した学習対象の不鮮明領域に対応する魚群の塊の体積に関する情報を入力情報として第1機械学習モデルM1に入力してよい。
【0030】
また、生成部152は、コンピュータグラフィックスにより生成された学習対象の魚群を含むCG画像であって、学習対象の魚群に含まれる個々の魚を視覚的に識別不可能な領域である学習対象の不鮮明領域、および、学習対象の不鮮明領域に対応する魚群の影に対応する学習対象の影領域を含むCG画像に関する情報が入力情報として入力された場合に、学習対象の不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を出力情報として出力するよう学習された第2機械学習モデルM2を生成する。生成部152は、第2機械学習モデルM2を用いて、学習対象の不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を推定する。例えば、生成部152は、第2機械学習モデルM2を用いて、学習対象の不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報の一例として、後述する
図6および
図7に示す距離A、BおよびCの長さを推定してよい。続いて、生成部152は、第2機械学習モデルM2を用いて推定した学習対象の不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を入力情報として第1機械学習モデルM1に入力してよい。
【0031】
生成部152は、疎な領域における魚の大きさ(つまり、魚の体積)を推定する公知の機械学習モデルを用いて、CG画像から、学習対象の不鮮明領域に対応する魚群に含まれる魚の体積に関する情報を推定する。例えば、生成部152は、公知の機械学習モデルを用いて、学習対象の不鮮明領域に対応する魚群に含まれる魚の体積に関する情報の一例として、後述する
図6および
図7に示す魚の尾斜長41、体幅42および体高43を推定してよい。続いて、生成部152は、公知の機械学習モデルを用いて推定した学習対象の不鮮明領域に対応する魚群に含まれる魚の体積に関する情報を入力情報として第1機械学習モデルM1に入力してよい。なお、不鮮明領域に対応する魚群の塊は、塊が一定の速度で水中を移動することから、不鮮明領域に対応する魚群の塊の中にいる魚が泳ぐ速度がほぼ同じであると考えられる。また、魚が泳ぐ速度は、魚の大きさに比例するため、不鮮明領域に対応する魚群の塊の中にいる魚の大きさ(つまり、魚の体積)は、ほぼ同一であると考えらえる。また、生け簀における魚の大きさ(つまり、魚の体積)は、おおよそわかっている。そこで、CG画像に用いられる魚の大きさ(つまり、魚の体積)が既知である場合は、学習対象の不鮮明領域に対応する魚群に含まれる魚の体積に関する情報として、既知の魚の大きさ(つまり、魚の体積)を入力情報として第1機械学習モデルM1に入力してもよい。
【0032】
また、生成部152は、学習対象の影領域に関する情報として、学習対象の影領域の色の濃さを示す情報が入力情報として入力された場合に、学習対象の不鮮明領域に対応する魚群に含まれる魚の尾数を出力情報として出力するよう学習された第1機械学習モデルM1を生成する。例えば、生成部152は、学習対象の影領域の色の濃さを示す情報の一例として、学習対象の影領域のRGB値の値を入力情報として第1機械学習モデルM1に入力してよい。
【0033】
図4は、実施形態に係るCG画像の一例を示す図である。
図4は、生け簀の水中から水面を見た際の魚群を含むCG画像である。生成部152は、コンピュータグラフィックスにより、魚群における魚が過密な状態を作って、引いた状態で仮想カメラにより撮影することにより、学習対象の不鮮明領域、および、学習対象の不鮮明領域に対応する魚群の影に対応する学習対象の影領域を含むCG画像を生成する。また、生成部152は、生け簀の水上に位置する太陽の位置や天気による水中照度を変化させたCG画像を生成する。続いて、生成部152は、生成したCG画像を第1機械学習モデルM1の入力情報とする。
【0034】
図5は、不鮮明領域に対応する魚群の塊と魚のパーソナルスペースとの関係について説明するための図である。ここで、魚のパーソナルスペースとは、魚にとって快適な距離を保つ空間のことを指す。
図5に示すように、不鮮明領域に対応する魚群の塊2の中には、多数の魚4が、相互に魚のパーソナルスペース20だけ間隔を空けた状態で密集している。言い換えると、不鮮明領域に対応する魚群の塊の中には、不鮮明領域に対応する魚群に含まれる魚4の体積と、不鮮明領域に対応する魚群に含まれる魚同士の間の空間20の体積とを加算した多数のラグビーボール状の体積が詰まっている状態である。したがって、不鮮明領域に対応する魚群の塊2の体積を、不鮮明領域に対応する魚群に含まれる魚4の体積と不鮮明領域に対応する魚群に含まれる魚同士の間の空間20の体積とを加算した体積で除することにより、不鮮明領域に対応する魚群に含まれる魚の尾数を推定することができる。
【0035】
図6および
図7は、魚のパーソナルスペースの一例について説明するための図である。
図6および
図7では、魚にとって快適な距離が3魚身である場合について説明するが、過密な状態における魚にとっての快適な距離は、0.5魚身、1魚身、1.5魚身、または2魚身であってもよい。
【0036】
図6では、中央の魚4と、中央の魚4の両隣に並んで泳ぐ魚それぞれとの間の距離Bは、中央の魚4の体幅42の3倍の距離であることを示す。また、
図6に示す例では、中央の魚4の体積は、中央の魚4の尾斜長41、中央の魚4の体幅42、および、中央の魚4の体高43によって近似的に算出することができる。
【0037】
図7では、中央の魚4と、中央の魚4の前後を泳ぐ魚それぞれとの間の距離Aは、
図6に示す中央の魚4の尾斜長41の3倍の距離であることを示す。また、中央の魚4と、中央の魚4の上下を泳ぐ魚それぞれとの間の距離Cは、
図6に示す中央の魚4の体高43の3倍の距離であることを示す。魚群に含まれる各魚は、
図7に示すラグビーボールのような魚のパーソナルスペース20を保って泳ぐ。また、
図7に示す例では、魚のパーソナルスペース20の体積は、距離A、BおよびCによって近似的に算出することができる。
【0038】
(推定部153)
推定部153は、生成部152によって生成された第1機械学習モデルM1を用いて、画像に関する情報から、不鮮明領域に対応する魚群に含まれる魚の尾数を推定する。具体的には、推定部153は、画像に関する情報として、画像、不鮮明領域に関する情報、および、影領域に関する情報から、不鮮明領域に対応する魚群に含まれる魚の尾数を推定する。より具体的には、推定部153は、不鮮明領域に関する情報として、不鮮明領域に対応する魚群の塊の体積に関する情報、不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報、および、不鮮明領域に対応する魚群に含まれる魚の体積に関する情報から、不鮮明領域に対応する魚群に含まれる魚の尾数を推定する。また、推定部153は、影領域に関する情報として、影領域の色の濃さを示す情報から、不鮮明領域に対応する魚群に含まれる魚の尾数を推定する。
【0039】
推定部153は、不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を推定し、魚同士の間の空間の体積に関する情報に基づいて、不鮮明領域に対応する魚群に含まれる魚の尾数を推定する。
【0040】
図8は、赤色の光を照射された魚群を含む赤色画像に基づいて、魚のパーソナルスペースを推定する処理について説明するための図である。推定部153は、不鮮明領域に対応する魚群のうち、赤色の光を照射された魚群である赤色魚群を含む赤色画像に基づいて、不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を推定する。
【0041】
具体的には、推定部153は、赤色の光を照射された水中の参照物体を含む参照画像であって、水中の撮像装置により撮像された参照画像のうち、参照物体が占める物体領域における輝度値である参照輝度値と、撮像装置から参照物体までの距離である参照距離との関係性を示す参照情報を取得する。続いて、推定部153は、参照情報と、赤色画像のうち、赤色魚群に含まれる個々の魚が占める魚領域における輝度値である魚輝度値との比較に基づいて、撮像装置から赤色魚群に含まれる個々の魚までの距離である魚距離を推定する。続いて、推定部153は、魚距離に基づいて、赤色魚群に含まれる魚同士の相対距離を推定する。続いて、推定部153は、魚同士の相対距離に基づいて、不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を推定する。
【0042】
また、推定部153は、魚同士の相対距離の平均に基づいて、不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を推定する。
【0043】
また、推定部153は、魚同士の相対距離の時間平均に基づいて、不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を推定する。
【0044】
(出力制御部154)
出力制御部154は、推定部153が推定した推定結果を画面に表示するよう制御する。
【0045】
〔3.情報処理手順〕
図9は、実施形態に係る情報処理装置100による情報処理手順を示すフローチャートである。
図9では、生成部152は、魚群および魚群の影を含むCG画像に関する情報が入力情報として入力された場合に、CG画像のうち、魚群に含まれる個々の魚を視覚的に識別不可能な領域である不鮮明領域に対応する魚群に含まれる魚の尾数を出力情報として出力するよう学習された第1機械学習モデルを生成する(ステップS101)。
【0046】
また、推定部153は、生成部152によって生成された第1機械学習モデルを用いて、処理対象の魚群および処理対象の魚群の影を含む処理対象の画像に関する情報から、処理対象の魚群に含まれる個々の魚を視覚的に識別不可能な領域である処理対象の不鮮明領域に対応する魚群に含まれる魚の尾数を推定する(ステップS102)。
【0047】
続いて、推定部153は、処理対象の不鮮明領域に対応する魚群に含まれる魚の尾数に基づいて、生け簀に所在する魚の尾数を推定する(ステップS103)。
【0048】
〔4.変形例〕
上述の実施形態は一例を示したものであり、種々の変更及び応用が可能である。ここから、実施形態の変形例について説明する。
【0049】
上述した実施形態では、推定部153が、不鮮明領域に対応する魚群のうち、赤色の光を照射された魚群である赤色魚群を含む赤色画像に基づいて、不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を推定する場合について説明した。変形例では、推定部153は、生成部152によって生成された第2機械学習モデルM2を用いて、画像から不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を推定する。例えば、推定部153は、第2機械学習モデルM2に画像を入力することにより、不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を推定結果として得る。
【0050】
〔5.効果〕
上述したように、実施形態に係る情報処理装置100は、取得部151と推定部153を備える。取得部151は、魚群を含む画像であって、魚群に含まれる個々の魚を視覚的に識別不可能な領域である不鮮明領域、および、不鮮明領域に対応する魚群の影に対応する影領域を含む画像を取得する。推定部153は、不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を推定し、魚同士の間の空間の体積に関する情報に基づいて、不鮮明領域に対応する魚群に含まれる魚の尾数を推定する。
【0051】
これにより、情報処理装置100は、例えば、不鮮明領域に対応する魚群の塊の体積を、不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積と魚の体積とを加算した体積で除することにより、不鮮明領域に対応する魚群に含まれる魚の尾数を推定することができる。したがって、情報処理装置100は、画像のうち、個々の魚を視覚的に識別不可能な領域に対応する魚群に含まれる魚の尾数を推定することができる。また、情報処理装置100は、画像のうち、個々の魚を視覚的に識別不可能な領域に対応する魚群に含まれる魚の尾数を推定することができるので、持続可能な開発目標(SDGs)の目標9「産業と技術革新の基盤をつくろう」の達成に貢献できる。
【0052】
また、推定部153は、不鮮明領域に対応する魚群のうち、赤色の光を照射された魚群である赤色魚群を含む赤色画像に基づいて、不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を推定する。
【0053】
これにより、情報処理装置100は、不鮮明領域に対応する魚群に赤色の光を照射し、赤色の光を照射された魚群である赤色魚群を含む赤色画像を取得することができる場合、不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を推定することができる。
【0054】
また、推定部153は、赤色の光を照射された水中の参照物体を含む参照画像であって、水中の撮像装置により撮像された参照画像のうち、参照物体が占める物体領域における輝度値である参照輝度値と、撮像装置から参照物体までの距離である参照距離との関係性を示す参照情報と、赤色画像のうち、赤色魚群に含まれる個々の魚が占める魚領域における輝度値である魚輝度値との比較に基づいて、撮像装置から赤色魚群に含まれる個々の魚までの距離である魚距離を推定し、魚距離に基づいて、赤色魚群に含まれる魚同士の相対距離を推定し、魚同士の相対距離に基づいて、不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を推定する。
【0055】
これにより、情報処理装置100は、撮像装置から赤色魚群に含まれる個々の魚までの距離である魚距離を推定することができるので、例えば、魚距離に基づいて、赤色魚群に含まれる魚同士の相対距離を推定し、魚同士の相対距離に基づいて、不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を推定することができる。
【0056】
また、推定部153は、魚同士の相対距離の平均に基づいて、不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を推定する。
【0057】
これにより、情報処理装置100は、不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を精度よく推定することができる。
【0058】
また、推定部153は、魚同士の相対距離の時間平均に基づいて、不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を推定する。
【0059】
これにより、情報処理装置100は、不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を精度よく推定することができる。
【0060】
また、情報処理装置100は、生成部152をさらに備える。生成部152は、コンピュータグラフィックスにより生成された学習対象の魚群を含むCG画像であって、学習対象の魚群に含まれる個々の魚を視覚的に識別不可能な領域である学習対象の不鮮明領域、および、学習対象の不鮮明領域に対応する魚群の影に対応する学習対象の影領域を含むCG画像に関する情報が入力情報として入力された場合に、学習対象の不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を出力情報として出力するよう学習された第1機械学習モデルを生成する。推定部153は、生成部152によって生成された第1機械学習モデルを用いて、画像から不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を推定する。
【0061】
これにより、情報処理装置100は、不鮮明領域に対応する魚群に赤色の光を照射し、赤色の光を照射された魚群である赤色魚群を含む赤色画像を取得することができない場合であっても、第1機械学習モデルを用いて、画像から不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報を推定することができる。
【0062】
また、生成部152は、コンピュータグラフィックスにより生成された学習対象の魚群を含むCG画像であって、学習対象の魚群に含まれる個々の魚を視覚的に識別不可能な領域である学習対象の不鮮明領域、および、学習対象の不鮮明領域に対応する魚群の影に対応する学習対象の影領域を含むCG画像に関する情報が入力情報として入力された場合に、学習対象の不鮮明領域に対応する魚群に含まれる魚の尾数を推定するよう学習された第2機械学習モデルを生成する。推定部153は、生成部152によって生成された第2機械学習モデルを用いて、画像に関する情報から、不鮮明領域に対応する魚群に含まれる魚の尾数を推定する。
【0063】
これにより、情報処理装置100は、第2機械学習モデルを用いることで、画像に関する情報から、不鮮明領域に対応する魚群に含まれる魚の尾数を精度よく推定することができる。
【0064】
また、生成部152は、CG画像に関する情報として、CG画像、学習対象の不鮮明領域に関する情報、および、学習対象の影領域に関する情報が入力情報として入力された場合に、学習対象の不鮮明領域に対応する魚群に含まれる魚の尾数を出力情報として出力するよう学習された第2機械学習モデルを生成する。推定部153は、画像に関する情報として、画像、不鮮明領域に関する情報、および、影領域に関する情報から、不鮮明領域に対応する魚群に含まれる魚の尾数を推定する。
【0065】
これにより、情報処理装置100は、画像、不鮮明領域に関する情報、および、影領域に関する情報を学習した第2機械学習モデルを用いることで、画像に関する情報から、不鮮明領域に対応する魚群に含まれる魚の尾数を精度よく推定することができる。
【0066】
また、生成部152は、学習対象の不鮮明領域に関する情報として、学習対象の不鮮明領域に対応する魚群の塊の体積に関する情報、学習対象の不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報、および、学習対象の不鮮明領域に対応する魚群に含まれる魚の体積に関する情報が入力情報として入力された場合に、学習対象の不鮮明領域に対応する魚群に含まれる魚の尾数を出力情報として出力するよう学習された第2機械学習モデルを生成する。推定部153は、不鮮明領域に関する情報として、不鮮明領域に対応する魚群の塊の体積に関する情報、不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報、および、不鮮明領域に対応する魚群に含まれる魚の体積に関する情報から、不鮮明領域に対応する魚群に含まれる魚の尾数を推定する。
【0067】
これにより、情報処理装置100は、不鮮明領域に対応する魚群の塊の体積に関する情報、不鮮明領域に対応する魚群に含まれる魚同士の間の空間の体積に関する情報、および、不鮮明領域に対応する魚群に含まれる魚の体積に関する情報を学習した第2機械学習モデルを用いることで、画像に関する情報から、不鮮明領域に対応する魚群に含まれる魚の尾数を精度よく推定することができる。
【0068】
また、生成部152は、学習対象の影領域に関する情報として、学習対象の影領域の色の濃さを示す情報が入力情報として入力された場合に、学習対象の不鮮明領域に対応する魚群に含まれる魚の尾数を出力情報として出力するよう学習された第2機械学習モデルを生成する。推定部153は、影領域に関する情報として、影領域の色の濃さを示す情報から、不鮮明領域に対応する魚群に含まれる魚の尾数を推定する。
【0069】
これにより、情報処理装置100は、影領域の色の濃さを示す情報を学習した第2機械学習モデルを用いることで、画像に関する情報から、不鮮明領域に対応する魚群に含まれる魚の尾数を精度よく推定することができる。
【0070】
〔6.ハードウェア構成〕
また、上述してきた実施形態に係る情報処理装置100は、例えば
図10に示すような構成のコンピュータ1000によって実現される。
図10は、情報処理装置100の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を備える。
【0071】
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0072】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、所定の通信網を介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを所定の通信網を介して他の機器へ送信する。
【0073】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。
【0074】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0075】
例えば、コンピュータ1000が実施形態に係る情報処理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部150の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から所定の通信網を介してこれらのプログラムを取得してもよい。
【0076】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0077】
〔7.その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0078】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0079】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【符号の説明】
【0080】
100 情報処理装置
110 通信部
120 記憶部
130 入力部
140 出力部
150 制御部
151 取得部
152 生成部
153 推定部
154 出力制御部