【プログラミング不要】自前の画像からデータセットを自作する

機械学習

機械学習のチュートリアルを終え、学習モデルの作成にも慣れると「自分専用の機械学習モデルを作りたい」と考える人が多いと思います。

その際に問題になるのが、教師データの準備です。
アノテーション作業自体は人間がやるしかないですが、他にも

  • 使いやすいアノテーションを知らない
  • 前後のデータ形式の変換などが面倒

など、細々したところで大変な部分が多いです。

そこで、この記事は「Robotflow」を利用して、簡単にデータセットを作成する方法について解説したいと思います。
Robotflowの使い方をマスターすれば、アノテーション作業を除けば、数分でデータセットを準備することができるようになります!

データセット作成の全体像

まずは、データセットを自作する際のワークフローを確認しましょう。

以下の画像に示したように、作業は以下の5段階に分かれています。

  1. データのアップロード(Upload)
  2. アノテーション(Annotate)
  3. データの整理・前処理(Organize)
  4. 学習(Train)
  5. デプロイ(Deploy)

Robotflowにデータをアップロードすれば、サイト上でアノテーション作業が行えます。
データに対する前処理や水増し(Data Augmentation)操作も指定できます。
あとは作ったデータセットをダウンロードして、機械学習モデルの学習を行い、サービスやアプリに実装(デプロイ)するだけです。

ちなみにRobotflowに課金を行えば、学習までサイト上で行うことが出来ます。

Robotflowでデータセット自作

ここからは、Robotflowを使って実際にデータセット作りを行います。
今回は、アノテーション作業を飛ばすため、公開されているデータセットを流用して動作を確認します。

アカウント作成

Robotflowの公式サイトに行き、右上の「Sign In」をクリックして、アカウントを作成します。

会員登録後は以下のような画面になります。
サービス規約とプライバシーポリシーに同意したら、「Continue」を押します。

次に、アカウントの種類について聞かれます。
無料で使いたい方は基本的に「Public」(作成したデータセットは全て公開されるプラン)で大丈夫です。

プロジェクトの作成

次にプロジェクトを作成します。
画面中央に表示されている「Create a Project」を押せば、まっさらなプロジェクトが作成できます。

今回は、すでにアノテーション済みのデータが用意されているサンプルデータを利用します。
画面右下の「Hard Hat Sample」をクリックします。
これは、画像中からヘルメットを認識するためのデータセットです。

次に以下のような画面が表示されています。

画面左側にある「Annotate」をクリックすれば、実際のアノテーションされた画像を一覧で確認できます。

新しいデータセットの生成

では試しに、このデータを使った新しいデータセットを生成してみましょう。

左側のメニューにある「Dataset」から元の画面に戻り、中央にある「Generate New Version」をボタンをクリックします。

データセット生成は、大きく以下の5つのステップがあります。

  1. 分類クラスの設定(Source Images)
  2. Train/Val/Testデータセットの比率(Train/Test Split)
  3. 前処理(Preprocessing)
  4. データ水増し(Augmentation)
  5. データセット生成(Generate)

今回は、試しにステップ4のデータ水増し手法を変更してみます。
それ以外は「Continue」ボタンで進んでいって大丈夫です。

ステップ4で「Add Augmentation Step」をクリックすると、「Augmentation Options」が表示され、そこから好きな手法をワンクリックで選択できます。

私の場合は「Birghtness」を選択しました。

あとはステップ5で「Generate」をクリックすれば、設定した項目でデータセットの生成が始まります。

データセットの出力

データセットの生成が終わると、生成したデータセットに好きな名前をつけて、ファイル出力します。

画面右上の「Export」を押し、出力フォーマットを選択すれば、そのままダウンロードできます!
この際、フォーマットはご自身の利用されている機械学習モデルを使えば、そのままプログラム開発に利用できます。

まとめ

相手と差別化を図るためには、機械学習モデルを変えるか、データセットを変えるかしかありません。
データセットの自作は、アイディアと少しの根気があれば、誰でも行えるので、簡単に差別化を行うことが出来ます。

今回紹介したRobotflowのようなツールを使えば、簡単にデータセット作成が行えますが、知らなければ面倒な作業を延々とやる必要があります。

このブログでは、このような便利なツールや機械学習の最新情報を扱っています。
最新記事は、ツイッターでお知らせしますので、合わせてフォローをお願いします。

コメント

タイトルとURLをコピーしました