概要
実際のOCRフレーム列を収集・保存し、同じ入力をOCR追跡処理へ再生できるデバッグ機能を追加する。
合成テストだけでは把握しにくい位置ジッター、文字列変動、一時欠落、分割・統合、同一文字列の誤対応を再現可能にし、追跡精度の改善を定量評価できるようにする。
目的
- 実環境で発生したOCR結果のフレーム間変動を再現する
- 追跡アルゴリズム変更前後を同一入力で比較する
- 位置ジッター、表示構造変化、ID切替、欠落復帰、反映遅延を測定できるようにする
- 不具合報告に再現可能なデータを添付できるようにする
記録内容
各OCRフレームについて少なくとも以下を記録する。
- トレース形式のバージョン
- フレーム番号
- 記録開始からの相対時刻
- OCR対象画像の幅と高さ
IOcrModule.RecognizeAsync が最終的に返した統合済み TextRect の集合
- OCR文字列
- X / Y / Width / Height
- FontSize
- Angle
- MultiLine
プライバシー
OCR文字列には個人情報や機密情報が含まれる可能性がある。
- 通常利用時は無効とする
- デバッグ時のみ明示的に有効化できる
- 画像そのものは既定で保存しない
- 画像保存を追加する場合は、文字列トレースとは別の明示的なオプトインとする
- 保存先と記録内容を利用者に明示する
- 不具合報告へ添付する前に内容確認を促す
再生
- 保存済みトレースをデバッグ用ランナーまたはテストから読み込める
- 記録時と同じ画像サイズ、フレーム順序、相対時間で追跡処理へ入力できる
- 各フレームの安定化済み
TextRect を取得できる
- 将来の形式追加に備え、未知の追加フィールドを許容する
信頼性・性能
- 記録失敗によってOCR・翻訳処理を停止させない
- 記録無効時のホットパスへの負荷を最小化する
- 書き込みがOCR処理を長時間ブロックしない
- 不要な画像・長期履歴を保持しない
評価指標
トレースから少なくとも以下を計算できる設計を検討する。
- 位置・サイズのフレーム間変動量
- 文字列変更回数
- 一時欠落からの復帰率
- 論理トラックのID切替回数
- 分割・統合状態の変更回数
- 実際の変更が反映されるまでの遅延
- 1フレームあたりの追跡処理時間
テスト
- 収集データのシリアライズ往復
- 複数フレームの順序と相対時刻の保持
- 保存済みトレースの再生
- 記録無効時にファイルを作成しないこと
- 保存失敗時もOCR処理が継続すること
- 形式バージョンの互換性
ドキュメント
開発者向けドキュメントに以下を記載する。
- 有効化方法
- 保存場所
- 記録される情報
- 再生・テスト方法
- プライバシー上の注意
受け入れ条件
概要
実際のOCRフレーム列を収集・保存し、同じ入力をOCR追跡処理へ再生できるデバッグ機能を追加する。
合成テストだけでは把握しにくい位置ジッター、文字列変動、一時欠落、分割・統合、同一文字列の誤対応を再現可能にし、追跡精度の改善を定量評価できるようにする。
目的
記録内容
各OCRフレームについて少なくとも以下を記録する。
IOcrModule.RecognizeAsyncが最終的に返した統合済みTextRectの集合プライバシー
OCR文字列には個人情報や機密情報が含まれる可能性がある。
再生
TextRectを取得できる信頼性・性能
評価指標
トレースから少なくとも以下を計算できる設計を検討する。
テスト
ドキュメント
開発者向けドキュメントに以下を記載する。
受け入れ条件