1. 定義と概要
Image Captioning(画像キャプション生成)とは、1枚の画像を入力として受け取り、その内容を説明する自然言語の文章(キャプション)を自動で生成するタスクです。画像キャプショニングとも呼ばれます。たとえば、公園でボールを追いかける犬が写った画像を入力すると、「犬が公園でボールを追いかけている」といった一文を生成します。
画像(視覚データ)を、言語という異なる種類のデータ(モダリティ。画像・テキスト・音声のような、データの種類のこと)に変換する点が特徴です。画像とテキストを組み合わせて扱うマルチモーダルAIの代表的な応用の一つに位置づけられます。
従来の画像認識は、写っているものを1つまたは複数のラベル(名前)で分類する画像分類(画像に写っているものを1つまたは複数のラベルで分類するタスク)が中心でした。「何が写っているか」を単語で答える範囲にとどまっていた、というのがその状況です。
転機になったのは、画像から特徴を自動的に抽出するCNN(畳み込みニューラルネットワーク。画像から特徴を自動的に抽出するニューラルネットワーク)の精度向上です。あわせて、順序をもつデータの扱いに適したRNN(文章のように順序に意味があるデータを扱うニューラルネットワーク)や、その発展形であるLSTM(長期の情報も保持できるように工夫されたRNNの一種)による文生成の技術も進んでいます。画像を読み取る側と文章を組み立てる側が、それぞれ別々に力をつけていった流れです。
こうした技術の進展を背景に、2014年前後にGoogleのVinyals氏らが画像から文章を生成する研究を発表し、このタスクが形になりました。代表的な研究の流れは、次の節であらためて整理します。
2. 試験対策ポイント
まず整理しておきたいのは、画像キャプション生成の基本構成です。CNNで画像から特徴を取り出すエンコーダ(入力を読み取って内部表現に変換する側の部分)と、その特徴をもとに文を生成するデコーダ(内部表現をもとに出力を生成する側の部分)を組み合わせたエンコーダ-デコーダ構成が土台になります。
デコーダにはRNNやLSTMが使われ、単語を1つずつつないで文を組み立てます。Seq2Seq(入力の系列を受け取って、長さの異なる系列を出力する変換の枠組み)と同じ発想を、入力が画像の場合に広げた形です。エンコーダ-デコーダそのものの内部の仕組みや学習のさせ方は、ここでは立ち入らず別のテーマとして扱われます。
ポイントになるのは、画像(視覚データ)から言語(テキストデータ)へ、異なる種類のデータ(モダリティ)をまたいで変換する点です。マルチモーダルAIの応用タスクとしては、画像に関する質問に文章で答えるVisual Question Answering(VQA)が挙げられます。Text-to-Image(テキストの説明文から画像を生成するタスク)と並ぶ代表例の一つという位置づけで、あわせて見ておきたいところです。
研究の発展としては、「Show and Tell」でCNN・RNN(LSTM)による基本形が示されました。続く「Show, Attend and Tell」で導入されたのが、Attention機構(出力の各時点で入力のどこに注目するかを重みとして学習する仕組み)です。これにより、画像のどの領域を見て単語を選んだかに応じた文生成が可能になりました。この順序は押さえておきたいところです。
代表的な2つの研究の対応関係を並べると、次のように整理できます。
| 研究 | 構成の中心 | 位置づけ |
|---|---|---|
| 「Show and Tell」 | CNNのエンコーダと、RNN・LSTMのデコーダ | 画像キャプション生成の基本形を示した |
| 「Show, Attend and Tell」 | 基本形にAttention機構を追加 | 画像のどの領域を見て単語を選んだかに応じた文生成を可能にした |
Attention機構の仕組み自体は、別記事で扱う領域です。実務での広がりとしては、視覚に障害のある人への画像内容の説明、キャプション文をテキスト情報として活用する画像検索、大量の画像に自動でタグや説明文を付けるコンテンツ管理という3つの活用領域が柱になります。
3. 関連概念との比較・相違点
画像分類との最大の違いは、ラベル(カテゴリ名)を1つまたは複数返すか、文章を生成するかという点にあります。画像分類は「何が写っているか」を単語で答えるのに対し、画像キャプション生成は「何がどうしているか」を自然な文章で説明する点が分かれ目です。前者が名詞1つで済むのに対し、後者は主語・動作・場所といった要素を組み立てて一文にする必要があり、扱う情報量にも差が出ます。
Text-to-Imageタスクとの最大の違いは、変換の向きです。画像キャプション生成は画像から言語への変換であるのに対し、Text-to-Imageタスクは言語から画像への変換で、互いに逆方向のタスクという関係にあります。
入力と出力が入れ替わっているだけに見えますが、画像キャプション生成は画像の内容を過不足なく言い当てる精度が重視され、Text-to-Imageタスクは指示された内容をどれだけ自然な画像として描けるかが重視される点が違いです。
3つのタスクを入力と出力の組み合わせで並べると、関係がはっきりします。
| タスク | 入力 | 出力 |
|---|---|---|
| 画像分類 | 画像 | 1つまたは複数のラベル(カテゴリ名) |
| 画像キャプション生成 | 画像 | 内容を説明する自然言語の文章 |
| Text-to-Imageタスク | テキストの説明文 | その内容を表した画像 |
入口と出口のどちらが画像でどちらが言語かを確かめる読み方をすると、名前の似た3つのタスクは取り違えにくくなります。
4. ビジネス・実務での活用シナリオ
視覚障害者支援の分野では、スマートフォンのカメラで撮影した画像の内容を音声で読み上げるアプリなどに画像キャプション生成が使われています。周囲の様子を自分の目で確かめられない状況では、状況を言葉に変換して伝える技術が欠かせず、画像キャプション生成は支援技術の土台の一つになっています。
画像検索・コンテンツ管理の分野では、大量の画像に自動でキャプションを付与し、テキスト情報としてインデックス化する取り組みが代表的です。画像そのものは検索エンジンにとって扱いにくいデータですが、キャプションという言葉に変換しておくことで、キーワードでの検索性が高まり、画像アーカイブの整理にかかる手間も抑えられます。
EC・メディアの分野では、商品画像やニュース画像に説明文を自動生成し、altテキスト(画像の内容を説明するテキスト情報。代替テキスト)としてサイトに付与する動きがあります。画像を目で確認できない利用者への配慮というアクセシビリティの側面と、検索エンジンが画像の内容を把握しやすくなるSEO対策の側面の両方を、1つの技術でまとめて満たせる点が特徴です。
5. 要点まとめ
- 画像キャプション生成は、画像を入力としてその内容を説明する文章を自動生成するタスクで、CNNで特徴を抽出しRNNやLSTMで文を生成するエンコーダ-デコーダ構成が代表的です。
- 画像分類はラベルを返すのに対し文を生成する点、Text-to-Imageタスクとは変換の向きが逆という点が、関連タスクとの分岐点になります。
- 「Show and Tell」でCNN+RNN(LSTM)の基本形が示され、「Show, Attend and Tell」でAttention機構が導入されるという流れがあり、視覚障害者支援や画像検索など実務での活用が広がっています。
6. 確認問題
問1画像キャプション生成とは、画像を入力として、その内容を説明する文章を自動生成するタスクである。
解答・解説をみる
○ 正しい
画像という視覚データから、それを説明する自然言語の文章を生成するタスクを指します。CNNとRNN・LSTMを組み合わせたエンコーダ-デコーダ構成が代表的な実現方法です。
問2画像キャプション生成では、CNNで画像から特徴を抽出するエンコーダと、その特徴をもとに文を生成するRNNやLSTMのデコーダを組み合わせた構成が代表的である。
解答・解説をみる
○ 正しい
CNNを画像のエンコーダ、RNN(LSTM)を文生成のデコーダとする組み合わせは、「Show and Tell」などの研究で示された代表的な構成です。エンコーダ-デコーダそれぞれの内部の仕組みには、ここでは立ち入りません。
問3画像キャプション生成は画像分類と同じく、入力画像に対して1つのラベル(カテゴリ名)を出力するタスクである。
解答・解説をみる
× 誤り
正しくは、画像キャプション生成は1つのラベルではなく、画像の内容を説明する文章を生成するタスクです。ラベルを1つ返すのは画像分類の側の特徴で、両者は取り違えやすい組み合わせです。

