ホーム » image-caption

image-caption」カテゴリーアーカイブ

TensorFlow 画像キャプション・モデル – コンピュータ・ビジョンと自然言語処理の融合

TensorFlow 画像キャプション・モデル – コンピュータ・ビジョンと自然言語処理の融合

今年 (2016) の 9 月に Google 社により、Microsoft COCO 2015 画像キャプショニング・チャレンジで優秀な成績をおさめた、画像キャプション・モデルが TensorFlow 実装のオープンソースとして公開されました。(キャプションは画像の簡単な説明文です。)

動作検証してみましたので、簡単にご報告します。自前の画像でも試してみましたが、確率つきで3つのキャプション候補が表示され、(人間が見ても)十分に理解可能な結果が得られました。

該当する Google Research Blog 記事は以下です :

Show and Tell: image captioning open sourced in TensorFlow | Google Research Blog

このブログによれば、2014 年に Google Brain チームの研究員が画像を正確に記述するキャプションの自動生成のための機械学習システムのトレーニングを実行し、システムの更なる開発によって Microsoft COCO 2015 画像キャプショニング・チャレンジ(= 正確な画像キャプション計算のベストなアルゴリズムを競うコンペティション)においてトップタイの成績をおさめるという成功に導かれたとのことです。

そして更に、その画像キャプション・モデル最新版を TensorFlow 実装のオープンソースモデルとして利用可能にするとのことで、このリリースはキャプショニング・システムのコンピュータ・ビジョン・コンポーネントへの本質的な改善を含み、オリジナル・システムに比較してより詳細で正確な記述を生成できるようです。

該当ペーパーは以下 :

Show and Tell: Lessons learned from the 2015 MSCOCO Image Captioning Challenge

abstact を簡単にまとめておくと以下のような内容で、最後にコンペと TensorFlow への言及もあります :

自動的に画像の内容を説明することは、コンピュータ・ビジョンと自然言語処理を結びつける、人口知能における基本的な問題です。このペーパーでは、深層 recurrent アーキテクチャをベースとする生成モデルを提示しますが、これはコンピュータ・ビジョンと機械翻訳における最近の進歩を結合し、画像を説明する自然言語の文群を生成するために利用可能なものです。モデルは与えられた訓練画像のターゲット説明文の尤度を最大化するようにトレーニングされます。幾つかのデータセット上での実験はモデルの正確さと画像説明から単独で学習した言語の流暢さを示します。モデルは質的にも量的にも非常に正確なことが多々あります。

それから少し違う角度からの関連記事と Google / University of Edinburgh 共著のペーパーです :

Google researchers teach AIs to see the important parts of images — and tell you about them

Discovering the physical parts of an articulated object class from multiple videos

TensorFlow “Show and Tell ” モデル

今回はオープンソース・モデルの単なる動作検証ですので特に難しい話しはありません。
例によって TensorBoard でグラフを確認しておきますと、Inception モデルと LSTM を組み合わせていますね :

im2txt_graph_all2_with_logo

トレーニング

以下は損失と Perplexity(= 言語モデルの評価尺度、複雑さを表します) のグラフです。
もう少しトレーニングした方が良さそうです :
im3txt_total_loss2-50k

im2txt_perplexity2-50k

検証結果

Microsoft COCO 2015 画像で試すのが一番精度が高いだろうと考えて、ランダムに試してみました。
最初はお皿に盛られた肉、ブロッコリそしてポテトです :

coco_val2014_000000224012

キャプション候補は以下の3つ。合っていますが、1つ目と3つ目の違いはピリオドの有無でしょうか :

Captions for image COCO_val2014_000000224012.jpg:
  0) a plate of food with meat and vegetables . (p=0.000409)
  1) a plate of food with meat and broccoli . (p=0.000255)
  2) a plate of food with meat and vegetables (p=0.000025)

次に海とサーファー。このキャプション・モデルの紹介記事では、(異なる画像ですが)良く利用される題材です :
Oregon Surfers

Captions for image COCO_val2014_000000224477.jpg:
  0) a man riding a wave on top of a surfboard . (p=0.034516)
  1) a person riding a wave on a surfboard . (p=0.007086)
  2) a man riding a wave on a surfboard in the ocean . (p=0.004863)

coco_val2014_000000224000

Captions for image COCO_val2014_000000224000.jpg:
  0) a herd of sheep grazing in a field . (p=0.000379)
  1) a herd of sheep walking down a road . (p=0.000219)
  2) a herd of sheep walking down a street . (p=0.000148)

coco_val2014_000000224051

  0) a man riding a bike down a street . (p=0.000337)
  1) a bicycle is parked on the side of the road . (p=0.000283)
  2) a bicycle is parked on the side of a road . (p=0.000143)

coco_val2014_000000224037

Captions for image COCO_val2014_000000224037.jpg:
  0) a group of boats docked in the water . (p=0.000443)
  1) a group of boats floating in the water . (p=0.000402)
  2) a group of boats docked in a harbor . (p=0.000140)

Imagenet の画像も幾つか試してみましたが、結果はあまり芳しくありませんでした。
おそらく、Imagenet の画像は粗すぎるのだと思います。
honda_jazz_7

  0) a white car parked in front of a car . (p=0.000060)
  1) a white car parked in front of a parking meter . (p=0.000031)
  2) a white car parked in front of a car (p=0.000019)

自前の画像でも幾つか試してみました :

classcat_cat

  0) a cat is sitting on the floor next to a laptop . (p=0.000014)
  1) a cat is sitting on the floor next to a computer . (p=0.000008)
  2) a cat is sitting on the floor next to a cat . (p=0.000007)

apple_persimmon

  0) a bunch of apples are sitting on a table (p=0.000065)
  1) a bunch of apples are sitting on a plate (p=0.000026)
  2) a bunch of apples are sitting on a table . (p=0.000024)
 

以上

AI導入支援 #2 ウェビナー

スモールスタートを可能としたAI導入支援   Vol.2
[無料 WEB セミナー] [詳細]
「画像認識 AI PoC スターターパック」の紹介
既に AI 技術を実ビジネスで活用し、成果を上げている日本企業も多く存在しており、競争優位なビジネスを展開しております。
しかしながら AI を導入したくとも PoC (概念実証) だけでも高額な費用がかかり取組めていない企業も少なくないようです。A I導入時には欠かせない PoC を手軽にしかも短期間で認知度を確認可能とするサービの紹介と共に、AI 技術の特性と具体的な導入プロセスに加え運用時のポイントについても解説いたします。
日時:2021年10月13日(水)
会場:WEBセミナー
共催:クラスキャット、日本FLOW(株)
後援:働き方改革推進コンソーシアム
参加費: 無料 (事前登録制)
人工知能開発支援
◆ クラスキャットは 人工知能研究開発支援 サービスを提供しています :
  • テクニカルコンサルティングサービス
  • 実証実験 (プロトタイプ構築)
  • アプリケーションへの実装
  • 人工知能研修サービス
◆ お問合せ先 ◆
(株)クラスキャット
セールス・インフォメーション
E-Mail:sales-info@classcat.com