1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Oracle Analtyics CloudとOCI画像認識AIサービスとの連携について試してみた

Posted at

Oracle Cloud Infrastracture(OCI)では、OCI Visionという画像認識のAIサービスが提供されています。このサービスを利用すると、画像ファイルに含まれるオブジェクトの検出や分類を行うことができます。

Oracle Analytics Cloud(OAC)のデータ準備機能(データ・フロー)から、OCI Visionが提供する事前学習済みの画像分析用モデルを呼び出してデータセットに適用することができます。

今回は、Oracle Analytics CloudとOCI Vison連携を試してみます。

001.JPG

ステップ1:準備

1.1 画像ファイルの準備

まず、画像認識をさせたい、画像ファイルを準備します。OCI Vsionでは、JPGとPNGのフォーマットの画像ファイルを取り込むことができます。

利用可能なファイルフォーマット:JPG、PNG

最大ファイルサイズ:5MB

IMG_0131.jpg

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

画像ファイルを格納するバケットと、ステージング領域として使用するバケットの2つが必要です。画像ファイルを格納するバケットとステージング用のバケットは同一のものでも構いません。

今回は、「Tutrial_Backet」バケットを一つ用意して使いまわすことにします。

バケットはプライベートでもパブリックでも構いませんが、Analytics Cloudからアクセスできるようになっている必要があります。今回は、画像ファイルを表示するためのビジュアライズ表現をAnalytics Cloud上で利用する都合上、パブリックに変更します。

003.JPG

1.3 イメージのアップロード

イメージをバケットにアップロードします。

バケットに無関係なファイルが含まれていないことを確認してください。Oracle Analyticsは、バケット内のすべてのファイルを処理します。


005.JPG

1.4 データセットの準備

データセットを準備します。今回はCSVフォーマットで準備します。

a. IDImage NameおよびFile Locationのフィールドを含むCSVファイルを作成します。

b. オブジェクトストレージ内の各イメージについて、省略アイコン省略アイコンをクリックし、「オブジェクト詳細の表示」を選択します。

c. 「名前」の値および「URLパス(URI)」の値をコピーします。

d. 「名前」の値をImage Nameに貼り付け、「URLパス(URI)」の値をFile Locationに貼り付けます。

列名 備考 必須
ID IDとなる数値 Y
Image Name 画像ファイルの「名前」 Y
File Location 画像ファイルが格納されている「URLパス(URI)」 Y
Uploaded Date 画像ファイルのアップロード日、時間 N
Size 画像ファイルのサイズ
バケットのタイプ N

CSVファイルのサンプル

005.JPG

任意の名前をつけて、CSVファイルを保存します。

1.5 データセットの作成

Oracle Analytics Cloudのホーム画面で、「作成」、「データセット」の順にクリックします。

006.JPG

ステップ1.4で作成したCSVファイルをアップロードし、任意の名前(今回はVison_Image)データセットを保存します

007.JPG

ステップ2:Analtics CloudとOCI Visionの連携

2.1接続情報の取得

OCIコンソールにログインし、右上のプロファイルアイコンをクリックします。
「テナンシ」に移動します。

008.JPG

テナンシのOCIDをコピーして控えておきます。
009.JPG

同様にプロファイルからユーザー情報を表示します。

010.JPG

ユーザーのOCIDもコピーして控えておきます

011.JPG

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

Analytics Cloudにログインし、Oracle Analyticsホーム・ページで、「ページ・メニュー」 「ページ・メニュー」の省略記号をクリックし、「モデル/関数の登録」、「OCI Visionモデル」の順に選択します。

012.JPG

「接続の作成」をクリックします。

013.JPG

次の項目を入力します。

接続名:任意の接続名称

接続情報:APIキーを選択

テナントOCID:2.1で控えておいたユーザーOCID

ユーザーOCID:2.1で控えておいたユーザーOCID

APIキーの「生成」ボタンをクリックします。

生成されたAPIキーをコピーし、控えておきます。

014.JPG

この画面を「保存」する前に。ブラウザの新規タブでOCIコンソールにログインし、ユーザーの詳細画面で「APIキーの追加」をクリックします。

015.JPG

「公開キーの貼付け」を選択し、Analytics Cloudの接続定義画面で生成したAPIキーを貼付けて、「追加」をクリックします。

016.JPG

「閉じる」をクリックしたら、Oracle Analytics Cloudの設定画面に戻ってきて「接続の作成」の「保存」をクリックします。

Oracle Analytics Cloudのホーム・ページで、「ページ・メニュー」 「ページ・メニュー」の省略記号をクリックし、「モデル/関数の登録」、OCI Visionモデルの順に選択します。

Visionモデルの登録ダイアログで、「接続から」の下にある、先ほど作成した接続「test_Bucket」を選択します。

017.JPG

使用可能な事前定義済みモデルのリストが表示されます。

018.JPG

使用可能なモデルのリストから、画像データに適用するモデルを選択します。

今回は、画像データに写っているオブジェクトを検出したいので、「Pretrained Object Detection」を選択します。

モデルの詳細を表示する情報パネルがポップアップ表示されるので、

「モデル名」に、Oracle Analytics Cloud内でモデルを識別するための名前を指定します。

ステージング・バケット名には、用意したオブジェクトストレージのバケット名(今回は、Tutrial_Bucket)を入力します。

最後に「登録」をクリックします。

019.JPG

2.3 データ・フローの作成と実行

Oracle Analytics Cloudのホーム画面で、「作成」、「データ・フロー」の順にクリックします

020.JPG

ステップ1.5で作成したデータセット(Vision_Imange)を選択し「追加」をクリックします。

021.JPG

データ・フローの編集画面で、「+」をクリックして、「AIモデルの適用」ステップを追加します。

022.JPG

ステップ2.2で登録したOCI Visionのモデル「Pretrained Object Detection」を選択し「OK」をクリックします。

023.JPG

パラメータを以下の要領で指定します。

Input Column:画像ファイルが格納されている「URLパス(URI)」が記載されたカラム(File Location)

Input Type: BucketかImagesのどちらかを選択。今回のデータセットは、個別の画像ファイルを指定しているので、Imageを選択

Maximum Number of Results:画像ファイル上で検出するオブジェクトの数の上限を指定(デフォルトは5)

024.JPG

「データの保存」ステップを追加し、データセットに任意の名称(今回は、Image_detection)指定します。

025.JPG

026.JPG

データ・フローに任意の名前(今回は、Image_detection_DF)を付けて、「データ・フローの実行」をクリックします。
027.JPG

データ・フローの実行が完了したら、生成されたデータセットを開きます。

生成されたデータセットを見つけるには、Oracle Analytics Cloudのホーム・ページから、「データ」、「データセット」の順に移動します。

028.JPG

ステップ3:データセットの分析

3.1 カスタム・ビジュアル・プラグインのダウンロードとセットアップ

下記URLから、カスタム・ビジュアル・プラグイン「AI Vision Series」をダウンロードします。この拡張機能を利用すると、OCI Visionのモデルの分析結果で検出されたオブジェクトに関するデータを対象となる画像ファイル上にプロットすることができます。

※ダウンロードには、アカウント登録(無料)が必要です。

029.JPG

Oracle Analytics Cloudのホーム画面から、「コンソール」メニューの「拡張機能」をクリックします。

030.JPG

ダウンロードしたZipファイルを「拡張機能のアップロード」にドラグすると、カスタム・ビジュアル・プラグイン(com-company-visionseries)が追加されます。

031.JPG

3.2 ブラウザのセキュリティ・ブロック設定の無効化

カスタム・ビジュアル・プラグインで画像ファイルがブロックされないようにするために、

Google Chromeを利用する場合、以下のURLを開き、「Block insecure Private network requests」の設定を無効化(Disabled)します。

Google Chrome Block insecure privae network requests

035.JPG

3.2 ワークブックの作成

データ・フローで生成されたデータセット(Image_detection)を使用して新規にワークブックを作成します。
「File Location」列をキャンバスにドラッグ&ドロップします。

034.bmp.png

自動的に「表」形式で結果が表示されますが、カスタム・プラグイン「Vision Plugin」に変更します。

033.JPG

「Vertices」に「Vertex 1」列と「Vertex 3」列をドラッグ&ドロップします。

040.bmp.png

コントロールキーを押しながらObject NameVertex1Vertex2Image Nameカラムを選択し、キャンバスに、ドラグします。

新しい「表」がキャンバスに追加されました。

041.png

「表」の右クリックメニュから、「フィルタとして使用」を選択します。

042.JPG

「表」のImage Name列で、特定の行(i㎎0112.jpg)を選択すると、Object Name列には、”Cat”と表示されていますが、これは、OCI Visionがこの画像を分析して検出したオブジェクトを示しています。

また、画面右の画像ファイルが切り替わります。画像ファイルの中で、検出されたオブジェクトにオレンジ色の枠が付いています。

043.JPG

まとめ

  • Oracle Analytics Cloudでは、OCIが提供するAI画像認識サービス「OCI Vision」と連携することで、オブジェクト・ストレージに保存された画像ファイル上のオブジェクトを検出し、結果データをビジュアライズすることが可能です。
  • OCI Visionの画像認識モデルを呼び出した、データ・フロー機能は、スケジュール実行することも出来るので、定期的にオブジェクト・ストレージのバケットに蓄積されたデータを分析、オブジェクト検出、ビジュアライズすることも出来そうです。
  • 現時点では、事前定義済みのモデルを呼び出すことが可能なようですが、将来的にOCI Visionで作成したカスタム・モデルについても呼び出せるようになれば、画像認識データの利用の幅が広がると思いました。

参考情報

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?