誰でもできるAI画像認識入門1

f:id:nikudaisukikun:20181230120620j:plain


目次

  1.  AI入門
  2. 使用ツール
  3. 画像認識
  4. AI(ニューラルネットワーク)
  5. 実装

 

1.AI入門

最近のトレンドは、AI

新聞,テレビもAIについて見ない日はない(個人的)

第四次産業革命かもしれないAIに乗り遅れないため、初心者でもAIを使えるように解説する予定

 

2.使用ツール

AI作成で使用するツールは、Pythonを使用

 

AIを作る準備(以下googleで検索)

  1. python anacondaインストール
  2. python tensorflowインストール
  3. python kerasインストール
  4. Jupyter notebook起動

Jupyter notebookを起動後画面

f:id:nikudaisukikun:20181230122216p:plain

 ここまでくれば準備完了

 

3.画像認識

AIの利用法として、画像認識がある。今後の自動運転、無人コンビニなどで使用される技術である。

今回は、画像認識の入門[minist 手書き文字認識]を試してみる。

f:id:nikudaisukikun:20181230123300p:plain

 AIに手書き文字を見せて、数字を当てることが目標

 

4.AI(ニューラルネットワーク)

画像認識するニューラルネットワークの構成

f:id:nikudaisukikun:20181230143818j:plain

  •  入力層:画像のデータを入れる
  • 中間層:出力層の答えが正しくなるように計算する
  • 出力層:中間層からの出力から入力画像を認識する

              (画像認識イメージ)

f:id:nikudaisukikun:20181230144310j:plain

 

5.実装

説明したネットワークを実装する。

1:jupyter notebookを立ち上げ、必要な機能をimportする

f:id:nikudaisukikun:20181230145048p:plain

 ここでは、AI開発に便利なtensorflow,keras 

データを保持する箱のnumpy

絵を表示するmatplotlib

f:id:nikudaisukikun:20181230145048p:plain

をimportし、名前が長いのでasで略字(省略)

 

2:minist 手書き文字をインストール

 

f:id:nikudaisukikun:20181230150122p:plain

訓練

x_train:入力画像

y_train:答え

成績確認用

x_test,y_test

 

3:画像を確認する(x_test)

f:id:nikudaisukikun:20181230150803p:plain

訓練用画像25枚を確認

 

4:画像のピクセル値を正規化する

最小0,最大1になるように8bit=255で割る

f:id:nikudaisukikun:20181230151258p:plain

5:ニューラルネットワークを組み立てる

f:id:nikudaisukikun:20181230151939p:plain

入力層:ks.layer.Flatten(input_shape(28,28))

input_shape(28,28):画像の縦,横のピクセル

ks.layer.Flattenで画像2次元データを28×28の1次元データに変換

中間層:ks.layer.Dense(64,activation=tf.nn.relu)

中間層の〇が64で,計算手法がactivation=tf.nn.relu

出力層:ks.layer.Dense(10,activation=tf.nn.softmax)

数字が0~9の10種類なので、〇を10個用意、計算手法がactivation=tf.nn.softmax

 

6:計算させる

f:id:nikudaisukikun:20181230152829p:plain

model.compile()で計算法の指定

optimizer:計算方法

loss:10種類分類するので、sparse_categorical_crossentropyを使用

model.fit(x_tarin,y_train,epoch=5)で計算開始

x_train:入力画像

y_train:答え

epoch:計算繰り返し回数

 

訓練用データで正解率97.99達成

 

今後詳しい内容、CNNなど解説する予定