o
    0j	                     @   sZ   d dl ZddlmZ ddlmZ ddlmZ dd	lm	Z	 ej
ed
G dd deZdS )    N   )pipeline_requires_extra   )	benchmark   )ShiTuV2Pipeline   )FaceRecResultZcvc                   @   s$   e Zd ZdZdZdd Zdd ZdS )FaceRecPipelinezFace Recognition PipelineZface_recognitionc                 C   s   t |d dkrg g dS t| ||d }dd |D }t| |}	|dd |	D |||d}	g g d}
|	D ]}|
d |d  |
d	 |d	  q9|
S )
Nboxesr   )labelscorec                 S      g | ]}|d  qS )img ).0r   r   r   v/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/paddlex/inference/pipelines/face_recognition/pipeline.py
<listcomp>$       z2FaceRecPipeline.get_rec_result.<locals>.<listcomp>c                 S   r   )featurer   )r   rec_resr   r   r   r   '   r   )Zscore_threshamming_radiustopkr   r   )lenlistZcrop_by_boxesZ	rec_modelappend)selfraw_imgdet_resZindexerZrec_thresholdr   r   Zsubs_of_imgZimg_listZall_rec_resoutputresr   r   r   get_rec_result   s    

zFaceRecPipeline.get_rec_resultc           
      C   sv   ||g d}t |d D ]*\}}|d | }t|tjr | }|d | }	|d |	||d |d d qt|S )N)Z
input_pathZ	input_imgr   r   r   r   
coordinate)labels
rec_scoresZ	det_scorer"   )	enumerate
isinstancenpZndarraytolistr   r	   )
r   Z
input_datar   r   r   Zsingle_img_resiobjr$   r#   r   r   r   get_final_result2   s   z FaceRecPipeline.get_final_resultN)__name__
__module____qualname____doc__entitiesr!   r+   r   r   r   r   r
      s
    r
   )numpyr'   Z
utils.depsr   Zutils.benchmarkr   Zpp_shitu_v2r   resultr	   Ztime_methodsr
   r   r   r   r   <module>   s   