Explicación detallada de la salida de detección de puntos clave de la cara

python inference.py --img /home/ailab/ai_code/Face/FaceLandmark1000/data/20230719091829.jpg
FaceBoxesV2ORT Running Device: CPU, Available Providers: ['CPUExecutionProvider']
Model Loaded From: /home/ailab/ai_code/Face/torchlm/torchlm/runtime/ort/assets/faceboxesv2-640x640.onnx
Input Name: img, Input Shape: [1, 3, 640, 640] Output Names: ['loc', 'conf'], Output Shapes: [[1, 8525, 4], [1, 8525, 2]]
PIPNetORT Running Device: CPU, Available Providers: ['CPUExecutionProvider']
Model Loaded From: /home/ailab/Downloads/pipnet_resnet18.onnx
Nombre de entrada: img, Forma de entrada: [1, 3, 256, 256] Nombres de salida: ['outputs_cls', 'outputs_x', 'outputs_y', 'outputs_nb_x', 'outputs_nb_y'], Formas de salida: [[1, 98, 8, 8], [1, 98, 8, 8], [1, 98, 8, 8], [1, 980, 8, 8], [1, 980, 8, 8]]

Primer modelo:

La forma de la imagen de entrada es [1, 3, 640, 640], lo que significa que hay 1 imagen (el tamaño del lote es 1), cada imagen tiene 3 canales de color (RGB) y el tamaño de la imagen es 640x640 píxeles.

La salida del modelo consta de dos partes: 'loc' y 'conf', y las formas de salida de cada parte son: [1, 8525, 4] y [1, 8525, 2] respectivamente.

  1. 'loc': esta parte puede representar la información de ubicación de cada cuadro de predicción. 8525 puede representar el número de fotogramas previstos y 4 puede representar la información de coordenadas de cada fotograma previsto, que normalmente incluye las coordenadas de la esquina superior izquierda y la esquina inferior derecha , o las coordenadas del punto central más el ancho y la altura.

  2. 'conf': esta parte puede representar la información de confianza de cada cuadro de predicción, o la información de categoría . 8525 también representa el número de casillas de predicción, y 2 puede representar la probabilidad de que cada casilla de predicción pertenezca a una determinada categoría.

  1. Input Name: img, Input Shape: [1, 3, 640, 640]: Indica que la entrada al modelo es una imagen con forma de [1, 3, 640, 640], es decir, 1 imagen, cada una con 3 canales de color (RGB), y un tamaño de 640x640 píxeles .

  2. Nombres de salida: ['loc', 'conf'], formas de salida: [[1, 8525, 4], [1, 8525, 2]]: la salida del modelo consta de dos partes. La salida 'loc' es la ubicación de los puntos clave pronosticados, la forma es [1, 8525, 4], lo que significa que el modelo predice un total de 8525 puntos clave, y cada punto clave tiene 4 valores de coordenadas (generalmente las coordenadas de las esquinas superior izquierda e inferior derecha del cuadro delimitador ). 'conf' es la confianza del punto clave pronosticado, con forma [1, 8525, 2], lo que puede indicar que cada punto clave tiene dos categorías posibles, y el modelo proporciona una confianza para cada categoría.

  3. meanface_lms != self.num_lms, 845 != 98 Por lo tanto, omitiremos esta configuración para PIPNet meanface. Verifique y configure meanface cuidadosamente antes de ejecutar PIPNet...: Esta es una advertencia de que la cantidad de puntos clave de la media proporcionada (meanface_lms=845) es diferente de la cantidad de puntos clave esperados por el modelo (num_lms=9 8) Incoherente, por lo que el modelo omite la configuración de la media cara de PIPNet .

  4. Dispositivo de ejecución de PIPNetORT: CPU, proveedores disponibles: ['CPUExecutionProvider']: esto indica que el modelo está usando el dispositivo de CPU para la inferencia y los proveedores de ejecución disponibles incluyen CPUExecutionProvider.

  5. Modelo cargado desde: /home/ailab/Downloads/pipnet_resnet18.onnx: esto indica que el modelo cargó un modelo ONNX desde la ruta dada.

  6. Input Name: img, Input Shape: [1, 3, 256, 256] Output Names: ['outputs_cls', 'outputs_x', 'outputs_y', 'outputs_nb_x', 'outputs_nb_y'], Output Shapes: [[1, 98, 8, 8], [1, 98, 8, 8], [1, 98, 8, 8], [1, 980, 8, 8], [1, 980, 8, 8]]:这表示模型的输入是一张256x256像素的RGB图像,输出包括关键点的类别('outputs_cls'),关键点的x和y坐标('outputs_x'和'outputs_y'),以及关键点的邻居的x和y坐标('outputs_nb_x'和'outputs_nb_y')。

[[1, 98, 8, 8], [1, 98, 8, 8], [1, 98, 8, 8], [1, 980, 8, 8], [1, 980, 8, 8]] ¿Qué representan estos parámetros?

ChatGPT

La forma de salida del modelo es [[1, 98, 8, 8], [1, 98, 8, 8], [1, 98, 8, 8], [1, 980, 8, 8], [1, 980, 8, 8]], correspondiente al nombre de la salida: ['outputs_cls', 'outputs_x', 'outputs_y', 'outputs _nb' _x', 'outputs_nb_y'], de acuerdo con la práctica común, estas salidas pueden representar los siguientes significados:

  1. 'outputs_cls': Esta es la salida de clasificación del modelo para 98 puntos clave, la forma es [1, 98, 8, 8], en general, esto puede indicar que cada punto clave tiene 8x8=64 posiciones posibles, y el modelo proporciona una salida de clasificación para cada posición.

  2. 'outputs_x' y 'outputs_y': estas salidas proporcionan las coordenadas de los puntos clave y tienen forma [1, 98, 8, 8]. Esto podría significar que el modelo proporciona predicciones de 8x8 = 64 posiciones posibles para las coordenadas x e y de cada punto clave, respectivamente.

  3. 'outputs_nb_x' y 'outputs_nb_y': estas salidas representan las coordenadas de los vecinos del punto clave y tienen forma [1, 980, 8, 8]. Esto podría significar que el modelo proporciona predicciones de 8x8 = 64 ubicaciones posibles para las coordenadas x e y de los vecinos de cada punto clave, respectivamente.

Esto es solo especulación sobre posibles interpretaciones basadas en la forma del resultado y la práctica común, y el significado exacto puede variar según la implementación del modelo y el método utilizado. Puede consultar la documentación del modelo o el código fuente para obtener información más precisa.

Guess you like

Origin blog.csdn.net/sinat_37574187/article/details/131851276