ワークフローを構築
ワークフローはブロックで構成されており、モデル推論の実行、ロジックの実行、外部サービスとの連携など、特定のタスクを実行します。
利用可能なブロックの一覧について詳しく知りたい場合は、 ブロックドキュメント.
概要
このガイドでは、オブジェクト検出モデルの実行、予測のカウント、モデル結果の可視化を行う4つのブロックからなるワークフローの作成方法を説明します。こちらが 最終的なワークフローテンプレート です。

ブロック接続
構築を始める前に、ブロック接続の仕組みを理解することが重要です。
ある場所にブロックを追加するには、前のブロックを入力として使用する必要があります。例えば、上記のワークフローでは、 プロパティ定義 ブロックは 物体検出 ブロックの後に配置されており、モデルブロックを入力として使用しています。 バウンディングボックス可視化 ブロックは右側にあり、 プロパティ定義 ブロックの出力は使用しませんが、モデルの出力を参照します。

上記の例のワークフローでは、4つの異なる経路があり、それぞれの分岐は実行時に並列で実行され、他の分岐ブロックを入力として依存しません。
ワークフローの構築
オブジェクト検出モデル
まず、 オブジェクト検出モデル ブロックを追加します。YOLOv8nのような公開済みの事前学習モデル( COCOで学習済み)や、ワークスペース内のファインチューニング済みモデルから選択できます。ここでは事前学習モデルを使用します。 yolov8n 人や車両を検出するモデル。

物体検出ブロックには、モデルが推論する対象を決定する必須の画像パラメータがあります。いくつかのオプションパラメータがあり、主要なものは以下で詳しく説明します:
クラスフィルター:モデルが返すクラスのリスト。注意:モデルは常に学習済みのクラスのみを返しますが、これにより不要なクラスを除外できます。
信頼度:この信頼度未満の物体は返されません。
IoU閾値:閾値が高いほど、より重複した予測が返されます。0.9は90%以下の重なりの物体が返され、0.1は10%を超える重なりの物体は含まれません。
最大検出数:モデルが返す物体の最大数
クラス非依存NMS:重なりフィルタリングが同じクラスのみ比較・除外するか、全クラスで行うか
プロパティ定義
プロパティ定義ブロックでは、画像サイズ、予測クラス、検出された物体数など、データから関連情報を抽出できます。この例では、物体検出モデルが見つけた物体の数をカウントします。
次の データ プロパティでは、モデルの予測を参照します。次に 操作で「アイテム数をカウント」を選択します。この設定で物体検出モデルによる予測数が返されます。
バウンディングボックス可視化
バウンディングボックス可視化ブロックを追加して、モデルの結果を可視化します。 画像 パラメータには入力画像を選択します。予測にはモデル結果を選択します。オプション設定プロパティでバウンディングボックスの色やサイズを変更できます。

ラベル可視化
バウンディングボックスを描画するだけでなく、予測のクラス名も表示したい場合があります。そのためには、 ラベル可視化 ブロックをバウンディングボックス可視化の後に追加します。同じ画像上にバウンディングボックスとラベルの両方を描画するには、参照入力画像として bounding_box_visualization 画像を指定し、入力画像を参照しないようにします。これでバウンディングボックスの上にラベルが描画されます。

オプションの テキスト パラメータを変更することで、表示テキストをクラス名、信頼度、クラス名+信頼度に変更できます。
変更を保存
ワークフローの作成が完了したら、「ワークフローを保存」をクリックしてください。ワークフローをデプロイしている場合、保存したワークフローはデプロイされているすべてのデバイスで実行され始めます。
ワークフローが完成したので、テストする時です。
Last updated
Was this helpful?