Ultralytics YOLO27: ウェイトリストに登録する
YOLOのライセンス
Ultralytics YOLO

コンピュータービジョンプロジェクトのデータラベリングを探る

コンピュータービジョンでデータラベリングが重要な理由、バウンディングボックスからキーポイントまでの主なアノテーション形式、YOLO形式で画像にラベルを付ける方法をご紹介します。

Abirami VinaAbirami Vina9 分で読めます
コンピュータービジョンプロジェクトのデータラベリング

人工知能(AI)は、機械に人間のような能力を持たせることを目指しており、その代表的な方法の一つが教師あり学習です。つまり、ラベル付きの例を見せてAIモデルを学習させることで、モデルはパターンから学び、タスクの実行能力を向上させます。これは、人間が経験から学ぶ方法とよく似ています。では、こうしたラベル付きの例はどのように作成されるのでしょうか。

データアノテーションとは、機械学習アルゴリズムがデータを理解できるように、データにラベルやタグを付ける作業です。コンピュータービジョンでは、画像や動画に印を付け、物体、動作、シーンを正確に認識して分類できるようにします。AIモデルの性能は学習に使うラベル付きデータの品質に大きく左右されるため、データラベリングは不可欠です。

調査によると、AIプロジェクトにかかる時間の80%超は、データの収集や集約からクリーニングとラベリングまで、データ管理に費やされています。このことから、AIモデルの開発においてデータアノテーションがいかに重要かがわかります。高品質なアノテーション付きデータを使うことで、AIモデルは顔認識や物体検出などのタスクを、実環境でもより高い精度と信頼性で実行できます。

データアノテーションが必要な理由#

データアノテーションは、コンピュータービジョンモデルの性能を左右する基盤です。ラベル付きデータは、モデルが学習して予測を行う際に使用する正解データです。正解データは、モデルが理解しようとする現実世界を表すため、重要な役割を果たします。この信頼できる基準がなければ、AIモデルは羅針盤なしで航海する船のようになってしまいます。

グラウンドトゥルースと予測の比較

図1. 正解データと予測。

正確なラベル付けは、モデルが何を見ているかを理解するのに役立ち、より適切な判断につながります。データのラベル付けが不十分または一貫していないと、誤った教科書で学ぶ生徒のように、モデルは正しい予測や判断に苦労します。アノテーション付きデータを使うことで、画像や動画内のオブジェクトのインスタンスセグメンテーション、画像分類、姿勢推定などのタスクをモデルに学習させられます。

データセットのおすすめリソース#

新しいデータセットを作成して画像や動画に細かくラベルを付ける前に、プロジェクトで既存のデータセットを利用できないか確認することをおすすめします。高品質なデータセットに無料でアクセスできるオープンソースのリポジトリがいくつかあります。特に人気のあるものには、次のようなものがあります。

  • ImageNet:画像分類モデルの学習によく使われます。
  • COCO:物体検出、セグメンテーション、画像キャプション生成向けに設計されたデータセットです。
  • PASCAL VOC:物体検出とセグメンテーションのタスクに対応しています。

COCOデータセット内のデータ例

図2. COCOデータセット内のデータ例。

データセットを選ぶ際は、プロジェクトとの適合性、データセットの規模や多様性、ラベルの品質などを考慮することが重要です。また、法的な問題を避けるためにデータセットのライセンス条件を確認し、データ形式がワークフローやツールに適しているかどうかも確認してください。

既存のデータセットがニーズに合わない場合は、カスタムデータセットを作成するのもよい方法です。プロジェクトの要件に応じて、ウェブカメラ、ドローン、スマートフォンなどを使って画像を収集できます。理想的なカスタムデータセットは、多様でバランスが取れており、解決しようとしている課題を正確に反映している必要があります。そのため、さまざまな照明条件や角度、環境で画像を撮影することが考えられます。

収集できる画像や動画が少ない場合は、データ拡張が有効な手法です。既存の画像に回転、反転、色調整などの変換を適用して、データセットを拡張します。データセットの規模を大きくし、モデルの堅牢性を高めて、データのばらつきに対応しやすくします。オープンソースのデータセット、カスタムデータセット、拡張データを組み合わせることで、コンピュータービジョンモデルの性能を大幅に向上させることができます。

画像アノテーション手法の種類#

画像のアノテーションを始める前に、さまざまなアノテーションの種類を把握しておくことが重要です。プロジェクトに適した手法を選ぶのに役立ちます。ここでは、主なアノテーションの種類をいくつか見ていきます。

バウンディングボックス#

バウンディングボックスは、コンピュータービジョンで最も一般的なアノテーションの種類です。画像内のオブジェクトの位置を示すために使用する長方形の枠で、各頂点の座標によって定義され、AIモデルによるオブジェクトの識別と位置特定に役立ちます。主に物体検出に使用されます。

歩行者1人と交通コーン4個を示すバウンディングボックス。各ボックスにクラス名と信頼度スコアを表示

図3. バウンディングボックスの例。

セグメンテーションマスク#

バウンディングボックスで囲むだけでは不十分で、オブジェクトをより正確に検出する必要がある場合もあります。画像内にあるオブジェクトの境界に関心がある場合は、セグメンテーションマスクを使って複雑なオブジェクトの輪郭を描けます。セグメンテーションマスクは、ピクセル単位のより詳細な表現です。

これらのマスクは、セマンティックセグメンテーションやインスタンスセグメンテーションに使用できます。セマンティックセグメンテーションでは、歩行者、車、道路、歩道など、各ピクセルが表すオブジェクトや領域に応じて、画像内のすべてのピクセルにラベルを付けます。一方、インスタンスセグメンテーションでは、さらに一歩進んで、画像内の車がすべて同じ種類であっても、それぞれの車を区別するように、個々のオブジェクトを識別して分離します。

セマンティックセグメンテーション(左)とインスタンスセグメンテーション(右)の例

図4. セマンティックセグメンテーション(左)とインスタンスセグメンテーションマスク(右)の例。

3D直方体#

3D直方体はバウンディングボックスに似ていますが、奥行き情報を加え、オブジェクトを3Dで表現します。この追加情報により、システムは3D空間におけるオブジェクトの形状、体積、位置を理解できます。3D直方体は自動運転車でよく使われ、車両からオブジェクトまでの距離を測定します。

高速道路上のトラックと乗用車を囲む3D直方体アノテーション。各車両の奥行きと体積を表現

図5. 3D直方体の例。

キーポイントとランドマーク#

もう1つ興味深いアノテーションの種類にキーポイントがあります。オブジェクト上の目、鼻、関節など、特定の点に印を付ける手法です。ランドマークはこれをさらに発展させたもので、点をつなげて、顔や身体のポーズのような複雑な形状の構造や動きを捉えます。これらのアノテーションは、顔認識、モーションキャプチャ、拡張現実などの用途に使用されます。また、ジェスチャー認識やスポーツパフォーマンスの分析などのタスクにおけるAIモデルの精度向上にも役立ちます。

陸上競技場でランナーの関節を示すポーズのキーポイントを骨格状につないだ図

図6。キーポイントの例。

LabelImgを使ったデータのアノテーション方法#

さまざまなアノテーションの種類を確認したところで、人気のツールであるLabelImgを使って画像にアノテーションを付ける方法を見てみましょう。LabelImgは画像アノテーションを簡単に行えるオープンソースツールで、YOLO(You Only Look Once)形式のデータセットを作成できます。小規模なUltralytics YOLOv8プロジェクトに取り組む初心者に適しています。

LabelImgのセットアップは簡単です。まず、コンピューターにPython 3がインストールされていることを確認してください。次に、簡単なコマンドでLabelImgをインストールできます。

pip3 install labelImg

インストールが完了したら、次のコマンドでツールを起動できます。

labelImg

LabelImgはWindows、macOS、Linuxなど、複数のプラットフォームで動作します。インストール中に問題が発生した場合は、公式のLabelImgリポジトリで詳細な手順を確認できます。なお、LabelImgはメンテナーによってアーカイブされています。AI支援ツールを使ったブラウザベースのラベリングについては、Ultralytics Platformのアノテーションエディターをご覧ください。

画像アノテーションにLabelImgを使用

図7. LabelImgを使った画像アノテーション。

ツールを起動したら、次の簡単な手順に従って画像のラベリングを始めてください。

  • クラスを設定する:まず、「predefined_classes.txt」という名前のファイルに、アノテーションを付けるクラス(カテゴリ)の一覧を定義します。このファイルによって、画像内でどの物体にラベルを付けるのかをソフトウェアに知らせます。
  • YOLO形式に切り替える: LabelImgはデフォルトでPASCAL VOC形式を使用しますが、YOLOを使用する場合は形式を切り替える必要があります。ツールバーの「PascalVOC」ボタンをクリックするだけで、YOLOに切り替えられます。
  • アノテーションを開始する: 「Open」または「OpenDIR」オプションを使用して画像を読み込みます。次に、アノテーションするオブジェクトの周囲にバウンディングボックスを描画し、正しいクラスラベルを割り当てます。各画像のラベル付けが終わったら、作業内容を保存します。LabelImgは画像と同じ名前のテキストファイルを作成し、YOLO形式のアノテーションを保存します。
  • 保存して確認する: アノテーションはYOLO形式の.txtファイルに保存されます。また、ソフトウェアはすべてのクラス名を一覧にした「classes.txt」ファイルも保存します。

効率的なデータラベリング戦略#

データのラベリングをスムーズに進めるには、いくつかの重要な方針を押さえておく必要があります。たとえば、明確なアノテーションガイドラインが不可欠です。ガイドラインがないと、アノテーターによってタスクの解釈が異なる場合があります。

画像内の鳥にバウンディングボックスでアノテーションを付けるタスクを考えてみましょう。あるアノテーターは鳥全体にラベルを付ける一方で、別のアノテーターは頭や翼だけにラベルを付けるかもしれません。このような不一致は、学習中にモデルを混乱させる可能性があります。「翼と尾を含む鳥全体にラベルを付ける」などの明確な定義に加え、難しいケースの例や手順を示すことで、データに正確かつ一貫したタグを付けられます。

高い水準を維持するには、定期的な品質チェックも重要です。基準を設定し、具体的な指標を使って作業を確認することで、データの正確性を保ち、継続的なフィードバックを通じてプロセスを改善できます。

データラベリングの概要#

データアノテーションはシンプルな概念ですが、コンピュータービジョンモデルに大きな影響を与えることがあります。LabelImgなどのツールを使って画像にアノテーションを付ける場合も、オープンソースデータセットでモデルを学習させる場合も、データラベリングへの理解が重要です。データラベリング戦略はプロセス全体の効率化に役立ちます。アノテーションの方法を見直すことで、より優れた信頼性の高いAIの成果につながります。

スキルをさらに磨き、探求を続けましょう。コミュニティに参加して、AIについて学び続けてください。GitHubリポジトリもぜひご覧ください。製造業や医療などの業界で、AIを活用して革新的なソリューションを生み出す方法をご紹介しています。

執筆者

Abirami Vina
Abirami Vina

コンテンツクリエイター · Ultralytics

コンピュータービジョンエンジニアとしてキャリアをスタートさせたAbirami Vinaは、ビジョンAIと機械学習の強固な基盤を築きました。Ultralyticsのコンテンツクリエイターであり、Scribe of AIの創設者兼チーフライターとして、AIに特化した企業向けの高品質な技術コンテンツを制作しています。AIを理解しやすく魅力的なものにするという情熱に基づき、最先端のテクノロジーと実社会への影響をつなぐ仕事に取り組んでいます。

コメント

質問したり、結果を共有したり、ほかの人をサポートしたりできます。

ソリューションを見る

スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、自然保護、地理空間分析に活用できます。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOを活用して航空宇宙分野でコンピュータビジョンを導入し、航空機検査、滑走路上のFOD検出、空港の地上業務、複合材の欠陥検出に活用できます。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る

AIの未来を一緒に築きましょう!

機械学習の未来に向けた歩みを始めましょう