【Python/Keras】CNN(畳み込みニューラルネット)で画像の分類

Pythonの機械学習モジュール「Keras」でCNN(畳み込みニューラルネット)を実装し、画像を分類する方法をソースコード付きでまとめました。

CNN(畳み込みニューラルネット)で画像の分類

画像に対して深層学習(ディープラーニング)を行う場合は、CNN(畳み込みニューラルネットワーク)を用いるのが一般的です。
そこで、今回は、Python + KerasでCNNを実装し、3種類の画像を分類できる分類器を作成してみました。

【CNN】畳み込みニューラルネットワークの原理・仕組み
CNN(畳み込みニューラルネットワーク)の原理・仕組みについてまとめました。畳み込みニューラルネットワーク(CNN)とは畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)とは、ディー...

動画解説

本ページの内容は以下動画でも解説しています。

【サンプルコード1】データセットを使って分類器を作成

サンプルプログラムのソースコードです。
pillowがインストールされていない場合は「pip3 install pillow」が必要です。


img0, img1, img2ディレクトリに3種類の画像ファイルをたくさん入れます。
例えば、土鍋、マグカップ、やかんを分類したい場合は、車の画像をimg0, 飛行機の画像をimg1, 馬の画像をimg2フォルダにそれぞれ入れます。

【学習用画像の例】
●土鍋の学習用画像(C:\github\sample\python\keras\05_vgg16\ex1_data\img0内に格納)

●マグカップの学習用画像(C:\github\sample\python\keras\05_vgg16\ex1_data\img1に格納)

●やかんの学習用画像(C:\github\sample\python\keras\05_vgg16\ex1_data\img2に格納)

学習結果のグラフは以下のとおりです。

【サンプルコード2】作成した分類器を使う

①で保存した学習データを使って、画像を分類してみます。
学習用データにはない、マグカップ画像(C:/github/sample/python/keras/04_img/ex1_data/test.jpg)を与えて「マグカップ」と分類されたら成功です。


【TensorFlow/Keras入門】ディープラーニングを簡単に手を動かして学ぼう
Pythonモジュール「TensorFlow/Keras」で深層学習(ディープラーニング)を行う方法について入門者向けに使い方を解説します。

コメント

タイトルとURLをコピーしました