こんにちは、システムズナカシマの松浦です。
今回は、「#1 roboflow:ワークスペースとプロジェクトの作成」の後編「プロジェクトの作成」について説明します。
前回の「#1 roboflow:ワークスペースとプロジェクトの作成」のご覧になっていない方は、まずこちらをご確認ください。
また、roboflowで何ができるか、概要を知りたい方は「はじめてのroboflow」の記事をご参照ください。
プロジェクトとは?
「プロジェクト」は、物体検出のモデル・画像分類のモデルなどAIモデル単位に作成します。
前回作成したワークスペースページは、以下のようになっていると思います。
画面右下に「Hard Hat Sample」と書かれたサンプルプロジェクトがあるので選択してみましょう。
選択するとプロジェクトの詳細ページに移動します。
このページにて以下の一通りの作業を行うことができます。
- 画像アップロード
- アノテーション
- データ増強(オーグメンテーション)
- 学習
- モデルの配置(デプロイ)
まず始めに、プロジェクト画面の各メニューについて説明します。
1. Overview(概要)
Overviewメニューでは、プロジェクトに関する概要を記入し、他のメンバーと共有することができます。
画面右上の「Edit」ボタンで概要説明の文章を編集することができます。
2. Upload(画像アップロード)
Uploadメニューは、アノテーションを行う「画像」、「動画」、「アノテーションデータ」をアップロードする際に利用します。
※アップロードの詳細手順は、別途記事を作成し説明します。
ここでのポイントは「既存アノテーションデータ」をアップロードできる点です。
既にLabelImg等を利用してアノテーションを行っている場合、そのデータをroboflowにアップロードして、データ増強(オーグメンテーション)を行うことができます。もちろん作成済みのアノテーションデータ(バウンディングボックス)は復元されます。
それぞれ対応可能なフォーマットは以下となります。
- 画像:jpg、png、bmp
- 動画:mov、mp4、avi
-
アノテーションデータ:26種類、COCO JSON、YOLO Darknet TXTなど(インポート可能フォーマットはこちら)
3. Assign(アノテーション画像の割り当て)
Assignメニューでは、アップロードした画像を誰がアノテーションするかを割り振ります。
アノテーションを行う際に効率良く画像を管理し、作業を割り振るのに大変便利です。
4. Annotate(アノテーション)
Annotateメニューでは、割り振れたアノテーション作業(ジョブ)の管理や、アノテーションが完了しデータセットとして登録されているデータの一覧を確認することができます。
アノテーション作業を開始する際は、このメニューを利用します。
下画像の「DATA SET」にある項目を選択するとアノテーション済みのデータが一覧表示されます。
5. Dataset(データセット一覧)
Datasetメニューでは、アノテーションを行った全てのデータを一覧形式で表示することができます。
画面上部の「Filename」、「Split(ANY、TRAIN、VALID、TEST)」、「Classes」を利用してデータの絞り込みを行うことができます。
6. Generate(学習用データセットの作成)
Generateメニューは、新規にデータセットを作成する際に利用します。
データセット作成時に実行する画像処理(リサイズ、モノクロ変換など)、データ増強(オーグメンテーション)の項目を選択し、新しくデータセットを作成します。
7. Versions(学習用データセットの一覧)
Versionsメニューでは、これまでに作成したデータセットの一覧が表示されます。
画像処理やデータ増強(オーグメンテーション)の内容により、モデルの精度にどういった影響がでたかを比較する際に便利です。
また、「Start Training」ボタンの押下で作成したデータセットに対してボタン一つで学習を実行することができます。
学習が完了するとメールにて通知されます。
8. Deploy(モデルの評価・検証)
Deployメニューでは、学習したモデルを利用し、実際に「推論」を検証することができます。
Webカメラの画像や、任意の画像をアップロードして推論を試すことができます。
推論した結果はブラウザ上に表示されます。
学習したモデルでどう推論できるか、簡単に試すことができます
9. Health Check(学習データ・アノテーションの詳細)
最後のメニューが、Health Checkメニューです。
Health Checkメニューでは、アップロードした画像のサイズ、クラス毎のアノテーション数、アノテーション場所のヒートマップなど学習データの状況を確認することができます。
プロジェクトの作成
では、実際にプロジェクトを作成してみましょう。
トップ画面に戻って、画面下の「Create New Project」ボタンを押下します。
はじめて利用する場合、チュートリアルの画面が表示されるので「Skip Tutorial」ボタンを押下します。
「Create Project」画面が表示されるので必要な項目を入力していきます。
今回は、画像の中から犬を検出する物体検出モデルを作る場合を例に説明します。
- Project Name:プロジェクトを識別するための「名称」を入力します。例)Dog detection(犬検出)
- Project Type:プロジェクトの「AIモデルの種類」を選択します。例)Object Detection(物体検出)
- What will your model predict?:今後、複数のプロジェクトをマージする場合に利用されます。例)Dogs
roboflowで利用できるAIモデル(Project Typeで選択できるもの)
モデル | 区分 | 説明 | 例 |
---|---|---|---|
Object Detection | 物体検出 | 画像内の対象物の種類と位置を認識する | 画像内から犬を検出 |
Single-Label Classification | シングルラベル画像分類 | 対象の画像に一つのラベルを付け識別する | 良品写真 or 不良品写真 |
Multi-Label Classification | マルチラベル画像分類 | 対象の画像に複数のラベルを付け識別する | 画像に犬と猫が写っていることを識別 |
Instance Segmentation | インスタンスセグメンテーション | 画像内に映っている対象物を種類毎に個別に認識し領域を抽出する | 自動運転などで車・人を個体毎に識別 |
Semantic Segmentation | セマンティックセグメンテーション | 画像内に映っている対象物を種類毎に認識し領域を抽出する | 自動運転などで車・人を種類毎に識別 |
入力が完了したら「Create Private Project」ボタンを押下します。
プロジェクトの作成が完了すると、Uploadメニューが表示されます。
最後に
次回の記事でアノテーションを行うための、第2回:データのアップロードについて説明したいと思います。
システムズナカシマでは、roboflowに関する個別相談・無料デモを行っております。
是非お気軽にご相談ください。