2016年10月2日 更新

Juliaで学ぶ画像処理〜cifar-datasetsでニューラルネットワークpart2〜

今回は前回のcifar-datasetsで作った識別器を使って、画像の分類をする方法についてご紹介します。

1,797 view お気に入り 0
こんにちは!今回は前回のcifar-datasetsで作った識別器を使って、画像の分類をしていきます。

前回の記事は以下から参照してください。
「Juliaで学ぶ画像処理〜cifar-datasetsでニューラルネットワーク〜」

また今回の記事ではプログラミング言語、Juliaを用いて進めていきます。Juliaについては以下の記事をご覧いただけたらと思います。
「プログラミング言語Juliaで学ぶ画像処理〜インストール、サンプル実行〜」

1. 前回の復習

前回はcifar10と呼ばれるデータセットを用いてこれらを分類する識別器を学習により作りました。
10個の分類画像

10個の分類画像

今回はこれの識別がうまくできているかをテストデータを用いてチェックしたいと思います。

2. データの可視化

これが一番てこずりました。テストデータを写真で読み出すためにはtest.hdf5ファイルの中身からRGBの値を読みとり、それを目に見える形で出力する必要があります。

このtest.hdf5のデータの中身を少しみてみましょう。

hdf5のデータの中身を見るには"HDFView"をダウンロードして使います。HDFViewを起動し、test.hdf5を開いてみます。
 (2324)

このようにピクセルごとにRGBで分けられたものがデータの数だけ縦に並んでおり、それに対応してラベルが当てられています。

それではこれを読みだしてみましょう。
 (2326)

これで209番目の画像が見えるはずです。しかしこれを実行しても何がなんだかわかりませんでした。
出力結果。白色が目立つ。

出力結果。白色が目立つ。

どうやら画素値をそのまま読みだしてもうまくいかないみたいです。なぜでしょう。

答えをいうと、JuliaでImageを出力する際は正規化をしなければいけないようです。つまり、画素値の大きさを0-1に設定する必要があるようです。いま、test.hdf5で読み込んだ値は0-255のスケールであったので、255でわって出力させてみます。
 (2332)

出力結果

出力結果

25 件

関連する記事 こんな記事も人気です♪

Neural Network with Julia 〜Kaggleの文字認識(DeepLearning)の前処理〜

Neural Network with Julia 〜Kaggleの文字認識(DeepLearning)の前処理〜

今回もNeural NetworkをJuliaで実装する方法についてご紹介します。
Deep learningで画像認識③〜ネオコグニトロンとは?〜

Deep learningで画像認識③〜ネオコグニトロンとは?〜

Deep learningは、画像認識において大きな成功を収めています。そこで用いられる多層ネットワークは、畳み込みニューラルネットワーク(convolutional neural network:CNN)と呼ばれており、画像認識に適した独特の構造を持っています。
木田智士 | 22,915 view
Deep learningで画像認識②〜視覚野と畳み込みニューラルネットワーク 〜

Deep learningで画像認識②〜視覚野と畳み込みニューラルネットワーク 〜

前回に引き続き、Deep learningで画像解析についてご紹介します。今回は、畳み込みネットが画像認識に適している理由を解説しようと思います。
木田智士 | 19,765 view
人工知能エンジニアMeetUp!#3〜医療ビッグデータの活用〜のまとめ

人工知能エンジニアMeetUp!#3〜医療ビッグデータの活用〜のまとめ

先日、「人工知能エンジニアMeetUp」と題して、医療ビッグデータの活用に関する講演がありましたのでその模様をご紹介します。
画像処理・画像解析エンジニアMeet Up! #3 〜Lp-tech2周年特集〜を終えて

画像処理・画像解析エンジニアMeet Up! #3 〜Lp-tech2周年特集〜を終えて

2016年7月22日に画像処理・画像解析エンジニアMeet Up! #3 ~Lp-tech2周年特集~がありました。様子についてご紹介します。

この記事のキーワード

この記事のキュレーター

エルピクセル編集部 エルピクセル編集部