(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022180941
(43)【公開日】2022-12-07
(54)【発明の名称】情報処理装置、情報処理方法及び情報処理プログラム
(51)【国際特許分類】
G06F 16/532 20190101AFI20221130BHJP
【FI】
G06F16/532
【審査請求】有
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2021087721
(22)【出願日】2021-05-25
(71)【出願人】
【識別番号】501440684
【氏名又は名称】ソフトバンク株式会社
(71)【出願人】
【識別番号】500132214
【氏名又は名称】学校法人明星学苑
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】堀 隆之
(72)【発明者】
【氏名】金 容範
(72)【発明者】
【氏名】鈴木 裕真
(72)【発明者】
【氏名】植木 一也
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA02
5B175HA05
5B175HB03
(57)【要約】
【課題】画像の検索精度を向上させる。
【解決手段】本願に係る情報処理装置は、利用者によって入力された第1クエリ文を受け付ける受付部と、VSE(Visual-Semantic Embedding)モデルを用いて、第1クエリ文に関する第1画像を検索する検索部と、第1画像に関するコンセプトを抽出する抽出部と、検索部による検索結果を出力する出力部と、を備え、検索部は、VSEモデルを用いて、抽出部によって抽出されたコンセプトに基づく第2クエリ文に関する第2画像を再検索する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
利用者によって入力された第1クエリ文を受け付ける受付部と、
VSE(Visual-Semantic Embedding)モデルを用いて、前記第1クエリ文に関する第1画像を検索する検索部と、
前記第1画像に関するコンセプトを抽出する抽出部と、
を備え、
前記検索部は、
前記VSEモデルを用いて、前記抽出部によって抽出されたコンセプトに基づく第2クエリ文に関する第2画像を再検索する、
情報処理装置。
【請求項2】
前記抽出部によって抽出されたコンセプトに基づいて、前記第2クエリ文を生成する生成部をさらに備え、
前記検索部は、
前記VSEモデルを用いて、前記生成部によって生成された前記第2クエリ文に関する前記第2画像を再検索する、
請求項1に記載の情報処理装置。
【請求項3】
前記検索部による検索結果を出力する出力部、をさらに備え、
前記出力部は、
前記抽出部によって抽出されたコンセプトを出力し、
前記受付部は、
前記出力部によって出力されたコンセプトに基づく前記第2クエリ文を前記利用者から受け付け、
前記検索部は、
前記VSEモデルを用いて、前記受付部によって受け付けられた前記第2クエリ文に関する前記第2画像を再検索する、
請求項1に記載の情報処理装置。
【請求項4】
複数の映像または前記複数の映像それぞれに含まれる各シーンである画像を取得する取得部をさらに備え、
前記検索部は、
前記取得部によって取得された画像と前記受付部によって受け付けられた第1クエリ文の組を前記VSEモデルに入力して、前記画像と前記第1クエリ文との第1類似度を前記VSEモデルから出力し、当該出力された前記第1類似度が第1閾値を超える前記第1画像を検索する、
請求項1~3のいずれか1つに記載の情報処理装置。
【請求項5】
前記検索部は、
前記取得部によって取得された画像と前記抽出部によって抽出されたコンセプトに基づく第2クエリ文の組を前記VSEモデルに入力して、前記画像と前記第2クエリ文との第2類似度を前記VSEモデルから出力し、当該出力された前記第2類似度が第2閾値を超える前記第2画像を再検索する、
請求項4に記載の情報処理装置。
【請求項6】
前記抽出部は、
コンセプトを含む画像が入力された場合に、前記画像に含まれるコンセプトと前記画像とのコンセプト類似度を出力するよう学習された学習済みの機械学習モデルであるコンセプト識別器を用いて、前記第1画像から前記第1画像に関するコンセプトを抽出する、
請求項1~5のいずれか1つに記載の情報処理装置。
【請求項7】
前記抽出部は、
前記検索部によって検索された第1画像を前記コンセプト識別器に入力して、前記第1画像に含まれるコンセプトと前記第1画像とのコンセプト類似度を前記コンセプト識別器から出力し、当該出力されたコンセプト類似度がコンセプト閾値を超える前記コンセプトを抽出する、
請求項6に記載の情報処理装置。
【請求項8】
前記抽出部は、
前記出力されたコンセプト類似度がコンセプト閾値を超える前記コンセプトの中から、前記第1クエリ文に含まれないコンセプトである隠れコンセプトを抽出する、
請求項7に記載の情報処理装置。
【請求項9】
前記抽出部は、
前記第1クエリ文に含まれない文字列を含むコンセプトである前記隠れコンセプトを抽出する、
請求項8に記載の情報処理装置。
【請求項10】
前記検索部は、
前記隠れコンセプトに基づく前記第2クエリ文に関する前記第2画像を再検索する、
請求項8または9に記載の情報処理装置。
【請求項11】
前記受付部は、
前記利用者によって入力されたクエリ画像を受け付け、
前記検索部は、
前記VSEモデルを用いて、前記受付部によって受け付けられたクエリ画像に関する文字列を検索し、当該検索した文字列に基づく第3クエリ文に関する第3画像を検索する、
請求項1~10のいずれか1つに記載の情報処理装置。
【請求項12】
複数の文章または前記複数の文章それぞれに含まれる各テキストである文字列を取得する取得部をさらに備え、
前記検索部は、
前記取得部によって取得された文字列と前記受付部によって受け付けられたクエリ画像の組を前記VSEモデルに入力して、前記文字列と前記クエリ画像との第3類似度を前記VSEモデルから出力し、当該出力された前記第3類似度が第3閾値を超える文字列を検索し、当該検索した文字列に基づく前記第3クエリ文に関する前記第3画像を検索する、
請求項11に記載の情報処理装置。
【請求項13】
前記抽出部は、
前記第3画像に関するコンセプトを抽出し、
前記検索部は、
前記VSEモデルを用いて、前記抽出部によって抽出されたコンセプトに基づく第4クエリ文に関する第4画像を再検索する、
請求項12に記載の情報処理装置。
【請求項14】
情報処理装置が実行するプログラムにより実現される情報処理方法であって、
利用者によって入力された第1クエリ文を受け付ける受付工程と、
VSE(Visual-Semantic Embedding)モデルを用いて、前記第1クエリ文に関する第1画像を検索する検索工程と、
前記第1画像に関するコンセプトを抽出する抽出工程と、
を含み、
前記検索工程は、
前記VSEモデルを用いて、前記抽出工程によって抽出されたコンセプトに基づく第2クエリ文に関する第2画像を再検索する、
情報処理方法。
【請求項15】
利用者によって入力された第1クエリ文を受け付ける受付手順と、
VSE(Visual-Semantic Embedding)モデルを用いて、前記第1クエリ文に関する第1画像を検索する検索手順と、
前記第1画像に関するコンセプトを抽出する抽出手順と、
をコンピュータに実行させ、
前記検索手順は、
前記VSEモデルを用いて、前記抽出手順によって抽出されたコンセプトに基づく第2クエリ文に関する第2画像を再検索する、
情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【0002】
近年、SNS(Social Networking Service)や防犯カメラの普及により、映像コンテンツの数が急増している。そこで、膨大な数の映像コンテンツを効率よく整理、管理するための技術が求められている。
【0003】
例えば、画像に含まれる複数のオブジェクトのオブジェクト名情報と、画像に含まれる複数のオブジェクト間の所定の関係性を示す関係名称情報とを含む検索用データを算出する。そして、オブジェクト名情報または関係名称情報のうち少なくともいずれか一方を検索クエリとして入力を受け付け、受け付けた検索クエリに対応する所定の画像を抽出する技術が知られている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2020-149337号公報
【特許文献2】特開2019-204183号公報
【特許文献3】特開2019-197464号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
画像の検索精度を向上させる技術が求められている。
【課題を解決するための手段】
【0006】
本願に係る情報処理装置は、利用者によって入力された第1クエリ文を受け付ける受付部と、VSE(Visual-Semantic Embedding)モデルを用いて、前記第1クエリ文に関する第1画像を検索する検索部と、前記第1画像に関するコンセプトを抽出する抽出部と、を備え、前記検索部は、前記VSEモデルを用いて、前記抽出部によって抽出されたコンセプトに基づく第2クエリ文に関する第2画像を再検索する。
【図面の簡単な説明】
【0007】
【
図1】
図1は、実施形態に係るVSE(Visual-Semantic Embedding)モデルとコンセプト識別器について説明するための図である。
【
図2】
図2は、実施形態に係る情報処理装置の構成例を示す図である。
【
図3】
図3は、実施形態に係る情報処理手順を示す図である。
【
図4】
図4は、変形例に係る情報処理手順を示す図である。
【
図5】
図5は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0008】
以下に、本願に係る情報処理装置、情報処理方法及び情報処理プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法及び情報処理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0009】
(実施形態)
〔1.はじめに〕
近年、膨大な数の映像コンテンツを効率よく整理、管理するために、画像の内容を自動で分析し、画像の内容を示す文字情報(キャプションやタグなど)を自動で生成・付与する技術が知られている。これにより、文字情報から画像を検索可能とすることができる。ここで、本願明細書における「画像」とは、映像などの動画であってもよいし、映像に含まれる各シーン(静止画)であってもよい。
【0010】
このような背景の下、文字情報から画像を検索する代表的な2つの手法を比較した研究が知られている。具体的には、(1)画像に含まれる物体、人物、場面および動作等の検出対象(以下、コンセプトともいう)をあらかじめ学習した学習済みの機械学習モデル(以下、コンセプト識別器ともいう)を用いてクエリ文から画像を検索する手法と、(2)画像の特徴を示す画像特徴量と、画像の内容を言語で表現した言語表現の特徴を示す言語特徴量とが対応付けられて埋め込まれた共通空間を用いて、クエリ文とマッチする画像を検索する手法とを比較した研究が知られている(参考文献;「Comparison and Evaluation of Video Retrieval Approaches Using Query Sentences」、IMIP 2020: Proceedings of the 2020 2nd International Conference on Intelligent Medicine and Image Processing、April 2020、Pages 103‐107、https://doi.org/10.1145/3399637.3399657)。ここで、画像の特徴を示す画像特徴量と、画像の内容を言語で表現した言語表現の特徴を示す言語特徴量を対応付けて共通空間に埋め込む技術は、VSE(Visual-Semantic Embedding)と呼ばれている。
【0011】
上記の研究によると、(1)に示すコンセプト識別器を用いる手法と(2)に示すVSEを用いる手法は、相補的であることが示されている。そこで、本願発明の発明者は、(1)に示すコンセプト識別器を用いる手法と(2)に示すVSEに基づく手法を統合することで、画像の検索精度を向上させる技術を提案する。具体的には、本願発明は、コンセプト識別器を用いて画像から適切なコンセプトを抽出し、VSEモデルを用いて抽出されたコンセプトと類似する画像を再検索する。これにより、本願発明は、例えば、利用者から受け付けたクエリ文に明示されていないコンセプト(例えば、暗示的なコンセプト)の中から、適切なコンセプトを抽出して、抽出したコンセプトと類似する画像を再検索することができる。したがって、本願発明は、画像の検索精度を向上させることができる。
【0012】
ここから、
図1を用いて、実施形態に係るVSE(Visual-Semantic Embedding)モデルとコンセプト識別器について説明する。
図1は、実施形態に係るVSEモデルとコンセプト識別器について説明するための図である。
【0013】
図1の左側は、実施形態に係るVSEモデルの一例を示す。例えば、
図1の左側に示すVSEモデルは、画像から文を検索する場合、画像をVSEモデルに入力して、画像の特徴を示す画像特徴量に対応する特徴ベクトル(以下、画像の特徴ベクトルともいう)を生成する。続いて、VSEモデルは、生成した画像の特徴ベクトルを文の特徴を示す文特徴量に対応する特徴ベクトル(以下、文の特徴ベクトルともいう)との共通の空間にマッピングしたのち、画像の特徴ベクトルと類似する文の特徴ベクトルに対応する文を検索結果とする。例えば、VSEモデルは、画像の特徴ベクトルと文の特徴ベクトルとの類似度が所定の閾値を超えるような文の特徴ベクトルに対応する文を検索結果として出力する。
【0014】
また、VSEモデルは、画像から画像特徴量を抽出することができる。VSEモデルは、画像から画像特徴量を抽出することができる任意の公知技術により実現されてよい。例えば、VSEモデルは、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)を備えてよい。そして、VSEモデルは、CNNを用いて、画像から画像特徴量を抽出してよい。また、例えば、VSEモデルは、物体認識用に開発された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)を備えてよい。そして、VSEモデルは、ResNet、AlexNet、VGGNet、GoogLeNet、SENet、EfficientNet、またはZFNetを用いて、画像から画像特徴量を抽出してよい。また、例えば、VSEモデルは、物体検出用に開発された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)を備えてよい。そして、VSEモデルは、Faster R-CNN、YOLO、またはSSDを用いて、画像から画像特徴量を抽出してよい。
【0015】
また、
図1の左側に示すVSEモデルは、文から画像を検索する場合、文をVSEモデルに入力して、文の特徴ベクトルを生成する。続いて、VSEモデルは、生成した文の特徴ベクトルを画像の特徴ベクトルとの共通の空間にマッピングしたのち、文の特徴ベクトルと類似する画像の特徴ベクトルに対応する画像を検索結果とする。例えば、VSEモデルは、文の特徴ベクトルと画像の特徴ベクトルとの類似度が所定の閾値を超えるような画像の特徴ベクトルに対応する画像を検索結果として出力する。
【0016】
また、VSEモデルは、言語表現(文章、フレーズ、又はキーワードなど)から言語特徴量を抽出することができる。VSEモデルは、言語表現から言語表現の特徴を示す言語特徴量を抽出することができる任意の公知技術により実現されてよい。例えば、VSEモデルは、再帰型ニューラルネットワーク(RNN:Recurrent Neural Network)を備えてよい。そして、VSEモデルは、RNNを用いて、言語表現から言語特徴量を抽出してよい。また、例えば、VSEモデルは、GRU(Gated Recurrent Unit)またはLSTM(Long Short Term Memory)を備えてよい。そして、VSEモデルは、GRUまたはLSTMを用いて、言語表現から言語特徴量を抽出してよい。また、例えば、VSEモデルは、Transformer(Ashish Vaswani et al., 2017)、TransformerをベースとしたBERT(Bidirectional Encoder Representations from Transformers)、GPT-3(Generative Pre-Training3)またはT5(Text-to-Text Transfer Transformer)を備えてよい。そして、VSEモデルは、Transformer、BERT、GPT-3またはT5を用いて、言語表現から言語特徴量を抽出してよい。
【0017】
図1の右側は、実施形態に係るコンセプト識別器の出力結果の一例を示す。コンセプト識別器は、コンセプトを含む画像が入力された場合に、画像に含まれるコンセプトと画像との類似度を示すコンセプト類似度を出力するよう学習された学習済みの機械学習モデルである。ここで、コンセプト識別器が学習するコンセプト(検出対象ともいう)には、画像に含まれる物体や人物等の対象物に限らず、画像の場面(シーン)および画像に含まれる人物や動物等の動作(走っている、座っている等)等の概念が含まれる。例えば、
図1の右側に示すコンセプト識別器の出力結果は、バイクの横に男性が立っている画像がコンセプト識別器に入力された場合に、画像に含まれる男性の髪の毛の色、男性が着ている服装、男性の体の部位、バイクの色、背景の山や海、赤い橋といった対象を検出し、対象のクラス(カテゴリ)を出力したものである。なお、
図1の右側では図示を省略しているが、コンセプト識別器は、画像に含まれるコンセプトのクラスとともに、画像に含まれるコンセプトが当該コンセプトのクラス(カテゴリ)に該当する確率を出力する。このように、コンセプト識別器は、コンセプトを含む画像が入力された場合に、画像に含まれるコンセプトを検出するとともに、検出されたコンセプトのクラスを推定する。すなわち、コンセプト識別器は、コンセプトを含む画像が入力された場合に、コンセプト類似度として、画像に含まれる各コンセプトが推定された各コンセプトのクラスに該当する確率をそれぞれ出力する。
【0018】
〔2.情報処理装置の構成〕
次に、
図2を用いて、実施形態に係る情報処理装置の構成について説明する。
図2は、実施形態に係る情報処理装置の構成例を示す図である。
図2に示すように、情報処理装置100は、通信部110と、記憶部120と、入力部130と、出力部140と、制御部150とを有する。
【0019】
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)、モデムチップ及びアンテナモジュール等によって実現される。また、通信部110は、ネットワークN(図示略)と有線又は無線で接続される。
【0020】
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現される。例えば、記憶部120は、複数の映像または複数の映像それぞれに含まれる各シーンである画像のデータベースである映像プールを記憶する。また、記憶部120は、複数の文章または複数の文章それぞれに含まれる各テキストである文字列のデータベースであるキャプションプールを記憶する。
【0021】
(入力部130)
入力部130は、利用者から各種操作の入力を受け付ける。例えば、入力部130は、タッチパネル機能により表示面(例えば出力部140)を介して利用者からの各種操作を受け付けてもよい。また、入力部130は、情報処理装置100に設けられたボタンや、情報処理装置100に接続されたキーボードやマウスからの各種操作を受け付けてもよい。例えば、入力部130は、利用者からクエリ文の入力を受け付けてよい。また、入力部130は、利用者からクエリ画像の入力を受け付けてよい。
【0022】
(出力部140)
出力部140は、例えば液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイ等によって実現される表示画面であり、各種情報を表示するための表示装置である。出力部140は、制御部150の制御に従って、各種情報を表示する。なお、情報処理装置100にタッチパネルが採用される場合には、入力部130と出力部140とは一体化される。また、以下の説明では、出力部140を画面と記載する場合がある。
【0023】
(制御部150)
制御部150は、コントローラ(Controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等によって、情報処理装置100の内部の記憶装置に記憶されている各種プログラム(情報処理プログラムの一例に相当)がRAM等の記憶領域を作業領域として実行されることにより実現される。
図2に示す例では、制御部150は、受付部151と、取得部152と、検索部153と、抽出部154と、生成部155を有する。
【0024】
(受付部151)
受付部151は、利用者によって入力されたクエリ文を受け付ける。例えば、受付部151は、入力部130を介して利用者が入力したクエリ文を受け付ける。ここで、本願明細書におけるクエリ文とは、完全な文章でなくてもよく、例えば、キーワードやフレーズであってもよい。以下では、受付部151が利用者から最初に受け付けたクエリ文を「第1クエリ文」と記載する。例えば、受付部151は、第1クエリ文の一例として、利用者から「person in a car」というフレーズを受け付ける。
【0025】
(取得部152)
取得部152は、映像プールから画像を取得する。例えば、取得部152は、受付部151が第1クエリ文を受け付けると、記憶部120を参照して、複数の映像または複数の映像それぞれに含まれる各シーンである画像を映像プールから取得する。例えば、取得部152は、N個(Nは自然数)の画像#11~画像#1Nを映像プールから取得する。
【0026】
(検索部153)
検索部153は、VSEモデルを用いて、受付部151によって受け付けられた第1クエリ文に関する第1画像を検索する。具体的には、検索部153は、取得部152が画像を取得すると、受付部151によって受け付けられた第1クエリ文と取得部152によって取得された画像の組をVSEモデルに入力する。例えば、検索部153は、第1クエリ文である「person in a car」とN個の画像#11~画像#1Nそれぞれとの組をVSEモデルに入力する。
【0027】
続いて、検索部153は、第1クエリ文と画像との第1類似度をVSEモデルから出力する。例えば、検索部153は、第1クエリ文とN個の画像#11~画像#1Nそれぞれとの類似度#11~類似度#1Nそれぞれを出力する。続いて、検索部153は、出力された第1類似度が第1閾値を超える第1画像を検索する。例えば、類似度#11~類似度#13は第1閾値を超えるが、類似度#14~類似度#1Nは第1閾値以下であるとする。このとき、検索部153は、N個の画像#11~画像#1Nの中から、第1クエリ文との第1類似度が第1閾値を超える画像#11~画像#13を第1画像として取得する。
【0028】
なお、検索部153は、出力された第1類似度が第1閾値を超える第1画像を検索する代わりに、出力された第1類似度が高い方から順にいくつかの第1画像を検索してよい。例えば、第1クエリ文とN個の画像#11~画像#1Nそれぞれとの類似度#11~類似度#1Nのうち、類似度#11の類似度が最も高く、Nが大きくなるほど類似度が低いとする。このとき、検索部153は、N個の画像#11~画像#1Nの中から、第1クエリ文との第1類似度が高い方から順に、例えば、3つの画像#11~画像#13を第1画像として取得してよい。
【0029】
(抽出部154)
抽出部154は、第1画像に関するコンセプトを抽出する。具体的には、抽出部154は、コンセプトを含む画像が入力された場合に、画像に含まれるコンセプトと画像とのコンセプト類似度を出力するよう学習された学習済みの機械学習モデルであるコンセプト識別器を用いて、第1画像から第1画像に関するコンセプトを抽出する。例えば、抽出部154は、検索部153によって第1画像が検索されると、検索部153によって検索された第1画像をコンセプト識別器に入力する。例えば、抽出部154は、検索部153によって検索された第1画像である画像#11~画像#13それぞれをコンセプト識別器に入力する。なお、以下では、簡単のため、第1画像が画像#11のみである場合について説明する。
【0030】
続いて、抽出部154は、第1画像に含まれるコンセプトと第1画像とのコンセプト類似度をコンセプト識別器から出力する。例えば、抽出部154は、画像#11に含まれるコンセプトである「car_interior」と画像#11とのコンセプト類似度#21である「90%」をコンセプト識別器から出力する。また、例えば、抽出部154は、画像#11に含まれるコンセプトである「自動車」と画像#11とのコンセプト類似度#22である「80%」をコンセプト識別器から出力する。また、例えば、抽出部154は、画像#11に含まれるコンセプトである「バイク」と画像#11とのコンセプト類似度#23である「70%」をコンセプト識別器から出力する。
【0031】
続いて、抽出部154は、出力されたコンセプト類似度がコンセプト閾値を超えるコンセプトを抽出する。例えば、コンセプト閾値が「85%」であるとする。このとき、抽出部154は、コンセプト類似度がコンセプト閾値である「85%」を超えるコンセプトである「car_interior」を抽出する。続いて、抽出部154は、出力されたコンセプト類似度がコンセプト閾値を超えるコンセプトの中から、第1クエリ文に含まれないコンセプトである隠れコンセプトを抽出する。例えば、抽出部154は、第1クエリ文に含まれない文字列を含むコンセプトを隠れコンセプトとして抽出する。例えば、抽出部154は、第1クエリ文である「person in a car」に含まれない文字列である「interior」を含むコンセプトである「car_interior」を隠れコンセプトとして抽出する。
【0032】
なお、抽出部154は、出力されたコンセプト類似度がコンセプト閾値を超えるコンセプトを抽出する代わりに、出力されたコンセプト類似度が高い方から順にいくつかのコンセプトを抽出してよい。例えば、第1画像とM個(Mは自然数)のコンセプト#11~コンセプト#1Mそれぞれとのコンセプト類似度#11~コンセプト類似度#1Mのうち、コンセプト類似度#11のコンセプト類似度が最も高く、Mが大きくなるほどコンセプト類似度が低いとする。このとき、抽出部154は、M個のコンセプト#11~コンセプト#1Mの中から、第1画像とのコンセプト類似度が高い方から順に、例えば、3つのコンセプト#11~コンセプト#13を抽出してよい。
【0033】
(生成部155)
以下では、抽出部154によって抽出された隠れコンセプトに基づいて生成されたクエリ文のことを「第2クエリ文」と記載する。生成部155は、抽出部154によって抽出された隠れコンセプトに基づいて、第2クエリ文を生成する。例えば、生成部155は、抽出部154によって抽出された隠れコンセプトに基づいて、第1クエリ文を更新して、第2クエリ文を生成してよい。例えば、生成部155は、抽出部154によって抽出された隠れコンセプトである「car_interior」を含む第2クエリ文を生成してよい。出力部140は、生成部155によって生成された第2クエリ文を出力する。例えば、出力部140は、生成部155によって生成された第2クエリ文の一例として、「car_interior」を出力する。受付部151は、出力部140によって出力された第2クエリ文を利用者から受け付ける。例えば、受付部151は、出力部140によって出力された第2クエリ文である「car_interior」を利用者から受け付ける。
【0034】
なお、生成部155が第2クエリ文を生成する代わりに、出力部140によって出力された隠れコンセプトに基づいて利用者が第2クエリ文を生成してもよい。受付部151は、利用者によって生成された第2クエリ文を利用者から受け付けてもよい。
【0035】
また、取得部152は、受付部151が第2クエリ文を受け付けると、記憶部120を参照して、複数の映像または複数の映像それぞれに含まれる各シーンである画像を映像プールから取得する。検索部153は、VSEモデルを用いて、受付部151によって受け付けられた第2クエリ文に関する第2画像を再検索する。例えば、検索部153は、受付部151によって受け付けられた第2クエリ文である「car_interior」に関する第2画像を再検索する。例えば、検索部153は、受付部151によって受け付けられた第2クエリ文と取得部152によって取得された画像の組をVSEモデルに入力する。続いて、検索部153は、画像と第2クエリ文との第2類似度をVSEモデルから出力する。続いて、検索部153は、出力された第2類似度が第2閾値を超える第2画像を再検索する。出力部140は、検索部153によって再検索された第2画像を検索結果として出力する。このようにして、出力部140は、例えば、隠れコンセプトである「car_interior」に基づいて生成された第2クエリ文である「car_interior」に関する第2画像を検索結果として出力する。
【0036】
上述した例では、抽出部154が、第1クエリ文である「person in a car」に含まれない文字列「interior」を含むコンセプトである「car_interior」を隠れコンセプトとして抽出する場合について説明したが、他の例について説明する。例えば、受付部151は、第1クエリ文の一例として、「destroyed old building」というフレーズを利用者から受け付ける。検索部153は、VSEモデルを用いて、受付部151によって受け付けられた第1クエリ文である「destroyed old building」に関する第1画像を検索する。抽出部154は、第1画像をコンセプト識別器に入力して、第1画像に含まれるコンセプトである「ruin」を抽出する。続いて、抽出部154は、第1クエリ文である「destroyed old building」に含まれない文字列である「ruin」を含むコンセプトである「ruin」を隠れコンセプトとして抽出する。
【0037】
〔3.情報処理のフロー〕
次に、
図3を用いて、実施形態に係る情報処理の手順について説明する。
図3は、実施形態に係る情報処理の一例を示すフローチャートである。
図3では、受付部151が、利用者によって入力された第1クエリ文を受け付ける(ステップS101)。取得部152は、受付部151が第1クエリ文を受け付けると、複数の映像または複数の映像それぞれに含まれる各シーンである画像を映像プールから取得する(ステップS102)。
【0038】
検索部153は、受付部151によって受け付けられた第1クエリ文と取得部152によって取得された画像の組をVSEモデルに入力する。続いて、検索部153は、第1クエリ文と画像との第1類似度をVSEモデルから出力する(ステップS103)。続いて、検索部153は、出力された第1類似度が第1閾値を超える第1画像を検索する(ステップS104)。
【0039】
抽出部154は、検索部153によって検索された第1画像をコンセプト識別器に入力する(ステップS105)。続いて、抽出部154は、第1画像に含まれるコンセプトと第1画像とのコンセプト類似度をコンセプト識別器から出力する(ステップS106)。続いて、抽出部154は、出力されたコンセプト類似度がコンセプト閾値を超えるコンセプトを抽出する。続いて、抽出部154は、出力されたコンセプト類似度がコンセプト閾値を超えるコンセプトの中から、第1クエリ文に含まれないコンセプトである隠れコンセプトを抽出する(ステップS107)。
【0040】
出力部140は、抽出部154によって抽出された隠れコンセプトを出力する(ステップS108)。利用者は、出力部140によって出力された隠れコンセプトに基づいて第1クエリ文を更新し、新たな第2クエリ文を生成する(ステップS109)。受付部151は、出力部140によって出力された隠れコンセプトに基づいて更新された第2クエリ文を利用者から受け付ける。例えば、受付部151は、入力部130を介して、利用者によって更新された第2クエリ文を利用者から受け付ける(ステップS110)。取得部152は、受付部151が第2クエリ文を受け付けると、複数の映像または複数の映像それぞれに含まれる各シーンである画像を映像プールから取得する(ステップS111)。
【0041】
検索部153は、受付部151によって受け付けられた第2クエリ文と取得部152によって取得された画像の組をVSEモデルに入力する。続いて、検索部153は、画像と第2クエリ文との第2類似度をVSEモデルから出力する(ステップS112)。続いて、検索部153は、出力された第2類似度が第2閾値を超える第2画像を再検索する(ステップS113)。出力部140は、検索部153によって再検索された第2画像を検索結果として出力する(ステップS114)。
【0042】
〔4.変形例〕
次に、
図4を用いて、変形例に係る情報処理の手順について説明する。
図4は、変形例に係る情報処理の一例を示すフローチャートである。
図4では、受付部151が、利用者によって入力されたクエリ画像を受け付ける(ステップS201)。例えば、受付部151は、入力部130を介して利用者が入力したクエリ画像を受け付ける。ここで、本願明細書におけるクエリ画像とは、画像全体でなくてもよく、例えば、画像の一部であってもよい。
【0043】
取得部152は、受付部151がクエリ画像を受け付けると、記憶部120を参照して、複数の文章または複数の文章それぞれに含まれる各テキストである文字列をキャプションプールから取得する(ステップS202)。
【0044】
また、検索部153は、取得部152が文字列を取得すると、受付部151によって受け付けられたクエリ画像と取得部152によって取得された文字列の組をVSEモデルに入力する。続いて、検索部153は、クエリ画像と文字列との第3類似度をVSEモデルから出力する(ステップS203)。続いて、検索部153は、出力された第3類似度が第3閾値を超える文字列を検索する(ステップS204)。
【0045】
生成部155は、検索部153によって検索された文字列に基づいて第3クエリ文を生成する。出力部140は、生成部155によって生成された第3クエリ文を出力する。受付部151は、出力部140によって出力された第3クエリ文を利用者から受け付ける(ステップS205)。取得部152は、受付部151が第3クエリ文を受け付けると、複数の映像または複数の映像それぞれに含まれる各シーンである画像を映像プールから取得する(ステップS206)。
【0046】
検索部153は、受付部151によって受け付けられた第3クエリ文と取得部152によって取得された画像の組をVSEモデルに入力する。続いて、検索部153は、画像と第3クエリ文との第1類似度をVSEモデルから出力する(ステップS207)。続いて、検索部153は、出力された第1類似度が第1閾値を超える第3画像を検索する(ステップS208)。
【0047】
抽出部154は、検索部153によって検索された第3画像をコンセプト識別器に入力する(ステップS209)。続いて、抽出部154は、第3画像に含まれるコンセプトと第3画像とのコンセプト類似度をコンセプト識別器から出力する(ステップS210)。続いて、抽出部154は、出力されたコンセプト類似度がコンセプト閾値を超えるコンセプトを抽出する。続いて、抽出部154は、出力されたコンセプト類似度がコンセプト閾値を超えるコンセプトの中から、第3クエリ文に含まれないコンセプトである隠れコンセプトを抽出する(ステップS211)。
【0048】
出力部140は、抽出部154によって抽出された隠れコンセプトを出力する(ステップS212)。利用者は、出力部140によって出力された隠れコンセプトに基づいて第3クエリ文を更新し、新たな第4クエリ文を生成する(ステップS213)。受付部151は、出力部140によって出力された隠れコンセプトに基づいて更新された第4クエリ文を利用者から受け付ける。例えば、受付部151は、入力部130を介して、利用者によって更新された第4クエリ文を利用者から受け付ける(ステップS1214)。取得部152は、受付部151が第4クエリ文を受け付けると、複数の映像または複数の映像それぞれに含まれる各シーンである画像を映像プールから取得する(ステップS215)。
【0049】
検索部153は、受付部151によって受け付けられた第4クエリ文と取得部152によって取得された画像の組をVSEモデルに入力する。続いて、検索部153は、画像と第4クエリ文との第2類似度をVSEモデルから出力する(ステップS216)。続いて、検索部153は、出力された第2類似度が第2閾値を超える第4画像を再検索する(ステップS1217)。出力部140は、検索部153によって再検索された第4画像を検索結果として出力する(ステップS218)。
【0050】
なお、ステップS205において、利用者は、出力部140によって出力された第3クエリ文を変更することができる。受付部151は、入力部130を介して、利用者によって変更された第3クエリ文を利用者から受け付ける。
【0051】
〔5.効果〕
上述してきたように、実施形態に係る情報処理装置100は、受付部151と、検索部153と、抽出部154とを有する。受付部151は、利用者によって入力された第1クエリ文を受け付ける。検索部153は、VSE(Visual-Semantic Embedding)モデルを用いて、第1クエリ文に関する第1画像を検索する。抽出部154は、第1画像に関するコンセプトを抽出する。検索部153は、VSEモデルを用いて、抽出部154によって抽出されたコンセプトに基づく第2クエリ文に関する第2画像を再検索する。
【0052】
これにより、情報処理装置100は、VSEを用いることで、利用者によって入力されたクエリ文に関する画像を適切に検索することができる。また、情報処理装置100は、適切に検索された画像からコンセプトを抽出したうえで、抽出したコンセプトに基づいて画像を再検索することができる。したがって、情報処理装置100は、画像の検索精度を向上させることができる。
【0053】
また、情報処理装置100は、生成部155をさらに備える。生成部155は、抽出部154によって抽出されたコンセプトに基づいて、第2クエリ文を生成する。検索部153は、VSEモデルを用いて、生成部155によって生成された第2クエリ文に関する第2画像を再検索する。
【0054】
これにより、情報処理装置100は、適切なコンセプトに基づいて適切なクエリ文を生成することができる。例えば、情報処理装置100は、適切な検索キーワードを追加(または不適切な検索キーワードを排除)することで、検索精度を向上させることを可能にする。したがって、情報処理装置100は、適切なクエリ文に基づいて画像を再検索することができるので、画像の検索精度を向上させることができる。
【0055】
また、情報処理装置100は、検索部153による検索結果を出力する出力部140をさらに備える。出力部140は、抽出部154によって抽出されたコンセプトを出力する。受付部151は、出力部140によって出力されたコンセプトに基づく第2クエリ文を利用者から受け付ける。検索部153は、VSEモデルを用いて、受付部151によって受け付けられた第2クエリ文に関する第2画像を再検索する。
【0056】
これにより、情報処理装置100は、利用者が、適切なコンセプトに基づいて適切なクエリ文を生成するのを助けることができる。例えば、情報処理装置100は、利用者が適切な検索キーワードを追加(または不適切な検索キーワードを排除)することで、検索精度を向上させることを可能にする。したがって、情報処理装置100は、適切なクエリ文に基づいて画像を再検索することができるので、画像の検索精度を向上させることができる。
【0057】
また、情報処理装置100は、取得部152をさらに備える。取得部152は、複数の映像または複数の映像それぞれに含まれる各シーンである画像を取得する。検索部153は、取得部152によって取得された画像と受付部151によって受け付けられた第1クエリ文の組をVSEモデルに入力して、画像と第1クエリ文との第1類似度をVSEモデルから出力し、出力された第1類似度が第1閾値を超える第1画像を検索する。
【0058】
これにより、情報処理装置100は、VSEに基づく処理により、適切な画像を選択することができる。
【0059】
また、検索部153は、取得部152によって取得された画像と抽出部154によって抽出されたコンセプトに基づく第2クエリ文の組をVSEモデルに入力して、画像と第2クエリ文との第2類似度をVSEモデルから出力し、出力された第2類似度が第2閾値を超える第2画像を再検索する。
【0060】
これにより、情報処理装置100は、VSEに基づく処理とコンセプト識別器に基づく処理を回すことで、適切なコンセプトを選択することができる。例えば、情報処理装置100は、利用者が入力したクエリ文に明示されていない内容(例えば、暗示的な内容)に関するコンセプトを抽出することができる。
【0061】
また、抽出部154は、コンセプトを含む画像が入力された場合に、画像に含まれるコンセプトと画像とのコンセプト類似度を出力するよう学習された学習済みの機械学習モデルであるコンセプト識別器を用いて、第1画像から第1画像に関するコンセプトを抽出する。
【0062】
これにより、情報処理装置100は、コンセプト識別器を用いることで、適切に検索された画像から適切なコンセプトを抽出することができる。また、情報処理装置100は、適切なコンセプトを抽出したうえで、適切なコンセプトに基づいて画像を再検索することができる。したがって、情報処理装置100は、画像の検索精度を向上させることができる。
【0063】
また、抽出部154は、検索部153によって検索された第1画像をコンセプト識別器に入力して、第1画像に含まれるコンセプトと第1画像とのコンセプト類似度をコンセプト識別器から出力し、出力されたコンセプト類似度がコンセプト閾値を超えるコンセプトを抽出する。
【0064】
これにより、情報処理装置100は、適切なコンセプトを抽出することができる。
【0065】
また、抽出部154は、出力されたコンセプト類似度がコンセプト閾値を超えるコンセプトの中から、第1クエリ文に含まれないコンセプトである隠れコンセプトを抽出する。
【0066】
これにより、情報処理装置100は、利用者が入力したクエリ文に明示されていない内容(例えば、暗示的な内容)に関するコンセプトを抽出することができる。
【0067】
また、抽出部154は、第1クエリ文に含まれない文字列を含むコンセプトである隠れコンセプトを抽出する。
【0068】
これにより、情報処理装置100は、利用者が入力したクエリ文に明示されていない内容(例えば、暗示的な内容)に関するコンセプトを抽出することができる。
【0069】
また、検索部153は、隠れコンセプトに基づく第2クエリ文に関する第2画像を再検索する。
【0070】
これにより、情報処理装置100は、利用者が入力したクエリ文に明示されていないコンセプト(例えば、暗示的なコンセプト)に基づいて画像を再検索することができる。したがって、情報処理装置100は、画像の検索精度を向上させることができる。
【0071】
また、受付部151は、利用者によって入力されたクエリ画像を受け付ける。検索部153は、VSEモデルを用いて、受付部151によって受け付けられたクエリ画像に関する文字列を検索し、検索した文字列に基づく第3クエリ文に関する第3画像を検索する。
【0072】
これにより、情報処理装置100は、利用者が入力したクエリ画像に明示されていない内容(例えば、暗示的な内容)に関するコンセプトを抽出することができる。
【0073】
また、取得部152は、複数の文章または複数の文章それぞれに含まれる各テキストである文字列を取得する。検索部153は、取得部152によって取得された文字列と受付部151によって受け付けられたクエリ画像の組をVSEモデルに入力して、文字列とクエリ画像との第3類似度をVSEモデルから出力し、出力された第3類似度が第3閾値を超える文字列を検索し、検索した文字列に基づく第3クエリ文に関する第3画像を検索する。
【0074】
これにより、情報処理装置100は、VSEに基づく処理とコンセプト識別器に基づく処理を回すことで、適切なコンセプトを選択することができる。
【0075】
また、抽出部154は、第3画像に関するコンセプトを抽出する。検索部153は、VSEモデルを用いて、抽出部154によって抽出されたコンセプトに基づく第4クエリ文に関する第4画像を再検索する。
【0076】
これにより、情報処理装置100は、利用者が入力したクエリ画像に明示されていない内容(例えば、暗示的な内容)に関するコンセプトを抽出することができる。
【0077】
〔6.ハードウェア構成〕
また、上述してきた実施形態に係る情報処理装置100は、例えば
図5に示すような構成のコンピュータ1000によって実現される。
図5は、情報処理装置100の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を備える。
【0078】
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0079】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、所定の通信網を介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを所定の通信網を介して他の機器へ送信する。
【0080】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。なお、CPU1100の代わりに、MPU(Micro Processing Unit)、また多大な計算パワーを必要とすることからGPU(Graphics Processing Unit)を用いてもよい。
【0081】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0082】
例えば、コンピュータ1000が情報処理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部150の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から所定の通信網を介してこれらのプログラムを取得してもよい。
【0083】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0084】
〔7.その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0085】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0086】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0087】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、検索部は、検索手段や検索回路に読み替えることができる。
【符号の説明】
【0088】
100 情報処理装置
110 通信部
120 記憶部
130 入力部
140 出力部
150 制御部
151 受付部
152 取得部
153 検索部
154 抽出部
155 生成部