次の方法で共有


Azure AI Video Indexer Bring Your Own (BYO) AI モデルの概要

この記事では、独自の AI モデルを使用する Azure AI Video Indexer の概要について説明します。

はじめに

サードパーティ、分類、検出モデルなど、他のソースからの分析情報を組み合わせて、メディア データの詳細な分析を生成できます。 Microsoft が提供する 1 つ以上のモデル、外部カスタム モデル、または Azure Video Indexer によって提供されるカスタマイズされた人物、ブランド、音声、または言語モデルを使用できます。

この機能は、Arc で有効になっているVI でも使用できます。

免責事項: Microsoft の Azure OpenAI サービスの 行動コード は、お客様による Bring Your Own Model 機能の使用に適用されます。これには、コンプライアンス違反のためにこの機能へのアクセスと使用を中止する Microsoft の権利が含まれます。

価格

Video Indexer BYO モデルを使用すると、ユーザーは、インデックス作成プロセスの一覧に記載されているコストを超える追加コストを発生させることなく、ビデオ分析情報オブジェクトにカスタム分析情報を追加できます。 ただし、外部環境とモデルに関連するコストは、Video Indexer の課金価格の一部と見なすべきではありません。 外部ロジックを最適化し、コストを削減するために、ベスト プラクティスセクションを確認することを強くお勧めします。

一般的なワークフロー

  1. Azure AI Video Indexer を使用してビデオがアップロードされ、インデックスが作成されます。
  2. インデックス作成プロセスが完了すると、イベントが作成されます。
  3. カスタム コードがイベントをリッスンし、ビデオの後処理プロセスを開始します。
    1. Video Indexer によって抽出された分析情報を取得します。
    2. ビデオ セクションのキーフレームを取得します。
    3. キーフレームをカスタム AI モデルに送信します。
    4. カスタム分析情報に Video Indexer にパッチを適用します。

上で説明したワークフローの図

前提条件

Azure AI Video Indexer で BYO モデル機能の使用を開始する前に、次の作業を行う必要があります。

  1. ビデオ資産を受け取り、分析情報を返す外部 AI モデルをトレーニングまたは持ち込みます。
  2. 次のカスタム コードを作成します。
    1. Event Hubss イベントをリッスンします。
    2. イベントから video id を抽出します。
    3. VI API を呼び出して、関連する資産を取得します。 このシナリオでは、 Get Video IndexGet フレーム SAS URL を要求します
    4. 外部 AI モデルに資産を送信します。
    5. カスタム AI モデルから取得した分析情報に基づいて JSON オブジェクトを作成します。
    6. Patch Update Video Index を要求します。

[スキーマ]

カスタム データを設定する値は次のとおりです。

名前 説明 必須
name 外部 AI モデル名 true
displayName Video Indexer に表示される分析情報グループ名 true
displayType この特定の分析情報グループの UI 表現の種類を定義します。 既定値: カプセル
使用できる型:
カプセル – 1 レベルのテキストのみ
CapsuleAndTags -2 レベルのテキストは、今後追加される予定です。
false
results 外部 AI モデルによって検出された分析情報を表すオブジェクトの配列 true
results.id 結果オブジェクトのユーザー指定 ID は、結果スコープ内で一意である必要があります true
results.type このフィールドは、外部 AI モデルによって分類された分析情報の種類を表します。 これは、一般的な分析情報カテゴリを表すために使用されます。つまり、特定のフレームで識別されるこの種類の分析情報が複数存在する可能性があります。 分析情報の種類の例としては、"バスケットボール"、"群衆の拍手"、"白いシャツ" などがあります。 true
results.subType このフィールドは、外部 AI モデルによって分類された分析情報の種類を表します。 特定の分析情報カテゴリを表すために使用されます。つまり、特定のフレームで識別されるこの種類の分析情報は 1 つだけです。 分析情報の種類の例としては、"バスケットボール #23"、"John clapping"、"Dana's white shirt" などがあります。 false
results.metaData 分析情報に関するその他のデータ false
results.instances 分析情報が検出された時間枠を表す配列。 true
results.instances.confidence 外部モデルから返される信頼度スコアを使用して設定します false
results.instances.start ビデオ内のインスタンスの開始時刻。 形式: hh.mm.ss.ff false
results.instances.end ビデオ内のインスタンスの終了時刻。 形式: hh.mm.ss.ff false
results.instances.adjustedStart UI に表示されるときに使用され、スタート画面の値で設定されます false
results.instances.adjustedEnd UI に表示されるときに使用され、End の値で設定されます false

framerate

Azure AI Video Indexer では、Basic/Standard ビデオ レベルでは 1 FPS、高度なレベルでは 4 FPS がサポートされます。 高いフレーム レートはサポートされていません。 インデックス作成は次の方法で最適化できます。

  • 検出されたサウンド、オブジェクト、または人物を含むフレームなど、関心のある特定のセグメントのみを処理する
  • たとえば、5 秒ごとに低い FPS をサンプリングします。

フレームの選択

時間の選択には、スキップ フレームとページ サイズ パラメーターを使用できます。 数式は、フレームのスキップ値に FPS を乗算し、ページ サイズの値に FPS を乗算した値を使用して、時間範囲を決定します。

URL: https://api.videoindexer.ai/{location}/Accounts/{accountId}/Videos/{videoId}/FramesFilePaths[?urlsLifetimeSeconds][&pageSize][&skip][&accessToken]

パラメーター:

名前 説明 必須
videoId ビデオの ID true
urlsLifetimeSeconds URL の有効期間 (秒単位) true
pageSize すべての呼び出しを返すフレームの最大数 false
skip スキップするフレーム false
accessToken URL クエリ文字列または Authorization ヘッダーでベアラー トークンとしてパラメーターとして指定する必要があります。 アクセス トークンスコープはアカウントで、アクセス許可は閲覧者である必要があります。 true

応答: FrameFilePathsResult

名前 説明 必須
results FrameUriData の一覧 いいえ
NextPage データのページング (skip、pageSize、isDone) いいえ

FrameFilePathData

名前 説明
name フレーム ファイルの名前
frameIndex フレームのインデックス
StartTime ビデオ内のフレームの開始時刻
EndTime ビデオ内のフレームの終了時刻
filePath クラウド環境のフレームの SAS URI またはエッジ環境のファイル パス

スキーマ形式でカスタム アプリケーションから送信されるサンプル データ

"customInsights": [
    {
        "Name": "tattoo",  
        "displayName": "Tattoo’s model",
        "displayType": "CapsuleAndTag",
        "Results": [   
            {   
                "id": 1,   
                "Type": "Dragon",   
                "WikiDataId": "57F",   
                "SubType": "Leg tattoo",   
                "Metadata": "",   
                "Instances": [
                    {
                        "Confidence": 0.49,
                        "AdjustedStart": "0:00:32.72", 
                        "AdjustedEnd": "0:00:42.72",
                        "start": "0:00:32.72",
                        "end": "0:00:42.72",
                    }
                ]
            }
        ]
    }... 

Bring Your Own モデルのサンプル

BYO サンプル

Azure AI Video Indexer API を使用する