ニューラル ネットワークや SVM などのその他の手法は、入力のフィルタリングには使用されず、代わりに入力の分類に使用されます。違いは、フィルタリングは、課されたルールに一致するかどうかに基づいて入力を破棄するため、実際にはトレーニングを必要としないことです (いくつかの適切なしきい値が必要になる可能性が高くなります)。一方、/trained/ 分類器は、指定された入力にクラスを割り当てます。つまり、予想されるクラスと負のサンプルを使用して分類器を適切にトレーニングする必要があります。そのため、前者を実行するか後者を実行するかによってアプローチは異なりますが、前者で使用する機能は後者にも役立つ場合があります。
どのようなパスを使用する場合でも、基本的な前処理として、最初により明確なコンポーネントを取得する必要があります。これは、例にあるコンポーネント内の不要な白い点を削除することを意味します。その後、多くのオプションが利用可能です。基本的な幅と高さの測定値を使用して、予想と一致しないことが確実なコンポーネントをフィルタリングできるため、分類する必要もありません。接続されたコンポーネントのスケルトンを考慮することで、2 つのフィーチャを形成する端点と分岐点が得られます。オイラー数もまた別の 1 つであり、実際には抽出できる特徴が多すぎて、ここにすべてをリストすることはできません。これらの機能の特徴は、それらがすべてスケール、回転、および移動に対して不変であることです。これは、区別するために別の機能が必要であることも意味します。9
から、6
スケルトンの穴の重心がそのような例の 1 つになります (この機能の直接抽出は何に対しても不変ではないため、注意してください)。
単純な機能でさえ、文字セット全体を分離するのに役立つことに注意してください。たとえば、オイラー数 = 0 の場合、「A」、「D」、「O」、「P」、「Q」、「R」、「0」、「4」、「6」、または '9'、ascii alphanum、行儀の良いフォント、および入力の適切な前処理を想定しています。
最後に、SWT 以外の詳細情報やさまざまなアプローチを探すためのかなりの量の論文があります。たとえば、T-HOGはそれらの最近の 1 つであり、公開された結果によると、SWT よりわずかに優れています。
編集:再開と拡張:
機械学習を使用する場合は、トレーニングとテスト用に分離できるラベル付きデータがいくつか必要になります。目的が「これは文字である」と「これは文字ではない」を区別することだけであり、後者のクラスが適切に記述されていない場合 (つまり、文字ではないものの例がほとんどないか、それを特徴付けることができない場合)受信可能なあらゆる種類の入力)、ワンクラス SVM はオプションです。
個々のキャラクターから抽出される特徴は、前述のように数が多すぎて、アプローチが多すぎます。論文「文字認識のための特徴抽出方法 -- 調査」(1995 年、最近のものではありません) では、それらのいくつかについて説明されています (トレーニング データの予想される最小サイズについても言及されています。必ず読んでください)。その内容の一部をここに。
文字から抽出するのにおそらく良い機能 (グレースケールとバイナリ イメージの両方):
- Hu、Reiss、Flusser、Suk、Bamieh、de Figueiredo Moments (すべての幾何学的モーメント不変量は、「瞬間不変量による視覚的パターン認識」での Hu による初期作業の改善に基づいています)。
- ゼルニケモーメント
スケルトン化されたキャラクターから抽出するのに適した機能:
- T ジョイントの数;
- X ジョイントの数。
- 屈曲点の数;
- エンドポイントの数。
- 原点を形状の重心に置くことによる軸との交差の数。
- 半円の数
前述の論文で説明されているように、フーリエ記述子は、文字のスケルトン、バイナリ表現、またはグラフ表現のいずれかに適用することもできます。