学習済みディープラーニングモデルを使って画像分類する方法【TensorFlow/VGG16】こんにちは、えびかずきです!今回は学習済みのディープラーニングモデルを使って、画像分類を試してみたいと思います。難易度の高い学習のプロセスを飛ばして、簡単にディープラーニングの威力を感じてみましょう。(ケラス)という深層学習ライブラリ(Tensorflowから利用可)のVGG16という学習済みのディープラーニングモデルを使用します。猫や犬などの動物を初めとして、風船、バナナ、ギター、など身近な物体を全1000クラスに分類できるよう学習させたCNN(畳み込みニューラルネットワーク)モデルです。VGG16のクラス分類に関する参考サイト実際にどんなクラス分類があるかは、web上を探してみたところ下記サイトなどにまとめられていました。何を試すか?今回は当サイト「エビワークス」に関連して、ディープラーニングでオマール海老と伊勢海老を判別できるか?ということをチャレンジしてみたいと思います。(笑)以下が使用する画像です。omar-0.jpgomar-1.jpgomar-2.jpg→オマール海老はハンマーの様な大きなハサミが特徴。分類できれば、VGG16の画像分類で”American_lobster”という結果が出力されるはず。ise-0.jpgise-1.jpgise-2.jpg→伊勢海老はハサミを持たない代わりに大きな触覚があることが特徴。分類できれば、VGG16の画像分類で”spiny_lobster”という結果が出力されるはず。えびかずき人間が見れば一目瞭然ですが、ディープラーニングにこの違いを見分けることはできるでしょうか!?分類プログラム(Python)Pythonでプログラムを実装します。作成したプログラムは以下の通りです。※下記プログラムは複数画像を一気テストする仕様になっています。1枚の画像で簡単に試してみたいという方は、おまけの欄にコードを添付しましたので、そちらをご利用ください。print('result_ise-'+str(i)+'=',results_ise[i][0])※実際にご自分で試してみる場合は事前に開発環境欄に示したライブラリをインストールしておいてください。※画像ファイルの名前の部分については実際に使用するファイル名に書き換えてください。0.9897885)伊勢海老の画像についてはなんと全て正解でした!一方でオマール海老については、3枚中1枚しか正解できませんでした。不正解の2枚については”scorpion(サソリ)”と”crayfish(ザリガニ)”ということでした。人間から見れば”サソリ”は流石に違うだろうと思いますが、”ザリガニ”はたしかに特徴が似ているし間違えてもしょうがないかなという印象です。まとめ今回はVGG16というCNN学習済みモデルを使用して、オマール海老と伊勢海老の画像分類にチャレンジしてみました。結果はトータルで6枚中4枚とまずまずの結果では無いでしょうか?今回の例のように学習済みのモデルを使用すれば簡単にディープラーニングの威力を体感することができますので、皆さんもいろいろ遊んでみては如何でしょうか?おまけとしてもう少し遊んでみた結果を付け足しておきました↓おまけその他の画像についても、お試しでテストをしてみました。今回は以下に示した1枚の画像でテストするプログラムを作成して実行してみます。某有名かに料理屋のモニュメントでテストしてみました。プログラム作成には、以下の書籍を参考にさせていただきました。現職の化学系エンジニアです。理系技術者やエンジニア向けのお役立ち情報を不定期に配信中。2020.01.16こんにちは、えびかずきです。転移学習で活用する方法について説明したいと思います。ディープラーニングの活用において学習済みモデルの保存・読み込みは必須作業です。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。プロフィールえびかずき現職の化学系エンジニア。理系技術者やエンジニア向けのお役立ち情報を不定期に配信中。WordPress.。