0
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ImageNetで画像を猫か否か識別する

Last updated at Posted at 2019-05-15

猫か否かを判断する画像認識を作成したい。
画像を集めて作成してもよいが、すでに先人達が開発してくださっているImageNetでできないか試してみた。

やってみたのはVGG16とInception V3

まずはVGG16

VGG16とInception V3のライブラリをインポート

from PIL import Image
import numpy as np
from tensorflow.python.keras.preprocessing.image import img_to_array, load_img
from tensorflow.python.keras.applications.vgg16 import VGG16,preprocess_input,decode_predictions
from keras.applications.inception_v3 import InceptionV3
from keras.applications.inception_v3 import preprocess_input

モデルを設定。結合層はそのまま使うのでTrue

model=VGG16(weights='imagenet', include_top=True)

画像を入力用形式へ変換する。

img = load_img("calico.jpg",target_size=(224,224))
arr_img=img_to_array(img)
arr_img=preprocess_input(arr_img)
arr_input=np.stack([arr_img])
# (x,224,224,3)の4次元でないとmodelで読み込みできない

識別用テスト画像としては以下の三毛猫を使用した。
calico.jpg

画像を識別

predict=model.predict(arr_input)

results = decode_predictions(predict,top=5)
results[0]

[('n03788365', 'mosquito_net', 0.096424125),
 ('n04209239', 'shower_curtain', 0.020692192),
 ('n15075141', 'toilet_tissue', 0.018790046),
 ('n03291819', 'envelope', 0.012404914),
 ('n03924679', 'photocopier', 0.010215216)]
​

正しく識別できていない。
なのでそのほかのImageNetをやる。
次にInception V3を試してみた。変更点はmodelを変更したことと、データサイズを224224から299299に変更したこと

model=InceptionV3(weights='imagenet', include_top=True)

img = load_img("calico.jpg",target_size=(299,299))

[('n02124075', 'Egyptian_cat', 0.158072),
 ('n02123045', 'tabby', 0.12637995),
 ('n02797295', 'barrow', 0.10442561),
 ('n02123159', 'tiger_cat', 0.08068305),
 ('n04152593', 'screen', 0.08066112)]

比較的猫の回答が出ており、適正な認識をしている。

0
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?