(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022180942
(43)【公開日】2022-12-07
(54)【発明の名称】情報処理装置、情報処理方法及び情報処理プログラム
(51)【国際特許分類】
G06F 16/587 20190101AFI20221130BHJP
【FI】
G06F16/587
【審査請求】有
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2021087722
(22)【出願日】2021-05-25
(71)【出願人】
【識別番号】501440684
【氏名又は名称】ソフトバンク株式会社
(71)【出願人】
【識別番号】500132214
【氏名又は名称】学校法人明星学苑
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】堀 隆之
(72)【発明者】
【氏名】金 容範
(72)【発明者】
【氏名】鈴木 裕真
(72)【発明者】
【氏名】植木 一也
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA02
5B175FB02
5B175HA05
5B175HB03
(57)【要約】
【課題】画像の検索精度を向上させる。
【解決手段】本願に係る情報処理装置は、セグメンテーションの技術を用いて領域分割された画像のうち、物体を含む分割領域である物体領域に関する物体情報と、物体の背景を含む分割領域である背景領域に関する背景情報との空間的な関係を示す空間関係情報、および、画像の内容を示す文章に含まれる文字列の間の意味的な関係を示す意味関係情報を生成する関係情報生成部と、関係情報生成部によって生成された空間関係情報と意味関係情報とを対応付けて共通空間に埋め込むように学習されたVSE(Visual-Semantic Embedding)モデルを生成するモデル生成部と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
セグメンテーションの技術を用いて領域分割された画像のうち、物体を含む分割領域である物体領域に関する物体情報と、前記物体の背景を含む分割領域である背景領域に関する背景情報との空間的な関係を示す空間関係情報、および、前記画像の内容を示す文章に含まれる文字列の間の意味的な関係を示す意味関係情報を生成する関係情報生成部と、
前記関係情報生成部によって生成された空間関係情報と意味関係情報とを対応付けて共通空間に埋め込むように学習されたVSE(Visual-Semantic Embedding)モデルを生成するモデル生成部と、
を備える情報処理装置。
【請求項2】
前記関係情報生成部は、
前記物体領域の輝度値の特徴を示す物体領域特徴量、前記物体の種類を示す物体クラス情報および前記画像における前記物体の位置および速度を示す情報を含む前記物体情報と、前記背景領域の輝度値の特徴を示す背景領域特徴量、前記背景の種類を示す背景クラス情報および前記画像における前記背景の位置および速度を示す情報を含む前記背景情報との空間的な関係を示す前記空間関係情報を生成する、
請求項1に記載の情報処理装置。
【請求項3】
前記関係情報生成部は、
前記文章を構成する形態素である前記文字列の間の意味的な関係を示す前記意味関係情報を生成する、
請求項1または2に記載の情報処理装置。
【請求項4】
前記モデル生成部は、
前記空間関係情報に含まれる前記物体情報と前記意味関係情報に含まれる前記物体に関する前記文字列との対応関係、および、前記空間関係情報に含まれる前記背景情報と前記意味関係情報に含まれる前記背景に関する前記文字列との対応関係を学習することで、前記VSEモデルを生成する、
請求項1~3のいずれか1つに記載の情報処理装置。
【請求項5】
前記モデル生成部は、
前記空間関係情報に含まれる前記物体情報または前記背景情報である対象物情報と、前記対象物情報と隣接する他の対象物情報である隣接対象物情報との空間的な接続関係、および前記空間的な接続関係の重みを学習し、前記意味関係情報に含まれる前記文字列と、前記文字列と隣接する他の文字列である隣接文字列との意味的な接続関係、および前記意味的な接続関係の重みを学習することで、前記VSEモデルを生成する、
請求項1~4のいずれか1つに記載の情報処理装置。
【請求項6】
前記関係情報生成部は、
前記物体情報に対応する物体ノードと、前記背景情報に対応する背景ノードと、前記物体ノードおよび前記背景ノードを連結する空間エッジと、を含む視覚グラフ情報である前記空間関係情報、および、前記文字列に対応する文字列ノードと、前記文字列ノード同士を連結する意味エッジと、を含む文字グラフ情報である前記意味関係情報を生成し、
前記モデル生成部は、
前記関係情報生成部によって生成された視覚グラフ情報の特徴を示す視覚グラフ特徴量と文字グラフ情報の特徴を示す文字グラフ特徴量とを対応付けて共通空間に埋め込むように学習された前記VSEモデルを生成する、
請求項1~5のいずれか1つに記載の情報処理装置。
【請求項7】
前記関係情報生成部は、
第1GCN(Graph Convolutional Networks)に前記視覚グラフ情報を入力して、前記第1GCNから前記視覚グラフ特徴量を出力し、第2GCNに前記文字グラフ情報を入力して、前記第2GCNから前記文字グラフ特徴量を出力し、
前記モデル生成部は、
前記関係情報生成部によって出力された前記視覚グラフ特徴量と前記文字グラフ特徴量を対応付けて前記共通空間に埋め込むよう前記VSEモデルを学習することで、前記VSEモデルを生成する、
請求項6に記載の情報処理装置。
【請求項8】
利用者によって入力された第1クエリ文を受け付ける受付部と、
前記モデル生成部によって生成されたVSEモデルを用いて、前記第1クエリ文に関する第1画像を検索する検索部と、
前記第1画像に関するコンセプトを抽出する抽出部と、
をさらに備え、
前記検索部は、
前記VSEモデルを用いて、前記抽出部によって抽出されたコンセプトに基づく第2クエリ文に関する第2画像を再検索する、
請求項1~7のいずれか1つに記載の情報処理装置。
【請求項9】
前記抽出部によって抽出されたコンセプトに基づいて、前記第2クエリ文を生成する生成部をさらに備え、
前記検索部は、
前記VSEモデルを用いて、前記生成部によって生成された前記第2クエリ文に関する前記第2画像を再検索する、
請求項8に記載の情報処理装置。
【請求項10】
前記検索部による検索結果を出力する出力部、をさらに備え、
前記出力部は、
前記抽出部によって抽出されたコンセプトを出力し、
前記受付部は、
前記出力部によって出力されたコンセプトに基づく前記第2クエリ文を前記利用者から受け付け、
前記検索部は、
前記VSEモデルを用いて、前記受付部によって受け付けられた前記第2クエリ文に関する前記第2画像を再検索する、
請求項8に記載の情報処理装置。
【請求項11】
複数の映像または前記複数の映像それぞれに含まれる各シーンである画像を取得する取得部をさらに備え、
前記検索部は、
前記取得部によって取得された画像と前記受付部によって受け付けられた第1クエリ文の組を前記VSEモデルに入力して、前記画像と前記第1クエリ文との第1類似度を前記VSEモデルから出力し、当該出力された前記第1類似度が第1閾値を超える前記第1画像を検索する、
請求項8~10のいずれか1つに記載の情報処理装置。
【請求項12】
前記検索部は、
前記取得部によって取得された画像と前記抽出部によって抽出されたコンセプトに基づく第2クエリ文の組を前記VSEモデルに入力して、前記画像と前記第2クエリ文との第2類似度を前記VSEモデルから出力し、当該出力された前記第2類似度が第2閾値を超える前記第2画像を再検索する、
請求項11に記載の情報処理装置。
【請求項13】
前記抽出部は、
コンセプトを含む画像が入力された場合に、前記画像に含まれるコンセプトと前記画像とのコンセプト類似度を出力するよう学習された学習済みの機械学習モデルであるコンセプト識別器を用いて、前記第1画像から前記第1画像に関するコンセプトを抽出する、
請求項8~12のいずれか1つに記載の情報処理装置。
【請求項14】
前記抽出部は、
前記検索部によって検索された第1画像を前記コンセプト識別器に入力して、前記第1画像に含まれるコンセプトと前記第1画像とのコンセプト類似度を前記コンセプト識別器から出力し、当該出力されたコンセプト類似度がコンセプト閾値を超える前記コンセプトを抽出する、
請求項13に記載の情報処理装置。
【請求項15】
前記抽出部は、
前記出力されたコンセプト類似度がコンセプト閾値を超える前記コンセプトの中から、前記第1クエリ文に含まれないコンセプトである隠れコンセプトを抽出する、
請求項14に記載の情報処理装置。
【請求項16】
前記受付部は、
前記利用者によって入力されたクエリ画像を受け付け、
前記検索部は、
前記VSEモデルを用いて、前記受付部によって受け付けられたクエリ画像に関する文字列を検索し、当該検索した文字列に基づく第3クエリ文に関する第3画像を検索する、
請求項8~15のいずれか1つに記載の情報処理装置。
【請求項17】
複数の文章または前記複数の文章それぞれに含まれる各テキストである文字列を取得する取得部をさらに備え、
前記検索部は、
前記取得部によって取得された文字列と前記受付部によって受け付けられたクエリ画像の組を前記VSEモデルに入力して、前記文字列と前記クエリ画像との第3類似度を前記VSEモデルから出力し、当該出力された前記第3類似度が第3閾値を超える文字列を検索し、当該検索した文字列に基づく前記第3クエリ文に関する前記第3画像を検索する、
請求項16に記載の情報処理装置。
【請求項18】
前記抽出部は、
前記第3画像に関するコンセプトを抽出し、
前記検索部は、
前記VSEモデルを用いて、前記抽出部によって抽出されたコンセプトに基づく第4クエリ文に関する第4画像を再検索する、
請求項17に記載の情報処理装置。
【請求項19】
情報処理装置が実行するプログラムにより実現される情報処理方法であって、
セグメンテーションの技術を用いて領域分割された画像のうち、物体を含む分割領域である物体領域に関する物体情報と、前記物体の背景を含む分割領域である背景領域に関する背景情報との空間的な関係を示す空間関係情報、および、前記画像の内容を示す文章に含まれる文字列の間の意味的な関係を示す意味関係情報を生成する関係情報生成工程と、
前記関係情報生成工程によって生成された空間関係情報と意味関係情報とを対応付けて共通空間に埋め込むように学習されたVSE(Visual-Semantic Embedding)モデルを生成するモデル生成工程と、
を含む情報処理方法。
【請求項20】
セグメンテーションの技術を用いて領域分割された画像のうち、物体を含む分割領域である物体領域に関する物体情報と、前記物体の背景を含む分割領域である背景領域に関する背景情報との空間的な関係を示す空間関係情報、および、前記画像の内容を示す文章に含まれる文字列の間の意味的な関係を示す意味関係情報を生成する関係情報生成手順と、
前記関係情報生成手順によって生成された空間関係情報と意味関係情報とを対応付けて共通空間に埋め込むように学習されたVSE(Visual-Semantic Embedding)モデルを生成するモデル生成手順と、
をコンピュータに実行させる情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【0002】
近年、SNS(Social Networking Service)や防犯カメラの普及により、映像コンテンツの数が急増している。そこで、膨大な数の映像コンテンツを効率よく整理、管理するための技術が求められている。
【0003】
例えば、入力画像と当該入力画像の入力領域とに基づいて出力キャプションを生成するように構成された関数を、それぞれが画像と当該画像の領域と当該領域のキャプションとを含む、3つ組のデータセットを用いて学習する技術が知られている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2019-008778号公報
【特許文献2】特開2019-204183号公報
【特許文献3】特開2020-149337号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
画像の検索精度を向上させる技術が求められている。
【課題を解決するための手段】
【0006】
本願に係る情報処理装置は、セグメンテーションの技術を用いて領域分割された画像のうち、物体を含む分割領域である物体領域に関する物体情報と、前記物体の背景を含む分割領域である背景領域に関する背景情報との空間的な関係を示す空間関係情報、および、前記画像の内容を示す文章に含まれる文字列の間の意味的な関係を示す意味関係情報を生成する関係情報生成部と、前記関係情報生成部によって生成された空間関係情報と意味関係情報とを対応付けて共通空間に埋め込むように学習されたVSE(Visual-Semantic Embedding)モデルを生成するモデル生成部と、を備える。
【図面の簡単な説明】
【0007】
【
図1】
図1は、実施形態に係る情報処理の概要について説明するための図である。
【
図2】
図2は、画像中の物体と物体の背景との空間的な関係と画像の検索精度の関係性について説明するための図である。
【
図3】
図3は、実施形態に係るセグメンテーション(Segmentation)の技術について説明するための図である。
【
図4】
図4は、実施形態に係るVSE(Visual-Semantic Embedding)モデルとコンセプト識別器について説明するための図である。
【
図5】
図5は、実施形態に係る情報処理装置の構成例を示す図である。
【
図6】
図6は、実施形態に係る視覚グラフ情報の生成処理手順について説明するための図である。
【
図7】
図7は、実施形態に係る情報処理手順を示す図である。
【
図8】
図8は、変形例に係る情報処理手順を示す図である。
【
図9】
図9は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0008】
以下に、本願に係る情報処理装置、情報処理方法及び情報処理プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法及び情報処理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0009】
(実施形態)
〔1.はじめに〕
従来、物体検出(Object Detection)の技術を用いて、画像に含まれる関心対象の物体(例えば、人物や動物、自動車など)を背景から区別してバウンディングボックスで囲み、バウンディングボックスで囲まれた物体のクラス(カテゴリ)と物体の位置を特定する。そして、画像に含まれる物体同士の空間的な関係性をグラフ構造で表現した視覚グラフ情報を生成する。また、画像の内容を示す文字情報の意味的な関係性をグラフ構造で表現した文字グラフ情報を生成する。そして、視覚グラフ情報と文字グラフ情報を対応付けて学習する技術が知られている(参考文献;「Graph Structured Network for Image-TextMatching」、Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2020, pp. 10921-10930、https://arxiv.org/abs/2004.00277v1)。これにより、従来技術は、画像に含まれる物体同士の空間的な関係性を認識・識別することができる。
【0010】
しかしながら、従来技術では、バウンディングボックスで囲まれた物体(例えば、人物や動物、自動車など)同士の関係性を認識・識別することができるものの、画像に含まれる物体の背景(例えば、空や道路、芝生など)と物体との関係性を認識・識別することはできなかった。
【0011】
これに対して、本願発明に係る情報処理装置100は、セグメンテーションの技術を用いて、画像を領域分割する。
図1は、実施形態に係る情報処理の概要について説明するための図である。
図1に示す情報処理は、後述する情報処理装置100(
図5参照)によって行われる。
図1に示すように、情報処理装置100は、セグメンテーションの技術を用いて画像を領域分割することで、画像のうち、物体を含む分割領域である物体領域に関する物体情報と、画像のうち、物体の背景を含む分割領域である背景領域に関する背景情報を取得する。また、情報処理装置100は、物体情報と背景情報との空間的な関係をグラフ構造によって表現した視覚グラフ情報を生成する。
【0012】
また、図示は省略するが、情報処理装置100は、画像の内容を示す文章を自然言語処理して、文章に含まれる形態素の間の意味的な関係をグラフ構造によって表現した文字グラフ情報を生成する。また、情報処理装置100は、生成した視覚グラフ情報と文字グラフ情報とを対応付けて共通空間に埋め込むようにVSE(Visual-Semantic Embedding)モデルを学習する。このようにして、情報処理装置100は、視覚グラフ情報と文字グラフ情報とを対応付けて共通空間に埋め込むように学習されたVSEモデルを生成する。ここで、VSEとは、画像の特徴を示す画像特徴量と、画像の内容を言語で表現した言語表現の特徴を示す言語特徴量を対応付けて共通空間に埋め込む技術のことを指す。
【0013】
これにより、本願発明に係る情報処理装置100は、画像に含まれる物体の背景と物体との空間的な関係性と意味的な関係性とを対応付けて学習することができるので、画像に含まれる物体同士の関係性に加えて、画像に含まれる物体の背景と物体との関係性を認識・識別することができる。したがって、本願発明に係る情報処理装置100は、画像の検索精度を向上させることができる。
【0014】
図2は、画像中の物体と物体の背景との空間的な関係と画像の検索精度の関係性について説明するための図である。
図2の左側は、鳥が地面に近い場所に留まっている画像を示す。また、
図2の右側は、鳥が空を飛んでいる画像を示す。
図2に示す2つの画像は、物体検出の技術を用いて、画像に含まれる関心対象の物体だけに注目すると、「鳥」という物体を含む画像である点で同じである。
【0015】
一方、本願発明に係る情報処理装置100は、画像に含まれる物体と物体の背景の両方に注目する。具体的には、情報処理装置100は、
図2の左側に示す画像については、画像に含まれる物体である「鳥」と物体の背景である「地面」との空間的な関係性から、単なる「鳥」の画像ではなく、「地面に近い場所に留まっている鳥」の画像であると認識することを可能にする。また、情報処理装置100は、
図2の右側に示す画像については、画像に含まれる物体である「鳥」と物体の背景である「空」との空間的な関係性から、単なる「鳥」の画像ではなく、「空を飛んでいる鳥」の画像であると認識することができる。このように、情報処理装置100は、画像に含まれる物体のみならず、物体の背景と物体との関係性を考慮して画像を認識することができるので、画像の検索精度を向上させることができる。
【0016】
図3は、実施形態に係るセグメンテーション(Segmentation)の技術について説明するための図である。セグメンテーションとは、画像を入力として、ピクセルレベルで領域を分割しラベルを付けていく技術である。セグメンテーションは、そのラベリングの意味合いから、3種類に大別される。
【0017】
図3の左上に示す(a)は、セグメンテーションが施される前の通常のRGB画像である。
図3の右上に示す(b)は、セマンティックセグメンテーション(Semantic Segmentation)の技術を用いて
図3の左上に示す(a)の画像を領域分割した図である。セマンティックセグメンテーションは、画像上の全ピクセルをクラスに分類する技術である。セマンティックセグメンテーションは、物体の種類ごとに画像を領域分割する。
【0018】
図3の左下に示す(c)は、インスタンスセグメンテーション(Instance Segmentation)の技術を用いて
図3の左上に示す(a)の画像を領域分割した図である。インスタンスセグメンテーションは、物体ごとの領域を分割し、かつ物体の種類を認識する技術である。インスタンスセグメンテーションは、物体ごとに画像を領域分割する。
【0019】
図3の右下に示す(d)は、パノプティックセグメンテーション(Panoptic Segmentation)の技術を用いて
図3の左上に示す(a)の画像を領域分割した図である。パノプティックセグメンテーションは、セマンティックセグメンテーションとインスタンスセグメンテーションを組み合わせた技術である。パノプティックセグメンテーションは、人物や動物、自動車などの物体(数えられるクラス、Thing クラスともいう)に対してインスタンスセグメンテーションを行い、空や道路、芝生などの背景(数えられないクラス、Stuff クラスともいう)に対してセマンティックセグメンテーションを行う。
【0020】
本実施形態では、情報処理装置100がパノプティックセグメンテーションの技術を用いて画像を領域分割する例について説明するが、これに限られない。具体的には、情報処理装置100は、セマンティックセグメンテーションまたはインスタンスセグメンテーションの技術を用いて画像を領域分割してよい。また、情報処理装置100は、セマンティックセグメンテーション、インスタンスセグメンテーションおよびパノプティックセグメンテーションの技術を組み合わせて画像を領域分割してよい。
【0021】
また、近年、膨大な数の映像コンテンツを効率よく整理、管理するために、画像の内容を自動で分析し、画像の内容を示す文字情報(キャプションやタグなど)を自動で生成・付与する技術が知られている。これにより、文字情報から画像を検索可能とすることができる。ここで、本願明細書における「画像」とは、映像などの動画であってもよいし、映像に含まれる各シーン(静止画)であってもよい。
【0022】
このような背景の下、文字情報から画像を検索する代表的な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)。
【0023】
上記の研究によると、(1)に示すコンセプト識別器を用いる手法と(2)に示すVSEを用いる手法は、相補的であることが示されている。そこで、本願発明の発明者は、(1)に示すコンセプト識別器を用いる手法と(2)に示すVSEに基づく手法を統合することで、画像の検索精度を向上させる技術を提案する。具体的には、本願発明に係る情報処理装置100は、コンセプト識別器を用いて画像から適切なコンセプトを抽出し、VSEモデルを用いて抽出されたコンセプトと類似する画像を再検索する。例えば、情報処理装置100は、視覚グラフ情報と文字グラフ情報とを対応付けて共通空間に埋め込むように学習されたVSEモデル(以下、VSEモデルと記載する場合がある)を用いて抽出されたコンセプトと類似する画像を再検索する。これにより、本願発明に係る情報処理装置100は、例えば、利用者から受け付けたクエリ文に明示されていないコンセプト(例えば、暗示的なコンセプト)の中から、適切なコンセプトを抽出して、抽出したコンセプトと類似する画像を再検索することができる。したがって、本願発明は、画像の検索精度を向上させることができる。
【0024】
ここから、
図4を用いて、実施形態に係るVSEモデルとコンセプト識別器について説明する。
図4は、実施形態に係るVSEモデルとコンセプト識別器について説明するための図である。
【0025】
図4の左側は、実施形態に係るVSEモデルの一例を示す。例えば、
図4の左側に示すVSEモデルは、画像から文を検索する場合、画像をVSEモデルに入力して、画像の特徴を示す画像特徴量に対応する特徴ベクトル(以下、画像の特徴ベクトルともいう)を生成する。続いて、VSEモデルは、生成した画像の特徴ベクトルを文の特徴を示す文特徴量に対応する特徴ベクトル(以下、文の特徴ベクトルともいう)との共通の空間にマッピングしたのち、画像の特徴ベクトルと類似する文の特徴ベクトルに対応する文を検索結果とする。例えば、VSEモデルは、画像の特徴ベクトルと文の特徴ベクトルとの類似度が所定の閾値を超えるような文の特徴ベクトルに対応する文を検索結果として出力する。
【0026】
また、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を用いて、画像から画像特徴量を抽出してよい。
【0027】
また、
図4の左側に示すVSEモデルは、文から画像を検索する場合、文をVSEモデルに入力して、文の特徴ベクトルを生成する。続いて、VSEモデルは、生成した文の特徴ベクトルを画像の特徴ベクトルとの共通の空間にマッピングしたのち、文の特徴ベクトルと類似する画像の特徴ベクトルに対応する画像を検索結果とする。例えば、VSEモデルは、文の特徴ベクトルと画像の特徴ベクトルとの類似度が所定の閾値を超えるような画像の特徴ベクトルに対応する画像を検索結果として出力する。
【0028】
また、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を用いて、言語表現から言語特徴量を抽出してよい。
【0029】
図4の右側は、実施形態に係るコンセプト識別器の出力結果の一例を示す。コンセプト識別器は、コンセプトを含む画像が入力された場合に、画像に含まれるコンセプトと画像との類似度を示すコンセプト類似度を出力するよう学習された学習済みの機械学習モデルである。ここで、コンセプト識別器が学習するコンセプト(検出対象ともいう)には、画像に含まれる物体や人物等の対象物に限らず、画像の場面(シーン)および画像に含まれる人物や動物等の動作(走っている、座っている等)等の概念が含まれる。例えば、
図4の右側に示すコンセプト識別器の出力結果は、バイクの横に男性が立っている画像がコンセプト識別器に入力された場合に、画像に含まれる男性の髪の毛の色、男性が着ている服装、男性の体の部位、バイクの色、背景の山や海、赤い橋といった対象を検出し、対象のクラス(カテゴリ)を出力したものである。なお、
図4の右側では図示を省略しているが、コンセプト識別器は、画像に含まれるコンセプトのクラスとともに、画像に含まれるコンセプトが当該コンセプトのクラス(カテゴリ)に該当する確率を出力する。このように、コンセプト識別器は、コンセプトを含む画像が入力された場合に、画像に含まれるコンセプトを検出するとともに、検出されたコンセプトのクラスを推定する。すなわち、コンセプト識別器は、コンセプトを含む画像が入力された場合に、コンセプト類似度として、画像に含まれる各コンセプトが推定された各コンセプトのクラスに該当する確率をそれぞれ出力する。
【0030】
〔2.情報処理装置の構成〕
次に、
図5を用いて、実施形態に係る情報処理装置の構成について説明する。
図5は、実施形態に係る情報処理装置の構成例を示す図である。
図5に示すように、情報処理装置100は、通信部110と、記憶部120と、入力部130と、出力部140と、制御部150とを有する。
【0031】
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)、モデムチップ及びアンテナモジュール等によって実現される。また、通信部110は、ネットワークN(図示略)と有線又は無線で接続される。
【0032】
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現される。例えば、記憶部120は、複数の映像または複数の映像それぞれに含まれる各シーンである画像のデータベースである映像プールを記憶する。また、記憶部120は、複数の文章または複数の文章それぞれに含まれる各テキストである文字列のデータベースであるキャプションプールを記憶する。
【0033】
(入力部130)
入力部130は、利用者から各種操作の入力を受け付ける。例えば、入力部130は、タッチパネル機能により表示面(例えば出力部140)を介して利用者からの各種操作を受け付けてもよい。また、入力部130は、情報処理装置100に設けられたボタンや、情報処理装置100に接続されたキーボードやマウスからの各種操作を受け付けてもよい。例えば、入力部130は、利用者からクエリ文の入力を受け付けてよい。また、入力部130は、利用者からクエリ画像の入力を受け付けてよい。
【0034】
(出力部140)
出力部140は、例えば液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイ等によって実現される表示画面であり、各種情報を表示するための表示装置である。出力部140は、制御部150の制御に従って、各種情報を表示する。なお、情報処理装置100にタッチパネルが採用される場合には、入力部130と出力部140とは一体化される。また、以下の説明では、出力部140を画面と記載する場合がある。
【0035】
(制御部150)
制御部150は、コントローラ(Controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等によって、情報処理装置100の内部の記憶装置に記憶されている各種プログラム(情報処理プログラムの一例に相当)がRAM等の記憶領域を作業領域として実行されることにより実現される。
図5に示す例では、制御部150は、関係情報生成部151と、モデル生成部152と、受付部153と、取得部154と、検索部155と、抽出部156と、生成部157を有する。
【0036】
(関係情報生成部151)
関係情報生成部151は、パノプティックセグメンテーションの技術を用いて領域分割された画像のうち、物体を含む分割領域である物体領域に関する物体情報と、物体の背景を含む分割領域である背景領域に関する背景情報との空間的な関係を示す視覚グラフ情報を生成する。
【0037】
図6は、実施形態に係る視覚グラフ情報の生成処理手順について説明するための図である。
図6に示す例では、関係情報生成部151は、セグメンテーションの処理対象となる入力画像を取得する(ステップS11)。例えば、関係情報生成部151は、
図6の右上に示すような、道路を横断して歩く歩行者のシーンである入力画像を取得する。関係情報生成部151は、例えば、記憶部120の映像プールから入力画像を取得する。
【0038】
続いて、関係情報生成部151は、パノプティックセグメンテーションの技術を用いて入力画像を領域分割し、歩行者や車両などの物体を含む分割領域である物体領域、および、道路やビル、空などの物体の背景を含む分割領域である背景領域を抽出する(ステップS12)。
【0039】
続いて、関係情報生成部151は、物体領域に関する物体情報を物体領域から抽出する(ステップS13)。例えば、関係情報生成部151は、物体領域に含まれる物体の種類を示す物体クラス情報を物体領域から抽出する。また、関係情報生成部151は、画像における物体の位置および速度を示す情報を物体領域から抽出してよい。また、関係情報生成部151は、公知の畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)に入力画像を入力して、物体領域の輝度値の特徴を示す物体領域特徴量を畳み込みニューラルネットワークから出力する。このようにして、関係情報生成部151は、物体領域の輝度値の特徴を示す物体領域特徴量、物体領域に含まれる物体の種類を示す物体クラス情報および画像における物体の位置および速度を示す情報を含む物体情報を抽出する。
図6の右下の例では、シーンを構成する歩行者(1)~(3)および車両(4)に関する物体情報をそれぞれ抽出する。
【0040】
また、関係情報生成部151は、背景領域に関する背景情報を背景領域から抽出する(ステップS13)。例えば、関係情報生成部151は、背景領域に含まれる背景の種類を示す背景クラス情報を背景領域から抽出する。また、関係情報生成部151は、画像における背景の位置および速度を示す情報を背景領域から抽出してよい。また、関係情報生成部151は、公知の畳み込みニューラルネットワークに入力画像を入力して、背景領域の輝度値の特徴を示す背景領域特徴量を畳み込みニューラルネットワークから出力する。このようにして、関係情報生成部151は、背景領域の輝度値の特徴を示す背景領域特徴量、背景領域に含まれる背景の種類を示す背景クラス情報および画像における背景の位置および速度を示す情報を含む背景情報を抽出する。
図6の右下の例では、シーンを構成する道路(5)に関する背景情報を抽出する。
【0041】
続いて、関係情報生成部151は、シーンの構造を解析して、グラフで表現する(ステップS14)。
図6の右下の例では、関係情報生成部151は、歩行者(1)~(3)および車両(4)それぞれに対応する番号をそれぞれ白い丸印で囲むことで、歩行者(1)~(3)および車両(4)それぞれに対応する物体ノードを生成する。また、関係情報生成部151は、道路(5)に対応する番号を白い丸印で囲むことで、道路(5)に対応する背景ノードを生成する。また、関係情報生成部151は、歩行者(1)~(3)および車両(4)それぞれと道路(5)とを空間エッジによって連結することで、歩行者(1)~(3)および車両(4)それぞれと道路(5)との空間的な関係を示す視覚グラフ情報を生成する。例えば、関係情報生成部151は、歩行者(1)~(3)および車両(4)は、道路(5)の場所にあることを示す視覚グラフ情報を生成する。また、関係情報生成部151は、歩行者(1)~(3)は近い位置にあることを示す視覚グラフ情報を生成する。また、関係情報生成部151は、歩行者(1)~(3)は同じ方向に移動することを示す視覚グラフ情報を生成する。また、関係情報生成部151は、車両(4)が走っていることを示す視覚グラフ情報を生成する。
【0042】
このようにして、関係情報生成部151は、物体情報に対応する物体ノードと、背景情報に対応する背景ノードと、物体ノードおよび背景ノードを連結する空間エッジと、を含む視覚グラフ情報を生成する。例えば、関係情報生成部151は、物体および背景それぞれの位置および速度(または、相対位置および相対速度)を示す情報と、物体ノードおよび背景ノードそれぞれとが対応付けられた視覚グラフ情報を生成する。例えば、関係情報生成部151は、画像に含まれる物体および背景それぞれの位置を示す極座標と、物体ノードおよび背景ノードそれぞれとが対応付けられた視覚グラフ情報を生成してよい。
【0043】
なお、
図6では、関係情報生成部151が、物体ノードや背景ノードといった各ノードを無向エッジである空間エッジによって連結する場合について説明したが、これに限られない。具体的には、関係情報生成部151は、各ノードを有向エッジによって連結してよい。より具体的には、関係情報生成部151は、物体ノードや背景ノードといった各ノードの間の因果関係や使役関係を表現する場合には、各ノードを有向エッジによって連結してよい。一方、関係情報生成部151は、
図6に示すように、物体ノードや背景ノードといった各ノードの間の位置関係や状態の関係を表現する場合には、各ノードを無向エッジによって連結してよい。
【0044】
続いて、関係情報生成部151は、生成した視覚グラフ情報を出力する(ステップS15)。例えば、関係情報生成部151は、視覚グラフ情報を生成すると、生成した視覚グラフ情報を記憶部120に記憶する。また、関係情報生成部151は、視覚グラフ情報を生成すると、生成した視覚グラフ情報をモデル生成部152に出力する。
【0045】
また、関係情報生成部151は、画像の内容を示す文章に含まれる文字列の間の意味的な関係を示す文字グラフ情報を生成する。具体的には、関係情報生成部151は、画像の内容を示す文章を記憶部120のキャプションプールから取得する。続いて、関係情報生成部151は、文章を取得すると、文章を自然言語処理する。例えば、関係情報生成部151は、文章を自然言語処理して、文章を構成する文字列の間の意味的な関係を示す文字グラフ情報を生成する。
【0046】
例えば、関係情報生成部151は、文章を形態素解析して、文章を形態素に分解する。続いて、関係情報生成部151は、文章を構文解析して、形態素解析で分割した形態素同士の関連性を解析し、分節感の係り受け構造をツリー化(図式化)する。例えば、関係情報生成部151は、文章を依存構造解析(係り受け解析)して、形態素間の修飾または被修飾関係や係り受け関係に基づいて文章の構造を表現する。あるいは、関係情報生成部151は、文章を句構造解析して、隣接する形態素の間の関係に基づいて文章の構造を表現する。関係情報生成部151は、構文解析の技術を用いて文章の構造を表現すると、表現した構造に基づいて、文章を構成する形態素の間の意味的な関係を示す文字グラフ情報を生成する。例えば、関係情報生成部151は、文章を構成する形態素に対応する文字列ノードと、文字列ノード同士を連結する意味エッジと、を含む文字グラフ情報である文字グラフ情報を生成する。
【0047】
なお、上述した実施形態では、関係情報生成部151が、物体情報と背景情報との空間的な関係を示す視覚グラフ情報を生成する場合について説明したが、関係情報生成部151は、物体情報と背景情報との空間的な関係を示す情報であればグラフ構造以外のどのような情報を生成してもよい。例えば、関係情報生成部151は、物体情報と背景情報との空間的な関係を示す情報として、視覚グラフ情報の代わりに、物体情報と背景情報との空間的な関係を示す図表やテーブルを生成してもよい。また、関係情報生成部151は、視覚グラフ情報の代わりに、物体情報と背景情報との空間的な対応関係を示す文章を生成してもよい。例えば、
図6を例に挙げると、関係情報生成部151は、物体情報と背景情報との空間的な関係を示す情報として、「歩行者(1)~(3)および車両(4)は、道路(5)の場所にある」といった文章や「歩行者(1)~(3)は近い位置にある」といった文章、「歩行者(1)~(3)は同じ方向に移動する」といった文章や「車両(4)が走っている」といった物体情報と背景情報との空間的な対応関係を示す文章を生成する。
【0048】
また、同様に、上述した実施形態では、関係情報生成部151が、画像の内容を示す文章に含まれる文字列の間の意味的な関係を示す文字グラフ情報を生成する場合について説明したが、関係情報生成部151は、画像の内容を示す文章に含まれる文字列の間の意味的な関係を示す情報であればグラフ構造以外のどのような情報を生成してもよい。例えば、関係情報生成部151は、文字グラフ情報の代わりに、画像の内容を示す文章に含まれる文字列の間の意味的な関係を示す図表やテーブルを生成してもよい。また、関係情報生成部151は、画像の内容を示す文章に含まれる文字列の間の意味的な対応関係を示す文章を生成してもよい。
【0049】
(モデル生成部152)
モデル生成部152は、関係情報生成部151によって生成された視覚グラフ情報と文字グラフ情報とを対応付けて共通空間に埋め込むように学習されたVSEモデルを生成する。具体的には、モデル生成部152は、視覚グラフ情報に含まれる物体情報と文字グラフ情報に含まれる物体に関する文字列との対応関係を学習することで、VSEモデルを生成する。例えば、モデル生成部152は、視覚グラフ情報に含まれる物体ノードと、物体ノードに対応する物体に関する形態素に対応する文字列ノードとの対応関係を学習することで、VSEモデルを生成する。また、モデル生成部152は、視覚グラフ情報に含まれる背景情報と文字グラフ情報に含まれる背景に関する文字列との対応関係を学習することで、VSEモデルを生成する。例えば、モデル生成部152は、視覚グラフ情報に含まれる背景ノードと、背景ノードに対応する背景に関する形態素に対応する文字列ノードとの対応関係を学習することで、VSEモデルを生成する。
【0050】
また、モデル生成部152は、視覚グラフ情報に含まれる物体情報または背景情報である対象物情報と、対象物情報と隣接する他の対象物情報である隣接対象物情報との空間的な接続関係、および空間的な接続関係の重みを学習する。例えば、モデル生成部152は、視覚グラフ情報に含まれる物体ノードまたは背景ノードである対象物ノードと、対象物ノードと隣接する他の対象物ノードである隣接対象物ノードとの空間的な接続関係、および空間的な接続関係の重みを学習する。
【0051】
また、モデル生成部152は、文字グラフ情報に含まれる形態素と、形態素と隣接する他の形態素である隣接形態素との意味的な接続関係、および意味的な接続関係の重みを学習することで、VSEモデルを生成する。例えば、モデル生成部152は、文字グラフ情報に含まれる形態素に対応する文字列ノードと、文字列ノードと隣接する他の文字列ノードである隣接文字列ノードとの意味的な接続関係、および意味的な接続関係の重みを学習することで、VSEモデルを生成する。
【0052】
より具体的には、モデル生成部152は、関係情報生成部151によって生成された視覚グラフ情報の特徴を示す視覚グラフ特徴量と文字グラフ情報の特徴を示す文字グラフ特徴量とを対応付けて共通空間に埋め込むように学習されたVSEモデルを生成する。例えば、関係情報生成部151は、第1GCN(Graph Convolutional Networks)に視覚グラフ情報を入力して、第1GCNから視覚グラフ特徴量を出力する。また、関係情報生成部151は、第2GCNに文字グラフ情報を入力して、第2GCNから文字グラフ特徴量を出力する。続いて、モデル生成部152は、関係情報生成部151によって出力された視覚グラフ特徴量と文字グラフ特徴量を対応付けて共通空間に埋め込むようVSEモデルを学習することで、VSEモデルを生成する。
【0053】
(受付部153)
受付部153は、利用者によって入力されたクエリ文を受け付ける。例えば、受付部153は、入力部130を介して利用者が入力したクエリ文を受け付ける。ここで、本願明細書におけるクエリ文とは、完全な文章でなくてもよく、例えば、キーワードやフレーズであってもよい。以下では、受付部153が利用者から最初に受け付けたクエリ文を「第1クエリ文」と記載する。例えば、受付部153は、第1クエリ文の一例として、利用者から「person in a car」というフレーズを受け付ける。
【0054】
(取得部154)
取得部154は、映像プールから画像を取得する。例えば、取得部154は、受付部153が第1クエリ文を受け付けると、記憶部120を参照して、複数の映像または複数の映像それぞれに含まれる各シーンである画像を映像プールから取得する。例えば、取得部154は、N個(Nは自然数)の画像#11~画像#1Nを映像プールから取得する。
【0055】
(検索部155)
検索部155は、モデル生成部152によって生成されたVSEモデルを用いて、受付部153によって受け付けられた第1クエリ文に関する第1画像を検索する。具体的には、検索部155は、取得部154が画像を取得すると、受付部153によって受け付けられた第1クエリ文と取得部154によって取得された画像の組をVSEモデルに入力する。例えば、検索部155は、第1クエリ文である「person in a car」とN個の画像#11~画像#1Nそれぞれとの組をVSEモデルに入力する。
【0056】
続いて、検索部155は、第1クエリ文と画像との第1類似度をVSEモデルから出力する。例えば、検索部155は、第1クエリ文とN個の画像#11~画像#1Nそれぞれとの類似度#11~類似度#1Nそれぞれを出力する。続いて、検索部155は、出力された第1類似度が第1閾値を超える第1画像を検索する。例えば、類似度#11~類似度#13は第1閾値を超えるが、類似度#14~類似度#1Nは第1閾値以下であるとする。このとき、検索部155は、N個の画像#11~画像#1Nの中から、第1クエリ文との第1類似度が第1閾値を超える画像#11~画像#13を第1画像として取得する。
【0057】
なお、検索部155は、出力された第1類似度が第1閾値を超える第1画像を検索する代わりに、出力された第1類似度が高い方から順にいくつかの第1画像を検索してよい。例えば、第1クエリ文とN個の画像#11~画像#1Nそれぞれとの類似度#11~類似度#1Nのうち、類似度#11の類似度が最も高く、Nが大きくなるほど類似度が低いとする。このとき、検索部155は、N個の画像#11~画像#1Nの中から、第1クエリ文との第1類似度が高い方から順に、例えば、3つの画像#11~画像#13を第1画像として取得してよい。
【0058】
(抽出部156)
抽出部156は、第1画像に関するコンセプトを抽出する。具体的には、抽出部156は、コンセプトを含む画像が入力された場合に、画像に含まれるコンセプトと画像とのコンセプト類似度を出力するよう学習された学習済みの機械学習モデルであるコンセプト識別器を用いて、第1画像から第1画像に関するコンセプトを抽出する。例えば、抽出部156は、検索部155によって第1画像が検索されると、検索部155によって検索された第1画像をコンセプト識別器に入力する。例えば、抽出部156は、検索部155によって検索された第1画像である画像#11~画像#13それぞれをコンセプト識別器に入力する。なお、以下では、簡単のため、第1画像が画像#11のみである場合について説明する。
【0059】
続いて、抽出部156は、第1画像に含まれるコンセプトと第1画像とのコンセプト類似度をコンセプト識別器から出力する。例えば、抽出部156は、画像#11に含まれるコンセプトである「car_interior」と画像#11とのコンセプト類似度#21である「90%」をコンセプト識別器から出力する。また、例えば、抽出部156は、画像#11に含まれるコンセプトである「自動車」と画像#11とのコンセプト類似度#22である「80%」をコンセプト識別器から出力する。また、例えば、抽出部156は、画像#11に含まれるコンセプトである「バイク」と画像#11とのコンセプト類似度#23である「70%」をコンセプト識別器から出力する。
【0060】
続いて、抽出部156は、出力されたコンセプト類似度がコンセプト閾値を超えるコンセプトを抽出する。例えば、コンセプト閾値が「85%」であるとする。このとき、抽出部156は、コンセプト類似度がコンセプト閾値である「85%」を超えるコンセプトである「car_interior」を抽出する。続いて、抽出部156は、出力されたコンセプト類似度がコンセプト閾値を超えるコンセプトの中から、第1クエリ文に含まれないコンセプトである隠れコンセプトを抽出する。例えば、抽出部156は、第1クエリ文に含まれない文字列を含むコンセプトを隠れコンセプトとして抽出する。例えば、抽出部156は、第1クエリ文である「person in a car」に含まれない文字列である「interior」を含むコンセプトである「car_interior」を隠れコンセプトとして抽出する。
【0061】
なお、抽出部156は、出力されたコンセプト類似度がコンセプト閾値を超えるコンセプトを抽出する代わりに、出力されたコンセプト類似度が高い方から順にいくつかのコンセプトを抽出してよい。例えば、第1画像とM個(Mは自然数)のコンセプト#11~コンセプト#1Mそれぞれとのコンセプト類似度#11~コンセプト類似度#1Mのうち、コンセプト類似度#11のコンセプト類似度が最も高く、Mが大きくなるほどコンセプト類似度が低いとする。このとき、抽出部156は、M個のコンセプト#11~コンセプト#1Mの中から、第1画像とのコンセプト類似度が高い方から順に、例えば、3つのコンセプト#11~コンセプト#13を抽出してよい。
【0062】
(生成部157)
以下では、抽出部156によって抽出された隠れコンセプトに基づいて生成されたクエリ文のことを「第2クエリ文」と記載する。生成部157は、抽出部156によって抽出された隠れコンセプトに基づいて、第2クエリ文を生成する。例えば、生成部157は、抽出部156によって抽出された隠れコンセプトに基づいて、第1クエリ文を更新して、第2クエリ文を生成してよい。例えば、生成部157は、抽出部156によって抽出された隠れコンセプトである「car_interior」を含む第2クエリ文を生成してよい。出力部140は、生成部157によって生成された第2クエリ文を出力する。例えば、出力部140は、生成部157によって生成された第2クエリ文の一例として、「car_interior」を出力する。受付部153は、出力部140によって出力された第2クエリ文を利用者から受け付ける。例えば、受付部153は、出力部140によって出力された第2クエリ文である「car_interior」を利用者から受け付ける。
【0063】
なお、生成部157が第2クエリ文を生成する代わりに、出力部140によって出力された隠れコンセプトに基づいて利用者が第2クエリ文を生成してもよい。受付部153は、利用者によって生成された第2クエリ文を利用者から受け付けてもよい。
【0064】
また、取得部154は、受付部153が第2クエリ文を受け付けると、記憶部120を参照して、複数の映像または複数の映像それぞれに含まれる各シーンである画像を映像プールから取得する。検索部155は、VSEモデルを用いて、受付部153によって受け付けられた第2クエリ文に関する第2画像を再検索する。例えば、検索部155は、受付部153によって受け付けられた第2クエリ文である「car_interior」に関する第2画像を再検索する。例えば、検索部155は、受付部153によって受け付けられた第2クエリ文と取得部154によって取得された画像の組をVSEモデルに入力する。続いて、検索部155は、画像と第2クエリ文との第2類似度をVSEモデルから出力する。続いて、検索部155は、出力された第2類似度が第2閾値を超える第2画像を再検索する。出力部140は、検索部155によって再検索された第2画像を検索結果として出力する。このようにして、出力部140は、例えば、隠れコンセプトである「car_interior」に基づいて生成された第2クエリ文である「car_interior」に関する第2画像を検索結果として出力する。
【0065】
上述した例では、抽出部156が、第1クエリ文である「person in a car」に含まれない文字列「interior」を含むコンセプトである「car_interior」を隠れコンセプトとして抽出する場合について説明したが、他の例について説明する。例えば、受付部153は、第1クエリ文の一例として、「destroyed old building」というフレーズを利用者から受け付ける。検索部155は、VSEモデルを用いて、受付部153によって受け付けられた第1クエリ文である「destroyed old building」に関する第1画像を検索する。抽出部156は、第1画像をコンセプト識別器に入力して、第1画像に含まれるコンセプトである「ruin」を抽出する。続いて、抽出部156は、第1クエリ文である「destroyed old building」に含まれない文字列である「ruin」を含むコンセプトである「ruin」を隠れコンセプトとして抽出する。
【0066】
〔3.情報処理のフロー〕
次に、
図7を用いて、実施形態に係る情報処理の手順について説明する。
図7は、実施形態に係る情報処理の一例を示すフローチャートである。
図7では、受付部153が、利用者によって入力された第1クエリ文を受け付ける(ステップS101)。取得部154は、受付部153が第1クエリ文を受け付けると、複数の映像または複数の映像それぞれに含まれる各シーンである画像を映像プールから取得する(ステップS102)。
【0067】
検索部155は、受付部153によって受け付けられた第1クエリ文と取得部154によって取得された画像の組をVSEモデルに入力する。続いて、検索部155は、第1クエリ文と画像との第1類似度をVSEモデルから出力する(ステップS103)。続いて、検索部155は、出力された第1類似度が第1閾値を超える第1画像を検索する(ステップS104)。
【0068】
抽出部156は、検索部155によって検索された第1画像をコンセプト識別器に入力する(ステップS105)。続いて、抽出部156は、第1画像に含まれるコンセプトと第1画像とのコンセプト類似度をコンセプト識別器から出力する(ステップS106)。続いて、抽出部156は、出力されたコンセプト類似度がコンセプト閾値を超えるコンセプトを抽出する。続いて、抽出部156は、出力されたコンセプト類似度がコンセプト閾値を超えるコンセプトの中から、第1クエリ文に含まれないコンセプトである隠れコンセプトを抽出する(ステップS107)。
【0069】
出力部140は、抽出部156によって抽出された隠れコンセプトを出力する(ステップS108)。利用者は、出力部140によって出力された隠れコンセプトに基づいて第1クエリ文を更新し、新たな第2クエリ文を生成する(ステップS109)。受付部153は、出力部140によって出力された隠れコンセプトに基づいて更新された第2クエリ文を利用者から受け付ける。例えば、受付部153は、入力部130を介して、利用者によって更新された第2クエリ文を利用者から受け付ける(ステップS110)。取得部154は、受付部153が第2クエリ文を受け付けると、複数の映像または複数の映像それぞれに含まれる各シーンである画像を映像プールから取得する(ステップS111)。
【0070】
検索部155は、受付部153によって受け付けられた第2クエリ文と取得部154によって取得された画像の組をVSEモデルに入力する。続いて、検索部155は、画像と第2クエリ文との第2類似度をVSEモデルから出力する(ステップS112)。続いて、検索部155は、出力された第2類似度が第2閾値を超える第2画像を再検索する(ステップS113)。出力部140は、検索部155によって再検索された第2画像を検索結果として出力する(ステップS114)。
【0071】
〔4.変形例〕
次に、
図8を用いて、変形例に係る情報処理の手順について説明する。
図8は、変形例に係る情報処理の一例を示すフローチャートである。
図8では、受付部153が、利用者によって入力されたクエリ画像を受け付ける(ステップS201)。例えば、受付部153は、入力部130を介して利用者が入力したクエリ画像を受け付ける。ここで、本願明細書におけるクエリ画像とは、画像全体でなくてもよく、例えば、画像の一部であってもよい。
【0072】
取得部154は、受付部153がクエリ画像を受け付けると、記憶部120を参照して、複数の文章または複数の文章それぞれに含まれる各テキストである文字列をキャプションプールから取得する(ステップS202)。
【0073】
また、検索部155は、取得部154が文字列を取得すると、受付部153によって受け付けられたクエリ画像と取得部154によって取得された文字列の組をVSEモデルに入力する。続いて、検索部155は、クエリ画像と文字列との第3類似度をVSEモデルから出力する(ステップS203)。続いて、検索部155は、出力された第3類似度が第3閾値を超える文字列を検索する(ステップS204)。
【0074】
生成部157は、検索部155によって検索された文字列に基づいて第3クエリ文を生成する。出力部140は、生成部157によって生成された第3クエリ文を出力する。受付部153は、出力部140によって出力された第3クエリ文を利用者から受け付ける(ステップS205)。取得部154は、受付部153が第3クエリ文を受け付けると、複数の映像または複数の映像それぞれに含まれる各シーンである画像を映像プールから取得する(ステップS206)。
【0075】
検索部155は、受付部153によって受け付けられた第3クエリ文と取得部154によって取得された画像の組をVSEモデルに入力する。続いて、検索部155は、画像と第3クエリ文との第1類似度をVSEモデルから出力する(ステップS207)。続いて、検索部155は、出力された第1類似度が第1閾値を超える第3画像を検索する(ステップS208)。
【0076】
抽出部156は、検索部155によって検索された第3画像をコンセプト識別器に入力する(ステップS209)。続いて、抽出部156は、第3画像に含まれるコンセプトと第3画像とのコンセプト類似度をコンセプト識別器から出力する(ステップS210)。続いて、抽出部156は、出力されたコンセプト類似度がコンセプト閾値を超えるコンセプトを抽出する。続いて、抽出部156は、出力されたコンセプト類似度がコンセプト閾値を超えるコンセプトの中から、第3クエリ文に含まれないコンセプトである隠れコンセプトを抽出する(ステップS211)。
【0077】
出力部140は、抽出部156によって抽出された隠れコンセプトを出力する(ステップS212)。利用者は、出力部140によって出力された隠れコンセプトに基づいて第3クエリ文を更新し、新たな第4クエリ文を生成する(ステップS213)。受付部153は、出力部140によって出力された隠れコンセプトに基づいて更新された第4クエリ文を利用者から受け付ける。例えば、受付部153は、入力部130を介して、利用者によって更新された第4クエリ文を利用者から受け付ける(ステップS214)。取得部154は、受付部153が第4クエリ文を受け付けると、複数の映像または複数の映像それぞれに含まれる各シーンである画像を映像プールから取得する(ステップS215)。
【0078】
検索部155は、受付部153によって受け付けられた第4クエリ文と取得部154によって取得された画像の組をVSEモデルに入力する。続いて、検索部155は、画像と第4クエリ文との第2類似度をVSEモデルから出力する(ステップS216)。続いて、検索部155は、出力された第2類似度が第2閾値を超える第4画像を再検索する(ステップS217)。出力部140は、検索部155によって再検索された第4画像を検索結果として出力する(ステップS218)。
【0079】
なお、ステップS205において、利用者は、出力部140によって出力された第3クエリ文を変更することができる。受付部153は、入力部130を介して、利用者によって変更された第3クエリ文を利用者から受け付ける。
【0080】
〔5.効果〕
上述してきたように、実施形態に係る情報処理装置100は、関係情報生成部151と、モデル生成部152を有する。関係情報生成部151は、セグメンテーションの技術を用いて領域分割された画像のうち、物体を含む分割領域である物体領域に関する物体情報と、物体の背景を含む分割領域である背景領域に関する背景情報との空間的な関係を示す空間関係情報、および、画像の内容を示す文章に含まれる文字列の間の意味的な関係を示す意味関係情報を生成する。モデル生成部152は、関係情報生成部151によって生成された空間関係情報と意味関係情報とを対応付けて共通空間に埋め込むように学習されたVSE(Visual-Semantic Embedding)モデルを生成する。
【0081】
これにより、情報処理装置100は、画像に含まれる物体の背景と物体との空間的な関係性と意味的な関係性とを対応付けて学習することができるので、画像に含まれる物体同士の関係性に加えて、画像に含まれる物体の背景と物体との関係性を認識・識別することができる。したがって、情報処理装置100は、画像の検索精度を向上させることができる。
【0082】
また、関係情報生成部151は、物体領域の輝度値の特徴を示す物体領域特徴量、物体の種類を示す物体クラス情報および画像における物体の位置および速度を示す情報を含む物体情報と、背景領域の輝度値の特徴を示す背景領域特徴量、背景の種類を示す背景クラス情報および画像における背景の位置および速度を示す情報を含む背景情報との空間的な関係を示す空間関係情報を生成する。
【0083】
これにより、情報処理装置100は、画像に含まれる物体の背景と物体との空間的な関係性を適切に認識・識別することができる。
【0084】
また、関係情報生成部151は、文章を構成する形態素である文字列の間の意味的な関係を示す意味関係情報を生成する。
【0085】
これにより、情報処理装置100は、画像に含まれる物体の背景と物体との意味的な関係性を適切に認識・識別することができる。
【0086】
また、モデル生成部152は、空間関係情報に含まれる物体情報と意味関係情報に含まれる物体に関する文字列との対応関係、および、空間関係情報に含まれる背景情報と意味関係情報に含まれる背景に関する文字列との対応関係を学習することで、VSEモデルを生成する。
【0087】
これにより、情報処理装置100は、空間関係情報と意味関係情報という異なる関係情報の間の対応関係を適切に学習することができる。
【0088】
また、モデル生成部152は、空間関係情報に含まれる物体情報または背景情報である対象物情報と、対象物情報と隣接する他の対象物情報である隣接対象物情報との空間的な接続関係、および空間的な接続関係の重みを学習し、意味関係情報に含まれる文字列と、文字列と隣接する他の文字列である隣接文字列との意味的な接続関係、および意味的な接続関係の重みを学習することで、VSEモデルを生成する。
【0089】
これにより、情報処理装置100は、空間関係情報および意味関係情報それぞれの関係情報内の情報同士の関係性を適切に学習することができる。
【0090】
また、関係情報生成部151は、物体情報に対応する物体ノードと、背景情報に対応する背景ノードと、物体ノードおよび背景ノードを連結する空間エッジと、を含む視覚グラフ情報である空間関係情報、および、文字列に対応する文字列ノードと、文字列ノード同士を連結する意味エッジと、を含む文字グラフ情報である意味関係情報を生成する。モデル生成部152は、関係情報生成部151によって生成された視覚グラフ情報の特徴を示す視覚グラフ特徴量と文字グラフ情報の特徴を示す文字グラフ特徴量とを対応付けて共通空間に埋め込むように学習されたVSEモデルを生成する。
【0091】
これにより、情報処理装置100は、画像と文字という異なるモーダル間のグラフ構造の特徴を対応付けて学習することで、画像と文字という異なるモーダル間の対応関係を適切に認識・識別することができる。
【0092】
また、関係情報生成部151は、第1GCN(Graph Convolutional Networks)に視覚グラフ情報を入力して、第1GCNから視覚グラフ特徴量を出力し、第2GCNに文字グラフ情報を入力して、第2GCNから文字グラフ特徴量を出力する。モデル生成部152は、関係情報生成部151によって出力された視覚グラフ特徴量と文字グラフ特徴量を対応付けて共通空間に埋め込むようVSEモデルを学習することで、VSEモデルを生成する。
【0093】
これにより、情報処理装置100は、VSEモデルを用いることで、画像と文字という異なるモーダル間の対応関係を適切に認識・識別することができる。
【0094】
また、情報処理装置100は、受付部153と、検索部155と、抽出部156を有する。受付部153は、利用者によって入力された第1クエリ文を受け付ける。検索部155は、モデル生成部152によって生成されたVSEモデルを用いて、第1クエリ文に関する第1画像を検索する。抽出部156は、第1画像に含まれるコンセプトを抽出する。検索部155は、VSEモデルを用いて、抽出部156によって抽出されたコンセプトに基づく第2クエリ文に関する第2画像を再検索する。
【0095】
これにより、情報処理装置100は、VSEを用いることで、利用者によって入力されたクエリ文に関する画像を適切に検索することができる。また、情報処理装置100は、適切に検索された画像からコンセプトを抽出したうえで、抽出したコンセプトに基づいて画像を再検索することができる。したがって、情報処理装置100は、画像の検索精度を向上させることができる。
【0096】
また、情報処理装置100は、生成部157をさらに備える。生成部157は、抽出部156によって抽出されたコンセプトに基づいて、第2クエリ文を生成する。検索部155は、VSEモデルを用いて、生成部157によって生成された第2クエリ文に関する第2画像を再検索する。
【0097】
これにより、情報処理装置100は、適切なコンセプトに基づいて適切なクエリ文を生成することができる。例えば、情報処理装置100は、適切な検索キーワードを追加(または不適切な検索キーワードを排除)することで、検索精度を向上させることを可能にする。したがって、情報処理装置100は、適切なクエリ文に基づいて画像を再検索することができるので、画像の検索精度を向上させることができる。
【0098】
また、情報処理装置100は、検索部155による検索結果を出力する出力部140をさらに備える。出力部140は、抽出部156によって抽出されたコンセプトを出力する。受付部153は、出力部140によって出力されたコンセプトに基づく第2クエリ文を利用者から受け付ける。検索部155は、VSEモデルを用いて、受付部153によって受け付けられた第2クエリ文に関する第2画像を再検索する。
【0099】
これにより、情報処理装置100は、利用者が、適切なコンセプトに基づいて適切なクエリ文を生成するのを助けることができる。例えば、情報処理装置100は、利用者が適切な検索キーワードを追加(または不適切な検索キーワードを排除)することで、検索精度を向上させることを可能にする。したがって、情報処理装置100は、適切なクエリ文に基づいて画像を再検索することができるので、画像の検索精度を向上させることができる。
【0100】
また、情報処理装置100は、取得部154をさらに備える。取得部154は、複数の映像または複数の映像それぞれに含まれる各シーンである画像を取得する。検索部155は、取得部154によって取得された画像と受付部153によって受け付けられた第1クエリ文の組をVSEモデルに入力して、画像と第1クエリ文との第1類似度をVSEモデルから出力し、出力された第1類似度が第1閾値を超える第1画像を検索する。
【0101】
これにより、情報処理装置100は、VSEに基づく処理により、適切な画像を選択することができる。
【0102】
また、検索部155は、取得部154によって取得された画像と抽出部156によって抽出されたコンセプトに基づく第2クエリ文の組をVSEモデルに入力して、画像と第2クエリ文との第2類似度をVSEモデルから出力し、出力された第2類似度が第2閾値を超える第2画像を再検索する。
【0103】
これにより、情報処理装置100は、VSEに基づく処理とコンセプト識別器に基づく処理を回すことで、適切なコンセプトを選択することができる。例えば、情報処理装置100は、利用者が入力したクエリ文に明示されていない内容(例えば、暗示的な内容)に関するコンセプトを抽出することができる。
【0104】
また、抽出部156は、コンセプトを含む画像が入力された場合に、画像に含まれるコンセプトと画像とのコンセプト類似度を出力するよう学習された学習済みの機械学習モデルであるコンセプト識別器を用いて、第1画像から第1画像に関するコンセプトを抽出する。
【0105】
これにより、情報処理装置100は、コンセプト識別器を用いることで、適切に検索された画像から適切なコンセプトを抽出することができる。また、情報処理装置100は、適切なコンセプトを抽出したうえで、適切なコンセプトに基づいて画像を再検索することができる。したがって、情報処理装置100は、画像の検索精度を向上させることができる。
【0106】
また、抽出部156は、検索部155によって検索された第1画像をコンセプト識別器に入力して、第1画像に含まれるコンセプトと第1画像とのコンセプト類似度をコンセプト識別器から出力し、出力されたコンセプト類似度がコンセプト閾値を超えるコンセプトを抽出する。
【0107】
これにより、情報処理装置100は、適切なコンセプトを抽出することができる。
【0108】
また、抽出部156は、出力されたコンセプト類似度がコンセプト閾値を超えるコンセプトの中から、第1クエリ文に含まれないコンセプトである隠れコンセプトを抽出する。
【0109】
これにより、情報処理装置100は、利用者が入力したクエリ文に明示されていない内容(例えば、暗示的な内容)に関するコンセプトを抽出することができる。また、情報処理装置100は、利用者が入力したクエリ文に明示されていないコンセプト(例えば、暗示的なコンセプト)に基づいて画像を再検索することができる。したがって、情報処理装置100は、画像の検索精度を向上させることができる。
【0110】
また、受付部153は、利用者によって入力されたクエリ画像を受け付ける。検索部155は、VSEモデルを用いて、受付部153によって受け付けられたクエリ画像に関する文字列を検索し、検索した文字列に基づく第3クエリ文に関する第3画像を検索する。
【0111】
これにより、情報処理装置100は、利用者が入力したクエリ画像に明示されていない内容(例えば、暗示的な内容)に関するコンセプトを抽出することができる。
【0112】
また、取得部154は、複数の文章または複数の文章それぞれに含まれる各テキストである文字列を取得する。検索部155は、取得部154によって取得された文字列と受付部153によって受け付けられたクエリ画像の組をVSEモデルに入力して、文字列とクエリ画像との第3類似度をVSEモデルから出力し、出力された第3類似度が第3閾値を超える文字列を検索し、検索した文字列に基づく第3クエリ文に関する第3画像を検索する。
【0113】
これにより、情報処理装置100は、VSEに基づく処理とコンセプト識別器に基づく処理を回すことで、適切なコンセプトを選択することができる。
【0114】
また、抽出部156は、第3画像に含まれるコンセプトを抽出する。検索部155は、VSEモデルを用いて、抽出部156によって抽出されたコンセプトに基づく第4クエリ文に関する第4画像を再検索する。
【0115】
これにより、情報処理装置100は、利用者が入力したクエリ画像に明示されていない内容(例えば、暗示的な内容)に関するコンセプトを抽出することができる。また、情報処理装置100は、利用者が入力したクエリ画像に明示されていないコンセプト(例えば、暗示的なコンセプト)に基づいて画像を再検索することができる。したがって、情報処理装置100は、画像の検索精度を向上させることができる。
【0116】
〔6.ハードウェア構成〕
また、上述してきた実施形態に係る情報処理装置100は、例えば
図9に示すような構成のコンピュータ1000によって実現される。
図9は、情報処理装置100の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を備える。
【0117】
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0118】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、所定の通信網を介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを所定の通信網を介して他の機器へ送信する。
【0119】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。なお、CPU1100の代わりに、MPU(Micro Processing Unit)、また多大な計算パワーを必要とすることからGPU(Graphics Processing Unit)を用いてもよい。
【0120】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0121】
例えば、コンピュータ1000が情報処理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部150の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から所定の通信網を介してこれらのプログラムを取得してもよい。
【0122】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0123】
〔7.その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0124】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0125】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0126】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、検索部は、検索手段や検索回路に読み替えることができる。
【符号の説明】
【0127】
100 情報処理装置
110 通信部
120 記憶部
130 入力部
140 出力部
150 制御部
151 関係情報生成部
152 モデル生成部
153 受付部
154 取得部
155 検索部
156 抽出部
157 生成部