LoginSignup
2
0

More than 1 year has passed since last update.

Oracle Analtyics Cloud:画像認識AIサービスと連携してみる

Posted at

はじめに

Oracle Cloud Infrastracture(OCI)には、Visionという画像認識のAIサービスがあります。
Oracle Analytics Cloud(OAC)のデータ準備機能の一部である「データフロー」と、Visionで提供されている事前学習済みのモデルとの連携を試してみました。
image.png

1. 準備

いくつか準備しておくものがありますので、紹介しておきます。

1.1 画像ファイルの準備

画像認識させるための画像ファイルが必要です。
自分で撮ってきたこんな画像ファイルをいくつか使うことにします。
IMG_6659.png

1.2 オブジェクトストレージの準備

画像ファイルをアップロードするバケットと、一時領域として使用するバケットの2つが必要です。
OACとVisionとの連携では、一度の実行で2万枚までの画像が処理できます。
これを超えそうな場合は、バケットを分けてそれぞれに含まれる画像ファイルが2万を超えないようにします。
今回は、画像ファイルを「Vision」バケットに、一時領域として「MyVisionModelStagingBucket」バケットを使用します。
image.png

1.3 接続に必要な情報

OCIコンソールにログインし、右上のプロファイルアイコンをクリックします。
「テナンシ」に移動します。
image.png
テナンシのOCIDをコピーしてメモしておきます。
オブジェクト・ストレージ・ネームスペースもメモしておきます。
image.png

同様にプロファイルからユーザ情報を表示します。
image.png
ユーザのOCIDもコピーしてメモしておきます。
image.png

1.4 データセット

データセットを準備します。
今回は、CSVで準備しました。

列名
ID IDとなる数値
Bucket_Name 画像が保管されているバケットの名前
Bucket_URL http://cloud.oracle.com/object-storage/<オブジェクト・ストレージ・ネームスペース>/<バケット名>/objects?region=<ホームリージョン>

image.png

2. OACとVisionの連携

2.1 Visionの事前学習済みモデルの登録

OACにログインし、ページメニューから「モデル/関数の登録」-「OCI Visionモデル」を選択します。
image.png
「接続の作成」をクリックします。
image.png
次のように入力します。

項目
接続名 任意の名称
リージョン識別子 ホームリージョンを指定します
テナンシOCID メモしておいたOCID
ユーザーOCID メモしておいたOCID

image.png
APIキーの「生成」をクリックします。
APIキーが生成されたら「コピー」をクリックします。

この画面は閉じないで、ブラウザの新規タブでOCIコンソールにログインし、ユーザの詳細画面で「APIキーの追加」をクリックします。
image.png
「公開キーの貼り付け」を選択し、クリップボードから公開キーをペーストします。
「追加」をクリックします。
image.png

OACに戻ってきて「接続の作成」の「保存」をクリックします。
モデルの選択画面が表示されます。今回はオブジェクト検出の事前学習済みモデルを選択します。
image.png
事前に作成しておいた一時領域用のバケットを「ステージング・バケット名」に入力し「登録」をクリックします。
image.png

2.2 データフローの作成

データフローを作成します。
image.png
事前に作成しておいたCSVファイルをデータセットとして使用します。
image.png
「+」をクリックしてステップを追加します。「AIモデルの適用」をクリックします。
image.png
登録したVisionモデルを選択し「OK」をクリックします。
image.png
「Input Column」を「Bucket_URL」にし、「Maximum Number of Results」を「50」にしました。
image.png
行数をカウントするための列を追加します。
image.png
「データの保存」ステップを追加し、データフローに名前をつけて保存します。
image.png

2.3 結果の確認

データフローを実行し、できあがったデータセットを読み込んでみました。
image.png
駅前で撮った写真を5枚使ったのですが、結構認識するものなんですね!

2.4 カスタム・ビジュアライゼーションの使用

このカスタムビジュアライゼーションを使ってみます。
image.png
ここからダウンロードできます。(無料のユーザ登録は必要です)

「Vision Series plugin」は、オブジェクトストレージ内の画像ファイルをキャンバス内に表示してくれますが、オブジェクトストレージの可視性を「パブリック」にする必要があるため、セキュリティには十分留意してください。
また、OACの安全ドメインに「*.oraclecloud.com」を含めてください。

OACの「コンソール」メニューの「拡張機能」をクリックします。
image.png
ダウンロードしたzipファイルをそのままアップロードしました。
image.png

データフローで作成したデータセットを使用して新規にワークブックを作成します。
「Image File from Bucket」列をキャンバスにドラッグ&ドロップします。
image.png
自動ビジュアライゼーション機能が働いて「表」が作成されるので、導入したカスタムプラグイン「Vision Plugin」に変更します。
image.png
「Vertices」に「Vertex 1」列と「Vertex 3」列をドラッグ&ドロップします。
image.png
「マイ計算」を右クリックして、新規に計算を追加ます。
image.png
「Image File from Bucket」列からファイル名だけを取り出す計算式を記入します。
image.png
作成した計算をキャンバスにドラッグ&ドロップして「表」を作成します。
image.png
作成した表ビジュアライゼーションを「フィルタとして使用」します。
image.png
できあがり。
ファイル名をクリックすると対応する画像が表示され、どこがオブジェクトとして認識されたかがわかるようになりました。
image.png

おわりに

アナリティクスツールとしては、ちょっと変わった使い方になりますが、画像ファイルからオブジェクト認識させた結果を確認するためのアプリケーションが簡単に作成できました。

参考情報

2
0
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
2
0