モデル始めに詳細な学習手順の前に、大まかな学習の流れを記載します。modelと言われる構成のため文字検出と文字認識を別々のモデルで実現します。このため、共に独自のモデルを求める場合、文字検出の学習と文字認識の学習が必要となります。本記事では文字認識の学習を取り扱います。学習データ文字認識モデルの学習には学習データが必要となります。学習データは下記画像のような日本語のテキストが記載された画像が必要となりますこの学習データですが、無料で取得できる日本語学習データが非常に少なく選択肢としては下記の2点ほどかと思われますこれら以外はご自身で学習データを準備される必要があると思われます。Japaneseこれは様々な写真に日本語のテキストを機械的にプロットし生成された学習データです。一枚の画像に複数のテキストが記載されていますetlcdbこれは、実際に様々な人が手書きした文字の学習データです。一枚の画像に一文字のみ記載されていますこれらのデータを駆使して先ほどの"東京都"の例のような画像を生成しラベルを付ける必要があります。ラベルは下記の通りです。パスとラベルは"\t"で区切られている必要があります。/tmp/local/usr/ocr/train_data_1.jpg東京都また学習データ作成時にはなるべく一画像に含まれる文字数にばらつきがあることが好ましいです。1文字の画像のみを使ってモデルを学習させると、モデルの文字認識結果は全て1文字となります。これは複数文字を含む画像を入力しても1文字しか文字認識してくれないようになることを意味しています。この点に注意して学習データの準備が完了すればあとは学習させるのみです。学習手順ここからは実際のPaddleOCRのソースコードを見ながら手順を記載しますなお、こちらの記事にてPaddleOCRの導入は完了していることを前提としています始めに下記ディレクトリのコンフィグファイルを開きます。8文字認識の学習はこのConfigファイルによって制御します。下記に学習前に確認した方が良い箇所を記載していきます。iterationごとにevaluationを行うことを意味しています。./output/rec_japan_lite/latestcharacter_dict_pathここに文字認識を行う文字が格納されたファイルパスを指定しますここに指定したファイルに含まれていない文字は認識しない点にご注意下さい。max_text_length最大認識文字数です。文字認識結果は必ずこの数値以下の文字数となりますTrain.dataset.label_file_listEval.dataset.label_file_list前述のラベルが記載されたファイルパスを指定します。大阪府のようになっている必要があります。*このブログについてホームサイトマップTeDokologyTeDokology。