画像セグメンテーション・ツール

概要

このモデルは画像ファイルを入力として取り、入力画像の各ピクセルに予測されるクラスを含むセグメンテーション・マップを 返します。

モデルのリポジトリーには、PASCAL VOC 2012 でトレーニングされた 2 つのモデルが格納されています。一方のモデルは xception アーキテクチャーを使用してトレーニングされており、 非常に正確な結果を出しますが、実行が完了するまでに数秒かかります。もう一方のモデルは MobileNetV2 でトレーニングされていて 高速ですが、精度に劣ります。Docker イメージの起動時に、どちらのモデルを使用するか指定できます。詳細については以下を 参照してください。

セグメンテーション・マップには、入力画像内のピクセルごとに 0 から 20 までの整数が返されます。この数値は、所定のいずれかのラベルに 対応しています。最初のネストされた配列は、画像内の先頭行のピクセルに対応し、その配列の最初の要素は 画像の左上隅のピクセルに対応します。注: 画像のサイズは変更されます。 セグメンテーション・マップで参照しているのは、サイズが変更された後の画像であり、元の入力画像ではありません。

モデルのメタデータ

ドメイン アプリケーション 業種 フレームワーク トレーニング・データ 入力データの形式
画像および動画 セマンティック画像セグメンテーション マルチ Tensorflow VOC2012 ~10k 画像 画像ファイル

参考資料

ライセンス

コンポーネント ライセンス リンク
モデルの GitHub リポジトリー Apache 2.0 LICENSE
モデルのコード (サード・パーティー) Apache 2.0 TensorFlow モデルのリポジトリー
モデルの重み Apache 2.0 TensorFlow モデルのリポジトリー
テスト・アセット Apache 2.0 サンプルの README

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

  • Docker Hub からデプロイする場合:

    docker run -it -p 5000:5000 codait/max-image-segmenter
    
  • Red Hat OpenShift からデプロイする場合:

    Follow the instructions for the OpenShift web console or the OpenShift Container Platform CLI in this tutorial and specify codait/max-image-segmenter as the image name.

  • Kuberneters 上にデプロイする場合:

    kubectl apply -f https://raw.githubusercontent.com/IBM/MAX-Image-Segmenter/master/max-image-segmenter.yaml
    
  • ローカルにデプロイする場合: GitHub 上のモデルの README に記載されている手順に従います。

使用例

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

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

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

curl -F "image=@samples/stc.jpg" -XPOST http://localhost:5000/model/predict
{
  "status": "ok",
  "image_size": [
    256,
    128
  ],
  "seg_map": [
    [
      0,
      0,
      0,
      ...,
      15,
      15,
      15,
      ...,
      0,
      0,
      0
    ],
    ...,
    [
      0,
      0,
      0,
      ...,
      15,
      15,
      15,
      ...,
      0,
      0,
      0
    ]
  ]
}

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

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

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

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

リンク