コンピュータービジョンプロジェクトのデータラベリングを探る
コンピュータービジョンでデータラベリングが重要な理由、バウンディングボックスからキーポイントまでの主なアノテーション形式、YOLO形式で画像にラベルを付ける方法をご紹介します。
Abirami Vina9 分で読めます
人工知能(AI)は、機械に人間のような能力を持たせることを目指しており、その代表的な方法の一つが教師あり学習です。つまり、ラベル付きの例を見せてAIモデルを学習させることで、モデルはパターンから学び、タスクの実行能力を向上させます。これは、人間が経験から学ぶ方法とよく似ています。では、こうしたラベル付きの例はどのように作成されるのでしょうか。
データアノテーションとは、機械学習アルゴリズムがデータを理解できるように、データにラベルやタグを付ける作業です。コンピュータービジョンでは、画像や動画に印を付け、物体、動作、シーンを正確に認識して分類できるようにします。AIモデルの性能は学習に使うラベル付きデータの品質に大きく左右されるため、データラベリングは不可欠です。
調査によると、AIプロジェクトにかかる時間の80%超は、データの収集や集約からクリーニングとラベリングまで、データ管理に費やされています。このことから、AIモデルの開発においてデータアノテーションがいかに重要かがわかります。高品質なアノテーション付きデータを使うことで、AIモデルは顔認識や物体検出などのタスクを、実環境でもより高い精度と信頼性で実行できます。
データアノテーションが必要な理由#
データアノテーションは、コンピュータービジョンモデルの性能を左右する基盤です。ラベル付きデータは、モデルが学習して予測を行う際に使用する正解データです。正解データは、モデルが理解しようとする現実世界を表すため、重要な役割を果たします。この信頼できる基準がなければ、AIモデルは羅針盤なしで航海する船のようになってしまいます。

図1. 正解データと予測。
正確なラベル付けは、モデルが何を見ているかを理解するのに役立ち、より適切な判断につながります。データのラベル付けが不十分または一貫していないと、誤った教科書で学ぶ生徒のように、モデルは正しい予測や判断に苦労します。アノテーション付きデータを使うことで、画像や動画内のオブジェクトのインスタンスセグメンテーション、画像分類、姿勢推定などのタスクをモデルに学習させられます。
データセットのおすすめリソース#
新しいデータセットを作成して画像や動画に細かくラベルを付ける前に、プロジェクトで既存のデータセットを利用できないか確認することをおすすめします。高品質なデータセットに無料でアクセスできるオープンソースのリポジトリがいくつかあります。特に人気のあるものには、次のようなものがあります。
- ImageNet:画像分類モデルの学習によく使われます。
- COCO:物体検出、セグメンテーション、画像キャプション生成向けに設計されたデータセットです。
- PASCAL VOC:物体検出とセグメンテーションのタスクに対応しています。

図2. COCOデータセット内のデータ例。
データセットを選ぶ際は、プロジェクトとの適合性、データセットの規模や多様性、ラベルの品質などを考慮することが重要です。また、法的な問題を避けるためにデータセットのライセンス条件を確認し、データ形式がワークフローやツールに適しているかどうかも確認してください。
既存のデータセットがニーズに合わない場合は、カスタムデータセットを作成するのもよい方法です。プロジェクトの要件に応じて、ウェブカメラ、ドローン、スマートフォンなどを使って画像を収集できます。理想的なカスタムデータセットは、多様でバランスが取れており、解決しようとしている課題を正確に反映している必要があります。そのため、さまざまな照明条件や角度、環境で画像を撮影することが考えられます。
収集できる画像や動画が少ない場合は、データ拡張が有効な手法です。既存の画像に回転、反転、色調整などの変換を適用して、データセットを拡張します。データセットの規模を大きくし、モデルの堅牢性を高めて、データのばらつきに対応しやすくします。オープンソースのデータセット、カスタムデータセット、拡張データを組み合わせることで、コンピュータービジョンモデルの性能を大幅に向上させることができます。
画像アノテーション手法の種類#
画像のアノテーションを始める前に、さまざまなアノテーションの種類を把握しておくことが重要です。プロジェクトに適した手法を選ぶのに役立ちます。ここでは、主なアノテーションの種類をいくつか見ていきます。
バウンディングボックス#
バウンディングボックスは、コンピュータービジョンで最も一般的なアノテーションの種類です。画像内のオブジェクトの位置を示すために使用する長方形の枠で、各頂点の座標によって定義され、AIモデルによるオブジェクトの識別と位置特定に役立ちます。主に物体検出に使用されます。

図3. バウンディングボックスの例。
セグメンテーションマスク#
バウンディングボックスで囲むだけでは不十分で、オブジェクトをより正確に検出する必要がある場合もあります。画像内にあるオブジェクトの境界に関心がある場合は、セグメンテーションマスクを使って複雑なオブジェクトの輪郭を描けます。セグメンテーションマスクは、ピクセル単位のより詳細な表現です。
これらのマスクは、セマンティックセグメンテーションやインスタンスセグメンテーションに使用できます。セマンティックセグメンテーションでは、歩行者、車、道路、歩道など、各ピクセルが表すオブジェクトや領域に応じて、画像内のすべてのピクセルにラベルを付けます。一方、インスタンスセグメンテーションでは、さらに一歩進んで、画像内の車がすべて同じ種類であっても、それぞれの車を区別するように、個々のオブジェクトを識別して分離します。

図4. セマンティックセグメンテーション(左)とインスタンスセグメンテーションマスク(右)の例。
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インストールが完了したら、次のコマンドでツールを起動できます。
labelImgLabelImgはWindows、macOS、Linuxなど、複数のプラットフォームで動作します。インストール中に問題が発生した場合は、公式のLabelImgリポジトリで詳細な手順を確認できます。なお、LabelImgはメンテナーによってアーカイブされています。AI支援ツールを使ったブラウザベースのラベリングについては、Ultralytics Platformのアノテーションエディターをご覧ください。

図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を活用して革新的なソリューションを生み出す方法をご紹介しています。
執筆者
コメント
質問したり、結果を共有したり、ほかの人をサポートしたりできます。










