Keras由来のモデルが手に入ったので、次はそのモデルを試すデータを入手します。
そのためには、「fer2013」のデータページにアクセスします。データのダウンロードにはユーザー登録が必要になります。ページ下部、左側に[Download All]ボタンがあるので、これをクリックします。すると、all.zipという名前のファイルがダウンロードできます。
all.zipを展開すると、allという名前のフォルダの中にexample_submission.csvとfer2013.tar.gzファイルが現れます。fer2013.tar.gzを、Windowsなら7-zipなどのアプリで展開します。fer2013.tar.gzはfer2013.tarに展開され、これをさらに展開すると、fer2013フォルダが現れます。このフォルダにはfer2013.bibとfer2013.csv、READMEファイルが入っています。
fer2013.csvファイルには、48 x 48、モノクロの顔の写真のピクセル値と、対応する表情のインデックス値が70,000セットほど含まれています。
表情の種類は、次のインデックス値に対応しています。
const emotions = ['angry','disgust','fear','happy','sad','surprise','neutral'];
const emotionsJ = ['怒り','嫌悪','恐れ','笑顔','悲しみ','驚き','無表情'];
fer2013.csvファイルのピクセルデータを使って、表情の種類別にイメージファイル化したい訳ですが、ありがたいことにこれを行ってくれるPythonコードが「7AM7/Deep-Learning」にあります。このページにアクセスし、gen_record.pyファイルをダウンロードします。
ダウンロードしたgen_record.pyは、allフォルダのfer2013フォルダ(fer2013.csvのあるフォルダ)にコピーします。
イメージファイル化の準備が整ったので、[Anaconda Prompy(tfjs)]を起動し、fer2013フォルダに移動します。具体的には、[Anaconda Prompy(tfjs)]にcdコマンドと半角スペースを入力して、fer2013フォルダをドロップし、Enterキーを押します。
gen_record.pyでは、tfjs環境に含まれていないopencv-pythonとmxnetパッケージを使用しているので、次のコマンドでこれらをtfjs環境にインストールします。
pip install opencv-python
pip install mxnet
インストールが終わったら、[Anaconda Prompy(tfjs)]でgen_record.pyを実行します。
python gen_record.py
[Anaconda Prompy(tfjs)]に「[^_^] Write image to C:\Users\ユーザー名\Desktop\fer2013\all\fer2013\PrivateTest\3\PrivateTest_4233566.jpg」といった作業の進行が連続して表示され、やがて終了します。
fer2013フォルダには、PrivateTestとPublicTest、Trainingという名前のフォルダが作成され、その中には、表情のインデックス値をフォルダ名にするフォルダ(0から6)が作成されて、それぞれの中にjpg画像ファイルが作成されます。
Webサーバーに置いた「oarriaga/face_classification」のモデルには、これらのjpgファイルが使用できます。