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というものもあるらしい。