Compartilhar via


Visão geral do modelo de IA BYO (Bring Your Own) do Azure AI Video Indexer

Este artigo é uma visão geral do Azure AI Video Indexer traga seu próprio modelo de IA.

Introdução

Você pode combinar insights de outras fontes, incluindo modelos de classificação e detecção de terceiros, para produzir uma análise detalhada de seus dados de mídia. Você pode usar um ou mais dos modelos oferecidos pela Microsoft, um modelo personalizado externo ou um modelo personalizado de Pessoa, Marca, Fala ou Idioma oferecido pelo Azure Video Indexer.

O recurso também está disponível para VI habilitado pelo Arc.

ISENÇÃO DE RESPONSABILIDADE: O Código de conduta da Microsoft para o Serviço OpenAI do Azure se aplica ao uso do recurso Traga seu próprio modelo, que inclui o direito da Microsoft de descontinuar seu acesso e uso desse recurso por não conformidade.

Preços

Com o modelo BYO do Video Indexer, os usuários podem adicionar insights personalizados a objetos de insight de vídeo sem incorrer em custos adicionais além do custo listado do processo de indexação. No entanto, quaisquer custos relacionados ao ambiente externo e ao modelo não devem ser considerados parte do preço de cobrança do Video Indexer. É altamente recomendável revisar nossa seção de práticas recomendadas para otimizar a lógica externa e reduzir custos.

Fluxo de trabalho geral

  1. O vídeo é carregado e indexado com o Azure AI Video Indexer.
  2. Quando o processo de indexação é concluído, um evento é criado.
  3. Seu código personalizado escuta o evento e inicia o processo de pós-processamento do vídeo.
    1. Obtenha insights extraídos pelo Video Indexer.
    2. Obter quadro-chave para uma seção de vídeo.
    3. Envie o quadro-chave para o modelo de IA personalizado.
    4. Corrija os insights personalizados de volta para o Video Indexer.

Diagrama do fluxo de trabalho descrito acima

Pré-requisitos

Antes de começar a usar o recurso de modelo BYO com o Azure AI Video Indexer, você deve:

  1. Treine ou traga um modelo de IA externo que receba ativos de vídeo e retorne um insight.
  2. Crie um código personalizado que:
    1. Escuta eventos dos Hubs de Eventos.
    2. Extrai o video id dos eventos.
    3. Recupera os ativos relevantes chamando APIs do VI. Nesse cenário, solicite Obter índice de vídeo e Obter URLs SAS de quadros.
    4. Envia os ativos para o modelo de IA externo.
    5. Cria um objeto JSON com base nos insights recuperados do modelo de IA personalizado.
    6. Solicita o índice de vídeo de atualização de patch.

Esquema

Os valores para preencher os dados personalizados são os seguintes:

Nome Descrição Necessário
name Nome do modelo de IA externa true
displayName Nome do grupo de insights a ser exibido no Video Indexer true
tipo de exibição Define o tipo de representação da interface do usuário para esse grupo de insights específico. Valor padrão: Cápsulas
Tipos possíveis:
Cápsula – Texto de um nível apenas
CapsuleAndTags -Dois níveis de texto apenas mais serão adicionados no futuro.
false
resultados Matriz de objetos que representam os insights detectados pelo modelo de IA externo true
results.id ID fornecida pelo usuário do objeto de resultado, deve ser exclusiva dentro do escopo de resultados true
resultados.tipo Esse campo representa o tipo de insight que foi categorizado pelo modelo de IA externo. Ele é usado para representar uma categoria de insight geral, o que significa que pode haver vários insights desse tipo identificados em um quadro específico. Exemplos de tipos de insight incluem: "basquete", "multidão aplaudindo", "camisa branca". true
results.subType Esse campo representa o tipo de insight que foi categorizado pelo modelo de IA externo. Ele é usado para representar uma categoria de insight específica, o que significa que pode haver apenas um único insight desse tipo identificado em um quadro específico. Exemplos de tipos de insight incluem: "basquete #23", "John batendo palmas", "camisa branca de Dana". false
resultados.metaDados Mais dados sobre o insight false
results.instances Matriz que representa as janelas de tempo em que o insight foi detectado. true
results.instances.confidence Defina com a pontuação de confiança retornada do modelo externo false
results.instances.start Hora de início da instância no vídeo. Formato: hh.mm.ss.ff false
resultados.instâncias.end Hora de término da instância no vídeo. Formato: hh.mm.ss.ff false
results.instances.adjustedStart Usado quando exibido na interface do usuário, definido com o valor de Iniciar false
results.instances.adjustedEnd Usado quando exibido na interface do usuário, definido com o valor de End false

Taxa de quadros

O Azure AI Video Indexer dá suporte a um FPS para o nível de vídeo Básico/Standard e quatro FPS para o nível avançado. Não há suporte para taxas de quadros mais altas. Você pode otimizar a indexação:

  • Processar apenas segmentos específicos de interesse, como quadros que incluem um som, objeto ou pessoa detectados, ou
  • amostra de um FPS mais baixo, por exemplo, a cada 5 segundos.

Seleção de quadro

Você pode usar os parâmetros de pular quadros e tamanho da página para seleção de tempo. A fórmula é o valor de pular quadros multiplicado pelo FPS mais o valor do tamanho da página multiplicado pelo FPS pode ser usado para determinar o intervalo de tempo.

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

Parâmetros:

Nome Descrição Obrigatório
Identificação do vídeo ID do vídeo true
urlsLifetimeSeconds Vida útil das URLs em segundos true
Pagesize Número máximo de quadros para retornar a cada chamada false
skip Quadros para pular false
accessToken Deve ser fornecido como parâmetro na string de consulta de URL ou no cabeçalho de autorização como token de portador. O escopo do token de acesso deve ser Conta e a permissão deve ser Leitor. true

Resposta: FrameFilePathsResult

Nome Descrição Obrigatório
resultados Lista de FrameUriData Falso
PróximaPágina Dados de paginação (skip, pageSize, isDone) Falso

FrameFilePathData

Nome Descrição
name Nome do arquivo de quadro
índice de quadros Índice do quadro
StartTime Hora de início do quadro no vídeo
EndTime Hora de término do quadro no vídeo
filePath URI Sas do quadro no ambiente de nuvem ou caminho de arquivo em ambientes de borda

Dados de amostra enviados de um aplicativo personalizado no formato de esquema

"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",
                    }
                ]
            }
        ]
    }... 

Traga suas próprias amostras de modelo

Exemplos de BYO

Usar a API do Indexador de Vídeo da IA do Azure