第3回 roboflow：アノテーション（1/2）

:::note info
本記事は、システムズナカシマの[ブログ記事](https://www.systems.nakashima.co.jp/rf/roboflow/blog/)を基に作成しています。
:::

こんにちは、システムズナカシマの松浦です。

今回は、**アノテーション**の方法について説明します。

本記事をお読みになる前に、アカウントをお持ちでない方（[サインアップ](https://qiita.com/ShingoMatsuura/items/7d7a7940061f8990f50b#%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E3%81%AE%E4%BD%9C%E6%88%90)）や、ワークスペース・プロジェクトの準備がお済みでない方は以下の記事をご確認ください。

 - [第1回：ワークスペースとプロジェクトの作成（1/2)](https://qiita.com/ShingoMatsuura/items/7d7a7940061f8990f50b)、[(2/2)](https://qiita.com/ShingoMatsuura/items/407bd9122bf07fd0ac4a)
 - [第2回：データのアップロード](https://qiita.com/ShingoMatsuura/items/5443bd69f2ee51ae6b1f)


また、roboflowで何ができるか、概要を知りたい方は[「はじめてのroboflow」](https://qiita.com/ShingoMatsuura/items/c2df30e0b6109ab25c32)の記事をご参照ください。

<iframe width="560" height="315" src="https://www.youtube.com/embed/qyocKaXv12o?si=Od7s9oMswZRCPXUd" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>


## roboflowでできるアノテーションの種類
roboflowでは、現在5種類のアノテーション機能を提供しています。roboflowがあれば他のアノテーションツールを使う必要はないですね。全部できちゃいます。:wink:

| 対象モデル | 説明 | アノテーション方法 |
|:-:|:-:|:-:|
| **画像分類**  | 画像の種類を識別  | 画像に対してクラス（ラベル）を設定する  |
| **物体検出**  | 画像の中から対象物の**種類**と**位置**を識別  | 画像内の対象物を矩形選択（バウンディングボックス）し、クラス（ラベル）を設定する  |
| **セグメンテーション**  | 画像の中から対象物の**種類**と**輪郭**を識別  | 画像内の対象物の輪郭を多角形図形（ポリゴン）で選択し、クラス（ラベル）を設定する  |
| **キーポイント**  | 画像の中から対象物内の特徴点の**種類**と**位置**を識別  | 画像内の対象物の特徴点ごとにクラス（ラベル）を設定する  |
| **マルチモーダル**  | 画像の特徴から特定の**テキストを生成**  | 画像内の対象物の特徴点ごとにクラス（ラベル）を設定する  |

## アノテーション方法
それでは、アノテーション方法について説明します。
まず対象となるプロジェクトを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2882762/d4cdc7d2-a01f-15af-3faf-c947a106faa5.png)

続けて、画面左のメニュー一覧から「**Annotate**」メニューを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2882762/4ba4a8f2-c0e1-021d-8d6d-1304032e63ea.png)

アノテーション画面には、以下の4通りの区分でデータが表示されます。

- **Unassigned**：画像はアップロードされているものの**アノテーション担当が割り当てられていない**もの
- **Annotating**：アノテーション担当が割り当てられ、**アノテーション中**のもの
- **Review**：**アノテーションが完了**し、レビュワーにレビューを依頼しているもの
- **Dataset**：**レビューが完了**し、データセットとして登録されたもの

ここではアノテーションを行うので「**Annotating**」内にあるバッチ（アップロードされた単位の画像一式）を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2882762/f3d99414-0a06-9e8c-7415-b4e3f15f43aa.png)

バッチのボックス内には以下が表示されています。

 - **Approved** : レビューにて**承認**された画像数
 - **Rejected** : レビューにて**却下**された画像数
 - **Annotated** : アノテーション済みの画像数
 - **Unannotated** : アノテーションされていない画像数

アノテーションを行う画像の一覧が表示されるので画面右上にある「**Start Annotating**」ボタンを押下します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2882762/8ff7fe74-9e9a-0894-a517-1ac0e9805332.png)

## 物体検出モデル（Object Detection）用のアノテーション（バウンディングボックスの作成）

アノテーションの手順は以下となります。

> 1. ツールを「**Bounding Box Tool**」を選択
> 1. 対象となるお寿司を矩形で選択（バウンディングボックスの作成）
> 1. クラス（ラベル）を設定（※ここでは「**ok_sappa**」を選択。入力も可能です。）

![annotation_boundingbox.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2882762/1b9b31b4-e6a4-54fa-0000-beff9e62627e.gif)


## 最後に

次回は、[第3回：アノテーション（2/2）](https://qiita.com/ShingoMatsuura/items/1a078681c6e370faeeb9)でアノテーション作業を楽にする「**Label Assist**」機能など他のツール機能について説明したいと思います。
次回も楽しみにしておいてください。:wink:

システムズナカシマでは、roboflowに関する個別相談・無料デモを行っております。
是非お気軽にご相談ください。

https://www.systems.nakashima.co.jp/inquiry/roboflow/contact/