画像キャプション・ジェネレーター

概要

このモデルは、COCO データセットに含まれる画像のコンテンツを説明するキャプションを一定の語彙を使用して生成します。このモデルは エンコーダーデコーダー の 2 つのモデルで構成されています。エンコーダー・モデルは Inception-v3 アーキテクチャーを使用した深層畳み込みネットワークであり、ImageNet-2012 データでトレーニングされています。デコーダー・モデルは、画像 エンコーダー・モデルからのエンコーディングを対象に条件付きでトレーニングされた LSTM ネットワークです。モデルに画像を入力すると、画像の内容を説明するセンテンスが画像から出力されます。

モデルのメタデータ

ドメイン アプリケーション 業種 フレームワーク トレーニング・データ 入力データの形式
視覚 画像キャプション・ジェネレーター 一般 TensorFlow COCO 画像

参考資料

ライセンス

コンポーネント ライセンス リンク
このリポジトリー Apache 2.0 LICENSE
モデルの重み MIT 事前トレーニング済み Show and Tell モデル
モデルのコード (サード・パーティー) Apache 2.0 im2txt
テスト・アセット 各種 アセットの README

このモデルのデプロイ方法

このモデルは、以下のメカニズムを使用してデプロイできます。

  • Docker Hub からデプロイする場合:
docker run -it -p 5000:5000 codait/max-image-caption-generator
  • Kubernetes 上にデプロイする場合:
kubectl apply -f https://raw.githubusercontent.com/IBM/MAX-Image-Caption-Generator/master/max-image-caption-generator.yaml

使用例

このモデルをテストまたは使用するには、以下の方法があります。

cURL を使用してモデルをテストする

モデルをデプロイしたら、コマンド・ラインからモデルをテストできます。例えばローカルで実行する場合は、以下のコマンドを使用します。

curl -F "image=@assets/surfing.jpg" -X POST http://127.0.0.1:5000/model/predict
{
  "status": "ok",
  "predictions": [
    {
      "index": "0",
      "caption": "a man riding a wave on top of a surfboard .",
      "probability": 0.038827644239537
    },
    {
      "index": "1",
      "caption": "a person riding a surf board on a wave",
      "probability": 0.017933410519265
    },
    {
      "index": "2",
      "caption": "a man riding a wave on a surfboard in the ocean .",
      "probability": 0.0056628732021868
    }
  ]
}

Node-RED フロー内でモデルをテストする

node-red-contrib-model-asset-exchange モジュールのセットアップ手順に従った後、image-caption-generator 開始フローをインポートします。

CodePen 内でモデルをテストする

CodePen 内で画像をモデルに送信する方法と結果をレンダリングする方法については、こちらを確認してください。

リンク