Flutter

Vertex AIで画像分類モデルをつくってみた

Vertex AIの画像分類モデルをつくってみたので、その方法を書き記しておきます。

なおVertex AIはGoogle Cloudのコンソールから設定できます。

モデルの種類をえらぶ

はじめに、どんなモデルをつくりたいのか。

その種類を選びます。

4種類のデータタイプから目標を選べます。

今回は画像データセットから、画像分類(単一ラベル)を目標に設定します。

データセットを指定する

つぎにデータセットをつくります。

データセットとはVertex AIに学習させる画像群のことです。

画像のインポート方法は3種類あって、今回はチュートリアルとして用意された画像URIとラベルのファイルをつかっていきますので「インポートファイルをCloud Storageから選択」を選び続行します。

画像のインポート

画像のインポートが行われると、結果が表示されます。

数枚の画像がエラーになりましたが概ね取り込めました。各画像の下には読み込ませたラベルが表示されています。

今回はおよそ3700枚の画像をインポートしました。

機械学習のトレーニングにはこれくらいの枚数が必要になるんですねー。自分で独自のモデルをつくるのはそれなりに準備が必要ですね。

モデルをつくる

画像とCSVのデータセットを取り込んだら次に画像検知用のモデルをつくります。

Model Registry画面から作成。 このあたりの流れはとても直感的でわかりやすいですね。

モデルの設定

モデルの設定をしていきます。

トレーニングにつかうデータセット(画像群)はデフォルトでランダムに8:1:1に分割されます。

検証用に1割(370枚程度)、最終テスト用に1割が使われるため、画像枚数は多いほうが良さそうですね。

費用の設定

コンピューティングと料金の設定。

約4,000枚の画像処理に対して8ノード時間との見積もりが表示される。 8×3.465ドル×145円 ≒ 4,000円かかりそうです。

トレーニングの開始

モデル作成の設定を完了するとトレーニングがはじまります。

トレーニングの完了

トレーニングの完了。

見積もりどおりに8ノード時間でした。

モデル作成にかかる費用感がつかめたので良かったです。みなさまの参考になればと思います。

モデルのデプロイ

モデルのトレーニングを終えたのでエンドポイントにデプロイしていきます。

「デプロイとテスト」から「エンドポイントにデプロイ」をクリックします。

デプロイの完了

デプロイの完了まで待ちます。

モデルのテスト

完成したモデルをテストしてみました。

Unsplash(Tiffany Nguyen)の画像をテストしてみたところ、95.3%の信頼度で薔薇と認識してます。

これでVertex AIのモデル作成フローをひととおり回せました🙂

おまけ

Vertex AIでのモデル作成の一連の流れを試してみました。

基本的なことではありますが画像の収集が重要になりそうです。

さいごのおまけとして、今回作ったモデルではなくTensorFlow liteで用意された物体検知モデルをFlutterから実行した動画をおいておきます。

Flutter×TensorFlow liteでもこのあたりまではできるんですねー。