アノテーション精度向上施策

“`html アノテーション精度向上施策

アノテーション精度向上施策

本資料では、YOLO系物体認識を用いて小物体・微細対象を高精度に認識させることを目的として、 入力画像、アノテーション、タイル分割、学習時および推論時の画像解像度について整理する。

結論:
小物体認識では、元画像の解像度だけでなく、 YOLOへ入力された時点で対象物が何ピクセル残っているかが重要である。 そのため、アノテーション作成時から高解像度原画像を維持し、 学習時・推論時ともに同等条件のタイル分割を行うことが望ましい。

1. 小物体認識における基本的な考え方

高解像度画像を使用していても、YOLO入力時に画像全体を低解像度へ縮小すると、 小物体の画素情報が失われる。

例えば、3840×2160ピクセルの画像上に幅20ピクセルの対象物が存在する場合、 画像全体を幅640ピクセルへ縮小すると、対象物は約3.3ピクセルまで縮小される。

20 × (640 / 3840) ≒ 3.3 pixel
  
3~5ピクセル程度まで縮小された対象物は、 元画像上では存在していても、形状情報そのものがほぼ失われる。 この状態ではアノテーションを高精度に作成しても、 推論側で十分な特徴量を取得できない可能性が高い。

2. アノテーション精度向上の基本方針

アノテーション精度を向上させるためには、 単にBBoxを丁寧に描くことだけでなく、 学習・推論時に対象物の情報が保持される画像構造を作る必要がある。

  1. 原画像は可能な限り高解像度で保持する
  2. 小物体を含む画像を全体縮小しない
  3. 高解像度画像を一定サイズのタイルに分割する
  4. タイル単位でアノテーションを作成・変換する
  5. 学習時と推論時で同じタイルサイズを使用する
  6. タイル境界にはオーバーラップを設定する
  7. 推論後に元画像座標へBBoxを復元する

3. 推奨タイルサイズ

小物体認識を重視する場合、 640~1280ピクセルという広い範囲で検討するのではなく、 1280付近に候補を絞って比較評価する。

パターン タイルサイズ 推奨Overlap 特徴
A 1088 × 1088 160~224 px 小物体優先。対象物を比較的大きく保持できる。 タイル枚数はやや増える。
B 1152 × 1152 160~256 px 小物体認識、周辺情報、処理負荷のバランスが良い。 基準値として推奨。
C 1280 × 1280 192~256 px 周辺文脈を多く保持できる。 GPU使用量、学習時間、推論時間は増加する。
推奨基準:1152 × 1152
最初の学習条件として1152×1152を使用し、 1088×1088および1280×1280と比較評価することを推奨する。

4. 32の倍数を採用する理由

YOLO系ネットワークでは複数段階のダウンサンプリングが行われるため、 入力サイズは32の倍数とすることが扱いやすい。

サイズ 32で除算
1088 34
1152 36
1280 40

いずれも32の倍数となるため、 YOLO系ネットワークの入力サイズとして利用しやすい。

5. タイル分割を行う目的

タイル分割の最大の目的は、 小物体の実ピクセル数を減らさずにYOLOへ入力することである。

画像全体を縮小した場合

3840 × 2160 ↓ 画像全体を縮小 ↓ 640 × 640 ↓ 20 pixelの物体 ↓ 約3 pixel

この方法では、小物体の輪郭・形状・色・テクスチャ等の情報が大幅に失われる。

高解像度画像をタイル分割した場合

3840 × 2160 ↓ 1152 × 1152 にタイル分割 ↓ YOLOへ入力 ↓ 20 pixelの物体 ↓ 約20 pixelのまま維持

この方式であれば、元画像に存在する小物体の情報をほぼ維持した状態で 学習・推論が可能となる。

6. 学習時だけタイル分割しても不十分

学習時に高解像度タイルを使用していても、 推論時に元画像全体を640×640等へ縮小してしまう場合、 タイル学習の効果は大幅に低下する。

学習時と推論時の解像度条件を一致させることが重要である。

推奨構成は以下となる。

【学習】 高解像度画像 ↓ 1152 × 1152 タイル Overlap:約192 pixel ↓ アノテーション ↓ YOLOv9MIT 学習 【推論】 高解像度画像 ↓ 1152 × 1152 タイル Overlap:約192 pixel ↓ YOLOv9MIT 推論 ↓ 元画像座標へ変換 ↓ 重複BBox除去

7. オーバーラップの必要性

タイルを完全に分離すると、 タイル境界に存在する物体が途中で切断される可能性がある。

そのため、隣接タイル同士に一定量の重なりを持たせる。

タイルサイズ 推奨Overlap Overlap率の目安
1088 160~224 px 約15~21%
1152 192 px前後 約17%
1280 192~256 px 約15~20%

8. アノテーション時の具体的な注意点

8.1 BBoxを過度に大きくしない

小物体の場合、BBoxの数ピクセルのズレが相対的に大きな誤差となる。 対象物の外縁に沿って、可能な限り一定基準で矩形を設定する。

8.2 対象物の一部だけを囲まない

同一クラスで「全体を囲む例」と「一部分だけを囲む例」が混在すると、 学習対象の定義が不安定になる。

8.3 クラス定義を明確化する

似た物体についてアノテーターごとに判断が分かれる場合、 学習モデルより先にクラス定義の不整合が精度低下を引き起こす。

クラスごとに最低限、以下を文章化する。

  • 何を対象物とするか
  • 何を対象外とするか
  • 遮蔽時にアノテーションするか
  • 切断された対象をアノテーションするか
  • 最小サイズを何ピクセルとするか
  • 見切れた対象を含めるか

8.4 極端に小さいBBoxを確認する

アノテーションデータ作成後には、 BBoxサイズの統計を必ず確認する。

特に以下を確認する。

  • 幅16pixel未満のBBox数
  • 高さ16pixel未満のBBox数
  • 幅32pixel未満のBBox数
  • クラス別平均BBoxサイズ
  • クラス別BBox面積分布

9. 小物体サイズの目標

一律の絶対基準ではないが、 YOLO入力時の対象サイズとして以下を一つの目安とする。

入力画像上の対象サイズ 評価
3~5 px程度 非常に厳しい
6~10 px程度 検出可能性はあるが不安定
12~16 px程度 最低限確保したい範囲
20~30 px以上 小物体認識として望ましい
32 px以上 比較的安定した特徴抽出が期待できる

10. 推奨する実験条件

最適なタイルサイズは対象物のサイズ・GPU・撮影距離・背景条件によって変化するため、 3条件で比較実験を行う。

実験 入力サイズ 目的
Experiment A 1088 × 1088 小物体優先
Experiment B 1152 × 1152 基準条件
Experiment C 1280 × 1280 周辺情報・文脈重視

タイルサイズ以外の条件は可能な限り固定し、 Precision、Recall、mAPだけでなく、 小物体だけを抽出した検出率を別途評価する。

11. 推奨ワークフロー

高解像度原画像 │ ▼ アノテーション │ ▼ BBoxサイズ統計 │ ├─ 微小BBoxが多い │ ▼ 1152 × 1152 タイル化 Overlap 約192px │ ▼ YOLOv9MIT 学習 │ ▼ 高解像度画像を同条件でタイル推論 │ ▼ タイル座標 → 元画像座標変換 │ ▼ NMS / 重複BBox統合 │ ▼ 小物体別 Recall / Precision 評価

12. まとめ

小物体認識のアノテーション精度向上では、 アノテーションそのものの品質と画像解像度設計を分離して考えてはいけない。

高精度なBBoxを作成しても、YOLO入力時に対象物が数ピクセルまで縮小されれば、 学習・推論精度には限界がある。

したがって、YOLOv9MITによる小物体認識では、 以下を標準運用とすることを推奨する。

  • 高解像度原画像を保持する
  • 原画像全体を過度に縮小しない
  • 1088、1152、1280の3条件で比較する
  • 基本タイルサイズは1152×1152とする
  • Overlapは約15~20%とする
  • 学習時・推論時で同一条件を用いる
  • BBoxサイズ分布を定量的に管理する
  • 小物体だけのPrecision・Recallを個別評価する

これにより、単純なアノテーション作業品質だけではなく、 撮影・データセット作成・学習・推論までを含めた 一貫した小物体認識精度向上が可能となる。ちなみに株式会社ビー・ナレッジ・デザインのツールではこの手順は自動化実装されている。

“`

No responses yet

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


トップへ戻る