For the complete documentation index, see llms.txt. This page is also available as Markdown.

2 つのモデルを比較

同じ画像に対して 2 つのインスタンスセグメンテーションモデルを 1 つの Workflow で実行し、予測の違いを可視化します。

このチュートリアルでは、 Workflows を使って、同じ画像上で2つの異なるインスタンスセグメンテーションモデルを実行し、それらの予測を定性的に比較します。

このガイドでは、COCOデータセットの80クラスで事前学習されたYOLOモデルを使用しますが、Workflowsは、特定のドメインに属する注目対象でカスタム学習した微調整済みモデルと組み合わせると、さらに強力になります。

難易度: 簡単 完了時間: 5分

前提条件

このチュートリアルに必要なのは 無料のRoboflowアカウント だけで、セットアップ不要のServerless Cloud API上で実行できます。これは始めるのに最も簡単な方法で、後からWorkflowsをセルフホスト環境へ移行することもできます。

また、プラットフォームUIの左上にある「Running on」セレクタをクリックし、 localhost またはサーバーのIPアドレスを指定することで、クラウドプラットフォームからローカルで動作しているInference Serverにも接続できます。

アカウントを作成したら、 新しい(空の)Workflowを作成し、以下へ進んでください。

Detachedモードでは、RoboflowアカウントやAPIキーを使わずに、Inference ServerとWorkflow Builder UIの両方をローカルで実行します。Detachedモードでは、リモートデプロイ、監視、クラウドのモデルハブやデータセット管理プラットフォームとの統合のようなクラウド接続機能は利用できず、独自のアクセス制御を実装する責任があります。

Roboflowアカウントなしで自分のマシン上で実行するには、 セルフホストのインストール手順 に従い、開発モードでInference Serverを起動してください( inference server start --dev).

その後、ローカルのWorkflows builderに移動し、 localhost:9001/build 紫色の「Create a Workflow」ボタンを使って空のWorkflowを作成します。表示されたら、「Build My Own」を選択してください。

これで空のWorkflowができたはずなので、ビルドを始める準備が整いました。

空のWorkflow

Workflowの名前を変更する

Workflowには、見分けやすいように説明的な名前を付けるのがベストプラクティスです。左上のエディターUIにある「Edit」アイコンをクリックし、名前とエンドポイントURLを更新してください。この識別子が、後でAPI経由でこのWorkflowを参照するときに使うものです。

Workflowの名前を変更する

最初のモデルを追加する

このWorkflowには、2つのインスタンスセグメンテーションモデルを追加します。セグメンテーションモデルは、画像内の注目対象を見つけ、その輪郭を予測します。対象のサイズを測定したり、背景から切り出したりする必要があるユースケースに最適です。

「Add Block」ボタンをクリックして「Models」を選び、タスクタイプとして「Instance Segmentation」を選択します。

最初のモデルを追加

事前学習済みのYOLOv8 Segmentationモデルを使用します。すでにRoboflowでモデルを学習済みの場合は、代わりに微調整済みモデルの1つや、Roboflow Universeで他のユーザーが共有しているモデルIDを選ぶこともできます。これらのモデルが識別する一般的な80クラスの物体の代わりに、目的の対象を予測するモデルです。

YOLOv8 Segmentationを選択

2つ目のモデルを追加する

次に、最初のモデルの横に2つ目のモデルを追加して、実行フローを分岐させます。Workflowsは可能な場合、実行を自動的に並列化して高速化します。これを行うには、最初のモデルブロックの横にある「Fork」ボタンをクリックします。

分岐ブランチ

次に、2つ目のInstance Segmentation Modelブロックを追加するように選択します。

2つ目のモデルを追加

そして、YOLOv11 Segmentationモデルを実行するように設定します。

YOLOv11 Segmentationを選択

モデル比較

次に、Model Comparison Visualizationブロックを追加します。これは2つの異なるモデルの予測を受け取り、それらの差分を可視化します。

追加した2つのモデルブロックのどちらかの出力にある「+」ボタンをクリックします。

可視化を追加

次に、Model Comparison Visualizationブロックを選択します。

Model Comparison Visualizationを選択

次に、2つ目の入力を2つ目のモデルが出力した予測に接続する必要があります。これはブロック設定のサイドバーで行います。ここでは、色や不透明度などの追加設定も変更できます。

追加入力を接続する

出力をカスタマイズする

インスタンスセグメンテーションモデルは、検出した物体の複雑な形状を表すために多くのデータを返します。測定のような下流タスクには便利ですが、このチュートリアルでは可視化だけが重要なので、レスポンスを簡潔にするために追加の出力を削除できます。

不要な出力を削除するには、「Outputs」ブロックをクリックし、2つのモデルブロックから来る予測に対してゴミ箱アイコンを使用します。

不要な出力を削除する

これで出力は1つだけになります。つまり、Model Comparison Visualizationブロックから出てくる画像です。

整理された出力

結果をテストする

これでWorkflowをテストする準備ができました。Builder UIの右上にある「Test Workflow」をクリックし、画像を追加して「Run」をクリックします。

Workflowをテスト

生成される可視化は、2つのモデルの予測の比較を示します。暗い領域はどちらのモデルにも予測されておらず、明るい領域は両方のモデルに予測され、緑の領域はModel A(YOLOv8)だけに予測され、赤の領域はModel B(YOLOv11)だけに予測されます。

これから、この画像ではYOLOv11のほうがYOLOv8より優れていることが分かります。YOLOv8が見逃した2人を識別し、人の足や脚をより正確に捉え、プレイヤーの輪郭において背景部分を誤って予測することもありません。

最終出力

次のステップ

このチュートリアルでは、Workflowの設定方法、複数モデルの並列実行、カスタマイズされた入力を使ったブロック設定について学びました。このWorkflowを使って、他の事前学習済みモデルを評価したり、自分のモデルの性能を反復的に改善したり、初期ベースラインと比較しながら結果を時系列で可視化したりできます。

次に、 モデル自体を変更せずに、 小さな物体に対するモデルの性能を向上させる方法を学びましょう。

最終更新

役に立ちましたか?