(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022109796
(43)【公開日】2022-07-28
(54)【発明の名称】情報処理プログラム及び情報処理装置
(51)【国際特許分類】
G06T 13/20 20110101AFI20220721BHJP
G06T 1/40 20060101ALI20220721BHJP
G06T 13/40 20110101ALI20220721BHJP
【FI】
G06T13/20 500
G06T1/40
G06T13/40
【審査請求】有
【請求項の数】24
【出願形態】OL
(21)【出願番号】P 2021005321
(22)【出願日】2021-01-15
(71)【出願人】
【識別番号】501440684
【氏名又は名称】ソフトバンク株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】石若 裕子
【テーマコード(参考)】
5B050
5B057
【Fターム(参考)】
5B050AA08
5B050AA09
5B050BA08
5B050BA09
5B050CA01
5B050EA24
5B050EA26
5B050FA02
5B050FA05
5B050FA10
5B057BA04
5B057CE08
5B057CH20
5B057DA16
5B057DC40
(57)【要約】
【課題】画像に含まれる動きを伴う対象物の識別精度を向上させる。
【解決手段】本願に係る情報処理プログラムは、対象物の骨格を示す骨格モデルの姿勢を示す姿勢情報と既存の楽曲に対応する楽譜における音楽記号を示す音楽情報とが対応付けられた姿勢辞書情報に基づいて、楽譜に応じて姿勢を時系列変化させることで、対象物の動きを示すシミュレーション動画を生成する生成手順と、をコンピュータに実行させる。
【選択図】
図2
【特許請求の範囲】
【請求項1】
対象物の骨格を示す骨格モデルの姿勢を示す姿勢情報と既存の楽曲に対応する楽譜における音楽記号を示す音楽情報とが対応付けられた姿勢辞書情報に基づいて、前記楽譜に応じて前記姿勢を時系列変化させることで、前記対象物の動きを示すシミュレーション動画を生成する生成手順と、
をコンピュータに実行させるための情報処理プログラム。
【請求項2】
前記生成手順は、
前記骨格モデルのボディ全体の姿勢を示す前記姿勢情報と前記既存の楽曲の主旋律に対応するパート譜における音楽記号を示す前記音楽情報とが対応付けられた前記姿勢辞書情報に基づいて、前記主旋律に応じて前記ボディ全体の姿勢を時系列変化させることで、前記シミュレーション動画を生成する、
請求項1に記載の情報処理プログラム。
【請求項3】
前記生成手順は、
前記ボディ全体の姿勢を維持する時間の長さを示す前記姿勢情報と前記主旋律に対応するパート譜における音符の音の長さを示す前記音楽情報とが対応付けられた前記姿勢辞書情報に基づいて、前記シミュレーション動画を生成する、
請求項2に記載の情報処理プログラム。
【請求項4】
前記生成手順は、
前記ボディ全体の中心位置の高さを示す前記姿勢情報と前記主旋律に対応するパート譜における音符の音の高さを示す前記音楽情報とが対応付けられた前記姿勢辞書情報に基づいて、前記シミュレーション動画を生成する、
請求項2または3に記載の情報処理プログラム。
【請求項5】
前記生成手順は、
前記ボディ全体の平均速度を示す前記姿勢情報と前記主旋律に対応するパート譜における速度記号を示す前記音楽情報とが対応付けられた前記姿勢辞書情報に基づいて、前記シミュレーション動画を生成する、
請求項2~4のいずれか1項に記載の情報処理プログラム。
【請求項6】
前記生成手順は、
前記ボディ全体の動きの基本リズムを示す前記姿勢情報と前記主旋律に対応するパート譜における拍子記号を示す前記音楽情報とが対応付けられた前記姿勢辞書情報に基づいて、前記シミュレーション動画を生成する、
請求項2~5のいずれか1項に記載の情報処理プログラム。
【請求項7】
前記生成手順は、
前記ボディ全体の進行方向の角度を示す前記姿勢情報と前記主旋律に対応するパート譜の各小節に付されたベクトル記号を示す前記音楽情報とが対応付けられた前記姿勢辞書情報に基づいて、前記シミュレーション動画を生成する、
請求項2~6のいずれか1項に記載の情報処理プログラム。
【請求項8】
前記生成手順は、
前記骨格モデルを構成する関節群の姿勢を示す前記姿勢情報と前記既存の楽曲の主旋律以外の他の旋律に対応するパート譜における音楽記号を示す前記音楽情報とが対応付けられた前記姿勢辞書情報に基づいて、前記他の旋律に応じて前記関節群の姿勢を時系列変化させることで、前記シミュレーション動画を生成する、
請求項1~7のいずれか1項に記載の情報処理プログラム。
【請求項9】
前記生成手順は、
前記関節群の異なる複数の姿勢それぞれを示す前記姿勢情報と前記他の旋律に対応するパート譜における異なる複数のコードそれぞれを示す前記音楽情報とが対応付けられた前記姿勢辞書情報に基づいて、前記他の旋律に応じて前記関節群の姿勢を時系列変化させることで、前記シミュレーション動画を生成する、
請求項8に記載の情報処理プログラム。
【請求項10】
前記生成手順は、
前記関節群を構成する異なる複数の関節それぞれの角度を示す前記姿勢情報と前記他の旋律に対応するパート譜における和音を構成する異なる複数の音符それぞれを示す前記音楽情報とが対応付けられた前記姿勢辞書情報に基づいて、前記他の旋律に応じて前記複数の関節それぞれの角度を時系列変化させることで、前記シミュレーション動画を生成する、
請求項8または9に記載の情報処理プログラム。
【請求項11】
前記生成手順は、
前記関節群の姿勢を維持する時間の長さを示す前記姿勢情報と前記他の旋律に対応するパート譜における音符の音の長さを示す前記音楽情報とが対応付けられた前記姿勢辞書情報に基づいて、前記シミュレーション動画を生成する、
請求項8~10のいずれか1項に記載の情報処理プログラム。
【請求項12】
前記生成手順は、
前記関節群の中心位置の高さを示す前記姿勢情報と前記他の旋律に対応するパート譜における音符の音の高さを示す前記音楽情報とが対応付けられた前記姿勢辞書情報に基づいて、前記シミュレーション動画を生成する、
請求項8~11のいずれか1項に記載の情報処理プログラム。
【請求項13】
前記生成手順は、
前記関節群の姿勢の可動域の範囲を示す前記姿勢情報と前記他の旋律に対応するパート譜における音符の音の高さの範囲を示す前記音楽情報とが対応付けられた前記姿勢辞書情報に基づいて、前記シミュレーション動画を生成する、
請求項8~12のいずれか1項に記載の情報処理プログラム。
【請求項14】
前記対象物は、コンピュータグラフィックスにより生成されたCGキャラクターであり、
前記生成手順は、
前記CGキャラクターの特定の姿勢であるキーポーズを示す前記姿勢情報と前記楽譜の横軸の所定のタイミングにおける音楽記号を示す前記音楽情報とが対応付けられた前記姿勢辞書情報に基づいて、前記シミュレーション動画を生成する、
請求項1~13のいずれか1項に記載の情報処理プログラム。
【請求項15】
前記生成手順は、
前記楽譜におけるアーティキュレーションに関する補助記号に基づいて、前記CGキャラクターの異なる2つの前記キーポーズの間の姿勢を補完することで、前記シミュレーション動画を生成する、
請求項14に記載の情報処理プログラム。
【請求項16】
前記生成手順は、
前記コンピュータグラフィックスにより生成された仮想空間に位置する前記CGキャラクターを見る視聴者の視点に対応する仮想的なカメラの姿勢を示すカメラ姿勢情報と既存の楽曲に対応する楽譜における音楽記号を示す音楽情報とが対応付けられたカメラ姿勢辞書情報に基づいて、前記楽譜に応じて前記仮想的なカメラの姿勢を時系列変化させることで、前記仮想的なカメラの視点から見た前記シミュレーション動画をさらに生成する、
請求項14または15に記載の情報処理プログラム。
【請求項17】
前記生成手順は、
前記シミュレーション動画のシミュレーションに用いられたパラメータ情報に基づいてラベル情報を生成し、
前記シミュレーション動画と前記ラベル情報とを含む正解データを生成する、
請求項1~16のいずれか1項に記載の情報処理プログラム。
【請求項18】
前記生成手順は、
前記パラメータ情報として、前記対象物を識別する対象物識別情報と、前記対象物の位置情報と、前記対象物の骨格を示す骨格モデルの姿勢を示す姿勢情報とに基づいて、前記ラベル情報を生成する、
請求項17に記載の情報処理プログラム。
【請求項19】
前記生成手順は、
前記シミュレーション動画が分析モデルに入力された場合に、前記正解データが前記分析モデルから出力されるよう前記分析モデルを学習させることで、前記分析モデルを生成する、
請求項17または18に記載の情報処理プログラム。
【請求項20】
前記生成手順によって生成された前記分析モデルを用いて、前記対象物を撮像した撮像画像から前記対象物を識別する対象物識別情報と、前記対象物の位置情報と、前記対象物の骨格を示す骨格モデルの姿勢を示す姿勢情報とを推定する推定手順、
をコンピュータに実行させる請求項19に記載の情報処理プログラム。
【請求項21】
対象物の骨格を示す骨格モデルの姿勢を示す姿勢情報と既存の楽曲に対応する楽譜における音楽記号を示す音楽情報とが対応付けられた姿勢辞書情報に基づいて、前記楽譜に応じて前記姿勢を時系列変化させることで、前記対象物の動きを示すシミュレーション動画を生成する生成部と、
を備える情報処理装置。
【請求項22】
対象物の骨格を示す骨格モデルの姿勢を示す姿勢情報と既存の楽曲に対応する楽譜における音楽記号を示す音楽情報とが対応付けられた姿勢辞書情報に基づいて、前記楽譜に応じて前記姿勢を時系列変化させることで生成された前記対象物の動きを示すシミュレーション動画と、前記シミュレーション動画のシミュレーションに用いられたパラメータ情報に基づいて生成されたラベル情報とを含む正解データに基づいて学習された分析モデルを取得する取得手順と、
前記取得手順によって取得された分析モデルを用いて、前記対象物を撮像した撮像動画から前記対象物の骨格を示す骨格モデルの姿勢に対応する音楽記号の時系列データである楽譜を生成する生成手順と、
をコンピュータに実行させるための情報処理プログラム。
【請求項23】
前記生成手順によって生成された楽譜に基づいて再生される音を前記対象物の管理者によって利用される端末装置に出力するよう制御する出力制御手順、
をコンピュータに実行させる請求項22に記載の情報処理プログラム。
【請求項24】
前記生成手順は、
前記対象物による異常行動が検出された場合に、前記楽譜を生成し、
前記出力制御手順は、
前記生成手順によって生成された楽譜に基づいて再生されるアラート音を前記端末装置に出力するよう制御する、
請求項23に記載の情報処理プログラム。
【請求項25】
対象物の骨格を示す骨格モデルの姿勢を示す姿勢情報と既存の楽曲に対応する楽譜における音楽記号を示す音楽情報とが対応付けられた姿勢辞書情報に基づいて、前記楽譜に応じて前記姿勢を時系列変化させることで生成された前記対象物の動きを示すシミュレーション動画と、前記シミュレーション動画のシミュレーションに用いられたパラメータ情報に基づいて生成されたラベル情報とを含む正解データに基づいて学習された分析モデルを取得する取得部と、
前記取得部によって取得された分析モデルを用いて、前記対象物を撮像した動画から前記対象物の骨格を示す骨格モデルの姿勢に対応する音楽記号の時系列データである楽譜を生成する生成部と、
を備える情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理プログラム及び情報処理装置に関する。
【背景技術】
【0002】
従来、ニューラルネットワークによる画像の特徴抽出に関する技術が提供されている。例えば、畳み込みニューラルネットワーク(Convolutional Neural Network)により、画像に含まれる対象物を識別する技術が提供されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術では、画像に含まれる対象物のレイアウトや画像特徴量に基づいて画像に含まれる対象物を識別するにすぎないため、画像に含まれる動きを伴う対象物の識別精度を向上させることができるとは限らない。
【課題を解決するための手段】
【0005】
実施形態に係る情報処理プログラムは、対象物の骨格を示す骨格モデルの姿勢を示す姿勢情報と既存の楽曲に対応する楽譜における音楽記号を示す音楽情報とが対応付けられた姿勢辞書情報に基づいて、前記楽譜に応じて前記姿勢を時系列変化させることで、前記対象物の動きを示すシミュレーション動画を生成する生成手順と、をコンピュータに実行させる。
【0006】
また、実施形態に係る情報処理プログラムは、対象物の骨格を示す骨格モデルの姿勢を示す姿勢情報と既存の楽曲に対応する楽譜における音楽記号を示す音楽情報とが対応付けられた姿勢辞書情報に基づいて、前記楽譜に応じて前記姿勢を時系列変化させることで生成された前記対象物の動きを示すシミュレーション動画と、前記シミュレーション動画のシミュレーションに用いられたパラメータ情報に基づいて生成されたラベル情報とを含む正解データに基づいて学習された分析モデルを取得する取得手順と、前記取得手順によって取得された分析モデルを用いて、前記対象物を撮像した撮像動画から前記対象物の骨格を示す骨格モデルの姿勢に対応する音楽記号の時系列データである楽譜を生成する生成手順と、をコンピュータに実行させる。
【図面の簡単な説明】
【0007】
【
図1】
図1は、実施形態に係る情報処理の概要を説明する図である。
【
図2】
図2は、実施形態に係る姿勢辞書情報の一例を説明する図である。
【
図3】
図3は、実施形態に係る姿勢辞書情報の一例を説明する図である。
【
図4】
図4は、実施形態に係る情報処理装置の一例を示す図である。
【
図5】
図5は、実施形態に係る姿勢辞書情報記憶部の一例を説明する図である。
【
図6】
図6は、実施形態に係るMIDIデータ形式のファイル(MIDI Like data)の一例を説明する図である。
【
図7】
図7は、魚の異常行動に対応する楽譜の一例を説明する図である。
【
図8】
図8は、奇形魚の泳ぎに対応する楽譜の一例を示す図である。
【
図9】
図9は、実施形態に係る画像要素のバリエーションを示す図である。
【
図10】
図10は、実施形態に係る画像要素のバリエーションを示す図である。
【
図11】
図11は、実施形態に係る画像要素のバリエーションを示す図である。
【
図12】
図12は、実施形態に係る反射像に起因するノイズを除去する機械学習を説明する図である。
【
図13】
図13は、実施形態に係る影に起因するノイズを除去する機械学習を説明する図である。
【
図14】
図14は、実施形態に係る個体モデルの一例を示す図である。
【
図15】
図15は、実施形態に係る個体のシミュレーション動画を示す図である。
【
図16】
図16は、実施形態に係る生け簀で飼育される魚を示す図である。
【
図17】
図17は、実施形態に係る個体のトラッキングの一例を示す図である。
【
図18】
図18は、実施形態に係る個体の識別方法および異常行動の検出方法の一例を示す図である。
【
図19】
図19は、実施形態に係る異常行動を検出した際に鳴らすアラート音の一例を示す図である。
【
図20】
図20は、実施形態に係る異常行動を検出した際に鳴らすアラート音の一例を示す図である。
【
図21】
図21は、実施形態に係る情報処理方法の一例を示すフローチャートである。
【
図22】
図22は、変形例に係る姿勢辞書情報の一例を説明する図である。
【
図23】
図23は、変形例に係る姿勢辞書情報の一例を説明する図である。
【
図24】
図24は、変形例に係るキーポーズとキーフレームの一例を説明する図である。
【
図25】
図25は、変形例に係るキーポーズ間の姿勢を補完する補完式と楽譜におけるアーティキュレーションに関する補助記号の関係について説明する図である。
【
図26】
図26は、変形例に係る関節群の数が多い骨格モデルに関する姿勢辞書情報の一例を説明する図である。
【
図27】
図27は、実施形態に係る情報処理装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0008】
以下に、本願に係る情報処理プログラム及び情報処理装置を実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理プログラム及び情報処理装置が限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0009】
(実施形態)
〔1.はじめに〕
従来、魚類の泳動(泳ぎ方ともいう)に関する様々な研究が行われている。例えば、魚類の泳法をウナギ型やマグロ型などの魚種ごとに12種類に分類する研究が知られている(参考文献:Lindsey, C.: Form, Function, and Locomotory Habits in Fish, Fish Physiology (Hoar, W. and Randall, D., eds.), Academic Press, New York, NY, United States, chapter 1, pp. 1 100(1978).)。また、CPG(central pattern generator、中枢パターン発生器)を用いて、ヤツメウナギやゼブラフィッシュといった特定の魚類の泳動を分析する研究が多数行われている。
【0010】
しかしながら、上述した研究からは、魚の個体ごとの泳動の特徴を分類することは困難な場合がある。例えば、上述した研究からは、養殖場に見られる奇形の個体に独特な泳動を分類することは難しい場合がある。また、個別の魚の病気や環境に起因する異常行動を分類することは難しい場合がある。
【0011】
そこで、魚の個体を撮像した撮像画像から魚の泳動を推定するよう機械学習モデルを学習させる。そして、学習済みの機械学習モデルを用いて、魚の個体を撮像した撮像画像から魚の泳動を推定する手法が考えられる。しかしながら、魚の多様な泳動を再現したトレーニングデータを人手によって生成するには、大変な手間がかかる。
【0012】
これに対して、本願発明の発明者は、楽譜が時系列データの表現として優れている点に着眼した。また、世の中には、膨大な数の楽曲と、それに対応する膨大な数の楽譜が存在する。本願発明は、魚の多様な泳動を既存の楽曲に対応する楽譜を用いて再現したトレーニングデータを自動で生成する手法を提案する。具体的には、本願発明に係る情報処理装置100は、対象物(例えば、魚の個体)の骨格を示す骨格モデルの姿勢を示す姿勢情報と既存の楽曲に対応する楽譜における音楽記号(例えば、音符)を示す音楽情報とが対応付けられた姿勢辞書情報に基づいて、楽譜に応じて骨格モデルの姿勢を時系列変化させることで、対象物の動き(例えば、魚の泳動)を示すシミュレーション動画を生成する。
【0013】
これにより、情報処理装置100は、既存の楽曲に対応する楽譜を用いて、魚の多様な泳動を再現したシミュレーション動画を自動で大量に生成することができる。したがって、情報処理装置100は、魚の多様な泳動を再現したシミュレーション動画を生成するためのコストを大幅に削減することができる。また、情報処理装置100は、魚の多様な泳動を再現したシミュレーション動画を機械学習モデルのトレーニングデータとして用いることで、画像に含まれる魚の多様な泳動を精度よく推定することができる。また、情報処理装置100は、魚の多様な泳動を精度よく推定することができるため、個別の魚の泳動の特徴に基づいて、魚の個体を精度よく識別することができる。
【0014】
また、本願発明は、魚の多様な泳動を既存の楽曲に対応する楽譜を用いて再現したトレーニングデータに基づいて学習した機械学習モデルを用いて、魚の泳動を撮像した撮像動画から魚の泳動に対応する楽譜を生成する手法を提案する。具体的には、本願発明に係る情報処理装置100は、対象物の動き(例えば、魚の泳動)を示すシミュレーション動画と、シミュレーション動画のシミュレーションに用いられたパラメータ情報に基づいて生成されたラベル情報とを含む正解データに基づいて学習された機械学習モデルを用いて、対象物(例えば、魚の個体)を撮像した撮像動画から対象物の骨格を示す骨格モデルの姿勢に対応する音楽記号の時系列データである楽譜を生成する。
【0015】
これにより、情報処理装置100は、例えば、奇形の魚に独特な泳動や個別の魚の異常行動(普段とは異なる泳ぎ)の特徴を検出して、奇形の魚に独特な泳動や個別の魚の異常行動に対応する楽譜に基づく音を出力可能とすることができる。これにより、情報処理装置100は、養殖業者などの魚の管理者に対して、個別の魚の異常を目で観察することなく、アラート音によって通知することを可能とする。また、情報処理装置100は、異常行動の種類の違い(例えば、魚がじっとして動かない異常行動、魚がやたらと騒ぐ異常行動など)に応じて異なるアラート音を出力可能とすることができる。したがって、情報処理装置100は、養殖業者などの魚の管理者による魚の管理を支援可能とすることができる。
【0016】
〔2.情報処理の概要〕
ここから、
図1を用いて、実施形態に係る情報処理の概要について説明する。
図1は、実施形態に係る情報処理の概要を示す説明図である。
図1の上段は、情報処理装置100が、画像解析に用いられる機械学習モデル(以下、分析モデルともいう)をディープラーニングにより学習する処理を模式的に示す図である。
図1では、分析モデルは、ディープニューラルネットワーク(DNN:Deep Neural Network)である。また、
図1の下段は、
図1の上段で学習した分析モデルを用いて、養殖魚を撮像した実画像から画像に含まれる個別の養殖魚の位置や姿勢を推定する処理を模式的に示す図である。分析モデルは、例えば、養殖魚のトラッキングや異常行動を検出するのに用いられる。
【0017】
〔2-1.トレーニングデータの生成〕
まず、
図1の上段では、情報処理装置100が、コンピュータグラフィックス(CG:Computer Graphics)を用いて、個体OBの3次元CG画像を生成する。具体的には、情報処理装置100は、個体OBの骨格を示す骨格モデルSМ1(
図2参照)の姿勢を示す姿勢情報と既存の楽曲に対応する楽譜における音楽記号(例えば、音符)を示す音楽情報とが対応付けられた姿勢辞書情報に基づいて、楽譜に応じて骨格モデルSМ1の姿勢を時系列変化させることで、個体OBの泳動を示すシミュレーション動画を生成する。
図1では、情報処理装置100によって生成された姿勢辞書情報がすでに存在するものとして説明を進める。なお、姿勢辞書情報については、後述する
図2および
図3を用いて詳しく説明する。
【0018】
情報処理装置100は、生成した3次元CG画像を用いて、ディープラーニングのトレーニングデータを生成する。情報処理装置100は、多数のデータセットを含むトレーニングデータを生成する。例えば、各データセットは、入力データTIDと正解データTODとを含む。情報処理装置100は、入力データTIDとなるシミュレーション画像SIをコンピュータグラフィックスにより生成する。また、情報処理装置100は、入力データTIDにラベル情報を付加して正解データTODを生成する。ラベル情報は、教師あり学習の正解を示す情報(いわゆる正解ラベル)である。情報処理装置100は、シミュレーションに用いたパラメータ情報に基づいて自動的にラベル情報を生成する。
【0019】
シミュレーショの対象は学習の目的に応じて決定される。例えば、養殖魚を個別にトラッキングする場合には、個体OBのシミュレーションが行われる。
図1の例は、情報処理装置100が、養殖魚のトラッキングを目的として、養殖魚である個体OBのシミュレーション画像SIを生成する例である。情報処理装置100は、個体OBを分類するための分類情報と、個体OBの位置情報と、個体OBの姿勢情報と、を含むラベル情報を生成する。なお、
図1では、個体OBの姿勢情報に関しては図示を省略する。
【0020】
分類情報は、例えば、個体OBの種類(魚種など)および形態的特徴(ヒレの変形、欠損、体の色、模様など)などの情報を含む。位置情報は、例えば、個体OBの中心位置および個体OBの存在範囲を示す情報を含む。位置情報は、例えば、3次元座標情報を用いて生成される。
図1の例では、個体OBの中心の座標(b
x、b
y、b
z)、および、個体OBを内包する最小限の大きさの直方体(boundary cube)の奥行b
d、幅b
wおよび高さb
hに関する情報が位置情報として示されている。情報処理装置100は、個体OBの位置情報(存在範囲を示す情報)に基づいて、個体OBの大きさの情報を抽出する。
【0021】
姿勢情報は、例えば、個体OBの骨格を示す骨格モデルSМ1の姿勢を示す情報を含む。
図2の右側に、個体OBの骨格を示す骨格モデルSМ1を示す。なお、
図2に示す個体OBは、チョウザメである。姿勢情報は、例えば、個体OBのボディ全体の姿勢を示す情報を含む。姿勢情報は、例えば、個体OBのボディ全体を一つのベクトルとみなした場合の、個体OBの進行方向を示すベクトルの情報を含む。
【0022】
また、姿勢情報は、例えば、個体OBの骨格を示す骨格モデルSМ1を構成する異なる複数の関節のグループである関節群の姿勢を示す情報を含む。ここで、関節は、近接する関節と連携して、近接する関節を一つのグループ(関節群)として動く。例えば、姿勢情報は、関節群を構成する異なる複数の関節それぞれの位置および角度を示す情報を含む。また、姿勢情報は、例えば、個体OBの骨格を示す骨格モデルSМ1を構成する関節それぞれの姿勢を示す情報を含む。例えば、姿勢情報は、骨格モデルSМ1を構成する関節それぞれの位置および角度を示す情報を含む。
図2に示す例では、姿勢情報は、個体OBの骨格を示す骨格モデルSМ1を構成する37個の関節それぞれの姿勢(位置および角度)を示す情報を含む。
【0023】
また、正解データTODは、個体OBを識別するための画像要素IEを含むことができる。画像要素IEは、例えば、boundary cubeを示すフレーム要素である。情報処理装置100は、シミュレーションに用いられた個体OBの位置情報に基づいて自動的に画像要素IEを生成する。
図1の例では、画像要素IEをboundary cubeで示したが、画像要素IEはこれに限られない。画像要素IEは、例えば、個体OBを囲むフレーム要素、または、個体OBを色で識別するための色要素を含むものとすることができる。
【0024】
上述したように、情報処理装置100は、ディープラーニングのトレーニングデータを生成する。情報処理装置100は、トレーニングデータを生成すると、入力データTIDおよび正解データTODをトレーニングデータとする機械学習(教師あり学習)をDNN(ディープニューラルネットワーク)において行う。具体的には、情報処理装置100は、入力データTIDがDNN(分析モデル)に入力された場合に、正解データTODがDNN(分析モデル)から出力されるようDNN(分析モデル)を学習させることで、学習済みのDNN(分析モデル)を生成する。
【0025】
〔2-2.分析モデルを用いた画像解析〕
次に、
図1の下段に示すように、情報処理装置100は、学習済みのDNNに入力データRIDが入力されると、入力データRIDにラベル情報および画像要素IEを付加した出力データRODを生成する。
【0026】
例えば、情報処理装置100は、撮影画像CIがDNN(分析モデル)に入力されると、DNN(分析モデル)を用いて撮影画像CIから個々の個体OBを抽出する。続いて、情報処理装置100は、個々の個体OBを抽出すると、個々の個体OBの特徴に基づいて、個々の個体OBの分類情報、位置情報および姿勢情報を生成する。また、情報処理装置100は、個体OBごとに、分類情報、位置情報および姿勢情報を含むラベル情報を生成する。また、情報処理装置100は、個々の個体OBの位置情報に基づいて、個体OBごとに画像要素IEを生成する。情報処理装置100は、画像要素IEを生成すると、撮影画像CIに各個体OBの画像要素IEを付加した補正画像CCIを生成する。情報処理装置100は、補正画像CCIに各個体OBのラベル情報を付加して出力データRODを生成する。
【0027】
なお、情報処理装置100は、ターゲットTGの撮影画像CIに基づいて、画像分析の手法により、ターゲットTGの分析を行う。情報処理装置100による画像分析の手法は、水産業、農業、林業および工業などの広範な分野に適用可能である。分析対象は、技術分野および分析の目的などに応じて適切に設定される。例えば、水産業の分野では、養殖魚の尾数、生育状況、補食動作および異常行動などが分析対象となる。農業分野では、農作物の生育状況および収穫数などが分析対象となる。林業の分野では、樹木の生育状況および木材量などが分析対象となる。工業の分野では、製品の数量、不良品の有無などが分析対象となる。
【0028】
〔3.姿勢辞書情報〕
次に、
図2~
図3を用いて、実施形態に係る姿勢辞書情報について説明する。
図2~
図3は、実施形態に係る姿勢辞書情報の一例を説明する図である。ここで、姿勢辞書情報とは、個体OBの骨格を示す骨格モデルSМ1の姿勢を示す姿勢情報と既存の楽曲に対応する楽譜における音楽記号を示す音楽情報とが対応付けられた情報を示す。例えば、姿勢辞書情報は、人手によって、個体OBの骨格を示す骨格モデルSМ1の姿勢を示す姿勢情報と既存の楽曲に対応する楽譜における音楽記号を示す音楽情報とが対応付けられることで生成される。
【0029】
まず、
図2を用いて説明する。
図2の左側は、オーケストラの楽譜#10を示す。また、
図2の右側は、個体OBの骨格を示す骨格モデルSM1を示す。
図2に示す例では、オーケストラの楽譜#10における各楽器のパートと個体OBの骨格モデルSМ1を構成する各関節群とが対応付けられている。
図2では、情報処理装置100は、オーケストラの楽譜#10における各楽器のパート譜における各音符と骨格モデルSM1を構成する各関節群の各姿勢とが対応付けられた姿勢辞書情報を取得する。
【0030】
例えば、情報処理装置100は、オーケストラの楽譜#10を構成する楽器#1のパート譜の各音符と骨格モデルSM1を構成する関節群#1の各姿勢とが対応付けられた姿勢辞書情報を取得する。また、情報処理装置100は、楽器#1のパート譜の各音符と関節群#1の各姿勢とが対応付けられた姿勢辞書情報に基づいて、楽器#1のパート譜の旋律に応じて関節群#1の姿勢を時系列変化させることで、個体OBのボディを構成する関節群#1に対応する部位の動きを示すシミュレーション動画を生成する。
【0031】
また、例えば、情報処理装置100は、オーケストラの楽譜#10を構成する楽器#2のパート譜の各音符と骨格モデルSM1を構成する関節群#2の各姿勢とが対応付けられた姿勢辞書情報を取得する。また、情報処理装置100は、楽器#2のパート譜の各音符と関節群#2の各姿勢とが対応付けられた姿勢辞書情報に基づいて、楽器#2のパート譜の旋律に応じて関節群#2の姿勢を時系列変化させることで、個体OBのボディを構成する関節群#2に対応する部位の動きを示すシミュレーション動画を生成する。
【0032】
また、例えば、情報処理装置100は、オーケストラの楽譜#10を構成する楽器#3のパート譜の各音符と骨格モデルSM1を構成する関節群#3の各姿勢とが対応付けられた姿勢辞書情報を取得する。また、情報処理装置100は、楽器#3のパート譜の各音符と関節群#3の各姿勢とが対応付けられた姿勢辞書情報に基づいて、楽器#3のパート譜の旋律に応じて関節群#3の姿勢を時系列変化させることで、個体OBのボディを構成する関節群#3に対応する部位の動きを示すシミュレーション動画を生成する。
【0033】
同様にして、情報処理装置100は、骨格モデルSM1を構成するすべての関節群について、オーケストラの楽譜#10における各楽器のパート譜における各音符と骨格モデルSM1を構成する各関節群の各姿勢とが対応付けられた姿勢辞書情報を取得する。また、情報処理装置100は、各楽器のパート譜における各音符と各関節群の各姿勢とが対応付けられた姿勢辞書情報に基づいて、各楽器のパート譜の旋律に応じて各関節群の姿勢を時系列変化させることで、個体OBのボディを構成する各関節群に対応する各部位の動きを示すシミュレーション動画を生成する。
【0034】
このように、情報処理装置100は、各楽器のパート譜における各音符と各関節群の各姿勢とが対応付けられた姿勢辞書情報に基づいて、各楽器のパート譜の旋律に応じて個体OBのボディを構成する各関節群の姿勢を時系列変化させることで、個体OBの泳動を示すシミュレーション動画を生成することができる。
【0035】
また、情報処理装置100は、数多の楽譜の旋律それぞれに応じて個体OBのボディを構成する各関節群の姿勢を時系列変化させることで、個体OBの多様な泳動を示すシミュレーション動画を生成することができる。
【0036】
次に、
図3を用いて説明する。
図3に示す例では、オーケストラの楽譜#20における主旋律のパートと個体OBのボディ全体とが対応付けられている。具体的には、主旋律のパート譜における音符は、その音符と対応付けられた個体OBのボディ全体の姿勢を示す。情報処理装置100は、主旋律のパート譜における音符と骨格モデルSM1のボディ全体の姿勢とが対応付けられた姿勢辞書情報を取得する。
【0037】
また、主旋律のパート譜における音符の音の長さは、その音符と対応付けられた骨格モデルSM1のボディ全体の姿勢を維持する時間の長さを示す。情報処理装置100は、主旋律のパート譜における音符の音の長さと骨格モデルSM1のボディ全体の姿勢を維持する時間の長さとが対応付けられた姿勢辞書情報を取得する。
【0038】
また、主旋律のパート譜における音符の音の高さは、その音符と対応付けられた骨格モデルSM1のボディ全体の中心位置の水深(水面から水中の骨格モデルSM1のボディ全体の中心位置までの距離)を示す。情報処理装置100は、主旋律のパート譜における音符の音の高さと骨格モデルSM1のボディ全体の中心位置の水深(面から水中の骨格モデルSM1のボディ全体の中心位置までの距離)とが対応付けられた姿勢辞書情報を取得する。
【0039】
また、
図3に示す楽譜の速度記号は、骨格モデルSM1のボディ全体(すなわち、個体OB)の平均速度(average speed)を示す。情報処理装置100は、楽譜の速度記号と骨格モデルSM1のボディ全体の平均速度とが対応付けられた姿勢辞書情報を取得する。また、個体OBの平均速度は、魚種や個体OBの体調に応じて変化する。例えば、チョウザメのようにゆっくりと泳ぐ魚には、アダージョのような遅い速度記号が付された楽曲に対応する楽譜を対応付けてよい。また、サケやマグロのように速く泳ぐ魚には、アレグロやアレグレットのような速い速度記号が付された楽曲に対応する楽譜を対応付けてよい。このように、骨格モデルSM1のボディ全体の平均速度として対応付けられる楽譜の速度記号は、魚種や個体OBの体調に応じて決定されてよい。
【0040】
また、
図3に示す楽譜の拍子記号は、骨格モデルSM1のボディ全体(すなわち、個体OB)が泳ぐ基本リズム(basic rhythms)を示す。情報処理装置100は、楽譜の拍子記号と骨格モデルSM1のボディ全体が泳ぐ基本リズムとが対応付けられた姿勢辞書情報を取得する。また、個体OBが泳ぐ基本リズムは、魚種や個体OBの奇形状況に応じて変化する。例えば、健常な魚が泳ぐ基本リズムと、奇形魚(怪我をしている魚など)が泳ぐ基本リズムは異なる。例えば、同じ魚種の健常な魚が泳ぐ基本リズムに4/4拍子(一小節に4分音符が4つ入るリズム)を対応付ける。このとき、例えば、同じ魚種の奇形魚が泳ぐ基本リズムに3/4拍子(一小節に4分音符が3つ入るリズム)を対応付けてよい。このように、骨格モデルSM1のボディ全体が泳ぐ基本リズムとして対応付けられる楽譜の拍子記号は、魚種や個体OBの奇形状況に応じて決定されてよい。
【0041】
また、
図3に示す主旋律のパート譜の小節ごとに付されたV1、V2、V3の符号は、骨格モデルSM1のボディ全体(すなわち、個体OB)の進行方向の角度を示す。具体的には、V1、V2、V3は、それぞれ、骨格モデルSM1のボディ全体を一つのベクトルとみなした場合の、骨格モデルSM1のボディ全体の進行方向を示すベクトルを示す。情報処理装置100は、主旋律のパート譜の各小節と骨格モデルSM1のボディ全体の進行方向の角度を示す各ベクトルとを対応付けた姿勢辞書情報を取得する。
【0042】
上記の通り、
図3に示す例では、情報処理装置100は、オーケストラの楽譜#20を構成する主旋律のパート譜の各音符と個体OBのボディ全体の各姿勢とが対応付けられた姿勢辞書情報を取得する。また、情報処理装置100は、主旋律のパート譜の各音符と個体OBのボディ全体の各姿勢とが対応付けられた姿勢辞書情報に基づいて、主旋律に応じて個体OBのボディ全体の姿勢を時系列変化させることで、個体OBのボディ全体の姿勢の動きを示すシミュレーション動画を生成する。
【0043】
また、
図3に示す例では、オーケストラの楽譜#20における主旋律以外の他の旋律のパートと個体OBの骨格モデルを構成する所定の関節群とが対応付けられている。具体的には、他の旋律のパート譜における和音を示すコードは、その和音を示すコードと対応付けられた関節群の姿勢を示す。情報処理装置100は、他の旋律のパート譜における和音を示すコードと骨格モデルSM1を構成する関節群の姿勢(角度)とが対応付けられた姿勢辞書情報を取得する。
【0044】
また、他の旋律のパート譜における和音を構成する複数の音符それぞれは、その和音と対応付けられた関節群を構成する複数の関節それぞれの姿勢(角度)を示す。情報処理装置100は、他の旋律のパート譜における和音を構成する複数の音符それぞれと骨格モデルSM1を構成する関節群を構成する複数の関節それぞれの姿勢(角度)とが対応付けられた姿勢辞書情報を取得する。すなわち、情報処理装置100は、他の旋律のパート譜における音符と骨格モデルSM1を構成する関節の姿勢(角度)とが対応付けられた姿勢辞書情報を取得する。
【0045】
また、他の旋律のパート譜における音符の音の長さは、その音符と対応付けられた関節の姿勢(角度)を維持する時間の長さを示す。情報処理装置100は、他の旋律のパート譜における音符の音の長さと骨格モデルSM1を構成する関節の姿勢(角度)を維持する時間の長さとが対応付けられた姿勢辞書情報を取得する。また、例えば、よく動く関節の部位は、8分音符や16分音符といった音の長さが短い音符によって表現することができる。また、あまり動かない関節の部位は、全音符など音の長さが長い音符で構成される和音によって表現することができる。このように、関節の姿勢(角度)を維持する時間の長さとして対応付ける音符の種類は、関節の部位の動きの頻度に応じて決定されてよい。
【0046】
また、他の旋律のパート譜における音符の音の高さは、その音符と対応付けられた関節の水深(水面から水中に位置する関節までの距離)を示す。情報処理装置100は、他の旋律のパート譜における音符の音の高さと骨格モデルSM1を構成する関節の水深(水面から水中に位置する関節までの距離)とが対応付けられた姿勢辞書情報を取得する。
【0047】
上記の通り、
図3に示す例では、情報処理装置100は、オーケストラの楽譜#20を構成する旋律以外の他の旋律のパート譜の各音符と個体OBの所定の関節群の各姿勢とが対応付けられた姿勢辞書情報を取得する。また、情報処理装置100は、他の旋律のパート譜の各音符と個体OBの所定の関節群の各姿勢とが対応付けられた姿勢辞書情報に基づいて、他の旋律に応じて個体OBの所定の関節群の姿勢を時系列変化させることで、個体OBの所定の関節群に対応する部位の動きを示すシミュレーション動画を生成する。
【0048】
〔4.情報処理装置の構成〕
次に、
図4を用いて、実施形態に係る情報処理装置100の構成について説明する。
図4は、実施形態に係る情報処理装置100の構成例を示す図である。情報処理装置100は、通信部110と、記憶部120と、制御部130とを有してよい。なお、情報処理装置100は、情報処理装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示させるための表示部(例えば、液晶ディスプレイ等)を有してもよい。
【0049】
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークと有線または無線で接続され、例えば、個体を管理する管理者によって利用される端末装置との間で情報の送受信を行う。
【0050】
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。
【0051】
(モデル情報記憶部121)
モデル情報記憶部121は、個体OBの行動を示すシミュレーションモデル(個体モデル24)に関する情報を記憶する。個体モデル24は、個体OBの形態的特徴に基づくシミュレーションモデルである。なお、個体モデル24については、後述する
図14を用いて詳しく説明する。
【0052】
(姿勢辞書情報記憶部122)
姿勢辞書情報記憶部122は、個体OBの骨格を示す骨格モデルの姿勢を示す姿勢情報と既存の楽曲に対応する楽譜における音楽記号を示す音楽情報とが対応付けられた姿勢辞書情報を記憶する。
図5に、実施形態に係る姿勢辞書情報記憶部122の一例を示す。
図5に示す例では、姿勢辞書情報記憶部122は、「楽譜ID」、「MIDI File ID」、「楽器」、「パート」、「関節群ID」、「姿勢ID」、「pose notation」といった項目を有する。
【0053】
「楽譜ID」は、楽譜を識別するための識別情報を示す。「MIDI File ID」は、楽譜に対応するMIDI(Musical Instrument Digital Interface)データ形式のファイル(MIDI Like data)を識別するための識別情報を示す。「楽器」は、楽譜に対応する楽曲を演奏する楽器を識別するための識別情報を示す。「パート」は、楽譜に対応する楽曲を演奏する楽器のパート譜を識別するための識別情報を示す。「関節群ID」は、個体OBの骨格を示す骨格モデルを構成する関節群を識別するための識別情報を示す。「姿勢ID」は、関節群またはボディ全体の姿勢を識別するための識別情報を示す。「pose notation」は、和音を示すコードまたは音符を識別するための識別情報を示す。
【0054】
(楽譜情報記憶部123)
楽譜情報記憶部123は、楽譜を識別するための識別情報(例えば、「楽譜ID」)と楽譜に対応するMIDIデータ形式のファイル(MIDI Like data)とを対応付けて記憶する。ここで、楽譜に対応するMIDIデータ形式のファイルは、人手によって、既存の楽譜に対応するMIDIデータの主旋律のパート譜の各小節に骨格モデルSM1のボディ全体(すなわち、個体OB)の進行方向を示すベクトルなどの情報が付加されることで生成される。
図6に、実施形態に係るMIDIデータ形式のファイル(MIDI Like data)の一例を示す。
図6に示す例では、MIDIデータ形式のファイル(MIDI Like data)は、「全体」、「Melody」、「A-part」、「B-part」といった項目を有する。
【0055】
「全体」は、楽譜全体に共通する情報を示す。「全体」は、「average speed」と「Rhythm」といった小項目を有する。「average speed」は、楽譜の速度記号によって示される楽譜の速度を示す。「Rhythm」は、楽譜の拍子記号によって示される楽譜の拍子(リズム)を示す。
【0056】
「Melody」は、楽譜における主旋律のパート譜に関する情報を示す。「Melody」は、「v0(小節)」といった小項目を有する。「v0(小節)」は、主旋律のパート譜の一小節を示す。「v0(小節)」は、「音程」、「音長」、「angle」といった小項目を有する。「音程」は、主旋律のパート譜の一小節に含まれる各音符の音の高さを示す。「音長」は、主旋律のパート譜の一小節に含まれる各音符の音の長さを示す。「angle」は、主旋律のパート譜の一小節に付された骨格モデルSM1のボディ全体(すなわち、個体OB)の進行方向を示すベクトルを示す。
【0057】
「A-part」および「B-part」は、楽譜における主旋律以外の他の旋律のパート譜に関する情報をそれぞれ示す。「A-part」および「B-part」は、「v0(小節)」といった小項目を有する。「v0(小節)」は、他の旋律のパート譜の一小節をそれぞれ示す。「v0(小節)」は、「音程」、「音長」、「pose notation」といった小項目を有する。「音程」は、他の旋律のパート譜の一小節に含まれる各音符の音の高さを示す。例えば、
図6の「A-part」の「44」で示される音程は、
図6の左下に示すピアノの「44」の番号が付された鍵盤の音の高さに対応する。「音長」は、他の旋律のパート譜の一小節に含まれる各音符の音の長さを示す。「pose notation」は、他の旋律のパート譜の一小節に含まれる各和音に対応するコードを示す。例えば、
図6の左上に示す関節群#4の姿勢#411が、他の旋律のパート譜に含まれる記号「C」で示される和音のコードと対応付けられる。例えば、関節群#4を構成する21番で示す関節と22番で示す関節と23番で示す関節それぞれの姿勢(角度)と、記号「C」で示される和音に含まれる3つの音符それぞれの音程とが対応付けられる。また、関節群#5の姿勢#522と他の旋律のパート譜に含まれる記号「D」で示される和音のコードとが対応付けられる。例えば、関節群#5を構成する15番で示す関節と16番で示す関節と17番で示す関節それぞれの姿勢(角度)と、記号「D」で示される和音に含まれる3つの音符それぞれの音程とが対応付けられる。
【0058】
ここで、
図7を用いて、魚の異常行動に対応する楽譜の一例について説明する。
図7は、魚の異常行動に対応する楽譜の一例を説明する図である。
図7に示す楽譜は、楽譜と対応付けられた魚の個体OBが水槽の中で上下を激しくいったりきたりする動きと対応付けられる。
【0059】
次に、
図8を用いて、奇形魚の泳ぎに対応する楽譜の一例について説明する。
図8は、奇形魚の泳ぎに対応する楽譜の一例を示す図である。
図8に示す楽譜の上段のパート譜は、上段のパート譜と対応付けられた魚の個体OBの関節群が奇形または怪我のある部位(ヒレ等)であるため、同じリズムを刻むことができない動きと対応付けられる。
【0060】
(分析モデル記憶部124)
分析モデル記憶部124は、情報処理装置100によって生成された分析モデルに関する各種の情報を記憶する。分析モデル記憶部124は、例えば、学習済みの分析モデルのモデルデータを記憶する。なお、以下では、分析モデルを分析モデル124と記載する場合がある。
【0061】
(制御部130)
制御部130は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置100内部の記憶装置に記憶されている各種プログラム(情報処理プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0062】
制御部130は、取得部131と、生成部132と、推定部133と、出力制御部134を機能部として有し、以下に説明する情報処理の作用を実現または実行してよい。なお、制御部130の内部構成は、
図4に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、各機能部は、制御部130の機能を示したものであり、必ずしも物理的に区別されるものでなくともよい。
【0063】
(取得部131)
取得部131は、個体モデル24に関する情報を取得する。取得部131は、個体モデル24に関する情報を取得すると、個体モデル24に関する情報をモデル情報記憶部121に格納する。
【0064】
また、取得部131は、個体OBの骨格を示す骨格モデルSM1の姿勢を示す姿勢情報と既存の楽曲に対応する楽譜における音楽記号を示す音楽情報とが対応付けられた姿勢辞書情報を取得する。例えば、取得部131は、姿勢辞書情報の作成者によって生成された姿勢辞書情報を姿勢辞書情報の作成者の端末装置から取得する。取得部131は、姿勢辞書情報を取得すると、姿勢辞書情報を姿勢辞書情報記憶部122に格納する。
【0065】
図2に示す例では、取得部131は、オーケストラの楽譜#10における各楽器のパート譜における各音符と骨格モデルSM1を構成する各関節群の各姿勢とが対応付けられた姿勢辞書情報を取得する。取得部131は、骨格モデルSM1を構成するすべての関節群について、オーケストラの楽譜#10における各楽器のパート譜における各音符と骨格モデルSM1を構成する各関節群の各姿勢とが対応付けられた姿勢辞書情報を取得する。
【0066】
図3に示す例では、取得部131は、オーケストラの楽譜#20を構成する主旋律のパート譜の各音符と個体OBの骨格モデルSM1のボディ全体の各姿勢とが対応付けられた姿勢辞書情報を取得する。具体的には、取得部131は、主旋律のパート譜における音符の音の長さと骨格モデルSM1のボディ全体の姿勢を維持する時間の長さとが対応付けられた姿勢辞書情報を取得する。また、取得部131は、主旋律のパート譜における音符の音の高さと骨格モデルSM1のボディ全体の中心位置の水深(面から水中の骨格モデルSM1のボディ全体の中心位置までの距離)とが対応付けられた姿勢辞書情報を取得する。また、取得部131は、楽譜の速度記号と骨格モデルSM1のボディ全体の平均速度とが対応付けられた姿勢辞書情報を取得する。また、取得部131は、楽譜の拍子記号と骨格モデルSM1のボディ全体が泳ぐ基本リズムとが対応付けられた姿勢辞書情報を取得する。また、取得部131は、主旋律のパート譜の各小節に付されたベクトル記号と骨格モデルSM1のボディ全体の進行方向の角度とを対応付けた姿勢辞書情報を取得する。
【0067】
ここで、上記の主旋律のパート譜の各小節に付されたベクトル記号には、骨格モデルSM1のボディ全体の進行方向の角度の他にも、ボディ全体の進行方向に関する様々なバリエーションに関する指示情報が対応付けられてよい。例えば、ベクトル記号には、複数の個体OB同士が衝突しないように、複数の個体OB同士の距離が一定の近さになったら互いに衝突を回避する動きをするよう指示する指示情報が対応付けられてよい。また、ベクトル記号には、複数の個体OBそれぞれの初期位置がランダムに設定されるよう指示する指示情報が対応付けられてよい。例えば、複数の個体OBそれぞれのボディ全体の進行方向の角度が左斜め上45度と設定されているとする。このとき、ある個体OBが、ランダムに設定された初期位置から左斜め上に向かって泳いだとして、ある場所で別の個体OBと衝突しそうになったとする。すると、ある個体OBは、別の個体OBとの衝突回避のために、例えば、進行方向を右に30度変更する。そして、ある個体OBは、今度は、進行方向を右に30度変更した状態からボディ全体の進行方向の角度が左斜め上45度を保つよう泳ぐ。このように、初期位置がランダムに設定されるよう指示する指示情報と複数の個体OB同士が衝突しないよう指示する指示情報とをベクトル記号に対応付けることで、複数の個体OBに設定されるボディ全体の進行方向の角度が同じであっても、複数の個体OBそれぞれの泳ぎ方に変化を生じさせることができる。また、ベクトル記号は、主旋律のパート譜の小節ごとに限らず、メロディーごと(例えば、大きなスラーごとなど)に楽譜に付されてよい。
【0068】
また、
図3に示す例では、取得部131は、オーケストラの楽譜#20を構成する主旋律以外の他の旋律のパート譜の各音符と個体OBの所定の関節群の各姿勢とが対応付けられた姿勢辞書情報を取得する。具体的には、取得部131は、他の旋律のパート譜における和音を示すコードと骨格モデルSM1を構成する関節群の姿勢(角度)とが対応付けられた姿勢辞書情報を取得する。例えば、取得部131は、他の旋律のパート譜における和音を構成する複数の音符それぞれと骨格モデルSM1を構成する関節群を構成する複数の関節それぞれの姿勢(角度)とが対応付けられた姿勢辞書情報を取得する。すなわち、取得部131は、他の旋律のパート譜における音符と骨格モデルSM1を構成する関節の姿勢(角度)とが対応付けられた姿勢辞書情報を取得する。また、取得部131は、他の旋律のパート譜における音符の音の長さと骨格モデルSM1を構成する関節の姿勢(角度)を維持する時間の長さとが対応付けられた姿勢辞書情報を取得する。また、取得部131は、他の旋律のパート譜における音符の音の高さと骨格モデルSM1を構成する関節の水深(水面から水中に位置する関節までの距離)とが対応付けられた姿勢辞書情報を取得する。
【0069】
また、取得部131は、関節群の姿勢の可動域の範囲を示す姿勢情報と他の旋律に対応するパート譜における音符の音の高さの範囲を示す音楽情報とが対応付けられた姿勢辞書情報を取得してよい。例えば、取得部131は、関節群の姿勢の可動域の角度の上限値と他の旋律に対応するパート譜における音符の中で最も高い音を示す音符の音の高さとが対応付けられた姿勢辞書情報を取得する。また、取得部131は、関節群の姿勢の可動域の角度の下限値と他の旋律に対応するパート譜における音符の中で最も低い音を示す音符の音の高さとが対応付けられた姿勢辞書情報を取得する。
【0070】
また、取得部131は、既存の楽譜に対応するMIDIデータ形式のファイル(MIDI Like data)である楽譜情報を取得する。例えば、取得部131は、楽譜情報の作成者によって生成された楽譜情報を楽譜情報の作成者の端末装置から取得する。取得部131は、楽譜情報を取得すると、楽譜情報を楽譜情報記憶部123に格納する。
【0071】
(生成部132)
生成部132は、コンピュータグラフィックス(CG:Computer Graphics)を用いて、個体OBの3次元CG画像を生成する。具体的には、生成部132は、姿勢辞書情報記憶部122を参照して、個体OBの骨格を示す骨格モデルSM1の姿勢を示す姿勢情報と既存の楽曲に対応する楽譜における音楽記号を示す音楽情報とが対応付けられた姿勢辞書情報を取得する。続いて、生成部132は、姿勢辞書情報を取得すると、楽譜情報記憶部123を参照して、姿勢辞書情報に含まれる楽譜IDで識別される楽譜に対応するMIDIデータ形式のファイル(MIDI Like data)を取得する。続いて、生成部132は、姿勢辞書情報とMIDIデータ形式のファイル(MIDI Like data)を取得すると、MIDIデータ形式のファイル(MIDI Like data)に応じて骨格モデルSM1の姿勢を時系列変化させることで、個体OBの泳動を示すシミュレーション動画SIを生成する。
【0072】
より具体的には、生成部132は、姿勢辞書情報とMIDIデータ形式のファイル(MIDI Like data)とに基づいて、楽譜の主旋律に応じて骨格モデルSM1のボディ全体の姿勢を時系列変化させることで、シミュレーション動画SIを生成する。また、生成部132は、姿勢辞書情報とMIDIデータ形式のファイル(MIDI Like data)とに基づいて、楽譜の主旋律以外の他の旋律に応じて骨格モデルSM1を構成する関節群の姿勢を時系列変化させることで、シミュレーション動画を生成する。例えば、生成部132は、他の旋律に応じて複数の関節それぞれの角度を時系列変化させることで、シミュレーション動画SIを生成する。
【0073】
続いて、生成部132は、シミュレーション動画SIを生成すると、生成したシミュレーション動画SIを用いて、ディープラーニングのトレーニングデータを生成する。具体的には、生成部132は、シミュレーション動画SIを生成すると、生成したシミュレーション動画SIをトレーニングデータの入力データTIDとする。
【0074】
また、生成部132は、シミュレーション動画SIのシミュレーションに用いられたパラメータ情報に基づいてラベル情報を生成する。続いて、生成部132は、ラベル情報を生成すると、シミュレーション動画SIとラベル情報とを含む正解データTODを生成する。具体的には、生成部132は、シミュレーションに用いたパラメータ情報に基づいて自動的にラベル情報を生成する。例えば、生成部132は、パラメータ情報として、個体OBを識別する個体識別情報と、個体OBの位置情報と、個体OBの骨格を示す骨格モデルSMの姿勢を示す姿勢情報とに基づいて、ラベル情報を生成する。続いて、生成部132は、ラベル情報を生成すると、入力データTIDであるシミュレーション動画SIにラベル情報を付加して正解データTODを生成する。
【0075】
また、生成部132は、個体OBを識別するための画像要素IEを含む正解データTODを生成する。例えば、生成部132は、シミュレーションに用いられた個体OBの位置情報に基づいて自動的に画像要素IEを生成する。ここで、
図9~
図11を用いて、画像要素IEのバリエーションについて説明する。
図9~
図11は、画像要素IEのバリエーションを示す図である。生成部132は、シミュレーションに用いられた個体OBの位置情報に基づいて
図9~
図11に示すようなバリエーションの画像要素IEを自動的に生成してよい。
図9の例は、
図1に示したboundary cubeを再掲したものである。
図10の例は、個体OBをシルエットで置換した例、または、個体OBの輪郭を太線で縁取った例である。
図11の例は、複数の個体OBを色分けした例である。
図9のboundary cubeおよび
図10の輪郭線は、個体OBを囲むフレーム要素に相当する。
図11の色分けは、色要素の付与に相当する。複数の個体OBが存在する場合には、フレーム要素の色は、個体OBごとに異ならせてもよく、個体OBの分類情報に応じて異ならせてもよい。
【0076】
続いて、生成部132は、入力データTIDおよび正解データTODを生成すると、入力データTIDおよび正解データTODをトレーニングデータとする機械学習(教師あり学習)をDNN(ディープニューラルネットワーク)において行う。具体的には、生成部132は、入力データTIDがDNN(分析モデル)に入力された場合に、正解データTODがDNN(分析モデル)から出力されるようDNN(分析モデル)を学習させることで、学習済みのDNN(分析モデル)を生成する。
【0077】
また、生成部132は、分析モデルを生成すると、生成した分析モデルを用いて、個体OBを撮像した撮像動画CIから個体OBの骨格を示す骨格モデルSM1の姿勢に対応する音楽記号の時系列データである楽譜を生成する。具体的には、取得部131は、生成部132によって生成された分析モデルを取得する。生成部132は、取得部131によって取得された分析モデルに撮影画像CIが入力されると、分析モデルを用いて撮影画像CIに含まれる個々の個体OBの分類情報、位置情報および姿勢情報を抽出する。続いて、生成部132は、分析モデルを用いて個々の個体OBの姿勢情報を抽出すると、姿勢辞書情報記憶部122を参照して、抽出した姿勢情報によって示される骨格モデルSM1の姿勢に対応する音楽記号の時系列データである楽譜を生成する。例えば、生成部132は、推定した姿勢情報によって示される骨格モデルSM1のボディ全体の姿勢に対応する音楽記号の時系列データである主旋律のパート譜を生成する。また、生成部132は、推定した姿勢情報によって示される骨格モデルSM1の各関節群の姿勢に対応する音楽記号の時系列データである主旋律以外の他の旋律のパート譜をそれぞれ生成する。
【0078】
生成部132は、個体OBによる異常行動が検出された場合に、楽譜を生成する。例えば、生成部132は、分析モデルを用いて推定した個体OBの姿勢情報に基づいて、個体OBによる異常行動が生じたか否かを判定する。続いて、生成部132は、個体OBによる異常行動が生じたと判定した場合に、個体OBによる異常行動に対応する楽譜を生成する。出力制御部134は、生成部132によって生成された楽譜に基づいて再生されるアラート音を個体OBの管理者の端末装置に出力するよう制御する。
【0079】
図12および
図13は、ノイズを除去する機械学習を説明する図である。生成部132は、DNNによる画像解析の精度を高めるために、撮影画像CIに含まれるノイズを除去する機械学習を行うことができる。例えば、生け簀の中にカメラをおいて撮影を行うと、水面WSや壁面WLの近くを移動する個体OBの反射像MIRが水面WSや壁面WLに映し出される。生け簀の底には個体OBの影SHが投影される。このような反射像MIRおよび影SHはノイズとなり、画像解析の精度を低下させる可能性がある。そのため、生成部132は、例えば、反射像MIRおよび影SHのシミュレーション画像SIを生成して、シミュレーション画像SIを用いたトレーニングデータを生成してもよい。
【0080】
図12の例では、生成部132は、入力データTIDとして、個体OBおよび反射像MIRを含むシミュレーション画像SIを生成する。正解データTODは、入力データTIDから反射像MIRが除去されたシミュレーション画像SIである。この入力データTIDおよび正解データTODをトレーニングデータとして用いると、撮影画像CIから反射像MIRを除去するDNNが得られる。
図12の例では、入力データTIDおよび正解データTODに個体OBが含まれたが、これらのデータには必ずしも個体OBは含まれる必要はない。例えば、上述の入力データTIDおよび正解データTODから個体OBが削除されたトレーニングデータを用いても、反射像MIRを除去するDNNが生成される。
【0081】
図13の例では、生成部132は、入力データTIDとして、個体OBおよび影SHを含むシミュレーション画像SIを生成する。正解データTODは、入力データTIDから影SHが除去されたシミュレーション画像SIである。この入力データTIDおよび正解データTODをトレーニングデータとして用いると、撮影画像CIから影SHを除去するDNNが得られる。
図13の例では、入力データTIDおよび正解データTODに個体OBが含まれたが、これらのデータには必ずしも個体OBは含まれる必要はない。例えば、上述の入力データTIDおよび正解データTODから個体OBが削除されたトレーニングデータを用いても、影SHを除去するDNNが生成される。
【0082】
また、生成部132は、個体モデル24を用いて個体OBのシミュレーション画像SIを生成する。ここで、個体モデル24は、個体OBの形態的特徴に基づくシミュレーションモデルである。以下、シミュレーションモデルの概要を説明する。
図14は、個体モデル24の一例を示す図である。
【0083】
個体モデル24は、個体OBの体の構造に基づいて生成される。個体モデル24としては、例えば、筋骨格モデルが用いられる。筋骨格SBMは、標準的な形状および大きさを有する個体OBを解剖し、個体OBの骨格と、骨格に対する筋肉の付き方と、を分析することによって得られる。
図14では、チョウザメの筋骨格SBMが示されている。筋骨格SBMからは個体OBの基準モデルRMが再現される。基準モデルRMからは、1以上の変異モデルMM1~MMn(nは1以上の整数)が派生して生成される。基準モデルRMおよび変異モデルMM1~MMnがそれぞれ個体モデル24となる。個体モデル24は、個体OBの分類情報として用いられる。
【0084】
変異モデルは、形態に異常がある個体OBの3次元モデルである。養殖により生まれた個体OBのほとんどが、身体的異常(例えば、ヒレが曲がっている、ヒレの形状が変異している、内臓疾患を有する)を有することが知られている。そのため、個体OBの変異モデルとしては、例えば、胸ヒレの異常(例えば、胸ヒレが曲がっている)、背ヒレの異常(例えば、背ヒレが曲がっている)、尾ヒレの異常(例えば、尾ヒレが曲がっている)、および、輪郭変異(例えば、通常個体と比較して頭部の輪郭が変異している)に関するモデルなどが生成される。なお、変異モデルは上記のものに限られない。どのような変異モデルを生成するかは、個体OBの種類や個体OBが置かれた環境などに応じて個別に決定される。
【0085】
図15は、個体OBのシミュレーション動画を示す図である。生成部132は、取得部131によって取得された姿勢辞書情報に基づいて、楽譜に応じて個体OBの姿勢を時系列変化させることで、個体OBの動きを示すシミュレーション動画を生成する。個体モデル24には、シミュレーション動画によって得られた動作特徴量が紐づけられる。生成部132は、個体モデル24ごとに、泳動の特徴量(動作特徴量)を抽出する。個体OBの泳動は、個体OBが持つ形態的特徴によって変わる。例えば、身体的異常を有する個体OBは、異常を補うように泳ぐ。そのため、個体モデル24ごとに、泳動の特徴量は異なる。泳動の特徴量は、個体OBを識別するパラメータ情報として用いることができる。個体OBの動作特徴量を示すパラメータ情報は、個体モデル24に紐づけられ、分類情報として用いられる。
【0086】
図16は、生け簀で飼育されるチョウザメを示す図である。養殖場のチョウザメのほとんどは何らかの身体的異常を有する。例えば、個体OB1~と個体OB4は、胸ヒレ、背ヒレおよび尾ヒレの形状が一様ではなく、輪郭も微妙に異なる。そのため、チョウザメごとに、身体的異常に応じた変異モデルを割り当てることができる。同じ変異モデルが割り当てられたチョウザメどうしでも、身体的異常の度合いは様々である。そのため、個体OBの動作特徴量を示すパラメータ情報もチョウザメごとに異なる。よって、生成部132は、シミュレーション動画によって個々の個体OBのパラメータ情報を検出し、検出したパラメータ情報に基づいて個々の個体OBを識別する。
【0087】
(推定部133)
推定部133は、生成部132によって生成された分析モデルを用いて、個体OBを撮像した撮像画像CIから個体OBを識別する個体識別情報と、個体OBの位置情報と、個体OBの骨格を示す骨格モデルSM1の姿勢を示す姿勢情報とを推定する。例えば、推定部133は、撮影画像CIが分析モデルに入力されると、分析モデルを用いて撮影画像CIから個々の個体OBの分類情報、位置情報および姿勢情報を抽出する。また、推定部133は、個体OBごとに、分類情報、位置情報および姿勢情報を含むラベル情報を生成する。また、推定部133は、個々の個体OBの位置情報に基づいて、個体OBごとに画像要素IEを生成する。推定部133は、画像要素IEを生成すると、撮影画像CIに各個体OBの画像要素IEを付加した補正画像CCIを生成する。推定部133は、補正画像CCIに各個体OBのラベル情報を付加して出力データRODを生成する。
【0088】
次に、
図17を用いて、実施形態に係る個体のトラッキングについて説明する。
図17は、実施形態に係る個体のトラッキングの一例を示す図である。分析モデル124は、DNNA、DNNB、DNNCおよびDNNEを有する。DNNAは、反射像MIRを除去するためのDNNである。DNNBは、影SHを除去するためのDNNである。DNNCは、個体OBの分類情報、位置情報および姿勢情報を抽出するためのDNNである。DNNEは、DNNCによって抽出された個々の個体OBの分類情報、位置情報および姿勢情報に基づいて、個々の個体OBに画像要素IEを付加するDNNである。
【0089】
推定部133は、分析モデル124に撮影画像CIを適用して、撮影画像CIに写る個々の個体OBに画像要素IEを付加する。
図17の例では、画像要素IEとして、個体OBごとに異なる色要素が付されている。個体OBの色は、個体OBの大きさおよび形状などに応じて異なる。個体OBの大きさは、個体OBの位置情報から抽出される。個体OBの形状は、個体OBの分類情報(形態的特徴)から抽出される。推定部133は、個体OBに付された画像要素IEに基づいて、複数の個体OBを検出し、個々の個体OBを個別にトラッキングする。
【0090】
図18は、個体の識別方法および異常行動の検出方法の一例を示す図である。分析モデル124は、DNNA、DNNB、DNNCおよびDNNFを有する。DNNFは、個体OBのパラメータ情報を抽出するためのDNNである。
【0091】
DNNFのトレーニング用のシミュレーション画像SIは、個体モデル24を用いて生成された個体OBのシミュレーション画像である。DNNFのトレーニングデータのラベル情報は、個体モデル24に適用される個体OBのパラメータ情報に基づいて生成される。DNNFに個体OBの撮影画像CIを入力すると、個体OBの形態的特徴(個体モデル24)に対応したパラメータ情報が抽出される。
【0092】
推定部133は、分析モデル124を用いて、撮影画像CIから個々の個体OBのラベル情報を抽出する。推定部133は、個体OBごとに、個体OBのラベル情報に基づいて個体OBのパラメータ情報を抽出する。抽出される個体OBのパラメータ情報には、例えば、個体OBの筋骨格モデルに適用されるマッスルパラメータのパラメータ情報、および、個体モデル24に紐づけられた、個体OBの動作特徴量を示すパラメータ情報が含まれる。推定部133は、個々の個体OBのパラメータ情報に基づいて個々の個体OBを識別する。
【0093】
上述の識別ステップでは、まず、推定部133は、個体OBのパラメータ情報に基づいて個体OBのシミュレーション画像SIを生成する。推定部133は、個体OBのシミュレーション画像と撮影画像CIとの差分が予め設定された条件を満たすまで個体OBのパラメータ情報を補正する。差分diffは、撮影画像CIの特徴量とシミュレーション画像SIの特徴量との差に基づいて算出される。推定部133は、上記条件を満たすまで補正された個体OBのパラメータ情報に基づいて個体OBを識別する。
【0094】
(出力制御部134)
出力制御部134は、生成部132によって生成された楽譜に基づいて再生される音を個体OBの管理者によって利用される端末装置に出力するよう制御する。例えば、生成部132は、個体OBによる異常行動が検出された場合に、楽譜を生成する。出力制御部134は、生成部132によって生成された楽譜に基づいて再生されるアラート音を個体OBの管理者によって利用される端末装置に出力するよう制御する。
【0095】
図19~
図20は、実施形態に係る異常行動を検出した際に鳴らすアラート音の一例を示す図である。
図19に示す例では、生成部132は、個体OBによって水槽の中で上下を激しくいったりきたりする異常行動が検出された場合に、
図19の右側に示す楽譜を生成する。出力制御部134は、生成部132によって生成された
図19の右側に示す楽譜に基づいて再生されるアラート音を個体OBの管理者によって利用される端末装置に出力するよう制御する。
【0096】
また、
図20に示す例では、生成部132は、個体OBによって水槽の水底で動かない異常行動が検出された場合に、
図20の右側に示す楽譜を生成する。出力制御部134は、生成部132によって生成された
図20の右側に示す楽譜に基づいて再生されるアラート音を個体OBの管理者によって利用される端末装置に出力するよう制御する。
【0097】
〔5.情報処理方法〕
図21は、本開示の情報処理方法の一例を示すフローチャートである。
【0098】
ステップS1において、生成部132は、CGによって入力データTIDとなるシミュレーション画像SIを生成する。
【0099】
ステップS2において、生成部132は、シミュレーションに用いたパラメータ情報に基づいてラベル情報を生成する。
【0100】
ステップS3において、生成部132は、シミュレーション画像SIとラベル情報とを含む正解データTODを生成する。
【0101】
ステップS4において、生成部132は、入力データTIDおよび正解データTODをトレーニングデータとする機械学習に基づいて分析モデルを生成する。
【0102】
ステップS5において、推定部133は、分析モデルを用いて、撮影画像CIからラベル情報を抽出する。
【0103】
ステップS6において、推定部133は、抽出されたラベル情報から、必要なパラメータ情報を抽出する。
【0104】
ステップS7において、推定部133は、抽出されたパラメータ情報に基づいてシミュレーション画像SIを生成する。
【0105】
ステップS8において、推定部133は、シミュレーション画像SIと撮影画像CIとの差分を算出し、差分が予め設定された条件を満たさない場合には、パラメータ情報を補正してシミュレーション画像SIを生成する。推定部133は、差分が上記条件を満たすまでパラメータ情報の補正とシミュレーション画像SIの生成とを繰り返す。
【0106】
ステップS9において、推定部133は、上記条件を満たすまで補正されたパラメータ情報に基づいて、必要な情報を推定する。
【0107】
なお、生成部132は、複数の個体OBの泳動を示すシミュレーション動画SIを生成してよい。生成部132は、複数の個体OB同士が衝突しないよう衝突を回避させたシミュレーション動画SIを生成してよい。これにより、情報処理装置100は、衝突を回避した後の複数の個体OBそれぞれが向かう方向が変化するため、複数の個体OBの姿勢情報と対応付けられた楽譜がすべて同じであっても、複数の個体OBそれぞれの動きを異ならせることができる。
【0108】
〔6.変形例〕
上述した実施形態に係る情報処理装置100は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、情報処理装置100の他の実施形態について説明する。なお、実施形態と同一部分には、同一符号を付して説明を省略する。
【0109】
具体的には、上述した実施形態では、対象物が魚の個体OBである例について説明したが、対象物が魚以外の他の生物の個体であってもよい。また、対象物は、実存する生物の個体に限られない。例えば、対象物は、コンピュータグラフィックスにより生成されたCGキャラクターであってもよい。
【0110】
以下では、
図22~
図26を用いて、情報処理装置100が、CGキャラクターである対象物の骨格を示す骨格モデルSM2の姿勢を示す姿勢情報と、CGキャラクターの動きを示すシミュレーション動画(以下、アニメーション動画ともいう)のBGMに対応する楽譜における音楽記号を示す音楽情報とが対応付けられた姿勢辞書情報に基づいて、BGMに対応する楽譜に応じてCGキャラクターの姿勢を時系列変化させることで、CGキャラクターの動きを示すシミュレーション動画を生成する例について説明する。
【0111】
まず、
図22について説明する前に、アニメーション動画を生成する一般的な手法であるキーフレームアニメーションについて説明する。一般的に、アニメーション動画は、少しずつ内容の異なる静止画を連続して表示することで、画のなかの対象が動いているように見せる技術である。このアニメーション動画を構成する1枚1枚の静止画のことをフレームとよぶ。キーフレームアニメーションでは、CGキャラクターによる一連の動きを構成する姿勢のなかから、特に重要な姿勢(キーポーズ)をいくつか選択する。そして、選択したキーポーズを含むフレームをキーフレームとして設定する。キーフレームは、時間軸に沿って並べられ、キーフレーム間のフレームは自動で補間される。なお、キーフレーム間のフレームの補完については、後述する
図25で詳しく説明する。
【0112】
ここから、
図22を用いて、変形例に係る姿勢辞書情報について説明する。
図22の左側は、アニメーション動画のBGMを演奏するオーケストラの楽譜#10を示す。また、
図22の右側は、CGキャラクターの骨格を示す骨格モデルSM2を示す。
図22では、CGキャラクターの特定の姿勢であるキーポーズ#1を示す姿勢情報と楽譜#10の横軸の所定のタイミングにおける音楽記号を示す音楽情報とが対応付けられている。取得部131は、CGキャラクターのキーポーズ#1を示す姿勢情報と楽譜#10の横軸の所定のタイミングにおける音楽記号を示す音楽情報とが対応付けられ姿勢辞書情報を取得する。また、キーポーズ#1以外の姿勢を示す姿勢情報と楽譜#10の横軸の所定のタイミング以外の部分における音楽記号を示す音楽情報とが対応付けられている。取得部131は、CGキャラクターのキーポーズ#1以外の姿勢を示す姿勢情報と楽譜#10の横軸の所定のタイミング以外の部分における音楽記号を示す音楽情報とが対応付けられ姿勢辞書情報を取得する。
【0113】
例えば、取得部131は、オーケストラの楽譜#10を構成する楽器#1のパート譜の横軸の所定のタイミングにおける音符と骨格モデルSM2を構成する関節群#21のキーポーズ#1の姿勢とが対応付けられた姿勢辞書情報を取得する。また、取得部131は、オーケストラの楽譜#10を構成する楽器#1のパート譜の横軸の所定のタイミング以外の部分における音符と関節群#21のキーポーズ#1以外の姿勢とが対応付けられた姿勢辞書情報を取得する。
【0114】
また、取得部131は、オーケストラの楽譜#10を構成する楽器#2のパート譜の横軸の所定のタイミングにおける音符と骨格モデルSM2を構成する関節群#22のキーポーズ#1の姿勢とが対応付けられた姿勢辞書情報を取得する。また、取得部131は、オーケストラの楽譜#10を構成する楽器#2のパート譜の横軸の所定のタイミング以外の部分における音符と関節群#22のキーポーズ#1以外の姿勢とが対応付けられた姿勢辞書情報を取得する。
【0115】
また、取得部131は、オーケストラの楽譜#10を構成する楽器#3のパート譜の横軸の所定のタイミングにおける音符と骨格モデルSM2を構成する関節群#23のキーポーズ#1の姿勢とが対応付けられた姿勢辞書情報を取得する。また、取得部131は、オーケストラの楽譜#10を構成する楽器#3のパート譜の横軸の所定のタイミング以外の部分における音符と関節群#23のキーポーズ#1以外の姿勢とが対応付けられた姿勢辞書情報を取得する。
【0116】
また、取得部131は、オーケストラの楽譜#10を構成する楽器#4のパート譜の横軸の所定のタイミングにおける音符とコンピュータグラフィックスにより生成された仮想空間に位置するキーポーズ#1をとるCGキャラクターを見る視聴者の視点に対応する仮想的なカメラの角度を示すカメラ姿勢情報とが対応付けられたカメラ姿勢辞書情報を取得する。また、取得部131は、オーケストラの楽譜#10を構成する楽器#4のパート譜の横軸の所定のタイミング以外の部分における音符と仮想空間に位置するキーポーズ#1以外の姿勢をとるCGキャラクターを見る視聴者の視点に対応する仮想的なカメラの角度を示すカメラ姿勢情報とが対応付けられたカメラ姿勢辞書情報を取得する。
【0117】
また、取得部131は、オーケストラの楽譜#10を構成する楽器#5のパート譜の横軸の所定のタイミングにおける音符とコンピュータグラフィックスにより生成された仮想空間に位置するキーポーズ#1をとるCGキャラクターを見る視聴者の視点に対応する仮想的なカメラの位置を示すカメラ姿勢情報とが対応付けられたカメラ姿勢辞書情報を取得する。また、取得部131は、オーケストラの楽譜#10を構成する楽器#5のパート譜の横軸の所定のタイミング以外の部分における音符と仮想空間に位置するキーポーズ#1以外の姿勢をとるCGキャラクターを見る視聴者の視点に対応する仮想的なカメラの位置を示すカメラ姿勢情報とが対応付けられたカメラ姿勢辞書情報を取得する。
【0118】
ここで、仮想的なカメラの姿勢(位置および角度)を時系列変化させることで、映画撮影のカメラワークの手法を想定したアニメーション動画を生成することができる。例えば、仮想的なカメラの位置(視点)を固定し、仮想的なカメラの角度(視線)を左右、上下に振るパン、チルト、視点を視線と垂直な方向に平行に動かすトラックや視線方向に平行に動かすドリー、注視点(CGキャラクターの位置)を固定してその周りをまわるようにするタンブル、ズーム等がある。
図22に示す例では、CGキャラクターがキーポーズ#1をとるタイミングに合わせて、パン(CGキャラクターの所定部分のアップ撮影)やロング(CGキャラクターの全身を撮影)に対応するカメラの姿勢をとるようにしてよい。
【0119】
次に、
図23を用いて、変形例に係る姿勢辞書情報について説明する。
図23に示す例では、アニメーション動画のBGMを演奏するオーケストラの楽譜#20における主旋律のパートとCGキャラクターのボディ全体とが対応付けられている。具体的には、主旋律のパート譜における音符は、その音符と対応付けられたCGキャラクターのボディ全体の姿勢を示す。取得部131は、主旋律のパート譜における音符と骨格モデルSM2のボディ全体の姿勢とが対応付けられた姿勢辞書情報を取得する。
【0120】
また、主旋律のパート譜における音符の音の長さは、その音符と対応付けられた骨格モデルSM2のボディ全体の姿勢を維持する時間の長さを示す。取得部131は、主旋律のパート譜における音符の音の長さと骨格モデルSM2のボディ全体の姿勢を維持する時間の長さとが対応付けられた姿勢辞書情報を取得する。
【0121】
また、主旋律のパート譜における音符の音の高さは、その音符と対応付けられた骨格モデルSM2のボディ全体の中心位置(重心の位置)の高さを示す。取得部131は、主旋律のパート譜における音符の音の高さと骨格モデルSM2のボディ全体の中心位置の高さとが対応付けられた姿勢辞書情報を取得する。
【0122】
また、
図23に示す楽譜の速度記号は、アニメーション動画のBGMのスピードを示すとともに、骨格モデルSM2のボディ全体(すなわち、CGキャラクター)の平均速度(average speed)を示す。取得部131は、楽譜の速度記号と骨格モデルSM2のボディ全体の平均速度とが対応付けられた姿勢辞書情報を取得する。
【0123】
また、
図23に示す楽譜の拍子記号は、骨格モデルSM2のボディ全体(すなわち、CGキャラクター)が動く基本リズム(basic rhythms)を示す。より具体的には、楽譜の拍子記号は、アニメーション動画のフレームレート(1秒間の動画で見せるフレーム数)に合わせて設定するキーフレームの数に対応する。取得部131は、楽譜の拍子記号とフレームレートに合わせて設定するキーフレームの数とが対応付けられた姿勢辞書情報を取得する。
【0124】
また、
図23に示す主旋律のパート譜の小節ごとに付されたV1、V2、V3の符号は、骨格モデルSM2のボディ全体(すなわち、CGキャラクター)の進行方向の角度を示す。具体的には、V1、V2、V3は、それぞれ、骨格モデルSM2のボディ全体を一つのベクトルとみなした場合の、骨格モデルSM2のボディ全体の進行方向を示すベクトルを示す。取得部131は、主旋律のパート譜の各小節と骨格モデルSM2のボディ全体の進行方向の角度を示す各ベクトルとを対応付けた姿勢辞書情報を取得する。
【0125】
上記の通り、
図23に示す例では、取得部131は、アニメーション動画のBGMを演奏するオーケストラの楽譜#20を構成する主旋律のパート譜の各音符とCGキャラクターのボディ全体の各姿勢とが対応付けられた姿勢辞書情報を取得する。そして、生成部132は、主旋律のパート譜の各音符とCGキャラクターのボディ全体の各姿勢とが対応付けられた姿勢辞書情報に基づいて、主旋律に応じてCGキャラクターのボディ全体の姿勢を時系列変化させることで、CGキャラクターのボディ全体の姿勢の動きを示すシミュレーション動画を生成する。
【0126】
また、
図23に示す例では、オーケストラの楽譜#20における主旋律以外の他の旋律のパートとCGキャラクターの骨格モデルを構成する所定の関節群とが対応付けられている。具体的には、他の旋律のパート譜における和音を示すコードは、その和音を示すコードと対応付けられた関節群の姿勢を示す。取得部131は、他の旋律のパート譜における和音を示すコードと骨格モデルSM2を構成する関節群の姿勢(角度)とが対応付けられた姿勢辞書情報を取得する。
【0127】
また、他の旋律のパート譜における和音を構成する複数の音符それぞれは、その和音と対応付けられた関節群を構成する複数の関節それぞれの姿勢(角度)を示す。取得部131は、他の旋律のパート譜における和音を構成する複数の音符それぞれと骨格モデルSM2を構成する関節群を構成する複数の関節それぞれの姿勢(角度)とが対応付けられた姿勢辞書情報を取得する。すなわち、取得部131は、他の旋律のパート譜における音符と骨格モデルSM2を構成する関節の姿勢(角度)とが対応付けられた姿勢辞書情報を取得する。
【0128】
また、他の旋律のパート譜における音符の音の長さは、その音符と対応付けられた関節の姿勢(角度)を維持する時間の長さを示す。取得部131は、他の旋律のパート譜における音符の音の長さと骨格モデルSM2を構成する関節の姿勢(角度)を維持する時間の長さとが対応付けられた姿勢辞書情報を取得する。また、例えば、よく動く関節の部位は、8分音符や16分音符といった音の長さが短い音符によって表現することができる。また、あまり動かない関節の部位は、全音符など音の長さが長い音符で構成される和音によって表現することができる。このように、関節の姿勢(角度)を維持する時間の長さとして対応付ける音符の種類は、関節の部位の動きの頻度に応じて決定されてよい。
【0129】
また、他の旋律のパート譜における音符の音の高さは、その音符と対応付けられた関節の姿勢(角度)を示す。取得部131は、関節(群)の姿勢の可動域の範囲を示す姿勢情報と他の旋律に対応するパート譜における音符の音の高さの範囲を示す音楽情報とが対応付けられた姿勢辞書情報を取得する。例えば、取得部131は、関節(群)の姿勢の可動域の角度の上限値と他の旋律に対応するパート譜における音符の中で最も高い音を示す音符の音の高さとが対応付けられた姿勢辞書情報を取得する。また、取得部131は、関節(群)の姿勢の可動域の角度の下限値と他の旋律に対応するパート譜における音符の中で最も低い音を示す音符の音の高さとが対応付けられた姿勢辞書情報を取得する。
【0130】
また、他の旋律のパート譜における音符は、その音符と対応付けられた関節群のキーポーズ間の補完用データに用いられる。この点については、後述する
図25を用いて詳しく説明する。
【0131】
上記の通り、
図23に示す例では、取得部131は、オーケストラの楽譜#20を構成する主旋律以外の他の旋律のパート譜の各音符とCGキャラクターの所定の関節群の各姿勢とが対応付けられた姿勢辞書情報を取得する。また、生成部132は、他の旋律のパート譜の各音符とCGキャラクターの所定の関節群の各姿勢とが対応付けられた姿勢辞書情報に基づいて、他の旋律に応じてCGキャラクターの所定の関節群の姿勢を時系列変化させることで、CGキャラクターの所定の関節群に対応する部位の動きを示すシミュレーション動画を生成する。
【0132】
次に、
図24を用いて、変形例に係るキーポーズとキーフレームについて説明する。
図24では、人手によって(あるいは情報処理装置100によって)、CGキャラクターによる一連の動きを構成する姿勢の中から選択されたキーポーズ#1を含むフレームがキーフレーム#1として設定される。また、同様に、CGキャラクターによる一連の動きを構成する姿勢の中から選択されたキーポーズ#2を含むフレームがキーフレーム#2として設定される。ここで、キーフレーム#1とキーフレーム#2は、時間軸に沿って並べられたいくつかのキーフレームのうち、時間的に隣り合うキーフレーム同士であるとする。
【0133】
以下では、関節群のキーポーズ(CGキャラクターがキーポーズをとったときの関節群の姿勢)を関節キーポーズと記載する場合がある。
図24の左側に示す例では、関節群#22のキーポーズ#1を示す関節キーポーズ#221が、
図22に示す楽器#2のパート譜の横軸のキーポーズ#1に設定されたタイミングにおける和音のコード(例えば、記号「A」で示される和音のコード)と対応付けられる。つまり、
図24の左側に示す関節群#22を構成する3つの関節それぞれのキーポーズ#1(角度)と、記号「A」で示される和音に含まれる3つの音符それぞれの音程とが対応付けられる。また、関節群#23のキーポーズ#1を示す関節キーポーズ#231が、
図22に示す楽器#3のパート譜の横軸のキーポーズ#1に設定されたタイミングにおける和音のコード(例えば、記号「B」で示される和音のコード)と対応付けられる。つまり、
図24の左側に示す関節群#23を構成する3つの関節それぞれのキーポーズ#1(角度)と、記号「B」で示される和音に含まれる3つの音符それぞれの音程とが対応付けられる。
【0134】
図24の右側に示す例では、関節群#22のキーポーズ#2を示す関節キーポーズ#222が、
図22に示す楽器#2のパート譜の横軸のキーポーズ#2に設定されたタイミング(図示略)における和音のコード(例えば、記号「C」で示される和音のコード)と対応付けられる。つまり、
図24の右側に示す関節群#22を構成する3つの関節それぞれの姿勢(角度)と、記号「C」で示される和音に含まれる3つの音符それぞれの音程とが対応付けられる。また、関節群#23のキーポーズ#2を示す関節キーポーズ#232が、
図22に示す楽器#3のパート譜の横軸のキーポーズ#2に設定されたタイミング(図示略)における和音のコード(例えば、記号「D」で示される和音のコード)と対応付けられる。つまり、
図24の右側に示す関節群#23を構成する3つの関節それぞれの姿勢(角度)と、記号「D」で示される和音に含まれる3つの音符それぞれの音程とが対応付けられる。
【0135】
次に、
図25を用いて、変形例に係るキーポーズ間の姿勢を補完する補完式と楽譜におけるアーティキュレーションに関する補助記号の関係について説明する。アーティキュレーションとは、音と音のつなぎ方や切り方に関する演奏の指示を意味する。生成部132は、楽譜におけるアーティキュレーションに関する補助記号に基づいて、CGキャラクターの異なる2つのキーポーズの間の姿勢を補完することで、シミュレーション動画を生成する。具体的には、生成部132は、時間的に隣り合う2つのキーポーズにそれぞれ設定されたタイミングの間に含まれる各楽器のパート譜の音符に付されたアーティキュレーションに関する補助記号に基づいて、各楽器のパート譜と対応付けられたCGキャラクターの各関節群の異なる2つのキーポーズ(異なる2つの関節キーポーズ)の間の関節角度を算出する補完式を決定する。
【0136】
図25では、アーティキュレーションに関する補助記号の一例として、スラーとスタッカートを例にとって説明する。スラーは、音と音を切れ目なく、滑らかに演奏するよう指示する補助記号である。また、スタッカートは、音を短く切って演奏するよう指示する補助記号である。
図25に示す4つのグラフは、横軸(x軸)が時間(フレーム数)、縦軸(y軸)が関節群の関節角度を示す。
図25の上段は、楽譜の拍子記号が4拍子の場合のグラフを示す。
図25の左上に示す例では、生成部132は、楽器のパート譜の音符に付されたアーティキュレーションに関する補助記号がスラーであるので、関節キーポーズ#1と関節キーポーズ#2の間の2つのフレームに対応する関節群の関節角度を算出する補完式を一次関数「y=ax+b」に決定する。一方、
図25の右上に示す例では、生成部132は、楽器のパート譜の音符に付されたアーティキュレーションに関する補助記号がスタッカートであるので、関節キーポーズ#3と関節キーポーズ#4の間の2つのフレームに対応する関節群の関節角度を算出する補完式を一次関数よりも急峻に変化する二次関数「y=ax
2+b」に決定する。
【0137】
図25の下段は、楽譜の拍子記号が3拍子の場合のグラフを示す。
図25の左下に示す例では、生成部132は、楽器のパート譜の音符に付されたアーティキュレーションに関する補助記号がスラーであるので、関節キーポーズ#5と関節キーポーズ#6の間の1つのフレームに対応する関節群の関節角度を算出する補完式を一次関数「y=ax+b」に決定する。一方、
図25の右下に示す例では、生成部132は、楽器のパート譜の音符に付されたアーティキュレーションに関する補助記号がスタッカートであるので、関節キーポーズ#7と関節キーポーズ#8の間の1つのフレームに対応する関節群の関節角度を算出する補完式を一次関数よりも急峻に変化する二次関数「y=ax
2+b」に決定する。
【0138】
生成部132は、補完式を決定すると、決定した補完式に基づいて、異なる2つの関節キーポーズの間の関節角度を算出する。生成部132は、異なる2つの関節キーポーズの間の関節角度を算出すると、算出した関節角度に応じて関節群の姿勢を時系列変化させることで、シミュレーション動画を生成する。例えば、生成部132は、楽譜の拍子記号と対応付けられたフレームレートに合わせて、異なる2つのキーポーズ間の関節群の姿勢を時系列変化させることで、シミュレーション動画を生成する。
【0139】
なお、アーティキュレーションに関する補助記号は、スラーとスタッカートに限られない。例えば、生成部132は、アーティキュレーションに関する補助記号がスタッカティッシモ(スタッカートより鋭く音を切って演奏するよう指示する補助記号)である場合には、
図25に示す二次関数よりも急峻に変化する関数(例えば、三次関数)を補完式として決定してもよい。また、アーティキュレーションに関する補助記号は、アクセント(記号の付された音が、その前後の記号の付されていない音より強く演奏するよう指示する補助記号)やテヌート(音を十分に保って演奏するよう指示する補助記号)であってもよい。
【0140】
また、生成部132は、メジャーであるか、マイナーであるかに応じて、補完式を決定してもよい。例えば、生成部132は、メジャーである場合には、急峻に変化する関数を補完式として決定してもよい。また、生成部132は、マイナーである場合には、緩やかに変化する関数を補完式として決定してもよい。
【0141】
また、生成部132は、アーティキュレーションに関する補助記号に応じて、補完の式として、上述したような一次関数や二次関数に限らず、三角関数、円関数、または楕円関数等の任意の関数を用いることができる。また、生成部132は、アーティキュレーションに関する補助記号に応じて、補完の式の関数だけでなく、関数の係数を決定することができる。
【0142】
次に、
図26を用いて、変形例に係る関節群の数が多い骨格モデルに関する姿勢辞書情報について説明する。
図26の右側には、オーケストラの楽譜における各楽器のパート譜の数よりも、関節群の数の方が多いCGキャラクターの骨格モデルSM3を示す。このような場合、一つの楽器のパート譜に異なる複数の関節群を対応付けてよい。
図26に示す例では、楽器#6のパート譜の各音符とCGキャラクターの関節群#31の各姿勢および関節群#33の各姿勢がそれぞれ対応付けられてよい。また、楽器#7のパート譜の各音符とCGキャラクターの関節群#33の各姿勢および関節群#34の各姿勢がそれぞれ対応付けられてよい。取得部131は、オーケストラの楽譜を構成する主旋律以外の他の旋律のパート譜の各音符とCGキャラクターの異なる複数の関節群の各姿勢とが対応付けられた姿勢辞書情報を取得する。
【0143】
ここで、同じ楽器のパート譜に対応付けられた複数の関節群の動きを異ならせたい場合は、複数の関節群の補完に用いられる補完の式(補完の式の関数自体または関数の係数)をそれぞれ異ならせればよい。あるいは、同じ楽器のパート譜に対応付けられた複数の関節群の可動域の範囲をそれぞれ異ならせればよい。あるいは、同じ楽器のパート譜に対応付けられた複数の関節群の可動域の上下限の姿勢をそれぞれ異ならせればよい。
【0144】
〔7.効果〕
上述したように、実施形態に係る情報処理装置100は、生成部132を備える。生成部132は、対象物の骨格を示す骨格モデルの姿勢を示す姿勢情報と既存の楽曲に対応する楽譜における音楽記号を示す音楽情報とが対応付けられた姿勢辞書情報に基づいて、楽譜に応じて姿勢を時系列変化させることで、対象物の動きを示すシミュレーション動画を生成する。
【0145】
これにより、情報処理装置100は、既存の楽曲に対応する楽譜を用いて、対象物の多様な動きを再現したシミュレーション動画を自動で大量に生成することができる。したがって、情報処理装置100は、対象物の多様な動きを再現したシミュレーション動画を生成するためのコストを大幅に削減することができる。また、情報処理装置100は、対象物の多様な動きを再現したシミュレーション動画を機械学習モデルのトレーニングデータとして用いることで、画像に含まれる対象物の多様な動きを精度よく推定することができる。また、情報処理装置100は、対象物の多様な動きを精度よく推定することができるため、個別の対象物の動きの特徴に基づいて、個別の対象物を精度よく識別することができる。
【0146】
また、生成部132は、骨格モデルのボディ全体の姿勢を示す姿勢情報と既存の楽曲の主旋律に対応するパート譜における音楽記号を示す音楽情報とが対応付けられた姿勢辞書情報に基づいて、主旋律に応じてボディ全体の姿勢を時系列変化させることで、シミュレーション動画を生成する。具体的には、生成部132は、ボディ全体の姿勢を維持する時間の長さを示す姿勢情報と主旋律に対応するパート譜における音符の音の長さを示す音楽情報とが対応付けられた姿勢辞書情報に基づいて、シミュレーション動画を生成する。また、生成部132は、ボディ全体の中心位置の高さを示す姿勢情報と主旋律に対応するパート譜における音符の音の高さを示す音楽情報とが対応付けられた姿勢辞書情報に基づいて、シミュレーション動画を生成する。また、生成部132は、ボディ全体の平均速度を示す姿勢情報と主旋律に対応するパート譜における速度記号を示す音楽情報とが対応付けられた姿勢辞書情報に基づいて、シミュレーション動画を生成する。また、生成部132は、ボディ全体の動きの基本リズムを示す姿勢情報と主旋律に対応するパート譜における拍子記号を示す音楽情報とが対応付けられた姿勢辞書情報に基づいて、シミュレーション動画を生成する。また、生成部132は、ボディ全体の進行方向の角度を示す姿勢情報と主旋律に対応するパート譜の各小節に付されたベクトル記号を示す音楽情報とが対応付けられた姿勢辞書情報に基づいて、シミュレーション動画を生成する。
【0147】
これにより、情報処理装置100は、骨格モデルのボディ全体の姿勢の動きを再現したシミュレーション動画を自動で大量に生成することができる。
【0148】
また、生成部132は、骨格モデルを構成する関節群の姿勢を示す姿勢情報と既存の楽曲の主旋律以外の他の旋律に対応するパート譜における音楽記号を示す音楽情報とが対応付けられた姿勢辞書情報に基づいて、他の旋律に応じて関節群の姿勢を時系列変化させることで、シミュレーション動画を生成する。具体的には、生成部132は、関節群の異なる複数の姿勢それぞれを示す姿勢情報と他の旋律に対応するパート譜における異なる複数のコードそれぞれを示す音楽情報とが対応付けられた姿勢辞書情報に基づいて、他の旋律に応じて関節群の姿勢を時系列変化させることで、シミュレーション動画を生成する。例えば、生成部132は、関節群の姿勢を維持する時間の長さを示す姿勢情報と他の旋律に対応するパート譜における音符の音の長さを示す音楽情報とが対応付けられた姿勢辞書情報に基づいて、シミュレーション動画を生成する。また、生成部132は、関節群の中心位置の高さを示す姿勢情報と他の旋律に対応するパート譜における音符の音の高さを示す音楽情報とが対応付けられた姿勢辞書情報に基づいて、シミュレーション動画を生成する。また、生成部132は、関節群の姿勢の可動域の範囲を示す姿勢情報と他の旋律に対応するパート譜における音符の音の高さの範囲を示す音楽情報とが対応付けられた姿勢辞書情報に基づいて、シミュレーション動画を生成する。
【0149】
これにより、情報処理装置100は、骨格モデルを構成する関節群の多様な動きを再現したシミュレーション動画を自動で大量に生成することができる。
【0150】
また、生成部132は、関節群を構成する異なる複数の関節それぞれの角度を示す姿勢情報と他の旋律に対応するパート譜における和音を構成する異なる複数の音符それぞれを示す音楽情報とが対応付けられた姿勢辞書情報に基づいて、他の旋律に応じて複数の関節それぞれの角度を時系列変化させることで、シミュレーション動画を生成する。
【0151】
これにより、情報処理装置100は、骨格モデルを構成する関節の多様な動きを再現したシミュレーション動画を自動で大量に生成することができる。
【0152】
また、対象物は、コンピュータグラフィックスにより生成されたCGキャラクターである。生成部132は、CGキャラクターの特定の姿勢であるキーポーズを示す姿勢情報と楽譜の横軸の所定のタイミングにおける音楽記号を示す音楽情報とが対応付けられた姿勢辞書情報に基づいて、シミュレーション動画を生成する。また、生成部132は、楽譜におけるアーティキュレーションに関する補助記号に基づいて、CGキャラクターの異なる2つのキーポーズの間の姿勢を補完することで、シミュレーション動画を生成する。また、生成部132は、コンピュータグラフィックスにより生成された仮想空間に位置するCGキャラクターを見る視聴者の視点に対応する仮想的なカメラの姿勢を示すカメラ姿勢情報と既存の楽曲に対応する楽譜における音楽記号を示す音楽情報とが対応付けられたカメラ姿勢辞書情報に基づいて、楽譜に応じて仮想的なカメラの姿勢を時系列変化させることで、仮想的なカメラの視点から見たシミュレーション動画をさらに生成する。
【0153】
これにより、情報処理装置100は、任意のCGキャラクターについて、バリエーション豊かな動き、かつ、カメラアングルによりBGMに合った迫力のあるアニメーション動画を自動で生成することができる。
【0154】
また、生成部132は、シミュレーション動画のシミュレーションに用いられたパラメータ情報に基づいてラベル情報を生成し、シミュレーション動画とラベル情報とを含む正解データを生成する。具体的には、生成部132は、パラメータ情報として、対象物を識別する対象物識別情報と、対象物の位置情報と、対象物の骨格を示す骨格モデルの姿勢を示す姿勢情報とに基づいて、ラベル情報を生成する。
【0155】
これにより、情報処理装置100は、シミュレーションに用いたパラメータ情報に基づいて正解データのラベル情報を生成する。情報処理装置100は、シミュレーション動画を生成するのと同時に、正解データのラベル情報を自動で生成することができる。
【0156】
また、生成部132は、シミュレーション動画が分析モデルに入力された場合に、正解データが分析モデルから出力されるよう分析モデルを学習させることで、分析モデルを生成する。
【0157】
これにより、情報処理装置100は、対象物の多様な動きを再現したシミュレーション動画を機械学習モデルのトレーニングデータとして用いることで、画像に含まれる対象物の多様な動きを精度よく推定可能な分析モデルを生成することができる。
【0158】
また、情報処理装置100は、推定部133をさらに備える。推定部133は、生成部132によって生成された分析モデルを用いて、対象物を撮像した撮像画像から対象物を識別する対象物識別情報と、対象物の位置情報と、対象物の骨格を示す骨格モデルの姿勢を示す姿勢情報とを推定する。
【0159】
これにより、情報処理装置100は、画像に含まれる対象物の多様な動きを精度よく推定可能な分析モデルを用いることで、画像に含まれる対象物の多様な動きを精度よく推定することができる。また、情報処理装置100は、個別の対象物の動きの特徴に基づいて、個別の対象物を精度よく識別することができる。
【0160】
また、情報処理装置100は、取得部131をさらに備える。取得部131は、対象物の骨格を示す骨格モデルの姿勢を示す姿勢情報と既存の楽曲に対応する楽譜における音楽記号を示す音楽情報とが対応付けられた姿勢辞書情報に基づいて、楽譜に応じて姿勢を時系列変化させることで生成された対象物の動きを示すシミュレーション動画と、シミュレーション動画のシミュレーションに用いられたパラメータ情報に基づいて生成されたラベル情報とを含む正解データに基づいて学習された分析モデルを取得する。生成部132は、取得部131によって取得された分析モデルを用いて、対象物を撮像した撮像動画から対象物の骨格を示す骨格モデルの姿勢に対応する音楽記号の時系列データである楽譜を生成する。また、情報処理装置100は、出力制御部134をさらに備える。出力制御部134は、生成部132によって生成された楽譜に基づいて再生される音を対象物の管理者によって利用される端末装置に出力するよう制御する。例えば、生成部132は、対象物による異常行動が検出された場合に、楽譜を生成する。出力制御部134は、生成部132によって生成された楽譜に基づいて再生されるアラート音を端末装置に出力するよう制御する。
【0161】
これにより、情報処理装置100は、例えば、対象物が魚などの生物である場合には、奇形の生物に独特な動きや個別の生物の異常行動の特徴を検出して、奇形の生物に独特な動きや個別の生物の異常行動に対応する楽譜に基づく音を出力可能とすることができる。これにより、情報処理装置100は、例えば、養殖業者などの生物の管理者に対して、個別の生物の異常を目で観察することなく、アラート音によって通知することを可能とする。また、情報処理装置100は、異常行動の種類の違い(例えば、生物がじっとして動かない異常行動、生物がやたらと騒ぐ異常行動など)に応じて異なるアラート音を出力可能とすることができる。したがって、情報処理装置100は、例えば、養殖業者などの生物の管理者による生物の管理を支援可能とすることができる。
【0162】
〔8.ハードウェア構成〕
また、上述してきた実施形態に係る情報処理装置100は、例えば
図27に示すような構成のコンピュータ1000によって実現される。
図27は、情報処理装置100の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を備える。
【0163】
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0164】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、所定の通信網を介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを所定の通信網を介して他の機器へ送信する。
【0165】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。
【0166】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0167】
例えば、コンピュータ1000が実施形態に係る情報処理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から所定の通信網を介してこれらのプログラムを取得してもよい。
【0168】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0169】
〔9.その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0170】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0171】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0172】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、生成部は、生成手段や生成回路に読み替えることができる。
【符号の説明】
【0173】
100 情報処理装置
110 通信部
120 記憶部
121 モデル情報記憶部
122 姿勢辞書情報記憶部
123 楽譜情報記憶部
124 分析モデル記憶部
130 制御部
131 取得部
132 生成部
133 推定部
134 出力制御部
【手続補正書】
【提出日】2022-04-27
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
対象物の骨格を示す骨格モデルの姿勢を示す姿勢情報と既存の楽曲に対応する楽譜における音楽記号を示す音楽情報とが対応付けられた姿勢辞書情報に基づいて、前記楽譜に応じて前記姿勢を時系列変化させることで、前記対象物の動きを示すシミュレーション動画を生成する生成手順と、
をコンピュータに実行させ、
前記生成手順は、
前記骨格モデルのボディ全体の位置の高さを示す前記姿勢情報と前記既存の楽曲の主旋律に対応するパート譜における音符の音の高さを示す前記音楽情報とが対応付けられた前記姿勢辞書情報に基づいて、前記主旋律に応じて前記ボディ全体の位置の高さを時系列変化させることで、前記シミュレーション動画を生成する、
情報処理プログラム。
【請求項2】
前記生成手順は、
前記骨格モデルのボディ全体の姿勢を示す前記姿勢情報と前記既存の楽曲の主旋律に対応するパート譜における音楽記号を示す前記音楽情報とが対応付けられた前記姿勢辞書情報に基づいて、前記主旋律に応じて前記ボディ全体の姿勢を時系列変化させることで、前記シミュレーション動画を生成する、
請求項1に記載の情報処理プログラム。
【請求項3】
前記生成手順は、
前記ボディ全体の姿勢を維持する時間の長さを示す前記姿勢情報と前記主旋律に対応するパート譜における音符の音の長さを示す前記音楽情報とが対応付けられた前記姿勢辞書情報に基づいて、前記シミュレーション動画を生成する、
請求項2に記載の情報処理プログラム。
【請求項4】
前記生成手順は、
前記ボディ全体の平均速度を示す前記姿勢情報と前記主旋律に対応するパート譜における速度記号を示す前記音楽情報とが対応付けられた前記姿勢辞書情報に基づいて、前記シミュレーション動画を生成する、
請求項1~3のいずれか1項に記載の情報処理プログラム。
【請求項5】
前記生成手順は、
前記ボディ全体の動きの基本リズムを示す前記姿勢情報と前記主旋律に対応するパート譜における拍子記号を示す前記音楽情報とが対応付けられた前記姿勢辞書情報に基づいて、前記シミュレーション動画を生成する、
請求項1~4のいずれか1項に記載の情報処理プログラム。
【請求項6】
前記生成手順は、
前記ボディ全体の進行方向の角度を示す前記姿勢情報と前記主旋律に対応するパート譜の各小節に付されたベクトル記号を示す前記音楽情報とが対応付けられた前記姿勢辞書情報に基づいて、前記シミュレーション動画を生成する、
請求項1~5のいずれか1項に記載の情報処理プログラム。
【請求項7】
前記生成手順は、
前記骨格モデルを構成する関節群の姿勢を示す前記姿勢情報と前記既存の楽曲の主旋律以外の他の旋律に対応するパート譜における音楽記号を示す前記音楽情報とが対応付けられた前記姿勢辞書情報に基づいて、前記他の旋律に応じて前記関節群の姿勢を時系列変化させることで、前記シミュレーション動画を生成する、
請求項1~6のいずれか1項に記載の情報処理プログラム。
【請求項8】
前記生成手順は、
前記関節群の異なる複数の姿勢それぞれを示す前記姿勢情報と前記他の旋律に対応するパート譜における異なる複数のコードそれぞれを示す前記音楽情報とが対応付けられた前記姿勢辞書情報に基づいて、前記他の旋律に応じて前記関節群の姿勢を時系列変化させることで、前記シミュレーション動画を生成する、
請求項7に記載の情報処理プログラム。
【請求項9】
前記生成手順は、
前記関節群を構成する異なる複数の関節それぞれの角度を示す前記姿勢情報と前記他の旋律に対応するパート譜における和音を構成する異なる複数の音符それぞれを示す前記音楽情報とが対応付けられた前記姿勢辞書情報に基づいて、前記他の旋律に応じて前記複数の関節それぞれの角度を時系列変化させることで、前記シミュレーション動画を生成する、
請求項7または8に記載の情報処理プログラム。
【請求項10】
前記生成手順は、
前記関節群の姿勢を維持する時間の長さを示す前記姿勢情報と前記他の旋律に対応するパート譜における音符の音の長さを示す前記音楽情報とが対応付けられた前記姿勢辞書情報に基づいて、前記シミュレーション動画を生成する、
請求項7~9のいずれか1項に記載の情報処理プログラム。
【請求項11】
前記生成手順は、
前記関節群の位置の高さを示す前記姿勢情報と前記他の旋律に対応するパート譜における音符の音の高さを示す前記音楽情報とが対応付けられた前記姿勢辞書情報に基づいて、前記シミュレーション動画を生成する、
請求項7~10のいずれか1項に記載の情報処理プログラム。
【請求項12】
前記生成手順は、
前記関節群の姿勢の可動域の範囲を示す前記姿勢情報と前記他の旋律に対応するパート譜における音符の音の高さの範囲を示す前記音楽情報とが対応付けられた前記姿勢辞書情報に基づいて、前記シミュレーション動画を生成する、
請求項7~11のいずれか1項に記載の情報処理プログラム。
【請求項13】
前記対象物は、コンピュータグラフィックスにより生成されたCGキャラクターであり、
前記生成手順は、
前記CGキャラクターの特定の姿勢であるキーポーズを示す前記姿勢情報と前記楽譜の横軸の所定のタイミングにおける音楽記号を示す前記音楽情報とが対応付けられた前記姿勢辞書情報に基づいて、前記シミュレーション動画を生成する、
請求項1~12のいずれか1項に記載の情報処理プログラム。
【請求項14】
前記生成手順は、
前記楽譜におけるアーティキュレーションに関する補助記号に基づいて、前記CGキャラクターの異なる2つの前記キーポーズの間の姿勢を補完することで、前記シミュレーション動画を生成する、
請求項13に記載の情報処理プログラム。
【請求項15】
前記生成手順は、
前記コンピュータグラフィックスにより生成された仮想空間に位置する前記CGキャラクターを見る視聴者の視点に対応する仮想的なカメラの姿勢を示すカメラ姿勢情報と既存の楽曲に対応する楽譜における音楽記号を示す音楽情報とが対応付けられたカメラ姿勢辞書情報に基づいて、前記楽譜に応じて前記仮想的なカメラの姿勢を時系列変化させることで、前記仮想的なカメラの視点から見た前記シミュレーション動画をさらに生成する、
請求項13または14に記載の情報処理プログラム。
【請求項16】
前記生成手順は、
前記シミュレーション動画のシミュレーションに用いられたパラメータ情報に基づいてラベル情報を生成し、
前記シミュレーション動画と前記ラベル情報とを含む正解データを生成する、
請求項1~15のいずれか1項に記載の情報処理プログラム。
【請求項17】
前記生成手順は、
前記パラメータ情報として、前記対象物を識別する対象物識別情報と、前記対象物の位置情報と、前記対象物の骨格を示す骨格モデルの姿勢を示す姿勢情報とに基づいて、前記ラベル情報を生成する、
請求項16に記載の情報処理プログラム。
【請求項18】
前記生成手順は、
前記シミュレーション動画が分析モデルに入力された場合に、前記正解データが前記分析モデルから出力されるよう前記分析モデルを学習させることで、前記分析モデルを生成する、
請求項16または17に記載の情報処理プログラム。
【請求項19】
前記生成手順によって生成された前記分析モデルを用いて、前記対象物を撮像した撮像画像から前記対象物を識別する対象物識別情報と、前記対象物の位置情報と、前記対象物の骨格を示す骨格モデルの姿勢を示す姿勢情報とを推定する推定手順、
をコンピュータに実行させる請求項18に記載の情報処理プログラム。
【請求項20】
対象物の骨格を示す骨格モデルの姿勢を示す姿勢情報と既存の楽曲に対応する楽譜における音楽記号を示す音楽情報とが対応付けられた姿勢辞書情報に基づいて、前記楽譜に応じて前記姿勢を時系列変化させることで、前記対象物の動きを示すシミュレーション動画を生成する生成部と、
を備え、
前記生成部は、
前記骨格モデルのボディ全体の位置の高さを示す前記姿勢情報と前記既存の楽曲の主旋律に対応するパート譜における音符の音の高さを示す前記音楽情報とが対応付けられた前記姿勢辞書情報に基づいて、前記主旋律に応じて前記ボディ全体の位置の高さを時系列変化させることで、前記シミュレーション動画を生成する、
情報処理装置。
【請求項21】
対象物の骨格を示す骨格モデルの姿勢を示す姿勢情報と既存の楽曲に対応する楽譜における音楽記号を示す音楽情報とが対応付けられた姿勢辞書情報に基づいて、前記楽譜に応じて前記姿勢を時系列変化させることで生成された前記対象物の動きを示すシミュレーション動画と、前記シミュレーション動画のシミュレーションに用いられたパラメータ情報に基づいて生成されたラベル情報とを含む正解データに基づいて学習された分析モデルを取得する取得手順と、
前記取得手順によって取得された分析モデルを用いて、前記対象物を撮像した撮像動画から前記対象物の骨格を示す骨格モデルの姿勢に対応する音楽記号の時系列データである楽譜を生成する生成手順と、
をコンピュータに実行させるための情報処理プログラム。
【請求項22】
前記生成手順によって生成された楽譜に基づいて再生される音を前記対象物の管理者によって利用される端末装置に出力するよう制御する出力制御手順、
をコンピュータに実行させる請求項21に記載の情報処理プログラム。
【請求項23】
前記生成手順は、
前記対象物による異常行動が検出された場合に、前記楽譜を生成し、
前記出力制御手順は、
前記生成手順によって生成された楽譜に基づいて再生されるアラート音を前記端末装置に出力するよう制御する、
請求項22に記載の情報処理プログラム。
【請求項24】
対象物の骨格を示す骨格モデルの姿勢を示す姿勢情報と既存の楽曲に対応する楽譜における音楽記号を示す音楽情報とが対応付けられた姿勢辞書情報に基づいて、前記楽譜に応じて前記姿勢を時系列変化させることで生成された前記対象物の動きを示すシミュレーション動画と、前記シミュレーション動画のシミュレーションに用いられたパラメータ情報に基づいて生成されたラベル情報とを含む正解データに基づいて学習された分析モデルを取得する取得部と、
前記取得部によって取得された分析モデルを用いて、前記対象物を撮像した動画から前記対象物の骨格を示す骨格モデルの姿勢に対応する音楽記号の時系列データである楽譜を生成する生成部と、
を備える情報処理装置。