Skip to content

文字列の読み取り結果が変わり続けるときに一時的な誤認識を確定しない - #778

Draft
Freeesia wants to merge 4 commits into
masterfrom
freeesia-string-forced-confirmation-time-weighted
Draft

Freeesia wants to merge 4 commits into
masterfrom
freeesia-string-forced-confirmation-time-weighted

Conversation

@Freeesia

@Freeesia Freeesia commented Nov 3, 2026 •

Copy link
Copy Markdown
Owner

Relates to #766

変更前後で画面の表示がどう変わるか

対象ウィンドウの文字列を 0.2 秒ごとに切り替え続け、オーバーレイの表示を変更前と変更後で比べた結果です。OCR は OneOcr、翻訳はなし(読み取った文字列をそのままオーバーレイに表示)で、切り替え開始から 5 秒間の表示を見ています。

変わる点

形の似た文字だけが違う文字列に切り替わり続ける場合(認識結果の安定性 3)

「Stable」を表示したあと、「Stab1e」「StabIe」「Stab|e」「Stab!e」を順に繰り返し表示した。

  • 変更前: 3 回とも、1.5 秒後までにオーバーレイが「Stab|e」または「StabIe」に変わり、その後も「Stable」に戻らなかった。
  • 変更後: 3 回とも、オーバーレイは「Stable」のまま変わらなかった。

「PanelA」「PanelB」「PanelA」「PanelC」と入れ替わり続ける場合(認識結果の安定性 4)

「Stable」を表示したあと、「PanelA」「PanelB」「PanelA」「PanelC」を順に繰り返し表示した。

  • 変更前: 10 回中 8 回は「PanelC」、2 回は「PanelA」に変わり、その後は変わらなかった。
  • 変更後: 10 回中 9 回は「PanelA」、1 回は「PanelC」に変わり、その後は変わらなかった。

変更前後とも見られた動き

  • 同じ「PanelA」「PanelB」「PanelA」「PanelC」の繰り返しでも、認識結果の安定性 3 では、変更前は 6 回中 4 回「PanelB」・2 回「PanelA」、変更後は 6 回中 3 回「PanelB」・3 回「PanelA」に変わって、そのまま止まった。
  • 「Count 101」「Count 102」…と数値を増やし続けると、変更前後とも、オーバーレイは「Count 107」「Count 114」「Count 121」のように 1〜2 秒ごとに新しい数値へ更新され続けた(認識結果の安定性 3、各 3 回)。
  • 毎回別の単語に切り替え続けると、変更前後とも、オーバーレイは 1〜2 秒ごとに少し前に表示された単語へ更新され続けた(認識結果の安定性 3、各 3 回)。

Freeesia and others added 2 commits November 3, 2026 21:04
直近のタイムアウト時間の過半を占める候補だけを確定し、優勢な候補がないまま更にタイムアウト時間が経過したら最新の認識へ追従する。同じOCR結果の再処理は観測として重複集計しない。

Refs #766

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
優勢な候補がないまま一定時間後に最新の認識を確定する処理を廃止する。確定済みの文字列と候補が数字以外で一致する場合だけ、従来のタイムアウトで最新の認識へ追従し、数字以外の文字が揺れる誤認識は優勢な候補が現れるまで確定しない。

Refs #766

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@Freeesia Freeesia changed the title 文字列の候補が変わり続けるときのタイムアウト確定を観測時間の過半で判定する 文字列の読み取り結果が変わり続けるときに一時的な誤認識を確定しない Nov 3, 2026
Freeesia and others added 2 commits November 4, 2026 00:41
直近のタイムアウト時間の半分以上読み取られた候補が1つに決まれば確定する。ちょうど半分ずつの2候補は優勢とみなさない。候補が1つに決まらない場合、確定済みの文字列との違いがOCRで見間違えやすい文字の入れ替わりだけの読み取りを含む間は保持し、それ以外は最新の読み取りへ追従する。

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
OneOcr・安定性3の実観測を再処理時刻も含めて再生し、半分に届く候補がない場合の最新追従と、半分以上の候補の優先を区別して検証する。

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant