Introducción al modelo de IA de Azure AI Video Indexer Bring Your Own (BYO)
Este artículo es una introducción a Azure AI Video Indexer traiga su propio modelo de IA.
Introducción
Puede combinar información de otros orígenes, incluidos modelos de terceros, clasificación y detección, para generar un análisis detallado de los datos multimedia. Puede usar uno o varios modelos ofrecidos por Microsoft, un modelo personalizado externo o un modelo personalizado de persona, marca, voz o lenguaje ofrecido por Azure Video Indexer.
La característica también está disponible para VI habilitada por Arc.
DECLINACIÓN DE RESPONSABILIDADES: el código de conducta de Microsoft para el servicio Azure OpenAI se aplica al uso de la característica Bring Your Own Model, que incluye el derecho de Microsoft a interrumpir el acceso y el uso de esta característica para no cumplimiento.
Precios
Con el modelo BYO de Video Indexer, los usuarios pueden agregar información personalizada a objetos de información de vídeo sin incurrir en ningún costo adicional más allá del costo enumerado del proceso de indexación. Sin embargo, los costos relacionados con el entorno externo y el modelo no deben considerarse parte del precio de facturación de Video Indexer. Se recomienda encarecidamente revisar nuestra sección de procedimientos recomendados para optimizar la lógica externa y reducir los costos.
Flujo de trabajo general
- El vídeo se carga e indexa con Video Indexer de Azure AI.
- Cuando se completa el proceso de indexación, se crea un evento.
- El código personalizado escucha el evento e inicia el proceso posterior al procesamiento del vídeo.
- Obtenga información extraída por Video Indexer.
- Obtenga el fotograma clave de una sección de vídeo.
- Envíe el fotograma clave al modelo de IA personalizado.
- Vuelva a aplicar una revisión de la información personalizada a Video Indexer.
Requisitos previos
Para empezar a usar la característica de modelo BYO con Video Indexer de Azure AI, debe hacer lo siguiente:
- Entrene o traiga un modelo de IA externo que reciba recursos de vídeo y devuelva una información.
- Cree código personalizado que:
- Escucha eventos de Event Hubss.
- Extrae de
video id
los eventos. - Recupera los recursos pertinentes mediante una llamada a las API VI. En este escenario, solicite obtener índice de vídeo y obtener direcciones URL de SAS de fotogramas.
- Envía los recursos al modelo de IA externo.
- Crea un objeto JSON basado en la información recuperada del modelo de IA personalizado.
- Solicita el índice de vídeo de actualización de revisiones.
Esquema
Los valores para rellenar los datos personalizados son los siguientes:
Nombre | Descripción | Obligatorio |
---|---|---|
name | Nombre del modelo de IA externa | true |
displayName | Nombre del grupo de información que se va a mostrar en Video Indexer | true |
displayType | Define el tipo de representación de la interfaz de usuario para este grupo de información específico. Valor predeterminado: Cápsulas Tipos posibles: Cápsula : solo texto de un nivel CapsuleAndTags : solo se agregará texto de dos niveles más en el futuro. |
false |
results | Matriz de objetos que representan la información detectada por el modelo de IA externo | true |
results.id | El identificador proporcionado por el usuario del objeto de resultado debe ser único dentro del ámbito de los resultados. | true |
results.type | Este campo representa el tipo de información clasificada por el modelo de IA externo. Se usa para representar una categoría de información general, lo que significa que podría haber varias conclusiones de este tipo identificadas en un marco específico. Algunos ejemplos de tipos de información son: "baloncesto", "clapping de multitud", "camisa blanca". | true |
results.subType | Este campo representa el tipo de información clasificada por el modelo de IA externo. Se usa para representar una categoría de información específica, lo que significa que solo podría haber una única información de este tipo identificada en un marco específico. Algunos ejemplos de tipos de información son: "baloncesto #23", "John clapping", "camisa blanca de Dana". | false |
results.metaData | Más datos sobre la información | false |
results.instances | Matriz que representa las ventanas de tiempo en las que se detectó la información. | true |
results.instances.confidence | Establecer con la puntuación de confianza devuelta desde el modelo externo | false |
results.instances.start | Hora de inicio de la instancia en el vídeo. Formato: hh.mm.ss.ff |
false |
results.instances.end | Hora de finalización de la instancia en el vídeo. Formato: hh.mm.ss.ff |
false |
results.instances.adjustedStart | Se usa cuando se muestra en la interfaz de usuario, se establece con el valor de Start | false |
results.instances.adjustedEnd | Se usa cuando se muestra en la interfaz de usuario, establezca con el valor de End | false |
Framerate
Video Indexer de Azure AI admite un FPS para el nivel de vídeo Básico/Estándar y cuatro FPS para el nivel avanzado. No se admiten velocidades de fotogramas más altas. Puede optimizar la indexación mediante:
- Procesar solo segmentos específicos que son de interés, como marcos que incluyen un sonido detectado, un objeto o una persona, o
- muestree un FPS inferior, por ejemplo, cada 5 segundos.
Selección de fotogramas
Puede usar los parámetros skip frames y page size para la selección de tiempo. La fórmula es el valor de los fotogramas de omisión multiplicado por fps más el valor de tamaño de página multiplicado por fps para determinar el intervalo de tiempo.
URL: https://api.videoindexer.ai/{location}/Accounts/{accountId}/Videos/{videoId}/FramesFilePaths[?urlsLifetimeSeconds][&pageSize][&skip][&accessToken]
Parámetros:
Nombre | Descripción | Obligatorio |
---|---|---|
videoId | Id. del vídeo | true |
urlsLifetimeSeconds | duración de las direcciones URL en segundos | true |
Pagesize | Número máximo de fotogramas para devolver cada llamada | false |
skip | Fotogramas que se van a omitir | false |
accessToken | Se debe dar como parámetro en la cadena de consulta url o en el encabezado authorization como token de portador. El ámbito del token de acceso debe ser Cuenta y permiso debe ser Lector. | true |
Respuesta: FrameFilePathsResult
Nombre | Descripción | Obligatorio |
---|---|---|
results | Lista de FrameUriData | False |
NextPage | Paginación de datos (skip, pageSize, isDone) | False |
FrameFilePathData
Nombre | Descripción |
---|---|
name | Nombre del archivo de marco |
frameIndex | Índice del marco |
StartTime | Hora de inicio del fotograma en el vídeo |
EndTime | Hora de finalización del fotograma en el vídeo |
filePath | URI de Sas del marco en el entorno de nube o la ruta de acceso de archivo en entornos perimetrales |
Datos de ejemplo enviados desde una aplicación personalizada en 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",
}
]
}
]
}...