CaffeのPlacesCNNのリファレンスモデルで画像認識
風景(屋外&屋内)のシーン画像データセットを基に学習されたCNNとして、PlacesCNNがある。
PlacesCNNの論文やデータは以下のサイトから見ることができる。
今回、ダウンロードしたリファレンスモデルは、Places205-CNNである。
Places205-CNNでは、205のシーンカテゴリを認識できる。
以下のサイトからDLできる。上記のMITのサイトからもDL可能。
AlexNet、GoogleNet、VCCの学習済みモデルが公開されている。
また、Hybrid-AlexNetという、ImageNetデータセットとPlaces detaset両方から学習されたモデルもある。これは、物体場所合わせて1183カテゴリを認識できる。
私は、Caffeで手軽に画像分類 - Yahoo! JAPAN Tech Blogのサイトにあったfeature.pyを参考にしたPythonプログラムを使用している。
そのプログラム内でMEAN_FILEを指定する必要があるが、DLしたリファレンスモデルのフォルダ内には.npyファイルが含まれていないので、.npyファイルを作る必要がある。
binaryproto形式からnpy形式への変換は以下のサイトを参考にした。
パス設定は以下のようにした。
MEAN_FILE = './placesCNN/places205_mean.npy'
MODEL_FILE = './placesCNN/places205CNN_deploy.prototxt'
PRETRAINED = './placesCNN/places205CNN_iter_300000.caffemodel'
Places205-CNNの最終層を得たければ、feature.pyで以下のように指定すればよい。
Softmax関数をかけた後の認識結果が得られる。
LAYER = 'prob'
2016年最新のモデルでは、Places365というものもあるらしい。