ABBYY FineScannerで画像上のドキュメントの自動選択はどのように機能しますか?

画像
ABBYY FineScannerとは
ABBYY FineScannerは、ドキュメントを撮影し、画像を処理できるiOSデバイス用のプログラムです。そのため、結果の電子コピー(基本的にスキャン)は、読み取り、印刷、または読み取り可能な形式での保存/送信に便利です。 ここで最初のバージョンのリリースについて書きました


モバイルデバイスで受信したドキュメントの写真には、従来のスキャナーから取得した画像とは異なる歪みがあります。 このような歪みには、デジタルノイズ、ドキュメントの回転または遠近感の存在によって引き起こされる幾何学的歪み、照明の不均一性、焦点ぼけ、ぼかしが含まれます。 次に、画像内の文書の幾何学的歪みを自動的に除去するアルゴリズムについて説明します。



プロセス全体は、いくつかの主要な段階に分けることができます。



1)元の画像の縮小

2)最も有益なチャンネルを選択する

3)画像の前処理、輪郭付け

4)境界線の検出とドキュメントコーナーの定義

5)仮説の検証

6)ドキュメントの角の座標の改良



各段階をさらに詳しく考えてみましょう。



1.元の画像を縮小する



このステップの目的は、max(w、h)が200ピクセルのオーダーになるように、大幅に縮小された画像のコピーを取得することです。wは幅で、hは結果の画像の高さです。 すぐに元の画像(幅と高さが2〜3千ピクセル程度のサイズ)を何度も縮小することは不可能です! バイリニアまたはバイキュービック補間アルゴリズムを使用しても、輪郭に強い「ビート」効果を持つ画像が得られます。これはエイリアシングとも呼ばれます(図1左を参照)。 したがって、サイズを2倍ずつ変更するたびに、イメージを数回反復して縮小します。 その結果、より滑らかな画像が得られます(図1、右)。 ガウス平滑化を使用してすぐに適切な回数に減らすことができますが、まず、ガウス平滑化は数メガピクセルの画像のリソース集約的な手順であり、第二に、ビルトインOpenGL ESツールによって双線形補間が実装され、サイズを順次変更するだけですテクスチャ。







図1.オリジナルをさまざまな方法で150ピクセルのサイズに縮小した画像。 左側では、輪郭の「ビート」の効果を確認できます。右側では、連続して2倍減少した「より滑らかな」結果が得られます。



2.最も有益なチャネルの選択



まず、周囲の背景からのドキュメントは、明るさだけでなく色も異なる場合があることに注意してください。 したがって、検索スペースをどれだけ減らしたいとしても、画像内のカラーチャンネルだけを取り除くことはできません。 どれがさらなる分析に最も適しているか見てみましょう。 これを行うには、R、G、B、輝度の4つのチャネルのヒストグラムを計算します。 次に、ヒストグラムから、チャネルの平均値と分散を計算します。 カラーチャネルの1つの最大分散が特定の係数K> 1(アルゴリズムパラメータ)だけ輝度チャネルよりも大きい場合、後で使用します。それ以外の場合は輝度チャネルを使用します。



















図2.上から下:R、G、Bチャンネルと輝度の画像、および対応するヒストグラム。



3.画像の前処理、輪郭付け



前のステップで取得した縮小画像のチャンネルは少し動作する必要があります。 ドキュメント内のいくつかの要素(テキストスケール、見出し、セパレーターはこの縮尺でも表示されたままです)の邪魔をしますので、半径R1 = 3およびR2 = 5ピクセル、各半径で3回の繰り返しで、画像を中央でフィルター処理します。 結果の画像を保存します(図2を参照)。 1つ目は、よく知られているCannyエッジ検出アルゴリズムを使用して境界を強調表示するために使用され、2つ目は、側面で得られた仮説をテストするために使用されます。 Cannyエッジ検出アルゴリズム(画像フィルタリング)の最初の段階はスキップできます。これは、すでに信号の特性を考慮してこれを行っているためです。 Cannyエッジ検出アルゴリズムの「上限」および「下限」しきい値の値は、アルゴリズムの他のパラメーターと同様に構成する必要がありますが、これについては後で詳しく説明します。







図3.左から右:半径のR = 3で中央値フィルタリングを1、2、3回繰り返した後のチャネルの1つの元の画像、Cannyエッジ検出アルゴリズムによる輪郭の選択の結果。



4.境界線の検出とドキュメントコーナーの定義



そのため、前の段階で、画像の輪郭表現を取得しましたが、その上にあるドキュメントの境界線しか見つけることができません。 これを行うには、別のよく知られたアルゴリズム、 ハフ変換を使用します。 厳密に言えば、それぞれの側で、最適なパラメーター化を持つ「独自のハフ部分空間」を使用できます。これは、完全なハフ空間よりもはるかに高速に計算できます。 これらの部分空間を使用して、ドキュメントの各側の応答が最大になる行を見つけます。 これらの線の交点がドキュメントの角を定義します。 次のステップに進みます。







図4.左から右:画像の輪郭表現、ハフ部分空間、画像上の境界線の検出結果。



5.仮説の検証



ドキュメントの境界に対して得られた仮説をテストしたいと思います。なぜなら、アルゴリズムは、その単純さのために、困難な状況で間違いを犯すことが多いからです。 最も重大なエラーは、ユーザーが結果を修正するか、自分で文書を選択するように求められたときに、アルゴリズムを自動から半自動、また​​は手動に移行することで回避できます。

輪郭で得られた仮説をテストするために、R2 = 5ピクセルの半径の中央値フィルタリングの結果として得られた画像を使用します(ステージ3を参照)。 各境界について、+ -1、+-2、...、+-10ピクセルで区切られた位置を整理し、各位置で輪郭のエネルギー(勾配から輪郭に沿った積分)を計算します。 エネルギー値に応じて、回路の最大エネルギーを持つ位置を選択し、境界が自動アルゴリズムに適しているか、半自動アルゴリズムに適しているか、または破棄して手動モードに切り替えるかを決定します。 したがって、ドキュメントの境界のいずれかが、アルゴリズムの別のモードへの転送に影響する場合があります。

取得した境界のジオメトリチェックには、いくつかのルールが含まれます。



1)すべての反対側の境界の長さの比率は、たとえば0.5 <a <2である必要があります。

2)共通側の角度は、12〜15度を超えてはなりません。

3)結果の四角形の面積は、画像の少なくとも15〜25%でなければなりません。

4)画像の中心に対する文書のシフトは、画像の幅または高さの5〜10%以下です。



6.ドキュメントの角の座標の改良



この方法で得られた解は幾何学的な意味で近似であり、ドキュメントの角の座標を明確にするために試すことができます。 ドキュメントの各コーナーの周りに、特定のしきい値T = 12を超える量だけメディアンフィルター値が信号(選択したイメージチャネル、ステップ2を参照)と異なるポイントを検索する正方形の領域を定義します。 差の符号によって、角度は「通常」または「反転」として定義することもできます。 周囲よりも明るい文書または暗い文書に属している。 最後に、ドキュメント全体を決定する必要があります。



もちろん、メソッドのパラメーターの特定の値は異なる場合があります。調整は、さまざまな条件下で撮影されたさまざまな種類のドキュメントを含む画像の大規模なデータベースで実行する必要があります。



ドキュメントの4つの角すべての座標が決定されたら、画像の幾何学的歪みを修正する透視変換を実行できます。 この場合、角の座標のみを使用して、元のドキュメントの比率を自動的に決定できます。 ただし、この問題の検討はこの記事の範囲外です。



イヴァン・ロジックビュー・ザガイノフ、

技術開発部



All Articles