Compreface Net SDK hace que el reconocimiento facial en su aplicación sea aún más fácil.
Antes de usar nuestro SDK, asegúrese de haber instalado Compreface y .NET en su máquina.
| Compreface .NET SDK Versión | Compreface 1.1.0 |
|---|---|
| 1.0.0 | |
| 1.0.1 | |
| 1.0.2 |
Explicación:
Para usar el paquete SDK Instalar Nuget
Install-Package CompreFace.NET.Sdk
Todos los ejemplos a continuación pueden encontrar en el repositorio dentro de la carpeta de ejemplos. También puede revisar la aplicación de ejemplo de reconocimiento. Es un ejemplo simple de uso de Compreface.
Para comenzar a usar Compreface .NET SDK, debe importar el objeto CompreFace desde la dependencia de 'Compreface-SDK'.
Luego, debe crear un objeto CompreFaceClient e inicializarlo con DOMAIN y PORT . Por defecto, si ejecuta Compreface en su máquina local, su DOMAIN será http://localhost , y PORT en este caso será 8000 . Puede aprobar el objeto options opcionales Cuando el método de llamada para establecer los parámetros predeterminados, consulte la referencia para obtener más información.
Debe utilizar el servicio RecognitionService en el objeto CompreFaceClient para reconocer caras.
Sin embargo, antes de reconocer que primero necesita agregar sujeto a la colección de la cara. Para hacer esto, obtenga el objeto Subject con la ayuda de RecognitionService . Subject se incluye en la clase RecognitionService .
var client = new CompreFaceClient(
domain: "http://localhost",
port: "8000");
var recognitionService = client.GetCompreFaceService<RecognitionService>(recognition api key);
var subject = recognitionService.Subject;
var subjectRequest = new AddSubjectRequest()
{
Subject = "Subject name"
};
var subjectResponse = await subject.AddAsync(subjectRequest);
Aquí hay un ejemplo que muestra cómo agregar una imagen a su colección de cara desde su sistema de archivos:
var faceCollection = recognitionService.FaceCollection;
var request = new AddSubjectExampleRequestByFilePath()
{
DetProbThreShold = 0.81m,
Subject = "Subject name",
FilePath = "Full file path"
};
var response = await faceCollection.AddAsync(request);
Este fragmento de código muestra cómo reconocer la cara desconocida. Reconocer caras de una imagen dada
var recognizeRequest = new RecognizeFaceFromImageRequestByFilePath()
{
FilePath = "Full file path",
DetProbThreshold = 0.81m,
FacePlugins = new List<string>()
{
"landmarks",
"gender",
"age",
"detector",
"calculator"
},
Limit = 0,
PredictionCount = 1,
Status = true
};
var recognizeResponse = await recognitionService.RecognizeFaceFromImage.RecognizeAsync(recognizeRequest);
El objeto Global Compreface se utiliza para inicializar la conexión a Compreface y configurar los valores predeterminados para las opciones. Los valores predeterminados se utilizarán en cada método de servicio si corresponde.
Constructor: CompreFaceClient(domain, port)
| Argumento | Tipo | Requerido | Notas |
|---|---|---|---|
| dominio | cadena | requerido | Dominio con protocolo donde se encuentra Compreface. Por ejemplo, http://localhost |
| puerto | cadena | requerido | Puerto de comprensión. Por ejemplo, 8000 |
Ejemplo:
var client = new CompreFaceClient(
domain: "http://localhost",
port: "8000");
client.GetCompreFaceService<RecognitionService>(apiKey)Objeto de servicio de reconocimiento facial iniS.
| Argumento | Tipo | Requerido | Notas |
|---|---|---|---|
| apagado | cadena | requerido | Clave API de reconocimiento facial en formato UUID |
Ejemplo:
var apiKey = "00000000-0000-0000-0000-000000000002";
var recognitionService = client.GetCompreFaceService<RecognitionService>(apiKey);
client.GetCompreFaceService<FaceDetectionService>(apiKey)Objeto de servicio de detección de cara iniS.
| Argumento | Tipo | Requerido | Notas |
|---|---|---|---|
| apagado | cadena | requerido | Clave API de detección de cara en formato UUID |
Ejemplo:
var apiKey = "00000000-0000-0000-0000-000000000003";
var faceDetectionService = client.GetCompreFaceService<FaceDetectionService>(api_key);
client.GetCompreFaceService<FaceVerificationService>(apiKey)Objeto de servicio de verificación de cara inits.
| Argumento | Tipo | Requerido | Notas |
|---|---|---|---|
| apagado | cadena | requerido | Clave de API de verificación facial en formato UUID |
Ejemplo:
var apiKey = "00000000-0000-0000-0000-000000000004";
var faceVerificationService = client.GetCompreFaceService<FaceVerificationService>(api_key);
Todas las propiedades opcionales se encuentran en la clase BaseFaceRequest .
public class BaseFaceRequest
{
public int? Limit { get; set; }
public decimal DetProbThreshold { get; set; }
public IList<string> FacePlugins { get; set; }
public bool Status { get; set; }
}
La clase BaseFaceRequest es heredada por varias clases de DTO que se serializan para solicitar el formato.
Aquí está la descripción de cómo se ve en el cuerpo de solicitud.
| Opción | Tipo | Notas |
|---|---|---|
| det_prob_threshold | flotar | El mínimo requirió la confianza de que una cara reconocida es en realidad una cara. El valor es entre 0.0 y 1.0 |
| límite | entero | Número máximo de caras en la imagen a reconocer. Reconoce primero las caras más grandes. El valor de 0 representa ningún límite. Valor predeterminado: 0 |
| predicción_count | entero | Número máximo de predicciones de sujetos por cara. Devuelve los temas más similares. Valor predeterminado: 1 |
| Face_plugins | cadena | Batinas de complementos de cara separados por comas. Si está vacío, no se devuelve información adicional. Obtenga más información |
| estado | booleano | Si True incluye información del sistema como Execution_Time y Plugin_Version Fields. El valor predeterminado es falso |
Ejemplo de reconocimiento facial con objeto:
var recognizeRequest = new RecognizeFaceFromImageRequestByFilePath()
{
FilePath = "Full file path",
DetProbThreshold = 0.81m,
FacePlugins = new List<string>()
{
"landmarks",
"gender",
"age",
"detector",
"calculator"
},
Limit = 0,
PredictionCount = 1,
Status = true
};
var recognizeResponse = await recognitionService.RecognizeFaceFromImage.RecognizeAsync(recognizeRequest);
El servicio de reconocimiento facial se utiliza para la identificación de la cara. Esto significa que primero debe cargar caras conocidas para enfrentar la recolección y luego reconocer caras desconocidas entre ellas. Cuando subes una cara desconocida, el servicio le devuelve las caras más similares. Además, el servicio de reconocimiento facial es compatible con el punto final verificar para verificar si esta persona de la colección de cara es la correcta. Para obtener más información, consulte la página Compacio.
Métodos:
Reconoce todas las caras de la imagen. El primer argumento es la ubicación de la imagen, puede ser una URL, ruta local o bytes.
await recognitionService.RecognizeFaceFromImage.RecognizeAsync(recognizeRequest)
| Argumento | Tipo | Requerido | Notas |
|---|---|---|---|
| Reconocizequest | Reconocer FacefaceFromIMagequestByFilepath | requerido |
RecognizeFaceFromImageRequestByFilePath Este es un objeto de transferencia de datos que se está serializado a JSON.
public class RecognizeFaceFromImageRequestByFilePath : BaseRecognizeFaceFromImageRequest
{
public string FilePath { get; set; }
}
BaseRecognizeFaceFromImageRequest Clase:
public class BaseRecognizeFaceFromImageRequest : BaseFaceRequest
{
public int? PredictionCount { get; set; }
}
La clase BaseFaceRequest contiene propiedades opcionales :
public class BaseFaceRequest
{
public int? Limit { get; set; }
public decimal DetProbThreshold { get; set; }
public IList<string> FacePlugins { get; set; } = new List<string>()
public bool Status { get; set; }
}
| Opción | Tipo | Notas |
|---|---|---|
| det_prob_threshold | flotar | El mínimo requirió la confianza de que una cara reconocida es en realidad una cara. El valor es entre 0.0 y 1.0 |
| límite | entero | Número máximo de caras en la imagen a reconocer. Reconoce primero las caras más grandes. El valor de 0 representa ningún límite. Valor predeterminado: 0 |
| predicción_count | entero | Número máximo de predicciones de sujetos por cara. Devuelve los temas más similares. Valor predeterminado: 1 |
| Face_plugins | cadena | Batinas de complementos de cara separados por comas. Si está vacío, no se devuelve información adicional. Obtenga más información |
| estado | booleano | Si True incluye información del sistema como Execution_Time y Plugin_Version Fields. El valor predeterminado es falso |
Respuesta de la API de Comface:
{
"result" : [ {
"age" : {
"probability": 0.9308982491493225,
"high": 32,
"low": 25
},
"gender" : {
"probability": 0.9898611307144165,
"value": "female"
},
"mask" : {
"probability": 0.9999470710754395,
"value": "without_mask"
},
"embedding" : [ 9.424854069948196E-4, "...", -0.011415496468544006 ],
"box" : {
"probability" : 1.0,
"x_max" : 1420,
"y_max" : 1368,
"x_min" : 548,
"y_min" : 295
},
"landmarks" : [ [ 814, 713 ], [ 1104, 829 ], [ 832, 937 ], [ 704, 1030 ], [ 1017, 1133 ] ],
"subjects" : [ {
"similarity" : 0.97858,
"subject" : "subject1"
} ],
"execution_time" : {
"age" : 28.0,
"gender" : 26.0,
"detector" : 117.0,
"calculator" : 45.0,
"mask": 36.0
}
} ],
"plugins_versions" : {
"age" : "agegender.AgeDetector",
"gender" : "agegender.GenderDetector",
"detector" : "facenet.FaceDetector",
"calculator" : "facenet.Calculator",
"mask": "facemask.MaskDetector"
}
}
| Elemento | Tipo | Descripción |
|---|---|---|
| edad | objeto | Rango de edad detectado. Devolver solo si el complemento de edad está habilitado |
| género | objeto | género detectado. Devolver solo si el complemento de género está habilitado |
| mascarilla | objeto | máscara detectada. Regrese solo si el complemento de máscara facial está habilitado. |
| incrustación | formación | incrustaciones de la cara. Devuelve solo si el complemento de la calculadora está habilitado |
| caja | objeto | Lista de parámetros del cuadro delimitador para esta cara |
| probabilidad | flotar | probabilidad de que una cara encontrada sea en realidad una cara |
| x_max, y_max, x_min, y_min | entero | coordenadas del marco que contiene la cara |
| punto de referencia | formación | Lista de las coordenadas del marco que contiene las marcas de tierras caras. |
| sujetos | lista | Lista de temas similares con tamaño de <predicción_count> orden por similitud |
| semejanza | flotar | similitud que en esa imagen predijo persona |
| sujeto | cadena | Nombre del tema en la colección de cara |
| ejecutor_time | objeto | Tiempo de ejecución de todos los complementos |
| complementos_versiones | objeto | contiene información sobre versiones de complementos |
Esta respuesta JSON está deserializada para RecognizeFaceFromImageResponse el objeto de transferencia de datos de Data (DTO).
public class RecognizeFaceFromImageResponse
{
public IList<Result> Result { get; set; }
public PluginVersions PluginsVersions { get; set; }
}
public class Result : BaseResult
{
public IList<SimilarSubject> Subjects { get; set; }
}
Clase BaseResult :
public class BaseResult
{
public Age Age { get; set; }
public Gender Gender { get; set; }
public Mask Mask { get; set; }
public Box Box { get; set; }
public IList<List<int>> Landmarks { get; set; }
public ExecutionTime ExecutionTime { get; set; }
public IList<decimal> Embedding { get; set; }
}
await recognitionService.RecognizeFaceFromImage.VerifyAsync(request);
Compara similitudes de imagen dada con imagen de su colección de cara.
| Argumento | Tipo | Requerido | Notas |
|---|---|---|---|
| pedido | VerifyFacesFromIMagequest | requerido |
VerifyFacesFromImageRequest Este es un objeto de transferencia de datos que se es serializa a JSON.
public class VerifyFacesFromImageRequest : BaseVerifyFacesFromImageRequest
{
public string FilePath { get; set; }
}
BaseVerifyFacesFromImageRequest Clase:
public class BaseVerifyFacesFromImageRequest : BaseFaceRequest
{
public Guid ImageId { get; set; }
}
La clase BaseFaceRequest contiene propiedades opcionales :
public class BaseFaceRequest
{
public int? Limit { get; set; }
public decimal DetProbThreshold { get; set; }
public IList<string> FacePlugins { get; set; }
public bool Status { get; set; }
}
| Opción | Tipo | Notas |
|---|---|---|
| det_prob_threshold | flotar | El mínimo requirió la confianza de que una cara reconocida es en realidad una cara. El valor es entre 0.0 y 1.0 |
| límite | entero | Número máximo de caras en la imagen a reconocer. Reconoce primero las caras más grandes. El valor de 0 representa ningún límite. Valor predeterminado: 0 |
| predicción_count | entero | Número máximo de predicciones de sujetos por cara. Devuelve los temas más similares. Valor predeterminado: 1 |
| Face_plugins | cadena | Batinas de complementos de cara separados por comas. Si está vacío, no se devuelve información adicional. Obtenga más información |
| estado | booleano | Si True incluye información del sistema como Execution_Time y Plugin_Version Fields. El valor predeterminado es falso |
Respuesta:
{
"result" : [ {
"age" : {
"probability" : 0.9308982491493225 ,
"high" : 32 ,
"low" : 25
},
"gender" : {
"probability" : 0.9898611307144165 ,
"value" : " female "
},
"mask" : {
"probability" : 0.9999470710754395 ,
"value" : " without_mask "
},
"embedding" : [ 9.424854069948196E-4 , " ... " , -0.011415496468544006 ],
"box" : {
"probability" : 1.0 ,
"x_max" : 1420 ,
"y_max" : 1368 ,
"x_min" : 548 ,
"y_min" : 295
},
"landmarks" : [ [ 814 , 713 ], [ 1104 , 829 ], [ 832 , 937 ], [ 704 , 1030 ], [ 1017 , 1133 ] ],
"subjects" : [ {
"similarity" : 0.97858 ,
"subject" : " subject1 "
} ],
"execution_time" : {
"age" : 28.0 ,
"gender" : 26.0 ,
"detector" : 117.0 ,
"calculator" : 45.0 ,
"mask" : 36.0
}
} ],
"plugins_versions" : {
"age" : " agegender.AgeDetector " ,
"gender" : " agegender.GenderDetector " ,
"detector" : " facenet.FaceDetector " ,
"calculator" : " facenet.Calculator " ,
"mask" : " facemask.MaskDetector "
}
}| Elemento | Tipo | Descripción |
|---|---|---|
| edad | objeto | Rango de edad detectado. Devolver solo si el complemento de edad está habilitado |
| género | objeto | género detectado. Devolver solo si el complemento de género está habilitado |
| mascarilla | objeto | máscara detectada. Regrese solo si el complemento de máscara facial está habilitado. |
| incrustación | formación | incrustaciones de la cara. Devuelve solo si el complemento de la calculadora está habilitado |
| caja | objeto | Lista de parámetros del cuadro delimitador para esta cara |
| probabilidad | flotar | probabilidad de que una cara encontrada sea en realidad una cara |
| x_max, y_max, x_min, y_min | entero | coordenadas del marco que contiene la cara |
| punto de referencia | formación | Lista de las coordenadas del marco que contiene las marcas de tierras caras. Devolver solo si el complemento de puntos de referencia está habilitado |
| semejanza | flotar | similitud que en esa imagen predijo persona |
| ejecutor_time | objeto | Tiempo de ejecución de todos los complementos |
| complementos_versiones | objeto | contiene información sobre versiones de complementos |
Esta respuesta JSON está deserializada para verificar el objeto de transferencia de datos de Data VerifyFacesFromImageResponse (DTO).
public class VerifyFacesFromImageResponse
{
public IList<Result> Result { get; set; }
public PluginVersions PluginsVersions { get; set; }
}
public class Result : BaseResult
{
public string Subject { get; set; }
public decimal Similarity { get; set; }
}
Clase BaseResult :
public class BaseResult
{
public Age Age { get; set; }
public Gender Gender { get; set; }
public Mask Mask { get; set; }
public Box Box { get; set; }
public IList<List<int>> Landmarks { get; set; }
public ExecutionTime ExecutionTime { get; set; }
public IList<decimal> Embedding { get; set; }
}
Clase ExecutionTime :
public class ExecutionTime
{
public decimal Age { get; set; }
public decimal Gender { get; set; }
public decimal Detector { get; set; }
public decimal Calculator { get; set; }
public decimal Mask { get; set; }
}
recognitionService.FaceCollection
Devuelve el objeto de recolección de cara
La colección de cara podría usarse para administrar caras conocidas, por ejemplo, la lista o eliminarlas.
El reconocimiento facial se realiza para las caras conocidas guardadas en la colección de la cara, por lo que antes de usar el método recognize , necesita guardar al menos una cara en la colección de la cara.
Más información sobre la recopilación de cara y la gestión de ejemplos aquí
Métodos:
Esto crea un ejemplo del tema guardando imágenes. Puede agregar tantas imágenes como desee entrenar el sistema. La imagen debe contener solo una cara.
await recognitionService.FaceCollection.AddAsync(request);
| Argumento | Tipo | Requerido | Notas |
|---|---|---|---|
| pedido | AddSubjectExEmplerequestByFilepath | requerido |
AddSubjectExampleRequestByFilePath Este es un objeto de transferencia de datos que se está serializado a JSON.
public class AddSubjectExampleRequestByFilePath : BaseExampleRequest
{
public string FilePath { get; set; }
}
Clase de BaseExampleRequest :
namespace Exadel.Compreface.DTOs.HelperDTOs.BaseDTOs
{
public class BaseExampleRequest
{
public string Subject { get; set; }
public decimal? DetProbThreShold { get; set; }
}
}
| Opción | Tipo | Notas |
|---|---|---|
| det_prob_threshold | flotar | El mínimo requirió la confianza de que una cara reconocida es en realidad una cara. El valor es entre 0.0 y 1.0 |
DetProbThreShold es una propiedad opcional.
Respuesta:
{
"image_id": "6b135f5b-a365-4522-b1f1-4c9ac2dd0728",
"subject": "SubjectName"
}
| Elemento | Tipo | Descripción |
|---|---|---|
| image_id | Uuid | Uuid de imagen cargada |
| sujeto | cadena | Sujeto de la imagen guardada |
Esta respuesta JSON está deserializada al objeto de transferencia de datos AddSubjectExampleResponse (DTO).
public class AddSubjectExampleResponse
{
public Guid ImageId { get; set; }
public string Subject { get; set; }
}
Para recuperar una lista de temas guardados en una colección de cara:
await recognitionService.FaceCollection.ListAsync(request);
| Argumento | Tipo | Requerido | Notas |
|---|---|---|---|
| pedido | ListAllSubEdExEmplesRequest | requerido |
ListAllSubjectExamplesRequest Este es un objeto de transferencia de datos que se está serializado a JSON.
public class ListAllSubjectExamplesRequest
{
public int? Page { get; set; }
public int? Size { get; set; }
public string Subject { get; set; }
}
| Argumento | Tipo | Requerido | Notas |
|---|---|---|---|
| Página | intencionalmente | opcional | Número de página de ejemplos para devolver. Se puede usar para la paginación. El valor predeterminado es 0. Desde la versión 0.6. |
| Tamaño | intencionalmente | opcional | Caras en la página (tamaño de la página). Se puede usar para la paginación. El valor predeterminado es 20. Desde la versión 0.6. |
| Sujeto | intencionalmente | opcional | Qué punto de finalización de los ejemplos de materias debería regresar. Si está vacío, devuelva ejemplos para todas las materias. Desde la versión 1.0 |
Respuesta:
{
"faces": [
{
"image_id": <image_id>,
"subject": <subject>
},
...
]
}
| Elemento | Tipo | Descripción |
|---|---|---|
| image_id | Uuid | Uuid de la cara |
| sujeto | cadena | de la persona, cuya imagen se guardó para esta clave API |
Esta respuesta JSON está deserializada a ListAllSubjectExamplesResponse Data Transfer Transfer (DTO).
public class ListAllSubjectExamplesResponse
{
public IList<Face> Faces { get; set; }
public int PageNumber { get; set; }
public int PageSize { get; set; }
public int TotalPages { get; set; }
public int TotalElements { get; set; }
}
Clase Face :
public class Face
{
public Guid ImageId { get; set; }
public string Subject{ get; set; }
}
Para eliminar todos los ejemplos de imagen de:
recognitionService.FaceCollection.DeleteAllAsync(request);
| Argumento | Tipo | Requerido | Notas |
|---|---|---|---|
| pedido | DeleteallexamplesRequest | requerido |
DeleteAllExamplesRequest Este es un objeto de transferencia de datos que se está serializado a JSON.
public class DeleteMultipleExampleRequest
{
public IList<Guid> ImageIdList { get; set; }
}
Respuesta:
{
"deleted": <count>
}
| Elemento | Tipo | Descripción |
|---|---|---|
| eliminado | entero | Número de caras eliminadas |
Esta respuesta JSON está deserializada para DeleteMultipleExamplesResponse Data Transfer Object (DTO).
public class DeleteMultipleExamplesResponse
{
public IList<Face> Faces { get; set; }
}
Para eliminar una imagen por ID:
await recognitionService.FaceCollection.DeleteAsync(request);
| Argumento | Tipo | Requerido | Notas |
|---|---|---|---|
| pedido | Deleteimagebyidrequest | requerido |
DeleteImageByIdRequest Este es un objeto de transferencia de datos que se está serializado a JSON.
public class DeleteImageByIdRequest
{
public Guid ImageId { get; set; }
}
Respuesta:
{
"image_id": <image_id>,
"subject": <subject>
}
| Elemento | Tipo | Descripción |
|---|---|---|
| image_id | Uuid | Uuid de la cara eliminada |
| sujeto | cadena | de la persona, cuya imagen se guardó para esta clave API |
Esta respuesta JSON está deserializada para DeleteImageByIdResponse Object de transferencia de datos (DTO).
public class DeleteImageByIdResponse
{
public Guid ImageId { get; set; }
public string Subject { get; set; }
}
Para descargar una imagen por ID:
await recognitionService.FaceCollection.DownloadAsync(downloadImageByIdRequest);
| Argumento | Tipo | Requerido | Notas |
|---|---|---|---|
| pedido | DescargarimagyiddirectlyRequest | requerido |
DownloadImageByIdDirectlyRequest Este es un objeto de transferencia de datos que se está serializado a JSON.
public class DownloadImageByIdDirectlyRequest
{
public Guid ImageId { get; set; }
public Guid RecognitionApiKey { get; set; }
}
El cuerpo de respuesta es la imagen binaria. Bytes vacíos si no se encuentra una imagen.
since 0.6 version
Para descargar un ejemplo de imagen del tema por ID:
await recognitionService.FaceCollection.DownloadAsync(downloadImageBySubjectIdRequest);
| Argumento | Tipo | Requerido | Notas |
|---|---|---|---|
| pedido | DescargarimagyidFromsubJectruCest | requerido |
DownloadImageByIdFromSubjectRequest Este es un objeto de transferencia de datos que se está serializado a JSON.
public class DownloadImageByIdFromSubjectRequest
{
public Guid ImageId { get; set; }
}
El cuerpo de respuesta es la imagen binaria. Bytes vacíos si no se encuentra una imagen.
recognitionService.Subject
Devuelve los sujetos Objetos Objetos Objeto Permite trabajar con sujetos directamente (no a través de ejemplos de asignaturas). Más información sobre temas aquí
Métodos:
Crea un nuevo tema en la colección de cara.
await recognitionService.Subject.AddAsync(request);
| Argumento | Tipo | Requerido | Notas |
|---|---|---|---|
| pedido | AddSubJectruCest | requerido |
AddSubjectRequest Este es un objeto de transferencia de datos que se está serializado a JSON.
public class AddSubjectRequest
{
public string Subject { get; set; }
}
Respuesta:
{
"subject" : " subject1 "
}| Elemento | Tipo | Descripción |
|---|---|---|
| sujeto | cadena | es el nombre del tema |
Esta respuesta JSON está deserializada al objeto de transferencia de datos AddSubjectResponse (DTO).
public class AddSubjectResponse
{
public string Subject { get; set; }
}
Devuelve todo el tema relacionado con la colección de cara.
await recognitionService.Subject.ListAsync();
Respuesta:
{
"subjects" : [
" <subject_name1> " ,
" <subject_name2> "
]
}| Elemento | Tipo | Descripción |
|---|---|---|
| sujetos | formación | la lista de temas en la colección de cara |
Esta respuesta JSON está deserializada para GetAllSubjectResponse EBJETO DE TRAMA DE DATOS (DTO).
public class GetAllSubjectResponse
{
public IList<string> Subjects { get; set; }
}
Cambiar el nombre de sujeto existente. Si ya existe un nuevo nombre de sujeto, los sujetos se fusionan: todas las caras del antiguo nombre del sujeto se reasignan al sujeto con el nuevo nombre, el sujeto anterior eliminado.
await recognitionService.Subject.RenameAsync(request);
| Argumento | Tipo | Requerido | Notas |
|---|---|---|---|
| pedido | RenamesubJectrEriCest | requerido |
RenameSubjectRequest Este es un objeto de transferencia de datos que se está serializado a JSON.
public class RenameSubjectRequest
{
public string CurrentSubject { get; set; }
public string Subject { get; set; }
}
Respuesta:
{
"updated" : " true|false "
}| Elemento | Tipo | Descripción |
|---|---|---|
| actualizado | booleano | fallido o éxito |
Esta respuesta JSON está deserializada para renombrar el objeto de transferencia de datos de RenameSubjectResponse (DTO).
public class RenameSubjectResponse
{
public bool Updated { get; set; }
}
Eliminar sujeto existente y todas las caras guardadas.
await recognitionService.Subject.DeleteAsync(request);
| Argumento | Tipo | Requerido | Notas |
|---|---|---|---|
| pedido | Eliminar | requerido |
DeleteSubjectRequest Este es un objeto de transferencia de datos que se está serializado a JSON.
public class RenameSubjectRequest
{
public string CurrentSubject { get; set; }
public string Subject { get; set; }
}
Respuesta:
{
"subject" : " subject1 "
}| Elemento | Tipo | Descripción |
|---|---|---|
| sujeto | cadena | es el nombre del tema |
Esta respuesta JSON está deserializada para DeleteSubjectResponse el objeto de transferencia de datos de exposición (DTO).
public class DeleteSubjectResponse
{
public string Subject { get; set; }
}
Elimine todos los sujetos existentes y todas las caras guardadas.
await recognitionService.Subject.DeleteAllAsync();
Respuesta:
{
"deleted" : " <count> "
}| Elemento | Tipo | Descripción |
|---|---|---|
| eliminado | entero | Número de sujetos eliminados |
Esta respuesta JSON está deserializada para DeleteAllSubjectsResponse Data Transfer Object (DTO).
public class DeleteAllSubjectsResponse
{
public int Deleted { get; set; }
}
El servicio de detección de rostros se utiliza para detectar caras en la imagen.
Métodos:
await faceDetectionService.DetectAsync(request);
Encuentra todas las caras en la imagen.
| Argumento | Tipo | Requerido | Notas |
|---|---|---|---|
| pedido | FacedetectionRequestbyfilepath | requerido |
FaceDetectionRequestByFilePath Este es un objeto de transferencia de datos que se está serializado a JSON.
public class FaceDetectionRequestByFilePath : BaseFaceRequest
{
public string FilePath { get; set; }
}
La clase BaseFaceRequest contiene propiedades opcionales :
public class BaseFaceRequest
{
public int? Limit { get; set; }
public decimal DetProbThreshold { get; set; }
public IList<string> FacePlugins { get; set; }
public bool Status { get; set; }
}
| Opción | Tipo | Notas |
|---|---|---|
| det_prob_threshold | flotar | El mínimo requirió la confianza de que una cara reconocida es en realidad una cara. El valor es entre 0.0 y 1.0 |
| límite | entero | Número máximo de caras en la imagen a reconocer. Reconoce primero las caras más grandes. El valor de 0 representa ningún límite. Valor predeterminado: 0 |
| predicción_count | entero | Número máximo de predicciones de sujetos por cara. Devuelve los temas más similares. Valor predeterminado: 1 |
| Face_plugins | cadena | Batinas de complementos de cara separados por comas. Si está vacío, no se devuelve información adicional. Obtenga más información |
| estado | booleano | Si True incluye información del sistema como Execution_Time y Plugin_Version Fields. El valor predeterminado es falso |
Respuesta:
{
"result" : [ {
"age" : {
"probability" : 0.9308982491493225 ,
"high" : 32 ,
"low" : 25
},
"gender" : {
"probability" : 0.9898611307144165 ,
"value" : " female "
},
"mask" : {
"probability" : 0.9999470710754395 ,
"value" : " without_mask "
},
"embedding" : [ -0.03027934394776821 , " ... " , -0.05117142200469971 ],
"box" : {
"probability" : 0.9987509250640869 ,
"x_max" : 376 ,
"y_max" : 479 ,
"x_min" : 68 ,
"y_min" : 77
},
"landmarks" : [ [ 156 , 245 ], [ 277 , 253 ], [ 202 , 311 ], [ 148 , 358 ], [ 274 , 365 ] ],
"execution_time" : {
"age" : 30.0 ,
"gender" : 26.0 ,
"detector" : 130.0 ,
"calculator" : 49.0 ,
"mask" : 36.0
}
} ],
"plugins_versions" : {
"age" : " agegender.AgeDetector " ,
"gender" : " agegender.GenderDetector " ,
"detector" : " facenet.FaceDetector " ,
"calculator" : " facenet.Calculator " ,
"mask" : " facemask.MaskDetector "
}
}| Elemento | Tipo | Descripción |
|---|---|---|
| edad | objeto | Rango de edad detectado. Devolver solo si el complemento de edad está habilitado |
| género | objeto | género detectado. Devolver solo si el complemento de género está habilitado |
| mascarilla | objeto | máscara detectada. Regrese solo si el complemento de máscara facial está habilitado. |
| incrustación | formación | incrustaciones de la cara. Devuelve solo si el complemento de la calculadora está habilitado |
| caja | objeto | Lista de parámetros del cuadro delimitador para esta cara (en Processedimage) |
| probabilidad | flotar | Probabilidad de que una cara encontrada sea en realidad una cara (en la imagen procesada) |
| x_max, y_max, x_min, y_min | entero | coordenadas del marco que contiene la cara (en la imagen procesada) |
| punto de referencia | formación | Lista de las coordenadas del marco que contiene las marcas de tierras caras. Devolver solo si el complemento de puntos de referencia está habilitado |
| ejecutor_time | objeto | Tiempo de ejecución de todos los complementos |
| complementos_versiones | objeto | contiene información sobre versiones de complementos |
Esta respuesta JSON está deserializada al objeto de transferencia de datos de FaceDetectionResponse (DTO).
public class FaceDetectionResponse
{
public IList<BaseResult> Result { get; set; }
public PluginVersions PluginsVersions { get; set; }
}
Clase BaseResult :
public class BaseResult
{
public Age Age { get; set; }
public Gender Gender { get; set; }
public Mask Mask { get; set; }
public Box Box { get; set; }
public IList<List<int>> Landmarks { get; set; }
public ExecutionTime ExecutionTime { get; set; }
public IList<decimal> Embedding { get; set; }
}
El servicio de verificación facial se utiliza para comparar dos imágenes. Una imagen de origen debe contener solo una cara que se comparará con todas las caras en la imagen de destino.
Métodos:
await faceVerificationService.VerifyAsync(request);
Compara dos imágenes proporcionadas en los argumentos. La imagen de origen debe contener solo una cara, se comparará con todas las caras en la imagen de destino.
| Argumento | Tipo | Requerido | Notas |
|---|---|---|---|
| pedido | FaceverificationRequestbyfilepath | requerido |
FaceVerificationRequestByFilePath Este es un objeto de transferencia de datos que se está serializado a JSON.
public class FaceVerificationRequestByFilePath : BaseFaceRequest
{
public string SourceImageFilePath { get; set; }
public string TargetImageFilePath { get; set; }
}
La clase BaseFaceRequest contiene propiedades opcionales :
public class BaseFaceRequest
{
public int? Limit { get; set; }
public decimal DetProbThreshold { get; set; }
public IList<string> FacePlugins { get; set; }
public bool Status { get; set; }
}
| Opción | Tipo | Notas |
|---|---|---|
| det_prob_threshold | flotar | El mínimo requirió la confianza de que una cara reconocida es en realidad una cara. El valor es entre 0.0 y 1.0 |
| límite | entero | Número máximo de caras en la imagen a reconocer. Reconoce primero las caras más grandes. El valor de 0 representa ningún límite. Valor predeterminado: 0 |
| predicción_count | entero | Número máximo de predicciones de sujetos por cara. Devuelve los temas más similares. Valor predeterminado: 1 |
| Face_plugins | cadena | Batinas de complementos de cara separados por comas. Si está vacío, no se devuelve información adicional. Obtenga más información |
| estado | booleano | Si True incluye información del sistema como Execution_Time y Plugin_Version Fields. El valor predeterminado es falso |
Respuesta:
{
"result" : [{
"source_image_face" : {
"age" : {
"probability" : 0.9308982491493225 ,
"high" : 32 ,
"low" : 25
},
"gender" : {
"probability" : 0.9898611307144165 ,
"value" : " female "
},
"mask" : {
"probability" : 0.9999470710754395 ,
"value" : " without_mask "
},
"embedding" : [ -0.0010271212086081505 , " ... " , -0.008746841922402382 ],
"box" : {
"probability" : 0.9997453093528748 ,
"x_max" : 205 ,
"y_max" : 167 ,
"x_min" : 48 ,
"y_min" : 0
},
"landmarks" : [ [ 92 , 44 ], [ 130 , 68 ], [ 71 , 76 ], [ 60 , 104 ], [ 95 , 125 ] ],
"execution_time" : {
"age" : 85.0 ,
"gender" : 51.0 ,
"detector" : 67.0 ,
"calculator" : 116.0 ,
"mask" : 36.0
}
},
"face_matches" : [
{
"age" : {
"probability" : 0.9308982491493225 ,
"high" : 32 ,
"low" : 25
},
"gender" : {
"probability" : 0.9898611307144165 ,
"value" : " female "
},
"mask" : {
"probability" : 0.9999470710754395 ,
"value" : " without_mask "
},
"embedding" : [ -0.049007344990968704 , " ... " , -0.01753818802535534 ],
"box" : {
"probability" : 0.99975 ,
"x_max" : 308 ,
"y_max" : 180 ,
"x_min" : 235 ,
"y_min" : 98
},
"landmarks" : [ [ 260 , 129 ], [ 273 , 127 ], [ 258 , 136 ], [ 257 , 150 ], [ 269 , 148 ] ],
"similarity" : 0.97858 ,
"execution_time" : {
"age" : 59.0 ,
"gender" : 30.0 ,
"detector" : 177.0 ,
"calculator" : 70.0 ,
"mask" : 36.0
}
}],
"plugins_versions" : {
"age" : " agegender.AgeDetector " ,
"gender" : " agegender.GenderDetector " ,
"detector" : " facenet.FaceDetector " ,
"calculator" : " facenet.Calculator " ,
"mask" : " facemask.MaskDetector "
}
}]
}| Elemento | Tipo | Descripción |
|---|---|---|
| fuente_image_face | objeto | Información adicional sobre la cara de la imagen fuente |
| face_matches | formación | resultado de la verificación de la cara |
| edad | objeto | Rango de edad detectado. Devolver solo si el complemento de edad está habilitado |
| género | objeto | género detectado. Devolver solo si el complemento de género está habilitado |
| mascarilla | objeto | máscara detectada. Regrese solo si el complemento de máscara facial está habilitado. |
| incrustación | formación | incrustaciones de la cara. Devuelve solo si el complemento de la calculadora está habilitado |
| caja | objeto | Lista de parámetros del cuadro delimitador para esta cara |
| probabilidad | flotar | probabilidad de que una cara encontrada sea en realidad una cara |
| x_max, y_max, x_min, y_min | entero | coordenadas del marco que contiene la cara |
| punto de referencia | formación | Lista de las coordenadas del marco que contiene las marcas de tierras caras. Devolver solo si el complemento de puntos de referencia está habilitado |
| semejanza | flotar | similitud entre esta cara y la cara en la imagen fuente |
| ejecutor_time | objeto | Tiempo de ejecución de todos los complementos |
| complementos_versiones | objeto | contiene información sobre versiones de complementos |
Esta respuesta JSON está deserializada al objeto de transferencia de datos de FaceVerificationResponse (DTO).
public class FaceVerificationResponse
{
public IList<Result> Result { get; set; }
}
public class Result
{
public SourceImageFace SourceImageFace { get; set; }
public IList<FaceMatches> FaceMatches { get; set; }
public PluginVersions PluginsVersions { get; set; }
}
public class SourceImageFace : BaseResult
{ }
public class FaceMatches : BaseResult
{
public decimal Similarity { get; set; }
}
Clase BaseResult :
public class BaseResult
{
public Age Age { get; set; }
public Gender Gender { get; set; }
public Mask Mask { get; set; }
public Box Box { get; set; }
public IList<List<int>> Landmarks { get; set; }
public ExecutionTime ExecutionTime { get; set; }
public IList<decimal> Embedding { get; set; }
}
Las contribuciones son las que hacen que la comunidad de código abierto sea un lugar tan increíble para aprender, inspirar y crear. Cualquier contribución que haga es muy apreciada.
git checkout -b feature/AmazingFeature )git commit -m 'Add some AmazingFeature' )git push origin feature/AmazingFeature )Después de crear su primera solicitud de extracción de contribución, recibirá una solicitud para firmar nuestro Acuerdo de licencia de contribuyente comentando su solicitud de extracción con un mensaje especial.
Informe cualquier error aquí.
Si está informando un error, especifique:
La mejor manera de enviarnos comentarios es presentar un problema en https://github.com/exadel-inc/compreface-net-sdk/issues.
Si está proponiendo una función, por favor:
Compreface .NET SDK es SDK de reconocimiento facial de código abierto liberado bajo la licencia Apache 2.0.