【Python/Keras】CNNとCIFAR-10で画像認識・分類

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

【CNN】CIFAR-10で画像認識・分類

畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)とは、ディープラーニングの手法の1つで、主に画像認識に利用されています。
ニューラルネットワークの重み計算に「畳み込み演算(Convolution)」が用いられていることから、CNNと呼ばれています。
畳み込みニューラルネットワークの原理については以下ページで解説しています。

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

動画解説

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

CIFAR-10

CIFAR-10とは、画像分類用のデータセットで、詳細は以下表の通りです。

説明
画像サイズ 32×32[px]
形式 カラー画像(24bitカラー)
クラスラベル airplane(飛行機), automobile(自動車), bird(鳥), cat(猫), deer(鹿), dog(犬), frog(蛙), horse(馬), ship(船), truck(トラック)の10種類
データ量 訓練用データ5万枚、テスト用データ1万枚
関連ページ CIFAR-10公式サイト

今回は、Python3 + KerasでCNN(畳み込みニューラルネットワーク)を構築し、データセット「CIFAR-10」を学習させてみました。

CIFAR-10のダウンロード方法は以下記事で解説しています。

【Python/Keras】CIFAR-10のデータセットをダウンロード
Pythonの機械学習モジュール「Keras」でIFAR-10のデータセットをダウンロードする方法をソースコード付きでまとめました。

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

サンプルプログラムのソースコードです。


【サンプルコード2】作成した分類器で手書き画像の分類

保存した学習データを使って、画像を分類してみます。


試しに、データセットにない画像(いらすとや様の痛車)を与えてみました。

車と認識できました。

【Keras入門】ディープラーニングの使い方/サンプル集
Pythonモジュール「Keras」で深層学習(ディープラーニング)を行う方法について入門者向けに使い方を解説します。
Python 機械学習
西住工房

コメント

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