AI Builder に新たに追加されたモデル「画像の説明」について

この記事は、[Microsoft Power Automate Advent Calendar 2023](https://qiita.com/advent-calendar/2023/powerautomate) に参加しています。
カレンダー1 の 5日目 です。

# はじめに

AI Builder に「画像の説明」モデルが新たに追加されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480768/0d277a9e-3631-c31f-aabe-51fca3369418.png)

**画像を AI が分析し、その視覚的特徴を人間が判読できるフレーズと、タグで出力します。**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480768/f73305c0-d8b2-a676-5828-58f7788ec22c.png)

私の自撮り画像（X 等アイコン利用）からは、

```
説明
　ライオンのクローズアップ
タグ
　大きな猫、ライオン、探している、近い、見つめる、黄褐色、距離
```

が出力されました

この新しいモデルについて説明します。

# 注意

「画像の説明」モデルはPreview機能です。（2023/12/03 時点）

AI Builder を利用するには、Power Automate Premium ，Power Apps Premium または Dynamics 365 Finance といったライセンスに付帯する「ザービスクレジット」を利用する必要があります。

# 仕様
事前構築済みモデルが画像を分析し、その視覚的特徴に基づいて理解しやすい説明分を生成します。
事前構築済みモデルのため、学習によるモデルのカスタマイズは不可です。

Azure Cognitive Service の Azure AI Vision に含まれる、以下２つのモデルが１つ統合した機能となります。お得ですね！

* Image captions

https://learn.microsoft.com/ja-jp/azure/ai-services/computer-vision/concept-describe-images-40?tabs=image

* Image tagging

https://learn.microsoft.com/ja-jp/azure/ai-services/computer-vision/concept-tagging-images

# 仕様と制限

入出力仕様の説明です。


<table>
  <caption>入力となる画像ファイルの仕様</caption>
  <thead>
    <tr>
      <th>プロパティ</th> <th>説明</th>
    </tr>
  </thead>
  <tr>
    <td> 形式 </td> <td>.JPG、.JPEG、.PNG、.BMP</td>
  </tr>
  <tr>
    <td> サイズ </td> <td>4 MBまで <br>50 x 50 ピクセルより大きいこと</td>
  </tr>
</table>


<table>
  <caption>出力仕様</caption>
  <thead>
    <tr>
      <th>プロパティ</th> <th>説明</th>
    </tr>
  </thead>
  <tr>
    <td> 説明 </td> <td>イメージの説明</td>
  </tr>
  <tr>
    <td> タグ </td> <td>画像から抽出されたタグの一覧</td>
  </tr>
  <tr>
    <td> 信頼度スコア </td> <td>予測の精度（％）</td>
  </tr></table>


:::note warn
2023/11/23 時点で Preview 段階であり、出力は英語 (米国)となります。
:::

# Power Automateでの利用

最小限のフローの一例です。


![{5DB2ECAB-E045-4E79-BEA6-90E21F38D16E}.tmp.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480768/0b3d8ffb-d166-5489-6e99-689196070ab0.png)



SharePoint や OneDrive コネクタの「ファイル コンテンツの取得」から画像ファイルを取得し、当モデル処理するのが簡単です。
![{5DB2ECAB-E045-4E79-BEA6-90E21F38D16E}.tmp.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480768/4be13508-2298-3ab8-e2ad-aaba8d4e60d3.png)



[AI Builder]コネクタの[画像の説明を生成する]アクションを選択し、上記で取得したファイルコンテンツをInputパラメータとします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480768/3b0ce27e-de60-49d3-6724-25519916b68a.png)

参考までに出力のJSONです。
「説明」や「タグ」は後続処理で動的なコンテンツとして取得可能です。
 ```
    "body": {
        "@odata.context": "https://orgd7915745.crm7.dynamics.com/api/data/v9.1/$metadata#Microsoft.Dynamics.CRM.PredictResponse",
        "responsev2": {
            "@odata.type": "#Microsoft.Dynamics.CRM.expando",
            "operationStatus": "Success",
            "predictionId": "6bc6f71f-db15-45c2-92a3-9668fc2a842a",
            "predictionOutput": {
                "@odata.type": "#Microsoft.Dynamics.CRM.expando",
                "description": "a lion with brown eyes",
                "descriptionConfidence": 0.45085760951042175,
                "objects@odata.type": "#Collection(String)",
                "objects": [
                    "looking",
                    "brown",
                    "big cat",
                    "close",
                    "staring",
                    "eyes",
                    "distance",
                    "lion"
                ]
            }
        }
    }
 ```

 * 画像の説明
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480768/f700d160-418f-69de-8f2a-af2cc098ef98.png)

* タグ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480768/efebead5-3288-a5cb-05b1-e2aa7c2f4a25.png)

:::note info
タグは配列の形式で出力されますので、ループ処理や選択アクションを利用し、取得してください。
:::

* 信頼度スコア
AIによる予想の制度を表す信頼度スコアも動的なコンテンツで取得可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480768/a7345fc6-ca1f-dd39-a7f8-af771db2ba9e.png)


# まとめ
「画像の説明」モデルの活用例として以下が考えられます。

* タグ付けされた画像のコンテンツ管理
* 視覚障碍者へのサポート
* 監視カメラから特定の行動や物体を識別しセキュリティの向上　など

非常に強力なモデルですので、ご活用いただければ幸いです。