ヨロビジョン深圳
深セン
今すぐ参加

コンピュータビジョンプロジェクトのためのデータラベリングについて

Abirami Vina

4分で読めます

2024年9月2日

コンピュータビジョンプロジェクトに関するデータラベリングに関する詳細な解説をお読みになり、視覚データをラベリングする方法とその重要性について学んでください。

人工知能(AI)は、機械に人間のような能力を与えることに焦点を当てており、これを行う最も一般的な方法の1つは教師あり学習です。つまり、ラベル付けされた例を示すことによってAIモデルを教えることで、パターンから学習し、タスクを改善することができます。これは、人間が経験から学ぶ方法と非常によく似ています。では、これらのラベル付けされた例はどのように作成されるのでしょうか?

データアノテーションとは、機械学習アルゴリズムがデータを理解するのを助けるために、データにラベルを付けたりタグを付けたりすることです。コンピュータビジョンでは、これは画像やビデオにマークを付けて、オブジェクト、アクション、またはシーンを正確に認識および分類することを意味します。AIモデルの成功は、トレーニングに使用されるラベル付きデータの品質に大きく依存するため、データラベリングは非常に重要です。

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

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

データアノテーションは、コンピュータビジョンモデルの性能を左右する基盤となります。ラベル付けされたデータは、モデルが学習し予測を行うための正解データ(グランドトゥルース)です。正解データは、モデルが理解しようとする現実世界を表現するため、非常に重要です。この信頼できる基準がなければ、AIモデルは羅針盤なしで航海する船のようなものです。 

__wf_reserved_inherit
図1. グランドトゥルース対予測。

正確なラベリングは、これらのモデルが何を見ているかを理解するのに役立ち、より良い意思決定につながります。データに不適切なラベルが付いている場合や一貫性がない場合、モデルは正しい予測や決定を行うのに苦労します。これは、誤った教科書から学ぶ学生と同じです。アノテーションされたデータのおかげで、モデルは画像やビデオ内のオブジェクトの画像分類インスタンスセグメンテーション、およびポーズ推定などのタスクを学習できます。 

データセットに最適なリソース

新しいデータセットを作成し、画像や動画に細心の注意を払ってラベルを付ける前に、プロジェクトに既存のデータセットを使用できるかどうかを確認することをお勧めします。高品質のデータセットに無料でアクセスできる、いくつかの素晴らしいオープンソースリポジトリがあります。最も人気のあるものには、以下が含まれます。

  • ImageNet: 画像分類モデルのトレーニングによく使用されます。
  • COCO このデータセットは、物体検出、セグメンテーション、画像キャプション用に設計されています。
  • PASCAL VOC: 物体検出およびセグメンテーションタスクをサポートしています。
__wf_reserved_inherit
Fig 2. COCOデータセット内のデータの例。

データセットを選択する際には、プロジェクトへの適合性、データセットのサイズ、多様性、ラベルの品質などの要素を考慮することが重要です。また、ライセンス条項を確認して、法的な影響を回避し、データがワークフローやツールに適した形式でフォーマットされているかどうかを確認してください。

既存のデータセットがニーズに完全に適合しない場合は、カスタムデータセットを作成するのが最適なオプションです。プロジェクトの要件に応じて、Webカメラ、ドローン、スマートフォンなどのツールを使用して画像を集めることができます。理想的には、カスタムデータセットは多様でバランスが取れており、解決しようとしている問題を真に代表するものである必要があります。これは、さまざまな照明条件、さまざまな角度、および複数の環境で画像をキャプチャすることを意味する場合があります。

収集できる画像またはビデオの数が少ない場合は、データ拡張が役立つ手法です。これには、既存の画像に回転、反転、または色の調整などの変換を適用して、データセットを拡張することが含まれます。データセットのサイズが大きくなり、モデルがより堅牢になり、データのバリエーションをより適切に処理できるようになります。オープンソースのデータセット、カスタムデータセット、および拡張データを組み合わせて使用​​することで、コンピュータビジョンモデルのパフォーマンスを大幅に向上させることができます。

画像アノテーション技術の種類

画像にアノテーションを付ける前に、さまざまな種類のアノテーションに慣れておくことが重要です。これは、プロジェクトに適したものを選択するのに役立ちます。次に、主なアノテーションの種類をいくつか見ていきましょう。 

バウンディングボックス

バウンディングボックスは、コンピュータビジョンで最も一般的なアノテーションのタイプです。これらは、画像内のオブジェクトの位置をマークするために使用される長方形のボックスです。これらのボックスは、その角の座標で定義され、AIモデルがオブジェクトを識別して特定するのに役立ちます。バウンディングボックスは、主に物体検出に使用されます。

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

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

オブジェクトを検出する際、その周囲にバウンディングボックスを描画するだけでは精度が不十分な場合があります。画像内のオブジェクトの境界に関心がある場合は、セグメンテーションマスクを使用することで、複雑なオブジェクトの輪郭を抽出できます。セグメンテーションマスクは、より詳細なピクセルレベルの表現を提供します。 

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

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

3D立方体

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

__wf_reserved_inherit
Fig 5. 3D Cuboids の例。

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

もう一つの興味深いアノテーションの種類は、キーポイントです。これは、目、鼻、関節などの特定のポイントをオブジェクト上にマークするものです。ランドマークは、これらのポイントを接続して、顔や体のポーズなど、より複雑な形状の構造と動きを捉えることで、これをさらに一歩進めます。これらのタイプのアノテーションは、顔認識、モーションキャプチャ、拡張現実などのアプリケーションに使用されます。また、ジェスチャー認識やスポーツパフォーマンスの分析などのタスクにおけるAIモデルの精度を向上させます。

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

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

さまざまな種類のアノテーションについて説明したところで、一般的なツールであるLabelImgを使用して画像にアノテーションを付ける方法を理解しましょう。LabelImgは、画像の注釈付けを簡単にするオープンソースツールであり、YOLO(You Only Look Once)形式でデータセットを作成するために使用できます。これは、小規模なUltralytics YOLOv8プロジェクトに取り組む初心者にとって最適な選択肢です。

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

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

LabelImgは、Windows、macOS、Linuxを含む複数のプラットフォームで動作します。インストール中に問題が発生した場合は、公式のLabelImgリポジトリでより詳細な手順を確認できます。

__wf_reserved_inherit
図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を使用しているかを発見してください。🚀

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

未来の機械学習で、新たな一歩を踏み出しましょう。

無料ではじめる
クリップボードにコピーしました