🧠 Pythonで学ぶ画像認識入門:TensorFlowとKerasで手書き数字を判定する方法(5) ~複数の自作画像を一括で認識~

前回

🧠 Pythonで学ぶ画像認識入門:TensorFlowとKerasで手書き数字を判定する方法(4) ~学習済みモデルで自作画像を認識~

の記事では、学習済みモデルを使って「1枚の手書き数字画像」を判定しました。
今回はさらに発展して、フォルダ内にある複数の画像を一括で認識してみましょう。

これにより、手書きで作成した「0〜9」の数字画像をまとめてテストできるようになります。


🧩 動作環境(共通)

項目バージョン / ツール
OSWindows 11 Pro 24H2
Python3.12.6
pip24.2
エディタPowerShell / VS Code
ライブラリpandas 2.x / matplotlib 3.x / openpyxl 3.x


📁 ステップ①:フォルダ構成を準備

まず、テスト用フォルダを作成します。

各画像は 白背景 × 黒または青文字、中央寄せ、28×28ピクセル推奨です。


🧠 ステップ②:複数画像を一括認識するスクリプト

ファイル名:predict_batch.py

内容:


⚙️ ステップ③:実行方法

仮想環境を有効化して、次を実行します:


🧾 ステップ④:出力結果(例)

コンソール出力例:

グラフ表示:

  • 横一列に数字画像が並び、各画像の下にAIの判定結果が表示されます

  • 一目でどの画像をどの数字と認識したか分かります


📊 ステップ⑤:結果と考察

項目内容
処理対象フォルダ内の全画像(png/jpg)を自動スキャン
推論処理load_modelでCNNモデルを再利用し、一括predictを実施
表示形式コンソール出力+matplotlibで可視化
精度1枚ずつ推論と同等(約99%)を維持
応用例書類や帳票の一括認識、データセットの一括評価など
考察単一推論を拡張してバッチ処理化。フォルダ単位で実行できるため自動化が容易


💡 発展ポイント

テーマ内容
結果をCSV出力pandas.DataFrame(results).to_csv('result.csv', index=False)
サブフォルダ対応os.walk() を使えば階層フォルダも処理可能
推論速度UPGPU環境なら処理時間が大幅短縮
異常画像の検出サイズやフォーマットが不正な画像をスキップ処理可能

✅ まとめ

本記事では、学習済みモデルを使って複数の手書き数字画像をまとめて判定しました。
フォルダ単位で一括処理できるため、データテストやAIモデルの精度検証にも最適です。

次回は、

🧠 (6) 判定結果をCSV出力し、正解データと比較して精度を分析
として、「自作データセットの評価編」に進みます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

email confirm*

post date*