前回の
「🧠 Pythonで学ぶ画像認識入門:TensorFlowとKerasで手書き数字を判定する方法(3) ~CNNによる高精度モデル編~」
までで、MNISTデータセットを使い高精度なCNNモデルを作成しました。
今回はその学習済みモデルを再利用し、自分で描いた手書き数字画像を実際に判定してみましょう。
ステップ①:学習済みモデルの保存
前回での学習コードに以下を追加して、モデルを保存しておきます。
ステップ②:自作画像を準備する
1️⃣ 白背景に黒文字で「0〜9」の数字を描いた画像を用意
2️⃣ 画像サイズを 28×28ピクセル にリサイズ
3️⃣ ファイル形式は .png
または .jpg
でOK
(例)
※手書きペイントツールで描いてもOK。
できるだけ文字を中央に配置し、背景は白が理想です。
ステップ③:推論スクリプトを作成
ファイル名:
内容:
ステップ④:実行
仮想環境を有効化して、次のコマンドを実行:
ステップ⑤:結果と考察
項目 | 内容 |
---|---|
予測結果 | AIが自作の手書き数字を正しく認識し、予測結果が画面に表示される |
処理時間 | 数百ミリ秒程度で即時に判定が完了 |
注意点 | 白背景×黒文字の前提で学習しているため、背景と文字が逆の場合は反転処理を削除 |
応用例 | 手書き書類の数字抽出、郵便番号や伝票番号の自動読み取りなどに応用可能 |
考察 | CNNモデルにより自作データでも高い精度を維持。前処理(反転・正規化)が認識精度に大きく影響 |
💡 ワンポイント
もし背景が黒で文字が白の場合は、
次の行を削除してください:
✅ まとめ
これで「自分の描いた手書き数字」をAIが正しく認識できるようになりました。
この流れを応用すれば、より複雑な画像分類(例えば「猫と犬」や「手書き文字分類」)にも発展できます。