(6) 自分の手書き文字を認識させてみる

投稿者: | 2013年10月6日

4,156 views

この記事は最終更新から 1434日 が経過しています。

1. プログラム変更仕様

MNISTで提供されるテスト画像だけでなく、自作の手書き文字画像を自動認識 させてみたい。

シンプル構成初期版に追加する機能は以下の通り。
(1)学習機能の仕様追加: 1EPOCH完了ごとに学習済みパラメーターをファイル出力する。
(2)テスト機能の仕様追加: 学習済みパラメーターファイルと単一画像を入力としたテスト機能を新規作成する。

2. 識別結果

意地悪なテスト画像を作ったつもりはないが、結構はずれている… 考察はまた後日にしよう。

No. 自作画像 識別結果 出力層出力値
1 OK
2 OK
3 OK
4 OK
5 OK
6 OK
7 OK
8 OK
9 NOK
10 OK
11 OK
12 OK
13 NOK
14 NOK
15 NOK
16 OK
17 OK
18 NOK
19 NOK
20 NOK

3. プログラムのソースコード

exec_1test.m

function result = exec_1test( gprmMatFile, testImgFile )

  % パラメーターファイルをロード
  load(gprmMatFile);

  % 画像データをロード
  img = single(imread(testImgFile)) / 255;

  % 画像データが2バンド以上の場合
  if numel(size(img)) > 3
    % グレースケール画像を作成
    img = mean(img,3);
  end

  % 順伝播
  nn = NNET_propagation_forward( gprm.nn, img );

  % 判定結果を出力
  result.out         = nn.layer{numel(nn.layer)}.out;
  [~, result.maxIdx] = max(result.out);

  % 棒グラフ表示
  bar([0:9], result.out);
  xlim([-0.5 9.5]);
  ylim([0 1]);
end

シンプル構成初版のプログラムソースコードはこちら。
(4) シンプル構成の初版は正解率91%


コメントを残す

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