roboflowが提供するroboflow Trainを使って、YOLOv12モデルをトレーニングできます。
トレーニングを始めるには、まずroboflowでプロジェクトを作成し、データセットバージョンを生成します。
その後、データセットバージョンのダッシュボードから 「Custom Train」をクリックして、トレーニングを開始します。
トレーニングしたいモデルの種類を選択できるウィンドウが表示されます。「YOLO12」を選択します。
次に「Continue」 をクリックすると、「高速モデル:Fast」「高精度モデル:Accurate」「特大モデル:Extra Large」のいずれをトレーニングするかを選択する画面が表示されます。
まずはテスト目的であれば、「高速モデル:Fast」のトレーニングがおすすめです。
一方、精度が重要な本番環境で使用する場合は、「高精度モデル:Accurate」を選択することをおすすめします。
次に、どのトレーニングチェックポイントから開始するかを選択します。
特に理由がなければ、デフォルトの「YOLOv12 COCO チェックポイント」 から始めることをおすすめします。
すでに 以前のデータセットバージョンで YOLOv12 モデルをトレーニング済み であれば、そのモデルをチェックポイントとして使用することも可能です。これにより、さらに 高い精度 を目指せる場合があります。
「Start Training」をクリックすると、モデルのトレーニングが始まります。
あわせて、トレーニングにかかる時間の目安も表示されます。
トレーニングにかかる時間は、データセット内の画像枚数 や その他の条件 によって異なります。
YOLOv12 モデルは、「roboflow Serverless Hosted API」および、ビジョンアプリケーション構築ツール「roboflow Workflows」を利用してデプロイできます。
roboflow Workflows でデプロイする場合
roboflow Workflows では、YOLOv12 のオブジェクト検出モデルを簡単に利用できます。
始めるには、新しいワークフローを作成 するか、既存のワークフローを開き、オブジェクト検出ブロックを追加してください。
次に、YOLOv12 アーキテクチャを使用してトレーニングしたモデルを選択します。
このモデルは、あらかじめ対象のワークスペースでトレーニングしておく必要があります。
ワークフローを実行してモデルの結果を確認できます。
ワークフローでは、50種類以上のブロックが用意されており、検出結果のフィルタリングや、境界ボックスへの注釈付け、さらにSlackなどのプラットフォームやSMSへのメッセージ送信など、さまざまな機能を簡単に追加できます。
推論を使用してデプロイする
YOLOv12 モデルは、CPUデバイスとGPUデバイスの両方にデプロイできます。
特に CUDA対応GPU(NVIDIA Jetson など)を搭載したデバイスでは、GPUを利用して高速な推論が可能です。
独自のハードウェアに YOLOv12 モデルをデプロイするには、
まず Inference をインストールしてください。
pip install inference
推論は、次の 2つの方法 で実行できます。
・Dockerコンテナ内 で実行
・Python SDKを使用して実行
このガイドでは、Python SDK を使用したデプロイ方法をご紹介します。
まず、新しい Python ファイル を作成し、以下のコードを追加してください。
from inference import get_model
import supervision as sv
import cv2
# define the image url to use for inference
image_file = "YOUR_IMAGE.jpg"
image = cv2.imread(image_file)
# load a pre-trained model
model = get_model(model_id="your-model-id/version")
# run inference on our chosen image, image can be a url, a numpy array, a PIL image, etc.
results = model.infer(image)[0]
# load the results into the supervision Detections api
detections = sv.Detections.from_inference(results)
# create supervision annotators
bounding_box_annotator = sv.BoundingBoxAnnotator()
label_annotator = sv.LabelAnnotator()
# annotate the image with our inference results
annotated_image = bounding_box_annotator.annotate(
scene=image, detections=detections)
annotated_image = label_annotator.annotate(
scene=annotated_image, detections=detections)
# display the image
sv.plot_image(annotated_image)
ワークスペースでトレーニングしたカスタムモデルを使用する場合は、上記でroboflowワークスペースID、モデルID、およびAPIキーを設定します。
・
ワークスペースとモデルIDを見つける
・
APIキーを見つける
[YOUR_IMAGE.jpg]使用する画像の名前に置き換えます。
以下は、上記の監督コードを使用してプロットされたモデルの結果の例です。
モデルは、画像内の輸送コンテナ(対象オブジェクトが赤い境界ボックスで表示されます)や、トレーニング済みのその他のクラスを正常に検出できました。
また、ビデオストリームでも推論を実行可能です。
RTSPストリームやウェブカメラフィードなど、ビデオ入力に対してモデルを実行する方法については、
推論ビデオガイドをご参照ください。
サーバーレスAPIを使用してモデルをデプロイする場合は、プロジェクトの「デプロイメント」タブに移動し、「Hosted Image Inference」オプションをクリックします。
モデルを実行しているサーバーレスAPIを呼び出すためのコードを含むウィンドウが表示されます。コードは以下のようになります。
# import the inference-sdk
from inference_sdk import InferenceHTTPClient
# initialize the client
CLIENT = InferenceHTTPClient(
api_url="https://detect.roboflow.com",
api_key="API_KEY"
)
# infer on a local image
result = CLIENT.infer("YOUR_IMAGE.jpg", model_id="model-name/model-id")
YOLOv12は、独立した研究者チームによって開発された新しいYOLOモデルアーキテクチャです。2025年2月20日より、roboflowプラットフォームでYOLOv12モデルをトレーニングし、roboflow Serverless Hosted APIを使用してデプロイできます。
このガイドでは、YOLOv12モデルのデータにラベルを付ける方法、roboflowでYOLOv12モデルをトレーニングする方法、トレーニング済みのモデルをデバイスまたはクラウドにデプロイする方法について説明しました。