Compartir a través de


Estructuras de datos de reconocimiento facial

En este artículo se explican las estructuras de datos usadas en el servicio Face para las operaciones de reconocimiento facial. Estas estructuras de datos contienen datos de caras y personas.

Precaución

El acceso al servicio Face está limitado en función de los criterios de idoneidad y uso para apoyar nuestros principios de inteligencia artificial responsable. El servicio Face solo está disponible para clientes y asociados administrados por Microsoft. Use el formulario de admisión de reconocimiento facial para solicitar acceso. Para obtener más información, consulte la página Acceso limitado de Face.

Estructuras de datos usadas con Identificar

La API de identificación de Face usa estructuras de datos contenedoras para guardar los datos de reconocimiento facial en forma de objetos Person. Hay tres tipos de contenedores para esto, enumerados de más antiguo a más reciente. Se recomienda usar siempre el más reciente.

PersonGroup

PersonGroup es la estructura de datos de contenedor más pequeña.

  • Debe especificar un modelo de reconocimiento al crear un PersonGroup. Cuando se agregan caras a ese objeto PersonGroup, usa ese modelo para procesarlos. Este modelo debe coincidir con la versión del modelo con Face ID de la API de detección.
  • Debe llamar a la API de entrenamiento para que los nuevos datos de rostros se reflejen en los resultados de la API de identificación. Esto incluye agregar o quitar caras y agregar o quitar personas.
  • Para la suscripción de nivel gratis, puede contener hasta 1 000 personas. Para la suscripción de pago S0, puede tener hasta 10 000 personas.

PersonGroupPerson representa una persona que se va a identificar. Puede contener hasta 248 caras.

Grupo de personas grande

LargePersonGroup es una estructura de datos posterior que se introdujo para admitir hasta 1 millón de entidades (para la suscripción de nivel S0). Está optimizado para admitir datos a gran escala. Comparte la mayoría de las características de PersonGroup: es necesario especificar un modelo de reconocimiento en el momento de la creación y llamar a la API de entrenamiento antes de usarlo.

Directorio de personas

PersonDirectory es la estructura de datos más reciente de este tipo. Admite una mayor escala y mayor precisión. Cada recurso de Face de Azure tiene una única estructura de datos PersonDirectory predeterminada. Es una lista plana de objetos PersonDirectoryPerson: puede contener hasta 20 millones.

PersonDirectoryPerson representa una persona que se va a identificar. Basándose en el modelo PersonGroupPerson anterior, permite agregar caras de diferentes modelos de reconocimiento a la misma persona. Sin embargo, la operación Identificar solo puede coincidir con las caras obtenidas con el mismo modelo de reconocimiento.

DynamicPersonGroup es una estructura de datos ligera que permite hacer referencia dinámicamente a PersonDirectoryPerson. No requiere la operación Entrenar: una vez que se actualizan los datos, está listo para usarse con la API de identificación.

También puede usar una lista de identificadores de persona local para la operación Identificar. Esto le permite especificar un grupo más estrecho desde el que se va a identificar. Puede hacerlo manualmente para mejorar el rendimiento de identificación en grupos grandes.

Las estructuras de datos anteriores se pueden usar juntas. Por ejemplo:

  • En un sistema de control de acceso, PersonDirectory podría representar a todos los empleados de una empresa, pero un DynamicPersonGroup más pequeño podría representar solo a los empleados que tienen acceso a un único piso del edificio.
  • En un sistema de embarque de vuelos, PersonDirectory podría representar a todos los clientes de la compañía aérea, pero DynamicPersonGroup representa sólo a los pasajeros de un vuelo concreto. Una lista de identificación de personas local podría representar a los pasajeros que realizaron un cambio de última hora.

Para más información, consulte la Guía de procedimientos de PersonDirectory. Una comparación rápida entre LargePersonGroup y PersonDirectory:

Detalle LargePersonGroup PersonDirectory
Capacity Un LargePersonGroup puede contener hasta 1 millón de objetos PersonGroupPerson. La colección puede almacenar hasta 20 millones de identidades PersonDirectoryPerson.
PersonURI /largepersongroups/{groupId}/persons/{personId} (/v1.0-preview-or-above)/persons/{personId}
Propiedad Los objetos PersonGroupPerson son propiedad exclusiva de los LargePersonGroup a los que pertenecen. Si desea que se mantenga una misma identidad en varios grupos, tendrá que Create Large Person Group Person y Add Large Person Group Person Face para cada grupo individualmente, finalizando con un conjunto de id. de persona en varios grupos. Los objetos PersonDirectoryPerson se almacenan directamente dentro de PersonDirectory, como una lista plana. Puede usar una lista de id. de persona local para Identificar desde el directorio de personas u, opcionalmente, Crear un grupo de personas dinámico e incluir híbridamente a una persona en el grupo. Se puede hacer referencia a un objeto PersonDirectoryPerson creado mediante varios DynamicPersonGroup sin duplicación.
Modelo El modelo de reconocimiento viene determinado por LargePersonGroup. Las nuevas caras de todos los objetos PersonGroupPerson se asocian a este modelo cuando se agregan a él. El objeto PersonDirectoryPerson prepara el almacenamiento separado por modelo de reconocimiento. Puede especificar el modelo al agregar caras nuevas, pero la API de identificación solo puede hacer coincidir las caras obtenidas con el mismo modelo de reconocimiento que está asociado a las caras de la consulta.
Cursos Debe llamar a la API de entrenamiento para que los nuevos datos de caras o personas se reflejen en los resultados de la API de identificación. No es necesario realizar llamadas de entrenamiento, pero una API como Add Person Face se convierte en una operación de larga duración, lo que significa que debe usar el encabezado de respuesta "Operation-Location" para comprobar si se completa la actualización.
Limpieza Delete Large Person Group también eliminará todos los objetos PersonGroupPerson que contiene, junto con sus datos faciales. Delete Dynamic Person Group solo anulará la referencia PersonDirectoryPerson. Para eliminar a la persona real y los datos faciales, consulte Delete Person.

Estructuras de datos usadas con Buscar similar

A diferencia de la API de identificación, la API de Buscar similar está diseñada para usarse en aplicaciones donde la inscripción de Person es difícil de configurar (por ejemplo, imágenes de caras capturadas desde el análisis de vídeo o desde el análisis de un álbum de fotos).

FaceList

FaceList representa una lista plana de caras persistentes. Puede contener 1 000 caras.

LargeFaceList

LargeFaceList es una versión posterior que puede contener hasta 1 000 000 caras.

Paso siguiente

Ahora que está familiarizado con las estructuras de datos faciales, escriba un script que las use en la operación Identificar.