最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

カスタム フォントについての光学式文字認識の学習

光学式文字認識 (OCR) アプリでは、カスタム言語またはカスタム フォントを認識するよう関数 ocr を学習させます。このアプリを使用して OCR 学習で対話的に文字データにラベルを付けることができ、関数 ocr で使用する OCR 言語データ ファイルを生成できます。

OCR トレーナー アプリを開く

  • MATLAB® ツールストリップ: [アプリ] タブの [イメージ処理とコンピューター ビジョン] の下にある OCR アプリ アイコン をクリックします。

  • MATLAB コマンド プロンプト: ocrTrainer と入力します。

OCR の学習

  1. OCR トレーナーで [新規セッション] をクリックして [OCR 学習セッションの設定] ダイアログ ボックスを開きます。

  2. [出力設定] で OCR 言語データ ファイルの名前を入力し、そのファイルの出力フォルダーの場所を選択します。指定する場所は書き込み可能でなければなりません。

  3. [ラベル付けの方法] で、データに手動でラベルを付けるか、光学式文字認識を使用して事前のラベル付けを行います。OCR を使用する場合、プレインストールされた英語または日本語を選択するか、あるいは追加の言語サポート ファイルをダウンロードすることができます。

    メモ

    言語サポート ファイルをダウンロードするには、MATLAB コマンド ウィンドウで「visionSupportPackages」と入力します。あるいは、MATLAB [ホーム] タブの [環境] セクションで、[アドオン][アドオンの入手] をクリックします。その後、検索ボックスを使って "Computer Vision System Toolbox OCR Language Data" を検索します。

  4. 学習セッション中はいつでもイメージを追加できます。トレーナーは OCR 学習用のイメージを自動的にセグメント化します。結果を検査して、テキストが予想どおりセグメンテーションが行われていることを確認します。セグメンテーションを改善するには、イメージの領域分割アプリを使用してイメージを事前処理します。イメージを追加した後、学習イメージ ビューからセグメンテーションの結果を検査できます。

    OCR を特定の文字セットに制限するには、[文字セット] チェック ボックスをオンにして文字を追加します。

    メモ

    OCR に認識させるテキストを含む学習イメージを使用します。数文字しか含まない学習イメージは使用しないでください。OCR の学習が最も効果的となるのは、学習イメージに多数の単語から構成されるブロックが含まれる場合です。関数 insertText を使用して、既知のフォントの学習イメージを自動で生成できます。

    I = zeros(500,500,3,'uint8');
    
    textLines = [
        "some training text"
        "even more stuff to learn"
        ]
    lineYLocation = 50;
    
    for i = 1:numel(textLines)
        I = insertText(I,[50 lineYLocation],char(textLines(i)), ...
            'Font','LucidaSansRegular',...
            'FontSize',16,'TextColor','white',...
            'BoxOpacity',0);
    
     % increment to next line
        lineYLocation = lineYLocation + 20;
    end
    figure
    imshow(I) 
  5. ノイズを含んだイメージがあれば削除します。セグメンテーションの結果を向上させるために、関心領域を描画してイメージの一部を選択できます。元のイメージが左側に、編集されたイメージが右側に表示されます。終了後、[すべて確定] をクリックします。

  6. 抽出されたサンプルを文字ビュー ウィンドウで変更します。

    • サンプルを修正するには [データ ブラウザー] ペインからサンプルのグループを選択し、[文字ラベル] フィールドを使ってラベルを変更します。

    • サンプルを学習対象から除外するにはサンプルを右クリックして、そのサンプルを [不明] カテゴリに移すオプションを選択します。不明のサンプルは [データ ブラウザー] ペインの最上部にリストされ、学習には使用されません。

    • 境界ボックスで文字が切断されている場合は、文字をダブルクリックして抽出元のイメージ内で変更を行います。

  7. サンプルの修正後、[学習] をクリックします。トレーナーでの学習が完了すると、アプリにより OCR 言語データ ファイルが作成されて指定フォルダーに保存されます。

アプリのコントロール

セッション

新規セッションを開始し、保存済みのセッションを開き、あるいはセッションを現在のセッションに追加します。セッションを保存して名前をつけることもできます。セッションは MAT ファイルとして保存されます。

Add Images

イメージを追加します。新規セッションを開始するときや現在のイメージの集合を承認した後にイメージを追加できます。

Settings

フォント表示を設定または変更します。

Edit Box

選択した文字を含むイメージを境界ボックスと共に選択します。追加領域を作成したり、既存イメージのマージ、変更、削除を行ったりすることができます。ROI を削除するには、Delete キーを使用します。

Train

セッションから OCR データ ファイルを作成します。.traineddata ファイルを関数 ocr で使用するには、関数 ocr'Language' プロパティを設定してカスタム言語の指示に従います。

Generate Function

学習結果の検証のために自動生成される評価関数を作成します。

参考

|