pygameを使ったインタラクティブな手書き文字認識アプリ


初めに

pygameを用いてDNNによる簡単な手書き文字認識アプリを作ってみたので軽く解説していきます。
pygameを使ってpythonだけで簡単にインタラクションのあるアプリを簡単に開発できるので、これからpythonを勉強していく人や初心者の方のモチベーションになれば嬉しいです。
コードは全てgithub上に載せています。勝手に使ってもらって大丈夫です。

Github : https://github.com/ozora-ogino/predict-handdrawingNumber_NN

今回の開発では、DNNの構築にTensorflow、ゲーム開発でpygameを使っています。
また、DNNの学習のためにmnistデータセットを使用しています。

Pygameとは

Pygameは、Pythonで2Dゲームを制作する際の最も有名なゲームライブラリです。
Pythonで2Dゲームを作るには、ゲームライブラリを使うのが一般的で、簡単なブロック崩しゲームならば160行くらいのソースコードで作成できます。

使い方

Githubにも載せていますが、こちらで改めて説明します。

最初に、リポジトリをクローンしていただきます。

git clone https://github.com/ozora-ogino/predict-handdrawingNumber_NN/ 

requirements.txtから必要なパッケージをインストールします。

pip install -r requirements.txt

draw.pyがメインになります。
すでに学習済みのモデルを用意しているので実行していだだければ機能します。

python draw.py

改めてモデルを学習したい際はcreateModel.pyでモデルを作り直してください。

python createMain.py

モデルの定義はmodel.pyの中の関!
数で行なっているので変更してもらえればお好きなようにNNで実行できます。

github に実行結果のスクリーンショットを載せています。

実行していただくと、数字を描くための酢sクリーンが表示されます。
数字を描いていただいて、Enterを押していただくと文字の認識を行い、予測結果をterminal上に表示します。
終了の際にはスクリーン閉じてください。

終わりに

今回はpygaemを用いて簡単な手書き文字認識アプリを作ってみました。
この程度のアプリなら簡単に作れますのでぜひアレンジしたりして試してみてください。
今回の記事はpython初学者の方やpygameでどんなことができるのか知りたい方むけに作ってみました。
誰かの手助けになれば幸いです。

instagramでpythonやプログラミング、エンジニアとして必要な情報の配信を始めたのでフォローしてもらえると嬉しいです。!