3
1

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 1 year has passed since last update.

Oracle Cloud Infrastructure AI サービス Vision を使ってカスタム・イメージ分類モデルを作成する

Last updated at Posted at 2023-01-30

OCI AIサービス & OCI Vision とは ?

オラクル・クラウドが提供する OCI AIサービス のひとつに Vision という画像ベースのコンテンツ分析サービスがあります。開発者は、APIコールを実行して、事前学習済みのモデルをアプリケーションに簡単に統合したり、特定のユースケースに合わせてカスタム・トレーニング・モデルを作成したりすることができます。こうした画像認識技術は色々なユースケースに応用が利くことは既に皆さんご承知の通りだと思います。
Vision サービスは API はもちろんこと、ユーザー・インタフェースも提供していますので、機械学習やプログラミングに不慣れな方でも簡単にサービスを利用していただけるものになっています。

Vision サービスでは二つの機械学習モデルを利用することができます。

  1. 事前トレーニング済みモデル

    • 「オブジェクト検出」人、車、木、犬など、画像内のオブジェクトの位置を検出します。出力には、見つかった各オブジェクトの境界ボックスの座標が含まれます。
    • 「画像分類」画像内のシーンベースの特徴とオブジェクトを分類します。
  2. カスタムモデル
    データセットに基づいてモデルをトレーニングするようにVisionに指示することで、機器・製品の欠陥品の検出、自社商品のSKUによる分類、ロゴの不正使用など不適切なコンテンツの検出等々、シナリオに適したカスタム・モデルを作成できます。

    • 「カスタム・オブジェクト検出」イメージ内のオブジェクトとその場所を検出するモデルを作成します。出力には、信頼度スコアと、見つかった各オブジェクトの境界ボックスの座標が含まれます。
    • 「カスタム・イメージ分類」イメージ内のシーンベースのフィーチャとオブジェクトを分類するためのモデルを作成します。出力は、各分類の信頼度スコアを返します。

OCI Vision を使ったカスタム・イメージ分類

そして、ここからが本題ですが、上記「カスタム・イメージ分類」のモデル作成を、APIベースでやってみました。

https://github.com/robotduinom/lemon_dataset で提供されているレモンの品質管理画像を使って、レモンを "good", "bad", "empty (カメラに写り込んでない)" に分類します。
image.png
今回のお題で扱った画像ファイルは 2000 枚を超えていて、ユーザー・インタフェースから全部ラベリング(分類のタグ付け)するのはちょっとしんどいので、この部分を API で実施して自動化するのと、どうせなのでデータのオブジェクト・ストレージへのアップロードから分析(モデルを使った画像分類作業)までを Jupyter Notebook ベースで作成しました。

ちなみにこのラベル付けの作業自体は、OCI Vision ではなくて、OCI Data Labeling という別のサービスとなっています。
image.png
上図のような UIでコンソールからもラベル付けの作業が行えます。今回は Jupyter Notebook から OCI SDK for Python を使って Data Labeling による画像へのラベル付け作業と、このラベル付けされたデータセットを使った Vision によるカスタムモデルの作成までの一連の処理を行っています。

最終的に Jupyter Notebook では、こんな感じでランダムに選んだ画像データを信頼度とともに分類して表示します。
image.png
トレーニング結果については、下の画像のようにコンソールから確認できますし、APIを使ってモデルの詳細情報を取得することもできます。
image.png

まとめ

ということで、OCI Vision の「事前トレーニング済みモデル 」と「カスタムモデル」を使いこなせば、かなり広範囲のユースケースに対して Time to Value なソリューションを提供できるのではないでしょうか。カスタムモデルの作成もラベル付けしたデータを渡しさえすれば、あとは OCI Vision 側でモデルの作成作業を全部やってくれるので、機械学習のハードルをぐっと低くしてくれるものだと思います。是非お試し下さい!

3
1
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
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?