Google Cloud AutoML Visionで各国の建築様式を分類する
見出し画像

Google Cloud AutoML Visionで各国の建築様式を分類する

はじめに

GoogleのCloud AutoML Visionを触ってみます。
これまでにもVision APIがありましたが、今回のCloud AutoML Visionでは独自の画像認識モデルを作成・利用することができることが可能で、機械学習の専門知識を持たない企業でも独自のラベル付けを行い、自社サービスに特化した使い方ができることが特徴です。
実際に各国の家屋の画像を学習させ、分類させてみることにします。

まずは画像を用意

Bing ImageSearch API から日本、中国、フランスの建築画像を100枚ずつ取得しました。

あまり手間をかけたくないので、下記を参考にカテゴリ別に集めました。
Bing画像検索API v7で画像を収集する

AutoMLコンソールからアップロード

取得したデータセットをAutoML Visionの画面上からアップロードします。
今回は直接アップロードしましたが、CSVファイルをもとにGoogleクラウドストレージから読み込むことも可能です。
アップロードは10分程度で完了し、通知メールが送られてきました。

ちなみに、ファイルの破損がある場合は
Warning: Importing images > File unreadable or invalid
という表示が出るので取り除きます。

ここから画像に任意のラベルを貼っていくことで独自の画像分類モデルを構築していくのですが、
これが可能になったことが、従来の Cloud Vision API と今回の AutoML Vision の大きな違いになるかと思います。

ラベリング

各ラベルを作成し、画像にラベリングしました。
枚数に対しラベリングが少ないと、「こちらでラベル付けしましょうか」とGoogleから提案があります。
Googleのヒューマンラベリングは5,000枚のリクエストに通常1週間未満で完了することのことです。

なお、最良の結果を得るには各ラベルに100以上の画像が必要、とのことなのですが、少ない枚数での精度を見たいので、最小構成でいきます。

学習開始

いざ、トレーニング開始です。
パラメータチューニング等は一切ありません。
座して待つのみ、というかブラウザ閉じて放置でOKです。
メールで通知が来ます。

トレーニングは、割り当てられた計算時間に応じて、15分〜数時間以上かかることがあります。その間、このウィンドウを閉じることができます。訓練が完了すると、電子メールで通知されます。

学習結果

さて、5分程度で完了しました。
平均精度は95.1%、適合率・再現率84.2%です。

分類テスト

これらに対し、新たな画像を用意して分類できるかテストしてみます。

まずはおでん屋
japan 80.1%


日本の住宅街
japan 81.6%

中国
China 97.8%

過度な中国
China 100%
微塵の迷いもないですね

フランスの家
France 80.2%

夜のモンサンミッシェル
China 68.5%
France 31.3%
なるほど

トラディショナルな日本家屋
France 88.4%
あれっ??

日本の城
China 98.9%
何と!?

まとめ

そもそも少ない画像数でバリエーションも少ないうえに、トレーニング内容とテスト画像との乖離があると、普通に誤検出します。当たり前ですね。

結果を改善するには:偽陰性や誤検出と視覚的に類似した画像を追加し、正しくラベル付けされていることを確認し、新しいモデルを作成します。

ということで今回はここまでにします。

この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!
Python/MachineLearning/Rust/AR/Cannondale Caad8