AI研究

[R-4] 機械学習「Tensorflow」+「Keras」

日経ソフトウェア」2017年11月号の記事にある「Tensorflow+Kerasによる機械学習」のフォローを終えました。「桜、バラ、ヒマワリ」の判別を基礎から勉強しました。手順は(1)写真共有サイトの「Flickr」を利用して、桜、バラ、ヒマワリの画像を300枚ずつ集める。(不適切な画像を取り除く「クリーニング」作業は今回省略)(2)画像を75×75ピクセルにリサイズしてNPZ形式に変換する。(3)画像を回転、左右反転などしてデータ数を18倍に増やす。(4)7割:学習用、3割:テスト用にデータを分けて、ニューラルネットワークを構築し、機械学習データを保存する。(5)未知の「桜、バラ、ヒマワリ」の画像の判別を行う。結果はバラ1:99%、バラ2:100%、バラ3:100%、桜1:99%、桜2:99%、桜3:99%、ヒマワリ1:76%、ヒマワリ2:99%、ヒマワリ3:99%の確率で、全て判別に成功しました。 次に「鉄腕アトム」と「スパイダーマン」と「鉄人28号」のデータで、試してみました。ネットにあるデータが少ないので、それぞれ30個ずつになりました。データは左右対称と回転で18倍に増量しています。それぞれ3個ずつ、合計9個の未知のデータの判別で、1個だけ「鉄人28号」を「スパイダーマン」と間違えましたが、他は正解でした。(2017/11/23)  
「日経ソフトウェア」2017年11月号

「日経ソフトウェア」2017年11月号

 
テスト1画像

テスト1画像

 
テスト1結果

テスト1結果

 
全データ「鉄腕アトム」

全データ「鉄腕アトム」

 
全データ「スパイダーマン」

全データ「スパイダーマン」

 
全データ「鉄人28号」

全データ「鉄人28号」

 
テスト2画像

テスト2画像

 
テスト2a結果

テスト2a結果

 
テスト2b結果

テスト2b結果

[R-3] ミュージックベルのスペクトル分析

ミュージックベル(ハンドベル)を使って、「振動モーター」と「手振り」で鳴らす音を比較しました。「振動モーター」はスマホのバイブレーションなどで使われているモーターです。Pythonによる高速フーリエ変換(FFT)とグラフ描画ツール(Pylab-plot)を使いました。振動モーターの調節、音の切り出し、FFTの設定などで相当の時間かかりました。両者の音の感じは大きく異なりますが、最大振幅のスペクトルが同じ周波数になることがわかります。理論値の周波数表も示しました。なお動画の手振り音は3回鳴らしていますが、スペクトルは1回分です。この実験のPythonソースプログラムとデータのダウンロードはここをクリックしてください。(2017/09/11)
「ミュージックベルと振動モーター」

「ミュージックベルと振動モーター」

「12音階の周波数理論値」

「12音階の周波数理論値」

                     

[R-2] Tensorflow「物体認識1」

物体認識」を行うために、いろいろとTensorflowの本を読んでいますが、理論が難しく自分でできそうな実例がないので、Webに上がっている実験をフォローしました。開発環境を構築するのに少し苦労しました。認識学習済みのデータはダウンロードで入手できます。実験画像はグーグルのWeb画像から選んできました。第5候補まで確率付きで認識します。英語版ですが、かなり精度はいいです。実験装置と実験結果をアップします。参考Webサイトはこちらです。(2017/06/26)
物体認識1実験装置

物体認識1実験装置

「物体認識1」結果1

「物体認識1」結果1

「物体認識1」結果2

「物体認識1」結果2