はじめに
最近は僕の身の回りやメディアでもAIの話題が増えてきました。AIについて、少しずつでも勉強していかないとエンジニアとして取り残されてしまう懸念を持っています。
そこでまずは使って慣れてみることが重要だと思いますので、Tensorflowとkerasを使って、Raspberry Pi 4上で以下のWebページにある各モデルで画像認識を試してみました。
Tensorflow、kerasとは?
Tensorflowは、以下のWebページに詳細が説明されておりますが、Googleが開発したディープラーニングを簡単に使用可能なソフトウェアフレームワークのことです。僕のような初心者でも簡単に使えるようです。
また、kerasはTensorflowのラッパーとして機能し、簡単にディープラーニングを行うことができるpythonのライブラリです。
まずはTensorflowとkerasを使ってディープラーニングを体験してみたいと思います。
事前準備
定番ではありますが、今回は「ゴールデンレトリバー」のJpeg画像を2枚用意しました(サイズ違いで同じ内容:224x224と600x600)。
これらのJpeg画像を入力として、各モデルでどのくらいの精度で「ゴールデンレトリバー」と認識できるかを試してみました。
使用したPythonコードは、Keras Applicationsに記載されているUsage examples for image classification modelsを使用しました。
結果
僕の環境では以下のようになりました。
まずは入力画像224x224を使った場合の結果です。
入力画像600x600を使った方が全体的に認識率が上がっているような気がします。入力画像の解像度も認識率には影響しそうです。
僕の環境ではResNetが比較的、認識率が高めでした。処理時間は圧倒的にMobileNetが早かったです。認識率もそこそこ高いので、Raspberry PiでディープラーニングするならMobileNetを使うのが良いのかなという印象でした。