Partilhar via


Visão geral do Azure AI Video Indexer Bring Your Own (BYO) AI Model

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

Introdução

Você pode combinar informações de outras fontes, incluindo modelos de classificação e deteção de terceiros, para produzir uma análise detalhada de seus dados de mídia. Você pode usar um ou mais modelos oferecidos pela Microsoft, um modelo personalizado externo ou um modelo personalizado de Pessoa, Marca, Fala ou Linguagem oferecido pelo Indexador de Vídeo do Azure.

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

AVISO LEGAL: O Código de Conduta da Microsoft para o Serviço OpenAI do Azure aplica-se ao seu uso do recurso Bring Your Own Model, que inclui o direito da Microsoft de interromper 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 faturamento do Video Indexer. Recomendamos vivamente que reveja a nossa secção de melhores práticas 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 ouve o evento e inicia o processo de pós-processamento de vídeo.
    1. Obtenha informações extraídas 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 as informações personalizadas 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 devolva uma perceção.
  2. Crie um código personalizado que:
    1. Escuta eventos de Hubss de Eventos.
    2. Extrai o video id dos eventos.
    3. Recupera os ativos relevantes chamando VI APIs. Nesse cenário, solicite Obter índice de vídeo e Obter quadros SAS URLs.
    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 Patch Update Video Index.

Esquema

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

Nome Descrição Obrigatório
Designação Nome do modelo de IA externo verdadeiro
displayName Nome do grupo Insight a ser exibido no Video Indexer verdadeiro
displayType 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 – Apenas texto de um nível
CapsuleAndTags -Dois níveis de texto apenas mais será adicionado no futuro.
false
Resultados Matriz de objetos que representam os insights detetados pelo modelo de IA externo verdadeiro
results.id ID fornecido pelo usuário do objeto de resultado, deve ser exclusivo dentro do escopo de resultados verdadeiro
resultados.tipo Este 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", "palmas da multidão", "camisa branca". verdadeiro
results.subType Este 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 uma única perceção desse tipo identificada em um quadro específico. Exemplos de tipos de insight incluem: "basquete #23", "John batendo palmas", "camisa branca de Dana". false
results.metaData Mais dados sobre o insight false
resultados.instâncias Matriz que representa as janelas de tempo em que o insight foi detetado. verdadeiro
resultados.instâncias.confiança Definido com a pontuação de confiança retornada do modelo externo false
results.instances.start Hora de início da ocorrência no vídeo. Formato: hh.mm.ss.ff false
results.instances.end Hora de término da ocorrê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 fotogramas

O Azure AI Video Indexer suporta 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 ao:

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

Seleção de quadros

Você pode usar os parâmetros de pular quadros e tamanho de 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.

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

Parâmetros:

Nome Descrição Obrigatório
Identificação de vídeo ID do vídeo verdadeiro
urlsLifetimeSeconds Tempo de vida dos URLs em segundos verdadeiro
pageSize Número máximo de quadros para retornar cada chamada false
pular Quadros a serem ignorados false
accessToken Deve ser fornecido como parâmetro na cadeia de caracteres 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. verdadeiro

Resposta: FrameFilePathsResult

Nome Descrição Obrigatório
Resultados Lista de FrameUriData False
Próxima Página Dados de paginação (skip, pageSize, isDone) False

FrameFilePathData

Nome Descrição
Designação Nome do arquivo de quadro
frameIndex Índice do quadro
Horário de Início Hora de início do quadro no vídeo
Tempo de Fim 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 exemplo enviados de aplicativo personalizado em 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

Amostras BYO

Usar a API do Azure AI Video Indexer