Pythonの機械学習モジュール「Keras」でCNN(畳み込みニューラルネットワーク)を実装し、CIFAR-10を学習して画像認識・分類する方法をソースコード付きでまとめました。
【CNN】CIFAR-10で画像認識・分類
畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)とは、ディープラーニングの手法の1つで、主に画像認識に利用されています。
ニューラルネットワークの重み計算に「畳み込み演算(Convolution)」が用いられていることから、CNNと呼ばれています。
畳み込みニューラルネットワークの原理については以下ページで解説しています。
404 NOT FOUND | Python入門速報
動画解説
本ページの内容は以下動画でも解説しています。
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】作成した分類器で手書き画像の分類
保存した学習データを使って、画像を分類してみます。
試しに、データセットにない画像(いらすとや様の痛車)を与えてみました。
車と認識できました。
【TensorFlow版Keras入門】ディープラーニングを簡単に学ぶ方法
Pythonモジュール「TensorFlow/Keras」で深層学習(ディープラーニング)を行う方法について入門者向けに使い方を解説します。
コメント