オントロジーとは
データアノテーションの文脈では、オントロジー(またはラベルタクソノミー)は、アノテーターがデータにラベルを付けるために使用するクラス、属性、関係の完全なスキーマです。以下を定義します:- 何をラベル付けするか(オブジェクトクラス)
- どのように説明するか(属性とプロパティ)
- クラス間の関係(階層とグルーピング)
オブジェクトクラス
オブジェクトクラスは、タクソノミーの基本的な構成要素です。各クラスは、アノテーターがデータ内で識別しラベル付けするオブジェクトのカテゴリを表します。クラスの定義
Avala でプロジェクトを作成する際、ラベル設定をクラスのリストとして定義します:クラス名のベストプラクティス
| プラクティス | 例 | 理由 |
|---|---|---|
| 小文字で具体的な名前を使用 | sedan, pickup_truck | 曖昧さを軽減 |
| 重複する定義を避ける | car と vehicle を同じレベルに置かない | アノテーターの混乱を防止 |
| 区切り文字を統一 | traffic_light(traffic-light や trafficLight ではなく) | トレーニングパイプラインでの一貫した解析 |
| 必要な場合のみネガティブ/背景クラスを含める | unknown, ignore_region | 一部のモデルは明示的な背景ラベルを必要とします |
属性
属性は、オブジェクトクラス以外の構造化されたメタデータを各アノテーションに追加します。可視性、ポーズ、状態などのプロパティをアノテーターが記述できるようにします。属性タイプ
Avala は、任意のオブジェクトクラスに付加できるいくつかの属性タイプをサポートしています:| タイプ | 説明 | 使用場面 | 例 |
|---|---|---|---|
| ドロップダウン | 事前定義リストからの単一選択 | 相互排他的なオプション | オクルージョン: none, partial, heavy |
| チェックボックス | ブーリアントグル | シンプルな yes/no フラグ | is_parked: true/false |
| テキスト | 自由形式の文字列入力 | 一意の識別子や説明 | ナンバープレート番号 |
| 数値 | 数値 | 測定値やカウント | 推定距離(メートル) |
| マルチセレクト | リストからの複数選択 | 同時発生する非排他的な状態 | 可視: headlights, taillights, turn_signal |
属性の設定
属性は、プロジェクトの分類設定でラベル設定と共に定義されます:条件付き属性
applies_to フィールドを使用して、関連するクラスにのみ属性を表示します。これにより、アノテーターのインターフェースがすっきりします — pedestrian には is_parked 属性は不要で、traffic_light には truncation は不要です。
階層的タクソノミー
複雑なドメインでは、フラットなクラスリストは扱いにくくなります。階層的タクソノミーは、関連するクラスを親カテゴリの下にグループ化します。例:車両タクソノミー
階層を使用するタイミング
| シナリオ | 推奨 |
|---|---|
| 15クラス未満 | フラットリストの方がシンプルで高速 |
| 15〜50クラス | 3〜5のトップレベルカテゴリにグループ化 |
| 50クラス以上 | 検索機能付きのマルチレベル階層を使用 |
| クラスが属性を共有 | 属性が継承されるよう親の下にグループ化 |
階層の設計
- 広くから始めて、次に細分化する。 トップレベルカテゴリ(
vehicle、pedestrian、infrastructure)から始め、モデルが必要とする場合にのみ具体性を追加します。 - すべてのリーフクラスは曖昧でないこと。 アノテーターが2つのサブクラスを確実に区別できない場合は、統合してください。
- 深さと幅のバランスを取る。 深い階層(4レベル以上)はアノテーターの作業を遅くします。2〜3レベルの広いツリーを推奨します。
シングルラベル vs マルチラベル分類
Avala は、プロジェクトのニーズに応じて両方の分類モードをサポートしています。シングルラベル
各オブジェクトまたはシーンは正確に 1つのクラスラベルを受け取ります。これはほとんどのアノテーションタイプのデフォルトです。- 物体検出:各バウンディングボックスに 1つのクラス
- シーン分類:各画像に 1つのカテゴリ
マルチラベル
オブジェクトまたはシーンは同時に複数のラベルを受け取ることができます。カテゴリが相互排他的でない場合に使用します。- 画像は
rainyとnighttimeの両方になれます - 車両は
damagedとparkedの両方になれます
オントロジー設計チェックリスト
アノテーションプロジェクトを開始する前に、このチェックリストでオントロジーを検証してください:| 確認項目 | 質問 |
|---|---|
| 完全性 | モデルが検出する必要があるすべてのオブジェクトにクラスがありますか? |
| 相互排他性 | アノテーターは曖昧さなく常に正確に 1つのクラスを割り当てることができますか? |
| 属性カバレッジ | トレーニングに必要なすべてのプロパティが属性としてキャプチャされていますか? |
| 一貫した粒度 | 同じレベルのクラスは同程度の具体性ですか? |
| アノテーターの明確性 | 新しいアノテーターは名前だけから各クラスを理解できますか? |
| モデルとの整合性 | タクソノミーはモデルアーキテクチャが期待するものと一致していますか? |
| 拡張性 | 再構築せずに後から新しいクラスを追加できますか? |
よくある落とし穴
クラスの過度な細分化
細かすぎるクラスを多く作成すると、アノテーター間の一致度が低下し、クラスあたりのトレーニングデータが少なくなります。 問題: 50種類の車両サブクラスがあり、ほとんどが各 100 サンプル未満。 解決策: 5〜10の広いクラスから始めてください。十分なデータがあり、モデルがその区別から恩恵を受ける場合にのみサブクラスを追加してください。曖昧な境界
2つのクラスが概念的に重複すると、アノテーターはどちらを使うかで意見が分かれます。 問題:van と minivan の両方が存在するが、アノテーターが確実に区別できない。
解決策: 単一のクラスに統合するか、境界を示す参照画像付きの明確な視覚的ガイドラインを提供してください。
エッジケースの欠落
実世界のデータには、タクソノミーにきれいに収まらないオブジェクトが含まれます。 問題: アノテーターがゴルフカートに遭遇するが、タクソノミーにはcar、truck、motorcycle しかない。
解決策: other_vehicle のようなキャッチオールクラスを含め、それでラベル付けされたアイテムを定期的にレビューして、追加が必要なクラスを特定してください。
次のステップ
基本コンセプト
Avala プラットフォームの基本的な構成要素を確認できます。
品質管理
アノテーション品質を検証するためのレビューワークフローを設定できます。
アノテーションタイプ
バウンディングボックス、ポリゴン、キュボイドなどの JSON フォーマットを確認できます。
最初のデータセット
データをアップロードして最初のアノテーションプロジェクトを作成できます。