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

画像のセグメンテーションを行うには、ポリゴンツールを使用します。注釈ワークスペースでポリゴンツールが利用可能であることを確認するには、タスク作成時にタスクの種類として「オブジェクト検出」をチェックし、使用する注釈ツールのひとつとして「ポリゴン」をチェックしてください。

<figure><img src="https://725705539-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaFKXVbOeJ2H3b8HBGVBG%2Fuploads%2FGD3A0O0y3Ez1NowRmDnI%2Fimage.png?alt=media&#x26;token=ba4469ca-f776-48f6-9d0b-0ab9b81362d2" alt=""><figcaption></figcaption></figure>

### セマンティックラベリングとインスタンスラベリング

<figure><img src="https://725705539-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaFKXVbOeJ2H3b8HBGVBG%2Fuploads%2FZqNxxSjTyAQWgdEh2CbC%2Fimage.png?alt=media&#x26;token=f2f18f30-8561-4a80-9c50-b4072810f205" alt=""><figcaption></figcaption></figure>

タスクでラベルを設定する際、ラベルがセマンティック、インスタンス、またはポリゴンのどれであるかを指定できます。重なり合うポリゴンが必要で、セグメンテーションマスクでは不十分な場合にのみポリゴンを選択してください。

マスクの種類を正しく選択することは、出力マスクが正しい形式になることや、スナップや重なり合うポリゴンのマージなどの便利な機能が正しく動作することを確保するために重要です。

**スナッピング**

スナッピングとマージは、セマンティックマスクとインスタンスマスクの両方で自動的にオンになります。ただし、それぞれで動作が少し異なります。セマンティックセグメンテーションクラスでは、重なっている場合に異なるクラスのオブジェクトのみが共通の境界にスナップされます。インスタンスセグメンテーションクラスでは、同じラベルの異なるインスタンスも適切な境界になるようにすべてのオブジェクトがスナップされます。これは本質的に *既存の下に描画すること* 既存のマスクの下に描画すること。&#x20;

**マージ**

マージはセマンティックセグメンテーションクラスにのみ適用されます。同じクラスのオブジェクトは重なっている場合に自動的に1つのオブジェクトにマージされます。これは混雑を減らし注釈の管理を容易にすることを意図しています。

これらの設定は注釈ワークスペースの設定から手動でオン/オフできます。

<figure><img src="https://725705539-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaFKXVbOeJ2H3b8HBGVBG%2Fuploads%2FE9Jt9k9TI8jqGFZ8UlWP%2Fmerging_snapping_settings.png?alt=media&#x26;token=4d69a50b-d467-4e9b-9a8f-98dbe765aa4e" alt=""><figcaption></figcaption></figure>

### マスクの作成

セグメンテーションマスクの作成を開始するには、ポリゴンツールを選択し、画像上の任意の場所をクリックしてマスクにポイントを追加します。マスクが完成したら、 `N` キーを押してマスクを完成させます。&#x20;

各ポイントをクリックして配置する代わりに、 `Shift` キーを押し続けてマウスを動かすこともできます。これにより、マウスが移動した経路に沿って定期的にポイントが配置されます。

作成後、マスクをコピーして画像上の任意の場所に貼り付けることができます。画像内に非常によく似た境界を持つ複数のオブジェクトがある場合に便利です。これを行うには、まず右サイドバーのオブジェクトカードにあるコピーボタンを押してオブジェクトをコピーします。すると移動可能なマスクのアウトラインが作成されます。準備ができたら、画像内の任意の場所をクリックしてコピーしたマスクを配置します。

<figure><img src="https://725705539-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaFKXVbOeJ2H3b8HBGVBG%2Fuploads%2FluNwGPYLgouoYmGsIXP1%2FScreenshot%20from%202023-04-10%2018-02-15.png?alt=media&#x26;token=1edc174c-7e27-462c-acf8-7d20ebd33ecf" alt="Copy pasting a segmentation mask"><figcaption><p>セグメンテーションマスクのコピー＆ペースト</p></figcaption></figure>

### マスクの更新

マスクが作成されたら、複数の方法で更新できます。

1. を **既存のポイントを移動する**. マウスでポイントをドラッグするだけです。
2. を **ポイントを削除する**, ポイントを右クリックしてコンテキストメニューの「削除」をクリックします。ポイントが削除されると、その隣接するポイントが結合されて新しいパスが作成されます。
3. を **マスクの一部を更新する**
   1. を更新するには、 `Shift` キーを押し続けます。
   2. 更新したいパスの開始点をクリックします。
   3. 新しいポイントを追加します。
   4. 新しいパスを閉じてマスクを更新するには、元のマスクの任意の既存ポイントをクリックします。

<figure><img src="https://725705539-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaFKXVbOeJ2H3b8HBGVBG%2Fuploads%2F2PCUQ81WgSXZnDgzFSJr%2FScreenshot%20from%202023-04-10%2018-07-09.png?alt=media&#x26;token=55e160b0-e0de-432b-acd4-62f48a3ac4c5" alt="Editing a mask by adding a new path"><figcaption><p>新しいパスを追加してマスクを編集する</p></figcaption></figure>

### レイヤーの操作

画像内にオブジェクトが多い場合、それらが互いに重なり合うことがよくあります。自動スナップとマージでこの問題は解決されますが、同様の結果を得るためにレイヤーを使用することもできます。レイヤーは、あるオブジェクトが完全に別のオブジェクトの内部にある場合にも便利で、その場合外側のオブジェクトのポリゴンが内側の小さいオブジェクトを完全に包含します。このような状況を扱うのにレイヤーを使用することが適切な方法です。

上位レイヤーのオブジェクト（例：レイヤー1はレイヤー0より上）は下位レイヤーのオブジェクトの上に配置されます。あるオブジェクトが別のオブジェクトの上に配置されると、それは実質的に *それをマスクし、* 下位レイヤーのオブジェクトの重なっている部分を隠します。*.* デフォルトではすべてのオブジェクトはレイヤー0に描画されます。より上位または下位のレイヤーに移動するには、オブジェクトカードのラベル選択ドロップダウンの下にある2つのボタンを使用してください。

<figure><img src="https://725705539-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaFKXVbOeJ2H3b8HBGVBG%2Fuploads%2FPBBKFARVuEoC3NZna42L%2FScreenshot%20from%202023-04-10%2017-56-38.png?alt=media&#x26;token=22801e31-7237-42ac-a215-1649ae6d30c9" alt="Arranging objects in layers"><figcaption><p>レイヤーに配置されたオブジェクト</p></figcaption></figure>

いつでもセグメンテーションマスクをプレビューしたい場合は、左サイドバーのセグメンテーションサブメニューを開き、「セグメンテーションマスクを表示」をチェックしてください。

{% hint style="warning" %}
設定でスナッピングをオフにしている場合、画像内のオブジェクトは互いに重なり合うことがあります。この場合、重なり合うオブジェクトを同じレイヤーに配置しないでください。そうしないと、エクスポートされたマスクにオブジェクトの任意の順序が含まれ、一部のマスクが他のマスクの上に配置されることがあります。
{% endhint %}

### マスクのエクスポート

マスクを作成したら、さまざまな形式でエクスポートできます。

注釈をPNGマスクとしてエクスポートするには、タスクページの注釈エクスポートダイアログボックスで「セグメンテーションマスク」を選択します。ダウンロードされたファイルには、セマンティックセグメンテーションとインスタンスセグメンテーションの両方のマスクが別々のディレクトリに含まれます。マスクの処理には時間がかかることがある点にご注意ください。エクスポートの準備ができたら通知が届きます。

注釈をポリゴン形式でエクスポートしたい場合は、次のいずれかの形式を選択してください。

1. COCO
2. Datumaro
3. Pascal VOC
4. YOLO
5. Mindkosh
