Pythonの機械学習モジュール「Keras」でCNN(畳み込みニューラルネットワーク)を実装し、VGG16を利用して画像認識・分類する方法をソースコード付きでまとめました。
【Keras】VGG16で画像認識・分類
Pythonの深層学習モジュール「Keras」でVGG16を利用して画像認識・分類します。
VGG16とは、1000種類の膨大な画像データセット「ImageNet」で作成された16層の学習済みCNNモデルです。
2014年のILSVRC(ImageNet Large Scale Visual Recognition Challenge)で登場しました。
VGG16の概要を整理すると以下の通り。
項目 | 説明 |
---|---|
構成 | 畳み込み13層、全結合3層の計16層 |
出力層 | 1000ユニット(1000分類するため) |
分類数 | 1000 |
関連ページ | ■Keras公式ドキュメント |
404 NOT FOUND | Python入門速報
Kerasでは、VGG16の学習済みモデルを「keras.applications.vgg16」で簡単に呼び出して利用できます。
書式
from keras.applications.vgg16 import VGG16 model = VGG16(include_top=True, weights='imagenet', input_tensor=None, input_shape=None)
パラメータ | 説明 |
---|---|
include_top | VGG16の全結合層(FC層)を含むかどうか。(元の1000分類をそのまま利用したいならTrue、カスタマイズして別の用途に使うときはFalse) |
weights | VGG16の重みの種類。(imagenetならImageNetを使って学習した重み、Noneならランダム重み) |
input_tensor | VGG16でFine-tuningする際に利用。 |
input_shape | 入力画像の次元数。(NoneならImageNetの標準である(224, 224, 3)) |
サンプルコード
サンプルプログラムのソースコードです。
入力画像
【TensorFlow版Keras入門】ディープラーニングを簡単に学ぶ方法
Pythonモジュール「TensorFlow/Keras」で深層学習(ディープラーニング)を行う方法について入門者向けに使い方を解説します。
コメント