roboflowブログ

 roboflow活用事例
RoboflowとRepl.itを使用してYOLOv8モデルをデプロイする方法
RoboflowとRepl.itを使用してYOLOv8モデルをデプロイする方法
コンピューター ビジョン モデルをブラウザーにデプロイすることには、多くの利点があります。まず、ブラウザーにデプロイすることで、デプロイ デバイスごとにコードを記述することなく、さまざまなデバイスで動作するバージョンのモデルをデプロイできます。次に、モバイル デバイスからモデルに簡単にアクセスできるため、外出先でもモデルを使用できます。

このガイドでは、Roboflow とRepl.itを使用して YOLOv8 モデルをデプロイする方法について説明します。Repl.it は、コードを記述、テスト、デプロイできるインタラクティブなプレイグラウンドです。Repl.it 上のコードの結果は、Web ブラウザーからアクセスできます。つまり、サーバーの構成を気にすることなく、モデルをライブでデプロイできます。これは、モデルをテストし、新しいアイデアについて共同作業を行う場合に特に便利な展開設定です。

それでは早速、モデルの構築とデプロイを始めましょう!
ステップ 1: モデルのデータを収集する
このガイドでは、ウェブカメラでお金を数えるアプリケーションを作成します (気軽に試してみてください! )。このアプリケーションの使用例の 1 つは、視覚障害者が持っているお金を識別できるようにすることです。

これにより、テキスト読み上げ技術と組み合わせることで、チャリティー缶への寄付から店舗での商品の購入まで、取引をより簡単に行うことができます。アプリは、保持されている金額を読み取ることができます。このガイドでは、この問題のお金を数える部分に焦点を当てます。

Roboflow チームのメンバーである Alex Hyams は、コンピューター ビジョンを使用して米国の通貨を数える際に使用するデータセットを既に作成しています。このデータセットは、110,000 を超える画像データセットのオープン リポジトリである Roboflow Universe でホストされています。そうは言っても、必要なデータセットは何でも使用できます。すでにデータがある場合は、次のセクションにスキップできます。

Roboflow アカウントをまだお持ちでない場合は、無料で作成してください。データをダウンロードし、トレーニング用にモデルを準備し、プロジェクトで使用する重みをホストするために必要です。

米国通貨データセットをダウンロードするには、Roboflow Universe のCash Counterページに移動し、[このデータセットをダウンロード] ボタンをクリックします。
RoboflowとRepl.itを使用してYOLOv8モデルをデプロイする方法
データセットのダウンロード方法を尋ねるポップアップが表示されます。このポップアップで、「COCO」形式を選択し、「zip をコンピュータにダウンロード」ボックスにチェックを入れます。次に、「続行」をクリックします。データセットの圧縮バージョンをダウンロードできるリンクが表示されます。データセットをダウンロードしたら、その内容を解凍します。
ローカル マシンでデータセットの準備ができたら、トレーニングの準備を開始できます。
ステップ 2: データを Roboflow にアップロードする
Roboflow ダッシュボードに移動し、ボタンをクリックして新しいプロジェクトを作成します。このプロジェクトを「Cash Counter」と呼びましょう。私たちのプロジェクトは通貨を識別します。これは、何を検出したいかを尋ねるフォーム フィールドに記録されます。

プロジェクトを作成すると、モデルで使用するデータをアップロードできるページが表示されます。

解凍したフォルダーを Roboflow Universe からページのアップロード フィールドにドラッグします。独自のデータがある場合は、ここにドラッグします。注釈付きデータをインポートするか ( 40 を超える注釈形式がサポートされています)、生の画像をアップロードして、Roboflow プラットフォームで注釈を付けることができます。
データをアップロードしたら、[保存して続行] をクリックして、データに注釈が付けられている場合は注釈を承認できます。注釈付きのデータがない場合は、Roboflow で効果的にデータに注釈を付ける方法に関するガイドをご覧ください。
画像をデータセットに追加した後、 train、test、validation splitを選択するよう求められます。この分割は、このプロジェクトで使用しているキャッシュ カウンター データセットに対して既に設定されています。独自のデータを使用してプロジェクトを構築している場合は、データの 80% をトレーニングに、10% を検証に、10% をテストに割り当てる必要があります。
ステップ 3: データセット バージョンを作成する
データが Roboflow にあるので、データセット バージョンを作成できます。これは、モデルをトレーニングするデータセットのスナップショットです。データセット バージョンを作成するには、Roboflow ダッシュボードのサイドバーにある [生成] をクリックします。データを前処理するためのいくつかのオプションが表示されます。
現金カウンター データセットを使用している場合は、最後までスキップして [生成] をクリックできます。これは、データセットには既に拡張が含まれており、アプリケーションにはデフォルトの前処理手順で十分であるためです。ただし、独自のデータを使用している場合は、さまざまな拡張と前処理の手順を試すことができます。解決している問題によっては、これらの手順を実行することで、モデルの精度を高めることができます。

オーグメンテーションと前処理の詳細については、主題へのガイドをご覧ください。

必要な拡張と処理手順を適用し、ページの下部にある [生成] をクリックします。Roboflow はデータをパッケージ化し、アプリケーションですぐに使用できるようにします。データセット バージョンの準備ができたら、モデルのトレーニングを開始できます。

ステップ 4: YOLOv8 モデルをトレーニングする
Roboflow チームは、YOLOv8 モデルのトレーニングに使用できるインタラクティブな Google Colab ノートブックを用意しました。このノートブックは、最後のステップで作成したデータセット バージョンをダウンロードし、YOLOv8 を使用してモデルをトレーニングします。これにより、Repl.it プロジェクトで使用するために Roboflow にアップロードできるモデルの重みが得られます。

Google Colab ノートブックを開き、YOLOv8 モデル トレーニング ガイドの手順に従ってください。API キーとプロジェクト名を要求するノートブックのセクションを、独自のプロジェクトの情報に置き換える必要があります。

プロジェクト名と API キーを見つけるには、トレーニング済みモデルのすべてのバージョンが表示されている [バージョン] ページに移動します。次に、[Custom Train&Deploy] セクションの下にある [Get Snippet] ボタンをクリックします。

提供されたコードを、API キーとプロジェクトが必要な Colab ノートブックに貼り付けます。セクションは次のようになります。

次に、モデルのトレーニングが完了するまで Colab の作業を続けます。

Colab の最後のステップでは、ウェイトを Roboflow にアップロードします。これは、次のコード行を使用して発生します。

project.version(DATASET_VERSION).deploy(model_type="yolov8", model_path=f"{HOME}/runs/detect/train/")
このコード行を実行すると、重みがアップロードされ、Roboflow によって処理されます。しばらくすると、Colab で使用するスニペットを取得したバージョン ページが更新され、アップロードした重みを使用してトレーニング済みのモデルが利用可能になったことが示されます。Roboflow ダッシュボードからすべて Web カメラ、画像、またはビデオを使用して、ブラウザーでモデルを試すことができます。

ステップ 5: Repl.it スターター プロジェクトのクローンを作成する
Roboflow でホストされている YOLOv8 モデルが動作するようになったので、Web アプリケーションでモデルの使用を開始できます。Replit で「Roboflow - Getting Started」というボイラープレート プロジェクトを作成しました。これを使用して、ブラウザでモデルのデプロイをキックスタートできます。

私たちのプロジェクトには、次のコードが含まれています。

  1. 簡単な Web ページを作成します。
  2. ページ上のキャンバスに Web カメラをストリーミングします。
  3. 提供されたモデルを使用して予測を行います。
  4. Web カメラ キャンバスにボックスを描画して、予測の場所を示します。


このコードは、tensorflow.js パッケージの拡張機能である roboflow.js を利用しています。

始めるには、まずReplitで無料のアカウントを作成してください。次に、デモ プロジェクトに移動します。デモ プロジェクトは、Microsoft COCO データセットでトレーニングされたモデルを使用するように構成されています。このモデルは、COCO データセットで注釈が付けられているさまざまな共通オブジェクトを識別します。ページの「再生」アイコンをクリックして、プロジェクトの動作を確認します。

「Fork Repl」をクリックすると、このアプリケーションを現金カウンターのテンプレートとして使用できます。これにより、編集可能な自分のアカウントの下にアプリケーションのコピーを作成できます。
デフォルトでは、このアプリケーションは COCO モデルを実行します。しかし、2 行のコードを変更するだけで、独自のモデルを実行できるようになります。

まず、Repl.it 内の「script.js」ファイルを開きます。「publishable_key」というセクションまでスクロールします。キーを Roboflow 公開 API キーに置き換えます。このキーを取得する方法については、Roboflow API キーに関するドキュメントに従ってください。

次に、「モデル」の値をモデルの名前に置き換え、「バージョン」の値をモデルのバージョン番号に置き換えます。これらの値は、Roboflow ダッシュボードの「バージョン」タブで確認できます。

これらの値を変更したら、「index.html」ファイルに移動します。ページのタイトルと説明を任意のものに置き換えます。この場合、タイトルを「現金カウンター」に置き換え、説明を「ウェブカメラを使用して米ドルを識別します」に置き換えます。

これらの変更を行いましょう。これで、モデルをテストする準備が整いました!

ページ上部の「実行」ボタンをクリックします。実験できるサンプル Web ページが表示されます。ページが最初に読み込まれると、Web ページがカメラにアクセスする許可を与えるように求められます。

前に作成した YOLOv8 ウェイトは、ウェブカメラのアクセス許可を受け入れると、Roboflow からダウンロードされます。これには数秒かかる場合があります。このリクエストを受け入れると、ウェブカメラからのフィードがウェブページに表示されます。以前に作成したコンピューター ビジョン モデルの重みがブラウザーに読み込まれます。

それでは、モデルを試してみましょう。5 ドル札をかざして、何が起こるか見てみましょう。

モデルはドル札を正しく識別しました。

10 ドル札を掲げましょう。

繰り返しますが、私たちのモデルは通貨を特定しました。素晴らしい!私たちのモデルは機能しています!モデルを共有するには、Replit の右上隅にあるモデルの名前をクリックし、プロジェクトの名前と説明を選択して、[公開] をクリックします。これにより、モデルを Replit コミュニティと共有できます。

プロジェクトの動作を表示するインタラクティブな Web ブラウザーの上にある編集ページから、モデルへのリンクをコピーできます。

このリンクは誰とでも共有できるため、プロジェクトを使用できます。ここでコンピューター ビジョンの現金計算アプリを試してください。

結論
このチュートリアルでは、Roboflow と Repl.it を使用して YOLOv8 モデルをデプロイする方法について説明しました。Roboflow Universe の公開データセットを使用して、モデルで使用するデータセット バージョンを作成しました。次に、Colab を使用して、データを使用してモデルをトレーニングしました。モデルの重みを Roboflow にアップロードし、roboflow.js を使用して、Replit を使用してブラウザーでモデルにアクセスしました。

これで、ブラウザーからアクセスできるコンピューター ビジョン モデルを構築、トレーニング、デプロイするために必要なリソースが揃いました。

アノテーション・AI学習データ(教師データ)作成・AIモデル構築ツール「roboflow」

お問い合せ

お問い合せはこちら

AI活用の機械学習を自動化するツール「roboflow」についてのご質問・ご相談はこちら

お電話でのお問い合せも受け付けています。お気軽にご相談ください。

03-5821-9761