ビデオストリームからテキストを認識する:モバイルOCRの未来

最近、モバイルデバイスで動作し、これらのデバイスのカメラで撮影された写真を認識する認識技術についてブログに投稿することがよくあります。 今、私たちは写真ではなくビデオストリームで作業することを学んでいます。 そして、今日は、これが何を意味するのか、ビデオストリームからのテキスト認識が便利になる日常生活の場所についてもう少し詳しく説明したいと思います。



ところで、現在、チームを拡大して、スマートフォンのビデオストリームからテキストを認識するための製品を作成しています。 負荷の高いアプリケーションを作成した経験があるAndroidまたはiOSの開発者で、新しい技術を開発したい場合は、お急ぎください。



ビデオストリームと認識について



まず、どのビデオストリームを使用しているのかを考えてみましょう。 ビデオストリームは、デバイスのカメラから受信した一連のフレームです。つまり、標準のカメラアプリケーションを起動したときにスマートフォンの画面に表示されるものです。







メニューフラグメント写真







メニューフラグメントを含むビデオストリームからのフッテージ



ビデオストリームの1つのフレームを写真と比較すると、その品質が低いことがわかります。フレームの解像度(dpi)が低く、画像の焦点がぼけてぼやけていることが多く、デジタルノイズもあります。 そのような欠陥の存在はまったく驚くことではありません。なぜなら、私たちは絶対に動かないように携帯電話を手に持っているロボットではないからです。 これにより、ビデオストリームを認識するタスクは写真を認識するよりもはるかに困難になりますが、最終的に得られるメリットはそれを解決するための努力に値します。



認識改善

認識のための写真の適合性をすばやく確認できるようにするテクノロジについては既に説明しました。 ビデオストリームの場合は、さらに進んで、処理に最適な画像をストリームからすぐに選択できます。 はい、多くのフレームは写真よりも品質が劣りますが、一部のフレームはより良い結果を得ることができ、選択できるものがたくさんあります。



さらに、認識結果のエラーの大部分は、ランダムノイズ、グレア、焦点ぼけなどによるものです。 これらの欠陥はフレームごとに繰り返されないため、あるフレームで誤って認識された文字は、次のフレームで正しく認識されます。 この方法で複数のフレームからテキストを集約することにより、写真よりも品質を改善し、さらに優れた認識結果を達成できます。



より便利なアプリケーション

ビデオストリームからの認識には、ユーザーの操作はほとんど必要ありません。 写真に必要なすべてのテキストに焦点が合っていることを確認するために、「写真を撮る」ボタンをクリックする必要はありません。 カメラをテキストに向けるだけで、認識が自動的に開始されます。 さらに、テキスト処理は「舞台裏」で直接実行されるため、結果を即座に、たとえばソーステキスト上に表示できます(結果を検証するタスクを簡素化するため)







または、逆に、認識されたテキストに応じて、特別な写真、碑文などでフレームを補完します。 いわゆる拡張現実アプリケーションを作成します。 さらに、ビデオストリームから認識する場合、画像はどこにも保存されず、デバイスのメモリを詰まらせません。



これらすべてがユーザーに喜びをもたらし、アプリケーションを便利にします。



ビデオストリーム認識はどのように役立ちますか?



今後の記事では、ビデオストリームの最適な使用方法について詳しく説明しますが、ここでは、このテクノロジをどこに適用できるかを見てみましょう。



キーボードの代替



最も明らかなシナリオの1つは、キーボードからのテキスト入力をビデオストリームからの入力に置き換えることです。 おそらく、誰もが手元に希望の電子メールアドレスを記載した小冊子がある状況にあり、それをブラウザの行に手動で移動する必要があります。 電話カメラを向けるだけで、はるかに便利で高速になります。



リアルタイム処理を確保し、ファインダー内の刻々と変化するシーンに追いつくために、非常に迅速に認識する必要があります。 これを達成するには、多くの異なる手段に頼らなければなりません。 最初に、並列認識を使用してデバイスのすべてのプロセッサコアを使用します。 同時に、わずかな遅延で撮影された複数のフレームを同時に認識し、1つのフレームの処理を異なるワークフローで実行される複数の段階に分割することができます。 また、処理速度を上げるには、デバイスで利用可能なさまざまなハードウェアアクセラレーションツールを使用する必要があります。



インスタント翻訳者



別のタスクは翻訳です。 エキゾチックな国に到着すると、通りやレストランを移動するのが難しくなる可能性があります。これは、標識、メニューなどにすべての標識があるためです。 未知の言語で、地元の人は英語を話せないかもしれません たとえば、中国の都市の通りやレストランで見ることができるものは次のとおりです。







もちろん、この状況での翻訳アプリケーションは、必要な文字をすべて正しく入力した場合にのみ役立ちます。 アプリケーションでテキストの写真撮影を許可し、自動的に認識して翻訳する方が便利です。 ただし、レストランのすべてのメニューを1枚の写真に収めることには問題があります。 数回写真を撮る必要があります。 しかし、ビデオストリームからのテキスト認識を使用すると、すぐに翻訳できます。ユーザーがカメラをテキストに向け、アプリケーションが舞台裏で認識および翻訳し、画面上でソーステキストをその翻訳に置き換えます。







つまり あなたは理解できる言語ですべてが書かれているような拡張現実を得ることができます。

私たちの周りのオブジェクト(たとえば、木の葉に囲まれた標識、近くに皿が描かれているメニューなど)のテキストを認識して翻訳する必要があると、追加の困難が生じます。フレーム、実際には、テキストが配置されます。 テキストドキュメントの処理用にシャープ化されたFineReaderで使用される2値化された画像解析方法は、この場合には適していません。 二値化(白黒への変換)後、通常のオブジェクトはしばしばテキストのようになります-たとえば、ウィンドウの構築は行全体を形成できます。











二値化画像







一般的な形式のフレームを処理するには、より複雑なアルゴリズムに頼り、標識や道路標識の画像のパッケージでトレーニングされたオブジェクトの特別な分類器を使用する必要があります。 分類子を使用すると、画像に文字や文字列が含まれているかどうかを把握し、それらをゴミから分離できます。 同様のメカニズムは、 記事で詳しく説明されています



データキャプチャ



ビデオストリームからの認識を適用する別の領域は、ドキュメント(識別ドキュメント、支払いカードなど)からのデータの抽出です。 現在、モバイルアプリケーションのほとんどすべての銀行は、住宅および共同支払いの支払いサービスを提供しています。 そのような支払いを行うには、支払いから長い行の番号を手動で再入力する必要がありますが、これは間違いを犯しやすいです(加入者のコード、個人口座番号など)。 また、支払いに必要なデータの自動認識により、このプロセスが簡素化および高速化されます。



「スマートカメラ」



最も興味深いシナリオの1つは、「スマートカメラ」と呼ばれます。 ビデオストリームからの認識機能によって補完される、すべてのスマートフォンに搭載されている通常の「カメラ」アプリケーションについて話しています。 たとえば、このようなカメラを名刺に向けると、QRコード用に、ブラウザーで目的のリンクを開き、イベントへの招待用に、カレンダーにイベントを作成するなど、電話帳に対応する連絡先を自動的に作成します。 多くの場合、ユーザーはそこに書かれた情報を覚えておく必要がある場合、ドキュメントの一部の写真を撮ります。ユーザーが「写真を撮る」ボタンを押す時間がない場合でも、「スマートカメラ」は自動的にテキストを認識し、認識されたデータをメモまたはリマインダーとして保存することを提案します。



ただし、「スマートカメラ」の作成には追加の困難が伴うことに留意する必要があります。 認識などのリソースを大量に消費するプロセスを絶えず実行すると、デバイスのバッテリーが大幅に放電されます。 そして、練習は、カメラが使用される合計時間の10-20%以内で認識が必要であることを示しています。 それでも、印鑑や自撮りの写真は、文書、名刺、バーコードを組み合わせた写真よりも人気があります。 したがって、カメラアプリケーションの電力消費を何らかの形で調整する必要があります。 たとえば、フレームを分析し、その上にテキストがあるかどうかを答える特別なクイックテキスト検出器を使用します。 そして、テキスト付きのフレームについては、さらに認識を呼び出します。



実際、彼らが話したかったのはそれだけでした。 ビデオストリームからの認識技術がまだ役に立つかもしれないアイデアがあれば、コメントで議論しましょう。



オルガ・ティトヴァ、

開発者製品部門



All Articles