Azure AIのVision Studioを軽く触ってみた

# 概要

Azure AIのVision StudioというWebサービスを使うと、トレーニング済みのモデルを利用して、ブラウザで、画像・動画解析のデモを試すことができます。自分の手元の画像や動画も使えます。

https://portal.vision.cognitive.azure.com/


# はじめに

12月から、AzureのAI-102試験を勉強しております。

https://learn.microsoft.com/en-us/credentials/certifications/azure-ai-engineer/?practice-assessment-type=certification

AI-102試験で扱う主なサービスは、以下のとおりです。

* :eye: 視覚（Vision）
* :abc: 自然言語（Natural Language）
* :speaking_head: 音声（Speech）
* :page_facing_up: 文書（Document Intelligence）
* :mag: 検索（Knowledge Mining）
* :bulb: 生成AI（Generative AI）

視覚（Vision）に関する主なサービスは、以下のとおりです。

* Vision
    * 画像に写っているものを特定する（一般的でないものは特定不可）
    * 画像に写っている文字を読み取る。
    * 画像に人の顔が写っているか、また簡単な識別（この顔は誰か）も可能
    * 空間分析
        * 動画内の、人の数、出入り、人同士の距離を分析可能。
* Custom Vision
    * 専用のモデルを構築し、画像内の、登録した物体（社内で開発中の製品など）を特定する。
* Face
    * 画像に写っている人の顔を、細かく分析する。
        * 年齢、感情、ヒゲ・メガネの有無など。
* Video Indexer
    * 動画の様々な内容を分析する。
        * 文字起こし
        * 人の顔、感情
        * 音（SE,BGM）

まとめ
* 画像ならVision、動画ならVideo Indexerが基本的な機能を備えています。
* Visionの空間分析でも動画を扱いますが、これはエッジコンピュータでストリームデータを扱うことを想定しているので、結構特殊な印象を受けました。現場のカメラとコンピュータで、コロナ対策をする時に役立ちそうです。
* Video Indexerは、Web会議やテレビ番組のようなものを後から解析するときに使えそうですね。
* Custom VisionとFaceは特定の用途向けですね。

# Vision Studioとは
Copilotに聞いてみました。

> Azure AIのVision Studioは、Azure AI Visionの機能を探索、構築、統合できるUIベースのツールです。これにより、コードを記述することなく、さまざまなサービス機能を試し、提供される内容を学ぶことができます

URLはこちらです。

https://portal.vision.cognitive.azure.com/

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3680908/63192ddb-372f-27c6-096a-30fb72fd4b48.png)

　
ある程度の機能は、ログインなしでも使えるようです。

ちなみにログインして使う場合ですが、Azure AI Servicesのリソースを指定する必要があ流ので、作っておきましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3680908/8e5b5414-2da7-7081-0f33-fa578b9d2605.png)

　
その際に、インスタンスのリージョンが、日本だと、Vision Studioで利用できないので、以下の中から選ぶと良いです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3680908/5f72b49d-7562-670c-8100-38f949887fb3.png)

　
それでは、早速使ってみましょう。

# Add dense captions to images

先ほどの一覧ページにあった、これをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3680908/bb887b27-ae9f-32bb-c6fc-9ff0a6424204.png)

すると、以下のページに遷移します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3680908/f85f27c5-5a16-9048-6a3c-a96a9ceb9450.png)

人と犬が写っている写真をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3680908/c3f0e8d0-d276-599e-aa49-1653e4057d6d.png)

選択した画像が左下に大きく写し出されました。
また、どんな画像なのか、AIが右下に表示してくれました。

右下の説明をクリックすると、それが、画像上のどこのことなのか、左下にオレンジの枠で表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3680908/72cdd607-9ed8-cbf7-1d9a-bd902e7a2d91.png)

自分の持っている画像をアップロードして解析できるので、やってみました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3680908/dcd19ad9-e7ad-f1ae-3ec2-555af3f36c09.png)
多摩川沿いの神社近くで撮った写真です。
風車が認識されてますが、いくつか無視されてますね:sweat_smile:

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3680908/54cb2fa6-2545-db1a-45f9-cbc61b033d9a.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3680908/933693f4-1f6d-5c46-8f48-79fb8da05ab1.png)

# Search photos with image retrieval

次はこれを試してみます。

ある写真のグループがあります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3680908/1de26759-7d5c-12a2-2e2f-51af2d08e37e.png)

クエリを選ぶことで、関連した画像だけ絞り込むことができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3680908/95b3cd60-907a-d8d1-36d8-7f0debc0f3f7.png)

左右のスライダーを右にずらすと、緩やかな判定になり、クエリと関係ない画像が後ろの方に表示されます。

# Extract text from images
OCRで文字起こしができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3680908/6a7af328-897b-0cf0-4405-c4440c970ca3.png)

# Create smart-cropped images
写っている内容を考慮して、画像を切り取り加工します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3680908/5c7f0a13-48e2-7e28-cc79-07106c1d2e5e.png)

# Detect faces in an image
人間の顔を認識します。マスクの有無及び、マスクで鼻が隠れているかまでチェックできます:mask:

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3680908/48b0c3d4-3977-797a-36d1-b046d06232e8.png)

# 空間分析のサンプル動画

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3680908/d15194ae-2dfd-5016-e09d-fd1c55f8ec54.png)

上記赤枠の4つの動画を見ると、Visionの空間分析でできることを、詳しく知ることができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3680908/21ede854-6369-4032-6ab3-f3abd50ce0b6.png)

URLはこちら。

https://portal.vision.cognitive.azure.com/gallery/spatialanalysis

# 動画の解析例

こちらは、おそらくVideo Indexerを使ったものと思われます。
「床にこぼれたミルク」で絞り込むと、そのタイムラインを表示してくれます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3680908/00c2dd3b-5499-2bc6-fcd0-964bf8b03540.png)

以上、Vision Studioの紹介でした。次回は、言語向けの「Language Studio」を使ってみます。