データアノテーション
データアノテーションとは? 正確なAIおよびコンピュータビジョンモデルをトレーニングするために、バウンディングボックスまたはポリゴンでデータをラベリングする方法を学びましょう。
データアノテーションとは、機械学習(ML)モデルが理解できるコンテキストを提供するために、生データにラベル付け、タグ付け、転記を行うプロセスである。
機械学習(ML)モデルが理解できるコンテキストを提供する。
このステップは
教師あり学習では基本的なステップである。
このステップは教師あり学習の基本である。注釈付きデータは
グランド・トゥルース(真実の根拠)となる。
アノテーションされたデータは、学習中にモデルが再現しようと努力する「正解」を表す、真実の根拠となる。正確なアノテーションがなければ
のような Ultralytics YOLO11のような洗練されたアーキテクチャーでさえ、効果的に機能することはできない。
というのも、モデルの性能は、本質的に学習データ
のようなモデルは有効に機能しない。
コンピュータビジョンにおけるアノテーションの役割
コンピュータ・ビジョン(CV)の分野では、データのアノテーション(注釈)は、画像やビデオ・フレーム内の特定の特徴をマークすることである。
アノテーションには、画像やビデオフレーム内の特定の特徴をマークすることが含まれます。さまざまなタスクには、それぞれ異なる
アノテーションスタイルは、それぞれ独自の詳細レベルをシステムに提供します。
-
オブジェクトの検出アノテーター
興味のあるオブジェクトの周りに2Dバウンディングボックスを描画します、
例えば車や歩行者など。これは、オブジェクトが何であり、どこに位置しているかをモデルに教えます。
-
インスタンス分割:
この手法では、オブジェクトの周囲を正確にポリゴンでトレースする必要がある。バウンディング・ボックスとは異なり、セグメンテーションはエンティティの正確な形状と輪郭をマッピングする。
これは、ロボットの把持のようなアプリケーションでは非常に重要である。
ロボットの把持のようなアプリケーションには不可欠です。
-
ポーズ推定:アノテーターは、被写体の特定の
アノテーターは、人体の関節(肘、膝、肩)など、被写体の特定の「キーポイント」をマークします。これにより
モデルは動きや姿勢をtrack ことができます。
-
オリエンテッド・バウンディング・ボックス(OBB):次のような場合に使用する。
衛星画像の船舶やベルトコンベアー上の荷物など、画像の軸と一致していないオブジェクトに使用されます。
これらのボックスは、オブジェクトの向きに合わせて回転させることができます。
-
画像の分類:最も単純なアノテーション
アノテーションの最も単純な形態で、単一のラベル(例えば、「晴れ」、「雨」)が画像全体に割り当てられる。
画像全体に割り当てる。
注釈は通常、JSONやXMLのような構造化フォーマットで保存される、
XML、または単純なテキストファイル(YOLO 形式など)で保存され、トレーニングソフトウェアによって解析される。
トレーニングソフトウェアによって解析されます。
実際のアプリケーション
データアノテーションは、生のセンサーとインテリジェントな意思決定とのギャップを埋めることで、数え切れないほどの最新技術を支えている。
意思決定
-
自律走行車:
自動運転車は、すべての車線マーカー、交通標識、障害物が注釈された膨大なデータセットに依存している。カメラやLiDARセンサーからのデータ
カメラやLiDARセンサーからのデータは、車両の知覚システムを訓練するためにラベル付けされる。
知覚システムが安全にナビゲートできるように訓練されます。このレベルの詳細情報は、堅牢な
車載ソリューションにおけるAIの開発には不可欠である。
-
医療診断医療診断
ヘルスケアにおけるAIでは、放射線技師が
MRIスキャンや
レントゲン写真に注釈を付け、腫瘍や骨折を強調します。これらの注釈付き医療画像により、モデルは高感度で潜在的な異常にフラグを立て、医師を支援することができる。
潜在的な異常を高感度でフラグ付けし、医師を支援する。
-
スマートリテール:自動レジシステムは、アノテーションを使用して商品を認識します。ラベリング
シームレスなショッピング体験が可能になります。詳しくは
小売業におけるAI
関連概念との比較
データアノテーションは、データ準備のワークフローでよく使われる他の用語と区別するのに役立つ。
-
アノテーションとデータラベリング:
これらの用語はしばしば同じ意味で使われる。しかし、「ラベリング」は単純な分類作業(カテゴリの割り当て)に関連することが多い。
一方、「アノテーション」はより複雑なメタデータの生成を意味することが多い。
アノテーション」は、ジオメトリ(ポリゴン、ボックス)の描画やビデオのタイムスタンプのマーキングなど、より複雑なメタデータの生成を意味することが多い。
-
アノテーションとデータ補強の比較:
アノテーションはデータセットの初期ラベルを作成する。データ拡張は、既存のアノテーション画像に変更を加える(反転、回転、変更)ことで、データセットを人工的に拡張する別のプロセスである。
モデルのロバスト性を向上させるために、既存のアノテーション画像を修正(反転、回転、明るさの変更など)することでデータセットを人為的に拡張するプロセス。
モデルのロバスト性を向上させる。
-
注釈 vs.能動学習:
能動的学習:能動的学習とは、モデルが最も混乱しているデータポイントを特定し、その特定の例に対してのみ人間のアノテーションを要求する戦略である。
アノテーションの予算を最適化する。
ツールとワークフロー
高品質のアノテーションを作成するには、多くの場合、専用のツールが必要です。オープンソースの
CVAT(Computer Vision Annotation Tool)や
Label Studioのようなオープンソースのオプションは、ボックスやポリゴンを描画するためのインターフェースを提供します。大規模な
Ultralytics ような統合環境に移行することもできる。
のような統合環境に移行することもできる。
データがアノテーションされると、それを使ってモデルをトレーニングすることができる。次の例は、YOLO11
モデルを学習する方法を示します。データセットはYAMLファイルで定義され、アノテーションされた画像とラベルを指しています。
from ultralytics import YOLO
# Load the YOLO11 model (nano version)
model = YOLO("yolo11n.pt")
# Train on the COCO8 dataset, which contains pre-annotated images
# The 'data' argument references a YAML file defining dataset paths and classes
results = model.train(data="coco8.yaml", epochs=5, imgsz=640)