2016年10月2日 更新

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

今回もNeural NetworkをJuliaで実装する方法についてご紹介します。

1,147 view お気に入り 0

1. 用いるデータ

今回用いるデータは、以下のページからダウンロードしました。

https://www.kaggle.com/c/street-view-getting-started-with-julia

コンペティションの題名は「First Step with Julia」となっており、Neural Networkをはじめてする人のためのよいたたき台となると思います。

今回の目標は以下のようなGoogle Street の写真から書かれているラベルの文字を認識することです。
このような画像のセットがたくさんある

このような画像のセットがたくさんある

2. Neural Networkを行うための前処理

 (2413)

Neural Networkを行うためにチェックすべきポイントです。ケースバイケースなのですが、必要となる場合も多いようです。

文字認識などの場合は画像をグレースケールに

カラー画像をグレースケールにすると1/3の情報量でよいことになります。これにより、調整するべきパラメータも減り、計算もはやくなります。

ラベルの統一

今回の例では英単語が入っています。何かと問題が起きるのはいやなので、それぞれ数字にラベル付けしましょう。

大文字から順番に

list = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghi......'

としておいて、ラベルAならば0を出力という設定にしておくと後々良さそうです。

画像の大きさを揃える

Networkに入れる前に画像の大きさがまちまちだと困ります。なので、大きさを全て揃える必要があります。

今回の例では画像の大きさがバラバラになっているので、大きさを(32,32)に統一するようにしました。

3. 実装したプログラム

画像データをNeural Networkに用いるデータにするため、pythonでhdf5形式のファイルを書き出しました。処理として、グレースケールにしたあと、大きさを統一し、またラベルを数字に変換しています。hdf5形式のファイルはデータのロードなどが高速でとても便利なようですよ。
19 件

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

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

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

今回は前回のcifar-datasetsで作った識別器を使って、画像の分類をする方法についてご紹介します。
LP-tech2周年記念#人気記事のまとめ#第10位〜第6位

LP-tech2周年記念#人気記事のまとめ#第10位〜第6位

LP-techが始まってから2周年を迎えました。ここまでLP-techを続けることができたのも読者の皆様のおかげだと思っています。そこで、LP-techの感謝祭ということで、人気の記事を第20位から第1位までをご紹介します。今回は第10位〜第6位までです。
pythonによるtensorflow〜deepdreamによる画像変換〜

pythonによるtensorflow〜deepdreamによる画像変換〜

今回は前回のtensorflowの記事に引き続き、deepdreamによる画像変換についてご紹介します。
三好 裕之 | 2,398 view
Deep learningで画像認識③〜ネオコグニトロンとは?〜

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

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

この記事のキーワード

この記事のキュレーター

三好 裕之 三好 裕之