そこで私がやろうとしているのは、筆記体の手書きの英単語を個々の文字に分割することです。人工知能を使用した単純なヒューリスティックなアプローチを適用して、次のような単語の基本的な過剰セグメンテーションを行いました。
これをMatlabでコーディングしています。このアプローチには、前処理、傾き補正サイズの正規化などが含まれ、次にペン ストロークを 1 ピクセル幅に細くし、画像のピクセルの列合計を使用して画像に存在する合字を識別します。ピクセル合計がしきい値より低いすべての列は、セグメンテーション ポイントになる可能性があります。問題は、「u」、「v」、「m」、「n」、「w」などのオープン文字もピクセルの列合計が低く、セグメント化されることです。私が使用したアプローチは、このホワイトペーパーで提示されているものの修正版です。
ニューラル ネットワークを使用した筆記体のセグメンテーション。
この配置を改善するには、ニューラル ネットワークを使用してこれらのセグメント化されたポイントを修正し、それらを不適切なセグメント化として認識する必要があります。そのための「newff」関数を作成し、手動でセグメントに良いラベルと低いラベルを付けますが、そのニューラルネットワークへの入力が何であるかを理解できませんか?
私の推測では、可能なセグメントが作成される列番号とともにいくつかの画像データを提供する必要があるということです (トレーニング サンプルごとに 1 つのセグメンテーション ポイント。指定された画像には約 40 のセグメンテーション ポイントがあるため、40 のトレーニング サンプルにつながります)。トレーニングの良いセグメントまたは悪いセグメントとしてラベルを付けます。
セグメンテーション ポイントが良いか悪いかを伝える出力ニューロンは 1 つだけです。
入力レイヤーへの入力として、すべての列の列合計を与えることはできますか? このトレーニング インスタンスのセグメンテーション ポイントをどのように伝えればよいでしょうか? ここで最も重要な値である良いセグメントまたは悪いセグメントとして分類する必要がある実際の列番号は、この n 次元入力の海に溺れませんか? (n は画像のピクセル単位の幅)