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

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

プログラム変更仕様

MNISTで提供されるテスト画像だけでなく、自作の手書き文字画像を自動認識させてみたい。
シンプル構成初期版に追加する機能は以下の通り。
(1)学習機能の仕様追加: 1EPOCH完了ごとに学習済みパラメーターをファイル出力する。
(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

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

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

00003_simpleNN_03

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*