シーン解析システムDeepWatcher

周辺状況を視覚的に理解した上で対話するロボットを開発することを目的として、対話相手の人数、性別、持ち物、位置などを中心にした画像のキャプションを生成するシステム Deep Watcherを開発する。
実装コストおよび生成文の精度の点からShow and Tell Modelをキャプション生成モデルとして採用する。このモデルの構成を図1に示す。


キャプション生成モデルの構成

図1. キャプション生成モデルの構成


CNNによって抽出した画像特徴量および画像説明文をベクトルに変換したものからLSTMを用いて次の単語(形態素)の出現確率を計算し最大確率の語をつなげて画像のキャプションを生成する。
学習データセットは画像とその画像の日本語説明文から構成されている。画像はMPII Human Pose Dataset[3]およびMSCOCOから人物を中心としたものを人手により2000枚選択した。日本語説明文は画像1枚に対して5文を20名が人物中心となるように考案し、形態素解析により形態素ごとに分かち書きした。
学習には作成した学習データセットを使用する。CNNによって抽出した画像の特徴量と、その画像に対応する画像説明文に文開始記号および文終端記号を追加して頻度ベクトル化したデータをLSTMに入力し次の単語の出現確率を学習する。これを終端記号の出現確率まで繰り返し求める。
キャプション生成の手順を説明する。まずキャプションを生成したい画像をCNNに入力し画像特徴量を取得する。取得した画像特徴量および文の開始記号をベクトルに変換したものをLSTMに入力し次の単語の出現確率を求める。求めた出現確率が最大の単語をベクトルに変換しLSTMに入力する。これを文終端記号が出現するまで繰り返し確率が最大の単語をつなげてキャプションを生成する。
作成した学習データセットを使用して生成したキャプションの例を図に示す。このとき学習には画像1200枚分、テストに600枚分を使用した。図2にDeepWatcherでのキャプション生成結果を示す。


キャプション生成結果

図2. キャプション生成結果


比較には原田研究室で開発した類似表現検索システムGalileoを本実験用に改良したものを使用する。キャプション生成システムにより生成した文章1文に対して学習データに使用した5文との類似度を計算し5つの類似度の平均値を求めるということを5つの生成文に行い、さらにそれを100枚画像に対して行った。100枚の画像の類似度平均値を求めたところ30.59であった。また、5つの生成文の中で確率が最も高い文の類似度の平均値は48.37であった。これらから人手により作成した文には劣るが色々な視点からの説明文ということを考えると高い類似度が得られたと考えられる。
DeepWatcherによるシーン解析の様子を以下に示す。


DeepWatcher デモ