(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024138826
(43)【公開日】2024-10-09
(54)【発明の名称】情報処理装置及び情報処理方法
(51)【国際特許分類】
G06T 7/20 20170101AFI20241002BHJP
G06T 7/00 20170101ALI20241002BHJP
G06F 40/56 20200101ALI20241002BHJP
【FI】
G06T7/20
G06T7/00 350B
G06F40/56
【審査請求】有
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023049528
(22)【出願日】2023-03-27
(71)【出願人】
【識別番号】501440684
【氏名又は名称】ソフトバンク株式会社
(71)【出願人】
【識別番号】500132214
【氏名又は名称】学校法人明星学苑
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】宅島 寛貴
(72)【発明者】
【氏名】堀 隆之
(72)【発明者】
【氏名】鈴木 裕真
(72)【発明者】
【氏名】岡本 秀明
(72)【発明者】
【氏名】田之上 隼人
(72)【発明者】
【氏名】植木 一也
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096CA04
5L096DA05
5L096HA11
5L096KA04
(57)【要約】
【課題】動画の各場面におけるアクションの時間的な変化を反映した動画説明文を生成可能とする。
【解決手段】本願に係る情報処理装置は、処理対象の動画である対象動画を構成する一のフレーム画像に含まれる対象物の動作に関する動作情報を推定する推定部と、一のフレーム画像の次のフレーム画像および動作情報に基づいて、次のフレーム画像の内容を説明する文章である次画像説明文を生成する文章生成部と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
処理対象の動画である対象動画を構成する一のフレーム画像に含まれる対象物の動作に関する動作情報を推定する推定部と、
前記一のフレーム画像の次のフレーム画像および前記動作情報に基づいて、前記次のフレーム画像の内容を説明する文章である次画像説明文を生成する文章生成部と、
を備える情報処理装置。
【請求項2】
前記文章生成部は、
画像から前記画像の内容を説明する文章である画像説明文を生成する機械学習モデルである第1の文章生成モデルの入力情報として、前記次のフレーム画像および前記動作情報を入力し、前記第1の文章生成モデルの出力情報として出力される前記次画像説明文を生成する、
請求項1に記載の情報処理装置。
【請求項3】
前記文章生成部は、
画像から前記画像の内容を説明する文章である画像説明文を生成する機械学習モデルである第2の文章生成モデルに含まれるエンコーダの入力情報として、前記次のフレーム画像を入力し、前記エンコーダの出力情報として出力される画像特徴量を生成し、
前記第2の文章生成モデルに含まれるデコーダの入力情報として、前記画像特徴量および文章の始まりを示す特殊文字列を入力し、前記デコーダが逐次出力する各文字列の出現確率に関する条件付き確率分布のうち、前記動作情報に対応する動作文字列の出現確率を高くするように前記条件付き確率分布を重み付けし、前記デコーダの出力情報として出力される前記次画像説明文を生成する、
請求項1に記載の情報処理装置。
【請求項4】
前記文章生成部は、
前記対象動画を構成する複数のフレーム画像それぞれの内容を説明する複数の画像説明文および前記対象動画の対象音声データに対応する対象文字データを生成し、前記複数の画像説明文および前記対象文字データに基づいて、前記複数の画像説明文および前記対象文字データを要約した文章である要約文を生成し、前記要約文に基づいて、前記対象動画の内容を説明する文章である対象動画説明文を生成する、
請求項1に記載の情報処理装置。
【請求項5】
前記文章生成部は、
音声データから前記音声データに対応する文字データを生成する機械学習モデルである音声テキスト変換モデルを用いて、前記対象音声データから前記対象文字データを生成する、
請求項4に記載の情報処理装置。
【請求項6】
前記推定部は、
前記一のフレーム画像に関する画像特徴量を入力情報として分類器に入力し、前記画像特徴量に対応する動作ラベルであって、前記分類器の出力情報として出力された動作ラベルに基づいて、前記動作情報を推定する、
請求項1に記載の情報処理装置。
【請求項7】
前記推定部は、
前記一のフレーム画像のうち、一の対象物が撮像された第1領域に関する第1特徴量と、前記一の対象物とは異なる他の対象物が撮像された第2領域に関する第2特徴量と、前記第1領域と前記第2領域とが重なる領域である交差領域に関する交差特徴量と、前記第1領域と前記第2領域の両方を含む領域である結合領域に関する結合特徴量とに基づいて生成された濃縮特徴量を入力情報として分類器に入力し、前記濃縮特徴量に対応する動作ラベルであって、前記分類器の出力情報として出力された動作ラベルに基づいて、前記動作情報を推定する、
請求項6に記載の情報処理装置。
【請求項8】
学習用動画を構成する一のフレーム画像に含まれる対象物の動作に関する動作情報を推定する推定部と、
前記一のフレーム画像の次のフレーム画像および前記動作情報を入力情報として入力した場合に、前記次のフレーム画像の内容を説明する文章である次画像説明文を出力情報として出力するように学習された機械学習モデルである第1の文章生成モデルを生成するモデル生成部と、
を備える情報処理装置。
【請求項9】
学習用動画を構成する一のフレーム画像に含まれる対象物の動作に関する動作情報を推定する推定部と、
前記一のフレーム画像の次のフレーム画像を入力情報としてエンコーダに入力した場合に、前記次のフレーム画像に対応する画像特徴量を出力情報として出力するように学習された前記エンコーダと、
前記画像特徴量および文章の始まりを示す特殊文字列を入力情報としてデコーダに入力した場合に、前記デコーダが逐次出力する各文字列の出現確率に関する条件付き確率分布のうち、前記動作情報に対応する動作文字列の出現確率を高くするように前記条件付き確率分布を重み付けし、前記次のフレーム画像の内容を説明する文章である次画像説明文を出力情報として出力するように学習された前記デコーダと、を含む機械学習モデルである第2の文章生成モデルを生成するモデル生成部と、
を備える情報処理装置。
【請求項10】
情報処理装置が実行するプログラムにより実現される情報処理方法であって、
処理対象の動画である対象動画を構成する一のフレーム画像に含まれる対象物の動作に関する動作情報を推定する推定工程と、
前記一のフレーム画像の次のフレーム画像および前記動作情報に基づいて、前記次のフレーム画像の内容を説明する文章である画像説明文を生成する文章生成工程と、
を含む情報処理方法。
【請求項11】
情報処理装置が実行するプログラムにより実現される情報処理方法であって、
学習用動画を構成する一のフレーム画像に含まれる対象物の動作に関する動作情報を推定する推定工程と、
前記一のフレーム画像の次のフレーム画像および前記動作情報を入力情報として入力した場合に、前記次のフレーム画像の内容を説明する文章である次画像説明文を出力情報として出力するように学習された機械学習モデルである第1の文章生成モデルを生成するモデル生成工程と、
を含む情報処理方法。
【請求項12】
情報処理装置が実行するプログラムにより実現される情報処理方法であって、
学習用動画を構成する一のフレーム画像に含まれる対象物の動作に関する動作情報を推定する推定工程と、
前記一のフレーム画像の次のフレーム画像を入力情報としてエンコーダに入力した場合に、前記次のフレーム画像に対応する画像特徴量を出力情報として出力するように学習された前記エンコーダと、
前記画像特徴量および文章の始まりを示す特殊文字列を入力情報としてデコーダに入力した場合に、前記デコーダが逐次出力する各文字列の出現確率に関する条件付き確率分布のうち、前記動作情報に対応する動作文字列の出現確率を高くするように前記条件付き確率分布を重み付けし、前記次のフレーム画像の内容を説明する文章である次画像説明文を出力情報として出力するように学習された前記デコーダと、を含む機械学習モデルである第2の文章生成モデルを生成するモデル生成工程と、
を含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置及び情報処理方法に関する。
【背景技術】
【0002】
従来、動画から動画のキャプション(動画キャプションともいう。以下、「動画説明文」と記載する。)を生成する技術が知られている。例えば、画像に含まれる要素を単語として出力する多層式のニューラルネットワークに監視カメラで撮影された動画を入力し、動画の説明文を生成する技術が知られている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術では、画像に含まれる要素を単語として出力する多層式のニューラルネットワークに監視カメラで撮影された動画を入力し、動画の説明文を生成するにすぎないため、動画の各場面におけるアクションの時間的な変化を反映した動画説明文を生成可能とすることができるとは限らない。
【0005】
本願は、動画の各場面におけるアクションの時間的な変化を反映した動画説明文を生成可能とすることができる情報処理装置及び情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
本願に係る情報処理装置は、処理対象の動画である対象動画を構成する一のフレーム画像に含まれる対象物の動作に関する動作情報を推定する推定部と、前記一のフレーム画像の次のフレーム画像および前記動作情報に基づいて、前記次のフレーム画像の内容を説明する文章である次画像説明文を生成する文章生成部と、を備える。
【0007】
また、本願に係る情報処理装置は、学習用動画を構成する一のフレーム画像に含まれる対象物の動作に関する動作情報を推定する推定部と、前記一のフレーム画像の次のフレーム画像および前記動作情報を入力情報として入力した場合に、前記次のフレーム画像の内容を説明する文章である次画像説明文を出力情報として出力するように学習された機械学習モデルである第1の文章生成モデルを生成するモデル生成部と、を備える。
【0008】
また、本願に係る情報処理装置は、学習用動画を構成する一のフレーム画像に含まれる対象物の動作に関する動作情報を推定する推定部と、前記一のフレーム画像の次のフレーム画像を入力情報としてエンコーダに入力した場合に、前記次のフレーム画像に対応する画像特徴量を出力情報として出力するように学習された前記エンコーダと、前記画像特徴量および文章の始まりを示す特殊文字列を入力情報としてデコーダに入力した場合に、前記デコーダが逐次出力する各文字列の出現確率に関する条件付き確率分布のうち、前記動作情報に対応する動作文字列の出現確率を高くするように前記条件付き確率分布を重み付けし、前記次のフレーム画像の内容を説明する文章である次画像説明文を出力情報として出力するように学習された前記デコーダと、を含む機械学習モデルである第2の文章生成モデルを生成するモデル生成部と、を備える。
【発明の効果】
【0009】
実施形態の一態様によれば、動画の各場面におけるアクションの時間的な変化を反映した動画説明文を生成可能とすることができる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、実施形態に係る情報処理装置の構成例を示す図である。
【
図2】
図2は、実施形態に係る文章生成モデルの生成処理の一例を示すフローチャートである。
【
図3】
図3は、実施形態に係る動作情報の推定処理の一例について説明するための図である。
【
図4】
図4は、実施形態に係る動画説明文の生成処理の一例を示すフローチャートである。
【
図5】
図5は、比較技術に係る画像説明文の生成処理の一例について説明するための図である。
【
図6】
図6は、実施形態に係る画像説明文の生成処理の一例について説明するための図である。
【
図7】
図7は、変形例に係る文章生成モデルの生成処理の一例を示すフローチャートである。
【
図8】
図8は、変形例に係る文章生成モデルの生成処理の一例について説明するための図である。
【
図9】
図9は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0011】
以下に、本願に係る情報処理装置及び情報処理方法を実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置及び情報処理方法が限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0012】
(実施形態)
〔1.はじめに〕
近年、機械学習をはじめとするAI(Artificial Intelligence)の研究や産業への応用において、AIモデル(機械学習モデルとも呼ばれる。以下、「機械学習モデル」と記載する。)のサイズが肥大化するとともに、機械学習モデルを学習させるために大量の学習データを要することが前提となっている。
【0013】
しかしながら、動画から動画の内容を説明する文章である動画説明文を生成する機械学習モデルを学習させるために必要な学習データ(具体的には、動画と動画説明文との組を含むデータセット。以下、「動画文データセット」と記載する。)の数は、依然として比較的に数が少ないことが知られている。例えば、動画文データセットの数は、画像を画像に対応するカテゴリに分類する機械学習モデルを学習させるために必要な学習データ(具体的には、画像と画像に対応するラベルとの組を含むデータセット。以下、「画像分類データセット」と記載する。)の数と比べると、まだ少ないことが知られている。また、動画文データセットの数は、画像から画像の内容を説明する文章である画像説明文を生成する機械学習モデルを学習させるために必要な学習データ(具体的には、画像と画像説明文との組を含むデータセット。以下、「画像文データセット」と記載する場合がある。)の数と比べると、まだ少ないことが知られている。
【0014】
これに対して、動画説明文と組になっていない動画のデータ(動画説明文が付いていない動画のデータ)は、動画文データセット、画像分類データセットおよび画像文データセット等と比べると、大量に存在することが知られている。
【0015】
そこで、本実施形態に係る情報処理装置は、動画説明文と組になっていない動画のデータ(以下、「動画」と記載する。)を利用して、動画から擬似的な動画説明文を生成する。これにより、本実施形態に係る情報処理装置は、動画と擬似的な動画説明文との組を含むデータセット(以下、「擬似動画文データセット」と記載する。)を大量に生成可能とすることができる。また、本実施形態に係る情報処理装置は、動画から動画説明文を生成する機械学習モデルの学習データとして、大量の擬似動画文データセットを用いることにより、動画から動画説明文を生成する機械学習モデルの推定精度を向上させることを可能とすることができる。
【0016】
具体的には、本実施形態に係る情報処理装置は、動画を構成する各フレーム画像に含まれる対象物の動作(アクションともいう)に関する動作情報を推定し、各フレーム画像の動作情報に基づいて、各フレーム画像の次のフレーム画像の内容を説明する文章である画像説明文を生成する。これにより、本実施形態に係る情報処理装置は、前のフレーム画像に含まれる対象物の動作に関する動作情報を各フレーム画像の画像説明文に反映することを可能とすることができる。すなわち、本実施形態に係る情報処理装置は、動画の各場面におけるアクションの時間的な変化を反映した各フレーム画像の画像説明文を生成することができる。
【0017】
また、本実施形態に係る情報処理装置は、動画を構成する各フレーム画像それぞれに対応する画像説明文を要約した要約文を生成し、要約文に基づいて、擬似的な動画説明文(以下、「動画説明文」と略記する場合がある。)を生成する。このように、本実施形態に係る情報処理装置は、前のフレーム画像に含まれる対象物の動作に関する動作情報を反映した各フレーム画像の画像説明文に基づいて、動画説明文を生成する。すなわち、本実施形態に係る情報処理装置は、動画の各場面におけるアクションの時間的な変化を反映した各フレーム画像の画像説明文に基づいて、動画説明文を生成する。したがって、本実施形態に係る情報処理装置は、動画の各場面におけるアクションの時間的な変化を反映した動画説明文を生成することができる。
【0018】
〔2.情報処理装置の構成〕
図1を用いて、実施形態に係る情報処理装置100の構成例について説明する。
図1は、実施形態に係る情報処理装置100の構成例を示す図である。情報処理装置100は、通信部110と、記憶部120と、制御部130とを有する。
【0019】
(通信部110)
通信部110は、NIC(Network Interface Card)やアンテナ等によって実現される。通信部110は、各種ネットワークと有線または無線で接続され、例えば、情報処理装置100以外の他の情報処理装置との間で情報の送受信を行う。
【0020】
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。具体的には、記憶部120は、各種データを記憶する。例えば、記憶部120は、機械学習モデルの学習に用いられる動画である学習用動画に関する情報を記憶する。また、記憶部120は、各種プログラムを記憶する。例えば、記憶部120は、モデル生成部133によって生成された機械学習モデルに関する情報を記憶する。また、記憶部120は、音声データから音声データに対応する文字データを生成する機械学習モデルである音声テキスト変換モデルに関する情報を記憶する。
【0021】
(制御部130)
制御部130は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置100内部の記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0022】
制御部130は、取得部131と、推定部132と、モデル生成部133と、文章生成部134を機能部として有し、以下に説明する情報処理の作用を実現または実行してよい。なお、制御部130の内部構成は、
図1に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、各機能部は、制御部130の機能を示したものであり、必ずしも物理的に区別されるものでなくともよい。
【0023】
(取得部131)
取得部131は、各種情報を取得してよい。例えば、取得部131は、機械学習モデルの学習に用いられる動画である学習用動画を取得してよい。また、取得部131は、処理対象の動画である対象動画を取得してよい。
【0024】
(推定部132)
推定部132は、画像に含まれる対象物の動作(アクションともいう)に関する動作情報を推定してよい。具体的には、推定部132は、動画を構成する一のフレーム画像に含まれる対象物の動作に関する動作情報を推定してよい。推定部132は、動画を構成する各フレーム画像に含まれる対象物の動作に関する動作情報を推定してよい。ここで、画像に含まれる対象物は、動きを伴う物体であればどのような物体であってもよい。例えば、対象物は、人物、動物または移動体(例えば、車両、船舶、飛行機など)であってよい。また、対象物は、複数であってもよい。例えば、対象物は、第1の対象物とともに画像に写っている第2の対象物であってよい。例えば、第1の対象物が人物である場合、第2の対象物は人物によって使用される道具(例えば、フライパン等の料理道具、スポーツで使用されるバット、ボール、ラケットなど)などであってもよい。また、第1の対象物が人物である場合、第2の対象物は人物が乗っている馬や車両などであってもよい。
【0025】
(モデル生成部133)
モデル生成部133は、動画を構成する所定のフレーム画像から所定のフレームの内容を説明する文章である画像説明文を生成するように学習された文章生成モデルを生成してよい。具体的には、モデル生成部133は、動画を構成する所定のフレーム画像、および、所定のフレーム画像の一つ前のフレーム画像に対応する動作情報を入力情報として入力した場合に、所定のフレームの内容を説明する文章である画像説明文を出力情報として出力するように学習された文章生成モデルを生成してよい。言い換えると、モデル生成部133は、動画を構成する一のフレーム画像の次のフレーム画像、および、一のフレーム画像に対応する動作情報を入力情報として入力した場合に、次のフレーム画像の内容を説明する文章である次画像説明文を出力情報として出力するように学習された文章生成モデルを生成してよい。より具体的には、モデル生成部133は、推定部132によって推定された動作情報に基づいて、画像から画像の内容を説明する文章である画像説明文を生成するように学習された学習済みの機械学習モデル(以下、「既存の文章生成モデル」と記載する。)を再学習させることで、文章生成モデルを生成してよい。
【0026】
例えば、既存の文章生成モデルは、画像が入力情報として入力された場合に、画像の特徴を示す画像特徴量を出力情報として出力するエンコーダを含んでよい。例えば、エンコーダは、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)であってよい。また、エンコーダは、物体認識用に開発されたResNet(Residual Network)(Kaiming He et al., 2015)、AlexNet(Krizhevsky et al., 2012)、VGGNet(Simonyan et al., 2014)、GoogLeNet(Szegedy et al., 2014)、SENet(Squeeze-and-Excitation Networks)(Jie Hu et al., 2018))、EfficientNet(Tan et al., 2019)、またはZFNet(Matthew et al., 2013)であってよい。また、エンコーダは、物体検出用に開発されたFaster R-CNN(Shaoqing Ren et al., 2015)、YOLO(You Look Only Onse)(Joseph Redmon et al., 2015)、またはSSD(Single Shot MultiBox Detector)(Wei Liu., 2015)であってよい。
【0027】
また、既存の文章生成モデルは、エンコーダから出力された画像特徴量が入力情報として入力された場合に、エンコーダに入力された画像の内容を説明する文章である画像説明文を出力情報として出力するデコーダを含んでよい。例えば、デコーダは、再帰型ニューラルネットワーク(RNN:Recurrent Neural Network)、GRU(Gated Recurrent Unit)、LSTM(Long Short Term Memory)、Transformer(Ashish Vaswani et al., 2017)、TransformerをベースとしたBERT(Bidirectional Encoder Representations from Transformers)、GPT-3(Generative Pre-Training3)またはT5(Text-to-Text Transfer Transformer)であってよい。
【0028】
(文章生成部134)
文章生成部134は、処理対象の動画である対象動画を構成する複数のフレーム画像それぞれの内容を説明する複数の画像説明文を生成してよい。具体的には、文章生成部134は、モデル生成部133によって生成された文章生成モデルを用いて、対象動画を構成する複数のフレーム画像それぞれの内容を説明する複数の画像説明文を生成してよい。また、文章生成部134は、対象動画の対象音声データに対応する対象文字データを生成してよい。
【0029】
また、文章生成部134は、対象動画の内容を説明する文章である対象動画説明文を生成してよい。ここで、対象動画説明文は、上述した擬似的な動画説明文に対応する。具体的には、文章生成部134は、対象動画説明文として、対象動画を構成する複数のフレーム画像それぞれの内容を説明する複数の画像説明文および対象文字データを要約した要約文を生成してよい。
【0030】
〔3.情報処理方法〕
ここから、
図2~
図6を用いて、実施形態に係る情報処理装置100による情報処理の一例について説明する。
【0031】
図2を用いて、情報処理装置100による文章生成モデルの生成処理の一例について詳しく説明する。
図2は、実施形態に係る文章生成モデルの生成処理の一例を示すフローチャートである。
図2では、取得部131は、機械学習モデルの学習に用いられる動画である学習用動画を取得する(ステップS101)。具体的には、取得部131は、学習用動画に関する情報を格納している記憶部120から学習用動画を取得してよい。
【0032】
また、推定部132は、学習用動画を構成する一のフレーム画像に含まれる対象物の動作に関する動作情報を推定する(ステップS102)。具体的には、推定部132は、一のフレーム画像に関する画像特徴量を入力情報として分類器に入力し、画像特徴量に対応する動作ラベルであって、分類器の出力情報として出力された動作ラベルに基づいて、動作情報を推定する。
【0033】
図3を用いて、情報処理装置100による動作情報の推定処理の一例について詳しく説明する。
図3は、実施形態に係る動作情報の推定処理の一例について説明するための図である。
図3の左側には、学習用動画を構成する一のフレーム画像G11を示す。
図3に示す一のフレーム画像G11は、フライパンO2を手に持った人物O1が野菜を炒めている様子を示す。
図3では、推定部132は、静止画像に写っている対象物の動作(アクション)を推定する公知の技術を用いて、一のフレーム画像G11に含まれる対象物である人物O1の動作に関する動作情報#11を推定してよい(参考文献;論文名“Understanding action recognition in still images“,<インターネット>https://openaccess.thecvf.com/content_CVPRW_2020/papers/w23/Girish_Understanding_Action_Recognition_in_Still_Images_CVPRW_2020_paper.pdf(令和5年2月22日検索))。
【0034】
まず、推定部132は、公知の物体検出技術を用いて、一のフレーム画像G11の中から、物体が写っている領域を抽出してよい。
図3では、推定部132は、一のフレーム画像G11の中から、人物O1が写っている領域である第1領域R1、フライパンO2が写っている領域である第2領域R2、人物O1とフライパンO2とが接触している部分が写っている領域である交差領域R3、および、人物O1とフライパンO2の両方を含む領域である結合領域R4を抽出してよい。
図3では、推定部132によって抽出された各領域をバウンディングボックスのような矩形の枠によって囲まれた領域によって示す。具体的には、交差領域R3は、第1領域R1と第2領域R2とが重なる領域であってよい。また、結合領域R4は、第1領域R1と第2領域R2の両方を含む領域であってよい。
【0035】
続いて、推定部132は、上述したCNN、Faster R-CNN、YOLO、またはSSDを用いて、抽出された各領域から各領域に対応する画像特徴量を抽出してよい。
図3では、推定部132は、第1領域R1から、第1領域R1に対応する画像特徴量である第1特徴量を抽出してよい。また、推定部132は、第2領域R2から、第2領域R2に対応する画像特徴量である第2特徴量を抽出してよい。また、推定部132は、第1領域R1と第2領域R2とが重なる領域である交差領域R3から、交差領域R3に対応する画像特徴量である交差特徴量を抽出してよい。また、推定部132は、第1領域R1と第2領域R2の両方を含む領域である結合領域R4から、結合領域R4に対応する画像特徴量である結合特徴量を抽出してよい。
【0036】
続いて、推定部132は、抽出された各領域に写っている物体のカテゴリに基づいて、抽出された画像特徴量が何の特徴を示すかを推定してよい。
図3では、推定部132は、第1領域R1に写っている物体のカテゴリが「人物」なので、第1特徴量は「人物」に関する画像特徴量であると推定してよい。また、推定部132は、第2領域R2に写っている物体のカテゴリが「フライパン」なので、第2特徴量はフライパン「フライパン」に関する画像特徴量であると推定してよい。また、推定部132は、交差領域R3に写っている物体のカテゴリが「人物の手がフライパンを握っている部分」なので、交差特徴量は「人物の手がフライパンを握っている部分」に関する画像特徴量であると推定してよい。また、推定部132は、結合領域R4に写っている物体のカテゴリが「人物」と「フライパン」と「人物の手がフライパンを握っている部分」と「野菜」なので、結合特徴量は「人物」と「フライパン」と「人物の手がフライパンを握っている部分」と「野菜」に関する画像特徴量であると推定してよい。
【0037】
続いて、推定部132は、各領域から抽出された画像特徴量を結合した特徴量である濃縮特徴量を生成してよい。推定部132は、各画像特徴量に対応する特徴量ベクトル同士を連結して、濃縮特徴量に対応する一の特徴ベクトルを生成してよい。
図3では、推定部132は、第1特徴量と第2特徴量と交差特徴量と結合特徴量を連結して、濃縮特徴量を生成してよい。
【0038】
続いて、推定部132は、濃縮特徴量が入力情報として入力された場合、濃縮特徴量と対応する動作ラベルを出力するようにあらかじめ学習された機械学習モデルである分類器を取得してよい。例えば、推定部132は、分類器に関する情報を格納している記憶部120から分類器を取得してよい。ここで、動作ラベルは、画像に含まれる対象物の動作を示す文字列であってよい。例えば、動作ラベルは、日本語の動詞の分類における継続動詞、瞬間動詞、状態動詞、または、第4種の動詞に対応する文字列であってよい。継続動詞は、ある時間継続して行われる種類の動作を示す動詞である。例えば、継続動詞の一例として、食べる、読む、話す、歌う、歩く、書く、笑う、泣く、泳ぐ等の人間の動作を表す動詞や、散る、降る、咲く等の自然現象を表す動詞がある。瞬間動詞は、一瞬で終わってしまう動作を示す動詞である。例えば、瞬間動詞の一例として、(電気が)つく、消える、触る、届く、決まる、見つかる、始まる、終わる、到着する等がある。状態動詞は、状態を表す動詞である。例えば、状態動詞の一例として、ある、いる等がある。第4種の動詞は、時間の観念を含まず、形容詞のようにその物事の様子、性質、形状、印象を表す動詞である。例えば、第4種の動詞の一例として、似る、(水が)澄む、(角が)とがる、高い鼻をしている等がある。
【0039】
続いて、推定部132は、生成した濃縮特徴量を入力情報として分類器に入力し、濃縮特徴量に対応する動作ラベルであって、分類器の出力情報として出力される動作ラベルを推定してよい。続いて、推定部132は、動作ラベルに基づいて、動作情報を推定してよい。
図3では、推定部132は、生成した濃縮特徴量を入力情報として分類器に入力し、濃縮特徴量に対応する動作ラベルL11であって、分類器の出力情報として出力される動作ラベルL11を推定してよい。
図3では、動作ラベルL11は、「炒める」という動詞に対応する文字列であってよい。続いて、推定部132は、動作ラベルL11に基づいて、動作情報#11を推定してよい。例えば、推定部132は、動作情報#11として、動作ラベルL11に対応する「炒める」という文字列を推定してよい。
【0040】
このように、推定部132は、一のフレーム画像(
図3では、一のフレーム画像G11)のうち、一の対象物(
図3では、人物O1)が撮像された第1領域(
図3では、第1領域R1)に関する第1特徴量と、一の対象物とは異なる他の対象物(
図3では、フライパンO2)が撮像された第2領域(
図3では、第2領域R2)に関する第2特徴量と、第1領域と第2領域とが重なる領域である交差領域(
図3では、交差領域R3)に関する交差特徴量と、第1領域と第2領域の両方を含む領域である結合領域(
図3では、結合領域R4)に関する結合特徴量とに基づいて生成された濃縮特徴量を入力情報として分類器に入力し、濃縮特徴量に対応する動作ラベルであって、分類器の出力情報として出力された動作ラベル(
図3では、動作ラベルL11)に基づいて、動作情報(
図3では、動作ラベルL11に対応する「炒める」という文字列)を推定する。
【0041】
なお、
図3では、推定部132が、濃縮特徴量を入力情報として分類器に入力し、動作情報として、分類器の出力情報として出力される動作ラベルに対応する文字列を推定する場合について説明したが、推定部132は、分類器に入力される入力情報は、濃縮特徴量に限られない。例えば、推定部132は、第1特徴量と第2特徴量と交差特徴量と結合特徴量を入力情報として分類器に入力し、分類器の出力情報として出力される動作ラベルに対応する文字列を推定してもよい。また、推定部132は、一のフレーム画像から一のフレーム画像に対応する画像特徴量を抽出してよい。続いて、推定部132は、一のフレーム画像に対応する画像特徴量を入力情報として分類器に入力し、分類器の出力情報として出力される動作ラベルに対応する文字列を推定してもよい。
【0042】
また、
図3では、推定部132の処理対象となる画像が
図3に示す一のフレーム画像G11である場合について説明したが、推定部132の処理対象となる画像は一のフレーム画像G11に限られない。例えば、推定部132の処理対象となる画像は、学習用動画を構成する複数のフレーム画像に含まれるフレーム画像であれば、どのフレーム画像であってもよい。また、推定部132の処理対象となる画像は、後述する処理対象の動画である対象動画を構成する一のフレームであってもよい。例えば、推定部132の処理対象となる画像は、対象動画を構成する複数のフレーム画像に含まれるフレーム画像であれば、どのフレーム画像であってもよい。
【0043】
また、
図3では、推定部132によって推定された動作情報#11が、動作ラベルL11に対応する「炒める」という動詞に対応する文字列である場合について説明したが、推定部132によって推定される動作情報は、「炒める」という動詞に対応する文字列に限られない。例えば、動作情報は、画像に含まれる対象物の動作を示す文字列であれば、どのような文字列であってもよい。例えば、動作情報は、上述した継続動詞、瞬間動詞、状態動詞、または、第4種の動詞に対応するいかなる文字列であってもよい。
【0044】
また、モデル生成部133は、学習用動画を構成する一のフレーム画像の次のフレーム画像、および、推定部132によって推定された一のフレーム画像に含まれる対象物の動作に関する動作情報(以下、「一のフレーム画像に対応する動作情報」と記載する場合がある。)を入力情報として入力した場合に、次のフレーム画像の内容を説明する文章である次画像説明文を出力情報として出力するように学習された機械学習モデルである文章生成モデルM1を生成する(ステップS103)。
図3の例に当てはめると、モデル生成部133は、学習用動画を構成する一のフレーム画像G11の次のフレーム画像G12、および、推定部132によって推定された一のフレーム画像G11に対応する動作情報#11(例えば、動作ラベルL11に対応する「炒める」という文字列)を入力情報として入力した場合に、次のフレーム画像G12の内容を説明する文章である次画像説明文CP12(例えば、「野菜を炒める」という文章)を出力情報として出力するように学習された機械学習モデルである文章生成モデルM1を生成してよい。
【0045】
具体的には、モデル生成部133は、画像を入力情報としてエンコーダE1に入力した場合に、画像に対応する画像特徴量を出力情報として出力するように学習されたエンコーダE1と、画像特徴量および文章の始まりを示す特殊文字列を入力情報としてデコーダD1に入力した場合に、画像説明文を出力情報として出力するように学習されたデコーダD1と、を含む機械学習モデルである既存の文章生成モデルを、推定部132によって推定された動作情報に基づいて再学習させることで、文章生成モデルM1を生成してよい。より具体的には、モデル生成部133は、エンコーダE1およびデコーダD1を含む既存の文章生成モデルの入力情報として、推定部132によって推定された動作情報を追加することにより、既存の文章生成モデルを再学習させてよい。
【0046】
例えば、モデル生成部133は、推定部132によって推定された動作情報に基づいて、動作情報に対応するベクトルを生成してよい。例えば、モデル生成部133は、推定部132によって推定された一のフレーム画像G11に対応する動作情報#11に基づいて、一のフレーム画像G11に対応する動作情報#11に対応するベクトルV11を生成してよい。例えば、モデル生成部133は、動作ラベルL11に対応する「炒める」という文字列に基づいて、動作ラベルL11に対応する「炒める」という文字列に対応するベクトルV11を生成してよい。続いて、モデル生成部133は、一のフレーム画像G11の次のフレーム画像G12に対応するベクトルV12と、生成されたベクトルV11とを連結して、連結された一のベクトルである連結ベクトルV13(=V11+V12)を生成してよい。続いて、モデル生成部133は、既存の文章生成モデルに含まれるエンコーダE1の入力情報として、生成された連結ベクトルV13を入力し、エンコーダE1の出力情報として出力される特徴量であって、連結ベクトルV13に対応する特徴量である結合特徴量#13を生成してよい。このように、モデル生成部133は、既存の文章生成モデルに含まれるエンコーダE1の入力情報として、次のフレーム画像G12に対応するベクトルV12と一のフレーム画像G11に対応する動作情報#11に対応するベクトルV11とを連結した連結ベクトルV13を入力することで、連結ベクトルV13に対応する特徴量である結合特徴量#13を出力情報として出力するようにエンコーダE1を再学習させてよい。以下では、再学習されたエンコーダE1をエンコーダE1´と記載する場合がある。
【0047】
続いて、モデル生成部133は、既存の文章生成モデルに含まれるデコーダD1の入力情報として、エンコーダE1´から出力された結合特徴量#13を入力し、デコーダD1の出力情報として出力される文章であって、結合特徴量#13に対応する文章である次画像説明文CP12(例えば、「野菜を炒める」という文章)を生成してよい。このように、モデル生成部133は、既存の文章生成モデルに含まれるデコーダD1の入力情報として、エンコーダE1´から出力された結合特徴量を入力することで、結合特徴量に対応する文章である次画像説明文を出力情報として出力するようにデコーダD1を再学習させてよい。以下では、再学習されたデコーダD1をデコーダD1´と記載する場合がある。このようにして、モデル生成部133は、エンコーダE1´とデコーダD1´と、を含む機械学習モデルである文章生成モデルM1を生成してよい。
【0048】
図4~
図6を用いて、情報処理装置100による動画説明文の生成処理の一例について詳しく説明する。
図4は、実施形態に係る動画説明文の生成処理の一例を示すフローチャートである。
図4では、取得部131は、処理対象の動画である対象動画を取得する(ステップS201)。具体的には、取得部131は、通信部110を介して、例えば、利用者によって使用される情報処理装置から対象動画を取得してよい。
【0049】
また、文章生成部134は、対象動画を構成する複数のフレーム画像それぞれの内容を説明する複数の画像説明文を生成する(ステップS202)。具体的には、文章生成部134は、モデル生成部133によって生成された文章生成モデルM1を用いて、対象動画を構成する複数のフレーム画像それぞれの内容を説明する複数の画像説明文を生成してよい。
【0050】
ここで、
図5を用いて、比較技術に係る画像説明文の生成処理の一例について説明する。
図5は、比較技術に係る画像説明文の生成処理の一例について説明するための図である。
図5では、既存の文章生成モデルを用いて、画像から画像説明文を生成する処理について説明する。
図5では、対象動画を構成する複数のフレーム画像のうちの所定のフレーム画像G22を入力情報として既存の文章生成モデルに入力した場合、所定のフレーム画像G22の内容を説明する画像説明文CP22´である「野菜を焼く」という文章が生成される。すなわち、既存の文章生成モデルは、所定のフレーム画像G22に写っている人物がフライパンに野菜を載せて焼いているという瞬間の動作に対応する画像説明文を生成する。このように、比較技術では、既存の文章生成モデルが、各フレーム画像から各フレーム画像にその瞬間に写っている対象物の動作に対応する画像説明文を生成するにすぎない。したがって、比較技術では、所定のフレーム画像に対応する画像説明文に前のフレーム画像に含まれる対象物の動作に関する動作情報を反映することは困難な場合があった。
【0051】
次に、
図6を用いて、情報処理装置100による画像説明文の生成処理の一例について説明する。
図6は、実施形態に係る画像説明文の生成処理の一例について説明するための図である。
図6では、推定部132は、処理対象の動画である対象動画を構成する一のフレーム画像G21(図示略)に含まれる対象物の動作に関する動作情報#21を推定する。
図6では、簡単のため、対象動画を構成する一のフレーム画像G21が、
図3で説明した学習用動画を構成する一のフレーム画像G11と同じ画像である場合について説明するが、この限りではない。このとき、推定部132は、
図3と同様にして、対象動画を構成する一のフレーム画像G21に含まれる対象物の動作に関する動作情報#21(以下、「一のフレーム画像G21に対応する動作情報#21」と記載する場合がある。)として、動作ラベルL21に対応する「炒める」という文字列を推定してよい。
【0052】
また、
図6では、文章生成部134は、対象動画を構成する一のフレーム画像G21の次のフレーム画像G22および一のフレーム画像G21に含まれる対象物の動作に関する動作情報#21である「炒める」という文字列に基づいて、次のフレーム画像G22の内容を説明する文章である次画像説明文CP22である「野菜を炒める」という文章を生成してよい。
【0053】
このように、文章生成部134は、対象動画を構成する一のフレーム画像の次のフレーム画像および一のフレーム画像に含まれる対象物の動作に関する動作情報に基づいて、次のフレーム画像の内容を説明する文章である次画像説明文を生成する。
【0054】
具体的には、文章生成部134は、モデル生成部133によって生成された文章生成モデルM1に関する情報を格納している記憶部120から文章生成モデルM1を取得してよい。続いて、文章生成部134は、文章生成モデルM1の入力情報として、対象動画を構成する一のフレーム画像G21の次のフレーム画像G22および一のフレーム画像G21に含まれる対象物の動作に関する動作情報#21を入力し、文章生成モデルM1の出力情報として出力される次画像説明文CP22を生成してよい。より具体的には、文章生成部134は、文章生成モデルM1の入力情報として、対象動画を構成する一のフレーム画像G21の次のフレーム画像G22および一のフレーム画像G21に対応する動作情報#21である「炒める」という文字列を入力し、文章生成モデルM1の出力情報として出力される次画像説明文CP22である「野菜を炒める」という文章を生成してよい。
【0055】
このように、文章生成部134は、画像から画像の内容を説明する文章である画像説明文を生成する機械学習モデルである文章生成モデルM1の入力情報として、対象動画を構成する一のフレーム画像の次のフレーム画像および一のフレーム画像に含まれる対象物の動作に関する動作情報を入力し、文章生成モデルM1の出力情報として出力される次画像説明文を生成する。
【0056】
例えば、文章生成部134は、推定部132によって推定された動作情報に基づいて、動作情報に対応するベクトルを生成してよい。
図6では、文章生成部134は、推定部132によって推定された一のフレーム画像G21に対応する動作情報#21に基づいて、一のフレーム画像G21に対応する動作情報#21に対応するベクトルV21を生成してよい。例えば、文章生成部134は、動作ラベルL21に対応する「炒める」という文字列に基づいて、動作ラベルL21に対応する「炒める」という文字列に対応するベクトルV21を生成してよい。続いて、文章生成部134は、一のフレーム画像G21の次のフレーム画像G22に対応するベクトルV22と、生成されたベクトルV21とを連結して、連結された一のベクトルである連結ベクトルV23(=V21+V22)を生成してよい。続いて、文章生成部134は、文章生成モデルM1に含まれるエンコーダE1´の入力情報として、生成された連結ベクトルV23を入力し、エンコーダE1´の出力情報として出力される特徴量であって、連結ベクトルV23に対応する特徴量である結合特徴量#23を生成してよい。続いて、文章生成部134は、文章生成モデルM1に含まれるデコーダD1´の入力情報として、エンコーダE1´から出力された結合特徴量#23を入力し、デコーダD1´の出力情報として出力される文章であって、結合特徴量#23に対応する文章である次画像説明文CP22(例えば、「野菜を炒める」という文章)を生成してよい。
【0057】
このように、情報処理装置100は、所定のフレーム画像G22の内容を説明する画像説明文CP22を生成する際に、所定のフレーム画像G22よりも一つ前のフレーム画像G21に含まれる対象物の動作に関する動作情報#21(
図6では、動作ラベルL21に対応する「炒める」という文字列)を用いる。これにより、情報処理装置100は、一つ前のフレーム画像G21で行われていた動作に関する情報を所定のフレーム画像G22に対応する画像説明文CP22に反映することを可能とすることができる。言い換えると、情報処理装置100は、一つ前のフレーム画像G21から所定のフレーム画像G22にかけて行われている動作の継続性を所定のフレーム画像G22に対応する画像説明文CP22に反映することを可能とすることができる。すなわち、情報処理装置100は、一つ前のフレーム画像G21から所定のフレーム画像G22にかけて行われている継続動詞に対応する動作(
図6では、人物がフライパンで野菜を炒めるという継続動詞に対応する動作)を所定のフレーム画像G22に対応する画像説明文CP22に反映しやすくすることを可能とすることができる。
【0058】
ここで、対象動画を構成する複数のフレーム画像のうち、最初のフレーム画像については、前のフレーム画像が存在しないため、前のフレーム画像に対応する動作情報が存在しない。そこで、文章生成部134は、既存の文章生成モデルを用いて、対象動画を構成する最初のフレーム画像の内容を説明する画像説明文を生成してよい。また、文章生成部134は、
図6と同様にして、モデル生成部133によって生成された文章生成モデルM1を用いて、対象動画を構成する複数のフレーム画像のうち、2枚目以降のフレーム画像の内容を説明する複数の画像説明文を生成してよい。このようにして、文章生成部134は、対象動画を構成する複数のフレーム画像それぞれの内容を説明する複数の画像説明文を生成してよい。
【0059】
続いて、文章生成部134は、音声データから音声データに対応する文字データを生成する機械学習モデルである音声テキスト変換モデルを用いて、対象動画の対象音声データから対象音声データに対応する対象文字データを生成する(ステップS203)。具体的には、音声テキスト変換モデルは、Speech to Text(Speech2Text)であってよい。例えば、文章生成部134は、対象動画から対象音声データを抽出してよい。続いて、文章生成部134は、音声テキスト変換モデルを用いて、対象音声データから文字起こしした対象文字データを生成してよい。なお、ステップS202の処理と、ステップS203の処理は、いずれの処理が先に行われてもよく、文章生成部134によってそれぞれ同時に行われてもよい。
【0060】
続いて、文章生成部134は、複数の画像説明文および対象文字データに基づいて、複数の画像説明文および対象文字データを要約した文章である要約文を生成し、要約文に基づいて、対象動画の内容を説明する文章である対象動画説明文を生成する(ステップS204)。具体的には、文章生成部134は、抽出型モデルや抽象型モデルといった既存の文章要約モデルを用いて、複数の画像説明文および対象文字データから要約文を生成し、生成した要約文を対象動画説明文としてよい。
【0061】
このように、文章生成部134は、対象動画を構成する複数のフレーム画像それぞれの内容を説明する複数の画像説明文および対象動画の対象音声データに対応する対象文字データを生成し、複数の画像説明文および対象文字データに基づいて、複数の画像説明文および対象文字データを要約した文章である要約文を生成し、要約文に基づいて、対象動画の内容を説明する文章である対象動画説明文を生成する。
【0062】
〔4.変形例〕
上述した実施形態に係る処理は、上記実施形態以外にも種々の異なる形態にて実施されてよい。
【0063】
上述した実施形態では、モデル生成部133が、学習用動画を構成する一のフレーム画像の次のフレーム画像および一のフレーム画像に対応する動作情報を入力情報として入力した場合に、次のフレーム画像の内容を説明する文章である次画像説明文を出力情報として出力するように学習された機械学習モデルである文章生成モデルM1を生成する場合について説明した。変形例では、モデル生成部133が、デコーダが逐次出力する各文字列の出現確率に関する条件付き確率分布のうち、学習用動画を構成する一のフレーム画像に対応する動作情報に対応する動作文字列の出現確率を高くするように条件付き確率分布を重み付けし、一のフレーム画像の次のフレーム画像の内容を説明する文章である次画像説明文を出力情報として出力するように学習されたデコーダを含む機械学習モデルである文章生成モデルM2を生成する場合について説明する。
【0064】
図7は、変形例に係る文章生成モデルの生成処理の一例を示すフローチャートである。
図7では、取得部131は、機械学習モデルの学習に用いられる動画である学習用動画を取得する(ステップS301)。具体的には、取得部131は、
図2に示すステップS101で説明したのと同様に、学習用動画を取得してよい。
【0065】
また、推定部132は、学習用動画を構成する一のフレーム画像に含まれる対象物の動作に関する動作情報を推定する(ステップS302)。具体的には、推定部132は、
図3と同様にして、動作情報を推定してよい。後述する
図8の例に当てはめると、推定部132は、学習用動画を構成する一のフレーム画像G31(図示略)に含まれる対象物である人物O1の動作に関する動作情報#31を推定してよい。ここでは、簡単のため、一のフレーム画像G31が、
図3に示す一のフレーム画像G11と同じ画像である場合について説明するが、この限りではない。例えば、推定部132は、
図3と同様にして、分類器の出力情報として出力される動作ラベルL31を推定してよい。例えば、動作ラベルL31は、「炒める」という動詞に対応する文字列であってよい。続いて、推定部132は、動作ラベルL31に基づいて、動作情報#31を推定してよい。例えば、推定部132は、動作情報#31として、動作ラベルL31に対応する「炒める」という文字列を推定してよい。以下では、動作情報に対応する文字列のこと「動作文字列」と記載する場合がある。例えば、動作情報#31に対応する動作文字列#31は、「炒める」という文字列である。
【0066】
また、モデル生成部133は、デコーダが逐次出力する各文字列の出現確率に関する条件付き確率分布のうち、学習用動画を構成する一のフレーム画像に対応する動作情報に対応する動作文字列の出現確率を高くするように条件付き確率分布を重み付けし、一のフレーム画像の次のフレーム画像の内容を説明する文章である次画像説明文を出力情報として出力するように学習されたデコーダを含む機械学習モデルである文章生成モデルM2を生成する(ステップS303)。
【0067】
図8を用いて、変形例に係る文章生成モデルの生成処理の一例について詳しく説明する。
図8は、変形例に係る文章生成モデルの生成処理の一例について説明するための図である。
図8の左側には、学習用動画を構成する一のフレーム画像G31(図示略)の次のフレーム画像G32を示す。次のフレーム画像G32は、文章生成モデルM2に入力される入力情報に相当する。また、
図8の中央に、文章生成モデルM2の構成を示す。文章生成モデルM2は、エンコーダE2を含んでよい。文章生成モデルM2に入力された次のフレーム画像G32は、エンコーダE2に入力されてよい。エンコーダE2は、次のフレーム画像G32が入力情報として入力された場合、次のフレーム画像G32に対応する画像特徴量F32を出力情報として出力してよい。また、文章生成モデルM2は、デコーダD2を含んでよい。
図8では、デコーダD2が、1つずつ文字列を生成して、生成した文字列を自己回帰的に次のステップの入力する様子を示す。デコーダD2は、エンコーダE2が出力した画像特徴量F32と文章の始まりを示す特殊文字列(
図8では、「<s>」という特殊文字列)が入力情報として入力された場合、次のフレーム画像G32の内容を説明する文章である次画像説明文CP32を出力情報として出力してよい。また、
図8の右側に、次のフレーム画像G32の内容を説明する文章である次画像説明文CP32を示す。次画像説明文CP32は、文章生成モデルM2から出力される出力情報に相当する。
【0068】
図8では、モデル生成部133は、学習用動画を構成する一のフレーム画像G31の次のフレーム画像G32を入力情報としてエンコーダE2に入力した場合に、次のフレーム画像G32に対応する画像特徴量F32を出力情報として出力するように学習されたエンコーダE2と、次のフレーム画像G32に対応する画像特徴量F32および文章の始まりを示す特殊文字列である「<s>」を入力情報としてデコーダD2に入力した場合に、デコーダD2が逐次出力する各文字列の出現確率に関する条件付き確率分布PD1~PD3のうち、一のフレーム画像G31に含まれる対象物の動作に関する動作情報#31に対応する動作文字列#31である「炒める」という文字列の出現確率を高くするように条件付き確率分布PD1~PD3をそれぞれ重み付けし、次のフレーム画像G32の内容を説明する文章である次画像説明文CP32を出力情報として出力するように学習されたデコーダD2と、を含む機械学習モデルである文章生成モデルM2を生成してよい。
【0069】
図8では、簡単のため、デコーダD2が逐次出力する各文字列の出現確率に関する条件付き確率分布が、「彼」と「野菜」と「炒める」と「を」の4つの文字列の出現確率に関する条件付き確率分布である場合について説明する。実際には、デコーダD2が逐次出力する各文字列の出現確率に関する条件付き確率分布は、例えば、文章生成モデルM2が予め学習した辞書データ(デコーダD2から出力される文字列の候補に関する辞書データ)に含まれる全ての文字列それぞれの出現確率に関する条件付き確率分布であってよい。
【0070】
図8では、モデル生成部133は、エンコーダE2が出力した画像特徴量F32および文章の始まりを示す特殊文字列である「<s>」を入力情報としてデコーダD2に入力した場合に、デコーダD2が出力する「彼」と「野菜」と「炒める」と「を」の4つの文字列それぞれの出現確率に関する条件付き確率分布PD1のうち、動作情報#31に対応する動作文字列#31である「炒める」という文字列の出現確率を高くするように条件付き確率分布PD1を重み付けしてよい。
図8では、条件付き確率分布PD1における「炒める」という文字列の出現確率は、「炒める」という文字列の元の出現確率P11にモデル生成部133によって重み付けされた出現確率P12が加算された出現確率となっている様子を示す。また、
図8では、モデル生成部133は、条件付き確率分布PD1において、4つの文字列の出現確率のうち、「野菜」という文字列の出現確率が最も高いので、デコーダD2の出力情報として「野菜」という文字列を出力してよい。
【0071】
続いて、モデル生成部133は、先のステップでデコーダD2が出力した「野菜」という文字列を入力情報としてデコーダD2に入力した場合に、デコーダD2が出力する「彼」と「野菜」と「炒める」と「を」の4つの文字列それぞれの出現確率に関する条件付き確率分布PD2のうち、動作情報#31に対応する動作文字列#31である「炒める」という文字列の出現確率を高くするように条件付き確率分布PD2を重み付けしてよい。
図8では、条件付き確率分布PD2における「炒める」という文字列の出現確率は、「炒める」という文字列の元の出現確率P21にモデル生成部133によって重み付けされた出現確率P22が加算された出現確率となっている様子を示す。また、
図8では、モデル生成部133は、条件付き確率分布PD2において、4つの文字列の出現確率のうち、「を」という文字列の出現確率が最も高いので、デコーダD2の出力情報として「を」という文字列を出力してよい。
【0072】
続いて、モデル生成部133は、先のステップでデコーダD2が出力した「を」という文字列を入力情報としてデコーダD2に入力した場合に、デコーダD2が出力する「彼」と「野菜」と「炒める」と「を」の4つの文字列それぞれの出現確率に関する条件付き確率分布PD3のうち、動作情報#31に対応する動作文字列#31である「炒める」という文字列の出現確率を高くするように条件付き確率分布PD3を重み付けしてよい。
図8では、条件付き確率分布PD3における「炒める」という文字列の出現確率は、「炒める」という文字列の元の出現確率P31にモデル生成部133によって重み付けされた出現確率P32が加算された出現確率となっている様子を示す。また、
図8では、モデル生成部133は、条件付き確率分布PD3において、4つの文字列の出現確率のうち、「炒める」という文字列の出現確率が最も高いので、デコーダD2の出力情報として「炒める」という文字列を出力してよい。
【0073】
続いて、モデル生成部133は、デコーダD2から最初に出力された「野菜」という文字列、デコーダD2から2番目に出力された「を」という文字列、および、デコーダD2から最後に出力された「炒める」という文字列に基づいて、「野菜を炒める」という文章である次画像説明文CP32を出力情報として出力してよい。
【0074】
このように、モデル生成部133は、一のフレーム画像の次のフレーム画像を入力情報としてエンコーダに入力した場合に、次のフレーム画像に対応する画像特徴量を出力情報として出力するように学習されたエンコーダと、画像特徴量および文章の始まりを示す特殊文字列を入力情報としてデコーダに入力した場合に、デコーダが逐次出力する各文字列の出現確率に関する条件付き確率分布のうち、動作情報に対応する動作文字列の出現確率を高くするように条件付き確率分布を重み付けし、次のフレーム画像の内容を説明する文章である次画像説明文を出力情報として出力するように学習されたデコーダと、を含む機械学習モデルである文章生成モデルM2を生成する。
【0075】
また、推定部132は、処理対象の動画である対象動画を構成する一のフレーム画像G41(図示略)に含まれる対象物の動作に関する動作情報#41を推定する。例えば、推定部132は、
図3と同様にして、対象動画を構成する一のフレーム画像G41に含まれる対象物の動作に関する動作情報#41(以下、「一のフレーム画像G41に対応する動作情報#41」と記載する場合がある。)として、動作ラベルL41に対応する文字列を推定してよい。
【0076】
また、文章生成部134は、モデル生成部133によって生成された文章生成モデルM2に関する情報を格納している記憶部120から文章生成モデルM2を取得してよい。続いて、文章生成部134は、文章生成モデルM2に含まれるエンコーダE2の入力情報として、対象動画を構成する一のフレーム画像G41の次のフレーム画像G42を入力し、エンコーダE2の出力情報として出力される画像特徴量F42を生成し、文章生成モデルM2に含まれるデコーダD2の入力情報として、画像特徴量F42および文章の始まりを示す特殊文字列を入力し、デコーダD2が逐次出力する各文字列の出現確率に関する条件付き確率分布のうち、動作情報#41に対応する動作文字列#41の出現確率を高くするように条件付き確率分布を重み付けし、デコーダD2の出力情報として出力される次画像説明文CP42を生成してよい。
【0077】
このように、情報処理装置100は、所定のフレーム画像G42の内容を説明する画像説明文CP42を生成する際に、所定のフレーム画像G42よりも一つ前のフレーム画像G41に含まれる対象物の動作に関する動作情報#41に対応する動作文字列#41の出現確率を高くするように条件付き確率分布を重み付けする。これにより、情報処理装置100は、一つ前のフレーム画像G41で行われていた動作に対応する動作文字列が出現しやすい画像説明文CP42を生成可能とすることができる。言い換えると、情報処理装置100は、一つ前のフレーム画像G41から所定のフレーム画像G42にかけて行われている動作の継続性を所定のフレーム画像G42に対応する画像説明文CP42に反映することを可能とすることができる。すなわち、情報処理装置100は、一つ前のフレーム画像G41から所定のフレーム画像G42にかけて行われている継続動詞に対応する動作を所定のフレーム画像G42に対応する画像説明文CP42に反映することを可能とすることができる。
【0078】
このように、文章生成部134は、画像から画像の内容を説明する文章である画像説明文を生成する機械学習モデルである文章生成モデルM2に含まれるエンコーダの入力情報として、次のフレーム画像を入力し、エンコーダの出力情報として出力される画像特徴量を生成し、文章生成モデルM2に含まれるデコーダの入力情報として、画像特徴量および文章の始まりを示す特殊文字列を入力し、デコーダが逐次出力する各文字列の出現確率に関する条件付き確率分布のうち、動作情報に対応する動作文字列の出現確率を高くするように条件付き確率分布を重み付けし、デコーダの出力情報として出力される次画像説明文を生成する。
【0079】
〔5.効果〕
上述したように、実施形態に係る情報処理装置100は、推定部132と文章生成部134を備える。推定部132は、処理対象の動画である対象動画を構成する一のフレーム画像に含まれる対象物の動作に関する動作情報を推定する。文章生成部134は、一のフレーム画像の次のフレーム画像および動作情報に基づいて、次のフレーム画像の内容を説明する文章である次画像説明文を生成する。
【0080】
これにより、情報処理装置100は、前のフレーム画像に含まれる対象物の動作に関する動作情報を各フレーム画像の画像説明文に反映することを可能とすることができる。すなわち、情報処理装置100は、動画の各場面におけるアクションの時間的な変化を反映した各フレーム画像の画像説明文を生成することができる。また、情報処理装置100は、例えば、前のフレーム画像に含まれる対象物の動作に関する動作情報を反映した各フレーム画像の画像説明文に基づいて、動画説明文を生成することができる。すなわち、情報処理装置100は、例えば、動画の各場面におけるアクションの時間的な変化を反映した各フレーム画像の画像説明文に基づいて、動画の各場面におけるアクションの時間的な変化を反映した動画説明文を生成することができる。したがって、情報処理装置100は、動画の各場面におけるアクションの時間的な変化を反映した動画説明文を生成可能とすることができる。また、情報処理装置100は、動画の各場面におけるアクションの時間的な変化を反映した動画説明文を生成可能とすることができるので、持続可能な開発目標(SDGs)の目標9「産業と技術革新の基盤をつくろう」の達成に貢献できる。
【0081】
また、文章生成部134は、画像から画像の内容を説明する文章である画像説明文を生成する機械学習モデルである第1の文章生成モデルの入力情報として、次のフレーム画像および動作情報を入力し、第1の文章生成モデルの出力情報として出力される次画像説明文を生成する。
【0082】
このように、情報処理装置100は、所定のフレーム画像の内容を説明する画像説明文を生成する際に、所定のフレーム画像よりも一つ前のフレーム画像に含まれる対象物の動作に関する動作情報を用いる。これにより、情報処理装置100は、一つ前のフレーム画像で行われていた動作に関する情報を所定のフレーム画像に対応する画像説明文に反映することを可能とすることができる。言い換えると、情報処理装置100は、一つ前のフレーム画像から所定のフレーム画像にかけて行われている動作の継続性を所定のフレーム画像に対応する画像説明文に反映することを可能とすることができる。すなわち、情報処理装置100は、一つ前のフレーム画像から所定のフレーム画像にかけて行われている継続動詞に対応する動作を所定のフレーム画像に対応する画像説明文に反映しやすくすることを可能とすることができる。
【0083】
また、文章生成部134は、画像から画像の内容を説明する文章である画像説明文を生成する機械学習モデルである第2の文章生成モデルに含まれるエンコーダの入力情報として、次のフレーム画像を入力し、エンコーダの出力情報として出力される画像特徴量を生成し、第2の文章生成モデルに含まれるデコーダの入力情報として、画像特徴量および文章の始まりを示す特殊文字列を入力し、デコーダが逐次出力する各文字列の出現確率に関する条件付き確率分布のうち、動作情報に対応する動作文字列の出現確率を高くするように条件付き確率分布を重み付けし、デコーダの出力情報として出力される次画像説明文を生成する。
【0084】
このように、情報処理装置100は、所定のフレーム画像の内容を説明する画像説明文を生成する際に、所定のフレーム画像よりも一つ前のフレーム画像に含まれる対象物の動作に関する動作情報に対応する動作文字列の出現確率を高くするように条件付き確率分布を重み付けする。これにより、情報処理装置100は、一つ前のフレーム画像で行われていた動作に対応する動作文字列が出現しやすい画像説明文を生成可能とすることができる。言い換えると、情報処理装置100は、一つ前のフレーム画像から所定のフレーム画像にかけて行われている動作の継続性を所定のフレーム画像に対応する画像説明文に反映することを可能とすることができる。すなわち、情報処理装置100は、一つ前のフレーム画像から所定のフレーム画像にかけて行われている継続動詞に対応する動作を所定のフレーム画像に対応する画像説明文に反映しやすくすることを可能とすることができる。
【0085】
また、文章生成部134は、対象動画を構成する複数のフレーム画像それぞれの内容を説明する複数の画像説明文および対象動画の対象音声データに対応する対象文字データを生成し、複数の画像説明文および対象文字データに基づいて、複数の画像説明文および対象文字データを要約した文章である要約文を生成し、要約文に基づいて、対象動画の内容を説明する文章である対象動画説明文を生成する。
【0086】
これにより、情報処理装置100は、対象動画を構成する複数のフレーム画像それぞれの内容と対象動画の対象音声データの内容とを網羅的に反映した対象動画説明文を生成することができる。
【0087】
また、文章生成部134は、音声データから音声データに対応する文字データを生成する機械学習モデルである音声テキスト変換モデルを用いて、対象音声データから対象文字データを生成する。
【0088】
これにより、情報処理装置100は、対象音声データから対象文字データを効率よく生成することができる。
【0089】
また、推定部132は、一のフレーム画像に関する画像特徴量を入力情報として分類器に入力し、画像特徴量に対応する動作ラベルであって、分類器の出力情報として出力された動作ラベルに基づいて、動作情報を推定する。
【0090】
これにより、情報処理装置100は、動作情報を適切に推定することができる。
【0091】
また、推定部132は、一のフレーム画像のうち、一の対象物が撮像された第1領域に関する第1特徴量と、一の対象物とは異なる他の対象物が撮像された第2領域に関する第2特徴量と、第1領域と第2領域とが重なる領域である交差領域に関する交差特徴量と、第1領域と第2領域の両方を含む領域である結合領域に関する結合特徴量とに基づいて生成された濃縮特徴量を入力情報として分類器に入力し、濃縮特徴量に対応する動作ラベルであって、分類器の出力情報として出力された動作ラベルに基づいて、動作情報を推定する。
【0092】
これにより、情報処理装置100は、動作情報を適切に推定することができる。
【0093】
また、情報処理装置100は、推定部132とモデル生成部133を備える。推定部132は、学習用動画を構成する一のフレーム画像に含まれる対象物の動作に関する動作情報を推定する。モデル生成部133は、一のフレーム画像の次のフレーム画像および動作情報を入力情報として入力した場合に、次のフレーム画像の内容を説明する文章である次画像説明文を出力情報として出力するように学習された機械学習モデルである第1の文章生成モデルを生成する。
【0094】
これにより、情報処理装置100は、前のフレーム画像に含まれる対象物の動作に関する動作情報を各フレーム画像の画像説明文に反映することを可能とすることができる。すなわち、情報処理装置100は、動画の各場面におけるアクションの時間的な変化を反映した各フレーム画像の画像説明文を生成可能とすることができる。また、情報処理装置100は、例えば、前のフレーム画像に含まれる対象物の動作に関する動作情報を反映した各フレーム画像の画像説明文に基づいて、動画説明文を生成可能とすることができる。すなわち、情報処理装置100は、例えば、動画の各場面におけるアクションの時間的な変化を反映した各フレーム画像の画像説明文に基づいて、動画の各場面におけるアクションの時間的な変化を反映した動画説明文を生成可能とすることができる。したがって、情報処理装置100は、動画の各場面におけるアクションの時間的な変化を反映した動画説明文を生成可能とすることができる。また、情報処理装置100は、動画の各場面におけるアクションの時間的な変化を反映した動画説明文を生成可能とすることができるので、持続可能な開発目標(SDGs)の目標9「産業と技術革新の基盤をつくろう」の達成に貢献できる。
【0095】
また、推定部132は、学習用動画を構成する一のフレーム画像に含まれる対象物の動作に関する動作情報を推定する。モデル生成部133は、一のフレーム画像の次のフレーム画像を入力情報としてエンコーダに入力した場合に、次のフレーム画像に対応する画像特徴量を出力情報として出力するように学習されたエンコーダと、画像特徴量および文章の始まりを示す特殊文字列を入力情報としてデコーダに入力した場合に、デコーダが逐次出力する各文字列の出現確率に関する条件付き確率分布のうち、動作情報に対応する動作文字列の出現確率を高くするように条件付き確率分布を重み付けし、次のフレーム画像の内容を説明する文章である次画像説明文を出力情報として出力するように学習されたデコーダと、を含む機械学習モデルである第2の文章生成モデルを生成する。
【0096】
これにより、情報処理装置100は、前のフレーム画像に含まれる対象物の動作に関する動作情報を各フレーム画像の画像説明文に反映することを可能とすることができる。すなわち、情報処理装置100は、動画の各場面におけるアクションの時間的な変化を反映した各フレーム画像の画像説明文を生成可能とすることができる。また、情報処理装置100は、例えば、前のフレーム画像に含まれる対象物の動作に関する動作情報を反映した各フレーム画像の画像説明文に基づいて、動画説明文を生成可能とすることができる。すなわち、情報処理装置100は、例えば、動画の各場面におけるアクションの時間的な変化を反映した各フレーム画像の画像説明文に基づいて、動画の各場面におけるアクションの時間的な変化を反映した動画説明文を生成可能とすることができる。したがって、情報処理装置100は、動画の各場面におけるアクションの時間的な変化を反映した動画説明文を生成可能とすることができる。また、情報処理装置100は、動画の各場面におけるアクションの時間的な変化を反映した動画説明文を生成可能とすることができるので、持続可能な開発目標(SDGs)の目標9「産業と技術革新の基盤をつくろう」の達成に貢献できる。
【0097】
〔6.ハードウェア構成〕
また、上述してきた実施形態に係る情報処理装置100は、例えば
図9に示すような構成のコンピュータ1000によって実現される。
図9は、情報処理装置100の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を備える。
【0098】
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0099】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、所定の通信網を介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを所定の通信網を介して他の機器へ送信する。
【0100】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。
【0101】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0102】
例えば、コンピュータ1000が実施形態に係る情報処理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から所定の通信網を介してこれらのプログラムを取得してもよい。
【0103】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0104】
〔7.その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0105】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0106】
例えば、上述した実施形態では、情報処理装置100が、取得部131と、推定部132と、モデル生成部133と、文章生成部134を機能部として有する場合について説明したが、各部はそれぞれ別々の装置に分散して構成することができる。例えば、情報処理装置100は、文章を生成する情報処理装置として、取得部131と、推定部132と、文章生成部134を機能部として有することができる。また、情報処理装置100以外の情報処理装置(以下、「生成装置」と記載する)は、文章生成モデルを生成する情報処理装置として、取得部131と、推定部132と、モデル生成部133を機能部として有することができる。このとき、情報処理装置100と生成装置とは、各種ネットワークと有線または無線で接続され、相互に情報の送受信を行ってよい。例えば、情報処理装置100は、生成装置によって生成された文章生成モデルに関する情報を生成装置から受信してよい。
【0107】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【符号の説明】
【0108】
100 情報処理装置
110 通信部
120 記憶部
130 制御部
131 取得部
132 推定部
133 モデル生成部
134 文章生成部