Skip to content

OCRトラッカーが同じ観測の再処理を新しい根拠として確定に使う #757

Open

Description

@Freeesia

背景

#742 で、追跡ループが最新のOCR観測を100ms周期で再処理し、文字列・位置・分割統合の確定を経過時間で判定するようになった。

問題

  • OcrTextTracker.TextTrack.Observe は、観測時刻が変わらない再処理でも UpdateText・UpdateGeometry を処理時刻で呼ぶ。移動速度だけは観測時刻が変わったときに限って更新している。
  • そのため、1回だけ誤認識したOCR結果でも、次のOCRを待たずに再処理だけで文字列の確認時間(既定300ms)を満たして確定する。キャプチャ間隔が確認時間より長い場合、確認時間による誤認識の抑制が実質的に効かない。位置の確認時間も同様。
  • 微小な位置変化の noiseGeometrySamples に、同じ観測が100msごとに追加される。中央値が観測の内容ではなく再処理の回数で偏る。偶数件で上側の値を選ぶ Median もこの偏りを強める。
  • 分割・統合の確認時間も処理時刻で進むかを確認する。

対応方針案

  • 確定の根拠になる候補の開始時刻・サンプルは、新しいOCR観測(観測時刻の更新)でだけ進める。再処理では欠落時間の判定と予測位置の更新だけを行う。
  • 確定条件を「経過時間」と「異なるOCR観測の件数」の組み合わせにするか検討する。
  • 中央値は観測ごとに1サンプルとして扱う。

完了条件

  • 同じOCR観測を何回再処理しても、文字列・位置・分割統合の確定状態が変わらない。
  • キャプチャ間隔を3秒程度にしても、1回だけの誤認識が確定しない。

関連

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions