o
    *j>                     @   s   d dl mZmZ d dlZd dlmZ d dlmZ d dl	m
Z
mZ d dlmZ d dlmZ d dlmZ ejejejd	ejejejd	ejejejd	G d
d deZdS )    )AnyDictN)	Pipelines)
OutputKeys)InputPipeline)	PIPELINES)	LoadImage)Tasks)module_namec                       s   e Zd Zdef fddZdedeeef fddZdeeef deeef fdd	Z	d
eeef deeef fddZ
  ZS )ImageDetectionPipelinemodelc                    s   t  jd|dd| dS )z8
            model: model id on modelscope hub.
        F)r   Zauto_collateN )super__init__)selfr   kwargs	__class__r   q/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/modelscope/pipelines/cv/image_detection_pipeline.pyr      s   zImageDetectionPipeline.__init__inputreturnc                 C   s.   t |}|tj}| j|}d|i}|S )Nimg)r	   Zconvert_to_ndarrayZastypenpZfloat64r   
preprocess)r   r   r   resultr   r   r   r      s
   
z!ImageDetectionPipeline.preprocessc                 C   s   | j |d }d|i}|S )Nr   data)r   Z	inference)r   r   outputsr   r   r   r   forward&   s   zImageDetectionPipeline.forwardinputsc                 C   sR   | j |d \}}}|d u rtjg tjg tjg i}|S tj|tj|tj|i}|S )Nr   )r   postprocessr   ZSCORESZLABELSZBOXES)r   r   ZbboxesZscoreslabelsr   r   r   r   r    ,   s   z"ImageDetectionPipeline.postprocess)__name__
__module____qualname__strr   r   r   r   r   r   r    __classcell__r   r   r   r   r      s
    	"*r   )typingr   r   numpyr   Zmodelscope.metainfor   Zmodelscope.outputsr   Zmodelscope.pipelines.baser   r   Zmodelscope.pipelines.builderr   Zmodelscope.preprocessorsr	   Zmodelscope.utils.constantr
   Zregister_moduleZhuman_detectionZimage_object_detectionZobject_detectionZabnormal_object_detectionr   r   r   r   r   <module>   s&   