最終更新
役に立ちましたか?
短い動画を、API から呼び出せるカスタム学習済み物体検出モデルに変換します。
このガイドでは、30秒の動画から、APIから呼び出せる学習済みの物体検出モデルまでを作成します。Roboflowが動画からフレームを取り出し、Auto Labelがバウンディングボックスを描画し、データセット上でモデルを学習します。この例ではじゃがいも検出モデルを作成しますが、任意の独自の対象に置き換えることもできます。
次の場所でサインインしてください app.roboflow.com、またはアカウントをお持ちでない場合は作成してください。「Projects」タブを開き、 プロジェクトを作成します。このガイドでは、Object DetectionプロジェクトタイプとTraditionalアノテーションツールを使用します。
データをアップロードする をプロジェクトに追加します。Roboflowは画像、動画、アノテーションファイル、PDFを受け付けます。このガイドでは30秒の動画をアップロードし、そこから1秒あたり1.4フレームを抽出して42枚の画像を得ます。まだデータがない場合は、代わりに Roboflow Universeからデータセットをインポートする こともできます。
選択して Auto Label を開き、クラス名または対象の簡単な説明を入力します(ここでは potato)。信頼度しきい値はデフォルトより少し高めに設定します。しきい値が高いほど、Auto Labelは確信のあるボックスだけを残します。いくつかのじゃがいもを見逃す可能性はありますが、レビュー時に欠けているボックスを追加するほうが、誤ったボックスを修正するより速いです。
各画像でAuto Labelの結果を確認します。ボックスが正しければ、その画像を承認します(A)。正しくない場合は、手動で、または Smart Selectを使って、ボックスを削除・修正・追加できます。Smart Selectは、対象をクリックするとボックスを自動で描画します。ここでは42枚すべての画像を確認し、すべて承認されるようにします。
承認済みの画像をデータセットに追加し、 トレーニング、検証、テストの各セットに分割します。ここでは RF-DETR (Medium)を使用します。Roboflowが構築した、高速で高精度な検出モデルだからです。次にデータセットのバージョンを作成し、学習を開始します。
モデルの学習中は、 ライブ学習グラフを確認できます。このモデルは約45分で完了し、完了するとメールが届きます。モデルを開いて、 評価指標 (mAP、precision、recall、F1)を確認します。
これでモデルを実行できます。 Workflowで使うことも、単独でデプロイすることもできます。このガイドでは、クラウドホスト型の Serverless Cloud APIを使用します。モデルのデプロイページでPythonスクリプトをコピーし、依存関係をインストールして、自分の画像の1つを指定して実行します。スクリプトはモデルの予測結果をJSONとして出力します。
バウンディングボックスを表示するには、 supervisionを使って画像上に描画します。これはRoboflowのオープンソースのアノテーションライブラリです。次のコマンドでインストールします。 pip install supervision。その後、JSONの予測結果を読み込み、それぞれのじゃがいもの周りにボックスを描画します。元のPythonスクリプトに次の行を追加してください:
detections = sv.Detections.from_inference(result)
image = cv2.imread(image_path)
image = sv.BoxAnnotator().annotate(image, detections)
cv2.imwrite("annotated.jpg", image)各ボックスは、モデルが見つけたじゃがいもを示しています:

作成する Workflow を使って、ロジック、可視化、その他のステップと連携させます。
モデルを自分のハードウェアで実行します。詳しくは Run a Model Locallyをご覧ください。必要なのはバージョンページのmodel_idです(この例では erikrf/potatoes-daysm-1-rfdetr-medium-t1).
モデルを動画ストリームで実行します。詳しくは Run a Model on a Video.
より多くの画像にラベルを付けて再学習し、精度を向上させます。詳しくは Evaluate Trained Models.
最終更新
役に立ちましたか?
役に立ちましたか?